KCemu-0.5.1/0000755000175000017500000000000012417266361012755 5ustar glaubitzglaubitzKCemu-0.5.1/asm/0000755000175000017500000000000012417262523013531 5ustar glaubitzglaubitzKCemu-0.5.1/asm/autostart/0000755000175000017500000000000012417262523015557 5ustar glaubitzglaubitzKCemu-0.5.1/asm/autostart/Makefile.am0000644000175000017500000000065412417262523017620 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in LIBS = SUFFIXES = .asm .bin Z80FILES = kc853.bin if COMPILE_Z80_ASM noinst_PROGRAMS = $(Z80FILES) kc853_bin_SOURCES = kc853.asm kc853_bin_LINK = p2bin -r '$$-$$' kc853_bin_LDADD = endif asmdir = $(pkgdatadir)/asm/autostart asm_DATA = kc853.asm z80libdir = $(pkgdatadir)/lib/z80 z80lib_DATA = $(Z80FILES) .asm.o: asl $< -o $@ EXTRA_DIST = $(asm_DATA) $(Z80FILES) KCemu-0.5.1/asm/autostart/kc853.bin0000644000175000017500000000066112417262523017111 0ustar glaubitzglaubitz0ÿÿÿÿÿÿÿÿººÍð>.Íð&zþÁ((>.Íð&!a@·í°!Àå>.Á÷Íð&áéÍð# Autostart von Modul im Schacht 8... Programm: !ÀÍðEÍð,Íð,>ÿÍð>.Íð&> CÍÁ!Àý!Á^#V#N#F#y°(8~#·(ÍœÁ~#·(ͪÁå!Âí°Í£ÁÍ•ÁÍ@ÁýåÑzÆþÑ(WÕýá>.Íð&á¼*Àå>o÷o>Íð&|þô(þö(þx( þy(þz(>Íð&É!À*À¾À#ù!º.À|þ¾È¾# òô+>wÍð#Nachladeroutine ausgeschaltet. >ÿÍðÉÛˆöÓˆÉÛˆæþÓˆÉÛˆöÓˆÉÛˆæûÓˆÉKCemu-0.5.1/asm/autostart/kc853.asm0000644000175000017500000001274312417262523017125 0ustar glaubitzglaubitz;-------------------------------------------------------------------------- ; Autostart for KC85/3, KC84/4 EPROM-Module ; (c) 2006 by Torsten Paul ; ; This code is supposed to be used for the KCemu autostart module and ; was never tested on a real KC. ;-------------------------------------------------------------------------- CPU Z80 PV1 EQU 0f003h UP_CRT EQU 00h UP_KBDS EQU 0ch UP_WAIT EQU 14h UP_OSTR EQU 23h UP_MODU EQU 26h UP_CRLF EQU 2ch UP_ZKOUT EQU 45h BASE EQU 0c000h TRAMPOLINE EQU 0b700h ; tape buffer ;-------------------------------------------------------------------------- org BASE jr START TEXT: db 14 dup 0 START_ADDR: dw 0 LOAD_ADDR: dw 0ffffh, 0, 0 dw 0ffffh, 0, 0 dw 0ffffh, 0, 0 dw 0ffffh, 0, 0 LOADER_CMP: db 011h, 0bah, 000h, 0bah LOADER_PATCH: db 0cdh, 003h, 0f0h, 010h START: ;-------------------------------------------------------------------------- PHASE $ - BASE + 4000h ; ; check module control byte ; ld a, 1 ld l, 8 call PV1 db UP_MODU ld a, d cp 0c1h jr z, SWITCH_OK ; ; not running at c000h, switch of BASIC ; and change module address via ; trampoline code copied to 200h ; ld a, 2 ld l, 2 ld d, 0 call PV1 db UP_MODU ld hl, TRAMPOLINE_START ld de, TRAMPOLINE ld bc, TRAMPOLINE_END - TRAMPOLINE_START ldir ld hl, 0c000h push hl ld a, 2 ld l, 8 ld d, 0c1h jp TRAMPOLINE TRAMPOLINE_START: ; ; tampoline code to switch module to c000h ; used again later when starting the program ; call PV1 db UP_MODU pop hl jp (hl) TRAMPOLINE_END: SWITCH_OK: DEPHASE ;-------------------------------------------------------------------------- ; ; now running at c000h ; call PV1 db UP_OSTR db 0ch ; CLS db "Autostart von Modul im Schacht 8..." db 0dh, 0ah db 0dh, 0ah db "Programm: " db 0 ld hl, TEXT call PV1 db UP_ZKOUT call PV1 db UP_CRLF call PV1 db UP_CRLF ld a, 0ffh call PV1 db UP_WAIT ; ; switch on RAM at 4000h ; ld a, 2 ld l, 4 ; RAM at 4000h ld d, 03h call PV1 db UP_MODU ld a, 0ch ld d, 43h call ENABLE_RAM ld hl, LOAD_ADDR ld iy, 0c100h LOOP: ld e, (HL) inc hl ld d, (HL) inc hl ld c, (HL) inc hl ld b, (HL) inc hl ld a, c ; check for size == 0 or b jr z, DONE ld a, (HL) inc hl or a jr z, NO_CAOSE_OFF call CAOSE_OFF NO_CAOSE_OFF: ld a, (HL) inc hl or a jr z, NO_IRM_OFF call IRM_OFF NO_IRM_OFF: push hl ld hl, 0c200h ldir call IRM_ON call CAOSE_ON call CHECK_LOADER ; ; switch to next page ; push iy pop de ld a, d add a, 4 cp 0d1h ; reached last page jr z, DONE ld d, a push de pop iy ld a, 2 ld l, 8 call PV1 db UP_MODU pop hl jr LOOP DONE: ; ; reuse trampoline code to switch BASIC on ; and jump to program start address ; ld hl, (START_ADDR) push hl ld a, 2 ld l, a ld d, 1 jp TRAMPOLINE ;-------------------------------------------------------------------------- ENABLE_RAM: ; ; check RAM module at slot given in register a and ; enable at with control byte in register d if found ; ; M035 can't be used as it is not possible to switch it to ; a base address other than 8000h ; ld l, a ld a, 1 call PV1 db UP_MODU ld a, h cp 0f4h ; M022, 16k RAM jr z, ENABLE_RAM_MODULE cp 0f6h ; M011, 64k RAM jr z, ENABLE_RAM_MODULE cp 078h ; M036, 128k segmented RAM jr z, ENABLE_RAM_MODULE cp 079h ; M032, 256k segmented RAM jr z, ENABLE_RAM_MODULE cp 07ah ; M034, 512k segmented RAM jr z, ENABLE_RAM_MODULE jr NO_RAM_MODULE ENABLE_RAM_MODULE: ld a, 2 call PV1 db UP_MODU NO_RAM_MODULE: ret ;-------------------------------------------------------------------------- ; ; first check if loader is at ba00h and ; starts at ba11h ; CHECK_LOADER: ld b, 4 ld hl, START_ADDR ld de, LOADER_CMP CHECK_LOADER_M1: ld a, (de) cp (hl) ret nz inc hl inc de djnz CHECK_LOADER_M1 ; ; addresses match, check if we find the ; call to the tape routine in the memory ; between ba00h and be00h ; ld hl, 0ba00h CHECK_LOADER_M2: ld b, 4 ld de, LOADER_PATCH CHECK_LOADER_M3: ld a, h cp 0beh ret z ld a, (de) cp (hl) inc hl jr nz, CHECK_LOADER_M2 inc de djnz CHECK_LOADER_M3 ; ; found, patch tape load with call to wait ; dec hl ld a, UP_WAIT ld (hl), a ; ; show that we disabled the loader ; call PV1 db UP_OSTR db "Nachladeroutine ausgeschaltet." db 0dh, 0ah db 0dh, 0ah db 0 ld a, 0ffh call PV1 db UP_WAIT ret ;-------------------------------------------------------------------------- CAOSE_ON: ; ; switch on CAOS E ; in a, (88h) or 1 out (88h), a ret ;-------------------------------------------------------------------------- CAOSE_OFF: ; ; switch off CAOS E ; in a, (88h) and 0feh out (88h), a ret ;-------------------------------------------------------------------------- IRM_ON: ; ; switch on IRM ; in a, (88h) or 4 out (88h), a ret ;-------------------------------------------------------------------------- IRM_OFF: ; ; switch off IRM ; in a, (88h) and 0fbh out (88h), a ret ;-------------------------------------------------------------------------- end KCemu-0.5.1/asm/Makefile.am0000644000175000017500000000011712417262523015564 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = autostart KCemu-0.5.1/config/0000755000175000017500000000000012417262523014216 5ustar glaubitzglaubitzKCemu-0.5.1/config/m4/0000755000175000017500000000000012417262523014536 5ustar glaubitzglaubitzKCemu-0.5.1/config/m4/stdint_h.m40000644000175000017500000000161412417262523016616 0ustar glaubitzglaubitz# stdint_h.m4 serial 6 dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_STDINT_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_STDINT_H], [ AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1; return !i;], gl_cv_header_stdint_h=yes, gl_cv_header_stdint_h=no)]) if test $gl_cv_header_stdint_h = yes; then AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) KCemu-0.5.1/config/m4/intlmacosx.m40000644000175000017500000000456512417262523017173 0ustar glaubitzglaubitz# intlmacosx.m4 serial 1 (gettext-0.17) dnl Copyright (C) 2004-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) KCemu-0.5.1/config/m4/longlong.m40000644000175000017500000001005412417262523016617 0ustar glaubitzglaubitz# longlong.m4 serial 13 dnl Copyright (C) 1999-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_LONG_LONG_INT if 'long long int' works. # This fixes a bug in Autoconf 2.61, but can be removed once we # assume 2.62 everywhere. # Note: If the type 'long long int' exists but is only 32 bits large # (as on some very old compilers), HAVE_LONG_LONG_INT will not be # defined. In this case you can treat 'long long int' like 'long int'. AC_DEFUN([AC_TYPE_LONG_LONG_INT], [ AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], [AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. dnl If cross compiling, assume the bug isn't important, since dnl nobody cross compiles for this platform as far as we know. AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[@%:@include @%:@ifndef LLONG_MAX @%:@ define HALF \ (1LL << (sizeof (long long int) * CHAR_BIT - 2)) @%:@ define LLONG_MAX (HALF - 1 + HALF) @%:@endif]], [[long long int n = 1; int i; for (i = 0; ; i++) { long long int m = n << i; if (m >> i != n) return 1; if (LLONG_MAX / 2 < m) break; } return 0;]])], [ac_cv_type_long_long_int=yes], [ac_cv_type_long_long_int=no], [ac_cv_type_long_long_int=yes])], [ac_cv_type_long_long_int=no])]) if test $ac_cv_type_long_long_int = yes; then AC_DEFINE([HAVE_LONG_LONG_INT], 1, [Define to 1 if the system has the type `long long int'.]) fi ]) # Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. # This fixes a bug in Autoconf 2.61, but can be removed once we # assume 2.62 everywhere. # Note: If the type 'unsigned long long int' exists but is only 32 bits # large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT # will not be defined. In this case you can treat 'unsigned long long int' # like 'unsigned long int'. AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], [ AC_CACHE_CHECK([for unsigned long long int], [ac_cv_type_unsigned_long_long_int], [AC_LINK_IFELSE( [_AC_TYPE_LONG_LONG_SNIPPET], [ac_cv_type_unsigned_long_long_int=yes], [ac_cv_type_unsigned_long_long_int=no])]) if test $ac_cv_type_unsigned_long_long_int = yes; then AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, [Define to 1 if the system has the type `unsigned long long int'.]) fi ]) # Expands to a C program that can be used to test for simultaneous support # of 'long long' and 'unsigned long long'. We don't want to say that # 'long long' is available if 'unsigned long long' is not, or vice versa, # because too many programs rely on the symmetry between signed and unsigned # integer types (excluding 'bool'). AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], [ AC_LANG_PROGRAM( [[/* Test preprocessor. */ #if ! (-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) error in preprocessor; #endif #if ! (18446744073709551615ULL <= -1ull) error in preprocessor; #endif /* Test literals. */ long long int ll = 9223372036854775807ll; long long int nll = -9223372036854775807LL; unsigned long long int ull = 18446744073709551615ULL; /* Test constant expressions. */ typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) ? 1 : -1)]; typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 ? 1 : -1)]; int i = 63;]], [[/* Test availability of runtime routines for shift and division. */ long long int llmax = 9223372036854775807ll; unsigned long long int ullmax = 18446744073709551615ull; return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) | (llmax / ll) | (llmax % ll) | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) | (ullmax / ull) | (ullmax % ull));]]) ]) KCemu-0.5.1/config/m4/size_max.m40000644000175000017500000000513312417262523016621 0ustar glaubitzglaubitz# size_max.m4 serial 6 dnl Copyright (C) 2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([gl_SIZE_MAX], [ AC_CHECK_HEADERS(stdint.h) dnl First test whether the system already has SIZE_MAX. AC_MSG_CHECKING([for SIZE_MAX]) AC_CACHE_VAL([gl_cv_size_max], [ gl_cv_size_max= AC_EGREP_CPP([Found it], [ #include #if HAVE_STDINT_H #include #endif #ifdef SIZE_MAX Found it #endif ], gl_cv_size_max=yes) if test -z "$gl_cv_size_max"; then dnl Define it ourselves. Here we assume that the type 'size_t' is not wider dnl than the type 'unsigned long'. Try hard to find a definition that can dnl be used in a preprocessor #if, i.e. doesn't contain a cast. AC_COMPUTE_INT([size_t_bits_minus_1], [sizeof (size_t) * CHAR_BIT - 1], [#include #include ], size_t_bits_minus_1=) AC_COMPUTE_INT([fits_in_uint], [sizeof (size_t) <= sizeof (unsigned int)], [#include ], fits_in_uint=) if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then if test $fits_in_uint = 1; then dnl Even though SIZE_MAX fits in an unsigned int, it must be of type dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. AC_TRY_COMPILE([#include extern size_t foo; extern unsigned long foo; ], [], fits_in_uint=0) fi dnl We cannot use 'expr' to simplify this expression, because 'expr' dnl works only with 'long' integers in the host environment, while we dnl might be cross-compiling from a 32-bit platform to a 64-bit platform. if test $fits_in_uint = 1; then gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)" else gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)" fi else dnl Shouldn't happen, but who knows... gl_cv_size_max='((size_t)~(size_t)0)' fi fi ]) AC_MSG_RESULT([$gl_cv_size_max]) if test "$gl_cv_size_max" != yes; then AC_DEFINE_UNQUOTED([SIZE_MAX], [$gl_cv_size_max], [Define as the maximum value of type 'size_t', if the system doesn't define it.]) fi ]) dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. dnl Remove this when we can assume autoconf >= 2.61. m4_ifdef([AC_COMPUTE_INT], [], [ AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) ]) KCemu-0.5.1/config/m4/progtest.m40000644000175000017500000000555012417262523016654 0ustar glaubitzglaubitz# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) KCemu-0.5.1/config/m4/intldir.m40000644000175000017500000000161612417262523016451 0ustar glaubitzglaubitz# intldir.m4 serial 1 (gettext-0.16) dnl Copyright (C) 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. AC_PREREQ(2.52) dnl Tells the AM_GNU_GETTEXT macro to consider an intl/ directory. AC_DEFUN([AM_GNU_GETTEXT_INTL_SUBDIR], []) KCemu-0.5.1/config/m4/gettext.m40000644000175000017500000003457012417262523016475 0ustar glaubitzglaubitz# gettext.m4 serial 60 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) KCemu-0.5.1/config/m4/ChangeLog0000644000175000017500000000255312417262523016315 0ustar glaubitzglaubitz2006-11-17 gettextize * codeset.m4: New file, from gettext-0.15. * gettext.m4: New file, from gettext-0.15. * glibc2.m4: New file, from gettext-0.15. * glibc21.m4: New file, from gettext-0.15. * iconv.m4: New file, from gettext-0.15. * intdiv0.m4: New file, from gettext-0.15. * intmax.m4: New file, from gettext-0.15. * inttypes_h.m4: New file, from gettext-0.15. * inttypes-h.m4: New file, from gettext-0.15. * inttypes-pri.m4: New file, from gettext-0.15. * lcmessage.m4: New file, from gettext-0.15. * lib-ld.m4: New file, from gettext-0.15. * lib-link.m4: New file, from gettext-0.15. * lib-prefix.m4: New file, from gettext-0.15. * lock.m4: New file, from gettext-0.15. * longdouble.m4: New file, from gettext-0.15. * longlong.m4: New file, from gettext-0.15. * nls.m4: New file, from gettext-0.15. * po.m4: New file, from gettext-0.15. * printf-posix.m4: New file, from gettext-0.15. * progtest.m4: New file, from gettext-0.15. * signed.m4: New file, from gettext-0.15. * size_max.m4: New file, from gettext-0.15. * stdint_h.m4: New file, from gettext-0.15. * uintmax_t.m4: New file, from gettext-0.15. * ulonglong.m4: New file, from gettext-0.15. * visibility.m4: New file, from gettext-0.15. * wchar_t.m4: New file, from gettext-0.15. * wint_t.m4: New file, from gettext-0.15. * xsize.m4: New file, from gettext-0.15. KCemu-0.5.1/config/m4/visibility.m40000644000175000017500000000413012417262523017165 0ustar glaubitzglaubitz# visibility.m4 serial 1 (gettext-0.15) dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Tests whether the compiler supports the command-line option dnl -fvisibility=hidden and the function and variable attributes dnl __attribute__((__visibility__("hidden"))) and dnl __attribute__((__visibility__("default"))). dnl Does *not* test for __visibility__("protected") - which has tricky dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on dnl MacOS X. dnl Does *not* test for __visibility__("internal") - which has processor dnl dependent semantics. dnl Does *not* test for #pragma GCC visibility push(hidden) - which is dnl "really only recommended for legacy code". dnl Set the variable CFLAG_VISIBILITY. dnl Defines and sets the variable HAVE_VISIBILITY. AC_DEFUN([gl_VISIBILITY], [ AC_REQUIRE([AC_PROG_CC]) CFLAG_VISIBILITY= HAVE_VISIBILITY=0 if test -n "$GCC"; then AC_MSG_CHECKING([for simple visibility declarations]) AC_CACHE_VAL(gl_cv_cc_visibility, [ gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fvisibility=hidden" AC_TRY_COMPILE( [extern __attribute__((__visibility__("hidden"))) int hiddenvar; extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); extern __attribute__((__visibility__("default"))) int exportedfunc (void);], [], gl_cv_cc_visibility=yes, gl_cv_cc_visibility=no) CFLAGS="$gl_save_CFLAGS"]) AC_MSG_RESULT([$gl_cv_cc_visibility]) if test $gl_cv_cc_visibility = yes; then CFLAG_VISIBILITY="-fvisibility=hidden" HAVE_VISIBILITY=1 fi fi AC_SUBST([CFLAG_VISIBILITY]) AC_SUBST([HAVE_VISIBILITY]) AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) ]) KCemu-0.5.1/config/m4/codeset.m40000644000175000017500000000136612417262523016434 0ustar glaubitzglaubitz# codeset.m4 serial 2 (gettext-0.16) dnl Copyright (C) 2000-2002, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET); return !cs;], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi ]) KCemu-0.5.1/config/m4/lib-ld.m40000644000175000017500000000653112417262523016150 0ustar glaubitzglaubitz# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) KCemu-0.5.1/config/m4/glibc21.m40000644000175000017500000000144512417262523016227 0ustar glaubitzglaubitz# glibc21.m4 serial 3 dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([gl_GLIBC21], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, ac_cv_gnu_library_2_1, [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2_1=yes, ac_cv_gnu_library_2_1=no) ] ) AC_SUBST(GLIBC21) GLIBC21="$ac_cv_gnu_library_2_1" ] ) KCemu-0.5.1/config/m4/po.m40000644000175000017500000004460612417262523015430 0ustar glaubitzglaubitz# po.m4 serial 15 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) dnl Support for AM_XGETTEXT_OPTION. test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" < #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2=yes, ac_cv_gnu_library_2=no) ] ) AC_SUBST(GLIBC2) GLIBC2="$ac_cv_gnu_library_2" ] ) KCemu-0.5.1/config/m4/lcmessage.m40000644000175000017500000000240412417262523016743 0ustar glaubitzglaubitz# lcmessage.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1995-2002, 2004-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995. # Check whether LC_MESSAGES is available in . AC_DEFUN([gt_LC_MESSAGES], [ AC_CACHE_CHECK([for LC_MESSAGES], gt_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], gt_cv_val_LC_MESSAGES=yes, gt_cv_val_LC_MESSAGES=no)]) if test $gt_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi ]) KCemu-0.5.1/config/m4/nls.m40000644000175000017500000000226612417262523015602 0ustar glaubitzglaubitz# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) KCemu-0.5.1/config/m4/xsize.m40000644000175000017500000000064512417262523016147 0ustar glaubitzglaubitz# xsize.m4 serial 3 dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_XSIZE], [ dnl Prerequisites of lib/xsize.h. AC_REQUIRE([gl_SIZE_MAX]) AC_REQUIRE([AC_C_INLINE]) AC_CHECK_HEADERS(stdint.h) ]) KCemu-0.5.1/config/m4/intdiv0.m40000644000175000017500000000443112417262523016357 0ustar glaubitzglaubitz# intdiv0.m4 serial 2 (gettext-0.17) dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([gt_INTDIV0], [ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], gt_cv_int_divbyzero_sigfpe, [ gt_cv_int_divbyzero_sigfpe= changequote(,)dnl case "$host_os" in macos* | darwin[6-9]* | darwin[1-9][0-9]*) # On MacOS X 10.2 or newer, just assume the same as when cross- # compiling. If we were to perform the real test, 1 Crash Report # dialog window would pop up. case "$host_cpu" in i[34567]86 | x86_64) gt_cv_int_divbyzero_sigfpe="guessing yes" ;; esac ;; esac changequote([,])dnl if test -z "$gt_cv_int_divbyzero_sigfpe"; then AC_TRY_RUN([ #include #include static void sigfpe_handler (int sig) { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); } int x = 1; int y = 0; int z; int nan; int main () { signal (SIGFPE, sigfpe_handler); /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) signal (SIGTRAP, sigfpe_handler); #endif /* Linux/SPARC yields signal SIGILL. */ #if defined (__sparc__) && defined (__linux__) signal (SIGILL, sigfpe_handler); #endif z = x / y; nan = y / y; exit (1); } ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, [ # Guess based on the CPU. changequote(,)dnl case "$host_cpu" in alpha* | i[34567]86 | x86_64 | m68k | s390*) gt_cv_int_divbyzero_sigfpe="guessing yes";; *) gt_cv_int_divbyzero_sigfpe="guessing no";; esac changequote([,])dnl ]) fi ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, [Define if integer division by zero raises signal SIGFPE.]) ]) KCemu-0.5.1/config/m4/printf-posix.m40000644000175000017500000000271112417262523017443 0ustar glaubitzglaubitz# printf-posix.m4 serial 3 (gettext-0.17) dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether the printf() function supports POSIX/XSI format strings with dnl positions. AC_DEFUN([gt_PRINTF_POSIX], [ AC_REQUIRE([AC_PROG_CC]) AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings], gt_cv_func_printf_posix, [ AC_TRY_RUN([ #include #include /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, [ AC_EGREP_CPP(notposix, [ #if defined __NetBSD__ || defined __BEOS__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ notposix #endif ], gt_cv_func_printf_posix="guessing no", gt_cv_func_printf_posix="guessing yes") ]) ]) case $gt_cv_func_printf_posix in *yes) AC_DEFINE(HAVE_POSIX_PRINTF, 1, [Define if your printf() function supports format strings with positions.]) ;; esac ]) KCemu-0.5.1/config/m4/inttypes-h.m40000644000175000017500000000150012417262523017100 0ustar glaubitzglaubitz# inttypes-h.m4 serial 1 (gettext-0.15) dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_INTTYPES_H if exists and doesn't clash with # . AC_DEFUN([gl_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, [ AC_TRY_COMPILE( [#include #include ], [], gl_cv_header_inttypes_h=yes, gl_cv_header_inttypes_h=no) ]) if test $gl_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, [Define if exists and doesn't clash with .]) fi ]) KCemu-0.5.1/config/m4/intmax.m40000644000175000017500000000201112417262523016272 0ustar glaubitzglaubitz# intmax.m4 serial 3 (gettext-0.16) dnl Copyright (C) 2002-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether the system has the 'intmax_t' type, but don't attempt to dnl find a replacement if it is lacking. AC_DEFUN([gt_TYPE_INTMAX_T], [ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, [AC_TRY_COMPILE([ #include #include #if HAVE_STDINT_H_WITH_UINTMAX #include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include #endif ], [intmax_t x = -1; return !x;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) if test $gt_cv_c_intmax_t = yes; then AC_DEFINE(HAVE_INTMAX_T, 1, [Define if you have the 'intmax_t' type in or .]) fi ]) KCemu-0.5.1/config/m4/lib-prefix.m40000644000175000017500000001503612417262523017046 0ustar glaubitzglaubitz# lib-prefix.m4 serial 5 (gettext-0.15) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing dnl the basename of the libdir, either "lib" or "lib64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. The current dnl practice is that on a system supporting 32-bit and 64-bit instruction dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit dnl libraries go under $prefix/lib. We determine the compiler's default dnl mode by looking at the compiler's library search path. If at least dnl of its elements ends in /lib64 or points to a directory whose absolute dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the dnl default, namely "lib". acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ]) KCemu-0.5.1/config/m4/inttypes-pri.m40000644000175000017500000000215212417262523017447 0ustar glaubitzglaubitz# inttypes-pri.m4 serial 4 (gettext-0.16) dnl Copyright (C) 1997-2002, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.52) # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_CHECK_HEADERS([inttypes.h]) if test $ac_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], gt_cv_inttypes_pri_broken, [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, [Define if exists and defines unusable PRI* macros.]) PRI_MACROS_BROKEN=1 else PRI_MACROS_BROKEN=0 fi AC_SUBST([PRI_MACROS_BROKEN]) ]) KCemu-0.5.1/config/m4/intl.m40000644000175000017500000002525012417262523015752 0ustar glaubitzglaubitz# intl.m4 serial 8 (gettext-0.17) dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. AC_PREREQ(2.52) dnl Checks for all prerequisites of the intl subdirectory, dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. AC_DEFUN([AM_INTL_SUBDIR], [ AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([gt_GLIBC2])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([gl_VISIBILITY])dnl AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl AC_REQUIRE([gt_TYPE_WCHAR_T])dnl AC_REQUIRE([gt_TYPE_WINT_T])dnl AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gt_TYPE_INTMAX_T]) AC_REQUIRE([gt_PRINTF_POSIX]) AC_REQUIRE([gl_GLIBC21])dnl AC_REQUIRE([gl_XSIZE])dnl AC_REQUIRE([gt_INTL_MACOSX])dnl AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) ]) AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) AC_CHECK_FUNCS([asprintf fwprintf putenv setenv setlocale snprintf wcslen]) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). gt_CHECK_DECL(_snprintf, [#include ]) gt_CHECK_DECL(_snwprintf, [#include ]) dnl Use the *_unlocked functions only if they are declared. dnl (because some of them were defined without being declared in Solaris dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built dnl on Solaris 2.5.1 to run on Solaris 2.6). dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. gt_CHECK_DECL(getc_unlocked, [#include ]) case $gt_cv_func_printf_posix in *yes) HAVE_POSIX_PRINTF=1 ;; *) HAVE_POSIX_PRINTF=0 ;; esac AC_SUBST([HAVE_POSIX_PRINTF]) if test "$ac_cv_func_asprintf" = yes; then HAVE_ASPRINTF=1 else HAVE_ASPRINTF=0 fi AC_SUBST([HAVE_ASPRINTF]) if test "$ac_cv_func_snprintf" = yes; then HAVE_SNPRINTF=1 else HAVE_SNPRINTF=0 fi AC_SUBST([HAVE_SNPRINTF]) if test "$ac_cv_func_wprintf" = yes; then HAVE_WPRINTF=1 else HAVE_WPRINTF=0 fi AC_SUBST([HAVE_WPRINTF]) AM_LANGINFO_CODESET gt_LC_MESSAGES dnl Compilation on mingw and Cygwin needs special Makefile rules, because dnl 1. when we install a shared library, we must arrange to export dnl auxiliary pointer variables for every exported variable, dnl 2. when we install a shared library and a static library simultaneously, dnl the include file specifies __declspec(dllimport) and therefore we dnl must arrange to define the auxiliary pointer variables for the dnl exported variables _also_ in the static library. if test "$enable_shared" = yes; then case "$host_os" in mingw* | cygwin*) is_woe32dll=yes ;; *) is_woe32dll=no ;; esac else is_woe32dll=no fi WOE32DLL=$is_woe32dll AC_SUBST([WOE32DLL]) dnl On mingw and Cygwin, we can activate special Makefile rules which add dnl version information to the shared libraries and executables. case "$host_os" in mingw* | cygwin*) is_woe32=yes ;; *) is_woe32=no ;; esac WOE32=$is_woe32 AC_SUBST([WOE32]) if test $WOE32 = yes; then dnl Check for a program that compiles Windows resource files. AC_CHECK_TOOL([WINDRES], [windres]) fi dnl Determine whether when creating a library, "-lc" should be passed to dnl libtool or not. On many platforms, it is required for the libtool option dnl -no-undefined to work. On HP-UX, however, the -lc - stored by libtool dnl in the *.la files - makes it impossible to create multithreaded programs, dnl because libtool also reorders the -lc to come before the -pthread, and dnl this disables pthread_create() . case "$host_os" in hpux*) LTLIBC="" ;; *) LTLIBC="-lc" ;; esac AC_SUBST([LTLIBC]) dnl Rename some macros and functions used for locking. AH_BOTTOM([ #define __libc_lock_t gl_lock_t #define __libc_lock_define gl_lock_define #define __libc_lock_define_initialized gl_lock_define_initialized #define __libc_lock_init gl_lock_init #define __libc_lock_lock gl_lock_lock #define __libc_lock_unlock gl_lock_unlock #define __libc_lock_recursive_t gl_recursive_lock_t #define __libc_lock_define_recursive gl_recursive_lock_define #define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized #define __libc_lock_init_recursive gl_recursive_lock_init #define __libc_lock_lock_recursive gl_recursive_lock_lock #define __libc_lock_unlock_recursive gl_recursive_lock_unlock #define glthread_in_use libintl_thread_in_use #define glthread_lock_init libintl_lock_init #define glthread_lock_lock libintl_lock_lock #define glthread_lock_unlock libintl_lock_unlock #define glthread_lock_destroy libintl_lock_destroy #define glthread_rwlock_init libintl_rwlock_init #define glthread_rwlock_rdlock libintl_rwlock_rdlock #define glthread_rwlock_wrlock libintl_rwlock_wrlock #define glthread_rwlock_unlock libintl_rwlock_unlock #define glthread_rwlock_destroy libintl_rwlock_destroy #define glthread_recursive_lock_init libintl_recursive_lock_init #define glthread_recursive_lock_lock libintl_recursive_lock_lock #define glthread_recursive_lock_unlock libintl_recursive_lock_unlock #define glthread_recursive_lock_destroy libintl_recursive_lock_destroy #define glthread_once libintl_once #define glthread_once_call libintl_once_call #define glthread_once_singlethreaded libintl_once_singlethreaded ]) ]) dnl Checks for the core files of the intl subdirectory: dnl dcigettext.c dnl eval-plural.h dnl explodename.c dnl finddomain.c dnl gettextP.h dnl gmo.h dnl hash-string.h hash-string.c dnl l10nflist.c dnl libgnuintl.h.in (except the *printf stuff) dnl loadinfo.h dnl loadmsgcat.c dnl localealias.c dnl log.c dnl plural-exp.h plural-exp.c dnl plural.y dnl Used by libglocale. AC_DEFUN([gt_INTL_SUBDIR_CORE], [ AC_REQUIRE([AC_C_INLINE])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_FUNC_MMAP])dnl AC_REQUIRE([gt_INTDIV0])dnl AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl AC_REQUIRE([gt_INTTYPES_PRI])dnl AC_REQUIRE([gl_LOCK])dnl AC_TRY_LINK( [int foo (int a) { a = __builtin_expect (a, 10); return a == 10 ? 0 : 1; }], [], [AC_DEFINE([HAVE_BUILTIN_EXPECT], 1, [Define to 1 if the compiler understands __builtin_expect.])]) AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h]) AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \ stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \ argz_next __fsetlocking]) dnl Use the *_unlocked functions only if they are declared. dnl (because some of them were defined without being declared in Solaris dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built dnl on Solaris 2.5.1 to run on Solaris 2.6). dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. gt_CHECK_DECL(feof_unlocked, [#include ]) gt_CHECK_DECL(fgets_unlocked, [#include ]) AM_ICONV dnl glibc >= 2.4 has a NL_LOCALE_NAME macro when _GNU_SOURCE is defined, dnl and a _NL_LOCALE_NAME macro always. AC_CACHE_CHECK([for NL_LOCALE_NAME macro], gt_cv_nl_locale_name, [AC_TRY_LINK([#include #include ], [char* cs = nl_langinfo(_NL_LOCALE_NAME(LC_MESSAGES)); return !cs; ], gt_cv_nl_locale_name=yes, gt_cv_nl_locale_name=no) ]) if test $gt_cv_nl_locale_name = yes; then AC_DEFINE(HAVE_NL_LOCALE_NAME, 1, [Define if you have and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined.]) fi dnl intl/plural.c is generated from intl/plural.y. It requires bison, dnl because plural.y uses bison specific features. It requires at least dnl bison-1.26 because earlier versions generate a plural.c that doesn't dnl compile. dnl bison is only needed for the maintainer (who touches plural.y). But in dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put dnl the rule in general Makefile. Now, some people carelessly touch the dnl files or have a broken "make" program, hence the plural.c rule will dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not dnl present or too old. AC_CHECK_PROGS([INTLBISON], [bison]) if test -z "$INTLBISON"; then ac_verc_fail=yes else dnl Found it, now check the version. AC_MSG_CHECKING([version of bison]) changequote(<<,>>)dnl ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) changequote([,])dnl ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac AC_MSG_RESULT([$ac_prog_version]) fi if test $ac_verc_fail = yes; then INTLBISON=: fi ]) dnl gt_CHECK_DECL(FUNC, INCLUDES) dnl Check whether a function is declared. AC_DEFUN([gt_CHECK_DECL], [ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1, [AC_TRY_COMPILE([$2], [ #ifndef $1 char *p = (char *) $1; #endif ], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) if test $ac_cv_have_decl_$1 = yes; then gt_value=1 else gt_value=0 fi AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value], [Define to 1 if you have the declaration of `$1', and to 0 if you don't.]) ]) KCemu-0.5.1/config/m4/lib-link.m40000644000175000017500000007205512417262523016512 0ustar glaubitzglaubitz# lib-link.m4 serial 13 (gettext-0.17) dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.54) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= LIB[]NAME[]_PREFIX= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, dnl acl_hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" acl_libext="$acl_cv_libext" acl_shlibext="$acl_cv_shlibext" acl_libname_spec="$acl_cv_libname_spec" acl_library_names_spec="$acl_cv_library_names_spec" acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Autoconf >= 2.61 supports dots in --with options. define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], [ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= eval libname=\"$acl_libname_spec\" # typically: libname=lib$name if test -n "$acl_shlibext"; then shrext=".$acl_shlibext" # typically: shrext=.so else shrext= fi if test $use_additional = yes; then dir="$additional_libdir" dnl The same code as in the loop below: dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` dnl First look for a shared library. if test -n "$acl_shlibext"; then if test -f "$dir/$libname$shrext"; then found_dir="$dir" found_so="$dir/$libname$shrext" else if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then ver=`(cd "$dir" && \ for f in "$libname$shrext".*; do echo "$f"; done \ | sed -e "s,^$libname$shrext\\\\.,," \ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ | sed 1q ) 2>/dev/null` if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then found_dir="$dir" found_so="$dir/$libname$shrext.$ver" fi else eval library_names=\"$acl_library_names_spec\" for f in $library_names; do if test -f "$dir/$f"; then found_dir="$dir" found_so="$dir/$f" break fi done fi fi fi dnl Then look for a static library. if test "X$found_dir" = "X"; then if test -f "$dir/$libname.$acl_libext"; then found_dir="$dir" found_a="$dir/$libname.$acl_libext" fi fi if test "X$found_dir" != "X"; then if test -f "$dir/$libname.la"; then found_la="$dir/$libname.la" fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$acl_hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$acl_hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` LIB[]NAME[]_PREFIX="$basedir" additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" done dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$acl_hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$acl_hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) KCemu-0.5.1/config/m4/inttypes_h.m40000644000175000017500000000164412417262523017173 0ustar glaubitzglaubitz# inttypes_h.m4 serial 7 dnl Copyright (C) 1997-2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([gl_AC_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1; return !i;], gl_cv_header_inttypes_h=yes, gl_cv_header_inttypes_h=no)]) if test $gl_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) KCemu-0.5.1/config/m4/ulonglong.m40000644000175000017500000000161512417262523017007 0ustar glaubitzglaubitz# ulonglong.m4 serial 4 dnl Copyright (C) 1999-2004 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. # Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works. AC_DEFUN([gl_AC_TYPE_UNSIGNED_LONG_LONG], [ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;], [unsigned long long ullmax = (unsigned long long) -1; return ull << i | ull >> i | ullmax / ull | ullmax % ull;], ac_cv_type_unsigned_long_long=yes, ac_cv_type_unsigned_long_long=no)]) if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the 'unsigned long long' type.]) fi ]) KCemu-0.5.1/config/m4/wchar_t.m40000644000175000017500000000132612417262523016431 0ustar glaubitzglaubitz# wchar_t.m4 serial 1 (gettext-0.12) dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether has the 'wchar_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WCHAR_T], [ AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, [AC_TRY_COMPILE([#include wchar_t foo = (wchar_t)'\0';], , gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) if test $gt_cv_c_wchar_t = yes; then AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) fi ]) KCemu-0.5.1/config/m4/lock.m40000644000175000017500000003022312417262523015730 0ustar glaubitzglaubitz# lock.m4 serial 7 (gettext-0.17) dnl Copyright (C) 2005-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Tests for a multithreading library to be used. dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, dnl USE_PTH_THREADS, USE_WIN32_THREADS dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with dnl libtool). dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for dnl programs that really need multithread functionality. The difference dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread". dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for dnl multithread-safe programs. AC_DEFUN([gl_LOCK_EARLY], [ AC_REQUIRE([gl_LOCK_EARLY_BODY]) ]) dnl The guts of gl_LOCK_EARLY. Needs to be expanded only once. AC_DEFUN([gl_LOCK_EARLY_BODY], [ dnl Ordering constraints: This macro modifies CPPFLAGS in a way that dnl influences the result of the autoconf tests that test for *_unlocked dnl declarations, on AIX 5 at least. Therefore it must come early. AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl AC_BEFORE([$0], [gl_ARGP])dnl AC_REQUIRE([AC_CANONICAL_HOST]) dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems. dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes dnl AC_GNU_SOURCE. m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], [AC_REQUIRE([AC_GNU_SOURCE])]) dnl Check for multithreading. AC_ARG_ENABLE(threads, AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API]) AC_HELP_STRING([--disable-threads], [build without multithread safety]), [gl_use_threads=$enableval], [case "$host_os" in dnl Disable multithreading by default on OSF/1, because it interferes dnl with fork()/exec(): When msgexec is linked with -lpthread, its child dnl process gets an endless segmentation fault inside execvp(). osf*) gl_use_threads=no ;; *) gl_use_threads=yes ;; esac ]) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # For using : case "$host_os" in osf*) # On OSF/1, the compiler needs the flag -D_REENTRANT so that it # groks . cc also understands the flag -pthread, but # we don't use it because 1. gcc-2.95 doesn't understand -pthread, # 2. putting a flag into CPPFLAGS that has an effect on the linker # causes the AC_TRY_LINK test below to succeed unexpectedly, # leading to wrong values of LIBTHREAD and LTLIBTHREAD. CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac # Some systems optimize for single-threaded programs by default, and # need special flags to disable these optimizations. For example, the # definition of 'errno' in . case "$host_os" in aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; esac fi ]) dnl The guts of gl_LOCK. Needs to be expanded only once. AC_DEFUN([gl_LOCK_BODY], [ AC_REQUIRE([gl_LOCK_EARLY_BODY]) gl_threads_api=none LIBTHREAD= LTLIBTHREAD= LIBMULTITHREAD= LTLIBMULTITHREAD= if test "$gl_use_threads" != no; then dnl Check whether the compiler and linker support weak declarations. AC_MSG_CHECKING([whether imported symbols can be declared weak]) gl_have_weak=no AC_TRY_LINK([extern void xyzzy (); #pragma weak xyzzy], [xyzzy();], [gl_have_weak=yes]) AC_MSG_RESULT([$gl_have_weak]) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # it groks . It's added above, in gl_LOCK_EARLY_BODY. AC_CHECK_HEADER(pthread.h, gl_have_pthread_h=yes, gl_have_pthread_h=no) if test "$gl_have_pthread_h" = yes; then # Other possible tests: # -lpthreads (FSU threads, PCthreads) # -lgthreads gl_have_pthread= # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist # in libc. IRIX 6.5 has the first one in both libc and libpthread, but # the second one only in libpthread, and lock.c needs it. AC_TRY_LINK([#include ], [pthread_mutex_lock((pthread_mutex_t*)0); pthread_mutexattr_init((pthread_mutexattr_t*)0);], [gl_have_pthread=yes]) # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) if test -n "$gl_have_pthread"; then # The program links fine without libpthread. But it may actually # need to link with libpthread in order to create multiple threads. AC_CHECK_LIB(pthread, pthread_kill, [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread # On Solaris and HP-UX, most pthread functions exist also in libc. # Therefore pthread_in_use() needs to actually try to create a # thread: pthread_create from libc will fail, whereas # pthread_create will actually create a thread. case "$host_os" in solaris* | hpux*) AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], 1, [Define if the pthread_in_use() detection is hard.]) esac ]) else # Some library is needed. Try libpthread and libc_r. AC_CHECK_LIB(pthread, pthread_kill, [gl_have_pthread=yes LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread]) if test -z "$gl_have_pthread"; then # For FreeBSD 4. AC_CHECK_LIB(c_r, pthread_kill, [gl_have_pthread=yes LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r]) fi fi if test -n "$gl_have_pthread"; then gl_threads_api=posix AC_DEFINE([USE_POSIX_THREADS], 1, [Define if the POSIX multithreading library can be used.]) if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if test $gl_have_weak = yes; then AC_DEFINE([USE_POSIX_THREADS_WEAK], 1, [Define if references to the POSIX multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi # OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the # pthread_rwlock_* functions. AC_CHECK_TYPE([pthread_rwlock_t], [AC_DEFINE([HAVE_PTHREAD_RWLOCK], 1, [Define if the POSIX multithreading library has read/write locks.])], [], [#include ]) # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. AC_TRY_COMPILE([#include ], [#if __FreeBSD__ == 4 error "No, in FreeBSD 4.0 recursive mutexes actually don't work." #else int x = (int)PTHREAD_MUTEX_RECURSIVE; return !x; #endif], [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], 1, [Define if the defines PTHREAD_MUTEX_RECURSIVE.])]) fi fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then gl_have_solaristhread= gl_save_LIBS="$LIBS" LIBS="$LIBS -lthread" AC_TRY_LINK([#include #include ], [thr_self();], [gl_have_solaristhread=yes]) LIBS="$gl_save_LIBS" if test -n "$gl_have_solaristhread"; then gl_threads_api=solaris LIBTHREAD=-lthread LTLIBTHREAD=-lthread LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" AC_DEFINE([USE_SOLARIS_THREADS], 1, [Define if the old Solaris multithreading library can be used.]) if test $gl_have_weak = yes; then AC_DEFINE([USE_SOLARIS_THREADS_WEAK], 1, [Define if references to the old Solaris multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi fi fi if test "$gl_use_threads" = pth; then gl_save_CPPFLAGS="$CPPFLAGS" AC_LIB_LINKFLAGS(pth) gl_have_pth= gl_save_LIBS="$LIBS" LIBS="$LIBS -lpth" AC_TRY_LINK([#include ], [pth_self();], gl_have_pth=yes) LIBS="$gl_save_LIBS" if test -n "$gl_have_pth"; then gl_threads_api=pth LIBTHREAD="$LIBPTH" LTLIBTHREAD="$LTLIBPTH" LIBMULTITHREAD="$LIBTHREAD" LTLIBMULTITHREAD="$LTLIBTHREAD" AC_DEFINE([USE_PTH_THREADS], 1, [Define if the GNU Pth multithreading library can be used.]) if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then if test $gl_have_weak = yes; then AC_DEFINE([USE_PTH_THREADS_WEAK], 1, [Define if references to the GNU Pth multithreading library should be made weak.]) LIBTHREAD= LTLIBTHREAD= fi fi else CPPFLAGS="$gl_save_CPPFLAGS" fi fi if test -z "$gl_have_pthread"; then if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then if { case "$host_os" in mingw*) true;; *) false;; esac }; then gl_threads_api=win32 AC_DEFINE([USE_WIN32_THREADS], 1, [Define if the Win32 multithreading API can be used.]) fi fi fi fi AC_MSG_CHECKING([for multithread API to use]) AC_MSG_RESULT([$gl_threads_api]) AC_SUBST(LIBTHREAD) AC_SUBST(LTLIBTHREAD) AC_SUBST(LIBMULTITHREAD) AC_SUBST(LTLIBMULTITHREAD) ]) AC_DEFUN([gl_LOCK], [ AC_REQUIRE([gl_LOCK_EARLY]) AC_REQUIRE([gl_LOCK_BODY]) gl_PREREQ_LOCK ]) # Prerequisites of lib/lock.c. AC_DEFUN([gl_PREREQ_LOCK], [ AC_REQUIRE([AC_C_INLINE]) ]) dnl Survey of platforms: dnl dnl Platform Available Compiler Supports test-lock dnl flavours option weak result dnl --------------- --------- --------- -------- --------- dnl Linux 2.4/glibc posix -lpthread Y OK dnl dnl GNU Hurd/glibc posix dnl dnl FreeBSD 5.3 posix -lc_r Y dnl posix -lkse ? Y dnl posix -lpthread ? Y dnl posix -lthr Y dnl dnl FreeBSD 5.2 posix -lc_r Y dnl posix -lkse Y dnl posix -lthr Y dnl dnl FreeBSD 4.0,4.10 posix -lc_r Y OK dnl dnl NetBSD 1.6 -- dnl dnl OpenBSD 3.4 posix -lpthread Y OK dnl dnl MacOS X 10.[123] posix -lpthread Y OK dnl dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK dnl dnl HP-UX 11 posix -lpthread N (cc) OK dnl Y (gcc) dnl dnl IRIX 6.5 posix -lpthread Y 0.5 dnl dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK dnl dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK dnl -lpthread (gcc) Y dnl dnl Cygwin posix -lpthread Y OK dnl dnl Any of the above pth -lpth 0.0 dnl dnl Mingw win32 N OK dnl dnl BeOS 5 -- dnl dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is dnl turned off: dnl OK if all three tests terminate OK, dnl 0.5 if the first test terminates OK but the second one loops endlessly, dnl 0.0 if the first test already loops endlessly. KCemu-0.5.1/config/m4/wint_t.m40000644000175000017500000000170712417262523016311 0ustar glaubitzglaubitz# wint_t.m4 serial 2 (gettext-0.17) dnl Copyright (C) 2003, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether has the 'wint_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WINT_T], [ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, [AC_TRY_COMPILE([ /* Tru64 with Desktop Toolkit C has a bug: must be included before . BSD/OS 4.0.1 has a bug: , and must be included before . */ #include #include #include #include wint_t foo = (wchar_t)'\0';], , gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) if test $gt_cv_c_wint_t = yes; then AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) fi ]) KCemu-0.5.1/config/m4/signed.m40000644000175000017500000000115412417262523016252 0ustar glaubitzglaubitz# signed.m4 serial 1 (gettext-0.10.40) dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([bh_C_SIGNED], [ AC_CACHE_CHECK([for signed], bh_cv_c_signed, [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)]) if test $bh_cv_c_signed = no; then AC_DEFINE(signed, , [Define to empty if the C compiler doesn't support this keyword.]) fi ]) KCemu-0.5.1/config/m4/uintmax_t.m40000644000175000017500000000211212417262523017004 0ustar glaubitzglaubitz# uintmax_t.m4 serial 10 dnl Copyright (C) 1997-2004, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Paul Eggert. AC_PREREQ(2.13) # Define uintmax_t to 'unsigned long' or 'unsigned long long' # if it is not already defined in or . AC_DEFUN([gl_AC_TYPE_UINTMAX_T], [ AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) test $ac_cv_type_unsigned_long_long_int = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, [Define to unsigned long or unsigned long long if and don't define.]) else AC_DEFINE(HAVE_UINTMAX_T, 1, [Define if you have the 'uintmax_t' type in or .]) fi ]) KCemu-0.5.1/config/m4/longdouble.m40000644000175000017500000000227712417262523017142 0ustar glaubitzglaubitz# longdouble.m4 serial 2 (gettext-0.15) dnl Copyright (C) 2002-2003, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl Test whether the compiler supports the 'long double' type. dnl Prerequisite: AC_PROG_CC dnl This file is only needed in autoconf <= 2.59. Newer versions of autoconf dnl have a macro AC_TYPE_LONG_DOUBLE with identical semantics. AC_DEFUN([gt_TYPE_LONGDOUBLE], [ AC_CACHE_CHECK([for long double], gt_cv_c_long_double, [if test "$GCC" = yes; then gt_cv_c_long_double=yes else AC_TRY_COMPILE([ /* The Stardent Vistra knows sizeof(long double), but does not support it. */ long double foo = 0.0; /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ int array [2*(sizeof(long double) >= sizeof(double)) - 1]; ], , gt_cv_c_long_double=yes, gt_cv_c_long_double=no) fi]) if test $gt_cv_c_long_double = yes; then AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.]) fi ]) KCemu-0.5.1/config/m4/iconv.m40000644000175000017500000001375312417262523016127 0ustar glaubitzglaubitz# iconv.m4 serial AM6 (gettext-0.17) dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi AC_TRY_RUN([ #include #include int main () { /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) return 1; } } #if 0 /* This bug could be worked around by the caller. */ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ { iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) return 1; } } #endif /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is provided. */ if (/* Try standardized names. */ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) /* Try IRIX, OSF/1 names. */ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) /* Try AIX names. */ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) return 1; return 0; }], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], [case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in *no) am_func_iconv=no am_cv_lib_iconv=no ;; *) am_func_iconv=yes ;; esac else am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) KCemu-0.5.1/config/acinclude.m40000644000175000017500000000000012417262523016375 0ustar glaubitzglaubitzKCemu-0.5.1/config/config.rpath0000755000175000017500000004364712417262523016544 0ustar glaubitzglaubitz#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2007 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix4* | aix5*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' < .br .SH DESCRIPTION .B kc2wav converts the following file types to raw KC tape images .LP .IR 1) files used by the KC emulator by Arne Fitzenreiter (usually named .TAP) .LP .IR 2) files used by the GEMINI-SOFT KC emulator (usually named .GPF for machine code files and .GBF for basic files) .LP .IR 3) BASIC files (usually named .SSS) .LP .IR 4) KC image files that contain the data written by the KC tape routines without block number and checksum (usually named .KCC or .KCB where the .KCB files are BASIC files with an autostart routine) .SH BUGS Basic files are not handled properly. .SH SEE ALSO kcemu(1x), kctape(1), kc2tap(1), kc2img(1), kc2raw(1) .SH AUTHOR This manual page was written by Torsten Paul , for the Debian GNU/Linux system (but may be used by others). KCemu-0.5.1/man/man1/kctape.10000644000175000017500000000256012417262523015714 0ustar glaubitzglaubitz.TH KCTAPE 1 .SH NAME kctape \- handle tape files for KCemu .SH SYNOPSIS .B kctape \-t tapefile [command [command_args]] .br .B kctape \-\-help .br .SH "DESCRIPTION" This manual page documents briefly the .BR kctape command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. .SH OPTIONS .TP .B \-h, \-\-help Show short help text. .TP .B \-v, \-\-verbose Be verbose about what's going on. .TP .B \-t, \-\-tape tapefile tape archive to process. .TP .B \-l, \-\-list List the content of the tapefile. .TP .B \-c, \-\-create Create the specified tapefile. .TP .B \-a, \-\-add file [file ...] Add new file to tapefile (in KC85/3 mode). .TP .B \-1, \-\-add1 file [file ...] Add new file to tapefile (in KC85/1 mode). .TP .B \-r, \-\-remove filename Remove file from tapefile. .TP .B \-x, \-\-extract filename Extract file to stdout or to the file specified by \-o. .TP .B \-d, \-\-dump filename Hexdump file from tapefile. .TP .B \-o, \-\-output filename Output file for the extract command. .TP .B \-b, \-\-print\-bam Show internal block allocation map. .TP .B \-B, \-\-print\-block\-list Show internal block list. .SH SEE ALSO kcemu(1x), kc2tap(1), kc2wav(1), kc2img(1), kc2raw(1) .SH AUTHOR This manual page was written by Torsten Paul , for the Debian GNU/Linux system (but may be used by others). KCemu-0.5.1/man/man1/kcemu-remote.10000644000175000017500000000304312417262523017037 0ustar glaubitzglaubitz.TH KCEMU-REMOTE 1 .SH NAME kcemu-remote \- A remote controller for the KC 85/4 Emulator .SH SYNOPSIS .B kcemu-remote command [param1=value1] [param2=value2] ... .br .SH "DESCRIPTION" This manual page documents briefly the .BR kcemu-remote command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. .PP .B kcemu-remote can control an already running KCemu by sending commands. The communication is done via the X Window System and is network transparent as long as the X Window Display can be accessed. .SH EXAMPLE COMMANDS .TP .B emu-reset Reset the emulator. .TP .B emu-power-on Power-On Reset the emulator. .TP .B emu-quit Exit the emulator. .TP .B kc-image-load filename=/absolute/path/to/imagefile Load a program into the emulator (if the given file is not found a filerequester will pop up). .TP .B kc-image-run filename=/absolute/path/to/imagefile Just like kc-image-load but tries to start the program after it is loaded. .TP .B floppy-attach filename=/absolute/path/to/diskimage The only way to change disk images for now (the user interface is not functional ;-)). .TP .B keyboard-replay test=text_to_insert Send the text to the emulator. .SH BUGS There is no error handling and it's not possible to specify an emulator instance if more than one emulator is running. .SH SEE ALSO kcemu(1x), kctape(1), kc2tap(1), kc2wav(1), kc2img(1), kc2raw(1) .SH AUTHOR This manual page was written by Torsten Paul , for the Debian GNU/Linux system (but may be used by others). KCemu-0.5.1/man/man1/kc2tap.10000644000175000017500000000162312417262523015630 0ustar glaubitzglaubitz.TH kc2tap 1 .SH NAME kc2tap \- convert KC files to raw KC tape images .SH SYNOPSIS .B kc2tap .br .SH DESCRIPTION .B kc2tap converts the following file types to raw KC tape images .LP .IR 1) files used by the KC emulator by Arne Fitzenreiter (usually named .TAP) .LP .IR 2) files used by the GEMINI-SOFT KC emulator (usually named .GPF for machine code files and .GBF for basic files) .LP .IR 3) BASIC files (usually named .SSS) .LP .IR 4) KC image files that contain the data written by the KC tape routines without block number and checksum (usually named .KCC or .KCB where the .KCB files are BASIC files with an autostart routine) .SH BUGS Basic files are not handled properly. .SH SEE ALSO kcemu(1x), kctape(1), kc2wav(1), kc2img(1), kc2raw(1) .SH AUTHOR This manual page was written by Torsten Paul , for the Debian GNU/Linux system (but may be used by others). KCemu-0.5.1/man/man1/Makefile.am0000644000175000017500000000031012417262523016406 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in man_MANS = \ kcemu.1x \ kctape.1 \ kc2raw.1 \ kc2img.1 \ kc2tap.1 \ kc2wav.1 \ tdtodump.1 \ kcemu-remote.1 EXTRA_DIST = $(man_MANS) KCemu-0.5.1/man/man1/tdtodump.10000644000175000017500000000112112417262523016275 0ustar glaubitzglaubitz.TH tdtodump 1 .SH NAME tdtodump \- convert TeleDisk images to disk dump files .SH SYNOPSIS .B tdtodump .br .SH DESCRIPTION .B tdtodump converts disk images produced by the Sydex TeleDisk program to uncompressed disk dumps. The format of the disk dumps is compatible with the file format used by the Sydex AnaDisk program. .LP .SH BUGS Currently only images created with normal compression are supported. .SH SEE ALSO kcemu(1x) .SH AUTHOR This manual page was written by Torsten Paul , for the Debian GNU/Linux system (but may be used by others). KCemu-0.5.1/man/man1/kc2img.10000644000175000017500000000246312417262523015623 0ustar glaubitzglaubitz.TH kc2img 1 .SH NAME kc2img \- convert KC files to raw KC tape images .SH SYNOPSIS .B kc2img .br .SH DESCRIPTION .B kc2img converts the following file types to raw KC tape images. Those files contain the data bytes as written by the KC tape routines with block number and checksum removed. So each block is saved as 128 bytes. .LP Machine code files start with an 128 byte header (one block) that contains filename, load start address, load end address and optionally a start address whose presence is flagged by a status byte. Basic files only have a 13 byte header with filename and filesize. .LP .IR 1) files used by the KC emulator by Arne Fitzenreiter (usually named .TAP) .LP .IR 2) files used by the GEMINI-SOFT KC emulator (usually named .GPF for machine code files and .GBF for basic files) .LP .IR 3) BASIC files (usually named .SSS) .LP .IR 4) KC image files that contain the data written by the KC tape routines without block number and checksum (usually named .KCC or .KCB where the .KCB files are BASIC files with an autostart routine) .SH BUGS Basic files are not handled properly. .SH SEE ALSO kcemu(1x), kctape(1), kc2tap(1), kc2wav(1), kc2raw(1) .SH AUTHOR This manual page was written by Torsten Paul , for the Debian GNU/Linux system (but may be used by others). KCemu-0.5.1/man/man1/kcemu.1x0000644000175000017500000000245712417262523015746 0ustar glaubitzglaubitz.TH KCEMU 1x .SH NAME kcemu \- The KC 85/4 Emulator .SH SYNOPSIS .B kcemu [\-123478sthdlvLW] .br .SH "DESCRIPTION" This manual page documents briefly the .BR kcemu command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. .PP .B kcemu emulates various versions of the KC85 homecomputer series which was quite popular in the former east germany. It already runs quite some original programs and even boots an special old CP/M version. .SH OPTIONS .TP .B \-1 Emulate Z9001 / KC 85/1 computer. .TP .B \-2 Emulate HC-900 / KC 85/2 computer. .TP .B \-3 Emulate KC 85/3 computer. .TP .B \-4 Emulate KC 85/4 computer. .TP .B \-7 Emulate KC 87 computer (KC 85/1 with color expansion). .TP .B \-8 Emulate LC 80 computer. .TP .B \-s \-\-scale Scale display (only values 1 and 2 allowed). .TP .B \-t \-\-tape Attach tape on startup. .TP .B \-h \-\-help Show summary of options. .TP .B \-d \-\-datadir Set data directory (for ROM images). .TP .B \-l \-\-localedir Set locale directory. .TP .B \-v \-\-version Show KCemu version and configuration. .TP .B \-L \-\-license Show license. .TP .B \-W \-\-warranty Show warranty. .SH AUTHOR This manual page was written by Torsten Paul , for the Debian GNU/Linux system (but may be used by others). KCemu-0.5.1/man/man1/kc2raw.10000644000175000017500000000171712417262523015641 0ustar glaubitzglaubitz.TH kc2raw 1 .SH NAME kc2raw \- convert KC files to KC memory dumps .SH SYNOPSIS .B kc2raw .br .SH DESCRIPTION .B kc2raw converts the following file types to KC memory dumps. Those files only represent a memory snapshot without any header. .LP .IR 1) files used by the KC emulator by Arne Fitzenreiter (usually named .TAP) .LP .IR 2) files used by the GEMINI-SOFT KC emulator (usually named .GPF for machine code files and .GBF for basic files) .LP .IR 3) BASIC files (usually named .SSS) .LP .IR 4) KC image files that contain the data written by the KC tape routines without block number and checksum (usually named .KCC or .KCB where the .KCB files are BASIC files with an autostart routine) .SH BUGS Basic files are not handled properly. .SH SEE ALSO kcemu(1x), kctape(1), kc2tap(1), kc2wav(1), kc2img(1) .SH AUTHOR This manual page was written by Torsten Paul , for the Debian GNU/Linux system (but may be used by others). KCemu-0.5.1/man/Makefile.am0000644000175000017500000000011212417262523015552 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = man1 KCemu-0.5.1/po/0000755000175000017500000000000012417262523013367 5ustar glaubitzglaubitzKCemu-0.5.1/po/ChangeLog0000644000175000017500000000121712417262523015142 0ustar glaubitzglaubitz2010-01-08 gettextize * Makefile.in.in: Upgrade to gettext-0.17. 2006-11-17 gettextize * Makefile.in.in: New file, from gettext-0.15. * boldquot.sed: New file, from gettext-0.15. * en@boldquot.header: New file, from gettext-0.15. * en@quot.header: New file, from gettext-0.15. * insert-header.sin: New file, from gettext-0.15. * quot.sed: New file, from gettext-0.15. * remove-potcdate.sin: New file, from gettext-0.15. * Rules-quot: New file, from gettext-0.15. * POTFILES.in: New file. 2003-03-23 gettextize * Makefile.in.in: Upgrade to gettext-0.10.40. KCemu-0.5.1/po/Makevars0000644000175000017500000000344212417262523015066 0ustar glaubitzglaubitz# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --from-code=utf-8 --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Torsten Paul # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = Torsten.Paul@gmx.de # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = KCemu-0.5.1/po/boldquot.sed0000644000175000017500000000033112417262523015712 0ustar glaubitzglaubitzs/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g KCemu-0.5.1/po/en.po0000644000175000017500000032512512417262523014341 0ustar glaubitzglaubitz# English translations for PACKAGE package. # Copyright (C) 2008 Torsten Paul # This file is distributed under the same license as the PACKAGE package. # Torsten Paul , 2008. # msgid "" msgstr "" "Project-Id-Version: KCemu 0.4\n" "Report-Msgid-Bugs-To: Torsten.Paul@gmx.de\n" "POT-Creation-Date: 2010-08-24 20:54+0200\n" "PO-Revision-Date: 2010-08-24 20:48+0100\n" "Last-Translator: Torsten Paul \n" "Language-Team: English \n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: English\n" "X-Poedit-Country: GERMANY\n" #: images/about.glade:6 msgid "KCemu: About" msgstr "KCemu: About" #: images/about.glade:25 msgid "About" msgstr "About" #: images/about.glade:72 msgid "[ Version ]" msgstr "[ Version ]" #: images/about.glade:85 msgid "(c) 1997-2010 Torsten Paul" msgstr "(c) 1997-2010 Torsten Paul" #: images/about.glade:96 msgid "" msgstr "" #: images/about.glade:111 msgid "http://kcemu.sourceforge.net/" msgstr "http://kcemu.sourceforge.net/" #: images/about.glade:130 msgid "[ Build ]" msgstr "[ Build ]" #: images/audio.glade:6 msgid "KCemu: Audio" msgstr "KCemu: Audio" #: images/audio.glade:25 msgid "Audio" msgstr "Audio" #: images/color.glade:39 msgid "KCemu: Color Configuration" msgstr "KCemu: Color Configuration" #: images/color.glade:60 msgid "Colors" msgstr "Colors" #: images/color.glade:132 images/color.glade:232 msgid "Brightness" msgstr "Brightness" #: images/color.glade:166 images/color.glade:266 msgid "Contrast" msgstr "Contrast" #: images/color.glade:183 msgid "Foreground" msgstr "Foreground" #: images/color.glade:283 msgid "Background" msgstr "Background" #: images/dialog.glade:6 msgid "KCemu" msgstr "KCemu" #: images/dialog.glade:27 msgid "[ Title ]" msgstr "[ Title ]" #: images/disk.glade:6 msgid "KCemu: Disk" msgstr "KCemu: Disk" #: images/disk.glade:26 msgid "Disk" msgstr "Disk" #: images/disk.glade:268 images/options.glade:2193 msgid "Disk 4:" msgstr "Disk 4:" #: images/disk.glade:282 images/options.glade:2207 msgid "Disk 3:" msgstr "Disk 3:" #: images/disk.glade:296 images/options.glade:2221 msgid "Disk 2:" msgstr "Disk 2:" #: images/disk.glade:310 images/options.glade:2235 msgid "Disk 1:" msgstr "Disk 1:" #: images/help.glade:6 msgid "KCemu: Help" msgstr "KCemu: Help" #: images/help.glade:26 msgid "Help" msgstr "Help" #: images/keyboard.glade:27 msgid "Keyboard" msgstr "Keyboard" #: images/legal.glade:6 msgid "KCemu: Licence & Warranty" msgstr "KCemu: Licence & Warranty" #: images/legal.glade:26 msgid "License & Warranty" msgstr "License & Warranty" #: images/legal.glade:84 msgid "[ Licence ]" msgstr "[ Licence ]" #: images/legal.glade:97 msgid "[ Warranty ]" msgstr "[ Warranty ]" #: images/main.glade:19 msgid "_Emulator" msgstr "_Emulator" #: images/main.glade:27 images/main.glade:388 msgid "_Run..." msgstr "_Run..." #: images/main.glade:34 images/main.glade:395 msgid "_Load..." msgstr "_Load..." #: images/main.glade:41 images/main.glade:402 msgid "_Save..." msgstr "_Save..." #: images/main.glade:48 images/main.glade:409 msgid "_Tape..." msgstr "_Tape..." #: images/main.glade:55 images/main.glade:416 msgid "_Disk..." msgstr "_Disk..." #: images/main.glade:62 images/main.glade:423 msgid "_Module..." msgstr "_Module..." #: images/main.glade:69 images/main.glade:430 msgid "_Audio..." msgstr "_Audio..." #: images/main.glade:76 images/main.glade:437 msgid "Pl_otter..." msgstr "Pl_otter..." #: images/main.glade:83 msgid "Vinculum _USB..." msgstr "Vinculum _USB..." #: images/main.glade:95 images/main.glade:456 msgid "Screens_hot..." msgstr "Screens_hot..." #: images/main.glade:102 images/main.glade:463 msgid "_Video..." msgstr "_Video..." #: images/main.glade:114 images/main.glade:544 msgid "R_eset" msgstr "R_eset" #: images/main.glade:121 images/main.glade:551 msgid "_Power On" msgstr "_Power On" #: images/main.glade:133 images/main.glade:563 msgid "_Quit Emulator" msgstr "_Quit Emulator" #: images/main.glade:144 images/main.glade:475 msgid "_View" msgstr "_View" #: images/main.glade:152 msgid "Zoom x_1" msgstr "Zoom x_1" #: images/main.glade:159 msgid "Zoom x_2" msgstr "Zoom x_2" #: images/main.glade:166 msgid "Zoom x_3" msgstr "Zoom x_3" #: images/main.glade:178 images/main.glade:509 msgid "_Keyboard" msgstr "_Keyboard" #: images/main.glade:190 images/main.glade:521 msgid "_Menubar" msgstr "_Menubar" #: images/main.glade:197 images/main.glade:528 msgid "_Statusbar" msgstr "_Statusbar" #: images/main.glade:208 msgid "_Options" msgstr "_Options" #: images/main.glade:216 msgid "_Colors..." msgstr "_Colors..." #: images/main.glade:223 msgid "_Display Effects" msgstr "_Display Effects" #: images/main.glade:230 msgid "No _Speed Limit" msgstr "No _Speed Limit" #: images/main.glade:242 msgid "_Profiles..." msgstr "_Profiles..." #: images/main.glade:253 images/main.glade:261 msgid "_Help" msgstr "_Help" #: images/main.glade:268 msgid "Help _Index" msgstr "Help _Index" #: images/main.glade:275 msgid "_Context Help" msgstr "_Context Help" #: images/main.glade:287 msgid "_About" msgstr "_About" #: images/main.glade:294 msgid "_Thanks!" msgstr "_Thanks!" #: images/main.glade:306 msgid "KCemu _Licence" msgstr "KCemu _Licence" #: images/main.glade:313 msgid "No _Warranty!" msgstr "No _Warranty!" #: images/main.glade:444 msgid "_Vinculum USB..." msgstr "_Vinculum USB..." #: images/main.glade:483 msgid "Zoom x1" msgstr "Zoom x1" #: images/main.glade:490 msgid "Zoom x2" msgstr "Zoom x2" #: images/main.glade:497 msgid "Zoom x3" msgstr "Zoom x3" #: images/module.glade:6 msgid "KCemu: Module" msgstr "KCemu: Module" #: images/module.glade:24 msgid "Module" msgstr "Module" #: images/options.glade:91 msgid "KCemu: Profiles" msgstr "KCemu: Profiles" #: images/options.glade:114 msgid "Profiles" msgstr "Profiles" #: images/options.glade:165 msgid "Create new profile..." msgstr "Create new profile..." #: images/options.glade:188 msgid "Copy selected profile..." msgstr "Copy selected profile..." #: images/options.glade:250 msgid "Expand user profile level..." msgstr "Expand user profile level..." #: images/options.glade:270 msgid "Collapse user profile level..." msgstr "Collapse user profile level..." #: images/options.glade:431 msgid "Comment:" msgstr "Comment:" #: images/options.glade:445 msgid "Variant:" msgstr "Variant:" #: images/options.glade:487 msgid "System:" msgstr "System:" #: images/options.glade:501 msgid "Profile Name:" msgstr "Profile Name:" #: images/options.glade:548 msgid "System" msgstr "System" #: images/options.glade:611 msgid "" "Enable / Disable display debug code.\n" "\n" "When enabled the display cache behaviour will be graphically visualized. " "This setting is effective only if the display scale is set to 1." msgstr "" "Enable / Disable display debug code.\n" "\n" "When enabled the display cache behaviour will be graphically visualized. " "This setting is effective only if the display scale is set to 1." #: images/options.glade:636 msgid "Display Debug:" msgstr "Display Debug:" #: images/options.glade:650 msgid "Display Scale:" msgstr "Display Scale:" #: images/options.glade:662 msgid "Display Effects:" msgstr "Display Effects:" #: images/options.glade:676 msgid "Display IRM Access:" msgstr "Display IRM Access:" #: images/options.glade:740 msgid "Scaling factor for the emulation window. Allowed values are 1 to 3." msgstr "Scaling factor for the emulation window. Allowed values are 1 to 3." #: images/options.glade:756 msgid "" "Enable / Disable display effects for scale factors above 1.\n" "\n" "When enabled a scan-line effect will be used for scale factor of 2 and a " "smoothing effect for scale factor 3." msgstr "" "Enable / Disable display effects for scale factors above 1.\n" "\n" "When enabled a scan-line effect will be used for scale factor of 2 and a " "smoothing effect for scale factor 3." #: images/options.glade:781 msgid "" "This setting is only used when emulating a KC 85/3 where it enables the " "emulation of the display dissortion when the screen memory is accessed by " "the CPU." msgstr "" "This setting is only used when emulating a KC 85/3 where it enables the " "emulation of the display dissortion when the screen memory is accessed by " "the CPU." #: images/options.glade:812 msgid "Display" msgstr "Display" #: images/options.glade:1355 msgid "ROMs" msgstr "ROMs" #: images/options.glade:1476 msgid "Module 6:" msgstr "Module 6:" #: images/options.glade:1490 msgid "Module 5:" msgstr "Module 5:" #: images/options.glade:1504 msgid "Module 4:" msgstr "Module 4:" #: images/options.glade:1518 msgid "Module 3:" msgstr "Module 3:" #: images/options.glade:1532 msgid "Module 2:" msgstr "Module 2:" #: images/options.glade:1546 msgid "Module 1:" msgstr "Module 1:" #: images/options.glade:1558 msgid "Module 7:" msgstr "Module 7:" #: images/options.glade:1572 msgid "Module 8:" msgstr "Module 8:" #: images/options.glade:1613 msgid "Override modules in this profile" msgstr "Override modules in this profile" #: images/options.glade:1653 msgid "Modules" msgstr "Modules" #: images/options.glade:2080 msgid "Hard Disk 2:" msgstr "Hard Disk 2:" #: images/options.glade:2094 msgid "Hard Disk 1:" msgstr "Hard Disk 1:" #: images/options.glade:2123 msgid "Audio:" msgstr "Audio:" #: images/options.glade:2261 msgid "Tape:" msgstr "Tape:" #: images/options.glade:2282 msgid "Media" msgstr "Media" #: images/options.glade:2334 msgid "" "Number of D002 busdriver devices to add to the system. The maximum number of " "emulated busdrivers is currently 4." msgstr "" "Number of D002 busdriver devices to add to the system. The maximum number of " "emulated busdrivers is currently 4." #: images/options.glade:2352 msgid "Busdrivers:" msgstr "Busdrivers:" #: images/options.glade:2383 msgid "" "Enable or disable the second D004 ROM at slot F8. The standard ROM is " "available at slot FC." msgstr "" "Enable or disable the second D004 ROM at slot F8. The standard ROM is " "available at slot FC." #: images/options.glade:2406 msgid "F8 ROM:" msgstr "F8 ROM:" #: images/options.glade:2437 msgid "Enable or disable the D004 Floppy Basis Device." msgstr "Enable or disable the D004 Floppy Basis Device." #: images/options.glade:2459 msgid "D004:" msgstr "D004:" #: images/options.glade:2474 msgid "Special settings for KC 85/2..5" msgstr "Special settings for KC 85/2..5" #: images/options.glade:2496 msgid "KC85" msgstr "KC85" #: images/options.glade:2525 msgid "IP Address:" msgstr "IP Address:" #: images/options.glade:2538 msgid "Netmask:" msgstr "Netmask:" #: images/options.glade:2551 msgid "Gateway:" msgstr "Gateway:" #: images/options.glade:2564 msgid "DNS Server:" msgstr "DNS Server:" #: images/options.glade:2706 msgid "Network settings for WizNET module (IP-Addresses only!)" msgstr "Network settings for WizNET module (IP-Addresses only!)" #: images/options.glade:2729 msgid "Network" msgstr "Network" #: images/plotter.glade:28 msgid "KCemu: Plotter" msgstr "KCemu: Plotter" #: images/plotter.glade:48 msgid "Plotter" msgstr "Plotter" #: images/plotter.glade:305 msgid "Show pen" msgstr "Show pen" #: images/plotter.glade:334 msgid "Show plot area" msgstr "Show plot area" #: images/plotter.glade:347 msgid "" "Define the initial y position of the pen after clearing the plotting area. " "Measured in millimeters from the top left corner." msgstr "" "Define the initial y position of the pen after clearing the plotting area. " "Measured in millimeters from the top left corner." #: images/plotter.glade:365 msgid "Y origin" msgstr "Y origin" #: images/plotter.glade:394 msgid "Paper color" msgstr "Paper color" #: images/plotter.glade:407 msgid "X origin" msgstr "X origin" #: images/plotter.glade:420 msgid "" "Define the initial x position of the pen after clearing the plotting area. " "Measured in millimeters from the top left corner." msgstr "" "Define the initial x position of the pen after clearing the plotting area. " "Measured in millimeters from the top left corner." #: images/plotter.glade:438 msgid "Define the line width for plotting. Measured in millimeters." msgstr "Define the line width for plotting. Measured in millimeters." #: images/plotter.glade:456 msgid "Line width" msgstr "Line width" #: images/plotter.glade:469 msgid "Plot to PDF:" msgstr "Plot to PDF:" #: images/plotter.glade:483 msgid "Delay between screen refreshes of the drawing area in milliseconds." msgstr "Delay between screen refreshes of the drawing area in milliseconds." #: images/plotter.glade:501 msgid "Display refresh" msgstr "Display refresh" #: images/plotter.glade:515 msgid "Define the color to use for plotting." msgstr "Define the color to use for plotting." #: images/plotter.glade:528 msgid "Pen color" msgstr "Pen color" #: images/plotter.glade:590 msgid "" "Clear plotting area. When rendering to a PDF file a new page is created and " "plotting continues in the same file." msgstr "" "Clear plotting area. When rendering to a PDF file a new page is created and " "plotting continues in the same file." #: images/plotter.glade:605 msgid "Save the plotted picture as PNG image file." msgstr "Save the plotted picture as PNG image file." #: images/savemem.glade:38 msgid "KCemu: Save Memory Dump" msgstr "KCemu: Save Memory Dump" #: images/savemem.glade:58 msgid "Save Memory Dump" msgstr "Save Memory Dump" #: images/savemem.glade:97 images/savemem.glade:344 msgid "Automatically scroll to start address if the address is changed." msgstr "Automatically scroll to start address if the address is changed." #: images/savemem.glade:121 msgid "Automatically scroll to end address if the address is changed." msgstr "Automatically scroll to end address if the address is changed." #: images/savemem.glade:157 msgid "End address:" msgstr "End address:" #: images/savemem.glade:170 src/ui/gtk/hedit.cc:238 src/ui/gtk/image.cc:169 msgid "Start address:" msgstr "Start address:" #: images/savemem.glade:182 images/savemem.glade:315 images/savemem.glade:330 msgid "dec" msgstr "dec" #: images/savemem.glade:196 images/savemem.glade:285 images/savemem.glade:300 msgid "hex" msgstr "hex" #: images/savemem.glade:228 msgid "Size of the memory dump in bytes." msgstr "Size of the memory dump in bytes." #: images/savemem.glade:246 msgid "Length:" msgstr "Length:" #: images/savemem.glade:378 msgid "" "End address of the memory area to save. The byte at the given address is " "included in the memory dump." msgstr "" "End address of the memory area to save. The byte at the given address is " "included in the memory dump." #: images/savemem.glade:395 msgid "Start address of the memory area to save." msgstr "Start address of the memory area to save." #: images/screenshot.glade:6 msgid "KCemu: Screenshot" msgstr "KCemu: Screenshot" #: images/screenshot.glade:26 images/screenshot.glade:372 msgid "Screenshot" msgstr "Screenshot" #: images/screenshot.glade:143 msgid "Left" msgstr "Left" #: images/screenshot.glade:156 msgid "Top" msgstr "Top" #: images/screenshot.glade:171 msgid "Right" msgstr "Right" #: images/screenshot.glade:184 msgid "Bottom" msgstr "Bottom" #: images/screenshot.glade:199 msgid "File" msgstr "File" #: images/screenshot.glade:212 msgid "Format" msgstr "Format" #: images/screenshot.glade:385 msgid "Save" msgstr "Save" #: images/selector.glade:7 msgid "KCemu: Select profile..." msgstr "KCemu: Select profile..." #: images/selector.glade:31 msgid "Select Profile..." msgstr "Select Profile..." #: images/selector.glade:102 msgid "System profiles..." msgstr "System profiles..." #: images/selector.glade:144 msgid "User profiles..." msgstr "User profiles..." #: images/tapeedit.glade:7 src/ui/gtk/tapeadd.cc:93 msgid "KCemu: Rename File" msgstr "KCemu: Rename File" #: images/tapeedit.glade:28 msgid "Edit Tape" msgstr "Edit Tape" #: images/tapeedit.glade:63 msgid "" "[ Text ]\n" "\n" "[ more text ... ]" msgstr "" "[ Text ]\n" "\n" "[ more text ... ]" #: images/tapeedit.glade:80 msgid "Tape name:" msgstr "Tape name:" #: images/tape.glade:11 msgid "KCemu: Tape" msgstr "KCemu: Tape" #: images/tape.glade:30 msgid "Tape" msgstr "Tape" #: images/thanks.glade:6 msgid "" "Volker Pohlers\n" " for help with the windows port, technical information and\n" " bugreports\n" "Thomas Ludwig\n" " for the great KC website at http://www.kc85emu.de/ and\n" " lots of bugreports and hints how to make KCemu better\n" "Holger Krull\n" " for providing lots of information about the LC 80\n" " computer (see http://www.lc80.de/)\n" "Kev Thacker\n" " for interesting insights concerning the floppy emulation\n" " (he's also the author of the KC driver for M.E.S.S. the\n" " Multi-Emulator Super System, see http://mess.emuverse.com/)\n" "Alexander Schön\n" " for starting the windows port, lots of tips and for providing\n" " a huge pile of files for use with the emulator or with\n" " information about the various systems\n" "Sourceforge User Boo-boo\n" " for the libz80ex emulation library which is now used to emulate\n" " the Z80 CPUs\n" "Marat Fayzullin\n" " for the Z80 emulation core used for the main processor\n" " up to KCemu version 0.4.2\n" " (I needed to tweak some bits of the emulation core; see\n" " src/z80core/README for the list of changes)\n" "Marcel de Kogel\n" " for the Z80 emulation core used for the KC floppy\n" " processor up to KCemu version 0.4.2\n" "Thomas Bretz\n" " for the OS/2 port of KCemu (see http://www.d4m.de/)" msgstr "" "Volker Pohlers\n" " for help with the windows port, technical information and\n" " bugreports\n" "Thomas Ludwig\n" " for the great KC website at http://www.kc85emu.de/ and\n" " lots of bugreports and hints how to make KCemu better\n" "Holger Krull\n" " for providing lots of information about the LC 80\n" " computer (see http://www.lc80.de/)\n" "Kev Thacker\n" " for interesting insights concerning the floppy emulation\n" " (he's also the author of the KC driver for M.E.S.S. the\n" " Multi-Emulator Super System, see http://mess.emuverse.com/)\n" "Alexander Schön\n" " for starting the windows port, lots of tips and for providing\n" " a huge pile of files for use with the emulator or with\n" " information about the various systems\n" "Sourceforge User Boo-boo\n" " for the libz80ex emulation library which is now used to emulate\n" " the Z80 CPUs\n" "Marat Fayzullin\n" " for the Z80 emulation core used for the main processor\n" " up to KCemu version 0.4.2\n" " (I needed to tweak some bits of the emulation core; see\n" " src/z80core/README for the list of changes)\n" "Marcel de Kogel\n" " for the Z80 emulation core used for the KC floppy\n" " processor up to KCemu version 0.4.2\n" "Thomas Bretz\n" " for the OS/2 port of KCemu (see http://www.d4m.de/)" #: images/thanks.glade:38 msgid "KCemu: Thanks" msgstr "KCemu: Thanks" #: images/thanks.glade:58 msgid "Thanks" msgstr "Thanks" #: images/thanks.glade:114 msgid "" "I'd like to say thanks to many people who helped to bring KCemu to the point " "where it is now. The following list just lists some of them in no particular " "order..." msgstr "" "I'd like to say thanks to many people who helped to bring KCemu to the point " "where it is now. The following list just lists some of them in no particular " "order..." #: images/thanks.glade:151 msgid "People" msgstr "People" #: images/thanks.glade:168 msgid "" "Lots of tools and libraries made it easier to write KCemu. Many thanks to " "the people behind all those projects for their work..." msgstr "" "Lots of tools and libraries made it easier to write KCemu. Many thanks to " "the people behind all those projects for their work..." #: images/thanks.glade:198 msgid "libsndfile" msgstr "libsndfile" #: images/thanks.glade:229 msgid "Ogg & Vorbis libraries" msgstr "Ogg & Vorbis libraries" #: images/thanks.glade:274 msgid "Open Clip Art Library" msgstr "Open Clip Art Library" #: images/thanks.glade:306 msgid "LAME - LAME Ain't an MP3 Encoder" msgstr "LAME - LAME Ain't an MP3 Encoder" #: images/thanks.glade:324 msgid "FLAC - Free Lossless Audio Codec" msgstr "FLAC - Free Lossless Audio Codec" #: images/thanks.glade:342 msgid "GTK+ - The GIMP Toolkit" msgstr "GTK+ - The GIMP Toolkit" #: images/thanks.glade:401 msgid "libSDL - Simple DirectMedia Layer" msgstr "libSDL - Simple DirectMedia Layer" #: images/thanks.glade:431 msgid "Xiph.org Foundation - Theora video compression" msgstr "Xiph.org Foundation - Theora video compression" #: images/thanks.glade:461 msgid "Audio/Video codec library libavcodec" msgstr "Audio/Video codec library libavcodec" #: images/thanks.glade:491 msgid "BBC Research - Dirac Video Codec" msgstr "BBC Research - Dirac Video Codec" #: images/thanks.glade:521 msgid "Xvid project" msgstr "Xvid project" #: images/thanks.glade:534 msgid "http://www.theora.org/" msgstr "http://www.theora.org/" #: images/thanks.glade:555 msgid "http://ffmpeg.org/" msgstr "http://ffmpeg.org/" #: images/thanks.glade:575 msgid "http://www.bbc.co.uk/rd/projects/dirac/" msgstr "http://www.bbc.co.uk/rd/projects/dirac/" #: images/thanks.glade:596 msgid "http://www.xvid.org/" msgstr "http://www.xvid.org/" #: images/thanks.glade:617 msgid "http://www.gtk.org/" msgstr "http://www.gtk.org/" #: images/thanks.glade:639 msgid "http://www.libsdl.org/" msgstr "http://www.libsdl.org/" #: images/thanks.glade:660 msgid "http://flac.sourceforge.net/" msgstr "http://flac.sourceforge.net/" #: images/thanks.glade:681 msgid "http://lame.sourceforge.net/" msgstr "http://lame.sourceforge.net/" #: images/thanks.glade:755 msgid "http://openclipart.org/" msgstr "http://openclipart.org/" #: images/thanks.glade:776 msgid "http://www.vorbis.com/" msgstr "http://www.vorbis.com/" #: images/thanks.glade:797 msgid "http://www.mega-nerd.com/libsndfile/" msgstr "http://www.mega-nerd.com/libsndfile/" #: images/thanks.glade:1020 msgid "Projects & Libraries" msgstr "Projects & Libraries" #: images/vdip.glade:6 msgid "KCemu: Vinculum USB" msgstr "KCemu: Vinculum USB" #: images/vdip.glade:26 msgid "Vinculum USB" msgstr "Vinculum USB" #: images/vdip.glade:65 msgid "Slot 1:" msgstr "Slot 1:" #: images/vdip.glade:77 msgid "Slot 2:" msgstr "Slot 2:" #: images/video.glade:6 msgid "KCemu: Video" msgstr "KCemu: Video" #: images/video.glade:26 msgid "Video" msgstr "Video" #: images/video.glade:79 msgid "Frames per Second" msgstr "Frames per Second" #: images/video.glade:92 msgid "Start record on reset" msgstr "Start record on reset" #: images/video.glade:121 msgid "Encoder" msgstr "Encoder" #: images/video.glade:143 msgid "Quality" msgstr "Quality" #: images/video.glade:173 msgid "Video file" msgstr "Video file" #: images/video.glade:239 src/ui/gtk/wav.cc:174 msgid "Record" msgstr "Record" #: images/video.glade:279 msgid "Pause" msgstr "Pause" #: images/video.glade:319 src/ui/gtk/wav.cc:164 msgid "Stop" msgstr "Stop" #: src/cmd/image.cc:103 src/kc/wav.cc:81 msgid "KCemu: Select File..." msgstr "KCemu: Select File..." #: src/cmd/image.cc:127 msgid "KCemu: Can't load file..." msgstr "KCemu: Can't load file..." #: src/cmd/image.cc:129 msgid "The file you selected couldn't be loaded!" msgstr "The file you selected couldn't be loaded!" #: src/cmd/image.cc:142 msgid "KCemu: Warning..." msgstr "KCemu: Warning..." #: src/cmd/image.cc:144 msgid "" "The file you selected contains more than one\n" "program. Only the first program will be loaded.\n" "If you want to access all the contained\n" "programs add this file to a tape-archive!" msgstr "" "The file you selected contains more than one\n" "program. Only the first program will be loaded.\n" "If you want to access all the contained\n" "programs add this file to a tape-archive!" #: src/getopt/getopt.c:678 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: option `%s' is ambiguous\n" #: src/getopt/getopt.c:702 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: option `--%s' doesn't allow an argument\n" #: src/getopt/getopt.c:707 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: option `%c%s' doesn't allow an argument\n" #: src/getopt/getopt.c:724 src/getopt/getopt.c:897 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: option `%s' requires an argument\n" #: src/getopt/getopt.c:753 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: unrecognized option `--%s'\n" #: src/getopt/getopt.c:757 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: unrecognized option `%c%s'\n" #: src/getopt/getopt.c:783 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: illegal option -- %c\n" #: src/getopt/getopt.c:786 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: invalid option -- %c\n" #: src/getopt/getopt.c:816 src/getopt/getopt.c:946 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: option requires an argument -- %c\n" #: src/getopt/getopt.c:863 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: option `-W %s' is ambiguous\n" #: src/getopt/getopt.c:881 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: option `-W %s' doesn't allow an argument\n" #: src/kc/disk.cc:84 msgid "Select disk..." msgstr "Select disk..." #: src/kc/disk.cc:124 src/kc/tape.cc:216 msgid "create file?" msgstr "create file?" #: src/kc/disk.cc:126 src/kc/tape.cc:218 #, c-format msgid "" "The file '%s' doesn't exist.\n" "Do you want to create it?" msgstr "" "The file '%s' doesn't exist.\n" "Do you want to create it?" #: src/kc/disk.cc:135 #, c-format msgid "disk-file `%s' attached." msgstr "disk-file `%s' attached." #: src/kc/disk.cc:140 msgid "Can't attach disk-file." msgstr "Can't attach disk-file." #: src/kc/kc.cc:232 msgid "" "\n" "KCemu comes with ABSOLUTELY NO WARRANTY; for details run `kcemu --" "warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kcemu [-0123456789aAcestfhdlvVHFMELW]\n" "\n" " -0: select Z1013 profile\n" " -1: select Z9001 / KC 85/1 profile\n" " -2: select KC 85/2 profile\n" " -3: select KC 85/3 profile\n" " -4: select KC 85/4 profile\n" " -5: select KC 85/5 profile\n" " -6: select Poly-880 profile\n" " -7: select KC 87 profile\n" " -8: select LC 80 profile\n" " -9: select BIC/A5105 profile\n" " -a --autostart: autostart program on startup (kc85/3 - kc85/5 only)\n" " -A --address: override start address of autostart program\n" " -d --datadir: set data directory (for ROM images)\n" " -E --effects: enable display effects for scaled screen output\n" " -f --floppy: attach disk on startup\n" " -F --fullscreen: start in fullscreen mode (if supported by gui)\n" " -h --help: display help\n" " -H --home: overwrite setting for home directory\n" " -l --localedir: set locale directory\n" " -L --license: show license\n" " -M --modules: insert modules on startup (e.g. -M M011,M027)\n" " -o --debug-output: write debug output to file\n" " -p --profile: start with given profile\n" " -P --select-profile: show profile selector\n" " -s --scale: scale display (allowed values: 1, 2 and 3)\n" " -t --tape: attach tape on startup\n" " -v --version: show KCemu version and configuration\n" " -V --viewlist: view verbose list of available emulations\n" " -W --warranty: show warranty\n" msgstr "" "\n" "KCemu comes with ABSOLUTELY NO WARRANTY; for details run `kcemu --" "warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kcemu [-0123456789aAcestfhdlvVHFMELW]\n" "\n" " -0: select Z1013 profile\n" " -1: select Z9001 / KC 85/1 profile\n" " -2: select KC 85/2 profile\n" " -3: select KC 85/3 profile\n" " -4: select KC 85/4 profile\n" " -5: select KC 85/5 profile\n" " -6: select Poly-880 profile\n" " -7: select KC 87 profile\n" " -8: select LC 80 profile\n" " -9: select BIC/A5105 profile\n" " -a --autostart: autostart program on startup (kc85/3 - kc85/5 only)\n" " -A --address: override start address of autostart program\n" " -d --datadir: set data directory (for ROM images)\n" " -E --effects: enable display effects for scaled screen output\n" " -f --floppy: attach disk on startup\n" " -F --fullscreen: start in fullscreen mode (if supported by gui)\n" " -h --help: display help\n" " -H --home: overwrite setting for home directory\n" " -l --localedir: set locale directory\n" " -L --license: show license\n" " -M --modules: insert modules on startup (e.g. -M M011,M027)\n" " -o --debug-output: write debug output to file\n" " -p --profile: start with given profile\n" " -P --select-profile: show profile selector\n" " -s --scale: scale display (allowed values: 1, 2 and 3)\n" " -t --tape: attach tape on startup\n" " -v --version: show KCemu version and configuration\n" " -V --viewlist: view verbose list of available emulations\n" " -W --warranty: show warranty\n" #: src/kc/kc.cc:299 msgid "" "\n" "\t\t GNU GENERAL PUBLIC LICENSE\n" "\t\t Version 2, June 1991\n" "\n" " Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n" " 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n" " Everyone is permitted to copy and distribute verbatim copies\n" " of this license document, but changing it is not allowed.\n" "\n" "\t\t\t Preamble\n" "\n" " The licenses for most software are designed to take away your\n" "freedom to share and change it. By contrast, the GNU General Public\n" "License is intended to guarantee your freedom to share and change free\n" "software--to make sure the software is free for all its users. This\n" "General Public License applies to most of the Free Software\n" "Foundation's software and to any other program whose authors commit to\n" "using it. (Some other Free Software Foundation software is covered by\n" "the GNU Library General Public License instead.) You can apply it to\n" "your programs, too.\n" "\n" " When we speak of free software, we are referring to freedom, not\n" "price. Our General Public Licenses are designed to make sure that you\n" "have the freedom to distribute copies of free software (and charge for\n" "this service if you wish), that you receive source code or can get it\n" "if you want it, that you can change the software or use pieces of it\n" "in new free programs; and that you know you can do these things.\n" "\n" " To protect your rights, we need to make restrictions that forbid\n" "anyone to deny you these rights or to ask you to surrender the rights.\n" "These restrictions translate to certain responsibilities for you if you\n" "distribute copies of the software, or if you modify it.\n" "\n" " For example, if you distribute copies of such a program, whether\n" "gratis or for a fee, you must give the recipients all the rights that\n" "you have. You must make sure that they, too, receive or can get the\n" "source code. And you must show them these terms so they know their\n" "rights.\n" "\n" " We protect your rights with two steps: (1) copyright the software, and\n" "(2) offer you this license which gives you legal permission to copy,\n" "distribute and/or modify the software.\n" "\n" " Also, for each author's protection and ours, we want to make certain\n" "that everyone understands that there is no warranty for this free\n" "software. If the software is modified by someone else and passed on, we\n" "want its recipients to know that what they have is not the original, so\n" "that any problems introduced by others will not reflect on the original\n" "authors' reputations.\n" "\n" " Finally, any free program is threatened constantly by software\n" "patents. We wish to avoid the danger that redistributors of a free\n" "program will individually obtain patent licenses, in effect making the\n" "program proprietary. To prevent this, we have made it clear that any\n" "patent must be licensed for everyone's free use or not licensed at all.\n" "\n" " The precise terms and conditions for copying, distribution and\n" "modification follow.\n" "\n" "\t\t GNU GENERAL PUBLIC LICENSE\n" " TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n" "\n" " 0. This License applies to any program or other work which contains\n" "a notice placed by the copyright holder saying it may be distributed\n" "under the terms of this General Public License. The \"Program\", below,\n" "refers to any such program or work, and a \"work based on the Program\"\n" "means either the Program or any derivative work under copyright law:\n" "that is to say, a work containing the Program or a portion of it,\n" "either verbatim or with modifications and/or translated into another\n" "language. (Hereinafter, translation is included without limitation in\n" "the term \"modification\".) Each licensee is addressed as \"you\".\n" "\n" "Activities other than copying, distribution and modification are not\n" "covered by this License; they are outside its scope. The act of\n" "running the Program is not restricted, and the output from the Program\n" "is covered only if its contents constitute a work based on the\n" "Program (independent of having been made by running the Program).\n" "Whether that is true depends on what the Program does.\n" "\n" " 1. You may copy and distribute verbatim copies of the Program's\n" "source code as you receive it, in any medium, provided that you\n" "conspicuously and appropriately publish on each copy an appropriate\n" "copyright notice and disclaimer of warranty; keep intact all the\n" "notices that refer to this License and to the absence of any warranty;\n" "and give any other recipients of the Program a copy of this License\n" "along with the Program.\n" "\n" "You may charge a fee for the physical act of transferring a copy, and\n" "you may at your option offer warranty protection in exchange for a fee.\n" "\n" " 2. You may modify your copy or copies of the Program or any portion\n" "of it, thus forming a work based on the Program, and copy and\n" "distribute such modifications or work under the terms of Section 1\n" "above, provided that you also meet all of these conditions:\n" "\n" " a) You must cause the modified files to carry prominent notices\n" " stating that you changed the files and the date of any change.\n" "\n" " b) You must cause any work that you distribute or publish, that in\n" " whole or in part contains or is derived from the Program or any\n" " part thereof, to be licensed as a whole at no charge to all third\n" " parties under the terms of this License.\n" "\n" " c) If the modified program normally reads commands interactively\n" " when run, you must cause it, when started running for such\n" " interactive use in the most ordinary way, to print or display an\n" " announcement including an appropriate copyright notice and a\n" " notice that there is no warranty (or else, saying that you provide\n" " a warranty) and that users may redistribute the program under\n" " these conditions, and telling the user how to view a copy of this\n" " License. (Exception: if the Program itself is interactive but\n" " does not normally print such an announcement, your work based on\n" " the Program is not required to print an announcement.)\n" "\n" "These requirements apply to the modified work as a whole. If\n" "identifiable sections of that work are not derived from the Program,\n" "and can be reasonably considered independent and separate works in\n" "themselves, then this License, and its terms, do not apply to those\n" "sections when you distribute them as separate works. But when you\n" "distribute the same sections as part of a whole which is a work based\n" "on the Program, the distribution of the whole must be on the terms of\n" "this License, whose permissions for other licensees extend to the\n" "entire whole, and thus to each and every part regardless of who wrote it.\n" "\n" "Thus, it is not the intent of this section to claim rights or contest\n" "your rights to work written entirely by you; rather, the intent is to\n" "exercise the right to control the distribution of derivative or\n" "collective works based on the Program.\n" "\n" "In addition, mere aggregation of another work not based on the Program\n" "with the Program (or with a work based on the Program) on a volume of\n" "a storage or distribution medium does not bring the other work under\n" "the scope of this License.\n" "\n" " 3. You may copy and distribute the Program (or a work based on it,\n" "under Section 2) in object code or executable form under the terms of\n" "Sections 1 and 2 above provided that you also do one of the following:\n" "\n" " a) Accompany it with the complete corresponding machine-readable\n" " source code, which must be distributed under the terms of Sections\n" " 1 and 2 above on a medium customarily used for software interchange; " "or,\n" "\n" " b) Accompany it with a written offer, valid for at least three\n" " years, to give any third party, for a charge no more than your\n" " cost of physically performing source distribution, a complete\n" " machine-readable copy of the corresponding source code, to be\n" " distributed under the terms of Sections 1 and 2 above on a medium\n" " customarily used for software interchange; or,\n" "\n" " c) Accompany it with the information you received as to the offer\n" " to distribute corresponding source code. (This alternative is\n" " allowed only for noncommercial distribution and only if you\n" " received the program in object code or executable form with such\n" " an offer, in accord with Subsection b above.)\n" "\n" "The source code for a work means the preferred form of the work for\n" "making modifications to it. For an executable work, complete source\n" "code means all the source code for all modules it contains, plus any\n" "associated interface definition files, plus the scripts used to\n" "control compilation and installation of the executable. However, as a\n" "special exception, the source code distributed need not include\n" "anything that is normally distributed (in either source or binary\n" "form) with the major components (compiler, kernel, and so on) of the\n" "operating system on which the executable runs, unless that component\n" "itself accompanies the executable.\n" "\n" "If distribution of executable or object code is made by offering\n" "access to copy from a designated place, then offering equivalent\n" "access to copy the source code from the same place counts as\n" "distribution of the source code, even though third parties are not\n" "compelled to copy the source along with the object code.\n" "\n" " 4. You may not copy, modify, sublicense, or distribute the Program\n" "except as expressly provided under this License. Any attempt\n" "otherwise to copy, modify, sublicense or distribute the Program is\n" "void, and will automatically terminate your rights under this License.\n" "However, parties who have received copies, or rights, from you under\n" "this License will not have their licenses terminated so long as such\n" "parties remain in full compliance.\n" "\n" " 5. You are not required to accept this License, since you have not\n" "signed it. However, nothing else grants you permission to modify or\n" "distribute the Program or its derivative works. These actions are\n" "prohibited by law if you do not accept this License. Therefore, by\n" "modifying or distributing the Program (or any work based on the\n" "Program), you indicate your acceptance of this License to do so, and\n" "all its terms and conditions for copying, distributing or modifying\n" "the Program or works based on it.\n" "\n" " 6. Each time you redistribute the Program (or any work based on the\n" "Program), the recipient automatically receives a license from the\n" "original licensor to copy, distribute or modify the Program subject to\n" "these terms and conditions. You may not impose any further\n" "restrictions on the recipients' exercise of the rights granted herein.\n" "You are not responsible for enforcing compliance by third parties to\n" "this License.\n" "\n" " 7. If, as a consequence of a court judgment or allegation of patent\n" "infringement or for any other reason (not limited to patent issues),\n" "conditions are imposed on you (whether by court order, agreement or\n" "otherwise) that contradict the conditions of this License, they do not\n" "excuse you from the conditions of this License. If you cannot\n" "distribute so as to satisfy simultaneously your obligations under this\n" "License and any other pertinent obligations, then as a consequence you\n" "may not distribute the Program at all. For example, if a patent\n" "license would not permit royalty-free redistribution of the Program by\n" "all those who receive copies directly or indirectly through you, then\n" "the only way you could satisfy both it and this License would be to\n" "refrain entirely from distribution of the Program.\n" "\n" "If any portion of this section is held invalid or unenforceable under\n" "any particular circumstance, the balance of the section is intended to\n" "apply and the section as a whole is intended to apply in other\n" "circumstances.\n" "\n" "It is not the purpose of this section to induce you to infringe any\n" "patents or other property right claims or to contest validity of any\n" "such claims; this section has the sole purpose of protecting the\n" "integrity of the free software distribution system, which is\n" "implemented by public license practices. Many people have made\n" "generous contributions to the wide range of software distributed\n" "through that system in reliance on consistent application of that\n" "system; it is up to the author/donor to decide if he or she is willing\n" "to distribute software through any other system and a licensee cannot\n" "impose that choice.\n" "\n" "This section is intended to make thoroughly clear what is believed to\n" "be a consequence of the rest of this License.\n" "\n" " 8. If the distribution and/or use of the Program is restricted in\n" "certain countries either by patents or by copyrighted interfaces, the\n" "original copyright holder who places the Program under this License\n" "may add an explicit geographical distribution limitation excluding\n" "those countries, so that distribution is permitted only in or among\n" "countries not thus excluded. In such case, this License incorporates\n" "the limitation as if written in the body of this License.\n" "\n" " 9. The Free Software Foundation may publish revised and/or new versions\n" "of the General Public License from time to time. Such new versions will\n" "be similar in spirit to the present version, but may differ in detail to\n" "address new problems or concerns.\n" "\n" "Each version is given a distinguishing version number. If the Program\n" "specifies a version number of this License which applies to it and \"any\n" "later version\", you have the option of following the terms and conditions\n" "either of that version or of any later version published by the Free\n" "Software Foundation. If the Program does not specify a version number of\n" "this License, you may choose any version ever published by the Free " "Software\n" "Foundation.\n" "\n" " 10. If you wish to incorporate parts of the Program into other free\n" "programs whose distribution conditions are different, write to the author\n" "to ask for permission. For software which is copyrighted by the Free\n" "Software Foundation, write to the Free Software Foundation; we sometimes\n" "make exceptions for this. Our decision will be guided by the two goals\n" "of preserving the free status of all derivatives of our free software and\n" "of promoting the sharing and reuse of software generally.\n" "\n" msgstr "" "\n" "\t\t GNU GENERAL PUBLIC LICENSE\n" "\t\t Version 2, June 1991\n" "\n" " Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n" " 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n" " Everyone is permitted to copy and distribute verbatim copies\n" " of this license document, but changing it is not allowed.\n" "\n" "\t\t\t Preamble\n" "\n" " The licenses for most software are designed to take away your\n" "freedom to share and change it. By contrast, the GNU General Public\n" "License is intended to guarantee your freedom to share and change free\n" "software--to make sure the software is free for all its users. This\n" "General Public License applies to most of the Free Software\n" "Foundation's software and to any other program whose authors commit to\n" "using it. (Some other Free Software Foundation software is covered by\n" "the GNU Library General Public License instead.) You can apply it to\n" "your programs, too.\n" "\n" " When we speak of free software, we are referring to freedom, not\n" "price. Our General Public Licenses are designed to make sure that you\n" "have the freedom to distribute copies of free software (and charge for\n" "this service if you wish), that you receive source code or can get it\n" "if you want it, that you can change the software or use pieces of it\n" "in new free programs; and that you know you can do these things.\n" "\n" " To protect your rights, we need to make restrictions that forbid\n" "anyone to deny you these rights or to ask you to surrender the rights.\n" "These restrictions translate to certain responsibilities for you if you\n" "distribute copies of the software, or if you modify it.\n" "\n" " For example, if you distribute copies of such a program, whether\n" "gratis or for a fee, you must give the recipients all the rights that\n" "you have. You must make sure that they, too, receive or can get the\n" "source code. And you must show them these terms so they know their\n" "rights.\n" "\n" " We protect your rights with two steps: (1) copyright the software, and\n" "(2) offer you this license which gives you legal permission to copy,\n" "distribute and/or modify the software.\n" "\n" " Also, for each author's protection and ours, we want to make certain\n" "that everyone understands that there is no warranty for this free\n" "software. If the software is modified by someone else and passed on, we\n" "want its recipients to know that what they have is not the original, so\n" "that any problems introduced by others will not reflect on the original\n" "authors' reputations.\n" "\n" " Finally, any free program is threatened constantly by software\n" "patents. We wish to avoid the danger that redistributors of a free\n" "program will individually obtain patent licenses, in effect making the\n" "program proprietary. To prevent this, we have made it clear that any\n" "patent must be licensed for everyone's free use or not licensed at all.\n" "\n" " The precise terms and conditions for copying, distribution and\n" "modification follow.\n" "\n" "\t\t GNU GENERAL PUBLIC LICENSE\n" " TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n" "\n" " 0. This License applies to any program or other work which contains\n" "a notice placed by the copyright holder saying it may be distributed\n" "under the terms of this General Public License. The \"Program\", below,\n" "refers to any such program or work, and a \"work based on the Program\"\n" "means either the Program or any derivative work under copyright law:\n" "that is to say, a work containing the Program or a portion of it,\n" "either verbatim or with modifications and/or translated into another\n" "language. (Hereinafter, translation is included without limitation in\n" "the term \"modification\".) Each licensee is addressed as \"you\".\n" "\n" "Activities other than copying, distribution and modification are not\n" "covered by this License; they are outside its scope. The act of\n" "running the Program is not restricted, and the output from the Program\n" "is covered only if its contents constitute a work based on the\n" "Program (independent of having been made by running the Program).\n" "Whether that is true depends on what the Program does.\n" "\n" " 1. You may copy and distribute verbatim copies of the Program's\n" "source code as you receive it, in any medium, provided that you\n" "conspicuously and appropriately publish on each copy an appropriate\n" "copyright notice and disclaimer of warranty; keep intact all the\n" "notices that refer to this License and to the absence of any warranty;\n" "and give any other recipients of the Program a copy of this License\n" "along with the Program.\n" "\n" "You may charge a fee for the physical act of transferring a copy, and\n" "you may at your option offer warranty protection in exchange for a fee.\n" "\n" " 2. You may modify your copy or copies of the Program or any portion\n" "of it, thus forming a work based on the Program, and copy and\n" "distribute such modifications or work under the terms of Section 1\n" "above, provided that you also meet all of these conditions:\n" "\n" " a) You must cause the modified files to carry prominent notices\n" " stating that you changed the files and the date of any change.\n" "\n" " b) You must cause any work that you distribute or publish, that in\n" " whole or in part contains or is derived from the Program or any\n" " part thereof, to be licensed as a whole at no charge to all third\n" " parties under the terms of this License.\n" "\n" " c) If the modified program normally reads commands interactively\n" " when run, you must cause it, when started running for such\n" " interactive use in the most ordinary way, to print or display an\n" " announcement including an appropriate copyright notice and a\n" " notice that there is no warranty (or else, saying that you provide\n" " a warranty) and that users may redistribute the program under\n" " these conditions, and telling the user how to view a copy of this\n" " License. (Exception: if the Program itself is interactive but\n" " does not normally print such an announcement, your work based on\n" " the Program is not required to print an announcement.)\n" "\n" "These requirements apply to the modified work as a whole. If\n" "identifiable sections of that work are not derived from the Program,\n" "and can be reasonably considered independent and separate works in\n" "themselves, then this License, and its terms, do not apply to those\n" "sections when you distribute them as separate works. But when you\n" "distribute the same sections as part of a whole which is a work based\n" "on the Program, the distribution of the whole must be on the terms of\n" "this License, whose permissions for other licensees extend to the\n" "entire whole, and thus to each and every part regardless of who wrote it.\n" "\n" "Thus, it is not the intent of this section to claim rights or contest\n" "your rights to work written entirely by you; rather, the intent is to\n" "exercise the right to control the distribution of derivative or\n" "collective works based on the Program.\n" "\n" "In addition, mere aggregation of another work not based on the Program\n" "with the Program (or with a work based on the Program) on a volume of\n" "a storage or distribution medium does not bring the other work under\n" "the scope of this License.\n" "\n" " 3. You may copy and distribute the Program (or a work based on it,\n" "under Section 2) in object code or executable form under the terms of\n" "Sections 1 and 2 above provided that you also do one of the following:\n" "\n" " a) Accompany it with the complete corresponding machine-readable\n" " source code, which must be distributed under the terms of Sections\n" " 1 and 2 above on a medium customarily used for software interchange; " "or,\n" "\n" " b) Accompany it with a written offer, valid for at least three\n" " years, to give any third party, for a charge no more than your\n" " cost of physically performing source distribution, a complete\n" " machine-readable copy of the corresponding source code, to be\n" " distributed under the terms of Sections 1 and 2 above on a medium\n" " customarily used for software interchange; or,\n" "\n" " c) Accompany it with the information you received as to the offer\n" " to distribute corresponding source code. (This alternative is\n" " allowed only for noncommercial distribution and only if you\n" " received the program in object code or executable form with such\n" " an offer, in accord with Subsection b above.)\n" "\n" "The source code for a work means the preferred form of the work for\n" "making modifications to it. For an executable work, complete source\n" "code means all the source code for all modules it contains, plus any\n" "associated interface definition files, plus the scripts used to\n" "control compilation and installation of the executable. However, as a\n" "special exception, the source code distributed need not include\n" "anything that is normally distributed (in either source or binary\n" "form) with the major components (compiler, kernel, and so on) of the\n" "operating system on which the executable runs, unless that component\n" "itself accompanies the executable.\n" "\n" "If distribution of executable or object code is made by offering\n" "access to copy from a designated place, then offering equivalent\n" "access to copy the source code from the same place counts as\n" "distribution of the source code, even though third parties are not\n" "compelled to copy the source along with the object code.\n" "\n" " 4. You may not copy, modify, sublicense, or distribute the Program\n" "except as expressly provided under this License. Any attempt\n" "otherwise to copy, modify, sublicense or distribute the Program is\n" "void, and will automatically terminate your rights under this License.\n" "However, parties who have received copies, or rights, from you under\n" "this License will not have their licenses terminated so long as such\n" "parties remain in full compliance.\n" "\n" " 5. You are not required to accept this License, since you have not\n" "signed it. However, nothing else grants you permission to modify or\n" "distribute the Program or its derivative works. These actions are\n" "prohibited by law if you do not accept this License. Therefore, by\n" "modifying or distributing the Program (or any work based on the\n" "Program), you indicate your acceptance of this License to do so, and\n" "all its terms and conditions for copying, distributing or modifying\n" "the Program or works based on it.\n" "\n" " 6. Each time you redistribute the Program (or any work based on the\n" "Program), the recipient automatically receives a license from the\n" "original licensor to copy, distribute or modify the Program subject to\n" "these terms and conditions. You may not impose any further\n" "restrictions on the recipients' exercise of the rights granted herein.\n" "You are not responsible for enforcing compliance by third parties to\n" "this License.\n" "\n" " 7. If, as a consequence of a court judgment or allegation of patent\n" "infringement or for any other reason (not limited to patent issues),\n" "conditions are imposed on you (whether by court order, agreement or\n" "otherwise) that contradict the conditions of this License, they do not\n" "excuse you from the conditions of this License. If you cannot\n" "distribute so as to satisfy simultaneously your obligations under this\n" "License and any other pertinent obligations, then as a consequence you\n" "may not distribute the Program at all. For example, if a patent\n" "license would not permit royalty-free redistribution of the Program by\n" "all those who receive copies directly or indirectly through you, then\n" "the only way you could satisfy both it and this License would be to\n" "refrain entirely from distribution of the Program.\n" "\n" "If any portion of this section is held invalid or unenforceable under\n" "any particular circumstance, the balance of the section is intended to\n" "apply and the section as a whole is intended to apply in other\n" "circumstances.\n" "\n" "It is not the purpose of this section to induce you to infringe any\n" "patents or other property right claims or to contest validity of any\n" "such claims; this section has the sole purpose of protecting the\n" "integrity of the free software distribution system, which is\n" "implemented by public license practices. Many people have made\n" "generous contributions to the wide range of software distributed\n" "through that system in reliance on consistent application of that\n" "system; it is up to the author/donor to decide if he or she is willing\n" "to distribute software through any other system and a licensee cannot\n" "impose that choice.\n" "\n" "This section is intended to make thoroughly clear what is believed to\n" "be a consequence of the rest of this License.\n" "\n" " 8. If the distribution and/or use of the Program is restricted in\n" "certain countries either by patents or by copyrighted interfaces, the\n" "original copyright holder who places the Program under this License\n" "may add an explicit geographical distribution limitation excluding\n" "those countries, so that distribution is permitted only in or among\n" "countries not thus excluded. In such case, this License incorporates\n" "the limitation as if written in the body of this License.\n" "\n" " 9. The Free Software Foundation may publish revised and/or new versions\n" "of the General Public License from time to time. Such new versions will\n" "be similar in spirit to the present version, but may differ in detail to\n" "address new problems or concerns.\n" "\n" "Each version is given a distinguishing version number. If the Program\n" "specifies a version number of this License which applies to it and \"any\n" "later version\", you have the option of following the terms and conditions\n" "either of that version or of any later version published by the Free\n" "Software Foundation. If the Program does not specify a version number of\n" "this License, you may choose any version ever published by the Free " "Software\n" "Foundation.\n" "\n" " 10. If you wish to incorporate parts of the Program into other free\n" "programs whose distribution conditions are different, write to the author\n" "to ask for permission. For software which is copyrighted by the Free\n" "Software Foundation, write to the Free Software Foundation; we sometimes\n" "make exceptions for this. Our decision will be guided by the two goals\n" "of preserving the free status of all derivatives of our free software and\n" "of promoting the sharing and reuse of software generally.\n" "\n" #: src/kc/kc.cc:561 msgid "" "\n" "NO WARRANTY\n" "\n" " 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n" "FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\n" "OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n" "PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER " "EXPRESSED\n" "OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n" "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\n" "TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\n" "PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n" "REPAIR OR CORRECTION.\n" "\n" " 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n" "WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n" "REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n" "INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n" "OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n" "TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n" "YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n" "PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n" "POSSIBILITY OF SUCH DAMAGES.\n" "\n" msgstr "" "\n" "NO WARRANTY\n" "\n" " 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n" "FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\n" "OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n" "PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER " "EXPRESSED\n" "OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n" "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\n" "TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\n" "PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n" "REPAIR OR CORRECTION.\n" "\n" " 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n" "WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n" "REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n" "INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n" "OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n" "TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n" "YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n" "PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n" "POSSIBILITY OF SUCH DAMAGES.\n" "\n" #: src/kc/kc.cc:588 msgid "" "\n" " END OF TERMS AND CONDITIONS\n" "\n" "\n" "\t How to Apply These Terms to Your New Programs\n" "\n" " If you develop a new program, and you want it to be of the greatest\n" "possible use to the public, the best way to achieve this is to make it\n" "free software which everyone can redistribute and change under these terms.\n" "\n" " To do so, attach the following notices to the program. It is safest\n" "to attach them to the start of each source file to most effectively\n" "convey the exclusion of warranty; and each file should have at least\n" "the \"copyright\" line and a pointer to where the full notice is found.\n" "\n" " \n" " Copyright (C) 19yy \n" "\n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms of the GNU General Public License as published by\n" " the Free Software Foundation; either version 2 of the License, or\n" " (at your option) any later version.\n" "\n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" " GNU General Public License for more details.\n" "\n" " You should have received a copy of the GNU General Public License\n" " along with this program; if not, write to the Free Software\n" " Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n" "\n" "Also add information on how to contact you by electronic and paper mail.\n" "\n" "If the program is interactive, make it output a short notice like this\n" "when it starts in an interactive mode:\n" "\n" " Gnomovision version 69, Copyright (C) 19yy name of author\n" " Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show " "w'.\n" " This is free software, and you are welcome to redistribute it\n" " under certain conditions; type `show c' for details.\n" "\n" "The hypothetical commands `show w' and `show c' should show the appropriate\n" "parts of the General Public License. Of course, the commands you use may\n" "be called something other than `show w' and `show c'; they could even be\n" "mouse-clicks or menu items--whatever suits your program.\n" "\n" "You should also get your employer (if you work as a programmer) or your\n" "school, if any, to sign a \"copyright disclaimer\" for the program, if\n" "necessary. Here is a sample; alter the names:\n" "\n" " Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n" " `Gnomovision' (which makes passes at compilers) written by James Hacker.\n" "\n" " , 1 April 1989\n" " Ty Coon, President of Vice\n" "\n" "This General Public License does not permit incorporating your program into\n" "proprietary programs. If your program is a subroutine library, you may\n" "consider it more useful to permit linking proprietary applications with the\n" "library. If this is what you want to do, use the GNU Library General\n" "Public License instead of this License.\n" "\n" msgstr "" "\n" " END OF TERMS AND CONDITIONS\n" "\n" "\n" "\t How to Apply These Terms to Your New Programs\n" "\n" " If you develop a new program, and you want it to be of the greatest\n" "possible use to the public, the best way to achieve this is to make it\n" "free software which everyone can redistribute and change under these terms.\n" "\n" " To do so, attach the following notices to the program. It is safest\n" "to attach them to the start of each source file to most effectively\n" "convey the exclusion of warranty; and each file should have at least\n" "the \"copyright\" line and a pointer to where the full notice is found.\n" "\n" " \n" " Copyright (C) 19yy \n" "\n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms of the GNU General Public License as published by\n" " the Free Software Foundation; either version 2 of the License, or\n" " (at your option) any later version.\n" "\n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" " GNU General Public License for more details.\n" "\n" " You should have received a copy of the GNU General Public License\n" " along with this program; if not, write to the Free Software\n" " Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n" "\n" "Also add information on how to contact you by electronic and paper mail.\n" "\n" "If the program is interactive, make it output a short notice like this\n" "when it starts in an interactive mode:\n" "\n" " Gnomovision version 69, Copyright (C) 19yy name of author\n" " Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show " "w'.\n" " This is free software, and you are welcome to redistribute it\n" " under certain conditions; type `show c' for details.\n" "\n" "The hypothetical commands `show w' and `show c' should show the appropriate\n" "parts of the General Public License. Of course, the commands you use may\n" "be called something other than `show w' and `show c'; they could even be\n" "mouse-clicks or menu items--whatever suits your program.\n" "\n" "You should also get your employer (if you work as a programmer) or your\n" "school, if any, to sign a \"copyright disclaimer\" for the program, if\n" "necessary. Here is a sample; alter the names:\n" "\n" " Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n" " `Gnomovision' (which makes passes at compilers) written by James Hacker.\n" "\n" " , 1 April 1989\n" " Ty Coon, President of Vice\n" "\n" "This General Public License does not permit incorporating your program into\n" "proprietary programs. If your program is a subroutine library, you may\n" "consider it more useful to permit linking proprietary applications with the\n" "library. If this is what you want to do, use the GNU Library General\n" "Public License instead of this License.\n" "\n" #: src/kc/mod_320k.cc:149 #, c-format msgid "2,5 MB Modul Bank (%d / %02xh)" msgstr "2,5 MB Modul Bank (%d / %02xh)" #: src/kc/mod_fdc.cc:58 #, c-format msgid "" "It's not possible to have more than one\n" "module of type %s!\n" "\n" "(And due to some technical points of the emulator\n" "it's also not possible to have both the Kramer and\n" "Schneider variant of the floppy module active at\n" "the same time.)" msgstr "" "It's not possible to have more than one\n" "module of type %s!\n" "\n" "(And due to some technical points of the emulator\n" "it's also not possible to have both the Kramer and\n" "Schneider variant of the floppy module active at\n" "the same time.)" #: src/kc/mod_gdc.cc:53 src/kc/mod_rtc.cc:50 #, c-format msgid "" "It's not possible to have more than one\n" "module of type %s!" msgstr "" "It's not possible to have more than one\n" "module of type %s!" #: src/kc/mod_js.cc:152 msgid "Joystick removed!" msgstr "Joystick removed!" #: src/kc/mod_js.cc:163 #, c-format msgid "Joystick (%d.%d.%d): %s on %s" msgstr "Joystick (%d.%d.%d): %s on %s" #: src/kc/mod_js.cc:399 #, c-format msgid "" "Couldn't find any readable joystick device!\n" "\n" "If your joystick is connected properly and the correct\n" "driver is loaded give the device name of your joystick\n" "in the 'Joystick Device' section of the configuration\n" "file." msgstr "" "Couldn't find any readable joystick device!\n" "\n" "If your joystick is connected properly and the correct\n" "driver is loaded give the device name of your joystick\n" "in the 'Joystick Device' section of the configuration\n" "file." #: src/kc/mod_js.cc:408 #, c-format msgid "" "Couldn't open joystick device (%s)!\n" "\n" "Make sure you have the joystick properly connected\n" "and loaded the correct driver for it.\n" "\n" "Also check the 'Joystick Device' section in the\n" "configuration file if the device name shown above\n" "looks bogus.\n" msgstr "" "Couldn't open joystick device (%s)!\n" "\n" "Make sure you have the joystick properly connected\n" "and loaded the correct driver for it.\n" "\n" "Also check the 'Joystick Device' section in the\n" "configuration file if the device name shown above\n" "looks bogus.\n" #: src/kc/mod_list.cc:197 msgid "" msgstr "" #: src/kc/mod_list.cc:207 msgid "RAM Module (1k/2400h)" msgstr "RAM Module (1k/2400h)" #: src/kc/mod_list.cc:209 msgid "RAM Module (2k/2800h)" msgstr "RAM Module (2k/2800h)" #: src/kc/mod_list.cc:211 msgid "RAM Module (4k/3000h)" msgstr "RAM Module (4k/3000h)" #: src/kc/mod_list.cc:221 msgid "RAM Module (2k/0800h)" msgstr "RAM Module (2k/0800h)" #: src/kc/mod_list.cc:223 msgid "RAM Module (4k/1000h)" msgstr "RAM Module (4k/1000h)" #: src/kc/mod_list.cc:225 msgid "RAM Module (8k/2000h)" msgstr "RAM Module (8k/2000h)" #: src/kc/mod_list.cc:234 src/kc/mod_list.cc:297 msgid "RAM Module (16k/4000h)" msgstr "RAM Module (16k/4000h)" #: src/kc/mod_list.cc:236 msgid "RAM Module (32k/8000h)" msgstr "RAM Module (32k/8000h)" #: src/kc/mod_list.cc:242 msgid "256k RAM Floppy" msgstr "256k RAM Floppy" #: src/kc/mod_list.cc:248 msgid "FDC (Schneider)" msgstr "FDC (Schneider)" #: src/kc/mod_list.cc:254 msgid "FDC (Kramer)" msgstr "FDC (Kramer)" #: src/kc/mod_list.cc:260 msgid "GDC 82720" msgstr "GDC 82720" #: src/kc/mod_list.cc:266 msgid "RTC (port 20h-2fh)" msgstr "RTC (port 20h-2fh)" #: src/kc/mod_list.cc:272 msgid "RTC (port 70h-7fh)" msgstr "RTC (port 70h-7fh)" #: src/kc/mod_list.cc:279 msgid "Basic Module (c000h-e7ffh)" msgstr "Basic Module (c000h-e7ffh)" #: src/kc/mod_list.cc:291 msgid "Plotter Module (c000h-e7ffh)" msgstr "Plotter Module (c000h-e7ffh)" #: src/kc/mod_list.cc:299 msgid "RAM Module (16k/8000h)" msgstr "RAM Module (16k/8000h)" #: src/kc/mod_list.cc:308 msgid "ZM30 (c000h-ccffh)" msgstr "ZM30 (c000h-ccffh)" #: src/kc/mod_list.cc:315 msgid "EDAS (c000h-e7ffh)" msgstr "EDAS (c000h-e7ffh)" #: src/kc/mod_list.cc:322 msgid "IDAS / ZM (c000h-e7ffh)" msgstr "IDAS / ZM (c000h-e7ffh)" #: src/kc/mod_list.cc:329 msgid "BITEX (c000h-d7ffh)" msgstr "BITEX (c000h-d7ffh)" #: src/kc/mod_list.cc:354 msgid "KC-CAOS 3.1 (8000h-8fffh)" msgstr "KC-CAOS 3.1 (8000h-8fffh)" #: src/kc/mod_list.cc:367 msgid "192 KByte RAM/EPROM" msgstr "192 KByte RAM/EPROM" #: src/kc/mod_list.cc:374 msgid "KC-Pascal Module" msgstr "KC-Pascal Module" #: src/kc/mod_list.cc:381 msgid "Mega-ROM Module" msgstr "Mega-ROM Module" #: src/kc/mod_list.cc:388 msgid "128k ROM Bank" msgstr "128k ROM Bank" #: src/kc/mod_list.cc:397 src/ui/gtk/module.cc:266 msgid "IRM Color Expansion" msgstr "IRM Color Expansion" #: src/kc/mod_list.cc:412 msgid "Plotter XY4131" msgstr "Plotter XY4131" #: src/kc/mod_list.cc:419 msgid "CPM-Z9 BOOT (c000h-c7ffh)" msgstr "CPM-Z9 BOOT (c000h-c7ffh)" #: src/kc/mod_list.cc:425 msgid "CPM-Z9 Floppy" msgstr "CPM-Z9 Floppy" #: src/kc/mod_list.cc:431 msgid "CPM-Z9 64k RAM" msgstr "CPM-Z9 64k RAM" #: src/kc/mod_list.cc:437 msgid "RAF 4MB (port 20h)" msgstr "RAF 4MB (port 20h)" #: src/kc/mod_list.cc:440 msgid "RAF 4MB (port 24h)" msgstr "RAF 4MB (port 24h)" #: src/kc/mod_list.cc:446 msgid "M001: Digital In / Out" msgstr "M001: Digital In / Out" #: src/kc/mod_list.cc:453 msgid "M003: V24" msgstr "M003: V24" #: src/kc/mod_list.cc:461 msgid "M006: Basic" msgstr "M006: Basic" #: src/kc/mod_list.cc:468 msgid "M008: Joystick" msgstr "M008: Joystick" #: src/kc/mod_list.cc:475 msgid "M011: 64k RAM" msgstr "M011: 64k RAM" #: src/kc/mod_list.cc:482 msgid "M012: Texor" msgstr "M012: Texor" #: src/kc/mod_list.cc:488 msgid "M022: Expander RAM (16k)" msgstr "M022: Expander RAM (16k)" #: src/kc/mod_list.cc:495 msgid "M026: Forth" msgstr "M026: Forth" #: src/kc/mod_list.cc:502 msgid "M027: Development" msgstr "M027: Development" #: src/kc/mod_list.cc:508 msgid "M032: 256k Segmented RAM" msgstr "M032: 256k Segmented RAM" #: src/kc/mod_list.cc:515 msgid "M033: TypeStar + RAMDOS" msgstr "M033: TypeStar + RAMDOS" #: src/kc/mod_list.cc:521 msgid "M034: 512k Segmented RAM" msgstr "M034: 512k Segmented RAM" #: src/kc/mod_list.cc:527 msgid "M035: 1M Segmented RAM" msgstr "M035: 1M Segmented RAM" #: src/kc/mod_list.cc:533 msgid "M035x4: 4M RAM" msgstr "M035x4: 4M RAM" #: src/kc/mod_list.cc:539 msgid "M036: 128k Segmented RAM" msgstr "M036: 128k Segmented RAM" #: src/kc/mod_list.cc:546 msgid "M052: Network + USB" msgstr "M052: Network + USB" #: src/kc/mod_list.cc:553 msgid "M900: WordPro '86 (KC85/3)" msgstr "M900: WordPro '86 (KC85/3)" #: src/kc/mod_list.cc:560 msgid "M901: WordPro '86 (KC85/4)" msgstr "M901: WordPro '86 (KC85/4)" #: src/kc/mod_list.cc:566 msgid "VDIP: Vinculum USB" msgstr "VDIP: Vinculum USB" #: src/kc/mod_list.cc:570 msgid "VDIP1: Vinculum USB ROM V1.2" msgstr "VDIP1: Vinculum USB ROM V1.2" #: src/kc/mod_list.cc:574 msgid "VDIP2: Vinculum USB ROM V2.1" msgstr "VDIP2: Vinculum USB ROM V2.1" #: src/kc/mod_list.cc:588 msgid "Floppy Disk Basis F8" msgstr "Floppy Disk Basis F8" #: src/kc/mod_list.cc:597 msgid "Floppy Disk Basis FC" msgstr "Floppy Disk Basis FC" #: src/kc/mod_list.cc:795 msgid "Autostart" msgstr "Autostart" #: src/kc/mod_ramf.cc:50 #, c-format msgid "" "It's not possible to have more than two RAM-Floppy\n" "modules. The first one is running on port 98h and\n" "the second one on port 58h." msgstr "" "It's not possible to have more than two RAM-Floppy\n" "modules. The first one is running on port 98h and\n" "the second one on port 58h." #: src/kc/tape.cc:96 #, c-format msgid "File `%s' loaded." msgstr "File `%s' loaded." #: src/kc/tape.cc:174 msgid "Select tape-archive..." msgstr "Select tape-archive..." #: src/kc/tape.cc:228 #, c-format msgid "tape-archive `%s' attached." msgstr "tape-archive `%s' attached." #: src/kc/tape.cc:235 msgid "Can't attach tape-archive." msgstr "Can't attach tape-archive." #: src/kc/tape.cc:276 src/kc/tape.cc:310 msgid "Export As..." msgstr "Export As..." #: src/kc/tape.cc:294 src/kc/tape.cc:328 #, c-format msgid "File `%s' saved." msgstr "File `%s' saved." #: src/kc/tape.cc:299 src/kc/tape.cc:333 msgid "Can't export file." msgstr "Can't export file." #: src/kc/tape.cc:375 msgid "Select file..." msgstr "Select file..." #: src/kc/tape.cc:1763 msgid "The format of the selected file is not recognized." msgstr "The format of the selected file is not recognized." #: src/kc/tape.cc:1798 #, c-format msgid "File `%s' [%s] added." msgstr "File `%s' [%s] added." #: src/kc/tape.cc:1807 msgid "" "The file you selected has a name that is already\n" "present in the current tape archive.\n" "\n" "Please select a different name to add this file\n" "to the tape archive or use the cancel button to\n" "skip this file." msgstr "" "The file you selected has a name that is already\n" "present in the current tape archive.\n" "\n" "Please select a different name to add this file\n" "to the tape archive or use the cancel button to\n" "skip this file." #: src/kc/wav.cc:280 #, c-format msgid "Reading %s `%s' (%d/%d/%d)." msgstr "Reading %s `%s' (%d/%d/%d)." #: src/kc/prefs/types.cc:208 msgid "rom_caos_c" msgstr "CAOS C" #: src/kc/prefs/types.cc:209 msgid "rom_caos_e" msgstr "CAOS E" #: src/kc/prefs/types.cc:210 msgid "rom_system" msgstr "System" #: src/kc/prefs/types.cc:211 msgid "rom_system_1" msgstr "System (1)" #: src/kc/prefs/types.cc:212 msgid "rom_system_2" msgstr "System (2)" #: src/kc/prefs/types.cc:213 msgid "rom_system_3" msgstr "System (3)" #: src/kc/prefs/types.cc:214 msgid "rom_system_4" msgstr "System (4)" #: src/kc/prefs/types.cc:215 msgid "rom_user" msgstr "User-ROM" #: src/kc/prefs/types.cc:216 msgid "rom_basic" msgstr "BASIC" #: src/kc/prefs/types.cc:217 msgid "rom_debugger" msgstr "Debugger" #: src/kc/prefs/types.cc:218 msgid "rom_reassembler" msgstr "Reassembler" #: src/kc/prefs/types.cc:219 msgid "rom_editor" msgstr "Editor" #: src/kc/prefs/types.cc:220 msgid "rom_assembler" msgstr "Assembler" #: src/kc/prefs/types.cc:221 msgid "rom_charset" msgstr "Charset" #: src/kc/prefs/types.cc:222 msgid "rom_d004_fc" msgstr "D004 (Slot FC)" #: src/kc/prefs/types.cc:223 msgid "rom_d004_f8" msgstr "D004 (Slot F8)" #: src/kc/prefs/types.cc:475 msgid "" " Z1013 with 16k RAM and 2k ROM, running at 1MHz. This was the\n" " first version with cheap circuits so the CPU was clocked at only 1MHz\n" " The ROM contains the Z1013 monitor version 2.02.\n" msgstr "" " Z1013 with 16k RAM and 2k ROM, running at 1MHz. This was the\n" " first version with cheap circuits so the CPU was clocked at only 1MHz\n" " The ROM contains the Z1013 monitor version 2.02.\n" #: src/kc/prefs/types.cc:482 src/kc/prefs/types.cc:491 #: src/kc/prefs/types.cc:500 src/kc/prefs/types.cc:511 msgid "System-ROM V2.0" msgstr "System-ROM V2.0" #: src/kc/prefs/types.cc:483 src/kc/prefs/types.cc:492 #: src/kc/prefs/types.cc:501 src/kc/prefs/types.cc:512 #: src/kc/prefs/types.cc:523 src/kc/prefs/types.cc:533 #: src/kc/prefs/types.cc:544 src/kc/prefs/types.cc:554 msgid "Z1013 Charset-ROM" msgstr "Z1013 Charset-ROM" #: src/kc/prefs/types.cc:485 msgid "" " Z1013 with 1k sRAM and 2k ROM, running at 2MHz. Industry\n" " version with only 1k static RAM. Monitor version 2.02.\n" msgstr "" " Z1013 with 1k sRAM and 2k ROM, running at 2MHz. Industry\n" " version with only 1k static RAM. Monitor version 2.02.\n" #: src/kc/prefs/types.cc:494 msgid "" " Z1013 with 16k RAM and 2k ROM, running at 2MHz. Successor of\n" " the Z1013.01 but with industry grade circuits clocked at 2MHz.\n" msgstr "" " Z1013 with 16k RAM and 2k ROM, running at 2MHz. Successor of\n" " the Z1013.01 but with industry grade circuits clocked at 2MHz.\n" #: src/kc/prefs/types.cc:503 msgid "" " Z1013 with 64k RAM and 2x2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the first\n" " image with version 2.02 that is supposed to work with the foil keypad\n" " shipped by the manufacturer.\n" msgstr "" " Z1013 with 64k RAM and 2x2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the first\n" " image with version 2.02 that is supposed to work with the foil keypad\n" " shipped by the manufacturer.\n" #: src/kc/prefs/types.cc:514 msgid "" " Z1013 with 64k RAM and 2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the second\n" " image with version A.2 that supports an extended keyboard with an\n" " 8x8 matrix.\n" msgstr "" " Z1013 with 64k RAM and 2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the second\n" " image with version A.2 that supports an extended keyboard with an\n" " 8x8 matrix.\n" #: src/kc/prefs/types.cc:522 msgid "System-ROM A2" msgstr "System-ROM A2" #: src/kc/prefs/types.cc:525 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM is the extended\n" " version tagged 2.028 RB that has a different keyboard driver for\n" " the keyboard K7659.\n" msgstr "" " Z1013 with 64k RAM and 4k ROM. The ROM is the extended\n" " version tagged 2.028 RB that has a different keyboard driver for\n" " the keyboard K7659.\n" #: src/kc/prefs/types.cc:532 msgid "Brosig-ROM K7659/2.028" msgstr "Brosig-ROM K7659/2.028" #: src/kc/prefs/types.cc:535 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM contains the 'Super\n" " Ur-Lader 5.0' that can read arbitrary tape files as system monitor.\n" " The hardware modification port at address 4h is emulated which allows\n" " programs to switch off the system ROM.\n" msgstr "" " Z1013 with 64k RAM and 4k ROM. The ROM contains the 'Super\n" " Ur-Lader 5.0' that can read arbitrary tape files as system monitor.\n" " The hardware modification port at address 4h is emulated which allows\n" " programs to switch off the system ROM.\n" #: src/kc/prefs/types.cc:543 msgid "Super Ur-Lader 5.0" msgstr "Super Ur-Lader 5.0" #: src/kc/prefs/types.cc:546 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM contains the Bootloader\n" " BL4 that can load monitor images from floppy disk or can start the\n" " CP/M system.\n" msgstr "" " Z1013 with 64k RAM and 4k ROM. The ROM contains the Bootloader\n" " BL4 that can load monitor images from floppy disk or can start the\n" " CP/M system.\n" #: src/kc/prefs/types.cc:553 msgid "Bootlader BL4" msgstr "Bootlader BL4" #: src/kc/prefs/types.cc:559 msgid "" " Z9001 (later called KC 85/1) with monochrome display, no internal BASIC\n" " ROM. This computer has 16k RAM and 4k ROM with the robotron z9001 " "system.\n" msgstr "" " Z9001 (later called KC 85/1) with monochrome display, no internal BASIC\n" " ROM. This computer has 16k RAM and 4k ROM with the robotron z9001 " "system.\n" #: src/kc/prefs/types.cc:565 src/kc/prefs/types.cc:581 #: src/kc/prefs/types.cc:734 src/kc/prefs/types.cc:751 #: src/kc/prefs/types.cc:768 src/kc/prefs/types.cc:786 #: src/kc/prefs/types.cc:803 src/kc/prefs/types.cc:820 #: src/kc/prefs/types.cc:846 src/kc/prefs/types.cc:901 #: src/kc/prefs/types.cc:912 src/kc/prefs/types.cc:920 msgid "System-ROM" msgstr "System-ROM" #: src/kc/prefs/types.cc:566 src/kc/prefs/types.cc:582 #: src/kc/prefs/types.cc:735 src/kc/prefs/types.cc:752 #: src/kc/prefs/types.cc:769 src/kc/prefs/types.cc:787 #: src/kc/prefs/types.cc:804 src/kc/prefs/types.cc:821 msgid "ROM-Bank System without menu" msgstr "ROM-Bank System without menu" #: src/kc/prefs/types.cc:567 src/kc/prefs/types.cc:583 #: src/kc/prefs/types.cc:736 src/kc/prefs/types.cc:753 #: src/kc/prefs/types.cc:770 src/kc/prefs/types.cc:788 #: src/kc/prefs/types.cc:805 src/kc/prefs/types.cc:822 msgid "ROM-Bank System with menu" msgstr "ROM-Bank System with menu" #: src/kc/prefs/types.cc:570 src/kc/prefs/types.cc:586 #: src/kc/prefs/types.cc:740 src/kc/prefs/types.cc:757 #: src/kc/prefs/types.cc:774 src/kc/prefs/types.cc:792 #: src/kc/prefs/types.cc:809 src/kc/prefs/types.cc:826 msgid "Z9001 Charset-ROM" msgstr "Z9001 Charset-ROM" #: src/kc/prefs/types.cc:571 src/kc/prefs/types.cc:587 #: src/kc/prefs/types.cc:741 src/kc/prefs/types.cc:758 #: src/kc/prefs/types.cc:775 src/kc/prefs/types.cc:793 #: src/kc/prefs/types.cc:810 src/kc/prefs/types.cc:827 msgid "Z9001 Charset-ROM (german)" msgstr "Z9001 Charset-ROM (german)" #: src/kc/prefs/types.cc:572 src/kc/prefs/types.cc:588 #: src/kc/prefs/types.cc:742 src/kc/prefs/types.cc:759 #: src/kc/prefs/types.cc:776 src/kc/prefs/types.cc:794 #: src/kc/prefs/types.cc:811 src/kc/prefs/types.cc:828 msgid "CGA Charset-ROM" msgstr "CGA Charset-ROM" #: src/kc/prefs/types.cc:573 src/kc/prefs/types.cc:589 #: src/kc/prefs/types.cc:743 src/kc/prefs/types.cc:760 #: src/kc/prefs/types.cc:777 src/kc/prefs/types.cc:795 #: src/kc/prefs/types.cc:812 src/kc/prefs/types.cc:829 msgid "CGA Charset-ROM (extended)" msgstr "CGA Charset-ROM (extended)" #: src/kc/prefs/types.cc:576 msgid " Like the z9001.10 but with color extension card.\n" msgstr " Like the z9001.10 but with color extension card.\n" #: src/kc/prefs/types.cc:595 msgid "" " HC900 (later called KC 85/2) with 16k RAM and 8k ROM. System is called\n" " HC-CAOS 2.2 (home computer - cassette aided operating system). BASIC\n" " is only available as external module.\n" msgstr "" " HC900 (later called KC 85/2) with 16k RAM and 8k ROM. System is called\n" " HC-CAOS 2.2 (home computer - cassette aided operating system). BASIC\n" " is only available as external module.\n" #: src/kc/prefs/types.cc:601 msgid "HC-900 CAOS" msgstr "HC-900 CAOS" #: src/kc/prefs/types.cc:602 msgid "CAOS 2.2" msgstr "CAOS 2.2" #: src/kc/prefs/types.cc:605 src/kc/prefs/types.cc:611 #: src/kc/prefs/types.cc:633 src/kc/prefs/types.cc:639 #: src/kc/prefs/types.cc:662 src/kc/prefs/types.cc:668 #: src/kc/prefs/types.cc:696 src/kc/prefs/types.cc:702 msgid "D004 Version 2.0 (02.01.1989)" msgstr "D004 Version 2.0 (02.01.1989)" #: src/kc/prefs/types.cc:606 src/kc/prefs/types.cc:612 #: src/kc/prefs/types.cc:634 src/kc/prefs/types.cc:640 #: src/kc/prefs/types.cc:663 src/kc/prefs/types.cc:669 #: src/kc/prefs/types.cc:697 src/kc/prefs/types.cc:703 msgid "D004 Version 3.0 (07.12.1997)" msgstr "D004 Version 3.0 (07.12.1997)" #: src/kc/prefs/types.cc:607 src/kc/prefs/types.cc:613 #: src/kc/prefs/types.cc:635 src/kc/prefs/types.cc:641 #: src/kc/prefs/types.cc:664 src/kc/prefs/types.cc:670 #: src/kc/prefs/types.cc:698 src/kc/prefs/types.cc:704 msgid "D004 Version 3.1 (22.01.2003)" msgstr "D004 Version 3.1 (22.01.2003)" #: src/kc/prefs/types.cc:608 src/kc/prefs/types.cc:614 #: src/kc/prefs/types.cc:636 src/kc/prefs/types.cc:642 #: src/kc/prefs/types.cc:665 src/kc/prefs/types.cc:671 #: src/kc/prefs/types.cc:699 src/kc/prefs/types.cc:705 msgid "D004 Version 3.2 (28.10.2008)" msgstr "D004 Version 3.2 (28.10.2008)" #: src/kc/prefs/types.cc:620 msgid "" " KC 85/3 with 16k RAM, 8k system ROM with HC-CAOS 3.1 and 8k BASIC ROM.\n" msgstr "" " KC 85/3 with 16k RAM, 8k system ROM with HC-CAOS 3.1 and 8k BASIC ROM.\n" #: src/kc/prefs/types.cc:624 msgid "CAOS 3.1" msgstr "CAOS 3.1" #: src/kc/prefs/types.cc:625 msgid "CAOS 3.3" msgstr "CAOS 3.3" #: src/kc/prefs/types.cc:626 msgid "CAOS 3.4" msgstr "CAOS 3.4" #: src/kc/prefs/types.cc:627 msgid "OS PI/88 (yellow/blue)" msgstr "OS PI/88 (yellow/blue)" #: src/kc/prefs/types.cc:628 msgid "OS PI/88 (black/white)" msgstr "OS PI/88 (black/white)" #: src/kc/prefs/types.cc:629 msgid "OS PI/88 (white/blue)" msgstr "OS PI/88 (white/blue)" #: src/kc/prefs/types.cc:631 src/kc/prefs/types.cc:660 #: src/kc/prefs/types.cc:738 src/kc/prefs/types.cc:755 #: src/kc/prefs/types.cc:772 src/kc/prefs/types.cc:790 #: src/kc/prefs/types.cc:807 src/kc/prefs/types.cc:824 msgid "KC-BASIC" msgstr "KC-BASIC" #: src/kc/prefs/types.cc:648 msgid "" " KC 85/4 with 64k RAM, 64k screen memory, 12k system ROM with HC-CAOS " "4.2\n" " and 8k BASIC ROM.\n" msgstr "" " KC 85/4 with 64k RAM, 64k screen memory, 12k system ROM with HC-CAOS " "4.2\n" " and 8k BASIC ROM.\n" #: src/kc/prefs/types.cc:653 msgid "CAOS 4.1 (C)" msgstr "CAOS 4.1 (C)" #: src/kc/prefs/types.cc:654 msgid "CAOS 4.2 (C)" msgstr "CAOS 4.2 (C)" #: src/kc/prefs/types.cc:657 msgid "CAOS 4.1 (E)" msgstr "CAOS 4.1 (E)" #: src/kc/prefs/types.cc:658 msgid "CAOS 4.2 (E)" msgstr "CAOS 4.2 (E)" #: src/kc/prefs/types.cc:677 msgid "" " Unofficial successor of the KC 85/4 with 256k RAM, 64k screen memory,\n" " 16k system ROM with HC-CAOS 4.4, 8k BASIC ROM and 24k User ROM. It is\n" " intended to be used with a modified D004 floppy device with additional\n" " hard-disk support.\n" msgstr "" " Unofficial successor of the KC 85/4 with 256k RAM, 64k screen memory,\n" " 16k system ROM with HC-CAOS 4.4, 8k BASIC ROM and 24k User ROM. It is\n" " intended to be used with a modified D004 floppy device with additional\n" " hard-disk support.\n" #: src/kc/prefs/types.cc:684 msgid "CAOS 4.3 (C)" msgstr "CAOS 4.3 (C)" #: src/kc/prefs/types.cc:685 msgid "CAOS 4.4 (C)" msgstr "CAOS 4.4 (C)" #: src/kc/prefs/types.cc:688 msgid "CAOS 4.3 (E)" msgstr "CAOS 4.3 (E)" #: src/kc/prefs/types.cc:689 msgid "CAOS 4.4 (E)" msgstr "CAOS 4.4 (E)" #: src/kc/prefs/types.cc:692 msgid "KC-BASIC (EDAS/TEMO/FORTH)" msgstr "KC-BASIC (EDAS/TEMO/FORTH)" #: src/kc/prefs/types.cc:693 msgid "KC-BASIC (EDAS/TEMO/USB)" msgstr "KC-BASIC (EDAS/TEMO/USB)" #: src/kc/prefs/types.cc:711 msgid " Polycomputer 880.\n" msgstr " Polycomputer 880.\n" #: src/kc/prefs/types.cc:715 src/kc/prefs/types.cc:839 #: src/kc/prefs/types.cc:852 src/kc/prefs/types.cc:864 #: src/kc/prefs/types.cc:874 msgid "System-ROM 1" msgstr "System-ROM 1" #: src/kc/prefs/types.cc:716 src/kc/prefs/types.cc:840 #: src/kc/prefs/types.cc:853 src/kc/prefs/types.cc:865 #: src/kc/prefs/types.cc:875 msgid "System-ROM 2" msgstr "System-ROM 2" #: src/kc/prefs/types.cc:717 src/kc/prefs/types.cc:718 msgid "Optional-ROM 1" msgstr "Optional-ROM 1" #: src/kc/prefs/types.cc:720 msgid " Polycomputer 880 with chess program rom from SC1.\n" msgstr " Polycomputer 880 with chess program rom from SC1.\n" #: src/kc/prefs/types.cc:724 msgid "SC1-ROM" msgstr "SC1-ROM" #: src/kc/prefs/types.cc:729 msgid " Like the KC 87.11 but without the color extension card.\n" msgstr " Like the KC 87.11 but without the color extension card.\n" #: src/kc/prefs/types.cc:746 msgid " Successor of the Z9001 with internal 10k BASIC ROM.\n" msgstr " Successor of the Z9001 with internal 10k BASIC ROM.\n" #: src/kc/prefs/types.cc:763 msgid " Like the KC 87.21 but without the color extension card.\n" msgstr " Like the KC 87.21 but without the color extension card.\n" #: src/kc/prefs/types.cc:780 msgid "" " New series with extended BASIC ROM (still 10k but with some routines " "for\n" " plotter support were added).\n" msgstr "" " New series with extended BASIC ROM (still 10k but with some routines " "for\n" " plotter support were added).\n" #: src/kc/prefs/types.cc:798 msgid " New batch of KC 87.20 with no known hardware differences.\n" msgstr " New batch of KC 87.20 with no known hardware differences.\n" #: src/kc/prefs/types.cc:815 msgid " New batch of KC 87.21 with no known hardware differences.\n" msgstr " New batch of KC 87.21 with no known hardware differences.\n" #: src/kc/prefs/types.cc:835 msgid " Single board computer LC 80 with 1k RAM and 2 x 1k ROM.\n" msgstr " Single board computer LC 80 with 1k RAM and 2 x 1k ROM.\n" #: src/kc/prefs/types.cc:842 msgid " Single board computer LC 80 with 1k RAM and 1 x 2k ROM.\n" msgstr " Single board computer LC 80 with 1k RAM and 1 x 2k ROM.\n" #: src/kc/prefs/types.cc:848 msgid " Export variant of the LC 80 with 12k ROM including chess program.\n" msgstr "" " Export variant of the LC 80 with 12k ROM including chess program.\n" #: src/kc/prefs/types.cc:854 msgid "System-ROM 3" msgstr "System-ROM 3" #: src/kc/prefs/types.cc:859 msgid " BIC/A5105, only the base device is emulated, no floppy device.\n" msgstr " BIC/A5105, only the base device is emulated, no floppy device.\n" #: src/kc/prefs/types.cc:866 src/kc/prefs/types.cc:876 msgid "DSE-ROM 1" msgstr "DSE-ROM 1" #: src/kc/prefs/types.cc:867 src/kc/prefs/types.cc:877 msgid "DSE-ROM 2" msgstr "DSE-ROM 2" #: src/kc/prefs/types.cc:869 msgid " BIC/A5105, the full system including the floppy device.\n" msgstr " BIC/A5105, the full system including the floppy device.\n" #: src/kc/prefs/types.cc:882 msgid "" " Micro-Computer presented in the book \"Praktische Microcomputertechnik" "\"\n" " by Manfred Kramer.\n" msgstr "" " Micro-Computer presented in the book \"Praktische Microcomputertechnik" "\"\n" " by Manfred Kramer.\n" #: src/kc/prefs/types.cc:886 msgid "IO-Monitor" msgstr "IO-Monitor" #: src/kc/prefs/types.cc:887 msgid "BASIC" msgstr "BASIC" #: src/kc/prefs/types.cc:888 src/kc/prefs/types.cc:902 msgid "Charset-ROM" msgstr "Charset-ROM" #: src/kc/prefs/types.cc:889 msgid "Debugger" msgstr "Debugger" #: src/kc/prefs/types.cc:890 msgid "Reassembler" msgstr "Reassembler" #: src/kc/prefs/types.cc:891 msgid "Editor" msgstr "Editor" #: src/kc/prefs/types.cc:892 msgid "Assembler" msgstr "Assembler" #: src/kc/prefs/types.cc:897 msgid "" " CP/M based Micro-Computer presented in the magazine \"Funkamateur\"\n" " by A. Mugler and H. Mathes.\n" msgstr "" " CP/M based Micro-Computer presented in the magazine \"Funkamateur\"\n" " by A. Mugler and H. Mathes.\n" #: src/kc/prefs/types.cc:907 msgid "" " Minimal Z80 learning system presented in the magazine \"rfe\"\n" " by Eckhard Schiller.\n" msgstr "" " Minimal Z80 learning system presented in the magazine \"rfe\"\n" " by Eckhard Schiller.\n" #: src/kc/prefs/types.cc:917 msgid " Minimal Z80 learning system designed by Dipl.-Ing. Joachim Czepa.\n" msgstr "" " Minimal Z80 learning system designed by Dipl.-Ing. Joachim Czepa.\n" #: src/kc/prefs/types.cc:921 msgid "User-ROM" msgstr "User-ROM" #: src/kc/prefs/types.cc:1014 msgid "available emulations:" msgstr "available emulations:" #: src/libtape/kctape.cc:80 msgid "" "\n" "KCtape is part of KCemu the KC 85/4 Emulator and comes with\n" "ABSOLUTELY NO WARRANTY; for details run `kcemu --warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kctape -t tapefile [command [command_args]]\n" "\n" " commands:\n" " ---------\n" "\n" " -h|--help show this help text\n" " -v|--verbose be verbose about what's going on\n" " -t|--tape tape archive to process\n" " -l|--list list content of tape archive\n" " -c|--create create tape archive if it doesn't exist\n" " -a|--add add files (KC85/3 mode)\n" " -1|--add1 add files (KC85/1 mode)\n" " -A|--add-raw add binary files\n" " -r|--remove remove file from tape archive\n" " -x|--extract extract file from tape archive\n" " -d|--dump hexdump file\n" " -o|--output output file for extract\n" " -b|--print-bam show internal block allocation map\n" " -B|--print-block-list show internal block list\n" msgstr "" "\n" "KCtape is part of KCemu the KC 85/4 Emulator and comes with\n" "ABSOLUTELY NO WARRANTY; for details run `kcemu --warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kctape -t tapefile [command [command_args]]\n" "\n" " commands:\n" " ---------\n" "\n" " -h|--help show this help text\n" " -v|--verbose be verbose about what's going on\n" " -t|--tape tape archive to process\n" " -l|--list list content of tape archive\n" " -c|--create create tape archive if it doesn't exist\n" " -a|--add add files (KC85/3 mode)\n" " -1|--add1 add files (KC85/1 mode)\n" " -A|--add-raw add binary files\n" " -r|--remove remove file from tape archive\n" " -x|--extract extract file from tape archive\n" " -d|--dump hexdump file\n" " -o|--output output file for extract\n" " -b|--print-bam show internal block allocation map\n" " -B|--print-block-list show internal block list\n" #: src/libtape/kctape.cc:584 #, c-format msgid "" "ERROR: no tape specified, use the -t option to select\n" " the tape archive you want to process\n" "\n" msgstr "" "ERROR: no tape specified, use the -t option to select\n" " the tape archive you want to process\n" "\n" #: src/ui/gtk/debug.cc:237 msgid "KCemu: Debugger" msgstr "KCemu: Debugger" #: src/ui/gtk/debug.cc:336 msgid "Trace" msgstr "Trace" #: src/ui/gtk/debug.cc:343 msgid "Single Step" msgstr "Single Step" #: src/ui/gtk/debug.cc:350 msgid "Execute Step" msgstr "Execute Step" #: src/ui/gtk/dialog.cc:54 msgid "???" msgstr "???" #: src/ui/gtk/fbrowse.cc:39 msgid "Select File..." msgstr "Select File..." #: src/ui/gtk/hedit.cc:96 msgid "no tape-filename given!" msgstr "no tape-filename given!" #: src/ui/gtk/hedit.cc:101 msgid "no KC-filename given!" msgstr "no KC-filename given!" #: src/ui/gtk/hedit.cc:106 src/ui/gtk/image.cc:89 msgid "" "error in given load address!\n" "\n" "valid addresses have to be in the range from 0 to 65535\n" "hexadecimal values need to be prefixed with 0x (e.g. 0x1234),\n" "octal values require a leading 0 (e.g. 0444)" msgstr "" "error in given load address!\n" "\n" "valid addresses have to be in the range from 0 to 65535\n" "hexadecimal values need to be prefixed with 0x (e.g. 0x1234),\n" "octal values require a leading 0 (e.g. 0444)" #: src/ui/gtk/hedit.cc:119 src/ui/gtk/image.cc:105 msgid "error in given start address!" msgstr "error in given start address!" #: src/ui/gtk/hedit.cc:174 msgid "File Properties" msgstr "File Properties" #: src/ui/gtk/hedit.cc:199 msgid "Name in tape-directory:" msgstr "Name in tape-directory:" #: src/ui/gtk/hedit.cc:212 msgid "Name in KC file-header:" msgstr "Name in KC file-header:" #: src/ui/gtk/hedit.cc:225 src/ui/gtk/image.cc:156 msgid "Load address:" msgstr "Load address:" #: src/ui/gtk/hedit.cc:251 msgid "autostart" msgstr "autostart" #: src/ui/gtk/image.cc:126 msgid "Input Image Properties" msgstr "Input Image Properties" #: src/ui/gtk/image.cc:133 msgid "" "It was not possible to automatically determine the\n" "type of the selected file. Thus I don't know at which\n" "address the file should be loaded\n" "\n" "To load the file nevertheless you need to type in the\n" "needed values yourself." msgstr "" "It was not possible to automatically determine the\n" "type of the selected file. Thus I don't know at which\n" "address the file should be loaded\n" "\n" "To load the file nevertheless you need to type in the\n" "needed values yourself." #: src/ui/gtk/image.cc:185 msgid "Start Program after Loading" msgstr "Start Program after Loading" #: src/ui/gtk/image.cc:197 msgid "OK" msgstr "OK" #: src/ui/gtk/image.cc:209 msgid "Cancel" msgstr "Cancel" #: src/ui/gtk/info.cc:132 msgid "byte output" msgstr "byte output" #: src/ui/gtk/info.cc:133 msgid "byte input" msgstr "byte input" #: src/ui/gtk/info.cc:134 msgid "byte input/output" msgstr "byte input/output" #: src/ui/gtk/info.cc:135 msgid "bit input/output" msgstr "bit input/output" #: src/ui/gtk/info.cc:326 msgid "Mode:" msgstr "Mode:" #: src/ui/gtk/info.cc:345 src/ui/gtk/info.cc:419 msgid "IRQ:" msgstr "IRQ:" #: src/ui/gtk/info.cc:364 src/ui/gtk/info.cc:438 msgid "IRQ Vector:" msgstr "IRQ Vector:" #: src/ui/gtk/info.cc:391 msgid "Channel A" msgstr "Channel A" #: src/ui/gtk/info.cc:395 msgid "Channel B" msgstr "Channel B" #: src/ui/gtk/info.cc:464 msgid "Channel 0" msgstr "Channel 0" #: src/ui/gtk/info.cc:468 msgid "Channel 1" msgstr "Channel 1" #: src/ui/gtk/info.cc:472 msgid "Channel 2" msgstr "Channel 2" #: src/ui/gtk/info.cc:476 msgid "Channel 3" msgstr "Channel 3" #: src/ui/gtk/info.cc:491 msgid "KCemu: Info" msgstr "KCemu: Info" #: src/ui/gtk/info.cc:516 msgid "CPU" msgstr "CPU" #: src/ui/gtk/info.cc:519 msgid "PIO" msgstr "PIO" #: src/ui/gtk/info.cc:522 msgid "CTC" msgstr "CTC" #: src/ui/gtk/info.cc:545 msgid "Update" msgstr "Update" #: src/ui/gtk/info.cc:555 src/ui/gtk/wav.cc:144 msgid "Close" msgstr "Close" #: src/ui/gtk/keyboard.cc:560 msgid "KCemu: Keyboard" msgstr "KCemu: Keyboard" #: src/ui/gtk/keyboard.cc:608 msgid "Sorry, keyboard display not configured." msgstr "Sorry, keyboard display not configured." #: src/ui/gtk/module.cc:211 msgid "No module slots available for this computer." msgstr "No module slots available for this computer." #: src/ui/gtk/module.cc:223 #, c-format msgid "Slot %d" msgstr "Slot %d" #: src/ui/gtk/module.cc:318 msgid "Floppy Disk Basis [F0]" msgstr "Floppy Disk Basis [F0]" #: src/ui/gtk/module.cc:323 #, c-format msgid "D002: Busdriver [%02X]" msgstr "D002: Busdriver [%02X]" #: src/ui/gtk/module.cc:331 src/ui/gtk/module.cc:333 msgid "Basis Device" msgstr "Basis Device" #: src/ui/gtk/tape.cc:76 msgid "Please enter the new name for the file." msgstr "Please enter the new name for the file." #: src/ui/gtk/tape.cc:272 msgid "/_Run File" msgstr "/_Run File" #: src/ui/gtk/tape.cc:273 msgid "/_Load File" msgstr "/_Load File" #: src/ui/gtk/tape.cc:274 msgid "/_Export File" msgstr "/_Export File" #: src/ui/gtk/tape.cc:275 msgid "/Export _Wav" msgstr "/Export _Wav" #: src/ui/gtk/tape.cc:276 msgid "/sep1" msgstr "/sep1" #: src/ui/gtk/tape.cc:277 msgid "/Edit _Header" msgstr "/Edit _Header" #: src/ui/gtk/tape.cc:278 msgid "/Re_name File" msgstr "/Re_name File" #: src/ui/gtk/tape.cc:279 msgid "/_Delete File" msgstr "/_Delete File" #: src/ui/gtk/tape.cc:280 msgid "/sep2" msgstr "/sep2" #: src/ui/gtk/tape.cc:281 msgid "/_Add File" msgstr "/_Add File" #: src/ui/gtk/tape.cc:286 msgid "Name" msgstr "Name" #: src/ui/gtk/tape.cc:287 msgid "Type" msgstr "Type" #: src/ui/gtk/tape.cc:288 msgid "Load" msgstr "Load" #: src/ui/gtk/tape.cc:289 msgid "Start" msgstr "Start" #: src/ui/gtk/tape.cc:290 msgid "Size" msgstr "Size" #: src/ui/gtk/tape.cc:302 src/ui/gtk/tape.cc:308 msgid "" msgstr "" #: src/ui/gtk/tape.cc:309 msgid "/Run File" msgstr "/Run File" #: src/ui/gtk/tape.cc:310 msgid "/Load File" msgstr "/Load File" #: src/ui/gtk/tape.cc:311 msgid "/Edit Header" msgstr "/Edit Header" #: src/ui/gtk/tape.cc:312 msgid "/Delete File" msgstr "/Delete File" #: src/ui/gtk/tape.cc:313 msgid "/Rename File" msgstr "/Rename File" #: src/ui/gtk/tape.cc:314 msgid "/Export File" msgstr "/Export File" #: src/ui/gtk/tape.cc:315 msgid "/Export Wav" msgstr "/Export Wav" #: src/ui/gtk/ui_gtk.cc:794 msgid "Info" msgstr "Info" #: src/ui/gtk/wav.cc:134 msgid "Open" msgstr "Open" #: src/ui/gtk/wav.cc:154 msgid "Play" msgstr "Play" #: src/ui/gtk/options.cc:94 msgid "Save profiles?" msgstr "Save profiles?" #: src/ui/gtk/options.cc:96 msgid "" "Some profiles were changed!\n" "\n" "'Yes' will save changes to disk, 'No' will reject all changes.\n" "'Cancel': will allow to continue editing." msgstr "" "Some profiles were changed!\n" "\n" "'Yes' will save changes to disk, 'No' will reject all changes.\n" "'Cancel': will allow to continue editing." #: src/ui/gtk/options.cc:605 msgid "Open ROM Image..." msgstr "Open ROM Image..." #: src/ui/gtk/options.cc:892 #, c-format msgid "ROM image is '%s'. The ROM size needs to be %04xh (%d) bytes." msgstr "ROM image is '%s'. The ROM size needs to be %04xh (%d) bytes." #: src/ui/gtk/video.cc:258 msgid "" msgstr "" #: src/ui/gtk/video.cc:262 msgid "Theora/Ogg" msgstr "Theora/Ogg" #: src/ui/gtk/video.cc:266 msgid "AVI" msgstr "AVI" #: src/ui/gtk/video.cc:270 msgid "MPEG 4" msgstr "MPEG 4" #: src/ui/gtk/video.cc:274 msgid "Dirac" msgstr "Dirac" #: src/ui/gtk/video.cc:278 msgid "Schroedinger" msgstr "Schroedinger" #: src/ui/gtk/video.cc:282 msgid "Animated GIF" msgstr "Animated GIF" #: src/ui/gtk/video.cc:286 msgid "VNC" msgstr "VNC" #~ msgid "Saturation" #~ msgstr "Saturation" #~ msgid "Black Level" #~ msgstr "Black Level" #~ msgid "White Level" #~ msgstr "White Level" #~ msgid "A_udio..." #~ msgstr "A_udio..." #~ msgid "gtk-cancel" #~ msgstr "gtk-cancel" #~ msgid "" #~ "Marat Fayzullin\n" #~ " for the Z80 emulation core used for the main processor\n" #~ " (I needed to tweak some bits of the emulation core; see\n" #~ " src/z80core/README for the list of changes)\n" #~ "Marcel de Kogel\n" #~ " for the Z80 emulation core used for the KC floppy\n" #~ " processor\n" #~ "Thomas Bretz\n" #~ " for the OS/2 port of KCemu (see http://www.d4m.de/)\n" #~ "Thomas Ludwig\n" #~ " for the great KC website at http://www.kc85emu.de/ and\n" #~ " lots of bugreports and hints how to make KCemu better\n" #~ "Holger Krull\n" #~ " for providing lots of information about the LC 80\n" #~ " computer (see http://www.lc80.de/)\n" #~ "Kev Thacker\n" #~ " for interesting insights concerning the floppy emulation\n" #~ " (he's also the author of the KC driver for M.E.S.S. the\n" #~ " Multi-Emulator Super System, see http://mess.emuverse.com/)\n" #~ "Volker Pohlers\n" #~ " for help with the windows port, technical information and\n" #~ " bugreports\n" #~ "Alexander Schön\n" #~ " for starting the windows port, lots of tips and for providing\n" #~ " a huge pile of files for use with the emulator or with\n" #~ " information about the various systems" #~ msgstr "" #~ "Marat Fayzullin\n" #~ " for the Z80 emulation core used for the main processor\n" #~ " (I needed to tweak some bits of the emulation core; see\n" #~ " src/z80core/README for the list of changes)\n" #~ "Marcel de Kogel\n" #~ " for the Z80 emulation core used for the KC floppy\n" #~ " processor\n" #~ "Thomas Bretz\n" #~ " for the OS/2 port of KCemu (see http://www.d4m.de/)\n" #~ "Thomas Ludwig\n" #~ " for the great KC website at http://www.kc85emu.de/ and\n" #~ " lots of bugreports and hints how to make KCemu better\n" #~ "Holger Krull\n" #~ " for providing lots of information about the LC 80\n" #~ " computer (see http://www.lc80.de/)\n" #~ "Kev Thacker\n" #~ " for interesting insights concerning the floppy emulation\n" #~ " (he's also the author of the KC driver for M.E.S.S. the\n" #~ " Multi-Emulator Super System, see http://mess.emuverse.com/)\n" #~ "Volker Pohlers\n" #~ " for help with the windows port, technical information and\n" #~ " bugreports\n" #~ "Alexander Schön\n" #~ " for starting the windows port, lots of tips and for providing\n" #~ " a huge pile of files for use with the emulator or with\n" #~ " information about the various systems" #~ msgid "gtk-ok" #~ msgstr "gtk-ok" #~ msgid "" #~ "No\n" #~ "Yes" #~ msgstr "" #~ "No\n" #~ "Yes" #~ msgid "gtk-quit" #~ msgstr "gtk-quit" #~ msgid "gtk-clear" #~ msgstr "gtk-clear" #~ msgid "gtk-save" #~ msgstr "gtk-save" #~ msgid "VDIP2: Vinculum USB ROM (CAOS 4.2)" #~ msgstr "VDIP2: Vinculum USB ROM (CAOS 4.2)" #~ msgid "VDIP2: Vinculum USB ROM (CAOS 4.4)" #~ msgstr "VDIP2: Vinculum USB ROM (CAOS 4.4)" #~ msgid "Swap ROMs:" #~ msgstr "Swap ROMs:" #~ msgid "" #~ "Swap the F8 and FC ROMs of the D004 device.\n" #~ "\n" #~ "The firmware version of the ROMs depends actually on the type of the " #~ "emulated system.\n" #~ "\n" #~ "KC85/2-4 default to the standard FC ROM version 2.0 whereas the KC85/5 " #~ "system has the extended ROM version 3.1 in slot FC by default." #~ msgstr "" #~ "Swap the F8 and FC ROMs of the D004 device.\n" #~ "\n" #~ "The firmware version of the ROMs depends actually on the type of the " #~ "emulated system.\n" #~ "\n" #~ "KC85/2-4 default to the standard FC ROM version 2.0 whereas the KC85/5 " #~ "system has the extended ROM version 3.1 in slot FC by default." #~ msgid "4" #~ msgstr "4" #~ msgid "3" #~ msgstr "3" #~ msgid "2" #~ msgstr "2" #~ msgid "1" #~ msgstr "1" KCemu-0.5.1/po/en@boldquot.header0000644000175000017500000000247112417262523017021 0ustar glaubitzglaubitz# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # KCemu-0.5.1/po/KCemu.pot0000644000175000017500000020234612417262523015126 0ustar glaubitzglaubitz# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Torsten Paul # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: KCemu 0.5.1\n" "Report-Msgid-Bugs-To: Torsten.Paul@gmx.de\n" "POT-Creation-Date: 2010-08-24 20:54+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: images/about.glade:6 msgid "KCemu: About" msgstr "" #: images/about.glade:25 msgid "About" msgstr "" #: images/about.glade:72 msgid "[ Version ]" msgstr "" #: images/about.glade:85 msgid "(c) 1997-2010 Torsten Paul" msgstr "" #: images/about.glade:96 msgid "" msgstr "" #: images/about.glade:111 msgid "http://kcemu.sourceforge.net/" msgstr "" #: images/about.glade:130 msgid "[ Build ]" msgstr "" #: images/audio.glade:6 msgid "KCemu: Audio" msgstr "" #: images/audio.glade:25 msgid "Audio" msgstr "" #: images/color.glade:39 msgid "KCemu: Color Configuration" msgstr "" #: images/color.glade:60 msgid "Colors" msgstr "" #: images/color.glade:132 images/color.glade:232 msgid "Brightness" msgstr "" #: images/color.glade:166 images/color.glade:266 msgid "Contrast" msgstr "" #: images/color.glade:183 msgid "Foreground" msgstr "" #: images/color.glade:283 msgid "Background" msgstr "" #: images/dialog.glade:6 msgid "KCemu" msgstr "" #: images/dialog.glade:27 msgid "[ Title ]" msgstr "" #: images/disk.glade:6 msgid "KCemu: Disk" msgstr "" #: images/disk.glade:26 msgid "Disk" msgstr "" #: images/disk.glade:268 images/options.glade:2193 msgid "Disk 4:" msgstr "" #: images/disk.glade:282 images/options.glade:2207 msgid "Disk 3:" msgstr "" #: images/disk.glade:296 images/options.glade:2221 msgid "Disk 2:" msgstr "" #: images/disk.glade:310 images/options.glade:2235 msgid "Disk 1:" msgstr "" #: images/help.glade:6 msgid "KCemu: Help" msgstr "" #: images/help.glade:26 msgid "Help" msgstr "" #: images/keyboard.glade:27 msgid "Keyboard" msgstr "" #: images/legal.glade:6 msgid "KCemu: Licence & Warranty" msgstr "" #: images/legal.glade:26 msgid "License & Warranty" msgstr "" #: images/legal.glade:84 msgid "[ Licence ]" msgstr "" #: images/legal.glade:97 msgid "[ Warranty ]" msgstr "" #: images/main.glade:19 msgid "_Emulator" msgstr "" #: images/main.glade:27 images/main.glade:388 msgid "_Run..." msgstr "" #: images/main.glade:34 images/main.glade:395 msgid "_Load..." msgstr "" #: images/main.glade:41 images/main.glade:402 msgid "_Save..." msgstr "" #: images/main.glade:48 images/main.glade:409 msgid "_Tape..." msgstr "" #: images/main.glade:55 images/main.glade:416 msgid "_Disk..." msgstr "" #: images/main.glade:62 images/main.glade:423 msgid "_Module..." msgstr "" #: images/main.glade:69 images/main.glade:430 msgid "_Audio..." msgstr "" #: images/main.glade:76 images/main.glade:437 msgid "Pl_otter..." msgstr "" #: images/main.glade:83 msgid "Vinculum _USB..." msgstr "" #: images/main.glade:95 images/main.glade:456 msgid "Screens_hot..." msgstr "" #: images/main.glade:102 images/main.glade:463 msgid "_Video..." msgstr "" #: images/main.glade:114 images/main.glade:544 msgid "R_eset" msgstr "" #: images/main.glade:121 images/main.glade:551 msgid "_Power On" msgstr "" #: images/main.glade:133 images/main.glade:563 msgid "_Quit Emulator" msgstr "" #: images/main.glade:144 images/main.glade:475 msgid "_View" msgstr "" #: images/main.glade:152 msgid "Zoom x_1" msgstr "" #: images/main.glade:159 msgid "Zoom x_2" msgstr "" #: images/main.glade:166 msgid "Zoom x_3" msgstr "" #: images/main.glade:178 images/main.glade:509 msgid "_Keyboard" msgstr "" #: images/main.glade:190 images/main.glade:521 msgid "_Menubar" msgstr "" #: images/main.glade:197 images/main.glade:528 msgid "_Statusbar" msgstr "" #: images/main.glade:208 msgid "_Options" msgstr "" #: images/main.glade:216 msgid "_Colors..." msgstr "" #: images/main.glade:223 msgid "_Display Effects" msgstr "" #: images/main.glade:230 msgid "No _Speed Limit" msgstr "" #: images/main.glade:242 msgid "_Profiles..." msgstr "" #: images/main.glade:253 images/main.glade:261 msgid "_Help" msgstr "" #: images/main.glade:268 msgid "Help _Index" msgstr "" #: images/main.glade:275 msgid "_Context Help" msgstr "" #: images/main.glade:287 msgid "_About" msgstr "" #: images/main.glade:294 msgid "_Thanks!" msgstr "" #: images/main.glade:306 msgid "KCemu _Licence" msgstr "" #: images/main.glade:313 msgid "No _Warranty!" msgstr "" #: images/main.glade:444 msgid "_Vinculum USB..." msgstr "" #: images/main.glade:483 msgid "Zoom x1" msgstr "" #: images/main.glade:490 msgid "Zoom x2" msgstr "" #: images/main.glade:497 msgid "Zoom x3" msgstr "" #: images/module.glade:6 msgid "KCemu: Module" msgstr "" #: images/module.glade:24 msgid "Module" msgstr "" #: images/options.glade:91 msgid "KCemu: Profiles" msgstr "" #: images/options.glade:114 msgid "Profiles" msgstr "" #: images/options.glade:165 msgid "Create new profile..." msgstr "" #: images/options.glade:188 msgid "Copy selected profile..." msgstr "" #: images/options.glade:250 msgid "Expand user profile level..." msgstr "" #: images/options.glade:270 msgid "Collapse user profile level..." msgstr "" #: images/options.glade:431 msgid "Comment:" msgstr "" #: images/options.glade:445 msgid "Variant:" msgstr "" #: images/options.glade:487 msgid "System:" msgstr "" #: images/options.glade:501 msgid "Profile Name:" msgstr "" #: images/options.glade:548 msgid "System" msgstr "" #: images/options.glade:611 msgid "" "Enable / Disable display debug code.\n" "\n" "When enabled the display cache behaviour will be graphically visualized. " "This setting is effective only if the display scale is set to 1." msgstr "" #: images/options.glade:636 msgid "Display Debug:" msgstr "" #: images/options.glade:650 msgid "Display Scale:" msgstr "" #: images/options.glade:662 msgid "Display Effects:" msgstr "" #: images/options.glade:676 msgid "Display IRM Access:" msgstr "" #: images/options.glade:740 msgid "Scaling factor for the emulation window. Allowed values are 1 to 3." msgstr "" #: images/options.glade:756 msgid "" "Enable / Disable display effects for scale factors above 1.\n" "\n" "When enabled a scan-line effect will be used for scale factor of 2 and a " "smoothing effect for scale factor 3." msgstr "" #: images/options.glade:781 msgid "" "This setting is only used when emulating a KC 85/3 where it enables the " "emulation of the display dissortion when the screen memory is accessed by " "the CPU." msgstr "" #: images/options.glade:812 msgid "Display" msgstr "" #: images/options.glade:1355 msgid "ROMs" msgstr "" #: images/options.glade:1476 msgid "Module 6:" msgstr "" #: images/options.glade:1490 msgid "Module 5:" msgstr "" #: images/options.glade:1504 msgid "Module 4:" msgstr "" #: images/options.glade:1518 msgid "Module 3:" msgstr "" #: images/options.glade:1532 msgid "Module 2:" msgstr "" #: images/options.glade:1546 msgid "Module 1:" msgstr "" #: images/options.glade:1558 msgid "Module 7:" msgstr "" #: images/options.glade:1572 msgid "Module 8:" msgstr "" #: images/options.glade:1613 msgid "Override modules in this profile" msgstr "" #: images/options.glade:1653 msgid "Modules" msgstr "" #: images/options.glade:2080 msgid "Hard Disk 2:" msgstr "" #: images/options.glade:2094 msgid "Hard Disk 1:" msgstr "" #: images/options.glade:2123 msgid "Audio:" msgstr "" #: images/options.glade:2261 msgid "Tape:" msgstr "" #: images/options.glade:2282 msgid "Media" msgstr "" #: images/options.glade:2334 msgid "" "Number of D002 busdriver devices to add to the system. The maximum number of " "emulated busdrivers is currently 4." msgstr "" #: images/options.glade:2352 msgid "Busdrivers:" msgstr "" #: images/options.glade:2383 msgid "" "Enable or disable the second D004 ROM at slot F8. The standard ROM is " "available at slot FC." msgstr "" #: images/options.glade:2406 msgid "F8 ROM:" msgstr "" #: images/options.glade:2437 msgid "Enable or disable the D004 Floppy Basis Device." msgstr "" #: images/options.glade:2459 msgid "D004:" msgstr "" #: images/options.glade:2474 msgid "Special settings for KC 85/2..5" msgstr "" #: images/options.glade:2496 msgid "KC85" msgstr "" #: images/options.glade:2525 msgid "IP Address:" msgstr "" #: images/options.glade:2538 msgid "Netmask:" msgstr "" #: images/options.glade:2551 msgid "Gateway:" msgstr "" #: images/options.glade:2564 msgid "DNS Server:" msgstr "" #: images/options.glade:2706 msgid "Network settings for WizNET module (IP-Addresses only!)" msgstr "" #: images/options.glade:2729 msgid "Network" msgstr "" #: images/plotter.glade:28 msgid "KCemu: Plotter" msgstr "" #: images/plotter.glade:48 msgid "Plotter" msgstr "" #: images/plotter.glade:305 msgid "Show pen" msgstr "" #: images/plotter.glade:334 msgid "Show plot area" msgstr "" #: images/plotter.glade:347 msgid "" "Define the initial y position of the pen after clearing the plotting area. " "Measured in millimeters from the top left corner." msgstr "" #: images/plotter.glade:365 msgid "Y origin" msgstr "" #: images/plotter.glade:394 msgid "Paper color" msgstr "" #: images/plotter.glade:407 msgid "X origin" msgstr "" #: images/plotter.glade:420 msgid "" "Define the initial x position of the pen after clearing the plotting area. " "Measured in millimeters from the top left corner." msgstr "" #: images/plotter.glade:438 msgid "Define the line width for plotting. Measured in millimeters." msgstr "" #: images/plotter.glade:456 msgid "Line width" msgstr "" #: images/plotter.glade:469 msgid "Plot to PDF:" msgstr "" #: images/plotter.glade:483 msgid "Delay between screen refreshes of the drawing area in milliseconds." msgstr "" #: images/plotter.glade:501 msgid "Display refresh" msgstr "" #: images/plotter.glade:515 msgid "Define the color to use for plotting." msgstr "" #: images/plotter.glade:528 msgid "Pen color" msgstr "" #: images/plotter.glade:590 msgid "" "Clear plotting area. When rendering to a PDF file a new page is created and " "plotting continues in the same file." msgstr "" #: images/plotter.glade:605 msgid "Save the plotted picture as PNG image file." msgstr "" #: images/savemem.glade:38 msgid "KCemu: Save Memory Dump" msgstr "" #: images/savemem.glade:58 msgid "Save Memory Dump" msgstr "" #: images/savemem.glade:97 images/savemem.glade:344 msgid "Automatically scroll to start address if the address is changed." msgstr "" #: images/savemem.glade:121 msgid "Automatically scroll to end address if the address is changed." msgstr "" #: images/savemem.glade:157 msgid "End address:" msgstr "" #: images/savemem.glade:170 src/ui/gtk/hedit.cc:238 src/ui/gtk/image.cc:169 msgid "Start address:" msgstr "" #: images/savemem.glade:182 images/savemem.glade:315 images/savemem.glade:330 msgid "dec" msgstr "" #: images/savemem.glade:196 images/savemem.glade:285 images/savemem.glade:300 msgid "hex" msgstr "" #: images/savemem.glade:228 msgid "Size of the memory dump in bytes." msgstr "" #: images/savemem.glade:246 msgid "Length:" msgstr "" #: images/savemem.glade:378 msgid "" "End address of the memory area to save. The byte at the given address is " "included in the memory dump." msgstr "" #: images/savemem.glade:395 msgid "Start address of the memory area to save." msgstr "" #: images/screenshot.glade:6 msgid "KCemu: Screenshot" msgstr "" #: images/screenshot.glade:26 images/screenshot.glade:372 msgid "Screenshot" msgstr "" #: images/screenshot.glade:143 msgid "Left" msgstr "" #: images/screenshot.glade:156 msgid "Top" msgstr "" #: images/screenshot.glade:171 msgid "Right" msgstr "" #: images/screenshot.glade:184 msgid "Bottom" msgstr "" #: images/screenshot.glade:199 msgid "File" msgstr "" #: images/screenshot.glade:212 msgid "Format" msgstr "" #: images/screenshot.glade:385 msgid "Save" msgstr "" #: images/selector.glade:7 msgid "KCemu: Select profile..." msgstr "" #: images/selector.glade:31 msgid "Select Profile..." msgstr "" #: images/selector.glade:102 msgid "System profiles..." msgstr "" #: images/selector.glade:144 msgid "User profiles..." msgstr "" #: images/tapeedit.glade:7 src/ui/gtk/tapeadd.cc:93 msgid "KCemu: Rename File" msgstr "" #: images/tapeedit.glade:28 msgid "Edit Tape" msgstr "" #: images/tapeedit.glade:63 msgid "" "[ Text ]\n" "\n" "[ more text ... ]" msgstr "" #: images/tapeedit.glade:80 msgid "Tape name:" msgstr "" #: images/tape.glade:11 msgid "KCemu: Tape" msgstr "" #: images/tape.glade:30 msgid "Tape" msgstr "" #: images/thanks.glade:6 msgid "" "Volker Pohlers\n" " for help with the windows port, technical information and\n" " bugreports\n" "Thomas Ludwig\n" " for the great KC website at http://www.kc85emu.de/ and\n" " lots of bugreports and hints how to make KCemu better\n" "Holger Krull\n" " for providing lots of information about the LC 80\n" " computer (see http://www.lc80.de/)\n" "Kev Thacker\n" " for interesting insights concerning the floppy emulation\n" " (he's also the author of the KC driver for M.E.S.S. the\n" " Multi-Emulator Super System, see http://mess.emuverse.com/)\n" "Alexander Schön\n" " for starting the windows port, lots of tips and for providing\n" " a huge pile of files for use with the emulator or with\n" " information about the various systems\n" "Sourceforge User Boo-boo\n" " for the libz80ex emulation library which is now used to emulate\n" " the Z80 CPUs\n" "Marat Fayzullin\n" " for the Z80 emulation core used for the main processor\n" " up to KCemu version 0.4.2\n" " (I needed to tweak some bits of the emulation core; see\n" " src/z80core/README for the list of changes)\n" "Marcel de Kogel\n" " for the Z80 emulation core used for the KC floppy\n" " processor up to KCemu version 0.4.2\n" "Thomas Bretz\n" " for the OS/2 port of KCemu (see http://www.d4m.de/)" msgstr "" #: images/thanks.glade:38 msgid "KCemu: Thanks" msgstr "" #: images/thanks.glade:58 msgid "Thanks" msgstr "" #: images/thanks.glade:114 msgid "" "I'd like to say thanks to many people who helped to bring KCemu to the point " "where it is now. The following list just lists some of them in no particular " "order..." msgstr "" #: images/thanks.glade:151 msgid "People" msgstr "" #: images/thanks.glade:168 msgid "" "Lots of tools and libraries made it easier to write KCemu. Many thanks to " "the people behind all those projects for their work..." msgstr "" #: images/thanks.glade:198 msgid "libsndfile" msgstr "" #: images/thanks.glade:229 msgid "Ogg & Vorbis libraries" msgstr "" #: images/thanks.glade:274 msgid "Open Clip Art Library" msgstr "" #: images/thanks.glade:306 msgid "LAME - LAME Ain't an MP3 Encoder" msgstr "" #: images/thanks.glade:324 msgid "FLAC - Free Lossless Audio Codec" msgstr "" #: images/thanks.glade:342 msgid "GTK+ - The GIMP Toolkit" msgstr "" #: images/thanks.glade:401 msgid "libSDL - Simple DirectMedia Layer" msgstr "" #: images/thanks.glade:431 msgid "Xiph.org Foundation - Theora video compression" msgstr "" #: images/thanks.glade:461 msgid "Audio/Video codec library libavcodec" msgstr "" #: images/thanks.glade:491 msgid "BBC Research - Dirac Video Codec" msgstr "" #: images/thanks.glade:521 msgid "Xvid project" msgstr "" #: images/thanks.glade:534 msgid "http://www.theora.org/" msgstr "" #: images/thanks.glade:555 msgid "http://ffmpeg.org/" msgstr "" #: images/thanks.glade:575 msgid "http://www.bbc.co.uk/rd/projects/dirac/" msgstr "" #: images/thanks.glade:596 msgid "http://www.xvid.org/" msgstr "" #: images/thanks.glade:617 msgid "http://www.gtk.org/" msgstr "" #: images/thanks.glade:639 msgid "http://www.libsdl.org/" msgstr "" #: images/thanks.glade:660 msgid "http://flac.sourceforge.net/" msgstr "" #: images/thanks.glade:681 msgid "http://lame.sourceforge.net/" msgstr "" #: images/thanks.glade:755 msgid "http://openclipart.org/" msgstr "" #: images/thanks.glade:776 msgid "http://www.vorbis.com/" msgstr "" #: images/thanks.glade:797 msgid "http://www.mega-nerd.com/libsndfile/" msgstr "" #: images/thanks.glade:1020 msgid "Projects & Libraries" msgstr "" #: images/vdip.glade:6 msgid "KCemu: Vinculum USB" msgstr "" #: images/vdip.glade:26 msgid "Vinculum USB" msgstr "" #: images/vdip.glade:65 msgid "Slot 1:" msgstr "" #: images/vdip.glade:77 msgid "Slot 2:" msgstr "" #: images/video.glade:6 msgid "KCemu: Video" msgstr "" #: images/video.glade:26 msgid "Video" msgstr "" #: images/video.glade:79 msgid "Frames per Second" msgstr "" #: images/video.glade:92 msgid "Start record on reset" msgstr "" #: images/video.glade:121 msgid "Encoder" msgstr "" #: images/video.glade:143 msgid "Quality" msgstr "" #: images/video.glade:173 msgid "Video file" msgstr "" #: images/video.glade:239 src/ui/gtk/wav.cc:174 msgid "Record" msgstr "" #: images/video.glade:279 msgid "Pause" msgstr "" #: images/video.glade:319 src/ui/gtk/wav.cc:164 msgid "Stop" msgstr "" #: src/cmd/image.cc:103 src/kc/wav.cc:81 msgid "KCemu: Select File..." msgstr "" #: src/cmd/image.cc:127 msgid "KCemu: Can't load file..." msgstr "" #: src/cmd/image.cc:129 msgid "The file you selected couldn't be loaded!" msgstr "" #: src/cmd/image.cc:142 msgid "KCemu: Warning..." msgstr "" #: src/cmd/image.cc:144 msgid "" "The file you selected contains more than one\n" "program. Only the first program will be loaded.\n" "If you want to access all the contained\n" "programs add this file to a tape-archive!" msgstr "" #: src/getopt/getopt.c:678 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "" #: src/getopt/getopt.c:702 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "" #: src/getopt/getopt.c:707 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "" #: src/getopt/getopt.c:724 src/getopt/getopt.c:897 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "" #: src/getopt/getopt.c:753 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "" #: src/getopt/getopt.c:757 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "" #: src/getopt/getopt.c:783 #, c-format msgid "%s: illegal option -- %c\n" msgstr "" #: src/getopt/getopt.c:786 #, c-format msgid "%s: invalid option -- %c\n" msgstr "" #: src/getopt/getopt.c:816 src/getopt/getopt.c:946 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "" #: src/getopt/getopt.c:863 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "" #: src/getopt/getopt.c:881 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" #: src/kc/disk.cc:84 msgid "Select disk..." msgstr "" #: src/kc/disk.cc:124 src/kc/tape.cc:216 msgid "create file?" msgstr "" #: src/kc/disk.cc:126 src/kc/tape.cc:218 #, c-format msgid "" "The file '%s' doesn't exist.\n" "Do you want to create it?" msgstr "" #: src/kc/disk.cc:135 #, c-format msgid "disk-file `%s' attached." msgstr "" #: src/kc/disk.cc:140 msgid "Can't attach disk-file." msgstr "" #: src/kc/kc.cc:232 msgid "" "\n" "KCemu comes with ABSOLUTELY NO WARRANTY; for details run `kcemu --" "warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kcemu [-0123456789aAcestfhdlvVHFMELW]\n" "\n" " -0: select Z1013 profile\n" " -1: select Z9001 / KC 85/1 profile\n" " -2: select KC 85/2 profile\n" " -3: select KC 85/3 profile\n" " -4: select KC 85/4 profile\n" " -5: select KC 85/5 profile\n" " -6: select Poly-880 profile\n" " -7: select KC 87 profile\n" " -8: select LC 80 profile\n" " -9: select BIC/A5105 profile\n" " -a --autostart: autostart program on startup (kc85/3 - kc85/5 only)\n" " -A --address: override start address of autostart program\n" " -d --datadir: set data directory (for ROM images)\n" " -E --effects: enable display effects for scaled screen output\n" " -f --floppy: attach disk on startup\n" " -F --fullscreen: start in fullscreen mode (if supported by gui)\n" " -h --help: display help\n" " -H --home: overwrite setting for home directory\n" " -l --localedir: set locale directory\n" " -L --license: show license\n" " -M --modules: insert modules on startup (e.g. -M M011,M027)\n" " -o --debug-output: write debug output to file\n" " -p --profile: start with given profile\n" " -P --select-profile: show profile selector\n" " -s --scale: scale display (allowed values: 1, 2 and 3)\n" " -t --tape: attach tape on startup\n" " -v --version: show KCemu version and configuration\n" " -V --viewlist: view verbose list of available emulations\n" " -W --warranty: show warranty\n" msgstr "" #: src/kc/kc.cc:299 msgid "" "\n" "\t\t GNU GENERAL PUBLIC LICENSE\n" "\t\t Version 2, June 1991\n" "\n" " Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n" " 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n" " Everyone is permitted to copy and distribute verbatim copies\n" " of this license document, but changing it is not allowed.\n" "\n" "\t\t\t Preamble\n" "\n" " The licenses for most software are designed to take away your\n" "freedom to share and change it. By contrast, the GNU General Public\n" "License is intended to guarantee your freedom to share and change free\n" "software--to make sure the software is free for all its users. This\n" "General Public License applies to most of the Free Software\n" "Foundation's software and to any other program whose authors commit to\n" "using it. (Some other Free Software Foundation software is covered by\n" "the GNU Library General Public License instead.) You can apply it to\n" "your programs, too.\n" "\n" " When we speak of free software, we are referring to freedom, not\n" "price. Our General Public Licenses are designed to make sure that you\n" "have the freedom to distribute copies of free software (and charge for\n" "this service if you wish), that you receive source code or can get it\n" "if you want it, that you can change the software or use pieces of it\n" "in new free programs; and that you know you can do these things.\n" "\n" " To protect your rights, we need to make restrictions that forbid\n" "anyone to deny you these rights or to ask you to surrender the rights.\n" "These restrictions translate to certain responsibilities for you if you\n" "distribute copies of the software, or if you modify it.\n" "\n" " For example, if you distribute copies of such a program, whether\n" "gratis or for a fee, you must give the recipients all the rights that\n" "you have. You must make sure that they, too, receive or can get the\n" "source code. And you must show them these terms so they know their\n" "rights.\n" "\n" " We protect your rights with two steps: (1) copyright the software, and\n" "(2) offer you this license which gives you legal permission to copy,\n" "distribute and/or modify the software.\n" "\n" " Also, for each author's protection and ours, we want to make certain\n" "that everyone understands that there is no warranty for this free\n" "software. If the software is modified by someone else and passed on, we\n" "want its recipients to know that what they have is not the original, so\n" "that any problems introduced by others will not reflect on the original\n" "authors' reputations.\n" "\n" " Finally, any free program is threatened constantly by software\n" "patents. We wish to avoid the danger that redistributors of a free\n" "program will individually obtain patent licenses, in effect making the\n" "program proprietary. To prevent this, we have made it clear that any\n" "patent must be licensed for everyone's free use or not licensed at all.\n" "\n" " The precise terms and conditions for copying, distribution and\n" "modification follow.\n" "\n" "\t\t GNU GENERAL PUBLIC LICENSE\n" " TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n" "\n" " 0. This License applies to any program or other work which contains\n" "a notice placed by the copyright holder saying it may be distributed\n" "under the terms of this General Public License. The \"Program\", below,\n" "refers to any such program or work, and a \"work based on the Program\"\n" "means either the Program or any derivative work under copyright law:\n" "that is to say, a work containing the Program or a portion of it,\n" "either verbatim or with modifications and/or translated into another\n" "language. (Hereinafter, translation is included without limitation in\n" "the term \"modification\".) Each licensee is addressed as \"you\".\n" "\n" "Activities other than copying, distribution and modification are not\n" "covered by this License; they are outside its scope. The act of\n" "running the Program is not restricted, and the output from the Program\n" "is covered only if its contents constitute a work based on the\n" "Program (independent of having been made by running the Program).\n" "Whether that is true depends on what the Program does.\n" "\n" " 1. You may copy and distribute verbatim copies of the Program's\n" "source code as you receive it, in any medium, provided that you\n" "conspicuously and appropriately publish on each copy an appropriate\n" "copyright notice and disclaimer of warranty; keep intact all the\n" "notices that refer to this License and to the absence of any warranty;\n" "and give any other recipients of the Program a copy of this License\n" "along with the Program.\n" "\n" "You may charge a fee for the physical act of transferring a copy, and\n" "you may at your option offer warranty protection in exchange for a fee.\n" "\n" " 2. You may modify your copy or copies of the Program or any portion\n" "of it, thus forming a work based on the Program, and copy and\n" "distribute such modifications or work under the terms of Section 1\n" "above, provided that you also meet all of these conditions:\n" "\n" " a) You must cause the modified files to carry prominent notices\n" " stating that you changed the files and the date of any change.\n" "\n" " b) You must cause any work that you distribute or publish, that in\n" " whole or in part contains or is derived from the Program or any\n" " part thereof, to be licensed as a whole at no charge to all third\n" " parties under the terms of this License.\n" "\n" " c) If the modified program normally reads commands interactively\n" " when run, you must cause it, when started running for such\n" " interactive use in the most ordinary way, to print or display an\n" " announcement including an appropriate copyright notice and a\n" " notice that there is no warranty (or else, saying that you provide\n" " a warranty) and that users may redistribute the program under\n" " these conditions, and telling the user how to view a copy of this\n" " License. (Exception: if the Program itself is interactive but\n" " does not normally print such an announcement, your work based on\n" " the Program is not required to print an announcement.)\n" "\n" "These requirements apply to the modified work as a whole. If\n" "identifiable sections of that work are not derived from the Program,\n" "and can be reasonably considered independent and separate works in\n" "themselves, then this License, and its terms, do not apply to those\n" "sections when you distribute them as separate works. But when you\n" "distribute the same sections as part of a whole which is a work based\n" "on the Program, the distribution of the whole must be on the terms of\n" "this License, whose permissions for other licensees extend to the\n" "entire whole, and thus to each and every part regardless of who wrote it.\n" "\n" "Thus, it is not the intent of this section to claim rights or contest\n" "your rights to work written entirely by you; rather, the intent is to\n" "exercise the right to control the distribution of derivative or\n" "collective works based on the Program.\n" "\n" "In addition, mere aggregation of another work not based on the Program\n" "with the Program (or with a work based on the Program) on a volume of\n" "a storage or distribution medium does not bring the other work under\n" "the scope of this License.\n" "\n" " 3. You may copy and distribute the Program (or a work based on it,\n" "under Section 2) in object code or executable form under the terms of\n" "Sections 1 and 2 above provided that you also do one of the following:\n" "\n" " a) Accompany it with the complete corresponding machine-readable\n" " source code, which must be distributed under the terms of Sections\n" " 1 and 2 above on a medium customarily used for software interchange; " "or,\n" "\n" " b) Accompany it with a written offer, valid for at least three\n" " years, to give any third party, for a charge no more than your\n" " cost of physically performing source distribution, a complete\n" " machine-readable copy of the corresponding source code, to be\n" " distributed under the terms of Sections 1 and 2 above on a medium\n" " customarily used for software interchange; or,\n" "\n" " c) Accompany it with the information you received as to the offer\n" " to distribute corresponding source code. (This alternative is\n" " allowed only for noncommercial distribution and only if you\n" " received the program in object code or executable form with such\n" " an offer, in accord with Subsection b above.)\n" "\n" "The source code for a work means the preferred form of the work for\n" "making modifications to it. For an executable work, complete source\n" "code means all the source code for all modules it contains, plus any\n" "associated interface definition files, plus the scripts used to\n" "control compilation and installation of the executable. However, as a\n" "special exception, the source code distributed need not include\n" "anything that is normally distributed (in either source or binary\n" "form) with the major components (compiler, kernel, and so on) of the\n" "operating system on which the executable runs, unless that component\n" "itself accompanies the executable.\n" "\n" "If distribution of executable or object code is made by offering\n" "access to copy from a designated place, then offering equivalent\n" "access to copy the source code from the same place counts as\n" "distribution of the source code, even though third parties are not\n" "compelled to copy the source along with the object code.\n" "\n" " 4. You may not copy, modify, sublicense, or distribute the Program\n" "except as expressly provided under this License. Any attempt\n" "otherwise to copy, modify, sublicense or distribute the Program is\n" "void, and will automatically terminate your rights under this License.\n" "However, parties who have received copies, or rights, from you under\n" "this License will not have their licenses terminated so long as such\n" "parties remain in full compliance.\n" "\n" " 5. You are not required to accept this License, since you have not\n" "signed it. However, nothing else grants you permission to modify or\n" "distribute the Program or its derivative works. These actions are\n" "prohibited by law if you do not accept this License. Therefore, by\n" "modifying or distributing the Program (or any work based on the\n" "Program), you indicate your acceptance of this License to do so, and\n" "all its terms and conditions for copying, distributing or modifying\n" "the Program or works based on it.\n" "\n" " 6. Each time you redistribute the Program (or any work based on the\n" "Program), the recipient automatically receives a license from the\n" "original licensor to copy, distribute or modify the Program subject to\n" "these terms and conditions. You may not impose any further\n" "restrictions on the recipients' exercise of the rights granted herein.\n" "You are not responsible for enforcing compliance by third parties to\n" "this License.\n" "\n" " 7. If, as a consequence of a court judgment or allegation of patent\n" "infringement or for any other reason (not limited to patent issues),\n" "conditions are imposed on you (whether by court order, agreement or\n" "otherwise) that contradict the conditions of this License, they do not\n" "excuse you from the conditions of this License. If you cannot\n" "distribute so as to satisfy simultaneously your obligations under this\n" "License and any other pertinent obligations, then as a consequence you\n" "may not distribute the Program at all. For example, if a patent\n" "license would not permit royalty-free redistribution of the Program by\n" "all those who receive copies directly or indirectly through you, then\n" "the only way you could satisfy both it and this License would be to\n" "refrain entirely from distribution of the Program.\n" "\n" "If any portion of this section is held invalid or unenforceable under\n" "any particular circumstance, the balance of the section is intended to\n" "apply and the section as a whole is intended to apply in other\n" "circumstances.\n" "\n" "It is not the purpose of this section to induce you to infringe any\n" "patents or other property right claims or to contest validity of any\n" "such claims; this section has the sole purpose of protecting the\n" "integrity of the free software distribution system, which is\n" "implemented by public license practices. Many people have made\n" "generous contributions to the wide range of software distributed\n" "through that system in reliance on consistent application of that\n" "system; it is up to the author/donor to decide if he or she is willing\n" "to distribute software through any other system and a licensee cannot\n" "impose that choice.\n" "\n" "This section is intended to make thoroughly clear what is believed to\n" "be a consequence of the rest of this License.\n" "\n" " 8. If the distribution and/or use of the Program is restricted in\n" "certain countries either by patents or by copyrighted interfaces, the\n" "original copyright holder who places the Program under this License\n" "may add an explicit geographical distribution limitation excluding\n" "those countries, so that distribution is permitted only in or among\n" "countries not thus excluded. In such case, this License incorporates\n" "the limitation as if written in the body of this License.\n" "\n" " 9. The Free Software Foundation may publish revised and/or new versions\n" "of the General Public License from time to time. Such new versions will\n" "be similar in spirit to the present version, but may differ in detail to\n" "address new problems or concerns.\n" "\n" "Each version is given a distinguishing version number. If the Program\n" "specifies a version number of this License which applies to it and \"any\n" "later version\", you have the option of following the terms and conditions\n" "either of that version or of any later version published by the Free\n" "Software Foundation. If the Program does not specify a version number of\n" "this License, you may choose any version ever published by the Free " "Software\n" "Foundation.\n" "\n" " 10. If you wish to incorporate parts of the Program into other free\n" "programs whose distribution conditions are different, write to the author\n" "to ask for permission. For software which is copyrighted by the Free\n" "Software Foundation, write to the Free Software Foundation; we sometimes\n" "make exceptions for this. Our decision will be guided by the two goals\n" "of preserving the free status of all derivatives of our free software and\n" "of promoting the sharing and reuse of software generally.\n" "\n" msgstr "" #: src/kc/kc.cc:561 msgid "" "\n" "NO WARRANTY\n" "\n" " 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n" "FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\n" "OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n" "PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER " "EXPRESSED\n" "OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n" "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\n" "TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\n" "PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n" "REPAIR OR CORRECTION.\n" "\n" " 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n" "WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n" "REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n" "INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n" "OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n" "TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n" "YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n" "PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n" "POSSIBILITY OF SUCH DAMAGES.\n" "\n" msgstr "" #: src/kc/kc.cc:588 msgid "" "\n" " END OF TERMS AND CONDITIONS\n" "\n" "\n" "\t How to Apply These Terms to Your New Programs\n" "\n" " If you develop a new program, and you want it to be of the greatest\n" "possible use to the public, the best way to achieve this is to make it\n" "free software which everyone can redistribute and change under these terms.\n" "\n" " To do so, attach the following notices to the program. It is safest\n" "to attach them to the start of each source file to most effectively\n" "convey the exclusion of warranty; and each file should have at least\n" "the \"copyright\" line and a pointer to where the full notice is found.\n" "\n" " \n" " Copyright (C) 19yy \n" "\n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms of the GNU General Public License as published by\n" " the Free Software Foundation; either version 2 of the License, or\n" " (at your option) any later version.\n" "\n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" " GNU General Public License for more details.\n" "\n" " You should have received a copy of the GNU General Public License\n" " along with this program; if not, write to the Free Software\n" " Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n" "\n" "Also add information on how to contact you by electronic and paper mail.\n" "\n" "If the program is interactive, make it output a short notice like this\n" "when it starts in an interactive mode:\n" "\n" " Gnomovision version 69, Copyright (C) 19yy name of author\n" " Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show " "w'.\n" " This is free software, and you are welcome to redistribute it\n" " under certain conditions; type `show c' for details.\n" "\n" "The hypothetical commands `show w' and `show c' should show the appropriate\n" "parts of the General Public License. Of course, the commands you use may\n" "be called something other than `show w' and `show c'; they could even be\n" "mouse-clicks or menu items--whatever suits your program.\n" "\n" "You should also get your employer (if you work as a programmer) or your\n" "school, if any, to sign a \"copyright disclaimer\" for the program, if\n" "necessary. Here is a sample; alter the names:\n" "\n" " Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n" " `Gnomovision' (which makes passes at compilers) written by James Hacker.\n" "\n" " , 1 April 1989\n" " Ty Coon, President of Vice\n" "\n" "This General Public License does not permit incorporating your program into\n" "proprietary programs. If your program is a subroutine library, you may\n" "consider it more useful to permit linking proprietary applications with the\n" "library. If this is what you want to do, use the GNU Library General\n" "Public License instead of this License.\n" "\n" msgstr "" #: src/kc/mod_320k.cc:149 #, c-format msgid "2,5 MB Modul Bank (%d / %02xh)" msgstr "" #: src/kc/mod_fdc.cc:58 #, c-format msgid "" "It's not possible to have more than one\n" "module of type %s!\n" "\n" "(And due to some technical points of the emulator\n" "it's also not possible to have both the Kramer and\n" "Schneider variant of the floppy module active at\n" "the same time.)" msgstr "" #: src/kc/mod_gdc.cc:53 src/kc/mod_rtc.cc:50 #, c-format msgid "" "It's not possible to have more than one\n" "module of type %s!" msgstr "" #: src/kc/mod_js.cc:152 msgid "Joystick removed!" msgstr "" #: src/kc/mod_js.cc:163 #, c-format msgid "Joystick (%d.%d.%d): %s on %s" msgstr "" #: src/kc/mod_js.cc:399 #, c-format msgid "" "Couldn't find any readable joystick device!\n" "\n" "If your joystick is connected properly and the correct\n" "driver is loaded give the device name of your joystick\n" "in the 'Joystick Device' section of the configuration\n" "file." msgstr "" #: src/kc/mod_js.cc:408 #, c-format msgid "" "Couldn't open joystick device (%s)!\n" "\n" "Make sure you have the joystick properly connected\n" "and loaded the correct driver for it.\n" "\n" "Also check the 'Joystick Device' section in the\n" "configuration file if the device name shown above\n" "looks bogus.\n" msgstr "" #: src/kc/mod_list.cc:197 msgid "" msgstr "" #: src/kc/mod_list.cc:207 msgid "RAM Module (1k/2400h)" msgstr "" #: src/kc/mod_list.cc:209 msgid "RAM Module (2k/2800h)" msgstr "" #: src/kc/mod_list.cc:211 msgid "RAM Module (4k/3000h)" msgstr "" #: src/kc/mod_list.cc:221 msgid "RAM Module (2k/0800h)" msgstr "" #: src/kc/mod_list.cc:223 msgid "RAM Module (4k/1000h)" msgstr "" #: src/kc/mod_list.cc:225 msgid "RAM Module (8k/2000h)" msgstr "" #: src/kc/mod_list.cc:234 src/kc/mod_list.cc:297 msgid "RAM Module (16k/4000h)" msgstr "" #: src/kc/mod_list.cc:236 msgid "RAM Module (32k/8000h)" msgstr "" #: src/kc/mod_list.cc:242 msgid "256k RAM Floppy" msgstr "" #: src/kc/mod_list.cc:248 msgid "FDC (Schneider)" msgstr "" #: src/kc/mod_list.cc:254 msgid "FDC (Kramer)" msgstr "" #: src/kc/mod_list.cc:260 msgid "GDC 82720" msgstr "" #: src/kc/mod_list.cc:266 msgid "RTC (port 20h-2fh)" msgstr "" #: src/kc/mod_list.cc:272 msgid "RTC (port 70h-7fh)" msgstr "" #: src/kc/mod_list.cc:279 msgid "Basic Module (c000h-e7ffh)" msgstr "" #: src/kc/mod_list.cc:291 msgid "Plotter Module (c000h-e7ffh)" msgstr "" #: src/kc/mod_list.cc:299 msgid "RAM Module (16k/8000h)" msgstr "" #: src/kc/mod_list.cc:308 msgid "ZM30 (c000h-ccffh)" msgstr "" #: src/kc/mod_list.cc:315 msgid "EDAS (c000h-e7ffh)" msgstr "" #: src/kc/mod_list.cc:322 msgid "IDAS / ZM (c000h-e7ffh)" msgstr "" #: src/kc/mod_list.cc:329 msgid "BITEX (c000h-d7ffh)" msgstr "" #: src/kc/mod_list.cc:354 msgid "KC-CAOS 3.1 (8000h-8fffh)" msgstr "" #: src/kc/mod_list.cc:367 msgid "192 KByte RAM/EPROM" msgstr "" #: src/kc/mod_list.cc:374 msgid "KC-Pascal Module" msgstr "" #: src/kc/mod_list.cc:381 msgid "Mega-ROM Module" msgstr "" #: src/kc/mod_list.cc:388 msgid "128k ROM Bank" msgstr "" #: src/kc/mod_list.cc:397 src/ui/gtk/module.cc:266 msgid "IRM Color Expansion" msgstr "" #: src/kc/mod_list.cc:412 msgid "Plotter XY4131" msgstr "" #: src/kc/mod_list.cc:419 msgid "CPM-Z9 BOOT (c000h-c7ffh)" msgstr "" #: src/kc/mod_list.cc:425 msgid "CPM-Z9 Floppy" msgstr "" #: src/kc/mod_list.cc:431 msgid "CPM-Z9 64k RAM" msgstr "" #: src/kc/mod_list.cc:437 msgid "RAF 4MB (port 20h)" msgstr "" #: src/kc/mod_list.cc:440 msgid "RAF 4MB (port 24h)" msgstr "" #: src/kc/mod_list.cc:446 msgid "M001: Digital In / Out" msgstr "" #: src/kc/mod_list.cc:453 msgid "M003: V24" msgstr "" #: src/kc/mod_list.cc:461 msgid "M006: Basic" msgstr "" #: src/kc/mod_list.cc:468 msgid "M008: Joystick" msgstr "" #: src/kc/mod_list.cc:475 msgid "M011: 64k RAM" msgstr "" #: src/kc/mod_list.cc:482 msgid "M012: Texor" msgstr "" #: src/kc/mod_list.cc:488 msgid "M022: Expander RAM (16k)" msgstr "" #: src/kc/mod_list.cc:495 msgid "M026: Forth" msgstr "" #: src/kc/mod_list.cc:502 msgid "M027: Development" msgstr "" #: src/kc/mod_list.cc:508 msgid "M032: 256k Segmented RAM" msgstr "" #: src/kc/mod_list.cc:515 msgid "M033: TypeStar + RAMDOS" msgstr "" #: src/kc/mod_list.cc:521 msgid "M034: 512k Segmented RAM" msgstr "" #: src/kc/mod_list.cc:527 msgid "M035: 1M Segmented RAM" msgstr "" #: src/kc/mod_list.cc:533 msgid "M035x4: 4M RAM" msgstr "" #: src/kc/mod_list.cc:539 msgid "M036: 128k Segmented RAM" msgstr "" #: src/kc/mod_list.cc:546 msgid "M052: Network + USB" msgstr "" #: src/kc/mod_list.cc:553 msgid "M900: WordPro '86 (KC85/3)" msgstr "" #: src/kc/mod_list.cc:560 msgid "M901: WordPro '86 (KC85/4)" msgstr "" #: src/kc/mod_list.cc:566 msgid "VDIP: Vinculum USB" msgstr "" #: src/kc/mod_list.cc:570 msgid "VDIP1: Vinculum USB ROM V1.2" msgstr "" #: src/kc/mod_list.cc:574 msgid "VDIP2: Vinculum USB ROM V2.1" msgstr "" #: src/kc/mod_list.cc:588 msgid "Floppy Disk Basis F8" msgstr "" #: src/kc/mod_list.cc:597 msgid "Floppy Disk Basis FC" msgstr "" #: src/kc/mod_list.cc:795 msgid "Autostart" msgstr "" #: src/kc/mod_ramf.cc:50 #, c-format msgid "" "It's not possible to have more than two RAM-Floppy\n" "modules. The first one is running on port 98h and\n" "the second one on port 58h." msgstr "" #: src/kc/tape.cc:96 #, c-format msgid "File `%s' loaded." msgstr "" #: src/kc/tape.cc:174 msgid "Select tape-archive..." msgstr "" #: src/kc/tape.cc:228 #, c-format msgid "tape-archive `%s' attached." msgstr "" #: src/kc/tape.cc:235 msgid "Can't attach tape-archive." msgstr "" #: src/kc/tape.cc:276 src/kc/tape.cc:310 msgid "Export As..." msgstr "" #: src/kc/tape.cc:294 src/kc/tape.cc:328 #, c-format msgid "File `%s' saved." msgstr "" #: src/kc/tape.cc:299 src/kc/tape.cc:333 msgid "Can't export file." msgstr "" #: src/kc/tape.cc:375 msgid "Select file..." msgstr "" #: src/kc/tape.cc:1763 msgid "The format of the selected file is not recognized." msgstr "" #: src/kc/tape.cc:1798 #, c-format msgid "File `%s' [%s] added." msgstr "" #: src/kc/tape.cc:1807 msgid "" "The file you selected has a name that is already\n" "present in the current tape archive.\n" "\n" "Please select a different name to add this file\n" "to the tape archive or use the cancel button to\n" "skip this file." msgstr "" #: src/kc/wav.cc:280 #, c-format msgid "Reading %s `%s' (%d/%d/%d)." msgstr "" #: src/kc/prefs/types.cc:208 msgid "rom_caos_c" msgstr "" #: src/kc/prefs/types.cc:209 msgid "rom_caos_e" msgstr "" #: src/kc/prefs/types.cc:210 msgid "rom_system" msgstr "" #: src/kc/prefs/types.cc:211 msgid "rom_system_1" msgstr "" #: src/kc/prefs/types.cc:212 msgid "rom_system_2" msgstr "" #: src/kc/prefs/types.cc:213 msgid "rom_system_3" msgstr "" #: src/kc/prefs/types.cc:214 msgid "rom_system_4" msgstr "" #: src/kc/prefs/types.cc:215 msgid "rom_user" msgstr "" #: src/kc/prefs/types.cc:216 msgid "rom_basic" msgstr "" #: src/kc/prefs/types.cc:217 msgid "rom_debugger" msgstr "" #: src/kc/prefs/types.cc:218 msgid "rom_reassembler" msgstr "" #: src/kc/prefs/types.cc:219 msgid "rom_editor" msgstr "" #: src/kc/prefs/types.cc:220 msgid "rom_assembler" msgstr "" #: src/kc/prefs/types.cc:221 msgid "rom_charset" msgstr "" #: src/kc/prefs/types.cc:222 msgid "rom_d004_fc" msgstr "" #: src/kc/prefs/types.cc:223 msgid "rom_d004_f8" msgstr "" #: src/kc/prefs/types.cc:475 msgid "" " Z1013 with 16k RAM and 2k ROM, running at 1MHz. This was the\n" " first version with cheap circuits so the CPU was clocked at only 1MHz\n" " The ROM contains the Z1013 monitor version 2.02.\n" msgstr "" #: src/kc/prefs/types.cc:482 src/kc/prefs/types.cc:491 #: src/kc/prefs/types.cc:500 src/kc/prefs/types.cc:511 msgid "System-ROM V2.0" msgstr "" #: src/kc/prefs/types.cc:483 src/kc/prefs/types.cc:492 #: src/kc/prefs/types.cc:501 src/kc/prefs/types.cc:512 #: src/kc/prefs/types.cc:523 src/kc/prefs/types.cc:533 #: src/kc/prefs/types.cc:544 src/kc/prefs/types.cc:554 msgid "Z1013 Charset-ROM" msgstr "" #: src/kc/prefs/types.cc:485 msgid "" " Z1013 with 1k sRAM and 2k ROM, running at 2MHz. Industry\n" " version with only 1k static RAM. Monitor version 2.02.\n" msgstr "" #: src/kc/prefs/types.cc:494 msgid "" " Z1013 with 16k RAM and 2k ROM, running at 2MHz. Successor of\n" " the Z1013.01 but with industry grade circuits clocked at 2MHz.\n" msgstr "" #: src/kc/prefs/types.cc:503 msgid "" " Z1013 with 64k RAM and 2x2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the first\n" " image with version 2.02 that is supposed to work with the foil keypad\n" " shipped by the manufacturer.\n" msgstr "" #: src/kc/prefs/types.cc:514 msgid "" " Z1013 with 64k RAM and 2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the second\n" " image with version A.2 that supports an extended keyboard with an\n" " 8x8 matrix.\n" msgstr "" #: src/kc/prefs/types.cc:522 msgid "System-ROM A2" msgstr "" #: src/kc/prefs/types.cc:525 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM is the extended\n" " version tagged 2.028 RB that has a different keyboard driver for\n" " the keyboard K7659.\n" msgstr "" #: src/kc/prefs/types.cc:532 msgid "Brosig-ROM K7659/2.028" msgstr "" #: src/kc/prefs/types.cc:535 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM contains the 'Super\n" " Ur-Lader 5.0' that can read arbitrary tape files as system monitor.\n" " The hardware modification port at address 4h is emulated which allows\n" " programs to switch off the system ROM.\n" msgstr "" #: src/kc/prefs/types.cc:543 msgid "Super Ur-Lader 5.0" msgstr "" #: src/kc/prefs/types.cc:546 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM contains the Bootloader\n" " BL4 that can load monitor images from floppy disk or can start the\n" " CP/M system.\n" msgstr "" #: src/kc/prefs/types.cc:553 msgid "Bootlader BL4" msgstr "" #: src/kc/prefs/types.cc:559 msgid "" " Z9001 (later called KC 85/1) with monochrome display, no internal BASIC\n" " ROM. This computer has 16k RAM and 4k ROM with the robotron z9001 " "system.\n" msgstr "" #: src/kc/prefs/types.cc:565 src/kc/prefs/types.cc:581 #: src/kc/prefs/types.cc:734 src/kc/prefs/types.cc:751 #: src/kc/prefs/types.cc:768 src/kc/prefs/types.cc:786 #: src/kc/prefs/types.cc:803 src/kc/prefs/types.cc:820 #: src/kc/prefs/types.cc:846 src/kc/prefs/types.cc:901 #: src/kc/prefs/types.cc:912 src/kc/prefs/types.cc:920 msgid "System-ROM" msgstr "" #: src/kc/prefs/types.cc:566 src/kc/prefs/types.cc:582 #: src/kc/prefs/types.cc:735 src/kc/prefs/types.cc:752 #: src/kc/prefs/types.cc:769 src/kc/prefs/types.cc:787 #: src/kc/prefs/types.cc:804 src/kc/prefs/types.cc:821 msgid "ROM-Bank System without menu" msgstr "" #: src/kc/prefs/types.cc:567 src/kc/prefs/types.cc:583 #: src/kc/prefs/types.cc:736 src/kc/prefs/types.cc:753 #: src/kc/prefs/types.cc:770 src/kc/prefs/types.cc:788 #: src/kc/prefs/types.cc:805 src/kc/prefs/types.cc:822 msgid "ROM-Bank System with menu" msgstr "" #: src/kc/prefs/types.cc:570 src/kc/prefs/types.cc:586 #: src/kc/prefs/types.cc:740 src/kc/prefs/types.cc:757 #: src/kc/prefs/types.cc:774 src/kc/prefs/types.cc:792 #: src/kc/prefs/types.cc:809 src/kc/prefs/types.cc:826 msgid "Z9001 Charset-ROM" msgstr "" #: src/kc/prefs/types.cc:571 src/kc/prefs/types.cc:587 #: src/kc/prefs/types.cc:741 src/kc/prefs/types.cc:758 #: src/kc/prefs/types.cc:775 src/kc/prefs/types.cc:793 #: src/kc/prefs/types.cc:810 src/kc/prefs/types.cc:827 msgid "Z9001 Charset-ROM (german)" msgstr "" #: src/kc/prefs/types.cc:572 src/kc/prefs/types.cc:588 #: src/kc/prefs/types.cc:742 src/kc/prefs/types.cc:759 #: src/kc/prefs/types.cc:776 src/kc/prefs/types.cc:794 #: src/kc/prefs/types.cc:811 src/kc/prefs/types.cc:828 msgid "CGA Charset-ROM" msgstr "" #: src/kc/prefs/types.cc:573 src/kc/prefs/types.cc:589 #: src/kc/prefs/types.cc:743 src/kc/prefs/types.cc:760 #: src/kc/prefs/types.cc:777 src/kc/prefs/types.cc:795 #: src/kc/prefs/types.cc:812 src/kc/prefs/types.cc:829 msgid "CGA Charset-ROM (extended)" msgstr "" #: src/kc/prefs/types.cc:576 msgid " Like the z9001.10 but with color extension card.\n" msgstr "" #: src/kc/prefs/types.cc:595 msgid "" " HC900 (later called KC 85/2) with 16k RAM and 8k ROM. System is called\n" " HC-CAOS 2.2 (home computer - cassette aided operating system). BASIC\n" " is only available as external module.\n" msgstr "" #: src/kc/prefs/types.cc:601 msgid "HC-900 CAOS" msgstr "" #: src/kc/prefs/types.cc:602 msgid "CAOS 2.2" msgstr "" #: src/kc/prefs/types.cc:605 src/kc/prefs/types.cc:611 #: src/kc/prefs/types.cc:633 src/kc/prefs/types.cc:639 #: src/kc/prefs/types.cc:662 src/kc/prefs/types.cc:668 #: src/kc/prefs/types.cc:696 src/kc/prefs/types.cc:702 msgid "D004 Version 2.0 (02.01.1989)" msgstr "" #: src/kc/prefs/types.cc:606 src/kc/prefs/types.cc:612 #: src/kc/prefs/types.cc:634 src/kc/prefs/types.cc:640 #: src/kc/prefs/types.cc:663 src/kc/prefs/types.cc:669 #: src/kc/prefs/types.cc:697 src/kc/prefs/types.cc:703 msgid "D004 Version 3.0 (07.12.1997)" msgstr "" #: src/kc/prefs/types.cc:607 src/kc/prefs/types.cc:613 #: src/kc/prefs/types.cc:635 src/kc/prefs/types.cc:641 #: src/kc/prefs/types.cc:664 src/kc/prefs/types.cc:670 #: src/kc/prefs/types.cc:698 src/kc/prefs/types.cc:704 msgid "D004 Version 3.1 (22.01.2003)" msgstr "" #: src/kc/prefs/types.cc:608 src/kc/prefs/types.cc:614 #: src/kc/prefs/types.cc:636 src/kc/prefs/types.cc:642 #: src/kc/prefs/types.cc:665 src/kc/prefs/types.cc:671 #: src/kc/prefs/types.cc:699 src/kc/prefs/types.cc:705 msgid "D004 Version 3.2 (28.10.2008)" msgstr "" #: src/kc/prefs/types.cc:620 msgid "" " KC 85/3 with 16k RAM, 8k system ROM with HC-CAOS 3.1 and 8k BASIC ROM.\n" msgstr "" #: src/kc/prefs/types.cc:624 msgid "CAOS 3.1" msgstr "" #: src/kc/prefs/types.cc:625 msgid "CAOS 3.3" msgstr "" #: src/kc/prefs/types.cc:626 msgid "CAOS 3.4" msgstr "" #: src/kc/prefs/types.cc:627 msgid "OS PI/88 (yellow/blue)" msgstr "" #: src/kc/prefs/types.cc:628 msgid "OS PI/88 (black/white)" msgstr "" #: src/kc/prefs/types.cc:629 msgid "OS PI/88 (white/blue)" msgstr "" #: src/kc/prefs/types.cc:631 src/kc/prefs/types.cc:660 #: src/kc/prefs/types.cc:738 src/kc/prefs/types.cc:755 #: src/kc/prefs/types.cc:772 src/kc/prefs/types.cc:790 #: src/kc/prefs/types.cc:807 src/kc/prefs/types.cc:824 msgid "KC-BASIC" msgstr "" #: src/kc/prefs/types.cc:648 msgid "" " KC 85/4 with 64k RAM, 64k screen memory, 12k system ROM with HC-CAOS " "4.2\n" " and 8k BASIC ROM.\n" msgstr "" #: src/kc/prefs/types.cc:653 msgid "CAOS 4.1 (C)" msgstr "" #: src/kc/prefs/types.cc:654 msgid "CAOS 4.2 (C)" msgstr "" #: src/kc/prefs/types.cc:657 msgid "CAOS 4.1 (E)" msgstr "" #: src/kc/prefs/types.cc:658 msgid "CAOS 4.2 (E)" msgstr "" #: src/kc/prefs/types.cc:677 msgid "" " Unofficial successor of the KC 85/4 with 256k RAM, 64k screen memory,\n" " 16k system ROM with HC-CAOS 4.4, 8k BASIC ROM and 24k User ROM. It is\n" " intended to be used with a modified D004 floppy device with additional\n" " hard-disk support.\n" msgstr "" #: src/kc/prefs/types.cc:684 msgid "CAOS 4.3 (C)" msgstr "" #: src/kc/prefs/types.cc:685 msgid "CAOS 4.4 (C)" msgstr "" #: src/kc/prefs/types.cc:688 msgid "CAOS 4.3 (E)" msgstr "" #: src/kc/prefs/types.cc:689 msgid "CAOS 4.4 (E)" msgstr "" #: src/kc/prefs/types.cc:692 msgid "KC-BASIC (EDAS/TEMO/FORTH)" msgstr "" #: src/kc/prefs/types.cc:693 msgid "KC-BASIC (EDAS/TEMO/USB)" msgstr "" #: src/kc/prefs/types.cc:711 msgid " Polycomputer 880.\n" msgstr "" #: src/kc/prefs/types.cc:715 src/kc/prefs/types.cc:839 #: src/kc/prefs/types.cc:852 src/kc/prefs/types.cc:864 #: src/kc/prefs/types.cc:874 msgid "System-ROM 1" msgstr "" #: src/kc/prefs/types.cc:716 src/kc/prefs/types.cc:840 #: src/kc/prefs/types.cc:853 src/kc/prefs/types.cc:865 #: src/kc/prefs/types.cc:875 msgid "System-ROM 2" msgstr "" #: src/kc/prefs/types.cc:717 src/kc/prefs/types.cc:718 msgid "Optional-ROM 1" msgstr "" #: src/kc/prefs/types.cc:720 msgid " Polycomputer 880 with chess program rom from SC1.\n" msgstr "" #: src/kc/prefs/types.cc:724 msgid "SC1-ROM" msgstr "" #: src/kc/prefs/types.cc:729 msgid " Like the KC 87.11 but without the color extension card.\n" msgstr "" #: src/kc/prefs/types.cc:746 msgid " Successor of the Z9001 with internal 10k BASIC ROM.\n" msgstr "" #: src/kc/prefs/types.cc:763 msgid " Like the KC 87.21 but without the color extension card.\n" msgstr "" #: src/kc/prefs/types.cc:780 msgid "" " New series with extended BASIC ROM (still 10k but with some routines " "for\n" " plotter support were added).\n" msgstr "" #: src/kc/prefs/types.cc:798 msgid " New batch of KC 87.20 with no known hardware differences.\n" msgstr "" #: src/kc/prefs/types.cc:815 msgid " New batch of KC 87.21 with no known hardware differences.\n" msgstr "" #: src/kc/prefs/types.cc:835 msgid " Single board computer LC 80 with 1k RAM and 2 x 1k ROM.\n" msgstr "" #: src/kc/prefs/types.cc:842 msgid " Single board computer LC 80 with 1k RAM and 1 x 2k ROM.\n" msgstr "" #: src/kc/prefs/types.cc:848 msgid " Export variant of the LC 80 with 12k ROM including chess program.\n" msgstr "" #: src/kc/prefs/types.cc:854 msgid "System-ROM 3" msgstr "" #: src/kc/prefs/types.cc:859 msgid " BIC/A5105, only the base device is emulated, no floppy device.\n" msgstr "" #: src/kc/prefs/types.cc:866 src/kc/prefs/types.cc:876 msgid "DSE-ROM 1" msgstr "" #: src/kc/prefs/types.cc:867 src/kc/prefs/types.cc:877 msgid "DSE-ROM 2" msgstr "" #: src/kc/prefs/types.cc:869 msgid " BIC/A5105, the full system including the floppy device.\n" msgstr "" #: src/kc/prefs/types.cc:882 msgid "" " Micro-Computer presented in the book \"Praktische Microcomputertechnik" "\"\n" " by Manfred Kramer.\n" msgstr "" #: src/kc/prefs/types.cc:886 msgid "IO-Monitor" msgstr "" #: src/kc/prefs/types.cc:887 msgid "BASIC" msgstr "" #: src/kc/prefs/types.cc:888 src/kc/prefs/types.cc:902 msgid "Charset-ROM" msgstr "" #: src/kc/prefs/types.cc:889 msgid "Debugger" msgstr "" #: src/kc/prefs/types.cc:890 msgid "Reassembler" msgstr "" #: src/kc/prefs/types.cc:891 msgid "Editor" msgstr "" #: src/kc/prefs/types.cc:892 msgid "Assembler" msgstr "" #: src/kc/prefs/types.cc:897 msgid "" " CP/M based Micro-Computer presented in the magazine \"Funkamateur\"\n" " by A. Mugler and H. Mathes.\n" msgstr "" #: src/kc/prefs/types.cc:907 msgid "" " Minimal Z80 learning system presented in the magazine \"rfe\"\n" " by Eckhard Schiller.\n" msgstr "" #: src/kc/prefs/types.cc:917 msgid " Minimal Z80 learning system designed by Dipl.-Ing. Joachim Czepa.\n" msgstr "" #: src/kc/prefs/types.cc:921 msgid "User-ROM" msgstr "" #: src/kc/prefs/types.cc:1014 msgid "available emulations:" msgstr "" #: src/libtape/kctape.cc:80 msgid "" "\n" "KCtape is part of KCemu the KC 85/4 Emulator and comes with\n" "ABSOLUTELY NO WARRANTY; for details run `kcemu --warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kctape -t tapefile [command [command_args]]\n" "\n" " commands:\n" " ---------\n" "\n" " -h|--help show this help text\n" " -v|--verbose be verbose about what's going on\n" " -t|--tape tape archive to process\n" " -l|--list list content of tape archive\n" " -c|--create create tape archive if it doesn't exist\n" " -a|--add add files (KC85/3 mode)\n" " -1|--add1 add files (KC85/1 mode)\n" " -A|--add-raw add binary files\n" " -r|--remove remove file from tape archive\n" " -x|--extract extract file from tape archive\n" " -d|--dump hexdump file\n" " -o|--output output file for extract\n" " -b|--print-bam show internal block allocation map\n" " -B|--print-block-list show internal block list\n" msgstr "" #: src/libtape/kctape.cc:584 #, c-format msgid "" "ERROR: no tape specified, use the -t option to select\n" " the tape archive you want to process\n" "\n" msgstr "" #: src/ui/gtk/debug.cc:237 msgid "KCemu: Debugger" msgstr "" #: src/ui/gtk/debug.cc:336 msgid "Trace" msgstr "" #: src/ui/gtk/debug.cc:343 msgid "Single Step" msgstr "" #: src/ui/gtk/debug.cc:350 msgid "Execute Step" msgstr "" #: src/ui/gtk/dialog.cc:54 msgid "???" msgstr "" #: src/ui/gtk/fbrowse.cc:39 msgid "Select File..." msgstr "" #: src/ui/gtk/hedit.cc:96 msgid "no tape-filename given!" msgstr "" #: src/ui/gtk/hedit.cc:101 msgid "no KC-filename given!" msgstr "" #: src/ui/gtk/hedit.cc:106 src/ui/gtk/image.cc:89 msgid "" "error in given load address!\n" "\n" "valid addresses have to be in the range from 0 to 65535\n" "hexadecimal values need to be prefixed with 0x (e.g. 0x1234),\n" "octal values require a leading 0 (e.g. 0444)" msgstr "" #: src/ui/gtk/hedit.cc:119 src/ui/gtk/image.cc:105 msgid "error in given start address!" msgstr "" #: src/ui/gtk/hedit.cc:174 msgid "File Properties" msgstr "" #: src/ui/gtk/hedit.cc:199 msgid "Name in tape-directory:" msgstr "" #: src/ui/gtk/hedit.cc:212 msgid "Name in KC file-header:" msgstr "" #: src/ui/gtk/hedit.cc:225 src/ui/gtk/image.cc:156 msgid "Load address:" msgstr "" #: src/ui/gtk/hedit.cc:251 msgid "autostart" msgstr "" #: src/ui/gtk/image.cc:126 msgid "Input Image Properties" msgstr "" #: src/ui/gtk/image.cc:133 msgid "" "It was not possible to automatically determine the\n" "type of the selected file. Thus I don't know at which\n" "address the file should be loaded\n" "\n" "To load the file nevertheless you need to type in the\n" "needed values yourself." msgstr "" #: src/ui/gtk/image.cc:185 msgid "Start Program after Loading" msgstr "" #: src/ui/gtk/image.cc:197 msgid "OK" msgstr "" #: src/ui/gtk/image.cc:209 msgid "Cancel" msgstr "" #: src/ui/gtk/info.cc:132 msgid "byte output" msgstr "" #: src/ui/gtk/info.cc:133 msgid "byte input" msgstr "" #: src/ui/gtk/info.cc:134 msgid "byte input/output" msgstr "" #: src/ui/gtk/info.cc:135 msgid "bit input/output" msgstr "" #: src/ui/gtk/info.cc:326 msgid "Mode:" msgstr "" #: src/ui/gtk/info.cc:345 src/ui/gtk/info.cc:419 msgid "IRQ:" msgstr "" #: src/ui/gtk/info.cc:364 src/ui/gtk/info.cc:438 msgid "IRQ Vector:" msgstr "" #: src/ui/gtk/info.cc:391 msgid "Channel A" msgstr "" #: src/ui/gtk/info.cc:395 msgid "Channel B" msgstr "" #: src/ui/gtk/info.cc:464 msgid "Channel 0" msgstr "" #: src/ui/gtk/info.cc:468 msgid "Channel 1" msgstr "" #: src/ui/gtk/info.cc:472 msgid "Channel 2" msgstr "" #: src/ui/gtk/info.cc:476 msgid "Channel 3" msgstr "" #: src/ui/gtk/info.cc:491 msgid "KCemu: Info" msgstr "" #: src/ui/gtk/info.cc:516 msgid "CPU" msgstr "" #: src/ui/gtk/info.cc:519 msgid "PIO" msgstr "" #: src/ui/gtk/info.cc:522 msgid "CTC" msgstr "" #: src/ui/gtk/info.cc:545 msgid "Update" msgstr "" #: src/ui/gtk/info.cc:555 src/ui/gtk/wav.cc:144 msgid "Close" msgstr "" #: src/ui/gtk/keyboard.cc:560 msgid "KCemu: Keyboard" msgstr "" #: src/ui/gtk/keyboard.cc:608 msgid "Sorry, keyboard display not configured." msgstr "" #: src/ui/gtk/module.cc:211 msgid "No module slots available for this computer." msgstr "" #: src/ui/gtk/module.cc:223 #, c-format msgid "Slot %d" msgstr "" #: src/ui/gtk/module.cc:318 msgid "Floppy Disk Basis [F0]" msgstr "" #: src/ui/gtk/module.cc:323 #, c-format msgid "D002: Busdriver [%02X]" msgstr "" #: src/ui/gtk/module.cc:331 src/ui/gtk/module.cc:333 msgid "Basis Device" msgstr "" #: src/ui/gtk/tape.cc:76 msgid "Please enter the new name for the file." msgstr "" #: src/ui/gtk/tape.cc:272 msgid "/_Run File" msgstr "" #: src/ui/gtk/tape.cc:273 msgid "/_Load File" msgstr "" #: src/ui/gtk/tape.cc:274 msgid "/_Export File" msgstr "" #: src/ui/gtk/tape.cc:275 msgid "/Export _Wav" msgstr "" #: src/ui/gtk/tape.cc:276 msgid "/sep1" msgstr "" #: src/ui/gtk/tape.cc:277 msgid "/Edit _Header" msgstr "" #: src/ui/gtk/tape.cc:278 msgid "/Re_name File" msgstr "" #: src/ui/gtk/tape.cc:279 msgid "/_Delete File" msgstr "" #: src/ui/gtk/tape.cc:280 msgid "/sep2" msgstr "" #: src/ui/gtk/tape.cc:281 msgid "/_Add File" msgstr "" #: src/ui/gtk/tape.cc:286 msgid "Name" msgstr "" #: src/ui/gtk/tape.cc:287 msgid "Type" msgstr "" #: src/ui/gtk/tape.cc:288 msgid "Load" msgstr "" #: src/ui/gtk/tape.cc:289 msgid "Start" msgstr "" #: src/ui/gtk/tape.cc:290 msgid "Size" msgstr "" #: src/ui/gtk/tape.cc:302 src/ui/gtk/tape.cc:308 msgid "" msgstr "" #: src/ui/gtk/tape.cc:309 msgid "/Run File" msgstr "" #: src/ui/gtk/tape.cc:310 msgid "/Load File" msgstr "" #: src/ui/gtk/tape.cc:311 msgid "/Edit Header" msgstr "" #: src/ui/gtk/tape.cc:312 msgid "/Delete File" msgstr "" #: src/ui/gtk/tape.cc:313 msgid "/Rename File" msgstr "" #: src/ui/gtk/tape.cc:314 msgid "/Export File" msgstr "" #: src/ui/gtk/tape.cc:315 msgid "/Export Wav" msgstr "" #: src/ui/gtk/ui_gtk.cc:794 msgid "Info" msgstr "" #: src/ui/gtk/wav.cc:134 msgid "Open" msgstr "" #: src/ui/gtk/wav.cc:154 msgid "Play" msgstr "" #: src/ui/gtk/options.cc:94 msgid "Save profiles?" msgstr "" #: src/ui/gtk/options.cc:96 msgid "" "Some profiles were changed!\n" "\n" "'Yes' will save changes to disk, 'No' will reject all changes.\n" "'Cancel': will allow to continue editing." msgstr "" #: src/ui/gtk/options.cc:605 msgid "Open ROM Image..." msgstr "" #: src/ui/gtk/options.cc:892 #, c-format msgid "ROM image is '%s'. The ROM size needs to be %04xh (%d) bytes." msgstr "" #: src/ui/gtk/video.cc:258 msgid "" msgstr "" #: src/ui/gtk/video.cc:262 msgid "Theora/Ogg" msgstr "" #: src/ui/gtk/video.cc:266 msgid "AVI" msgstr "" #: src/ui/gtk/video.cc:270 msgid "MPEG 4" msgstr "" #: src/ui/gtk/video.cc:274 msgid "Dirac" msgstr "" #: src/ui/gtk/video.cc:278 msgid "Schroedinger" msgstr "" #: src/ui/gtk/video.cc:282 msgid "Animated GIF" msgstr "" #: src/ui/gtk/video.cc:286 msgid "VNC" msgstr "" KCemu-0.5.1/po/quot.sed0000644000175000017500000000023112417262523015050 0ustar glaubitzglaubitzs/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g KCemu-0.5.1/po/Rules-quot0000644000175000017500000000337612417262523015403 0ustar glaubitzglaubitz# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header KCemu-0.5.1/po/Makefile.in.in0000644000175000017500000003552412417262523016052 0ustar glaubitzglaubitz# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.17 GETTEXT_MACRO_VERSION = 0.17 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. check-macro-version: @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ *) \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ esac test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: KCemu-0.5.1/po/POTFILES.in0000644000175000017500000001172212417262523015147 0ustar glaubitzglaubitz# List of source files which contain translatable strings. # images/about.glade images/audio.glade images/color.glade images/dialog.glade images/disk.glade images/help.glade images/keyboard.glade images/legal.glade images/main.glade images/module.glade images/options.glade images/plotter.glade images/savemem.glade images/screenshot.glade images/selector.glade images/tapeedit.glade images/tape.glade images/thanks.glade images/vdip.glade images/video.glade src/cmd/cmd.cc src/cmd/cmdargs.cc src/cmd/dbg.cc src/cmd/image.cc src/cmd/load.cc src/cmd/quit.cc src/cmd/reset.cc src/fileio/kc2img.c src/fileio/kc2raw.c src/fileio/kc2tap.c src/fileio/kc2wav.c src/fileio/load.c src/fileio/load_AF.c src/fileio/load_BASIC.c src/fileio/load_BASICODE.c src/fileio/load_BIN.c src/fileio/load_GPF.c src/fileio/load_HS.c src/fileio/load_SSS.c src/fileio/load_TAPE.c src/fileio/load_UNKNOWN.c src/fileio/save_IMG.c src/fileio/save_RAW.c src/fileio/save_TAP.c src/fileio/save_WAV.c src/fileio/test_load.c src/getopt/getopt.c src/getopt/getopt1.c src/kc/cb_list.cc src/kc/ctc.cc src/kc/ctc1.cc src/kc/ctc3.cc src/kc/ctc6.cc src/kc/ctc8.cc src/kc/ctc9.cc src/kc/ctc_base.cc src/kc/ctc_dio.cc src/kc/ctc_fdc.cc src/kc/daisy.cc src/kc/disk.cc src/kc/disk_io.cc src/kc/fdc.cc src/kc/fdc0s.cc src/kc/fdc4.cc src/kc/fdc7.cc src/kc/fdc9.cc src/kc/fdc_cmd.cc src/kc/floppy.cc src/kc/gdc.cc src/kc/gide.cc src/kc/ic.cc src/kc/kc.cc src/kc/keyb0.cc src/kc/keyb1.cc src/kc/keyb3.cc src/kc/keyb6.cc src/kc/keyb8.cc src/kc/keyb9.cc src/kc/kramermc/keyboard.cc src/kc/kramermc/memory.cc src/kc/kramermc/pio.cc src/kc/memory.cc src/kc/memory0.cc src/kc/memory1.cc src/kc/memory2.cc src/kc/memory3.cc src/kc/memory4.cc src/kc/memory6.cc src/kc/memory7.cc src/kc/memory8.cc src/kc/memory9.cc src/kc/mod_128k.cc src/kc/mod_192k.cc src/kc/mod_1m.cc src/kc/mod_256k.cc src/kc/mod_320k.cc src/kc/mod_4131.cc src/kc/mod_4m.cc src/kc/mod_512k.cc src/kc/mod_64k.cc src/kc/mod_auto.cc src/kc/mod_boot.cc src/kc/mod_cpm.cc src/kc/mod_dio.cc src/kc/mod_disk.cc src/kc/mod_fdc.cc src/kc/mod_gdc.cc src/kc/mod_js.cc src/kc/mod_list.cc src/kc/mod_r64.cc src/kc/mod_ram.cc src/kc/mod_ram1.cc src/kc/mod_ram8.cc src/kc/mod_ramf.cc src/kc/mod_rom.cc src/kc/mod_rom1.cc src/kc/mod_romb.cc src/kc/mod_rtc.cc src/kc/mod_segm.cc src/kc/mod_urom.cc src/kc/mod_v24.cc src/kc/module.cc src/kc/muglerpc/ctc.cc src/kc/muglerpc/keyboard.cc src/kc/muglerpc/memory.cc src/kc/muglerpc/pio.cc src/kc/muglerpc/ports.cc src/kc/pio.cc src/kc/pio0.cc src/kc/pio1.cc src/kc/pio2.cc src/kc/pio3.cc src/kc/pio4.cc src/kc/pio6.cc src/kc/pio8.cc src/kc/pio9.cc src/kc/pio_dio.cc src/kc/poly880.cc src/kc/ports.cc src/kc/ports0.cc src/kc/ports4.cc src/kc/ports6.cc src/kc/sh_mem.cc src/kc/sound.cc src/kc/sound3.cc src/kc/sound8.cc src/kc/svg.cc src/kc/tape.cc src/kc/timer.cc src/kc/timer1.cc src/kc/timer3.cc src/kc/vis.cc src/kc/wav.cc src/kc/z80.cc src/kc/z80_fdc.cc src/kc/kcemu-send.c src/kc/prefs/prefs.cc src/kc/prefs/parser.cc src/kc/prefs/profile.cc src/kc/prefs/types.cc src/kc/prefs/strlist.cc src/kc/prefs/dirlist.cc src/kc/vcs80/keyboard.cc src/kc/vcs80/memory.cc src/kc/vcs80/pio.cc src/kc/c80/keyboard.cc src/kc/c80/memory.cc src/kc/c80/pio.cc src/kc/c80/display.cc src/libaudio/load.c src/libaudio/load_als.c src/libaudio/load_aud.c src/libaudio/load_flc.c src/libaudio/load_mp3.c src/libaudio/load_ogg.c src/libaudio/load_oss.c src/libaudio/load_raw.c src/libaudio/load_snd.c src/libaudio/load_wav.c src/libdbg/dbg-test.cc src/libdbg/dbg.cc src/libdisk/disk.c src/libdisk/load_22dsk.c src/libdisk/load_cdm.c src/libdisk/load_dir.c src/libdisk/load_td0.c src/libdisk/tdtodump.c src/libdisk/teledisk.c src/libtape/kcread2tap.c src/libtape/kct.cc src/libtape/kctape.cc src/libtape/show_tap.c src/libtape/test.c src/ui/commands.cc src/ui/error.cc src/ui/generic/memaccess.cc src/ui/generic/module.cc src/ui/generic/scanline.cc src/ui/generic/tape.cc src/ui/generic/ui_0.cc src/ui/generic/ui_1.cc src/ui/generic/ui_3.cc src/ui/generic/ui_4.cc src/ui/generic/ui_6.cc src/ui/generic/ui_8.cc src/ui/generic/ui_9.cc src/ui/generic/ui_kramermc.cc src/ui/generic/ui_led.cc src/ui/generic/ui_muglerpc.cc src/ui/generic/ui_vcs80.cc src/ui/generic/ui_base.cc src/ui/generic/ui_c80.cc src/ui/gtk/about.cc src/ui/gtk/cmd.cc src/ui/gtk/color.cc src/ui/gtk/copying.cc src/ui/gtk/debug.cc src/ui/gtk/dialog.cc src/ui/gtk/disk.cc src/ui/gtk/fbrowse.cc src/ui/gtk/hedit.cc src/ui/gtk/help.cc src/ui/gtk/image.cc src/ui/gtk/info.cc src/ui/gtk/kcemu-remote.c src/ui/gtk/keyboard.cc src/ui/gtk/module.cc src/ui/gtk/tape.cc src/ui/gtk/tapeadd.cc src/ui/gtk/thanks.cc src/ui/gtk/ui_gtk.cc src/ui/gtk/ui_gtk0.cc src/ui/gtk/ui_gtk1.cc src/ui/gtk/ui_gtk3.cc src/ui/gtk/ui_gtk4.cc src/ui/gtk/ui_gtk6.cc src/ui/gtk/ui_gtk8.cc src/ui/gtk/ui_gtk9.cc src/ui/gtk/ui_gtk_kramermc.cc src/ui/gtk/ui_gtk_muglerpc.cc src/ui/gtk/wav.cc src/ui/gtk/window.cc src/ui/gtk/ui_gtk_vcs80.cc src/ui/gtk/selector.cc src/ui/gtk/main.cc src/ui/gtk/ui_gtk_base.cc src/ui/gtk/ui_gtk_c80.cc src/ui/gtk/options.cc src/ui/gtk/video.cc src/ui/hsv2rgb.cc src/ui/log.cc src/ui/status.cc KCemu-0.5.1/po/en@quot.header0000644000175000017500000000226312417262523016157 0ustar glaubitzglaubitz# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # KCemu-0.5.1/po/insert-header.sin0000644000175000017500000000124012417262523016631 0ustar glaubitzglaubitz# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } KCemu-0.5.1/po/de.po0000644000175000017500000035053712417262523014334 0ustar glaubitzglaubitz# $Id: de.po,v 1.26 2002/10/31 16:40:02 torsten_paul Exp $ # KCemu german translation # Copyright (C) 1998 Free Software Foundation, Inc. # Torsten Paul , 1998-2002. # msgid "" msgstr "" "Project-Id-Version: KCemu v0.4\n" "Report-Msgid-Bugs-To: Torsten.Paul@gmx.de\n" "POT-Creation-Date: 2010-08-24 20:54+0200\n" "PO-Revision-Date: 2010-08-24 20:49+0100\n" "Last-Translator: Torsten Paul \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: German\n" "X-Poedit-Country: GERMANY\n" #: images/about.glade:6 msgid "KCemu: About" msgstr "KCemu: Über KCemu" #: images/about.glade:25 msgid "About" msgstr "Über KCemu" #: images/about.glade:72 msgid "[ Version ]" msgstr "[ Version ]" #: images/about.glade:85 msgid "(c) 1997-2010 Torsten Paul" msgstr "(c) 1997-2010 Torsten Paul" #: images/about.glade:96 msgid "" msgstr "" #: images/about.glade:111 msgid "http://kcemu.sourceforge.net/" msgstr "http://kcemu.sourceforge.net/" #: images/about.glade:130 msgid "[ Build ]" msgstr "[ Build ]" #: images/audio.glade:6 msgid "KCemu: Audio" msgstr "KCemu: Audio Player" #: images/audio.glade:25 msgid "Audio" msgstr "Audio" #: images/color.glade:39 msgid "KCemu: Color Configuration" msgstr "KCemu: Farbeinstellung" #: images/color.glade:60 msgid "Colors" msgstr "Farben" #: images/color.glade:132 images/color.glade:232 msgid "Brightness" msgstr "Helligkeit" #: images/color.glade:166 images/color.glade:266 msgid "Contrast" msgstr "Kontrast" #: images/color.glade:183 msgid "Foreground" msgstr "Vordergrund" #: images/color.glade:283 msgid "Background" msgstr "Hintergrund" #: images/dialog.glade:6 msgid "KCemu" msgstr "KCemu" #: images/dialog.glade:27 msgid "[ Title ]" msgstr "[ Title ]" #: images/disk.glade:6 msgid "KCemu: Disk" msgstr "KCemu: Diskette" #: images/disk.glade:26 msgid "Disk" msgstr "Diskette" #: images/disk.glade:268 images/options.glade:2193 msgid "Disk 4:" msgstr "Diskette 4:" #: images/disk.glade:282 images/options.glade:2207 msgid "Disk 3:" msgstr "Diskette 3:" #: images/disk.glade:296 images/options.glade:2221 msgid "Disk 2:" msgstr "Diskette 2:" #: images/disk.glade:310 images/options.glade:2235 msgid "Disk 1:" msgstr "Diskette 1:" #: images/help.glade:6 msgid "KCemu: Help" msgstr "KCemu: Hilfe" #: images/help.glade:26 msgid "Help" msgstr "Hilfe" #: images/keyboard.glade:27 msgid "Keyboard" msgstr "Tastatur" #: images/legal.glade:6 msgid "KCemu: Licence & Warranty" msgstr "KCemu: Lizenz & Haftung" #: images/legal.glade:26 msgid "License & Warranty" msgstr "Lizenz & Haftung" #: images/legal.glade:84 msgid "[ Licence ]" msgstr "[ Lizenz ]" #: images/legal.glade:97 msgid "[ Warranty ]" msgstr "[ Haftung ]" #: images/main.glade:19 msgid "_Emulator" msgstr "_Emulator" #: images/main.glade:27 images/main.glade:388 msgid "_Run..." msgstr "_Ausführen..." #: images/main.glade:34 images/main.glade:395 msgid "_Load..." msgstr "_Laden..." #: images/main.glade:41 images/main.glade:402 msgid "_Save..." msgstr "_Speichern..." #: images/main.glade:48 images/main.glade:409 msgid "_Tape..." msgstr "_Kassette..." #: images/main.glade:55 images/main.glade:416 msgid "_Disk..." msgstr "_Diskette..." #: images/main.glade:62 images/main.glade:423 msgid "_Module..." msgstr "_Module..." #: images/main.glade:69 images/main.glade:430 msgid "_Audio..." msgstr "Aud_io..." #: images/main.glade:76 images/main.glade:437 msgid "Pl_otter..." msgstr "Pl_otter..." #: images/main.glade:83 msgid "Vinculum _USB..." msgstr "Vinculum _USB..." #: images/main.glade:95 images/main.glade:456 msgid "Screens_hot..." msgstr "Screens_hot..." #: images/main.glade:102 images/main.glade:463 msgid "_Video..." msgstr "_Video..." #: images/main.glade:114 images/main.glade:544 msgid "R_eset" msgstr "R_eset" #: images/main.glade:121 images/main.glade:551 msgid "_Power On" msgstr "Ei_nschalten" #: images/main.glade:133 images/main.glade:563 msgid "_Quit Emulator" msgstr "Emulator _beenden" #: images/main.glade:144 images/main.glade:475 msgid "_View" msgstr "_Ansicht" #: images/main.glade:152 msgid "Zoom x_1" msgstr "Zoom x_1" #: images/main.glade:159 msgid "Zoom x_2" msgstr "Zoom x_2" #: images/main.glade:166 msgid "Zoom x_3" msgstr "Zoom x_3" #: images/main.glade:178 images/main.glade:509 msgid "_Keyboard" msgstr "_Tastatur" #: images/main.glade:190 images/main.glade:521 msgid "_Menubar" msgstr "_Menüleiste" #: images/main.glade:197 images/main.glade:528 msgid "_Statusbar" msgstr "_Statusleiste" #: images/main.glade:208 msgid "_Options" msgstr "_Optionen" #: images/main.glade:216 msgid "_Colors..." msgstr "_Farben..." #: images/main.glade:223 msgid "_Display Effects" msgstr "_Effekte" #: images/main.glade:230 msgid "No _Speed Limit" msgstr "Maximale _Geschwindigkeit" #: images/main.glade:242 msgid "_Profiles..." msgstr "_Profile..." #: images/main.glade:253 images/main.glade:261 msgid "_Help" msgstr "_Hilfe" #: images/main.glade:268 msgid "Help _Index" msgstr "Hilfe _Inhalt" #: images/main.glade:275 msgid "_Context Help" msgstr "_Kontext Hilfe" #: images/main.glade:287 msgid "_About" msgstr "Über KCemu" #: images/main.glade:294 msgid "_Thanks!" msgstr "Danksagung" #: images/main.glade:306 msgid "KCemu _Licence" msgstr "KCemu _Lizenz" #: images/main.glade:313 msgid "No _Warranty!" msgstr "Keine _Gewährleistung!" #: images/main.glade:444 msgid "_Vinculum USB..." msgstr "_Vinculum USB..." #: images/main.glade:483 msgid "Zoom x1" msgstr "Zoom x_1" #: images/main.glade:490 msgid "Zoom x2" msgstr "Zoom x_2" #: images/main.glade:497 msgid "Zoom x3" msgstr "Zoom x_3" #: images/module.glade:6 msgid "KCemu: Module" msgstr "KCemu: Module" #: images/module.glade:24 msgid "Module" msgstr "Modul" #: images/options.glade:91 msgid "KCemu: Profiles" msgstr "KCemu: Profile" #: images/options.glade:114 msgid "Profiles" msgstr "Profile" #: images/options.glade:165 msgid "Create new profile..." msgstr "Neues Profil erstellen..." #: images/options.glade:188 msgid "Copy selected profile..." msgstr "Ausgewähltes Profil kopieren..." #: images/options.glade:250 msgid "Expand user profile level..." msgstr "Benutzer-Profile im Baum aufklappen..." #: images/options.glade:270 msgid "Collapse user profile level..." msgstr "Benutzer-Profile im Baum zuklappen..." #: images/options.glade:431 msgid "Comment:" msgstr "Kommentar:" #: images/options.glade:445 msgid "Variant:" msgstr "Variante:" #: images/options.glade:487 msgid "System:" msgstr "System:" #: images/options.glade:501 msgid "Profile Name:" msgstr "Profil Name:" #: images/options.glade:548 msgid "System" msgstr "System" #: images/options.glade:611 msgid "" "Enable / Disable display debug code.\n" "\n" "When enabled the display cache behaviour will be graphically visualized. " "This setting is effective only if the display scale is set to 1." msgstr "" "Ein-/Ausschalten der Debug-Funktionen für die Anzeige.\n" "\n" "Wenn eingeschaltet, wird das Verhalten des Anzeige-Caches visualisiert. Die " "Einstellung hat nur Auswirkungen, wenn der Skalierungsfaktor auf 1 steht." #: images/options.glade:636 msgid "Display Debug:" msgstr "Debug:" #: images/options.glade:650 msgid "Display Scale:" msgstr "Skalierung:" #: images/options.glade:662 msgid "Display Effects:" msgstr "Effekte:" #: images/options.glade:676 msgid "Display IRM Access:" msgstr "IRM Zugriff:" #: images/options.glade:740 msgid "Scaling factor for the emulation window. Allowed values are 1 to 3." msgstr "" "Skalierungsfaktor für das Hauptfenster. Erlaubt sind Werte von 1 bis 3." #: images/options.glade:756 msgid "" "Enable / Disable display effects for scale factors above 1.\n" "\n" "When enabled a scan-line effect will be used for scale factor of 2 and a " "smoothing effect for scale factor 3." msgstr "" "Ein-/Ausschalten der Grafik-Effekte für Skalierungsfaktoren größer als 1.\n" "Wenn aktiv, werden bei einem Skalierungsfaktor von 2 ein Scanline-Effekt " "(jede 2. Zeile wird dunkler dargestellt) und bei einem Skalierungsfaktor von " "3 ein Unschärfe-Effekt auf das dargestellte Bild angewandt." #: images/options.glade:781 msgid "" "This setting is only used when emulating a KC 85/3 where it enables the " "emulation of the display dissortion when the screen memory is accessed by " "the CPU." msgstr "" "Diese Einstellung wird nur bei der Emulation eines KC 85/3 aktiv. Sie " "schaltet die Emulation der Bildstörungen beim Zugriff der CPU auf den IRM " "ein." #: images/options.glade:812 msgid "Display" msgstr "Anzeige" #: images/options.glade:1355 msgid "ROMs" msgstr "ROMs" #: images/options.glade:1476 msgid "Module 6:" msgstr "Modul 6:" #: images/options.glade:1490 msgid "Module 5:" msgstr "Modul 5:" #: images/options.glade:1504 msgid "Module 4:" msgstr "Modul 4:" #: images/options.glade:1518 msgid "Module 3:" msgstr "Modul 3:" #: images/options.glade:1532 msgid "Module 2:" msgstr "Modul 2:" #: images/options.glade:1546 msgid "Module 1:" msgstr "Modul 1:" #: images/options.glade:1558 msgid "Module 7:" msgstr "Modul 7:" #: images/options.glade:1572 msgid "Module 8:" msgstr "Modul 8:" #: images/options.glade:1613 msgid "Override modules in this profile" msgstr "Module in diesem Profil überschreiben" #: images/options.glade:1653 msgid "Modules" msgstr "Module" #: images/options.glade:2080 msgid "Hard Disk 2:" msgstr "Festplatte 2:" #: images/options.glade:2094 msgid "Hard Disk 1:" msgstr "Festplatte 1:" #: images/options.glade:2123 msgid "Audio:" msgstr "Audio:" #: images/options.glade:2261 msgid "Tape:" msgstr "Kassette:" #: images/options.glade:2282 msgid "Media" msgstr "Medien" #: images/options.glade:2334 msgid "" "Number of D002 busdriver devices to add to the system. The maximum number of " "emulated busdrivers is currently 4." msgstr "" "Anzahl von D002 Bustreibern die emuliert werden sollen. Es können maximal 4 " "Geräte emuliert werden." #: images/options.glade:2352 msgid "Busdrivers:" msgstr "Bustreiber:" #: images/options.glade:2383 msgid "" "Enable or disable the second D004 ROM at slot F8. The standard ROM is " "available at slot FC." msgstr "" "Ein-/Ausschalten des zweiten D004 ROMs im Slot F8. Der Standard-ROM wird " "über Slot FC angesprochen." #: images/options.glade:2406 msgid "F8 ROM:" msgstr "F8 ROM:" #: images/options.glade:2437 msgid "Enable or disable the D004 Floppy Basis Device." msgstr "Ein-/Ausschalten des D004 Floppy Gerätes." #: images/options.glade:2459 msgid "D004:" msgstr "D004:" #: images/options.glade:2474 msgid "Special settings for KC 85/2..5" msgstr "Einstellungen für KC 85/2..5" #: images/options.glade:2496 msgid "KC85" msgstr "KC85" #: images/options.glade:2525 msgid "IP Address:" msgstr "IP Adresse:" #: images/options.glade:2538 msgid "Netmask:" msgstr "Netzmaske:" #: images/options.glade:2551 msgid "Gateway:" msgstr "Gateway:" #: images/options.glade:2564 msgid "DNS Server:" msgstr "DNS Server:" #: images/options.glade:2706 msgid "Network settings for WizNET module (IP-Addresses only!)" msgstr "Einstellungen für den WizNET Modul (Nur IP-Adressen!)" #: images/options.glade:2729 msgid "Network" msgstr "Netzwerk" #: images/plotter.glade:28 msgid "KCemu: Plotter" msgstr "KCemu: Plotter" #: images/plotter.glade:48 msgid "Plotter" msgstr "Plotter" #: images/plotter.glade:305 msgid "Show pen" msgstr "Stift anzeigen" #: images/plotter.glade:334 msgid "Show plot area" msgstr "Zeichenbereich" #: images/plotter.glade:347 msgid "" "Define the initial y position of the pen after clearing the plotting area. " "Measured in millimeters from the top left corner." msgstr "Nullposition der Y-Achse des Zeichenbereiches festlegen." #: images/plotter.glade:365 msgid "Y origin" msgstr "Nullpunkt Y" #: images/plotter.glade:394 msgid "Paper color" msgstr "Papierfarbe" #: images/plotter.glade:407 msgid "X origin" msgstr "Nullpunkt X" #: images/plotter.glade:420 msgid "" "Define the initial x position of the pen after clearing the plotting area. " "Measured in millimeters from the top left corner." msgstr "Nullposition der X-Achse des Zeichenbereiches festlegen." #: images/plotter.glade:438 msgid "Define the line width for plotting. Measured in millimeters." msgstr "Stiftdicke festlegen (in Millimetern)." #: images/plotter.glade:456 msgid "Line width" msgstr "Linienbreite" #: images/plotter.glade:469 msgid "Plot to PDF:" msgstr "In PDF-Datei plotten:" #: images/plotter.glade:483 msgid "Delay between screen refreshes of the drawing area in milliseconds." msgstr "" "Pause zwischen dem Neuzeichnen des Zeichenbereiches auf dem Bildschirm (in " "Millisekunden)" #: images/plotter.glade:501 msgid "Display refresh" msgstr "Refresh" #: images/plotter.glade:515 msgid "Define the color to use for plotting." msgstr "Farbe des Stiftes festlegen." #: images/plotter.glade:528 msgid "Pen color" msgstr "Stiftfarbe" #: images/plotter.glade:590 msgid "" "Clear plotting area. When rendering to a PDF file a new page is created and " "plotting continues in the same file." msgstr "" "Zeichenbereich löschen. Beim Zeichnen in eine PDF-Datei wird eine neue Seite " "erzeugt und in der gleichen Datei weiter gezeichnet." #: images/plotter.glade:605 msgid "Save the plotted picture as PNG image file." msgstr "Die Zeichnung als PNG Bild-Datei speichern." #: images/savemem.glade:38 msgid "KCemu: Save Memory Dump" msgstr "KCemu: Memory-Dump speichern" #: images/savemem.glade:58 msgid "Save Memory Dump" msgstr "Memory-Dump speichern" #: images/savemem.glade:97 images/savemem.glade:344 msgid "Automatically scroll to start address if the address is changed." msgstr "" "Automatisch zur Start-Adresse springen, wenn die Adresse verändert wird." #: images/savemem.glade:121 msgid "Automatically scroll to end address if the address is changed." msgstr "Automatisch zur End-Adresse springen, wenn die Adresse verändert wird." #: images/savemem.glade:157 msgid "End address:" msgstr "End-Adresse:" #: images/savemem.glade:170 src/ui/gtk/hedit.cc:238 src/ui/gtk/image.cc:169 msgid "Start address:" msgstr "Start-Adresse:" #: images/savemem.glade:182 images/savemem.glade:315 images/savemem.glade:330 msgid "dec" msgstr "Dez" #: images/savemem.glade:196 images/savemem.glade:285 images/savemem.glade:300 msgid "hex" msgstr "Hex" #: images/savemem.glade:228 msgid "Size of the memory dump in bytes." msgstr "Größe des Memory-Dumps in Bytes." #: images/savemem.glade:246 msgid "Length:" msgstr "Länge:" #: images/savemem.glade:378 msgid "" "End address of the memory area to save. The byte at the given address is " "included in the memory dump." msgstr "" "End-Adresse des Speicherbereiches. Das Byte an der angegebenen Adresse wird " "mit gespeichert." #: images/savemem.glade:395 msgid "Start address of the memory area to save." msgstr "Start Adresse des Speicherbereiches." #: images/screenshot.glade:6 msgid "KCemu: Screenshot" msgstr "KCemu: Screenshot" #: images/screenshot.glade:26 images/screenshot.glade:372 msgid "Screenshot" msgstr "Screenshot" #: images/screenshot.glade:143 msgid "Left" msgstr "Links" #: images/screenshot.glade:156 msgid "Top" msgstr "Oben" #: images/screenshot.glade:171 msgid "Right" msgstr "Rechts" #: images/screenshot.glade:184 msgid "Bottom" msgstr "Unten" #: images/screenshot.glade:199 msgid "File" msgstr "Datei" #: images/screenshot.glade:212 msgid "Format" msgstr "Format" #: images/screenshot.glade:385 msgid "Save" msgstr "Speichern" #: images/selector.glade:7 msgid "KCemu: Select profile..." msgstr "KCemu: Profil auswählen..." #: images/selector.glade:31 msgid "Select Profile..." msgstr "Profil auswählen..." #: images/selector.glade:102 msgid "System profiles..." msgstr "System-Profile..." #: images/selector.glade:144 msgid "User profiles..." msgstr "Benutzer-Profile..." #: images/tapeedit.glade:7 src/ui/gtk/tapeadd.cc:93 msgid "KCemu: Rename File" msgstr "KCemu: Datei umbenennen" #: images/tapeedit.glade:28 msgid "Edit Tape" msgstr "Header Ändern" #: images/tapeedit.glade:63 msgid "" "[ Text ]\n" "\n" "[ more text ... ]" msgstr "" "[ Text ]\n" "\n" "[ more text ... ]" #: images/tapeedit.glade:80 msgid "Tape name:" msgstr "Tapename:" #: images/tape.glade:11 msgid "KCemu: Tape" msgstr "KCemu: Kassetten-Archiv" #: images/tape.glade:30 msgid "Tape" msgstr "Kassette" #: images/thanks.glade:6 msgid "" "Volker Pohlers\n" " for help with the windows port, technical information and\n" " bugreports\n" "Thomas Ludwig\n" " for the great KC website at http://www.kc85emu.de/ and\n" " lots of bugreports and hints how to make KCemu better\n" "Holger Krull\n" " for providing lots of information about the LC 80\n" " computer (see http://www.lc80.de/)\n" "Kev Thacker\n" " for interesting insights concerning the floppy emulation\n" " (he's also the author of the KC driver for M.E.S.S. the\n" " Multi-Emulator Super System, see http://mess.emuverse.com/)\n" "Alexander Schön\n" " for starting the windows port, lots of tips and for providing\n" " a huge pile of files for use with the emulator or with\n" " information about the various systems\n" "Sourceforge User Boo-boo\n" " for the libz80ex emulation library which is now used to emulate\n" " the Z80 CPUs\n" "Marat Fayzullin\n" " for the Z80 emulation core used for the main processor\n" " up to KCemu version 0.4.2\n" " (I needed to tweak some bits of the emulation core; see\n" " src/z80core/README for the list of changes)\n" "Marcel de Kogel\n" " for the Z80 emulation core used for the KC floppy\n" " processor up to KCemu version 0.4.2\n" "Thomas Bretz\n" " for the OS/2 port of KCemu (see http://www.d4m.de/)" msgstr "" #: images/thanks.glade:38 msgid "KCemu: Thanks" msgstr "KCemu: Danksagung" #: images/thanks.glade:58 msgid "Thanks" msgstr "Danksagung" #: images/thanks.glade:114 msgid "" "I'd like to say thanks to many people who helped to bring KCemu to the point " "where it is now. The following list just lists some of them in no particular " "order..." msgstr "" #: images/thanks.glade:151 msgid "People" msgstr "Personen" #: images/thanks.glade:168 msgid "" "Lots of tools and libraries made it easier to write KCemu. Many thanks to " "the people behind all those projects for their work..." msgstr "" #: images/thanks.glade:198 msgid "libsndfile" msgstr "libsndfile" #: images/thanks.glade:229 msgid "Ogg & Vorbis libraries" msgstr "Ogg & Vorbis libraries" #: images/thanks.glade:274 msgid "Open Clip Art Library" msgstr "Open Clip Art Library" #: images/thanks.glade:306 msgid "LAME - LAME Ain't an MP3 Encoder" msgstr "LAME - LAME Ain't an MP3 Encoder" #: images/thanks.glade:324 msgid "FLAC - Free Lossless Audio Codec" msgstr "FLAC - Free Lossless Audio Codec" #: images/thanks.glade:342 msgid "GTK+ - The GIMP Toolkit" msgstr "GTK+ - The GIMP Toolkit" #: images/thanks.glade:401 msgid "libSDL - Simple DirectMedia Layer" msgstr "libSDL - Simple DirectMedia Layer" #: images/thanks.glade:431 msgid "Xiph.org Foundation - Theora video compression" msgstr "Xiph.org Foundation - Theora video compression" #: images/thanks.glade:461 msgid "Audio/Video codec library libavcodec" msgstr "Audio/Video codec library libavcodec" #: images/thanks.glade:491 msgid "BBC Research - Dirac Video Codec" msgstr "BBC Research - Dirac Video Codec" #: images/thanks.glade:521 msgid "Xvid project" msgstr "Xvid project" #: images/thanks.glade:534 msgid "http://www.theora.org/" msgstr "http://www.theora.org/" #: images/thanks.glade:555 msgid "http://ffmpeg.org/" msgstr "http://ffmpeg.org/" #: images/thanks.glade:575 msgid "http://www.bbc.co.uk/rd/projects/dirac/" msgstr "http://www.bbc.co.uk/rd/projects/dirac/" #: images/thanks.glade:596 msgid "http://www.xvid.org/" msgstr "http://www.xvid.org/" #: images/thanks.glade:617 msgid "http://www.gtk.org/" msgstr "http://www.gtk.org/" #: images/thanks.glade:639 msgid "http://www.libsdl.org/" msgstr "http://www.libsdl.org/" #: images/thanks.glade:660 msgid "http://flac.sourceforge.net/" msgstr "http://flac.sourceforge.net/" #: images/thanks.glade:681 msgid "http://lame.sourceforge.net/" msgstr "http://lame.sourceforge.net/" #: images/thanks.glade:755 msgid "http://openclipart.org/" msgstr "http://openclipart.org/" #: images/thanks.glade:776 msgid "http://www.vorbis.com/" msgstr "http://www.vorbis.com/" #: images/thanks.glade:797 msgid "http://www.mega-nerd.com/libsndfile/" msgstr "http://www.mega-nerd.com/libsndfile/" #: images/thanks.glade:1020 msgid "Projects & Libraries" msgstr "Projekte & Bibliotheken" #: images/vdip.glade:6 msgid "KCemu: Vinculum USB" msgstr "KCemu: Vinculum USB" #: images/vdip.glade:26 msgid "Vinculum USB" msgstr "Vinculum USB" #: images/vdip.glade:65 msgid "Slot 1:" msgstr "Schacht 1:" #: images/vdip.glade:77 msgid "Slot 2:" msgstr "Schacht 2:" #: images/video.glade:6 msgid "KCemu: Video" msgstr "KCemu: Video" #: images/video.glade:26 msgid "Video" msgstr "Video" #: images/video.glade:79 msgid "Frames per Second" msgstr "Bilder pro Sekunde" #: images/video.glade:92 msgid "Start record on reset" msgstr "Aufnahme bei Reset starten" #: images/video.glade:121 msgid "Encoder" msgstr "Encoder" #: images/video.glade:143 msgid "Quality" msgstr "Qualität" #: images/video.glade:173 msgid "Video file" msgstr "Video Datei" #: images/video.glade:239 src/ui/gtk/wav.cc:174 msgid "Record" msgstr "Aufnahme" #: images/video.glade:279 msgid "Pause" msgstr "Pause" #: images/video.glade:319 src/ui/gtk/wav.cc:164 msgid "Stop" msgstr "Stop" #: src/cmd/image.cc:103 src/kc/wav.cc:81 msgid "KCemu: Select File..." msgstr "KCemu: Datei auswählen..." #: src/cmd/image.cc:127 msgid "KCemu: Can't load file..." msgstr "KCemu: Kann die Datei nicht laden..." #: src/cmd/image.cc:129 msgid "The file you selected couldn't be loaded!" msgstr "Die ausgewählte Datei kann nicht geladen werden!" #: src/cmd/image.cc:142 msgid "KCemu: Warning..." msgstr "KCemu: Warnung..." #: src/cmd/image.cc:144 msgid "" "The file you selected contains more than one\n" "program. Only the first program will be loaded.\n" "If you want to access all the contained\n" "programs add this file to a tape-archive!" msgstr "" "Die ausgewählte Datei enthält mehr als ein\n" "Programm. Es wird nur das erste Programm geladen.\n" "Um auf alle enthaltenen Programme zugreifen zu\n" "können, muß die Datei einem Kassetten-Archiv\n" "hinzugefügt werden!" #: src/getopt/getopt.c:678 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "" #: src/getopt/getopt.c:702 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "" #: src/getopt/getopt.c:707 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "" #: src/getopt/getopt.c:724 src/getopt/getopt.c:897 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "" #: src/getopt/getopt.c:753 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "" #: src/getopt/getopt.c:757 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "" #: src/getopt/getopt.c:783 #, c-format msgid "%s: illegal option -- %c\n" msgstr "" #: src/getopt/getopt.c:786 #, c-format msgid "%s: invalid option -- %c\n" msgstr "" #: src/getopt/getopt.c:816 src/getopt/getopt.c:946 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "" #: src/getopt/getopt.c:863 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "" #: src/getopt/getopt.c:881 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" #: src/kc/disk.cc:84 msgid "Select disk..." msgstr "Diskette auswählen..." #: src/kc/disk.cc:124 src/kc/tape.cc:216 msgid "create file?" msgstr "Datei anlegen?" #: src/kc/disk.cc:126 src/kc/tape.cc:218 #, c-format msgid "" "The file '%s' doesn't exist.\n" "Do you want to create it?" msgstr "" "Die Datei '%s' existiert nicht.\n" "Wollen Sie, daß sie angelegt wird?" #: src/kc/disk.cc:135 #, c-format msgid "disk-file `%s' attached." msgstr "Disketten-Datei `%s' aktiviert." #: src/kc/disk.cc:140 msgid "Can't attach disk-file." msgstr "Kann Disketten-Datei nicht aktivieren." #: src/kc/kc.cc:232 msgid "" "\n" "KCemu comes with ABSOLUTELY NO WARRANTY; for details run `kcemu --" "warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kcemu [-0123456789aAcestfhdlvVHFMELW]\n" "\n" " -0: select Z1013 profile\n" " -1: select Z9001 / KC 85/1 profile\n" " -2: select KC 85/2 profile\n" " -3: select KC 85/3 profile\n" " -4: select KC 85/4 profile\n" " -5: select KC 85/5 profile\n" " -6: select Poly-880 profile\n" " -7: select KC 87 profile\n" " -8: select LC 80 profile\n" " -9: select BIC/A5105 profile\n" " -a --autostart: autostart program on startup (kc85/3 - kc85/5 only)\n" " -A --address: override start address of autostart program\n" " -d --datadir: set data directory (for ROM images)\n" " -E --effects: enable display effects for scaled screen output\n" " -f --floppy: attach disk on startup\n" " -F --fullscreen: start in fullscreen mode (if supported by gui)\n" " -h --help: display help\n" " -H --home: overwrite setting for home directory\n" " -l --localedir: set locale directory\n" " -L --license: show license\n" " -M --modules: insert modules on startup (e.g. -M M011,M027)\n" " -o --debug-output: write debug output to file\n" " -p --profile: start with given profile\n" " -P --select-profile: show profile selector\n" " -s --scale: scale display (allowed values: 1, 2 and 3)\n" " -t --tape: attach tape on startup\n" " -v --version: show KCemu version and configuration\n" " -V --viewlist: view verbose list of available emulations\n" " -W --warranty: show warranty\n" msgstr "" "\n" "Für KCemu besteht KEINERLEI GARANTIE; starten Sie `kcemu --warranty'\n" "für Details. KCemu ist freie Software, die Sie unter bestimmten Bedingungen\n" "weitergeben dürfen; starten Sie `kcemu --license' für Details.\n" "\n" "Aufruf: kcemu [-0123456789aAcestfhdlvVHFMELW]\n" "\n" " -0: Starten mit Z1013 Profil\n" " -1: Starten mit Z9001 / KC 85/1 Profil\n" " -2: Starten mit KC 85/2 Profil\n" " -3: Starten mit KC 85/3 Profil\n" " -4: Starten mit KC 85/4 Profil\n" " -5: Starten mit KC 85/5 Profil\n" " -6: Starten mit Poly-880 Profil\n" " -7: Starten mit KC 87 Profil\n" " -8: Starten mit LC 80 Profil\n" " -9: Starten mit BIC/A5105 Profil\n" " -a --autostart: Automatischer Start des angegebenen Programms (nur " "kc85/3 - kc85/5)\n" " -A --address: Startadresse für das automatisch zu startende " "Programm\n" " -d --datadir: Setzen des Daten-Verzeichnisses (für ROM-Images)\n" " -E --effects: Anzeige mit Screen-Effekten bei vergrößerter " "Darstellung\n" " -f --floppy: Aktivieren eines Disketten-Images beim Start\n" " -F --fullscreen: Start im Vollbild-Modus (wenn durch GUI unterstützt)\n" " -h --help: diese Hilfe anzeigen\n" " -H --home: Überschreiben der Einstellung für das " "Homeverzeichnis\n" " -l --localedir: Setzen des Locale-Verzeichnisses für die " "Sprachanpassung\n" " -L --license: Anzeige der Lizenz\n" " -M --modules: Module beim Start aktivieren (e.g. -M M011,M027)\n" " -o --debug-output: Debug-Ausgabe in Datei umleiten\n" " -p --profile: Start mit dem angegebenen Profil\n" " -P --select-profile: Start mit Fenster zur Profil-Auswahl\n" " -s --scale: Vergrößerung der Anzeige (erlaubt sind die Werte 1, 2 " "und 3)\n" " -t --tape: Aktivieren eines Tape-Archives beim Start\n" " -v --version: Anzeige der KCemu Version und Konfiguration\n" " -V --viewlist: Ausführliche Liste der emulierten Typen\n" " -W --warranty: Anzeige des Haftungsausschlusses\n" #: src/kc/kc.cc:299 msgid "" "\n" "\t\t GNU GENERAL PUBLIC LICENSE\n" "\t\t Version 2, June 1991\n" "\n" " Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n" " 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n" " Everyone is permitted to copy and distribute verbatim copies\n" " of this license document, but changing it is not allowed.\n" "\n" "\t\t\t Preamble\n" "\n" " The licenses for most software are designed to take away your\n" "freedom to share and change it. By contrast, the GNU General Public\n" "License is intended to guarantee your freedom to share and change free\n" "software--to make sure the software is free for all its users. This\n" "General Public License applies to most of the Free Software\n" "Foundation's software and to any other program whose authors commit to\n" "using it. (Some other Free Software Foundation software is covered by\n" "the GNU Library General Public License instead.) You can apply it to\n" "your programs, too.\n" "\n" " When we speak of free software, we are referring to freedom, not\n" "price. Our General Public Licenses are designed to make sure that you\n" "have the freedom to distribute copies of free software (and charge for\n" "this service if you wish), that you receive source code or can get it\n" "if you want it, that you can change the software or use pieces of it\n" "in new free programs; and that you know you can do these things.\n" "\n" " To protect your rights, we need to make restrictions that forbid\n" "anyone to deny you these rights or to ask you to surrender the rights.\n" "These restrictions translate to certain responsibilities for you if you\n" "distribute copies of the software, or if you modify it.\n" "\n" " For example, if you distribute copies of such a program, whether\n" "gratis or for a fee, you must give the recipients all the rights that\n" "you have. You must make sure that they, too, receive or can get the\n" "source code. And you must show them these terms so they know their\n" "rights.\n" "\n" " We protect your rights with two steps: (1) copyright the software, and\n" "(2) offer you this license which gives you legal permission to copy,\n" "distribute and/or modify the software.\n" "\n" " Also, for each author's protection and ours, we want to make certain\n" "that everyone understands that there is no warranty for this free\n" "software. If the software is modified by someone else and passed on, we\n" "want its recipients to know that what they have is not the original, so\n" "that any problems introduced by others will not reflect on the original\n" "authors' reputations.\n" "\n" " Finally, any free program is threatened constantly by software\n" "patents. We wish to avoid the danger that redistributors of a free\n" "program will individually obtain patent licenses, in effect making the\n" "program proprietary. To prevent this, we have made it clear that any\n" "patent must be licensed for everyone's free use or not licensed at all.\n" "\n" " The precise terms and conditions for copying, distribution and\n" "modification follow.\n" "\n" "\t\t GNU GENERAL PUBLIC LICENSE\n" " TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n" "\n" " 0. This License applies to any program or other work which contains\n" "a notice placed by the copyright holder saying it may be distributed\n" "under the terms of this General Public License. The \"Program\", below,\n" "refers to any such program or work, and a \"work based on the Program\"\n" "means either the Program or any derivative work under copyright law:\n" "that is to say, a work containing the Program or a portion of it,\n" "either verbatim or with modifications and/or translated into another\n" "language. (Hereinafter, translation is included without limitation in\n" "the term \"modification\".) Each licensee is addressed as \"you\".\n" "\n" "Activities other than copying, distribution and modification are not\n" "covered by this License; they are outside its scope. The act of\n" "running the Program is not restricted, and the output from the Program\n" "is covered only if its contents constitute a work based on the\n" "Program (independent of having been made by running the Program).\n" "Whether that is true depends on what the Program does.\n" "\n" " 1. You may copy and distribute verbatim copies of the Program's\n" "source code as you receive it, in any medium, provided that you\n" "conspicuously and appropriately publish on each copy an appropriate\n" "copyright notice and disclaimer of warranty; keep intact all the\n" "notices that refer to this License and to the absence of any warranty;\n" "and give any other recipients of the Program a copy of this License\n" "along with the Program.\n" "\n" "You may charge a fee for the physical act of transferring a copy, and\n" "you may at your option offer warranty protection in exchange for a fee.\n" "\n" " 2. You may modify your copy or copies of the Program or any portion\n" "of it, thus forming a work based on the Program, and copy and\n" "distribute such modifications or work under the terms of Section 1\n" "above, provided that you also meet all of these conditions:\n" "\n" " a) You must cause the modified files to carry prominent notices\n" " stating that you changed the files and the date of any change.\n" "\n" " b) You must cause any work that you distribute or publish, that in\n" " whole or in part contains or is derived from the Program or any\n" " part thereof, to be licensed as a whole at no charge to all third\n" " parties under the terms of this License.\n" "\n" " c) If the modified program normally reads commands interactively\n" " when run, you must cause it, when started running for such\n" " interactive use in the most ordinary way, to print or display an\n" " announcement including an appropriate copyright notice and a\n" " notice that there is no warranty (or else, saying that you provide\n" " a warranty) and that users may redistribute the program under\n" " these conditions, and telling the user how to view a copy of this\n" " License. (Exception: if the Program itself is interactive but\n" " does not normally print such an announcement, your work based on\n" " the Program is not required to print an announcement.)\n" "\n" "These requirements apply to the modified work as a whole. If\n" "identifiable sections of that work are not derived from the Program,\n" "and can be reasonably considered independent and separate works in\n" "themselves, then this License, and its terms, do not apply to those\n" "sections when you distribute them as separate works. But when you\n" "distribute the same sections as part of a whole which is a work based\n" "on the Program, the distribution of the whole must be on the terms of\n" "this License, whose permissions for other licensees extend to the\n" "entire whole, and thus to each and every part regardless of who wrote it.\n" "\n" "Thus, it is not the intent of this section to claim rights or contest\n" "your rights to work written entirely by you; rather, the intent is to\n" "exercise the right to control the distribution of derivative or\n" "collective works based on the Program.\n" "\n" "In addition, mere aggregation of another work not based on the Program\n" "with the Program (or with a work based on the Program) on a volume of\n" "a storage or distribution medium does not bring the other work under\n" "the scope of this License.\n" "\n" " 3. You may copy and distribute the Program (or a work based on it,\n" "under Section 2) in object code or executable form under the terms of\n" "Sections 1 and 2 above provided that you also do one of the following:\n" "\n" " a) Accompany it with the complete corresponding machine-readable\n" " source code, which must be distributed under the terms of Sections\n" " 1 and 2 above on a medium customarily used for software interchange; " "or,\n" "\n" " b) Accompany it with a written offer, valid for at least three\n" " years, to give any third party, for a charge no more than your\n" " cost of physically performing source distribution, a complete\n" " machine-readable copy of the corresponding source code, to be\n" " distributed under the terms of Sections 1 and 2 above on a medium\n" " customarily used for software interchange; or,\n" "\n" " c) Accompany it with the information you received as to the offer\n" " to distribute corresponding source code. (This alternative is\n" " allowed only for noncommercial distribution and only if you\n" " received the program in object code or executable form with such\n" " an offer, in accord with Subsection b above.)\n" "\n" "The source code for a work means the preferred form of the work for\n" "making modifications to it. For an executable work, complete source\n" "code means all the source code for all modules it contains, plus any\n" "associated interface definition files, plus the scripts used to\n" "control compilation and installation of the executable. However, as a\n" "special exception, the source code distributed need not include\n" "anything that is normally distributed (in either source or binary\n" "form) with the major components (compiler, kernel, and so on) of the\n" "operating system on which the executable runs, unless that component\n" "itself accompanies the executable.\n" "\n" "If distribution of executable or object code is made by offering\n" "access to copy from a designated place, then offering equivalent\n" "access to copy the source code from the same place counts as\n" "distribution of the source code, even though third parties are not\n" "compelled to copy the source along with the object code.\n" "\n" " 4. You may not copy, modify, sublicense, or distribute the Program\n" "except as expressly provided under this License. Any attempt\n" "otherwise to copy, modify, sublicense or distribute the Program is\n" "void, and will automatically terminate your rights under this License.\n" "However, parties who have received copies, or rights, from you under\n" "this License will not have their licenses terminated so long as such\n" "parties remain in full compliance.\n" "\n" " 5. You are not required to accept this License, since you have not\n" "signed it. However, nothing else grants you permission to modify or\n" "distribute the Program or its derivative works. These actions are\n" "prohibited by law if you do not accept this License. Therefore, by\n" "modifying or distributing the Program (or any work based on the\n" "Program), you indicate your acceptance of this License to do so, and\n" "all its terms and conditions for copying, distributing or modifying\n" "the Program or works based on it.\n" "\n" " 6. Each time you redistribute the Program (or any work based on the\n" "Program), the recipient automatically receives a license from the\n" "original licensor to copy, distribute or modify the Program subject to\n" "these terms and conditions. You may not impose any further\n" "restrictions on the recipients' exercise of the rights granted herein.\n" "You are not responsible for enforcing compliance by third parties to\n" "this License.\n" "\n" " 7. If, as a consequence of a court judgment or allegation of patent\n" "infringement or for any other reason (not limited to patent issues),\n" "conditions are imposed on you (whether by court order, agreement or\n" "otherwise) that contradict the conditions of this License, they do not\n" "excuse you from the conditions of this License. If you cannot\n" "distribute so as to satisfy simultaneously your obligations under this\n" "License and any other pertinent obligations, then as a consequence you\n" "may not distribute the Program at all. For example, if a patent\n" "license would not permit royalty-free redistribution of the Program by\n" "all those who receive copies directly or indirectly through you, then\n" "the only way you could satisfy both it and this License would be to\n" "refrain entirely from distribution of the Program.\n" "\n" "If any portion of this section is held invalid or unenforceable under\n" "any particular circumstance, the balance of the section is intended to\n" "apply and the section as a whole is intended to apply in other\n" "circumstances.\n" "\n" "It is not the purpose of this section to induce you to infringe any\n" "patents or other property right claims or to contest validity of any\n" "such claims; this section has the sole purpose of protecting the\n" "integrity of the free software distribution system, which is\n" "implemented by public license practices. Many people have made\n" "generous contributions to the wide range of software distributed\n" "through that system in reliance on consistent application of that\n" "system; it is up to the author/donor to decide if he or she is willing\n" "to distribute software through any other system and a licensee cannot\n" "impose that choice.\n" "\n" "This section is intended to make thoroughly clear what is believed to\n" "be a consequence of the rest of this License.\n" "\n" " 8. If the distribution and/or use of the Program is restricted in\n" "certain countries either by patents or by copyrighted interfaces, the\n" "original copyright holder who places the Program under this License\n" "may add an explicit geographical distribution limitation excluding\n" "those countries, so that distribution is permitted only in or among\n" "countries not thus excluded. In such case, this License incorporates\n" "the limitation as if written in the body of this License.\n" "\n" " 9. The Free Software Foundation may publish revised and/or new versions\n" "of the General Public License from time to time. Such new versions will\n" "be similar in spirit to the present version, but may differ in detail to\n" "address new problems or concerns.\n" "\n" "Each version is given a distinguishing version number. If the Program\n" "specifies a version number of this License which applies to it and \"any\n" "later version\", you have the option of following the terms and conditions\n" "either of that version or of any later version published by the Free\n" "Software Foundation. If the Program does not specify a version number of\n" "this License, you may choose any version ever published by the Free " "Software\n" "Foundation.\n" "\n" " 10. If you wish to incorporate parts of the Program into other free\n" "programs whose distribution conditions are different, write to the author\n" "to ask for permission. For software which is copyrighted by the Free\n" "Software Foundation, write to the Free Software Foundation; we sometimes\n" "make exceptions for this. Our decision will be guided by the two goals\n" "of preserving the free status of all derivatives of our free software and\n" "of promoting the sharing and reuse of software generally.\n" "\n" msgstr "" "\n" "Deutsche Übersetzung der GNU General Public License\n" "\n" " \n" " Erstellt im Auftrag der S.u.S.E. GmbH [suse@suse.de]\n" " von Katja Lachmann Übersetzungen [na194@fim.uni-erlangen.de],\n" " überarbeitet von Peter Gerwinski [peter.gerwinski@uni-essen.de] (31.\n" " Oktober 1996)\n" " \n" " Diese Übersetzung wird mit der Absicht angeboten, das Verständnis der\n" " GNU General Public License (GNU-GPL) zu erleichtern. Es handelt sich\n" " jedoch nicht um eine offizielle oder im rechtlichen Sinne anerkannte\n" " Übersetzung.\n" " \n" " Die Free Software Foundation (FSF) ist nicht der Herausgeber dieser\n" " Übersetzung, und sie hat diese Übersetzung auch nicht als\n" " rechtskräftigen Ersatz für die Original-GNU-GPL anerkannt. Da die\n" " Übersetzung nicht sorgfältig von Anwälten überprüft wurde, können die\n" " Übersetzer nicht garantieren, daß die Übersetzung die rechtlichen\n" " Aussagen der GNU-GPL exakt wiedergibt. Wenn Sie sichergehen wollen,\n" " daß von Ihnen geplante Aktivitäten im Sinne der GNU-GPL gestattet\n" " sind, halten Sie sich bitte an die englischsprachige Originalversion.\n" " \n" " Die Free Software Foundation möchte Sie darum bitten, diese\n" " Übersetzung nicht als offizielle Lizenzbedingungen für von Ihnen\n" " geschriebene Programme zu verwenden. Bitte benutzen Sie hierfür\n" " stattdessen die von der Free Software Foundation herausgegebene\n" " englischsprachige Originalversion.\n" " \n" " This is a translation of the GNU General Public License into German.\n" " This translation is distributed in the hope that it will facilitate\n" " understanding, but it is not an official or legally approved\n" " translation.\n" " \n" " The Free Software Foundation is not the publisher of this translation\n" " and has not approved it as a legal substitute for the authentic GNU\n" " General Public License. The translation has not been reviewed\n" " carefully by lawyers, and therefore the translator cannot be sure that\n" " it exactly represents the legal meaning of the GNU General Public\n" " License. If you wish to be sure whether your planned activities are\n" " permitted by the GNU General Public License, please refer to the\n" " authentic English version.\n" " \n" " The Free Software Foundation strongly urges you not to use this\n" " translation as the official distribution terms for your programs;\n" " instead, please use the authentic English version published by the\n" " Free Software Foundation.\n" " _________________________________________________________________\n" " \n" " GNU General Public License\n" " \n" " Deutsche Übersetzung der Version 2, Juni 1991\n" " \n" " Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n" " 675 Mass Ave, Cambridge, MA 02139, USA\n" " \n" " Jeder hat das Recht, diese Lizenzurkunde zu vervielfältigen und\n" " unveränderte Kopien zu verbreiten; Änderungen sind jedoch nicht\n" " gestattet.\n" " \n" " Diese Übersetzung ist kein rechtskräftiger Ersatz für die\n" " englischsprachige Originalversion!\n" " \n" "Vorwort\n" "\n" " Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen\n" " die Freiheit zu nehmen, die Software weiterzugeben und zu verändern.\n" " Im Gegensatz dazu soll Ihnen die GNU General Public License, die\n" " allgemeine öffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie\n" " soll sicherstellen, daß die Software für alle Benutzer frei ist. Diese\n" " Lizenz gilt für den Großteil der von der Free Software Foundation\n" " herausgegebenen Software und für alle anderen Programme, deren Autoren\n" " ihr Werk dieser Lizenz unterstellt haben. Auch Sie können diese\n" " Möglichkeit der Lizenzierung für Ihre Programme anwenden. (Ein anderer\n" " Teil der Software der Free Software Foundation unterliegt stattdessen\n" " der GNU Library General Public License, der allgemeinen öffentlichen\n" " GNU-Lizenz für Bibliotheken.\n" " )\n" " \n" " Die Bezeichnung \"freie\" Software bezieht sich auf Freiheit, nicht auf\n" " den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren,\n" " Kopien freier Software zu verbreiten (und etwas für diesen Service zu\n" " berechnen, wenn Sie möchten), die Möglichkeit, die Software im\n" " Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die\n" " Lizenzen sollen garantieren, daß Sie die Software ändern oder Teile\n" " davon in neuen freien Programmen verwenden dürfen - und daß Sie\n" " wissen, daß Sie dies alles tun dürfen.\n" " \n" " Um Ihre Rechte zu schützen, müssen wir Einschränkungen machen, die es\n" " jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie\n" " aufzufordern, auf diese Rechte zu verzichten. Aus diesen\n" " Einschränkungen folgen bestimmte Verantwortlichkeiten für Sie, wenn\n" " Sie Kopien der Software verbreiten oder sie verändern.\n" " \n" " Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie\n" " selbst haben, wenn Sie - kostenlos oder gegen Bezahlung - Kopien eines\n" " solchen Programms verbreiten. Sie müssen sicherstellen, daß auch sie\n" " den Quelltext erhalten bzw. erhalten können. Und Sie müssen ihnen\n" " diese Bedingungen zeigen, damit sie ihre Rechte kennen.\n" " \n" " Wir schützen Ihre Rechte in zwei Schritten: (1) Wir stellen die\n" " Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen\n" " diese Lizenz an, die Ihnen das Recht gibt, die Software zu\n" " vervielfältigen, zu verbreiten und/oder zu verändern.\n" " \n" " Um die Autoren und uns zu schützen, wollen wir darüberhinaus\n" " sicherstellen, daß jeder erfährt, daß für diese freie Software\n" " keinerlei Garantie besteht. Wenn die Software von jemand anderem\n" " modifiziert und weitergegeben wird, möchten wir, daß die Empfänger\n" " wissen, daß sie nicht das Original erhalten haben, damit von anderen\n" " verursachte Probleme nicht den Ruf des ursprünglichen Autors\n" " schädigen.\n" " \n" " Schließlich und endlich ist jedes freie Programm permanent durch\n" " Software-Patente bedroht. Wir möchten die Gefahr ausschließen, daß\n" " Distributoren eines freien Programms individuell Patente lizensieren -\n" " mit dem Ergebnis, daß das Programm proprietär würde. Um dies zu\n" " verhindern, haben wir klargestellt, daß jedes Patent entweder für\n" " freie Benutzung durch jedermann lizenziert werden muß oder überhaupt\n" " nicht lizenziert werden darf.\n" " \n" " Es folgen die genauen Bedingungen für die Vervielfältigung,\n" " Verbreitung und Bearbeitung:\n" " \n" "Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung\n" "\n" " Paragraph 0. Diese Lizenz gilt für jedes Programm und jedes andere\n" " Werk, in dem ein entsprechender Vermerk des Copyright-Inhabers darauf\n" " hinweist, daß das Werk unter den Bestimmungen dieser General Public\n" " License verbreitet werden darf. Im folgenden wird jedes derartige\n" " Programm oder Werk als \"das Programm\" bezeichnet; die Formulierung\n" " \"auf dem Programm basierendes Werk\" bezeichnet das Programm sowie\n" " jegliche Bearbeitung des Programms im urheberrechtlichen Sinne, also\n" " ein Werk, welches das Programm, auch auszugsweise, sei es unverändert\n" " oder verändert und/oder in eine andere Sprache übersetzt, enthält. (Im\n" " folgenden wird die Übersetzung ohne Einschränkung als \"Bearbeitung\"\n" " eingestuft.) Jeder Lizenznehmer wird im folgenden als \"Sie\"\n" " angesprochen.\n" " \n" " Andere Handlungen als Vervielfältigung, Verbreitung und Bearbeitung\n" " werden von dieser Lizenz nicht berührt; sie fallen nicht in ihren\n" " Anwendungsbereich. Der Vorgang der Ausführung des Programms wird nicht\n" " eingeschränkt, und die Ausgaben des Programms unterliegen dieser\n" " Lizenz nur, wenn der Inhalt ein auf dem Programm basierendes Werk\n" " darstellt (unabhängig davon, daß die Ausgabe durch die Ausführung des\n" " Programmes erfolgte). Ob dies zutrifft, hängt von den Funktionen des\n" " Programms ab.\n" " \n" " Paragraph 1. Sie dürfen auf beliebigen Medien unveränderte Kopien des\n" " Quelltextes des Programms, wie sie ihn erhalten haben, anfertigen und\n" " verbreiten. Voraussetzung hierfür ist, daß Sie mit jeder Kopie einen\n" " entsprechenden Copyright-Vermerk sowie einen Haftungsausschluß\n" " veröffentlichen, alle Vermerke, die sich auf diese Lizenz und das\n" " Fehlen einer Garantie beziehen, unverändert lassen und desweiteren\n" " allen anderen Empfängern des Programms zusammen mit dem Programm eine\n" " Kopie dieser Lizenz zukommen lassen.\n" " \n" " Sie dürfen für den eigentlichen Kopiervorgang eine Gebühr verlangen.\n" " Wenn Sie es wünschen, dürfen Sie auch gegen Entgelt eine Garantie für\n" " das Programm anbieten.\n" " \n" " Paragraph 2. Sie dürfen Ihre Kopie(n) des Programms oder eines Teils\n" " davon verändern, wodurch ein auf dem Programm basierendes Werk\n" " entsteht; Sie dürfen derartige Bearbeitungen unter den Bestimmungen\n" " von Paragraph 1 vervielfältigen und verbreiten, vorausgesetzt, daß\n" " zusätzlich alle folgenden Bedingungen erfüllt werden:\n" " \n" " (a)\n" " Sie müssen die veränderten Dateien mit einem auffälligen\n" " Vermerk versehen, der auf die von Ihnen vorgenommene\n" " Modifizierung und das Datum jeder Änderung hinweist.\n" " \n" " (b)\n" " Sie müssen dafür sorgen, daß jede von Ihnen verbreitete oder\n" " veröffentlichte Arbeit, die ganz oder teilweise von dem\n" " Programm oder Teilen davon abgeleitet ist, Dritten gegenüber\n" " als Ganzes unter den Bedingungen dieser Lizenz ohne\n" " Lizenzgebühren zur Verfügung gestellt wird.\n" " \n" " (c)\n" " Wenn das veränderte Programm normalerweise bei der Ausführung\n" " interaktiv Kommandos einliest, müssen Sie dafür sorgen, daß es,\n" " wenn es auf dem üblichsten Wege für solche interaktive Nutzung\n" " gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen\n" " geeigneten Copyright-Vermerk enthält sowie einen Hinweis, daß\n" " es keine Gewährleistung gibt (oder anderenfalls, daß Sie\n" " Garantie leisten), und daß die Benutzer das Programm unter\n" " diesen Bedingungen weiter verbreiten dürfen. Auch muß der\n" " Benutzer darauf hingewiesen werden, wie er eine Kopie dieser\n" " Lizenz ansehen kann. (Ausnahme: Wenn das Programm selbst\n" " interaktiv arbeitet, aber normalerweise keine derartige Meldung\n" " ausgibt, muß Ihr auf dem Programm basierendes Werk auch keine\n" " solche Meldung ausgeben).\n" " \n" " Diese Anforderungen betreffen das veränderte Werk als Ganzes. Wenn\n" " identifizierbare Abschnitte des Werkes nicht von dem Programm\n" " abgeleitet sind und vernünftigerweise selbst als unabhängige und\n" " eigenständige Werke betrachtet werden können, dann erstrecken sich\n" " diese Lizenz und ihre Bedingungen nicht auf diese Abschnitte, wenn sie\n" " als eigenständige Werke verbreitet werden. Wenn Sie jedoch dieselben\n" " Abschnitte als Teil eines Ganzen verbreiten, das ein auf dem Programm\n" " basierendes Werk darstellt, dann muß die Verbreitung des Ganzen nach\n" " den Bedingungen dieser Lizenz erfolgen, deren Bedingungen für weitere\n" " Lizenznehmer somit auf die Gesamtheit ausgedehnt werden - und damit\n" " auf jeden einzelnen Teil, unabhängig vom jeweiligen Autor.\n" " \n" " Somit ist es nicht die Absicht dieses Abschnittes, Rechte für Werke in\n" " Anspruch zu nehmen oder zu beschneiden, die komplett von Ihnen\n" " geschrieben wurden; vielmehr ist es die Absicht, die Rechte zur\n" " Kontrolle der Verbreitung von Werken, die auf dem Programm basieren\n" " oder unter seiner auszugsweisen Verwendung zusammengestellt worden\n" " sind, auszuüben.\n" " \n" " Ferner bringt ein einfaches Zusammenstellen eines anderen Werkes, das\n" " nicht auf dem Programm basiert, zusammen mit dem Programm oder einem\n" " auf dem Programm basierenden Werk auf ein- und demselben Speicher-\n" " oder Vertriebsmedium das andere Werk nicht in den Anwendungsbereich\n" " dieser Lizenz.\n" " \n" " Paragraph 3. Sie dürfen das Programm (oder ein darauf basierendes Werk\n" " gemäß Paragraph 2) als Objectcode oder in ausführbarer Form unter den\n" " Bedingungen von Paragraph 1 und 2 vervielfältigen und verbreiten -\n" " vorausgesetzt, daß Sie außerdem eine der folgenden Leistungen\n" " erbringen:\n" " \n" " (a)\n" " Liefern Sie das Programm zusammen mit dem vollständigen\n" " zugehörigen maschinenlesbaren Quelltext auf einem für den\n" " Datenaustausch üblichen Medium aus, wobei die Verteilung unter\n" " den Bedingungen der Paragraphen 1 und 2 erfolgen muß. Oder:\n" " \n" " (b)\n" " Liefern Sie das Programm zusammen mit einem mindestens drei\n" " Jahre lang gültigen schriftlichen Angebot aus, jedem Dritten\n" " eine vollständige maschinenlesbare Kopie des Quelltextes zur\n" " Verfügung zu stellen - zu nicht höheren Kosten als denen, die\n" " durch den physikalischen Kopiervorgang anfallen -, wobei der\n" " Quelltext unter den Bedingungen der Paragraphen 1 und 2 auf\n" " einem für den Datenaustausch üblichen Medium weitergegeben\n" " wird. Oder:\n" " \n" " (c)\n" " Liefern Sie das Programm zusammen mit dem schriftlichen Angebot\n" " der Zurverfügungstellung des Quelltextes aus, das Sie selbst\n" " erhalten haben. (Diese Alternative ist nur für\n" " nicht-kommerzielle Verbreitung zulässig und nur, wenn Sie das\n" " Programm als Objectcode oder in ausführbarer Form mit einem\n" " entsprechenden Angebot gemäß Absatz b erhalten haben.)\n" " \n" " Unter dem Quelltext eines Werkes wird diejenige Form des Werkes\n" " verstanden, die für Bearbeitungen vorzugsweise verwendet wird. Für ein\n" " ausführbares Programm bedeutet \"der komplette Quelltext\": Der\n" " Quelltext aller im Programm enthaltenen Module einschließlich aller\n" " zugehörigen Modulschnittstellen-Definitionsdateien sowie der zur\n" " Compilation und Installation verwendeten Skripte. Als besondere\n" " Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu\n" " enthalten, was üblicherweise (entweder als Quelltext oder in binärer\n" " Form) zusammen mit den Hauptkomponenten des Betriebssystems (Kernel,\n" " Compiler usw.) geliefert wird, unter dem das Programm läuft - es sei\n" " denn, diese Komponente selbst gehört zum ausführbaren Programm.\n" " \n" " Wenn die Verbreitung eines ausführbaren Programms oder des Objectcodes\n" " dadurch erfolgt, daß der Kopierzugriff auf eine dafür vorgesehene\n" " Stelle gewährt wird, so gilt die Gewährung eines gleichwertigen\n" " Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn\n" " Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem\n" " Objectcode zu kopieren.\n" " \n" " Paragraph 4. Sie dürfen das Programm nicht vervielfältigen, verändern,\n" " weiter lizenzieren oder verbreiten, sofern es nicht durch diese Lizenz\n" " ausdrücklich gestattet ist. Jeder anderweitige Versuch der\n" " Vervielfältigung, Modifizierung, Weiterlizenzierung und Verbreitung\n" " ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz.\n" " Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte\n" " unter dieser Lizenz erhalten haben, nicht beendet, solange diese die\n" " Lizenz voll anerkennen und befolgen.\n" " \n" " Paragraph 5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da\n" " Sie sie nicht unterzeichnet haben. Jedoch gibt Ihnen nichts anderes\n" " die Erlaubnis, das Programm oder von ihm abgeleitete Werke zu\n" " verändern oder zu verbreiten. Diese Handlungen sind gesetzlich\n" " verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das\n" " Programm (oder ein darauf basierendes Werk) verändern oder verbreiten,\n" " erklären Sie Ihr Einverständnis mit dieser Lizenz und mit allen ihren\n" " Bedingungen bezüglich der Vervielfältigung, Verbreitung und\n" " Veränderung des Programms oder eines darauf basierenden Werkes.\n" " \n" " Paragraph 6. Jedesmal, wenn Sie das Programm (oder ein auf dem\n" " Programm basierendes Werk) weitergeben, erhält der Empfänger\n" " automatisch vom ursprünglichen Lizenzgeber die Lizenz, das Programm\n" " entsprechend den hier festgelegten Bestimmungen zu vervielfältigen, zu\n" " verbreiten und zu verändern. Sie dürfen keine weiteren Einschränkungen\n" " der Durchsetzung der hierin zugestandenen Rechte des Empfängers\n" " vornehmen. Sie sind nicht dafür verantwortlich, die Einhaltung dieser\n" " Lizenz durch Dritte durchzusetzen.\n" " \n" " Paragraph 7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs\n" " einer Patentverletzung oder aus einem anderen Grunde (nicht auf\n" " Patentfragen begrenzt) Bedingungen (durch Gerichtsbeschluß, Vergleich\n" " oder anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz\n" " widersprechen, so befreien Sie diese Umstände nicht von den\n" " Bestimmungen dieser Lizenz. Wenn es Ihnen nicht möglich ist, das\n" " Programm unter gleichzeitiger Beachtung der Bedingungen in dieser\n" " Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann\n" " dürfen Sie als Folge das Programm überhaupt nicht verbreiten. Wenn zum\n" " Beispiel ein Patent nicht die gebührenfreie Weiterverbreitung des\n" " Programms durch diejenigen erlaubt, die das Programm direkt oder\n" " indirekt von Ihnen erhalten haben, dann besteht der einzige Weg,\n" " sowohl das Patentrecht als auch diese Lizenz zu befolgen, darin, ganz\n" " auf die Verbreitung des Programms zu verzichten.\n" " \n" " Sollte sich ein Teil dieses Paragraphen als ungültig oder unter\n" " bestimmten Umständen nicht durchsetzbar erweisen, so soll dieser\n" " Paragraph seinem Sinne nach angewandt werden; im übrigen soll dieser\n" " Paragraph als Ganzes gelten.\n" " \n" " Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche\n" " Patente oder andere Eigentumsansprüche zu verletzen oder die\n" " Gültigkeit solcher Ansprüche zu bestreiten; dieser Paragraph hat\n" " einzig den Zweck, die Integrität des Verbreitungssystems der freien\n" " Software zu schützen, das durch die Praxis öffentlicher Lizenzen\n" " verwirklicht wird. Viele Leute haben großzügige Beiträge zu dem großen\n" " Angebot der mit diesem System verbreiteten Software im Vertrauen auf\n" " die konsistente Anwendung dieses Systems geleistet; es liegt am\n" " Autor/Geber, zu entscheiden, ob er die Software mittels irgendeines\n" " anderen Systems verbreiten will; ein Lizenznehmer hat auf diese\n" " Entscheidung keinen Einfluß.\n" " \n" " Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als\n" " Konsequenz aus dem Rest dieser Lizenz betrachtet wird.\n" " \n" " Paragraph 8. Wenn die Verbreitung und/oder die Benutzung des Programms\n" " in bestimmten Staaten entweder durch Patente oder durch\n" " urheberrechtlich geschützte Schnittstellen eingeschränkt ist, kann der\n" " Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt\n" " hat, eine explizite geographische Begrenzung der Verbreitung angeben,\n" " in der diese Staaten ausgeschlossen werden, so daß die Verbreitung nur\n" " innerhalb und zwischen den Staaten erlaubt ist, die nicht\n" " ausgeschlossen sind. In einem solchen Fall beinhaltet diese Lizenz die\n" " Beschränkung, als wäre sie in diesem Text niedergeschrieben.\n" " \n" " Paragraph 9. Die Free Software Foundation kann von Zeit zu Zeit\n" " überarbeitete und/oder neue Versionen der General Public License\n" " veröffentlichen. Solche neuen Versionen werden vom Grundprinzip her\n" " der gegenwärtigen entsprechen, können aber im Detail abweichen, um\n" " neuen Problemen und Anforderungen gerecht zu werden.\n" " \n" " Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in\n" " einem Programm angegeben wird, daß es dieser Lizenz in einer\n" " bestimmten Versionsnummer oder \"jeder späteren Version\" (\"any later\n" " version\") unterliegt, so haben Sie die Wahl, entweder den Bestimmungen\n" " der genannten Version zu folgen oder denen jeder beliebigen späteren\n" " Version, die von der Free Software Foundation veröffentlicht wurde.\n" " Wenn das Programm keine Versionsnummer angibt, können Sie eine\n" " beliebige Version wählen, die je von der Free Software Foundation\n" " veröffentlicht wurde.\n" " \n" " Paragraph 10. Wenn Sie den Wunsch haben, Teile des Programms in\n" " anderen freien Programmen zu verwenden, deren Bedingungen für die\n" " Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die\n" " Erlaubnis zu bitten. Für Software, die unter dem Copyright der Free\n" " Software Foundation steht, schreiben Sie an die Free Software\n" " Foundation; wir machen zu diesem Zweck gelegentlich Ausnahmen. Unsere\n" " Entscheidung wird von den beiden Zielen geleitet werden, zum einen den\n" " freien Status aller von unserer freien Software abgeleiteten Werke zu\n" " erhalten und zum anderen das gemeinschaftliche Nutzen und\n" " Wiederverwenden von Software im allgemeinen zu fördern.\n" " \n" #: src/kc/kc.cc:561 msgid "" "\n" "NO WARRANTY\n" "\n" " 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n" "FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\n" "OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n" "PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER " "EXPRESSED\n" "OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n" "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\n" "TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\n" "PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n" "REPAIR OR CORRECTION.\n" "\n" " 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n" "WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n" "REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n" "INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n" "OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n" "TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n" "YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n" "PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n" "POSSIBILITY OF SUCH DAMAGES.\n" "\n" msgstr "" "\n" "[ Diese Übersetzung wird mit der Absicht angeboten, das Verständnis der ]\n" "[ GNU General Public License (GNU-GPL) zu erleichtern. Es handelt sich ]\n" "[ jedoch nicht um eine offizielle oder im rechtlichen Sinne anerkannte ]\n" "[ Übersetzung. ]\n" "[ ]\n" "[ Erstellt im Auftrag der S.u.S.E. GmbH [suse@suse.de] ]\n" "[ von Katja Lachmann Übersetzungen [na194@fim.uni-erlangen.de], ]\n" "[ überarbeitet von Peter Gerwinski [peter.gerwinski@uni-essen.de] ]\n" "[ (31. Oktober 1996) ]\n" "\n" "Keine Gewährleistung\n" " \n" "Paragraph 11. Da das Programm ohne jegliche Kosten lizenziert wird,\n" "besteht keinerlei Gewährleistung für das Programm, soweit dies\n" "gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich\n" "bestätigt, stellen die Copyright-Inhaber und/oder Dritte das Programm\n" "so zur Verfügung, \"wie es ist\", ohne irgendeine Gewährleistung, weder\n" "ausdrücklich noch implizit, einschließlich - aber nicht begrenzt auf -\n" "Marktreife oder Verwendbarkeit für einen bestimmten Zweck. Das volle\n" "Risiko bezüglich Qualität und Leistungsfähigkeit des Programms liegt\n" "bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen,\n" "liegen die Kosten für notwendigen Service, Reparatur oder Korrektur\n" "bei Ihnen.\n" "\n" "Paragraph 12. In keinem Fall, außer wenn durch geltendes Recht\n" "gefordert oder schriftlich zugesichert, ist irgendein\n" "Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben\n" "erlaubt modifiziert oder verbreitet hat, Ihnen gegenüber für\n" "irgendwelche Schäden haftbar, einschließlich jeglicher allgemeiner\n" "oder spezieller Schäden, Schäden durch Seiteneffekte (Nebenwirkungen)\n" "oder Folgeschäden, die aus der Benutzung des Programms oder der\n" "Unbenutzbarkeit des Programms folgen (einschließlich - aber nicht\n" "beschränkt auf - Datenverluste, fehlerhafte Verarbeitung von Daten,\n" "Verluste, die von Ihnen oder anderen getragen werden müssen, oder dem\n" "Unvermögen des Programms, mit irgendeinem anderen Programm\n" "zusammenzuarbeiten), selbst wenn ein Copyright-Inhaber oder Dritter\n" "über die Möglichkeit solcher Schäden unterrichtet worden war.\n" "\n" #: src/kc/kc.cc:588 msgid "" "\n" " END OF TERMS AND CONDITIONS\n" "\n" "\n" "\t How to Apply These Terms to Your New Programs\n" "\n" " If you develop a new program, and you want it to be of the greatest\n" "possible use to the public, the best way to achieve this is to make it\n" "free software which everyone can redistribute and change under these terms.\n" "\n" " To do so, attach the following notices to the program. It is safest\n" "to attach them to the start of each source file to most effectively\n" "convey the exclusion of warranty; and each file should have at least\n" "the \"copyright\" line and a pointer to where the full notice is found.\n" "\n" " \n" " Copyright (C) 19yy \n" "\n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms of the GNU General Public License as published by\n" " the Free Software Foundation; either version 2 of the License, or\n" " (at your option) any later version.\n" "\n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" " GNU General Public License for more details.\n" "\n" " You should have received a copy of the GNU General Public License\n" " along with this program; if not, write to the Free Software\n" " Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n" "\n" "Also add information on how to contact you by electronic and paper mail.\n" "\n" "If the program is interactive, make it output a short notice like this\n" "when it starts in an interactive mode:\n" "\n" " Gnomovision version 69, Copyright (C) 19yy name of author\n" " Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show " "w'.\n" " This is free software, and you are welcome to redistribute it\n" " under certain conditions; type `show c' for details.\n" "\n" "The hypothetical commands `show w' and `show c' should show the appropriate\n" "parts of the General Public License. Of course, the commands you use may\n" "be called something other than `show w' and `show c'; they could even be\n" "mouse-clicks or menu items--whatever suits your program.\n" "\n" "You should also get your employer (if you work as a programmer) or your\n" "school, if any, to sign a \"copyright disclaimer\" for the program, if\n" "necessary. Here is a sample; alter the names:\n" "\n" " Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n" " `Gnomovision' (which makes passes at compilers) written by James Hacker.\n" "\n" " , 1 April 1989\n" " Ty Coon, President of Vice\n" "\n" "This General Public License does not permit incorporating your program into\n" "proprietary programs. If your program is a subroutine library, you may\n" "consider it more useful to permit linking proprietary applications with the\n" "library. If this is what you want to do, use the GNU Library General\n" "Public License instead of this License.\n" "\n" msgstr "" "\n" " Ende der Bedingungen\n" " _________________________________________________________________\n" " \n" "Anhang: Wie Sie diese Bedingungen auf Ihre neuen Programme anwendbar machen\n" "\n" " Wenn Sie ein neues Programm entwickeln und wollen, daß es von\n" " größtmöglichem Nutzen für die Allgemeinheit ist, dann erreichen Sie\n" " das am besten, indem Sie es zu freier Software machen, die jeder unter\n" " diesen Bestimmungen weiterverbreiten und verändern kann.\n" " \n" " Um dies zu erreichen, fügen Sie die folgenden Anmerkungen zu Ihrem\n" " Programm hinzu. Am sichersten ist es, sie an den Anfang einer jeden\n" " Quelldatei zu stellen, um den Gewährleistungsausschluß möglichst\n" " deutlich darzustellen; außerdem sollte jede Datei mindestens eine\n" " \"Copyright\"-Zeile besitzen sowie einen kurzen Hinweis darauf, wo die\n" " vollständige Lizenz gefunden werden kann.\n" " \n" " [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung]\n" " Copyright (C) 19[yy] [Name des Autors]\n" "\n" " This program is free software; you can redistribute it and/or\n" " modify it under the terms of the GNU General Public License as\n" " published by the Free Software Foundation; either version 2 of\n" " the License, or (at your option) any later version.\n" "\n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n" " General Public License for more details.\n" "\n" " You should have received a copy of the GNU General Public License\n" " along with this program; if not, write to the Free Software\n" " Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n" "\n" "\n" " Auf Deutsch:\n" " \n" "\n" " [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung]\n" " Copyright (C) 19[jj] [Name des Autors]\n" "\n" " Dieses Programm ist freie Software. Sie können es unter\n" " den Bedingungen der GNU General Public License, wie von der\n" " Free Software Foundation herausgegeben, weitergeben und/oder\n" " modifizieren, entweder unter Version 2 der Lizenz oder (wenn\n" " Sie es wünschen) jeder späteren Version.\n" "\n" " Die Veröffentlichung dieses Programms erfolgt in der\n" " Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE JEDE\n" " GEWÄHRLEISTUNG - sogar ohne die implizite Gewährleistung\n" " der MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.\n" " Details finden Sie in der GNU General Public License.\n" "\n" " Sie sollten eine Kopie der GNU General Public License zusammen\n" " mit diesem Programm erhalten haben. Falls nicht, schreiben Sie\n" " an die Free Software Foundation, Inc., 675 Mass Ave, Cambridge,\n" " MA 02139, USA.\n" "\n" "\n" " Fügen Sie auch einen kurzen Hinweis hinzu, wie Sie elektronisch und\n" " per Brief erreichbar sind.\n" " \n" " Wenn Ihr Programm interaktiv ist, sorgen Sie dafür, daß es nach dem\n" " Start einen kurzen Vermerk ausgibt:\n" " \n" " Gnomovision version 69, Copyright (C) 19[yy] [Name des Autors]\n" " Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type\n" " `show w'. This is free software, and you are welcome to redistribute\n" " it under certain conditions; type `show c' for details.\n" "\n" "\n" " Auf Deutsch:\n" " \n" " Gnomovision Version 69, Copyright (C) 19[jj] [Name des Autors]\n" " Für Gnomovision besteht KEINERLEI GARANTIE; geben Sie `show w'\n" " für Details ein. Gnomovision ist freie Software, die Sie unter\n" " bestimmten Bedingungen weitergeben dürfen; geben Sie `show c'\n" " für Details ein.\n" "\n" "\n" " Die hypothetischen Kommandos `show w' und `show c' sollten die\n" " entsprechenden Teile der GNU-GPL anzeigen. Natürlich können die von\n" " Ihnen verwendeten Kommandos anders heißen als `show w' und `show c';\n" " es könnten auch Mausklicks oder Menüpunkte sein - was immer am besten\n" " in Ihr Programm paßt.\n" " \n" " Soweit vorhanden, sollten Sie auch Ihren Arbeitgeber (wenn Sie als\n" " Programmierer arbeiten) oder Ihre Schule einen Copyright-Verzicht für\n" " das Programm unterschreiben lassen. Hier ein Beispiel; ändern Sie\n" " bitte die Namen:\n" " \n" " Yoyodyne, Inc., hereby disclaims all copyright interest in the\n" " program \"Gnomovision\" (which makes passes at compilers) written by\n" " James Hacker.\n" " \n" " [Unterschrift von Ty Coon], 1 April 1989\n" " Ty Coon, President of Vice\n" " \n" " Auf Deutsch:\n" " \n" " Die Yoyodyne GmbH erhebt keinerlei urheberrechtlichen Anspruch auf\n" " das Programm \"Gnomovision\" (einem Schrittmacher für Compiler),\n" " geschrieben von James Hacker.\n" " \n" " [Unterschrift von Ty Coon], 1. April 1989\n" " Ty Coon, Vizepräsident\n" " \n" " Diese General Public License gestattet nicht die Einbindung des\n" " Programms in proprietäre Programme. Ist Ihr Programm eine\n" " Funktionsbibliothek, so kann es sinnvoller sein, das Linken\n" " proprietärer Programme mit dieser Bibliothek zu gestatten. Wenn Sie\n" " dies tun wollen, sollten Sie die GNU Library General Public License\n" " anstelle dieser Lizenz verwenden.\n" "\n" #: src/kc/mod_320k.cc:149 #, c-format msgid "2,5 MB Modul Bank (%d / %02xh)" msgstr "2,5 MB Modul Bank (%d / %02xh)" #: src/kc/mod_fdc.cc:58 #, c-format msgid "" "It's not possible to have more than one\n" "module of type %s!\n" "\n" "(And due to some technical points of the emulator\n" "it's also not possible to have both the Kramer and\n" "Schneider variant of the floppy module active at\n" "the same time.)" msgstr "" "Es ist nicht möglich mehrere Module vom Typ\n" "%s zu aktivieren!\n" "\n" "(Außerdem ist es aufgrund der internen Struktur\n" "des Emulators nicht möglich gleichzeitig die\n" "Kramer- und Schneider-Variante des Floppy-Moduls\n" "zu aktivieren.)" #: src/kc/mod_gdc.cc:53 src/kc/mod_rtc.cc:50 #, c-format msgid "" "It's not possible to have more than one\n" "module of type %s!" msgstr "" "Es ist nicht möglich mehrere Module vom Typ\n" "%s zu aktivieren!" #: src/kc/mod_js.cc:152 msgid "Joystick removed!" msgstr "Joystick entfernt!" #: src/kc/mod_js.cc:163 #, c-format msgid "Joystick (%d.%d.%d): %s on %s" msgstr "Joystick (%d.%d.%d): %s on %s" #: src/kc/mod_js.cc:399 #, c-format msgid "" "Couldn't find any readable joystick device!\n" "\n" "If your joystick is connected properly and the correct\n" "driver is loaded give the device name of your joystick\n" "in the 'Joystick Device' section of the configuration\n" "file." msgstr "" #: src/kc/mod_js.cc:408 #, c-format msgid "" "Couldn't open joystick device (%s)!\n" "\n" "Make sure you have the joystick properly connected\n" "and loaded the correct driver for it.\n" "\n" "Also check the 'Joystick Device' section in the\n" "configuration file if the device name shown above\n" "looks bogus.\n" msgstr "" #: src/kc/mod_list.cc:197 msgid "" msgstr "" #: src/kc/mod_list.cc:207 msgid "RAM Module (1k/2400h)" msgstr "RAM Modul (1k/2400h)" #: src/kc/mod_list.cc:209 msgid "RAM Module (2k/2800h)" msgstr "RAM Modul (2k/2800h)" #: src/kc/mod_list.cc:211 msgid "RAM Module (4k/3000h)" msgstr "RAM Modul (4k/3000h)" #: src/kc/mod_list.cc:221 msgid "RAM Module (2k/0800h)" msgstr "RAM Modul (2k/0800h)" #: src/kc/mod_list.cc:223 msgid "RAM Module (4k/1000h)" msgstr "RAM Modul (4k/1000h)" #: src/kc/mod_list.cc:225 msgid "RAM Module (8k/2000h)" msgstr "RAM Modul (8k/2000h)" #: src/kc/mod_list.cc:234 src/kc/mod_list.cc:297 msgid "RAM Module (16k/4000h)" msgstr "RAM Modul (16k/4000h)" #: src/kc/mod_list.cc:236 msgid "RAM Module (32k/8000h)" msgstr "RAM Modul (32k/8000h)" #: src/kc/mod_list.cc:242 msgid "256k RAM Floppy" msgstr "256k RAM Floppy" #: src/kc/mod_list.cc:248 msgid "FDC (Schneider)" msgstr "FDC (Schneider)" #: src/kc/mod_list.cc:254 msgid "FDC (Kramer)" msgstr "FDC (Kramer)" #: src/kc/mod_list.cc:260 msgid "GDC 82720" msgstr "GDC 82720" #: src/kc/mod_list.cc:266 msgid "RTC (port 20h-2fh)" msgstr "RTC (Port 20h-2fh)" #: src/kc/mod_list.cc:272 msgid "RTC (port 70h-7fh)" msgstr "RTC (port 70h-7fh)" #: src/kc/mod_list.cc:279 msgid "Basic Module (c000h-e7ffh)" msgstr "Basic Modul (c000h-e7ffh)" #: src/kc/mod_list.cc:291 msgid "Plotter Module (c000h-e7ffh)" msgstr "Plotter Modul (c000h-e7ffh)" #: src/kc/mod_list.cc:299 msgid "RAM Module (16k/8000h)" msgstr "RAM Module (16k/8000h)" #: src/kc/mod_list.cc:308 msgid "ZM30 (c000h-ccffh)" msgstr "ZM30 (c000h-ccffh)" #: src/kc/mod_list.cc:315 msgid "EDAS (c000h-e7ffh)" msgstr "EDAS (c000h-e7ffh)" #: src/kc/mod_list.cc:322 msgid "IDAS / ZM (c000h-e7ffh)" msgstr "IDAS / ZM (c000h-e7ffh)" #: src/kc/mod_list.cc:329 msgid "BITEX (c000h-d7ffh)" msgstr "BITEX (c000h-d7ffh)" #: src/kc/mod_list.cc:354 msgid "KC-CAOS 3.1 (8000h-8fffh)" msgstr "KC-CAOS 3.1 (8000h-8fffh)" #: src/kc/mod_list.cc:367 msgid "192 KByte RAM/EPROM" msgstr "192 KByte RAM/EPROM" #: src/kc/mod_list.cc:374 msgid "KC-Pascal Module" msgstr "KC-Pascal Modul" #: src/kc/mod_list.cc:381 msgid "Mega-ROM Module" msgstr "Mega-ROM Modul" #: src/kc/mod_list.cc:388 msgid "128k ROM Bank" msgstr "128k ROM Bank" #: src/kc/mod_list.cc:397 src/ui/gtk/module.cc:266 msgid "IRM Color Expansion" msgstr "IRM Color Expansion" #: src/kc/mod_list.cc:412 msgid "Plotter XY4131" msgstr "Plotter XY4131" #: src/kc/mod_list.cc:419 msgid "CPM-Z9 BOOT (c000h-c7ffh)" msgstr "CPM-Z9 BOOT (c000h-c7ffh)" #: src/kc/mod_list.cc:425 msgid "CPM-Z9 Floppy" msgstr "CPM-Z9 Floppy" #: src/kc/mod_list.cc:431 msgid "CPM-Z9 64k RAM" msgstr "CPM-Z9 64k RAM" #: src/kc/mod_list.cc:437 msgid "RAF 4MB (port 20h)" msgstr "RAF 4MB (Port 20h)" #: src/kc/mod_list.cc:440 msgid "RAF 4MB (port 24h)" msgstr "RAF 4MB (Port 24h)" #: src/kc/mod_list.cc:446 msgid "M001: Digital In / Out" msgstr "M001: Digital In / Out" #: src/kc/mod_list.cc:453 msgid "M003: V24" msgstr "M003: V24" #: src/kc/mod_list.cc:461 msgid "M006: Basic" msgstr "M006: Basic" #: src/kc/mod_list.cc:468 msgid "M008: Joystick" msgstr "M008: Joystick" #: src/kc/mod_list.cc:475 msgid "M011: 64k RAM" msgstr "M011: 64k RAM" #: src/kc/mod_list.cc:482 msgid "M012: Texor" msgstr "M012: Texor" #: src/kc/mod_list.cc:488 msgid "M022: Expander RAM (16k)" msgstr "M022: Expander RAM (16k)" #: src/kc/mod_list.cc:495 msgid "M026: Forth" msgstr "M026: Forth" #: src/kc/mod_list.cc:502 msgid "M027: Development" msgstr "M027: Development" #: src/kc/mod_list.cc:508 msgid "M032: 256k Segmented RAM" msgstr "M032: 256k Segmented RAM" #: src/kc/mod_list.cc:515 msgid "M033: TypeStar + RAMDOS" msgstr "M033: TypeStar + RAMDOS" #: src/kc/mod_list.cc:521 msgid "M034: 512k Segmented RAM" msgstr "M034: 512k Segmented RAM" #: src/kc/mod_list.cc:527 msgid "M035: 1M Segmented RAM" msgstr "M035: 1M Segmented RAM" #: src/kc/mod_list.cc:533 msgid "M035x4: 4M RAM" msgstr "M035x4: 4M RAM" #: src/kc/mod_list.cc:539 msgid "M036: 128k Segmented RAM" msgstr "M036: 128k Segmented RAM" #: src/kc/mod_list.cc:546 msgid "M052: Network + USB" msgstr "M052: Network + USB" #: src/kc/mod_list.cc:553 msgid "M900: WordPro '86 (KC85/3)" msgstr "M900: WordPro '86 (KC85/3)" #: src/kc/mod_list.cc:560 msgid "M901: WordPro '86 (KC85/4)" msgstr "M901: WordPro '86 (KC85/4)" #: src/kc/mod_list.cc:566 msgid "VDIP: Vinculum USB" msgstr "VDIP: Vinculum USB" #: src/kc/mod_list.cc:570 msgid "VDIP1: Vinculum USB ROM V1.2" msgstr "VDIP1: Vinculum USB ROM V1.2" #: src/kc/mod_list.cc:574 msgid "VDIP2: Vinculum USB ROM V2.1" msgstr "VDIP2: Vinculum USB ROM V2.1" #: src/kc/mod_list.cc:588 msgid "Floppy Disk Basis F8" msgstr "Floppy Disk Basis F8" #: src/kc/mod_list.cc:597 msgid "Floppy Disk Basis FC" msgstr "Floppy Disk Basis FC" #: src/kc/mod_list.cc:795 msgid "Autostart" msgstr "Autostart" #: src/kc/mod_ramf.cc:50 #, c-format msgid "" "It's not possible to have more than two RAM-Floppy\n" "modules. The first one is running on port 98h and\n" "the second one on port 58h." msgstr "" "Es ist nicht möglich gleichzeitig mehr als 2 RAM-Floppy\n" "Module zu aktivieren. Der erste Modul läuft an Port 98h\n" "und der zweite an Port 58h." #: src/kc/tape.cc:96 #, c-format msgid "File `%s' loaded." msgstr "Datei `%s' geladen." #: src/kc/tape.cc:174 msgid "Select tape-archive..." msgstr "Select tape-archive..." #: src/kc/tape.cc:228 #, c-format msgid "tape-archive `%s' attached." msgstr "Kassetten-Datei `%s' aktiviert." #: src/kc/tape.cc:235 msgid "Can't attach tape-archive." msgstr "Kann Kassetten-Datei nicht aktivieren." #: src/kc/tape.cc:276 src/kc/tape.cc:310 msgid "Export As..." msgstr "Exportieren als..." #: src/kc/tape.cc:294 src/kc/tape.cc:328 #, c-format msgid "File `%s' saved." msgstr "Datei `%s' gespeichert." #: src/kc/tape.cc:299 src/kc/tape.cc:333 msgid "Can't export file." msgstr "Kann Datei nicht exportieren." #: src/kc/tape.cc:375 msgid "Select file..." msgstr "Datei auswählen..." #: src/kc/tape.cc:1763 msgid "The format of the selected file is not recognized." msgstr "Das Format der selektierten Datei konnte nicht bestimmt werden." #: src/kc/tape.cc:1798 #, c-format msgid "File `%s' [%s] added." msgstr "Datei `%s' [%s] hinzugefügt." #: src/kc/tape.cc:1807 msgid "" "The file you selected has a name that is already\n" "present in the current tape archive.\n" "\n" "Please select a different name to add this file\n" "to the tape archive or use the cancel button to\n" "skip this file." msgstr "" "Die ausgewählte Datei hat einen Namen der bereits\n" "im aktuellen Kassetten-Archiv enthalten ist.\n" "\n" "Bitte einen anderen Namen eingeben, um die Datei dem\n" "Kassetten-Archiv hinzuzufügen oder den Abbrechen-Knopf\n" "drücken, um die Datei zu überspringen." #: src/kc/wav.cc:280 #, c-format msgid "Reading %s `%s' (%d/%d/%d)." msgstr "Lese %s `%s' (%d/%d/%d)." #: src/kc/prefs/types.cc:208 msgid "rom_caos_c" msgstr "CAOS C" #: src/kc/prefs/types.cc:209 msgid "rom_caos_e" msgstr "CAOS E" #: src/kc/prefs/types.cc:210 msgid "rom_system" msgstr "System" #: src/kc/prefs/types.cc:211 msgid "rom_system_1" msgstr "System (1)" #: src/kc/prefs/types.cc:212 msgid "rom_system_2" msgstr "System (2)" #: src/kc/prefs/types.cc:213 msgid "rom_system_3" msgstr "System (3)" #: src/kc/prefs/types.cc:214 msgid "rom_system_4" msgstr "System (4)" #: src/kc/prefs/types.cc:215 msgid "rom_user" msgstr "User-ROM" #: src/kc/prefs/types.cc:216 msgid "rom_basic" msgstr "BASIC" #: src/kc/prefs/types.cc:217 msgid "rom_debugger" msgstr "Debugger" #: src/kc/prefs/types.cc:218 msgid "rom_reassembler" msgstr "Reassembler" #: src/kc/prefs/types.cc:219 msgid "rom_editor" msgstr "Editor" #: src/kc/prefs/types.cc:220 msgid "rom_assembler" msgstr "Assembler" #: src/kc/prefs/types.cc:221 msgid "rom_charset" msgstr "Zeichensatz" #: src/kc/prefs/types.cc:222 msgid "rom_d004_fc" msgstr "D004 (Schacht FC)" #: src/kc/prefs/types.cc:223 msgid "rom_d004_f8" msgstr "D004 (Schacht F8)" #: src/kc/prefs/types.cc:475 msgid "" " Z1013 with 16k RAM and 2k ROM, running at 1MHz. This was the\n" " first version with cheap circuits so the CPU was clocked at only 1MHz\n" " The ROM contains the Z1013 monitor version 2.02.\n" msgstr "" " Z1013 mit 16k RAM und 2k ROM. Erste Version mit billigen Chips.\n" " Dadurch konnte die CPU nur mit 1MHz getaktet werden. Der ROM\n" " enthält die Z1013 Monitor-Version 2.02.\n" #: src/kc/prefs/types.cc:482 src/kc/prefs/types.cc:491 #: src/kc/prefs/types.cc:500 src/kc/prefs/types.cc:511 msgid "System-ROM V2.0" msgstr "System-ROM V2.0" #: src/kc/prefs/types.cc:483 src/kc/prefs/types.cc:492 #: src/kc/prefs/types.cc:501 src/kc/prefs/types.cc:512 #: src/kc/prefs/types.cc:523 src/kc/prefs/types.cc:533 #: src/kc/prefs/types.cc:544 src/kc/prefs/types.cc:554 msgid "Z1013 Charset-ROM" msgstr "Z1013 Zeichensatz-ROM" #: src/kc/prefs/types.cc:485 msgid "" " Z1013 with 1k sRAM and 2k ROM, running at 2MHz. Industry\n" " version with only 1k static RAM. Monitor version 2.02.\n" msgstr "" " Z1013 mit 1k statischem RAM und 2k ROM. Die CPU läuft mit 2MHz.\n" " (Industrie-Version die nicht für den normalen Verkauf gedacht war).\n" " Der ROM enthält die Monitor-Version 2.02.\n" #: src/kc/prefs/types.cc:494 msgid "" " Z1013 with 16k RAM and 2k ROM, running at 2MHz. Successor of\n" " the Z1013.01 but with industry grade circuits clocked at 2MHz.\n" msgstr "" " Z1013 mit 16k RAM und 2k ROM. Die CPU läuft mit 2MHz. Nachfolger\n" " des Z1013.01, jedoch mit hochwertigen Chips wodurch der 2MHz\n" " Systemtakt möglich wurde.\n" #: src/kc/prefs/types.cc:503 msgid "" " Z1013 with 64k RAM and 2x2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the first\n" " image with version 2.02 that is supposed to work with the foil keypad\n" " shipped by the manufacturer.\n" msgstr "" " Z1013 mit 64k RAM, 2x2k ROM und 2MHz Systemtakt. Der ROM enthält\n" " zwei Monitor-Versionen zu je 2k. Geladen wird die erste Version\n" " (2.02) die für die Arbeit mit der mitgelieferten Folientastatur\n" " gedacht ist.\n" #: src/kc/prefs/types.cc:514 msgid "" " Z1013 with 64k RAM and 2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the second\n" " image with version A.2 that supports an extended keyboard with an\n" " 8x8 matrix.\n" msgstr "" " Z1013 mit 64k RAM, 2x2k ROM und 2MHz Systemtakt. Der ROM enthält\n" " zwei Monitor-Versionen zu je 2k. Geladen wird die zweite Version\n" " (A.2) die eine erweiterte Tastatur mit einer 8x8 Matrix unterstützt.\n" " BIC/A5105, nur das Basis-Gerät ohne Floppy-Erweiterung.\n" #: src/kc/prefs/types.cc:522 msgid "System-ROM A2" msgstr "System-ROM A2" #: src/kc/prefs/types.cc:525 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM is the extended\n" " version tagged 2.028 RB that has a different keyboard driver for\n" " the keyboard K7659.\n" msgstr "" " Z1013 mit 64k RAM und 4k ROM. Der ROM enthält den von R. Brosig\n" " erweiterten Monitor mit der Versionsnummer 2.028 RB. Unterstützt\n" " wird die Tastatur K7659.\n" #: src/kc/prefs/types.cc:532 msgid "Brosig-ROM K7659/2.028" msgstr "Brosig-ROM K7659/2.028" #: src/kc/prefs/types.cc:535 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM contains the 'Super\n" " Ur-Lader 5.0' that can read arbitrary tape files as system monitor.\n" " The hardware modification port at address 4h is emulated which allows\n" " programs to switch off the system ROM.\n" msgstr "" " Z1013 mit 64k RAM und 4k ROM. Der ROM enthält den 'Super Ur-Lader 5.0'\n" " mit dem beliebige Dateien als System-Monitor geladen werden können.\n" " Emuliert wird auch die Hardware-Erweiterung nach J. Peters die es z.B.\n" " erlaubt über Port 4h den ROM komplett abzuschalten.\n" #: src/kc/prefs/types.cc:543 msgid "Super Ur-Lader 5.0" msgstr "Super Ur-Lader 5.0" #: src/kc/prefs/types.cc:546 msgid "" " Z1013 with 64k RAM and 4k ROM. The ROM contains the Bootloader\n" " BL4 that can load monitor images from floppy disk or can start the\n" " CP/M system.\n" msgstr "" " Z1013 mit 64k RAM und 4k ROM. Der ROM enthält den Bootlader BL4 der\n" " den System-Monitor von Diskette laden oder ein CP/M System starten\n" " kann.\n" #: src/kc/prefs/types.cc:553 msgid "Bootlader BL4" msgstr "Bootlader BL4" #: src/kc/prefs/types.cc:559 msgid "" " Z9001 (later called KC 85/1) with monochrome display, no internal BASIC\n" " ROM. This computer has 16k RAM and 4k ROM with the robotron z9001 " "system.\n" msgstr "" " Z9001 (später KC 85/1 genannt) mit schwarz/weiß Darstellung\n" " und ohne BASIC ROM. Das System enthält 16k RAM und 4k ROM.\n" #: src/kc/prefs/types.cc:565 src/kc/prefs/types.cc:581 #: src/kc/prefs/types.cc:734 src/kc/prefs/types.cc:751 #: src/kc/prefs/types.cc:768 src/kc/prefs/types.cc:786 #: src/kc/prefs/types.cc:803 src/kc/prefs/types.cc:820 #: src/kc/prefs/types.cc:846 src/kc/prefs/types.cc:901 #: src/kc/prefs/types.cc:912 src/kc/prefs/types.cc:920 msgid "System-ROM" msgstr "System-ROM" #: src/kc/prefs/types.cc:566 src/kc/prefs/types.cc:582 #: src/kc/prefs/types.cc:735 src/kc/prefs/types.cc:752 #: src/kc/prefs/types.cc:769 src/kc/prefs/types.cc:787 #: src/kc/prefs/types.cc:804 src/kc/prefs/types.cc:821 msgid "ROM-Bank System without menu" msgstr "ROM-Bank System ohne Menü" #: src/kc/prefs/types.cc:567 src/kc/prefs/types.cc:583 #: src/kc/prefs/types.cc:736 src/kc/prefs/types.cc:753 #: src/kc/prefs/types.cc:770 src/kc/prefs/types.cc:788 #: src/kc/prefs/types.cc:805 src/kc/prefs/types.cc:822 msgid "ROM-Bank System with menu" msgstr "ROM-Bank System mit Menü" #: src/kc/prefs/types.cc:570 src/kc/prefs/types.cc:586 #: src/kc/prefs/types.cc:740 src/kc/prefs/types.cc:757 #: src/kc/prefs/types.cc:774 src/kc/prefs/types.cc:792 #: src/kc/prefs/types.cc:809 src/kc/prefs/types.cc:826 msgid "Z9001 Charset-ROM" msgstr "Z9001 Zeichensatz-ROM" #: src/kc/prefs/types.cc:571 src/kc/prefs/types.cc:587 #: src/kc/prefs/types.cc:741 src/kc/prefs/types.cc:758 #: src/kc/prefs/types.cc:775 src/kc/prefs/types.cc:793 #: src/kc/prefs/types.cc:810 src/kc/prefs/types.cc:827 msgid "Z9001 Charset-ROM (german)" msgstr "Z9001 Zeichensatz-ROM (deutsch)" #: src/kc/prefs/types.cc:572 src/kc/prefs/types.cc:588 #: src/kc/prefs/types.cc:742 src/kc/prefs/types.cc:759 #: src/kc/prefs/types.cc:776 src/kc/prefs/types.cc:794 #: src/kc/prefs/types.cc:811 src/kc/prefs/types.cc:828 msgid "CGA Charset-ROM" msgstr "CGA Zeichensatz-ROM" #: src/kc/prefs/types.cc:573 src/kc/prefs/types.cc:589 #: src/kc/prefs/types.cc:743 src/kc/prefs/types.cc:760 #: src/kc/prefs/types.cc:777 src/kc/prefs/types.cc:795 #: src/kc/prefs/types.cc:812 src/kc/prefs/types.cc:829 msgid "CGA Charset-ROM (extended)" msgstr "CGA Zeichensatz-ROM (erweitert)" #: src/kc/prefs/types.cc:576 msgid " Like the z9001.10 but with color extension card.\n" msgstr " Wie z9001.10 aber mit Farberweiterung.\n" #: src/kc/prefs/types.cc:595 msgid "" " HC900 (later called KC 85/2) with 16k RAM and 8k ROM. System is called\n" " HC-CAOS 2.2 (home computer - cassette aided operating system). BASIC\n" " is only available as external module.\n" msgstr "" " HC900 (später KC 85/2 genannt) mit 16k RAM und 8k ROM. Als System wird\n" " HC-CAOS 2.2 (Home Computer - Cassette Aided Operating System) " "eingesetzt.\n" " BASIC ist nur als externer Modul vorhanden.\n" #: src/kc/prefs/types.cc:601 msgid "HC-900 CAOS" msgstr "HC-900 CAOS" #: src/kc/prefs/types.cc:602 msgid "CAOS 2.2" msgstr "CAOS 2.2" #: src/kc/prefs/types.cc:605 src/kc/prefs/types.cc:611 #: src/kc/prefs/types.cc:633 src/kc/prefs/types.cc:639 #: src/kc/prefs/types.cc:662 src/kc/prefs/types.cc:668 #: src/kc/prefs/types.cc:696 src/kc/prefs/types.cc:702 msgid "D004 Version 2.0 (02.01.1989)" msgstr "D004 Version 2.0 (02.01.1989)" #: src/kc/prefs/types.cc:606 src/kc/prefs/types.cc:612 #: src/kc/prefs/types.cc:634 src/kc/prefs/types.cc:640 #: src/kc/prefs/types.cc:663 src/kc/prefs/types.cc:669 #: src/kc/prefs/types.cc:697 src/kc/prefs/types.cc:703 msgid "D004 Version 3.0 (07.12.1997)" msgstr "D004 Version 3.0 (07.12.1997)" #: src/kc/prefs/types.cc:607 src/kc/prefs/types.cc:613 #: src/kc/prefs/types.cc:635 src/kc/prefs/types.cc:641 #: src/kc/prefs/types.cc:664 src/kc/prefs/types.cc:670 #: src/kc/prefs/types.cc:698 src/kc/prefs/types.cc:704 msgid "D004 Version 3.1 (22.01.2003)" msgstr "D004 Version 3.1 (22.01.2003)" #: src/kc/prefs/types.cc:608 src/kc/prefs/types.cc:614 #: src/kc/prefs/types.cc:636 src/kc/prefs/types.cc:642 #: src/kc/prefs/types.cc:665 src/kc/prefs/types.cc:671 #: src/kc/prefs/types.cc:699 src/kc/prefs/types.cc:705 msgid "D004 Version 3.2 (28.10.2008)" msgstr "D004 Version 3.2 (28.10.2008)" #: src/kc/prefs/types.cc:620 msgid "" " KC 85/3 with 16k RAM, 8k system ROM with HC-CAOS 3.1 and 8k BASIC ROM.\n" msgstr " KC 85/3 mit 16k RAM, 8k ROM mit HC-CAOS 3.1 und 8k BASIC ROM.\n" #: src/kc/prefs/types.cc:624 msgid "CAOS 3.1" msgstr "CAOS 3.1" #: src/kc/prefs/types.cc:625 msgid "CAOS 3.3" msgstr "CAOS 3.3" #: src/kc/prefs/types.cc:626 msgid "CAOS 3.4" msgstr "CAOS 3.4" #: src/kc/prefs/types.cc:627 msgid "OS PI/88 (yellow/blue)" msgstr "OS PI/88 (gelb/blau)" #: src/kc/prefs/types.cc:628 msgid "OS PI/88 (black/white)" msgstr "OS PI/88 (schwarz/weiß)" #: src/kc/prefs/types.cc:629 msgid "OS PI/88 (white/blue)" msgstr "OS PI/88 (weiß/blau)" #: src/kc/prefs/types.cc:631 src/kc/prefs/types.cc:660 #: src/kc/prefs/types.cc:738 src/kc/prefs/types.cc:755 #: src/kc/prefs/types.cc:772 src/kc/prefs/types.cc:790 #: src/kc/prefs/types.cc:807 src/kc/prefs/types.cc:824 msgid "KC-BASIC" msgstr "KC-BASIC" #: src/kc/prefs/types.cc:648 msgid "" " KC 85/4 with 64k RAM, 64k screen memory, 12k system ROM with HC-CAOS " "4.2\n" " and 8k BASIC ROM.\n" msgstr "" " KC 85/4 mit 64k RAM, 64k Bildschirmspeicher, 12k ROM mit HC-CAOS 4.2 " "und\n" " 8k BASIC ROM.\n" #: src/kc/prefs/types.cc:653 msgid "CAOS 4.1 (C)" msgstr "CAOS 4.1 (C)" #: src/kc/prefs/types.cc:654 msgid "CAOS 4.2 (C)" msgstr "CAOS 4.2 (C)" #: src/kc/prefs/types.cc:657 msgid "CAOS 4.1 (E)" msgstr "CAOS 4.1 (E)" #: src/kc/prefs/types.cc:658 msgid "CAOS 4.2 (E)" msgstr "CAOS 4.2 (E)" #: src/kc/prefs/types.cc:677 msgid "" " Unofficial successor of the KC 85/4 with 256k RAM, 64k screen memory,\n" " 16k system ROM with HC-CAOS 4.4, 8k BASIC ROM and 24k User ROM. It is\n" " intended to be used with a modified D004 floppy device with additional\n" " hard-disk support.\n" msgstr "" " Inoffizieller Nachfolger des KC 85/4 mit 256k RAM, 64k " "Bildschirmspeicher,\n" " 16k System-ROM mit HC-CAOS 4.4, 8k BASIC ROM und 24k User ROM.\n" #: src/kc/prefs/types.cc:684 msgid "CAOS 4.3 (C)" msgstr "CAOS 4.3 (C)" #: src/kc/prefs/types.cc:685 msgid "CAOS 4.4 (C)" msgstr "CAOS 4.4 (C)" #: src/kc/prefs/types.cc:688 msgid "CAOS 4.3 (E)" msgstr "CAOS 4.3 (E)" #: src/kc/prefs/types.cc:689 msgid "CAOS 4.4 (E)" msgstr "CAOS 4.4 (E)" #: src/kc/prefs/types.cc:692 msgid "KC-BASIC (EDAS/TEMO/FORTH)" msgstr "KC-BASIC (EDAS/TEMO/FORTH)" #: src/kc/prefs/types.cc:693 msgid "KC-BASIC (EDAS/TEMO/USB)" msgstr "KC-BASIC (EDAS/TEMO/USB)" #: src/kc/prefs/types.cc:711 msgid " Polycomputer 880.\n" msgstr " Polycomputer 880.\n" #: src/kc/prefs/types.cc:715 src/kc/prefs/types.cc:839 #: src/kc/prefs/types.cc:852 src/kc/prefs/types.cc:864 #: src/kc/prefs/types.cc:874 msgid "System-ROM 1" msgstr "System-ROM 1" #: src/kc/prefs/types.cc:716 src/kc/prefs/types.cc:840 #: src/kc/prefs/types.cc:853 src/kc/prefs/types.cc:865 #: src/kc/prefs/types.cc:875 msgid "System-ROM 2" msgstr "System-ROM 2" #: src/kc/prefs/types.cc:717 src/kc/prefs/types.cc:718 msgid "Optional-ROM 1" msgstr "Optional-ROM 1" #: src/kc/prefs/types.cc:720 msgid " Polycomputer 880 with chess program rom from SC1.\n" msgstr " Polycomputer 880 mit dem Schach-Programm des SC1.\n" #: src/kc/prefs/types.cc:724 msgid "SC1-ROM" msgstr "SC1-ROM" #: src/kc/prefs/types.cc:729 msgid " Like the KC 87.11 but without the color extension card.\n" msgstr " Wie KC 87.11 aber ohne Farberweiterung.\n" #: src/kc/prefs/types.cc:746 msgid " Successor of the Z9001 with internal 10k BASIC ROM.\n" msgstr " Nachfolger des Z9001 mit internem 10k BASIC ROM.\n" #: src/kc/prefs/types.cc:763 msgid " Like the KC 87.21 but without the color extension card.\n" msgstr " Wie KC 87.21 aber ohne Farberweiterung.\n" #: src/kc/prefs/types.cc:780 msgid "" " New series with extended BASIC ROM (still 10k but with some routines " "for\n" " plotter support were added).\n" msgstr "" " Neue KC 87 Serie mit erweitertem BASIC ROM (Plotterunterstützung).\n" #: src/kc/prefs/types.cc:798 msgid " New batch of KC 87.20 with no known hardware differences.\n" msgstr " Neuauflage der KC 87.20 ohne Veränderung der Hardware.\n" #: src/kc/prefs/types.cc:815 msgid " New batch of KC 87.21 with no known hardware differences.\n" msgstr " Neuauflage der KC 87.21 ohne Veränderung der Hardware.\n" #: src/kc/prefs/types.cc:835 msgid " Single board computer LC 80 with 1k RAM and 2 x 1k ROM.\n" msgstr "" " Einplatinen-Rechner LC 80 mit 1k RAM und 2 x 1k ROM. Als Tastatur wurde\n" " ein Taschenrechner benutzt.\n" #: src/kc/prefs/types.cc:842 msgid " Single board computer LC 80 with 1k RAM and 1 x 2k ROM.\n" msgstr "" " Einplatinen-Rechner LC 80 mit 1k RAM und 1 x 2k ROM. Als Tastatur wurde\n" " ein Taschenrechner benutzt.\n" #: src/kc/prefs/types.cc:848 msgid " Export variant of the LC 80 with 12k ROM including chess program.\n" msgstr " Export Variante des LC 80 mit Schach-Programm in 12k ROM.\n" #: src/kc/prefs/types.cc:854 msgid "System-ROM 3" msgstr "System-ROM 3" #: src/kc/prefs/types.cc:859 msgid " BIC/A5105, only the base device is emulated, no floppy device.\n" msgstr " BIC/A5105, nur das Basis-Gerät ohne Floppy-Erweiterung.\n" #: src/kc/prefs/types.cc:866 src/kc/prefs/types.cc:876 msgid "DSE-ROM 1" msgstr "DSE-ROM 1" #: src/kc/prefs/types.cc:867 src/kc/prefs/types.cc:877 msgid "DSE-ROM 2" msgstr "DSE-ROM 2" #: src/kc/prefs/types.cc:869 msgid " BIC/A5105, the full system including the floppy device.\n" msgstr " BIC/A5105, das vollständige System mit Floppy-Erweiterung.\n" #: src/kc/prefs/types.cc:882 msgid "" " Micro-Computer presented in the book \"Praktische Microcomputertechnik" "\"\n" " by Manfred Kramer.\n" msgstr "" " Mikrocomputer entwickelt von Manfred Kramer, vorgestellt im Buch " "\"Praktische\n" " Microcomputertechnik\".\n" #: src/kc/prefs/types.cc:886 msgid "IO-Monitor" msgstr "IO-Monitor" #: src/kc/prefs/types.cc:887 msgid "BASIC" msgstr "BASIC" #: src/kc/prefs/types.cc:888 src/kc/prefs/types.cc:902 msgid "Charset-ROM" msgstr "Zeichensatz-ROM" #: src/kc/prefs/types.cc:889 msgid "Debugger" msgstr "Debugger" #: src/kc/prefs/types.cc:890 msgid "Reassembler" msgstr "Reassembler" #: src/kc/prefs/types.cc:891 msgid "Editor" msgstr "Editor" #: src/kc/prefs/types.cc:892 msgid "Assembler" msgstr "Assembler" #: src/kc/prefs/types.cc:897 msgid "" " CP/M based Micro-Computer presented in the magazine \"Funkamateur\"\n" " by A. Mugler and H. Mathes.\n" msgstr "" " CP/M basierter Kleincomputer der von A. Mugler und H. Mathes in der " "Zeitschrift\n" " \"Funkamateur\" vorgestellt wurde.\n" #: src/kc/prefs/types.cc:907 msgid "" " Minimal Z80 learning system presented in the magazine \"rfe\"\n" " by Eckhard Schiller.\n" msgstr "" " Minimales Z80 Lernsystem, entworfen von Eckhard Schiller, vorgestellt\n" " in der Zeitschrift \"rfe\".\n" #: src/kc/prefs/types.cc:917 msgid " Minimal Z80 learning system designed by Dipl.-Ing. Joachim Czepa.\n" msgstr "" " Minimales Z80 Lernsystem, entworfen von Dipl.-Ing. Joachim Czepa.\n" #: src/kc/prefs/types.cc:921 msgid "User-ROM" msgstr "User-ROM" #: src/kc/prefs/types.cc:1014 msgid "available emulations:" msgstr "verfügbare Emulationen:" #: src/libtape/kctape.cc:80 msgid "" "\n" "KCtape is part of KCemu the KC 85/4 Emulator and comes with\n" "ABSOLUTELY NO WARRANTY; for details run `kcemu --warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kctape -t tapefile [command [command_args]]\n" "\n" " commands:\n" " ---------\n" "\n" " -h|--help show this help text\n" " -v|--verbose be verbose about what's going on\n" " -t|--tape tape archive to process\n" " -l|--list list content of tape archive\n" " -c|--create create tape archive if it doesn't exist\n" " -a|--add add files (KC85/3 mode)\n" " -1|--add1 add files (KC85/1 mode)\n" " -A|--add-raw add binary files\n" " -r|--remove remove file from tape archive\n" " -x|--extract extract file from tape archive\n" " -d|--dump hexdump file\n" " -o|--output output file for extract\n" " -b|--print-bam show internal block allocation map\n" " -B|--print-block-list show internal block list\n" msgstr "" #: src/libtape/kctape.cc:584 #, c-format msgid "" "ERROR: no tape specified, use the -t option to select\n" " the tape archive you want to process\n" "\n" msgstr "" "FEHLER: Es wurde keine Tapedatei angegeben. Diese muss\n" " mit der Option -t übergeben werden.\n" "\n" #: src/ui/gtk/debug.cc:237 msgid "KCemu: Debugger" msgstr "KCemu: Debugger" #: src/ui/gtk/debug.cc:336 msgid "Trace" msgstr "Ablaufverfolgung" #: src/ui/gtk/debug.cc:343 msgid "Single Step" msgstr "Einzelschritt" #: src/ui/gtk/debug.cc:350 msgid "Execute Step" msgstr "Instruktion ausführen" #: src/ui/gtk/dialog.cc:54 msgid "???" msgstr "???" #: src/ui/gtk/fbrowse.cc:39 msgid "Select File..." msgstr "Datei auswählen..." #: src/ui/gtk/hedit.cc:96 msgid "no tape-filename given!" msgstr "no tape-filename given!" #: src/ui/gtk/hedit.cc:101 msgid "no KC-filename given!" msgstr "no KC-filename given!" #: src/ui/gtk/hedit.cc:106 src/ui/gtk/image.cc:89 msgid "" "error in given load address!\n" "\n" "valid addresses have to be in the range from 0 to 65535\n" "hexadecimal values need to be prefixed with 0x (e.g. 0x1234),\n" "octal values require a leading 0 (e.g. 0444)" msgstr "" "Fehler in der angegebenen Lade-Adresse!\n" "\n" "Eine gültige Adresse muß im Bereich 0 bis 65535 liegen,\n" "hexadezimale Werte können durch vorangestelltes 0x (z.B. 0x1234)\n" "angegeben werden, oktale durch eine führende 0 (z.B. 0444)" #: src/ui/gtk/hedit.cc:119 src/ui/gtk/image.cc:105 msgid "error in given start address!" msgstr "Fehler in der angegebenen Start-Adresse!" #: src/ui/gtk/hedit.cc:174 msgid "File Properties" msgstr "Datei Eigenschaften" #: src/ui/gtk/hedit.cc:199 msgid "Name in tape-directory:" msgstr "Name in tape-directory:" #: src/ui/gtk/hedit.cc:212 msgid "Name in KC file-header:" msgstr "Name in KC file-header:" #: src/ui/gtk/hedit.cc:225 src/ui/gtk/image.cc:156 msgid "Load address:" msgstr "Lade-Adresse:" #: src/ui/gtk/hedit.cc:251 msgid "autostart" msgstr "automatisch starten" #: src/ui/gtk/image.cc:126 msgid "Input Image Properties" msgstr "Input Image Properties" #: src/ui/gtk/image.cc:133 msgid "" "It was not possible to automatically determine the\n" "type of the selected file. Thus I don't know at which\n" "address the file should be loaded\n" "\n" "To load the file nevertheless you need to type in the\n" "needed values yourself." msgstr "" "It was not possible to automatically determine the\n" "type of the selected file. Thus I don't know at which\n" "address the file should be loaded\n" "\n" "To load the file nevertheless you need to type in the\n" "needed values yourself." #: src/ui/gtk/image.cc:185 msgid "Start Program after Loading" msgstr "Programm nach dem Laden starten" #: src/ui/gtk/image.cc:197 msgid "OK" msgstr "OK" #: src/ui/gtk/image.cc:209 msgid "Cancel" msgstr "Abbrechen" #: src/ui/gtk/info.cc:132 msgid "byte output" msgstr "byte output" #: src/ui/gtk/info.cc:133 msgid "byte input" msgstr "byte input" #: src/ui/gtk/info.cc:134 msgid "byte input/output" msgstr "byte input/output" #: src/ui/gtk/info.cc:135 msgid "bit input/output" msgstr "bit input/output" #: src/ui/gtk/info.cc:326 msgid "Mode:" msgstr "Mode:" #: src/ui/gtk/info.cc:345 src/ui/gtk/info.cc:419 msgid "IRQ:" msgstr "IRQ:" #: src/ui/gtk/info.cc:364 src/ui/gtk/info.cc:438 msgid "IRQ Vector:" msgstr "IRQ Vector:" #: src/ui/gtk/info.cc:391 msgid "Channel A" msgstr "Kanal A" #: src/ui/gtk/info.cc:395 msgid "Channel B" msgstr "Kanal B" #: src/ui/gtk/info.cc:464 msgid "Channel 0" msgstr "Kanal 0" #: src/ui/gtk/info.cc:468 msgid "Channel 1" msgstr "Kanal 1" #: src/ui/gtk/info.cc:472 msgid "Channel 2" msgstr "Kanal 2" #: src/ui/gtk/info.cc:476 msgid "Channel 3" msgstr "Kanal 3" #: src/ui/gtk/info.cc:491 msgid "KCemu: Info" msgstr "KCemu: Info" #: src/ui/gtk/info.cc:516 msgid "CPU" msgstr "CPU" #: src/ui/gtk/info.cc:519 msgid "PIO" msgstr "PIO" #: src/ui/gtk/info.cc:522 msgid "CTC" msgstr "CTC" #: src/ui/gtk/info.cc:545 msgid "Update" msgstr "Aktualisieren" #: src/ui/gtk/info.cc:555 src/ui/gtk/wav.cc:144 msgid "Close" msgstr "Schließen" #: src/ui/gtk/keyboard.cc:560 msgid "KCemu: Keyboard" msgstr "KCemu: Tastatur" #: src/ui/gtk/keyboard.cc:608 msgid "Sorry, keyboard display not configured." msgstr "Tastatur-Ansicht noch nicht konfiguriert." #: src/ui/gtk/module.cc:211 msgid "No module slots available for this computer." msgstr "Für dieses System sind keine Modul-Schächte verfügbar." #: src/ui/gtk/module.cc:223 #, c-format msgid "Slot %d" msgstr "Modul %d" #: src/ui/gtk/module.cc:318 msgid "Floppy Disk Basis [F0]" msgstr "Floppy Disk Grundgerät [F0]" #: src/ui/gtk/module.cc:323 #, c-format msgid "D002: Busdriver [%02X]" msgstr "D002: Bus-Treiber [%02X]" #: src/ui/gtk/module.cc:331 src/ui/gtk/module.cc:333 msgid "Basis Device" msgstr "Grundgerät" #: src/ui/gtk/tape.cc:76 msgid "Please enter the new name for the file." msgstr "Bitte den Namen für die neue Datei eingeben." #: src/ui/gtk/tape.cc:272 msgid "/_Run File" msgstr "/Datei _Ausführen" #: src/ui/gtk/tape.cc:273 msgid "/_Load File" msgstr "/Datei _Laden" #: src/ui/gtk/tape.cc:274 msgid "/_Export File" msgstr "/Datei _Exportieren" #: src/ui/gtk/tape.cc:275 msgid "/Export _Wav" msgstr "/WAV Exportieren" #: src/ui/gtk/tape.cc:276 msgid "/sep1" msgstr "/sep1" #: src/ui/gtk/tape.cc:277 msgid "/Edit _Header" msgstr "/_Header Ändern" #: src/ui/gtk/tape.cc:278 msgid "/Re_name File" msgstr "/Datei _Umbenennen" #: src/ui/gtk/tape.cc:279 msgid "/_Delete File" msgstr "/_Datei Löschen" #: src/ui/gtk/tape.cc:280 msgid "/sep2" msgstr "/sep2" #: src/ui/gtk/tape.cc:281 msgid "/_Add File" msgstr "/Datei _Hinzufügen" #: src/ui/gtk/tape.cc:286 msgid "Name" msgstr "Name" #: src/ui/gtk/tape.cc:287 msgid "Type" msgstr "Typ" #: src/ui/gtk/tape.cc:288 msgid "Load" msgstr "Load" #: src/ui/gtk/tape.cc:289 msgid "Start" msgstr "Start" #: src/ui/gtk/tape.cc:290 msgid "Size" msgstr "Größe" #: src/ui/gtk/tape.cc:302 src/ui/gtk/tape.cc:308 msgid "" msgstr "" #: src/ui/gtk/tape.cc:309 msgid "/Run File" msgstr "/Datei Ausführen" #: src/ui/gtk/tape.cc:310 msgid "/Load File" msgstr "/Datei Laden" #: src/ui/gtk/tape.cc:311 msgid "/Edit Header" msgstr "/Header Ändern" #: src/ui/gtk/tape.cc:312 msgid "/Delete File" msgstr "/Datei Löschen" #: src/ui/gtk/tape.cc:313 msgid "/Rename File" msgstr "/Datei Umbenennen" #: src/ui/gtk/tape.cc:314 msgid "/Export File" msgstr "/Datei Exportieren" #: src/ui/gtk/tape.cc:315 msgid "/Export Wav" msgstr "/WAV Exportieren" #: src/ui/gtk/ui_gtk.cc:794 msgid "Info" msgstr "Info" #: src/ui/gtk/wav.cc:134 msgid "Open" msgstr "Öffnen" #: src/ui/gtk/wav.cc:154 msgid "Play" msgstr "Abspielen" #: src/ui/gtk/options.cc:94 msgid "Save profiles?" msgstr "Profile speichern?" #: src/ui/gtk/options.cc:96 msgid "" "Some profiles were changed!\n" "\n" "'Yes' will save changes to disk, 'No' will reject all changes.\n" "'Cancel': will allow to continue editing." msgstr "" "Einstellugen wurden verändert!\n" "\n" "'Ja' schreibt die Änderungen in die Konfigurationsdatei\n" "'Nein' verwirft die Ändrungen\n" "'Cancel' erlaubt das weitere Editieren der Profile." #: src/ui/gtk/options.cc:605 msgid "Open ROM Image..." msgstr "ROM Image öffnen..." #: src/ui/gtk/options.cc:892 #, c-format msgid "ROM image is '%s'. The ROM size needs to be %04xh (%d) bytes." msgstr "ROM-Image Datei: '%s'. Die ROM-Größe muss %04xh (%d) Byte betragen." #: src/ui/gtk/video.cc:258 msgid "" msgstr "-" #: src/ui/gtk/video.cc:262 msgid "Theora/Ogg" msgstr "Theora/Ogg" #: src/ui/gtk/video.cc:266 msgid "AVI" msgstr "AVI" #: src/ui/gtk/video.cc:270 msgid "MPEG 4" msgstr "MPEG 4" #: src/ui/gtk/video.cc:274 msgid "Dirac" msgstr "Dirac" #: src/ui/gtk/video.cc:278 msgid "Schroedinger" msgstr "Schroedinger" #: src/ui/gtk/video.cc:282 msgid "Animated GIF" msgstr "GIF (animiert)" #: src/ui/gtk/video.cc:286 msgid "VNC" msgstr "VNC" #~ msgid "Saturation" #~ msgstr "Sättigung" #~ msgid "Black Level" #~ msgstr "Schwarz Wert" #~ msgid "White Level" #~ msgstr "Weiß Wert" #~ msgid "A_udio..." #~ msgstr "_Audio..." #~ msgid "gtk-cancel" #~ msgstr "gtk-cancel" #~ msgid "" #~ "Marat Fayzullin\n" #~ " for the Z80 emulation core used for the main processor\n" #~ " (I needed to tweak some bits of the emulation core; see\n" #~ " src/z80core/README for the list of changes)\n" #~ "Marcel de Kogel\n" #~ " for the Z80 emulation core used for the KC floppy\n" #~ " processor\n" #~ "Thomas Bretz\n" #~ " for the OS/2 port of KCemu (see http://www.d4m.de/)\n" #~ "Thomas Ludwig\n" #~ " for the great KC website at http://www.kc85emu.de/ and\n" #~ " lots of bugreports and hints how to make KCemu better\n" #~ "Holger Krull\n" #~ " for providing lots of information about the LC 80\n" #~ " computer (see http://www.lc80.de/)\n" #~ "Kev Thacker\n" #~ " for interesting insights concerning the floppy emulation\n" #~ " (he's also the author of the KC driver for M.E.S.S. the\n" #~ " Multi-Emulator Super System, see http://mess.emuverse.com/)\n" #~ "Volker Pohlers\n" #~ " for help with the windows port, technical information and\n" #~ " bugreports\n" #~ "Alexander Schön\n" #~ " for starting the windows port, lots of tips and for providing\n" #~ " a huge pile of files for use with the emulator or with\n" #~ " information about the various systems" #~ msgstr "" #~ "Marat Fayzullin\n" #~ " für den Z80 Prozessor Emulator\n" #~ "Marcel de Kogel\n" #~ " für die Z80 Prozessor Emulator der bei der Emulation\n" #~ " des KC85 Floppy systems zum Einsatz kommt\n" #~ "Thomas Bretz\n" #~ " für die OS/2 Portierung (siehe http://www.d4m.de/)\n" #~ "Thomas Ludwig\n" #~ " für die großartigen Webseiten zum KC (http://www.kc85emu.de/),\n" #~ " Tips und Verbesserungsvorschläge sowie die Hilfe bei der\n" #~ " Fehlersuche\n" #~ "Holger Krull\n" #~ " für Informationen zum LC 80 (siehe http://www.lc80.de/) und\n" #~ " Z1013 (siehe http://www.z1013.de/)\n" #~ "Kev Thacker\n" #~ " für Tips & Tricks zur Floppy-Emulation\n" #~ " siehe http://mess.emuverse.com/ für seine KC Emulation für\n" #~ " M.E.S.S. (Multi-Emulator Super System)\n" #~ "Volker Pohlers\n" #~ " für seine Hilfe zur Windows-Version von KCemu und die\n" #~ " unermüdliche Unterstützung mit technischen Informationen\n" #~ " zu den verschiedenen emulierten Systemen\n" #~ " (siehe http://hc-ddr.hucki.net/)\n" #~ "Alexander Schön\n" #~ " für den Beginn der Windows-Version, Tips und Vorschläge\n" #~ " zur Verbesserung des Emulators und die Motivation weiterzumachen" #~ msgid "gtk-ok" #~ msgstr "gtk-ok" #~ msgid "" #~ "No\n" #~ "Yes" #~ msgstr "" #~ "Nein\n" #~ "Ja" #~ msgid "gtk-quit" #~ msgstr "gtk-quit" #~ msgid "gtk-clear" #~ msgstr "gtk-clear" #~ msgid "gtk-save" #~ msgstr "gtk-save" #~ msgid "VDIP2: Vinculum USB ROM (CAOS 4.2)" #~ msgstr "VDIP2: Vinculum USB ROM (CAOS 4.2)" #~ msgid "VDIP2: Vinculum USB ROM (CAOS 4.4)" #~ msgstr "VDIP2: Vinculum USB ROM (CAOS 4.4)" #~ msgid "Swap ROMs:" #~ msgstr "ROMs tauschen:" #~ msgid "" #~ "Swap the F8 and FC ROMs of the D004 device.\n" #~ "\n" #~ "The firmware version of the ROMs depends actually on the type of the " #~ "emulated system.\n" #~ "\n" #~ "KC85/2-4 default to the standard FC ROM version 2.0 whereas the KC85/5 " #~ "system has the extended ROM version 3.1 in slot FC by default." #~ msgstr "" #~ "Vertauschen der F8 und FC ROMs des D004 Floppy Geräts.\n" #~ "\n" #~ "Die Firmware-Version der ROMs hängt vom Typ des emulierten Systems ab.\n" #~ "\n" #~ "KC85/2-4 haben den Standard-ROM mit der Version 2.0 im Slot FC, der " #~ "KC85/5 dagegen den erweiterten ROM mit der Versionsnummer 3.1." #~ msgid "Z1013 Emulator" #~ msgstr "Z1013 Emulator" #~ msgid "KC 87 Emulator" #~ msgstr "KC 87 Emulator" #~ msgid "KC 85/1 Emulator" #~ msgstr "KC 85/1 Emulator" #~ msgid "KC 85/2 Emulator" #~ msgstr "KC 85/2 Emulator" #~ msgid "KC 85/3 Emulator" #~ msgstr "KC 85/3 Emulator" #~ msgid "KC 85/4 Emulator" #~ msgstr "KC 85/4 Emulator" #~ msgid "LC80 Emulator" #~ msgstr "LC80 Emulator" #~ msgid "A5105 Emulator" #~ msgstr "A5105 Emulator" #~ msgid "/Emulator/_Run..." #~ msgstr "/Emulator/_Ausführen..." #~ msgid "/Emulator/_Load..." #~ msgstr "/Emulator/_Laden..." #~ msgid "/Emulator/_Tape..." #~ msgstr "/Emulator/_Kassette..." #~ msgid "/Emulator/_Disk..." #~ msgstr "/Emulator/_Diskette..." #~ msgid "/Emulator/_Module..." #~ msgstr "/Emulator/_Module..." #~ msgid "/Emulator/A_udio..." #~ msgstr "/Emulator/A_udio..." #~ msgid "/Emulator/sep1" #~ msgstr "/Emulator/sep1" #~ msgid "/Emulator/R_eset" #~ msgstr "/Emulator/_Reset" #~ msgid "/Emulator/_Power On" #~ msgstr "/Emulator/_Einschalten" #~ msgid "/Emulator/sep2" #~ msgstr "/Emulator/sep2" #~ msgid "/Emulator/_Quit Emulator" #~ msgstr "/Emulator/Emulator _beenden" #~ msgid "/View/_Debugger" #~ msgstr "/Ansicht/_Debugger" #~ msgid "/View/_Info" #~ msgstr "/Ansicht/_Information" #~ msgid "/Options/_Colors" #~ msgstr "/Optionen/_Farben" #~ msgid "/Options/sep" #~ msgstr "/Optionen/sep" #~ msgid "/Help/_Help" #~ msgstr "/Hilfe/_Hilfe" #~ msgid "/Help/sep3" #~ msgstr "/Hilfe/sep3" #~ msgid "/Help/_About KCemu" #~ msgstr "/Hilfe/_Über KCemu" #~ msgid "/Help/_Thanks!" #~ msgstr "/Hilfe/_Danksagung" #~ msgid "/Help/sep4" #~ msgstr "/Hilfe/sep4" #~ msgid "/sep3" #~ msgstr "/sep3" #~ msgid "%s (%s)" #~ msgstr "%s (%s)" #~ msgid "[ Version ]" #~ msgstr "[ Version ]" #, fuzzy #~ msgid "/Options/Options..." #~ msgstr "/Optionen/sep" #~ msgid "Ok" #~ msgstr "Ok" #~ msgid "No" #~ msgstr "Nein" #~ msgid "Libraries & Projects" #~ msgstr "Projekte & Bibliotheken" #~ msgid "KCemu: Copying" #~ msgstr "KCemu: Lizenz" #~ msgid "Browse" #~ msgstr "Durchsuchen" #~ msgid "Eject" #~ msgstr "Auswerfen" #~ msgid "Attach" #~ msgstr "Aktivieren" #~ msgid "Detach" #~ msgstr "Deaktivieren" KCemu-0.5.1/po/remove-potcdate.sin0000644000175000017500000000066012417262523017202 0ustar glaubitzglaubitz# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } KCemu-0.5.1/ChangeLog0000644000175000017500000014427012417262523014533 0ustar glaubitzglaubitz2010-01-08 gettextize * config/gettext.m4: New file, from gettext-0.17. * config/iconv.m4: New file, from gettext-0.17. * config/lib-ld.m4: New file, from gettext-0.17. * config/lib-link.m4: New file, from gettext-0.17. * config/lib-prefix.m4: New file, from gettext-0.17. * config/nls.m4: New file, from gettext-0.17. * config/po.m4: New file, from gettext-0.17. * config/progtest.m4: New file, from gettext-0.17. * config/codeset.m4: New file, from gettext-0.17. * config/glibc2.m4: New file, from gettext-0.17. * config/glibc21.m4: New file, from gettext-0.17. * config/intdiv0.m4: New file, from gettext-0.17. * config/intl.m4: New file, from gettext-0.17. * config/intldir.m4: New file, from gettext-0.17. * config/intlmacosx.m4: New file, from gettext-0.17. * config/intmax.m4: New file, from gettext-0.17. * config/inttypes_h.m4: New file, from gettext-0.17. * config/inttypes-pri.m4: New file, from gettext-0.17. * config/lcmessage.m4: New file, from gettext-0.17. * config/lock.m4: New file, from gettext-0.17. * config/longlong.m4: New file, from gettext-0.17. * config/printf-posix.m4: New file, from gettext-0.17. * config/size_max.m4: New file, from gettext-0.17. * config/stdint_h.m4: New file, from gettext-0.17. * config/uintmax_t.m4: New file, from gettext-0.17. * config/visibility.m4: New file, from gettext-0.17. * config/wchar_t.m4: New file, from gettext-0.17. * config/wint_t.m4: New file, from gettext-0.17. * config/xsize.m4: New file, from gettext-0.17. 2006-11-17 gettextize * Makefile.am (SUBDIRS): Add intl, m4, po. (EXTRA_DIST): Add m4/ChangeLog. * configure.in (AC_OUTPUT): Add intl/Makefile, po/Makefile.in, Remove command that created po/Makefile. 2005-05-15 Torsten Paul * src/kc/mod_rom1.cc: round module size up to 4k boundary and initialize content with 0xff * include/kc/module.h, src/kc/module.cc, src/kc/mod_list.cc: added the possibility to show an error text when a module can not be inserted (e.g. if it's only possible to have exactly one module of a specific type) * src/kc/mod_js.cc: added configuration for joystick device and better auto probing for some default joystick devices; currently always the first joystick is selected. * src/kc/keyb1.cc: changed kc85/1 keyboard handling with respect to shifted keys; it should be possible now to enter characters that are shifted in the pc layout but not shifted in the kc layout 2005-05-14 Torsten Paul * include/kc/gide.h, src/kc/gide.cc: GIDE support is now working to the extend that it's possible to boot from hard disk. current implementation has two fixed hard disks, master drive is a Seagate ST-157A (42MB) and slave drive is a MyZ80 compatible hard disk. not yet solved is the problem of initializing the directory area of the hard disk file. without this only the first sector of the directory is usable. 2005-05-01 Torsten Paul * src/kc/memory3.cc: reinitialize memory layout on reset * src/kc/mod_ram.cc: fix configuration changes; address changes were only honoured when the active flag was changed too * src/kc/mod_disk.cc: fix initialization 2005-04-30 Torsten Paul * src/kc/pio3.cc: fix meaning of the internal pio ports (according to schematics, due to lack of system handbook) * src/kc/pio.cc: handle byte input mode (which is the PIO default) 2005-04-24 Torsten Paul * include/z80core2/z80io.h: fixed definition of I/O functions to allow usage 16-bit port address; this is neccessary for the GIDE/RTC input 2005-04-23 Torsten Paul * src/kc/fdc_cmd.cc: changed the "format a track" to work with the caosdisk command * include/kc/daisy.h, src/kc/daisy.cc: separated interrupt daisy chain handling so it can be used from module code * include/kc/mod_dio.h, src/kc/mod_dio.cc, include/kc/ctc_dio.h, include/kc/pio_dio.h, src/kc/ctc_dio.cc, src/kc/pio_dio.cc: added digital in/out module (M001) 2004-08-14 Torsten Paul * include/kc/disk.h, src/kc/disk.cc: added method to create new empty disk files (always using AnaDisk Dump format with format 5x1024x2) * src/kc/kc.cc: do some guessing for data and locale directory * src/kc/keyb3.cc: ignore "AltGR" key; fix for keys that are shifted on PC keyboard but not on KC keyboard (e.g. ':'); this might not work correctly on keyboard layout different from german. * src/ui/gtk/ui_gtk.cc (key_press_release): "AltGr" key returns GDK_ISO_Level3_Shift. * src/z80core2/Z80.c: added Z80_ExecuteSingle() method and made InitTables() public with the new name Z80_InitTables(). 2004-06-11 Torsten Paul * include/kc/keyb3k.h: changed the code for the ENTER key from 7fh to 7eh; needed for CAOS 4.4 * src/z80core/CodesXCB.h: implemented undocumented opcodes SET 7,(IX+4),A and RES 7,(IX+4),A that are used by CAOS 4.3 and above * src/kc/ports4.cc: force initial change for all bits 2004-06-10 Torsten Paul * include/kc/mod_4m.h, src/kc/mod_4m.cc: added 4MB RAM module (M035x4, logically 4 1MB modules in one slot) * include/kc/mod_1m.h, src/kc/mod_1m.cc: added module 1MB segmented RAM * include/kc/mod_512k.h, src/kc/mod_512k.cc: added module 512k segmented RAM * include/kc/mod_256k.h, src/kc/mod_256k.cc: added module 256k segmented RAM * include/kc/mod_128k.h, src/kc/mod_128k.cc: added module 128k segmented RAM * include/kc/mod_segm.h, src/kc/mod_segm.cc: base class for segmented RAM modules (kc85/4) * src/kc/module.cc: pass all memory I/O calls to the module interface not only the calls aligned at module addresses (with ((addr >> 8) & 3) == 0); this is needed for the M035x4 4MB module that logically contains 4 1MB modules at all 4 module port addresses of one slot * src/kc/memory4.cc: modified reset routine to also initialize internal state variables * src/kc/memory4.cc: fixed memory segment handling problem for RAM8 * src/kc/mod_ram.cc: grmpf, module memory size was not 16k as it should be but only 8k 2004-03-20 Torsten Paul * src/kc/pio.cc: don't ignore callback return value in bit I/O mode 2004-03-17 Torsten Paul * switched to automake-1.8 2004-02-03 Torsten Paul * src/ui/gtk/ui_gtk.cc: fix keyboard handling resurrecting the key accelerator in the menu bar; full support for main menu access by keyboard 2004-01-31 Torsten Paul * include/kc/basicrun.h: added basic run routine for starting basic programs from both system and basic mode 2004-01-17 Torsten Paul * src/ui/gtk/ui_gtk.cc: added menu entry to enable/disable display effects for scaled screen 2004-01-11 Torsten Paul * include/kc/mod_192k.h, src/kc/mod_192k.cc, include/kc/mod_4131.h, src/kc/mod_4131.cc, include/kc/mod_64k.h, src/kc/mod_64k.cc, include/kc/mod_cpm.h, src/kc/mod_cpm.cc, include/kc/mod_fdc.h, src/kc/mod_fdc.cc, include/kc/mod_gdc.h, src/kc/mod_gdc.cc, include/kc/mod_js.h, src/kc/mod_js.cc, include/kc/mod_r64.h, src/kc/mod_r64.cc, include/kc/mod_ram.h, src/kc/mod_ram.cc, include/kc/mod_ram1.h, src/kc/mod_ram1.cc, include/kc/mod_ram8.h, src/kc/mod_ram8.cc, include/kc/mod_ramf.h, src/kc/mod_ramf.cc, include/kc/mod_rom.h, src/kc/mod_rom.cc, include/kc/mod_rom1.h, src/kc/mod_rom1.cc, include/kc/mod_rtc.h, src/kc/mod_rtc.cc: implement reset() method * include/kc/module.h, src/kc/module.cc: added reset() method to forward reset/power on event; made scratch_mem() static * include/kc/kc.h, src/kc/kc.cc, src/ui/gtk/ui_gtk.cc: added command line switch and config file entry to enable/disable display effects for scaled screen 2004-01-10 Torsten Paul * src/kc/fdc.cc, src/kc/fdc_cmd.cc, src/ui/gtk/debug.cc, src/ui/gtk/copying.cc, src/kc/memory3.cc, src/kc/memory7.cc, src/kc/module.cc, src/kc/mod_list.cc, src/cmd/cmdargs.cc, src/kc/cb_list.cc, src/ui/gtk/ui_gtk.cc, src/libtape/kct.cc: fix memory leaks * include/ui/generic/memaccess.h, src/ui/generic/memaccess.cc: simple implementation of the kc 85/2, kc85/3 display effect caused by access to the screen memory * src/kc/memory2.cc, src/kc/memory3.cc: call user interface when reading or writing from/to IRM * ROM/m006.rom, src/kc/mod_list.cc: fixed rom image, this module is actually 16k and includes a new system rom! * src/kc/memory2.cc, src/kc/pio2.cc: enables memory bank switching 2003-12-24 Torsten Paul * src/ui/gtk/ui_gtk.cc: replaced deprecated gtk_window_set_policy() with gtk_window_set_resizable() 2003-11-23 Torsten Paul * src/kc/tape.cc (do_play_basicode): added play routine for basicode files * include/libtape/kct.h: support for basicode files * src/fileio/load_BASICODE.c (loader_BASICODE_load): added loader for basicode files (in ASCII format) 2003-11-20 Torsten Paul * released version 0.3.7 * src/fileio/load_SSS.c (loader_SSS_check): relaxed the file checking again; now checks if (basic_length_specified_in_file + 129) < size_of_file; previous value was +127 which was too small for some file floating around * src/libtape/kct.cc (list): change stream modifiers to be gcc3 compatible 2003-11-16 Torsten Paul * src/ui/gtk/tape.cc (init): enabled combo box for tape files; now only files that are readable will be included in the combo box 2003-10-15 Torsten Paul * src/kc/memory6.cc (Memory6), src/ui/gtk/tape.cc (init), src/ui/gtk/disk.cc (init), src/ui/gtk/ui_gtk.cc (property_change): fix memory leaks 2003-10-12 Torsten Paul * src/ui/gtk/disk.cc, src/ui/gtk/copying.cc: fixed memory allocation problems pointed out by valgrind * include/kc/keyb3k.h: added BRK, STOP, CLR and _ keys for use with the keyboard window * src/kc/keyb3.cc: fixes for shift handling 2003-10-05 Torsten Paul * redirect output streams and pass -mwindows to gcc to prevent the dos box from popping up under windows * completed kc 85 keyboard window * added generation of windows icon files * generate KCemuSetup.iss from KCemuSetup.iss.in 2003-10-03 Torsten Paul * added KCemuSetup.iss for use with Inno Setup (Windows Setup compiler); contributed by Alexander Schön * src/kc/mod_rom.cc, src/kc/mod_rom1.cc, src/kc/mod_192k.cc: fix open() mode to use binary I/O * src/sys/mingw/sys/sys_gettimeofday.c: fix microsecond return value to actually return microseconds instead of milliseconds * src/sys/mingw/sys/sys_usleep.c: implemented using Sleep() from the Win32 API 2003-07-30 Torsten Paul * src/ui/gtk/debug.cc: fix font usage in debug window * include/ui/copying.h: removed * src/kc/disk.cc (detach): remove duplicated code * src/kc/kc.cc: use gettext for help texts (before call to bind_textdomain_codeset() in ui initialization); splitted license string for commandline and ui usage; added functions to return translated license strings: kc_get_license(), kc_get_warranty(), kc_get_license_trailer() * src/ui/gtk/ui_gtk.cc (init): call bind_textdomain_codeset() to force UTF-8 encoding which is required by the new GTK * po/de.po: changed encoding to UTF-8 2003-06-29 Torsten Paul * integrated emulation of the Polycomputer 880 from development branch into trunk 2003-06-22 Torsten Paul * src/kc/ctc.cc (c_out): added a fixed offset for callback timing added for the poly880 emulation; without offset the CTC caused NMI is triggered one opcode too early 2003-06-18 Torsten Paul * src/kc/pio.cc (out_CTRL): fix debug output 2003-06-17 Torsten Paul * src/kc/keyb1.cc: removed #define KEYB_DEBUG and changed debug code to use libdbg (keyPressed): ignore key press events for keys that are already pressed (e.g. generated by the GTK keyboard code) 2003-06-16 Torsten Paul * configure.in: manually disable AM_PATH_GTK_2_0 check if gtk-check is disabled and use GTK_CFLAGS/GTK_LIBS environment variables; added command line flag --enable-ms-bitfields to enable/disable check for -mms-bitfields gcc flag (MinGW only) 2003-06-15 Torsten Paul * configure.in: replace MD5Init with FLAC__file_decoder_process_metadata in check for libFLAC; this function is present in the 1.0.x FLAC library but not in 1.1.x * include/ui/gtk/tape.h: removed unused enum 2003-06-13 Torsten Paul * include/ui/gtk/tape.h: #undef TAPE_REWIND -- it's defined under MinGW; need to check where this comes from * src/ui/gtk/ui_gtk.cc: removed #include and #include (key_press_release): replaced XKeysymToKeycode() with event->hardware_keycode 2003-06-12 Torsten Paul * configure.in: add AC_DEFINE for USE_INCLUDED_GETOPT * src/libtape/kctape.cc (open_output): open file in binary mode; check which getopt.h to include * src/ui/gtk/ui_gtk.cc: replaced usleep() with g_usleep() * include/sys/sysdep.h, src/sys/linux/sys_gettimeofday.c, src/sys/beos/sys_gettimeofday.c, src/sys/mingw/sys_gettimeofday.c: added sys_gettimeofday() which is a wrapper for gettimeofday() for linux and beos, the mingw function was provided by Alexander Schön * src/ui/gtk/ui_gtk.cc: removed references to gettimeofday() and introduced system dependend function sys_gettimeofday() 2003-06-11 Torsten Paul * src/kc/disk.cc: moved the command call "ui-disk-update-MSG" to attach() and detach(); now initially attached disk images (via command line or init file) are shown in the user interface; allow attaching of disk images from DATADIR without path * include/kc/keys.h: added KC_KEY_SPACE, KC_KEY_RESET and KC_KEY_NMI * include/ui/gtk/keyboard.h, src/ui/gtk/keyboard.cc: complete rewrite based on images for the keyboard display 2003-06-08 Torsten Paul * src/ui/gtk/gtkledline.c: removed unused code * src/libdisk/disk.c: set passed reference to pointer to NULL on failure in libdisk_open() 2003-06-07 Torsten Paul * upgrade to GTK+-2.2.1 * src/ui/gtk/tape.cc, src/ui/gtk/ui_gtk0.cc, src/ui/gtk/ui_gtk1.cc, src/ui/gtk/ui_gtk8.cc, src/ui/gtk/keyboard.cc: fix color specification; pango doesn't like the form "rgb:00/a0/ff" * src/ui/gtk/copying.cc: gtk_text_new() is only available if GTK_ENABLE_BROKEN is defined :-( and this is obviously no joke; removed the text widget and replaced it with two labels in a scrolled window which works quite well; need to check font allocation by libpango as it currently uses hardcoded fontfamily "Courier" * src/ui/gtk/debug.cc: fixed compile problem with overloading do_goto(); can't use style->font anymore -- need new method to set font * src/ui/gtk/disk.cc, src/ui/gtk/tape.cc: char * -> const gchar * * src/ui/gtk/ui_gtk.cc, src/ui/gtk/disk.cc, src/ui/gtk/tape.cc, src/ui/gtk/tapeadd.cc, src/ui/gtk/about.cc, src/ui/gtk/color.cc, src/ui/gtk/module.cc, src/ui/gtk/keyboard.cc, src/ui/gtk/copying.cc, src/ui/gtk/hedit.cc: GTK_WINDOW_DIALOG -> GTK_WINDOW_TOPLEVEL * src/ui/gtk/ui_gtk.cc: removed usage of gdk_key_repeat_disable() and gdk_key_repeat_restore(); both are not available in GTK-2.0 * src/ui/gtk/ui_gtk.cc: changed XA_STRING to GDK_TARGET_STRING * src/ui/gtk/tape.cc: disabled combo box; signal handling is too buggy * src/ui/gtk/about.cc: added KCemu logo 2003-06-06 Torsten Paul * include/kc/memory.h, src/kc/memory.cc: expose the reload_mem_ptr() function for public access (needed by the 192k module) * include/kc/mod_192k.h, src/kc/mod_192k.cc: first implementation of the 192 KByte RAM/EPROM module for kc85/1; still needs some changes to work for kc87 (ROMDI handling) 2003-06-03 Torsten Paul * src/kc/mod_v24.cc: fix initialization 2003-04-26 Torsten Paul * src/kc/keyb*.cc: fixed keyboard reset * include/kc/vis.h, src/kc/vis.cc, src/ui/generic/ui_9.cc: added function to check char set changes so when loading a new charset from disk the screen is updated correctly and not only after redrawing characters * src/kc/gdc.cc: added even more debug output * include/kc/cb_list.h, src/kc/cb_list.cc, src/kc/z80.cc: added function to remove queued callback requests * src/kc/pio.cc: fixed callback handling (missing initialization of callback return variable) * src/fileio/load_TAPE.c: relaxed file type check, the filename is not checked for valid chars anymore; this now allows loading of most .KCC files 2003-04-21 Torsten Paul * include/kc/mod_js.h, src/kc/mod_js.cc: joystick module M008 for kc 85/2-4 using linux joystick interface * src/kc/mod_list.cc: fix inclusion of the v24 (wrong #define); added joystick module 2003-04-18 Torsten Paul * src/ui/gtk/ui_gtk9.cc, src/ui/sdl/ui_sdl9.cc: fix cpu timing (clock frequency is 3,75MHz) * src/ui/generic/ui_9.cc: fix display resolutions for screen modes 3 and 5 * src/kc/vis.cc: implemented read access to char data (port 9ch); fixes text output in graphics mode 2003-04-03 Torsten Paul * src/ui/generic/ui_8.cc: honour clear_cache flag * src/ui/generic/ui_3.cc: honour clear_cache flag * src/ui/generic/ui_0.cc: honour clear_cache flag in GDC update function * src/ui/gtk/ui_gtk8.cc: call generic_update() with clear_cache flag * src/ui/gtk/ui_gtk.cc: render bitmap when calling gtk_update() with the full_update flag set; fixes display update problems when changing the display scaling 2003-04-01 Torsten Paul * some changes to allow compilation in the MinGW/MSYS environment * include/ui/sdlmtk/*, src/ui/sdlmtk/*: small toolkit for a simple libSDL based user interface * src/libaudio/load_oss.c: made optional, added check for necessary headerfile to configure.in * src/kc/kc.cc: added command line switch for showing a verbose listing of available emulations * src/kc/keyb0.cc: latch key value only at start of keyboard scan to prevent missing recognition of the shift keys * src/kc/mod_rtc.cc: use sys_localtime() to fetch time * src/kc/rc.cc: load rc-file from current working directory too (order is $HOME/.kcemurc, $cwd/.kcemurc, DATADIR/.kcemurc) * src/kc/wav.cc: define M_PI if not already defined 2003-03-27 Torsten Paul * src/kc/kc.cc, src/kc/mod_list.cc: added command line switch to set/add modules at startup 2003-03-26 Torsten Paul * src/ui/gtk/ui_gtk.cc, src/kc/mod_ramf.cc, src/kc/rc.cc: don't use environment variable for home directory but overwritable global variable kcemu_homedir; src/libdbg/dbg.cc will still use the environment * src/kc/kc.cc: added command line switches for fullscreen mode and overwriting the home directory 2003-03-23 Torsten Paul * src/ui/sdl/ui_sdl.cc: hide cursor on key press and show it on mouse move events * src/sys/*/sys_localtime.c: added system dependend call to retrieve the local time of the system (for the RTC module) * src/kc/z80.cc: removed get_time() * upgraded to automake 1.6, autoconf 2.57, gettext 0.10.40 2003-03-12 Torsten Paul * src/ui/generic/ui_0.cc: use get_char_rom() instead of the hard coded char set from font0.h * src/kc/memory*.[h,cc]: changed getIRM() to get_irm() and added get_char_rom() 2003-03-10 Torsten Paul * src/ui/generic/ui_9.cc: change window size for hires modes instead of crippling the characters to 4x8 pixels 2003-03-08 Torsten Paul * include/kc/gdc.h, src/kc/gdc.cc: added function to emulate the vertical retrace bit of the control register -- needed by the Z1013 CP/M to prevent the status line from flickering * include/kc/mod_rtc.h, src/kc/mod_rtc.cc: minimal RTC support to allow date/time display for the Z1013 CP/M; the values are read directly from the system clock and setting the RTC is not yet supported * src/kc/mod_list.cc, include/ui/gtk/module.h, src/ui/gtk/module.cc: let the Z1013 have 8 module slots * src/kc/fdc_cmd.cc: return almost correct result values for FORMAT_A_TRACK; sector number is automatically incremented but for now the returned sector is the one when starting the command; set data transfer flag because the FDC needs to receive the sector information after the FORMAT_A_TRACK command execution started 2003-03-07 Torsten Paul * include/kc/gdc.h, src/kc/gdc.cc: support all four subscreens that are possible in textmode; fixes the fancy scrolling routine of the Z1013 CP/M which uses 3 subscreens -- two for screen scrolling without the need to actually copy any data and one for the status line 2003-03-03 Torsten Paul * include/kc/keyb0k.h: added 8x8 keyboard matrix for A2 system rom 2003-02-26 Torsten Paul * src/kc/fdc.cc: splitted i/o interface into separate classes for the different systems 2003-02-20 Torsten Paul * include/kc/pio.h: changed PIOCallbackInterface to allow return values for the input callbacks 2003-02-16 Torsten Paul * src/kc/disk.cc: check if FDC is available * src/kc/mod_4131.cc: added missing call to set_valid() * src/libtape/kctape.cc: fix handling of readonly files * src/libtape/kct.cc: fix file creation with gcc-3.2 * src/kc/mod_rom1.cc: call unregister_memory() after unregister_romdi_handler() in destructor 2003-02-15 Torsten Paul * src/kc/fdc.cc: added set_terminal_count() function; currently used only by the KC87 emulation; terminal count doesn't clear the result data 2003-02-12 Torsten Paul * src/kc/fdc_cmd.cc: retract head to track 0 and set SEEK END; need by CPM-Z9 boot routine * src/kc/mod_cpm.cc: added missing call to set_valid() 2003-02-08 Torsten Paul * src/kc/tape.cc: added autostart for BASIC programs in KC85/1 and KC87 mode (BASIC must be initialized first!); autostart routine is described in MP 3/89, page 86 ("Basic-Run im OS für die KC87-Familie") 2003-02-02 Torsten Paul * include/kc/mod_ramf.h, src/kc/mod_ramf.cc: 256k ram floppy for z1013; it's possible to use two modules of this type at the same time, the first will get i/o port 98h, the second i/o port 58h; initial content can be loaded from files in headersave format that live in the directories ~/.z1013-ramfloppy_98 and ~/.z1013-ramfloppy_58 respectivly * src/kc/memory.cc, src/kc/tape.cc: added hack to load z1013 files (in headersave format) * src/fileio/load_HS.c: loader for z1013 files in headersave format * src/kc/mod_list.cc: check if module insert is possible by checking the valid flag that must be set by the clone constructor 2003-02-01 Torsten Paul * src/kc/kc.cc: added variant kc87.20 * src/kc/tape.cc: add files with unknown type as KCT_TYPE_BIN, use real filename otherwise not just "new file" * src/libtape/kctape.cc: use new type KCT_TYPE_BIN when adding raw files (via switch -A) * include/libtape/kct.h, src/libtape/kct.cc: added type KCT_TYPE_BIN that will be used for the new emulated systems until the tape i/o really supports those systems 2003-01-29 Torsten Paul * added first pieces of a z1013 emulation; base system is working but there is no tape emulation yet 2003-01-26 Torsten Paul * src/kc/mod_list.cc: added plotter module for kc85/1 (the ROM is identical with the internal ROM BASIC of the KC87.21) * src/kc/kc.cc: added command line flag to attach a disk file on startup 2003-01-20 Torsten Paul * src/libtape/kct.cc: fix file creation bug caused by the changes for gcc-3.x; now uses access() to check for exising files 2003-01-19 Torsten Paul * include/kc/mod_cpm.h, src/kc/mod_cpm.cc: emulation of the floppy module for the KC87 CP/M system CPM-Z9 * include/kc/mod_r64.h, src/kc/mod_r64.cc: emulation of the 64k RAM module required by the KC87 CP/M system CPM-Z9 * include/kc/mod_4131.h, src/kc/mod_4131.cc: started emulation of the plotter XY4131 * src/fileio/load_BIN.c: file loader for tape files with 130 byte block size (as written by the kc tape routines including block number and checksum) * src/kc/mod_rom1.cc: fix memory region registration to be read only; now it's really a rom module * src/kc/memory1.cc, src/kc/memory7.cc: changed priority of IRM memory from 128 to 1 * include/kc/memory7.h, src/kc/memory7.cc: added function to switch of the internal basic and system roms (ROMDI) * include/kc/memory1.h, src/kc/memory1.cc: added function to switch of the internal system rom (ROMDI) * include/kc/romdi.h: definitions for the ROMDI handling * include/kc/module.h: renamed in() and out() to m_in() and m_out() to allow usage of both ModuleInterface and PortInterface 2003-01-15 Torsten Paul * src/kc/mod_list.cc: insert Floppy Disk Basis Module only when emulating kc85/2-4 2003-01-03 Torsten Paul * src/kc/tape.cc: add extra delay between data blocks if the file type is KCT_TYPE_LIST; this is needed to give the basic interpreter enough time to tokenize the lines while reading from the tape with LOAD#1"FILENAME" * include/fileio/load.h, include/libtape/kct.h: renamed the file type MINTEX to DATA because the signature 0xd4, 0xd4, 0xd4 is produced by the data save command CSAVE*"FILENAME";ARRAYNAME, added file type LIST with signature 0xd5, 0xd5, 0xd5 that is generated by LIST#1"FILENAME" 2002-12-22 Torsten Paul * src/kc/memory9.cc: initialize memory configuration on system reset * src/kc/gdc.cc: initialize chip emulation on system reset * src/kc/vis.cc: initialize chip emulation on system reset 2002-12-21 Torsten Paul * added a5105 systemdisk 2002-12-20 Torsten Paul * src/kc/memory9.cc: implemented core dump function 2002-12-15 Torsten Paul * src/kc/tape.cc: workaround for memstream problems in the bic/a5105 functions * src/kc/gdc.cc: fix typo in read-write-modify emulation for the WDAT command * src/ui/generic/ui_9.cc: fixed caching bug (value of the _dirty array was ignored) * include/kc/vis.h, src/kc/vis.cc, include/ui/generic/ui_9.h, src/ui/generic/ui_9.cc: added emulation of screen border 2002-12-08 Torsten Paul * include/kc/kc.h, src/kc/kc.cc, src/kc/memory9.cc: added variant 'bic' and 'k1505' that emulate only the base device and variant 'a5105' that includes the emulation of the disk device 2002-11-30 Torsten Paul * src/libaudio/load_*.c: display version of the used sound library if available * src/libaudio/load_als.c: audio loader for ALSA line input; not enabled yet * configure.in: added check for libsndfile 1.0.x * added support for libsndfile 1.0.x which has a different api compared with version 0.0.x * src/libdisk/tdtodump.c: simple program to convert TeleDisk images to uncompressed disk dumps * include/libdisk/teledisk.h, src/libdisk/teledisk.c, src/libdisk/load_td0.c: added loader for disk images produced by the Sydex TeleDisk program (only normal compression for now) 2002-11-22 Torsten Paul * src/ui/gtk/module.cc: show the toggle button for the color expansion for all kc85/1 and kc87 variants but enable it only for some of those * src/kc/mod_list.cc: differentiate kc85/1 and kc87 variants with and without the color expansion; this should move to a more appropriate place 2002-11-21 Torsten Paul * src/kc/tape.cc (do_play): tape now functional with the new memstream; still needs some workarounds because of problems with the memstream class 2002-11-20 Torsten Paul * lots of compile fixes for g++-3.2; updated names of include files; removed default parameter values from some functions in the *.cc files; replaced the deprecated strstream * src/kc/kc.cc (set_kc_type): added the notion of computer variants to allow to differentiate between e.g. the kc87.11 and kc87.21 model 2002-11-19 Torsten Paul * src/kc/mod_rom1.cc (ModuleROM1): added missing initialization; fixes crash on exit * src/libtape/kct.cc: using memstream now * include/kc/memstream.h: new memory based input/output stream working on a byte array; can't use istringstream to replace istrstream because it truncates on '\0' 2002-11-17 Torsten Paul * ROM/os____f0.87b, basic_c0.87b: dumped system and basic rom of a kc87.21; both roms are different from the kc87.11 * src/kc/memory1.cc (dumpCore): implemented coredump function * src/kc/memory7.cc (dumpCore): implemented coredump function 2002-11-07 Torsten Paul * src/kc/memory1.cc (reset), src/kc/memory7.cc (reset): don't call scratch_mem() for the first ram block at address 0000h this breaks the initialization -- how this is working in the real machine is quite obscure; fixes MAZOGS * src/kc/ctc1.cc (irq_2): output pin of timer channel 2 is connected to channel 3 trigger input pin; fixes system time 2002-11-04 Torsten Paul * include/z80core/z80.h (LSB_FIRST): hardcode LSB_FIRST for the z80 core; needs an endian check in configure * src/ui/generic/ui_9.cc (generic_update_text): added display cache for text mode * src/ui/gtk/ui_gtk.cc: fixed the hack with hard coded dirty buffer size * src/ui/generic/ui_9.cc (generic_update): emulate text screen modes 0,1,8,9; the modes with 80 chars per line are emulated by an ugly hack that simply shrinks the character width * src/kc/gdc.cc: startet to implement READ-MODIFY-WRITE memory access using the mask register 2002-11-03 Torsten Paul * src/cmd/dbg.cc: added command reload-debug-config to reload the debug config * include/libdbg/dbg.h, src/libdbg/dbg.cc: added function to reload the config file while the application is running 2002-11-02 Torsten Paul * src/ui/generic/ui_9.cc (generic_update): added split screen emulation for mixed mode 2002-10-31 Torsten Paul * released version 0.3.6 2002-10-16 Torsten Paul * src/kc/z80.cc: timer is not available for all computer types so don't try to start it if it's not initialized 2002-10-08 Torsten Paul * src/ui/gtk/module.cc: made special entry for the kc85/1 color expansion module as this is not a real module but an internal card * src/kc/mod_list.cc (insert): allow the entry to be NULL; this will remove a module that may be present in the given slot 2002-10-06 Torsten Paul * added kc85/1 rom modules from www.sax.de/~zander: IDAS, BITEX, EDAS, ZSID, R80 and ZM30; thanks to Ulrich Zander * src/ui/generic/ui_1.cc: added emulation of the flash bit; finally makes the cursor visible in kc87 mode * include/kc/timer3.h, src/kc/timer3.cc: new Timer implementation for kc85/2-4; this is a copy of the old timer.h/timer.cc * include/kc/timer1.h, src/kc/timer1.cc: new Timer implementation for kc85/1, kc87; this is needed to emulate the flashing cursor * include/kc/timer.h, src/kc/timer.cc: made class Timer abstract * src/ui/gtk/module.cc: show different module slot layout when emulating a kc85/1 or kc87 * include/kc/mod_rom1.h, src/kc/mod_rom1.cc: rom module for the kc85/1 series * include/kc/memory7.h, src/kc/memory7.h: new files for the kc87 memory layout including basic rom * include/kc/memory1.h, src/kc/memory1.h: removed basic rom as the kc85/1 doesn't have it built in * src/ui/generic/ui_1.cc: added emulation of the screen border and the 20 line display mode 2002-09-11 Torsten Paul * src/fileio/load_TAPE.c (loader_TAPE_load): fixed size calculation * src/kc/tape.cc (remove): refresh display after remove (add): show message in statusline after adding files; also displays the loader which was used to load this file * include/fileio/load.h, include/fileio/loadP.h: added filetype to fileio_prop_t and get_type() to all the loaders 2002-09-07 Torsten Paul * src/kc/tape.cc (export_wav): export tape files as .WAV (export_tap): use fileio_save_tap() to export .TAP files 2002-09-04 Torsten Paul * src/fileio/save_WAV.c, src/fileio/kc2wav.c: convert file to .WAV format * src/fileio/save_TAP.c, src/fileio/kc2tap.c: convert file to .TAP format * include/kc/tape.h (class Tape): renamed extract() to export_tap() and added export_wav() 2002-09-02 Torsten Paul * src/kc/z80_fdc.cc (reset): clear callback list on reset * include/kc/floppy.h, src/kc/floppy.cc: changed return type for attach() to signal failures 2002-08-31 Torsten Paul * src/ui/gtk/ui_gtk.cc: added menu entry to disable the emulation speed limit * src/kc/memory4.cc: changed memory layout for the a800-bfff region; quite obscure but (partly) verified against a real KC; fixes FRACTAL4 * src/kc/wav.cc (do_play): do some padding on the end of the audio input to compensate the delay of the digital filter 2002-08-26 Torsten Paul * src/ui/gtk/ui_gtk1.cc, src/ui/gtk/ui_gtk3.cc, src/ui/gtk/ui_gtk4.cc: removed unnecessary include statements 2002-08-25 Torsten Paul * src/ui/generic/scanline.cc: support for the color scrolling effect moved out of the KC 85/4 display code; the KC 85/3 emulation now uses this code too * include/ui/ui.h (class UI): removed obsolete function memWrite() * src/ui/gtk/ui_gtk.cc (property_change): check values of the event structure * src/ui/generic/ui_8.cc (get_real_height, get_real_width): use width and height which are divideable by 8 for easier display caching * src/ui/gtk/ui_gtk3.cc, src/ui/gtk/ui_gtk4.cc: moved previously static helper function hsv_to_gdk_color() to ui_gtk.cc * src/ui/gtk/ui_gtk.cc (key_press_release): map key pad numbers and some of the special keys * include/ui/gtk/cmd.h, src/ui/gtk/cmd.cc: moved previously static helper functions from header file to cmd.cc * src/libaudio/load.c: added library to load audio files (wav, mp3, flac, ...) * src/kc/kc.cc: added --version command line flag which shows the kcemu version and the configuration of some of the libraries 2002-08-21 Torsten Paul * src/kc/rc.cc (done): free allocated memory * include/kc/rc.h (class RC): made destructor virtual and moved implementation to .cc file, implemented deallocation * fixed lots of memory allocation problems using valgrind, (a great debugging/profiling tool by Julian Seward, http://developer.kde.org/~sewardj) * src/kc/memory.cc: added missing calls delete * src/kc/memory4.cc: added missing call delete * include/kc/cb.h (class Callback): fixed call to delete * src/kc/mod_rom.cc (ModuleROM): fixed initialization * src/kc/mod_ram.cc (ModuleRAM): fixed initialization * src/kc/mod_ram1.cc (ModuleRAM1): fixed initialization * src/kc/mod_ram8.cc (ModuleRAM8): fixed initialization * src/kc/mod_64k.cc (Module64k): fixed initialization * src/kc/keyb3.cc (init): fixed initialization * src/ui/gtk/disk.cc (init): fixed call to delete * src/libdbg/dbg.cc (DBG_class): fixed call to delete * src/kc/rc.cc: fixed calls to delete * src/kc/z80.cc (Z80): fixed initialization * src/kc/mod_list.cc (ModuleList): fixed calls to delete * src/kc/ic.cc (InterfaceCircuit): fixed initialization * src/ui/gtk/ui_gtk.cc (init): fixed initialization, fixed calls to delete * src/ui/gtk/ui_gtk4.cc (reset): fixed initialization 2002-07-05 Torsten Paul * cleaned up lots of warnings produced by -Wall; fixed some bugs that were pointed out by those warnings 2002-06-16 Torsten Paul * src/ui/gtk/ui_gtk.cc: removed profiling code 2002-06-15 Torsten Paul * src/ui/gtk/ui_gtk1.cc (update): fixed display caching bug (color change without value change didn't call the drawing routine) * src/kc/mod_ram1.cc (ModuleRAM1): initialize memory of a new module with random values instead of zero bytes * src/kc/kc.cc: removed obsolete port switch code * include/kc/ports1.h, include/kc/ports3.h, src/kc/ports1.cc, src/kc/ports3.cc: removed, they weren't used for some time because the port switch is now handled somewhere else * src/kc/ports4.cc: removed obsolete port switch code; removed references to CTC/PIO/MODULE; ports now initialized to 0xff instead of 0x00 * src/libtape/kctape.cc: rewrote the argument parsing to use getopt(); command line parameters are not fully compatible to the previous version * src/libtape/kct.cc (list): prevent division by zero when listing empty files (header_read): removed some error messages (that were going to stderr) * src/kc/debug.cc: added function to change the memory * src/kc/z80.cc (LdRZ80): now using a private emulation of the Z80 R register; the one in the Z80 emulation core isn't compatible with the way kcemu uses that core (fixes the missing monsters in JUNGLE) * src/kc/memory4.cc (enableIRM): handle text irm area at a800h when enabling/disabling the irm 2002-06-09 Torsten Paul * released version 0.3.5 2002-06-07 Torsten Paul * src/kc/kc.cc: added -8 to commandline help output * configure.in: added separate variable to enable sound; using HAVE_LIBSDL to enable sound doesn't work after adding SDL user interface code 2002-05-29 Torsten Paul * src/ui/gtk/tape.cc: added menu entry to rename files in the tape archive * include/libtape/kct.h, src/libtape/kct.cc: added method to rename files in the tape archive * src/kc/tape.cc (class CMD_tape_export): fixed return value checking when exporting files 2002-05-28 Torsten Paul * src/kc/tape.cc, src/ui/gtk/tapeadd.cc: handle duplicate file names when adding files to tape archives (resurrection of tapeadd.cc which wasn't used for some time) 2002-05-25 Torsten Paul * src/ui/gtk/tape.cc (tapeNext): changed tape delay from 5 to 10 seconds; this should be enough to allow the basic file loader to initialize basic and call CLOAD * src/libtape/kctape.cc (add_file), src/kc/tape.cc (add): fixed typo in file type handling which caused BASIC files to be added as COM files * src/fileio/load_AF.c (check_end): modified check for file end; basic files can be larger than 255 blocks so we can't check for the block number in this case; fixes loading bug for some files from www.kc85emu.de (e.g. Spiele1M.tap) 2002-04-02 Torsten Paul * include/ui/font1.h, src/ui/gtk/ui_gtk1.cc: changed font to include empty chars between 0h and 20h * include/ui/gtk/font1.h: moved to include/ui/font1.h, it's not only usable for gtk 2002-03-30 Torsten Paul * src/ui/gtk/ui_gtk3.cc: changed obsolete type byte to byte_t * include/ui/gtk/module.h, src/ui/gtk/module.cc: moved constructor and destructor out of the header file * src/kc/kc.cc, src/kc/sound3.cc: removed dependency on libSDL * included first code of a port to BeOS * kc/config.h is now included by kc/system.h, no need to include both in every file 2002-03-25 Torsten Paul * src/ui/gtk/ui_gtk.cc (ui_callback): fixed initialization problem in time frame calculation which was caused by limited value range * src/ui/gtk/ui_gtk.cc, src/ui/gtk/ui_gtk1.cc, src/ui/gtk/ui_gtk3.cc, src/ui/gtk/ui_gtk4.cc, src/ui/gtk/ui_gtk8.cc: moved callback implementation to base UI class as ui_callback() 2002-03-23 Torsten Paul * added emulation of the LC 80 computer 2002-03-08 Torsten Paul * include/kc/tape.h (class Tape): renamed ctcSignal() to tape_signal() and getDelay() to get_delay() * src/kc/pio1.h, src/kc/pio1.cc, src/kc/pio2.h, src/kc/pio2.cc, src/kc/pio3.h, src/kc/pio3.cc, src/kc/pio4.h, src/kc/pio4.cc: added tape_callback() * src/kc/tape.cc (set_tape_callback): set callback function for tape input * include/kc/tape.h: added interface TapeCallback with function tape_callback() that is called when the tape signal changes; this removes the dependency on pio.h 2002-02-15 Torsten Paul * src/libtape/kct.cc (write): refuse to add a file if the filename already exists in the archvie * src/libtape/kct.cc: removed obsolate write() method * src/libtape/kctape.cc: error handling if adding a file with a name that is already in the archive 2002-02-11 Torsten Paul * released version 0.3.4 * src/kc/kc.cc (main): set fileio mode when emulating kc85/1 * src/libtape/kctape.cc (main): added switch to add kc85/1 files; those need to be treated differently with respect to block numbering * include/fileio/load.h, src/fileio/load.c: added functions to get/set the kc-type for the fileio handling 2002-02-10 Torsten Paul * src/fileio/load_TAPE.c (loader_TAPE_load): don't use fill_header_COM() to rewrite the first tape block; this function doesn't handle the difference between kc85/1 and kc85/3 filenames which are padded with '\0' or ' ' respectively 2002-02-09 Torsten Paul * src/kc/kc.cc (main): fixed daisy chain for kc85/1 (tape was broken due to missing interrupts from the first pio) 2002-02-04 Torsten Paul * src/kc/kc.cc (license): changed startup banner, new command line switches to display license and warranty 2002-01-22 Torsten Paul * src/kc/sound.cc: simple sound emulation 2002-01-21 Torsten Paul * added commandline option to scale the display by factor 2, the rc file option is "Display Scale" 2002-01-20 Torsten Paul * changed interrupt handling for ctc and pio, daisy chain is now partially working (makes pharao playable, but still with display errors) 2002-01-19 Torsten Paul * src/kc/ports4.cc (change_0x84), src/kc/memory4.cc: implemented IRM switch 2002-01-18 Torsten Paul * src/kc/debug.cc (DebugZ80): fixed wrong formatting in memory dump 2002-01-09 Torsten Paul * src/ui/gtk/module.cc (init): moved floppy disk basis to be the topmost device in the module window * src/kc/mod_list.cc (ModuleList): fixed typo that prevented the module dialog to show busdrivers even in KC 85/3 and KC 85/4 mode * .kcemurc: system config file now has only config option "Default KC Model" set to 4 * src/kc/ctc3.cc (irq_2): config option "Full Flash Support" is now on by default * src/ui/gtk/ui_gtk3.cc, src/ui/gtk/ui_gtk4.cc: reset was called twice because the ui class registered itself two times via z80->register_ic() - fixes flash bug after reset in KC 85/4 mode 2002-01-08 Torsten Paul * src/ui/gtk/ui_gtk4.cc: changed the flash handling (display of the diamonds in digger seems to be stable now if full flash support is off) * src/fileio/load_UNKNOWN.c (loader_UNKNOWN_load): set start_addr to 0xffff if no real start address is found, set type to COM if load and/or start address found * src/kc/tape.cc (stop): don't change the power signal when stopping the tape * src/kc/kc.cc (main): fixed typo in statement to enable tape power for KC 85/1 and KC 87 2002-01-07 Torsten Paul * src/libdisk/load_22dsk.c: added (readonly) support for disk images that are compressed with gzip, filename handling needs some changes though * src/ui/gtk/disk.cc: activated 3rd disk image (tools.dump) as predefined image * added disk-image tools.dump which contains some importent CP/M programs (most are from the CP/M starter kit from the KC-Club: www.iee.et.tu-dresden.de/~kc-club/DOWNLOAD/DISK001) * src/kc/fdc_cmd.cc (FDC_CMD_WRITE_DATA::execute): fixed missing call to floppy device selection 2002-01-06 Torsten Paul * released version 0.3.3 * src/libdisk/load_22dsk.c (loader_22dsk_write_sector): added write support * src/libdisk/load_cdm.c (loader_cdm_write_sector): added write support * src/ui/gtk/disk.cc: show disks that are installed by default as combobox entries 2002-01-05 Torsten Paul * src/kc/floppy.cc: fixed crash when the emulator tried to access a floppy device with no attached floppy * src/ui/gtk/ui_gtk*.cc: added/changed status info showing the frames per second * src/ui/gtk/tape.cc (init): don't set empty popup on tape combobox * Makefile.am: added the debian package control files to the source distribution * src/libdisk/load_dir.c: first working disk emulation for unix directories (at least if pointed to directories with reasonable content - will most likely crash on directories with many or big files!) * src/kc/fdc_cmd.cc (read_byte): fixed wrong call to fetch_next_sector() which came one byte too early 2002-01-03 Torsten Paul * src/libdisk/load_cdm.c: handles disk format used by the yaze CP/M emulator and its disk handling program cdm (for now only disks created with the cdm command "create disk.img 819200 -b1024 -d127 -o4 -s5" are supported - this is the same format as the CAOS disk that ships with the D004 floppy system) * src/libdisk/load_22dsk.c: handles disk dumps done with the 22DISK tool by Sydex * src/libdisk/load_dir.c: emulate unix directories as CP/M disk * src/libdisk/disk.c: moved the file I/O for floppy disks into a separate library * src/kc/ctc.cc (trigger): don't run interrupt handler if interrupts are not enabled! this seems to fix the MicroDOS boot hang 2002-01-02 Torsten Paul * src/kc/kc.cc: added kc87 mode (equals kc85/1 mode with color expansion installed), color expansion doesn't show up in the module list anymore * src/ui/gtk/module.cc: module user interface only displays modules for the running computer type * include/kc/mod_list.h (class ModuleList): added type field for modules that specifies for which computer type the module is intended for * test/kc/t_cb_list.cc, test/kc/t_ctc.cc: first unit tests based on Cppunit * src/ui/gtk/disk.cc: user interface now somewhat functional - initializastion not correct if disk-images are attached via .kcemurc 2002-01-01 Torsten Paul * src/kc/fdc_cmd.cc: enabled write access * src/kc/fdc.cc: now emulate all four floppies and allows initialization in .kcemurc * src/kc/floppy.cc (attach): fixed missing size calculation of the offset table when attaching CDM floppies (read_offsets): moved sector offset table into the Floppy class 2001-12-31 Torsten Paul * src/kc/ctc.cc: main ctc code is now processor independent and can be used for the base and the floppy system / handling of counter/timer mode changed to be more general but needs some test and optimization eventually * src/kc/z80_fdc.cc, src/kc/ctc_fdc.cc: interrupt handling working partially (MicroDOS system clock is running) but there seems to be a ctc related problem that locks up the MicroDOS system on boot * include/ui/ui.h: removed reference to z80.h 2001-12-30 Torsten Paul * include/kc/z80_fdc.h, src/kc/z80_fdc.cc: moved the floppy systems cpu emulation into separate files * src/kc/z80.cc: lots of dead code removed * test/kc/t_cb_list_1.cc, test/kc/t_cb_list_2.cc: added some testcases for the callback code * include/kc/cb_list.h, src/kc/cb_list.cc: moved the callback handling out of z80.cc so it can also be used for the floppy processor emulation 2001-12-30 Torsten Paul * include/kc/ctc*.h, src/kc/ctc*.cc: added layer between core CTC emulation and system (processor) specific calls to support the CTC usage in the floppy system emulation 2001-12-29 Torsten Paul * compile fixes for gcc-3.0.x * prepared debian binary release * added manpages as required by debian policy 2001-12-28 Torsten Paul * released version 0.3.2 on SourceForge.net 2001-06-17 Torsten Paul * registred SourceForge.net project 2001-01-22 Torsten Paul * include/kc/ctc.h, src/kc/ctc.cc: added CTCCallbackInterface that allows other classes to register some interresting events of the emulated CTC (Timer Value change, Start, Stop, Zero Counter) 2001-01-20 Torsten Paul * include/kc/pio.h (class PIOCallbackInterface): output callbacks now include the value as argument 2001-01-15 Torsten Paul * src/kc/memory4.cc (Memory4): load RAM-File on init (Resource: "Load On Init"), hex number starting with 0x can specify load addres; will only work with a patched System ROM that doesn't zero all available memory 2000-07-12 Torsten Paul * src/fileio/load_SSS.c: new loader for raw BASIC files (without header bytes and filename) 2000-07-10 Torsten Paul * src/ui/gtk/tape.cc: Translation of GtkItemFactoryEntries and the associated text (without the '_' markers) need to be the same or else the retrieving of the widgets will fail!!! * src/kc/tape.cc: fixed saving to tape 2000-07-08 Torsten Paul * src/fileio/load.c: added get_name() function to the loader interface * src/kc/ctc1.cc, src/ui/gtk/ui_gtk1.cc, src/kc/pio3.cc: changed debug code to use libdbg * src/fileio/load_BASIC.c (loader_BASIC_load), src/fileio/load_TAPE.c (loader_TAPE_load): fixed loaders to correctly store the file blocks with the included block number 2000-07-06 Torsten Paul * src/libtape/kctape.cc (add_file): changed file loading to use the fileio library 2000-07-02 Torsten Paul * src/ui/gtk/ui_gtk.cc (create_main_window): didn't get property change events anymore, maybe gtk_widget_set_events() behaves now differently or the default event mask is different? - fixed 2000-07-01 Torsten Paul * src/ui/gtk/module.cc (init): fixed another initialization bug 2000-06-28 Torsten Paul * src/kc/mod_rom.cc (ModuleROM): fixed initialization bug that caused segfaults when leaving the emulator KCemu-0.5.1/KCemuSetup.iss.in0000644000175000017500000001006312417262523016123 0ustar glaubitzglaubitz[Setup] AppName=KCemu AppVerName=Kcemu @VERSION@ AppPublisher=Torsten Paul AppPublisherURL=http://kcemu.sourceforge.net/ AppCopyright=Copyright (C) 1997-2003 Torsten Paul DefaultDirName={pf}\KCemu DefaultGroupName=KCemu DisableStartupPrompt=yes WindowShowCaption=yes UninstallDisplayIcon={app}\kcemuuninstall.exe LicenseFile=share\doc\kcemu\COPYING Compression=bzip/9 SourceDir=@SYS_INSTALL_BASE@ OutputDir=. OutputBaseFilename=KCemu-@VERSION@ ChangesAssociations=no [Languages] Name: "de"; MessagesFile: "compiler:German-2-4.0.5.isl" [Registry] ; This adds the GTK+ libraries to KCemu.exe's path Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\KCemu.exe"; Flags: uninsdeletekeyifempty Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\KCemu.exe"; ValueType: string; ValueData: "{app}\KCemu.exe"; Flags: uninsdeletevalue Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\KCemu.exe"; ValueType: string; ValueName: "Path"; ValueData: "{app};{code:GetGtkPath}\lib"; Flags: uninsdeletevalue [Files] Source: "bin\*.*"; DestDir: "{app}\bin"; Flags: recursesubdirs Source: "lib\*.*"; DestDir: "{app}\lib"; Flags: recursesubdirs Source: "man\*.*"; DestDir: "{app}\man"; Flags: recursesubdirs Source: "share\*.*"; DestDir: "{app}\share"; Flags: recursesubdirs [Icons] Name: "{group}\BIC"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-9 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-bic.ico" Name: "{group}\KC85 - 1"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-1 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-kc87.ico" Name: "{group}\KC85 - 2"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-2 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-kc85.ico" Name: "{group}\KC85 - 3"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-3 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-kc85.ico" Name: "{group}\KC85 - 4"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-4 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-kc85.ico" Name: "{group}\KC87"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-7 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-kc87.ico" Name: "{group}\LC80"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-8 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-lc80.ico" Name: "{group}\Polycomputer 880"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-6 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-poly880.ico" Name: "{group}\Z1013"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-0 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-z1013.ico" Name: "{group}\Z1013 - Bl4 ROM"; Filename: "{app}\bin\kcemu.exe"; Parameters :"-e z1013.bl4 -H {app} -l {app}\share\locale -d {app}\share\kcemu"; WorkingDir:"{app}"; IconFilename: "{app}\share\kcemu\kcemu-z1013.ico" Name: "{group}\Uninstall KCemu"; Filename: "{uninstallexe}" [CODE] var Exists: Boolean; GtkPath: String; function GetGtkInstalled (): Boolean; begin Exists := RegQueryStringValue (HKLM, 'Software\GTK\2.0', 'Path', GtkPath); if not Exists then begin Exists := RegQueryStringValue (HKCU, 'Software\GTK\2.0', 'Path', GtkPath); end; Result := Exists end; function GetGtkPath (S: String): String; begin Result := GtkPath; end; function InitializeSetup(): Boolean; begin Result := GetGtkInstalled (); if not Result then begin MsgBox ('Please install the GTK+ 2.0 Runtime Environment before installing KCemu. You can obtain GTK+ from http://www.dropline.net/gtk.', mbError, MB_OK); end; end; KCemu-0.5.1/COPYING.de0000644000175000017500000006444712417262523014412 0ustar glaubitzglaubitz Deutsche Übersetzung der GNU General Public License Erstellt im Auftrag der S.u.S.E. GmbH [suse@suse.de] von Katja Lachmann Übersetzungen [na194@fim.uni-erlangen.de], überarbeitet von Peter Gerwinski [peter.gerwinski@uni-essen.de] (31. Oktober 1996) Diese Übersetzung wird mit der Absicht angeboten, das Verständnis der GNU General Public License (GNU-GPL) zu erleichtern. Es handelt sich jedoch nicht um eine offizielle oder im rechtlichen Sinne anerkannte Übersetzung. Die Free Software Foundation (FSF) ist nicht der Herausgeber dieser Übersetzung, und sie hat diese Übersetzung auch nicht als rechtskräftigen Ersatz für die Original-GNU-GPL anerkannt. Da die Übersetzung nicht sorgfältig von Anwälten überprüft wurde, können die Übersetzer nicht garantieren, daß die Übersetzung die rechtlichen Aussagen der GNU-GPL exakt wiedergibt. Wenn Sie sichergehen wollen, daß von Ihnen geplante Aktivitäten im Sinne der GNU-GPL gestattet sind, halten Sie sich bitte an die englischsprachige Originalversion. Die Free Software Foundation möchte Sie darum bitten, diese Übersetzung nicht als offizielle Lizenzbedingungen für von Ihnen geschriebene Programme zu verwenden. Bitte benutzen Sie hierfür stattdessen die von der Free Software Foundation herausgegebene englischsprachige Originalversion. This is a translation of the GNU General Public License into German. This translation is distributed in the hope that it will facilitate understanding, but it is not an official or legally approved translation. The Free Software Foundation is not the publisher of this translation and has not approved it as a legal substitute for the authentic GNU General Public License. The translation has not been reviewed carefully by lawyers, and therefore the translator cannot be sure that it exactly represents the legal meaning of the GNU General Public License. If you wish to be sure whether your planned activities are permitted by the GNU General Public License, please refer to the authentic English version. The Free Software Foundation strongly urges you not to use this translation as the official distribution terms for your programs; instead, please use the authentic English version published by the Free Software Foundation. _________________________________________________________________ GNU General Public License Deutsche Übersetzung der Version 2, Juni 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Jeder hat das Recht, diese Lizenzurkunde zu vervielfältigen und unveränderte Kopien zu verbreiten; Änderungen sind jedoch nicht gestattet. Diese Übersetzung ist kein rechtskräftiger Ersatz für die englischsprachige Originalversion! Vorwort Die meisten Softwarelizenzen sind daraufhin entworfen worden, Ihnen die Freiheit zu nehmen, die Software weiterzugeben und zu verändern. Im Gegensatz dazu soll Ihnen die GNU General Public License, die allgemeine öffentliche GNU-Lizenz, ebendiese Freiheit garantieren. Sie soll sicherstellen, daß die Software für alle Benutzer frei ist. Diese Lizenz gilt für den Großteil der von der Free Software Foundation herausgegebenen Software und für alle anderen Programme, deren Autoren ihr Werk dieser Lizenz unterstellt haben. Auch Sie können diese Möglichkeit der Lizenzierung für Ihre Programme anwenden. (Ein anderer Teil der Software der Free Software Foundation unterliegt stattdessen der GNU Library General Public License, der allgemeinen öffentlichen GNU-Lizenz für Bibliotheken. ) Die Bezeichnung "freie" Software bezieht sich auf Freiheit, nicht auf den Preis. Unsere Lizenzen sollen Ihnen die Freiheit garantieren, Kopien freier Software zu verbreiten (und etwas für diesen Service zu berechnen, wenn Sie möchten), die Möglichkeit, die Software im Quelltext zu erhalten oder den Quelltext auf Wunsch zu bekommen. Die Lizenzen sollen garantieren, daß Sie die Software ändern oder Teile davon in neuen freien Programmen verwenden dürfen - und daß Sie wissen, daß Sie dies alles tun dürfen. Um Ihre Rechte zu schützen, müssen wir Einschränkungen machen, die es jedem verbieten, Ihnen diese Rechte zu verweigern oder Sie aufzufordern, auf diese Rechte zu verzichten. Aus diesen Einschränkungen folgen bestimmte Verantwortlichkeiten für Sie, wenn Sie Kopien der Software verbreiten oder sie verändern. Beispielsweise müssen Sie den Empfängern alle Rechte gewähren, die Sie selbst haben, wenn Sie - kostenlos oder gegen Bezahlung - Kopien eines solchen Programms verbreiten. Sie müssen sicherstellen, daß auch sie den Quelltext erhalten bzw. erhalten können. Und Sie müssen ihnen diese Bedingungen zeigen, damit sie ihre Rechte kennen. Wir schützen Ihre Rechte in zwei Schritten: (1) Wir stellen die Software unter ein Urheberrecht (Copyright), und (2) wir bieten Ihnen diese Lizenz an, die Ihnen das Recht gibt, die Software zu vervielfältigen, zu verbreiten und/oder zu verändern. Um die Autoren und uns zu schützen, wollen wir darüberhinaus sicherstellen, daß jeder erfährt, daß für diese freie Software keinerlei Garantie besteht. Wenn die Software von jemand anderem modifiziert und weitergegeben wird, möchten wir, daß die Empfänger wissen, daß sie nicht das Original erhalten haben, damit von anderen verursachte Probleme nicht den Ruf des ursprünglichen Autors schädigen. Schließlich und endlich ist jedes freie Programm permanent durch Software-Patente bedroht. Wir möchten die Gefahr ausschließen, daß Distributoren eines freien Programms individuell Patente lizensieren - mit dem Ergebnis, daß das Programm proprietär würde. Um dies zu verhindern, haben wir klargestellt, daß jedes Patent entweder für freie Benutzung durch jedermann lizenziert werden muß oder überhaupt nicht lizenziert werden darf. Es folgen die genauen Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung: Bedingungen für die Vervielfältigung, Verbreitung und Bearbeitung Paragraph 0. Diese Lizenz gilt für jedes Programm und jedes andere Werk, in dem ein entsprechender Vermerk des Copyright-Inhabers darauf hinweist, daß das Werk unter den Bestimmungen dieser General Public License verbreitet werden darf. Im folgenden wird jedes derartige Programm oder Werk als "das Programm" bezeichnet; die Formulierung "auf dem Programm basierendes Werk" bezeichnet das Programm sowie jegliche Bearbeitung des Programms im urheberrechtlichen Sinne, also ein Werk, welches das Programm, auch auszugsweise, sei es unverändert oder verändert und/oder in eine andere Sprache übersetzt, enthält. (Im folgenden wird die Übersetzung ohne Einschränkung als "Bearbeitung" eingestuft.) Jeder Lizenznehmer wird im folgenden als "Sie" angesprochen. Andere Handlungen als Vervielfältigung, Verbreitung und Bearbeitung werden von dieser Lizenz nicht berührt; sie fallen nicht in ihren Anwendungsbereich. Der Vorgang der Ausführung des Programms wird nicht eingeschränkt, und die Ausgaben des Programms unterliegen dieser Lizenz nur, wenn der Inhalt ein auf dem Programm basierendes Werk darstellt (unabhängig davon, daß die Ausgabe durch die Ausführung des Programmes erfolgte). Ob dies zutrifft, hängt von den Funktionen des Programms ab. Paragraph 1. Sie dürfen auf beliebigen Medien unveränderte Kopien des Quelltextes des Programms, wie sie ihn erhalten haben, anfertigen und verbreiten. Voraussetzung hierfür ist, daß Sie mit jeder Kopie einen entsprechenden Copyright-Vermerk sowie einen Haftungsausschluß veröffentlichen, alle Vermerke, die sich auf diese Lizenz und das Fehlen einer Garantie beziehen, unverändert lassen und desweiteren allen anderen Empfängern des Programms zusammen mit dem Programm eine Kopie dieser Lizenz zukommen lassen. Sie dürfen für den eigentlichen Kopiervorgang eine Gebühr verlangen. Wenn Sie es wünschen, dürfen Sie auch gegen Entgelt eine Garantie für das Programm anbieten. Paragraph 2. Sie dürfen Ihre Kopie(n) des Programms oder eines Teils davon verändern, wodurch ein auf dem Programm basierendes Werk entsteht; Sie dürfen derartige Bearbeitungen unter den Bestimmungen von Paragraph 1 vervielfältigen und verbreiten, vorausgesetzt, daß zusätzlich alle folgenden Bedingungen erfüllt werden: (a) Sie müssen die veränderten Dateien mit einem auffälligen Vermerk versehen, der auf die von Ihnen vorgenommene Modifizierung und das Datum jeder Änderung hinweist. (b) Sie müssen dafür sorgen, daß jede von Ihnen verbreitete oder veröffentlichte Arbeit, die ganz oder teilweise von dem Programm oder Teilen davon abgeleitet ist, Dritten gegenüber als Ganzes unter den Bedingungen dieser Lizenz ohne Lizenzgebühren zur Verfügung gestellt wird. (c) Wenn das veränderte Programm normalerweise bei der Ausführung interaktiv Kommandos einliest, müssen Sie dafür sorgen, daß es, wenn es auf dem üblichsten Wege für solche interaktive Nutzung gestartet wird, eine Meldung ausgibt oder ausdruckt, die einen geeigneten Copyright-Vermerk enthält sowie einen Hinweis, daß es keine Gewährleistung gibt (oder anderenfalls, daß Sie Garantie leisten), und daß die Benutzer das Programm unter diesen Bedingungen weiter verbreiten dürfen. Auch muß der Benutzer darauf hingewiesen werden, wie er eine Kopie dieser Lizenz ansehen kann. (Ausnahme: Wenn das Programm selbst interaktiv arbeitet, aber normalerweise keine derartige Meldung ausgibt, muß Ihr auf dem Programm basierendes Werk auch keine solche Meldung ausgeben). Diese Anforderungen betreffen das veränderte Werk als Ganzes. Wenn identifizierbare Abschnitte des Werkes nicht von dem Programm abgeleitet sind und vernünftigerweise selbst als unabhängige und eigenständige Werke betrachtet werden können, dann erstrecken sich diese Lizenz und ihre Bedingungen nicht auf diese Abschnitte, wenn sie als eigenständige Werke verbreitet werden. Wenn Sie jedoch dieselben Abschnitte als Teil eines Ganzen verbreiten, das ein auf dem Programm basierendes Werk darstellt, dann muß die Verbreitung des Ganzen nach den Bedingungen dieser Lizenz erfolgen, deren Bedingungen für weitere Lizenznehmer somit auf die Gesamtheit ausgedehnt werden - und damit auf jeden einzelnen Teil, unabhängig vom jeweiligen Autor. Somit ist es nicht die Absicht dieses Abschnittes, Rechte für Werke in Anspruch zu nehmen oder zu beschneiden, die komplett von Ihnen geschrieben wurden; vielmehr ist es die Absicht, die Rechte zur Kontrolle der Verbreitung von Werken, die auf dem Programm basieren oder unter seiner auszugsweisen Verwendung zusammengestellt worden sind, auszuüben. Ferner bringt ein einfaches Zusammenstellen eines anderen Werkes, das nicht auf dem Programm basiert, zusammen mit dem Programm oder einem auf dem Programm basierenden Werk auf ein- und demselben Speicher- oder Vertriebsmedium das andere Werk nicht in den Anwendungsbereich dieser Lizenz. Paragraph 3. Sie dürfen das Programm (oder ein darauf basierendes Werk gemäß Paragraph 2) als Objectcode oder in ausführbarer Form unter den Bedingungen von Paragraph 1 und 2 vervielfältigen und verbreiten - vorausgesetzt, daß Sie außerdem eine der folgenden Leistungen erbringen: (a) Liefern Sie das Programm zusammen mit dem vollständigen zugehörigen maschinenlesbaren Quelltext auf einem für den Datenaustausch üblichen Medium aus, wobei die Verteilung unter den Bedingungen der Paragraphen 1 und 2 erfolgen muß. Oder: (b) Liefern Sie das Programm zusammen mit einem mindestens drei Jahre lang gültigen schriftlichen Angebot aus, jedem Dritten eine vollständige maschinenlesbare Kopie des Quelltextes zur Verfügung zu stellen - zu nicht höheren Kosten als denen, die durch den physikalischen Kopiervorgang anfallen -, wobei der Quelltext unter den Bedingungen der Paragraphen 1 und 2 auf einem für den Datenaustausch üblichen Medium weitergegeben wird. Oder: (c) Liefern Sie das Programm zusammen mit dem schriftlichen Angebot der Zurverfügungstellung des Quelltextes aus, das Sie selbst erhalten haben. (Diese Alternative ist nur für nicht-kommerzielle Verbreitung zulässig und nur, wenn Sie das Programm als Objectcode oder in ausführbarer Form mit einem entsprechenden Angebot gemäß Absatz b erhalten haben.) Unter dem Quelltext eines Werkes wird diejenige Form des Werkes verstanden, die für Bearbeitungen vorzugsweise verwendet wird. Für ein ausführbares Programm bedeutet "der komplette Quelltext": Der Quelltext aller im Programm enthaltenen Module einschließlich aller zugehörigen Modulschnittstellen-Definitionsdateien sowie der zur Compilation und Installation verwendeten Skripte. Als besondere Ausnahme jedoch braucht der verteilte Quelltext nichts von dem zu enthalten, was üblicherweise (entweder als Quelltext oder in binärer Form) zusammen mit den Hauptkomponenten des Betriebssystems (Kernel, Compiler usw.) geliefert wird, unter dem das Programm läuft - es sei denn, diese Komponente selbst gehört zum ausführbaren Programm. Wenn die Verbreitung eines ausführbaren Programms oder des Objectcodes dadurch erfolgt, daß der Kopierzugriff auf eine dafür vorgesehene Stelle gewährt wird, so gilt die Gewährung eines gleichwertigen Zugriffs auf den Quelltext als Verbreitung des Quelltextes, auch wenn Dritte nicht dazu gezwungen sind, den Quelltext zusammen mit dem Objectcode zu kopieren. Paragraph 4. Sie dürfen das Programm nicht vervielfältigen, verändern, weiter lizenzieren oder verbreiten, sofern es nicht durch diese Lizenz ausdrücklich gestattet ist. Jeder anderweitige Versuch der Vervielfältigung, Modifizierung, Weiterlizenzierung und Verbreitung ist nichtig und beendet automatisch Ihre Rechte unter dieser Lizenz. Jedoch werden die Lizenzen Dritter, die von Ihnen Kopien oder Rechte unter dieser Lizenz erhalten haben, nicht beendet, solange diese die Lizenz voll anerkennen und befolgen. Paragraph 5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, da Sie sie nicht unterzeichnet haben. Jedoch gibt Ihnen nichts anderes die Erlaubnis, das Programm oder von ihm abgeleitete Werke zu verändern oder zu verbreiten. Diese Handlungen sind gesetzlich verboten, wenn Sie diese Lizenz nicht anerkennen. Indem Sie das Programm (oder ein darauf basierendes Werk) verändern oder verbreiten, erklären Sie Ihr Einverständnis mit dieser Lizenz und mit allen ihren Bedingungen bezüglich der Vervielfältigung, Verbreitung und Veränderung des Programms oder eines darauf basierenden Werkes. Paragraph 6. Jedesmal, wenn Sie das Programm (oder ein auf dem Programm basierendes Werk) weitergeben, erhält der Empfänger automatisch vom ursprünglichen Lizenzgeber die Lizenz, das Programm entsprechend den hier festgelegten Bestimmungen zu vervielfältigen, zu verbreiten und zu verändern. Sie dürfen keine weiteren Einschränkungen der Durchsetzung der hierin zugestandenen Rechte des Empfängers vornehmen. Sie sind nicht dafür verantwortlich, die Einhaltung dieser Lizenz durch Dritte durchzusetzen. Paragraph 7. Sollten Ihnen infolge eines Gerichtsurteils, des Vorwurfs einer Patentverletzung oder aus einem anderen Grunde (nicht auf Patentfragen begrenzt) Bedingungen (durch Gerichtsbeschluß, Vergleich oder anderweitig) auferlegt werden, die den Bedingungen dieser Lizenz widersprechen, so befreien Sie diese Umstände nicht von den Bestimmungen dieser Lizenz. Wenn es Ihnen nicht möglich ist, das Programm unter gleichzeitiger Beachtung der Bedingungen in dieser Lizenz und Ihrer anderweitigen Verpflichtungen zu verbreiten, dann dürfen Sie als Folge das Programm überhaupt nicht verbreiten. Wenn zum Beispiel ein Patent nicht die gebührenfreie Weiterverbreitung des Programms durch diejenigen erlaubt, die das Programm direkt oder indirekt von Ihnen erhalten haben, dann besteht der einzige Weg, sowohl das Patentrecht als auch diese Lizenz zu befolgen, darin, ganz auf die Verbreitung des Programms zu verzichten. Sollte sich ein Teil dieses Paragraphen als ungültig oder unter bestimmten Umständen nicht durchsetzbar erweisen, so soll dieser Paragraph seinem Sinne nach angewandt werden; im übrigen soll dieser Paragraph als Ganzes gelten. Zweck dieses Paragraphen ist nicht, Sie dazu zu bringen, irgendwelche Patente oder andere Eigentumsansprüche zu verletzen oder die Gültigkeit solcher Ansprüche zu bestreiten; dieser Paragraph hat einzig den Zweck, die Integrität des Verbreitungssystems der freien Software zu schützen, das durch die Praxis öffentlicher Lizenzen verwirklicht wird. Viele Leute haben großzügige Beiträge zu dem großen Angebot der mit diesem System verbreiteten Software im Vertrauen auf die konsistente Anwendung dieses Systems geleistet; es liegt am Autor/Geber, zu entscheiden, ob er die Software mittels irgendeines anderen Systems verbreiten will; ein Lizenznehmer hat auf diese Entscheidung keinen Einfluß. Dieser Paragraph ist dazu gedacht, deutlich klarzustellen, was als Konsequenz aus dem Rest dieser Lizenz betrachtet wird. Paragraph 8. Wenn die Verbreitung und/oder die Benutzung des Programms in bestimmten Staaten entweder durch Patente oder durch urheberrechtlich geschützte Schnittstellen eingeschränkt ist, kann der Urheberrechtsinhaber, der das Programm unter diese Lizenz gestellt hat, eine explizite geographische Begrenzung der Verbreitung angeben, in der diese Staaten ausgeschlossen werden, so daß die Verbreitung nur innerhalb und zwischen den Staaten erlaubt ist, die nicht ausgeschlossen sind. In einem solchen Fall beinhaltet diese Lizenz die Beschränkung, als wäre sie in diesem Text niedergeschrieben. Paragraph 9. Die Free Software Foundation kann von Zeit zu Zeit überarbeitete und/oder neue Versionen der General Public License veröffentlichen. Solche neuen Versionen werden vom Grundprinzip her der gegenwärtigen entsprechen, können aber im Detail abweichen, um neuen Problemen und Anforderungen gerecht zu werden. Jede Version dieser Lizenz hat eine eindeutige Versionsnummer. Wenn in einem Programm angegeben wird, daß es dieser Lizenz in einer bestimmten Versionsnummer oder "jeder späteren Version" ("any later version") unterliegt, so haben Sie die Wahl, entweder den Bestimmungen der genannten Version zu folgen oder denen jeder beliebigen späteren Version, die von der Free Software Foundation veröffentlicht wurde. Wenn das Programm keine Versionsnummer angibt, können Sie eine beliebige Version wählen, die je von der Free Software Foundation veröffentlicht wurde. Paragraph 10. Wenn Sie den Wunsch haben, Teile des Programms in anderen freien Programmen zu verwenden, deren Bedingungen für die Verbreitung anders sind, schreiben Sie an den Autor, um ihn um die Erlaubnis zu bitten. Für Software, die unter dem Copyright der Free Software Foundation steht, schreiben Sie an die Free Software Foundation; wir machen zu diesem Zweck gelegentlich Ausnahmen. Unsere Entscheidung wird von den beiden Zielen geleitet werden, zum einen den freien Status aller von unserer freien Software abgeleiteten Werke zu erhalten und zum anderen das gemeinschaftliche Nutzen und Wiederverwenden von Software im allgemeinen zu fördern. Keine Gewährleistung Paragraph 11. Da das Programm ohne jegliche Kosten lizenziert wird, besteht keinerlei Gewährleistung für das Programm, soweit dies gesetzlich zulässig ist. Sofern nicht anderweitig schriftlich bestätigt, stellen die Copyright-Inhaber und/oder Dritte das Programm so zur Verfügung, "wie es ist", ohne irgendeine Gewährleistung, weder ausdrücklich noch implizit, einschließlich - aber nicht begrenzt auf - Marktreife oder Verwendbarkeit für einen bestimmten Zweck. Das volle Risiko bezüglich Qualität und Leistungsfähigkeit des Programms liegt bei Ihnen. Sollte sich das Programm als fehlerhaft herausstellen, liegen die Kosten für notwendigen Service, Reparatur oder Korrektur bei Ihnen. Paragraph 12. In keinem Fall, außer wenn durch geltendes Recht gefordert oder schriftlich zugesichert, ist irgendein Copyright-Inhaber oder irgendein Dritter, der das Programm wie oben erlaubt modifiziert oder verbreitet hat, Ihnen gegenüber für irgendwelche Schäden haftbar, einschließlich jeglicher allgemeiner oder spezieller Schäden, Schäden durch Seiteneffekte (Nebenwirkungen) oder Folgeschäden, die aus der Benutzung des Programms oder der Unbenutzbarkeit des Programms folgen (einschließlich - aber nicht beschränkt auf - Datenverluste, fehlerhafte Verarbeitung von Daten, Verluste, die von Ihnen oder anderen getragen werden müssen, oder dem Unvermögen des Programms, mit irgendeinem anderen Programm zusammenzuarbeiten), selbst wenn ein Copyright-Inhaber oder Dritter über die Möglichkeit solcher Schäden unterrichtet worden war. Ende der Bedingungen _________________________________________________________________ Anhang: Wie Sie diese Bedingungen auf Ihre neuen Programme anwendbar machen Wenn Sie ein neues Programm entwickeln und wollen, daß es von größtmöglichem Nutzen für die Allgemeinheit ist, dann erreichen Sie das am besten, indem Sie es zu freier Software machen, die jeder unter diesen Bestimmungen weiterverbreiten und verändern kann. Um dies zu erreichen, fügen Sie die folgenden Anmerkungen zu Ihrem Programm hinzu. Am sichersten ist es, sie an den Anfang einer jeden Quelldatei zu stellen, um den Gewährleistungsausschluß möglichst deutlich darzustellen; außerdem sollte jede Datei mindestens eine "Copyright"-Zeile besitzen sowie einen kurzen Hinweis darauf, wo die vollständige Lizenz gefunden werden kann. [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung] Copyright (C) 19[yy] [Name des Autors] This program 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 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Auf Deutsch: [eine Zeile mit dem Programmnamen und einer kurzen Beschreibung] Copyright (C) 19[jj] [Name des Autors] Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version. Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE JEDE GEWÄHRLEISTUNG - sogar ohne die implizite Gewährleistung der MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License. Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Fügen Sie auch einen kurzen Hinweis hinzu, wie Sie elektronisch und per Brief erreichbar sind. Wenn Ihr Programm interaktiv ist, sorgen Sie dafür, daß es nach dem Start einen kurzen Vermerk ausgibt: Gnomovision version 69, Copyright (C) 19[yy] [Name des Autors] Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. Auf Deutsch: Gnomovision Version 69, Copyright (C) 19[jj] [Name des Autors] Für Gnomovision besteht KEINERLEI GARANTIE; geben Sie `show w' für Details ein. Gnomovision ist freie Software, die Sie unter bestimmten Bedingungen weitergeben dürfen; geben Sie `show c' für Details ein. Die hypothetischen Kommandos `show w' und `show c' sollten die entsprechenden Teile der GNU-GPL anzeigen. Natürlich können die von Ihnen verwendeten Kommandos anders heißen als `show w' und `show c'; es könnten auch Mausklicks oder Menüpunkte sein - was immer am besten in Ihr Programm paßt. Soweit vorhanden, sollten Sie auch Ihren Arbeitgeber (wenn Sie als Programmierer arbeiten) oder Ihre Schule einen Copyright-Verzicht für das Programm unterschreiben lassen. Hier ein Beispiel; ändern Sie bitte die Namen: Yoyodyne, Inc., hereby disclaims all copyright interest in the program "Gnomovision" (which makes passes at compilers) written by James Hacker. [Unterschrift von Ty Coon], 1 April 1989 Ty Coon, President of Vice Auf Deutsch: Die Yoyodyne GmbH erhebt keinerlei urheberrechtlichen Anspruch auf das Programm "Gnomovision" (einem Schrittmacher für Compiler), geschrieben von James Hacker. [Unterschrift von Ty Coon], 1. April 1989 Ty Coon, Vizepräsident Diese General Public License gestattet nicht die Einbindung des Programms in proprietäre Programme. Ist Ihr Programm eine Funktionsbibliothek, so kann es sinnvoller sein, das Linken proprietärer Programme mit dieser Bibliothek zu gestatten. Wenn Sie dies tun wollen, sollten Sie die GNU Library General Public License anstelle dieser Lizenz verwenden. KCemu-0.5.1/THANKS0000644000175000017500000000174012417262523013666 0ustar glaubitzglaubitzMarat Fayzullin for the Z80 emulation core used for the main processor (I needed to tweak some bits of the emulation core; see src/z80core/README for the list of changes) Marcel de Kogel for the Z80 emulation core used for the KC floppy processor Thomas Bretz for the OS/2 port of KCemu (see http://www.d4m.de/) Thomas Ludwig for the great KC website at http://www.kc85emu.de/ and lots of bugreports and hints how to make KCemu better Holger Krull for providing lots of information about the LC 80 computer (see http://www.lc80.de/) Kev Thacker for interesting insights concerning the floppy emulation (he's also the author of the KC driver for M.E.S.S. the Multi-Emulator Super System, see http://mess.emuverse.com/) Volker Pohlers for help with the windows port, technical information and bugreports Alexander Schön for starting the windows port, lots of tips and for providing a huge pile of files for use with the emulator or with information about the various systems KCemu-0.5.1/INSTALL0000644000175000017500000002202412417262523014002 0ustar glaubitzglaubitzCopyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You only need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not support the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PATH'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=PATH' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the `--target=TYPE' option to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc will cause the specified gcc to be used as the C compiler (unless it is overridden in the site shell script). `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. KCemu-0.5.1/cross-compile.sh0000644000175000017500000001533312417262523016071 0ustar glaubitzglaubitz#!/bin/bash # # KCemu -- The emulator for the KC85 homecomputer series and much more. # Copyright (C) 1997-2010 Torsten Paul # # This program 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 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # This script is intended to help cross-compiling kcemu on # linux host system. Target is Windows/MinGW. # # Compilation now at least requires Gtk+ 2.16. # # Support for Windows 95 is not available anymore. Due to the # usage of the cairo library, at least Windows 2000 is required. # #BUILD_DIR="/tmp/kcemu.build.$$" BUILD_DIR="/tmp/kcemu.build" GTK_DEV_PACKAGES_DIR="/data/download/win32-dev/gtk-win32/2010-01-04" DEP_PACKAGES_DIR="/data/download/win32-dev/gtk-win32/dependencies" SDL_PACKAGES_DIR="/data/download/win32-dev/libsdl" KCEMU_DIR="/home/tp/projects/kcemu" ################################################################ source ./VERSION ################################################################ DEV_DIR="$BUILD_DIR/dev" DIST_DIR="$BUILD_DIR/dist" INSTALL_DIR="$BUILD_DIR/kcemu" CROSS_PKG_CONFIG="$DEV_DIR/cross-pkg-config.sh" export CPPFLAGS="-I$DEV_DIR/include" export LDFLAGS="-L$DEV_DIR/lib" export PKG_CONFIG="$CROSS_PKG_CONFIG" export PKG_CONFIG_LIBDIR="$DEV_DIR/lib/pkgconfig" export SDL_CONFIG="$DEV_DIR"/bin/i386-mingw32msvc-sdl-config export TARGET="i586-mingw32msvc" u () { if [ ! -f "$1" ] then echo "can't find file '$1'." exit 1 fi if [ "x$2" = "x" ] then echo "unpacking $1..." unzip -q -o "$1" else echo "unpacking $1... (to $2)" unzip -q -d "$2" -o "$1" fi } x () { echo "unpacking $1..." tar xf "$1" } unpack_dev_libs () { DIR="$1" ( if [ -d "$DIR" ] then echo "gtk development directory $DIR already exists, unpacking skipped." else mkdir -p "$DIR" && cd "$DIR" || exit 5 u "$GTK_DEV_PACKAGES_DIR"/glib-dev_*_win32.zip u "$GTK_DEV_PACKAGES_DIR"/gtk+-dev_*_win32.zip u "$GTK_DEV_PACKAGES_DIR"/pango-dev_*_win32.zip u "$GTK_DEV_PACKAGES_DIR"/atk-dev_*_win32.zip u "$GTK_DEV_PACKAGES_DIR"/cairo-dev_*_win32.zip u "$DEP_PACKAGES_DIR"/pkg-config_0.23-3_win32.zip u "$DEP_PACKAGES_DIR"/libiconv-1.9.1.bin.woe32.zip u "$DEP_PACKAGES_DIR"/gettext-runtime-dev-0.17-1.zip u "$DEP_PACKAGES_DIR"/libpng-dev_1.2.40-1_win32.zip u "$DEP_PACKAGES_DIR"/jpeg_7-1_win32.zip u "$DEP_PACKAGES_DIR"/freetype-dev_2.3.11-1_win32.zip u "$DEP_PACKAGES_DIR"/fontconfig-dev_2.8.0-1_win32.zip u "$DEP_PACKAGES_DIR"/z80ex-1.1.18_win32.zip x "$DEP_PACKAGES_DIR"/xvidcore-mingw32-1.2.2-gcc42.tar.bz2 x "$DEP_PACKAGES_DIR"/libtheora-mingw32-1.1.1-gcc42.tar.bz2 x "$DEP_PACKAGES_DIR"/libogg-mingw32-1.1.4-gcc42.tar.bz2 u "$DEP_PACKAGES_DIR"/giflib-4.1.4-1-lib.zip u "$DEP_PACKAGES_DIR"/zlib123-dll.zip mv zlib1.dll bin/ x "$SDL_PACKAGES_DIR"/SDL-devel-1.2.9-mingw32.tar.gz mv SDL-1.2.9/bin/* bin/ mv SDL-1.2.9/lib/* lib/ mv SDL-1.2.9/include/* include rm -rf SDL-1.2.9 fi ) } unpack_dist_libs () { DIR="$1" ( if [ -d "$DIR" ] then echo "gtk runtime directory $DIR already exists, unpacking skipped." else mkdir -p "$DIR" && cd "$DIR" || exit 6 u "$GTK_DEV_PACKAGES_DIR"/glib_*_win32.zip u "$GTK_DEV_PACKAGES_DIR"/gtk+_*_win32.zip u "$GTK_DEV_PACKAGES_DIR"/pango_*_win32.zip u "$GTK_DEV_PACKAGES_DIR"/atk_*_win32.zip u "$GTK_DEV_PACKAGES_DIR"/cairo_*_win32.zip u "$DEP_PACKAGES_DIR"/libiconv-1.9.1.bin.woe32.zip u "$DEP_PACKAGES_DIR"/gettext-runtime-0.17-1.zip u "$DEP_PACKAGES_DIR"/libpng_1.2.40-1_win32.zip u "$DEP_PACKAGES_DIR"/jpeg_7-1_win32.zip u "$DEP_PACKAGES_DIR"/libtiff_3.9.1-1_win32.zip u "$DEP_PACKAGES_DIR"/freetype_2.3.11-1_win32.zip u "$DEP_PACKAGES_DIR"/fontconfig_2.8.0-1_win32.zip u "$DEP_PACKAGES_DIR"/expat_2.0.1-1_win32.zip x "$DEP_PACKAGES_DIR"/xvidcore-mingw32-1.2.2-gcc42.tar.bz2 x "$DEP_PACKAGES_DIR"/libtheora-mingw32-1.1.1-gcc42.tar.bz2 x "$DEP_PACKAGES_DIR"/libogg-mingw32-1.1.4-gcc42.tar.bz2 u "$DEP_PACKAGES_DIR"/giflib-4.1.4-1-bin.zip u "$DEP_PACKAGES_DIR"/zlib123-dll.zip mv zlib1.dll bin x "$SDL_PACKAGES_DIR"/SDL-devel-1.2.9-mingw32.tar.gz mv SDL-1.2.9/bin/* bin rm -rf SDL-1.2.9 # install gtkrc of wimp theme if available GTKRC="share/themes/MS-Windows/gtk-2.0/gtkrc" if [ -f "$GTKRC" ] then cp "$GTKRC" etc/gtk-2.0/ fi fi ) } compile_kcemu () { export BUILD=`cd "KCemu-${KCEMU_VERSION}" && ./config/config.guess` echo "*" echo "* Building on '$BUILD' for target '$TARGET'..." echo "*" ( cd "KCemu-${KCEMU_VERSION}" || exit 9 if [ -f config.status ] then echo "File config.status already exists, skipping ./configure run" make install else ./configure \ --build="$BUILD" \ --host="$TARGET" \ --target="$TARGET" \ --program-prefix="" \ --prefix="$INSTALL_DIR" \ --with-debug-level=1 \ --enable-sound \ && make install fi ) } # # show banner # echo "*" echo "* cross compiling KCemu version $KCEMU_VERSION" echo "*" if [ -d "$BUILD_DIR" ] then echo "build directory $BUILD_DIR already exists, creation skipped." else mkdir "$BUILD_DIR" || exit 1 fi cd "$BUILD_DIR" || exit 2 # # unpack emulator source # x "${KCEMU_DIR}/KCemu-${KCEMU_VERSION}.tar.gz" # # unpack development libraries # unpack_dev_libs "$DEV_DIR" # # unpack runtime libraries # unpack_dist_libs "$DIST_DIR" # # prepare pkg-config to use the mingw lib not the system one # cat > "$CROSS_PKG_CONFIG" < # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case "${1}" in -h | --help | --h* ) # -h for help echo "${usage}" 1>&2; exit 0 ;; -m ) # -m PERM arg shift test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } dirmode="${1}" shift ;; -- ) shift; break ;; # stop option processing -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option * ) break ;; # first non-opt arg esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 3 # End: # mkinstalldirs ends here KCemu-0.5.1/include/0000755000175000017500000000000012417262523014374 5ustar glaubitzglaubitzKCemu-0.5.1/include/fileio/0000755000175000017500000000000012417262523015643 5ustar glaubitzglaubitzKCemu-0.5.1/include/fileio/loadP.h0000644000175000017500000000361012417262523017053 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __fileio_loadp_h #define __fileio_loadp_h #include "fileio/load.h" typedef struct file_loader { int (*check)(const char *filename, unsigned char *data, long size); int (*load)(const char *filename, unsigned char *data, long size, fileio_prop_t **prop); const char * (*get_type)(void); const char * (*get_name)(void); } file_loader_t; #define MAX_FILE_LOADERS (10) void fill_header_COM(unsigned char *data, fileio_prop_t *prop); void fill_header_HS(unsigned char *data, fileio_prop_t *prop); void fileio_copy_blocks(unsigned char *dptr, const unsigned char *sptr, long size, int block); int fileio_register_loader(file_loader_t *loader); void loader_AF_init(void); void loader_GPF_init(void); void loader_SSS_init(void); void loader_BASIC_init(void); void loader_BASICODE_init(void); void loader_HS_init(void); void loader_BIN_init(void); void loader_TAPE_init(void); void loader_UNKNOWN_init(void); #endif /* __fileio_loadp_h */ KCemu-0.5.1/include/fileio/Makefile.am0000644000175000017500000000013512417262523017676 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ load.h \ loadP.h KCemu-0.5.1/include/fileio/load.h0000644000175000017500000000717412417262523016744 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __fileio_load_h #define __fileio_load_h #ifdef __cplusplus extern "C" { #endif typedef enum { FILEIO_KC85_1, FILEIO_KC85_3, /* default */ FILEIO_Z1013, } fileio_kctype_t; typedef enum { FILEIO_V_NONE = 0x00, FILEIO_V_LOAD_ADDR = 0x01, FILEIO_V_START_ADDR = 0x02, FILEIO_V_AUTOSTART = 0x04, } fileio_valid_t; typedef enum { FILEIO_TYPE_UNKNOWN, FILEIO_TYPE_COM, FILEIO_TYPE_BAS, FILEIO_TYPE_PROT_BAS, FILEIO_TYPE_BASICODE, FILEIO_TYPE_DATA, /* produced with CSAVE*"FILENAME";ARRAYNAME */ FILEIO_TYPE_LIST, /* produced with LIST#1"FILENAME" */ } fileio_type_t; typedef struct fileio_prop { fileio_type_t type; fileio_valid_t valid; unsigned char name[12]; unsigned short load_addr; unsigned short start_addr; int autostart; long size; const char *filetype; unsigned char *data; struct fileio_prop *next; } fileio_prop_t; /* * initialize loader modules */ void fileio_init(void); /* * set the kc-type for the file io handling */ void fileio_set_kctype(fileio_kctype_t type); /* * return the kc-type for the file io handling */ fileio_kctype_t fileio_get_kctype(void); /* * load file(s) into memory */ int fileio_load_file(const char *filename, fileio_prop_t **prop); /* * save file in wav format */ int fileio_save_wav_prop(const char *filename, fileio_prop_t *prop); int fileio_save_wav(const char *filename, const unsigned char *data, int size); /* * save file in tap format */ int fileio_save_tap_prop(const char *filename, fileio_prop_t *prop); int fileio_save_tap(const char *filename, const unsigned char *data, int size); /* * save file in image format */ int fileio_save_img_prop(const char *filename, fileio_prop_t *prop); int fileio_save_img(const char *filename, const unsigned char *data, int size); /* * save file in raw format (memory dump) */ int fileio_save_raw_prop(const char *filename, fileio_prop_t *prop); int fileio_save_raw(const char *filename, const unsigned char *data, int size, int load, int start); /* * free loaded files and the associated property data */ void fileio_free_prop(fileio_prop_t **prop); /* * convert internal file format into a raw memory image, returns the * length of the stored image * * the allocated buffer should have prop->size bytes which * is guarantied to be slightly more than needed */ long fileio_get_image(fileio_prop_t *prop, unsigned char *buf); /* * dump configuration to stdout */ void fileio_show_config(void); /* * only for DEBUG */ void fileio_debug_dump(fileio_prop_t *prop, int write_file); #ifdef __cplusplus } #endif #endif /* __fileio_load_h */ KCemu-0.5.1/include/libdbg/0000755000175000017500000000000012417262523015617 5ustar glaubitzglaubitzKCemu-0.5.1/include/libdbg/dbg.h0000644000175000017500000000675012417262523016534 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libdbg_dbg_h #define __libdbg_dbg_h #include #include #include #include #include #include struct str_cmp_func : public std::binary_function{ bool operator()(const char *x, const char *y) const { return strcmp(x, y) < 0; } }; class p_map : public std::map { private: char *_name; bool _allow_subkeys; public: p_map(const char *name, bool allow_subkeys); virtual ~p_map(void); const char * get_name(void); void set_allow_subkeys(bool allow_subkeys); bool get_allow_subkeys(void); }; class p_tree { private: p_map *_map; protected: void clear(p_map *map); void dump(std::ostream& os, p_map *map, int level) const; friend std::ostream& operator<< (std::ostream& os, const p_tree& t); public: p_tree(void); virtual ~p_tree(void); void clear(); bool check_path(const char *data); void add(const char *data, bool allow_subkeys); }; class DBG_class { private: static DBG_class *_singleton; p_tree _tree; std::ostream *_o; protected: DBG_class(void); void load_file(const char *filename); public: virtual ~DBG_class(void); static DBG_class * instance(void); void clear(); void load_config(void); void set_output_stream(std::ostream *os); void add_path(const char *path, bool allow_subkeys = false); void print(const char *path, const char *msg); void println(const char *path, const char *msg); void form(const char *path, const char *format ...); bool check(const char *path); friend std::ostream& operator<< (std::ostream& os, const DBG_class &dbg); }; #define DBGI() DBG_class::instance() #define DBG_X(x,f,l) \ do { \ DBGI()->x; \ } while (0) #define DBG_0(x) DBG_X(x,__FILE__,__LINE__) #if DBG_LEVEL > 0 #define DBG_1(x) DBG_X(x,__FILE__,__LINE__) #else #define DBG_1(x) do {} while(0) #endif #if DBG_LEVEL > 1 #define DBG_2(x) DBG_X(x,__FILE__,__LINE__) #else #define DBG_2(x) do {} while(0) #endif #if DBG_LEVEL > 2 #define DBG_3(x) DBG_X(x,__FILE__,__LINE__) #else #define DBG_3(x) do {} while(0) #endif #define DBG(x, y) DBG_##x(y) #define DBG_check(x) (DBGI()->check(x)) #define DBG_add_path(x) do { DBGI()->add_path(x); } while (0) #define DBG_add_path_t(x) do { DBGI()->add_path(x, true); } while (0) #define DBG_print(x,y) do { DBGI()->print(x,y); } while (0) #define DBG_println(x,y) do { DBGI()->println(x,y); } while (0) #define DBG_clear() do { DBGI()->clear(); } while (0) #define DBG_load_config() do { DBGI()->load_config(); } while (0) #endif /* __libdbg_dbg_h */ KCemu-0.5.1/include/libdbg/Makefile.am0000644000175000017500000000012112417262523017645 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ dbg.h KCemu-0.5.1/include/libgtkex/0000755000175000017500000000000012417262523016205 5ustar glaubitzglaubitzKCemu-0.5.1/include/libgtkex/gtkledline.h0000644000175000017500000000343712417262523020507 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libgtkex_gtkledline_h #define __libgtkex_gtkledline_h #include G_BEGIN_DECLS #define GTK_TYPE_LED_LINE (gtk_led_line_get_type()) #define GTK_LED_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_LED_LINE, GtkLedLine)) #define GTK_LED_LINE_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST((obj), GTK_LED_LINE, GtkLedLineClass)) #define GTK_IS_LED_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_LED_LINE)) #define GTK_IS_LED_LINE_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((obj), GTK_TYPE_LED_LINE)) #define GTK_LED_LINE_GET_CLASS (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_LED_LINE, GtkLedLineClass)) typedef struct _GtkLedLine GtkLedLine; typedef struct _GtkLedLineClass GtkLedLineClass; struct _GtkLedLine { GtkDrawingArea parent; guint spacing; guint number_of_leds; }; struct _GtkLedLineClass { GtkDrawingAreaClass parent_class; }; GtkWidget *gtk_led_line_new(guint number_of_leds); G_END_DECLS #endif /* __libgtkex_gtkledline_h */ KCemu-0.5.1/include/libgtkex/libgtkex.h0000644000175000017500000000175212417262523020174 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libgtkex_libgtkex_h #define __libgtkex_libgtkex_h #include "gtkledline.h" #include "gtkfilebutton.h" #endif /* __libgtkex_libgtkex_h */ KCemu-0.5.1/include/libgtkex/gtkfilebutton.h0000644000175000017500000000431112417262523021236 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libgtkex_gtkfilebutton_h #define __libgtkex_gtkfilebutton_h #include G_BEGIN_DECLS #define GTK_TYPE_FILEBUTTON (gtk_filebutton_get_type()) #define GTK_FILEBUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_FILEBUTTON, GtkFilebutton)) #define GTK_FILEBUTTON_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST((obj), GTK_FILEBUTTON, GtkFilebuttonClass)) #define GTK_IS_FILEBUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_FILEBUTTON)) #define GTK_IS_FILEBUTTON_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((obj), GTK_TYPE_FILEBUTTON)) #define GTK_FILEBUTTON_GET_CLASS (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_FILEBUTTON, GtkFilebuttonClass)) typedef struct _GtkFilebutton GtkFilebutton; typedef struct _GtkFilebuttonClass GtkFilebuttonClass; struct _GtkFilebutton { GtkTable parent; GtkWidget *button_open; GtkWidget *button_clear; GtkWidget *comboboxentry; GtkListStore *store; gchar *filename; gchar *recent_group; guint changed_id; }; struct _GtkFilebuttonClass { GtkTableClass parent_class; void (* filebutton) (GtkFilebutton *filebutton); }; GType gtk_filebutton_get_type(void); GtkWidget *gtk_filebutton_new(const gchar *recent_group); gchar * gtk_filebutton_get_filename(GtkFilebutton *filebutton); void gtk_filebutton_set_recent_group(GtkFilebutton *filebutton, const gchar *recent_group); G_END_DECLS #endif /* __libgtkex_gtkfilebutton_h */KCemu-0.5.1/include/libgtkex/Makefile.am0000644000175000017500000000017112417262523020240 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ gtkfilebutton.h \ gtkledline.h \ libgtkex.h KCemu-0.5.1/include/libaudio/0000755000175000017500000000000012417262523016164 5ustar glaubitzglaubitzKCemu-0.5.1/include/libaudio/libaudioP.h0000644000175000017500000000357112417262523020253 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libaudio_libaudiop_h #define __libaudio_libaudiop_h #include "kc/config.h" #include "libaudio/libaudio.h" #define MAX_LIBAUDIO_LOADERS (10) typedef struct libaudio_loader { int (*check)(const char *filename, unsigned char *data, long size); libaudio_prop_t * (*open)(const char *filename); libaudio_prop_t * (*rewind)(libaudio_prop_t *prop); void (*close)(libaudio_prop_t *prop); int (*read_sample)(libaudio_prop_t *prop); const char * (*get_type)(void); const char * (*get_name)(void); } libaudio_loader_t; struct libaudio_prop { libaudio_type_t type; char *filename; int sample_freq; int sample_size; int channels; libaudio_loader_t *loader; void *loader_data; }; int libaudio_register_loader(libaudio_loader_t *loader); void loader_oss_init(void); void loader_als_init(void); void loader_snd_init(void); void loader_aud_init(void); void loader_mp3_init(void); void loader_ogg_init(void); void loader_flc_init(void); void loader_wav_init(void); void loader_raw_init(void); #endif /* __libaudio_libaudiop_h */ KCemu-0.5.1/include/libaudio/Makefile.am0000644000175000017500000000014512417262523020220 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ libaudio.h \ libaudioP.h KCemu-0.5.1/include/libaudio/libaudio.h0000644000175000017500000000621612417262523020132 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libaudio_libaudio_h #define __libaudio_libaudio_h #ifdef __cplusplus extern "C" { #endif typedef enum { LIBAUDIO_TYPE_ALL = 0xffffffff, LIBAUDIO_TYPE_UNKNOWN = (1 << 0), LIBAUDIO_TYPE_OSS = (1 << 1), LIBAUDIO_TYPE_ALS = (1 << 2), LIBAUDIO_TYPE_SND = (1 << 3), LIBAUDIO_TYPE_AUD = (1 << 4), LIBAUDIO_TYPE_MP3 = (1 << 5), LIBAUDIO_TYPE_OGG = (1 << 6), LIBAUDIO_TYPE_FLC = (1 << 7), LIBAUDIO_TYPE_WAV = (1 << 8), } libaudio_type_t; typedef struct libaudio_prop libaudio_prop_t; /* * initialize loader modules. the loaders parameter * may specify which loaders will be enabled. if the * parameter is LIBAUDIO_TYPE_ALL all loaders will * be enabled. */ void libaudio_init(int loaders); /* * open the specified file by trying the available * loaders -- the first loader that thinks it's able * to read the file will be choosen */ libaudio_prop_t * libaudio_open(const char *filename); /* * rewind to beginning of file (if possible) */ void libaudio_rewind(libaudio_prop_t *prop); /* * close file */ void libaudio_close(libaudio_prop_t *prop); /* * returns an unsigned sample in the range 0..65535 * when the audio source is stereo the samples will * come interleaved */ int libaudio_read_sample(libaudio_prop_t *prop); /* * returns a short string with the type of the * audio source (e.g. WAV or MP3) */ const char * libaudio_get_type(libaudio_prop_t *prop); /* * returns the name of the loader which reads the * data from the audio source */ const char * libaudio_get_name(libaudio_prop_t *prop); /* * returns the name of the opened audio source as * given in the libaudio_open() function */ const char * libaudio_get_filename(libaudio_prop_t *prop); /* * returns the sample frequency of data that is * delivered by libaudio_read_sample() -- this can * be different from the actual file as the loader * may change the format */ int libaudio_get_sample_freq(libaudio_prop_t *prop); /* * returns the size of the samples (8 or 16 for now) */ int libaudio_get_sample_size(libaudio_prop_t *prop); /* * returns the number of channels */ int libaudio_get_channels(libaudio_prop_t *prop); /* * dump configuration to stdout */ void libaudio_show_config(void); #ifdef __cplusplus } #endif #endif /* __libaudio_libaudio_h */ KCemu-0.5.1/include/Makefile.am0000644000175000017500000000021212417262523016423 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = kc cmd getopt fileio libdbg libtape libdisk libaudio libgtkex ui sys KCemu-0.5.1/include/libdisk/0000755000175000017500000000000012417262523016015 5ustar glaubitzglaubitzKCemu-0.5.1/include/libdisk/libdiskP.h0000644000175000017500000000327212417262523017733 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libdisk_libdiskp_h #define __libdisk_libdiskp_h #include "libdisk/libdisk.h" typedef struct libdisk_dpb { int spt; int bsh; int blm; int exm; int dsm; int drm; int al0; int al1; int cks; int ofs; int psh; int phm; int eot; int gap; int ntr; } libdisk_dpb_t; typedef struct libdisk_loader { const char * (*get_name)(void); int (*open)(libdisk_prop_t *prop, const char *path); void (*close)(libdisk_prop_t *prop); int (*read_sector)(libdisk_prop_t *prop, unsigned char *buf, int len); int (*write_sector)(libdisk_prop_t *prop, unsigned char *buf, int len); } libdisk_loader_t; #define MAX_DISK_LOADERS (10) int libdisk_register_loader(libdisk_loader_t *loader); void loader_dir_init(void); void loader_cdm_init(void); void loader_td0_init(void); void loader_22dsk_init(void); #endif /* __libdisk_libdiskp_h */ KCemu-0.5.1/include/libdisk/Makefile.am0000644000175000017500000000016112417262523020047 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ libdisk.h \ libdiskP.h \ teledisk.h KCemu-0.5.1/include/libdisk/teledisk.h0000644000175000017500000000320412417262523017771 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libdisk_teledisk_h #define __libdisk_teledisk_h #include #ifdef __cplusplus extern "C" { #endif typedef struct teledisk_prop { FILE *f; char id[3]; int volume; int signature; int version_minor; int version_major; int heads; int cylinders; int sectors; int sector_size; int sectors_total; int dos_mode; char *comment; char *comment_date; char *filename; char *density; char *drive_type; unsigned char buf[2048]; struct { int h, c, s, l; long o; } offset[8192]; } teledisk_prop_t; teledisk_prop_t * teledisk_open(const char *filename); int teledisk_read_sector(teledisk_prop_t *prop, int c, int h, int s); void teledisk_close(teledisk_prop_t *prop); #ifdef __cplusplus } #endif #endif /* __libdisk_teledisk_h */ KCemu-0.5.1/include/libdisk/libdisk.h0000644000175000017500000000367612417262523017623 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __libdisk_libdisk_h #define __libdisk_libdisk_h #ifdef __cplusplus extern "C" { #endif typedef enum { LIBDISK_DISK_TYPE_UNKNOWN, LIBDISK_DISK_TYPE_22DSK, LIBDISK_DISK_TYPE_CDM, LIBDISK_DISK_TYPE_DIR, } libdisk_type_t; typedef struct libdisk_prop { libdisk_type_t type; int read_only; int head_count; int cylinder_count; int sector_count; int sector_size; int sectors_per_cylinder; int head; int cylinder; int sector; struct libdisk_loader *loader; void *data; struct libdisk_prop *next; } libdisk_prop_t; /* * initialize loader modules */ void libdisk_init(void); int libdisk_open(libdisk_prop_t **prop, const char *path); void libdisk_close(libdisk_prop_t **prop); int libdisk_seek(libdisk_prop_t **prop, int head, int cylinder, int sector); int libdisk_read_sector(libdisk_prop_t **prop, unsigned char *buf, int len); int libdisk_write_sector(libdisk_prop_t **prop, unsigned char *buf, int len); void libdisk_show_config(void); #ifdef __cplusplus } #endif #endif /* __libdisk_libdisk_h */ KCemu-0.5.1/include/ui/0000755000175000017500000000000012417262523015011 5ustar glaubitzglaubitzKCemu-0.5.1/include/ui/tape.h0000644000175000017500000000275612417262523016125 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_tape_h #define __ui_tape_h #include "libtape/kct.h" class TapeInterface { public: TapeInterface(void) {} virtual ~TapeInterface(void) {} virtual void tapeAttach(const char *name) = 0; virtual void tapeDetach(void) = 0; virtual void tapePower(bool power) = 0; virtual void tapeProgress(int val) = 0; virtual void tapeNext(void) = 0; virtual void tapeAddFile(const char *name, long load, long start, long size, unsigned char type) = 0; virtual void tapeRemoveFile(int idx) = 0; virtual int tapeGetSelected(void) = 0; virtual const char * tapeGetName(int idx) = 0; }; #endif /* __ui_tape_h */ KCemu-0.5.1/include/ui/log.h0000644000175000017500000000227212417262523015746 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_log_h #define __ui_log_h #include "ui/errorl.h" #include "ui/statusl.h" class LOG : public StatusListener, public ErrorListener { public: LOG(void); virtual ~LOG(void); /* * StatusListener */ void setStatus(const char *msg); /* * ErrorListener */ void errorInfo(const char *msg); }; #endif /* __ui_log_h */ KCemu-0.5.1/include/ui/ui.h0000644000175000017500000000450512417262523015603 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_h #define __ui_ui_h #include "kc/ic.h" #include "kc/cb.h" #include "kc/profile.h" #include "ui/tape.h" #include "ui/debug.h" #include "ui/module.h" #include "cmd/cmdargs.h" #define WINDOW_NAME ("KC 85/4 Emulator") #define ICON_NAME ("KC 85/4") class UI : public InterfaceCircuit, public Callback, public CMD_Caller { public: UI(void) : InterfaceCircuit("UI"), Callback("UI") {} virtual ~UI(void) {} virtual int get_mode(void) = 0; virtual void set_mode(int mode) = 0; virtual void flash(bool enable) = 0; virtual void memory_read(word_t addr) = 0; virtual void memory_write(word_t addr) = 0; virtual void update(bool full_update = false, bool clear_cache = false) = 0; virtual void init(int *argc, char ***argv) = 0; virtual void init2(void) = 0; virtual char * select_profile(void) = 0; virtual void show(void) = 0; virtual void callback(void *data) = 0; /* * interface handling */ virtual UI_ModuleInterface * getModuleInterface(void) = 0; virtual TapeInterface * getTapeInterface(void) = 0; virtual DebugInterface * getDebugInterface(void) = 0; /* * InterfaceCircuit */ virtual void reti(void) {} virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false) {} }; #endif /* __ui_ui_h */ KCemu-0.5.1/include/ui/window.h0000644000175000017500000000212012417262523016464 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_window_h #define __ui_window_h class UI_Window { public: UI_Window(void) {} virtual ~UI_Window(void) {} virtual void show(void) = 0; virtual void hide(void) = 0; virtual void toggle(void) = 0; }; #endif /* __ui_window_h */ KCemu-0.5.1/include/ui/errorl.h0000644000175000017500000000205412417262523016470 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_errorl_h #define __ui_errorl_h class ErrorListener { public: ErrorListener(void) {} virtual ~ErrorListener(void) {} virtual void errorInfo(const char *msg) = 0; }; #endif /* __ui_errorl_h */ KCemu-0.5.1/include/ui/module.h0000644000175000017500000000323112417262523016446 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_module_h #define __ui_module_h #include "kc/system.h" #include "kc/module.h" class UI_ModuleInterface { public: UI_ModuleInterface(void) {} virtual ~UI_ModuleInterface(void) {} /** * insert a module into the specified slot * the ModuleInterface that is given here has to be the * template module which is stored in the ModuleList * class (kc/mod_list.c) not the cloned module! * * if the ModuleInterface parameter is 0 the currently * active module is removed */ virtual void insert(int slot, ModuleInterface *m) = 0; /** * the value given for this activate function is the * module specific byte which is written to port 80h * it comes directly from the CAOS SWITCH command */ virtual void activate(int slot, byte_t value) = 0; }; #endif /* __ui_module_h */ KCemu-0.5.1/include/ui/statusl.h0000644000175000017500000000206212417262523016661 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_statusl_h #define __ui_statusl_h class StatusListener { public: StatusListener(void) {} virtual ~StatusListener(void) {} virtual void setStatus(const char *msg) = 0; }; #endif /* __ui_statusl_h */ KCemu-0.5.1/include/ui/Makefile.am0000644000175000017500000000037012417262523017045 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = generic gtk EXTRA_DIST = \ ui.h \ log.h \ tape.h \ debug.h \ error.h \ errorl.h \ module.h \ status.h \ statusl.h \ commands.h \ window.h \ hsv2rgb.h \ font0.h KCemu-0.5.1/include/ui/commands.h0000644000175000017500000000164412417262523016770 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_commands_h #define __ui_commands_h #endif /* __ui_commands_h */ KCemu-0.5.1/include/ui/debug.h0000644000175000017500000000236112417262523016252 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_debug_h #define __ui_debug_h class DebugInterface { public: DebugInterface(void) {} virtual ~DebugInterface(void) {} /** * called before each instruction when * tracing is enabled */ virtual void debugTrace(void) = 0; /** * called before each instruction when * singlestepping is enabled */ virtual void debugSingleStep(void) = 0; }; #endif /* __ui_debug_h */ KCemu-0.5.1/include/ui/status.h0000644000175000017500000000242212417262523016505 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_status_h #define __ui_status_h #include #include "ui/statusl.h" class Status; class Status { typedef std::list status_list_t; private: static Status *_instance; status_list_t _l; protected: Status(void); ~Status(void) {} public: static Status * instance(void); void setMessage(const char *msg); void addStatusListener(StatusListener *listener); }; #endif /* __ui_status_h */ KCemu-0.5.1/include/ui/hsv2rgb.h0000644000175000017500000000211112417262523016532 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_hsv2rgb_h #define __ui_hsv2rgb_h /* * input: * h in [0,360] * s, v in [0,1] * output: * r, g, b in [0, 255] */ void hsv2rgb(double h, double s, double v, int *r, int *g, int *b); #endif /* __ui_hsv2rgb_h */ KCemu-0.5.1/include/ui/font0.h0000644000175000017500000004072212417262523016215 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_font0_h #define __ui_font0_h #include "kc/system.h" static byte_t __font[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x00 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x01 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x02 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x03 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x04 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x05 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x06 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x07 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x08 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x09 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0a */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0b */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0c */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x0d */ 0x00, 0x00, 0x18, 0x24, 0x24, 0x18, 0x24, 0x42, /* 0x0e */ 0xdb, 0xa5, 0x81, 0xff, 0x24, 0x24, 0x24, 0x42, /* 0x0f */ 0x08, 0x34, 0x42, 0x81, 0x91, 0x69, 0x09, 0x31, /* 0x10 */ 0x42, 0x7e, 0x81, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x11 */ 0x18, 0x24, 0x42, 0x99, 0xbd, 0x99, 0x42, 0x24, /* 0x12 */ 0x7e, 0x42, 0x99, 0xe7, 0x00, 0x00, 0x00, 0x00, /* 0x13 */ 0x18, 0xdb, 0xc3, 0x18, 0x99, 0xe7, 0x81, 0x42, /* 0x14 */ 0x18, 0x24, 0x18, 0xc3, 0xbd, 0x81, 0x81, 0x42, /* 0x15 */ 0x24, 0x7e, 0x81, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x16 */ 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x3c, 0x7e, /* 0x17 */ 0xdb, 0xff, 0xff, 0xff, 0x3c, 0x3c, 0x3c, 0x7e, /* 0x18 */ 0x08, 0x3c, 0x7e, 0xff, 0xff, 0x6f, 0x0f, 0x3f, /* 0x19 */ 0x7e, 0x7e, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x1a */ 0x18, 0x3c, 0x7e, 0xe7, 0xc3, 0xe7, 0x7e, 0x3c, /* 0x1b */ 0x7e, 0x7e, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, /* 0x1c */ 0x18, 0xdb, 0xc3, 0x18, 0x99, 0xff, 0xff, 0x7e, /* 0x1d */ 0x18, 0x3c, 0x18, 0xc3, 0xff, 0xff, 0xff, 0x7e, /* 0x1e */ 0x3c, 0x3c, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x1f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x20 */ 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x10, 0x00, /* 0x21 */ 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x22 */ 0x24, 0x7e, 0x24, 0x24, 0x24, 0x7e, 0x24, 0x00, /* 0x23 */ 0x10, 0x3c, 0x50, 0x38, 0x14, 0x78, 0x10, 0x00, /* 0x24 */ 0x60, 0x64, 0x08, 0x10, 0x20, 0x4c, 0x0c, 0x00, /* 0x25 */ 0x10, 0x28, 0x28, 0x30, 0x54, 0x48, 0x34, 0x00, /* 0x26 */ 0x10, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x27 */ 0x08, 0x10, 0x20, 0x20, 0x20, 0x10, 0x08, 0x00, /* 0x28 */ 0x20, 0x10, 0x08, 0x08, 0x08, 0x10, 0x20, 0x00, /* 0x29 */ 0x00, 0x10, 0x54, 0x38, 0x54, 0x10, 0x00, 0x00, /* 0x2a */ 0x00, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0x00, /* 0x2b */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, /* 0x2c */ 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, /* 0x2d */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, /* 0x2e */ 0x00, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, /* 0x2f */ 0x38, 0x44, 0x44, 0x54, 0x44, 0x44, 0x38, 0x00, /* 0x30 */ 0x10, 0x30, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, /* 0x31 */ 0x38, 0x44, 0x04, 0x08, 0x10, 0x20, 0x7c, 0x00, /* 0x32 */ 0x7c, 0x08, 0x10, 0x08, 0x04, 0x44, 0x38, 0x00, /* 0x33 */ 0x08, 0x18, 0x28, 0x48, 0x7c, 0x08, 0x08, 0x00, /* 0x34 */ 0x7c, 0x40, 0x78, 0x04, 0x04, 0x44, 0x38, 0x00, /* 0x35 */ 0x18, 0x20, 0x40, 0x78, 0x44, 0x44, 0x38, 0x00, /* 0x36 */ 0x7c, 0x04, 0x08, 0x10, 0x20, 0x20, 0x20, 0x00, /* 0x37 */ 0x38, 0x44, 0x44, 0x38, 0x44, 0x44, 0x38, 0x00, /* 0x38 */ 0x38, 0x44, 0x44, 0x3c, 0x04, 0x08, 0x30, 0x00, /* 0x39 */ 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x00, 0x00, /* 0x3a */ 0x00, 0x00, 0x10, 0x00, 0x10, 0x10, 0x20, 0x00, /* 0x3b */ 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x00, /* 0x3c */ 0x00, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x00, 0x00, /* 0x3d */ 0x20, 0x10, 0x08, 0x04, 0x08, 0x10, 0x20, 0x00, /* 0x3e */ 0x38, 0x44, 0x04, 0x08, 0x10, 0x00, 0x10, 0x00, /* 0x3f */ 0x38, 0x44, 0x5c, 0x54, 0x5c, 0x40, 0x3c, 0x00, /* 0x40 */ 0x38, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x44, 0x00, /* 0x41 */ 0x78, 0x24, 0x24, 0x38, 0x24, 0x24, 0x78, 0x00, /* 0x42 */ 0x38, 0x44, 0x40, 0x40, 0x40, 0x44, 0x38, 0x00, /* 0x43 */ 0x78, 0x24, 0x24, 0x24, 0x24, 0x24, 0x78, 0x00, /* 0x44 */ 0x7c, 0x40, 0x40, 0x78, 0x40, 0x40, 0x7c, 0x00, /* 0x45 */ 0x7c, 0x40, 0x40, 0x78, 0x40, 0x40, 0x40, 0x00, /* 0x46 */ 0x38, 0x44, 0x40, 0x40, 0x4c, 0x44, 0x3c, 0x00, /* 0x47 */ 0x44, 0x44, 0x44, 0x7c, 0x44, 0x44, 0x44, 0x00, /* 0x48 */ 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, /* 0x49 */ 0x1c, 0x08, 0x08, 0x08, 0x08, 0x48, 0x30, 0x00, /* 0x4a */ 0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x00, /* 0x4b */ 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7c, 0x00, /* 0x4c */ 0x44, 0x6c, 0x54, 0x54, 0x44, 0x44, 0x44, 0x00, /* 0x4d */ 0x44, 0x44, 0x64, 0x54, 0x4c, 0x44, 0x44, 0x00, /* 0x4e */ 0x38, 0x44, 0x44, 0x44, 0x44, 0x44, 0x38, 0x00, /* 0x4f */ 0x78, 0x44, 0x44, 0x78, 0x40, 0x40, 0x40, 0x00, /* 0x50 */ 0x38, 0x44, 0x44, 0x44, 0x54, 0x48, 0x34, 0x00, /* 0x51 */ 0x78, 0x44, 0x44, 0x78, 0x50, 0x48, 0x44, 0x00, /* 0x52 */ 0x3c, 0x40, 0x40, 0x38, 0x04, 0x04, 0x78, 0x00, /* 0x53 */ 0x7c, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, /* 0x54 */ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x38, 0x00, /* 0x55 */ 0x44, 0x44, 0x44, 0x44, 0x44, 0x28, 0x10, 0x00, /* 0x56 */ 0x44, 0x44, 0x44, 0x54, 0x54, 0x6c, 0x44, 0x00, /* 0x57 */ 0x44, 0x44, 0x28, 0x10, 0x28, 0x44, 0x44, 0x00, /* 0x58 */ 0x44, 0x44, 0x44, 0x28, 0x10, 0x10, 0x10, 0x00, /* 0x59 */ 0x7c, 0x04, 0x08, 0x10, 0x20, 0x40, 0x7c, 0x00, /* 0x5a */ 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x38, 0x00, /* 0x5b */ 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x00, 0x00, /* 0x5c */ 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, /* 0x5d */ 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x5e */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, /* 0x5f */ 0x00, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, /* 0x60 */ 0x00, 0x00, 0x34, 0x4c, 0x44, 0x44, 0x3a, 0x00, /* 0x61 */ 0x40, 0x40, 0x58, 0x64, 0x44, 0x44, 0x78, 0x00, /* 0x62 */ 0x00, 0x00, 0x38, 0x44, 0x40, 0x44, 0x38, 0x00, /* 0x63 */ 0x04, 0x04, 0x34, 0x4c, 0x44, 0x44, 0x3a, 0x00, /* 0x64 */ 0x00, 0x00, 0x38, 0x44, 0x7c, 0x40, 0x38, 0x00, /* 0x65 */ 0x08, 0x10, 0x38, 0x10, 0x10, 0x10, 0x10, 0x00, /* 0x66 */ 0x00, 0x00, 0x34, 0x4c, 0x44, 0x3c, 0x04, 0x38, /* 0x67 */ 0x40, 0x40, 0x58, 0x64, 0x44, 0x44, 0x44, 0x00, /* 0x68 */ 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, /* 0x69 */ 0x10, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x20, /* 0x6a */ 0x40, 0x40, 0x48, 0x50, 0x70, 0x48, 0x44, 0x00, /* 0x6b */ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x00, /* 0x6c */ 0x00, 0x00, 0x68, 0x54, 0x54, 0x54, 0x54, 0x00, /* 0x6d */ 0x00, 0x00, 0x58, 0x64, 0x44, 0x44, 0x44, 0x00, /* 0x6e */ 0x00, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, /* 0x6f */ 0x00, 0x00, 0x58, 0x64, 0x44, 0x78, 0x40, 0x40, /* 0x70 */ 0x00, 0x00, 0x34, 0x4c, 0x44, 0x3c, 0x04, 0x04, /* 0x71 */ 0x00, 0x00, 0x58, 0x64, 0x40, 0x40, 0x40, 0x00, /* 0x72 */ 0x00, 0x00, 0x38, 0x40, 0x38, 0x04, 0x78, 0x00, /* 0x73 */ 0x10, 0x10, 0x38, 0x10, 0x10, 0x10, 0x08, 0x00, /* 0x74 */ 0x00, 0x00, 0x44, 0x44, 0x44, 0x4c, 0x34, 0x00, /* 0x75 */ 0x00, 0x00, 0x44, 0x44, 0x44, 0x28, 0x10, 0x00, /* 0x76 */ 0x00, 0x00, 0x54, 0x54, 0x54, 0x54, 0x28, 0x00, /* 0x77 */ 0x00, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, /* 0x78 */ 0x00, 0x00, 0x44, 0x44, 0x44, 0x3c, 0x04, 0x38, /* 0x79 */ 0x00, 0x00, 0x7c, 0x08, 0x10, 0x20, 0x7c, 0x00, /* 0x7a */ 0x08, 0x10, 0x10, 0x20, 0x10, 0x10, 0x08, 0x00, /* 0x7b */ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, /* 0x7c */ 0x20, 0x10, 0x10, 0x08, 0x10, 0x10, 0x20, 0x00, /* 0x7d */ 0x00, 0x00, 0x00, 0x32, 0x4c, 0x00, 0x00, 0x00, /* 0x7e */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0x7f */ 0xc0, 0x20, 0x10, 0x10, 0x10, 0x10, 0x20, 0xc0, /* 0x80 */ 0x03, 0x04, 0x08, 0x08, 0x08, 0x08, 0x04, 0x03, /* 0x81 */ 0x81, 0x81, 0x42, 0x3c, 0x00, 0x00, 0x00, 0x00, /* 0x82 */ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x42, 0x81, 0x81, /* 0x83 */ 0x10, 0x10, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0x84 */ 0x08, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0x85 */ 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x08, /* 0x86 */ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x10, 0x10, /* 0x87 */ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xff, /* 0x88 */ 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, /* 0x89 */ 0x00, 0x10, 0x28, 0x44, 0x82, 0x44, 0x28, 0x10, /* 0x8a */ 0xff, 0xef, 0xc7, 0x83, 0x01, 0x83, 0xc7, 0xef, /* 0x8b */ 0x3c, 0x42, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3c, /* 0x8c */ 0xc3, 0x81, 0x00, 0x00, 0x00, 0x00, 0x81, 0xc3, /* 0x8d */ 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, /* 0x8e */ 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, /* 0x8f */ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, /* 0x90 */ 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, /* 0x91 */ 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x30, 0xc0, /* 0x92 */ 0x03, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0x93 */ 0x03, 0x0c, 0x30, 0xc0, 0xc0, 0x30, 0x0c, 0x03, /* 0x94 */ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x0c, 0x03, /* 0x95 */ 0xc0, 0x30, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0x96 */ 0xc0, 0x30, 0x0c, 0x03, 0x03, 0x0c, 0x30, 0xc0, /* 0x97 */ 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, /* 0x98 */ 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, /* 0x99 */ 0x81, 0x81, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18, /* 0x9a */ 0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, /* 0x9b */ 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x01, 0x01, /* 0x9c */ 0x18, 0x18, 0x24, 0x24, 0x42, 0x42, 0x81, 0x81, /* 0x9d */ 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x9e */ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, /* 0x9f */ 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, /* 0xa0 */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, /* 0xa1 */ 0x18, 0x18, 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, /* 0xa2 */ 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x18, 0x18, 0x18, /* 0xa3 */ 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0x18, 0x18, /* 0xa4 */ 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x18, 0x18, 0x18, /* 0xa5 */ 0x18, 0x18, 0x18, 0xff, 0xff, 0x18, 0x18, 0x18, /* 0xa6 */ 0x18, 0x18, 0x18, 0x1f, 0x1f, 0x00, 0x00, 0x00, /* 0xa7 */ 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x18, /* 0xa8 */ 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0x18, /* 0xa9 */ 0x18, 0x18, 0x18, 0xf8, 0xf8, 0x00, 0x00, 0x00, /* 0xaa */ 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x18, 0x07, /* 0xab */ 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, /* 0xac */ 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, /* 0xad */ 0x07, 0x18, 0x20, 0x40, 0x40, 0x80, 0x80, 0x80, /* 0xae */ 0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, /* 0xaf */ 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, /* 0xb0 */ 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, /* 0xb1 */ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, /* 0xb2 */ 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, /* 0xb3 */ 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, /* 0xb4 */ 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, /* 0xb5 */ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0xb6 */ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0xb7 */ 0xf0, 0xf0, 0xf0, 0xf0, 0x0f, 0x0f, 0x0f, 0x0f, /* 0xb8 */ 0x0f, 0x0f, 0x0f, 0x0f, 0xf0, 0xf0, 0xf0, 0xf0, /* 0xb9 */ 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, /* 0xba */ 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, /* 0xbb */ 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, /* 0xbc */ 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, /* 0xbd */ 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, 0x7f, 0xff, /* 0xbe */ 0xff, 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, /* 0xbf */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, /* 0xc0 */ 0xff, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, /* 0xc1 */ 0xff, 0x80, 0x80, 0x9c, 0x9c, 0x9c, 0x80, 0x80, /* 0xc2 */ 0xff, 0xff, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xff, /* 0xc3 */ 0x18, 0x3c, 0x7e, 0x3c, 0x18, 0x3c, 0x7e, 0xff, /* 0xc4 */ 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, /* 0xc5 */ 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, /* 0xc6 */ 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, /* 0xc7 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, /* 0xc8 */ 0x00, 0x10, 0x38, 0x7c, 0xfe, 0x7c, 0x38, 0x10, /* 0xc9 */ 0x38, 0x10, 0x92, 0xfe, 0x92, 0x10, 0x38, 0x7c, /* 0xca */ 0x00, 0x6c, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10, /* 0xcb */ 0x10, 0x38, 0x7c, 0xfe, 0xfe, 0x7c, 0x10, 0x7c, /* 0xcc */ 0xe7, 0xe7, 0x42, 0xff, 0xff, 0x42, 0xe7, 0xe7, /* 0xcd */ 0xdb, 0xff, 0xdb, 0x18, 0x18, 0xdb, 0xff, 0xdb, /* 0xce */ 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x3c, /* 0xcf */ 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd0 */ 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd1 */ 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd2 */ 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xd3 */ 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xd4 */ 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, /* 0xd5 */ 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x00, /* 0xd6 */ 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0xd7 */ 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, /* 0xd8 */ 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, /* 0xd9 */ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, /* 0xda */ 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, /* 0xdb */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, /* 0xdc */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, /* 0xdd */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, /* 0xde */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, /* 0xdf */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, /* 0xe0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f, /* 0xe1 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0xe2 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, /* 0xe3 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, /* 0xe4 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, /* 0xe5 */ 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, /* 0xe6 */ 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, /* 0xe7 */ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, /* 0xe8 */ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, /* 0xe9 */ 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, /* 0xea */ 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xeb */ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xec */ 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xed */ 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xee */ 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xef */ 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf0 */ 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0xf1 */ 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, /* 0xf2 */ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, /* 0xf3 */ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, /* 0xf4 */ 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, /* 0xf5 */ 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, /* 0xf6 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, /* 0xf7 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, /* 0xf8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, /* 0xf9 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, /* 0xfa */ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, /* 0xfb */ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xfc */ 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xfd */ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xfe */ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 0xff */ }; #endif /* __ui_font0_h */ KCemu-0.5.1/include/ui/generic/0000755000175000017500000000000012417262523016425 5ustar glaubitzglaubitzKCemu-0.5.1/include/ui/generic/tape.h0000644000175000017500000000315612417262523017534 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_tape_h #define __ui_generic_tape_h #include "kc/system.h" #include "ui/tape.h" class DummyTapeHandler : public TapeInterface { public: DummyTapeHandler(void); virtual ~DummyTapeHandler(void); /* * TapeInterface */ virtual void tapeAttach(const char *name); virtual void tapeDetach(void); virtual void tapePower(bool power); virtual void tapeProgress(int val); virtual void tapeNext(void); virtual void tapeAddFile(const char *name, long load, long start, long size, unsigned char type); virtual void tapeRemoveFile(int idx); virtual int tapeGetSelected(void); virtual const char * tapeGetName(int idx); virtual void tapeAddArchive(const char *name); }; #endif /* __ui_generic_tape_h */ KCemu-0.5.1/include/ui/generic/ui_6.h0000644000175000017500000000241412417262523017441 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_6_h #define __ui_generic_ui_6_h #include "kc/system.h" #include "ui/generic/ui_led.h" class UI_6 : public UI_LED { private: enum { HISTORY_LEN = 4, NR_OF_LEDS = 8, }; int _idx; byte_t _data[NR_OF_LEDS][HISTORY_LEN]; public: UI_6(void); virtual ~UI_6(void); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_6_h */ KCemu-0.5.1/include/ui/generic/ui_base.h0000644000175000017500000000332212417262523020205 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_base_h #define __ui_generic_ui_base_h class Scanline; class MemAccess; class UI_Base { private: int _width; int _height; protected: byte_t *_bitmap; byte_t *_dirty; int _dirty_size; void create_buffer(int buffer_size); void set_real_screen_size(int width, int height); public: UI_Base(void); virtual ~UI_Base(void); int get_real_width(void); int get_real_height(void); virtual byte_t * get_buffer(void); virtual byte_t * get_dirty_buffer(void); virtual int get_dirty_buffer_size(void); virtual int generic_get_mode(void); virtual void generic_set_mode(int mode); virtual void generic_signal_v_retrace(bool value); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) = 0; }; #endif /* __ui_generic_ui_base_h */ KCemu-0.5.1/include/ui/generic/ui_0.h0000644000175000017500000000351712417262523017440 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_0_h #define __ui_generic_ui_0_h #include "kc/system.h" #include "ui/generic/ui_base.h" class UI_0 : public UI_Base { public: enum { UI_GENERIC_MODE_Z1013_32x32 = 0, UI_GENERIC_MODE_Z1013_64x16 = 1, UI_GENERIC_MODE_GDC = 2, }; protected: byte_t *_font; byte_t *_pix_cache; byte_t *_col_cache; int _mode; protected: void init(void); void dispose(void); inline void generic_put_pixels(byte_t *ptr, byte_t val, word_t color); virtual void generic_update_gdc(byte_t *font, bool clear_cache); virtual void generic_update_32x32(byte_t *font, bool clear_cache); virtual void generic_update_64x16(byte_t *font, bool clear_cache); public: UI_0(void); virtual ~UI_0(void); virtual int generic_get_mode(void); virtual void generic_set_mode(int mode); virtual void generic_signal_v_retrace(bool value); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_0_h */ KCemu-0.5.1/include/ui/generic/ui_3.h0000644000175000017500000000270612417262523017442 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_3_h #define __ui_generic_ui_3_h #include "kc/system.h" #include "ui/generic/ui_base.h" #include "ui/generic/scanline.h" #include "ui/generic/memaccess.h" class UI_3 : public UI_Base { protected: byte_t *_pix_cache; byte_t *_col_cache; byte_t *_scan_cache; int _bitswap1[256]; int _bitswap2[256]; int _bitswap3[256]; protected: void generic_put_pixels(int x, int y, byte_t val, byte_t fg, byte_t bg); public: UI_3(void); virtual ~UI_3(void); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_3_h */ KCemu-0.5.1/include/ui/generic/ui_8.h0000644000175000017500000000222312417262523017441 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_8_h #define __ui_generic_ui_8_h #include "kc/system.h" #include "ui/generic/ui_led.h" class UI_8 : public UI_LED { public: UI_8(void); virtual ~UI_8(void); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_8_h */ KCemu-0.5.1/include/ui/generic/ui_muglerpc.h0000644000175000017500000000251312417262523021112 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_muglerpc_h #define __ui_generic_ui_muglerpc_h #include "kc/system.h" #include "ui/generic/ui_base.h" class UI_MuglerPC : public UI_Base { protected: int _mode; byte_t *_font; byte_t *_pix_cache; protected: inline void generic_put_pixels(byte_t *ptr, byte_t val); public: UI_MuglerPC(void); virtual ~UI_MuglerPC(void); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_muglerpc_h */ KCemu-0.5.1/include/ui/generic/module.h0000644000175000017500000000236612417262523020072 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_module_h #define __ui_generic_module_h #include "kc/system.h" #include "ui/module.h" class DummyModuleHandler : public UI_ModuleInterface { public: DummyModuleHandler(void); virtual ~DummyModuleHandler(void); /* * UI_ModuleInterface */ virtual void insert(int slot, ModuleInterface *m); virtual void activate(int slot, byte_t value); }; #endif /* __ui_generic_module_h */ KCemu-0.5.1/include/ui/generic/ui_vcs80.h0000644000175000017500000000256012417262523020241 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_vcs80_h #define __ui_generic_ui_vcs80_h #include "kc/system.h" #include "ui/generic/ui_led.h" class UI_VCS80 : public UI_LED { private: enum { VCS80_NR_OF_LEDS = 8 }; byte_t _counter; byte_t _led_value[VCS80_NR_OF_LEDS]; public: UI_VCS80(void); virtual ~UI_VCS80(void); virtual void led_update(void); virtual void generic_signal_v_retrace(bool value); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_vcs80_h */ KCemu-0.5.1/include/ui/generic/memaccess.h0000644000175000017500000000250512417262523020540 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_memaccess_h #define __ui_generic_memaccess_h #include "kc/system.h" class MemAccess { private: enum { BUFFER_SIZE = 40 * 256 }; long long _base_counter; byte_t _buf[BUFFER_SIZE]; public: MemAccess(void); virtual ~MemAccess(void); void update(void); byte_t get_value(int x, int y); void set_value(int x, int y, byte_t value); void reset(); void memory_read(word_t addr); void memory_write(word_t addr); }; #endif /* __ui_generic_memaccess_h */ KCemu-0.5.1/include/ui/generic/Makefile.am0000644000175000017500000000043612417262523020464 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ ui_base.h \ ui_0.h \ ui_1.h \ ui_3.h \ ui_4.h \ ui_6.h \ ui_8.h \ ui_9.h \ ui_led.h \ ui_kramermc.h \ ui_muglerpc.h \ ui_vcs80.h \ ui_c80.h \ tape.h \ module.h \ scanline.h \ memaccess.h KCemu-0.5.1/include/ui/generic/scanline.h0000644000175000017500000000257512417262523020403 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_scanline_h #define __ui_generic_scanline_h #include "kc/system.h" class Scanline { private: bool _enabled; int _val; int _idx; int _count; word_t _vec[48]; word_t *_v1; word_t *_v2; word_t *_v3; long long _time; long long _frame_time; public: Scanline(void); virtual ~Scanline(void); virtual void update(void); virtual void trigger(bool enable); virtual void reset(bool enable); virtual int get_value(int y); }; #endif /* __ui_generic_scanline_h */ KCemu-0.5.1/include/ui/generic/ui_1.h0000644000175000017500000000314412417262523017435 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_1_h #define __ui_generic_ui_1_h #include "kc/system.h" #include "ui/generic/ui_base.h" class UI_1 : public UI_Base { protected: byte_t *_pix_cache; byte_t *_col_cache; protected: inline void generic_put_pixels(byte_t *ptr, byte_t val, word_t color); void generic_update_20(int width, int height, int fchg, byte_t flash, bool clear_cache); void generic_update_24(int width, int height, int fchg, byte_t flash, bool clear_cache); void generic_set_border_20(int width, int height, byte_t border); void generic_set_border_24(int width, int height, byte_t border); public: UI_1(void); virtual ~UI_1(void); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_1_h */ KCemu-0.5.1/include/ui/generic/ui_c80.h0000644000175000017500000000231712417262523017670 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_c80_h #define __ui_generic_ui_c80_h #include "kc/system.h" #include "ui/generic/ui_led.h" class UI_C80 : public UI_LED { private: enum { C80_NR_OF_LEDS = 8 }; public: UI_C80(void); virtual ~UI_C80(void); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_c80_h */ KCemu-0.5.1/include/ui/generic/ui_led.h0000644000175000017500000000331012417262523020034 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_led_h #define __ui_generic_ui_led_h #include "kc/system.h" #include "ui/generic/ui_base.h" class UI_LED : public UI_Base { private: int _width; int _height; int _a, _b, _c, _d, _e, _f, _g, _h; protected: UI_LED(int width, int height, int a, int b, int c, int d, int e, int f, int g, int h); virtual ~UI_LED(void); virtual void generic_put_pixel(int x, int y, byte_t col, bool clear_cache); virtual void generic_draw_led(int x, int y, byte_t col, bool clear_cache); virtual void generic_draw_hline(int x, int y, byte_t col, bool clear_cache); virtual void generic_draw_vline(int x, int y, byte_t col, bool clear_cache); virtual void generic_draw_point(int x, int y, byte_t col, bool clear_cache); virtual void generic_draw_digit(int x, int y, int index, byte_t led_value, bool clear_cache); }; #endif /* __ui_generic_ui_led_h */ KCemu-0.5.1/include/ui/generic/ui_4.h0000644000175000017500000000301712417262523017437 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_4_h #define __ui_generic_ui_4_h #include "kc/system.h" #include "ui/generic/ui_base.h" #include "ui/generic/scanline.h" class UI_4 : public UI_Base { protected: byte_t *_pix_cache; byte_t *_col_cache; byte_t *_scn_cache; protected: void generic_put_pixels(int x, int y, byte_t pixel, byte_t fg, byte_t bg); virtual void generic_update_hires(Scanline *scanline, byte_t *irm, bool clear_cache); virtual void generic_update_lores(Scanline *scanline, byte_t *irm, bool clear_cache); public: UI_4(void); virtual ~UI_4(void); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_4_h */ KCemu-0.5.1/include/ui/generic/ui_kramermc.h0000644000175000017500000000256212417262523021101 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_kramermc_h #define __ui_generic_ui_kramermc_h #include "kc/system.h" #include "ui/generic/ui_base.h" class UI_KramerMC : public UI_Base { protected: byte_t *_font; byte_t *_pix_cache; int _mode; int _width; int _height; protected: inline void generic_put_pixels(byte_t *ptr, byte_t val); public: UI_KramerMC(void); virtual ~UI_KramerMC(void); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_kramermc_h */ KCemu-0.5.1/include/ui/generic/ui_9.h0000644000175000017500000000370512417262523017450 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_generic_ui_9_h #define __ui_generic_ui_9_h #include "kc/system.h" #include "ui/generic/ui_base.h" class UI_9 : public UI_Base { public: enum { UI_GENERIC_MODE_LORES = 0, UI_GENERIC_MODE_HIRES = 1, }; int _mode; int _width; int _height; protected: byte_t *_pix_cache; byte_t *_col_cache; int _max_ptr; protected: void init(void); void dispose(void); void set_pixel(int x, int y, int color); void set_char(int x, int y, int c, int fg, int bg, int width, int lines); void generic_update_border(int border, int lines); void generic_update_graphic_2(bool clear_cache); void generic_update_graphic_3(bool clear_cache); void generic_update_graphic_5(bool clear_cache); void generic_update_text(int width, int height, int lines, bool clear_cache); public: UI_9(void); virtual ~UI_9(void); virtual int generic_get_mode(void); virtual void generic_set_mode(int mode); virtual void generic_signal_v_retrace(bool value); virtual void generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache); }; #endif /* __ui_generic_ui_9_h */ KCemu-0.5.1/include/ui/gtk/0000755000175000017500000000000012417262523015576 5ustar glaubitzglaubitzKCemu-0.5.1/include/ui/gtk/tape.h0000644000175000017500000000654212417262523016707 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_tape_h #define __ui_gtk_tape_h #include #include "kc/system.h" #include "ui/tape.h" #include "ui/gtk/window.h" class TapeWindow : public UI_Gtk_Window, public TapeInterface { private: enum { TREEVIEW_COLUMN_NAME, TREEVIEW_COLUMN_TYPE, TREEVIEW_COLUMN_LOAD, TREEVIEW_COLUMN_START, TREEVIEW_COLUMN_SIZE, TREEVIEW_N_COLUMNS }; struct { GtkWidget *treeview; GtkWidget *b_play; GtkWidget *b_stop; GtkWidget *b_record; GtkWidget *b_next; GtkWidget *b_prev; GtkWidget *b_attach; GtkWidget *b_detach; GtkListStore *list_store; GtkAdjustment *scale_adj; GtkWidget *b_close; GtkWidget *vbox; GtkWidget *combo_hbox; GtkWidget *combo_label; GtkWidget *combo; GtkWidget *sw; GtkWidget *hbox; GtkWidget *led_power; GtkWidget *scale; GtkWidget *bbox; GtkWidget *m_run; GtkWidget *m_load; GtkWidget *m_edit; GtkWidget *m_delete; GtkWidget *m_rename; GtkWidget *m_export; GtkWidget *m_wav; GtkWidget *menu; } _w; int _nr_of_files; int _selected; int _play; int _record; int _power; double _scale_value; GdkColormap *_colormap; GdkColor _col[4]; protected: static void sf_power_expose(TapeWindow *self); static void sf_tape_scale_changed(GtkAdjustment *adjustment, gpointer data); static void sf_tape_button(GtkWidget *widget, int x); static int sf_tape_button_press(GtkWidget *widget, GdkEventButton *event, gpointer data); static void sf_tape_file_select(GtkTreeSelection *selection, gpointer data); static void sf_tape_archive_select(GtkWidget *widget, gpointer data); void init(void); void allocate_colors(void); void set_selected_index(GtkTreeSelection *selection); virtual void clear_list(void); public: TapeWindow(const char *ui_xml_file); virtual ~TapeWindow(void); virtual void stop(void); virtual void attached(const char *name); /* * TapeInterface */ virtual void tapeAttach(const char *name); virtual void tapeDetach(void); virtual void tapePower(bool power); virtual void tapeProgress(int val); virtual void tapeNext(void); virtual void tapeAddFile(const char *name, long load, long start, long size, unsigned char type); virtual void tapeRemoveFile(int idx); virtual int tapeGetSelected(void); virtual const char * tapeGetName(int idx); virtual void tapeAddArchive(const char *name); }; #endif /* __ui_gtk_tape_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk_muglerpc.h0000644000175000017500000000212212417262523021124 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk_muglerpc_h #define __ui_ui_gtk_muglerpc_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk_MuglerPC : public UI_Gtk_Base { public: UI_Gtk_MuglerPC(void); virtual ~UI_Gtk_MuglerPC(void); }; #endif /* __ui_ui_gtk_muglerpc_h */ KCemu-0.5.1/include/ui/gtk/gif.h0000644000175000017500000000331312417262523016514 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_gif_h #define __ui_gtk_gif_h #include "kc/config.h" #ifdef HAVE_LIBGIF #include #include #include "kc/system.h" #include "ui/gtk/videoenc.h" class GifVideoEncoder : public VideoEncoder { private: typedef struct { int r, g, b; } color_t; enum { MAX_FRAME_DELAY = 65535 }; int _width; int _height; int _fps_den; int _frame_delay; GifFileType *_gif; ColorMapObject *_cmap; byte_t *_buf; protected: virtual bool flush_buffer(byte_t *buf, int delay); public: GifVideoEncoder(void); virtual ~GifVideoEncoder(void); virtual bool init(const char *filename, int width, int height, int fps_den, double quality); virtual void allocate_color_rgb(int idx, int r, int g, int b); virtual bool encode(byte_t *image, byte_t *dirty); virtual void close(void); }; #endif /* HAVE_LIBGIF */ #endif /* __ui_gtk_gif_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk4.h0000644000175000017500000000222612417262523017317 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk4_h #define __ui_ui_gtk4_h #include "ui/generic/scanline.h" #include "ui/gtk/ui_gtk_base.h" class UI_Gtk4 : public UI_Gtk_Base { private: Scanline _scanline; public: UI_Gtk4(void); virtual ~UI_Gtk4(void); virtual Scanline * get_scanline(void); }; #endif /* __ui_ui_gtk4_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk1.h0000644000175000017500000000204212417262523017310 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk1_h #define __ui_ui_gtk1_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk1 : public UI_Gtk_Base { public: UI_Gtk1(void); virtual ~UI_Gtk1(void); }; #endif /* __ui_ui_gtk1_h */ KCemu-0.5.1/include/ui/gtk/window.h0000644000175000017500000000457312417262523017267 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_window_h #define __ui_gtk_window_h #include #include #include "cmd/cmd.h" #include "ui/window.h" using namespace std; class UI_Gtk_Window : public UI_Window { private: bool _visible; CMD_Args *_help_args; GtkBuilder *_gtk_builder; static bool _static_init; static string _icon_path; static string _image_path; GtkSettingsValue _setting_gtk_can_change_accels; private: void static_init(void); protected: GtkWidget *_window; virtual void init(void) = 0; GdkPixbuf * get_pixbuf(string path); GdkPixbuf * get_icon(const char *name); GdkPixbuf * get_image(const char *name); GtkCellRenderer * add_text_renderer(GtkTreeView *treeview, GtkTreeViewColumn *, const char *title, ...); GtkCellRenderer * add_icon_renderer(GtkTreeView *treeview, GtkTreeViewColumn *, const char *title, ...); GtkCellRenderer * bind_list_model_column(GtkComboBox *combobox, int column, ...); static void sf_help(GtkWidget *widget, gpointer data); static void sf_help_recursive(GtkWidget *widget, gpointer data); public: UI_Gtk_Window(void); UI_Gtk_Window(const char *ui_xml_file); virtual ~UI_Gtk_Window(void); void show(void); void hide(void); void toggle(void); bool is_visible(void); GtkWidget * get_window(void); GtkWidget * get_widget(const char *name); GtkWidget * get_widget(const char *name, int nr); GtkWidget * get_widget_or_null(const char *name); void init_dialog(const char *close_button_func, const char *help_topic); }; #endif /* __ui_gtk_window_h */ KCemu-0.5.1/include/ui/gtk/util.h0000644000175000017500000000164412417262523016731 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_util_h #define __ui_gtk_util_h #endif /* __ui_gtk_util_h */ KCemu-0.5.1/include/ui/gtk/options.h0000644000175000017500000002542112417262523017446 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_options_h #define __ui_gtk_options_h #include #include #include "kc/system.h" #include "kc/prefs/profile.h" #include "ui/gtk/window.h" using namespace std; class OptionsWindow : public UI_Gtk_Window { private: enum { TREE_INT_COLUMN, TREE_TEXT_COLUMN, TREE_ICON_COLUMN, TREE_CONFIG_NAME_COLUMN, TREE_N_COLUMNS }; enum { MODULES_NAME_COLUMN, MODULES_MODIF_COLUMN, MODULES_POINTER_COLUMN, MODULES_N_COLUMNS }; enum { ROMS_DESCRIPTION_COLUMN, ROMS_FILENAME_COLUMN, ROMS_TYPE_COLUMN, ROMS_N_COLUMNS }; enum { NR_OF_MODULES = 8, NR_OF_ROMS = 8, NR_OF_NETWORK_SETTINGS = 4, }; static const char * FILE_CHOOSER_BUTTON_KEY; static const char * FILE_CHOOSER_CLEAR_BUTTON_KEY; static const char * DATA_KEY_CHECK_BUTTON; static const char * PREFERENCES_KEY; static const char * DEFAULT_DIR_KEY; static const char * TARGET_WIDGET1_KEY; static const char * TARGET_WIDGET2_KEY; static const char * TARGET_WIDGET3_KEY; // unfortunately the signature of gtk_tree_path_prev and // gtk_tree_path_next are different. but as we just need to // treat them as void, we cast them to the following type. typedef void (*GtkPathMoveFunc)(GtkTreePath *); typedef void (*GtkIterMoveFunc)(GtkTreeStore *, GtkTreeIter *, GtkTreeIter *); struct { GtkWidget *treeview; GtkWidget *b_new; GtkWidget *b_copy; GtkWidget *b_delete; GtkWidget *b_up; GtkWidget *b_down; GtkWidget *b_ok; GtkWidget *b_close; GtkWidget *b_expand; GtkWidget *b_collapse; GtkNotebook *notebook; GtkEntry *entry_profile_name; GtkComboBox *combobox_system_type; GtkComboBox *combobox_system_variant; GtkCheckButton *check_button_system_variant; GtkTextView *textview_comment; GtkTextBuffer *textbuffer_comment; GtkCheckButton *check_button_display_scale; GtkCheckButton *check_button_display_effects; GtkCheckButton *check_button_display_mem_access; GtkCheckButton *check_button_display_debug; GtkCheckButton *check_button_d004; GtkCheckButton *check_button_f8_rom; GtkCheckButton *check_button_busdrivers; GtkComboBox *combobox_d004; GtkComboBox *combobox_f8_rom; GtkSpinButton *spin_button_busdrivers; GtkSpinButton *spin_button_display_scale; GtkComboBox *combobox_display_effects; GtkComboBox *combobox_display_mem_access; GtkComboBox *combobox_display_debug; GtkComboBox *combobox_module[NR_OF_MODULES]; GtkCheckButton *check_button_modules; GtkEntry *entry_network_ip_address; GtkEntry *entry_network_netmask; GtkEntry *entry_network_gateway; GtkEntry *entry_network_dns_server; GtkLabel *roms_label[NR_OF_ROMS]; GtkComboBoxEntry *roms_comboboxentry[NR_OF_ROMS]; GtkButton *roms_open_button[NR_OF_ROMS]; GtkCheckButton *roms_check_button[NR_OF_ROMS]; GtkTreeStore *treestore; GtkListStore *liststore_system; GtkListStore *liststore_modules; GdkPixbuf *pixbuf_root; GdkPixbuf *pixbuf_default; GdkPixbuf *pixbuf_deleted; gint on_profile_name_changed_id; gint on_comment_changed_id; gint on_system_type_changed_id; gint on_system_variant_changed_id; gint on_display_scale_value_changed_id; gint on_display_effects_changed_id; gint on_display_mem_access_changed_id; gint on_display_debug_changed_id; gint on_kc85_d004_changed_id; gint on_kc85_f8_rom_changed_id; gint on_kc85_busdrivers_changed_id; gint on_module_changed_id[NR_OF_MODULES]; gint on_rom_changed_id[NR_OF_ROMS]; gint on_network_changed_id[NR_OF_NETWORK_SETTINGS]; } _w; CMD *_cmd; CMD *_cmd_dialog; kc_type_t _current_kc_type; Profile *_current_profile; list _delete_path; char *_open_rom_last_path; protected: void init(void); bool is_ip_address(const char *addr); GtkTreeStore * get_tree_model(void); GtkListStore * get_system_list_model(void); GtkListStore * get_variant_list_model(kc_variant_t kc_variant, const char *name, ...); GtkListStore * get_modules_list_model(kc_type_t kc_type); GtkTreeModel * get_selected_tree_iter(GtkTreeIter *iter); void expand_and_select(GtkTreeView *treeview, GtkTreeModel *model, GtkTreeIter *iter); ProfileValue * get_current_profile_value(const char *key); const char * get_preferences_key(GObject *object); void set_preferences_key(GObject *object, const char *key); void apply_profile(void); void apply_comment(void); void apply_system_type(void); void apply_kc85_settings(void); void apply_display_settings(void); void apply_network_settings(void); void apply_modules_settings(kc_type_t kc_type); void apply_roms_settings(kc_type_t kc_type, kc_variant_t kc_variant); void apply_system_variant(kc_type_t kc_type, kc_variant_t kc_variant); void apply_filechooserbutton(GtkFileChooser *filechooser); void apply_entry_value(GtkEntry *entry, gint signal_id); void apply_combobox_value(GtkCheckButton *check_button, GtkComboBox *combobox, gint handler_id); void apply_spin_button_value(GtkCheckButton *check_button, GtkSpinButton *spin_button, gint signal_id, int default_value); void expand_tree(void); void collapse_tree(void); void add_system(GtkTreeStore *store, GtkTreeIter *iter, const char *name, const char *config_name, const char *icon_name); void move_row(GtkPathMoveFunc path_func, GtkIterMoveFunc move_func); void set_roms_liststore(int idx, const char *rom_key, SystemROM *rom); bool check_button_toggled(GtkToggleButton *togglebutton); void set_widget_sensitive_by_key(GObject *object, const gchar *key, bool sensitive); void wire_check_button(const char *preferences_key, GtkCheckButton *check_button, GCallback callback, GtkWidget *target1, GtkWidget *target2 = NULL, GtkWidget *target3 = NULL); void wire_check_button(const char *preferences_key, const char *default_dir, const char *check_button_name, const char *filechooser_button_name, const char *button_clear_name); static void on_button_new_clicked(GtkButton *button, gpointer user_data); static void on_button_copy_clicked(GtkButton *button, gpointer user_data); static void on_button_delete_clicked(GtkButton *button, gpointer user_data); static void on_button_up_clicked(GtkButton *button, gpointer user_data); static void on_button_down_clicked(GtkButton *button, gpointer user_data); static void on_button_expand_clicked(GtkButton *button, gpointer user_data); static void on_button_collapse_clicked(GtkButton *button, gpointer user_data); static void on_button_ok_clicked(GtkButton *button, gpointer user_data); static void on_button_close_clicked(GtkButton *button, gpointer user_data); static void on_tree_selection_changed(GtkTreeSelection *selection, gpointer user_data); static void on_media_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data); static void on_media_clear_button_clicked(GtkButton *button, gpointer user_data); static void on_media_filechooser_file_set(GtkFileChooserButton *filechooserbutton, gpointer user_data); static void on_display_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data); static void on_display_scale_value_changed(GtkSpinButton *spin_button, gpointer user_data); static void on_display_effects_changed(GtkComboBox *combobox, gpointer user_data); static void on_display_debug_changed(GtkComboBox *combobox, gpointer user_data); static void on_display_mem_access_changed(GtkComboBox *combobox, gpointer user_data); static void on_profile_name_changed(GtkEditable *editable, gpointer user_data); static void on_comment_changed(GtkTextBuffer *textbuffer, gpointer user_data); static void on_system_type_changed(GtkComboBox *combobox, gpointer user_data); static void on_system_variant_changed(GtkComboBox *combobox, gpointer user_data); static void on_system_variant_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data); static void on_module_changed(GtkComboBox *combobox, gpointer user_data); static void on_modules_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data); static void on_kc85_settings_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data); static void on_kc85_d004_changed(GtkComboBox *combobox, gpointer user_data); static void on_kc85_f8_rom_changed(GtkComboBox *combobox, gpointer user_data); static void on_kc85_busdrivers_changed(GtkSpinButton *spin_button, gpointer user_data); static void on_rom_changed(GtkComboBoxEntry *comboboxentry, gpointer user_data); static void on_rom_open_clicked(GtkButton *button, gpointer user_data); static void on_roms_settings_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data); static void on_network_settings_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data); static void on_network_changed(GtkEntry *entry, gpointer user_data); static gboolean tree_model_foreach_func_delete(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer user_data); public: OptionsWindow(const char *ui_xml_file); virtual ~OptionsWindow(void); void save(void); void reject(void); }; #endif /* __ui_gtk_options_h */ KCemu-0.5.1/include/ui/gtk/thanks.h0000644000175000017500000000225712417262523017245 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_thanks_h #define __ui_gtk_thanks_h #include #include "kc/system.h" #include "ui/gtk/window.h" class ThanksWindow : public UI_Gtk_Window { private: CMD *_cmd; protected: void init(void); public: ThanksWindow(const char *ui_xml_file); virtual ~ThanksWindow(void); }; #endif /* __ui_gtk_thanks_h */ KCemu-0.5.1/include/ui/gtk/main.h0000644000175000017500000000774212417262523016705 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_main_h #define __ui_gtk_main_h #include "kc/system.h" #include "ui/statusl.h" #include "ui/hsv2rgb.h" #include "ui/generic/ui_base.h" #include "ui/gtk/window.h" using namespace std; class MainWindow : public StatusListener, public UI_Gtk_Window { private: struct { GtkDrawingArea *drawingarea; GtkMenu *popup_menu; GtkMenuBar *menubar; GtkHBox *status_hbox; GtkLabel *status_label; GtkStatusbar *status_statusbar; GtkAccelGroup *accel_group; guint idle_id; long status_sec; } _w; int _width; int _height; bool _expose; GdkGC *_gc; GdkVisual *_visual; GdkImage *_image; byte_t *_dirty_old; GdkColormap *_colormap; GdkColor _col[24]; CMD *_cmd_ui_toggle; string _accel_map_path; protected: void init(void); void init_icon(void); void add_menu_accel_group(const char *base, const char *name); void wire_menu_item(const char *name, const char *shortcut, const char *command); gulong get_col(byte_t *bitmap, int which, int idx, int width); void update_1(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height); void update_2(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height); void update_3(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height); void update_1_debug(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height); void update_2_scanline(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height); void update_3_smooth(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height); void attach_remote_listener(void); static gboolean on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer user_data); static gboolean on_button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data); static void on_accel_group_changed(GtkAccelGroup *accel_group, guint keyval, GdkModifierType modifier, GClosure *accel_closure, gpointer user_data); static gboolean on_accel_group_changed_idle_func(gpointer data); static gboolean on_property_change(GtkWidget *widget, GdkEventProperty *event, gpointer data); public: MainWindow(const char *ui_xml_file); virtual ~MainWindow(void); virtual GtkWidget * get_main_window(void); virtual void process_events(void); virtual void show(int width, int height); virtual bool resize(int width, int height); virtual void update(UI_Base *ui, int image_width, int image_height, bool full_update); virtual void allocate_color_rgb(int idx, int r, int g, int b); virtual gboolean get_display_effect(void); virtual void set_display_effect(gboolean effect); virtual void set_fps(unsigned long fps); virtual void status_bar_toggle(void); virtual void menu_bar_toggle(void); virtual GdkColor * get_colormap(void); /* * StatusListener */ virtual void setStatus(const char *msg); }; #endif /* __ui_gtk_main_h */ KCemu-0.5.1/include/ui/gtk/screenshot.h0000644000175000017500000000512712417262523020131 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_screenshot_h #define __ui_gtk_screenshot_h #include #include #include "kc/system.h" #include "ui/gtk/ui_gtk.h" #include "ui/gtk/window.h" class ScreenshotWindow : public UI_Gtk_Window { private: struct { GtkWidget *canvas; GtkWidget *crop_left_spinbutton; GtkWidget *crop_right_spinbutton; GtkWidget *crop_top_spinbutton; GtkWidget *crop_bottom_spinbutton; GtkWidget *button_save; GtkWidget *button_screenshot; GtkWidget *format_combobox; GtkWidget *filebutton; GtkListStore *store; guint timeout_id; } _w; int _width; int _height; double _offset; GdkPixbuf *_pixbuf; UI_Gtk *_ui; CMD *_cmd_screenshot_toggle; protected: void init(void); void expose(GdkEventExpose *event); void save(void); void screenshot(void); GtkListStore * get_pixbuf_formats(void); void configure_spinbutton(GtkWidget *spinbutton1, GtkWidget *spinbutton2, double range); static void on_save_clicked(GtkButton *button, gpointer user_data); static void on_screenshot_clicked(GtkButton *button, gpointer user_data); static void on_spinbutton_left_changed(GtkSpinButton *spinbutton, gpointer user_data); static void on_spinbutton_right_changed(GtkSpinButton *spinbutton, gpointer user_data); static void on_spinbutton_top_changed(GtkSpinButton *spinbutton, gpointer user_data); static void on_spinbutton_bottom_changed(GtkSpinButton *spinbutton, gpointer user_data); static void on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data); static gboolean timeout_handler(ScreenshotWindow *self); public: ScreenshotWindow(const char *ui_xml_file, UI_Gtk *ui); virtual ~ScreenshotWindow(void); void toggle(void); }; #endif /* __ui_gtk_screenshot_h */ KCemu-0.5.1/include/ui/gtk/ffmpeg.h0000644000175000017500000000340612417262523017216 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_ffmpeg_h #define __ui_gtk_ffmpeg_h #include "kc/config.h" #ifdef HAVE_LIBAVFORMAT #include extern "C" { #define __STDC_CONSTANT_MACROS #include } #include "kc/system.h" #include "ui/gtk/videoenc.h" class FfmpegVideoEncoder : public VideoEncoder { private: typedef struct { int y, u, v; } color_t; private: color_t _col[256]; byte_t *_buf; int _bufsize; int _width; int _height; AVFormatContext *_context; AVStream *_stream; AVFrame *_frame; public: FfmpegVideoEncoder(void); virtual ~FfmpegVideoEncoder(void); virtual bool init(const char *filename, int width, int height, int fps_den, double quality); virtual void allocate_color_rgb(int idx, int r, int g, int b); virtual bool encode(byte_t *image, byte_t *dirty); virtual void close(void); }; #endif /* HAVE_LIBAVFORMAT */ #endif /* __ui_gtk_ffmpeg_h */ KCemu-0.5.1/include/ui/gtk/theora.h0000644000175000017500000000377212417262523017242 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_theora_h #define __ui_gtk_theora_h #include "kc/config.h" #ifdef HAVE_LIBTHEORA #include #include #include #include "kc/system.h" #include "ui/gtk/videoenc.h" class TheoraVideoEncoder : public VideoEncoder { private: typedef struct { int y, u, v; } color_t; private: FILE *_f; th_info _info; th_pixel_fmt _format; th_enc_ctx *_context; ogg_stream_state _stream; byte_t *_buf_y; byte_t *_buf_u; byte_t *_buf_v; color_t _col[256]; protected: virtual bool flush(void); virtual bool write_page(ogg_page *page); virtual void encode_444(byte_t *image, byte_t *dirty); virtual void encode_420(byte_t *image, byte_t *dirty); public: TheoraVideoEncoder(void); virtual ~TheoraVideoEncoder(void); virtual bool init(const char *filename, int width, int height, int fps_den, double quality); virtual void allocate_color_rgb(int idx, int r, int g, int b); virtual bool encode(byte_t *image, byte_t *dirty); virtual void close(void); }; #endif /* HAVE_LIBTHEORA */ #endif /* __ui_gtk_theora_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk.h0000644000175000017500000001466212417262523017242 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk_h #define __ui_ui_gtk_h #include #include "ui/ui.h" #include "ui/errorl.h" #include "ui/commands.h" #include "ui/generic/ui_base.h" #include "ui/gtk/ui_gtk_base.h" #include "ui/gtk/cmd.h" #include "ui/gtk/fbrowse.h" #include "ui/gtk/dialog.h" #include "ui/gtk/hedit.h" #include "ui/gtk/videoenc.h" #include "cmd/cmd.h" #include "cmd/cmdargs.h" class MainWindow; class UI_Gtk : public ErrorListener, public UI { protected: enum { CB_OFFSET = 35000, /* 50 Hz */ }; bool _auto_skip; int _cur_auto_skip; int _max_auto_skip; int _video_skip; int _video_frame; int _video_encoder_state; unsigned long long _callback_value; unsigned long long _callback_value_retrace; UI_Gtk_Base *_ui; MainWindow *_main_window; VideoEncoder *_video_encoder; VideoEncoder *_video_encoder_dummy; const char *_video_encoder_filename; double _video_encoder_quality; int _video_encoder_frame_skip; bool _video_encoder_start_on_reset; UI_Gtk_Window *_debug_window; UI_Gtk_Window *_about_window; UI_Gtk_Window *_help_window; UI_Gtk_Window *_thanks_window; UI_Gtk_Window *_color_window; UI_Gtk_Window *_copying_window; UI_Gtk_Window *_options_window; UI_Gtk_Window *_selector_window; UI_Gtk_Window *_tape_window; UI_Gtk_Window *_tape_add_window; UI_Gtk_Window *_disk_window; UI_Gtk_Window *_vdip_window; UI_Gtk_Window *_module_window; UI_Gtk_Window *_keyboard_window; UI_Gtk_Window *_info_window; UI_Gtk_Window *_wav_window; UI_Gtk_Window *_screenshot_window; UI_Gtk_Window *_plotter_window; UI_Gtk_Window *_save_memory_window; UI_Gtk_Window *_video_window; FileBrowser *_file_browser; DialogWindow *_dialog_window; EditHeaderWindow *_edit_header_window; bool _init; bool _shift_lock; bool _speed_limit; void create_ui(void); void destroy_ui(void); void add_callback(void); int ensure_range(double val); void tapeSelect(void); void text_update(void); void wire_menu_item(const char *name, const char *shortcut, const char *command); static void on_pixbuf_destroy(guchar *pixels, gpointer user_data); static void sf_selection_received(GtkWidget *widget, GtkSelectionData *sel_data, gpointer *data); static void key_press_release(GdkEventKey *event, bool press); static void mc_view_menubar(GtkWidget *widget, gpointer data); static void mc_view_tape_window(GtkWidget *widget, gpointer data); static void mc_view_tape_add_window(GtkWidget *widget, gpointer data); static void mc_view_statusbar(GtkWidget *widget, gpointer data); static void mc_tape_remove_file(GtkWidget *widget, gpointer data); static void mc_tape_load_file(GtkWidget *widget, gpointer data); static void mc_tape_delete_file(GtkWidget *widget, gpointer data); static void mc_tape_add_tape_file(GtkWidget *widget, gpointer data); static void sf_focus_in(GtkWidget *widget, GdkEventFocus *event); static void sf_focus_out(GtkWidget *widget, GdkEventFocus *event); static gboolean sf_key_press(GtkWidget *widget, GdkEventKey *event); static gboolean sf_key_release(GtkWidget *widget, GdkEventKey *event); static void sf_leave_notify(GtkWidget *widget, GdkEventCrossing *event); static void sf_button_press(GtkWidget *widget, GdkEventButton *event); static void sf_tape_button_press(GtkWidget *widget, GdkEventButton *event); static void sf_tape_file_selection_ok(GtkWidget *w, GtkFileSelection *fs); static void sf_tape_file_select(GtkWidget *widget, gint row, gint column, GdkEventButton * bevent); static void sf_load(void); static void sf_load_ok(GtkWidget *widget, GtkFileSelection *fs); static void sf_quit(void); static void idle(void); public: UI_Gtk(void); virtual ~UI_Gtk(void); virtual void processEvents(void); virtual void update(bool full_update = false, bool clear_cache = false); virtual void flash(bool enable); virtual int get_mode(void); virtual void set_mode(int mode); virtual void init(int *argc, char ***argv); virtual void init2(void); virtual void show(void); virtual int get_width(void); virtual int get_height(void); virtual void memory_read(word_t addr); virtual void memory_write(word_t addr); virtual void callback(void *data); virtual char *select_profile(void); virtual GdkPixbuf * get_screenshot(void); virtual void speed_limit_toggle(void); virtual void display_effects_toggle(void); virtual void allocate_colors(double brightness_fg, double contrast_fg, double brightness_bg, double contrast_bg); virtual void set_video_encoder(VideoEncoder *encoder); virtual void set_video_encoder_state(int state); virtual void set_video_encoder_config(const char *filename, double quality, int frame_skip, bool start_on_reset); void gtk_sync(void); void gtk_resize(void); void gtk_zoom(int zoom); /* * ErrorListener */ void errorInfo(const char *msg); /* * interface handling */ virtual UI_ModuleInterface * getModuleInterface(void); virtual TapeInterface * getTapeInterface(void); virtual DebugInterface * getDebugInterface(void); friend class KeyboardWindow; // allow KeyboardWindow to call event handlers virtual void reset(bool power_on = false); }; #endif /* __ui_ui_gtk_h */ KCemu-0.5.1/include/ui/gtk/module.h0000644000175000017500000000376512417262523017247 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_module_h #define __ui_gtk_module_h #include #include "kc/system.h" #include "ui/module.h" #include "ui/gtk/window.h" class ModuleWindow : public UI_Gtk_Window, public UI_ModuleInterface { private: int _nr_of_bd; enum { MAX_BD = 63, NR_OF_SLOTS = 4 * MAX_BD + 2, }; struct { GtkWidget *vbox; GtkWidget *frame[MAX_BD + 1]; GtkWidget *table[MAX_BD + 1]; GtkWidget *l[NR_OF_SLOTS]; GtkWidget *m[NR_OF_SLOTS]; GtkWidget *led[NR_OF_SLOTS]; GtkWidget *color_exp; GSList *g[NR_OF_SLOTS]; } _w; CMD *_cmd; protected: void init(void); void init2(void); void init_device(const char *name, int base, int active_slots); void init_device_1(const char *name, int nr_of_slots); GtkWidget *create_menu(int slot); static void sf_activate(GtkWidget *widget, gpointer data); static void sf_color_expansion(GtkWidget *widget, gpointer data); public: ModuleWindow(const char *ui_xml_file); virtual ~ModuleWindow(void); /* * UI_ModuleInterface */ virtual void insert(int slot, ModuleInterface *m); virtual void activate(int slot, byte_t value); }; #endif /* __ui_gtk_module_h */ KCemu-0.5.1/include/ui/gtk/disk.h0000644000175000017500000000323012417262523016677 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_disk_h #define __ui_gtk_disk_h #include #include "kc/system.h" #include "ui/gtk/window.h" class DiskWindow : public UI_Gtk_Window { enum { NR_OF_DISKS = 4 }; private: struct { GtkWidget *vbox; GtkWidget *table; GtkWidget *label[NR_OF_DISKS]; GtkWidget *combo[NR_OF_DISKS]; GtkWidget *browse[NR_OF_DISKS]; GtkWidget *eject[NR_OF_DISKS]; GtkWidget *separator; GtkWidget *close; guint combo_signal_id[NR_OF_DISKS]; } _w; CMD *_cmd_attach; CMD *_cmd_update; CMD *_cmd_window_toggle; protected: void init(void); static void sf_disk_attach(GtkWidget *widget, gpointer data); public: DiskWindow(const char *ui_xml_file); virtual ~DiskWindow(void); virtual void set_name(int idx, const char *name); }; #endif /* __ui_gtk_disk_h */ KCemu-0.5.1/include/ui/gtk/cmd.h0000644000175000017500000000326412417262523016517 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_cmd_h #define __ui_gtk_cmd_h #include #include "kc/system.h" #include "cmd/cmd.h" /* * cmd_exec as GTK+ signal function */ void cmd_exec_sf(GtkWidget *widget, gpointer data); /* * cmd_exec as GTK+ event function returning true * (e.g. for "delete_event") */ int cmd_exec_sft(GtkWidget *widget, GdkEvent *event, gpointer data); /* * cmd_exec for toggle buttons * this functions calls the command only if the button is pressed */ void cmd_exec_sftb(GtkWidget *widget, gpointer data); /* * cmd_exec as GTK+ menu callback */ void cmd_exec_mc(gpointer data, guint action, GtkWidget *widget); /* * cmd_exec as GTK+ menu callback, with data being an array of * callback names and action the index to this array. */ void cmd_exec_mci(gpointer data, guint action, GtkWidget *widget); #endif /* __ui_gtk_cmd_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk8.h0000644000175000017500000000203712417262523017323 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk8_h #define __ui_ui_gtk8_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk8 : public UI_Gtk_Base { public: UI_Gtk8(void); virtual ~UI_Gtk8(void); }; #endif /* __ui_ui_gtk8_h */ KCemu-0.5.1/include/ui/gtk/Makefile.am0000644000175000017500000000137212417262523017635 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ ui_gtk.h \ ui_gtk_base.h \ ui_gtk0.h \ ui_gtk1.h \ ui_gtk3.h \ ui_gtk4.h \ ui_gtk6.h \ ui_gtk8.h \ ui_gtk9.h \ ui_gtk_kramermc.h \ ui_gtk_muglerpc.h \ ui_gtk_vcs80.h \ ui_gtk_c80.h \ cmd.h \ cmds.h \ util.h \ main.h \ disk.h \ vdip.h \ help.h \ tape.h \ tapeadd.h \ info.h \ debug.h \ about.h \ thanks.h \ color.h \ module.h \ keyboard.h \ options.h \ selector.h \ screenshot.h \ copying.h \ savemem.h \ window.h \ fbrowse.h \ dialog.h \ image.h \ hedit.h \ wav.h \ plotter.h \ video.h \ videoenc.h \ theora.h \ gif.h \ xvid.h \ dirac.h \ schro.h \ ffmpeg.h \ vnc.h KCemu-0.5.1/include/ui/gtk/tapeadd.h0000644000175000017500000000331612417262523017354 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_tapeadd_h #define __ui_gtk_tapeadd_h #include #include "kc/system.h" #include "cmd/cmd.h" #include "ui/gtk/window.h" class TapeAddWindow : public UI_Gtk_Window, public CMD { private: struct { GtkWidget *vbox; GtkWidget *table; GtkWidget *filename; GtkWidget *tapename; GtkWidget *kcname; GtkWidget *load_addr; GtkWidget *start_addr; GtkWidget *separator; GtkWidget *bbox; GtkWidget *b_ok; GtkWidget *b_cancel; } _tape_add; CMD_Args *_args; protected: static void ok(GtkWidget *widget, gpointer *data); static void cancel(GtkWidget *widget, gpointer *data); void init(void); public: TapeAddWindow(const char *ui_xml_file); ~TapeAddWindow(void); void init(const char *tapename, const char *text); void execute(CMD_Args *args, CMD_Context context); }; #endif /* __ui_gtk_tapeadd_h */ KCemu-0.5.1/include/ui/gtk/hedit.h0000644000175000017500000000473612417262523017056 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_hedit_h #define __ui_gtk_hedit_h #include #include "kc/system.h" #include "cmd/cmd.h" #include "ui/gtk/window.h" class EditHeaderWindow : public CMD { private: CMD_Args *_args; struct { GtkWidget *window; GtkWidget *vbox; GtkWidget *table; GtkWidget *tapename; GtkWidget *kcname; GtkWidget *load_addr; GtkWidget *start_addr; GtkWidget *separator; GtkWidget *bbox; GtkWidget *b_ok; GtkWidget *b_close; } _w; const char *_tape_filename; const char *_kc_filename; unsigned long _load_address; unsigned long _start_address; bool _autostart; protected: void init(const char *tapename, const char *kcname); bool check_values(CMD_Args *args); static void ok(GtkWidget */*widget*/, gpointer data); static void cancel(GtkWidget */*widget*/, gpointer data); static int delete_event(GtkWidget */*widget*/, GdkEvent *event, gpointer data); static void sf_toggle_autostart(GtkWidget *checkbutton, gpointer data); public: EditHeaderWindow(void); virtual ~EditHeaderWindow(void); void execute(CMD_Args *args, CMD_Context context); const char * get_tape_filename(void) { return gtk_entry_get_text(GTK_ENTRY(_w.tapename)); } const char * get_kc_filename(void) { return gtk_entry_get_text(GTK_ENTRY(_w.kcname)); } const char * get_load_address(void) { return gtk_entry_get_text(GTK_ENTRY(_w.load_addr)); } const char * get_start_address(void) { return gtk_entry_get_text(GTK_ENTRY(_w.start_addr)); } }; #endif /* __ui_gtk_hedit_h */ KCemu-0.5.1/include/ui/gtk/info.h0000644000175000017500000000550012417262523016702 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_info_h #define __ui_gtk_info_h #include #include "ui/gtk/window.h" class InfoWindow : public UI_Gtk_Window { private: typedef enum { A, B, C, D, E, F, H, L, IX, IY, BC, DE, HL, SP, PC, NR_OF_REGS } _regs; struct { GtkWidget *vbox; GtkWidget *notebook; GtkWidget *b; GtkWidget *separator; GtkWidget *bbox; GtkWidget *b_update; GtkWidget *b_close; } _w; struct { GtkWidget *table; GtkWidget *reg_f[NR_OF_REGS]; GtkWidget *reg_v[NR_OF_REGS]; /* vbox */ GtkWidget *reg_led[NR_OF_REGS]; /* label pointer */ GtkWidget *reg_lp[NR_OF_REGS]; /* label pointer */ GtkWidget *reg_h[NR_OF_REGS]; /* hbox */ GtkWidget *reg_lh[NR_OF_REGS]; /* label hex */ GtkWidget *reg_ld[NR_OF_REGS]; /* label dec */ } _cpu; struct { GtkWidget *hbox; GtkWidget *frame[2]; GtkWidget *table[2]; GtkWidget *mode_l[2]; GtkWidget *mode_v[2]; GtkWidget *irq_l[2]; GtkWidget *irq_v[2]; GtkWidget *irqvec_l[2]; GtkWidget *irqvec_v[2]; } _pio; struct { GtkWidget *hbox; GtkWidget *frame[4]; GtkWidget *table[4]; GtkWidget *irq_l[4]; GtkWidget *irq_v[4]; GtkWidget *irqvec_l[4]; GtkWidget *irqvec_v[4]; } _ctc; CMD *_cmd; protected: void init(void); GtkWidget * create_page_cpu(); GtkWidget * create_page_pio(); GtkWidget * create_page_ctc(); GtkWidget * create_channel_pio(int channel, const char *frame_title); GtkWidget * create_channel_ctc(int channel, const char *frame_title); GtkWidget * create_reg(int reg, const char *frame_title, int led); static void update(GtkWidget *w, InfoWindow *self); static void switch_page(GtkWidget *w, GtkNotebookPage *page, gint page_num, InfoWindow *self); void do_update(int page); void do_update_cpu(void); void do_update_pio(void); void do_update_ctc(void); public: InfoWindow(void); virtual ~InfoWindow(void); }; #endif /* __ui_gtk_info_h */ KCemu-0.5.1/include/ui/gtk/debug.h0000644000175000017500000001236312417262523017042 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_debug_h #define __ui_gtk_debug_h #include #include "ui/debug.h" #include "ui/gtk/window.h" typedef enum { SCROLL_NONE, SCROLL_FORWARD, SCROLL_BACKWARD, SCROLL_NEXT_PAGE, SCROLL_PREV_PAGE } scroll_dir_t; class debug_op_t; #define DEBUG_NR_OF_ASM_LABELS (12) #define DEBUG_NR_OF_MEM_LABELS (8) #define DEBUG_NR_OF_REG_LABELS (4) #define DEBUG_ASM_NAME _("Disassembler") #define DEBUG_MEM_NAME _("Memory") #define DEBUG_REG_NAME _("Registers") #define DEBUG_ASM_HEADLINE _("Disassembler (incomplete, use CTRL-d to activate)") #define DEBUG_MEM_HEADLINE _("Memory (use CTRL-m to activate)") #define DEBUG_REG_HEADLINE _("Registers") class DebugWindow : public UI_Gtk_Window, public DebugInterface { private: // // argh, the following declarations trigger a compiler error :-( // 'Internal compiler error 19970302.' // //static const int DEBUG_NR_OF_ASM_LABELS; //static const int DEBUG_NR_OF_MEM_LABELS; //static const int DEBUG_NR_OF_REG_LABELS; //static char * DEBUG_ASM; //static char * DEBUG_MEM; //static char * DEBUG_REG; private: struct { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *active; GtkWidget *op; GtkWidget *evb_asm; GtkWidget *frame_asm; GtkWidget *vbox_asm; GtkWidget *evb_mem; GtkWidget *frame_mem; GtkWidget *vbox_mem; GtkWidget *evb_reg; GtkWidget *frame_reg; GtkWidget *vbox_reg; GtkWidget *l_asm[DEBUG_NR_OF_ASM_LABELS]; GtkWidget *l_mem[DEBUG_NR_OF_MEM_LABELS]; GtkWidget *l_reg[DEBUG_NR_OF_REG_LABELS]; GtkWidget *trace; GtkWidget *single_step; GtkWidget *execute_step; } _w; int _pc; int _pc_np; int _mem; bool _minibuffer_active; CMD *_cmd1; CMD *_cmd2; PangoFontDescription *_font_desc; protected: void init(void); void do_goto_string(const char *str); static gint key_press_func(GtkWidget *widget, GdkEventKey *event, gpointer data); debug_op_t *_op; public: DebugWindow(void); virtual ~DebugWindow(void); void do_goto_int(int addr); virtual void debugTrace(void) {} virtual void debugSingleStep(void) {} friend class debug_op_t; friend class debug_op_asm; friend class debug_op_mem; friend class debug_op_reg; }; /* * this generates an operator new() that makes the class * a singleton; that means every new call for this class returns * the _same_ object! */ #define __NEW_SINGLETON(classname) \ void * operator new(size_t size) { \ static classname *ptr = 0; \ if (!ptr) ptr = ::new classname(); \ return ptr; \ } #define __CAPABILITIES(can_goto) \ virtual bool can_go_to(void) { return can_goto; } class debug_op_t { public: debug_op_t(void) {}; virtual ~debug_op_t(void) {}; void activate(DebugWindow *w); virtual void go_to(DebugWindow *w, int addr) {} virtual void update(DebugWindow *w, scroll_dir_t d = SCROLL_NONE) {} virtual const char * get_name(void) = 0; virtual const char * get_headline(void) = 0; virtual bool can_go_to(void) = 0; }; class debug_op_asm : public debug_op_t { public: debug_op_asm(void) {}; virtual ~debug_op_asm(void) {}; virtual void go_to(DebugWindow *w, int addr); virtual void update(DebugWindow *w, scroll_dir_t d = SCROLL_NONE); virtual const char * get_name(void) { return DEBUG_ASM_NAME; } virtual const char * get_headline(void) { return DEBUG_ASM_HEADLINE; } __NEW_SINGLETON(debug_op_asm); __CAPABILITIES(true); }; class debug_op_mem : public debug_op_t { public: debug_op_mem(void) {}; virtual ~debug_op_mem(void) {}; virtual void go_to(DebugWindow *w, int addr); virtual void update(DebugWindow *w, scroll_dir_t d = SCROLL_NONE); virtual const char * get_name(void) { return DEBUG_MEM_NAME; } virtual const char * get_headline(void) { return DEBUG_MEM_HEADLINE; } __NEW_SINGLETON(debug_op_mem); __CAPABILITIES(true); }; class debug_op_reg : public debug_op_t { public: debug_op_reg(void) {}; virtual ~debug_op_reg(void) {}; //virtual void go_to(DebugWindow *w, int addr); virtual void update(DebugWindow *w, scroll_dir_t d = SCROLL_NONE); virtual const char * get_name(void) { return DEBUG_REG_NAME; } virtual const char * get_headline(void) { return DEBUG_REG_HEADLINE; } __NEW_SINGLETON(debug_op_reg); __CAPABILITIES(false); }; #undef __NEW_SINGLETON #undef __CAPABILITIES #endif /* __ui_gtk_debug_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk_c80.h0000644000175000017500000000206412417262523017705 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk_c80_h #define __ui_ui_gtk_c80_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk_C80 : public UI_Gtk_Base { public: UI_Gtk_C80(void); virtual ~UI_Gtk_C80(void); }; #endif /* __ui_ui_gtk_c80_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk9.h0000644000175000017500000000204212417262523017320 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk9_h #define __ui_ui_gtk9_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk9 : public UI_Gtk_Base { public: UI_Gtk9(void); virtual ~UI_Gtk9(void); }; #endif /* __ui_ui_gtk9_h */ KCemu-0.5.1/include/ui/gtk/video.h0000644000175000017500000000415012417262523017055 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_video_h #define __ui_gtk_video_h #include "kc/system.h" #include "ui/gtk/window.h" class VideoWindow : public UI_Gtk_Window { private: UI_Gtk *_ui; struct { GtkWidget *encoder_combobox; GtkWidget *filebutton; GtkWidget *fps_combobox; GtkWidget *quality_spinbutton; GtkWidget *start_on_reset_checkbutton; GtkWidget *record_button; GtkWidget *stop_button; GtkWidget *pause_button; } _w; CMD *_cmd_video_toggle; CMD *_cmd_video_record; protected: void init(void); void init_fps(GtkComboBox *combobox); void init_encoder(GtkComboBox *combobox); void set_state(int state); void set_config_widget_sensitivity(bool enable); static void on_record_clicked(GtkWidget *widget, gpointer user_data); static void on_stop_clicked(GtkWidget *widget, gpointer user_data); static void on_pause_clicked(GtkWidget *widget, gpointer user_data); static void on_config_changed(GtkWidget *widget, gpointer user_data); static void on_encoder_changed(GtkComboBox *combobox, gpointer user_data); static gint get_active_value_as_int(GtkComboBox *combobox, int column); public: VideoWindow(const char *ui_xml_file, UI_Gtk *ui); virtual ~VideoWindow(void); void ui_set_state(int state); }; #endif /* __ui_gtk_video_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk6.h0000644000175000017500000000203712417262523017321 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk6_h #define __ui_ui_gtk6_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk6 : public UI_Gtk_Base { public: UI_Gtk6(void); virtual ~UI_Gtk6(void); }; #endif /* __ui_ui_gtk6_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk3.h0000644000175000017500000000240012417262523017310 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk3_h #define __ui_ui_gtk3_h #include "ui/gtk/ui_gtk_base.h" #include "ui/generic/scanline.h" #include "ui/generic/memaccess.h" class UI_Gtk3 : public UI_Gtk_Base { private: Scanline _scanline; MemAccess _memaccess; public: UI_Gtk3(void); virtual ~UI_Gtk3(void); virtual Scanline * get_scanline(void); virtual MemAccess * get_mem_access(void); }; #endif /* __ui_ui_gtk3_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk_vcs80.h0000644000175000017500000000210012417262523020245 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk_vcs80_h #define __ui_ui_gtk_vcs80_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk_VCS80 : public UI_Gtk_Base { public: UI_Gtk_VCS80(void); virtual ~UI_Gtk_VCS80(void); }; #endif /* __ui_ui_gtk_vcs80_h */ KCemu-0.5.1/include/ui/gtk/vdip.h0000644000175000017500000000307712417262523016720 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_vdip_h #define __ui_gtk_vdip_h #include #include "kc/system.h" #include "ui/gtk/window.h" class VDIPWindow : public UI_Gtk_Window { private: struct { GtkWidget *vbox; GtkWidget *table; GtkWidget *label[2]; GtkWidget *combo[2]; GtkWidget *browse[2]; GtkWidget *eject[2]; GtkWidget *separator; GtkWidget *close; guint combo_signal_id[2]; } _w; CMD *_cmd_attach; CMD *_cmd_update; CMD *_cmd_window_toggle; protected: void init(void); static void sf_vdip_attach(GtkWidget *widget, gpointer data); public: VDIPWindow(const char *ui_xml_file); virtual ~VDIPWindow(void); virtual void set_name(int idx, const char *name); }; #endif /* __ui_gtk_vdip_h */ KCemu-0.5.1/include/ui/gtk/dirac.h0000644000175000017500000000335512417262523017037 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_dirac_h #define __ui_gtk_dirac_h #include "kc/config.h" #ifdef HAVE_LIBDIRAC #include #include #include "kc/system.h" #include "ui/gtk/videoenc.h" class DiracVideoEncoder : public VideoEncoder { private: typedef struct { int y, u, v; } color_t; private: FILE *_f; color_t _col[256]; byte_t *_buf; byte_t *_image; int _image_size; dirac_encoder_context_t _context; dirac_encoder_t *_encoder; protected: bool encode_loop(void); public: DiracVideoEncoder(void); virtual ~DiracVideoEncoder(void); virtual bool init(const char *filename, int width, int height, int fps_den, double quality); virtual void allocate_color_rgb(int idx, int r, int g, int b); virtual bool encode(byte_t *image, byte_t *dirty); virtual void close(void); }; #endif /* HAVE_LIBDIRAC */ #endif /* __ui_gtk_dirac_h */ KCemu-0.5.1/include/ui/gtk/vnc.h0000644000175000017500000000314212417262523016535 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_vnc_h #define __ui_gtk_vnc_h #include "kc/config.h" #ifdef HAVE_LIBVNCSERVER #include #include #undef max #include "kc/system.h" #include "ui/gtk/videoenc.h" class VncVideoEncoder : public VideoEncoder { private: typedef struct { int r, g, b; } color_t; int _width; int _height; rfbScreenInfoPtr _rfbScreen; private: color_t _col[256]; public: VncVideoEncoder(void); virtual ~VncVideoEncoder(void); virtual bool init(const char *filename, int width, int height, int fps_den, double quality); virtual void allocate_color_rgb(int idx, int r, int g, int b); virtual bool encode(byte_t *image, byte_t *dirty); virtual void close(void); }; #endif /* HAVE_LIBVNCSERVER */ #endif /* __ui_gtk_vnc_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk_kramermc.h0000644000175000017500000000212212417262523021107 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk_kramermc_h #define __ui_ui_gtk_kramermc_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk_KramerMC : public UI_Gtk_Base { public: UI_Gtk_KramerMC(void); virtual ~UI_Gtk_KramerMC(void); }; #endif /* __ui_ui_gtk_kramermc_h */ KCemu-0.5.1/include/ui/gtk/selector.h0000644000175000017500000000675712417262523017606 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_selector_h #define __ui_gtk_selector_h #include "kc/system.h" #include "kc/prefs/profile.h" #include "ui/gtk/window.h" using namespace std; class ProfileSelectorWindow : public UI_Gtk_Window { private: enum { ICONVIEW_PIXBUF_COLUMN, ICONVIEW_TEXT_COLUMN, ICONVIEW_TOOLTIP_COLUMN, ICONVIEW_DATA_COLUMN, ICONVIEW_N_COLUMNS }; enum { TREEVIEW_PIXBUF_COLUMN, TREEVIEW_TEXT_COLUMN, TREEVIEW_COMMENT_COLUMN, TREEVIEW_DATA_COLUMN, TREEVIEW_ALIGN_COLUMN, TREEVIEW_WEIGHT_COLUMN, TREEVIEW_WEIGHT_SET_COLUMN, TREEVIEW_N_COLUMNS }; struct { GtkIconView *iconview; GtkTreeView *treeview; GtkExpander *expander_system_profiles; GtkExpander *expander_user_profiles; GtkButton *button_ok; GtkButton *button_quit; GtkListStore *liststore_iconview; GtkTreeStore *treestore_treeview; } _w; CMD *_cmd; string _selected_profile; int _nr_of_user_profiles; protected: void init(void); GtkListStore * get_iconview_model(void); GtkTreeStore * get_treeview_model(void); void show(void); void close(void); void cancel(void); void select(const char *profile); void select(GtkTreeModel *model, GtkTreePath *path, int column); void iconview_model_add(GtkListStore *store, GdkPixbuf *pixbuf, const char *text, const char *tooltip, const char *profile); void treeview_model_add(GtkTreeStore *store, GdkPixbuf *pixbuf, const char *text, const char *comment, const char *profile, GtkTreeIter *iter, GtkTreeIter *parent); static void on_dialog_ok(GtkWidget *widget, gpointer user_data); static void on_dialog_cancel(GtkWidget *widget, gpointer user_data); static void on_dialog_quit(GtkWidget *widget, gpointer user_data); static void on_edit_button_clicked(GtkButton *button, gpointer user_data); static void on_iconview_selection_changed(GtkIconView *iconview, gpointer user_data); static void on_iconview_item_activated(GtkIconView *iconview, GtkTreePath *path, gpointer user_data); static void on_tree_selection_changed(GtkTreeSelection *selection, gpointer user_data); static void on_tree_row_activated(GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data); static gboolean on_window_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data); public: ProfileSelectorWindow(const char *ui_xml_file); virtual ~ProfileSelectorWindow(void); char * get_selected_profile(void); }; #endif /* __ui_gtk_selector_h */ KCemu-0.5.1/include/ui/gtk/xvid.h0000644000175000017500000000336512417262523016730 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_xvid_h #define __ui_gtk_xvid_h #include "kc/config.h" #ifdef HAVE_LIBXVIDCORE #include #include #include "kc/system.h" #include "ui/gtk/videoenc.h" class XvidVideoEncoder : public VideoEncoder { private: typedef struct { int r, g, b; } color_t; private: FILE *_f; color_t _col[256]; byte_t *_buf; byte_t *_image; double _quality; xvid_gbl_init_t _gbl_init; xvid_enc_create_t _enc_create; xvid_plugin_single_t _plugin_single; xvid_enc_plugin_t _plugins[1]; public: XvidVideoEncoder(void); virtual ~XvidVideoEncoder(void); virtual bool init(const char *filename, int width, int height, int fps_den, double quality); virtual void allocate_color_rgb(int idx, int r, int g, int b); virtual bool encode(byte_t *image, byte_t *dirty); virtual void close(void); }; #endif /* HAVE_LIBXVIDCORE */ #endif /* __ui_gtk_xvid_h */ KCemu-0.5.1/include/ui/gtk/plotter.h0000644000175000017500000000526212417262523017445 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_plotter_h #define __ui_gtk_plotter_h #include #include #include "kc/system.h" #include "ui/gtk/window.h" class PlotterWindow : public UI_Gtk_Window { private: struct { GtkWidget *canvas; GtkWidget *comboboxentry; GtkWidget *open; GtkWidget *close; GtkWidget *next_page; GtkWidget *save_as_png; GtkWidget *line_width; GtkWidget *origin_x; GtkWidget *origin_y; GtkWidget *bg_color; GtkWidget *pen_color; GtkWidget *show_pen; GtkWidget *show_plot_area; GtkWidget *display_refresh; guint timeout_id; } _w; guint _display_refresh; CMD *_cmd_plotter_toggle; protected: static void sf_next_page(GtkWidget *widget, gpointer data); static void sf_open_pdf(GtkWidget *widget, gpointer data); static void sf_close_pdf(GtkWidget *widget, gpointer data); static void sf_save_as_png(GtkWidget *widget, gpointer data); static void sf_bg_color(GtkColorButton *widget, gpointer data); static void sf_pen_color(GtkColorButton *widget, gpointer data); static void sf_line_width(GtkSpinButton *widget, gpointer data); static void sf_origin_x(GtkSpinButton *widget, gpointer data); static void sf_origin_y(GtkSpinButton *widget, gpointer data); static void sf_display_refresh(GtkSpinButton *widget, gpointer data); static void sf_show_pen(GtkToggleButton *widget, gpointer data); static void sf_show_plot_area(GtkToggleButton *widget, gpointer data); static void sf_expose(GtkWidget *widget, GdkEventExpose *event, gpointer data); static gboolean timeout_handler(PlotterWindow *self); void init(void); void init_timeout(void); void expose(GdkEventExpose *event); public: PlotterWindow(const char *ui_xml_file); virtual ~PlotterWindow(void); void toggle(void); void selected(const char *filename); }; #endif /* __ui_gtk_plotter_h */ KCemu-0.5.1/include/ui/gtk/cmds.h0000644000175000017500000000214012417262523016672 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_cmds_h #define __ui_gtk_cmds_h #if 0 #include #include "kc/system.h" #include "cmd/cmd.h" class UI_Cmds { protected: UI_Cmds(void); ~UI_Cmds(void); public: static void init(void); }; #endif #endif /* __ui_gtk_cmds_h */ KCemu-0.5.1/include/ui/gtk/image.h0000644000175000017500000000317712417262523017041 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_image_h #define __ui_gtk_image_h #include #include "kc/system.h" #include "cmd/cmd.h" class CMD_ui_image_props : public CMD { private: CMD_Args *_args; struct { GtkWidget *dialog; GtkWidget *load_addr; GtkWidget *start_addr; } _w; bool _autostart; protected: static void ok(GtkWidget */*widget*/, gpointer data); static void cancel(GtkWidget */*widget*/, gpointer data); static int delete_event(GtkWidget */*widget*/, GdkEvent *event, gpointer data); static void toggle_autostart(GtkWidget *checkbutton, gpointer data); virtual bool check_values(CMD_Args *args); public: CMD_ui_image_props(void); virtual ~CMD_ui_image_props(void); virtual void execute(CMD_Args *args, CMD_Context context); }; #endif /* __ui_gtk_image_h */ KCemu-0.5.1/include/ui/gtk/fbrowse.h0000644000175000017500000000252012417262523017415 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_fbrowse_h #define __ui_gtk_fbrowse_h #include #include "kc/system.h" #include "cmd/cmd.h" class FileBrowser : public CMD { private: CMD_Args *_args; public: FileBrowser(void); virtual ~FileBrowser(void); protected: void init(const char *title, const char *path, bool dironly); static void sf_response(GtkDialog *dialog, gint response_id, gpointer user_data); public: void execute(CMD_Args *args, CMD_Context context); }; #endif /* __ui_gtk_fbrowse_h */ KCemu-0.5.1/include/ui/gtk/savemem.h0000644000175000017500000000717012417262523017411 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_savemem_h #define __ui_gtk_savemem_h #include #include "kc/system.h" #include "ui/gtk/window.h" class SaveMemoryWindow : public UI_Gtk_Window { private: enum { NR_OF_LINES = 4096, }; struct { GtkButton *button_save; GtkButton *button_refresh; GtkToggleButton *toggle_button_jump_to_start; GtkToggleButton *toggle_button_jump_to_end; GtkSpinButton *spin_button_start_hex; GtkSpinButton *spin_button_start_dec; GtkSpinButton *spin_button_end_hex; GtkSpinButton *spin_button_end_dec; GtkSpinButton *spin_button_length_hex; GtkSpinButton *spin_button_length_dec; GtkAdjustment *adjustment_start; GtkAdjustment *adjustment_end; GtkAdjustment *adjustment_length; GtkTextView *text_view; GtkTextBuffer *text_buffer; GtkTextTag *text_tag_bold; GtkTextTag *text_tag_italic; GtkTextTag *text_tag_monospace; gint on_adjustment_start_value_changed_id; gint on_adjustment_end_value_changed_id; gint on_adjustment_length_value_changed_id; } _w; bool line_selected[NR_OF_LINES]; CMD *_cmd_window_toggle; protected: void init(void); void show(void); void refresh(void); void jump_to(int line, gdouble within_margin, gboolean use_align, gdouble yalign); void load_memory(int start_addr, int end_addr); void apply_selection(int start_addr, int end_addr); void remove_selection(int start_line, int end_line); void apply_line_selection(int line, int bytes, int line_offset, int line_offset2, int separator_offset, int chars_per_byte, bool add); void set_length_adjustment(void); void save(const char *filename, int start_addr, int end_addr); void set_adjustment_value_with_blocked_handler(GtkAdjustment *adjustment, gdouble value, gint handler_id); static void on_save(GtkButton *button, gpointer user_data); static void on_refresh(GtkButton *button, gpointer user_data); static void on_jump_to_start(GtkToggleButton *button, gpointer user_data); static void on_jump_to_end(GtkToggleButton *button, gpointer user_data); static void on_populate_popup(GtkTextView *textview, GtkMenu *menu, gpointer user_data); static gboolean on_output(GtkSpinButton *spin_button, gpointer user_data); static gboolean on_input(GtkSpinButton *spin_button, gdouble *new_value, gpointer user_data); static void on_adjustment_start_value_changed(GtkAdjustment *adjustment, gpointer user_data); static void on_adjustment_end_value_changed(GtkAdjustment *adjustment, gpointer user_data); static void on_adjustment_length_value_changed(GtkAdjustment *adjustment, gpointer user_data); public: SaveMemoryWindow(const char *ui_xml_file); virtual ~SaveMemoryWindow(void); }; #endif /* __ui_gtk_savemem_h */ KCemu-0.5.1/include/ui/gtk/wav.h0000644000175000017500000000332412417262523016546 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_wav_h #define __ui_gtk_wav_h #include #include "kc/system.h" #include "ui/gtk/window.h" class WavWindow : public UI_Gtk_Window { private: enum { NUM_POINTS = 8000, WINDOW_WIDTH = 400, WINDOW_HEIGHT = 400, }; struct { GtkWidget *canvas; GtkWidget *comboboxentry; GtkWidget *open; GtkWidget *close; GtkWidget *play; GtkWidget *stop; GtkWidget *record; GdkGC *gc; GtkTooltips *tooltips; } _w; GdkImage *_image; int _image_y; CMD *_cmd_wav_info; CMD *_cmd_wav_toggle; protected: static void sf_expose(GtkWidget *widget, GdkEvent *event, gpointer *data); void init(void); void expose(void); public: WavWindow(const char *ui_xml_file); virtual ~WavWindow(void); void update(int gap); void selected(const char *filename); }; #endif /* __ui_gtk_wav_h */ KCemu-0.5.1/include/ui/gtk/about.h0000644000175000017500000000230412417262523017060 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_about_h #define __ui_gtk_about_h #include #include "kc/system.h" #include "ui/gtk/window.h" class AboutWindow : public UI_Gtk_Window { private: static char APP_NAME[]; CMD *_cmd; protected: void init(void); public: AboutWindow(const char *ui_xml_file); virtual ~AboutWindow(void); }; #endif /* __ui_gtk_about_h */ KCemu-0.5.1/include/ui/gtk/help.h0000644000175000017500000001122612417262523016701 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * Parts of this file are taken from the gtk demos source code provided * as example for programming with GTK - The GIMP Toolkit. * * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_help_h #define __ui_gtk_help_h #include #include "kc/system.h" #include "ui/gtk/window.h" class HelpWindow : public UI_Gtk_Window { private: struct { GtkWidget *text_view; GtkWidget *button_back; GtkWidget *button_next; GtkTextTag *tag_bold; GtkTextTag *tag_italic; GtkTextTag *tag_underline; GtkTextTag *tag_center; GtkTextTag *tag_monospace; GtkTextTag *tag_size[7]; GtkTextBuffer *text_buffer; } _w; GList *_history; GList *_history_ptr; enum { PARSE_FLAGS_DEFAULT = 0, PARSE_FLAGS_BOLD = (1 << 0), PARSE_FLAGS_ITALIC = (1 << 1), PARSE_FLAGS_UNDERLINE = (1 << 2), PARSE_FLAGS_CENTER = (1 << 3), PARSE_FLAGS_MONOSPACE = (1 << 4), }; typedef enum { PARSE_STATE_NONE = 0, PARSE_STATE_TEXT = 1, PARSE_STATE_LINK = 2, } parse_state_t; GtkTextIter iter; GMarkupParser parser; int parse_flags; int text_size; char *link_name; parse_state_t parse_state; GdkCursor *_hand_cursor; GdkCursor *_regular_cursor; gboolean _hovering_over_link; const char *_delayed_help_topic; gboolean _realized; CMD *_cmd; protected: void init(void); void init2(void); void load_text(void); void follow_if_link(GtkWidget *text_view, GtkTextIter *iter); void set_cursor_if_appropriate (GtkTextView *text_view, gint x, gint y); void insert_ref(const char *name); void insert_image(const char *name); void insert_link(const char *text, const char *ref); void insert_text(const char *text, GtkTextTag *tag); void history_next(void); void history_back(void); static gboolean context_help_button_press(GtkWidget *widget, GdkEventButton *bevent, gpointer data); static void sf_button_back(GtkButton *button, gpointer data); static void sf_button_forward(GtkButton *button, gpointer data); static void sf_button_home(GtkButton *button, gpointer data); static void sf_button_index(GtkButton *button, gpointer data); static void sf_button_refresh(GtkButton *button, gpointer data); static gboolean sf_key_press_event(GtkWidget *text_view, GdkEventKey *event, gpointer data); static gboolean sf_visibility_notify_event(GtkWidget *text_view, GdkEventVisibility *event, gpointer data); static gboolean sf_motion_notify_event(GtkWidget *text_view, GdkEventMotion *event, gpointer data); static gboolean sf_event_after(GtkWidget *text_view, GdkEvent *ev, gpointer data); /* * parser callback functions */ static void sf_parser_start_element_handler(GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error); static void sf_parser_end_element_handler(GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error); static void sf_parser_text_handler(GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error); static void sf_parser_passthrough_handler(GMarkupParseContext *context, const gchar *passthrough_text, gsize text_len, gpointer user_data, GError **error); static void sf_parser_error_handler(GMarkupParseContext *context,GError *error, gpointer user_data); static const gchar * get_attribute(const gchar *name, const gchar **attribute_names, const gchar **attribute_values); public: HelpWindow(const char *ui_xml_file); virtual ~HelpWindow(void); gboolean scroll_to(const char *topic, gboolean update_history); static gboolean context_help_idle_start(gpointer widget); }; #endif /* __ui_gtk_help_h */ KCemu-0.5.1/include/ui/gtk/dialog.h0000644000175000017500000000506612417262523017215 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_dialog_h #define __ui_gtk_dialog_h #include #include "kc/system.h" #include "ui/gtk/window.h" #include "cmd/cmd.h" class DialogWindow : public UI_Gtk_Window, public CMD { private: CMD_Args *_args; int _dialog_result; gint _delete_handler_id; struct { GtkWidget *button_ok; GtkWidget *button_cancel; GtkWidget *button_yes; GtkWidget *button_no; GtkWidget *image_info; GtkWidget *image_question; } _w; public: DialogWindow(const char *ui_xml_file); virtual ~DialogWindow(void); protected: void init(void); void init_ok(const char *title, const char *text); void init_yes_no(const char *title, const char *text); void init_yes_no_cancel(const char *title, const char *text); void init_misc(const char *title, const char *text, GCallback callback); void show_buttons(bool button_ok, bool button_cancel, bool button_yes, bool button_no); static void ok(GtkWidget */*widget*/, gpointer data); static void no(GtkWidget */*widget*/, gpointer data); static void yes(GtkWidget */*widget*/, gpointer data); static void cancel(GtkWidget */*widget*/, gpointer data); static int delete_event_ok(GtkWidget *widget, GdkEvent *event, gpointer data); static int delete_event_yes_no(GtkWidget *widget, GdkEvent *event, gpointer data); static int delete_event_yes_no_cancel(GtkWidget *widget, GdkEvent *event, gpointer data); public: void execute(CMD_Args *args, CMD_Context context); void show_dialog_ok(const char *title, const char *text); void show_dialog_yes_no(const char *title, const char *text); void show_dialog_yes_no_cancel(const char *title, const char *text); int get_dialog_result(void); }; #endif /* __ui_gtk_dialog_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk0.h0000644000175000017500000000204212417262523017307 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_ui_gtk0_h #define __ui_ui_gtk0_h #include "ui/gtk/ui_gtk_base.h" class UI_Gtk0 : public UI_Gtk_Base { public: UI_Gtk0(void); virtual ~UI_Gtk0(void); }; #endif /* __ui_ui_gtk0_h */ KCemu-0.5.1/include/ui/gtk/ui_gtk_base.h0000644000175000017500000000415012417262523020223 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_ui_gtk_base_h #define __ui_gtk_ui_gtk_base_h #include #include "kc/system.h" #include "ui/ui.h" #include "ui/generic/ui_base.h" using namespace std; class UI_Color { private: bool _is_bg; bool _is_rgb; int _r, _g, _b; double _hue; public: UI_Color(const UI_Color &c): _is_bg(c._is_bg), _is_rgb(c._is_rgb), _r(c._r), _g(c._g), _b(c._b), _hue(c._hue) {} UI_Color(bool bg, int r, int g, int b) : _is_bg(bg), _is_rgb(true), _r(r), _g(g), _b(b), _hue(0) {} UI_Color(bool bg, double hue) : _is_bg(bg), _is_rgb(false), _r(0), _g(0), _b(0), _hue(hue) {} bool is_bg(void) const { return _is_bg; } bool is_rgb(void) const { return _is_rgb; } int get_red(void) const { return _r; }; int get_green(void) const { return _g; }; int get_blue(void) const { return _b; }; double get_hue(void) const { return _hue; } }; class UI_Gtk_Base { private: UI_Base *_generic_ui; protected: list _colors; public: UI_Gtk_Base(UI_Base *generic_ui); virtual ~UI_Gtk_Base(void); virtual UI_Base * get_generic_ui(void) const; virtual const list & get_colors(void) const; virtual Scanline * get_scanline(void); virtual MemAccess * get_mem_access(void); }; #endif /* __ui_gtk_ui_gtk_base_h */ KCemu-0.5.1/include/ui/gtk/color.h0000644000175000017500000000360712417262523017073 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_color_h #define __ui_gtk_color_h #include #include "kc/system.h" #include "ui/gtk/window.h" class ColorWindow : public UI_Gtk_Window { private: struct { GtkWidget *b_fg_vscale; GtkWidget *b_bg_vscale; GtkWidget *c_fg_vscale; GtkWidget *c_bg_vscale; GtkAdjustment *s_fg_adj; GtkAdjustment *s_bg_adj; GtkAdjustment *v_fg_adj; GtkAdjustment *v_bg_adj; } _w; double _brightness_fg; double _brightness_bg; double _contrast_fg; double _contrast_bg; CMD *_cmd; protected: static void sf_adjustment_changed(GtkAdjustment *adj, double *data); void init(void); GtkAdjustment * init_adjustment(GtkRange* range, double *val_ptr); public: ColorWindow(const char *ui_xml_file); virtual ~ColorWindow(void); virtual double get_brightness_fg() { return _brightness_fg; } virtual double get_brightness_bg() { return _brightness_bg; } virtual double get_contrast_fg() { return _contrast_fg; } virtual double get_contrast_bg() { return _contrast_bg; } }; #endif /* __ui_gtk_color_h */ KCemu-0.5.1/include/ui/gtk/copying.h0000644000175000017500000000264112417262523017422 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_copying_h #define __ui_gtk_copying_h #include #include "kc/system.h" #include "cmd/cmd.h" #include "ui/gtk/window.h" class CopyingWindow : public UI_Gtk_Window { private: struct { GtkWidget *label_license; GtkWidget *label_warranty; GtkWidget *scrolled_window; } _w; CMD *_cmd; PangoFontDescription *_font_desc; protected: void init(void); public: CopyingWindow(const char *ui_xml_file); virtual ~CopyingWindow(void); void scroll_to_copying(void); void scroll_to_warranty(void); }; #endif /* __ui_gtk_copying_h */ KCemu-0.5.1/include/ui/gtk/keyboard.h0000644000175000017500000000504212417262523017550 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_keyboard_h #define __ui_gtk_keyboard_h #include #include "kc/system.h" #include "ui/gtk/window.h" struct _key_struct { const char *key; int key_val; GdkRectangle rect; GdkRegion *region; const char *info; }; class KeyboardWindow : public UI_Gtk_Window { private: struct { GtkWidget *notebook; GtkWidget *eventbox; GtkWidget *canvas; GtkWidget *not_configured_label; GtkWidget *label_info; } _w; GdkPixbuf *_pixbuf_normal; GdkPixbuf *_pixbuf_pressed; gboolean _key_active; gboolean _has_info; gint _delay; struct _key_struct _keys[256]; struct _key_struct *_key_pressed; CMD *_cmd; protected: void init(void); void init_key_regions(void); int get_key_val(const char *key); void draw_key_normal(struct _key_struct *key); void draw_key_pressed(struct _key_struct *key); GdkPixbuf * load_pixmap(const char *keymap_dir, char *filename_buffer); void check_regions(GdkEventMotion *event); static gboolean timeout_callback(gpointer data); static gboolean sf_expose(GtkWidget *widget, GdkEventExpose *event, gpointer data); static gboolean sf_motion_notify(GtkWidget *widget, GdkEventMotion *event, gpointer data); static gboolean sf_button_press(GtkWidget *widget, GdkEventButton *event, gpointer data); static gboolean sf_button_release(GtkWidget *widget, GdkEventButton *event, gpointer data); static gboolean sf_key_press(GtkWidget *widget, GdkEventKey *event, gpointer data); static gboolean sf_key_release(GtkWidget *widget, GdkEventKey *event, gpointer data); public: KeyboardWindow(const char *ui_xml_file); virtual ~KeyboardWindow(void); }; #endif /* __ui_gtk_keyboard_h */ KCemu-0.5.1/include/ui/gtk/schro.h0000644000175000017500000000347212417262523017073 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_schro_h #define __ui_gtk_schro_h #include "kc/config.h" #ifdef HAVE_LIBSCHROEDINGER #include #include #include "kc/system.h" #include "ui/gtk/videoenc.h" class SchroedingerVideoEncoder : public VideoEncoder { private: typedef struct { int y, u, v; } color_t; private: FILE *_f; color_t _col[256]; byte_t *_buf; int _width; int _height; byte_t *_image; int _image_size; SchroEncoder *_encoder; protected: bool encode_loop(void); static void image_free(SchroFrame *frame, void *priv); public: SchroedingerVideoEncoder(void); virtual ~SchroedingerVideoEncoder(void); virtual bool init(const char *filename, int width, int height, int fps_den, double quality); virtual void allocate_color_rgb(int idx, int r, int g, int b); virtual bool encode(byte_t *image, byte_t *dirty); virtual void close(void); }; #endif /* HAVE_LIBSCHROEDINGER */ #endif /* __ui_gtk_schro_h */ KCemu-0.5.1/include/ui/gtk/videoenc.h0000644000175000017500000000340212417262523017542 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_gtk_videoenc_h #define __ui_gtk_videoenc_h #include "kc/system.h" class VideoEncoder { public: enum { VIDEO_ENCODER_STATE_STOP = 0, VIDEO_ENCODER_STATE_RECORD = 1, VIDEO_ENCODER_STATE_PAUSE = 2, }; public: virtual bool init(const char *filename, int width, int height, int fps_den, double quality) = 0; virtual void allocate_color_rgb(int idx, int r, int g, int b) = 0; virtual bool encode(byte_t *image, byte_t *dirty) = 0; virtual void close(void) = 0; }; class DummyVideoEncoder : public VideoEncoder { virtual bool init(const char *filename, int width, int height, int fps_den, double quality) { return false; } virtual void allocate_color_rgb(int idx, int r, int g, int b) {} virtual void allocate_color_hsv(int idx, double h, double s, double v) {} virtual bool encode(byte_t *image, byte_t *dirty) { return true; } virtual void close(void) {} }; #endif /* __ui_gtk_videoenc_h */ KCemu-0.5.1/include/ui/error.h0000644000175000017500000000237512417262523016322 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __ui_error_h #define __ui_error_h #include #include "ui/errorl.h" class Error; class Error { typedef std::list error_list_t; private: static Error *_instance; error_list_t _l; protected: Error(void); ~Error(void) {} public: static Error * instance(void); void info(const char *msg); void addErrorListener(ErrorListener *listener); }; #endif /* __ui_error_h */ KCemu-0.5.1/include/getopt/0000755000175000017500000000000012417262523015676 5ustar glaubitzglaubitzKCemu-0.5.1/include/getopt/Makefile.am0000644000175000017500000000012412417262523017727 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ getopt.h KCemu-0.5.1/include/getopt/getopt.h0000644000175000017500000001075612417262523017362 0ustar glaubitzglaubitz/* Declarations for getopt. Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _GETOPT_H #define _GETOPT_H 1 #ifdef __cplusplus extern "C" { #endif /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ extern char *optarg; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ extern int optind; /* Callers store zero here to inhibit the error message `getopt' prints for unrecognized options. */ extern int opterr; /* Set to an option character which was unrecognized. */ extern int optopt; /* Describe the long-named options requested by the application. The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector of `struct option' terminated by an element containing a name which is zero. The field `has_arg' is: no_argument (or 0) if the option does not take an argument, required_argument (or 1) if the option requires an argument, optional_argument (or 2) if the option takes an optional argument. If the field `flag' is not NULL, it points to a variable that is set to the value given in the field `val' when the option is found, but left unchanged if the option is not found. To have a long-named option do something other than set an `int' to a compiled-in constant, such as set a value from `optarg', set the option's `flag' field to zero and its `val' field to a nonzero value (the equivalent single-letter option character, if there is one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ struct option { #if defined (__STDC__) && __STDC__ const char *name; #else char *name; #endif /* has_arg can't be an enum because some compilers complain about type mismatches in all the code that assumes it is an int. */ int has_arg; int *flag; int val; }; /* Names for the values of the `has_arg' field of `struct option'. */ #define no_argument 0 #define required_argument 1 #define optional_argument 2 #if defined (__STDC__) && __STDC__ #ifdef __GNU_LIBRARY__ /* Many other libraries have conflicting prototypes for getopt, with differences in the consts, in stdlib.h. To avoid compilation errors, only prototype getopt for the GNU C library. */ extern int getopt (int argc, char *const *argv, const char *shortopts); #else /* not __GNU_LIBRARY__ */ extern int getopt (); #endif /* __GNU_LIBRARY__ */ extern int getopt_long (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind); extern int getopt_long_only (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind); /* Internal only. Users should not call this directly. */ extern int _getopt_internal (int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind, int long_only); #else /* not __STDC__ */ extern int getopt (); extern int getopt_long (); extern int getopt_long_only (); extern int _getopt_internal (); #endif /* __STDC__ */ #ifdef __cplusplus } #endif #endif /* _GETOPT_H */ KCemu-0.5.1/include/kc/0000755000175000017500000000000012417262523014771 5ustar glaubitzglaubitzKCemu-0.5.1/include/kc/tape.h0000644000175000017500000001025212417262523016073 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_tape_h #define __kc_tape_h #include #include "kc/system.h" #include "kc/cb.h" #include "cmd/cmd.h" #include "libtape/kct.h" #include "fileio/load.h" typedef enum { TAPE_OK, TAPE_OK_READONLY, TAPE_NOENT, TAPE_ERROR, } tape_error_t; /* * * system clock 1.75 Mhz (KC 85/3, KC 85/4) * * const int BIT_0 = 364; - 2400 Hz * const int BIT_1 = 729; - 1200 Hz * const int BIT_S = 1458; - 600 Hz * * system clock 2.5 Mhz (Z9001, KC 85/1, KC87) * * const int BIT_0 = 520; - 2400 Hz * const int BIT_1 = 1041; - 1200 Hz * const int BIT_S = 2083; - 600 Hz */ class TapeCallback { public: TapeCallback(void) {} virtual ~TapeCallback(void) {} virtual void tape_callback(byte_t val) = 0; }; class Tape : public Callback { public: enum { BLOCK_SIZE = 131, }; private: int BIT_0; int BIT_1; int BIT_S; int _start_block; bool _power; bool _play; bool _record; int _flip_flop; int _sync; int _sync_count; int _bits; int _state; int _block; int _byte_counter; int _init; byte_t _byte; byte_t _crc; byte_t _crc_calculated; byte_t _buf[129]; byte_t _last_val; byte_t _last_block; long _file_size; long _bytes_read; kct_file_type_t _file_type; std::ostream *_os; std::istream *_is; KCTFile _kct_file; TapeCallback *_tape_cb; CMD *_cmd_tape_load; CMD *_cmd_tape_play; CMD *_cmd_tape_attach; CMD *_cmd_tape_export; CMD *_cmd_tape_add_file; protected: void update_tape_list(void); bool check_addr(byte_t *data, long size); bool check_com(byte_t *data, long size); const char *get_filename(byte_t *data); public: Tape(int bit_0, int bit_1, int bit_s, int start_block); virtual ~Tape(void); void power(bool val); void record(void); void play(const char *name, int delay); void stop(void); void seek(int percent); void do_play(int edge); void do_play_bic(int edge); void do_play_z1013(int edge); void do_play_basicode(int edge); void do_stop(void); void tape_signal(void); void tape_signal_bic(long diff); void tape_signal_z1013(long diff); long get_delay(int seconds); virtual void set_tape_callback(TapeCallback *tape_cb); virtual void callback(void *data); virtual tape_error_t attach(const char *filename, bool create = false); virtual tape_error_t detach(void); virtual tape_error_t add(const char *name); virtual tape_error_t add_raw(const char *filename, const char *tape_filename, const char *kc_filename, unsigned short load, unsigned short start, bool autostart); virtual tape_error_t add_file(const char *name, fileio_prop_t *prop, kct_file_type_t type, kct_machine_type_t machine); virtual tape_error_t rename(const char *from, const char *to); virtual tape_error_t remove(const char *name); virtual tape_error_t export_tap(const char *name, const char *filename); virtual tape_error_t export_wav(const char *name, const char *filename); virtual std::istream * read(const char *name, kct_file_props_t *props = NULL); }; #endif /* __kc_tape_h */ KCemu-0.5.1/include/kc/ports.h0000644000175000017500000000517012417262523016314 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ports_h #define __kc_ports_h #include #include "kc/system.h" class PortInterface { public: PortInterface(void) {} virtual ~PortInterface() {} virtual byte_t in(word_t addr) = 0; virtual void out(word_t addr, byte_t val) = 0; }; class NullPort : public PortInterface { private: char *_name; public: NullPort(const char *name); virtual ~NullPort(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; class PortGroup { private: PortInterface *_p; int _prio; bool _active; byte_t _start; word_t _len; char *_name; public: PortGroup(const char *name, PortInterface *p, byte_t start, word_t len, int prio); virtual ~PortGroup(void); virtual int get_prio(void) { return _prio; } virtual byte_t get_start(void) { return _start; } virtual word_t get_len(void) { return _len; } virtual void set_active(bool active) { _active = active; } virtual bool is_active(void) { return _active; } virtual const char * get_name(void) { return _name; } virtual PortInterface * get_port_if(void) { return _p; } }; class Ports { public: enum { NR_PORTS = 256, }; private: typedef std::list port_list_t; port_list_t _port_list[NR_PORTS]; PortInterface *_port_ptr[NR_PORTS]; protected: virtual void reload_prt_ptr(void); public: Ports(void); virtual ~Ports(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); virtual void insert(port_list_t *l, PortGroup *group); virtual PortGroup * register_ports(const char *name, byte_t start, word_t len, PortInterface *p, int prio); virtual void unregister_ports(PortGroup *p); virtual void info(void); }; #endif /* __kc_ports_h */ KCemu-0.5.1/include/kc/ctc.h0000644000175000017500000001020312417262523015707 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc_h #define __kc_ctc_h #include #include "kc/system.h" #include "kc/ic.h" #include "kc/cb.h" #include "kc/ports.h" class CTCCallbackInterface { public: CTCCallbackInterface(void) {} virtual ~CTCCallbackInterface(void) {} virtual void ctc_callback_ZC(int channel) = 0; virtual void ctc_callback_TC(int channel, long tc) = 0; virtual void ctc_callback_start(int channel) = 0; virtual void ctc_callback_stop(int channel) = 0; }; class CTC : public InterfaceCircuit, public PortInterface, public Callback { protected: typedef std::listcb_list_t; typedef cb_list_t::iterator iterator; enum { IRQ = 0x80, IRQ_DISABLED = 0x00, IRQ_ENABLED = 0x80, MODE = 0x40, MODE_TIMER = 0x00, MODE_COUNTER = 0x40, PRESCALER = 0x20, PRESCALER_16 = 0x00, PRESCALER_256 = 0x20, EDGE = 0x10, EDGE_FALLING = 0x00, EDGE_RISING = 0x10, TRIGGER = 0x08, TRIGGER_AUTO = 0x00, TRIGGER_CLOCK = 0x08, CONSTANT = 0x04, CONSTANT_NONE = 0x00, CONSTANT_LOAD = 0x04, RESET = 0x02, RESET_NONE = 0x00, RESET_ACTIVE = 0x02, CONTROL = 0x01, CONTROL_VECTOR = 0x00, CONTROL_WORD = 0x01, }; byte_t _irq_vector; byte_t _control[4]; word_t _value[4]; word_t _timer_value[4]; byte_t _restart[4]; long long _counter[4]; byte_t _irq_pending[4]; byte_t _irq_active[4]; long _irq_valid[4]; cb_list_t *_cb_list[4]; private: void handle_counter_mode(int channel); protected: virtual long long get_counter() = 0; virtual void trigger_irq(int channel) = 0; virtual void add_callback(unsigned long long offset, Callback *cb, void *data) = 0; virtual void try_trigger_irq(int channel); public: CTC(const char *name); virtual ~CTC(void); virtual bool irq_0(void) = 0; virtual bool irq_1(void) = 0; virtual bool irq_2(void) = 0; virtual bool irq_3(void) = 0; virtual long counter_value_0(void) = 0; virtual long counter_value_1(void) = 0; virtual long counter_value_2(void) = 0; virtual long counter_value_3(void) = 0; void info(void); byte_t c_in(byte_t channel); void c_out(byte_t channel, byte_t val); void trigger(byte_t channel); void callback(void *data); byte_t getIRQVector(byte_t channel) { return _irq_vector + 2 * channel; } byte_t getIRQ(byte_t channel) { return (_control[channel] & IRQ) == IRQ_ENABLED; } word_t getTimerValue(byte_t channel) { return _timer_value[channel]; } bool isCounter(byte_t channel) { return ((_control[channel] & MODE) == MODE_COUNTER); } bool isReset(byte_t channel) { return ((_control[channel] & RESET) == RESET_ACTIVE); } /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void); virtual word_t irqack(void); virtual void reset(bool power_on = false); virtual void register_callback(int channel, CTCCallbackInterface *cbi); virtual void run_cb_start(int channel); virtual void run_cb_stop(int channel); virtual void run_cb_tc(int channel, long tc); }; #endif /* __kc_ctc_h */ KCemu-0.5.1/include/kc/kcnet/0000755000175000017500000000000012417262523016075 5ustar glaubitzglaubitzKCemu-0.5.1/include/kc/kcnet/socket.h0000644000175000017500000000325312417262523017541 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kcnet_socket_h #define __kc_kcnet_socket_h #include "kc/kc.h" using namespace std; class SocketData { private: int _len; int _idx; byte_t *_buf; public: SocketData(int len); virtual ~SocketData(void); int length(void); void put_byte(byte_t val); void put_word(word_t val); void put_long(dword_t val); void put_text(const char *text); byte_t * get(void); byte_t get(int idx); void put(int idx, byte_t val); }; class Socket { public: virtual void set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3) = 0; virtual void set_port(word_t port) = 0; virtual bool open(void) = 0; virtual void close(void) = 0; virtual bool is_open(void) = 0; virtual void poll(void) = 0; virtual void send(SocketData *data) = 0; virtual SocketData * receive(void) = 0; }; #endif /* __kc_kcnet_socket_h */ KCemu-0.5.1/include/kc/kcnet/ipraw.h0000644000175000017500000000311312417262523017366 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kcnet_ipraw_h #define __kc_kcnet_ipraw_h #include "kc/kc.h" #include "kc/kcnet/socket.h" using namespace std; class IPRAW : public Socket { private: word_t _port; byte_t _ip0, _ip1, _ip2, _ip3; int _socket; SocketData *_data; SocketData *_send_data; protected: void close_socket(void); word_t checksum(SocketData *data, int offset); public: IPRAW(void); virtual ~IPRAW(void); virtual void set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3); virtual void set_port(word_t port); virtual bool open(void); virtual void close(void); virtual bool is_open(void); virtual void poll(void); virtual void send(SocketData *data); virtual SocketData * receive(void); }; #endif /* __kc_kcnet_ipraw_h */ KCemu-0.5.1/include/kc/kcnet/udp.h0000644000175000017500000000272012417262523017037 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kcnet_udp_h #define __kc_kcnet_udp_h #include "kc/kc.h" #include "kc/kcnet/socket.h" using namespace std; class UDP : public Socket { private: word_t _port; byte_t _ip0, _ip1, _ip2, _ip3; int _socket; SocketData *_send_data; public: UDP(void); virtual ~UDP(void); virtual void set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3); virtual void set_port(word_t port); virtual bool open(void); virtual void close(void); virtual bool is_open(void); virtual void poll(void); virtual void send(SocketData *data); virtual SocketData * receive(void); }; #endif /* __kc_kcnet_udp_h */ KCemu-0.5.1/include/kc/kcnet/tftp.h0000644000175000017500000000403612417262523017226 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kcnet_tftp_h #define __kc_kcnet_tftp_h #include #include "kc/kc.h" #include "kc/kcnet/socket.h" using namespace std; class TFTP : public Socket { private: // opcodes, see RFC 1350 typedef enum { TFTP_RRQ = 1, TFTP_WRQ = 2, TFTP_DATA = 3, TFTP_ACK = 4, TFTP_ERROR = 5, } tftp_opcode_t; // error codes, see RFC 1350 typedef enum { TFTP_ERR_UNDEFINED = 0, TFTP_ERR_FILE_NOT_FOUND = 1, TFTP_ERR_ACCESS_VIOLATION = 2, TFTP_ERR_DISK_FULL = 3, TFTP_ERR_ILLEGAL_OPERATION = 4, TFTP_ERR_UNKNOWN_TRANSFER_ID = 5, TFTP_ERR_FILE_ALREADY_EXISTS = 6, TFTP_ERR_NO_SUCH_USER = 7, } tftp_error_t; private: int _block; string _path; SocketData *_send_data; protected: virtual void init_read(SocketData *data); public: TFTP(void); virtual ~TFTP(void); virtual void set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3); virtual void set_port(word_t port); virtual bool open(void); virtual void close(void); virtual bool is_open(void); virtual void poll(void); virtual void send(SocketData *data); virtual SocketData * receive(void); }; #endif /* __kc_kcnet_tftp_h */ KCemu-0.5.1/include/kc/kcnet/kcnet.h0000644000175000017500000001743412417262523017363 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kcnet_kcnet_h #define __kc_kcnet_kcnet_h #include #include "kc/kc.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/kcnet/socket.h" using namespace std; typedef enum { SOCK_CLOSED = 0x00, SOCK_INIT = 0x13, SOCK_LISTEN = 0x14, SOCK_ESTABLISHED = 0x17, SOCK_CLOSE_WAIT = 0x1c, SOCK_UDP = 0x22, SOCK_IPRAW = 0x32, SOCK_MACRAW = 0x42, SOCK_PPPOE = 0x5f, SOCK_SYNSENT = 0x15, SOCK_SYNRECV = 0x16, SOCK_FIN_WAIT = 0x18, SOCK_CLOSING = 0x1a, SOCK_TIME_WAIT = 0x1b, SOCK_LAST_ACK = 0x1d, SOCK_ARP1 = 0x11, SOCK_ARP2 = 0x21, SOCK_ARP3 = 0x31, } socket_status_t; typedef enum { CMD_WRITE_BYTES = 0, CMD_READ_BYTES = 1, CMD_SET_POINTER = 2, CMD_READ_TIMER = 3, CMD_WRITE_BYTE = 4, CMD_READ_BYTE = 5, CMD_WRITE_IPADDR = 6, CMD_READ_IPADDR = 7, CMD_READ_PORTNO = 8, CMD_READ_SW_VERSION = 9, CMD_READ_HW_VERSION = 10, CMD_READ_LINK = 11, CMD_READ_ID = 12, CMD_READ_ERROR = 13, } kcnet_command_t; typedef enum { IR_SEND_OK = 0x10, IR_TIMEOUT = 0x08, IR_RECV = 0x04, IR_DISCON = 0x02, IR_CON = 0x01, } ir_reg_t; class KCNET; class KCNET_CMD { public: typedef enum { KCNET_CMD_PHASE_ARGS = 1, KCNET_CMD_PHASE_EXECUTE = 2, KCNET_CMD_PHASE_WRITE_DATA = 3, KCNET_CMD_PHASE_READ_DATA = 4, KCNET_CMD_PHASE_FINISHED = 5, } kcnet_cmd_phase_t; private: int _idx; int _args; char *_name; byte_t *_buf; int _result_len; int _result_idx; byte_t *_result_buf; kcnet_cmd_phase_t _phase; protected: KCNET *_kcnet; virtual void execute(void) = 0; const char * get_name(void); kcnet_cmd_phase_t get_phase(void); void set_phase(kcnet_cmd_phase_t phase); public: KCNET_CMD(KCNET *kcnet, const char *name, int args); virtual ~KCNET_CMD(void); virtual void init(void); virtual bool is_active(void); virtual byte_t read(void); virtual void write(byte_t val); virtual byte_t get_data(int idx); virtual byte_t data_read(void); virtual void data_write(byte_t val); virtual void set_result(byte_t val); virtual void set_result(byte_t val1, byte_t val2); virtual void set_result(byte_t *buf, int len); static KCNET_CMD * get_command(KCNET *kcnet, kcnet_command_t command); }; class KCNET_CMD_WRITE_BYTES : public KCNET_CMD { private: int _idx; word_t _counter; protected: void execute(void); public: KCNET_CMD_WRITE_BYTES(KCNET *kcnet); void data_write(byte_t val); }; class KCNET_CMD_READ_BYTES : public KCNET_CMD { private: int _idx; word_t _counter; protected: void execute(void); public: KCNET_CMD_READ_BYTES(KCNET *kcnet); byte_t data_read(void); }; class KCNET_CMD_SET_POINTER : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_SET_POINTER(KCNET *kcnet); }; class KCNET_CMD_READ_TIMER : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_TIMER(KCNET *kcnet); }; class KCNET_CMD_WRITE_BYTE : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_WRITE_BYTE(KCNET *kcnet); }; class KCNET_CMD_READ_BYTE : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_BYTE(KCNET *kcnet); }; class KCNET_CMD_WRITE_IPADDR : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_WRITE_IPADDR(KCNET *kcnet); }; class KCNET_CMD_READ_IPADDR : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_IPADDR(KCNET *kcnet); }; class KCNET_CMD_READ_PORTNO : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_PORTNO(KCNET *kcnet); }; class KCNET_CMD_READ_SW_VERSION : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_SW_VERSION(KCNET *kcnet); }; class KCNET_CMD_READ_HW_VERSION : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_HW_VERSION(KCNET *kcnet); }; class KCNET_CMD_READ_LINK : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_LINK(KCNET *kcnet); }; class KCNET_CMD_READ_ID : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_ID(KCNET *kcnet); }; class KCNET_CMD_READ_ERROR : public KCNET_CMD { protected: void execute(void); public: KCNET_CMD_READ_ERROR(KCNET *kcnet); }; class KCNET : public InterfaceCircuit, public Callback, public PIOCallbackInterface { public: enum { KCNET_SW_VERSION_MAJOR = 1, KCNET_SW_VERSION_MINOR = 2, KCNET_HW_VERSION_MAJOR = 1, KCNET_HW_VERSION_MINOR = 2, NR_OF_SOCKETS = 4, }; enum { ADDR_MR = 0x0000, ADDR_GAR0 = 0x0001, ADDR_GAR1 = 0x0002, ADDR_GAR2 = 0x0003, ADDR_GAR3 = 0x0004, ADDR_SUBR0 = 0x0005, ADDR_SUBR1 = 0x0006, ADDR_SUBR2 = 0x0007, ADDR_SUBR3 = 0x0008, ADDR_SHAR0 = 0x0009, ADDR_SHAR1 = 0x000a, ADDR_SHAR2 = 0x000b, ADDR_SHAR3 = 0x000c, ADDR_SHAR4 = 0x000d, ADDR_SHAR5 = 0x000e, ADDR_SIPR0 = 0x000f, ADDR_SIPR1 = 0x0010, ADDR_SIPR2 = 0x0011, ADDR_SIPR3 = 0x0012, ADDR_IR = 0x0015, ADDR_IMR = 0x0016, ADDR_RTR0 = 0x0017, ADDR_RTR1 = 0x0018, ADDR_RCR = 0x0019, ADDR_RMSR = 0x001a, ADDR_TMSR = 0x001b, ADDR_PATR0 = 0x001c, ADDR_PATR1 = 0x001d, ADDR_PTIMER = 0x0028, ADDR_PMAGIC = 0x0029, ADDR_UIPR0 = 0x002a, ADDR_UIPR1 = 0x002b, ADDR_UIPR2 = 0x002c, ADDR_UIPR3 = 0x002d, ADDR_UPORT0 = 0x002e, ADDR_UPORT1 = 0x002f, }; private: PIO *_pio; byte_t _mem[0x8000]; word_t _mem_ptr; byte_t _status; int _portno; KCNET_CMD *_command; dword_t _ip_addr[8]; Socket *_socket[4]; word_t _recv_ptr[4]; word_t _old_read_ptr[4]; word_t _old_write_ptr[4]; protected: const bool get_ip_address_from_prefs(const char *key, byte_t &ip0, byte_t &ip1, byte_t &ip2, byte_t &ip3) const; public: KCNET(void); virtual ~KCNET(void); virtual void init(bool power_on, bool set_config); virtual byte_t get_status(void); virtual void set_status(byte_t status); virtual byte_t read(void); virtual void write(byte_t byte); virtual word_t get_pointer(void); virtual void set_pointer(word_t ptr); virtual dword_t get_ip_address(unsigned int idx); virtual void set_ip_address(unsigned int idx, dword_t ip_addr); virtual byte_t mem_read(void); virtual byte_t mem_read(word_t addr); virtual void mem_write(byte_t val); virtual void mem_write(word_t addr, byte_t val); virtual const char * mem_info(void); virtual const char * mem_info(word_t addr); virtual void callback(void *data); virtual void register_pio(PIO *pio); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void); virtual word_t irqack(void); virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); }; #endif /* __kc_kcnet_kcnet_h */ KCemu-0.5.1/include/kc/kcnet/Makefile.am0000644000175000017500000000024012417262523020125 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ kcnet.h \ kcnetm.h \ pio_net.h \ socket.h \ ipraw.h \ udp.h \ tcp.h \ tftp.h KCemu-0.5.1/include/kc/kcnet/pio_net.h0000644000175000017500000000236612417262523017712 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kcnet_pio_net_h #define __kc_kcnet_pio_net_h #include "kc/pio.h" #include "kc/tape.h" class PIO_NET : public PIO { protected: virtual void change_A(byte_t changed, byte_t val); virtual void change_B(byte_t changed, byte_t val); public: PIO_NET(void); virtual ~PIO_NET(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_kcnet_pio_net_h */ KCemu-0.5.1/include/kc/kcnet/tcp.h0000644000175000017500000000274112417262523017040 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kcnet_tcp_h #define __kc_kcnet_tcp_h #include "kc/kc.h" #include "kc/kcnet/socket.h" using namespace std; class TCP : public Socket { private: word_t _port; byte_t _ip0, _ip1, _ip2, _ip3; int _socket; bool _is_open; SocketData *_send_data; public: TCP(void); virtual ~TCP(void); virtual void set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3); virtual void set_port(word_t port); virtual bool open(void); virtual void close(void); virtual bool is_open(void); virtual void poll(void); virtual void send(SocketData *data); virtual SocketData * receive(void); }; #endif /* __kc_kcnet_tcp_h */ KCemu-0.5.1/include/kc/kcnet/kcnetm.h0000644000175000017500000000174412417262523017535 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kcnetm_h #define __kc_kcnetm_h #include "kc/kc.h" using namespace std; class KCNET_Memory { }; #endif /* __kc_kcnetm_h */ KCemu-0.5.1/include/kc/pio3.h0000644000175000017500000000252212417262523016015 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio3_h #define __kc_pio3_h #include "kc/pio.h" #include "kc/tape.h" class PIO3 : public PIO, public TapeCallback { protected: virtual byte_t in_A_DATA(void); virtual void change_A(byte_t changed, byte_t val); virtual void change_B(byte_t changed, byte_t val); public: PIO3(void); virtual ~PIO3(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); /* * TapeCallback */ virtual void tape_callback(byte_t val); }; #endif /* __kc_pio3_h */ KCemu-0.5.1/include/kc/fdc_cmd.h0000644000175000017500000001274112417262523016526 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_fdc_cmd_h #define __kc_fdc_cmd_h #include "kc/system.h" class FDC; class SectorDesc; class FDC_CMD { private: enum { MAX_ARGS = 10, MAX_RESULTS = 10, }; FDC *_fdc; int _args; int _results; int _r_idx; int _w_idx; char *_name; SectorDesc *_sect; protected: byte_t _arg[MAX_ARGS]; byte_t _result[MAX_RESULTS]; bool _data_transfer; virtual void execute(void) = 0; virtual void execute_cmd(void); public: FDC_CMD(FDC *fdc, int args, int results, const char *name); virtual ~FDC_CMD(void); virtual const char * get_name(void); virtual FDC * get_fdc(void); virtual void start(byte_t val); virtual bool write_arg(byte_t val); virtual byte_t read_result(void); virtual void finish_cmd(void); virtual byte_t read_byte(void); virtual int get_read_idx(void); virtual void write_byte(byte_t val); virtual int get_write_idx(void); }; class FDC_CMD_INVALID : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_INVALID(FDC *fdc); virtual ~FDC_CMD_INVALID(void); }; /* * 0x02 */ class FDC_CMD_READ_TRACK : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_READ_TRACK(FDC *fdc); virtual ~FDC_CMD_READ_TRACK(void); }; /* * 0x03 */ class FDC_CMD_SPECIFY : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_SPECIFY(FDC *fdc); virtual ~FDC_CMD_SPECIFY(void); }; /* * 0x04 */ class FDC_CMD_SENSE_DRIVE_STATUS : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_SENSE_DRIVE_STATUS(FDC *fdc); virtual ~FDC_CMD_SENSE_DRIVE_STATUS(void); }; /* * 0x05 */ class FDC_CMD_WRITE_DATA : public FDC_CMD { private: int _idx; int _sector_size; int _head, _cylinder, _sector; byte_t *_buf; protected: virtual void execute(void); public: FDC_CMD_WRITE_DATA(FDC *fdc); virtual ~FDC_CMD_WRITE_DATA(void); virtual void write_byte(byte_t val); }; /* * 0x06 */ class FDC_CMD_READ_DATA : public FDC_CMD { private: int _idx; int _size; byte_t *_buf; protected: virtual void execute(void); public: FDC_CMD_READ_DATA(FDC *fdc); virtual ~FDC_CMD_READ_DATA(void); virtual bool fetch_next_sector(void); virtual byte_t read_byte(void); }; /* * 0x07 */ class FDC_CMD_RECALIBRATE : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_RECALIBRATE(FDC *fdc); virtual ~FDC_CMD_RECALIBRATE(void); }; /* * 0x08 */ class FDC_CMD_SENSE_INTERRUPT_STATUS : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_SENSE_INTERRUPT_STATUS(FDC *fdc); virtual ~FDC_CMD_SENSE_INTERRUPT_STATUS(void); }; /* * 0x09 */ class FDC_CMD_WRITE_DELETED_DATA : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_WRITE_DELETED_DATA(FDC *fdc); virtual ~FDC_CMD_WRITE_DELETED_DATA(void); }; /* * 0x0a */ class FDC_CMD_READ_ID : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_READ_ID(FDC *fdc); virtual ~FDC_CMD_READ_ID(void); }; /* * 0x0c */ class FDC_CMD_READ_DELETED_DATA : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_READ_DELETED_DATA(FDC *fdc); virtual ~FDC_CMD_READ_DELETED_DATA(void); }; /* * 0x0d */ class FDC_CMD_FORMAT_A_TRACK : public FDC_CMD { private: int _ridx; int _widx; int _head; int _cylinder; int _sector; int _sector_size; int _bytes_per_sector; int _sectors_per_track; int _cur_sector; int _formatted_sectors; byte_t *_buf; protected: virtual void execute(void); public: FDC_CMD_FORMAT_A_TRACK(FDC *fdc); virtual ~FDC_CMD_FORMAT_A_TRACK(void); virtual byte_t read_byte(void); virtual void write_byte(byte_t val); virtual void format(void); }; /* * 0x0f */ class FDC_CMD_SEEK : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_SEEK(FDC *fdc); virtual ~FDC_CMD_SEEK(void); }; /* * 0x11 */ class FDC_CMD_SCAN_EQUAL : public FDC_CMD { private: int _idx; int _sector_size; int _head, _cylinder, _sector; byte_t *_buf; protected: virtual void execute(void); public: FDC_CMD_SCAN_EQUAL(FDC *fdc); virtual ~FDC_CMD_SCAN_EQUAL(void); virtual void write_byte(byte_t val); }; /* * 0x19 */ class FDC_CMD_SCAN_LOW_OR_EQUAL : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_SCAN_LOW_OR_EQUAL(FDC *fdc); virtual ~FDC_CMD_SCAN_LOW_OR_EQUAL(void); }; /* * 0x1d */ class FDC_CMD_SCAN_HIGH_OR_EQUAL : public FDC_CMD { protected: virtual void execute(void); public: FDC_CMD_SCAN_HIGH_OR_EQUAL(FDC *fdc); virtual ~FDC_CMD_SCAN_HIGH_OR_EQUAL(void); }; #endif /* __kc_fdc_h */ KCemu-0.5.1/include/kc/mod_320k.h0000644000175000017500000000361612417262523016466 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * Copyright (C) 2005 Alexander Schön * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_320k_h #define __kc_mod_320k_h #include "kc/romdi.h" #include "kc/module.h" #include "kc/memory.h" class Module320k : public ModuleInterface, public PortInterface, public InterfaceCircuit, public ROMDIInterface { private: bool _master; byte_t _bank; byte_t *_rom; PortGroup *_portg; MemAreaGroup *_group[5]; protected: void register_memory_bank(byte_t val); void unregister_memory_bank(void); public: Module320k(Module320k &tmpl); Module320k(const char *filename, const char *name); virtual ~Module320k(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); /* * InterfaceCircuit */ virtual void reti(void) {} virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * ROMDIInterface */ void romdi(bool val); }; #endif /* __kc_mod_320k_h */ KCemu-0.5.1/include/kc/mod_ramf.h0000644000175000017500000000337712417262523016740 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_ramf_h #define __kc_mod_ramf_h #include "kc/ports.h" #include "kc/module.h" class ModuleRAMFloppy : public ModuleInterface, public PortInterface { private: byte_t *_ram; PortGroup *_portg; ModuleRAMFloppy *_master; int _addr; int _port; int _disk_a; int _disk_b; protected: void init(void); int allocate_port(void); void release_port(int port); void read_file(const char *filename, long size); public: ModuleRAMFloppy(ModuleRAMFloppy &tmpl); ModuleRAMFloppy(const char *name); virtual ~ModuleRAMFloppy(void); /* * ModuleInterface */ virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); virtual void m_out(word_t addr, byte_t val); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_ramf_h */ KCemu-0.5.1/include/kc/mod_192k.h0000644000175000017500000000404612417262523016473 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_192k_h #define __kc_mod_192k_h #include "kc/module.h" #include "kc/memory.h" class Module192k : public ModuleInterface, public PortInterface { private: byte_t _val; bool _master; byte_t *_ram_D1; /* 32k SRAM 62256 */ byte_t *_rom_D2; /* 64k EPROM 27512 */ byte_t *_rom_D3; /* 32k EPROM 27256 */ byte_t *_ram_D4; /* 32k SRAM 62256 */ byte_t *_rom_D5; /* 8k EPROM 2764 */ byte_t *_ram_D6; /* 8k SRAM 5164 */ PortGroup *_portg; MemAreaGroup *_m_4000; /* 4k RAM (D1) switchable by S1 */ MemAreaGroup *_m_6000; /* 4k RAM (D1) switchable by S2 */ MemAreaGroup *_m_8000; /* 4k RAM (D1) switchable by S3 */ MemAreaGroup *_m_a000; /* 4k RAM (D1) switchable by S4 */ MemAreaGroup *_m_c000[16]; MemAreaGroup *_m_e000[16]; protected: void init(void); public: Module192k(Module192k &tmpl); Module192k(const char *d2, const char *d3, const char *d5, const char *name); virtual ~Module192k(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_192k_h */ KCemu-0.5.1/include/kc/svg.h0000644000175000017500000000263412417262523015746 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_svg_h #define __kc_svg_h #include "kc/system.h" #include "kc/ports.h" class SVG : public PortInterface { private: enum { A = 0, B = 1, C = 2, }; private: byte_t _val_a0; byte_t _val_a1; byte_t _val_a8; byte_t _val_aa; byte_t _val_ab; int _page_info[4]; int _sound_reg[14]; int _sound_val[3]; int _sound_freq[3]; protected: void set_page(int page, int slot); public: SVG(void); virtual ~SVG(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_svg_h */ KCemu-0.5.1/include/kc/basicrun.asm0000644000175000017500000001207312417262523017304 0ustar glaubitzglaubitz; ; based on the kc basic source code ; ; assemble with the asl macro assembler ; (tested with version 1.41r8) ; CPU z80 ;************************************************ ;EXTERNE SPRUNGZIELE RAMST equ 0c0bdh NEW1 equ 0c641h NEW2 equ 0c64fh INITR equ 0c669h CPREG equ 0c689h RUNMOD equ 0c854h CLS equ 0ddd0h ;************************************************ ;VARIABLENVEREINBARUNG CICH: EQU 00 COCH: EQU 01 ICH_: EQU 02 OCH_: EQU 03 ;************************************************ ROMBEG: EQU 0C000H ;INTERPRETERANFANGSADR. RAMBEG: EQU 300H ;RAMANFANGSADR. WSP: EQU RAMBEG PRAM: EQU WSP+257 ;PROGRAMMSPEICHERANFADR. ZFT: EQU 0 ;WSP RAMSH1: INC HL CALL CPREG JR Z,RAMTST LD A,(HL) LD B,A CPL LD (HL),A CP A, (HL) LD (HL),B JR Z,RAMSH1 DEC HL RAMTST: LD DE,-256 LD (MEMSIZ),HL ADD HL,DE LD (STDPTR),HL ; ; Verhindern, daß der Anfang des ; BASIC-Speichers durch NEW1 ; gelöscht wird. Der Pointer SVARPT ; für das Ende des Basic Programmes ; wird durch die Lade-Routine geschrieben. ; XOR A LD (DATFLG),A CALL NEW2 LD HL,(STDPTR) LD DE,65536-PRAM-16 ADD HL,DE LD HL,(EXTGO1+1) LD A,(HL) CP A, 78H JR NZ,RAMSH0 DEFB 3EH RAMSH0: XOR A LD (EXTFLG),A LD SP,INPBUF+6 ;************************************************ ; BASIC Warmstart CALL INITR CALL NEW2 ;LD A,1DH ; keycode für RUN in... ;LD (25H),A ; ...Tastaturpuffer JP RUNMOD KCemu-0.5.1/include/kc/keyb3.h0000644000175000017500000000571712417262523016171 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb3_h #define __kc_keyb3_h #include "kc/kc.h" #include "kc/cb.h" #include "kc/keyboard.h" /* * serial keyboard protocol (U807/ SAB 3011) * * bit 0 = 5.120 ms = 5 * 64 * 16�s * bit 1 = 7.168 ms = 7 * 64 * 16�s * * Tw = 14.336 ms = 14 * 64 * 16�s (time between repeated words) * Tdw = 19.456 ms = 19 * 64 * 16�s (time between double words) * * Every keypress is encoded by sending a double word (2 x 7 bits) * with a delay (Tw) between both words. * If the key remains pressed the the double word is repeated * immedately after the first double word (delay = Tdw) * * The delay before the user visible key repeat is done by the * KC ROM-software! * * Key release is determined by CTC interrupt. The timer is * loaded with a value of 143 (and clock divider = 256) which * gives a timeout (Tto) of about 21 ms. * * KC85/4 runs with 1.75 MHz which gives the following cycle * counts for the delays above: * * 1 cycle is 1/1750000 seconds = 0.0005714 ms = 0.5714 �s * * bit 0 = 5.120 ms => 8960 cycles * bit 1 = 7.168 ms => 12544 cycles * Tw = 14.336 ms => 25088 cycles * Tdw = 19.456 ms => 34048 cycles * Tto = 20.918 ms => 36608 cycles */ class Keyboard3 : public Keyboard { private: int _key; int _lock; int _keysym; int _release; bool _shift; bool _control; int _replay_idx; int _replay_offset; //GString *_replay_text; enum { KEY_CYCLES_BIT_0 = 8960, KEY_CYCLES_BIT_1 = 12544, KEY_CYCLES_T_W = 25088, KEY_CYCLES_T_DW = 34048, KEY_CYCLES_T_TO = 36608, }; CMD *_cmd; protected: void init(void); void sendKey(void); int checkReplay(void); public: Keyboard3(void); virtual ~Keyboard3(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); }; #endif /* __kc_keyb3_h */ KCemu-0.5.1/include/kc/ctc8.h0000644000175000017500000000265212417262523016010 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc8_h #define __kc_ctc8_h #include "kc/system.h" #include "kc/ctc_base.h" class CTC8 : public CTC_Base { private: unsigned long long _last_irq_0; public: CTC8(void); virtual ~CTC8(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; #endif /* __kc_ctc8_h */ KCemu-0.5.1/include/kc/ctc_fdc.h0000644000175000017500000000312112417262523016524 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc_fdc_h #define __kc_ctc_fdc_h #include "kc/system.h" #include "kc/ctc.h" class CTC_FDC : public CTC { private: protected: virtual long long get_counter(); virtual void trigger_irq(int channel); virtual void add_callback(unsigned long long offset, Callback *cb, void *data); public: CTC_FDC(void); virtual ~CTC_FDC(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); void info(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; #endif /* __kc_ctc_fdc_h */ KCemu-0.5.1/include/kc/mod_r16.h0000644000175000017500000000253412417262523016415 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_r16_h #define __kc_mod_r16_h #include "kc/mod_segm.h" class ModuleSegmentedROM16k : public ModuleSegmentedMemory { protected: virtual word_t get_base_address(word_t addr, byte_t val); virtual int get_segment_index(word_t addr, byte_t val); public: ModuleSegmentedROM16k(ModuleSegmentedROM16k &tmpl); ModuleSegmentedROM16k(const char *filename, const char *name, byte_t id); virtual ~ModuleSegmentedROM16k(void); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_r16_h */ KCemu-0.5.1/include/kc/sound3.h0000644000175000017500000000430512417262523016357 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_sound3_h #define __kc_sound3_h #include #include "kc/system.h" #include "kc/pio.h" #include "kc/sound.h" class sndop { public: long long _counter; double _freq; sndop(long long counter, double freq) { //cout << "new sndop(): counter = " << counter << ", freq = " << freq << endl; _counter = counter; _freq = freq; } }; class Sound3 : public Sound, public PIOCallbackInterface, public CTCCallbackInterface { private: typedef std::listsndop_list_t; typedef sndop_list_t::iterator iterator; private: bool _playing; sndop_list_t _sndop_list; sndop *_last_sndop; sndop *_dummy_sndop; protected: void sound_callback(void *userdata, unsigned char *stream, int len); public: Sound3(void); virtual ~Sound3(void); virtual void init(void); virtual void start(void); virtual void stop(void); /* * PIOCallbackInterface functions */ virtual int callback_A_in(void) { return -1; } virtual int callback_B_in(void) { return -1; } virtual void callback_A_out(byte_t val) {} virtual void callback_B_out(byte_t val); /* * CTCCallbackInterface functions */ virtual void ctc_callback_ZC(int channel) {}; virtual void ctc_callback_TC(int channel, long tc); virtual void ctc_callback_start(int channel); virtual void ctc_callback_stop(int channel); }; #endif /* __kc_sound3_h */ KCemu-0.5.1/include/kc/mod_boot.h0000644000175000017500000000303012417262523016740 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_boot_h #define __kc_mod_boot_h #include "kc/mod_rom1.h" #include "kc/memoryif.h" class ModuleBOOT : public ModuleROM1, public MemoryInterface { private: bool _romdi_handling; protected: virtual void set_active(bool active); public: ModuleBOOT(ModuleBOOT &tmpl); ModuleBOOT(const char *filename, const char *name, word_t addr, dword_t size = 0x4000, bool set_romdi = false); virtual ~ModuleBOOT(void); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); /* * MemoryInterface */ byte_t memory_read_byte(word_t addr); void memory_write_byte(word_t addr, byte_t val); }; #endif /* __kc_mod_boot_h */ KCemu-0.5.1/include/kc/keyb0k.h0000644000175000017500000011022212417262523016325 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb0k_h #define __kc_keyb0k_h /* * =============================================================================== * multiplexer * value: 0 1 2 3 4 5 6 7 - (high nibble) * =============================================================================== * shift level 0 * * @ A B C D E F G - 0x1e (1) * H I J K L M N O - 0x1d (2) * P Q R S T U V W - 0x1b (4) * SHIFT1 SHIFT2 SHIFT3 SHIFT4 <-- SPACE --> ENTER - 0x17 (8) * * ------------------------------------------------------------------------------- * shift level 1 * * X Y Z [ \ ] ^ _ - 0x1e (1) * 0 1 2 3 4 5 6 7 - 0x1d (2) * 8 9 : ; < = > ? - 0x1b (4) * SHIFT1 SHIFT2 SHIFT3 SHIFT4 <-- SPACE --> ENTER - 0x17 (8) * * ------------------------------------------------------------------------------- * shift level 2 * * x y z { | } ~ DEL? - 0x1e (1) * SPACE? ! " # $ % & ' - 0x1d (2) * ( ) * + , - . / - 0x1b (4) * SHIFT1 SHIFT2 SHIFT3 SHIFT4 <-- SPACE --> ENTER - 0x17 (8) * * ------------------------------------------------------------------------------- * shift level 3 * * ` a b c d e f g - 0x1e (1) * h i j k l m n o - 0x1d (2) * p q r s t u v w - 0x1b (4) * SHIFT1 SHIFT2 SHIFT3 SHIFT4 <-- SPACE --> ENTER - 0x17 (8) * =============================================================================== */ static unsigned int __keys[] = { /* 0x00 [.] */ 0x0000, /* 0x01 [.] */ 0x0000, /* 0x02 [.] */ 0x0000, /* 0x03 [.] */ 0x0432, /* 0x04 [.] */ 0x0000, /* 0x05 [.] */ 0x0000, /* 0x06 [.] */ 0x0000, /* 0x07 [.] */ 0x0000, /* 0x08 [.] */ 0x0000, /* 0x09 [.] */ 0x0000, /* 0x0a [.] */ 0x0000, /* 0x0b [.] */ 0x0000, /* 0x0c [.] */ 0x0000, /* 0x0d [.] */ 0x0078, /* ENTER */ /* 0x0e [.] */ 0x0000, /* 0x0f [.] */ 0x0000, /* 0x10 [.] */ 0x0000, /* 0x11 [.] */ 0x0000, /* 0x12 [.] */ 0x0000, /* 0x13 [.] */ 0x0000, /* 0x14 [.] */ 0x0000, /* 0x15 [.] */ 0x0000, /* 0x16 [.] */ 0x0000, /* 0x17 [.] */ 0x0000, /* 0x18 [.] */ 0x0000, /* 0x19 [.] */ 0x0000, /* 0x1a [.] */ 0x0000, /* 0x1b [.] */ 0x0000, /* 0x1c [.] */ 0x0000, /* 0x1d [.] */ 0x0000, /* 0x1e [.] */ 0x0000, /* 0x1f [.] */ 0x0000, /* 0x20 [ ] */ 0x0058, /* SPACE */ /* 0x21 [!] */ 0x0212, /* 0x22 ["] */ 0x0222, /* 0x23 [#] */ 0x0232, /* 0x24 [$] */ 0x0242, /* 0x25 [%] */ 0x0252, /* 0x26 [&] */ 0x0262, /* 0x27 ['] */ 0x0272, /* 0x28 [(] */ 0x0204, /* 0x29 [)] */ 0x0214, /* 0x2a [*] */ 0x0224, /* 0x2b [+] */ 0x0234, /* 0x2c [,] */ 0x0244, /* 0x2d [-] */ 0x0254, /* 0x2e [.] */ 0x0264, /* 0x2f [/] */ 0x0274, /* 0x30 [0] */ 0x0102, /* 0x31 [1] */ 0x0112, /* 0x32 [2] */ 0x0122, /* 0x33 [3] */ 0x0132, /* 0x34 [4] */ 0x0142, /* 0x35 [5] */ 0x0152, /* 0x36 [6] */ 0x0162, /* 0x37 [7] */ 0x0172, /* 0x38 [8] */ 0x0104, /* 0x39 [9] */ 0x0114, /* 0x3a [:] */ 0x0124, /* 0x3b [;] */ 0x0134, /* 0x3c [<] */ 0x0144, /* 0x3d [=] */ 0x0154, /* 0x3e [>] */ 0x0164, /* 0x3f [?] */ 0x0174, /* 0x40 [@] */ 0x0001, /* 0x41 [A] */ 0x0311, /* 0x42 [B] */ 0x0321, /* 0x43 [C] */ 0x0331, /* 0x44 [D] */ 0x0341, /* 0x45 [E] */ 0x0351, /* 0x46 [F] */ 0x0361, /* 0x47 [G] */ 0x0371, /* 0x48 [H] */ 0x0302, /* 0x49 [I] */ 0x0312, /* 0x4a [J] */ 0x0322, /* 0x4b [K] */ 0x0332, /* 0x4c [L] */ 0x0342, /* 0x4d [M] */ 0x0352, /* 0x4e [N] */ 0x0362, /* 0x4f [O] */ 0x0372, /* 0x50 [P] */ 0x0304, /* 0x51 [Q] */ 0x0314, /* 0x52 [R] */ 0x0324, /* 0x53 [S] */ 0x0334, /* 0x54 [T] */ 0x0344, /* 0x55 [U] */ 0x0354, /* 0x56 [V] */ 0x0364, /* 0x57 [W] */ 0x0374, /* 0x58 [X] */ 0x0201, /* 0x59 [Y] */ 0x0211, /* 0x5a [Z] */ 0x0221, /* 0x5b [[] */ 0x0131, /* 0x5c [\] */ 0x0141, /* 0x5d []] */ 0x0151, /* 0x5e [^] */ 0x0161, /* 0x5f [_] */ 0x0171, /* 0x60 [`] */ 0x0301, /* 0x61 [a] */ 0x0011, /* 0x62 [b] */ 0x0021, /* 0x63 [c] */ 0x0031, /* 0x64 [d] */ 0x0041, /* 0x65 [e] */ 0x0051, /* 0x66 [f] */ 0x0061, /* 0x67 [g] */ 0x0071, /* 0x68 [h] */ 0x0002, /* 0x69 [i] */ 0x0012, /* 0x6a [j] */ 0x0022, /* 0x6b [k] */ 0x0032, /* 0x6c [l] */ 0x0042, /* 0x6d [m] */ 0x0052, /* 0x6e [n] */ 0x0062, /* 0x6f [o] */ 0x0072, /* 0x70 [p] */ 0x0004, /* 0x71 [q] */ 0x0014, /* 0x72 [r] */ 0x0024, /* 0x73 [s] */ 0x0034, /* 0x74 [t] */ 0x0044, /* 0x75 [u] */ 0x0054, /* 0x76 [v] */ 0x0064, /* 0x77 [w] */ 0x0074, /* 0x78 [x] */ 0x0101, /* 0x79 [y] */ 0x0111, /* 0x7a [z] */ 0x0121, /* 0x7b [{] */ 0x0231, /* 0x7c [|] */ 0x0241, /* 0x7d [}] */ 0x0251, /* 0x7e [~] */ 0x0261, /* 0x7f [.] */ 0x0271, /* 0x80 [.] */ 0x0000, /* 0x81 [.] */ 0x0000, /* 0x82 [.] */ 0x0000, /* 0x83 [.] */ 0x0000, /* 0x84 [.] */ 0x0000, /* 0x85 [.] */ 0x0000, /* 0x86 [.] */ 0x0000, /* 0x87 [.] */ 0x0000, /* 0x88 [.] */ 0x0000, /* 0x89 [.] */ 0x0000, /* 0x8a [.] */ 0x0000, /* 0x8b [.] */ 0x0000, /* 0x8c [.] */ 0x0000, /* 0x8d [.] */ 0x0000, /* 0x8e [.] */ 0x0000, /* 0x8f [.] */ 0x0000, /* 0x90 [.] */ 0x0000, /* 0x91 [.] */ 0x0000, /* 0x92 [.] */ 0x0000, /* 0x93 [.] */ 0x0000, /* 0x94 [.] */ 0x0000, /* 0x95 [.] */ 0x0000, /* 0x96 [.] */ 0x0000, /* 0x97 [.] */ 0x0000, /* 0x98 [.] */ 0x0000, /* 0x99 [.] */ 0x0000, /* 0x9a [.] */ 0x0000, /* 0x9b [.] */ 0x0000, /* 0x9c [.] */ 0x0000, /* 0x9d [.] */ 0x0000, /* 0x9e [.] */ 0x0000, /* 0x9f [.] */ 0x0000, /* 0xa0 [.] */ 0x0000, /* 0xa1 [.] */ 0x0000, /* 0xa2 [.] */ 0x0000, /* 0xa3 [.] */ 0x0000, /* 0xa4 [.] */ 0x0000, /* 0xa5 [.] */ 0x0000, /* 0xa6 [.] */ 0x0000, /* 0xa7 [.] */ 0x0000, /* 0xa8 [.] */ 0x0000, /* 0xa9 [.] */ 0x0000, /* 0xaa [.] */ 0x0000, /* 0xab [.] */ 0x0000, /* 0xac [.] */ 0x0000, /* 0xad [.] */ 0x0000, /* 0xae [.] */ 0x0000, /* 0xaf [.] */ 0x0000, /* 0xb0 [.] */ 0x0000, /* 0xb1 [.] */ 0x0000, /* 0xb2 [.] */ 0x0000, /* 0xb3 [.] */ 0x0000, /* 0xb4 [.] */ 0x0000, /* 0xb5 [.] */ 0x0000, /* 0xb6 [.] */ 0x0000, /* 0xb7 [.] */ 0x0000, /* 0xb8 [.] */ 0x0000, /* 0xb9 [.] */ 0x0000, /* 0xba [.] */ 0x0000, /* 0xbb [.] */ 0x0000, /* 0xbc [.] */ 0x0000, /* 0xbd [.] */ 0x0000, /* 0xbe [.] */ 0x0000, /* 0xbf [.] */ 0x0000, /* 0xc0 [.] */ 0x0000, /* 0xc1 [.] */ 0x0000, /* 0xc2 [.] */ 0x0000, /* 0xc3 [.] */ 0x0000, /* 0xc4 [.] */ 0x0000, /* 0xc5 [.] */ 0x0000, /* 0xc6 [.] */ 0x0000, /* 0xc7 [.] */ 0x0000, /* 0xc8 [.] */ 0x0000, /* 0xc9 [.] */ 0x0000, /* 0xca [.] */ 0x0000, /* 0xcb [.] */ 0x0000, /* 0xcc [.] */ 0x0000, /* 0xcd [.] */ 0x0000, /* 0xce [.] */ 0x0000, /* 0xcf [.] */ 0x0000, /* 0xd0 [.] */ 0x0000, /* 0xd1 [.] */ 0x0000, /* 0xd2 [.] */ 0x0000, /* 0xd3 [.] */ 0x0000, /* 0xd4 [.] */ 0x0000, /* 0xd5 [.] */ 0x0000, /* 0xd6 [.] */ 0x0000, /* 0xd7 [.] */ 0x0000, /* 0xd8 [.] */ 0x0000, /* 0xd9 [.] */ 0x0000, /* 0xda [.] */ 0x0000, /* 0xdb [.] */ 0x0000, /* 0xdc [.] */ 0x0000, /* 0xdd [.] */ 0x0000, /* 0xde [.] */ 0x0000, /* 0xdf [.] */ 0x0000, /* 0xe0 [.] */ 0x0000, /* 0xe1 [.] */ 0x0000, /* 0xe2 [.] */ 0x0000, /* 0xe3 [.] */ 0x0000, /* 0xe4 [.] */ 0x0000, /* 0xe5 [.] */ 0x0000, /* 0xe6 [.] */ 0x0000, /* 0xe7 [.] */ 0x0000, /* 0xe8 [.] */ 0x0000, /* 0xe9 [.] */ 0x0000, /* 0xea [.] */ 0x0000, /* 0xeb [.] */ 0x0000, /* 0xec [.] */ 0x0000, /* 0xed [.] */ 0x0000, /* 0xee [.] */ 0x0000, /* 0xef [.] */ 0x0000, /* 0xf0 [.] */ 0x0000, /* 0xf1 [.] */ 0x0000, /* 0xf2 [.] */ 0x0000, /* 0xf3 [.] */ 0x0000, /* 0xf4 [.] */ 0x0000, /* 0xf5 [.] */ 0x0000, /* 0xf6 [.] */ 0x0000, /* 0xf7 [.] */ 0x0000, /* 0xf8 [.] */ 0x0000, /* 0xf9 [.] */ 0x0000, /* 0xfa [.] */ 0x0000, /* 0xfb [.] */ 0x0000, /* 0xfc [.] */ 0x0000, /* 0xfd [.] */ 0x0000, /* 0xfe [.] */ 0x0000, /* 0xff [.] */ 0x0000, /* 0x100 */ 0x0000, /* 0x101 */ 0x0000, /* 0x102 */ 0x0000, /* 0x103 */ 0x0000, /* 0x104 */ 0x0000, /* 0x105 */ 0x0000, /* 0x106 */ 0x0000, /* 0x107 */ 0x0000, /* 0x108 */ 0x0000, /* 0x109 */ 0x0000, /* 0x10a */ 0x0000, /* 0x10b */ 0x0000, /* 0x10c */ 0x0000, /* 0x10d */ 0x0000, /* 0x10e */ 0x0000, /* 0x10f */ 0x0000, /* 0x110 */ 0x0000, /* SHIFT */ /* 0x111 */ 0x0000, /* CONTROL */ /* 0x112 */ 0x0000, /* ALT */ /* 0x113 */ 0x0000, /* ALT_GR */ /* 0x114 */ 0x0048, /* LEFT */ /* 0x115 */ 0x0068, /* RIGHT */ /* 0x116 */ 0x0424, /* DOWN */ /* 0x117 */ 0x0434, /* UP */ /* 0x118 */ 0x0000, /* HOME */ /* 0x119 */ 0x0000, /* END */ /* 0x11a */ 0x0000, /* DEL */ /* 0x11b */ 0x0000, /* INSERT */ /* 0x11c */ 0x0000, /* 0x11d */ 0x0000, /* 0x11e */ 0x0000, /* PAUSE */ /* 0x11f */ 0x0000, /* 0x120 */ 0x0000, /* COLOR */ /* 0x121 */ 0x0000, /* GRAPHIC */ /* 0x122 */ 0x0000, /* LIST */ /* 0x123 */ 0x0000, /* RUN */ /* 0x124 */ 0x0000, /* STOP */ /* 0x125 */ 0x0000, /* SHIFT LOCK */ /* 0x126 */ 0x0000, /* 0x127 */ 0x0000, /* 0x128 */ 0x0000, /* 0x129 */ 0x0000, /* 0x12a */ 0x0000, /* 0x12b */ 0x0000, /* 0x12c */ 0x0000, /* 0x12d */ 0x0000, /* 0x12e */ 0x0000, /* 0x12f */ 0x0000, }; /* * */ static unsigned int __keys_a2[] = { /* 0x00 [.] */ 0x0000, /* 0x01 [.] */ 0x0000, /* 0x02 [.] */ 0x0000, /* 0x03 [.] */ 0x0000, /* 0x04 [.] */ 0x0000, /* 0x05 [.] */ 0x0000, /* 0x06 [.] */ 0x0000, /* 0x07 [.] */ 0x0000, /* 0x08 [.] */ 0x0000, /* 0x09 [.] */ 0x0000, /* 0x0a [.] */ 0x0000, /* 0x0b [.] */ 0x0000, /* 0x0c [.] */ 0x0000, /* 0x0d [.] */ 0x0017, /* ENTER */ /* 0x0e [.] */ 0x0000, /* 0x0f [.] */ 0x0000, /* 0x10 [.] */ 0x0000, /* 0x11 [.] */ 0x0000, /* 0x12 [.] */ 0x0000, /* 0x13 [.] */ 0x0000, /* 0x14 [.] */ 0x0000, /* 0x15 [.] */ 0x0000, /* 0x16 [.] */ 0x0000, /* 0x17 [.] */ 0x0000, /* 0x18 [.] */ 0x0000, /* 0x19 [.] */ 0x0000, /* 0x1a [.] */ 0x0000, /* 0x1b [.] */ 0x0000, /* 0x1c [.] */ 0x0000, /* 0x1d [.] */ 0x0000, /* 0x1e [.] */ 0x0000, /* 0x1f [.] */ 0x0000, /* 0x20 [ ] */ 0x0047, /* SPACE */ /* 0x21 [!] */ 0x6801, /* 0x22 ["] */ 0x6841, /* 0x23 [#] */ 0x6802, /* 0x24 [$] */ 0x6842, /* 0x25 [%] */ 0x6803, /* 0x26 [&] */ 0x6843, /* 0x27 ['] */ 0x6804, /* 0x28 [(] */ 0x6844, /* 0x29 [)] */ 0x6805, /* 0x2a [*] */ 0x0026, /* 0x2b [+] */ 0x0065, /* 0x2c [,] */ 0x0074, /* 0x2d [-] */ 0x0006, /* 0x2e [.] */ 0x0035, /* 0x2f [/] */ 0x0075, /* 0x30 [0] */ 0x0045, /* 0x31 [1] */ 0x0001, /* 0x32 [2] */ 0x0041, /* 0x33 [3] */ 0x0002, /* 0x34 [4] */ 0x0042, /* 0x35 [5] */ 0x0003, /* 0x36 [6] */ 0x0043, /* 0x37 [7] */ 0x0004, /* 0x38 [8] */ 0x0044, /* 0x39 [9] */ 0x0005, /* 0x3a [:] */ 0x6826, /* 0x3b [;] */ 0x6865, /* 0x3c [<] */ 0x6874, /* 0x3d [=] */ 0x6806, /* 0x3e [>] */ 0x6835, /* 0x3f [?] */ 0x6875, /* 0x40 [@] */ 0x0016, /* 0x41 [A] */ 0x6821, /* 0x42 [B] */ 0x6833, /* 0x43 [C] */ 0x6832, /* 0x44 [D] */ 0x6822, /* 0x45 [E] */ 0x6812, /* 0x46 [F] */ 0x6862, /* 0x47 [G] */ 0x6823, /* 0x48 [H] */ 0x6863, /* 0x49 [I] */ 0x6854, /* 0x4a [J] */ 0x6824, /* 0x4b [K] */ 0x6864, /* 0x4c [L] */ 0x6825, /* 0x4d [M] */ 0x6834, /* 0x4e [N] */ 0x6873, /* 0x4f [O] */ 0x6815, /* 0x50 [P] */ 0x6855, /* 0x51 [Q] */ 0x6811, /* 0x52 [R] */ 0x6852, /* 0x53 [S] */ 0x6861, /* 0x54 [T] */ 0x6813, /* 0x55 [U] */ 0x6814, /* 0x56 [V] */ 0x6872, /* 0x57 [W] */ 0x6851, /* 0x58 [X] */ 0x6871, /* 0x59 [Y] */ 0x6831, /* 0x5a [Z] */ 0x6853, /* 0x5b [[] */ 0x0046, /* 0x5c [\] */ 0x0066, /* 0x5d []] */ 0x0056, /* 0x5e [^] */ 0x0036, /* 0x5f [_] */ 0x0076, /* 0x60 [`] */ 0x6816, /* 0x61 [a] */ 0x0021, /* 0x62 [b] */ 0x0033, /* 0x63 [c] */ 0x0032, /* 0x64 [d] */ 0x0022, /* 0x65 [e] */ 0x0012, /* 0x66 [f] */ 0x0062, /* 0x67 [g] */ 0x0023, /* 0x68 [h] */ 0x0063, /* 0x69 [i] */ 0x0054, /* 0x6a [j] */ 0x0024, /* 0x6b [k] */ 0x0064, /* 0x6c [l] */ 0x0025, /* 0x6d [m] */ 0x0034, /* 0x6e [n] */ 0x0073, /* 0x6f [o] */ 0x0015, /* 0x70 [p] */ 0x0055, /* 0x71 [q] */ 0x0011, /* 0x72 [r] */ 0x0052, /* 0x73 [s] */ 0x0061, /* 0x74 [t] */ 0x0013, /* 0x75 [u] */ 0x0014, /* 0x76 [v] */ 0x0072, /* 0x77 [w] */ 0x0051, /* 0x78 [x] */ 0x0071, /* 0x79 [y] */ 0x0031, /* 0x7a [z] */ 0x0053, /* 0x7b [{] */ 0x6846, /* 0x7c [|] */ 0x6866, /* 0x7d [}] */ 0x6856, /* 0x7e [~] */ 0x6836, /* 0x7f [.] */ 0x0000, /* 0x80 [.] */ 0x0000, /* 0x81 [.] */ 0x0000, /* 0x82 [.] */ 0x0000, /* 0x83 [.] */ 0x0000, /* 0x84 [.] */ 0x0000, /* 0x85 [.] */ 0x0000, /* 0x86 [.] */ 0x0000, /* 0x87 [.] */ 0x0000, /* 0x88 [.] */ 0x0000, /* 0x89 [.] */ 0x0000, /* 0x8a [.] */ 0x0000, /* 0x8b [.] */ 0x0000, /* 0x8c [.] */ 0x0000, /* 0x8d [.] */ 0x0000, /* 0x8e [.] */ 0x0000, /* 0x8f [.] */ 0x0000, /* 0x90 [.] */ 0x0000, /* 0x91 [.] */ 0x0000, /* 0x92 [.] */ 0x0000, /* 0x93 [.] */ 0x0000, /* 0x94 [.] */ 0x0000, /* 0x95 [.] */ 0x0000, /* 0x96 [.] */ 0x0000, /* 0x97 [.] */ 0x0000, /* 0x98 [.] */ 0x0000, /* 0x99 [.] */ 0x0000, /* 0x9a [.] */ 0x0000, /* 0x9b [.] */ 0x0000, /* 0x9c [.] */ 0x0000, /* 0x9d [.] */ 0x0000, /* 0x9e [.] */ 0x0000, /* 0x9f [.] */ 0x0000, /* 0xa0 [.] */ 0x0000, /* 0xa1 [.] */ 0x0000, /* 0xa2 [.] */ 0x0000, /* 0xa3 [.] */ 0x0000, /* 0xa4 [.] */ 0x0000, /* 0xa5 [.] */ 0x0000, /* 0xa6 [.] */ 0x0000, /* 0xa7 [.] */ 0x0000, /* 0xa8 [.] */ 0x0000, /* 0xa9 [.] */ 0x0000, /* 0xaa [.] */ 0x0000, /* 0xab [.] */ 0x0000, /* 0xac [.] */ 0x0000, /* 0xad [.] */ 0x0000, /* 0xae [.] */ 0x0000, /* 0xaf [.] */ 0x0000, /* 0xb0 [.] */ 0x0000, /* 0xb1 [.] */ 0x0000, /* 0xb2 [.] */ 0x0000, /* 0xb3 [.] */ 0x0000, /* 0xb4 [.] */ 0x0000, /* 0xb5 [.] */ 0x0000, /* 0xb6 [.] */ 0x0000, /* 0xb7 [.] */ 0x0000, /* 0xb8 [.] */ 0x0000, /* 0xb9 [.] */ 0x0000, /* 0xba [.] */ 0x0000, /* 0xbb [.] */ 0x0000, /* 0xbc [.] */ 0x0000, /* 0xbd [.] */ 0x0000, /* 0xbe [.] */ 0x0000, /* 0xbf [.] */ 0x0000, /* 0xc0 [.] */ 0x0000, /* 0xc1 [.] */ 0x0000, /* 0xc2 [.] */ 0x0000, /* 0xc3 [.] */ 0x0000, /* 0xc4 [.] */ 0x0000, /* 0xc5 [.] */ 0x0000, /* 0xc6 [.] */ 0x0000, /* 0xc7 [.] */ 0x0000, /* 0xc8 [.] */ 0x0000, /* 0xc9 [.] */ 0x0000, /* 0xca [.] */ 0x0000, /* 0xcb [.] */ 0x0000, /* 0xcc [.] */ 0x0000, /* 0xcd [.] */ 0x0000, /* 0xce [.] */ 0x0000, /* 0xcf [.] */ 0x0000, /* 0xd0 [.] */ 0x0000, /* 0xd1 [.] */ 0x0000, /* 0xd2 [.] */ 0x0000, /* 0xd3 [.] */ 0x0000, /* 0xd4 [.] */ 0x0000, /* 0xd5 [.] */ 0x0000, /* 0xd6 [.] */ 0x0000, /* 0xd7 [.] */ 0x0000, /* 0xd8 [.] */ 0x0000, /* 0xd9 [.] */ 0x0000, /* 0xda [.] */ 0x0000, /* 0xdb [.] */ 0x0000, /* 0xdc [.] */ 0x0000, /* 0xdd [.] */ 0x0000, /* 0xde [.] */ 0x0000, /* 0xdf [.] */ 0x0000, /* 0xe0 [.] */ 0x0000, /* 0xe1 [.] */ 0x0000, /* 0xe2 [.] */ 0x0000, /* 0xe3 [.] */ 0x0000, /* 0xe4 [.] */ 0x0000, /* 0xe5 [.] */ 0x0000, /* 0xe6 [.] */ 0x0000, /* 0xe7 [.] */ 0x0000, /* 0xe8 [.] */ 0x0000, /* 0xe9 [.] */ 0x0000, /* 0xea [.] */ 0x0000, /* 0xeb [.] */ 0x0000, /* 0xec [.] */ 0x0000, /* 0xed [.] */ 0x0000, /* 0xee [.] */ 0x0000, /* 0xef [.] */ 0x0000, /* 0xf0 [.] */ 0x0000, /* 0xf1 [.] */ 0x0000, /* 0xf2 [.] */ 0x0000, /* 0xf3 [.] */ 0x0000, /* 0xf4 [.] */ 0x0000, /* 0xf5 [.] */ 0x0000, /* 0xf6 [.] */ 0x0000, /* 0xf7 [.] */ 0x0000, /* 0xf8 [.] */ 0x0000, /* 0xf9 [.] */ 0x0000, /* 0xfa [.] */ 0x0000, /* 0xfb [.] */ 0x0000, /* 0xfc [.] */ 0x0000, /* 0xfd [.] */ 0x0000, /* 0xfe [.] */ 0x0000, /* 0xff [.] */ 0x0000, /* 0x100 */ 0x0000, /* 0x101 */ 0x000c, /* 0x102 */ 0x001c, /* 0x103 */ 0x002c, /* 0x104 */ 0x003c, /* 0x105 */ 0x004c, /* 0x106 */ 0x005c, /* 0x107 */ 0x006c, /* 0x108 */ 0x007c, /* 0x109 */ 0x008c, /* 0x10a */ 0x009c, /* 0x10b */ 0x00ac, /* 0x10c */ 0x0032, /* */ /* 0x10d */ 0x0000, /* 0x10e */ 0x0000, /* 0x10f */ 0x0000, /* 0x110 */ 0x0068, /* SHIFT */ /* 0x111 */ 0x0057, /* CONTROL */ /* 0x112 */ 0x0000, /* ALT */ /* 0x113 */ 0x0000, /* ALT_GR */ /* 0x114 */ 0x0027, /* LEFT */ /* 0x115 */ 0x0037, /* RIGHT */ /* 0x116 */ 0x0077, /* DOWN */ /* 0x117 */ 0x0067, /* UP */ /* 0x118 */ 0x0000, /* HOME */ /* 0x119 */ 0x0000, /* END */ /* 0x11a */ 0x0000, /* DEL */ /* 0x11b */ 0x0000, /* INSERT */ /* 0x11c */ 0x0000, /* 0x11d */ 0x0000, /* 0x11e */ 0x0000, /* PAUSE */ /* 0x11f */ 0x0000, /* 0x120 */ 0x0000, /* COLOR */ /* 0x121 */ 0x0000, /* GRAPHIC */ /* 0x122 */ 0x0000, /* LIST */ /* 0x123 */ 0x0000, /* RUN */ /* 0x124 */ 0x0000, /* STOP */ /* 0x125 */ 0x0078, /* SHIFT LOCK */ /* 0x126 */ 0x0000, /* 0x127 */ 0x0000, /* 0x128 */ 0x0000, /* 0x129 */ 0x0000, /* 0x12a */ 0x0000, /* 0x12b */ 0x0000, /* 0x12c */ 0x0000, /* 0x12d */ 0x0000, /* 0x12e */ 0x0000, /* 0x12f */ 0x0000, }; /* * Brosig monitor 'Z1013+K7659/2.028 RB' * * ohne Shift: * * 0 1 2 3 4 5 6 7 * +-----------------------------------------------------------------------+ * 0: 1 Q A Y 2 W S X | 1 * 1: 3 E D C 4 R F V | 2 * 2: 5 T G B 6 Z H N | 3 * 3: 7 U J M 8 I K , | 4 * 4: 9 O L . 0 P \(�) - | 5 * 5: ~(�) ](�) [(�) < + # ^ @ | 6 * 6: > ENTER UP LEFT SPACE SHLOCK DOWN RIGHT | 7 * 7: SHIFT CTRL | 8 * 8: DEL TAB MONITOR ESC { } 2MHz | 9 * 9: 4MHz 32/64 ZG-SW CTRL-U CTRL-Y CTRL-R CTRL-P CTRL-C | a * 10: CTRL-F GRAFIK BEEP CTRL-S | b * 11: CTRL-] WIPPE+ WIPPE- | c * * * * mit Shift: * * 0 1 2 3 4 5 6 7 * +-----------------------------------------------------------------------+ * 0: ! q a y " w s x | 1 * 1: @ e d c $ r f v | 2 * 2: % t g b & z h n | 3 * 3: / u j m ( i k ; | 4 * 4: ) o l : = p � _ | 5 * 5: ? } { [ * ' | \ | 6 * 6: ] ENTER UP LEFT SPACE SM-TAST DOWN RIGHT | 7 * 7: SHIFT CTRL | 8 * 8: CTRL-G CTRL-S MONITOR ESC ` JP 100 | 9 * 9: CTRL-O CTRL-X CTRL-Q CTRL-C | a * 10: NEWLINE GRAFIK BEEP | b * 11: CTRL-Y CTRL-X | c */ static unsigned int __keys_rb_k7659[] = { /* 0x00 [.] */ 0x0000, /* 0x01 [.] */ 0x0000, /* CTRL-A */ /* 0x02 [.] */ 0x0000, /* CTRL-B */ /* 0x03 [.] */ 0x007a, /* CTRL-C */ /* 0x04 [.] */ 0x0000, /* CTRL-D */ /* 0x05 [.] */ 0x0000, /* CTRL-E */ /* 0x06 [.] */ 0x000b, /* CTRL-F */ /* 0x07 [.] */ 0x6819, /* CTRL-G */ /* 0x08 [.] */ 0x0000, /* CTRL-H */ /* 0x09 [.] */ 0x0000, /* CTRL-I */ /* 0x0a [.] */ 0x680b, /* CTRL-J, NEWLINE */ /* 0x0b [.] */ 0x0000, /* CTRL-K */ /* 0x0c [.] */ 0x0000, /* CTRL-L */ /* 0x0d [.] */ 0x0017, /* CTRL-M, ENTER */ /* 0x0e [.] */ 0x0000, /* CTRL-N */ /* 0x0f [.] */ 0x683a, /* CTRL-O */ /* 0x10 [.] */ 0x006a, /* CTRL-P */ /* 0x11 [.] */ 0x0000, /* CTRL-Q */ /* 0x12 [.] */ 0x0000, /* CTRL-R */ /* 0x13 [.] */ 0x007b, /* CTRL-S */ /* 0x14 [.] */ 0x0000, /* CTRL-T */ /* 0x15 [.] */ 0x003a, /* CTRL-U */ /* 0x16 [.] */ 0x005a, /* CTRL-V */ /* 0x17 [.] */ 0x0000, /* CTRL-W */ /* 0x18 [.] */ 0x684a, /* CTRL-X */ /* 0x19 [.] */ 0x004a, /* CTRL-Y */ /* 0x1a [.] */ 0x0000, /* CTRL-Z */ /* 0x1b [.] */ 0x0049, /* ESC */ /* 0x1c [.] */ 0x0000, /* 0x1d [.] */ 0x0000, /* 0x1e [.] */ 0x0000, /* 0x1f [.] */ 0x0000, /* 0x20 [ ] */ 0x0047, /* SPACE */ /* 0x21 [!] */ 0x6801, /* 0x22 ["] */ 0x6841, /* 0x23 [#] */ 0x0056, /* 0x24 [$] */ 0x6842, /* 0x25 [%] */ 0x6803, /* 0x26 [&] */ 0x6843, /* 0x27 ['] */ 0x6856, /* 0x28 [(] */ 0x6844, /* 0x29 [)] */ 0x6805, /* 0x2a [*] */ 0x6846, /* 0x2b [+] */ 0x0046, /* 0x2c [,] */ 0x0074, /* 0x2d [-] */ 0x0075, /* 0x2e [.] */ 0x0035, /* 0x2f [/] */ 0x6804, /* 0x30 [0] */ 0x0045, /* 0x31 [1] */ 0x0001, /* 0x32 [2] */ 0x0041, /* 0x33 [3] */ 0x0002, /* 0x34 [4] */ 0x0042, /* 0x35 [5] */ 0x0003, /* 0x36 [6] */ 0x0043, /* 0x37 [7] */ 0x0004, /* 0x38 [8] */ 0x0044, /* 0x39 [9] */ 0x0005, /* 0x3a [:] */ 0x6835, /* 0x3b [;] */ 0x6874, /* 0x3c [<] */ 0x0036, /* 0x3d [=] */ 0x6845, /* 0x3e [>] */ 0x0007, /* 0x3f [?] */ 0x6806, /* 0x40 [@] */ 0x6802, /* 0x41 [A] */ 0x6821, /* 0x42 [B] */ 0x6833, /* 0x43 [C] */ 0x6832, /* 0x44 [D] */ 0x6822, /* 0x45 [E] */ 0x6812, /* 0x46 [F] */ 0x6862, /* 0x47 [G] */ 0x6823, /* 0x48 [H] */ 0x6863, /* 0x49 [I] */ 0x6854, /* 0x4a [J] */ 0x6824, /* 0x4b [K] */ 0x6864, /* 0x4c [L] */ 0x6825, /* 0x4d [M] */ 0x6834, /* 0x4e [N] */ 0x6873, /* 0x4f [O] */ 0x6815, /* 0x50 [P] */ 0x6855, /* 0x51 [Q] */ 0x6811, /* 0x52 [R] */ 0x6852, /* 0x53 [S] */ 0x6861, /* 0x54 [T] */ 0x6813, /* 0x55 [U] */ 0x6814, /* 0x56 [V] */ 0x6872, /* 0x57 [W] */ 0x6851, /* 0x58 [X] */ 0x6871, /* 0x59 [Y] */ 0x6831, /* 0x5a [Z] */ 0x6853, /* 0x5b [[] */ 0x6836, /* 0x5c [\] */ 0x6876, /* 0x5d []] */ 0x6807, /* 0x5e [^] */ 0x0066, /* 0x5f [_] */ 0x6875, /* 0x60 [`] */ 0x6859, /* 0x61 [a] */ 0x0021, /* 0x62 [b] */ 0x0033, /* 0x63 [c] */ 0x0032, /* 0x64 [d] */ 0x0022, /* 0x65 [e] */ 0x0012, /* 0x66 [f] */ 0x0062, /* 0x67 [g] */ 0x0023, /* 0x68 [h] */ 0x0063, /* 0x69 [i] */ 0x0054, /* 0x6a [j] */ 0x0024, /* 0x6b [k] */ 0x0064, /* 0x6c [l] */ 0x0025, /* 0x6d [m] */ 0x0034, /* 0x6e [n] */ 0x0073, /* 0x6f [o] */ 0x0015, /* 0x70 [p] */ 0x0055, /* 0x71 [q] */ 0x0011, /* 0x72 [r] */ 0x0052, /* 0x73 [s] */ 0x0061, /* 0x74 [t] */ 0x0013, /* 0x75 [u] */ 0x0014, /* 0x76 [v] */ 0x0072, /* 0x77 [w] */ 0x0051, /* 0x78 [x] */ 0x0071, /* 0x79 [y] */ 0x0031, /* 0x7a [z] */ 0x0053, /* 0x7b [{] */ 0x6826, /* 0x7c [|] */ 0x6866, /* 0x7d [}] */ 0x6816, /* 0x7e [~] */ 0x0006, /* 0x7f [.] */ 0x0000, /* 0x80 [.] */ 0x0000, /* 0x81 [.] */ 0x0000, /* 0x82 [.] */ 0x0000, /* 0x83 [.] */ 0x0000, /* 0x84 [.] */ 0x0000, /* 0x85 [.] */ 0x0000, /* 0x86 [.] */ 0x0000, /* 0x87 [.] */ 0x0000, /* 0x88 [.] */ 0x0000, /* 0x89 [.] */ 0x0000, /* 0x8a [.] */ 0x0000, /* 0x8b [.] */ 0x0000, /* 0x8c [.] */ 0x0000, /* 0x8d [.] */ 0x0000, /* 0x8e [.] */ 0x0000, /* 0x8f [.] */ 0x0000, /* 0x90 [.] */ 0x0000, /* 0x91 [.] */ 0x0000, /* 0x92 [.] */ 0x0000, /* 0x93 [.] */ 0x0000, /* 0x94 [.] */ 0x0000, /* 0x95 [.] */ 0x0000, /* 0x96 [.] */ 0x0000, /* 0x97 [.] */ 0x0000, /* 0x98 [.] */ 0x0000, /* 0x99 [.] */ 0x0000, /* 0x9a [.] */ 0x0000, /* 0x9b [.] */ 0x0000, /* 0x9c [.] */ 0x0000, /* 0x9d [.] */ 0x0000, /* 0x9e [.] */ 0x0000, /* 0x9f [.] */ 0x0000, /* 0xa0 [.] */ 0x0000, /* 0xa1 [.] */ 0x0000, /* 0xa2 [.] */ 0x0000, /* 0xa3 [.] */ 0x0000, /* 0xa4 [.] */ 0x0000, /* 0xa5 [.] */ 0x0000, /* 0xa6 [.] */ 0x0000, /* 0xa7 [.] */ 0x0000, /* 0xa8 [.] */ 0x0000, /* 0xa9 [.] */ 0x0000, /* 0xaa [.] */ 0x0000, /* 0xab [.] */ 0x0000, /* 0xac [.] */ 0x0000, /* 0xad [.] */ 0x0000, /* 0xae [.] */ 0x0000, /* 0xaf [.] */ 0x0000, /* 0xb0 [.] */ 0x0000, /* 0xb1 [.] */ 0x0000, /* 0xb2 [.] */ 0x0000, /* 0xb3 [.] */ 0x0000, /* 0xb4 [.] */ 0x0000, /* 0xb5 [.] */ 0x0000, /* 0xb6 [.] */ 0x0000, /* 0xb7 [.] */ 0x0000, /* 0xb8 [.] */ 0x0000, /* 0xb9 [.] */ 0x0000, /* 0xba [.] */ 0x0000, /* 0xbb [.] */ 0x0000, /* 0xbc [.] */ 0x0000, /* 0xbd [.] */ 0x0000, /* 0xbe [.] */ 0x0000, /* 0xbf [.] */ 0x0000, /* 0xc0 [.] */ 0x0000, /* 0xc1 [.] */ 0x0000, /* 0xc2 [.] */ 0x0000, /* 0xc3 [.] */ 0x0000, /* 0xc4 [.] */ 0x0000, /* 0xc5 [.] */ 0x0000, /* 0xc6 [.] */ 0x0000, /* 0xc7 [.] */ 0x0000, /* 0xc8 [.] */ 0x0000, /* 0xc9 [.] */ 0x0000, /* 0xca [.] */ 0x0000, /* 0xcb [.] */ 0x0000, /* 0xcc [.] */ 0x0000, /* 0xcd [.] */ 0x0000, /* 0xce [.] */ 0x0000, /* 0xcf [.] */ 0x0000, /* 0xd0 [.] */ 0x0000, /* 0xd1 [.] */ 0x0000, /* 0xd2 [.] */ 0x0000, /* 0xd3 [.] */ 0x0000, /* 0xd4 [.] */ 0x0000, /* 0xd5 [.] */ 0x0000, /* 0xd6 [.] */ 0x0000, /* 0xd7 [.] */ 0x0000, /* 0xd8 [.] */ 0x0000, /* 0xd9 [.] */ 0x0000, /* 0xda [.] */ 0x0000, /* 0xdb [.] */ 0x0000, /* 0xdc [.] */ 0x0000, /* 0xdd [.] */ 0x0000, /* 0xde [.] */ 0x0000, /* 0xdf [.] */ 0x0000, /* 0xe0 [.] */ 0x0000, /* 0xe1 [.] */ 0x0000, /* 0xe2 [.] */ 0x0000, /* 0xe3 [.] */ 0x0000, /* 0xe4 [.] */ 0x0000, /* 0xe5 [.] */ 0x0000, /* 0xe6 [.] */ 0x0000, /* 0xe7 [.] */ 0x0000, /* 0xe8 [.] */ 0x0000, /* 0xe9 [.] */ 0x0000, /* 0xea [.] */ 0x0000, /* 0xeb [.] */ 0x0000, /* 0xec [.] */ 0x0000, /* 0xed [.] */ 0x0000, /* 0xee [.] */ 0x0000, /* 0xef [.] */ 0x0000, /* 0xf0 [.] */ 0x0000, /* 0xf1 [.] */ 0x0000, /* 0xf2 [.] */ 0x0000, /* 0xf3 [.] */ 0x0000, /* 0xf4 [.] */ 0x0000, /* 0xf5 [.] */ 0x0000, /* 0xf6 [.] */ 0x0000, /* 0xf7 [.] */ 0x0000, /* 0xf8 [.] */ 0x0000, /* 0xf9 [.] */ 0x0000, /* 0xfa [.] */ 0x0000, /* 0xfb [.] */ 0x0000, /* 0xfc [.] */ 0x0000, /* 0xfd [.] */ 0x0000, /* 0xfe [.] */ 0x0000, /* 0xff [.] */ 0x0000, /* 0x100 */ 0x0000, /* 0x101 */ 0x0000, /* 0x102 */ 0x0000, /* 0x103 */ 0x0000, /* 0x104 */ 0x0000, /* 0x105 */ 0x0000, /* 0x106 */ 0x0000, /* 0x107 */ 0x0000, /* 0x108 */ 0x0000, /* 0x109 */ 0x0000, /* 0x10a */ 0x0000, /* 0x10b */ 0x0000, /* 0x10c */ 0x007a, /* 0x10d */ 0x0000, /* 0x10e */ 0x0000, /* 0x10f */ 0x0000, /* 0x110 */ 0x0081, /* SHIFT */ /* 0x111 */ 0x0000, /* CONTROL */ /* 0x112 */ 0x0000, /* ALT */ /* 0x113 */ 0x0000, /* ALT_GR */ /* 0x114 */ 0x0037, /* LEFT */ /* 0x115 */ 0x0077, /* RIGHT */ /* 0x116 */ 0x0067, /* DOWN */ /* 0x117 */ 0x0027, /* UP */ /* 0x118 */ 0x0000, /* HOME */ /* 0x119 */ 0x0000, /* END */ /* 0x11a */ 0x0000, /* DEL */ /* 0x11b */ 0x0000, /* INSERT */ /* 0x11c */ 0x0000, /* 0x11d */ 0x0000, /* 0x11e */ 0x0000, /* PAUSE */ /* 0x11f */ 0x0000, /* 0x120 */ 0x0000, /* COLOR */ /* 0x121 */ 0x0000, /* GRAPHIC */ /* 0x122 */ 0x0000, /* LIST */ /* 0x123 */ 0x0000, /* RUN */ /* 0x124 */ 0x0000, /* STOP */ /* 0x125 */ 0x0057, /* SHIFT LOCK */ /* 0x126 */ 0x0000, /* 0x127 */ 0x0000, /* 0x128 */ 0x0000, /* 0x129 */ 0x0000, /* 0x12a */ 0x0000, /* 0x12b */ 0x0000, /* 0x12c */ 0x0000, /* 0x12d */ 0x0000, /* 0x12e */ 0x0000, /* 0x12f */ 0x0000, }; #if 0 static unsigned int __keys_rb_k7669[] = { /* 0x00 [.] */ 0x0000, /* 0x01 [.] */ 0x0000, /* 0x02 [.] */ 0x0000, /* 0x03 [.] */ 0x0000, /* 0x04 [.] */ 0x0000, /* 0x05 [.] */ 0x0000, /* 0x06 [.] */ 0x0000, /* 0x07 [.] */ 0x0000, /* 0x08 [.] */ 0x0000, /* 0x09 [.] */ 0x0000, /* 0x0a [.] */ 0x0000, /* 0x0b [.] */ 0x0000, /* 0x0c [.] */ 0x0000, /* 0x0d [.] */ 0x0017, /* ENTER */ /* 0x0e [.] */ 0x0000, /* 0x0f [.] */ 0x0000, /* 0x10 [.] */ 0x0000, /* 0x11 [.] */ 0x0000, /* 0x12 [.] */ 0x0000, /* 0x13 [.] */ 0x0000, /* 0x14 [.] */ 0x0000, /* 0x15 [.] */ 0x0000, /* 0x16 [.] */ 0x0000, /* 0x17 [.] */ 0x0000, /* 0x18 [.] */ 0x0000, /* 0x19 [.] */ 0x0000, /* 0x1a [.] */ 0x0000, /* 0x1b [.] */ 0x0000, /* 0x1c [.] */ 0x0000, /* 0x1d [.] */ 0x0000, /* 0x1e [.] */ 0x0000, /* 0x1f [.] */ 0x0000, /* 0x20 [ ] */ 0x0047, /* SPACE */ /* 0x21 [!] */ 0x0000, /* 0x22 ["] */ 0x0000, /* 0x23 [#] */ 0x0000, /* 0x24 [$] */ 0x0000, /* 0x25 [%] */ 0x0000, /* 0x26 [&] */ 0x0000, /* 0x27 ['] */ 0x0000, /* 0x28 [(] */ 0x0000, /* 0x29 [)] */ 0x0000, /* 0x2a [*] */ 0x0000, /* 0x2b [+] */ 0x0000, /* 0x2c [,] */ 0x0000, /* 0x2d [-] */ 0x0000, /* 0x2e [.] */ 0x0000, /* 0x2f [/] */ 0x0000, /* 0x30 [0] */ 0x0045, /* 0x31 [1] */ 0x0001, /* 0x32 [2] */ 0x0041, /* 0x33 [3] */ 0x0002, /* 0x34 [4] */ 0x0042, /* 0x35 [5] */ 0x0003, /* 0x36 [6] */ 0x0043, /* 0x37 [7] */ 0x0004, /* 0x38 [8] */ 0x0044, /* 0x39 [9] */ 0x0005, /* 0x3a [:] */ 0x0065, /* 0x3b [;] */ 0x0075, /* 0x3c [<] */ 0x0000, /* 0x3d [=] */ 0x0000, /* 0x3e [>] */ 0x0000, /* 0x3f [?] */ 0x0000, /* 0x40 [@] */ 0x0000, /* 0x41 [A] */ 0x0000, /* 0x42 [B] */ 0x0000, /* 0x43 [C] */ 0x0000, /* 0x44 [D] */ 0x0000, /* 0x45 [E] */ 0x0000, /* 0x46 [F] */ 0x0000, /* 0x47 [G] */ 0x0000, /* 0x48 [H] */ 0x0000, /* 0x49 [I] */ 0x0000, /* 0x4a [J] */ 0x0000, /* 0x4b [K] */ 0x0000, /* 0x4c [L] */ 0x0000, /* 0x4d [M] */ 0x0000, /* 0x4e [N] */ 0x0000, /* 0x4f [O] */ 0x0000, /* 0x50 [P] */ 0x0000, /* 0x51 [Q] */ 0x0000, /* 0x52 [R] */ 0x0000, /* 0x53 [S] */ 0x0000, /* 0x54 [T] */ 0x0000, /* 0x55 [U] */ 0x0000, /* 0x56 [V] */ 0x0000, /* 0x57 [W] */ 0x0000, /* 0x58 [X] */ 0x0000, /* 0x59 [Y] */ 0x0000, /* 0x5a [Z] */ 0x0000, /* 0x5b [[] */ 0x0000, /* 0x5c [\] */ 0x0000, /* 0x5d []] */ 0x0000, /* 0x5e [^] */ 0x0000, /* 0x5f [_] */ 0x0000, /* 0x60 [`] */ 0x0000, /* 0x61 [a] */ 0x0021, /* 0x62 [b] */ 0x0033, /* 0x63 [c] */ 0x0032, /* 0x64 [d] */ 0x0022, /* 0x65 [e] */ 0x0012, /* 0x66 [f] */ 0x0062, /* 0x67 [g] */ 0x0023, /* 0x68 [h] */ 0x0063, /* 0x69 [i] */ 0x0054, /* 0x6a [j] */ 0x0024, /* 0x6b [k] */ 0x0064, /* 0x6c [l] */ 0x0025, /* 0x6d [m] */ 0x0034, /* 0x6e [n] */ 0x0073, /* 0x6f [o] */ 0x0015, /* 0x70 [p] */ 0x0055, /* 0x71 [q] */ 0x0011, /* 0x72 [r] */ 0x0052, /* 0x73 [s] */ 0x0061, /* 0x74 [t] */ 0x0013, /* 0x75 [u] */ 0x0014, /* 0x76 [v] */ 0x0072, /* 0x77 [w] */ 0x0051, /* 0x78 [x] */ 0x0071, /* 0x79 [y] */ 0x0031, /* 0x7a [z] */ 0x0053, /* 0x7b [{] */ 0x0000, /* 0x7c [|] */ 0x0000, /* 0x7d [}] */ 0x0000, /* 0x7e [~] */ 0x0000, /* 0x7f [.] */ 0x0000, /* 0x80 [.] */ 0x0000, /* 0x81 [.] */ 0x0000, /* 0x82 [.] */ 0x0000, /* 0x83 [.] */ 0x0000, /* 0x84 [.] */ 0x0000, /* 0x85 [.] */ 0x0000, /* 0x86 [.] */ 0x0000, /* 0x87 [.] */ 0x0000, /* 0x88 [.] */ 0x0000, /* 0x89 [.] */ 0x0000, /* 0x8a [.] */ 0x0000, /* 0x8b [.] */ 0x0000, /* 0x8c [.] */ 0x0000, /* 0x8d [.] */ 0x0000, /* 0x8e [.] */ 0x0000, /* 0x8f [.] */ 0x0000, /* 0x90 [.] */ 0x0000, /* 0x91 [.] */ 0x0000, /* 0x92 [.] */ 0x0000, /* 0x93 [.] */ 0x0000, /* 0x94 [.] */ 0x0000, /* 0x95 [.] */ 0x0000, /* 0x96 [.] */ 0x0000, /* 0x97 [.] */ 0x0000, /* 0x98 [.] */ 0x0000, /* 0x99 [.] */ 0x0000, /* 0x9a [.] */ 0x0000, /* 0x9b [.] */ 0x0000, /* 0x9c [.] */ 0x0000, /* 0x9d [.] */ 0x0000, /* 0x9e [.] */ 0x0000, /* 0x9f [.] */ 0x0000, /* 0xa0 [.] */ 0x0000, /* 0xa1 [.] */ 0x0000, /* 0xa2 [.] */ 0x0000, /* 0xa3 [.] */ 0x0000, /* 0xa4 [.] */ 0x0000, /* 0xa5 [.] */ 0x0000, /* 0xa6 [.] */ 0x0000, /* 0xa7 [.] */ 0x0000, /* 0xa8 [.] */ 0x0000, /* 0xa9 [.] */ 0x0000, /* 0xaa [.] */ 0x0000, /* 0xab [.] */ 0x0000, /* 0xac [.] */ 0x0000, /* 0xad [.] */ 0x0000, /* 0xae [.] */ 0x0000, /* 0xaf [.] */ 0x0000, /* 0xb0 [.] */ 0x0000, /* 0xb1 [.] */ 0x0000, /* 0xb2 [.] */ 0x0000, /* 0xb3 [.] */ 0x0000, /* 0xb4 [.] */ 0x0000, /* 0xb5 [.] */ 0x0000, /* 0xb6 [.] */ 0x0000, /* 0xb7 [.] */ 0x0000, /* 0xb8 [.] */ 0x0000, /* 0xb9 [.] */ 0x0000, /* 0xba [.] */ 0x0000, /* 0xbb [.] */ 0x0000, /* 0xbc [.] */ 0x0000, /* 0xbd [.] */ 0x0000, /* 0xbe [.] */ 0x0000, /* 0xbf [.] */ 0x0000, /* 0xc0 [.] */ 0x0000, /* 0xc1 [.] */ 0x0000, /* 0xc2 [.] */ 0x0000, /* 0xc3 [.] */ 0x0000, /* 0xc4 [.] */ 0x0000, /* 0xc5 [.] */ 0x0000, /* 0xc6 [.] */ 0x0000, /* 0xc7 [.] */ 0x0000, /* 0xc8 [.] */ 0x0000, /* 0xc9 [.] */ 0x0000, /* 0xca [.] */ 0x0000, /* 0xcb [.] */ 0x0000, /* 0xcc [.] */ 0x0000, /* 0xcd [.] */ 0x0000, /* 0xce [.] */ 0x0000, /* 0xcf [.] */ 0x0000, /* 0xd0 [.] */ 0x0000, /* 0xd1 [.] */ 0x0000, /* 0xd2 [.] */ 0x0000, /* 0xd3 [.] */ 0x0000, /* 0xd4 [.] */ 0x0000, /* 0xd5 [.] */ 0x0000, /* 0xd6 [.] */ 0x0000, /* 0xd7 [.] */ 0x0000, /* 0xd8 [.] */ 0x0000, /* 0xd9 [.] */ 0x0000, /* 0xda [.] */ 0x0000, /* 0xdb [.] */ 0x0000, /* 0xdc [.] */ 0x0000, /* 0xdd [.] */ 0x0000, /* 0xde [.] */ 0x0000, /* 0xdf [.] */ 0x0000, /* 0xe0 [.] */ 0x0000, /* 0xe1 [.] */ 0x0000, /* 0xe2 [.] */ 0x0000, /* 0xe3 [.] */ 0x0000, /* 0xe4 [.] */ 0x0000, /* 0xe5 [.] */ 0x0000, /* 0xe6 [.] */ 0x0000, /* 0xe7 [.] */ 0x0000, /* 0xe8 [.] */ 0x0000, /* 0xe9 [.] */ 0x0000, /* 0xea [.] */ 0x0000, /* 0xeb [.] */ 0x0000, /* 0xec [.] */ 0x0000, /* 0xed [.] */ 0x0000, /* 0xee [.] */ 0x0000, /* 0xef [.] */ 0x0000, /* 0xf0 [.] */ 0x0000, /* 0xf1 [.] */ 0x0000, /* 0xf2 [.] */ 0x0000, /* 0xf3 [.] */ 0x0000, /* 0xf4 [.] */ 0x0000, /* 0xf5 [.] */ 0x0000, /* 0xf6 [.] */ 0x0000, /* 0xf7 [.] */ 0x0000, /* 0xf8 [.] */ 0x0000, /* 0xf9 [.] */ 0x0000, /* 0xfa [.] */ 0x0000, /* 0xfb [.] */ 0x0000, /* 0xfc [.] */ 0x0000, /* 0xfd [.] */ 0x0000, /* 0xfe [.] */ 0x0000, /* 0xff [.] */ 0x0000, /* 0x100 */ 0x0000, /* 0x101 */ 0x0079, /* 0x102 */ 0x000a, /* 0x103 */ 0x001a, /* 0x104 */ 0x0000, /* 0x105 */ 0x0000, /* 0x106 */ 0x0000, /* 0x107 */ 0x0000, /* 0x108 */ 0x0000, /* 0x109 */ 0x0000, /* 0x10a */ 0x0000, /* 0x10b */ 0x0000, /* 0x10c */ 0x0000, /* 0x10d */ 0x0000, /* 0x10e */ 0x0000, /* 0x10f */ 0x0000, /* 0x110 */ 0x0081, /* SHIFT */ /* 0x111 */ 0x0000, /* CONTROL */ /* 0x112 */ 0x0000, /* ALT */ /* 0x113 */ 0x0000, /* ALT_GR */ /* 0x114 */ 0x0037, /* LEFT */ /* 0x115 */ 0x0077, /* RIGHT */ /* 0x116 */ 0x0067, /* DOWN */ /* 0x117 */ 0x0027, /* UP */ /* 0x118 */ 0x0000, /* HOME */ /* 0x119 */ 0x0000, /* END */ /* 0x11a */ 0x0000, /* DEL */ /* 0x11b */ 0x0000, /* INSERT */ /* 0x11c */ 0x0000, /* 0x11d */ 0x0000, /* 0x11e */ 0x0000, /* PAUSE */ /* 0x11f */ 0x0000, /* 0x120 */ 0x0000, /* COLOR */ /* 0x121 */ 0x0000, /* GRAPHIC */ /* 0x122 */ 0x0000, /* LIST */ /* 0x123 */ 0x0000, /* RUN */ /* 0x124 */ 0x0000, /* STOP */ /* 0x125 */ 0x0057, /* SHIFT LOCK */ /* 0x126 */ 0x0000, /* 0x127 */ 0x0000, /* 0x128 */ 0x0000, /* 0x129 */ 0x0000, /* 0x12a */ 0x0000, /* 0x12b */ 0x0000, /* 0x12c */ 0x0000, /* 0x12d */ 0x0000, /* 0x12e */ 0x0000, /* 0x12f */ 0x0000, }; #endif #endif /* __kc_keyb0k_h */ KCemu-0.5.1/include/kc/mod_r64.h0000644000175000017500000000302412417262523016413 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_r64_h #define __kc_mod_r64_h #include "kc/module.h" #include "kc/memory.h" class ModuleRAM64 : public ModuleInterface, public PortInterface { private: byte_t *_ram[4]; MemAreaGroup *_group[4]; PortGroup *_portg; public: ModuleRAM64(ModuleRAM64 &tmpl); ModuleRAM64(const char *name); virtual ~ModuleRAM64(void); /* * ModuleInterface */ virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); virtual void m_out(word_t addr, byte_t val); virtual void in_out(word_t addr); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_r64_h */ KCemu-0.5.1/include/kc/muglerpc/0000755000175000017500000000000012417262523016607 5ustar glaubitzglaubitzKCemu-0.5.1/include/kc/muglerpc/ports.h0000644000175000017500000000237512417262523020136 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_muglerpc_ports_h #define __kc_muglerpc_ports_h #include "kc/ports.h" class PortsMuglerPC : public PortInterface { public: protected: byte_t _val_0x94; protected: virtual void change_0x94(byte_t changed, byte_t val); public: PortsMuglerPC(void); virtual ~PortsMuglerPC(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_muglerpc_ports_h */ KCemu-0.5.1/include/kc/muglerpc/ctc.h0000644000175000017500000000361412417262523017535 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_muglerpc_ctc_h #define __kc_muglerpc_ctc_h #include "kc/system.h" #include "kc/ctc_base.h" class CTCMuglerPCSystem : public CTC_Base { public: CTCMuglerPCSystem(void); virtual ~CTCMuglerPCSystem(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; class CTCMuglerPCUser : public CTC_Base { public: CTCMuglerPCUser(void); virtual ~CTCMuglerPCUser(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; #endif /* __kc_muglerpc_ctc_h */ KCemu-0.5.1/include/kc/muglerpc/pio.h0000644000175000017500000000275512417262523017560 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_muglerpc_pio_h #define __kc_muglerpc_pio_h #include "kc/pio.h" #include "kc/ports.h" class PIOMuglerPCSystem : public PIO { public: PIOMuglerPCSystem(void); virtual ~PIOMuglerPCSystem(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; class PIOMuglerPCUser : public PIO { public: PIOMuglerPCUser(void); virtual ~PIOMuglerPCUser(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; #endif /* __kc_muglerpc_pio_h */ KCemu-0.5.1/include/kc/muglerpc/Makefile.am0000644000175000017500000000017712417262523020650 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ ctc.h \ pio.h \ ports.h \ memory.h \ keyboard.h KCemu-0.5.1/include/kc/muglerpc/memory.h0000644000175000017500000000403012417262523020265 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_muglerpc_memory_h #define __kc_muglerpc_memory_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class MemoryMuglerPC : public Memory { private: byte_t _irm[0x0800]; byte_t _rom[0x2000]; byte_t _rom_chargen[0x0800]; byte_t _ram_block0[0x10000]; byte_t _ram_block1[0x10000]; byte_t _ram_block2[0x10000]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_rom; /* ROM 0000h - 1fffh */ MemAreaGroup *_m_ram0_lo; /* RAM Block 0 0000h - ffffh */ MemAreaGroup *_m_ram0_hi; /* RAM Block 0 0000h - ffffh */ MemAreaGroup *_m_ram1; /* RAM Block 1 0000h - ffffh */ MemAreaGroup *_m_ram2; /* RAM Block 2 0000h - ffffh */ MemAreaGroup *_m_irm; /* IRM f800h - ffffh */ public: MemoryMuglerPC(void); virtual ~MemoryMuglerPC(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); void select_eprom(bool active); void select_ram_block(int block, bool force_ram0_at_c000h); virtual void reset(bool power_on = false); }; #endif /* __kc_muglerpc_memory_h */ KCemu-0.5.1/include/kc/muglerpc/keyboard.h0000644000175000017500000000365712417262523020573 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_muglerpc_keyboard_h #define __kc_muglerpc_keyboard_h #include "kc/kc.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/keyboard.h" class KeyboardMuglerPC : public Keyboard, public PIOCallbackInterface { public: enum { MAX_KEYS = 8, }; private: struct _keybuf { int sym; int code; } _keybuf[MAX_KEYS]; protected: void init(void); int decode_key(int keysym, bool press); public: KeyboardMuglerPC(void); virtual ~KeyboardMuglerPC(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); }; #endif /* __kc_muglerpc_keyboard_h */ KCemu-0.5.1/include/kc/memory3.h0000644000175000017500000000343712417262523016544 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory3_h #define __kc_memory3_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class Memory3 : public Memory { private: byte_t _ram[0x4000]; byte_t _rom_caos[0x2000]; byte_t _rom_basic[0x2000]; byte_t _irm[0x4000]; bool _access_color; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_caos; /* CAOS e000h - ffffh */ MemAreaGroup *_m_basic; /* BASIC c000h - dfffh */ MemAreaGroup *_m_ram; /* RAM 0000h - 3fffh */ MemAreaGroup *_m_irm; /* IRM 8000h - bfffh */ public: Memory3(void); virtual ~Memory3(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); void enableCAOS_E(int v); void enableBASIC_C(int v); void enableRAM(int v); void protectRAM(int v); void enableIRM(int v); virtual void reset(bool power_on = false); }; #endif /* __kc_memory3_h */ KCemu-0.5.1/include/kc/pio.h0000644000175000017500000001072612417262523015737 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio_h #define __kc_pio_h #include "kc/system.h" #include "kc/ic.h" #include "kc/ports.h" class PIOCallbackInterface { public: PIOCallbackInterface(void) {} virtual ~PIOCallbackInterface(void) {} virtual int callback_A_in(void) = 0; virtual int callback_B_in(void) = 0; virtual void callback_A_out(byte_t val) = 0; virtual void callback_B_out(byte_t val) = 0; }; class PIO : public InterfaceCircuit, public PortInterface { protected: enum { A = 0, B = 1, }; enum { MODE_OUTPUT = 0, MODE_INPUT = 1, MODE_BIDIRECTIONAL = 2, MODE_CONTROL = 3, }; /* * track first out instruction to allow complete * initialisation */ bool _first_out[2]; /* * external value */ byte_t _ext[2]; /* * value of the logical function that triggers the irq in bit-mode * */ byte_t _ext_fn[2]; /* * pio mode: 0 - byte output * 1 - byte input * 2 - byte input/output * 3 - bit input/output */ byte_t _mode[2]; byte_t _bit_mode[2]; bool _bit_mode_follows[2]; /* * interrupt vector: */ byte_t _irq_vector[2]; /* * interrupt control: 0 - irq disabled * 1 - irq enabled */ byte_t _irq[2]; /* * interrupt logic: */ byte_t _irq_mask[2]; byte_t _irq_h_l[2]; byte_t _irq_and_or[2]; bool _irq_mask_follows[2]; /* * interrupt enable input/ output */ byte_t _irq_enable[2]; byte_t _irq_active[2]; byte_t _strobe[2]; byte_t _ready[2]; byte_t _value[2]; /* * interrupt mask for daisy chain handling */ dword_t _z80_irq_mask; /* * callbacks */ PIOCallbackInterface *_cb_a_in; PIOCallbackInterface *_cb_a_out; PIOCallbackInterface *_cb_b_in; PIOCallbackInterface *_cb_b_out; void out_CTRL(int port, byte_t val); void set_EXT(int port, byte_t mask, byte_t val); void trigger_irq(int port); virtual void change_A(byte_t changed, byte_t val) = 0; virtual void change_B(byte_t changed, byte_t val) = 0; public: PIO(void); virtual ~PIO(void); virtual void info(void); virtual byte_t in_A_DATA(void); virtual byte_t in_B_DATA(void); virtual byte_t in_A_CTRL(void); virtual byte_t in_B_CTRL(void); virtual void out_A_DATA(byte_t val); virtual void out_B_DATA(byte_t val); virtual void out_A_CTRL(byte_t val); virtual void out_B_CTRL(byte_t val); virtual void set_A_EXT(byte_t mask, byte_t val); virtual void set_B_EXT(byte_t mask, byte_t val); virtual void strobe_A(void); virtual void strobe_B(void); virtual int ready_A(void); virtual int ready_B(void); virtual byte_t getModeA(void) { return _mode[A]; } virtual byte_t getModeB(void) { return _mode[B]; } virtual byte_t getIRQA(void) { return _irq[A]; } virtual byte_t getIRQB(void) { return _irq[B]; } virtual byte_t getIRQVectorA(void) { return _irq_vector[A]; } virtual byte_t getIRQVectorB(void) { return _irq_vector[B]; } /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void); virtual word_t irqack(void); virtual void reset(bool power_on = false); /* * callback registering functions */ virtual void register_callback_A_in(PIOCallbackInterface *cbi); virtual void register_callback_A_out(PIOCallbackInterface *cbi); virtual void register_callback_B_in(PIOCallbackInterface *cbi); virtual void register_callback_B_out(PIOCallbackInterface *cbi); }; #endif /* __kc_pio_h */ KCemu-0.5.1/include/kc/memory5.h0000644000175000017500000000223512417262523016541 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory5_h #define __kc_memory5_h #include "kc/memory4.h" class Memory5 : public Memory4 { protected: virtual void init(void); virtual void configureRAM_8(void); public: Memory5(void); ~Memory5(void); void dumpCore(void); virtual void reset(bool power_on = false); }; #endif /* __kc_memory5_h */ KCemu-0.5.1/include/kc/ports0.h0000644000175000017500000000237012417262523016373 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ports0_h #define __kc_ports0_h #include "kc/ports.h" class Ports0 : public PortInterface { public: enum { NR_PORTS = 256, }; protected: byte_t inout[NR_PORTS]; protected: virtual void change_0x08(byte_t changed, byte_t val); public: Ports0(void); virtual ~Ports0(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_ports0_h */ KCemu-0.5.1/include/kc/pio0.h0000644000175000017500000000240512417262523016012 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio0_h #define __kc_pio0_h #include "kc/pio.h" #include "kc/tape.h" class PIO0 : public PIO, public TapeCallback { public: PIO0(void); virtual ~PIO0(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); /* * TapeCallback */ virtual void tape_callback(byte_t val); }; #endif /* __kc_pio0_h */ KCemu-0.5.1/include/kc/mod_v24.h0000644000175000017500000000564212417262523016423 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_v24_h #define __kc_mod_v24_h #include #include #include "kc/ic.h" #include "kc/ports.h" #include "kc/module.h" class ModuleV24 : public ModuleInterface, public PortInterface, public InterfaceCircuit { private: typedef enum { IO_NONE, IO_FILE, IO_SOCKET, IO_FIFO } io_type_t; enum { A = 0, B = 1, CHANNELS = 2, WR_REGS = 7, RD_REGS = 3, INBUF_LEN = 1024, }; byte_t _in_buf[INBUF_LEN], *_in_buf_ptr; int _reg[CHANNELS]; byte_t _reg_wr[CHANNELS][WR_REGS]; byte_t _reg_rd[CHANNELS][RD_REGS]; byte_t _data_in[CHANNELS]; int _irq_pending[CHANNELS]; int _irq_active[CHANNELS]; int _fd_in[CHANNELS]; int _fd_out[CHANNELS]; struct termios _tio_old[CHANNELS]; struct termios _tio_new[CHANNELS]; bool _ok; byte_t _id; byte_t _val; const char *_name; char *_socket_name; int _pid; PortGroup *_portg; io_type_t _io_type; protected: void open_device(void); void close_device(void); bool open_device_serial(int dev, const char *dev_name); bool open_device_socket_or_fifo(io_type_t io_type); void set_signal_handler(int fd, void (*sig_func)(int)); static void signal_handler_IO_read(int status); static void signal_handler_IO_recv(int status); void push_data(char *buf, int len); void socket_server(int fd); void fifo_server(int fd); public: ModuleV24(ModuleV24 &tmpl); ModuleV24(const char *name, byte_t id); virtual ~ModuleV24(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual byte_t in_reg(int channel); virtual void out_reg(int channel, byte_t val); /* * InterfaceCircuit functions * * FIXME: reset() is inherited twice from both * FIXME: ModuleInterface and InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_v24_h */ KCemu-0.5.1/include/kc/pio8.h0000644000175000017500000000346312417262523016027 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio8_h #define __kc_pio8_h #include "kc/pio.h" #include "kc/tape.h" #include "kc/ports.h" class PIO8_1 : public PIO, public TapeCallback { private: int _led_value[7]; int _led_value_latch; protected: void draw_leds(void); void tape_bit(int freq); void tape_byte(int byte); void tape_signal(int val); public: PIO8_1(void); virtual ~PIO8_1(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); byte_t get_led_value(int index); /* * InterfaceCircuit */ virtual void reset(bool power_on = false); /* * TapeCallback */ virtual void tape_callback(byte_t val); }; class PIO8_2 : public PIO { public: PIO8_2(void); virtual ~PIO8_2(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; #endif /* __kc_pio8_h */ KCemu-0.5.1/include/kc/keyb6.h0000644000175000017500000000347112417262523016167 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb6_h #define __kc_keyb6_h #include "kc/kc.h" #include "kc/keyboard.h" class Keyboard6 : public Keyboard, public PIOCallbackInterface { private: int _key; int _line_val; protected: void init(void); int decode_key(int keysym, bool press); public: Keyboard6(void); virtual ~Keyboard6(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void set_line(byte_t val); /* * Callback */ virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val) {} virtual void callback_B_out(byte_t val) {} }; #endif /* __kc_keyb6_h */ KCemu-0.5.1/include/kc/memory6.h0000644000175000017500000000400512417262523016537 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory6_h #define __kc_memory6_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class Memory6 : public Memory { private: byte_t _rom0[0x1000]; // holds the first poly880 rom or the sc1 chess rom byte_t _rom1[0x0400]; byte_t _rom2[0x0400]; byte_t _rom3[0x0400]; byte_t _ram[0x0400]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_rom0; /* ROM 0000h - 03ffh */ MemAreaGroup *_m_rom1; /* ROM 1000h - 13ffh */ MemAreaGroup *_m_rom2; /* ROM 2000h - 23ffh */ MemAreaGroup *_m_rom3; /* ROM 3000h - 33ffh */ MemAreaGroup *_m_rom_sc1; /* ROM 0000h - 0fffh (SC1 chess rom) */ MemAreaGroup *_m_ram; /* RAM 4000h - 43ffh */ public: Memory6(void); virtual ~Memory6(void); void dumpCore(void); inline byte_t memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } inline void memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * get_irm(void); byte_t * get_char_rom(void); virtual void reset(bool power_on = false); }; #endif /* __kc_memory6_h */ KCemu-0.5.1/include/kc/timer3.h0000644000175000017500000000213612417262523016347 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_timer3_h #define __kc_timer3_h #include "kc/kc.h" #include "kc/timer.h" class Timer3 : public Timer { public: Timer3(void); virtual ~Timer3(void); virtual void start(void); virtual void callback(void *data); }; #endif /* __kc_timer3_h */ KCemu-0.5.1/include/kc/mod_js.h0000644000175000017500000000541112417262523016416 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_js_h #define __kc_mod_js_h #include "kc/cb.h" #include "kc/pio.h" #include "kc/ports.h" #include "kc/module.h" class PIOJoystick : public PIO, public PIOCallbackInterface, public Callback { private: enum { IDLE_COUNTER_INIT = 500, CALLBACK_OFFSET = 35000, AXIS_THRESHOLD = 10000, }; private: int _fd; int _up; int _down; int _left; int _right; int _button0; int _button1; bool _is_open; int _idle_counter; char _number_of_axes; char _number_of_buttons; byte_t _val; char *_device; protected: virtual bool js_open(void); virtual void js_close(void); virtual void change_A(byte_t changed, byte_t val); virtual void change_B(byte_t changed, byte_t val); public: PIOJoystick(void); virtual ~PIOJoystick(void); virtual bool is_open(void); virtual const char * check_joystick_device(void); virtual const char * get_joystick_device(void); virtual void set_joystick_device(const char *device); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); /* * Callback */ virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); }; class ModuleJoystick : public ModuleInterface, public PortInterface { private: PIOJoystick *_pio; PortGroup *_portg; public: ModuleJoystick(ModuleJoystick &tmpl); ModuleJoystick(const char *name, byte_t id); virtual ~ModuleJoystick(void); /* * ModuleInterface */ virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_js_h */ KCemu-0.5.1/include/kc/mod_rtc.h0000644000175000017500000000310512417262523016570 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_rtc_h #define __kc_mod_rtc_h #include "kc/ports.h" #include "kc/module.h" class ModuleRTC : public ModuleInterface, public PortInterface { private: int _count; int _base_port; PortGroup *_portg; ModuleRTC *_master; protected: void init(void); int get_count(void); void set_count(int count); public: ModuleRTC(ModuleRTC &tmpl); ModuleRTC(const char *name, int base_port); virtual ~ModuleRTC(void); /* * ModuleInterface */ virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); virtual void m_out(word_t addr, byte_t val); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_rtc_h */ KCemu-0.5.1/include/kc/mod_disk.h0000644000175000017500000000245112417262523016735 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_disk_h #define __kc_mod_disk_h #include "kc/memory.h" #include "kc/mod_rom.h" class ModuleDisk : public ModuleROM { private: int _slot; public: ModuleDisk(ModuleDisk &tmpl); ModuleDisk(const char *rom_key, const char *name, byte_t id, int slot); virtual ~ModuleDisk(void); virtual word_t get_addr(byte_t val); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_disk_h */ KCemu-0.5.1/include/kc/keys.h0000644000175000017500000000537312417262523016125 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keys_h #define __kc_keys_h #define KC_KEY_ENTER (0x0d) #define KC_KEY_ESC (0x1b) #define KC_KEY_SPACE (0x20) #define KC_KEY_F1 (0x101) #define KC_KEY_F2 (0x102) #define KC_KEY_F3 (0x103) #define KC_KEY_F4 (0x104) #define KC_KEY_F5 (0x105) #define KC_KEY_F6 (0x106) #define KC_KEY_F7 (0x107) #define KC_KEY_F8 (0x108) #define KC_KEY_F9 (0x109) #define KC_KEY_F10 (0x10a) #define KC_KEY_F11 (0x10b) #define KC_KEY_F12 (0x10c) #define KC_KEY_F13 (0x10d) #define KC_KEY_F14 (0x10e) #define KC_KEY_F15 (0x10f) #define KC_KEY_SHIFT (0x110) #define KC_KEY_CONTROL (0x111) #define KC_KEY_ALT (0x112) #define KC_KEY_ALT_GR (0x113) #define KC_KEY_LEFT (0x114) #define KC_KEY_RIGHT (0x115) #define KC_KEY_DOWN (0x116) #define KC_KEY_UP (0x117) #define KC_KEY_HOME (0x118) #define KC_KEY_END (0x119) #define KC_KEY_DEL (0x11a) #define KC_KEY_INSERT (0x11b) #define KC_KEY_PAGE_UP (0x11c) #define KC_KEY_PAGE_DOWN (0x11d) #define KC_KEY_PAUSE (0x11e) #define KC_KEY_PRINT (0x11f) #define KC_KEY_COLOR (0x120) #define KC_KEY_GRAPHIC (0x121) #define KC_KEY_LIST (0x122) #define KC_KEY_RUN (0x123) #define KC_KEY_STOP (0x124) #define KC_KEY_SHIFT_LOCK (0x125) #define KC_KEY_RESET (0x126) #define KC_KEY_NMI (0x127) #define KC_KEY_BREAK (0x128) #define KC_KEY_CLEAR (0x129) #endif /* __kc_keys_h */ KCemu-0.5.1/include/kc/disk_io.h0000644000175000017500000000232512417262523016565 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_disk_io_h #define __kc_disk_io_h #include "kc/system.h" #include "kc/ports.h" class FloppyIO : public PortInterface { private: byte_t _val; bool _bit[4]; public: FloppyIO(void); virtual ~FloppyIO(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); virtual void activate(int bit_nr); }; #endif /* __kc_disk_io_h */ KCemu-0.5.1/include/kc/memory7.h0000644000175000017500000000444312417262523016546 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory7_h #define __kc_memory7_h #include "kc/system.h" #include "kc/kc.h" #include "kc/romdi.h" #include "kc/memory.h" #include "kc/memoryif.h" class Memory7 : public Memory, public ROMDIInterface { private: byte_t _ram[0x4000]; byte_t _irm[0x0800]; byte_t _rom_os[0x1000]; byte_t _rom_basic[0x2800]; byte_t _rom_chargen[0x0800]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_ram; /* RAM 0000h - 3fffh */ MemAreaGroup *_m_basic; /* BASIC c000h - e7ffh */ MemAreaGroup *_m_irm_e8; /* IRM e800h - bfffh (color, readonly) */ MemAreaGroup *_m_irm_ec; /* IRM ec00h - efffh (text) */ MemAreaGroup *_m_os; /* OS f000h - ffffh */ typedef std::list romdi_list_t; romdi_list_t _romdi_list; bool _romdi; typedef std::list memory_list_t; memory_list_t _memory_list; public: Memory7(void); virtual ~Memory7(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); void set_romdi(bool val); void register_romdi_handler(ROMDIInterface *handler); void unregister_romdi_handler(ROMDIInterface *handler); void register_memory_handler(MemoryInterface *handler); void unregister_memory_handler(MemoryInterface *handler); virtual void reset(bool power_on = false); /* * ROMDIInterface */ void romdi(bool val); }; #endif /* __kc_memory7_h */ KCemu-0.5.1/include/kc/mod_rom1.h0000644000175000017500000000326612417262523016666 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_rom1_h #define __kc_mod_rom1_h #include "kc/romdi.h" #include "kc/module.h" #include "kc/memory.h" class ModuleROM1 : public ModuleInterface, public ROMDIInterface { private: byte_t *_rom; word_t _addr; dword_t _size; MemAreaGroup *_group; bool _set_romdi; protected: void set_romdi(bool val); public: ModuleROM1(ModuleROM1 &tmpl); ModuleROM1(const char *filename, const char *name, word_t addr, dword_t size = 0x4000, bool set_romdi = false); virtual ~ModuleROM1(void); virtual bool is_active(void); virtual void set_active(bool active); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); /* * ROMDIInterface */ void romdi(bool val); }; #endif /* __kc_mod_rom1_h */ KCemu-0.5.1/include/kc/vis.h0000644000175000017500000000357012417262523015750 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_vis_h #define __kc_vis_h #include "kc/system.h" #include "kc/ic.h" #include "kc/ports.h" class VIS : public PortInterface, public InterfaceCircuit { private: int _idx; int _mode; int _border; int _color[4]; byte_t _char[0x0800]; byte_t _changed[0x100]; int _color_palette_changed; public: VIS(void); virtual ~VIS(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); virtual int get_mode(void); virtual void set_mode(int mode); virtual int get_border(void); virtual void set_border(int border); virtual int get_color(int idx); virtual void set_color(int idx, int color); virtual int get_changed(byte_t idx); virtual void reset_changed(void); virtual int is_color_palette_changed(void); virtual void reset_color_palette_changed(void); virtual byte_t * get_memory(void); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void); virtual word_t irqack(void); virtual void reset(bool power_on = false); }; #endif /* __kc_vis_h */ KCemu-0.5.1/include/kc/mod_1m.h0000644000175000017500000000240412417262523016316 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_1m_h #define __kc_mod_1m_h #include "kc/mod_segm.h" class Module1M : public ModuleSegmentedMemory { protected: virtual word_t get_base_address(word_t addr, byte_t val); virtual int get_segment_index(word_t addr, byte_t val); public: Module1M(Module1M &tmpl); Module1M(const char *name, byte_t id); virtual ~Module1M(void); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_1m_h */ KCemu-0.5.1/include/kc/ctc1.h0000644000175000017500000000265212417262523016001 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc1_h #define __kc_ctc1_h #include "kc/system.h" #include "kc/ctc_base.h" class CTC1 : public CTC_Base { private: unsigned long long _last_irq_0; public: CTC1(void); virtual ~CTC1(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; #endif /* __kc_ctc1_h */ KCemu-0.5.1/include/kc/module.h0000644000175000017500000000444512417262523016436 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_module_h #define __kc_module_h #include "kc/system.h" #include "kc/ports.h" typedef enum { KC_MODULE_ALL, KC_MODULE_KC_85_1, KC_MODULE_KC_85_3, KC_MODULE_LC_80, KC_MODULE_Z1013, KC_MODULE_A5105, } mod_type_t; class ModuleInterface { private: bool _valid; byte_t _id; char *_name; char *_error_text; mod_type_t _mod_type; public: ModuleInterface(const char *name, byte_t id, mod_type_t mod_type); virtual ~ModuleInterface(void); virtual byte_t m_in(word_t addr); virtual void m_out(word_t addr, byte_t val) = 0; virtual ModuleInterface * clone(void) = 0; virtual void reset(bool power_on = false) = 0; virtual byte_t get_id(void); virtual const char * get_name(void); virtual mod_type_t get_type(void); virtual void set_valid(bool valid); virtual bool is_valid(void); virtual const char * get_error_text(void); virtual void set_error_text(const char *text); }; class Module : public PortInterface { public: enum { NR_MODULES = 64, }; ModuleInterface *_module[NR_MODULES]; private: int get_slot_by_addr(word_t addr); ModuleInterface * get_module_by_addr(word_t addr); public: Module(); virtual ~Module(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); virtual bool is_empty(byte_t slot); virtual void insert(byte_t slot, ModuleInterface *module); virtual void remove(byte_t slot); virtual void reset(bool power_on = false); }; #endif /* __kc_module_h */ KCemu-0.5.1/include/kc/basicrun.h0000644000175000017500000000304412417262523016751 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_basicrun_h #define __kc_basicrun_h static unsigned char basicrun[] = { 0xcd,0xd0,0xdd,0x21,0xbd,0xc0,0x11,0x00,0x03,0x01, 0x67,0x00,0xed,0xb0,0xeb,0xf9,0x21,0xc0,0x01,0x22, 0x56,0x03,0xcd,0x69,0xc6,0x32,0xab,0x03,0x32,0x00, 0x04,0x21,0x00,0x03,0x2b,0x11,0xff,0xbf,0x23,0xcd, 0x89,0xc6,0x28,0x09,0x7e,0x47,0x2f,0x77,0xbe,0x70, 0x28,0xf2,0x2b,0x11,0x00,0xff,0x22,0xb0,0x03,0x19, 0x22,0x56,0x03,0xaf,0x32,0x5e,0x03,0xcd,0x4f,0xc6, 0x2a,0x56,0x03,0x11,0xef,0xfb,0x19,0x2a,0x04,0xe0, 0x7e,0xfe,0x78,0x20,0x01,0x3e,0xaf,0x32,0xfc,0x03, 0x31,0x67,0x03,0xcd,0x69,0xc6,0xcd,0x4f,0xc6,0xc3, 0x54,0xc8 }; static int basicrun_len = 102; #endif /* __kc_basicrun_h */ KCemu-0.5.1/include/kc/gdc.h0000644000175000017500000000374512417262523015710 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_gdc_h #define __kc_gdc_h #include "kc/system.h" #include "kc/ic.h" #include "kc/ports.h" class GDC : public PortInterface, public InterfaceCircuit { private: int _idx; int _ptr; int _pptr; int _ridx; int _mask; int _mask_c; int _control; int _figs_dc; int _screen_on; int _nr_of_lines; int _cursor_top; int _cursor_bottom; byte_t _cmd; byte_t _arg[4096]; byte_t _mem[65536]; byte_t _col[65536]; byte_t _pram[16]; protected: void info(void); public: GDC(void); virtual ~GDC(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); virtual long get_pram_SAD(int idx); virtual long get_pram_LEN(int idx); virtual byte_t get_mem(int addr); virtual byte_t get_col(int addr); virtual bool get_cursor(int addr); virtual bool get_cursor(int addr, int line); virtual int get_screen_on(void); virtual int get_nr_of_lines(void); virtual void v_retrace(bool value); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void); virtual word_t irqack(void); virtual void reset(bool power_on = false); }; #endif /* __kc_gdc_h */ KCemu-0.5.1/include/kc/disk.h0000644000175000017500000000306412417262523016077 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_disk_h #define __kc_disk_h #include "kc/system.h" typedef enum { DISK_OK, DISK_NOENT, DISK_ERROR, } disk_error_t; typedef enum { DISK_TYPE_UNKNOWN, DISK_TYPE_22DSK, DISK_TYPE_CDM, DISK_TYPE_KCD, } disk_type_t; class Disk { private: CMD *_cmd; protected: bool create_disk_file(FILE *f); bool write_sector(FILE *f, int c, int h, int s); public: Disk(void); virtual ~Disk(void); virtual disk_error_t attach(int disk_no, const char *filename, bool create = false); virtual disk_error_t detach(int disk_no); bool seek(int head, int cylinder, int sector); int read_sector(byte_t *buf, int len); int write_sector(byte_t *buf, int len); }; #endif /* __kc_disk_h */ KCemu-0.5.1/include/kc/keyb1k.h0000644000175000017500000002564612417262523016345 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb1k_h #define __kc_keyb1k_h /* * 01 (1) 02 (2) 04 (3) 08 (4) 10 (5) 20 (6) 40 (7) 80 (8) (low nibble) * | | | | | | | | * *-[0_]-* *-[1!]-* *-[2"]-* *-[3#]-+ *-[4$]-* *-[5%]-* *-[6&]-* *-[7']-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--01 (1) * | | | | | | | | * *-[8(]-* *-[9)]-* *-[:*]-* *-[;+]-+ *-[,<]-* *-[=-]-* *-[.>]-* *-[?/]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--02 (2) * | | | | | | | | * *-[@ ]-* *-[Aa]-* *-[Bb]-* *-[Cc]-+ *-[Dd]-* *-[Ee]-* *-[Ff]-* *-[Gg]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--04 (3) * | | | | | | | | * *-[Hh]-* *-[Ii]-* *-[Jj]-* *-[Kk]-+ *-[Ll]-* *-[Mm]-* *-[Nn]-* *-[Oo]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--08 (4) * | | | | | | | | * *-[Pp]-* *-[Qq]-* *-[Rr]-* *-[Ss]-+ *-[Tt]-* *-[Uu]-* *-[Vv]-* *-[Ww]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--10 (5) * | | | | | | | | * *-[Xx]-* *-[Yy]-* *-[Zz]-* *-[*a]-+ *-[*b]-* *-[*c]-* *-[^ ]-* | * | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+---------20 (6) * | | | | | | | | * *-[*d]-* *-[*e]-* *-[*f]-* *-[*g]-+ *-[*h]-* *-[*i]-* *-[*j]-* *-[*k]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--40 (7) * | | | | | | | * *-[*l]-* *-[*m]-* *-[*n]-* *-[*o]-+ *-[*p]-* *-[*q]-* *-[*r]-* * | | | | | | | * *--------*--------*--------*--------*--------*--------*-----------80 (8) * * *a = |<- ->| *j = STOP * *b = PAUSE CONT *k = SPACE * *c = INS DEL *l = SHIFT * *d = <- *m = COLOR * *e = -> *n = CONTR * *f = DOWN *o = GRAPHIC * *g = UP *p = LIST * *h = ESC CL LN *q = RUN * *i = ENTER *r = SHIFT LOCK * */ static unsigned int __keys[] = { /* 0x00 [.] */ 0x00, /* 0x01 [.] */ 0x00, /* 0x02 [.] */ 0x00, /* 0x03 [.] */ 0x00, /* 0x04 [.] */ 0x00, /* 0x05 [.] */ 0x00, /* 0x06 [.] */ 0x00, /* 0x07 [.] */ 0x00, /* 0x08 [.] */ 0x00, /* 0x09 [.] */ 0x00, /* 0x0a [.] */ 0x00, /* 0x0b [.] */ 0x00, /* 0x0c [.] */ 0x00, /* 0x0d [.] */ 0x76, /* ENTER */ /* 0x0e [.] */ 0x00, /* 0x0f [.] */ 0x00, /* 0x10 [.] */ 0x00, /* 0x11 [.] */ 0x00, /* 0x12 [.] */ 0x00, /* 0x13 [.] */ 0x00, /* 0x14 [.] */ 0x00, /* 0x15 [.] */ 0x00, /* 0x16 [.] */ 0x00, /* 0x17 [.] */ 0x00, /* 0x18 [.] */ 0x00, /* 0x19 [.] */ 0x00, /* 0x1a [.] */ 0x00, /* 0x1b [.] */ 0x75, /* ESC | CL LN */ /* 0x1c [.] */ 0x00, /* 0x1d [.] */ 0x00, /* 0x1e [.] */ 0x00, /* 0x1f [.] */ 0x00, /* 0x20 [ ] */ 0x78, /* SPACE */ /* 0x21 [!] */ 0x8112, /* 0x22 ["] */ 0x8113, /* 0x23 [#] */ 0x8114, /* 0x24 [$] */ 0x8115, /* 0x25 [%] */ 0x8116, /* 0x26 [&] */ 0x8117, /* 0x27 ['] */ 0x8118, /* 0x28 [(] */ 0x8121, /* 0x29 [)] */ 0x8122, /* 0x2a [*] */ 0x8123, /* 0x2b [+] */ 0x8124, /* 0x2c [,] */ 0x25, /* 0x2d [-] */ 0x8126, /* 0x2e [.] */ 0x27, /* 0x2f [/] */ 0x8128, /* 0x30 [0] */ 0x11, /* 0x31 [1] */ 0x12, /* 0x32 [2] */ 0x13, /* 0x33 [3] */ 0x14, /* 0x34 [4] */ 0x15, /* 0x35 [5] */ 0x16, /* 0x36 [6] */ 0x17, /* 0x37 [7] */ 0x18, /* 0x38 [8] */ 0x21, /* 0x39 [9] */ 0x22, /* 0x3a [:] */ 0x23, /* 0x3b [;] */ 0x24, /* 0x3c [<] */ 0x25, /* 0x3d [=] */ 0x26, /* 0x3e [>] */ 0x8127, /* 0x3f [?] */ 0x28, /* 0x40 [@] */ 0x31, /* 0x41 [A] */ 0x8132, /* 0x42 [B] */ 0x8133, /* 0x43 [C] */ 0x8134, /* 0x44 [D] */ 0x8135, /* 0x45 [E] */ 0x8136, /* 0x46 [F] */ 0x8137, /* 0x47 [G] */ 0x8138, /* 0x48 [H] */ 0x8141, /* 0x49 [I] */ 0x8142, /* 0x4a [J] */ 0x8143, /* 0x4b [K] */ 0x8144, /* 0x4c [L] */ 0x8145, /* 0x4d [M] */ 0x8146, /* 0x4e [N] */ 0x8147, /* 0x4f [O] */ 0x8148, /* 0x50 [P] */ 0x8151, /* 0x51 [Q] */ 0x8152, /* 0x52 [R] */ 0x8153, /* 0x53 [S] */ 0x8154, /* 0x54 [T] */ 0x8155, /* 0x55 [U] */ 0x8156, /* 0x56 [V] */ 0x8157, /* 0x57 [W] */ 0x8158, /* 0x58 [X] */ 0x8161, /* 0x59 [Y] */ 0x8162, /* 0x5a [Z] */ 0x8163, /* 0x5b [[] */ 0x00, /* 0x5c [\] */ 0x00, /* 0x5d []] */ 0x00, /* 0x5e [^] */ 0x67, /* 0x5f [_] */ 0x8111, /* 0x60 [`] */ 0x00, /* 0x61 [a] */ 0x32, /* 0x62 [b] */ 0x33, /* 0x63 [c] */ 0x34, /* 0x64 [d] */ 0x35, /* 0x65 [e] */ 0x36, /* 0x66 [f] */ 0x37, /* 0x67 [g] */ 0x38, /* 0x68 [h] */ 0x41, /* 0x69 [i] */ 0x42, /* 0x6a [j] */ 0x43, /* 0x6b [k] */ 0x44, /* 0x6c [l] */ 0x45, /* 0x6d [m] */ 0x46, /* 0x6e [n] */ 0x47, /* 0x6f [o] */ 0x48, /* 0x70 [p] */ 0x51, /* 0x71 [q] */ 0x52, /* 0x72 [r] */ 0x53, /* 0x73 [s] */ 0x54, /* 0x74 [t] */ 0x55, /* 0x75 [u] */ 0x56, /* 0x76 [v] */ 0x57, /* 0x77 [w] */ 0x58, /* 0x78 [x] */ 0x61, /* 0x79 [y] */ 0x62, /* 0x7a [z] */ 0x63, /* 0x7b [{] */ 0x00, /* 0x7c [|] */ 0x00, /* 0x7d [}] */ 0x00, /* 0x7e [~] */ 0x00, /* 0x7f [.] */ 0x00, /* 0x80 [.] */ 0x00, /* 0x81 [.] */ 0x00, /* 0x82 [.] */ 0x00, /* 0x83 [.] */ 0x00, /* 0x84 [.] */ 0x00, /* 0x85 [.] */ 0x00, /* 0x86 [.] */ 0x00, /* 0x87 [.] */ 0x00, /* 0x88 [.] */ 0x00, /* 0x89 [.] */ 0x00, /* 0x8a [.] */ 0x00, /* 0x8b [.] */ 0x00, /* 0x8c [.] */ 0x00, /* 0x8d [.] */ 0x00, /* 0x8e [.] */ 0x00, /* 0x8f [.] */ 0x00, /* 0x90 [.] */ 0x00, /* 0x91 [.] */ 0x00, /* 0x92 [.] */ 0x00, /* 0x93 [.] */ 0x00, /* 0x94 [.] */ 0x00, /* 0x95 [.] */ 0x00, /* 0x96 [.] */ 0x00, /* 0x97 [.] */ 0x00, /* 0x98 [.] */ 0x00, /* 0x99 [.] */ 0x00, /* 0x9a [.] */ 0x00, /* 0x9b [.] */ 0x00, /* 0x9c [.] */ 0x00, /* 0x9d [.] */ 0x00, /* 0x9e [.] */ 0x00, /* 0x9f [.] */ 0x00, /* 0xa0 [.] */ 0x00, /* 0xa1 [.] */ 0x00, /* 0xa2 [.] */ 0x00, /* 0xa3 [.] */ 0x00, /* 0xa4 [.] */ 0x00, /* 0xa5 [.] */ 0x00, /* 0xa6 [.] */ 0x00, /* 0xa7 [.] */ 0x00, /* 0xa8 [.] */ 0x00, /* 0xa9 [.] */ 0x00, /* 0xaa [.] */ 0x00, /* 0xab [.] */ 0x00, /* 0xac [.] */ 0x00, /* 0xad [.] */ 0x00, /* 0xae [.] */ 0x00, /* 0xaf [.] */ 0x00, /* 0xb0 [.] */ 0x00, /* 0xb1 [.] */ 0x00, /* 0xb2 [.] */ 0x00, /* 0xb3 [.] */ 0x00, /* 0xb4 [.] */ 0x00, /* 0xb5 [.] */ 0x00, /* 0xb6 [.] */ 0x00, /* 0xb7 [.] */ 0x00, /* 0xb8 [.] */ 0x00, /* 0xb9 [.] */ 0x00, /* 0xba [.] */ 0x00, /* 0xbb [.] */ 0x00, /* 0xbc [.] */ 0x00, /* 0xbd [.] */ 0x00, /* 0xbe [.] */ 0x00, /* 0xbf [.] */ 0x00, /* 0xc0 [.] */ 0x00, /* 0xc1 [.] */ 0x00, /* 0xc2 [.] */ 0x00, /* 0xc3 [.] */ 0x00, /* 0xc4 [.] */ 0x00, /* 0xc5 [.] */ 0x00, /* 0xc6 [.] */ 0x00, /* 0xc7 [.] */ 0x00, /* 0xc8 [.] */ 0x00, /* 0xc9 [.] */ 0x00, /* 0xca [.] */ 0x00, /* 0xcb [.] */ 0x00, /* 0xcc [.] */ 0x00, /* 0xcd [.] */ 0x00, /* 0xce [.] */ 0x00, /* 0xcf [.] */ 0x00, /* 0xd0 [.] */ 0x00, /* 0xd1 [.] */ 0x00, /* 0xd2 [.] */ 0x00, /* 0xd3 [.] */ 0x00, /* 0xd4 [.] */ 0x00, /* 0xd5 [.] */ 0x00, /* 0xd6 [.] */ 0x00, /* 0xd7 [.] */ 0x00, /* 0xd8 [.] */ 0x00, /* 0xd9 [.] */ 0x00, /* 0xda [.] */ 0x00, /* 0xdb [.] */ 0x00, /* 0xdc [.] */ 0x00, /* 0xdd [.] */ 0x00, /* 0xde [.] */ 0x00, /* 0xdf [.] */ 0x00, /* 0xe0 [.] */ 0x00, /* 0xe1 [.] */ 0x00, /* 0xe2 [.] */ 0x00, /* 0xe3 [.] */ 0x00, /* 0xe4 [.] */ 0x00, /* 0xe5 [.] */ 0x00, /* 0xe6 [.] */ 0x00, /* 0xe7 [.] */ 0x00, /* 0xe8 [.] */ 0x00, /* 0xe9 [.] */ 0x00, /* 0xea [.] */ 0x00, /* 0xeb [.] */ 0x00, /* 0xec [.] */ 0x00, /* 0xed [.] */ 0x00, /* 0xee [.] */ 0x00, /* 0xef [.] */ 0x00, /* 0xf0 [.] */ 0x00, /* 0xf1 [.] */ 0x00, /* 0xf2 [.] */ 0x00, /* 0xf3 [.] */ 0x00, /* 0xf4 [.] */ 0x00, /* 0xf5 [.] */ 0x00, /* 0xf6 [.] */ 0x00, /* 0xf7 [.] */ 0x00, /* 0xf8 [.] */ 0x00, /* 0xf9 [.] */ 0x00, /* 0xfa [.] */ 0x00, /* 0xfb [.] */ 0x00, /* 0xfc [.] */ 0x00, /* 0xfd [.] */ 0x00, /* 0xfe [.] */ 0x00, /* 0xff [.] */ 0x00, /* 0x100 */ 0x00, /* 0x101 */ 0x00, /* 0x102 */ 0x00, /* 0x103 */ 0x00, /* 0x104 */ 0x00, /* 0x105 */ 0x00, /* 0x106 */ 0x00, /* 0x107 */ 0x00, /* 0x108 */ 0x00, /* 0x109 */ 0x00, /* 0x10a */ 0x00, /* 0x10b */ 0x00, /* 0x10c */ 0x00, /* 0x10d */ 0x00, /* 0x10e */ 0x00, /* 0x10f */ 0x00, /* 0x110 */ 0x81, /* SHIFT */ /* 0x111 */ 0x83, /* CONTROL */ /* 0x112 */ 0x00, /* ALT */ /* 0x113 */ 0x84, /* ALT_GR */ /* 0x114 */ 0x71, /* LEFT */ /* 0x115 */ 0x72, /* RIGHT */ /* 0x116 */ 0x73, /* DOWN */ /* 0x117 */ 0x74, /* UP */ /* 0x118 */ 0x64, /* HOME */ /* 0x119 */ 0x8164, /* END */ /* 0x11a */ 0x8166, /* DEL */ /* 0x11b */ 0x66, /* INSERT */ /* 0x11c */ 0x00, /* 0x11d */ 0x00, /* 0x11e */ 0x65, /* PAUSE */ /* 0x11f */ 0x00, /* 0x120 */ 0x82, /* COLOR */ /* 0x121 */ 0x84, /* GRAPHIC */ /* 0x122 */ 0x85, /* LIST */ /* 0x123 */ 0x86, /* RUN */ /* 0x124 */ 0x77, /* STOP */ /* 0x125 */ 0x87, /* SHIFT LOCK */ /* 0x126 */ 0x00, /* 0x127 */ 0x00, /* 0x128 */ 0x00, /* 0x129 */ 0x00, /* 0x12a */ 0x00, /* 0x12b */ 0x00, /* 0x12c */ 0x00, /* 0x12d */ 0x00, /* 0x12e */ 0x00, /* 0x12f */ 0x00, }; #endif /* __kc_keyb1k_h */ KCemu-0.5.1/include/kc/mod_512k.h0000644000175000017500000000242212417262523016463 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_512k_h #define __kc_mod_512k_h #include "kc/mod_segm.h" class Module512k : public ModuleSegmentedMemory { protected: virtual word_t get_base_address(word_t addr, byte_t val); virtual int get_segment_index(word_t addr, byte_t val); public: Module512k(Module512k &tmpl); Module512k(const char *name, byte_t id); virtual ~Module512k(void); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_512k_h */ KCemu-0.5.1/include/kc/memory1.h0000644000175000017500000000432112417262523016533 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory1_h #define __kc_memory1_h #include "kc/system.h" #include "kc/kc.h" #include "kc/romdi.h" #include "kc/memory.h" #include "kc/memoryif.h" class Memory1 : public Memory, public ROMDIInterface { private: byte_t _ram[0x4000]; byte_t _irm[0x0800]; byte_t _rom_os[0x1000]; byte_t _rom_chargen[0x0800]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_ram; /* RAM 0000h - 3fffh */ MemAreaGroup *_m_irm_e8; /* IRM e800h - bfffh (color, readonly) */ MemAreaGroup *_m_irm_ec; /* IRM ec00h - efffh (text) */ MemAreaGroup *_m_os; /* OS f000h - ffffh */ typedef std::list romdi_list_t; romdi_list_t _romdi_list; bool _romdi; typedef std::list memory_list_t; memory_list_t _memory_list; public: Memory1(void); virtual ~Memory1(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); void set_romdi(bool val); void register_romdi_handler(ROMDIInterface *handler); void unregister_romdi_handler(ROMDIInterface *handler); void register_memory_handler(MemoryInterface *handler); void unregister_memory_handler(MemoryInterface *handler); virtual void reset(bool power_on = false); /* * ROMDIInterface */ void romdi(bool val); }; #endif /* __kc_memory1_h */ KCemu-0.5.1/include/kc/vcs80/0000755000175000017500000000000012417262523015734 5ustar glaubitzglaubitzKCemu-0.5.1/include/kc/vcs80/pio.h0000644000175000017500000000230312417262523016672 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_vcs80_pio_h #define __kc_vcs80_pio_h #include "kc/pio.h" #include "kc/ports.h" class PIOVCS80 : public PIO { public: PIOVCS80(void); virtual ~PIOVCS80(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; #endif /* __kc_vcs80_pio_h */ KCemu-0.5.1/include/kc/vcs80/keydef.h0000644000175000017500000002260712417262523017363 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_vcs80_keydef_h #define __kc_vcs80_keydef_h /* * 10 (1) 20 (2) 40 (3) * | | | * *-[ 7]-* *-[ F]-* *-[PE]-* * | | | | | | * � *-+------*-+------*-------*--07 (1) * | | | * *-[ 6]-* *-[ E]-* *-[ST]-* * | | | | | | * � *-+------*-+------*-------*--06 (2) * | | | * *-[ 5]-* *-[ D]-* *-[TR]-* * | | | | | | * � *-+------*-+------*-------*--05 (3) * | | | * *-[ 4]-* *-[ C]-* *-[GO]-* * | | | | | | * � *-+------*-+------*-------*--04 (4) * | | | * *-[ 3]-* *-[ B]-* *-[RE]-* * | | | | | | * � *-+------*-+------*-------*--03 (5) * | | | * *-[ 2]-* *-[ A]-* *-[MA]-* * | | | | | | * � *-+------*-+------*-------*--02 (6) * | | | * *-[ 1]-* *-[ 9]-* *-[A-]-* * | | | | | | * � *-+------*-+------*-------*--01 (7) * | | | * *-[ 0]-* *-[ 8]-* *-[A+]-* * | | | * *--------*--------*-------*--00 (8) * * A+ : next address * A- : previous address * MA : memory address * RE : show register * GO : * TR : trap address * ST : step * PE : no function * */ static unsigned int __keys[] = { /* 0x00 [.] */ 0x00, /* 0x01 [.] */ 0x00, /* 0x02 [.] */ 0x00, /* 0x03 [.] */ 0x00, /* 0x04 [.] */ 0x00, /* 0x05 [.] */ 0x00, /* 0x06 [.] */ 0x00, /* 0x07 [.] */ 0x00, /* 0x08 [.] */ 0x00, /* 0x09 [.] */ 0x00, /* 0x0a [.] */ 0x00, /* 0x0b [.] */ 0x00, /* 0x0c [.] */ 0x00, /* 0x0d [.] */ 0x44, /* ENTER */ /* 0x0e [.] */ 0x00, /* 0x0f [.] */ 0x00, /* 0x10 [.] */ 0x00, /* 0x11 [.] */ 0x00, /* 0x12 [.] */ 0x00, /* 0x13 [.] */ 0x00, /* 0x14 [.] */ 0x00, /* 0x15 [.] */ 0x00, /* 0x16 [.] */ 0x00, /* 0x17 [.] */ 0x00, /* 0x18 [.] */ 0x00, /* 0x19 [.] */ 0x00, /* 0x1a [.] */ 0x00, /* 0x1b [.] */ 0x00, /* ESC */ /* 0x1c [.] */ 0x00, /* 0x1d [.] */ 0x00, /* 0x1e [.] */ 0x00, /* 0x1f [.] */ 0x00, /* 0x20 [ ] */ 0x00, /* SPACE */ /* 0x21 [!] */ 0x00, /* 0x22 ["] */ 0x00, /* 0x23 [#] */ 0x00, /* 0x24 [$] */ 0x00, /* 0x25 [%] */ 0x00, /* 0x26 [&] */ 0x00, /* 0x27 ['] */ 0x00, /* 0x28 [(] */ 0x00, /* 0x29 [)] */ 0x00, /* 0x2a [*] */ 0x00, /* 0x2b [+] */ 0x40, /* 0x2c [,] */ 0x00, /* 0x2d [-] */ 0x41, /* 0x2e [.] */ 0x00, /* 0x2f [/] */ 0x00, /* 0x30 [0] */ 0x10, /* 0x31 [1] */ 0x11, /* 0x32 [2] */ 0x12, /* 0x33 [3] */ 0x13, /* 0x34 [4] */ 0x14, /* 0x35 [5] */ 0x15, /* 0x36 [6] */ 0x16, /* 0x37 [7] */ 0x17, /* 0x38 [8] */ 0x20, /* 0x39 [9] */ 0x21, /* 0x3a [:] */ 0x00, /* 0x3b [;] */ 0x00, /* 0x3c [<] */ 0x00, /* 0x3d [=] */ 0x00, /* 0x3e [>] */ 0x00, /* 0x3f [?] */ 0x00, /* 0x40 [@] */ 0x00, /* 0x41 [A] */ 0x22, /* 0x42 [B] */ 0x23, /* 0x43 [C] */ 0x24, /* 0x44 [D] */ 0x25, /* 0x45 [E] */ 0x26, /* 0x46 [F] */ 0x27, /* 0x47 [G] */ 0x00, /* 0x48 [H] */ 0x00, /* 0x49 [I] */ 0x00, /* 0x4a [J] */ 0x00, /* 0x4b [K] */ 0x00, /* 0x4c [L] */ 0x00, /* 0x4d [M] */ 0x00, /* 0x4e [N] */ 0x00, /* 0x4f [O] */ 0x00, /* 0x50 [P] */ 0x00, /* 0x51 [Q] */ 0x00, /* 0x52 [R] */ 0x00, /* 0x53 [S] */ 0x00, /* 0x54 [T] */ 0x00, /* 0x55 [U] */ 0x00, /* 0x56 [V] */ 0x00, /* 0x57 [W] */ 0x00, /* 0x58 [X] */ 0x00, /* 0x59 [Y] */ 0x00, /* 0x5a [Z] */ 0x00, /* 0x5b [[] */ 0x00, /* 0x5c [\] */ 0x00, /* 0x5d []] */ 0x00, /* 0x5e [^] */ 0x00, /* 0x5f [_] */ 0x00, /* 0x60 [`] */ 0x00, /* 0x61 [a] */ 0x22, /* 0x62 [b] */ 0x23, /* 0x63 [c] */ 0x24, /* 0x64 [d] */ 0x25, /* 0x65 [e] */ 0x26, /* 0x66 [f] */ 0x27, /* 0x67 [g] */ 0x00, /* 0x68 [h] */ 0x00, /* 0x69 [i] */ 0x00, /* 0x6a [j] */ 0x00, /* 0x6b [k] */ 0x00, /* 0x6c [l] */ 0x00, /* 0x6d [m] */ 0x00, /* 0x6e [n] */ 0x00, /* 0x6f [o] */ 0x00, /* 0x70 [p] */ 0x00, /* 0x71 [q] */ 0x00, /* 0x72 [r] */ 0x00, /* 0x73 [s] */ 0x00, /* 0x74 [t] */ 0x00, /* 0x75 [u] */ 0x00, /* 0x76 [v] */ 0x00, /* 0x77 [w] */ 0x00, /* 0x78 [x] */ 0x00, /* 0x79 [y] */ 0x00, /* 0x7a [z] */ 0x00, /* 0x7b [{] */ 0x00, /* 0x7c [|] */ 0x00, /* 0x7d [}] */ 0x00, /* 0x7e [~] */ 0x00, /* 0x7f [.] */ 0x00, /* 0x80 [.] */ 0x00, /* 0x81 [.] */ 0x00, /* 0x82 [.] */ 0x00, /* 0x83 [.] */ 0x00, /* 0x84 [.] */ 0x00, /* 0x85 [.] */ 0x00, /* 0x86 [.] */ 0x00, /* 0x87 [.] */ 0x00, /* 0x88 [.] */ 0x00, /* 0x89 [.] */ 0x00, /* 0x8a [.] */ 0x00, /* 0x8b [.] */ 0x00, /* 0x8c [.] */ 0x00, /* 0x8d [.] */ 0x00, /* 0x8e [.] */ 0x00, /* 0x8f [.] */ 0x00, /* 0x90 [.] */ 0x00, /* 0x91 [.] */ 0x00, /* 0x92 [.] */ 0x00, /* 0x93 [.] */ 0x00, /* 0x94 [.] */ 0x00, /* 0x95 [.] */ 0x00, /* 0x96 [.] */ 0x00, /* 0x97 [.] */ 0x00, /* 0x98 [.] */ 0x00, /* 0x99 [.] */ 0x00, /* 0x9a [.] */ 0x00, /* 0x9b [.] */ 0x00, /* 0x9c [.] */ 0x00, /* 0x9d [.] */ 0x00, /* 0x9e [.] */ 0x00, /* 0x9f [.] */ 0x00, /* 0xa0 [.] */ 0x00, /* 0xa1 [.] */ 0x00, /* 0xa2 [.] */ 0x00, /* 0xa3 [.] */ 0x00, /* 0xa4 [.] */ 0x00, /* 0xa5 [.] */ 0x00, /* 0xa6 [.] */ 0x00, /* 0xa7 [.] */ 0x00, /* 0xa8 [.] */ 0x00, /* 0xa9 [.] */ 0x00, /* 0xaa [.] */ 0x00, /* 0xab [.] */ 0x00, /* 0xac [.] */ 0x00, /* 0xad [.] */ 0x00, /* 0xae [.] */ 0x00, /* 0xaf [.] */ 0x00, /* 0xb0 [.] */ 0x00, /* 0xb1 [.] */ 0x00, /* 0xb2 [.] */ 0x00, /* 0xb3 [.] */ 0x00, /* 0xb4 [.] */ 0x00, /* 0xb5 [.] */ 0x00, /* 0xb6 [.] */ 0x00, /* 0xb7 [.] */ 0x00, /* 0xb8 [.] */ 0x00, /* 0xb9 [.] */ 0x00, /* 0xba [.] */ 0x00, /* 0xbb [.] */ 0x00, /* 0xbc [.] */ 0x00, /* 0xbd [.] */ 0x00, /* 0xbe [.] */ 0x00, /* 0xbf [.] */ 0x00, /* 0xc0 [.] */ 0x00, /* 0xc1 [.] */ 0x00, /* 0xc2 [.] */ 0x00, /* 0xc3 [.] */ 0x00, /* 0xc4 [.] */ 0x00, /* 0xc5 [.] */ 0x00, /* 0xc6 [.] */ 0x00, /* 0xc7 [.] */ 0x00, /* 0xc8 [.] */ 0x00, /* 0xc9 [.] */ 0x00, /* 0xca [.] */ 0x00, /* 0xcb [.] */ 0x00, /* 0xcc [.] */ 0x00, /* 0xcd [.] */ 0x00, /* 0xce [.] */ 0x00, /* 0xcf [.] */ 0x00, /* 0xd0 [.] */ 0x00, /* 0xd1 [.] */ 0x00, /* 0xd2 [.] */ 0x00, /* 0xd3 [.] */ 0x00, /* 0xd4 [.] */ 0x00, /* 0xd5 [.] */ 0x00, /* 0xd6 [.] */ 0x00, /* 0xd7 [.] */ 0x00, /* 0xd8 [.] */ 0x00, /* 0xd9 [.] */ 0x00, /* 0xda [.] */ 0x00, /* 0xdb [.] */ 0x00, /* 0xdc [.] */ 0x00, /* 0xdd [.] */ 0x00, /* 0xde [.] */ 0x00, /* 0xdf [.] */ 0x00, /* 0xe0 [.] */ 0x00, /* 0xe1 [.] */ 0x00, /* 0xe2 [.] */ 0x00, /* 0xe3 [.] */ 0x00, /* 0xe4 [.] */ 0x00, /* 0xe5 [.] */ 0x00, /* 0xe6 [.] */ 0x00, /* 0xe7 [.] */ 0x00, /* 0xe8 [.] */ 0x00, /* 0xe9 [.] */ 0x00, /* 0xea [.] */ 0x00, /* 0xeb [.] */ 0x00, /* 0xec [.] */ 0x00, /* 0xed [.] */ 0x00, /* 0xee [.] */ 0x00, /* 0xef [.] */ 0x00, /* 0xf0 [.] */ 0x00, /* 0xf1 [.] */ 0x00, /* 0xf2 [.] */ 0x00, /* 0xf3 [.] */ 0x00, /* 0xf4 [.] */ 0x00, /* 0xf5 [.] */ 0x00, /* 0xf6 [.] */ 0x00, /* 0xf7 [.] */ 0x00, /* 0xf8 [.] */ 0x00, /* 0xf9 [.] */ 0x00, /* 0xfa [.] */ 0x00, /* 0xfb [.] */ 0x00, /* 0xfc [.] */ 0x00, /* 0xfd [.] */ 0x00, /* 0xfe [.] */ 0x00, /* 0xff [.] */ 0x00, /* 0x100 */ 0x00, /* 0x101 */ 0x47, /* F1 -> PE */ /* 0x102 */ 0x46, /* F2 -> ST */ /* 0x103 */ 0x45, /* F3 -> TR */ /* 0x104 */ 0x44, /* F4 -> GO */ /* 0x105 */ 0x43, /* F5 -> RE */ /* 0x106 */ 0x42, /* F6 -> MA */ /* 0x107 */ 0x41, /* F7 -> A- */ /* 0x108 */ 0x40, /* F8 -> A+ */ /* 0x109 */ 0x00, /* F9 */ /* 0x10a */ 0x00, /* F10 */ /* 0x10b */ 0x00, /* F11 */ /* 0x10c */ 0x00, /* F12 */ /* 0x10d */ 0x00, /* F13 */ /* 0x10e */ 0x00, /* F14 */ /* 0x10f */ 0x00, /* F15 */ /* 0x110 */ 0x00, /* SHIFT */ /* 0x111 */ 0x00, /* CONTROL */ /* 0x112 */ 0x00, /* ALT */ /* 0x113 */ 0x00, /* ALT_GR */ /* 0x114 */ 0x00, /* LEFT */ /* 0x115 */ 0x00, /* RIGHT */ /* 0x116 */ 0x00, /* DOWN */ /* 0x117 */ 0x00, /* UP */ /* 0x118 */ 0x00, /* HOME */ /* 0x119 */ 0x00, /* END */ /* 0x11a */ 0x00, /* DEL */ /* 0x11b */ 0x00, /* INSERT */ /* 0x11c */ 0x00, /* 0x11d */ 0x00, /* 0x11e */ 0x00, /* PAUSE */ /* 0x11f */ 0x00, /* 0x120 */ 0x00, /* COLOR */ /* 0x121 */ 0x00, /* GRAPHIC */ /* 0x122 */ 0x00, /* LIST */ /* 0x123 */ 0x00, /* RUN */ /* 0x124 */ 0x00, /* STOP */ /* 0x125 */ 0x00, /* SHIFT LOCK */ /* 0x126 */ 0x00, /* 0x127 */ 0x00, /* 0x128 */ 0x00, /* 0x129 */ 0x00, /* 0x12a */ 0x00, /* 0x12b */ 0x00, /* 0x12c */ 0x00, /* 0x12d */ 0x00, /* 0x12e */ 0x00, /* 0x12f */ 0x00, }; #endif /* __kc_vcs80_keydef_h */ KCemu-0.5.1/include/kc/vcs80/Makefile.am0000644000175000017500000000016712417262523017774 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ memory.h \ keydef.h \ keyboard.h \ pio.h KCemu-0.5.1/include/kc/vcs80/memory.h0000644000175000017500000000277312417262523017426 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_vcs80_memory_h #define __kc_vcs80_memory_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class MemoryVCS80 : public Memory { private: byte_t _rom[0x0200]; byte_t _ram[0x0400]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_rom; /* ROM Monitor 0000h - 01ffh */ MemAreaGroup *_m_ram; /* RAM 0400h - 07ffh */ public: MemoryVCS80(void); virtual ~MemoryVCS80(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); virtual void reset(bool power_on = false); }; #endif /* __kc_vcs80_memory_h */ KCemu-0.5.1/include/kc/vcs80/keyboard.h0000644000175000017500000000347012417262523017711 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_vcs80_keyboard_h #define __kc_vcs80_keyboard_h #include "kc/kc.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/keyboard.h" class KeyboardVCS80 : public Keyboard, public PIOCallbackInterface { private: int _key; protected: void init(void); int decode_key(int keysym, bool press); public: KeyboardVCS80(void); virtual ~KeyboardVCS80(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val) {} virtual void callback_B_out(byte_t val) {} }; #endif /* __kc_vcs80_keyboard_h */ KCemu-0.5.1/include/kc/mod_dio.h0000644000175000017500000000253012417262523016554 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_dio_h #define __kc_mod_dio_h #include "kc/module.h" class ModuleDIO : public ModuleInterface { private: CTC *_ctc; PIO *_pio; PortGroup *_portg_ctc; PortGroup *_portg_pio; public: ModuleDIO(ModuleDIO &tmpl); ModuleDIO(const char *name, byte_t id); virtual ~ModuleDIO(void); //virtual byte_t m_in(word_t addr); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_dio_h */ KCemu-0.5.1/include/kc/disass.h0000644000175000017500000000250012417262523016425 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __disass_h #define __disass_h typedef enum { _none, _r_A, _r_B, _r_C, _r_D, _r_E, _r_H, _r_L, _r_BC, _r_DE, _r_HL, _r_SP, _r_AF, _p_BC, _p_DE, _p_HL, _p_SP, _p_IXd, _p_IYd, _p_nn, _i_n, _i_nn, _i_e, _x_0, _x_1, _x_2, _x_3, _x_4, _x_5, _x_6, _x_7, _x_00h, _x_08h,_x_10h, _x_18h, _x_20h, _x_28h, _x_30h, _x_38h } arg_t; typedef struct { char *op; arg_t dest; arg_t src; } opcodes_t; typedef int (*opcode_func_t)(char *, int, int); #endif /* __disass_h */ KCemu-0.5.1/include/kc/fdc9.h0000644000175000017500000000236612417262523015776 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_fdc9_h #define __kc_fdc9_h #include "kc/system.h" #include "kc/fdc.h" class FDC9 : public FDC { public: FDC9(void); virtual ~FDC9(void); virtual long long get_counter(); virtual void add_callback(unsigned long long offset, Callback *cb, void *data); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_fdc9_h */ KCemu-0.5.1/include/kc/mod_auto.h0000644000175000017500000000254312417262523016755 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_auto_h #define __kc_mod_auto_h #include "kc/mod_rom.h" class ModuleAutoStart : public ModuleROM { private: enum { PAGE_SIZE = 0x4000, }; public: ModuleAutoStart(ModuleAutoStart &tmpl); ModuleAutoStart(byte_t *rom, const char *name, dword_t size, byte_t id); virtual ~ModuleAutoStart(void); virtual word_t get_addr(byte_t val); virtual dword_t get_size(byte_t val); virtual byte_t * get_rom_ptr(byte_t val); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_auto_h */ KCemu-0.5.1/include/kc/romdi.h0000644000175000017500000000207112417262523016254 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_romdi_h #define __kc_romdi_h #include "kc/system.h" class ROMDIInterface { public: ROMDIInterface(void) {} virtual ~ROMDIInterface(void) {} virtual void romdi(bool val) = 0; }; #endif /* __kc_romdi_h */ KCemu-0.5.1/include/kc/mod_4131.h0000644000175000017500000000303712417262523016374 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_4131_h #define __kc_mod_4131_h #include "kc/pio.h" #include "kc/module.h" class ModuleXY4131 : public ModuleInterface, public PIOCallbackInterface { private: bool _master; byte_t _val; public: ModuleXY4131(ModuleXY4131 &tmpl); ModuleXY4131(const char *name); virtual ~ModuleXY4131(void); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); /* * ModuleInterface */ virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_4131_h */ KCemu-0.5.1/include/kc/ctc6.h0000644000175000017500000000257312417262523016010 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc6_h #define __kc_ctc6_h #include "kc/system.h" #include "kc/ctc_base.h" class CTC6 : public CTC_Base { public: CTC6(void); virtual ~CTC6(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; #endif /* __kc_ctc6_h */ KCemu-0.5.1/include/kc/Makefile.am0000644000175000017500000000315012417262523017024 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = prefs kcnet kramermc muglerpc vcs80 c80 EXTRA_DIST = \ cb.h \ ic.h \ kc.h \ ctc.h \ ctc1.h \ ctc3.h \ ctc6.h \ ctc8.h \ ctc9.h \ ctc_fdc.h \ pio_dio.h \ pio_vdip.h \ ctc_dio.h \ ctc_base.h \ cb_list.h \ daisy.h \ keyboard.h \ keyb0.h \ keyb0k.h \ keyb1.h \ keyb1k.h \ keyb3.h \ keyb3k.h \ keyb6.h \ keyb8.h \ keyb8k.h \ keyb9.h \ keyb9k.h \ keys.h \ memory.h \ memoryif.h \ memory0.h \ memory1.h \ memory2.h \ memory3.h \ memory4.h \ memory5.h \ memory6.h \ memory7.h \ memory8.h \ memory9.h \ pio.h \ pio0.h \ pio1.h \ pio2.h \ pio3.h \ pio4.h \ pio6.h \ pio8.h \ pio9.h \ ports.h \ ports0.h \ ports4.h \ ports6.h \ plotter.h \ sh_mem.h \ disk_io.h \ gdc.h \ vis.h \ svg.h \ gide.h \ vdip.h \ fdc.h \ fdc0s.h \ fdc4.h \ fdc7.h \ fdc9.h \ fdc_cmd.h \ floppy.h \ module.h \ mod_dio.h \ mod_vdip.h \ mod_ram.h \ mod_ram1.h \ mod_r16.h \ mod_r64.h \ mod_cpm.h \ mod_ram8.h \ mod_64k.h \ mod_128k.h \ mod_256k.h \ mod_512k.h \ mod_1m.h \ mod_4m.h \ mod_rom.h \ mod_urom.h \ mod_auto.h \ mod_rom1.h \ mod_romb.h \ mod_raf.h \ mod_192k.h \ mod_320k.h \ mod_ramf.h \ mod_fdc.h \ mod_gdc.h \ mod_rtc.h \ mod_disk.h \ mod_v24.h \ mod_js.h \ mod_4131.h \ mod_m052.h \ mod_segm.h \ mod_boot.h \ mod_list.h \ profile.h \ tape.h \ disk.h \ timer.h \ timer1.h \ timer3.h \ wav.h \ sound.h \ sound3.h \ sound8.h \ poly880.h \ z80.h \ z80_fdc.h \ romdi.h \ system.h \ memstream.h \ disass.h \ basicrun.h \ basicrun.asm KCemu-0.5.1/include/kc/fdc4.h0000644000175000017500000000236612417262523015771 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_fdc4_h #define __kc_fdc4_h #include "kc/system.h" #include "kc/fdc.h" class FDC4 : public FDC { public: FDC4(void); virtual ~FDC4(void); virtual long long get_counter(); virtual void add_callback(unsigned long long offset, Callback *cb, void *data); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_fdc4_h */ KCemu-0.5.1/include/kc/ctc3.h0000644000175000017500000000271612417262523016004 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc3_h #define __kc_ctc3_h #include "kc/system.h" #include "kc/ctc_base.h" class CTC3 : public CTC_Base { private: enum { CHANNEL_2_CLK = 70000 // 25 Hz }; public: CTC3(void); virtual ~CTC3(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); void info(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; #endif /* __kc_ctc3_h */ KCemu-0.5.1/include/kc/keyb0.h0000644000175000017500000000425712417262523016164 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb0_h #define __kc_keyb0_h #include "kc/prefs/types.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/keyboard.h" class Keyboard0 : public Keyboard, public PIOCallbackInterface { private: enum { SHIFT_DELAY = 5 }; kc_variant_t _variant; private: byte_t _ext; byte_t _value; byte_t _pio_value; bool _control; unsigned int _key; unsigned int _keysym; protected: void init(void); void keyboard_handler(void); void keyboard_handler_rb(void); void keyboard_handler_a2(void); void keyboard_handler_default(void); public: Keyboard0(void); virtual ~Keyboard0(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * set value for keyboard output lines (coming from * the B/D decoder chip */ virtual void set_value(byte_t value); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); }; #endif /* __kc_keyb0_h */ KCemu-0.5.1/include/kc/keyb8.h0000644000175000017500000000336112417262523016167 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb8_h #define __kc_keyb8_h #include "kc/kc.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/keyboard.h" class Keyboard8 : public Keyboard, public PIOCallbackInterface { private: unsigned int _key; protected: void init(void); public: Keyboard8(void); virtual ~Keyboard8(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val) {} virtual void callback_B_out(byte_t val) {} }; #endif /* __kc_keyb8_h */ KCemu-0.5.1/include/kc/mod_raf.h0000644000175000017500000000336712417262523016562 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_raf_h #define __kc_mod_raf_h #include "kc/module.h" class ModuleRAF : public ModuleInterface, public PortInterface { private: byte_t *_ram[2]; byte_t _port; dword_t _size; int _prot[2]; dword_t _addr[2]; PortGroup *_portg; public: ModuleRAF(ModuleRAF &tmpl); ModuleRAF(const char *name, byte_t port, dword_t size); virtual ~ModuleRAF(void); virtual byte_t in_ctrl(int card, word_t addr); virtual byte_t in_data(int card, word_t addr); virtual void out_ctrl(int card, word_t addr, byte_t val); virtual void out_data(int card, word_t addr, byte_t val); /* * ModuleInterface */ virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); virtual void m_out(word_t addr, byte_t val); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_raf_h */ KCemu-0.5.1/include/kc/mod_urom.h0000644000175000017500000000233412417262523016765 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_urom_h #define __kc_mod_urom_h #include "kc/mod_rom.h" class ModuleUserROM : public ModuleROM { public: ModuleUserROM(ModuleUserROM &tmpl); ModuleUserROM(const char *filename, const char *name, dword_t size, byte_t id); virtual ~ModuleUserROM(void); virtual word_t get_addr(byte_t val); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_urom_h */ KCemu-0.5.1/include/kc/sound8.h0000644000175000017500000000374512417262523016373 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_sound8_h #define __kc_sound8_h #include #include "kc/system.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/sound.h" class sndop8 { public: int _val; long long _counter; sndop8(long long counter, int val) { _val = val; _counter = counter; } }; class Sound8 : public Sound, public PIOCallbackInterface, public Callback { private: typedef std::listsndop_list_t; public: enum { SND_BUF_SIZE = 0x8000, SND_BUF_MASK = 0x7FFF }; private: byte_t _val; long long _cnt; long long _snd_cnt; long long *_buf; int _idx_r, _idx_w; sndop_list_t _sndop_list; protected: virtual void sound_callback(void *userdata, unsigned char *stream, int len); public: Sound8(void); virtual ~Sound8(void); virtual void init(void); virtual void start(void); virtual void stop(void); /* * PIOCallbackInterface functions */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); /* * Callback */ void callback(void *data); }; #endif /* __kc_sound8_h */ KCemu-0.5.1/include/kc/memoryif.h0000644000175000017500000000222412417262523016771 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memoryif_h #define __kc_memoryif_h #include "kc/system.h" class MemoryInterface { public: MemoryInterface(void) {} virtual ~MemoryInterface(void) {} virtual byte_t memory_read_byte(word_t addr) = 0; virtual void memory_write_byte(word_t addr, byte_t val) = 0; }; #endif /* __kc_memoryif_h */ KCemu-0.5.1/include/kc/fdc0s.h0000644000175000017500000000237412417262523016147 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_fdc0s_h #define __kc_fdc0s_h #include "kc/system.h" #include "kc/fdc.h" class FDC0S : public FDC { public: FDC0S(void); virtual ~FDC0S(void); virtual long long get_counter(); virtual void add_callback(unsigned long long offset, Callback *cb, void *data); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_fdc0s_h */ KCemu-0.5.1/include/kc/ports6.h0000644000175000017500000000277112417262523016406 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ports6_h #define __kc_ports6_h #include "kc/pio.h" #include "kc/ports.h" class Ports6 : public PortInterface, public PIOCallbackInterface { private: byte_t _val; byte_t _led[8]; protected: virtual void update_led_value(byte_t port_val, byte_t pio_val); public: Ports6(void); virtual ~Ports6(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); virtual byte_t get_led_value(int idx); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); }; #endif /* __kc_ports6_h */ KCemu-0.5.1/include/kc/keyb9k.h0000644000175000017500000002103612417262523016342 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb9k_h #define __kc_keyb9k_h /* * (1) (2) (3) (4) (5) (6) (7) (8) (low) * * (1) 0 1 2 3 4 5 6 7 * (2) 8 9 < + � � � # * (3) ' ? , . - a b * (4) c d e f g h i j * (5) k l m n o p q r * (6) s t u v w x y z * (7) SHIFT ESC CTRL SHLCK ALT F5 F4 F3 * (8) F2 F1 STOP ENTER * (9) SPACE HOME INS DEL LEFT UP DOWN RIGHT */ static unsigned int __keys[] = { /* 0x00 [.] */ 0x00, /* 0x01 [.] */ 0x00, /* 0x02 [.] */ 0x00, /* 0x03 [.] */ 0x00, /* 0x04 [.] */ 0x00, /* 0x05 [.] */ 0x00, /* 0x06 [.] */ 0x00, /* 0x07 [.] */ 0x00, /* 0x08 [.] */ 0x00, /* 0x09 [.] */ 0x00, /* 0x0a [.] */ 0x00, /* 0x0b [.] */ 0x00, /* 0x0c [.] */ 0x00, /* 0x0d [.] */ 0x88, /* ENTER */ /* 0x0e [.] */ 0x00, /* 0x0f [.] */ 0x00, /* 0x10 [.] */ 0x00, /* 0x11 [.] */ 0x00, /* 0x12 [.] */ 0x00, /* 0x13 [.] */ 0x00, /* 0x14 [.] */ 0x00, /* 0x15 [.] */ 0x00, /* 0x16 [.] */ 0x00, /* 0x17 [.] */ 0x00, /* 0x18 [.] */ 0x00, /* 0x19 [.] */ 0x00, /* 0x1a [.] */ 0x00, /* 0x1b [.] */ 0x72, /* ESC | CL LN */ /* 0x1c [.] */ 0x00, /* 0x1d [.] */ 0x00, /* 0x1e [.] */ 0x00, /* 0x1f [.] */ 0x00, /* 0x20 [ ] */ 0x91, /* SPACE */ /* 0x21 [!] */ 0x12, /* 0x22 ["] */ 0x13, /* 0x23 [#] */ 0x28, /* 0x24 [$] */ 0x15, /* 0x25 [%] */ 0x16, /* 0x26 [&] */ 0x17, /* 0x27 ['] */ 0x31, /* 0x28 [(] */ 0x21, /* 0x29 [)] */ 0x22, /* 0x2a [*] */ 0x24, /* 0x2b [+] */ 0x24, /* 0x2c [,] */ 0x33, /* 0x2d [-] */ 0x35, /* 0x2e [.] */ 0x34, /* 0x2f [/] */ 0x18, /* 0x30 [0] */ 0x11, /* 0x31 [1] */ 0x12, /* 0x32 [2] */ 0x13, /* 0x33 [3] */ 0x14, /* 0x34 [4] */ 0x15, /* 0x35 [5] */ 0x16, /* 0x36 [6] */ 0x17, /* 0x37 [7] */ 0x18, /* 0x38 [8] */ 0x21, /* 0x39 [9] */ 0x22, /* 0x3a [:] */ 0x34, /* 0x3b [;] */ 0x33, /* 0x3c [<] */ 0x23, /* 0x3d [=] */ 0x11, /* 0x3e [>] */ 0x00, /* 0x3f [?] */ 0x23, /* 0x40 [@] */ 0x00, /* 0x41 [A] */ 0x37, /* 0x42 [B] */ 0x38, /* 0x43 [C] */ 0x41, /* 0x44 [D] */ 0x42, /* 0x45 [E] */ 0x43, /* 0x46 [F] */ 0x44, /* 0x47 [G] */ 0x45, /* 0x48 [H] */ 0x46, /* 0x49 [I] */ 0x47, /* 0x4a [J] */ 0x48, /* 0x4b [K] */ 0x51, /* 0x4c [L] */ 0x52, /* 0x4d [M] */ 0x53, /* 0x4e [N] */ 0x54, /* 0x4f [O] */ 0x55, /* 0x50 [P] */ 0x56, /* 0x51 [Q] */ 0x57, /* 0x52 [R] */ 0x58, /* 0x53 [S] */ 0x61, /* 0x54 [T] */ 0x62, /* 0x55 [U] */ 0x63, /* 0x56 [V] */ 0x64, /* 0x57 [W] */ 0x65, /* 0x58 [X] */ 0x66, /* 0x59 [Y] */ 0x67, /* 0x5a [Z] */ 0x68, /* 0x5b [[] */ 0x00, /* 0x5c [\] */ 0x14, /* 0x5d []] */ 0x00, /* 0x5e [^] */ 0x00, /* 0x5f [_] */ 0x35, /* 0x60 [`] */ 0x00, /* 0x61 [a] */ 0x37, /* 0x62 [b] */ 0x38, /* 0x63 [c] */ 0x41, /* 0x64 [d] */ 0x42, /* 0x65 [e] */ 0x43, /* 0x66 [f] */ 0x44, /* 0x67 [g] */ 0x45, /* 0x68 [h] */ 0x46, /* 0x69 [i] */ 0x47, /* 0x6a [j] */ 0x48, /* 0x6b [k] */ 0x51, /* 0x6c [l] */ 0x52, /* 0x6d [m] */ 0x53, /* 0x6e [n] */ 0x54, /* 0x6f [o] */ 0x55, /* 0x70 [p] */ 0x56, /* 0x71 [q] */ 0x57, /* 0x72 [r] */ 0x58, /* 0x73 [s] */ 0x61, /* 0x74 [t] */ 0x62, /* 0x75 [u] */ 0x63, /* 0x76 [v] */ 0x64, /* 0x77 [w] */ 0x65, /* 0x78 [x] */ 0x66, /* 0x79 [y] */ 0x67, /* 0x7a [z] */ 0x68, /* 0x7b [{] */ 0x00, /* 0x7c [|] */ 0x00, /* 0x7d [}] */ 0x00, /* 0x7e [~] */ 0x00, /* 0x7f [.] */ 0x00, /* 0x80 [.] */ 0x00, /* 0x81 [.] */ 0x00, /* 0x82 [.] */ 0x00, /* 0x83 [.] */ 0x00, /* 0x84 [.] */ 0x00, /* 0x85 [.] */ 0x00, /* 0x86 [.] */ 0x00, /* 0x87 [.] */ 0x00, /* 0x88 [.] */ 0x00, /* 0x89 [.] */ 0x00, /* 0x8a [.] */ 0x00, /* 0x8b [.] */ 0x00, /* 0x8c [.] */ 0x00, /* 0x8d [.] */ 0x00, /* 0x8e [.] */ 0x00, /* 0x8f [.] */ 0x00, /* 0x90 [.] */ 0x00, /* 0x91 [.] */ 0x00, /* 0x92 [.] */ 0x00, /* 0x93 [.] */ 0x00, /* 0x94 [.] */ 0x00, /* 0x95 [.] */ 0x00, /* 0x96 [.] */ 0x00, /* 0x97 [.] */ 0x00, /* 0x98 [.] */ 0x00, /* 0x99 [.] */ 0x00, /* 0x9a [.] */ 0x00, /* 0x9b [.] */ 0x00, /* 0x9c [.] */ 0x00, /* 0x9d [.] */ 0x00, /* 0x9e [.] */ 0x00, /* 0x9f [.] */ 0x00, /* 0xa0 [.] */ 0x00, /* 0xa1 [.] */ 0x00, /* 0xa2 [.] */ 0x00, /* 0xa3 [.] */ 0x00, /* 0xa4 [.] */ 0x00, /* 0xa5 [.] */ 0x00, /* 0xa6 [.] */ 0x00, /* 0xa7 [.] */ 0x00, /* 0xa8 [.] */ 0x00, /* 0xa9 [.] */ 0x00, /* 0xaa [.] */ 0x00, /* 0xab [.] */ 0x00, /* 0xac [.] */ 0x00, /* 0xad [.] */ 0x00, /* 0xae [.] */ 0x00, /* 0xaf [.] */ 0x00, /* 0xb0 [.] */ 0x00, /* 0xb1 [.] */ 0x00, /* 0xb2 [.] */ 0x00, /* 0xb3 [.] */ 0x00, /* 0xb4 [.] */ 0x00, /* 0xb5 [.] */ 0x00, /* 0xb6 [.] */ 0x00, /* 0xb7 [.] */ 0x00, /* 0xb8 [.] */ 0x00, /* 0xb9 [.] */ 0x00, /* 0xba [.] */ 0x00, /* 0xbb [.] */ 0x00, /* 0xbc [.] */ 0x00, /* 0xbd [.] */ 0x00, /* 0xbe [.] */ 0x00, /* 0xbf [.] */ 0x00, /* 0xc0 [.] */ 0x00, /* 0xc1 [.] */ 0x00, /* 0xc2 [.] */ 0x00, /* 0xc3 [.] */ 0x00, /* 0xc4 [.] */ 0x00, /* 0xc5 [.] */ 0x00, /* 0xc6 [.] */ 0x00, /* 0xc7 [.] */ 0x00, /* 0xc8 [.] */ 0x00, /* 0xc9 [.] */ 0x00, /* 0xca [.] */ 0x00, /* 0xcb [.] */ 0x00, /* 0xcc [.] */ 0x00, /* 0xcd [.] */ 0x00, /* 0xce [.] */ 0x00, /* 0xcf [.] */ 0x00, /* 0xd0 [.] */ 0x00, /* 0xd1 [.] */ 0x00, /* 0xd2 [.] */ 0x00, /* 0xd3 [.] */ 0x00, /* 0xd4 [.] */ 0x00, /* 0xd5 [.] */ 0x00, /* 0xd6 [.] */ 0x00, /* 0xd7 [.] */ 0x00, /* 0xd8 [.] */ 0x00, /* 0xd9 [.] */ 0x00, /* 0xda [.] */ 0x00, /* 0xdb [.] */ 0x00, /* 0xdc [.] */ 0x00, /* 0xdd [.] */ 0x00, /* 0xde [.] */ 0x00, /* 0xdf [.] */ 0x00, /* 0xe0 [.] */ 0x00, /* 0xe1 [.] */ 0x00, /* 0xe2 [.] */ 0x00, /* 0xe3 [.] */ 0x00, /* 0xe4 [.] */ 0x00, /* 0xe5 [.] */ 0x00, /* 0xe6 [.] */ 0x00, /* 0xe7 [.] */ 0x00, /* 0xe8 [.] */ 0x00, /* 0xe9 [.] */ 0x00, /* 0xea [.] */ 0x00, /* 0xeb [.] */ 0x00, /* 0xec [.] */ 0x00, /* 0xed [.] */ 0x00, /* 0xee [.] */ 0x00, /* 0xef [.] */ 0x00, /* 0xf0 [.] */ 0x00, /* 0xf1 [.] */ 0x00, /* 0xf2 [.] */ 0x00, /* 0xf3 [.] */ 0x00, /* 0xf4 [.] */ 0x00, /* 0xf5 [.] */ 0x00, /* 0xf6 [.] */ 0x00, /* 0xf7 [.] */ 0x00, /* 0xf8 [.] */ 0x00, /* 0xf9 [.] */ 0x00, /* 0xfa [.] */ 0x00, /* 0xfb [.] */ 0x00, /* 0xfc [.] */ 0x00, /* 0xfd [.] */ 0x00, /* 0xfe [.] */ 0x00, /* 0xff [.] */ 0x00, /* 0x100 */ 0x00, /* 0x101 */ 0x82, /* F1 */ /* 0x102 */ 0x81, /* F2 */ /* 0x103 */ 0x78, /* F3 */ /* 0x104 */ 0x77, /* F4 */ /* 0x105 */ 0x76, /* F5 */ /* 0x106 */ 0x00, /* 0x107 */ 0x83, /* 0x108 */ 0x84, /* 0x109 */ 0x85, /* 0x10a */ 0x86, /* 0x10b */ 0x87, /* 0x10c */ 0x36, /* 0x10d */ 0x00, /* 0x10e */ 0x00, /* 0x10f */ 0x00, /* 0x110 */ 0x71, /* SHIFT */ /* 0x111 */ 0x73, /* CONTROL */ /* 0x112 */ 0x75, /* ALT */ /* 0x113 */ 0x00, /* ALT_GR */ /* 0x114 */ 0x95, /* LEFT */ /* 0x115 */ 0x98, /* RIGHT */ /* 0x116 */ 0x97, /* DOWN */ /* 0x117 */ 0x96, /* UP */ /* 0x118 */ 0x92, /* HOME */ /* 0x119 */ 0x00, /* END */ /* 0x11a */ 0x94, /* DEL */ /* 0x11b */ 0x93, /* INSERT */ /* 0x11c */ 0x00, /* 0x11d */ 0x00, /* 0x11e */ 0x85, /* PAUSE */ /* 0x11f */ 0x00, /* 0x120 */ 0x00, /* COLOR */ /* 0x121 */ 0x00, /* GRAPHIC */ /* 0x122 */ 0x00, /* LIST */ /* 0x123 */ 0x00, /* RUN */ /* 0x124 */ 0x00, /* STOP */ /* 0x125 */ 0x74, /* SHIFT LOCK */ /* 0x126 */ 0x00, /* 0x127 */ 0x00, /* 0x128 */ 0x00, /* 0x129 */ 0x00, /* 0x12a */ 0x00, /* 0x12b */ 0x00, /* 0x12c */ 0x00, /* 0x12d */ 0x00, /* 0x12e */ 0x00, /* 0x12f */ 0x00, }; #endif /* __kc_keyb9k_h */ KCemu-0.5.1/include/kc/keyb1.h0000644000175000017500000000366012417262523016162 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb1_h #define __kc_keyb1_h #include "kc/kc.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/keyboard.h" class Keyboard1 : public Keyboard, public PIOCallbackInterface { public: enum { MAX_KEYS = 8, }; private: struct _keybuf { int sym; int code; } _keybuf[MAX_KEYS]; int _shift; int _control; bool _in_callback; protected: void init(void); int decode_key(int keysym, bool press); public: Keyboard1(void); virtual ~Keyboard1(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val) {} virtual void callback_B_out(byte_t val) {} }; #endif /* __kc_keyb1_h */ KCemu-0.5.1/include/kc/ic.h0000644000175000017500000000441112417262523015535 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ic_h #define __kc_ic_h #include #include #include #include "kc/system.h" #define IRQ_NOT_ACK (0x100) class InterfaceCircuit { private: /** * input value of the daisy chain. */ int _iei; /** * will be set between reti_ED() and reti_4D() by elements * of the daisy chain that have an interrupt pending but * not acknowledged */ int _ieo_reti; /** * interrupt is requested but not yet aknowledged by the cpu */ int _irqreq; /** * interrupt is aknowledged and the interrupt service routine * is still running */ int _irqactive; char *_name; InterfaceCircuit *_next; InterfaceCircuit *_prev; public: InterfaceCircuit(const char *name); virtual ~InterfaceCircuit(void); virtual void debug(void); virtual const char * const get_ic_name(); virtual void reti(void) = 0; virtual void irqreq(void) = 0; virtual word_t irqack(void) = 0; virtual void irq(void); virtual word_t ack(void); virtual void iei(byte_t val); virtual byte_t ieo(void); virtual void prev(InterfaceCircuit *ic); virtual void next(InterfaceCircuit *ic); virtual InterfaceCircuit * get_prev(); virtual InterfaceCircuit * get_next(); virtual InterfaceCircuit * get_first(); virtual InterfaceCircuit * get_last(); virtual void reti_ED(void); virtual void reti_4D(void); virtual void reset(bool power_on = false); }; #endif /* __kc_ic_h */ KCemu-0.5.1/include/kc/pio2.h0000644000175000017500000000246012417262523016015 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio2_h #define __kc_pio2_h #include "kc/pio.h" #include "kc/tape.h" class PIO2 : public PIO, public TapeCallback { protected: virtual void change_A(byte_t changed, byte_t val); virtual void change_B(byte_t changed, byte_t val); public: PIO2(void); virtual ~PIO2(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); /* * TapeCallback */ virtual void tape_callback(byte_t val); }; #endif /* __kc_pio2_h */ KCemu-0.5.1/include/kc/pio_dio.h0000644000175000017500000000234612417262523016571 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio_dio_h #define __kc_pio_dio_h #include "kc/pio.h" #include "kc/tape.h" class PIO_DIO : public PIO { protected: virtual void change_A(byte_t changed, byte_t val); virtual void change_B(byte_t changed, byte_t val); public: PIO_DIO(void); virtual ~PIO_DIO(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_pio_dio_h */ KCemu-0.5.1/include/kc/mod_romb.h0000644000175000017500000000326712417262523016750 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_romb_h #define __kc_mod_romb_h #include "kc/romdi.h" #include "kc/ports.h" #include "kc/memory.h" #include "kc/module.h" class ModuleROMBank : public ModuleInterface, public PortInterface { private: enum { ROM_BANK_SIZE = 0x20000, }; private: int _bank; byte_t *_rom; MemAreaGroup *_group; PortGroup *_portg; protected: virtual void activate_bank(void); public: ModuleROMBank(ModuleROMBank &tmpl); ModuleROMBank(const char *filename, const char *name); virtual ~ModuleROMBank(void); /* * ModuleInterface */ virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); virtual void m_out(word_t addr, byte_t val); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_romb_h */ KCemu-0.5.1/include/kc/gide.h0000644000175000017500000000562712417262523016064 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_gide_h #define __kc_gide_h #include "kc/system.h" #include "kc/ports.h" typedef struct hard_disk_config { int nr_of_cylinders; int nr_of_heads; int nr_of_sectors; const char *name; const char *filename; } hard_disk_config_t; class GIDE : public PortInterface { private: enum { GIDE_STATUS_ERROR = (1 << 0), GIDE_STATUS_INDEX = (1 << 1), GIDE_STATUS_CORRECTED_DATA = (1 << 2), GIDE_STATUS_DATA_REQUEST = (1 << 3), GIDE_STATUS_SEEK_COMPLETE = (1 << 4), GIDE_STATUS_WRITE_FAULT = (1 << 5), GIDE_STATUS_READY = (1 << 6), GIDE_STATUS_BUSY = (1 << 7), GIDE_STATUS_ALL = 0xff, }; enum { GIDE_RTC_REG_F_TEST = (1 << 3), GIDE_RTC_REG_F_12_24 = (1 << 2), GIDE_RTC_REG_F_STOP = (1 << 1), GIDE_RTC_REG_F_RESET = (1 << 0), }; private: int _cylinder; int _sector; int _sector_count; int _head; int _drive; int _error; byte_t _status; word_t _rtc_register; byte_t _sector_buffer[512]; hard_disk_config_t _hard_disk_config[2]; private: void set_drive_id(void); void set_drive_id_word(byte_t *buf, int val); void set_drive_id_string(byte_t *buf, int maxlen, const char *str); bool seek(FILE *file, int cylinder, int head, int sector); protected: byte_t in_rtc(word_t addr); byte_t in_data(void); byte_t in_error(void); byte_t in_sector_count(); byte_t in_sector_number(); byte_t in_cylinder_low(); byte_t in_cylinder_high(); byte_t in_drive_head(); byte_t in_status(void); void out_rtc(word_t addr, byte_t val); void out_data(byte_t val); void out_command(byte_t val); void out_digital_output(byte_t val); void out_sector_count(byte_t val); void out_sector_number(byte_t val); void out_cylinder_low(byte_t val); void out_cylinder_high(byte_t val); void out_drive_head(byte_t val); void set_status(byte_t mask, byte_t val); public: GIDE(void); virtual ~GIDE(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; #endif /* __kc_gide_h */ KCemu-0.5.1/include/kc/mod_rom.h0000644000175000017500000000317112417262523016600 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_rom_h #define __kc_mod_rom_h #include "kc/module.h" #include "kc/memory.h" class ModuleROM : public ModuleInterface { protected: byte_t _id; byte_t _val; dword_t _size; byte_t *_rom; MemAreaGroup *_group; public: ModuleROM(ModuleROM &tmpl); ModuleROM(byte_t *rom, const char *name, dword_t size, byte_t id); ModuleROM(const char *rom_key, const char *name, byte_t id); ModuleROM(const char *filename, const char *name, dword_t size, byte_t id); virtual ~ModuleROM(void); virtual word_t get_addr(byte_t val); virtual dword_t get_size(byte_t val); virtual byte_t * get_rom_ptr(byte_t val); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_rom_h */ KCemu-0.5.1/include/kc/mod_list.h0000644000175000017500000000516312417262523016761 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_list_h #define __kc_mod_list_h #include #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/kc.h" #include "kc/module.h" using namespace std; class ModuleListEntry { private: char *_name; kc_type_t _type; ModuleInterface *_mod; public: ModuleListEntry(const char *name, ModuleInterface *mod, kc_type_t type) { _mod = mod; _type = type; _name = strdup(name); } virtual ~ModuleListEntry(void) { free(_name); } virtual ModuleInterface * get_mod(void) { return _mod; } virtual const char * get_name(void) { return _name; } virtual kc_type_t get_kc_type() { return _type; } }; class ModuleList { private: enum { MAX_BD = 4, }; int _nr_of_bd; char *_init_mod[4 * MAX_BD + 2]; ModuleListEntry *_color_expansion; ModuleListEntry *_init_floppy_basis_f8; ModuleListEntry *_init_floppy_basis_fc; ModuleListEntry *_init_color_expansion; public: typedef list mod_list_t; typedef mod_list_t::iterator iterator; private: mod_list_t _mod_list; protected: virtual void add_custom_modules(void); virtual void init_modules(int max_modules); virtual int init_modules_autostart(int idx); virtual int init_modules_configfile(int idx, int max_modules); virtual int init_modules_commandline(int idx, int max_modules, const char *param); public: ModuleList(void); virtual ~ModuleList(void); virtual void init(void); virtual int get_nr_of_busdrivers(void) { return _nr_of_bd; } ModuleListEntry * get_color_expansion(); virtual void insert(int slot, ModuleListEntry *entry); virtual iterator begin(void) { return _mod_list.begin(); } virtual iterator end(void) { return _mod_list.end(); } }; #endif /* __kc_mod_list_h */ KCemu-0.5.1/include/kc/mod_256k.h0000644000175000017500000000242212417262523016470 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_256k_h #define __kc_mod_256k_h #include "kc/mod_segm.h" class Module256k : public ModuleSegmentedMemory { protected: virtual word_t get_base_address(word_t addr, byte_t val); virtual int get_segment_index(word_t addr, byte_t val); public: Module256k(Module256k &tmpl); Module256k(const char *name, byte_t id); virtual ~Module256k(void); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_256k_h */ KCemu-0.5.1/include/kc/keyb9.h0000644000175000017500000000332412417262523016167 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb9_h #define __kc_keyb9_h #include "kc/kc.h" #include "kc/keyboard.h" class Keyboard9 : public Keyboard { public: enum { MAX_KEYS = 8, }; private: byte_t _line; unsigned int _key; struct _keybuf { int sym; int code; } _keybuf[MAX_KEYS]; protected: void init(void); int decode_key(int keysym, bool press); public: Keyboard9(void); virtual ~Keyboard9(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); virtual void set_val(byte_t val); virtual byte_t get_val(); }; #endif /* __kc_keyb9_h */ KCemu-0.5.1/include/kc/c80/0000755000175000017500000000000012417262523015363 5ustar glaubitzglaubitzKCemu-0.5.1/include/kc/c80/pio.h0000644000175000017500000000265612417262523016334 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_c80_pio_h #define __kc_c80_pio_h #include "kc/pio.h" #include "kc/ports.h" class PIOC80_1 : public PIO { public: PIOC80_1(void); virtual ~PIOC80_1(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; class PIOC80_2 : public PIO { public: PIOC80_2(void); virtual ~PIOC80_2(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; #endif /* __kc_c80_pio_h */ KCemu-0.5.1/include/kc/c80/display.h0000644000175000017500000000302512417262523017201 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_c80_display_h #define __kc_c80_display_h #include "kc/cb.h" #include "kc/pio.h" class DisplayC80 : public Callback, public PIOCallbackInterface { private: enum { C80_NR_OF_LEDS = 8, C80_DISPLAY_CB_OFFSET = 2000 }; int _idx; bool _reset; byte_t _led_value[C80_NR_OF_LEDS]; public: DisplayC80(void); virtual ~DisplayC80(void); virtual byte_t get_led_value(int idx); /* * Callback */ virtual void callback(void *data); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); }; #endif /* __kc_c80_display_h */ KCemu-0.5.1/include/kc/c80/keydef.h0000644000175000017500000002216112417262523017005 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_c80_keydef_h #define __kc_c80_keydef_h /* * 01 (1) 02 (2) 04 (3) 08 (4) 10 (5) 20 (6) 40 (7) 80 (8) * | | | | | | | | * *-[ 1]-* *-[ 2]-* *-[ 3]-* *-[ 4]-+ *-[ 5]-* *-[ 6]-* *-[ 7]-* *-[ 8]-* * | REG | | GO | | D | | A | | 7 | | 4 | | 1 | | FCN | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*-- A0 (01) * | | | | | | | | * *-[ 9]-* *-[10]-* *-[11]-* *-[12]-+ *-[13]-* *-[14]-* *-[15]-* *-[16]-* * | + | | - | | E | | B | | 8 | | 5 | | 2 | | 0 | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*-- A1 (02) * | | | | | | | | * *-[17]-* *-[18]-* *-[19]-* *-[20]-+ *-[21]-* *-[22]-* *-[23]-* *-[24]-* * | | F | C | 9 | 6 | 3 | MEM | * *--------*--------*--------*--------*--------*--------*--------*-- A2 (04) * */ static unsigned int __keys[] = { /* 0x00 [.] */ 0x00, /* 0x01 [.] */ 0x00, /* 0x02 [.] */ 0x00, /* 0x03 [.] */ 0x00, /* 0x04 [.] */ 0x00, /* 0x05 [.] */ 0x00, /* 0x06 [.] */ 0x00, /* 0x07 [.] */ 0x00, /* 0x08 [.] */ 0x00, /* 0x09 [.] */ 0x00, /* 0x0a [.] */ 0x00, /* 0x0b [.] */ 0x00, /* 0x0c [.] */ 0x00, /* 0x0d [.] */ 0x0180, /* ENTER */ /* 0x0e [.] */ 0x00, /* 0x0f [.] */ 0x00, /* 0x10 [.] */ 0x00, /* 0x11 [.] */ 0x00, /* 0x12 [.] */ 0x00, /* 0x13 [.] */ 0x00, /* 0x14 [.] */ 0x00, /* 0x15 [.] */ 0x00, /* 0x16 [.] */ 0x00, /* 0x17 [.] */ 0x00, /* 0x18 [.] */ 0x00, /* 0x19 [.] */ 0x00, /* 0x1a [.] */ 0x00, /* 0x1b [.] */ 0x00, /* ESC */ /* 0x1c [.] */ 0x00, /* 0x1d [.] */ 0x00, /* 0x1e [.] */ 0x00, /* 0x1f [.] */ 0x00, /* 0x20 [ ] */ 0x00, /* SPACE */ /* 0x21 [!] */ 0x00, /* 0x22 ["] */ 0x00, /* 0x23 [#] */ 0x00, /* 0x24 [$] */ 0x00, /* 0x25 [%] */ 0x00, /* 0x26 [&] */ 0x00, /* 0x27 ['] */ 0x00, /* 0x28 [(] */ 0x00, /* 0x29 [)] */ 0x00, /* 0x2a [*] */ 0x00, /* 0x2b [+] */ 0x0201, /* 0x2c [,] */ 0x00, /* 0x2d [-] */ 0x0202, /* 0x2e [.] */ 0x00, /* 0x2f [/] */ 0x00, /* 0x30 [0] */ 0x0280, /* 0x31 [1] */ 0x0140, /* 0x32 [2] */ 0x0240, /* 0x33 [3] */ 0x0440, /* 0x34 [4] */ 0x0120, /* 0x35 [5] */ 0x0220, /* 0x36 [6] */ 0x0420, /* 0x37 [7] */ 0x0110, /* 0x38 [8] */ 0x0210, /* 0x39 [9] */ 0x0410, /* 0x3a [:] */ 0x00, /* 0x3b [;] */ 0x00, /* 0x3c [<] */ 0x00, /* 0x3d [=] */ 0x00, /* 0x3e [>] */ 0x00, /* 0x3f [?] */ 0x00, /* 0x40 [@] */ 0x00, /* 0x41 [A] */ 0x0108, /* 0x42 [B] */ 0x0208, /* 0x43 [C] */ 0x0408, /* 0x44 [D] */ 0x0104, /* 0x45 [E] */ 0x0204, /* 0x46 [F] */ 0x0404, /* 0x47 [G] */ 0x0102, /* 0x48 [H] */ 0x00, /* 0x49 [I] */ 0x00, /* 0x4a [J] */ 0x00, /* 0x4b [K] */ 0x00, /* 0x4c [L] */ 0x00, /* 0x4d [M] */ 0x0480, /* 0x4e [N] */ 0x00, /* 0x4f [O] */ 0x00, /* 0x50 [P] */ 0x00, /* 0x51 [Q] */ 0x00, /* 0x52 [R] */ 0x0101, /* 0x53 [S] */ 0x00, /* 0x54 [T] */ 0x00, /* 0x55 [U] */ 0x00, /* 0x56 [V] */ 0x00, /* 0x57 [W] */ 0x00, /* 0x58 [X] */ 0x00, /* 0x59 [Y] */ 0x00, /* 0x5a [Z] */ 0x00, /* 0x5b [[] */ 0x00, /* 0x5c [\] */ 0x00, /* 0x5d []] */ 0x00, /* 0x5e [^] */ 0x00, /* 0x5f [_] */ 0x00, /* 0x60 [`] */ 0x00, /* 0x61 [a] */ 0x0108, /* 0x62 [b] */ 0x0208, /* 0x63 [c] */ 0x0408, /* 0x64 [d] */ 0x0104, /* 0x65 [e] */ 0x0204, /* 0x66 [f] */ 0x0404, /* 0x67 [g] */ 0x0102, /* 0x68 [h] */ 0x00, /* 0x69 [i] */ 0x00, /* 0x6a [j] */ 0x00, /* 0x6b [k] */ 0x00, /* 0x6c [l] */ 0x00, /* 0x6d [m] */ 0x0480, /* 0x6e [n] */ 0x00, /* 0x6f [o] */ 0x00, /* 0x70 [p] */ 0x00, /* 0x71 [q] */ 0x00, /* 0x72 [r] */ 0x0101, /* 0x73 [s] */ 0x00, /* 0x74 [t] */ 0x00, /* 0x75 [u] */ 0x00, /* 0x76 [v] */ 0x00, /* 0x77 [w] */ 0x00, /* 0x78 [x] */ 0x00, /* 0x79 [y] */ 0x00, /* 0x7a [z] */ 0x00, /* 0x7b [{] */ 0x00, /* 0x7c [|] */ 0x00, /* 0x7d [}] */ 0x00, /* 0x7e [~] */ 0x00, /* 0x7f [.] */ 0x00, /* 0x80 [.] */ 0x00, /* 0x81 [.] */ 0x00, /* 0x82 [.] */ 0x00, /* 0x83 [.] */ 0x00, /* 0x84 [.] */ 0x00, /* 0x85 [.] */ 0x00, /* 0x86 [.] */ 0x00, /* 0x87 [.] */ 0x00, /* 0x88 [.] */ 0x00, /* 0x89 [.] */ 0x00, /* 0x8a [.] */ 0x00, /* 0x8b [.] */ 0x00, /* 0x8c [.] */ 0x00, /* 0x8d [.] */ 0x00, /* 0x8e [.] */ 0x00, /* 0x8f [.] */ 0x00, /* 0x90 [.] */ 0x00, /* 0x91 [.] */ 0x00, /* 0x92 [.] */ 0x00, /* 0x93 [.] */ 0x00, /* 0x94 [.] */ 0x00, /* 0x95 [.] */ 0x00, /* 0x96 [.] */ 0x00, /* 0x97 [.] */ 0x00, /* 0x98 [.] */ 0x00, /* 0x99 [.] */ 0x00, /* 0x9a [.] */ 0x00, /* 0x9b [.] */ 0x00, /* 0x9c [.] */ 0x00, /* 0x9d [.] */ 0x00, /* 0x9e [.] */ 0x00, /* 0x9f [.] */ 0x00, /* 0xa0 [.] */ 0x00, /* 0xa1 [.] */ 0x00, /* 0xa2 [.] */ 0x00, /* 0xa3 [.] */ 0x00, /* 0xa4 [.] */ 0x00, /* 0xa5 [.] */ 0x00, /* 0xa6 [.] */ 0x00, /* 0xa7 [.] */ 0x00, /* 0xa8 [.] */ 0x00, /* 0xa9 [.] */ 0x00, /* 0xaa [.] */ 0x00, /* 0xab [.] */ 0x00, /* 0xac [.] */ 0x00, /* 0xad [.] */ 0x00, /* 0xae [.] */ 0x00, /* 0xaf [.] */ 0x00, /* 0xb0 [.] */ 0x00, /* 0xb1 [.] */ 0x00, /* 0xb2 [.] */ 0x00, /* 0xb3 [.] */ 0x00, /* 0xb4 [.] */ 0x00, /* 0xb5 [.] */ 0x00, /* 0xb6 [.] */ 0x00, /* 0xb7 [.] */ 0x00, /* 0xb8 [.] */ 0x00, /* 0xb9 [.] */ 0x00, /* 0xba [.] */ 0x00, /* 0xbb [.] */ 0x00, /* 0xbc [.] */ 0x00, /* 0xbd [.] */ 0x00, /* 0xbe [.] */ 0x00, /* 0xbf [.] */ 0x00, /* 0xc0 [.] */ 0x00, /* 0xc1 [.] */ 0x00, /* 0xc2 [.] */ 0x00, /* 0xc3 [.] */ 0x00, /* 0xc4 [.] */ 0x00, /* 0xc5 [.] */ 0x00, /* 0xc6 [.] */ 0x00, /* 0xc7 [.] */ 0x00, /* 0xc8 [.] */ 0x00, /* 0xc9 [.] */ 0x00, /* 0xca [.] */ 0x00, /* 0xcb [.] */ 0x00, /* 0xcc [.] */ 0x00, /* 0xcd [.] */ 0x00, /* 0xce [.] */ 0x00, /* 0xcf [.] */ 0x00, /* 0xd0 [.] */ 0x00, /* 0xd1 [.] */ 0x00, /* 0xd2 [.] */ 0x00, /* 0xd3 [.] */ 0x00, /* 0xd4 [.] */ 0x00, /* 0xd5 [.] */ 0x00, /* 0xd6 [.] */ 0x00, /* 0xd7 [.] */ 0x00, /* 0xd8 [.] */ 0x00, /* 0xd9 [.] */ 0x00, /* 0xda [.] */ 0x00, /* 0xdb [.] */ 0x00, /* 0xdc [.] */ 0x00, /* 0xdd [.] */ 0x00, /* 0xde [.] */ 0x00, /* 0xdf [.] */ 0x00, /* 0xe0 [.] */ 0x00, /* 0xe1 [.] */ 0x00, /* 0xe2 [.] */ 0x00, /* 0xe3 [.] */ 0x00, /* 0xe4 [.] */ 0x00, /* 0xe5 [.] */ 0x00, /* 0xe6 [.] */ 0x00, /* 0xe7 [.] */ 0x00, /* 0xe8 [.] */ 0x00, /* 0xe9 [.] */ 0x00, /* 0xea [.] */ 0x00, /* 0xeb [.] */ 0x00, /* 0xec [.] */ 0x00, /* 0xed [.] */ 0x00, /* 0xee [.] */ 0x00, /* 0xef [.] */ 0x00, /* 0xf0 [.] */ 0x00, /* 0xf1 [.] */ 0x00, /* 0xf2 [.] */ 0x00, /* 0xf3 [.] */ 0x00, /* 0xf4 [.] */ 0x00, /* 0xf5 [.] */ 0x00, /* 0xf6 [.] */ 0x00, /* 0xf7 [.] */ 0x00, /* 0xf8 [.] */ 0x00, /* 0xf9 [.] */ 0x00, /* 0xfa [.] */ 0x00, /* 0xfb [.] */ 0x00, /* 0xfc [.] */ 0x00, /* 0xfd [.] */ 0x00, /* 0xfe [.] */ 0x00, /* 0xff [.] */ 0x00, /* 0x100 */ 0x00, /* 0x101 */ 0x00, /* F1 */ /* 0x102 */ 0x00, /* F2 */ /* 0x103 */ 0x00, /* F3 */ /* 0x104 */ 0x00, /* F4 */ /* 0x105 */ 0x00, /* F5 */ /* 0x106 */ 0x00, /* F6 */ /* 0x107 */ 0x00, /* F7 */ /* 0x108 */ 0x00, /* F8 */ /* 0x109 */ 0x00, /* F9 */ /* 0x10a */ 0x00, /* F10 */ /* 0x10b */ 0x00, /* F11 */ /* 0x10c */ 0x00, /* F12 */ /* 0x10d */ 0x00, /* F13 */ /* 0x10e */ 0x00, /* F14 */ /* 0x10f */ 0x00, /* F15 */ /* 0x110 */ 0x00, /* SHIFT */ /* 0x111 */ 0x00, /* CONTROL */ /* 0x112 */ 0x00, /* ALT */ /* 0x113 */ 0x00, /* ALT_GR */ /* 0x114 */ 0x00, /* LEFT */ /* 0x115 */ 0x00, /* RIGHT */ /* 0x116 */ 0x00, /* DOWN */ /* 0x117 */ 0x00, /* UP */ /* 0x118 */ 0x00, /* HOME */ /* 0x119 */ 0x00, /* END */ /* 0x11a */ 0x00, /* DEL */ /* 0x11b */ 0x00, /* INSERT */ /* 0x11c */ 0x00, /* 0x11d */ 0x00, /* 0x11e */ 0x00, /* PAUSE */ /* 0x11f */ 0x00, /* 0x120 */ 0x00, /* COLOR */ /* 0x121 */ 0x00, /* GRAPHIC */ /* 0x122 */ 0x00, /* LIST */ /* 0x123 */ 0x00, /* RUN */ /* 0x124 */ 0x00, /* STOP */ /* 0x125 */ 0x00, /* SHIFT LOCK */ /* 0x126 */ 0x00, /* 0x127 */ 0x00, /* 0x128 */ 0x00, /* 0x129 */ 0x00, /* 0x12a */ 0x00, /* 0x12b */ 0x00, /* 0x12c */ 0x00, /* 0x12d */ 0x00, /* 0x12e */ 0x00, /* 0x12f */ 0x00, }; #endif /* __kc_c80_keydef_h */ KCemu-0.5.1/include/kc/c80/Makefile.am0000644000175000017500000000020412417262523017413 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ display.h \ memory.h \ keydef.h \ keyboard.h \ pio.h KCemu-0.5.1/include/kc/c80/memory.h0000644000175000017500000000330312417262523017043 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_c80_memory_h #define __kc_c80_memory_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class MemoryC80 : public Memory { private: byte_t _rom_monitor[0x0400]; byte_t _rom_user[0x0400]; byte_t _ram[0x0400]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_rom_monitor; /* ROM Monitor 0000h - 03ffh */ MemAreaGroup *_m_rom_user; /* ROM Monitor 0400h - 07ffh */ MemAreaGroup *_m_ram_mirror; /* RAM (mirrored) 0800h - 0bffh */ MemAreaGroup *_m_ram; /* RAM 0c00h - 0fffh */ public: MemoryC80(void); virtual ~MemoryC80(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); virtual void reset(bool power_on = false); }; #endif /* __kc_c80_memory_h */ KCemu-0.5.1/include/kc/c80/keyboard.h0000644000175000017500000000345412417262523017342 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_c80_keyboard_h #define __kc_c80_keyboard_h #include "kc/kc.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/keyboard.h" class KeyboardC80 : public Keyboard, public PIOCallbackInterface { private: int _key; protected: void init(void); int decode_key(int keysym, bool press); public: KeyboardC80(void); virtual ~KeyboardC80(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val) {} virtual void callback_B_out(byte_t val) {} }; #endif /* __kc_c80_keyboard_h */ KCemu-0.5.1/include/kc/memory0.h0000644000175000017500000000371612417262523016541 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory0_h #define __kc_memory0_h #include "kc/system.h" #include "kc/kc.h" #include "kc/ports.h" #include "kc/memory.h" class Memory0 : public Memory, public PortInterface { private: byte_t _val; byte_t _irm[0x00400]; byte_t _ram[0x10000]; byte_t _rom[0x01000]; byte_t _chr[0x01000]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_ram; /* RAM 0000h - efffh */ MemAreaGroup *_m_ram_f0; /* RAM f000h - f7ffh */ MemAreaGroup *_m_ram_f8; /* RAM f800h - ffffh */ MemAreaGroup *_m_irm; /* IRM ec00h - efffh */ MemAreaGroup *_m_rom; /* ROM f000h - f7ffh */ MemAreaGroup *_m_rom_f8; /* ROM f800h - ffffh */ PortGroup *_portg; public: Memory0(void); virtual ~Memory0(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); void port_04(byte_t changed, byte_t val); virtual void reset(bool power_on = false); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_memory0_h */ KCemu-0.5.1/include/kc/memory.h0000644000175000017500000001316712417262523016462 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory_h #define __kc_memory_h #include #include #include "kc/system.h" #include "kc/ic.h" typedef enum { MEM_DISABLED, MEM_WRITE_PROTECT, MEM_ENABLED } MemState; class MemArea; class MemAreaPtr; class MemAreaGroup; class MemArea { public: enum page_vals { PAGE_SHIFT = 10, PAGES = 64, PAGE_MASK = 0x3ff, PAGE_SIZE = 0x400 }; private: int _prio; word_t _addr; bool _active; bool _readonly; bool _read_through; bool _write_through; byte_t *_mem, *_mem_r, *_mem_w; static byte_t *_scratch_r, *_scratch_w; MemAreaGroup *_group; public: MemArea(MemAreaGroup *group, byte_t *mem, word_t addr, int prio, bool ro); virtual ~MemArea(void); const char * get_name(void); word_t get_addr(void); int get_prio(void); void set_active(bool active); void set_readonly(bool ro); void set_read_through(bool rt); void set_write_through(bool wt); inline bool is_active(void) { return _active; } inline bool is_readonly(void) { return _readonly; } inline bool is_read_through(void) { return _read_through; } inline bool is_write_through(void) { return _write_through; } inline byte_t * get_read_ptr(void) { return _mem_r; } inline byte_t * get_write_ptr(void) { return _mem_w; } static inline int PAGE_INDEX(dword_t addr) { return addr >> PAGE_SHIFT; } static inline word_t PAGE_ADDR(int idx) { return idx << PAGE_SHIFT; } }; class MemAreaGroup { private: typedef std::list mem_area_list_t; private: int _prio; bool _active; bool _readonly; bool _read_through; bool _write_through; word_t _addr; dword_t _size; byte_t *_mem; char *_name; mem_area_list_t _l; public: MemAreaGroup(const char *name, word_t addr, dword_t size, byte_t *mem, int prio, bool ro); virtual ~MemAreaGroup(void); void add(MemAreaPtr *area_ptr[]); void remove(MemAreaPtr *area_ptr[]); void set_active(bool active); void set_readonly(bool ro); void set_read_through(bool rt); void set_write_through(bool wt); inline bool is_active(void) { return _active; } inline bool is_readonly(void) { return _readonly; } inline bool is_read_through(void) { return _read_through; } inline bool is_write_through(void) { return _write_through; } inline const char *get_name(void) { return _name; } }; class MemAreaPtr { private: typedef std::list mem_area_list_t; mem_area_list_t _l; public: MemAreaPtr(void); void add(MemArea *area); void remove(MemArea *area); void info(void); inline int size(void) { return _l.size(); } byte_t * get_read_ptr(void); byte_t * get_write_ptr(void); }; typedef struct { MemAreaGroup **group; const char *name; word_t addr; dword_t size; byte_t *mem; int prio; bool ro; bool active; int model; } memory_group_t; class Memory : public InterfaceCircuit { private: MemAreaPtr *_mem_ptr[MemArea::PAGES]; static unsigned int seed_x; /* the seeds for... */ static unsigned int seed_y; /* ...the pseudo random... */ static unsigned int seed_z; /* ...number generator */ public: byte_t *_memrptr[MemArea::PAGES]; byte_t *_memwptr[MemArea::PAGES]; static bool load_rom(const char *key, void *buf); static bool load_rom(const char *filename, void *buf, long len, bool force); protected: static unsigned int mem_rand(); static void mem_rand_seed(unsigned int seed1, unsigned int seed2, unsigned int seed3); void init_memory_groups(memory_group_t mem[]); virtual void loadRAM(const char *filename, word_t addr); void * get_page_addr_r(word_t addr); void * get_page_addr_w(word_t addr); public: Memory(void); virtual ~Memory(void); static void scratch_mem(byte_t *ptr, int len); virtual void dump(word_t addr); virtual void loadRAM(const char *filename); virtual bool loadRAM(std::istream *is, word_t addr); virtual bool loadRAM_Z1013(std::istream *is, word_t addr); virtual bool loadRAM(std::istream *is, bool with_block_nr = false); virtual void info(void); virtual MemAreaPtr ** get_mem_ptr(void); virtual MemAreaGroup * register_memory(const char *name, word_t addr, dword_t size, byte_t *mem, int prio, bool ro); virtual void unregister_memory(MemAreaGroup *group); virtual void reload_mem_ptr(void); virtual void dumpCore(void) = 0; virtual byte_t memRead8(word_t addr) = 0; virtual void memWrite8(word_t addr, byte_t val) = 0; virtual byte_t * get_irm(void) = 0; virtual byte_t * get_char_rom(void) = 0; /* * InterfaceCircuit */ virtual void reti(void) {} virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false) = 0; }; #endif /* __kc_memory_h */ KCemu-0.5.1/include/kc/memstream.h0000644000175000017500000000647312417262523017146 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memstream_h #define __kc_memstream_h #include #include #include "kc/config.h" using namespace std; class membuf : public std::streambuf { private: int _idx; int _size; int _bufsize; unsigned char *_data; protected: virtual int overflow(int c = EOF) { unsigned char *tmp; //std::cout << "overflow()" << std::endl; if (_size >= _bufsize) { _bufsize *= 2; tmp = new unsigned char[_bufsize]; memcpy(tmp, _data, _size); delete _data; _data = tmp; } _data[_size++] = c; return c; } /* * read character and advance input pointer */ virtual int uflow(void) { int c; if (_idx >= _size) c = EOF; else c = _data[_idx++]; //std::cout << "uflow(): " << c << std::endl; return c; } /* * read character but don't advance input pointer */ virtual int underflow(void) { //std::cout << "underflow()" << std::endl; if (_idx >= _size) return EOF; return _data[_idx]; } /* * put character back onto the input stream */ virtual int pbackfail(int c = EOF) { //std::cout << "pbackfail()" << std::endl; if (c != EOF) { _data[_idx] = c; if (_idx > 0) _idx--; } return c; } public: membuf(void) { _idx = 0; _size = 0; _bufsize = 1024; _data = new unsigned char[_bufsize]; } membuf(unsigned char *data, int size) { _idx = 0; _size = size; _bufsize = size; _data = new unsigned char[size]; memcpy(_data, data, size); } virtual int tellg(void) { return _idx; } virtual int peek() { return underflow(); } virtual int size(void) { return _size; } virtual const char * data(void) { return (const char *)_data; } }; class memstream : public std::iostream { private: membuf _buf; public: memstream(void) : std::iostream(&_buf) { } memstream(unsigned char *data, int size) : std::iostream(&_buf), _buf(data, size) { } /* * not correctly overwritten, will not be called via a * reference of type istream */ virtual int tellg(void) { return _buf.tellg(); } /* * not correctly overwritten, will not be called via a * reference of type istream */ virtual int peek() { //std::cout << "peek()" << std::endl; return _buf.peek(); } virtual int size(void) { return _buf.size(); } virtual const char * str(void) { return _buf.data(); } }; #endif /* __kc_memstream_h */ KCemu-0.5.1/include/kc/prefs/0000755000175000017500000000000012417262523016110 5ustar glaubitzglaubitzKCemu-0.5.1/include/kc/prefs/prefs.h0000644000175000017500000000677212417262523017414 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_prefs_prefs_h #define __kc_prefs_prefs_h #include #include #include "kc/prefs/types.h" #include "kc/prefs/profile.h" using namespace std; struct ProfileVisitor { virtual void handle_profile(Profile *profile) = 0; }; class Preferences { private: typedef map profile_map_t; static Preferences *_instance; static const char * PROFILE_NAME_ROOT; static const char * PROFILE_NAME_DEFAULT; static const char * PROFILE_KEY_NAME; static const char * PROFILE_KEY_SYSTEM; static const char * PROFILE_KEY_VARIANT; static const char * CONFIG_FILE_EXTENSION; static const char * USER_CONFIG_PREFIX; string _sys_dir; string _usr_dir; string _add_dir; Profile *_root_profile; Profile *_default_profile; profile_map_t _sys_profiles; profile_map_t _usr_profiles; profile_map_t _add_profiles; map _usr_profiles_by_type; Profile *_current_profile; SystemType *_current_system_type; void load_default_profiles(void); void load_system_profiles(void); void load_user_profiles(void); protected: Preferences(const char *sys_dir, const char *usr_dir, const char *add_dir); virtual ~Preferences(void); void visit_changed(ProfileVisitor &visitor); string get_profile_path(string dir, string config_name); Profile * get_profile(string path, profile_level_t level, string config_name, string name); public: static void init(const char *system_dir, const char *user_dir, const char *add_dir); static Preferences * instance(void); Profile * find_profile(const char *key); Profile * find_profile_by_name(const char *name); list find_child_profiles(const char *key); Profile * copy_user_profile(Profile *profile); Profile * create_user_profile(Profile *parent); void save(void); void reject(void); bool mkdirs(string dir); bool has_changed_profiles(void); bool save_profile(Profile *profile); void reject_changes(Profile *profile); void dump_profile(Profile *profile); virtual void set_current_profile(const char *name, int type); virtual SystemType * find_system_type(kc_type_t kc_type, kc_variant_t kc_variant); virtual SystemType * get_system_type(void); virtual kc_type_t get_kc_type(void); virtual kc_variant_t get_kc_variant(void); virtual const char * get_kc_type_name(void); virtual const char * get_kc_variant_name(void); virtual int get_int_value(string key, int default_value); virtual const char * get_string_value(string key, const char *default_value); }; #endif /* __kc_prefs_prefs_h */ KCemu-0.5.1/include/kc/prefs/types.h0000644000175000017500000002315212417262523017430 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_prefs_types_h #define __kc_prefs_types_h #include #include #include #include "kc/system.h" #include "kc/prefs/profile.h" using namespace std; typedef enum { KC_TYPE_NONE = 0, KC_TYPE_85_1 = (1 << 0), KC_TYPE_85_2 = (1 << 1), KC_TYPE_85_3 = (1 << 2), KC_TYPE_85_4 = (1 << 3), KC_TYPE_85_5 = (1 << 4), KC_TYPE_87 = (1 << 5), KC_TYPE_LC80 = (1 << 6), KC_TYPE_Z1013 = (1 << 7), KC_TYPE_A5105 = (1 << 8), KC_TYPE_POLY880 = (1 << 9), KC_TYPE_KRAMERMC = (1 << 10), KC_TYPE_MUGLERPC = (1 << 11), KC_TYPE_VCS80 = (1 << 12), KC_TYPE_C80 = (1 << 13), KC_TYPE_85_1_CLASS = KC_TYPE_85_1 | KC_TYPE_87, KC_TYPE_85_2_CLASS = KC_TYPE_85_2 | KC_TYPE_85_3 | KC_TYPE_85_4 | KC_TYPE_85_5, KC_TYPE_ALL = (KC_TYPE_85_1_CLASS | KC_TYPE_85_2_CLASS | KC_TYPE_LC80 | KC_TYPE_Z1013 | KC_TYPE_A5105 | KC_TYPE_POLY880 | KC_TYPE_KRAMERMC | KC_TYPE_MUGLERPC | KC_TYPE_VCS80 | KC_TYPE_C80) } kc_type_t; typedef enum { KC_VARIANT_NONE = 0, KC_VARIANT_85_1_10 = 0, KC_VARIANT_85_1_11 = 1, KC_VARIANT_87_10 = 0, KC_VARIANT_87_11 = 1, KC_VARIANT_87_20 = 2, KC_VARIANT_87_21 = 3, KC_VARIANT_87_30 = 4, KC_VARIANT_87_31 = 5, KC_VARIANT_Z1013_01 = 0, KC_VARIANT_Z1013_12 = 1, KC_VARIANT_Z1013_16 = 3, KC_VARIANT_Z1013_64 = 4, KC_VARIANT_Z1013_A2 = 5, KC_VARIANT_Z1013_RB = 6, KC_VARIANT_Z1013_SURL = 7, KC_VARIANT_Z1013_BL4 = 8, KC_VARIANT_LC80_1k = 0, KC_VARIANT_LC80_2k = 1, KC_VARIANT_LC80e = 2, KC_VARIANT_A5105_K1505 = 0, KC_VARIANT_A5105_A5105 = 1, KC_VARIANT_POLY880 = 0, KC_VARIANT_POLY880_SC1 = 1, } kc_variant_t; class EmulationType; typedef list emulation_type_list_t; class EmulationType { private: string _name; string _short_name; string _config_name; string _icon_name; string _image_name; string _keyboard_filename; string _help_topic; string _help_topic_module; int _module_slots; word_t _power_on_addr; word_t _reset_addr; /** emulation type as given on the commandline, or -1 if no commandline parameter exists */ int _type; kc_type_t _kc_type; static emulation_type_list_t _emulation_type_list; public: static EmulationType _emulation_type_kc85_1; static EmulationType _emulation_type_kc85_2; static EmulationType _emulation_type_kc85_3; static EmulationType _emulation_type_kc85_4; static EmulationType _emulation_type_kc85_5; static EmulationType _emulation_type_kc87; static EmulationType _emulation_type_lc80; static EmulationType _emulation_type_z1013; static EmulationType _emulation_type_a5105; static EmulationType _emulation_type_poly880; static EmulationType _emulation_type_kramermc; static EmulationType _emulation_type_muglerpc; static EmulationType _emulation_type_vcs80; static EmulationType _emulation_type_c80; EmulationType(kc_type_t kc_type, int type, string name, string short_name, string config_name, string icon_name, string image_name, string keyboard_filename, string help_topic, string help_topic_module, int module_slots, word_t power_on_addr, word_t reset_addr); virtual ~EmulationType(void); virtual const char * get_name(void) const; virtual const char * get_short_name(void) const; virtual const char * get_config_name(void) const; virtual const char * get_icon_name(void) const; virtual const char * get_image_name(void) const; virtual const char * get_keyboard_filename(void) const; virtual const char * get_help_topic(void) const; virtual const char * get_help_topic_module(void) const; virtual const int get_module_slots(void) const; virtual const word_t get_power_on_addr(void) const; virtual const word_t get_reset_addr(void) const; virtual int get_type(void) const; virtual kc_type_t get_kc_type(void) const; static emulation_type_list_t & get_emulation_types(void); }; class ROMEntry { private: string _filename; string _description; bool _is_default; public: ROMEntry(const char *filename, const char *description, bool is_default = false); virtual ~ROMEntry(void); const string get_filename(void) const; const string get_description(void) const; const bool is_default(void) const; }; typedef list rom_entry_list_t; class SystemROM { private: int _size; string _name; bool _mandatory; rom_entry_list_t _roms; public: static const char * ROM_KEY_CAOSC; static const char * ROM_KEY_CAOSE; static const char * ROM_KEY_SYSTEM; static const char * ROM_KEY_SYSTEM1; static const char * ROM_KEY_SYSTEM2; static const char * ROM_KEY_SYSTEM3; static const char * ROM_KEY_SYSTEM4; static const char * ROM_KEY_USER; static const char * ROM_KEY_BASIC; static const char * ROM_KEY_DEBUGGER; static const char * ROM_KEY_REASSEMBLER; static const char * ROM_KEY_EDITOR; static const char * ROM_KEY_ASSEMBLER; static const char * ROM_KEY_CHARGEN; static const char * ROM_KEY_D004_FC; static const char * ROM_KEY_D004_F8; public: SystemROM(const char *name, bool mandatory, int size); virtual ~SystemROM(void); int get_size(void) const; bool is_mandatory(void) const; const string get_name(void) const; const rom_entry_list_t & get_roms(void) const; const ROMEntry * get_default_rom(void) const; void add_rom(const char *name, const char *filename, bool is_default); }; typedef list system_rom_list_t; class SystemType { int _sort; int _type; string _name; string _display_name; bool _is_default; kc_variant_t _kc_variant; string _description; EmulationType& _emulation_type; unsigned long long _ui_callback_value; unsigned long long _ui_callback_retrace_value; string _rom_dir; system_rom_list_t _rom_list; virtual void add_rom(const char *name, bool mandatory, int size, int default_idx, const char *filename, const char *description, va_list ap); public: SystemType(int sort, string name, int type, EmulationType &emulation_type, kc_variant_t kc_variant, string description); virtual ~SystemType(void); virtual const char * get_name(void) const; virtual const char * get_display_name(void) const; virtual SystemType & set_display_name(const char *display_name); virtual const string get_rom_directory(void) const; virtual SystemType & set_rom_directory(const char *romdir); virtual const unsigned long long get_ui_callback_value(void) const; virtual SystemType & set_ui_callback_value(unsigned long long value); virtual const unsigned long long get_ui_callback_retrace_value(void) const; virtual SystemType & set_ui_callback_retrace_value(unsigned long long value); virtual const system_rom_list_t & get_rom_list(void) const; virtual const SystemROM * get_rom(const char *key) const; virtual SystemType & add_rom(const char *name, int size, const char *filename, const char *description, ...); virtual SystemType & add_rom(const char *name, int size, int default_idx, const char *filename, const char *description, ...); virtual SystemType & add_optional_rom(const char *name, int size, const char *filename, const char *description, ...); virtual int get_sort(void) const; virtual int get_type(void) const; virtual bool is_default(int type) const; virtual kc_type_t get_kc_type(void) const; virtual kc_variant_t get_kc_variant(void) const; virtual const char * get_kc_variant_name(void) const; virtual const char * get_description(void) const; virtual const EmulationType & get_emulation_type(void) const; }; typedef list system_type_list_t; class SystemInformation { private: static SystemInformation *_instance; system_type_list_t _system_type_list; protected: SystemType & add_system_type(int sort, string name, int type, EmulationType& emulation_type, kc_variant_t kc_variant, string description); public: SystemInformation(); virtual ~SystemInformation(void); static SystemInformation * instance(void); virtual void show_types(void); virtual void show_types_with_description(void); virtual system_type_list_t & get_system_types(void); virtual const SystemType * get_system_type(kc_type_t kc_type, kc_variant_t kc_variant) const; }; #endif /* __kc_prefs_types_h */ KCemu-0.5.1/include/kc/prefs/parser.h0000644000175000017500000000417712417262523017566 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_prefs_parser_h #define __kc_prefs_parser_h #include #include #include #include "kc/prefs/profile.h" using namespace std; typedef list profile_list_t; class ProfileParser { public: static const char *signature; private: Profile *_current_profile; protected: profile_level_t _level; string _filename; profile_list_t _profile_list; protected: virtual bool is_newline(GScanner *scanner, GTokenType token_type); virtual GTokenType handle_line(GScanner *scanner, const char *key, GTokenType token_type); public: ProfileParser(string filename, profile_level_t level); virtual ~ProfileParser(void); virtual void parse(void); virtual profile_list_t * get_profiles(void); virtual Profile * get_profile(void) = 0; }; class SingleProfileParser : public ProfileParser { private: string _name; Profile *_profile; public: SingleProfileParser(string filename, profile_level_t level, string config_name, string name); virtual ~SingleProfileParser(void); virtual Profile * get_profile(void); }; class MultiProfileParser : public ProfileParser { public: MultiProfileParser(string filename, profile_level_t level); virtual ~MultiProfileParser(void); virtual Profile * get_profile(void); }; #endif /* __kc_prefs_parser_h */ KCemu-0.5.1/include/kc/prefs/Makefile.am0000644000175000017500000000022112417262523020137 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ parser.h \ prefs.h \ profile.h \ types.h \ strlist.h \ dirlist.h KCemu-0.5.1/include/kc/prefs/strlist.h0000644000175000017500000000227712417262523017775 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_prefs_strlist_h #define __kc_prefs_strlist_h #include #include using namespace std; class StringList : public list { public: StringList(); StringList(string str, const char split_char = ','); virtual ~StringList(void); virtual string join(const char join_char); }; #endif /* __kc_prefs_strlist_h */ KCemu-0.5.1/include/kc/prefs/profile.h0000644000175000017500000000677312417262523017736 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_prefs_profile_h #define __kc_prefs_profile_h #include #include #include using namespace std; typedef enum { PROFILE_LEVEL_ROOT = 0, PROFILE_LEVEL_DEFAULT = 1, PROFILE_LEVEL_SYSTEM = 2, PROFILE_LEVEL_SYSTEM_USER = 3, PROFILE_LEVEL_USER = 4, } profile_level_t; class ProfileValue { private: typedef enum { PROFILE_VALUE_TYPE_NULL = 0, PROFILE_VALUE_TYPE_INT = 1, PROFILE_VALUE_TYPE_STRING = 2, } profile_value_type_t; profile_level_t _level; profile_value_type_t _type; int _int_value; string _string_value; public: ProfileValue(ProfileValue *value); ProfileValue(profile_level_t level); ProfileValue(profile_level_t level, int value); ProfileValue(profile_level_t level, string value); virtual ~ProfileValue(void); virtual profile_level_t get_level(void) const; bool equals(ProfileValue *value) const; virtual int get_int_value(void) const; virtual const char * get_string_value(void) const; virtual char * get_encoded_value(void) const; }; class Profile { private: typedef map pref_map_t; bool _changed; bool _deleted; profile_level_t _level; string _name; string _config_name; string _path; Profile * _parent; pref_map_t _pref_map; pref_map_t _pref_map_old; protected: void set_value_with_backup(string key, ProfileValue *value, ProfileValue *old_value); public: Profile(profile_level_t level, string path, string config_name, string name); virtual ~Profile(void); const char * get_name(void) const; void set_name(string name); const char * get_config_name(void) const; profile_level_t get_level(void) const; const char *get_path(void) const; bool is_changed(void) const; void set_changed(bool changed); bool is_deleted(void) const; void set_deleted(bool deleted); Profile *get_parent(void) const; void set_parent(Profile *parent); const char * get_comment(void) const; ProfileValue * get_value(string key) const; char * get_encoded_value(string key) const; void set_value(string key, ProfileValue *value); void reject_changes(void); int get_int_value(string key, int default_value) const; void set_int_value(string key, int value); const char * get_string_value(string key, const char *default_value) const; void set_string_value(string key, string value); void set_null_value(string key); void remove_value(string key); bool contains_key(string key) const; list * get_keys(void); }; #endif /* __kc_prefs_profile_h */ KCemu-0.5.1/include/kc/prefs/dirlist.h0000644000175000017500000000272112417262523017735 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_prefs_dirlist_h #define __kc_prefs_dirlist_h #include #include using namespace std; class DirectoryListEntry { private: string _dir; string _filename; string _path; public: DirectoryListEntry(string dir, string filename); virtual ~DirectoryListEntry(void); const char *get_dir(void) const; const char *get_path(void) const; const char *get_filename(void) const; }; class DirectoryList : public list { string _basedir; public: DirectoryList(string basedir); virtual ~DirectoryList(void); }; #endif /* __kc_prefs_dirlist_h */ KCemu-0.5.1/include/kc/memory4.h0000644000175000017500000000647412417262523016551 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory4_h #define __kc_memory4_h #include "kc/kc.h" #include "kc/memory.h" class Memory4 : public Memory { protected: byte_t *_ram; int _ram_size; byte_t *_rom_caosc; byte_t *_rom_caose; byte_t *_rom_basic; byte_t _irm0[0x8000]; byte_t _irm1[0x8000]; byte_t _block_ram_8; byte_t _block_rom_c; bool _caos_c; bool _caos_e; bool _enable_irm; bool _access_color; bool _access_screen1; bool _display_screen1; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_caos_c; /* CAOS c000h - dfffh */ MemAreaGroup *_m_caos_e; /* CAOS e000h - ffffh */ MemAreaGroup *_m_basic; /* BASIC c000h - dfffh (for KC85/4) */ MemAreaGroup *_m_user[4]; /* BASIC c000h - dfffh (and USER0-2 for KC85/5) */ MemAreaGroup *_m_ram_0; /* RAM 0000h - 3fffh */ MemAreaGroup *_m_ram_4; /* RAM 4000h - 7fffh */ MemAreaGroup *_m_ram_8[16]; /* RAM 8000h - bfffh (pages 0-15) */ MemAreaGroup *_m_irm_0p; /* IRM 8000h - a7ffh (screen 0/ pixel) */ MemAreaGroup *_m_irm_0c; /* IRM 8000h - a7ffh (screen 0/ color) */ MemAreaGroup *_m_irm_1p; /* IRM 8000h - a7ffh (screen 1/ pixel) */ MemAreaGroup *_m_irm_1c; /* IRM 8000h - a7ffh (screen 1/ color) */ MemAreaGroup *_m_irm_0px; /* IRM a800h - bfffh (screen 0 / pixel - shared) */ MemAreaGroup *_m_irm_0cx; /* IRM a800h - bfffh (screen 0 / color - when CAOS-C on, CAOS-E off) */ MemAreaGroup *_m_irm_1px; /* IRM a800h - bfffh (screen 1 / pixel - when CAOS-C on, CAOS-E off) */ MemAreaGroup *_m_irm_1cx; /* IRM a800h - bfffh (screen 1 / color - when CAOS-C on, CAOS-E off) */ protected: virtual void init_4(void); virtual void init_5(void); virtual void configureRAM_8(void); virtual void configureROM_C(void); virtual void configureIRM(void); public: Memory4(void); ~Memory4(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); void enableRAM_0(int v); void enableRAM_4(int v); void enableRAM_8(int v); void enableCAOS_C(int v); void enableCAOS_E(int v); void enableBASIC_C(int v); void enableIRM(int v); void enableCOLOR(int v); void enableSCREEN_1(int v); void selectRAM_8(int segment); void selectROM_C(int segment); void displaySCREEN_1(int v); void protectRAM_0(int v); void protectRAM_4(int v); void protectRAM_8(int v); virtual void reset(bool power_on = false); }; #endif /* __kc_memory4_h */ KCemu-0.5.1/include/kc/memory9.h0000644000175000017500000000377612417262523016560 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory9_h #define __kc_memory9_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class Memory9 : public Memory { private: byte_t _rom_slot0[0x0a000]; byte_t _rom_slot1[0x04000]; byte_t _ram_slot2[0x10000]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_rom_slot0_page0; /* ROM Slot 1 0000h - 9fffh */ MemAreaGroup *_m_rom_slot0_page1; /* ROM Slot 1 0000h - 9fffh */ MemAreaGroup *_m_rom_slot0_page2; /* ROM Slot 1 0000h - 9fffh */ MemAreaGroup *_m_rom_slot1_page1; /* ROM Slot 1 4000h - 7fffh */ MemAreaGroup *_m_ram_slot2_page0; /* RAM Slot 2 0000h - 3fffh */ MemAreaGroup *_m_ram_slot2_page1; /* RAM Slot 2 4000h - 7fffh */ MemAreaGroup *_m_ram_slot2_page2; /* RAM Slot 2 8000h - bfffh */ MemAreaGroup *_m_ram_slot2_page3; /* RAM Slot 2 c000h - ffffh */ public: Memory9(void); virtual ~Memory9(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); virtual void reset(bool power_on = false); void set_page(int page, int slot); }; #endif /* __kc_memory9_h */ KCemu-0.5.1/include/kc/mod_gdc.h0000644000175000017500000000263712417262523016546 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_gdc_h #define __kc_mod_gdc_h #include "kc/ports.h" #include "kc/module.h" class ModuleGDC : public ModuleInterface { private: int _count; PortGroup *_portg; ModuleGDC *_master; protected: void init(void); int get_count(void); void set_count(int count); public: ModuleGDC(ModuleGDC &tmpl); ModuleGDC(const char *name); virtual ~ModuleGDC(void); /* * ModuleInterface */ virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); virtual void m_out(word_t addr, byte_t val); }; #endif /* __kc_mod_gdc_h */ KCemu-0.5.1/include/kc/vdip.h0000644000175000017500000001134612417262523016111 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_vdip_h #define __kc_vdip_h #include #include "kc/kc.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/prefs/strlist.h" using namespace std; class VDIP; typedef enum { CMD_DIR = 0x01, CMD_CD = 0x02, CMD_RD = 0x04, CMD_DLD = 0x05, CMD_MKD = 0x06, CMD_DLF = 0x07, CMD_WRF = 0x08, CMD_OPW = 0x09, CMD_CLF = 0x0a, CMD_RDF = 0x0b, CMD_REN = 0x0c, CMD_OPR = 0x0e, CMD_IDD = 0x0f, CMD_SCS = 0x10, CMD_ECS = 0x11, CMD_FS = 0x12, CMD_FWV = 0x13, CMD_SEK = 0x28, CMD_DSN = 0x2d, CMD_DVL = 0x2e, CMD_DIRT = 0x2f, CMD_E = 0x45, CMD_e = 0x65, CMD_IPA = 0x90, CMD_IPH = 0x91, CMD_FSE = 0x93, CMD_IDDE = 0x94, CMD_EMPTY = 0xfffe, CMD_UNKNOWN = 0xffff, } vdip_command_t; typedef enum { ERR_BAD_COMMAND, ERR_COMMAND_FAILED, ERR_DISK_FULL, ERR_INVALID, ERR_READ_ONLY, ERR_FILE_OPEN, ERR_DIR_NOT_EMPTY, ERR_FILENAME_INVALID, ERR_NO_UPGRADE, ERR_NO_DISK, } vdip_error_t; class VDIP_CMD { private: VDIP *_vdip; string _response; StringList *_args; bool _check_disk; protected: virtual void execute(void) = 0; static vdip_command_t map_extended_command(string cmd); public: VDIP_CMD(VDIP *vdip, bool check_disk = false); virtual ~VDIP_CMD(void); virtual VDIP *get_vdip(void); virtual void add_prompt(void); virtual void add_error(vdip_error_t error); virtual void add_char(int c); virtual void add_hex(int digits, dword_t val); virtual void add_word(word_t val); virtual void add_dword(dword_t val); virtual void add_string(const char *text); virtual bool has_args(void) const; virtual int get_arg_count(void) const; virtual string get_arg(unsigned int arg) const; virtual dword_t get_dword_arg(unsigned int arg) const; virtual void set_args(StringList *args); virtual string get_response(string input); virtual void exec(void); virtual void handle_input(byte_t input); static VDIP_CMD * create_command(VDIP *vdip, string cmd); static VDIP_CMD * create_command(VDIP *vdip, vdip_command_t code); }; class VDIP : public Callback, public PIOCallbackInterface { private: PIO *_pio; VDIP_CMD *_cmd; bool _input; dword_t _wrf_len; bool _reset; int _output; int _input_data; string _input_buffer; string _output_buffer; byte_t _pio_ext; bool _short_command_set; bool _binary_mode; FILE *_file; string _root; StringList *_cwd; CMD *_attach_cmd; private: void set_pio_ext_b(byte_t val); VDIP_CMD * decode_command(string buf); public: VDIP(void); virtual ~VDIP(void); virtual string get_firmware_version(void) const; virtual bool is_binary_mode(void) const; virtual void set_binary_mode(bool val); virtual bool is_short_command_set(void) const; virtual void set_short_command_set(bool val); virtual FILE * get_file(void) const; virtual void set_file(FILE *file); virtual string get_root(void) const; virtual void set_root(string root); virtual bool is_root(void); virtual bool has_disk(void); virtual string get_cwd(void) const; virtual string get_path(string dir) const; virtual void chdir_up(void); virtual void chdir_root(void); virtual void chdir(string dir); virtual void register_pio(PIO *pio); virtual void callback(void *data); virtual void reset(void); /** latch byte to read, called when RD# goes H->L */ virtual void latch_byte(void); /** return the byte latched on latch_byte() */ virtual byte_t read_byte(void); /** byte was read, called when RD# goes L->H */ virtual void read_end(void); /** write byte, called when WR# goes L->H */ virtual void write_byte(byte_t val); /** byte was written, called when WR# goes H->L */ virtual void write_end(void); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); }; #endif /* __kc_vdip_h */ KCemu-0.5.1/include/kc/sound.h0000644000175000017500000000255312417262523016277 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_sound_h #define __kc_sound_h #include "kc/system.h" class Sound { private: static void sdl_sound_callback(void *userdata, unsigned char *stream, int len); protected: virtual void open_sound(void); virtual void sound_callback(void *userdata, unsigned char *stream, int len) = 0; public: Sound(void); virtual ~Sound(void); virtual void init(void) = 0; virtual void start(void) = 0; virtual void stop(void) = 0; virtual void lock(void); virtual void unlock(void); }; #endif /* __kc_sound_h */ KCemu-0.5.1/include/kc/profile.h0000644000175000017500000000175312417262523016610 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_profile_h #define __kc_profile_h typedef enum { PF_MEM_READ, PF_MEM_WRITE, PF_MEM_EXEC } pf_type; #endif /* __kc_profile_h */ KCemu-0.5.1/include/kc/ports4.h0000644000175000017500000000245512417262523016403 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ports4_h #define __kc_ports4_h #include "kc/ports.h" class Ports4 : public PortInterface { public: enum { NR_PORTS = 256, }; protected: int inout[NR_PORTS]; protected: virtual void change_0x84(byte_t changed, byte_t val); virtual void change_0x86(byte_t changed, byte_t val); public: Ports4(void); virtual ~Ports4(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_ports4_h */ KCemu-0.5.1/include/kc/daisy.h0000644000175000017500000000241712417262523016257 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_daisy_h #define __kc_daisy_h #include #include "kc/system.h" #include "kc/ic.h" class DaisyChain { private: typedef std::list daisy_chain_list_t; daisy_chain_list_t _daisy_chain_list; public: DaisyChain(void); virtual ~DaisyChain(void); void add_last(InterfaceCircuit *ic); void remove(InterfaceCircuit *ic); word_t irq_ack(void); void reti(void); }; #endif /* __kc_daisy_h */ KCemu-0.5.1/include/kc/floppy.h0000644000175000017500000000257512417262523016464 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_floppy_h #define __kc_floppy_h #include "kc/system.h" #include "libdisk/libdisk.h" class Floppy { private: libdisk_prop_t *_disk_prop; public: Floppy(const char *cmdname); virtual ~Floppy(void); int get_head_count(void); int get_cylinder_count(void); int get_sector_size(void); int get_sectors_per_cylinder(void); bool attach(const char *filename); bool seek(int head, int cylinder, int sector); int read_sector(byte_t *buf, int len); int write_sector(byte_t *buf, int len); }; #endif /* __kc_floppy_h */ KCemu-0.5.1/include/kc/kramermc/0000755000175000017500000000000012417262523016572 5ustar glaubitzglaubitzKCemu-0.5.1/include/kc/kramermc/pio.h0000644000175000017500000000232512417262523017534 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kramermc_pio_h #define __kc_kramermc_pio_h #include "kc/pio.h" #include "kc/ports.h" class PIOKramerMC : public PIO { public: PIOKramerMC(void); virtual ~PIOKramerMC(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; #endif /* __kc_kramermc_pio_h */ KCemu-0.5.1/include/kc/kramermc/keydef.h0000644000175000017500000002530412417262523020216 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kramermc_keydef_h #define __kc_kramermc_keydef_h /* * 01 (1) 02 (2) 04 (3) 08 (4) 10 (5) 20 (6) 40 (7) 80 (8) (low nibble) * | | | | | | | | * *-[^ ]-* *-[*b]-* *-[;+]-* *-[<,]-+ *-[*f]-* *-[*h]-* *-[*i]-* *-[:*]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--01 (1) * | | | | | | | | * *-[P ]-* *-[O ]-* *-[*d]-* *-[K ]-+ *-[*g]-* *-[L ]-* *-[0 ]-* *-[9)]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--02 (2) * | | | | | | | | * *-[I ]-* *-[U ]-* *-[N ]-* *-[H ]-+ *-[M ]-* *-[J ]-* *-[8(]-* *-[7']-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--04 (3) * | | | | | | | | * *-[Z ]-* *-[T ]-* *-[V ]-* *-[F ]-+ *-[B ]-* *-[G ]-* *-[6 ]-* *-[5 ]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--08 (4) * | | | | | | | | * *-[R ]-* *-[E ]-* *-[X ]-* *-[S ]-+ *-[C ]-* *-[D ]-* *-[4 ]-* *-[3 ]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--10 (5) * | | | | | | | | * *-[W ]-* *-[Q ]-* *-[ ]-* *-[ ]-+ *-[Y ]-* *-[A ]-* *-[2 ]-* *-[1 ]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--20 (6) * | | | | | | | | * *-[*a]-* *-[*c]-* *-[ ]-* *-[*e]-+ *-[ ]-* *-[>.]-* *-[?/]-* *-[=-]-* * | | | | | | | | | | | | | | | | * � *-+------*-+------*-+------*-+------*-+------*-+------*-+------*--40 (7) * | | | | | | | | * *-[ ]-* *-[ ]-* *-[ ]-* *-[ ]-+ *-[ ]-* *-[ ]-* *-[ ]-* *-[ ]-* * | | | | | | | | * *--------*--------*--------*--------*--------*--------*--------*--80 (8) * * *a = -> *d = DEL *g = CR * *b = <- *e = CTRL *h = SHIFT * *c = SPACE *f = ETX *i = DOWN * */ static unsigned int __keys[] = { /* 0x00 [.] */ 0x00, /* 0x01 [.] */ 0x00, /* 0x02 [.] */ 0x00, /* 0x03 [.] */ 0x00, /* 0x04 [.] */ 0x00, /* 0x05 [.] */ 0x00, /* 0x06 [.] */ 0x00, /* 0x07 [.] */ 0x00, /* 0x08 [.] */ 0x00, /* 0x09 [.] */ 0x00, /* 0x0a [.] */ 0x00, /* 0x0b [.] */ 0x00, /* 0x0c [.] */ 0x00, /* 0x0d [.] */ 0x52, /* ENTER */ /* 0x0e [.] */ 0x00, /* 0x0f [.] */ 0x00, /* 0x10 [.] */ 0x00, /* 0x11 [.] */ 0x00, /* 0x12 [.] */ 0x00, /* 0x13 [.] */ 0x00, /* 0x14 [.] */ 0x00, /* 0x15 [.] */ 0x00, /* 0x16 [.] */ 0x00, /* 0x17 [.] */ 0x00, /* 0x18 [.] */ 0x00, /* 0x19 [.] */ 0x00, /* 0x1a [.] */ 0x00, /* 0x1b [.] */ 0x51, /* ESC | CL LN */ /* 0x1c [.] */ 0x00, /* 0x1d [.] */ 0x00, /* 0x1e [.] */ 0x00, /* 0x1f [.] */ 0x00, /* 0x20 [ ] */ 0x27, /* SPACE */ /* 0x21 [!] */ 0x00, /* 0x22 ["] */ 0x00, /* 0x23 [#] */ 0x00, /* 0x24 [$] */ 0x00, /* 0x25 [%] */ 0x00, /* 0x26 [&] */ 0x00, /* 0x27 ['] */ 0x6183, /* 0x28 [(] */ 0x6173, /* 0x29 [)] */ 0x6182, /* 0x2a [*] */ 0x6181, /* 0x2b [+] */ 0x6131, /* 0x2c [,] */ 0x6141, /* 0x2d [-] */ 0x6187, /* 0x2e [.] */ 0x6167, /* 0x2f [/] */ 0x6177, /* 0x30 [0] */ 0x72, /* 0x31 [1] */ 0x86, /* 0x32 [2] */ 0x76, /* 0x33 [3] */ 0x85, /* 0x34 [4] */ 0x75, /* 0x35 [5] */ 0x84, /* 0x36 [6] */ 0x74, /* 0x37 [7] */ 0x83, /* 0x38 [8] */ 0x73, /* 0x39 [9] */ 0x82, /* 0x3a [:] */ 0x81, /* 0x3b [;] */ 0x31, /* 0x3c [<] */ 0x41, /* 0x3d [=] */ 0x87, /* 0x3e [>] */ 0x67, /* 0x3f [?] */ 0x77, /* 0x40 [@] */ 0x00, /* 0x41 [A] */ 0x6166, /* 0x42 [B] */ 0x6154, /* 0x43 [C] */ 0x6155, /* 0x44 [D] */ 0x6165, /* 0x45 [E] */ 0x6125, /* 0x46 [F] */ 0x6144, /* 0x47 [G] */ 0x6164, /* 0x48 [H] */ 0x6143, /* 0x49 [I] */ 0x6113, /* 0x4a [J] */ 0x6163, /* 0x4b [K] */ 0x6142, /* 0x4c [L] */ 0x6162, /* 0x4d [M] */ 0x6153, /* 0x4e [N] */ 0x6133, /* 0x4f [O] */ 0x6122, /* 0x50 [P] */ 0x6112, /* 0x51 [Q] */ 0x6126, /* 0x52 [R] */ 0x6115, /* 0x53 [S] */ 0x6145, /* 0x54 [T] */ 0x6124, /* 0x55 [U] */ 0x6123, /* 0x56 [V] */ 0x6134, /* 0x57 [W] */ 0x6116, /* 0x58 [X] */ 0x6135, /* 0x59 [Y] */ 0x6156, /* 0x5a [Z] */ 0x6114, /* 0x5b [[] */ 0x00, /* 0x5c [\] */ 0x00, /* 0x5d []] */ 0x00, /* 0x5e [^] */ 0x00, /* 0x5f [_] */ 0x00, /* 0x60 [`] */ 0x00, /* 0x61 [a] */ 0x66, /* 0x62 [b] */ 0x54, /* 0x63 [c] */ 0x55, /* 0x64 [d] */ 0x65, /* 0x65 [e] */ 0x25, /* 0x66 [f] */ 0x44, /* 0x67 [g] */ 0x64, /* 0x68 [h] */ 0x43, /* 0x69 [i] */ 0x13, /* 0x6a [j] */ 0x63, /* 0x6b [k] */ 0x42, /* 0x6c [l] */ 0x62, /* 0x6d [m] */ 0x53, /* 0x6e [n] */ 0x33, /* 0x6f [o] */ 0x22, /* 0x70 [p] */ 0x12, /* 0x71 [q] */ 0x26, /* 0x72 [r] */ 0x15, /* 0x73 [s] */ 0x45, /* 0x74 [t] */ 0x24, /* 0x75 [u] */ 0x23, /* 0x76 [v] */ 0x34, /* 0x77 [w] */ 0x16, /* 0x78 [x] */ 0x35, /* 0x79 [y] */ 0x56, /* 0x7a [z] */ 0x14, /* 0x7b [{] */ 0x00, /* 0x7c [|] */ 0x00, /* 0x7d [}] */ 0x00, /* 0x7e [~] */ 0x00, /* 0x7f [.] */ 0x00, /* 0x80 [.] */ 0x00, /* 0x81 [.] */ 0x00, /* 0x82 [.] */ 0x00, /* 0x83 [.] */ 0x00, /* 0x84 [.] */ 0x00, /* 0x85 [.] */ 0x00, /* 0x86 [.] */ 0x00, /* 0x87 [.] */ 0x00, /* 0x88 [.] */ 0x00, /* 0x89 [.] */ 0x00, /* 0x8a [.] */ 0x00, /* 0x8b [.] */ 0x00, /* 0x8c [.] */ 0x00, /* 0x8d [.] */ 0x00, /* 0x8e [.] */ 0x00, /* 0x8f [.] */ 0x00, /* 0x90 [.] */ 0x00, /* 0x91 [.] */ 0x00, /* 0x92 [.] */ 0x00, /* 0x93 [.] */ 0x00, /* 0x94 [.] */ 0x00, /* 0x95 [.] */ 0x00, /* 0x96 [.] */ 0x00, /* 0x97 [.] */ 0x00, /* 0x98 [.] */ 0x00, /* 0x99 [.] */ 0x00, /* 0x9a [.] */ 0x00, /* 0x9b [.] */ 0x00, /* 0x9c [.] */ 0x00, /* 0x9d [.] */ 0x00, /* 0x9e [.] */ 0x00, /* 0x9f [.] */ 0x00, /* 0xa0 [.] */ 0x00, /* 0xa1 [.] */ 0x00, /* 0xa2 [.] */ 0x00, /* 0xa3 [.] */ 0x00, /* 0xa4 [.] */ 0x00, /* 0xa5 [.] */ 0x00, /* 0xa6 [.] */ 0x00, /* 0xa7 [.] */ 0x00, /* 0xa8 [.] */ 0x00, /* 0xa9 [.] */ 0x00, /* 0xaa [.] */ 0x00, /* 0xab [.] */ 0x00, /* 0xac [.] */ 0x00, /* 0xad [.] */ 0x00, /* 0xae [.] */ 0x00, /* 0xaf [.] */ 0x00, /* 0xb0 [.] */ 0x00, /* 0xb1 [.] */ 0x00, /* 0xb2 [.] */ 0x00, /* 0xb3 [.] */ 0x00, /* 0xb4 [.] */ 0x00, /* 0xb5 [.] */ 0x00, /* 0xb6 [.] */ 0x00, /* 0xb7 [.] */ 0x00, /* 0xb8 [.] */ 0x00, /* 0xb9 [.] */ 0x00, /* 0xba [.] */ 0x00, /* 0xbb [.] */ 0x00, /* 0xbc [.] */ 0x00, /* 0xbd [.] */ 0x00, /* 0xbe [.] */ 0x00, /* 0xbf [.] */ 0x00, /* 0xc0 [.] */ 0x00, /* 0xc1 [.] */ 0x00, /* 0xc2 [.] */ 0x00, /* 0xc3 [.] */ 0x00, /* 0xc4 [.] */ 0x00, /* 0xc5 [.] */ 0x00, /* 0xc6 [.] */ 0x00, /* 0xc7 [.] */ 0x00, /* 0xc8 [.] */ 0x00, /* 0xc9 [.] */ 0x00, /* 0xca [.] */ 0x00, /* 0xcb [.] */ 0x00, /* 0xcc [.] */ 0x00, /* 0xcd [.] */ 0x00, /* 0xce [.] */ 0x00, /* 0xcf [.] */ 0x00, /* 0xd0 [.] */ 0x00, /* 0xd1 [.] */ 0x00, /* 0xd2 [.] */ 0x00, /* 0xd3 [.] */ 0x00, /* 0xd4 [.] */ 0x00, /* 0xd5 [.] */ 0x00, /* 0xd6 [.] */ 0x00, /* 0xd7 [.] */ 0x00, /* 0xd8 [.] */ 0x00, /* 0xd9 [.] */ 0x00, /* 0xda [.] */ 0x00, /* 0xdb [.] */ 0x00, /* 0xdc [.] */ 0x00, /* 0xdd [.] */ 0x00, /* 0xde [.] */ 0x00, /* 0xdf [.] */ 0x00, /* 0xe0 [.] */ 0x00, /* 0xe1 [.] */ 0x00, /* 0xe2 [.] */ 0x00, /* 0xe3 [.] */ 0x00, /* 0xe4 [.] */ 0x00, /* 0xe5 [.] */ 0x00, /* 0xe6 [.] */ 0x00, /* 0xe7 [.] */ 0x00, /* 0xe8 [.] */ 0x00, /* 0xe9 [.] */ 0x00, /* 0xea [.] */ 0x00, /* 0xeb [.] */ 0x00, /* 0xec [.] */ 0x00, /* 0xed [.] */ 0x00, /* 0xee [.] */ 0x00, /* 0xef [.] */ 0x00, /* 0xf0 [.] */ 0x00, /* 0xf1 [.] */ 0x00, /* 0xf2 [.] */ 0x00, /* 0xf3 [.] */ 0x00, /* 0xf4 [.] */ 0x00, /* 0xf5 [.] */ 0x00, /* 0xf6 [.] */ 0x00, /* 0xf7 [.] */ 0x00, /* 0xf8 [.] */ 0x00, /* 0xf9 [.] */ 0x00, /* 0xfa [.] */ 0x00, /* 0xfb [.] */ 0x00, /* 0xfc [.] */ 0x00, /* 0xfd [.] */ 0x00, /* 0xfe [.] */ 0x00, /* 0xff [.] */ 0x00, /* 0x100 */ 0x00, /* 0x101 */ 0x00, /* 0x102 */ 0x00, /* 0x103 */ 0x00, /* 0x104 */ 0x00, /* 0x105 */ 0x00, /* 0x106 */ 0x00, /* 0x107 */ 0x00, /* 0x108 */ 0x00, /* 0x109 */ 0x00, /* 0x10a */ 0x00, /* 0x10b */ 0x00, /* 0x10c */ 0x00, /* 0x10d */ 0x00, /* 0x10e */ 0x00, /* 0x10f */ 0x00, /* 0x110 */ 0x61, /* SHIFT */ /* 0x111 */ 0x47, /* CONTROL */ /* 0x112 */ 0x00, /* ALT */ /* 0x113 */ 0x00, /* ALT_GR */ /* 0x114 */ 0x21, /* LEFT */ /* 0x115 */ 0x17, /* RIGHT */ /* 0x116 */ 0x71, /* DOWN */ /* 0x117 */ 0x6171, /* UP */ /* 0x118 */ 0x00, /* HOME */ /* 0x119 */ 0x00, /* END */ /* 0x11a */ 0x32, /* DEL */ /* 0x11b */ 0x00, /* INSERT */ /* 0x11c */ 0x00, /* 0x11d */ 0x00, /* 0x11e */ 0x00, /* PAUSE */ /* 0x11f */ 0x00, /* 0x120 */ 0x00, /* COLOR */ /* 0x121 */ 0x00, /* GRAPHIC */ /* 0x122 */ 0x00, /* LIST */ /* 0x123 */ 0x00, /* RUN */ /* 0x124 */ 0x00, /* STOP */ /* 0x125 */ 0x00, /* SHIFT LOCK */ /* 0x126 */ 0x00, /* 0x127 */ 0x00, /* 0x128 */ 0x00, /* 0x129 */ 0x00, /* 0x12a */ 0x00, /* 0x12b */ 0x00, /* 0x12c */ 0x00, /* 0x12d */ 0x00, /* 0x12e */ 0x00, /* 0x12f */ 0x00, }; #endif /* __kc_kramermc_keydef_h */ KCemu-0.5.1/include/kc/kramermc/Makefile.am0000644000175000017500000000016712417262523020632 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ memory.h \ keyboard.h \ keydef.h \ pio.h KCemu-0.5.1/include/kc/kramermc/memory.h0000644000175000017500000000465512417262523020265 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kramermc_memory_h #define __kc_kramermc_memory_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class MemoryKramerMC : public Memory { private: byte_t _irm[0x0400]; byte_t _ram_0c00h[0x0400]; byte_t _ram_1000h[0x3000]; byte_t _ram_4000h[0x4000]; byte_t _rom_io_monitor[0x0400]; byte_t _rom_debugger[0x0400]; byte_t _rom_reassembler[0x0400]; byte_t _rom_basic[0x3000]; byte_t _rom_editor[0x0400]; byte_t _rom_assembler[0x1c00]; byte_t _rom_chargen[0x0800]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_rom_io_monitor; /* ROM IO-Monitor 0000h - 03ffh */ MemAreaGroup *_m_rom_debugger; /* ROM Debugger 0400h - 07ffh */ MemAreaGroup *_m_rom_reassembler; /* ROM Reassembler 0800h - 0bffh */ MemAreaGroup *_m_ram_0c00h; /* RAM system 0c00h - 0fffh */ MemAreaGroup *_m_ram_1000h; /* RAM statisch 1000h - 3fffh */ MemAreaGroup *_m_ram_4000h; /* RAM dynamisch 4000h - 7fffh */ MemAreaGroup *_m_rom_basic; /* ROM BASIC 8000h - afffh */ MemAreaGroup *_m_rom_editor; /* ROM Editor c000h - c3ffh */ MemAreaGroup *_m_rom_assembler; /* ROM Assembler c400h - dfffh */ MemAreaGroup *_m_irm; /* IRM fc00h - ffffh */ public: MemoryKramerMC(void); virtual ~MemoryKramerMC(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); virtual void reset(bool power_on = false); }; #endif /* __kc_kramermc_memory_h */ KCemu-0.5.1/include/kc/kramermc/keyboard.h0000644000175000017500000000377412417262523020556 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kramermc_keyboard_h #define __kc_kramermc_keyboard_h #include "kc/kc.h" #include "kc/cb.h" #include "kc/pio.h" #include "kc/keyboard.h" class KeyboardKramerMC : public Keyboard, public PIOCallbackInterface { public: enum { MODIFIER_PRESS_DELAY = 150000, MODIFIER_RELEASE_DELAY = 150000, }; private: int _row; struct _keybuf { int code; byte_t sym1; byte_t sym2; } _keybuf; protected: void init(void); int decode_key(int keysym, bool press); public: KeyboardKramerMC(void); virtual ~KeyboardKramerMC(void); virtual void keyPressed(int keysym, int keycode); virtual void keyReleased(int keysym, int keycode); virtual void replayString(const char *text); virtual void callback(void *data); /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); /* * PIOCallbackInterface */ virtual int callback_A_in(void); virtual int callback_B_in(void); virtual void callback_A_out(byte_t val); virtual void callback_B_out(byte_t val); }; #endif /* __kc_kramermc_keyboard_h */ KCemu-0.5.1/include/kc/pio4.h0000644000175000017500000000246212417262523016021 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio4_h #define __kc_pio4_h #include "kc/pio.h" #include "kc/tape.h" class PIO4 : public PIO, public TapeCallback { protected: virtual void change_A(byte_t changed, byte_t val); virtual void change_B(byte_t changed, byte_t val); public: PIO4(void); virtual ~PIO4(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); /* * TapeCallback */ virtual void tape_callback(byte_t val); }; #endif /* __kc_pio4_h */ KCemu-0.5.1/include/kc/ctc_dio.h0000644000175000017500000000303412417262523016546 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc_dio_h #define __kc_ctc_dio_h #include "kc/system.h" #include "kc/ctc_base.h" class CTC_DIO : public CTC_Base { private: public: CTC_DIO(void); virtual ~CTC_DIO(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); void info(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); void trigger_irq(int channel); void add_callback(unsigned long long offset, Callback *cb, void *data); }; #endif /* __kc_ctc_dio_h */ KCemu-0.5.1/include/kc/mod_m052.h0000644000175000017500000000276312417262523016474 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_m052_h #define __kc_mod_m052_h #include "kc/mod_segm.h" class ModuleNetworkUSB : public ModuleSegmentedMemory { private: PIO *_pio_net; PIO *_pio_vdip; PortGroup *_portg_pio_net; PortGroup *_portg_pio_vdip; protected: virtual word_t get_base_address(word_t addr, byte_t val); virtual int get_segment_index(word_t addr, byte_t val); public: ModuleNetworkUSB(ModuleNetworkUSB &tmpl); ModuleNetworkUSB(const char *filename, const char *name, byte_t id); virtual ~ModuleNetworkUSB(void); byte_t m_in(word_t addr); void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_m052_h */ KCemu-0.5.1/include/kc/memory2.h0000644000175000017500000000327512417262523016543 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory2_h #define __kc_memory2_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class Memory2 : public Memory { private: byte_t _ram[0x4000]; byte_t _rom_caos[0x2000]; byte_t _irm[0x4000]; bool _access_color; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_caos; /* CAOS e000h - e7ffh, f000h - f7ffh */ MemAreaGroup *_m_ram; /* RAM 0000h - 3fffh */ MemAreaGroup *_m_irm; /* IRM 8000h - bfffh */ public: Memory2(void); virtual ~Memory2(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); void enableCAOS(int v); void enableIRM(int v); void enableRAM(int v); void protectRAM(int v); virtual void reset(bool power_on = false); }; #endif /* __kc_memory2_h */ KCemu-0.5.1/include/kc/memory8.h0000644000175000017500000000364712417262523016554 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_memory8_h #define __kc_memory8_h #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" class Memory8 : public Memory { private: byte_t _ram[0x1000]; /* 0x400 for 1k & 2k, 0x1000 for lc80e */ byte_t _rom[0x0800]; byte_t _rom1[0x0400]; byte_t _rom2[0x0400]; byte_t _rome[0x3000]; MemAreaGroup *_m_scr; /* scratch memory */ MemAreaGroup *_m_ram; /* RAM 2000h - 23ffh */ MemAreaGroup *_m_rom; /* ROM 0000h - 07ffh (2k variant) */ MemAreaGroup *_m_rom1; /* ROM 0000h - 03ffh (1k variant) */ MemAreaGroup *_m_rom2; /* ROM 0800h - 0bffh (1k variant) */ MemAreaGroup *_m_rome1; /* ROM 0000h - 0fffh (LC80e) */ MemAreaGroup *_m_rome2; /* ROM 1000h - 1fffh (LC80e) */ MemAreaGroup *_m_rome5; /* ROM c000h - cfffh (LC80e) */ public: Memory8(void); virtual ~Memory8(void); void dumpCore(void); byte_t memRead8(word_t addr); void memWrite8(word_t addr, byte_t val); byte_t * get_irm(void); byte_t * get_char_rom(void); virtual void reset(bool power_on = false); }; #endif /* __kc_memory8_h */ KCemu-0.5.1/include/kc/mod_4m.h0000644000175000017500000000255212417262523016325 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_4m_h #define __kc_mod_4m_h #include "kc/mod_1m.h" class Module4M : public ModuleInterface { private: Module1M *_master[4]; ModuleInterface *_module[4]; protected: Module1M * get_master(int idx); public: Module4M(Module4M &tmpl); Module4M(const char *name, byte_t id); virtual ~Module4M(void); virtual byte_t m_in(word_t addr); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_4m_h */ KCemu-0.5.1/include/kc/ctc9.h0000644000175000017500000000257312417262523016013 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc9_h #define __kc_ctc9_h #include "kc/system.h" #include "kc/ctc_base.h" class CTC9 : public CTC_Base { public: CTC9(void); virtual ~CTC9(void); virtual bool irq_0(void); virtual bool irq_1(void); virtual bool irq_2(void); virtual bool irq_3(void); virtual long counter_value_0(void); virtual long counter_value_1(void); virtual long counter_value_2(void); virtual long counter_value_3(void); /* PortInterface */ byte_t in(word_t addr); void out(word_t addr, byte_t val); }; #endif /* __kc_ctc9_h */ KCemu-0.5.1/include/kc/fdc7.h0000644000175000017500000000236612417262523015774 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_fdc7_h #define __kc_fdc7_h #include "kc/system.h" #include "kc/fdc.h" class FDC7 : public FDC { public: FDC7(void); virtual ~FDC7(void); virtual long long get_counter(); virtual void add_callback(unsigned long long offset, Callback *cb, void *data); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_fdc7_h */ KCemu-0.5.1/include/kc/cb.h0000644000175000017500000000251012417262523015524 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_cb_h #define __kc_cb_h #include #include #include #include "kc/kc.h" class Callback { private: char *_name; public: Callback(const char *name = 0) { if (name != 0) _name = strdup(name); else _name = strdup("unknown"); } virtual ~Callback(void) { free(_name); } virtual void callback(void *data) = 0; virtual const char * get_name(void) { return _name; } }; #endif /* __kc_cb_h */ KCemu-0.5.1/include/kc/timer1.h0000644000175000017500000000223112417262523016341 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_timer1_h #define __kc_timer1_h #include "kc/kc.h" #include "kc/timer.h" class Timer1 : public Timer { private: byte_t _flash; public: Timer1(void); virtual ~Timer1(void); virtual byte_t get_flash(); virtual void start(void); virtual void callback(void *data); }; #endif /* __kc_timer1_h */ KCemu-0.5.1/include/kc/mod_64k.h0000644000175000017500000000267112417262523016413 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_64k_h #define __kc_mod_64k_h #include #include "kc/module.h" #include "kc/memory.h" class Module64k : public ModuleInterface { private: enum { SEGMENTS = 4, SEGMENT_SIZE = 0x4000, RAM_SIZE = SEGMENTS * SEGMENT_SIZE, }; byte_t _val; byte_t *_ram; MemAreaGroup *_group[4]; public: Module64k(Module64k &tmpl); Module64k(const char *name, byte_t id); virtual ~Module64k(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_64k_h */ KCemu-0.5.1/include/kc/system.h0000644000175000017500000000247612417262523016477 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_system_h #define __kc_system_h #include "kc/config.h" #ifdef ENABLE_NLS # ifdef USE_INCLUDED_LIBINTL # include "../../intl/libintl.h" # else # include # endif # define _(x) (gettext(x)) # ifdef gettext_noop # define N_(x) gettext_noop(x) # else # define N_(x) (x) # endif #else # define _(x) (x) # define N_(x) x #endif /* ENABLE_NLS */ typedef unsigned char byte_t; typedef unsigned short word_t; typedef unsigned long dword_t; #endif /* __kc_system_h */ KCemu-0.5.1/include/kc/plotter.h0000644000175000017500000001146112417262523016636 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_plotter_h #define __kc_plotter_h #include #include "kc/kc.h" class Plotter { private: /** paper width in mm (A4) */ static const double WIDTH_MM = 210.0; /** paper height in mm (A4) */ static const double HEIGHT_MM = 297.0; /** plotting area width in mm */ static const double PLOTTING_AREA_WIDTH_MM = 188.0; /** plotting area height in mm */ static const double PLOTTING_AREA_HEIGHT_MM = 255.0; /** scaling factor for the buffer image surface */ static const double BUFFER_SURFACE_SCALE = 10.0; /** scaling factor for the onscreen image surface */ static const double ONSCREEN_SURFACE_SCALE = 3.0; /** plotter step width in cm */ static const double STEP_WIDTH = 0.1; /** convert mm to points per inch (for pdf output) */ static const double MM_TO_INCH = 72.0 / 25.4; private: /** current coordianates of the plotting pen */ double _x, _y; /** pen color, a.k.a. the foreground color */ double _red, _green, _blue; /** paper color, a.k.a. the background color */ double _bg_red, _bg_green, _bg_blue; double _line_width; double _pen_down_factor; bool _pen_down; bool _show_pen; bool _show_plot_area; double _origin_x; double _origin_y; double _origin_x_new; double _origin_y_new; bool _dirty; double _dirty_x1; double _dirty_y1; double _dirty_x2; double _dirty_y2; bool _invalidated; /** * Image surface that is used for direct onscreen rendering. */ cairo_t *_onscreen_cr; cairo_surface_t *_onscreen_surface; /** * Cairo surface and context for the double buffer image, the * size of the image will be 2100 x 2970 pixel which matches the * resolution of the plotter XY4131 (A4 paper size with step * width of 0.1mm). The actual plotting area is 1800 x 2550 pixel. */ cairo_t *_buffer_cr; cairo_surface_t *_buffer_surface; /** * PDF surface and context that is only present if a pdf file * was opened by the user. */ cairo_t *_pdf_cr; cairo_surface_t *_pdf_surface; private: virtual void set_point(cairo_t *cr, double x, double y); virtual void draw_to(cairo_t *cr, double x, double y); virtual void invalidate(void); virtual void clear_dirty_rect(void); virtual void update_dirty_rect(double x, double y); virtual cairo_t * replace_cairo_context(cairo_t *old_cr, cairo_surface_t *surface, double scale_factor); virtual void clear_surface(cairo_surface_t *surface, double scale_factor); virtual void init_image_surface(cairo_surface_t **surface, cairo_t **cr, double width, double height); public: Plotter(void); virtual ~Plotter(void); virtual void init(void); virtual void pen_up(void); virtual void pen_down(void); virtual void step(int delta_x, int delta_y); virtual void show_page(void); virtual void open_pdf(const char *filename); virtual void close_pdf(void); virtual cairo_status_t save_as_png(const char *filename); virtual bool is_dirty(void); virtual cairo_rectangle_t * get_dirty_rectangle(void); virtual cairo_surface_t * get_onscreen_surface(void); virtual double get_line_width(void); virtual void set_line_width(double line_width); virtual double get_origin_x(void); virtual void set_origin_x(double origin_x); virtual double get_origin_y(void); virtual void set_origin_y(double origin_y); virtual double get_bg_red(void); virtual double get_bg_green(void); virtual double get_bg_blue(void); virtual void set_bg_color(double red, double green, double blue); virtual double get_pen_red(void); virtual double get_pen_green(void); virtual double get_pen_blue(void); virtual void set_pen_color(double red, double green, double blue); virtual double get_x(void); virtual double get_y(void); virtual bool is_show_pen(void); virtual void set_show_pen(bool show_pen); virtual bool is_show_plot_area(void); virtual void set_show_plot_area(bool show_plot_area); virtual bool is_show_helpers(void); virtual bool is_pen_down(void); }; #endif /* __kc_plotter_h */ KCemu-0.5.1/include/kc/kc.h0000644000175000017500000000534412417262523015545 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_kc_h #define __kc_kc_h #include "kc/system.h" class Z80; class Z80_FDC; class DaisyChain; class UI; class Ports; class Module; class Memory; class CTC; class PIO; class Tape; class Disk; class Timer; class Keyboard; class ModuleList; class CMD; class FloppySharedMem; class FloppyIO; class FDC; class Sound; class PortInterface; class GDC; class VIS; class VDIP; class KCNET; class Poly880; class DisplayC80; class Plotter; extern Z80 *z80; extern DaisyChain *daisy; extern UI *ui; extern Ports *ports; extern PortInterface *porti; extern Module *module; extern Memory *memory; extern CTC *ctc; extern CTC *ctc2; extern PIO *pio; extern PIO *pio2; extern Tape *tape; extern Disk *disk; extern Timer *timer; extern Keyboard *keyboard; extern ModuleList *module_list; extern CMD *cmd; extern GDC *gdc; extern VIS *vis; extern Poly880 *poly880; extern DisplayC80 *display_c80; extern Plotter *plotter; extern Z80_FDC *fdc_z80; extern FloppyIO *fdc_io; extern FloppySharedMem *fdc_shmem; extern Ports *fdc_ports; extern FDC *fdc_fdc; extern Sound *sound; extern VDIP *vdip; extern KCNET *kcnet; extern byte_t fdc_mem[]; extern int kcemu_ui_scale; extern int kcemu_ui_debug; extern int kcemu_ui_fullscreen; extern int kcemu_ui_display_effect; extern char *kcemu_modules; extern char *kcemu_homedir; extern char *kcemu_datadir; extern char *kcemu_localedir; extern char *kcemu_debug_output; extern char *kcemu_autostart_file; extern char *kcemu_autostart_addr; extern char *kcemu_vdip_root; const char * kc_get_license(void); const char * kc_get_warranty(void); const char * kc_get_license_trailer(void); #endif /* __kc_kc_h */ KCemu-0.5.1/include/kc/sh_mem.h0000644000175000017500000000233512417262523016415 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_sh_mem_h #define __kc_sh_mem_h #include "kc/system.h" #include "kc/ports.h" class FloppySharedMem : public PortInterface { private: byte_t *_mem; public: FloppySharedMem(void); virtual ~FloppySharedMem(void); virtual void set_memory(byte_t *mem); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_sh_mem_h */ KCemu-0.5.1/include/kc/config.h.in0000644000175000017500000003424012417262523017017 0ustar glaubitzglaubitz/* include/kc/config.h.in. Generated from configure.ac by autoheader. */ /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. */ #undef CRAY_STACKSEG_END /* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* "debug level" */ #undef DBG_LEVEL /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* "enable sound" */ #undef ENABLE_SOUND /* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA /* Define to 1 if you have and it should be used (not on Ultrix). */ #undef HAVE_ALLOCA_H /* Define to 1 if you have the `argz_count' function. */ #undef HAVE_ARGZ_COUNT /* Define to 1 if you have the header file. */ #undef HAVE_ARGZ_H /* Define to 1 if you have the `argz_next' function. */ #undef HAVE_ARGZ_NEXT /* Define to 1 if you have the `argz_stringify' function. */ #undef HAVE_ARGZ_STRINGIFY /* Define to 1 if you have the `asprintf' function. */ #undef HAVE_ASPRINTF /* Define to 1 if the compiler understands __builtin_expect. */ #undef HAVE_BUILTIN_EXPECT /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FEOF_UNLOCKED /* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_FGETS_UNLOCKED /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED /* Define to 1 if you have the declaration of `_snprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNPRINTF /* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you don't. */ #undef HAVE_DECL__SNWPRINTF /* Define to 1 if you have the `fwprintf' function. */ #undef HAVE_FWPRINTF /* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD /* Define to 1 if you have the `getegid' function. */ #undef HAVE_GETEGID /* Define to 1 if you have the `geteuid' function. */ #undef HAVE_GETEUID /* Define to 1 if you have the `getgid' function. */ #undef HAVE_GETGID /* "getopt() available" */ #undef HAVE_GETOPT /* "getopt_long() available" */ #undef HAVE_GETOPT_LONG /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the `getuid' function. */ #undef HAVE_GETUID /* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define if you have the 'intmax_t' type in or . */ #undef HAVE_INTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if exists, doesn't clash with , and declares uintmax_t. */ #undef HAVE_INTTYPES_H_WITH_UINTMAX /* "Supported joystick interface present - Currently linux only" */ #undef HAVE_JOYSTICK /* Define if you have and nl_langinfo(CODESET). */ #undef HAVE_LANGINFO_CODESET /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* "have libaudiofile" */ #undef HAVE_LIBAUDIOFILE /* "have libavformat" */ #undef HAVE_LIBAVFORMAT /* "have libdirac" */ #undef HAVE_LIBDIRAC /* "have libFLAC" */ #undef HAVE_LIBFLAC /* "have libgif" */ #undef HAVE_LIBGIF /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* "have libmp3lame" */ #undef HAVE_LIBMP3LAME /* "have libschroedinger" */ #undef HAVE_LIBSCHROEDINGER /* "have libSDL" */ #undef HAVE_LIBSDL /* "have libsndfile" */ #undef HAVE_LIBSNDFILE /* "have libsndfile version 0.0.x" */ #undef HAVE_LIBSNDFILE_V0 /* "have libnsndfile version 1.0.x" */ #undef HAVE_LIBSNDFILE_V1 /* "have libtheora" */ #undef HAVE_LIBTHEORA /* "have libtheora version 1.0" */ #undef HAVE_LIBTHEORA10 /* "have libtheora version 1.1" */ #undef HAVE_LIBTHEORA11 /* "have libvncserver" */ #undef HAVE_LIBVNCSERVER /* "have libvorbis" */ #undef HAVE_LIBVORBIS /* "have libxvidcore" */ #undef HAVE_LIBXVIDCORE /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H /* "localtime" */ #undef HAVE_LOCALTIME /* "localtime_r" */ #undef HAVE_LOCALTIME_R /* Define to 1 if the system has the type `long long int'. */ #undef HAVE_LONG_LONG_INT /* Define to 1 if you have the header file. */ #undef HAVE_MCHECK_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mempcpy' function. */ #undef HAVE_MEMPCPY /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP /* Define to 1 if you have the `mtrace' function. */ #undef HAVE_MTRACE /* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP /* Define if you have and it defines the NL_LOCALE_NAME macro if _GNU_SOURCE is defined. */ #undef HAVE_NL_LOCALE_NAME /* "have oss" */ #undef HAVE_OSS /* Define if your printf() function supports format strings with positions. */ #undef HAVE_POSIX_PRINTF /* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ #undef HAVE_PTHREAD_MUTEX_RECURSIVE /* Define if the POSIX multithreading library has read/write locks. */ #undef HAVE_PTHREAD_RWLOCK /* Define to 1 if you have the `putenv' function. */ #undef HAVE_PUTENV /* Define to 1 if you have the `setenv' function. */ #undef HAVE_SETENV /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define if exists, doesn't clash with , and declares uintmax_t. */ #undef HAVE_STDINT_H_WITH_UINTMAX /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `stpcpy' function. */ #undef HAVE_STPCPY /* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strncasecmp' function. */ #undef HAVE_STRNCASECMP /* Define to 1 if you have the `strrchr' function. */ #undef HAVE_STRRCHR /* Define to 1 if you have the `strstr' function. */ #undef HAVE_STRSTR /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL /* Define to 1 if you have the `strtoul' function. */ #undef HAVE_STRTOUL /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the `tsearch' function. */ #undef HAVE_TSEARCH /* Define if you have the 'uintmax_t' type in or . */ #undef HAVE_UINTMAX_T /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if the system has the type `unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT /* "Supported serial port interface present" */ #undef HAVE_V24 /* Define to 1 or 0, depending whether the compiler supports simple visibility declarations. */ #undef HAVE_VISIBILITY /* Define if you have the 'wchar_t' type. */ #undef HAVE_WCHAR_T /* Define to 1 if you have the `wcslen' function. */ #undef HAVE_WCSLEN /* Define if you have the 'wint_t' type. */ #undef HAVE_WINT_T /* Define to 1 if you have the `__fsetlocking' function. */ #undef HAVE___FSETLOCKING /* "host os" */ #undef HOST_OS /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST /* Define if integer division by zero raises signal SIGFPE. */ #undef INTDIV0_RAISES_SIGFPE /* "KCemu extra version" */ #undef KCEMU_EXTRA_VERSION /* "KCemu extra version text" */ #undef KCEMU_EXTRA_VERSION_TEXT /* "KCemu major version" */ #undef KCEMU_MAJOR_VERSION /* "KCemu micro version" */ #undef KCEMU_MICRO_VERSION /* "KCemu minor version" */ #undef KCEMU_MINOR_VERSION /* "KCemu version" */ #undef KCEMU_VERSION /* "soundcard.h path" */ #undef OSS_HEADER /* "package name" */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* "KCemu Homepage" */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define if exists and defines unusable PRI* macros. */ #undef PRI_MACROS_BROKEN /* Define if the pthread_in_use() detection is hard. */ #undef PTHREAD_IN_USE_DETECTION_HARD /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE /* Define as the maximum value of type 'size_t', if the system doesn't define it. */ #undef SIZE_MAX /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* "use included getopt" */ #undef USE_INCLUDED_GETOPT /* "use included libintl" */ #undef USE_INCLUDED_LIBINTL /* Define if the POSIX multithreading library can be used. */ #undef USE_POSIX_THREADS /* Define if references to the POSIX multithreading library should be made weak. */ #undef USE_POSIX_THREADS_WEAK /* Define if the GNU Pth multithreading library can be used. */ #undef USE_PTH_THREADS /* Define if references to the GNU Pth multithreading library should be made weak. */ #undef USE_PTH_THREADS_WEAK /* Define if the old Solaris multithreading library can be used. */ #undef USE_SOLARIS_THREADS /* Define if references to the old Solaris multithreading library should be made weak. */ #undef USE_SOLARIS_THREADS_WEAK /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif /* Enable threading extensions on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif /* Enable general extensions on Solaris. */ #ifndef __EXTENSIONS__ # undef __EXTENSIONS__ #endif /* Define if the Win32 multithreading API can be used. */ #undef USE_WIN32_THREADS /* "package version" */ #undef VERSION /* Define to 1 if on MINIX. */ #undef _MINIX /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #undef _POSIX_1_SOURCE /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define as the type of the result of subtracting two pointers, if the system doesn't define it. */ #undef ptrdiff_t /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to unsigned long or unsigned long long if and don't define. */ #undef uintmax_t #define __libc_lock_t gl_lock_t #define __libc_lock_define gl_lock_define #define __libc_lock_define_initialized gl_lock_define_initialized #define __libc_lock_init gl_lock_init #define __libc_lock_lock gl_lock_lock #define __libc_lock_unlock gl_lock_unlock #define __libc_lock_recursive_t gl_recursive_lock_t #define __libc_lock_define_recursive gl_recursive_lock_define #define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized #define __libc_lock_init_recursive gl_recursive_lock_init #define __libc_lock_lock_recursive gl_recursive_lock_lock #define __libc_lock_unlock_recursive gl_recursive_lock_unlock #define glthread_in_use libintl_thread_in_use #define glthread_lock_init libintl_lock_init #define glthread_lock_lock libintl_lock_lock #define glthread_lock_unlock libintl_lock_unlock #define glthread_lock_destroy libintl_lock_destroy #define glthread_rwlock_init libintl_rwlock_init #define glthread_rwlock_rdlock libintl_rwlock_rdlock #define glthread_rwlock_wrlock libintl_rwlock_wrlock #define glthread_rwlock_unlock libintl_rwlock_unlock #define glthread_rwlock_destroy libintl_rwlock_destroy #define glthread_recursive_lock_init libintl_recursive_lock_init #define glthread_recursive_lock_lock libintl_recursive_lock_lock #define glthread_recursive_lock_unlock libintl_recursive_lock_unlock #define glthread_recursive_lock_destroy libintl_recursive_lock_destroy #define glthread_once libintl_once #define glthread_once_call libintl_once_call #define glthread_once_singlethreaded libintl_once_singlethreaded KCemu-0.5.1/include/kc/z80.h0000644000175000017500000001106312417262523015564 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_z80_h #define __kc_z80_h #include #include #include "kc/system.h" #include "kc/ic.h" #include "kc/cb.h" #include "kc/cb_list.h" class Z80 { public: Z80EX_CONTEXT *_context; bool _debug; bool _trace; bool _singlestep; bool _executestep; bool _enable_floppy_cpu; long _tracedelay; byte_t _next_irq; dword_t _irq_line; dword_t _irq_mask; typedef std::list ic_list_t; static const int I_PERIOD; bool _do_quit; unsigned long long _counter; ic_list_t _ic_list; CallbackList _cb_list; private: void reset(word_t pc, bool power_on); /*callback that returns byte for a given adress*/ static Z80EX_BYTE z80ex_dasm_readbyte_cb(Z80EX_WORD addr, void *user_data); /*read byte from memory -- called when RD & MREQ goes active. m1_state will be 1 if M1 signal is active*/ static Z80EX_BYTE z80ex_mread_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD addr, int m1_state, void *user_data); /*write to memory -- called when WR & MREQ goes active*/ static void z80ex_mwrite_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD addr, Z80EX_BYTE value, void *user_data); /*read byte from -- called when RD & IORQ goes active*/ static Z80EX_BYTE z80ex_pread_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD port, void *user_data); /*write to -- called when WR & IORQ goes active*/ static void z80ex_pwrite_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD port, Z80EX_BYTE value, void *user_data); /*read byte of interrupt vector -- called when M1 and IORQ goes active*/ static Z80EX_BYTE z80ex_intread_cb(Z80EX_CONTEXT *cpu, void *user_data); /*called when the reti instruction is executed*/ static void z80ex_reti_cb(Z80EX_CONTEXT *cpu, void *user_data); public: Z80(void); ~Z80(void) {} bool run(void); void executestep(void); bool debug(void); void debug(bool value); bool trace(void); void trace(bool value); void tracedelay(long delay); bool singlestep(); void singlestep(bool value); void nmi(void); void reset(void); void power_on(void); void jump(word_t pc); void reti(void); void register_ic(InterfaceCircuit *h); void unregister_ic(InterfaceCircuit *h); void addCallback(unsigned long long offset, Callback *cb, void *data); void remove_callback_listener(Callback *cb); inline unsigned long long getCounter(void) { return _counter; } dword_t get_irq_mask(void); void set_irq_line(dword_t mask); void reset_irq_line(dword_t mask); void printPC(void); void quit(void); word_t getAF(void) { return z80ex_get_reg(_context, regAF); } word_t getBC(void) { return z80ex_get_reg(_context, regBC); } word_t getDE(void) { return z80ex_get_reg(_context, regDE); } word_t getHL(void) { return z80ex_get_reg(_context, regHL); } word_t getIX(void) { return z80ex_get_reg(_context, regIX); } word_t getIY(void) { return z80ex_get_reg(_context, regIY); } word_t getPC(void) { return z80ex_get_reg(_context, regPC); } word_t getSP(void) { return z80ex_get_reg(_context, regSP); } word_t getAFs(void) { return z80ex_get_reg(_context, regAF_); } word_t getBCs(void) { return z80ex_get_reg(_context, regBC_); } word_t getDEs(void) { return z80ex_get_reg(_context, regDE_); } word_t getHLs(void) { return z80ex_get_reg(_context, regHL_); } byte_t getIFF(void) { return z80ex_get_reg(_context, regIFF1); } byte_t getI(void) { return z80ex_get_reg(_context, regI); } bool get_halt(void) { return z80ex_doing_halt(_context); } void start_floppy_cpu(void); void halt_floppy_cpu(bool power_on); }; #endif /* __kc_z80_h */ KCemu-0.5.1/include/kc/keyb8k.h0000644000175000017500000002066412417262523016347 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb8k_h #define __kc_keyb8k_h /* * * LC80 keyboard matrix * -------------------- * * B2 B3 B4 B5 B6 B7 * (0) (1) (2) (3) (4) (5) * [01] [02] [04] [08] [10] [20] * * * B4 (6) [01] N/C 3 7 B F - * * * B5 (7) [02] LD 2 + E A 6 * * * B6 (8) [04] ST 1 5 9 D DAT * * * B7 (9) [08] EX 0 4 8 C ADR * */ static unsigned int __keys[] = { /* 0x00 [.] */ 0x00, /* 0x01 [.] */ 0x00, /* 0x02 [.] */ 0x00, /* 0x03 [.] */ 0x00, /* 0x04 [.] */ 0x00, /* 0x05 [.] */ 0x00, /* 0x06 [.] */ 0x00, /* 0x07 [.] */ 0x00, /* 0x08 [.] */ 0x00, /* 0x09 [.] */ 0x00, /* 0x0a [.] */ 0x00, /* 0x0b [.] */ 0x00, /* 0x0c [.] */ 0x00, /* 0x0d [.] */ 0x0801, /* ENTER */ /* 0x0e [.] */ 0x00, /* 0x0f [.] */ 0x00, /* 0x10 [.] */ 0x00, /* 0x11 [.] */ 0x00, /* 0x12 [.] */ 0x00, /* 0x13 [.] */ 0x00, /* 0x14 [.] */ 0x00, /* 0x15 [.] */ 0x00, /* 0x16 [.] */ 0x00, /* 0x17 [.] */ 0x00, /* 0x18 [.] */ 0x00, /* 0x19 [.] */ 0x00, /* 0x1a [.] */ 0x00, /* 0x1b [.] */ 0x00, /* 0x1c [.] */ 0x00, /* 0x1d [.] */ 0x00, /* 0x1e [.] */ 0x00, /* 0x1f [.] */ 0x00, /* 0x20 [ ] */ 0x00, /* 0x21 [!] */ 0x00, /* 0x22 ["] */ 0x00, /* 0x23 [#] */ 0x00, /* 0x24 [$] */ 0x00, /* 0x25 [%] */ 0x00, /* 0x26 [&] */ 0x00, /* 0x27 ['] */ 0x00, /* 0x28 [(] */ 0x00, /* 0x29 [)] */ 0x00, /* 0x2a [*] */ 0x00, /* 0x2b [+] */ 0x0204, /* 0x2c [,] */ 0x00, /* 0x2d [-] */ 0x0120, /* 0x2e [.] */ 0x00, /* 0x2f [/] */ 0x00, /* 0x30 [0] */ 0x0802, /* 0x31 [1] */ 0x0402, /* 0x32 [2] */ 0x0202, /* 0x33 [3] */ 0x0102, /* 0x34 [4] */ 0x0804, /* 0x35 [5] */ 0x0404, /* 0x36 [6] */ 0x0220, /* 0x37 [7] */ 0x0104, /* 0x38 [8] */ 0x0808, /* 0x39 [9] */ 0x0408, /* 0x3a [:] */ 0x00, /* 0x3b [;] */ 0x00, /* 0x3c [<] */ 0x00, /* 0x3d [=] */ 0x00, /* 0x3e [>] */ 0x00, /* 0x3f [?] */ 0x00, /* 0x40 [@] */ 0x00, /* 0x41 [A] */ 0x0210, /* 0x42 [B] */ 0x0108, /* 0x43 [C] */ 0x0810, /* 0x44 [D] */ 0x0410, /* 0x45 [E] */ 0x0208, /* 0x46 [F] */ 0x0110, /* 0x47 [G] */ 0x00, /* 0x48 [H] */ 0x00, /* 0x49 [I] */ 0x00, /* 0x4a [J] */ 0x00, /* 0x4b [K] */ 0x00, /* 0x4c [L] */ 0x00, /* 0x4d [M] */ 0x00, /* 0x4e [N] */ 0x00, /* 0x4f [O] */ 0x00, /* 0x50 [P] */ 0x00, /* 0x51 [Q] */ 0x00, /* 0x52 [R] */ 0x00, /* 0x53 [S] */ 0x00, /* 0x54 [T] */ 0x00, /* 0x55 [U] */ 0x00, /* 0x56 [V] */ 0x00, /* 0x57 [W] */ 0x00, /* 0x58 [X] */ 0x00, /* 0x59 [Y] */ 0x00, /* 0x5a [Z] */ 0x00, /* 0x5b [[] */ 0x00, /* 0x5c [\] */ 0x00, /* 0x5d []] */ 0x00, /* 0x5e [^] */ 0x00, /* 0x5f [_] */ 0x00, /* 0x60 [`] */ 0x00, /* 0x61 [a] */ 0x0210, /* 0x62 [b] */ 0x0108, /* 0x63 [c] */ 0x0810, /* 0x64 [d] */ 0x0410, /* 0x65 [e] */ 0x0208, /* 0x66 [f] */ 0x0110, /* 0x67 [g] */ 0x00, /* 0x68 [h] */ 0x00, /* 0x69 [i] */ 0x00, /* 0x6a [j] */ 0x00, /* 0x6b [k] */ 0x00, /* 0x6c [l] */ 0x00, /* 0x6d [m] */ 0x00, /* 0x6e [n] */ 0x00, /* 0x6f [o] */ 0x00, /* 0x70 [p] */ 0x00, /* 0x71 [q] */ 0x00, /* 0x72 [r] */ 0x00, /* 0x73 [s] */ 0x00, /* 0x74 [t] */ 0x00, /* 0x75 [u] */ 0x00, /* 0x76 [v] */ 0x00, /* 0x77 [w] */ 0x00, /* 0x78 [x] */ 0x00, /* 0x79 [y] */ 0x00, /* 0x7a [z] */ 0x00, /* 0x7b [{] */ 0x00, /* 0x7c [|] */ 0x00, /* 0x7d [}] */ 0x00, /* 0x7e [~] */ 0x00, /* 0x7f [.] */ 0x00, /* 0x80 [.] */ 0x00, /* 0x81 [.] */ 0x00, /* 0x82 [.] */ 0x00, /* 0x83 [.] */ 0x00, /* 0x84 [.] */ 0x00, /* 0x85 [.] */ 0x00, /* 0x86 [.] */ 0x00, /* 0x87 [.] */ 0x00, /* 0x88 [.] */ 0x00, /* 0x89 [.] */ 0x00, /* 0x8a [.] */ 0x00, /* 0x8b [.] */ 0x00, /* 0x8c [.] */ 0x00, /* 0x8d [.] */ 0x00, /* 0x8e [.] */ 0x00, /* 0x8f [.] */ 0x00, /* 0x90 [.] */ 0x00, /* 0x91 [.] */ 0x00, /* 0x92 [.] */ 0x00, /* 0x93 [.] */ 0x00, /* 0x94 [.] */ 0x00, /* 0x95 [.] */ 0x00, /* 0x96 [.] */ 0x00, /* 0x97 [.] */ 0x00, /* 0x98 [.] */ 0x00, /* 0x99 [.] */ 0x00, /* 0x9a [.] */ 0x00, /* 0x9b [.] */ 0x00, /* 0x9c [.] */ 0x00, /* 0x9d [.] */ 0x00, /* 0x9e [.] */ 0x00, /* 0x9f [.] */ 0x00, /* 0xa0 [.] */ 0x00, /* 0xa1 [.] */ 0x00, /* 0xa2 [.] */ 0x00, /* 0xa3 [.] */ 0x00, /* 0xa4 [.] */ 0x00, /* 0xa5 [.] */ 0x00, /* 0xa6 [.] */ 0x00, /* 0xa7 [.] */ 0x00, /* 0xa8 [.] */ 0x00, /* 0xa9 [.] */ 0x00, /* 0xaa [.] */ 0x00, /* 0xab [.] */ 0x00, /* 0xac [.] */ 0x00, /* 0xad [.] */ 0x00, /* 0xae [.] */ 0x00, /* 0xaf [.] */ 0x00, /* 0xb0 [.] */ 0x00, /* 0xb1 [.] */ 0x00, /* 0xb2 [.] */ 0x00, /* 0xb3 [.] */ 0x00, /* 0xb4 [.] */ 0x00, /* 0xb5 [.] */ 0x00, /* 0xb6 [.] */ 0x00, /* 0xb7 [.] */ 0x00, /* 0xb8 [.] */ 0x00, /* 0xb9 [.] */ 0x00, /* 0xba [.] */ 0x00, /* 0xbb [.] */ 0x00, /* 0xbc [.] */ 0x00, /* 0xbd [.] */ 0x00, /* 0xbe [.] */ 0x00, /* 0xbf [.] */ 0x00, /* 0xc0 [.] */ 0x00, /* 0xc1 [.] */ 0x00, /* 0xc2 [.] */ 0x00, /* 0xc3 [.] */ 0x00, /* 0xc4 [.] */ 0x00, /* 0xc5 [.] */ 0x00, /* 0xc6 [.] */ 0x00, /* 0xc7 [.] */ 0x00, /* 0xc8 [.] */ 0x00, /* 0xc9 [.] */ 0x00, /* 0xca [.] */ 0x00, /* 0xcb [.] */ 0x00, /* 0xcc [.] */ 0x00, /* 0xcd [.] */ 0x00, /* 0xce [.] */ 0x00, /* 0xcf [.] */ 0x00, /* 0xd0 [.] */ 0x00, /* 0xd1 [.] */ 0x00, /* 0xd2 [.] */ 0x00, /* 0xd3 [.] */ 0x00, /* 0xd4 [.] */ 0x00, /* 0xd5 [.] */ 0x00, /* 0xd6 [.] */ 0x00, /* 0xd7 [.] */ 0x00, /* 0xd8 [.] */ 0x00, /* 0xd9 [.] */ 0x00, /* 0xda [.] */ 0x00, /* 0xdb [.] */ 0x00, /* 0xdc [.] */ 0x00, /* 0xdd [.] */ 0x00, /* 0xde [.] */ 0x00, /* 0xdf [.] */ 0x00, /* 0xe0 [.] */ 0x00, /* 0xe1 [.] */ 0x00, /* 0xe2 [.] */ 0x00, /* 0xe3 [.] */ 0x00, /* 0xe4 [.] */ 0x00, /* 0xe5 [.] */ 0x00, /* 0xe6 [.] */ 0x00, /* 0xe7 [.] */ 0x00, /* 0xe8 [.] */ 0x00, /* 0xe9 [.] */ 0x00, /* 0xea [.] */ 0x00, /* 0xeb [.] */ 0x00, /* 0xec [.] */ 0x00, /* 0xed [.] */ 0x00, /* 0xee [.] */ 0x00, /* 0xef [.] */ 0x00, /* 0xf0 [.] */ 0x00, /* 0xf1 [.] */ 0x00, /* 0xf2 [.] */ 0x00, /* 0xf3 [.] */ 0x00, /* 0xf4 [.] */ 0x00, /* 0xf5 [.] */ 0x00, /* 0xf6 [.] */ 0x00, /* 0xf7 [.] */ 0x00, /* 0xf8 [.] */ 0x00, /* 0xf9 [.] */ 0x00, /* 0xfa [.] */ 0x00, /* 0xfb [.] */ 0x00, /* 0xfc [.] */ 0x00, /* 0xfd [.] */ 0x00, /* 0xfe [.] */ 0x00, /* 0xff [.] */ 0x00, /* 0x100 */ 0x00, /* 0x101 */ 0x0820, /* F1 */ /* 0x102 */ 0x0420, /* F2 */ /* 0x103 */ 0x0201, /* F3 */ /* 0x104 */ 0x0401, /* F4 */ /* 0x105 */ 0x00, /* 0x106 */ 0x00, /* 0x107 */ 0x00, /* 0x108 */ 0x00, /* 0x109 */ 0x00, /* 0x10a */ 0x00, /* 0x10b */ 0x00, /* 0x10c */ 0x00, /* 0x10d */ 0x00, /* 0x10e */ 0x00, /* 0x10f */ 0x00, /* 0x110 */ 0x00, /* SHIFT */ /* 0x111 */ 0x00, /* CONTROL */ /* 0x112 */ 0x00, /* ALT */ /* 0x113 */ 0x00, /* ALT_GR */ /* 0x114 */ 0x00, /* LEFT */ /* 0x115 */ 0x00, /* RIGHT */ /* 0x116 */ 0x00, /* DOWN */ /* 0x117 */ 0x00, /* UP */ /* 0x118 */ 0x00, /* HOME */ /* 0x119 */ 0x00, /* END */ /* 0x11a */ 0x00, /* DEL */ /* 0x11b */ 0x00, /* INSERT */ /* 0x11c */ 0x00, /* 0x11d */ 0x00, /* 0x11e */ 0x00, /* 0x11f */ 0x00, /* 0x120 */ 0x00, /* 0x121 */ 0x00, /* 0x122 */ 0x00, /* 0x123 */ 0x00, /* 0x124 */ 0x00, /* 0x125 */ 0x00, /* 0x126 */ 0x00, /* 0x127 */ 0x00, /* 0x128 */ 0x00, /* 0x129 */ 0x00, /* 0x12a */ 0x00, /* 0x12b */ 0x00, /* 0x12c */ 0x00, /* 0x12d */ 0x00, /* 0x12e */ 0x00, /* 0x12f */ 0x00, }; #endif /* __kc_keyb8k_h */ KCemu-0.5.1/include/kc/fdc.h0000644000175000017500000001610612417262523015702 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_fdc_h #define __kc_fdc_h #include "kc/system.h" #include "kc/ic.h" #include "kc/cb.h" #include "kc/ports.h" #include "kc/fdc_cmd.h" #include "kc/floppy.h" class SectorDesc { private: long _size; byte_t *_buf; public: SectorDesc(long size, byte_t *buf); long get_size(void) { return _size; } byte_t get_byte(int idx) { return _buf[idx]; } }; class FloppyState { private: byte_t _head; byte_t _cylinder; byte_t _sector; Floppy *_floppy; SectorDesc *_sect; public: FloppyState(byte_t head, byte_t cylinder, byte_t sector, Floppy *floppy); virtual ~FloppyState(void); byte_t get_head(void) { return _head; } byte_t get_cylinder(void) { return _cylinder; } byte_t get_sector(void) { return _sector; } virtual Floppy * get_floppy(void) { return _floppy; } void set_head(byte_t head) { _head = head; } void set_cylinder(byte_t cylinder) { _cylinder = cylinder; } void set_sector(byte_t sector) { _sector = sector; } bool seek(void) { if (_floppy == 0) return false; return _floppy->seek(_head, _cylinder, _sector); } }; class FDC : public InterfaceCircuit, public PortInterface, public Callback { public: typedef enum { FDC_STATE_IDLE, FDC_STATE_COMMAND, FDC_STATE_EXECUTE, FDC_STATE_DATA, FDC_STATE_RESULT } fdc_state_t; enum { NR_OF_FLOPPIES = 4, ST_MAIN_BUSY_MASK = 0x0f, ST_MAIN_FDD0_BUSY = 0x01, /* FDD number 0 is in the seek mode */ ST_MAIN_FDD1_BUSY = 0x02, /* FDD number 1 is in the seek mode */ ST_MAIN_FDD2_BUSY = 0x04, /* FDD number 2 is in the seek mode */ ST_MAIN_FDD3_BUSY = 0x08, /* FDD number 3 is in the seek mode */ ST_MAIN_READ_WRITE = 0x10, /* read or write command in progress */ ST_MAIN_NON_DMA = 0x20, /* FDC is in NON-DMA mode */ ST_MAIN_DIO = 0x40, /* direction of data transfer */ ST_MAIN_RQM = 0x80, /* Data Register ready */ /* * STATUS REGISTER 0 */ ST_0_ALL_MASK = 0xff, ST_0_IC_MASK = 0xc0, /* Interrupt Code */ ST_0_IC_NORMAL_TERMINATION = 0x00, /* Normal Termination of Command */ ST_0_IC_ABNORMAL_TERMINATION = 0x40, /* Abnormal Termination of Command */ ST_0_IC_INVALID_COMMAND = 0x80, /* Invalid Command issued */ ST_0_IC_FDD_NOT_READY = 0xc0, /* Abnormal Termination, not ready */ ST_0_SEEK_END = 0x20, /* Seek End */ ST_0_EC = 0x10, /* Equipment Check */ ST_0_NR = 0x08, /* Not Ready */ ST_0_HEAD_ADDRESS = 0x04, /* Head Address */ ST_0_UNIT_SELECT_MASK = 0x03, ST_0_UNIT_SELECT_1 = 0x02, ST_0_UNIT_SELECT_0 = 0x01, /* * STATUS REGISTER 1 */ ST_1_ALL_MASK = 0xff, ST_1_END_OF_CYLINDER = 0x80, ST_1_UNUSED1 = 0x40, ST_1_DATA_ERROR = 0x20, ST_1_OVER_RUN = 0x10, ST_1_UNUSED2 = 0x08, ST_1_NO_DATE = 0x04, ST_1_NOT_WRITEABLE = 0x02, ST_1_MISSING_ADDRESS_MARK = 0x01, /* * STATUS REGISTER 2 */ ST_2_UNUSED = 0x80, ST_2_CONTROL_MARK = 0x40, ST_2_DATA_ERROR_IN_DATA = 0x20, ST_2_WRONG_CYLINDER = 0x10, ST_2_SCAN_MASK = 0x0c, ST_2_SCAN_EQUAL_HIT = 0x08, ST_2_SCAN_NOT_SATISFIED = 0x04, ST_2_BAD_CYLINDER = 0x02, ST_2_MISSING_ADDRESS_MARK = 0x01, /* * STATUS REGISTER 3 */ ST_3_ALL_MASK = 0xff, ST_3_FAULT = 0x80, ST_3_WRITE_PROTECTED = 0x40, ST_3_READY = 0x20, ST_3_TRACK_0 = 0x10, ST_3_TWO_SIDE = 0x08, ST_3_HEAD_ADDRESS = 0x04, /* side select signal */ ST_3_UNIT_SELECT_MASK = 0x03, ST_3_UNIT_SELECT_1 = 0x02, ST_3_UNIT_SELECT_0 = 0x01, /* * Callback selector */ CB_MASK = 0xff0000, CB_TYPE_SEEK = 0x010000, CB_TYPE_INDEX = 0x020000, }; private: fdc_state_t _state; FDC_CMD *_cmds[32]; FDC_CMD *_cur_cmd; Floppy *_floppy[NR_OF_FLOPPIES]; FloppyState *_fstate[NR_OF_FLOPPIES]; FloppyState *_cur_floppy; int _selected_unit; int _selected_device; // select line of the floppy drive, not in the FDC byte_t _MSR; /* Main Status Register */ byte_t _INPUT_GATE; byte_t _ST0; byte_t _ST1; byte_t _ST2; byte_t _ST3; byte_t _head; byte_t _cylinder; byte_t _sector; int _read_bytes; bool _terminal_count; void init(void); public: FDC(void); virtual ~FDC(void); void callback(void *data); void callback_seek(void *data); void callback_index(void *data); void drive_select(byte_t val); virtual byte_t in_data(word_t addr); virtual void out_data(word_t addr, byte_t val); virtual byte_t read_byte(void); virtual void write_byte(byte_t val); Floppy * get_floppy(void); Floppy * get_floppy(int idx); int get_head(void); int get_cylinder(void); int get_sector(void); void select_floppy(int floppy_nr); void set_state(fdc_state_t state); bool seek(byte_t head, byte_t cylinder, byte_t sector); bool seek_internal(byte_t head, byte_t cylinder, byte_t sector); byte_t get_input_gate(void); void set_input_gate(byte_t mask, byte_t val); byte_t get_msr(void); void set_msr(byte_t mask, byte_t val); void set_terminal_count(bool val); byte_t get_ST0(void); byte_t get_ST1(void); byte_t get_ST2(void); byte_t get_ST3(void); void set_ST0(byte_t mask, byte_t val); void set_ST1(byte_t mask, byte_t val); void set_ST2(byte_t mask, byte_t val); void set_ST3(byte_t mask, byte_t val); virtual long long get_counter() = 0; virtual void add_callback(unsigned long long offset, Callback *cb, void *data) = 0; /* * PortInterface */ virtual byte_t in(word_t addr) = 0; virtual void out(word_t addr, byte_t val) = 0; /* * InterfaceCircuit */ virtual void reti(void); virtual void irqreq(void) {} virtual word_t irqack() { return IRQ_NOT_ACK; } virtual void reset(bool power_on = false); }; #endif /* __kc_fdc_h */ KCemu-0.5.1/include/kc/pio_vdip.h0000644000175000017500000000240112417262523016750 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio_vdip_h #define __kc_pio_vdip_h #include "kc/pio.h" #include "kc/tape.h" class PIO_VDIP : public PIO { byte_t _data_out; protected: virtual void change_A(byte_t changed, byte_t val); virtual void change_B(byte_t changed, byte_t val); public: PIO_VDIP(void); virtual ~PIO_VDIP(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_pio_vdip_h */ KCemu-0.5.1/include/kc/wav.h0000644000175000017500000000347412417262523015747 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_wav_h #define __kc_wav_h #include #include "kc/system.h" #include "kc/cb.h" #include "cmd/cmd.h" #include "libaudio/libaudio.h" class WavPlayer : public Callback { private: enum { FILTER_SIZE = 100, }; private: CMD *_cmd; libaudio_prop_t *_prop; bool _stopped; int _val; int _th_low; int _th_high; int _sample_freq; int _sample_size; int _channels; int _bit_0; int _bit_1; int _bit_s; int _eof; float _kernel[FILTER_SIZE + 1]; int _buf[FILTER_SIZE + 1]; CMD_Args _info_args; protected: int get_y(float value); void init_filter_kernel(void); public: WavPlayer(int bit_0, int bit_1, int bit_s); virtual ~WavPlayer(void); virtual bool open(const char *filename); virtual bool play(void); virtual void stop(void); virtual void close(void); virtual void record(void); virtual void callback(void *data); virtual void do_play(void); virtual void do_record(void); }; #endif /* __kc_wav_h */ KCemu-0.5.1/include/kc/pio6.h0000644000175000017500000000274012417262523016022 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio6_h #define __kc_pio6_h #include "kc/pio.h" #include "kc/ports.h" class PIO6_1 : public PIO { private: byte_t _led_value; public: PIO6_1(void); virtual ~PIO6_1(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); virtual byte_t get_led_value(void); }; class PIO6_2 : public PIO { public: PIO6_2(void); virtual ~PIO6_2(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; #endif /* __kc_pio6_h */ KCemu-0.5.1/include/kc/mod_ram.h0000644000175000017500000000253412417262523016564 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_ram_h #define __kc_mod_ram_h #include "kc/module.h" #include "kc/memory.h" class ModuleRAM : public ModuleInterface { private: enum { RAM_SIZE = 0x4000, }; byte_t _val; byte_t *_ram; MemAreaGroup *_group; public: ModuleRAM(ModuleRAM &tmpl); ModuleRAM(const char *name, byte_t id); virtual ~ModuleRAM(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_ram_h */ KCemu-0.5.1/include/kc/pio9.h0000644000175000017500000000246212417262523016026 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio9_h #define __kc_pio9_h #include "kc/pio.h" #include "kc/tape.h" class PIO9 : public PIO, public TapeCallback { protected: virtual void change_A(byte_t changed, byte_t val); virtual void change_B(byte_t changed, byte_t val); public: PIO9(void); virtual ~PIO9(void); virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); /* * TapeCallback */ virtual void tape_callback(byte_t val); }; #endif /* __kc_pio9_h */ KCemu-0.5.1/include/kc/z80_fdc.h0000644000175000017500000000546512417262523016411 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_z80_fdc_h #define __kc_z80_fdc_h #include #include "kc/system.h" #include "kc/ic.h" #include "kc/cb.h" #include "kc/cb_list.h" class Z80_FDC { private: typedef std::list ic_list_t; byte_t _next_irq; Z80EX_CONTEXT *_context; ic_list_t _ic_list; public: bool _debug; unsigned long long _counter; CallbackList _cb_list; private: void do_execute(void); /*callback that returns byte for a given adress*/ static Z80EX_BYTE z80ex_dasm_readbyte_cb(Z80EX_WORD addr, void *user_data); /*read byte from memory -- called when RD & MREQ goes active. m1_state will be 1 if M1 signal is active*/ static Z80EX_BYTE z80ex_mread_cb (Z80EX_CONTEXT *cpu, Z80EX_WORD addr, int m1_state, void *user_data); /*write to memory -- called when WR & MREQ goes active*/ static void z80ex_mwrite_cb (Z80EX_CONTEXT *cpu, Z80EX_WORD addr, Z80EX_BYTE value, void *user_data); /*read byte from -- called when RD & IORQ goes active*/ static Z80EX_BYTE z80ex_pread_cb (Z80EX_CONTEXT *cpu, Z80EX_WORD port, void *user_data); /*write to -- called when WR & IORQ goes active*/ static void z80ex_pwrite_cb (Z80EX_CONTEXT *cpu, Z80EX_WORD port, Z80EX_BYTE value, void *user_data); /*read byte of interrupt vector -- called when M1 and IORQ goes active*/ static Z80EX_BYTE z80ex_intread_cb (Z80EX_CONTEXT *cpu, void *user_data); public: Z80_FDC(void); virtual ~Z80_FDC(void); bool trace(void); void trace(bool value); void execute(void); long long get_counter(); byte_t trigger_irq(byte_t irq_vector); void add_callback(unsigned long long offset, Callback *cb, void *data); void register_ic(InterfaceCircuit *h); void unregister_ic(InterfaceCircuit *h); void reset(bool power_on = false); void power_on(); word_t getPC(void) { return z80ex_get_reg(_context, regPC); } byte_t getI(void) { return z80ex_get_reg(_context, regI); } }; #endif /* __kc_z80_fdc_h */ KCemu-0.5.1/include/kc/mod_ram1.h0000644000175000017500000000257212417262523016647 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_ram1_h #define __kc_mod_ram1_h #include "kc/module.h" #include "kc/memory.h" class ModuleRAM1 : public ModuleInterface { private: byte_t *_ram; word_t _addr; dword_t _size; MemAreaGroup *_group; public: ModuleRAM1(ModuleRAM1 &tmpl); ModuleRAM1(const char *name, word_t addr, dword_t size = 0x4000); virtual ~ModuleRAM1(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_ram1_h */ KCemu-0.5.1/include/kc/cb_list.h0000644000175000017500000000401412417262523016560 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_cb_list_h #define __kc_cb_list_h #include "kc/cb.h" class CallbackListEntry { private: enum { CALLBACK_LIST_ALLOC_SIZE = 1000 }; protected: /** * time value of the callback entry */ unsigned long long _value; /** * the Callback that will be run */ Callback *_cb; /** * arbitrary data that can be set by the * routine registering a callback */ void *_data; /** * single linked list */ CallbackListEntry *_next; static CallbackListEntry *_free_list; static void alloc_entries(void); static void free_entries(void); public: CallbackListEntry(unsigned long long value, Callback *cb, void *data, CallbackListEntry *next); virtual ~CallbackListEntry(void); void * operator new(size_t size); void operator delete(void *p); friend class CallbackList; }; class CallbackList { private: CallbackListEntry *_list; public: CallbackList(void); virtual ~CallbackList(void); void clear(); void add_callback(unsigned long long offset, Callback *cb, void *data); void run_callbacks(unsigned long long value); void remove_callback_listener(Callback *cb); }; #endif /* __kc_cb_list_h */ KCemu-0.5.1/include/kc/keyboard.h0000644000175000017500000000326612417262523016751 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyboard_h #define __kc_keyboard_h #include "kc/kc.h" #include "kc/cb.h" #include "kc/ic.h" class Keyboard : public InterfaceCircuit, public Callback { public: Keyboard(void) : InterfaceCircuit("Keyboard"), Callback("Keyboard") {} virtual ~Keyboard(void) {} /** * keysym: translated key (e.g. shift already included) * keycode: raw key number (this should be exactly one number for * every key on the keyboard so we can track key presses * and releases even with changing modifiers between * keypress and keyrelease) */ virtual void keyPressed(int keysym, int keycode) = 0; virtual void keyReleased(int keysym, int keycode) = 0; virtual void replayString(const char *text) = 0; virtual void callback(void *data) = 0; }; #endif /* __kc_keyboard_h */ KCemu-0.5.1/include/kc/mod_fdc.h0000644000175000017500000000312712417262523016540 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_fdc_h #define __kc_mod_fdc_h #include "kc/ports.h" #include "kc/module.h" class ModuleFDC : public ModuleInterface { public: typedef enum { FDC_INTERFACE_SCHNEIDER = 0, FDC_INTERFACE_KRAMER = 1, } fdc_interface_type_t; private: int _count; PortGroup *_portg; ModuleFDC *_master; fdc_interface_type_t _fdc_type; protected: void init(void); int get_count(void); void set_count(int count); public: ModuleFDC(ModuleFDC &tmpl); ModuleFDC(const char *name, fdc_interface_type_t fdc_type); virtual ~ModuleFDC(void); /* * ModuleInterface */ virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); virtual void m_out(word_t addr, byte_t val); }; #endif /* __kc_mod_fdc_h */ KCemu-0.5.1/include/kc/pio1.h0000644000175000017500000000315712417262523016020 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_pio1_h #define __kc_pio1_h #include "kc/pio.h" #include "kc/tape.h" #include "kc/ports.h" class PIO1_1 : public PIO, public TapeCallback { public: PIO1_1(void); virtual ~PIO1_1(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); byte_t get_border_color(void); byte_t get_line_mode(void); // returns true if in 20 line mode /* * TapeCallback */ virtual void tape_callback(byte_t val); }; class PIO1_2 : public PIO { public: PIO1_2(void); virtual ~PIO1_2(void); byte_t in(word_t addr); void out(word_t addr, byte_t val); void change_A(byte_t changed, byte_t val); void change_B(byte_t changed, byte_t val); }; #endif /* __kc_pio1_h */ KCemu-0.5.1/include/kc/mod_cpm.h0000644000175000017500000000270412417262523016563 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_cpm_h #define __kc_mod_cpm_h #include "kc/system.h" #include "kc/module.h" class ModuleCPMZ9 : public ModuleInterface, public PortInterface { private: PortGroup *_portg1; PortGroup *_portg2; PortGroup *_portgX; public: ModuleCPMZ9(ModuleCPMZ9 &tmpl); ModuleCPMZ9(const char *name); virtual ~ModuleCPMZ9(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); /* * PortInterface */ virtual byte_t in(word_t addr); virtual void out(word_t addr, byte_t val); }; #endif /* __kc_mod_cpm_h */ KCemu-0.5.1/include/kc/mod_ram8.h0000644000175000017500000000257212417262523016656 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_ram8_h #define __kc_mod_ram8_h #include "kc/module.h" #include "kc/memory.h" class ModuleRAM8 : public ModuleInterface { private: byte_t *_ram; word_t _addr; dword_t _size; MemAreaGroup *_group; public: ModuleRAM8(ModuleRAM8 &tmpl); ModuleRAM8(const char *name, word_t addr, dword_t size = 0x4000); virtual ~ModuleRAM8(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_ram8_h */ KCemu-0.5.1/include/kc/mod_128k.h0000644000175000017500000000242212417262523016466 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_128k_h #define __kc_mod_128k_h #include "kc/mod_segm.h" class Module128k : public ModuleSegmentedMemory { protected: virtual word_t get_base_address(word_t addr, byte_t val); virtual int get_segment_index(word_t addr, byte_t val); public: Module128k(Module128k &tmpl); Module128k(const char *name, byte_t id); virtual ~Module128k(void); virtual ModuleInterface * clone(void); }; #endif /* __kc_mod_128k_h */ KCemu-0.5.1/include/kc/mod_segm.h0000644000175000017500000000351212417262523016735 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_segm_h #define __kc_mod_segm_h #include "kc/module.h" #include "kc/memory.h" class ModuleSegmentedMemory : public ModuleInterface { private: byte_t _val; byte_t *_mem; bool _is_rom; bool _master; int _segments; word_t _segment_size; MemAreaGroup *_group; protected: virtual bool is_rom(void); virtual int get_segment_count(void); virtual int get_segment_size(void); virtual int get_segment_index(word_t addr, byte_t val) = 0; virtual word_t get_base_address(word_t addr, byte_t val) = 0; public: ModuleSegmentedMemory(ModuleSegmentedMemory &tmpl); ModuleSegmentedMemory(const char *name, byte_t id, int segments, int segment_size); ModuleSegmentedMemory(const char *name, byte_t id, int segments, int segment_size, const char *filename); virtual ~ModuleSegmentedMemory(void); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void) = 0; virtual void reset(bool power_on = false); }; #endif /* __kc_mod_segm_h */ KCemu-0.5.1/include/kc/poly880.h0000644000175000017500000000217212417262523016367 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_poly880_h #define __kc_poly880_h #include "kc/system.h" class Poly880 { private: bool _scon; bool _nmi_flip_flop; public: Poly880(void); virtual ~Poly880(void); virtual void set_scon(bool value); virtual void trigger_send(void); }; #endif /* __kc_poly880_h */ KCemu-0.5.1/include/kc/ctc_base.h0000644000175000017500000000243512417262523016711 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_ctc_base_h #define __kc_ctc_base_h #include "kc/ctc.h" class CTC_Base : public CTC { private: dword_t _z80_irq_mask; protected: virtual long long get_counter(); virtual void trigger_irq(int channel); virtual void add_callback(unsigned long long offset, Callback *cb, void *data); virtual void irqreq(void); virtual word_t irqack(void); public: CTC_Base(void); virtual ~CTC_Base(void); }; #endif /* __kc_ctc_base_h */ KCemu-0.5.1/include/kc/mod_vdip.h0000644000175000017500000000247212417262523016750 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_mod_vdip_h #define __kc_mod_vdip_h #include "kc/module.h" class ModuleVDIP : public ModuleInterface { private: PIO *_pio; PortGroup *_portg_pio; public: ModuleVDIP(ModuleVDIP &tmpl); ModuleVDIP(const char *name, byte_t id); virtual ~ModuleVDIP(void); //virtual byte_t m_in(word_t addr); virtual void m_out(word_t addr, byte_t val); virtual ModuleInterface * clone(void); virtual void reset(bool power_on = false); }; #endif /* __kc_mod_vdip_h */ KCemu-0.5.1/include/kc/keyb3k.h0000644000175000017500000002241412417262523016335 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_keyb3k_h #define __kc_keyb3k_h /* * the lower 8 bits (0-7) of the value in the following array are * the value specified in the system manual * they should be defined by the hardware of the keyboard that * uses an U807 remote control circuit * * if bit 8 is set the shift state must be applied to the key value * before it is send */ static unsigned int __keys[] = { /* 0x00 [.] */ 0xffff, /* 0x01 [.] */ 0x0018, /* 0x02 [.] */ 0x0029, /* 0x03 [.] */ 0x003c, /* 0x04 [.] */ 0xffff, /* 0x05 [.] */ 0xffff, /* 0x06 [.] */ 0xffff, /* 0x07 [.] */ 0xffff, /* 0x08 [.] */ 0x0018, /* 0x09 [.] */ 0x007a, /* 0x0a [.] */ 0x0076, /* 0x0b [.] */ 0x0078, /* 0x0c [.] */ 0x0009, /* 0x0d [.] */ 0x007e, /* ENTER */ /* 0x0e [.] */ 0xffff, /* 0x0f [.] */ 0x0019, /* 0x10 [.] */ 0x0008, /* 0x11 [.] */ 0x0079, /* 0x12 [.] */ 0x0077, /* 0x13 [.] */ 0x004c, /* 0x14 [.] */ 0x0039, /* 0x15 [.] */ 0xffff, /* 0x16 [.] */ 0x0073, /* 0x17 [.] */ 0xffff, /* 0x18 [.] */ 0x007b, /* 0x19 [.] */ 0x0007, /* 0x1a [.] */ 0x0038, /* 0x1b [.] */ 0x004d, /* ESC */ /* 0x1c [.] */ 0xffff, /* 0x1d [.] */ 0xffff, /* 0x1e [.] */ 0xffff, /* 0x1f [.] */ 0x0028, /* 0x20 [ ] */ 0x0046, /* SPACE */ /* 0x21 [!] */ 0x0075, /* 0x22 ["] */ 0x0005, /* 0x23 [#] */ 0x0015, /* 0x24 [$] */ 0x0065, /* 0x25 [%] */ 0x0025, /* 0x26 [&] */ 0x0055, /* 0x27 ['] */ 0x0035, /* 0x28 [(] */ 0x0045, /* 0x29 [)] */ 0x003b, /* 0x2a [*] */ 0x001b, /* 0x2b [+] */ 0x0068, /* 0x2c [,] */ 0x004a, /* 0x2d [-] */ 0x000a, /* 0x2e [.] */ 0x005a, /* 0x2f [/] */ 0x106a, /* 0x30 [0] */ 0x002a, /* 0x31 [1] */ 0x0074, /* 0x32 [2] */ 0x0004, /* 0x33 [3] */ 0x0014, /* 0x34 [4] */ 0x0064, /* 0x35 [5] */ 0x0024, /* 0x36 [6] */ 0x0054, /* 0x37 [7] */ 0x0034, /* 0x38 [8] */ 0x0044, /* 0x39 [9] */ 0x003a, /* 0x3a [:] */ 0x101a, /* 0x3b [;] */ 0x0069, /* 0x3c [<] */ 0x004b, /* 0x3d [=] */ 0x000b, /* 0x3e [>] */ 0x005b, /* 0x3f [?] */ 0x006b, /* 0x40 [@] */ 0x002b, /* 0x41 [A] */ 0x0003, /* 0x42 [B] */ 0x005f, /* 0x43 [C] */ 0x006f, /* 0x44 [D] */ 0x0063, /* 0x45 [E] */ 0x0011, /* 0x46 [F] */ 0x0023, /* 0x47 [G] */ 0x0053, /* 0x48 [H] */ 0x0033, /* 0x49 [I] */ 0x0041, /* 0x4a [J] */ 0x0043, /* 0x4b [K] */ 0x0049, /* 0x4c [L] */ 0x0059, /* 0x4d [M] */ 0x004f, /* 0x4e [N] */ 0x003f, /* 0x4f [O] */ 0x0037, /* 0x50 [P] */ 0x0027, /* 0x51 [Q] */ 0x0071, /* 0x52 [R] */ 0x0061, /* 0x53 [S] */ 0x0013, /* 0x54 [T] */ 0x0021, /* 0x55 [U] */ 0x0031, /* 0x56 [V] */ 0x002f, /* 0x57 [W] */ 0x0001, /* 0x58 [X] */ 0x001f, /* 0x59 [Y] */ 0x000f, /* 0x5a [Z] */ 0x0051, /* 0x5b [[] */ 0x0047, /* 0x5c [\] */ 0xffff, /* 0x5d []] */ 0xffff, /* 0x5e [^] */ 0x0016, /* 0x5f [_] */ 0x1066, /* 0x60 [`] */ 0x002a, /* 0x61 [a] */ 0x0002, /* 0x62 [b] */ 0x005e, /* 0x63 [c] */ 0x006e, /* 0x64 [d] */ 0x0062, /* 0x65 [e] */ 0x0010, /* 0x66 [f] */ 0x0022, /* 0x67 [g] */ 0x0052, /* 0x68 [h] */ 0x0032, /* 0x69 [i] */ 0x0040, /* 0x6a [j] */ 0x0042, /* 0x6b [k] */ 0x0048, /* 0x6c [l] */ 0x0058, /* 0x6d [m] */ 0x004e, /* 0x6e [n] */ 0x003e, /* 0x6f [o] */ 0x0036, /* 0x70 [p] */ 0x0026, /* 0x71 [q] */ 0x0070, /* 0x72 [r] */ 0x0060, /* 0x73 [s] */ 0x0012, /* 0x74 [t] */ 0x0020, /* 0x75 [u] */ 0x0030, /* 0x76 [v] */ 0x002e, /* 0x77 [w] */ 0x0000, /* 0x78 [x] */ 0x001e, /* 0x79 [y] */ 0x000e, /* 0x7a [z] */ 0x0050, /* 0x7b [{] */ 0xffff, /* 0x7c [|] */ 0x0067, /* 0x7d [}] */ 0xffff, /* 0x7e [~] */ 0x0017, /* 0x7f [.] */ 0x0028, /* 0x80 [.] */ 0xffff, /* 0x81 [.] */ 0xffff, /* 0x82 [.] */ 0xffff, /* 0x83 [.] */ 0xffff, /* 0x84 [.] */ 0xffff, /* 0x85 [.] */ 0xffff, /* 0x86 [.] */ 0xffff, /* 0x87 [.] */ 0xffff, /* 0x88 [.] */ 0xffff, /* 0x89 [.] */ 0xffff, /* 0x8a [.] */ 0xffff, /* 0x8b [.] */ 0xffff, /* 0x8c [.] */ 0xffff, /* 0x8d [.] */ 0xffff, /* 0x8e [.] */ 0xffff, /* 0x8f [.] */ 0xffff, /* 0x90 [.] */ 0xffff, /* 0x91 [.] */ 0xffff, /* 0x92 [.] */ 0xffff, /* 0x93 [.] */ 0xffff, /* 0x94 [.] */ 0xffff, /* 0x95 [.] */ 0xffff, /* 0x96 [.] */ 0xffff, /* 0x97 [.] */ 0xffff, /* 0x98 [.] */ 0xffff, /* 0x99 [.] */ 0xffff, /* 0x9a [.] */ 0xffff, /* 0x9b [.] */ 0xffff, /* 0x9c [.] */ 0xffff, /* 0x9d [.] */ 0xffff, /* 0x9e [.] */ 0xffff, /* 0x9f [.] */ 0xffff, /* 0xa0 [.] */ 0xffff, /* 0xa1 [.] */ 0xffff, /* 0xa2 [.] */ 0xffff, /* 0xa3 [.] */ 0xffff, /* 0xa4 [.] */ 0xffff, /* 0xa5 [.] */ 0xffff, /* 0xa6 [.] */ 0xffff, /* 0xa7 [.] */ 0xffff, /* 0xa8 [.] */ 0xffff, /* 0xa9 [.] */ 0xffff, /* 0xaa [.] */ 0xffff, /* 0xab [.] */ 0xffff, /* 0xac [.] */ 0xffff, /* 0xad [.] */ 0xffff, /* 0xae [.] */ 0xffff, /* 0xaf [.] */ 0xffff, /* 0xb0 [�] */ 0x0017, /* 0xb1 [.] */ 0xffff, /* 0xb2 [.] */ 0xffff, /* 0xb3 [.] */ 0xffff, /* 0xb4 [.] */ 0xffff, /* 0xb5 [.] */ 0xffff, /* 0xb6 [.] */ 0xffff, /* 0xb7 [.] */ 0xffff, /* 0xb8 [.] */ 0xffff, /* 0xb9 [.] */ 0xffff, /* 0xba [.] */ 0xffff, /* 0xbb [.] */ 0xffff, /* 0xbc [.] */ 0xffff, /* 0xbd [.] */ 0xffff, /* 0xbe [.] */ 0xffff, /* 0xbf [.] */ 0xffff, /* 0xc0 [.] */ 0xffff, /* 0xc1 [.] */ 0xffff, /* 0xc2 [.] */ 0xffff, /* 0xc3 [.] */ 0xffff, /* 0xc4 [.] */ 0xffff, /* 0xc5 [.] */ 0xffff, /* 0xc6 [.] */ 0xffff, /* 0xc7 [.] */ 0xffff, /* 0xc8 [.] */ 0xffff, /* 0xc9 [.] */ 0xffff, /* 0xca [.] */ 0xffff, /* 0xcb [.] */ 0xffff, /* 0xcc [.] */ 0xffff, /* 0xcd [.] */ 0xffff, /* 0xce [.] */ 0xffff, /* 0xcf [.] */ 0xffff, /* 0xd0 [.] */ 0xffff, /* 0xd1 [.] */ 0xffff, /* 0xd2 [.] */ 0xffff, /* 0xd3 [.] */ 0xffff, /* 0xd4 [.] */ 0xffff, /* 0xd5 [.] */ 0xffff, /* 0xd6 [.] */ 0xffff, /* 0xd7 [.] */ 0xffff, /* 0xd8 [.] */ 0xffff, /* 0xd9 [.] */ 0xffff, /* 0xda [.] */ 0xffff, /* 0xdb [.] */ 0xffff, /* 0xdc [.] */ 0xffff, /* 0xdd [.] */ 0xffff, /* 0xde [.] */ 0xffff, /* 0xdf [.] */ 0xffff, /* 0xe0 [.] */ 0xffff, /* 0xe1 [.] */ 0xffff, /* 0xe2 [.] */ 0xffff, /* 0xe3 [.] */ 0xffff, /* 0xe4 [.] */ 0xffff, /* 0xe5 [.] */ 0xffff, /* 0xe6 [.] */ 0xffff, /* 0xe7 [.] */ 0xffff, /* 0xe8 [.] */ 0xffff, /* 0xe9 [.] */ 0xffff, /* 0xea [.] */ 0xffff, /* 0xeb [.] */ 0xffff, /* 0xec [.] */ 0xffff, /* 0xed [.] */ 0xffff, /* 0xee [.] */ 0xffff, /* 0xef [.] */ 0xffff, /* 0xf0 [.] */ 0xffff, /* 0xf1 [.] */ 0xffff, /* 0xf2 [.] */ 0xffff, /* 0xf3 [.] */ 0xffff, /* 0xf4 [.] */ 0xffff, /* 0xf5 [.] */ 0xffff, /* 0xf6 [.] */ 0xffff, /* 0xf7 [.] */ 0xffff, /* 0xf8 [.] */ 0xffff, /* 0xf9 [.] */ 0xffff, /* 0xfa [.] */ 0xffff, /* 0xfb [.] */ 0xffff, /* 0xfc [.] */ 0xffff, /* 0xfd [.] */ 0xffff, /* 0xfe [.] */ 0xffff, /* 0xff [.] */ 0xffff, /* 0x100 */ 0xffff, /* 0x101 */ 0x007c, /* F1 */ /* 0x102 */ 0x000c, /* F2 */ /* 0x103 */ 0x001c, /* F3 */ /* 0x104 */ 0x006c, /* F4 */ /* 0x105 */ 0x002c, /* F5 */ /* 0x106 */ 0x005c, /* F6 */ /* 0x107 */ 0x007d, /* F7 */ /* 0x108 */ 0x000d, /* F8 */ /* 0x109 */ 0x001d, /* F9 */ /* 0x10a */ 0x006d, /* F10 */ /* 0x10b */ 0x002d, /* F11 */ /* 0x10c */ 0x005d, /* F12 */ /* 0x10d */ 0xffff, /* F13 */ /* 0x10e */ 0xffff, /* F14 */ /* 0x10f */ 0xffff, /* F15 */ /* 0x110 */ 0xffff, /* SHIFT */ /* 0x111 */ 0xffff, /* CONTROL */ /* 0x112 */ 0xffff, /* ALT */ /* 0x113 */ 0xffff, /* ALT_GR */ /* 0x114 */ 0x0006, /* LEFT */ /* 0x115 */ 0x007a, /* RIGHT */ /* 0x116 */ 0x0076, /* DOWN */ /* 0x117 */ 0x0078, /* UP */ /* 0x118 */ 0x0008, /* HOME */ /* 0x119 */ 0x007b, /* END */ /* 0x11a */ 0x0028, /* DEL */ /* 0x11b */ 0x0038, /* INSERT */ /* 0x11c */ 0x007b, /* PAGE_UP */ /* 0x11d */ 0x0007, /* PAGE_DOWN */ /* 0x11e */ 0x004c, /* PAUSE */ /* 0x11f */ 0x003c, /* PRINT */ /* 0x120 */ 0xffff, /* COLOR */ /* 0x121 */ 0xffff, /* GRAPHIC */ /* 0x122 */ 0xffff, /* LIST */ /* 0x123 */ 0xffff, /* RUN */ /* 0x124 */ 0x004c, /* STOP */ /* 0x125 */ 0x0072, /* SHIFT_LOCK */ /* 0x126 */ 0xffff, /* RESET */ /* 0x127 */ 0xffff, /* NMI */ /* 0x128 */ 0x003c, /* BREAK */ /* 0x129 */ 0x0018, /* CLEAR */ /* 0x12a */ 0xffff, /* 0x12b */ 0xffff, /* 0x12c */ 0xffff, /* 0x12d */ 0xffff, /* 0x12e */ 0xffff, /* 0x12f */ 0xffff, }; #endif /* __kc_keyb3k_h */ KCemu-0.5.1/include/kc/timer.h0000644000175000017500000000215412417262523016264 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __kc_timer_h #define __kc_timer_h #include "kc/kc.h" #include "kc/cb.h" class Timer : public Callback { public: Timer(const char *name); virtual ~Timer(void); virtual void start(void) = 0; virtual void callback(void *data) = 0; }; #endif /* __kc_timer_h */ KCemu-0.5.1/include/libtape/0000755000175000017500000000000012417262523016014 5ustar glaubitzglaubitzKCemu-0.5.1/include/libtape/Makefile.am0000644000175000017500000000012112417262523020042 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ kct.h KCemu-0.5.1/include/libtape/kct.h0000644000175000017500000001615412417262523016755 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ /* * File Version Log: * * 1.00: first release * 1.01: reduced length of the name field to free some room for * the file type flag in the directory entry * 6 bytes are now unused and should be set to 0 * 1.02: argh, I thought the block number of tape blocks doesn't * need to be stored in the file - this is wrong as I found * one application that writes two blocks with a block * number 01 (WordPro) again this proves that Murphy's Law is * right every time ;-) * also I added a new field in the file header that holds the * machine type which the file is for (using 2 bytes may be * a bit excessive but we still have some unused space in the * file header so...) */ #ifndef __libtape_format_h #define __libtape_format_h #include #include #define __KCT_VERSION__ (0x0102) #define KCT_VERSION_MINOR(x) (x & 0xff) #define KCT_VERSION_MAJOR(x) ((x >> 8) & 0xff) #define KCT_DIR_BLOCKS (57) #define KCT_NAME_LENGTH (32) /* * only 1 byte values are allowed here because * the filetype is stored in the directory entry * as a single byte! * * FIXME: I don't know if this is safe on machines * with big endian byte order, I suspect it * is not :-( */ typedef enum { KCT_TYPE_COM = 0x00, KCT_TYPE_BASICODE = 0x31, KCT_TYPE_BAS = 0xd3, KCT_TYPE_DATA = 0xd4, KCT_TYPE_LIST = 0xd5, KCT_TYPE_BAS_P = 0xd7, KCT_TYPE_BIN = 0xff, } kct_file_type_t; /* * only 2 byte values allowed! */ typedef enum { KCT_MACHINE_UNKNOWN = 0x0000, /* should not be used in new files! */ KCT_MACHINE_KC_85_1 = 0x0001, KCT_MACHINE_KC_85_2 = 0x0002, KCT_MACHINE_KC_85_3 = 0x0004, KCT_MACHINE_KC_85_4 = 0x0008, KCT_MACHINE_KC_87 = 0x0010, KCT_MACHINE_ALL = 0xffff, } kct_machine_type_t; /* * the actual values are the same as defined in * linux: asm/errno.h */ typedef enum { KCT_OK_READONLY = -1, KCT_OK = 0, KCT_ERROR_NOENT = 2, KCT_ERROR_IO = 5, KCT_ERROR_NOMEM = 12, KCT_ERROR_ACCESS = 13, KCT_ERROR_EXIST = 17, KCT_ERROR_INVAL = 23, KCT_ERROR_NAMETOOLONG = 36, } kct_error_t; typedef struct { char id[18]; unsigned short version; unsigned int unused; unsigned int offset[KCT_DIR_BLOCKS]; unsigned int chain_offset; } kct_header_t; typedef unsigned char kct_bam_t[256]; typedef struct { unsigned int magic; unsigned int file_crc; unsigned short load_addr; unsigned short start_addr; unsigned int uncompressed_size; unsigned int compressed_size; unsigned int offset; unsigned short machine; unsigned char type; unsigned char unused[4]; char name[KCT_NAME_LENGTH + 1]; } kct_dirent_t; typedef struct { bool auto_start; unsigned short load_addr; unsigned short start_addr; unsigned int size; kct_file_type_t type; kct_machine_type_t machine; } kct_file_props_t; typedef kct_dirent_t kct_dirblock_t[4]; typedef struct { unsigned int link; unsigned char data[252]; } kct_data_t; class KCTDir : public std::list { public: KCTDir(void); virtual ~KCTDir(void); void clear(void); void add(kct_dirent_t *dirent); }; class KCTFile { public: static const unsigned short KCT_VERSION; static const unsigned long BLOCK_SIZE; static const unsigned long HEADER_OFFSET; static const unsigned long BAM_OFFSET; static const unsigned long DIR_BLOCKS; static const unsigned long DIR_BLOCK1_OFFSET; static const unsigned long DIRBLOCK_OFFSET_MASK; static const unsigned long DIRBLOCK_INDEX_MASK; static const unsigned long DIRBLOCK_MAGIC; private: bool _readonly; std::fstream *_f; kct_header_t _header; kct_bam_t _bam; kct_dirblock_t _dirblock; KCTDir _dir; protected: bool header_read(kct_header_t &header, unsigned long offset); void header_write(kct_header_t &header, unsigned long offset); void bam_clear(kct_bam_t &bam); bool bam_block_available(kct_bam_t &bam, long block); void bam_block_free(kct_bam_t &bam, long block); void bam_block_allocate(kct_bam_t &bam, long block); void bam_read(kct_bam_t &bam, unsigned long offset); void bam_write(kct_bam_t &bam, unsigned long offset); unsigned long bam_block_find_free(kct_bam_t &bam); kct_error_t dirblock_clear(kct_dirblock_t &dirblock); kct_error_t dirblock_read(kct_dirblock_t &dirblock, unsigned long offset); kct_error_t dirblock_write(kct_dirblock_t &dirblock, unsigned long offset); kct_error_t dirent_allocate(const char *filename, unsigned short load, unsigned short start, unsigned long len, unsigned long clen, unsigned long crc, unsigned long *offset, kct_file_type_t type, kct_machine_type_t machine); int translate_index(int idx); int find_entry(const char *name); public: KCTFile(void); virtual ~KCTFile(void); const char * type_name(kct_file_type_t type); void list(void); bool is_readonly(void); kct_error_t create(const char *filename); kct_error_t open(const char *filename); kct_error_t close(void); kct_error_t remove(int idx); kct_error_t remove(const char *name); kct_error_t rename(int idx, const char *to); kct_error_t rename(const char *name, const char *to); kct_error_t find(const char *name); kct_error_t write(const char *filename, const unsigned char *buf, unsigned long len, unsigned short load_addr, unsigned short start_addr, kct_file_type_t type, kct_machine_type_t machine = KCT_MACHINE_ALL); std::istream * read(int idx, kct_file_props_t *props = NULL); std::istream * read(const char *name, kct_file_props_t *props = NULL); KCTDir * readdir(void); const char * get_error_string(kct_error_t error); #ifdef DEBUG void test(void); void print_bam(void); void print_block_list(void); #endif /* DEBUG */ }; #endif /* __libtape_format_h */ KCemu-0.5.1/include/sys/0000755000175000017500000000000012417262523015212 5ustar glaubitzglaubitzKCemu-0.5.1/include/sys/Makefile.am0000644000175000017500000000012412417262523017243 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ sysdep.h KCemu-0.5.1/include/sys/sysdep.h0000644000175000017500000001337412417262523016702 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __sys_sysdep_h #define __sys_sysdep_h #ifdef __cplusplus extern "C" { #endif /* * Sleep for the specified number of microseconds. */ void sys_usleep(long microseconds); /* * Return local time. * * This works like localtime_r() as it copies the values * into a buffers supplied by the caller instead of returning * a pointer to some statically allocated memory */ void sys_localtime(int *year, int *month, int *day, int *hour, int *minute, int *second); /* * Return local time converted from given time value. * * This is the same as sys_localtime, but does not return * the current time but the time converted from the given * value. */ void sys_converttime(long time, int *year, int *month, int *day, int *hour, int *minute, int *second); /* * Return system time. * * This works like gettimeofday() but instead of returning the * values in a struct timeval the values are directly stored * in the specified variables. */ void sys_gettimeofday(long *tv_sec, long *tv_usec); /* * Return system time * * This works like gettimeofday() but instead of returning the * values in a struct timeval the values are directly stored * in the specified variables. */ void sys_gettimeofday(long *tv_sec, long *tv_usec); /* * Return basename (filename without directory) for a given * full pathname. * * This works like basename() but doesn't handle NULL arguments * and special values like "/". * The returned string is allocated with strdup() so it must * be freed with free(). */ char * sys_basename(const char *path); /* * Return true if the given path denotes an absolute path * name for the specific system (e.g. if it starts with * a '/' for linux or with a drive letter followed by a ':' * for mingw). */ int sys_isabsolutepath(const char *path); /* * Return the directory of the currently running program. * * Returns where the executable is located, not the current * working directory! if it's not possible to retrieve this * information the function returns NULL. * * The returned string should be freed with free(). */ char * sys_getprogrampath(void); /* * Return the user home directory. * * The returned string should be freed with free(). */ char * sys_gethome(void); /* * Create new directory, given permissions are ignored on * some platforms (e.g. MinGW). */ int sys_mkdir(const char *pathname, int mode); /* * Return disk information for the given path. * * The information is stored in the caller provided buffer. the * data is only valid if the return value of the call is 0, which * means there was no error while retrieving the data from the * operating system. * * As the return value is currently 32 bit, the values are clamped * at 4GB. */ int sys_getdiskinfo(const char *path, unsigned long *total, unsigned long *available, unsigned short *block_size); /* * Convert short integer (16-bit) from host to network byte order */ unsigned short sys_htons(unsigned short hostshort); /* * Convert long integer (32-bit) from host to network byte order */ unsigned long sys_htonl(unsigned long hostlong); #define SYS_SOCKET_ERR_INTR (-1) #define SYS_SOCKET_ERR_INPROGRESS (-2) #define SYS_SOCKET_ERR_ALREADY (-3) #define SYS_SOCKET_ERR_ISCONN (-4) /* * Initialize system socket implementation (e.g. WinSocket) * * This will be called once when starting the application, and * should make the socket interface usable. For Unix systems * this is normally a no-op, but it's required for the WinSocket * implementation to call WSAStartup() before using any socket * related functions. * * On success sys_socket_init() returns 0. */ int sys_socket_init(void); /* * Create a socket. * * If stream is set to non-zero value, the socket is opened in * stream mode, otherwise in datagram mode. A non-zero value * for nonblocking will set stream to nonblocking mode. */ int sys_socket_create(int stream, int nonblocking); /* * Close a socket. */ void sys_socket_close(int socket); /* * Connect socket to given ip address and port. */ int sys_socket_connect(int socket, unsigned char ip0, unsigned char ip1, unsigned char ip2, unsigned char ip3, unsigned short port); /* * Receive a datagram from a socket. * * The data is placed into the given buffer and if the * ipX and port parameters are not NULL the ip address * and port of the source will be written into the * given variables. */ int sys_socket_recvfrom(int socket, unsigned char *buf, int bufsize, unsigned char *ip0, unsigned char *ip1, unsigned char *ip2, unsigned char *ip3, unsigned short *port); /* * Send data to a connected socket. */ int sys_socket_send(int socket, unsigned char *buf, int bufsize); /* * Send data to the given ip address and port. */ int sys_socket_sendto(int socket, unsigned char *buf, int bufsize, unsigned char ip0, unsigned char ip1, unsigned char ip2, unsigned char ip3, unsigned short port); #ifdef __cplusplus } #endif #endif /* __sys_sysdep_h */ KCemu-0.5.1/include/cmd/0000755000175000017500000000000012417262523015137 5ustar glaubitzglaubitzKCemu-0.5.1/include/cmd/cmd.h0000644000175000017500000000467012417262523016062 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __cmd_cmd_h #define __cmd_cmd_h #include #include #include "cmd/cmdargs.h" struct force_link { struct force_link *f; class CMD *t; }; #define __force_link(s) \ static s __##s; \ static struct force_link force_##s = { (struct force_link *)&force_##s, (CMD *)&__##s }; class CMD { private: char *_name; public: CMD(const char *name); virtual ~CMD(void); virtual const char * get_name(void); virtual void register_cmd(const char *list_name, CMD_Context context = 0); virtual void unregister_cmd(const char *list_name, CMD_Context context = 0); virtual void execute(CMD_Args *args, CMD_Context context); }; class CMD_Repository { private: static CMD_Repository *_singleton; typedef std::listcmd_llist_t; public: typedef cmd_llist_t::iterator iterator; private: cmd_llist_t *_cmd_llist; protected: CMD_Repository(void); virtual ~CMD_Repository(void); public: static CMD_Repository * instance(void); virtual void add_cmd(CMD *cmd, const char *list_name, CMD_Context context); virtual void remove_cmd(CMD *cmd, const char *list_name, CMD_Context context); virtual void execute(const char *list_name, CMD_Args *args = 0); virtual void dump(void); }; #define CMD_EXEC(list) \ CMD_Repository::instance()->execute(list); #define CMD_EXEC_ARGS(list,args) \ CMD_Repository::instance()->execute(list,args); #endif /* __cmd_cmd_h */ KCemu-0.5.1/include/cmd/Makefile.am0000644000175000017500000000015412417262523017173 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ cmd.h \ cmdlist.h \ cmdargs.h KCemu-0.5.1/include/cmd/cmdlist.h0000644000175000017500000000422512417262523016752 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __cmd_cmdlist_h #define __cmd_cmdlist_h #define __CMD_COMMAND_SHIFT (16) #define __CMD_VALUE_MASK (0xffff) #define __CMD_TYPE unsigned int #include "cmd/cmdargs.h" #define KCCMD(name,val) (new CMD_Val((__CMD_TYPE)(((KCCMD_##name##_##val) & __CMD_VALUE_MASK) | \ (KCCMD_##name << __CMD_COMMAND_SHIFT)), this)) #define KCCMD_0(name,val) (new CMD_Val((__CMD_TYPE)(((KCCMD_##name##_##val) & __CMD_VALUE_MASK) | \ (KCCMD_##name << __CMD_COMMAND_SHIFT)), 0)) class CMD_Val { public: __CMD_TYPE _type; CMD_Caller *_caller; CMD_Val(__CMD_TYPE type, CMD_Caller *caller) { _type = type; _caller = caller; } }; #define KCCMD_RESET (0x0001) #define KCCMD_RESET_0 (0x0000) #define KCCMD_RESET_RESET (0x0001) #define KCCMD_RESET_POWER_ON (0x0002) #define KCCMD_QUIT (0x0002) #define KCCMD_QUIT_0 (0x0000) #define KCCMD_LOAD (0x0003) #define KCCMD_LOAD_0 (0x0000) #define KCCMD_LOAD_IMAGE (0x0001) #define KCCMD_LOAD_IMAGE_OK (0x0002) /* * User Interface Callbacks */ /***** * this one is used to fetch a filename from the user interface * by setting the 'file-name' argument */ #define KCCMD_UI_BROWSE (0x0101) #define KCCMD_UI_BROWSE_0 (0x0000) #endif /* __cmd_list_h */ KCemu-0.5.1/include/cmd/cmdargs.h0000644000175000017500000001035312417262523016732 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __cmd_cmdargs_h #define __cmd_cmdargs_h #include class CMD_Change_Listener { public: CMD_Change_Listener(void) {} virtual ~CMD_Change_Listener(void) {} virtual void cmd_args_changed(void) = 0; }; typedef unsigned int CMD_Context; typedef enum { CMD_ARG_LONG, CMD_ARG_STRING, } CMD_Arg_Type; class CMD; class CMD_Args; class CMD_ListEntry { private: CMD *_cmd; CMD_Context _context; char *_name; public: CMD_ListEntry(CMD *cmd, CMD_Context context, const char *name = 0); virtual ~CMD_ListEntry(void); CMD * get_cmd(void); CMD_Context get_context(void); const char * get_name(void); }; class CMD_List { private: typedef std::listcmd_list_t; public: typedef cmd_list_t::iterator iterator; private: char *_name; cmd_list_t *_cmd_list; public: CMD_List(const char *name); virtual ~CMD_List(void); virtual const char * get_name(); virtual void add_cmd(CMD *cmd, CMD_Context context); virtual void remove_cmd(CMD *cmd, CMD_Context context); virtual void execute(CMD_Args *args = 0); virtual void dump(void); }; class CMD_Arg { protected: char *_name; CMD_Arg_Type _type; union { long v_long; char *v_string; } _val; bool _value_set; public: CMD_Arg(const char *name, CMD_Arg_Type type); virtual ~CMD_Arg(void); CMD_Arg_Type get_type(void); const char * get_name(void); virtual void set_long_arg(long value); virtual void set_string_arg(const char *value); virtual void set_pointer_arg(void *ptr); virtual long get_long_arg(void); virtual const char * get_string_arg(void); virtual void * get_pointer_arg(void); }; class CMD_Args { private: typedef std::list arg_list_t; typedef std::list cl_list_t; typedef std::list cb_list_t; public: typedef cl_list_t::iterator cl_iterator; typedef cb_list_t::iterator cb_iterator; typedef arg_list_t::iterator arg_iterator; private: void *_user_data; cl_list_t _cl_list; cb_list_t _cb_list; arg_list_t _arg_list; public: CMD_Args(void); virtual ~CMD_Args(void); protected: virtual void notify_change_listeners(void); public: CMD_Arg * lookup(const char *name); virtual CMD_Args * set_long_arg(const char *name, long value); virtual CMD_Args * set_string_arg(const char *name, const char *value); virtual CMD_Args * set_pointer_arg(const char *name, void *value); virtual CMD_Args * add_change_listener(CMD_Change_Listener *listener); virtual long get_long_arg(const char *name); virtual const char * get_string_arg(const char *name); virtual void * get_pointer_arg(const char *name); virtual bool has_arg(const char *name); virtual void add_callback(const char *name, CMD *cmd, CMD_Context context); virtual void remove_callback(const char *name, CMD *cmd, CMD_Context context); virtual void call_callbacks(const char *name); virtual void set_user_data(void *data); virtual void * get_user_data(void); virtual void dump(const char *text); }; class CMD_Caller { private: CMD_Args *_args; public: CMD_Caller(CMD_Args *args = 0) { _args = args; } virtual ~CMD_Caller(void) {} virtual CMD_Args * cmd_caller_get_args(void) { return _args; } virtual void cmd_caller_set_args(CMD_Args *args) { _args = args; } }; #endif /* __cmd_cmdargs_h */ KCemu-0.5.1/Makefile.am0000644000175000017500000000106012417266304015003 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in docdir = $(datadir)/doc/kcemu ACLOCAL_AMFLAGS = -I config -I config/m4 SUBDIRS = \ intl \ include \ src \ test \ asm \ images \ doc \ man \ debian \ rpm \ conf \ setup \ po EXTRA_DIST = VERSION README.de TODO THANKS COPYING COPYING.de .pc/.[qv]* install-data-local: $(mkinstalldirs) $(DESTDIR)$(docdir) cp ChangeLog $(DESTDIR)$(docdir)/changelog deb: unset CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS; \ dpkg-buildpackage -rfakeroot -b -us -uc CONFIG_STATUS_DEPENDENCIES = VERSION KCemu-0.5.1/NEWS0000644000175000017500000001266312417262523013460 0ustar glaubitzglaubitz## # $Id: NEWS,v 1.10 2002/10/31 16:39:53 torsten_paul Exp $ # KCemu 0.3.8 * initial support for GIDE interface that allows to connect up to two IDE hard disks (or CF-Cards) to the KC85 * added module digital in/out (M001) that contains one PIO and one CTC * added emulation of the so called KC85/5 which is a KC85/4 with expanded RAM (replaced internal 64k system RAM with 256k) and ROM (16k CAOS, 32k BASIC+USER); it uses the new CAOS 4.4 * fixed KC85/4 keyboard emulation * added emulation of the Kramer Microcomputer (from the book "Praktische Microcomputertechnik" and the Mugler PC (PC/M) presented in the magazine "Funkamateur" * added segmented RAM memory modules M036 (128k), M032 (256k), M034 (512k), M035 (1M) and M035x4 (4M) * fixed 16k RAM module M022 * fixed memory bank switching of RAM8 * added config file entry and command line option to enable/disable the display effects for scaled screen output * added emulation of the display effect caused by screen memory access on KC85/2 and KC85/3 * fixed basic module for KC85/2 * added support for basicode files (incomplete, but it's possible to add basicode files in ASCII format to a tape archive and load them using the load function of a bascoder) KCemu 0.3.7 * Windows Port using GTK-Win32 * added emulation of the Polycomputer 880 * upgrade to GTK+-2.2.1 * fixed display cache handling * fixed keyboard reset bug * relaxed file type checking for standard tape files; now most .KCC files should be loadable * fixed cpu timing and display resolutions for BIC/A5105 * fixed text output in graphic mode for BIC/A5105 * added 192 KByte RAM/EPROM module for KC85/1 * added joystick module M008 * added Z1013 emulation * added 256k RAM-Floppy module for Z1013 * added BIC/A5105 emulation * added CPM-Z9 emulation (CP/M for KC87 using a floppy and a 64k RAM module) * started emulation of the plotter XY4131 * added autostart for BASIC programs in KC85/1 and KC87 mode (BASIC must be initialized first!); autostart routine is described in MP 3/89, page 86 ("Basic-Run im OS für die KC87-Familie") * handle BASIC DATA files (signature 0xd4, 0xd4, 0xd4) produced by CSAVE*"FILENAME";ARRAYNAME and BASIC LIST files (signature 0xd5, 0xd5, 0xd5) produced by LIST#1"FILENAME" * work with both libsndfile-0.0.x and libsndfile-1.0.x * added simple program to convert TeleDisk images to uncompressed disk dumps * added loader for disk images produced by the Sydex TeleDisk program (only normal compression for now) * lots of compile fixes for gcc-3.2 * added the notion of computer variants to allow to differentiate between e.g. the kc87.11 and kc87.21 model (which have different basic and system ROMs) * fixed memory initialization for kc85/1 and kc87 (fixes MAZOGS) * output pin of timer channel 2 is connected to channel 3 trigger input pin in kc85/1 mode; fixes system time calculation * added missing initialization for kc85/1 rom module; fixes core dump on exit KCemu 0.3.6 * added emulation of screen border and 20 line display mode for KC 85/1 and KC 87 * removed BASIC ROM from KC 85/1; it doesn't have a BASIC interpreter built in * changed memory layout for KC 85/4; fixes FRACTAL4 * added menu entry to disable the emulation speed limit * fixed calculation problem of the main CPUs R register; this fixes the missing monsters in JUNGLE * added library to load various audio files * some juggling in the display code again, now both the KC 85/3 and KC 85/4 support the color scrolling effect in BoulderDash KCemu 0.3.5 * added emulation of the LC 80 computer (thanks to Holger Krull for providing the necessary information at www.lc80.de) * big internal changes in the display code; there is now a generic display layer to simplify the porting to other architectures * started BeOS port to check the generic display layer -- not quite usable due to some threading bugs and missing user interface * renaming of files in tape archives is now possible * allow adding .TAP files with multiple files with the same name (by renaming the duplicated names) * fixed some tape handling bugs * fixed initialization bug in the display code KCemu 0.3.4 * new switch for kctape to add KC85/1 files (only needed for COM files) * bugfix for KC85/1 tape files * simple sound emulation (still buggy, sound is sometimes not turned off) -- requires libSDL * implemented IRM switch for KC85/4 * changed interrupt code to handle daisy chaining (makes pharao playable, but still with display errors) KCemu 0.3.3 * fixed bug in flash handling (diamonds in digger didn't show correctly after reset) * fixed tape handling, stop button working again * fixed typo that prevented the busdrivers to show up in the module window * added disk image with CP/M tools from the KC-Club * allow compressed disk images in 22DISK format * fixed floppy selection when writing data, file copy (e.g. from disk B: to disk C:) should now work correctly * disk emulation for unix directories (don't try to attach directories with many (e.g. > 100) or big files!) * emulate 4 disks now * disk handling partially functional * use cppunit for unit tests KCemu 0.3.2 * released a debian binary package of KCemu v0.3.2 * added manpages because the debian packaging system requires them KCemu-0.5.1/README.de0000644000175000017500000002152412417262523014224 0ustar glaubitzglaubitz------------------------------------------------------------------------------- $Id: README.de,v 1.2 2002/06/09 14:24:31 torsten_paul Exp $ ------------------------------------------------------------------------------- _ ______ | |/ / ___|___ _ __ ___ _ _ | ' / | / _ \ '_ ` _ \| | | | | . \ |__| __/ | | | | | |_| | |_|\_\____\___|_| |_| |_|\__,_| ================================= Copyright (c) 1997-2002 Torsten Paul Lommatzscher Str. 26 01139 Dresden Torsten.Paul@gmx.de Alle Rechte Vorbehalten ------------------------------------------------------------------------------- README ------------------------------------------------------------------------------- 0. Inhalt 1. COPYRIGHT 2. Installation 3. Konfiguration 4. Das Programm 'kcemu-remote' 5. Das Floppy-System ------------------------------------------------------------------------------- 1. COPYRIGHT This program 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. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ------------------------------------------------------------------------------- 2. Installation Die Installation erfolgt normalerweise einfach durch: ./configure make make install Eventuell ist es für den letzten Schritt notwendig, sich vorher als 'root' anzumelden. Soll der Emulator nur für einen User und in dessen Verzeichnis installiert werden, kann auch der folgende Aufruf genutzt werden. ./configure --prefix=$HOME make make install Damit wird der Emulator in das Verzeichnis "$HOME/bin" und die Daten-Dateien in die Verzeichnisse "$HOME/share/KCemu" und "$HOME/share/locale/..." installiert. ------------------------------------------------------------------------------- 3. Konfiguration In der Datei .kcemurc können eine Reihe von Einstellungen vorgenommen werden. Diese Datei muß im Homeverzeichnis des Benutzers liegen. Eine Beispieldatei befindet sich mit dem Namen kcemurc.sample im Verzeichnis doc des Programmarchivs. Diese Datei enhält auch die Beschreibungen für die möglichen Einträge. Jeder Eintrag in dieser Datei hat die Form: : z.B.: Tape File: /tmp/x.kct Zusätzlich gibt es noch die Möglichkeit für bestimmte Namen mehrere Werte zuzuweisen. Dies geschieht indem an den eigentlichen Namen des Schlüssels durch _ getrennt eine 8-stellige Dezimalzahl angehängt wird: z.B.: Tape File List_00000000: /home/tp/projects/KCemu/PRG/files.kct Tape File List_00000001: /home/tp/projects/KCemu/PRG/test.kct Tape File List_00000002: /home/tp/projects/KCemu/PRG/wordpro.kct Zeilen, die mit einem # beginnen sind Kommentarzeilen und werden beim Einlesen ignoriert. ------------------------------------------------------------------------------- 4. Das Programm 'kcemu-remote' Mit dem Programm kcemu-remote kann der Emulator von außen gesteuert werden. Die Kommunikation erfolgt über den X-Server, was bedeutet, daß das Programm kcemu-remote nicht auf dem selben Rechner laufen muß, wie der Emulator. Es muß jedoch auf das gleiche Display zugreifen (wird normalerweise durch die Umgebungsvariable $DISPLAY gesteuert). Laufen zwei Emulatoren gleichzeitig, wird einer zufällig ausgewählt. Zur Zeit ist es noch nicht möglich, einen speziellen Emulator anzugeben. Der Aufruf des Programms erfolgt mit: kcemu-remote = = ... Die wichtigsten Kommandos sind in der folgenden Tabelle aufgelistet (Wenn Dateinamen als Parameter angegeben werden, müssen das zur Zeit immer absolute Dateinamen sein!) +------------------+-----------+-----------------------------------------+ | Kommando | Parameter | Wert | +------------------+-----------+-----------------------------------------+ | emu-reset | - | Reset des Emulators | | | | | | | | Entspricht dem Reset-Knopf des KCs, | | | | Programme bleiben im Speicher. | +------------------+-----------+-----------------------------------------+ | emu-power-on | - | Power-On Reset des Emulators | | | | | | | | Entspricht dem Ausschalten und wieder | | | | Einschalten des KCs, der komplette | | | | Speicher wird gelöscht. | +------------------+-----------+-----------------------------------------+ | emu-quit | - | Beenden des Emulators | +------------------+-----------+-----------------------------------------+ | kc-image-load | filename | Dateiname der zu ladenden Datei | | | | Die Datei wird nur geladen, ausführbare | | | | Programme werden nicht gestartet. | | | | | | | | (Entspricht dem Menüpunkt File/Load) | +------------------+-----------+-----------------------------------------+ | kc-image-run | filename | Dateiname der zu startenden Datei | | | | | | | | (Entspricht dem Menüpunkt File/Run) | +------------------+-----------+-----------------------------------------+ | floppy-attach | filename | Dateiname des Disketten-Images | | | | | | | | Es kann nur auf das physisch erste | | | | Diskettenlaufwerk zugegriffen werden. | | | | | | | | (Da der Menüpunkt zum Einlegen von | | | | Disketten noch nicht funktioniert, ist | | | | das die einzige Möglichkeit Disketten | | | | zu wechseln :-) | +------------------+-----------+-----------------------------------------+ | keyboard-replay | text | Text der an den Emulator gesendet wird. | | | | Der Emulator tut dann so, als würden | | | | die entsprechenden Zeichen über die | | | | Tastatur eingegeben. | +------------------+-----------+-----------------------------------------+ ------------------------------------------------------------------------------- 5. Das Floppy-System Der Start des Floppy-Systems erfolgt im CAOS-Menü über den Befehl JUMP. Da der Modulschacht des Floppy-Systems immer auf FC festgelegt ist, lautet der Befehl: JUMP FC Bei eingelegter CAOS-Erweiterungsdiskette erfolgt die Initialisierung des Floppy-Systems und danach der Rücksprung ins CAOS-Menü. Dort existiert nun ein neuer Menüpunkt FLOAD (KC85/3): * HC-CAOS 3.1 * %FLOAD %BASIC %REBASIC % %SWITCH %JUMP %MENU %SAVE %VERIFY %LOAD %COLOR %MODIFY %DISPLAY %KEYLIST %KEY Mit diesem neuen Befehl können nun Dateien von Diskette geladen werden. Die CAOS-Diskette enthält die folgenden Programme: DEP.COM FSAVE.KCC FLOAD.KCC SERVICE.KCC BASEX.KCC DEVEX.KCC TEXOREX.KCC FORTHEX.KCC INITIAL.SUB Erweiterte Funktionen erhält man durch Laden des Programms SERVICE: %FLOAD NAME :SERVICE Danach gibt es die zusätzlichen Menüpunkte: %FSAVE %DIR %STAT %REN %ERA %SETRO %SETWR Weiterführende Hinweise gibt es in den Handbüchern zum Floppy-System D004, die unter der folgenden Adresse des KC-Clubs erreichbar sind: http://www.iee.et.tu-dresden.de/~kc-club/05/0500.HTML ------------------------------------------------------------------------------- Have fun! -- Torsten Paul Torsten.Paul@gmx.de KCemu-0.5.1/doc/0000755000175000017500000000000012417262523013516 5ustar glaubitzglaubitzKCemu-0.5.1/doc/sys-kc85.jpg0000644000175000017500000001716312417262523015616 0ustar glaubitzglaubitzÿØÿàJFIFHHÿÛC  !"$"$ÿÛCÿÀÈ,"ÿÄÿÄJ !1AQa‘"2RqBC’“”¡±ÁÑ#35DESTUbá$4rs‚ƒ¢%c£ÿÄÿÄ !1AQ"aÿÚ ?æ€j†{èÕbãwnäœá¢óñá×KËRNòœhŽÐr[e NE‘A]Rc„†yÇrÖ»vŽ!áÌw®Z£tä’Eô Ã; ­¼›ÛrÉ®¤9§ˆïDÌ.j:ÉdhpµŽ£DñS5¸-hèî9„Âç:ÌÜÂ]jnÄÑÒ‚9„tæ1Ö¦<”sâ„!ÄÔu@Ža)ˆÉ¼.M˜¡{ö¸Y»ô)±b¦G†5÷'v…7¬smÍÈT‡çÔn*a[9¿Ö“¥·]I! ¹3ˆJ/rîℸ«â 9ä\\oMiBË“ñ³¶[LþMí}Rt„ä›jw¦£­nþ S¹qmÆKa)¹ÐjTÞ2¨œîýEk,KÂh\ Æœç‰‰'úŠ.ÆK]•ÒØŽnYÕuczF÷\«ñ‰béH¾¢îGÇ.1—‰ ‡ɨêQi\˜Æe“ÉŽkŸZ‚ŸÄ«Ëå¤5Ðù^`#E©ÈvÇr© ³—?Žät¢¯þLiB\;¥ ÅŒÓÔÂZ{}a^sIqÑ[@¦‹rä›_Òè¤Ãhj@âÉKOÖ¥‹ÇÚ@wF^OôÎ?á{Jޞͬiæ§y-!rÕ}!ÅæºnÕ3)ø24©½Õæoå02ßÊ8îÑGAEK”ØŒ`ÈÙ4{Uªê9_P_ äB2ÓÌú6Ú4î¿W³k@Ók–©6‡Q$+Ttò·;$Œµ®JŠ:jˆåk„.¸;îšbœÁR iÐØ®—›cZÐO‘(Ê~å[E#§/„ƒ®…[¥l…¡àµíݪÍ·iR‡ OTù kËÍÈÕ?¬HžWILhIN¡ÚUiªŽl¯uî­çÕ–Jaµ±6H¶©”6t6:Ûš¾à…$„¼óžÃ:X’š•O±VvNMöc¹[kù§f ~R¦)1ŠAĬ¸Å3fB"2¤ íJÖÖêŠU¢ÙYí*¶Ef@^÷;™Ñ ‹—*D,V2v%‘MU|‰dV2%‘]òhb³‘ ‰¢¹bij²X–DÑW"ŠÉbSE|‰¥ŠÁb©¢¾D²)ò¡•]ò¤Y¢œµ"ÄÑ_*娦ªÄ öC*š+–²+P,WE|¨+¨dMѸ±ÎŒ¡X.P=¥® ´ŠåÊãpÌÇEv’líÊw…S*s/ƒ–mÕ±¤<ÓÉÑ»3ASœß'P¬©D" æšÛ[zu‡5Û&1(iDµ?+Ï #³;ÉMØ)’[• ’t À`cÜÇþM&ÛÉÐ%儊†1£3Hõ„ÜŠÕv&(áÚÕÉOw¶g“e‡QÓ:V<µŽ¥s\vÕÈÒ’tKdïD÷,vÔãttÿ-Ó˜ÅÁóŠíü26vNôOr3È÷,owt÷üÔ'þÄ=ÞSþâ/œþÊ÷ødlìÏ"†Ìò=ËôòŸøxþsû&žžSÎdÛødmlÏ"Œú'¹bû¾¦þ?œþÊX:oM3¬!ˆFQø&ßÃ#LÆ}ÜŒò) uÄÕF¿×ý•ΘSÒÈY,, ‚ÿbžZ¾+™"aäVW»º#ú¸ùÁø%îæˆþ®>p~ íüLBÃÉ4³±gœP~ãÿavÔâ?öÛø¹ò!“±Q4ÃÄŸ”‡Lpãñ'åòÀ˜hc?ö'ý!áXr²í½·j;¬ÂÂwnõ-øèZÓvS€O©UÄpòÛJÖe¶ûqYåÎV§Ûø"F‰ä[pK.º©¦&¢·É*ݯ¼¬öù$´"9˜ hhu’±ˆO{tÍÉ ÐEô]ebƆQÁ"Õc%’ ZEb˦–G Zà+¢3ÉTªÎÉŘ\ t±S•莴!;žøÛ0½ŽºÝy d}òƒ 6 ßzQ†xë–ì|y¬C…´#Ú¼ª£¡ØÍlÑõ<7ò\5]>>RFyË®XË%ït×M/·'è¶:ç—6‡(;€pY˜¦ˆá­i¬ˆE›p.+¬²±•HÍ%÷¦š‰Gz›ÄêaAN$aâÒvŒÔÜ› ¬óS(âšjeR¯6-„×`ùK\yYv%’ÇÐŒ» ¦ŸÆÆe ±„ÞËxDMš­Ïˆa• ÅTR<‹åÕR¥Ÿ2ɉD׸ÊsåogºyÇM[ƪšág6À\-?Ôìts¾Ãx‘WúoƒÅ‹ã0x‘ðÏ4¬q6Aðx©ú>hh0æS:XÛ&ùp¸wÛŸ/âcxÿN‚žžÖ¡Få‘C.!ÌìH7_ß¶i&ái¶!ïéJÞ¼Ö»D±Â ·)NÂß4&Šì<ópü°ã â¡ùagF|ñ9µ­ˆÒ‘mö·Òü”ÝMž€VN!‡‘cU ›Â¯,Ô݈µ n´kÉ0:“=—R÷a>šjKŒ[%ø:@l§ë”?ÅCòº+u(ÿvUT820^G’9•|UÑË>j 7ÔEòÂhËoGë2‚f€!_£¤–»)r7î*A%ÔU3OëN54fÎ1‡ Æë7u¥€ÍOšXë¡´²=’šQl¬·5]¥Ú GKß-ôW[UKÂfw¨ÖI$â(ÞÆÙ·%ÊqMPÀ]Ö!u¸X‹ªNuyx¨ qÞC”ËI¹©ÿSî¥üÑ}êVÙf:zbÒØëÆžGw©:’X"qs«Ì—œå¨ª®"s4m]9:JÃ~ÕïH-¸qRúòÛ‚YTÙ4Ñ9½ÆÍi*JU|©ê¯2‚¡ß¼©[…ÌF¶ï[’ÖUi ܬ–«1ánfºßÖ¦ê’rúÖç•Ñì¯Å—iS†%•">ÔLm"α \©eLáÝÏ¡§$ïò¯'Fð7~ͦ?ð \0£n Ùƒ`îD—Ÿ…õ-M+„ ú:?Vqö£ïqÑÝÝX÷®àç¾ñÜ•ŸÙÜ·58ðuÑÁú©ïHø<èïðǽvö&÷$½÷*Ž$x;èðýT÷£ïyÑïá>µÛYÞ‹{‘9½¢¸‘à÷£Ãõ?ýãÐÔÇzìõôB§Ðj9½èðýDiSÇО´[Åì]XiôœôŽõ0rG Ý$ž£# øðL]güzEÜØ˜9ª~ˆ`”Ί‘pÜmªºÜ.žlAj¼ÿõýj2¡õ«“í5E´TÍ:DÔýŒcàÛÔ­[ú>´Ü­ôzÔÁ[#xhhçõ+%­?÷¦–·“•ÔV,‰däà¦,o' cÝÜš7²£‘<'X.xº/bYsÃx&mÛÉjqM;-‚­Q3bpm®ãª˜Î²±9ò¾YGÁ 8íÚ–¬:©Þ€ïM5.·˜;Ökjd.Ê[ ¹Órt•UQÆ\÷0†¤Åðþ¿#çäÊìÛ¯u¢×†ä7ØV@ª©sÛ”‹ƒdÇÕÔ¶VÆç·3·2nšÙ“fðD‘Ò³©ðöÓ6vS¸29·¶Û”;zÏM¼S"¬© 8¥’û]Æ–ÇQSìšCµ¹%YRl­ïXsUÕÄÀ÷½§Kè—Y¬<[¯©Oko­»Ðoz±ãâÇzÂë•[Sfçä$ꪰ×8–YºžÄÈktÖ¿÷mïMëÏÞõ‚ÚùÜ.’¶¡¥ –y[»UÃ[ƽÿ»èu÷ÛÌë ­TŸA5••$4²íߨš7{Æ›1ò’ëïýØïX/ª¨cK’Ê-«©pd×rŠÝñƒÇÅŽô¼dÿÝŽõ‚êÊ&ÌäÏÊÈÉSTѨfäÓ[ž3îÇz^3yø¡Þ°[3Åã!ÖÊÙ´ -&Ú)ªßñŒ—üÐïKÆ2Šë˜é&']@S’\ f½rÆ÷Iìã=VÎP³ýI£¿ñŒ„þlw©©+Dïte¹^íÌ/:gHqãRÐi Ù.rºöî]†1t”ó½¹ Åœ¼°öÝ7M7¾ð¼Â‚×”0ÝR7ìîFá#njùDÃI=ÉŽ'Å--ºº#õÙ §’”ÒÊ9š5Â<NZa^q¨Pª³0º„é½tã:fÐÊ-uƒ‹?ò'úž¶ª$Ë ˆ<;Š¿XÙ~§;Ñ=©²œÎ×.lK^ZoìQTP²+:w½ÚéžB~ÔŸËf{7»[ö"0ñä½ÙÞNâù ¾ÕÇ“Pî¢]æ™›™+‡Ô ŒRF*2X™mðžIïFJkTlóÊÉð[)z1Ñ—jâcŸÊïÞŸkôoPóæp±?žqïB V:;BKì $-רƒ)Ä‘ºÒÊèÇœ ¦ßjRÒàk®æ0 d-ûû š¡Ò¹îmÈÞN¾Õ+á“R$‘ ZàHtö(ÝG˜ÆéçægŸµ5ôÅ•9æcÏÁl§ñH§kf‘·;B<£žÇ½'Ò¸µáÒJð.¼¤‹'6…Áϳ]˜(ç7ïQ²Ò±ÌJö·x2ŸJ|TÙãh…Ïkw ’Zé’Óߥ.ø%î$§:ÑB×4ÉâÉŠWH#‹¤¶­/}ҧЊY òd”ØÚÂS¢Š×=±×oq±´] Ù>ÌI3^ãæíNªA@öç!ŽùÄ?Tû_£*)\avÔ½ÌМϸA±^0öHæ´dßìI°ºv9›GÈÖC¤Ð úM›Á|mn—l„µH…›f¼ƒ´x³Iq¹Sºšp2¡¸¶{¨º®sŽçà>åÉ(‹k(qÜÓ)ÕO¬_³)éÃÚ[ Ú¿,„}èTS¹Ìöºã@\âuö©DæXÇ ›—1ä_¹FàsÞûùO%9vFìYe‰Ž-‚‘6÷ òwé¹E@öŠ(®@ø"ç’GI<Ä eã‘äm‘S°Âæ‡46ÇPl„þeÇpRîÕÇ'¥!!ª`èåŽñ½®ˆ+¶¡ î!ÅiQ8¾\IYq´åß»E©BÛÓ¶Çq^y[©ìžÑ¦äÃ}éÁŽæ»pŒQ ìG/`H#år ´Œˆë¹:ç‹Q¸ôUEû£tˤ.WyÇî¹éÛÆªL¹^ZÇ:ÃE•P ¦+žÞ—ÕJHʱqž©Àk”-z–ä,¿W7X µ=’¾78‘™¥[êj't,¹}ü&òÝìžv´z2Ø[©ÕJzê©k ÓØ奞8ÚØê'„vZǼ,wézHhÄ_”yy.øeúŸjŠMª*H~æºcªˆPÎðÓ5ED jÐlp TCVe°­¨ŽÛ›f›z®úÀ÷Rd]Ž–'ðcýÓN÷ù2I<¡ºÙÒ^ÈGG;$2™*!y:…a¬.?ãª}àýÁ3bĦ %¹dõ †É`›+Nã!'á—Ü÷¨ú´±BDRÏ'W oë¸M4Õ3³,µu36û€ú‚_Ò'ØT9¹ºÍFGsx±Qšc14ËœoäºÄþ)³ERZÚ©âh ³HúÂB–gÊÙ%–y^ÝÄŸÁ=Sé#¨¥{6r>iè¹é½]ï~Xå¨m‡š×è;÷&–Ö ³ƒ}Å­¿Ø‹)戺FI3íîÜ)‡WfÛ»hç7Låú„cŠw70¨¨-:k&Š0Ê—±ÌuLÏk·‹ö ÑÄÖ2i£`á¡X*IÖ)Æ—`, ‘kv¾×OuÒFcyšFlç(M4ó5†Yf”0Üý‚sºØ}Ådíäoàžàp†Bü‘Ë;k_¹Ò8?i#^ççj;n˜)elŽ›<Áî.¿â‹[TëÆê©ž-l¶oÜ￳ü> yœÛ²j‡7‘“D æ‘ë*!M,, Šzˆm®„}á ’¸´ÍS,¤ŒÄ}ÁK?_Ö¥ qÔRº)Ã_qcbãUSnF]8C²Ë#9´zhY;2¸¸XÜlAKßTŸâQRºB÷±à –<‚G ©"¤Ž=L²¾ÚùO¸PŠÙ3šùïkk—wrµmcr‡n$¬_Æ¡­ÑîÖ¯á®7{}¡RÝ+{tWhl&µ÷…çå2ºû‹í*F¨Æ…HÝ˯Ç\éáÔÓ‚ôF -C/5"H§ß‚$€ALs®Wo—–Lsã&બË.r·òuTë%’~>=m9U,IÙ§!¼`¹ãOP ¶O= -‡¿;Üëï(‡×;ÚIÓH±&Âb§%­uÃãÍuéñYòŠ™\XÝÍdyBè3ÒóuÎö²0¤f2SÁæ‡Ár=·Me>"fÛË,n!–طÔ5"rËÔ‘À›]YÝ=F/ÿ4\dˆÄBoö È+âcÌr»hýåÑÜw)d©ÆZâÒ9‰Æ¨ ¬dÑÞÕŸµA“{ RÌ2ù"±ûJ;…F1ü­Ÿ>úÁpÖÄÇÞë¸Üçf`“£ÄdÑÈñ”›ùåûÊ›¬cýÏŸ ½cþZÏŸ {˜¦Æ1(XÖC'’¬øï÷„Ù)ë¦,2½÷nìŒÊ¢|`þÌçÇà®PõÂìÕ,dBÞk]}}j[wÑ"‰8¾á#H¿.~ÔÆÓÖ¶gÌÉ$8[͸î[ÆÜÓNŠïzc.*ái H·“}ÒŽšv´Ç»Mö[<gýU >)™RXZÛn´$h{ÂH$€²Z¦˜¡%Sž kYaæç„8mÕÚx_)1‘ÜM­õ'ë©{º³£eÐÈÝ[¤?—i檿VÙII%;ïeÃäºqôØhR6ÃDÆ)[b·ñ±Dëè•’²ô2)^É1ÎÑjTE×*Fjµ®Lz‹«‘Í™Ä-qÚµ^ý*†2£Èx¸WäçãI5ÈËÇÌviõ :GôSñ~€ÅWPéiq 7,s€õ*x7© ³1~ØBÕå9]I³¥ÁÒ¿¥tòj£ƒj³ùÌe£ý0…?½³­újPÙj¾150ÇáäÔ}ÐEÈ*Žðu8>N6ûvÂÔ=îêïúo¾³‘ulãñv&øú+ï ¨ðw[›ôØËþÀFou„Ž4,7æ€&EÕ¯Åé<{0©ûÝâ_Îbù€—½Þ$lÅó_jç!æ8ì<¨<b'öÌ_G §ÁÖ#ËèáOjç"æñì<¢|bgöÄ?G {Üâ|qˆ~ŽÆ»ãع„†9 ·…OÞãþqÑÚ½Î!üæ£5Oúº¹ãȹŽô|y1Þ¨ûÜâ\1˜>ŒÔƒœW†1OôP§Œ6¯øòļy1Þ³ýî±_çßEj^÷8¯óšo¢µªxÿ/mù:qê,59ǵ$—Y:dC’¾ô’] ¹I%Š E÷”#Þl’K<þ‰}¥ºWI%¸Ð'T’P+Ýè’H /k„‰I%(WFé$¢…Í÷#t’@‰Jé$²ѺI+=”®oØÂI+HWJé$ 7I$ RºI(§’I ÿÙKCemu-0.5.1/doc/window-profile-4.png0000644000175000017500000026305412417262523017344 0ustar glaubitzglaubitz‰PNG  IHDR(jªJ…sRGB®Îé IDATxÚìÝw|ÕÚÀñßÌ–ô^I$B ½_•ª¢W_+ ¬¢×JQÁ¢ ^À†åÚ;(б Ò{è-Þ˶yÿØì’%›Bx¾~öcvfgö9g†Ùyæœ3£hšÆÉ†}¼êD!„B!„8ƒÞœq«rò4¥r‚2ò®4€ñwŽ“ÚB!„B4¨W¾ À]ÃZ)U”‘w½ 9“´œ©-!„B!„[Ùù%X¬¶z-«×©„xêï À›ïü%óïSœ Š#99šU,µ-„B!„¨19É)(fÇÚ_êµ|‡^ìïãLR2óŠùû×oYôÒxE_ùÃîÆ£!„B!@NA)YyE¤¬ÿ•‹G^ERlP–ßu$—_~XL»ìïåúMC:fšvÃ-÷PRnv»’ —ıàûƒ.ï·Ó*ÏB!„B4ÇsŠXûç÷ z‘Á¾õZÇ–½i¤¬ÿ•^ƒ.!¢Ò:Ò² ùgùgè+%+ÕrÌ›x©=™ÿÝA·Óï'\ç|/„B4&“ÉÌÎ=ÈÉËÇb±àçKïîXþÇj†^Зr“‰?Wm@¯×1¸/EêM!jÃq¼Œ öÅj«_ï«ð`?R*Öå.©” h5$(÷]À¼¥Ü~öäiÒ]L!Ü+/7ñך zõí¢€ÅbeëÎ=äåÒ!©5aÁ”–•sðÈ1rró)3™PQðòö¤Cbþ~>çd¹Oþ¡ ðó¥}b>>^g$9IÙ½‡q—&“Ü&oO{Rsxhþr–̾€+ýŒ`/–Ì¾Ž’23cŸY ¾=%IBˆZP+,m•”ï~Y À¥pù|uÓër—38[ …#9yùÛýÕ~Î1ýåo÷Ÿr}Bq>'')»v³döu—3î¹¥téÔŽ»öðÐõ}éƼÏÿ!=3‹ÅB^N&ÿ7¸=]# ñ÷Älµ‘–UÄÛßoAÓ4üΑ$¥r¹+³Ú4öÉᵯÖ‹÷é%)»öäæ‘éÛ)†7¿ÙÈwïÆÏ»jµŽ¶÷™Þw4o44ägK!NM©œ T8øõoæ?t9ç|ÃÈ‹ú×8½òºl5%(µ90ß?*Áù÷Kßìw™'v!„8µ¼‚"Úµ `ÇÁ,<=Œ9tÙw_„—)¯ÿ†MïAoÆß`âéFr8›Yï¯àHFÑ¡~\7¤#e& ß=šV›#©iddåPZV†ªª„’ß ƒAÅlá¯5P…ˆ°²ró°Ym„àããMFf%¥e zZÅ´ &*°·F¬üg#:ÊÀŠ“ÙÌÊ5Ñô ìÓÝY®ßVüÀ…ÿê}ÊroؕƌwþDQ†ôŒgÂÕ½¸ïšÞ<ùÎJºvLªˆ"ÂBÉÊÍÃÇÓ“î]:`±X9xä(YÙ¹”•›0èõ„…Ñ:¾%: @FvÝíñÿµù0Ú·fõº-\ñègĵŒ¦MŒ=AÙ{4_,ÖšëP!„]u-(󺜉s¾qþ]ÙÉŸ·· P}‚rª¹Köðà­Ý~¾òû¯híü¼B×õ¾Ýí'Ð;dêÃä1È)(å¡?Ó"*//OŽ>ÈÓ“†s4«gß[A‡¤DbâZSRZÆÿ~ÜI|«ŒFÊÍf¶nKá’~ ¼&™È`_Lf+ëRŽñþÛHHH`GJ Kf_‡ÕjãM‡éÝ> £QǺiLÏcàÿ%Ó"ԗ‹ßÉŽ£é„…“R±\i¹…›žúŠžÝ’IÙiŸVTbâæg¿e@Ÿnü±r­K÷© ôª±Ü)‡³‰kMlt$¿¯ÝÈ„«{@Qq ·n³ÇjÓøsÓ!zµâhf!O¿» U±rÕàvôëØ“Ð/ KM¬Ú–Êg¿¦Ð±}k7náíÉ—ããeàýǯÀjÓÿÂ÷,™}e& £§MaQ1­£íÜö¥æâáíÁÆÍÛ«­Ã¶m%IBˆ •»Ã:Îÿ‡^З‰s¾q&$''&ç|ÃÐ úVÉ…Sµ Ôœ œjŒ‰ŒABˆS+(($©U'"C|;2™»Óyù³èÐ>OOOví=ÀõvÀàãó_¶ײ%¾¾ö{Å{{yÒ®­ýäÚbµ²u{ Óoû QAÌ_ô+7§raVÜseO|½¼üù¢BýÐéT¶íÏ`Ñï;yåÁ‘ôïƒÅjeÊÂßhÄ“· bÌÈd®{|1ž^$DÙ[ËÅÛÛ‡Ò²2¢Bíw[9–Uˆ——G­Æ$ž\î]‡²ñóõ£¬¬ ûºŽçc4NĪ*˜ÌV&½´Œ23èTYw_D Ÿ's?YÅÖý ëÕš;.—‘wÚEbB ­åÉÛq(=Ÿû^úHlio¹IË.ÂË‚bg ʾ£¹”š™qÛÀjëpÁâÍtê(;¯BP} ÊÅû¸$)•““‹öqÛÚrÊ1(&³µÆ`Nžïx?ó‹]L¹&‰‡þݦÆÏ !ÄùÎfÓ(++£utf‹a½[Sf²0ÿ˵´j‹ª3`2[ÉÍ- kbÛög’ض­ÛcêÁ#G¹vpmb‚ùéŸýüºî ¿¬;À=Wö¤K› Š‹éžh?Aßu8›[R ©xjoi¹…W¯£U«8ò‹²ÈÌ-Áh4Ÿ_Dß$ûIüþc¹x{yQTTB\E‘–]„‡ÑˆÉl¥o¯nÎîS}{u«kårkšÆî#Ù””¥ããiàŽËíÝÄÿžB@ ?Q!>ÎÄá­o7ѱ};ަ¥sõÀ8¢Ãüxuñ:ŽæZHîÔŸÖìàŽË»Ñ»C4s?]ƒŸ¯ÑöD.-«à @‚ƒ‰ Ð*¦a0ê1ê5‚ü¼()3“–[Äm#»ÔX‡¹ùò›&„*A).3Õj™ê>§(ŠÛãk]¼nÊ»†Ñ ;Ûßä^ På½Ë´Êr¯æÃÀ/d+ !D…ÂâZG¢×©ì8ÉWîâÑ›ú3ëþö˜­6ü1[ÌøÚ“ˆâRªªs{ŒÎÎÎe`×¾ ëÀ°Þ .ó3óJЫ*-*’Š­û2ðöñ&!Ê€31zxQn*§MÔ‰dÄÇÛ›âÒRâ[ÄWLËÃË˳¢ÅÞMëXV!θz÷ìZíoIår|2ã*ÌiY…Ìÿò6íÏÇÃÃèŒuî4BCC0õäææÑ·S «·¥’˜ˆÕ¦áíi¨H´Ì¨:eåå„ÙË‘–cO JËÊhÑ:´"©*DQT—òØvmYcz rã!„¨`¨8–ƒ} ¤ÃÚõ›«´žÀ‰1)½ztqNÓ©öu¨ª‚Ùj«>Aq×¼â5@#¢ã6çûãÛ;¹¼?yúñíöæ{ÇßÚ69  !„CQQÝãí'Ë{SsØq8ç>XÉccðü½3ã?É0™0däÓ"ė؈òòó ð÷£¤´”ÌÌl¢ZDb4°Z-øzypÍ´/«\…òð0âàïÒ-ËfµÑ&&؃7ÅÅ¥$t à@E2’™•MBô‰¤ÅË?œ£ÇÒéÒ¦KÅÉ~F4McíúÍ.?>Õ•{ù?ûY°h­ó‡ÉÓÈð0âãbÙwà°K¬ö.dV« /ûÏ•ã¡ÂG¥Ó¿³=iù{[*Á”—›²·À¤WÄWPTì\gZV6[¥òÍl§¬ÃäNí¥Û²BTPÜtñZ¿q‹Krrò yG’Ò£[rE‚rb]Z}Ç 8w ‰»„¥6ëBˆó/A)¦]«8ö¤æÌÑÜrg’2󮋘ùþ ò<=YôÛN&\Ý‹{®ìÉËŸ­æàÁÃÄGrãÅI|¿öš€¿Ÿ›ö¤Ó«}£´eéÊÝx{yÒ%1‚][ñÊâM”——Ñ"ÄÏyÒo6[*%(¹x{{‘žžI| ×î\&“™°@{w©–¬Ù~€a½âHŒ >‘@x‡°výf—ò=»'×XˆoKHHP•ß ×X‹ðð @Ó4ýX»ã’cÚ+Ÿ×¥Ð¹ucF&säxŸü¼ƒø„öî=Hx·32}(/Ïv)¿Åb=Ñ‚’š‹——×)ëP~Ë„âµò y7ãJ&Îù†n]:;ÿ®œ¸T½‹§JPªÄ‘„œœ¨œŠÓ…â„â’’ZžhA "(0ˆÔ´tf½¿’Éc0}ܼüÙÖ¤d`út5ÿ”Ä‚GSPÊž#9Ï*¤MëPâZÆòÊWS\΃’¸qxgò KÙ¸û8-ÛJ‹ÈpvíÞK g«Dåf“ó}oj1±q”•—×"°· ´Œ&ªEŸ,߯¿µcÒµ}ÈÌ+f}JV›†NUHË.¢M`‹Z÷+—{סlÂ"Ý~®¼ÌäŒ5-»ˆ¸øp4 ZÅÆ°ðÛM•š¸~h'nÕ¬üR–­ÙÇâ?vѲU<:U‡Él",ðD JXdP•u–•›]È·Œ>eÊo™Bœàî9(]’;9[Mº$w:åôÊërwŒU†Ž™¦ÝpË=>žWeæ=]®séºåHVNnA©®‹×k›?“­(„•lÛ‘‚Éd¦cû¶xxx8§ç°ÿ€ý¹q-c $'7ŒŒ,JËÊ0 øx{×Ò¹œÕb%õX…X¬ôzþþ~D„…âéi_ÿ–­;°X­$wjN§g˶X­V:wl‡Á`@Ó`ËÖíXm6:wjAo¿v•~<“ŒŒL¬6+Fƒ?²²³Ñ4èÒ©:½€ ›¶нkçS–»Cû¶xV*÷É*Ǫן¸µ¯Õjåè±tòó °X­ ˆŒw>Å¥~;$áa4º¬ÓQÞ­ÛR0[NÄR›:Baàãɲïqíu7²÷hv½ÖáëåÁŸË—0üÒÿ#¿¸Ì9Ýl±ñÏòÏj÷w-(îZSNîî%ƒ …ÂU‡öIn‘~~~tIîè2/00€ÀÀ€*먼œ¢S‰vû]ŽÏuêÔÞ9MC£s¥÷ŽÏtîܡʴððPÂÃC]ÖÝ¢ÊçºvétÊc~uå>Y'7±(ªJLL11Q5Ö‡»ï9y;º~¦6u(„¢âx\Ñ‚’žSä¶‹Wmdä:×Uçç ”®T8Xé]¥+áàÂΔ®<ñÇûƒ'ÝÉ«t%hÞr`B!„¢¹(3[zéÿ±ü»E$÷V¯u¤¬ÿ•¡—þefkÝÇ ¼åõñé•@ò!„B!š¢’2¼=\<ò*~ùaq½ÖqñÈ«(7Y(©æù(µ~’¼B!„B—–àÃeÿ¾®^Ë—›-—–»™£H‚"„B!„¨»ì¼¢3¾NÇø};¿,¾^ö—Ô²B!„â¬jç—eoAY2û:r²³¤F„B!„gÅÑÔ#¼¹ðwT© !„B!DS¡¯n†¯¯ŸÔŽB!„âŒ+**¬{‚ðõ¢Ï¥ö„B!„gÜá#ëž Ô´ B!„BÔ•¯¯_ !2E!„BÑdH‚"„B!„E!„B!$AB!„BœV«›ÍvFש—jB!„BÔ–Éd⇟ä¯U+ÈÈÌ@QÂCÂè–ÜáC†" ŠB!„¢áåäæð윙ääA‡èFŠ‹ŠY±v%Ë~û‰{n»›¾½úH‚"„B!„h8%¥%<3çYÐ)ôÔ½þD*a00›Ìäçå3á:µïˆ¯¯¯$(B!„Bˆ†ñÅW_RRVJþ=PU•ÒâRŽ¥#'3‡Â‚Büý¹xÐEôéÙ»Þɉ$(B!„BˆS2™Lü±òOZ·oªÚï³µvåZ, £F\F.ÝipbÞé8í%$4¬êJõz‚ƒƒéܹ3×^{ ÿwÕU(ŠÒè¹téR^ã ¶mÛNQQ𦑕éŒ9;+³Úò¸›'„B!Äù(õX*å¦rƒÓâã9~ô8×^yÍILä6Ë…ŒŒ ~ùåîºënÆŽ½‹ÅÒ¨•¸dÉn¾åVV­ZMaa!š¦Éž%„B!D=˜ÍösyƒÑàœJAAûöïsNËÉÍáçßá‘'ã•Öë»ÎX¯Ê-‹…ÔÔT-ZÌœ¹sùþ‡xóÍ·¸çž»­_}íuþóŸ¸wüxeÏB!„¢||¼(+-ÃÇ×//üüýXòý7´m“ÈÚ ë8pø z½³ÙL~A~½¾«AZPôz=qqq<øà˜5k&Ÿñy£VâŽ;¸Ò¤*ÉIvV¦táB!„¢–¢"£ð÷'3Ýõ:,2Œ[7ñÍK1+ºôìBrÏd’;%7¥²ÿ»ê*öîÝר•XRRR‘íùÈ%„B!ÄiPU•ˆðHî=HIq‰sz\›8ú]оƒû’Ø!‘À@ì9@÷änÄŶª×wµ»xUŒþË/¿ðî»ï±~Ãz²²²Ñ4ÌŒãdffòꫯñÓòå>|€–-[2|Ø0Æ¿‡ÐÐP·ë­îý©Éפ¼¼œ>ü¯¿þš””]Ê€þý¹÷Þ{INî,{¯B!„hv>ÿê öìÛChx(Wo¤c·ŽÎó^>^”–”²/eXáÖ›n©÷w5x‚²xñW´nàvþôé3˜¿`Ûy7mâúëo ++ËezJJ )))|òé§|úÉ'té’Üà%--ëoͶmÛªLÿrÑ"¾^²„—^œËèÑ£eB!„ÍÆ²_~bÉ÷ß0dÔâÚÄñÓ×?±aõBÂB BÓ4Š ŠÈHÏ &*†'¦L#(0¨Þß× ]¼¬V+äÅ_bò”)\sõ5n?;Á Ä7K–pèàçøüü|ÆŒKVV]º$óåŸsøÐA:ÈŸFçÎÈÈÈ`ÌØ±8×wòøÇûÓwb6›¹é¦1lÛ¶Áƒ³xÑ—ìß·—ãéi¬[û÷ß? ›ÍÆ|¨J#„B!ĹjÅê•|ðÙ‡üëâ‘Ø.‘¢‚"2Ó3éЮzöÇ#æ3 ±ñL¼s3Ÿxæ´’8ƒ-(â0|Ø0î¼ó·ó È¢/¿¨rïäÿ½û.iii$%%ñí7߸Œ%¹è¢‹èÝ»7C†cÏž=¼ûÞ{Ü7qbƒm˜Ï?ÿ‚M›7sÙe—ñîÿÞqy¦K||úƒÁ}|èA·vY¶ì'yøa·Ý}}}yäá‡+>»¬A7Îâ¯ìÝÔ¸ÿþj8yÓ7°råJÙ›…B!Ä9mמÝÌcí:·£G¿”—ðÝ—ßÆî} Á’h ç ÔE×.]ÜNß½{7ô¯vYǼ]»v7èrtÛ6|¸sšãÁ'ÿÿøñã²G !„BˆsÖ‘ÔT^˜7‡VmâpñÌ&3?,þOƒ'Ü÷0žžž úýú³]¾¾¾n§T}¶àà`—Ï6”¼¼<À>¶æTÌf³ìÕB!„âœt<ã83_šExT8^r!V‹•¿úS™‰§§ÌÀßϯÁcÐ7ÕÊñóó#//ÜÜ\ÂÂÜoÉÍÍu~¶!ùøøŸŸÏÞ=»kL˜„B!„8”•—ñ÷šU>z€˜ÑÄFDzð½7ñõ÷eȨ!üúý¯äçä3cò“7JlM6AILLdíÚµüý÷ß\qÅn?³b…}¼GÛ¶m4–víÚ±fÍV¬XÁ¨Q£dB!„ç¬ßWüÁGŸŒÅj!08£ÁÈ?ÿ!?7®s£?ú“c‡Ž1ùG‰ l´øÔ¦Zq#FØÇ{¼0g.¥¥¥Uæ3gî\—Ï6”Ë+’’çf?OQQ‘ìÕB!„âœôÝòïyçÃÿÕ*Š~ö£S÷N´íÜ–ýzÐk@/ôF=ß}ù+–¯`÷öÝ<0~­Z7jŒM6A¹å曉Œˆ`çÎŒºü þøãŠ‹‹)..æ÷ßgÔå—³k×.Z´hÁ-7ßÜ ±Œ;†6­[“’’Âð#Y²d YYYX­V ظi¯¼ò*]|±ìõB!„¢IJÙ³‹O¾ø”Î=:Ó2¡%:Îy£'¿?º÷íŽÕjeÇ–Üwç:¶ïØèq6Ù.^¼ÿþ{\Ãh6nÜÈUÿwu•Ï„††òÁïãïïß ±x{{óÉ'sà £IIIá¶q·Ë.„B!Î)ñ -¢[HVFYdz8väþþôЃÁ@RÇ$6¬Þ@hXØY‰Sß”+±G¬øëO^}õ5~Z¾œ#Gìƒxbcc>l÷Þ;¾ÚôgZBB¿ýö+ï¿ÿß.ý–””]âëëKëÖ­п?W^y¥ìùB!„¢É))-aß}d¤g`µZißšîÉÝØ°e#¥%¥xy{ˆ¯¯/7m¤ULËs/A©ïóOj»\DD3fLgÆŒéglýõçííÍÝwßÅÝwß%{¹B!„8g8Ë‘”Ø–ýÒ£Kwüýý±ÙlÜýŸñdgdsâ¼×Ç›Üüܳ«^6—B!„Í[Dx½ùA•骪ңkw¶íÚî’ XmVåì WWes !„Bqþ±ÙlìÜBÊ®r²rœ·YmæsVâ’!„B!Îf³™­Û·²vÓ:ÖoÜ@qI1$¶OÄ`0v4 …¾=úH‚"„B!„h8Ͻ8›”½» :.šðçàx€¼œ<î>ÈØÆàããsVb”.^B!„Bœ'®½êZû=èt:Lå&òròؽ}7›þÙÄe#.eð¿.8k1J ŠB!„牤Ķ̛ý2ßþøýýeåeÎy±Ñ±RjH!„BÑhd ŠB!„¢Éç !„dãî4ÿžÂ¡ôÜfS&ªÀUƒÛÑ­m ÙÈBIP„BˆsAÊ¡,Þýa3#ÿÕ•cÃÑ©:”fP.«ÍÆ¡£™üï»uXM¥ôì” [Ñp Цi˜L&¬f36MCÓ´ FQTEAg0`0PUµJ<6›ÍjÃÖÀ±8âQE§¢ª:¥úŸ’;¶Ñ·ÿ@òórk¬O‰ÿÌÅ/õyþÔgeǧ³oÏ.òóò›åAYUüüýi“˜ÀÞf\Öó¥ÌŽòý°ÝÂõ >&ÂþoÍfmåÓ)Êå÷äë•[0åi²Û¯ò¾)gBœk Цi”•–’››Ëñôc6ÂCÅÇLJÈÈ(‚CB1z'-š¦aµXH=r„Û·““›Óð]Š¿_IíÛѪUzƒ¡Ö'QîêSâ?sñK}žŸõ™•EÊöítéÞÐ0t:]³;(Ûl6²23Ù´~šÍF·^½ «rÁFÊ|î•ï?#!: E³Ù[NT¥YmÇø!|š]H‡N6ÙíçØ›×¯Co0"g‚BœK ŠÙl¦°°€ÔÔÃtìœLh#œ Øl6ÒÓŽ‘²sþþøyúc*/?1/#›6pÁà‹ˆ‹Ohðx¬V+ûöíaÅŸ Óëˆm…^¯¯Ù$þ3¿ÔçùYŸ»vî }Çx{{SZRÜlÌÞÞ^tèÔ‰]);ñöö¢¤¸¨Ùÿ5÷2{{{¡ áaT±X,Írêt Z“ß~ÞÞ^´ïÔ‰”íÛé?pœ q.%(“‰cGSéܹ ¡áöæèÆ8¨†GD¢**{vïfà (g‚¢Y­lÝ´…Á!¡uëF:ØêhÛ¶U+WYïR‰ÿÌÆ/õy~Ögaa>¾~Øl¶fpöó÷§¸¨è¼(ëùRf½ :U‡¦6ßmªW9'¶ŸŸ¿?ù!αŦi‚Íjiðñ'•QTXˆR©yXòòri×è•Ó²%yßça±Ö?A“øÏlüRŸçg}Úl6TUmÔãÑÙ¤5ÂØ?)sãž¼ëU@i¾ÛO¯rÎl¿óíß–Í"A±˜µ¡êôX,æF JÕé«\Ñ4 «ÕzVúœ ¬VëiÌ$þ3¿Ôçù[Ÿçã ûù¦Ù&(:û€r­?L¯“!D&(•~* ŽûÁI«ò·R1V9­Æçòf]Öóëï¿ó࣓]¦=÷ÌÓ :䜈¿1êÿ|Ú¤>%A‘2ŸÃ?¸ª‚N§`Ó¿ ¥ML({S³¥Œ’ !!AqM/ ‹ÈÉq SUEQÐëuètªó½ªªØl6|}}Ñé ·UP”3s)iåßñ÷ª•µþ|lLK®¿nt“Ý0‹…—æÍçãÏ>gÄAŒºìrÖoXÇB©äØ IDAT²â±ióåW_ñèƒÿ¡M#MϲU»Þ¯íYûþ¤+çÔxíBQ`×WÉÉ«”÷œ(s«¸ÜÆ?ëzò:EÁv–úx9žºÂÔìJP¤EÑ ŠVµ%';“ðð¼½½]º„ØûÛ°ÙlØlŽq+6JKŠOOÊJKððôD¯Óƒ¢‚B½[R*û{ÕJ}xJ­??û…™Mnc¬þg-ßÿø#ß~÷½sÚwKa³Z ð$±M[:vèÄ«¯½BƱ#\3ú&®¾êJ®¼ür:´o'{ôyâ¥VðÊg3îÊÞL¾uðYJ¢m\sù@{&€ µÒ±â³oV6È÷jçÑ ñ¦ZÞ¸„6Ü¿·Ù•¹.ß[Ÿõªý9îî¾Û**„ĶI,ÿm¥Ëo¢¦i ÜŸ½{vsèØé%Žï=Ýõœ2A9Ïþ !ÎF‚R ooo4Ms¹³—¦Ùª¼ÊËJŒ@QòrÓñððÀb6`ÐÐ4Šræú½oÜ´Eu´ÞèÐétξõª¢¢êTÚ$´mrâç_ãáÉSxú‰©Œºd~ä‚ ^}íV¯ZC§Î¹æêk¹þúëùù矹ñ¦Ñ‘‘‘Á·ÜÊkóçÑ·w¯&W¶{'Ž'''UU å¿/Ηy§á³e›ùøÇM Ô•¯߉¿'÷^Û÷ìœÐ¡°ãý™)ÅÅe””Úïºwa·Ø†ûÎj®ÎòòËÿeùÏ¿žžŽ½{÷âæ±cпÿi}g|ëDìÛsv긆«Ñ ß|‹ç_˜Ã#?ÄwÜÞh1Ø·§A¯’»[w|ëDÛ´aÙßW96b${÷î;ímT—2Õ§üö»x­šŽ^^^üöË2†áœöã?àíí Ø—=ºFûR] ÊÉÿ†víÚÅØ[nåöqã¸ãöqìÛ·Ÿ9sç²zÍŠ‹Kh×®÷Üu'#GÚëãÀ<1}ë×o Gî<5ýIâããßán_Bœ{Ny¸Òªy©:ÝIÓ4lšýURR@iiee%øú‡‚¢ þ˜LåØlLå%Xm6çr'¯¿¦w/çX¯góæÍlÜ´™7²aýçÿ×oX^o8åºjZÿ™øáu÷zxòæ¿8›¶‰‰X­ŠŠŠ9tè_.þœõë6––Æ’¯¿aî‹s(--¥}ûö…àååE§Ž¸Â]Ü3ñ¾³M¯ìì,f>;‹ÛnÇñôãõZÇ™ŒçL¼ÎV}þúÏ^f½ó;Ý;µ¥Ü¦Ò£K"ï~³Ž÷—nhôú°X5g#kå—Ùb«ÓúÎDMœ8 ³ÙÂG¼ÇÎí[ùù§e\>ê2æ/xåŒlï³µŸU7Ïjµòá‡1mê>úècçÎõWueðôòä—_u™þÓòŸñòò:ímT×ýµ>ß¡×Ù[P7/ûÅœI¼º`žËôWü— ÷ÝàœfÓl<7óiºtL¢M\4ãï¾â’bç|³ÅÄîŸHb| Ý:·ãõ׸,RëuÅD†ðáïÒ·gWâb#>d0;vls[EUœƒäkª³õ6pÓØ[˜òØcÜ>î64MãÀÜpãM èߟ_~^ÎÖÍ™1ý ¾YºÔ¹Ü„‰“èѽ;«VþŪ•ѵK&Þw¿Ëwìß»ÛåÕÇq!ÄYHPìƒvÊ—fÓ@³QZœ‡¯oáF SuÎÏ(@``øù…PVR€f³‚f«ºÎú^½ÑëéÓ§ýúô¥_¿~.¯ýØ»–5Qññ­ÉÈÌÀÓÓ???Zƶ"**Š‘—Œ 66–‹.¾øøxRRRHlӖܼ -c[Ðôw¶fü$ìÆ°iW“æ,%¹ckJl p4«„®ÛðòG+ùú·í“Õfuþ]¹£¦#Ai¨«ëî^«W¯æ‘‡$&&UU â’‘#ùøÃÐ4ënÍ·ß.uYæèÑ£ôíÿ/ øí÷?>òR’ÚwdàòégŸ£i mì-® mڒЦ­sY‹ÅÂó/Ì¡gï¾tè”ÌÄI÷STT䜟Ц-~ô1 ¾ˆ¤ö>òRÖ®]Ç—‹qÑ¡´m×ËF]AJÊ®zÿþÇø0vÌMòǺÌOhÓ–>þ˜ v~×ö;\æŸüªKÙ—––òàÃбsz÷íÏ ߬Ӻ꒠ÜyǼþÆB—éo¼±»î¼Óe¹²²2&O™Jr×î$wíΔ©Ó(++sÎ///çáGsƼðÍ7]–¯¿»i•?[—òéUPTyŒºlÙYYlXû:`ÍÊäåærÙ¥—Ù/ÀU¼¼ü"[7oâç_~gÛŽÝxyz1ë©éÎù/ÌšINvk×oâ×ßWð÷_º,_—u¬Z¹‚o¿û‘Ý{pÉ%—òȃ÷»-ƒ®R JuÛõ¯+¸gü½¼8÷FºÌ9ÿåÿÎç®;ï`ôè À`0Ð%9™WæÏs~fßþýÜ}×øùùáççÇø{îfßþýõN…Ͱ¥òËÞrbæixxùQX˜sÊe ²ððòq._Û”S±X,¬Y³†UkV³jÕ*—×Ê¿WžÖ³+š——=º÷ÄËË ‹ÅBdd$ñq \8ø"Æß{C‡%))‰=zàáéAB|kZÇ·áÀ¡ääæÈÞÜŒíOÍá–é_Ò.±xx’[lFA!=§˜Ì:&0ã_øyÍÞFËb­t«âJŠÙÚø J÷Ý™:íq6lØ@iii•ù÷Ü}7ó¼âÒÒ0oÁ+Ü`ã¦MhšÆÞÝ)ìÝÂÞÝ)Îe_}íu¶mÛÆ7_/fͪ•xzx0ûù\N~V®\ÉÇ}À†uk¹|ÔeÜvûüöû|ðÞ»l\¿Ž‘#G0eÚ´z%(~ø1cnºMÓ¸qôh>øð£*Ë®^ýŸú ׯeèÐ!Lú¸s¾£<{w§ðì3OqÑ…ƒëT6Çß/¾ô2………üñÛ/|¿ôÖ®[ç2ÿTëªK‚2|ØP²³³Y¿~CERº†Ü¼\†UÜÕÐñÙ¹/¾Äñãü²|?ÿ´Œ£ÇŽñâK/»Äœ““Ãï¿þÌÒo–ð÷ªÕ.Ë»‹¡ºùu)Ÿ^UP U¥ÊË~Meü„ ¼2ÿ¿¨*ÌŸÿ2÷Nœˆ^¯V\䱿>þøCfÍ~žè˜(üý}yâÉ'ùî»oó¿Zü%ÏΜIxxa<;ë9—åë².€ç_˜Ctt |}½™0q"Û¶nu[U=q/wõ÷ÃËxlòTÞZ¸þýú¹Ìÿ{Õß\rÉÈŠ /Ìëo,¤  €üü|^c!ƒ_àò=zö&©}G† Îk¯¿Åb‘EˆfÙ‚‚»“™„½å¤rvao*/u3Ïþ²Z,'}¾ö-(§:ÐÔ¥¥)uééо=?ü¸œÔÔ#$Ä·&±M[ÂBÃiКè¨ ÌÐ!ùdÄ%ôîÙ‡àvï݈MÙ¶m;ùyùøûû5É.^ ±ŽÓY×¹ÖÅëxv!£§~F˘H¼ýýÈ)4¸z¤eSPj¥]»x|ñ;Vn:Øh]¼¬6×[ˆŸÜ‚Ò˜]¼^™?¨¨(¦L{œ½ú0hðE<ýÌLòòòÐ4ÿ€··7K—~çìRò×_+œ'ùžžddd’“M‹-˜ùÌÓ5ž°~ñÅ—<ñø4""ì7 yèÁYöÓO.Ë<óôSDFFâééÁÍcÇR\\ÌSÓŸt™¶uë¶:Ÿ¬>|˜-[·rÙ¥— i—^2’-[·räÈ—egL‚ððp<==wÛm.-(Ž×Ê•óÑÇŸðâÜ9u*›ãï¥ß}Ï”Ç%((ˆ   ¦<ö˜ËüS­«. Š¢(Œ»í6ÞXø&š¦ñú ¹}Ü8ç˜Çg¿]úS§N&88˜`Ÿ6•o+¶»¦i|óíR¦N91ÚÔ)õNPêR>G Šâæå(ß ×ßÀÆøjñbvlßÎõ×]ï2_QÒÓÒèß·7á¡Á„‡Ó±}YYYÎù´jç|WñÖ“¿«6ëv¾÷ööÆb±¸-ƒ¢(5¶ Lºÿ¦M™L‡í«ÌÏÍÍ#8(¨ÆãÄ´)“ùòËEtëÑ‹î={³hÑbŸ:Å9Ï®¬ýg5Û¶lbÞ¼—Y±b%³ž›- Šç Óêïäþ¸‚‡§¥%ž¸{dnaAFOççÏÔ­†ô:ëÖ­sÞÞXQ4›†¢*¨ŠÊ¿þ5ÐùÙ¹/=_eùؘ–\{Íõ¾!n¸î¾úz ú÷áð‘CìÝ»‡  û‚Õj¥¨¨SÅÍŠ‹KÈÈ8NaazžãééüýÏz®»ú*Ù£›™¢’rFOýŒÀ‚‚É)2¹´n:¤eÓ"ćÄ6-¹gÖÞq5Ý’¢ÎX&³û)Z]ZJ´J-+ö®_妪-–z½Zÿ;÷™Íæj[ 'Ý7‘I÷M¬H@òî{ï1qÒý¼ýæBî¸ãv^|é%†ÂËÿÇm·Þ‚^¯Çl6óòKsyýõ7˜7~¾¾<öØ£\8ø‚j¿7ýøq†¸Äõè§(.Ÿóññq¾×ëun§Y­ÖjËT]y?øðcrrrè”Üõ¤éñЃÿq¾÷öö®ñ»öíÛÇÓ§óö› 1Îyµ)›ãï¬ÌLÂÂÃï#"Â]æ×f]µÝÆf³™Q—]ʼù øzÉ7¤ìÚÅüy/;?ïøvV‘‘‘Î÷-"#ÉÊÊr‰9"2ÂeþÉßë.wóëR>½Î~Ó»êö~ðððàÎ;ïæÞñw3eÊT<<<ª\ˆˆˆàÇeËiÑ¢…Ûõ„‡‡säð!âã8røÐI—j¿.p¯RíopõÛoÆô'˜2íqüüüèÙ³‡Ë¼ÀÀ@Ž?NXXXµq<üèc\~ù(n¹y,ÿ{÷=zäQç¿ïÊZ'$ðüìY\:ê yø!ù1¢Ù%(ZÕDD«ô8Éj'ÍÑjt³J ‹ÕŠAÑ6@wÆ®fèõzúèNµßÅKUuØlVû½TÕe„»ÛŸ­Û_2|8OŠû|ˆ«¯ºŠž=z‘‘ŽÅb¡¨¸˜-Z°sÇN²²²ð÷÷Ãb±b*7±zózJŠ Ñ«*>🳺3M˜8žÜ¼Ü*ÓãcE!À?€Ñ7]_åÇ<((ˆó^m”xj£!â©ó‰¸Åʸ‹±¢'&&’¼bSóIJ«VÑÜòä">uíãÃÏH,o}½–—>\Qqõ×>ÍÓ¨ÇR)AQ*²”›mxõt¹î¿'’›FlDŸ>wáÁ¾gøÂHUññq<öè#ô0й̅ƒ/`þü¼ôòÙ´y3ÏV´’têØ‘ýÝÿZ±‚ÇŸ˜Îàß~©ö{ÃÂÂøø£ˆ¯6¾êZëR¦“ç•——³dÉ~ZöÑQ'’ÐÔ£G¹á†™pïxçImMß•““Ã}“àÙ§Ÿ¦E‹.Ÿ­KÙBBC8vô(111ö8RS]æ×f]µ­MÓ0 Ütãh›<…I÷MÀ`0¸´j8bJ=r„–-[pøÈBB‚óCCC]æ9â³N§£´´OOû…´¼¼¼jË_—ò9ZPªËÏÓxà~xàþjçßzëmüçI<÷ÜlbccÙ½{7sçÎåí·ßàÿþïjŸ6•yóæ£iS§LvY¾.ë:y¹š¦9ÊXÝö»òßÿ&0 ÷Mbæ3Osá…ƒóúöéÃË~⦫>ÙúõxuÁ|ŒF#wÞq;}ûÿ«ÚïS¥âŽ¢ÒZ"DóKPN‘½8þÝ+JåžYJ¥ƒƒF~Þqí%6›­¢IX­áZLÝéô:þYóŠ¢¢V:‚8Й¤8lß¹µÉÝ~xÈ…ƒøìÓxû­…‡¢7]æ[Ì&¬ V«‹©œüü|¢c[’™[pÖc/(,`ÖÌçÜžT(Š‚Ñhd̘±Už{£i ^™ßàñ8â(,,¤  ú:›¿`ÞY­KMƒû^XÊ‘¬bb±Ùlø{é1Y ¤Ürâê# ôõÀßÛˆ¢€QïEd‹0FOýœÅ/ÜH|tÐiÇ3þš¾<–Çß[Ž׺%ƒ›…¥f׫²òJèб­ýÎ>@NN¹9¹|ð̵§•œÔtòzëm·sÝu×Ò³g‚ÉÈÌäÝwߣKr²Ë2wÜq;?ò(OM½^ïœ÷ð£q÷wвeKl6 «ÅâœçççÇœ]e®»öj¦OŸÁäÇ%**Šýû÷óÆ›o1çùÙ š |ÿÃtNîLÔIIEtT;v䇗qÅå£Nù]&NâöÛÇѵk—*Ÿ«KÙFŽÁó/Ìaúô'íyžŸã2¿6ëªK‚0î¶[wÛ­Õ& #†gÖìçyæ©Ìš5›‘#Fœˆù’‘Ì~~O?5MÓxnöl—å“’’xçïrë-7SPPÀs³_¨ö»êR>½ZÑ‚RÍOÞ© ¦TJ`þûßÿòï_Azz:mڴᡇrΟ6m*÷ß?ÉÉñóóc„ ,_¾Üeýµ]Wuq)õHP4Mcðà ˜?ïe&Ýÿ=ø ÿ¾ârû1füÝÜrëmF† ‚——»vïæwÞå¥íûTë„Þ|ëmÆÜt#ï½ÿmÚ´9ñoø‘ǸóÎÛIˆçرcÌzn6C‡•Eˆæ˜ X¬L&“ë4‹‹Å‚Ùl9é mP#hèôdeÚ¯J9ºseg³_yõò¥¸¸½ÎPñ ”Ú¨µZ-.Ï^©R žÚŸ…¢ª®ÏAQU—eãÆ¨ŠŠ¢*ôëwâ9 &SyƒUø)ã7ðõó¥g¯ž¤§'&:šÔÔTŠ‹‹9xð-[ÅÒ±C7¾ÿþ’’’8pà=ºuåÀᣠwmãwÜ©r‚zòߎäô䫞õ‰¿¶ñhš#‰Ö*b×>È•ãiŒýàTñÏÿl ¿¯Û‡¦AÎúíβôîS¹Kω3O›7ï¬rÖ0nÆ—¼;ýJ"CýN»>gÜ5˜»g~Ãþƒ©Ä´Š¡ÔdÅeJ¥xò‹Mä›ñ÷¤¼¬”¬Œ,>›y-až§]¯ÕlÜu×|òÉg<õô3Jÿ~ý˜óÂl—eTU¥U«–Î;9\8ø&=ð ©©©ÄµjŬYÏ:çßróX®½~4%%%lݼ€Ûn½•wx—q·ßIFf&qqqÜuçí Þ‚òɧŸ2aüx·Ë\{íÕ¼ñÆ›\>ê²S~׿-[ؼe S§=îœWŸ²M¸w<3žz†!C‡ãããÃM7ŽfÅÊ•ÎùµYW]”S-wßÄ <;ó9F^jOÔ† ÊÄ ÷žˆyüxžzúi† ·Ü<–?ÿZáœ?ýÉÇyòɼþÆB"Âùí¶[ùiùr·å¯Kùôªc\GÕ³ûÜܼËVy¾ªêxàÿð@5­æž¼öÚë¼öÚëÎi÷Ý7©^ërWM±:É×´}ºwëÆÛo¾É=ãï%''‡[o¹™–±±¼µp!óæ/àÅ—^¦¬¬Œ¤¶m¹õÖ[œË=7k&ÏΜÅÛïü€®]º0»Ò¿Ó!_Ä£Mfß¾ý„„„0bø0î›8A!šc‚RmâRéêâI×U*ZRŒ>•®ªj=¼'ƒ‹ûM ëÖz¢i5ÿHEGÕþqýúõCUÔŠäEWëÁÓ½2^Óú :___""4Û&RT\D`P ‡! £ÑˆÕjužè;ZŠïúÊ~uñûûù3yÊcn§w;Š¢ðÖ[oRPXPephDDD½ê½Æxü˜<å±*uRy¨;ªªÖ;ž3ÿ„k{3áÚÞ.Ó:]»ÀePºæ2æÃ†Õ¦±íó{ëubW›úT˜÷ð%Ü8õKŽ>FDt$&«Vm·³#e¥¥d¤gðáÓWѪEÀ©ÓêÖÑ»W/z÷êuÊe¾]º”{î¾εkéˆáÃ1|¸Ûåî¸ýÄÃä\lŸ¸’ò2[6m¨km§Õ˜ |ôaµõpÁ A\0hš¦ò»¶lÚPíwÕ¥lÌ|öif>û4dÑâ¯j½®ÚnãSÕSåùF£‘ÓŸ`Æô'Ü®×h4ðÌÓOñÌÓO9çÝróXçüvII|öéÇ®Éß5W»-]ÊgƒR}¯fqR¡«ÝöKLlÃÏË—¹ÔU||œ³µÄ]]ÆÇÇñÖ›oT;èÐ! ­¸£[}ŽBˆs)Aqw·‹*wÛª|’¢9sE«ÜéãÄYÑJKÊ ¨ÏÃýÝ7ú÷P§ñ#ªª²jÕ*·-( {0såV*«ÕJTT{÷î%0 ˆöíÛsè}£§§':ƒÁ@hXYYYäååö¾éƒÁåÄ¿±â˜óÂ\·ÓïºçNg\Å%żóÖÿNë$ºÖñÝ©Í]³2ƒŽ·Ÿø7×<öiGÓ kãNÕ÷8O=¦ò2²Žgðæ´ËiÛ2äŒÕg}×c³Ùøêë%9|„áÃÎnçBœ/Ì™Ë]wÞÉlfÎܹÎ[7ç2×ëW­ølÎ Š* ¢1”Zиû[©HNìÝi*ç6ªÎ€Õj­÷—»ƒ_×.ÝèÚ¥[•鯾¾€GžÂŽ”­cPt¨:UQ±i¶³Ð‚â¿ÍfÀWRRâò¹òr{7£ÑˆþþþT´°¨. ˆNg=--ÐÐЊ$F×(ñ×–£e¨¡nÓ{®ªkü®ƒÒO,çxîÈéÖEmâñ÷1òî“ÿæÚÉ_‘® Šê<éò0è0™ÊÉÍÈdÞC#Ins¦[£ê·®n=zÅó³gV´:ž+ûMÓ3*ª£®¸“ÉÄà 1þž»N3îæ› ¸ïàÕ “0!„hÈÅ]—÷·U“œœÜíC©4íôîC~ª.RÕ´·nÌ.^‹…ÒÒR233]>WZZê‹ã®%ƒáĉ¢@E2co}ÉÌÌDUUBBBðòòj”økK§Ó¡×ë ÙÙŽ§é$(Ô¿¥ÒŸf‹õ %(µ[Gdˆ/oO»œ1O~…à`44t:‹ÙDAVÏMJŸNÑg|ûÔw}›6¬m”ã ‘Ä6u£o¸žÑ7\ÆânÎ-( Ý ·)”QZP„ ž ÔôÃq"ápùD ïí×·õäÄ:ê‘ ÔáöÃÙÅËb±RZZJv¶ýIðŽûÇ;noY“‚‚||||°jö«çiiix{{ãëë[«å³þ©ª¢œá±2çú·´Z üµÙìÛØjµ¡Tì«•—r´ X­V—}¹!ãiéÇ‹÷_Ì/ýŒ¦)x{yc5›)ÊÎdò­øW—è3Ïùsò*å=]óßvÕABˆ3š h'°X­V4Í~bmo©îGE«”ĸ&*Žá+õ9y©÷ü:Ü~¸1[PL¦òŠV{/?—ºv§¸¸ØùwppiiöÛ8—••a2™*¶‘Ö(ñ×Vyy9š¦¹ÜUílÆÓtNĪ¿Ó’ÕjuÞ Á±/Øl sóOÆZ1¤¤¤äÄëtº:×s]â±Ùl$ÅøñÐèžÌùh-Vÿ`Ê s¹ãŠÎ Jޤ¸¸ØC}ã‘vIPšµ™·ž8Ê( Š¢Á”“Ùl'· ¸&µ{ï8©²Õc@wåÁùu(hn?L· T^¿f³¡Óéð0IîØ7ÿ÷>#† Æb¶Ù‚²ò2òóó]ÖpøÈa „··™Y¹ìÞw€–11øúøàéáa/Kƒ•¡îõÍ罌Íf#00ÐÞÿúŒÅ§5ðöjðS±*ñ;«Õê¼¥·#A)7›ÐYìûªÙlÆvR[^VæìN§éõh6z½¾Aâq¼ú$1zhÞù.…1ÃÚ2¼ge¥¥¨:úФ¤þñÈ »$(B¶ŸB”S¨œKœ~×zÄê9v¥.·nЃëIñ;Æ”‡„põ•W°dé÷|ÿÓ¯DD„Ó>)‰Â‚{—(U¥G÷žö'){x‘•“Ë¡-Û)È/ ±ukúôìN‹QøûûãááÑpe¨GýO~trÃÕñ9>HÞ]üŽ.T•_V› o#‡U»*o£3éw,§ªjÝê§ñ8‹ÅÂ%}bˆ ó&9!ÄùEQ°¢œ^x{yáç營Ÿ_•ç;4düMàü¾ÙuñRŹ ]¢EaÑÌ˰iZÅ4M;ñ<™ŠV@]¥ ½^_ç}¡.ñXU§Ã`0 i}:zñxܹñæÛäÈ.Îi…ùͶlòïSQV«•Œãé¬Zñ']º÷ ((¸Ž Š›Œ'88«Í†Ål¶÷E¯T¢iÕß¡Ëþ@AÕy²¢«8Y©ó ]E'wJ&¹SrO0AqósN‡··7F£‘€"##¹dÄpt:Õy×1Çɨã½Íf«èjcCQìKÓëõÎç4X‚ÒÄ¥kçø ùêâWƒÁ€Á`p¶TTnɨü8Ç~Qùå¸Q׺ijñT'';KŽîB4AòoSQ[$uèÀî;éÓ@Ýw',Š¢ ¯è_~Ú'hu=a9ǯ˜W¿ªªcÇ7ë IDATFç턵NÏåúo¦ûC•ou·Qï:ijñ!„¢Ùòóó'//·Êt}M'!jƒ¶®édÆVe|‹½¥AÅj³6úÉŽc0ýéÜWâ?³ñK}J} !„âܦÓéœR¨U‚¢* ¾¾¾dfdâíãݨÁ–—âëç‡f«üÔlâȡÄG„7j<9ÙÙŸÞ ©ÄFã—ú”úB!DóTím¸tQѱìÛ·›¢ÂB4ÍÖàÁhš¢ÂBöíÛM»öí)+/?q¥ÓÑ1¹#kÖüMzzz¥ç°4ÜËb±’žžÎêÕ«h×¾=Cý»_Iüg6~©O©O!„B4OÕ¶  i›ÔŽƒû÷QTTä¶ æŒfKªŠ¯¯/í;t"8$œâ¢BçUUUU‰ŠŒÆÔÉÄæ)(È?Í'ÒŸšN§#0 Ž;‚ÑÃã´Ê&ñŸ¹ø¥>¥>…Bqž%(ŽAÛþþÄÆ¶D9ígžÔŽf³Qn2¹$'P10×` >!èèhç]„²¿¼ãŽDz½O¯Ózî‹Äfã—ú”úKÓ4L&V³Ù~»k¹ñB8ÏTEAWq·ËSýž5öñ´®ñ5éÅQ ò²rÊËÊÏÊÆv{R§7 ×š\E¶ïЉ|7w!øv‘ú›ÇÓÚÄפ!„8]Ë~üžÁ]DBBkl6V‹›Í†ÍfCÓl”——Ÿxo³A\\K–ýø=·Ž»]*° Ñ4 ›Í†ªÓc±˜¥B„ U§?åoÏæñ´6ñ5éE®Ž !N—Ùb¡c§ä:-Ó¡Cg¶nÝ.•×tSß!Ä9hÓÆõôí?²Ò9žJ‚"„8¬_»†¾ýV9ŽÆ:=OE¯×Ëñ§é§(B!Ç09ž6~‚"¢ÁÈšÆÑ#‡ —Ê8÷6žü>!Îýã˜OÏÍ¥¡¯`þõ× ÆÝ~;©©©”¹Ìóöñ­2MÑ|’“­›7‘zä-[ÅߺµTŠBˆ³fïÞ}»9ïôóó#!!á¬Äd2™8zì(V‹•àà‚ƒƒjü|AAiiéèõ:Z´h··w3MPøK§LÊ‹/ÎåÒK/E|||]vÉ'…hžÉÉ–MÉËË!©}þŸ½ûŽ¢Ì8þ™ÝMvÓ6½‡„z8+¢(¢rbË!Š "èÏ;"èaAO,xzžgÔ;»wzjĆ4¥÷@€4B²ÉfÛ´ß!K–$$ %ï›×¾Ø™}æÉìì3û§íÞU@N;V¸Õ|†Í,Ÿ·nÞ„«¢‚¾§÷à³>`è°+Nxþ—/ý‘¸ø:tì(¦§p9V—»ÚMÛ¶m©;o¡®ëìÜYpLª<-)-!<ÜŽ5ÂÊÞ²½Ô©©© n[QQAQQñññ†Áî=»ÉÍ=ze\Àï'4»òBQØl¿n®&kP¢£c‚ÏN'^x!sç>ERÒ‘Ï—²víZ.ºè¢à~Üîª}Jt!N>¿¬ZÛ]É ÁCÐuÔô V¯ZÁÎíÛÈ–¹OZQ„rèòYÓ4ò·mãÜAƒˆˆˆÄë© &ÆIU¥ë°wùÙÇ2ôòß•ìwéÚ¿ÿŽN;Vß(!ÄÉTŽ™õ^ºŽwçyÓ»=L“ŸW­j4™¸¸8rrrŽIyª©6› Í0pÆDSériÖ R'qhªŠÕjEA9ªMÇ¿üò3ß.Ék:¨°Ùè?àL.<äWFЬ>(îªJJKK¹ïþû™tÇ$ÞzëÍ#Þ©Ïç#ÌfküJ€"ÄI'5-^}ú¡k¦i`³ZéÖ£ªªnÇçó•ý$&%S¶·4øzݺu\}õ5L˜0ÛoŸpÂþþƒóÕØ²Ÿ4±MQQ! ‰ $$$Q]íÙþHJöK.ÿ-1ÎX* ¸9Xdt4±qq”––Ÿ _J!NÑû,¿Ö U;pÓB÷úHKOÛ?$¯R/ Ã0(--%ûW(‡*OSRSÉÏßNllU#:&We%&ƒ”Úà$..UÓ°Zm”WT™™yTk~LÓä‡ï¿å¡‡gãp8šü}ÿÈŒ© ½ôr~í%½Y}Pj_'%%1çϦK×nÁe1ÎX}t6óæÍcÏžB*]ø|>þïž?ò¯ý €#®äñ9sp8Ä8cˆŽqPUé"Ærg­6m]×yxæLþñש®®æÒK‡2ïÙg‰ŽŽ–o˜­LZzF½ñ×ðZ­ÇlrØŸ~ú‰ß¾‰™3æª#äC8—ö&n •“žžY3ïÍÁµGxó©ÒUqÏÃtöìÚIJJ ª*sºqêcfÑÂþÅn·ûeƒÝnÇét6«FùHËS‡ÝNv›lvî܉Ó‹¦ªDG¨I±Û‡¦jXmV*ÊËIKK'&:ú¨ßè×u½ÉàÀápµÚiKcJí£¡×u—,ûißäåáª(Ç4Mž9“ÂÂBV­\ÁÊË)(ØÅÌGÁ4Íà…¦ÒUA¥«¢Þ>ê>ü‰'X¹rß|“ÇÖ-›q8L:-$?ò‡×_99mÉÈÌâškGRZz ãóÏ?çìsÎ%-=ƒÓúôåõ×ßhÖ:]×™9ó:wéJV›lÆÞz+Uîš¾u‰IÉÁÿë>?xYSéÔª»}KSéª )%µÑ |…«‚¯þ÷9ùÛ·ïDnܰžÿý÷?ü÷ߟ²jåŠ÷þû“BžìÈ'ïËÏùÏgŸðÝ7y¸êÜÜj*-€Øøxö•íÃ.?Ô„õ¨ªJ¿~ý}øýþã’ÈÈH²³³©¬t¡X,hšJTT4.W%……{jMÃb±àª¨ --¸¸Ø“æs8¬¹î÷îÝ˽÷ÝÇ Aç‡,Ÿ={vHŸ”wß}—??ö(ÉÉɤ¤¤ðøœ?óî»ïvæþñ×yâñ9dfdÍŒéÓùð£äÛ#D«¹Qub‚—>úˆIwNfÁ[ 8p`Ⱥ뮿?Œû6¬gÃúuäæv`êÔiÁõnŸÈ½ú#;ò·óñG²lù²f­›;÷iVýü3_þï Ö¯_‡ÃÁÃ36ã*Û[òüàeM¥sâ?Pš Vý~?QÑÑhšZ/€-..bÅÒ¥tïÑ“ž½ûζ­›©t¹xÁ… ~‡ƒm[·„¼×|^YUÅYçâŠ+¯¦MN[6®[‹ÅbÁ4Í&Ó2M‡ÝÏçÅjµÊÍyÈ㼑Vo&†ib˜:†i`îÿPýõµë S¯yöknØ5£<ˆˆ M›6¸\.°(Ô‘Q‘8c¨šŠbQ¨pUš–Fl¬³ÕÞPlHƒM¼@ÈkglP3äÚùòÄã‡l“˜˜òº¤¤”ŒŒŒà²ŒŒ JJJC¶9x ­+,,¤ßoNÙNQ”zïBˆºÆÞz¯¼üWz÷®?“ýwß. >ˆˆàÁ Oß~Áe‡ƒââbÊÊÊÈÊÊâ™§ŸnÖº7Þ|“wÞy›ŒŒ ¦M}çâñÇçVÞ›“NKï·b³ÙðÔœo˦¬_³†Ó #³ O5šª²§ €3Î9—g,žj7mÛ¶ã‡ï–Ðû´¾ÁN«uõýM,¯ÇCZz:ë×®&"2 wUåa¥e±Xä‹"„8-„ü.We½­joÆÜ\ùXŠŒŒ$';›ü;p:ûkpLÂÃí¸\.222ˆ‹=é>‘fõA)-)>ä6oŸœœÌŽ;h·øÐüü|’’’ùž†Ö¥¦¦ðÙ§Ÿ’žžÞ"îÊ !ÏœÇfŸý>õä“Lžr ‰œuÖ™!ë–.]ÊŒ‡fõê5TWWo|Ôúûß_åÉ'žäÏsÇét2kÖ#\2dH“ë 0àÌz7T×ÑJçXÐt­ÉDáááx<žzÛmÚ°ŽÌ6mHÏÈ¢¢|š¦àóûùò¿ÿ ý{[XWýWv»½¥%Áë€aûû1š•–Çë!<<<$M!Ä©ãàヲiøýüþ@ðµ¦iDEÕŸK¤v]íã×”!Í)OkUWWcè:ªªî/;MÅ‚i¸«ªˆŒˆ85”¦‚ƒ×ÿîŠ+xàÁƒwïàA†ÿîw‡ Œ=š»î¾›Ù³f‘••ÅæÍ›™;÷i^zi¾|Ähá6:på°‹1 ÃÃ4jž›&Ußÿ¼æfírøñ‡ïõ¾¯¿þ:¸ñ÷¿gÞ¼gzÉ%Áu7ß2–™?Ì…^@LL n·›¶íLÆÕ·OÞ|ó LÓäóÏ¿àÎÉwrÉÚµM®KMMeñ¿?«wCåp­tN”§“²’b¢±ÆÎ’羘¯¾ø/kWÿLZzF€ÆÎàK.=¬‰Å»&5'­J—‹Ø¸8fXd±(õjEÊÊö±kWAƒåÍÞ½eX­V vѦMÖ1Í›Ë墨¨˜¨è(TUÝ?¿ˆ‰¦iDDDRáªé‡—’’rr}&þu’o¨-ÛÁËî»ï^’“’éÆúŸ1€´ÔTî½÷O‡ìxßÐó;&N¤ÿþ\9â*rÚ¶ããÆsé¥C¥-¥<äÑŠ:É»}:U>*¯F¥W£Ò£QQ­RQ­RîPî°Ï`_Õѽ›=ô’Kxãõ×™4éN,X\îóù°;ìØívvìØÁ”»î yß­·ÝÆÆQÕš>Z¡'µnÌM71宻ؾ};š¦±nÝ:ÆÞzkp}ll,›·l ÙWCËšJN`'ùfœ ‰Éìܹ[˜-äüˆŒŒ¢÷i}ÙU°“=»v×¥gf°|éìÜ‘OQá¶mÝÌW_ü—’â¢Foj5Ö®¼©´LÓ¤´¸˜”Ô44U•ï®<ä!}PÀ4)).¡ª²’ªÊJ ]ç§¥K øý´o׎Î:ѹS':uìDÇÜŽtÌÍ¥cnœ11TìêÈú 4犊 ö`µX¨ªª¢ªÊhªJ„ÃAEE9ÅÅ%'”ºŠ‹ {½Ãá`îܧ˜;÷©f½§îëºÏ- wNšÄ“&Ix/„8lgž9€÷ßû×\;’½eeÜ1q"Ï<ó4S§N㦛ƞžÎÄÛ'ðÞ{ï× l†2zôMlÏÏ'77—_x¾Yëî¼sÏüå/ ¿rEEEäæærwàgâí·3øÂÁ¸««ƒ}HZÖT:-]Rr2Û¶l6áª+,<œž§õeͪ•˜dd¶!;§E…{X½j^¯—ˆÈHÚµÏ%66×a/ÜTZO5•® œu~¿O¾ BÚµkÛàȼº®áñ4<á`JJ2nwõ1­9),*ª NT«ÍŠ»ºšô´4ÂÂÂ)(ØIDDš¦ápDPQQÌ×É YM¼„¢µ8¸y÷îÝY»fuðõe—^Êe—^²Í­uj(®¼r8W^9¼Á´µÎb±0eòd¦LžÜàú»îšÂ]wMirYSé4ô7/¦ÙôõÁjµ’™Õ† k×йk7t]gàƒƒ×–0›~ýÏ !!¯ÏKµÛMZzr;‰ÅjEÓ4ªÝU˜¦òÞºÏk¼ìPimÛ²™¬ì”–TÊ—EˆSPC] ÃlpPŽC X,Êÿf>Tyêñx(,,Äáp jfˆ÷T{HMK#&&€¬¬,váp ª*v{8ååû°Z-$å‰h­V+>Ÿ¯Y5Z­V P„B´<ÙmÛMXxå5wõêÖŽ†ÁÞƒ‚¬êj7ÕÕîÓk¬–½±e¥Õ½goââãñTWˇ$„RÕaaa!µ(µc“4ü“¸¦ÈÑú1~°}ûöa·Ûƒûðù¼$%%áp;Ö[­VÒÓÒ(,*Âa·£i:v»²²}G5@Q…3Î<‹YOk°f<$¨°ÙpÖÙGe` P„B4Kí¸ÿÍávWµÈ¿¡|ß>ù …8•˱ƒÊ0gl,Û·ï–qþPG ) ÃÃldffy Ê!ÊÓš ÄÅbÁëõ‘˜˜€ÝnÇï÷‡L‹…ä¤dJJŠ ¯ Rl6ÛQýÁ…ƒ/f襗7; ñy}Z P„¿Z»ö¹6Yý+„B´$m²²h“•Õ¢ò”œœŒaãHMMÁn·£ëúþæh¦ib±X0 ááa¤§§SYYÓlõhæeµÚðy½ø¼Þãz lrj !„BÑ2X­VÒÓÓC‚’š€ÄV"(Š|„‡‡…Ífm1óf“EjP„BÔ¿8ÈõAÑÊ‹±–R†5sБÚ<׊£6@©¨œl¿áë(o¿õºœ½Bˆ#2xÈP9B!ÄQtpr*¨ \sÝr&!ŽÈ¾²½rNb‡ÓI^!Z’Ú¾’Rž¶Òåx[¿q=6n hÿL¿ÉIÉtîÔ™Ýz`±XäBˆLQ”šòX.¦BÑxÐaMþv=‘åisòwJ(‡×¼Î¢.ÂUé"%=…g Š¢à®rS¸««beäÕ#¹íæÛ‚“Ò!„8þ,ŠBtt4¥%¥DFEÊBˆ†~ßV{‰Ž‰Á4ŒYž6'-æºs¼wøÓòŸrÅÞùðrºäàŒwR°½€ÄôD.øÝüöÆßÒ®s;:öêÈçK>ç¢añå×_ÊY/„'ˆ5,ŒŒÌ6lݺ wU¦iÈABˆýLÓÀ]UÅÖ­›èÒµ+>¿¿E•§‡“¿–â¸Ö ¼õö[<öÄc†ÁeC.ãëO¿¦{ßî$§%ÓûŒÞèšÎEÃ/âõg_çw7þŽ=;÷ð÷ÿ“'NæÆQÒ?F!Ž·°°0bãâèÔ¹ ùÛ¶âv»1 R„j&LŒŽŽ¦k·$$¦Pí®j´Sû‰(O'§\€²ê—U<ñôdädË' ?¡ïY}‰OŠçô§£( ß}þË—, [Ÿn8ã8ãÄ'Å3ïÅy´ÉlÃùçÌóúý÷ß3iÒ$öìÙÃîÝ»uz™™™G%!„8Qßððpœ±NÚ´ÉF‘þBÂ4 ü@“?þOTyÚÜüRŠªªL¸s@gœ“s/9—AÃ… üMùÁà$½M:ƒ.\—š™ÊàáƒyàáXüþb¢££i~gΜÉ#<Â!Cä'„Ôtìôûüø}~9Bqˆ²²%—§­e¸âã ,|w!qIqŒ¾{t½u…; YõÃ*¶¬Û@DTWÝrU½í²s³ÉÎÍæ¥W_â®;îjp?™™™ÁƒENNdܸq$&&6;¿6là‚ .8&ÇBjS„B!„hÜ1¯W2M“—ÿþ2§Ÿz½ueÅe¼û·wÙ²n Ýút K¯.¦Õ{@o¼½ÿ!:÷ìÞ½›]»v±råJžzê)|>]tÍγßï',,LÎ!„B!ZB€òõ×_g­lÎã믿nt«×®Æð“ž^o]bj"í»´'.1Ž®§ueâC9gÈ9˜¦IuUu½íã“âqÆ:ùîÇïšüÃ"##éÑ£3gÎdÔ¨QÌ™3'¸N×ufÏžMÏž=éСãÇÇívja233ƒÏwìØÁM7ÝDÇŽi×®×_={÷˜®v»ºµ¬nÚB!„Bˆlâ5pà@¾úê+®ºê*Þ}÷]Ø`s¨õÁeÍjR2Rlóöó?³·h/=OïIñîbþùê?wÿ8J KùôíOñV{1f9Á÷$g&³zÍj7¨Ùäu×]Çe—]|ý—¿ü…Õ«W³xñbœN'S§NeÖ¬Y<úè£ìÞ½»^3¬Ñ£GóÈ#ð / ª*O<ñÓ§OgÞ¼y‡u°J[qô¬_·F‚BÑÂtíÖã×(µAÊ»ï¾Û`ÒÜà ¸¤G¤£ÞrÓ4Y·bg^x&‹ÿ¹˜³/:€g¿ÜÆjµòñ‚C‚Ÿ×Çšåk˜4aR³ÿÈ””ÊË˃¯,XÀ[o½EFFMàsÿý÷3xð`}ôÑßÿÕW_ŸGDDpß}÷Ñ¿9Û„haœu®!„¢…qU”¥± åp‚US±Z­õ–kªFž ÿs1]OëJaAa½mt]G×õ_}PJJJHHH¾.**ª—÷CjðÓO?1kÖ,Ö¬Yƒ×ëmr{!Dë(…BÑò49ŠWÝ åŽ;îàÙgŸmvp–š†o•¯Þò_–þBNnzv"&6†¢]ExÜâ“â©rU—Ç–u[¸åÿn¡¬¤Œ…óbµZéÖ§ýºö;¬?ò­·ÞâÜsÜYMMMåÃ?$==½Yï7nÓ¦McРAÄÄÄàv»éÒå@g~«ÕŠ×ë%""€}ûöÉ™%„B!ÄhÖ(^µAÊC=tXÁ @Ç)+) Y–÷Y••\|åÅävË%53•ÞgôfØuÃÈí–Ëe#/ã´3OÃçõñæóo—GÛNmùý¿§¼´œÎ;7¹_¯×Ëš5k˜6m ,àž{î ®»ñÆùãÿH~~>š¦±~ýzÆßhZ>Ÿ‡ÃÝngçÎüñ Yß­[7^xá¼^/………Ü{ヲåt:Ù²e‹œyB!„Bi€R¤x<žÃ Núÿ¦?>½EF½r•»tù la¡8ŽHm;µ%ÜN|RïÑ£‹/Y?zôèÓ»óÎ;¹óÎ;åÌB´*¦iÐUÃ41MSŠBPÓ/Ù¢(XàÃb±´¨òôpó×ê”#uÛ˜Û:|(…½ Io“NJF ù›òiÛ©m“ïvFÓ¹Wg:tíÀWÅ‹>o‚BçàÄçõR^^NqѪªªä !Ä~‹…¨¨(ÒÒ2HHL"ÜÞè`J'¢<=œüRŠÓéä?>ÀÌÇf2|Ìp À{¯½Ç®í»ˆKŒ#!9ÔÌT¬¶ú£}åoÊ'"2‚¾øÛo»ô´tù&!Äq¤ª*UU•ìÚµ“î={‘””ÜàèŒBq*2 ƒ¢Â=lX¿gœ“‡“€ßßbÊÓÃÉß) \:äR6nÞÈ‚W0ôš¡Œ¸y•å•T”U°gç>}ûSn¾ëf,ÖÐj§ï¿øMÕtî F_?Z¾Bqœi{vï¢gÏÞ$¥¤b:š¦ÉBˆýRRÓ°(6oÚĹçe4œ¨ò´¹ù;å€)§–šÆŸŸü3{uæôóN'§c9sP*?åýăÎÀãö°,oûJ÷1þÖñŒ;NÎ~!„8 ÓÄív“˜ˆ¡kÒÿD!Ÿ»ª å}¤%¦qúŧsþyç“’œ"g»B´œP¤öDÑ ­Z¹œg‹Ïë‘òT”CKˆO`øo‡3ü·Ãå“BˆÖ¢!„”aRžž¼ŠBˆÖte—;~Bˆ“ “òT!„B!Z¢-[¶R]í®·<&&†öíÛŸ<vïÙ®é$$$’Èí+++),,Âf³’žžNdd¤(ÇÓ¶mëÉJÇÀ£Y°è^º‰¦[Pü>¼˜X4T݃E¯®€ß‡[5°™~¶åïæºß•o¥¢Ù“’)Û[zJ“æ5Iغy®Š úžÞ€Ï>ú€¡Ã®8áù_¾ôGââèб£œÐBœÂåX]îj7mÛ¶¥î¼…º®³sgÁ1m‚u¨ò´¤´„ðp;Ö+{ËöP¤¦¦6¸mEEEEEÄÇÇc»÷ì&7÷è•q¿Ÿ@ ÐìÑÆEÁÍöëBŒV äço"ÎIié>\•h¦]×Aà×Ð T-€nꨵfè6]E5@è4MÓð{ª‰ˆ‰cÁ¯pñÐß‘˜˜(ßV!„+;¢ú"#ø° IDAT¥iùÛ¶qî ADDDâõT㤪ÒuØ»üìãzùoJö»tíÆßG§Îk®BˆS°3ë½6tïþÎó¦ v{8˜&?¯ZÕh2qqqäää“òTS5l6šaàŒ‰¦ÒåÓ¬¤NâÐT«ÕŠ‚rT›Ž~ùåg¾]’×tPa³ÑÀ™\8xȯŒ Õ() Q—qëø{ÐôÁj³&Z3LÃÐ%陘¢>³æu¤#’ë¯F¬3F¾¨Bœ¤ž7™3aêÔ¹câÄ£šö©Z“Òœ”¢¢BHHH¢ºÚ²ý‘\2/¹ü·Ä8c©<‚àæ`‘ÑÑÄÆÅQZZJ|B‚|I„8E˱ƒ_놎ª¸i¡{}¤¥§í’W©—†a”––’ý+”C•§)©©äço'66Ž€ªƒ«²‚AJmp‡ªiX­6Ê+*ÈÌÌ<ª5?¦iòÃ÷ßòÐóq8‡ÜÖçóñÈŒ© ½ôr|Þ_·ßV X­6vìÈ'11ž#†£ë¦ib±(ø|>Tµf·Ÿß¢( ¦ÏÌ™`Šà–±·ðÚk¯Ë·Uˆ“Œa¼úêß™õÈL^œÿ·O˜€¥LLÕ*.íMÜ™+-.&==]Ó0®¥8»z•®Š£ö¤¥§³g×NRRRPU™ÓEˆS¯3Žö/v»Ý‡,ìv;N§³Y5ÊGZž:ìv²Ûd³sçNœÎX4U%:ê@MŠÝî ¨¨ØØ84UÃj³RQ^NZZ:1ÑÑG½ó½®ëM'‡ã¨ÕN·šEQL,¶0tÝ`ÏžBV­Z…ÝnÇj³²jå*vî܉ßïgüøñdffRYY‰Åb i3gš&QQQ„ÛÃ01øå—5òEâ$ôùç_Ë­·ÞÊ¢·ßá‹/þÇE ®o¨‰VÝe~¿Ÿ»ÿï>øà¢££™0a|£Ûú|>î½ï>Þÿ†ÿνÓt*5 «tUгwŸF/ð® V-_FÛvíiÛ®=†a°yÓFv ëÉ©itïÑ“°°0þýÉG\rÙ°àóî=z²}Û|>?ÑÑ1tïÝ›Xgl00=TZ±ññlݼ[X¸(BˆzTU¥_¿~®_¾|ùqÉGdd$ÙÙ5AJŒÓ‰¦©DEEãrU¢ëûj‚MÃjµâª¨ --¸¸Ø“æsh5J@SðtÂÃÃxã7ؾm;ŠEÁðãp8³…a±Xxíµ×èÞ½;Æ «™©³Î]S…çž{Ž-[¶b¶š6†Bˆ“Îß^ýco¹€[nÃ+{%$@iÊ£>FYÙ^V,_†išL¼cR£ÛΞý(EEEü´ôGLÓäö‰wðè£1cÆô“ïÀš4ÙQÒï÷ßç­·mqqkù…ž½{Ó>·>Ÿ—õkWSér1ð‚ ‰ŠŽaÕŠelÛº…N»ßçŒÃUQ^UUqÖ¹ƒˆ‰‰aÓÆ l\·–gƒ®ëlÛº¹É´v>Ÿ«ÕÚìNŸBˆ“¨;è{obb˜&†¹¿‹Àþª¨÷Þ°°ðýÛë¡]ŽQyA›6mرs'1Îj€È¨HT­¦ÏI…«‚ôôtbc'U™ÖjÚÿ‚O?ý”ñƳdÉÜUnCÃji¸XfffÈëõë×Ó§O^|ñÅà²-[¶0vìXºwïNÛ¶m:t(üq£ùߺu+£F"77—ÜÜ\FÅÖ­[Cöyðã`7näÌ3Ïlð=Bˆùùù¬\¹Š+¯¼€ádzrå*vìØÑì4Þýç?™õÈ#$''“’’ÂìY³ÝöŸÿú³™ÜöÑÙ³ùç¿þ²Í©ÖgÅf³ío»}À–MY¿f §@ûÜNx<Õü~öЫObœ±ø¼Ú¶mGáî]DD4&L`ñâÅÁmvïÞ}ȼäåå1pàÀzÛK€"į¾úwöîÝKfV›z˧O¨Yi”””„ŒÎÒ¶mã!KKKCÖ·m›CiéÉhºF 8ä6áááx<žzÛmÚ°ŽÌ6mHÏÈ¢¢|šVÓoÐç÷óåÿ²­ØÂ¸¤Q›žÝngoiIðN¡aX­V@³Òòx=„‡‡‡¤)„8uü½×4 ¿?€ß¾Ö4¨¨ú76j×Õ>~MÒœò´Vuu5†®£ªêþ²ÓDQ,˜¦»ªŠÈˆ PN¯¦àhäd·¡gÏž¤¥¥¡ë:{Jxá½±ø?ÿaË–-TVV¢ª*gžq&O=ý{M°Ý{vG?0 wUU“Á¤I“xöÙg9ï¼ó‚ËŸ|òIn¿ývF\Ö·o_þú׿6šÖ–-[øè£°ÛíLš4‰ùóçÖ1ÈËËcÔ¨QRºÑŸÏÇÂE‹X¹b9ÙÙÙÁå;vìàâ!—pï½Âáp`³Ùðx<ÁɬöíÛ’NJJ ;vìNÒµcÇÎF÷™œœ²m~þ’’’NÙÏ Æé¤¬¤˜hgìþQkœ?øb¾ú⿬]ý3iéu;ƒ/¹ô°&k¬CsÒªt¹ˆ‹“a†…A‹R¯V¤¬l»v4XÞìÝ[†Õj¥ `mÚdÓ¼¹\.ŠŠŠ‰ŠŽBUÕýó‹˜hšFDD$.Wðº%Ê  ètS# ªx<ž`M ¦‰é×Ðk¯½–¯¿þšE‹ÏŠ+èÙ³'¦aÖ»ˆ¼Õ‡l«÷É'Ÿ0}út^ýuzöì²nÉ’%L›6í°ò?xð`ž{î9ÆŽ‹iš¼üòË\xá…!ÛtïÞ·ÛMvv6×\s &LÀjµ#þ¥K—2oÞ<)I„hÄ{ï½G¿¾}C‚€œœN;­7ï¿ÿ>#GޤG÷î<÷ÜóÜ~û\.÷?ð`Èö#®¼’©S§ñÌ3Ocš&<ø@£û>üw<ðàƒüå™g¸ÿ¸òÊá!Ûœ4äͦÛ\'$&³sçzõé‹ß§—GFFÑû´¾üòóJ Ý }ÍozfË—þ@N»öûk_ªÙ™ŸO·= JʃišÍJ«´¸˜ŒÌL4U•>(Bœ‚ÌæA)). ©ÍøiéRRSSiß®]pÂA3ØgÄ )ådeeiFš,ƒ\.…EEDGE¡Øl6ªöß\ŠŒDSU"**Ê1MHII>y‚ÆÖ’Qïþª­ÚyO‚Ÿom£(TUU¡( ©©©†Ýa'))‰;Уg®¸â ’“ühzíD* ?~<3f̨œ”——ö3fÌ`áÂ…tíÚ•nݺ±hÑ"~øáàúÝ»w³víZ¶mÛÆüùóÉËË Y¿|ùr:vìHìIØÎPˆ£å•WþÆÍ7ipݘ1cxù•¿0wî\>ýìSÚµïÀÐK/ãÜsÏ Ùö¾ûî%6.ŽÓúôåÜóröÙg7ºÏääd~sz~szÒÒR¹ÿ¾ûNÙÏ )9™²½{ƒM¸ê §çi})ܳ›=» ÈÎi‡36–Õ«V°äë/Y¿v )©iÄÆÆö¾›JË㩦ÒUAvN;ü~Ÿ|a„´k×–N:…/Õn7iétÈíDdd$«MÓ¨vWašfÈ{ë>¯uð²C¥µmËf²²spDDPZR)_!NAõFñ2M à Î$ß\@‹E9âšØC•§‡ÂÂBj f´.Oµ‡Ô´4bbj&ÏÊÊbgAªªb·‡S^¾«ÕBÂQžˆÖjµâóùš5QcmËŸS&@Q*ªJÏRQBO EQÄÄÄЯ_?¾ûö[F\þ[6lßJ  <, ·YsWÏï÷r"›‘#GÏÍ7ßÌܹs²ÿ‡ À9çœÃÇÌ-û‡1mŽü‘×^{-¤J×®]ÝÞb±„´‡ÌËËcêÔ©R²!Z¼ì¶m‰ŠŠ&,<ŒŠòšá‹‹ ƒë Ã`ïAA[uµ›êjwƒéÕ}oÝç-k,­î={§ºZ>$!Dª ùYX{ÿ»áŸŠfp’caß¾}Øíöà>|>/IIÉD8Á¦hV«•ô´4 ‹ŠpØíhšŽÝn§¬lßQ PEáŒ3ÏbÖÃÓ¬ *l6œuv£“¥Ÿ”Š×ÐÑu_½:ÚƒppÚ§g/¾-Ú‚å´öäš&VS¡ÝàsIß³™@¥—C5ñ2d¯¾ú*·Ür \{íµÜ}÷ÝŒ1»ÝÎe—]Fdd$ëÖ­ãùçŸo´£|§N˜7ocÇŽॗ^¢sçÎÁõ&L`Ò¤Iäææ²k×.¦N¬¢¢‚­[·râ !„8ÖgÜ·»ªEþ å ˆ „8ÅʱƒÊ0gl,Û·ï–qþPG ) ÃÃldffy Ê!ÊÓš ÄÅbÁëõ‘˜˜€ÝnÇï÷‡L‹…ä¤dJJŠ ¯ Rl6ÛQí_Á…ƒ/f襗7; ñy}ÚÖ3̰îG èX,¢££ëa_7Z3 ƒÓÏ8ƒ‡{w!%-GtŠÕŠ 8 ‰ë‹PûÍøüÎ8ã Þ~ûmn¸áÊÊʘ0aíÛ·çí·ßæ±ÇcÖ¬Yx½^ºuëÆ„ MgÞ¼yÜÿý<ÿüóôë×/¤ÃûСC™8q"›6m"99™aÆñ§?ý €o¿ý–þýû‡Ì† ¡Ã ×>oj¨b!„BQ£MVm²²ZTž’““1Œbü©©)Øívt]ßßÍÀ4Íý-m,„‡‡‘žžNeeM³Õ£=š—ÕjÃçõâózë1h5Ц[ˆ‰‹£¤¤„>þ]«™ñLÀ0Íý/MPLÃ$L± i†U ÖÑÙ4‡ ›bi´ êàùݺucÅŠ!Ë:vìÈ+¯¼ÒìüwìØ‘wÞy§ÑõÆ cذa ®k¬ÿ‰#B!„'«ÕJzzzHPRÛô¿¶vDQ”à#<<œÈÈ(l6ëQi^Õ´š%¿`©Éñüþº‘ìÜŒfZ04 ÓTQÕšÀDõû0+¦@U jú¤`‚jú0ôÕå^.:ç\TCÅTZÇ“yyy‡ÕßE!މft’Bˆ]Œµ”2¬™ƒŽÔæ¹vÛºJÝ@¥Åý}§J€réå×òé§©sÉe—ð©ø«]ø¼~¬%%¸““a{>þ˜(°ÙQ wãKÉÂçóâözIÊqa‹ÝÆÞ•})©¬`Íö­xª=­âoÿþûï¥DB!„8„œ l­)³C†\ÆÏk—rëMã@±Ò½{'ÂÂídf¤S°bYY¨åûP½^"ã)Yö–0+F@çÍ7Wâv©XÂVà5Mª*Ýøü~9ë…¢™§“¼B´$íÚç68  ”§-“¥5eÖjµÒ%·ï½÷!q±±ø¼>´@€Û·áóú(ÙSÈîÂbªÊîùhº»Å†ªh”»JØçÞÁ¾ò Š váqUÔ›É]!D}Š¢Ô L"S!„h<è0zƒ8µ¤ò´9ùk)l­íßýÄlìan¼n8º®`bÔô%1l˜zMÕh€aâ× ùIÔMnþý¸=.Ö­ÙDZV½zõbÊ”)òmBˆ&X…èèhJKJ‰ŒŠ”"„ ðT{‰Ž‰Á¬3]K*O›“? PŽÐÔ{ìv;o¾ñ/¼øEEÅíëDŠÔv(‚^={â÷ûyïý÷ÉÉÉÙ¿\î !DS¬aadd¶aëÖM´kרè(Å"F!¨©™¨vW³}ûVzõî}È.'¢<=œüI€r„ìáöàóëo¸ëo¸áˆÓ:Õ: !Ä‘ #6.ŽN»¿m+n·£ÜBˆã¡v޾®Ýz˜Bµ»ªÑߘ'¢<=œüI€"„¢Õ\|ÃÃÃqÆ:iÓ&Å"µ'BQ—iø&üŸ¨ò´¹ù“E!D«¡( ~Ÿ¿OF?BˆC••-¹¼˜X4T݃E¯®€ß‡[5°™~¶åïæºß•o‘B!„ ™üüMÄÅDàªtSå®ÂÀŠ®ë˜ºJ@4U  ›:ªªaèè*ššj j*šªðywD°à—¹xèpå,B!„B”Ó’EY™‹Á—\EIqº©£˜ (5C¶©º†ÅbÁ0 L½ft.Ã00004‹UÃ$ èÓ§/wŽ»‰XgŒœB!„BH€rø¬V……{())b̘Ñ—ãvWPüªªªpW»ñz½(¦ÛãÇíõa1M’"QÆþ j~ùå"cb¸eì-¼öÚërq’X¿n!„¢…éÚ­ÇÉ (Љbµa±Z1ضm;¦iRT\„¢(X-VÅ|ö—qü¸n'߮ގUQ˜÷#8Ü<öº¼DØÃ ·‡a*¿ü"?f„8™ 8ë\9B!D ãª(?9”€¦ÐLL]§¤¸„’â¼~oèd‹&¼:ýz¦½ü~w^ws1ºapñ/2åºóùbéF¾X¾ ÓÐÑT°ÛÃåŒâ.…BÑò´šÁì5Õ‹E &šª¡X,ŠLP¨y®( šn…=< Ý4Ñ HOŠÅ¢(è¦^И`j*VKÃC­eff†¼^¿~=}úôáÅ_ .Û²e cÇŽ¥{÷î´mÛ–¡C‡òñÇ7šÿ­[·2jÔ(rssÉÍÍeÔ¨Qlݺ5dŸ?¶qãFÎ<óL¾üòK®¹æÚ·oO÷îÝ™8q"{÷î•3Z!„BH€r\2j€ªƒ¢€ÇëÁ0 ªFmŠa˜¦É­,Àiç»›xìÕÅ<ö÷Ïè’Èý/|Äâo×âÃ4M†ÎžÂ¢&÷»lÙ2FŽÉ´iÓ7nÛ¶m㪫®âÜsÏå›o¾aãÆÌš5‹>ø ÑtÆÏo~ó–/_ÎòåËéÓ§&LÙf÷îÝ!ƒååå1pà@^zé%ÆÇêÕ«ùúë¯q:õÒB!„¢µi5M¼¼š‚n€¦iTVVâñøˆŠ £²ÒÝnCQ MãÂ1×S‘’AZÏDiŠÕJñîBÎkןߟʒ⚀FwUÕ!÷™——ǤI“xöÙg9ï¼ó‚ËŸ|òIn¿ývF\Ö·o_þú׿6šÖ–-[øè£°ÛíLš4‰ùóçÖ1ÈËËcÔ¨Q,X° ¸<**Š©S§Ò­[79£…B!„(ǃ¢Ð EQ¨ª®" ê<÷üüðýNæ=÷‰ñ‘`³¡DFbªˆM‰Gõù°Ùí*Ë(ØRIdb"®={0 S „ö_9È'Ÿ|ÂôéÓyýõ×éÙ³gȺ%K–0mÚ´ÃÊÿàÁƒyî¹ç;v,¦iòòË/sá…†lÓ½{wÜn7ÙÙÙ\sÍ5L˜0«Õ @ `éҥ̛7¯Ñà¥_¿~rF !ŽC×Ðuãe§BœŠEÁjµ`±6ýÓÚ4M CÇÔ ŒãPž*Š‚(V ‹µUÌ&ßzjPtMUQ5 ×¾*rÓâ™ÿÔ†A—¬d¶–ÆŽOþKnßD¸tl•°aEnÜ?¬aÇêåDFÇà÷TÐ jæ£oØøñãyñÅë'ååå‡=ÁãŒ3¸âŠ+xòÉ'š>'~øap}m“.]×Ù¸q#=ô{÷îeÆŒ,_¾œŽ;[/í5kÖðÐCñæ›oJ !„8&TUeÏî]¬[³–}åûä€!Ä~‹…Xg,]ºv!+;‡ðððC'º¦±« €ukOyjµZpÆÄÒ¹krrÚb kñAJ« PLCÇbjø}îžt6ý»dàñ©`‚3ÆÎ“Ïãw¾áºþpW‡‰x¾¬B±D *¿aï€ö\½úZ¨í$o˜4µÎ™3‡{„„ ².>>ž²²2RSS›ÿ)S¦põÕWsÛm·0þ|&OžÌÂ… :‰¬tëÖçž{Ž”¼¼¼ffµ¾ûî;&OžÌüùóéСƒ”Bˆ£ÎÐuJKKX±|ƒ.¸€œv탵»BqªÓum[·÷ÕWX¬V²³s°4RF†AQI+W­`àùÐö8”§º®³uëf–ä}Õf¥M›l¶–´ž&^•€fË—í$=<’Ý….l6+é)1,_½‰çÝA¯Ìžü¸ç'žþî¢Â£)÷”3¨íùÜØ÷ÒâÓ¨öWc˜~5‡¨V9r$ñññÜ|óÍÌ;—!C†×sÎ9|üñÇÜrË-ÍÎÿ?þÈk¯½Ò¥k×®‡ŒÆ þÎËËcêÔ©!Û|ðÁ̘1ƒW_}•Þ½{K !„8f·ŸW­â‚Áƒi×^n„!D]V«•Ž:c³ÙønÉ7¤¦¤Õඦ®³zÕ/œ?h0íÓe«ÕJ§N]³†ñý·KHKIkñJ«ÅËkèèš›-Œ÷ÿ½šÑ,`iÁNÿ¼‰‘w¿Å¾"·W/äÞOïåÁ?HEu9ù{·±cÏv–mÿ‰×|̘3Æ`˜5?úMÍäPM¼† «¯¾ÊÝwßÍ¢E‹‚Ëï¾ûnæÍ›Ço¼Ayy9~¿Ÿ•+Wrë­·6šV§N˜7o.— —ËųÏ>Kç΃ë'L˜À† Ð4üü|¦L™Âå—_@EE[·n éc2þ|f͚ŢE‹$8BS¦iRQ^NvNÛà²aÆÉÿò¿ü/ÿËÿuþÏj“ËUªi—§@EE99mÛ÷²<+;› W𮵸ëŽrÇ„qæ_ž{}e5sh$$&µÈŒnZókÖlbĨ1dfeP]åãá™—ðíwÛùßÿ¶b±*ج6¬ahšF@àõxQLOÀƒæ¯ù0"x}^æÌ|˜GŸ|Š}åõ'vËÌÌ æwݺuÜpà Œ;68”ïæÍ›yì±Çøî»ïðz½tëÖ &ƒŠƒmÞ¼™û￟+VЯ_?fÏžMnn.}ôÏ<ó ›6m"99™aÆñ§?ý‰ˆˆ>ùä-ZÄ?þñ<6xœ6m"ª‘¨]ˆc­¶˜ò—ÿpå°‹©ôh膉aûÿ7ñ4 ì·<>&œøž¹“.n0ýÏ>þëGß²qìü~Þy{wL¾+x1þè£äÀ!ÄAž}ú).6ŒØ¸øFËÓ·- –§'"¿½â œ±q-âxy½¾úâs†^þ[vï*à¯/½ÔzšxiºGt4ŽˆHªª<(ÀÝw}ƒèH^¿Ÿøø8|šò 6«]Ó ÇnsnE×uT]#6.Lj&zlÀÁstëÖ-XÔêØ±#¯¼òJ³óß±cGÞyçF×6,¬¡þ' Í“"„ǃ'BˆÖæÛo¾bÀYç“þGzÓæDˆØFbl5J~Ábcbxé¹yì޽ʹ€¡c*¿‰¢€ÏS¡X± PuÀ‚ÏïSA3½èºŠ¯Ê ## _À‡©´Ž¡2óòò«¿‹BKRƒ"„Hyx (—^~-Ÿ}ö!ºRÅ9Ï#àSñWWàóú±””âNJBÉß?& ¬v”¢]ø’³ðù}Ty¼$·uaune諭쭪dmþ6<ÕžVñ·ÿý÷r¦ !äb,„-Ü´9…€‹/¾ŒŸ×.åÖ›Æb¥{÷N„…ÛÉÌH§`Õ/dde¡º*P½^"ã)Y¹K˜# ³páJÜ.KØÏxM“ªJwMíŠBˆ#¾ûí·,ùî«&ßsí5×Ñ6§¼÷Þ‡Œs>¯…Û·PuJöâ ø‰‹Š |G> 1öX*?宪ܕX£²ª  ÞLîñ~þ‚ IDATBq°Ä¤dÊö–Êhäb¼ä»¯øãÿÝ_o]ך ÃÂÂxrîŸOÉ EQ”VÑÞ[ˆSÕ†˜8ñF,–}S<Õ^^~eQ³Ó8’Ó4->ýìS’’iÛ.‡ÿ~¾˜}ûÊqåU nûÃ?°pÑ[ 05 òúë¯1óáYGíøü~@³Ë1EQpDDüêaŒm­íDšýÄlìan¼n8º®`bÔô%1l˜zMÕh€aâ× ùIÔMnþý¸=.Ö­ÙDZV½zõbÊ”)òÍBq˜ºïÛ·¯æf‚¹ÿß¶-[),ÙEÿÓÏâî):eƒ!DËxÙž¿ ö )É\3rD£ï9ãŒ3¸{Ê£_ƒRYYItL.—‹ž={²lù2€zAJmprÆgPUUITd4a‡˜ÅþÈŽM€_~ù™o—ä5TØlôp&‚ÏûëºQ´ºeê½€ v»7ßxƒ^|¢¢bŠ‹‹ö‡¤u¢Óý/Lzõì‰ßïç½÷ß''''½ !N¾ÀjîâDGGÓ¶m º€ Æ“”t`õãœ4­À¨öï<^K] ]Œkïšµe«iÒ®};Öm\MTdÅ%ÅÜpýM¼ñæßùÓ=´Šs©¼¼œ?üá|òÉ'DFFrûí·3}útù’ q’ñùüT×öK6¡`×®qþ€ (ÊA?ÚUþýï%Á×G»ʈ+¯bÎqúoN¯ Rzô`ÙòŸB‚”~øž…o/ ÿþTUVÃÒ¥K¹ù¦£;¨’išüðý·<ôðlG£eåûï¿Ï¨Q£xdÆT†^z9>ï¯Ûo« Pìáöàóëo¸ëo¸áˆÓRE¾•Bœ„j°WWW³uë6,\ÀÀóñÙ§Ÿ}Rýu•㥡‹±i˜55Ú5J0X‰Žrò¯÷߯ãñP]]ݪŽñøñ㉌Œ¤  €É“'óꫯ2fÌù’ q’Z»v'.—XÛàú´´xN;­{Ȳ#b¸±åYYYLºc2yöiúöíG…«‚n]»ñÓ²¥˜¦IfF& ½UÀTTãä‡~`ÔÈëéÙ³×Q¿¯ëz£ÁIAA×]wÛ¶m£sçÎÁ潿–ENE!ÄÉ***Š^½zòèìÙÜpÃõ<úècÁuuØþùçœ}餥gpZŸ¾¼þú ¦·jÕÏôèÙ‹ùó_ Ú3g>Bç.]Éj“ÍØ[o¥ÊíI?1)9äùÁËšJçHËÀ¥¡‹±aÆþ‹nM¨‚aôéÓœìvôîÕ‡K.¾¼É´UUå®»î"99™øøxž|òÉà:EQ˜3g©©©DEEqóÍ7ã¯3؉¢(¼ð ´oß»ÝN=X²d ÿûßéÔ©áááôéÓ‡Õ«W‡¼çàG­O>ù„¹sç’@BBO?ý4ûÛßÍ»ßïg̘1DEE‘––Æã?²¾¡›bu—iþuL„‡ÇåòðöÂ6ú(**oð¦ÍÑ–Û!—IwLfŊ儇۩p•Ó¥s–þô#o.xƒ¾}ú⪬ ""’Ÿ–.eÔÈëpÆ€ãz¬ªªª¸á†ؾ};<ðguÖQK[!Ä)áÆnà뼯\7áö‰Üû§?²#;ôa°½o]‹ÿ‡kGŽdΜ?ó‡?ÜÀܹO³êçŸùò_°~ý:Žžñ0p †£loiÈóƒ—5•NKÔÐÅ8ØÄË00 s°ሠ99»ÝN\\Ó3OŸ>µkײråJ¶oßή]»BÖçåå±zõj¶oßNqq1Ó¦M YÿùçŸóÿì½yxTEÚ¿ŸsºÓI'}OXpAEpû8¢¢¢ˆ¸ .$ ïø2¢â¸ðE\@ÀåuQfFDuFœ™Œ€ È&²&¬,@Òéý¬¿?-!;I î\}¥»ªNuõYžs>UÏSõŸÿü‡²²2† ÆM7ÝÄßÿþw–-[Fyy9C† áÑG­ÞnËâí·ßææ›o®’w"?ýôS­mŸLvv6¯¿öZ•üwß{ '2þÇÜ4p`8}ÞG1uêËdff⊉á™ÉOóÅÒ¥n[SÕs<§3.¥ö‹Ê3˜˜LfFvƒÜëþüç?óæ›o’M||<3f̨’ÿÚk¯‘ššJjj*¯½öüq•ü·ß~›V­Zát:?~<‡Ù³gWI[³fMÂ`öìÙUê8p O<ñeee”••ñÄOà­cdëã?·/--×_½ÑûödÚ_ß>ucšæÑÿ¿”õë×W{#xB€ÅéA9Q¤¬ß°žÈÈHŠŠRx ÈÈ(Ö­û‘{ïNïÞWœö}ôç?ÿ™ë®».ìòºjÕ*æÏŸOß¾};vl“_ËYI~÷vâ]Q¸+¼x¼L ÃÀ24TÐ-4]Ű 4MÇ4t04ttÍDÓ5tMC ú‰ˆŒbþ¼wé?p0IIIâÊΊ‹‹IJL¬1ïOzŸé¯NçÿM{…ØØX^|ñn0 œ?{ö†½›ž=zTÙîàÁƒÕn 'ÛÖTõœn CÇ4M̧Ÿ~ZU ˜æ/òõ ijû¢U«ìZËdgg…ó²³³(**ªR66Öþl·ÛjLÓu½Ê6[¶laôèÑ|õÕ—DF:Âyo¼ñ:£Gç••El¬‹ÇErrR­m+**ªÒ¾V­²«ýÞš¶=Õö×·OAÝö' «¤]|ñÅ ®ëoûk£¯9ÃÐÑu½Ae8€M–1 㨵Ðt‡#’½ûöÒ³gÏ_eßrÇwð—¿ü…gŸ}‡ÃÁÔ©SOËwµ’šÍáÃnn¸ñNJŠ‹0,É’@Y’Ð Y–1-˰ŠØÄÄÔ-dEÓBÕTzôèÉã£$.Ö%®TàáÃyóèׯ_y={ôà£æaYß|³ŒÇÇ?Λ ü|ÉgÜzÛmÄÇÇóÛãzŠÒÒÒøú«/ÉÈÈ8¥¶5U=§›Ê‘‹¿ýíoÕ„ˆÙˆ ÌºDLzz:tìØ±Æü]»vqÞyçí¸ÚMjjj•újª»®´ÒÒR† ¹‹wÞy‡V­ZU)›””ÄÂ…Ÿ'd?àšk®­µýiiiUÚ·k×®*ße³Ùðù|8N>R­}mCö‰@ ¨ûzRì6ÔPU·­ÿþ÷?üߟþTcÐ÷²e«‰ŽŽæ­Ù³=*‡ÁƒoçÓOÿvRö´>V­úžE]DÇ)+/#66˲ðx*hÓ¦ +¿_XÜzËm§u¿ÝÿýLš4‰+®¨ìP{àÂ3ã65-ÆÅKQl6nÜG0ä–Û~Cé¡=<1q/¾ð/¾ðxþxöÙ <óÌžþý8.º¨ ËW|w´Óæ¯'aëoóÊïWòÉ¢Oh×¶-åîr¢"lݺ•-[·b³Ù¨¨ðкU+–¯XÎâÏ7j?œ¬Hy饗~¹wžâ}ª.ZÌŠ$YHŠ YQ°$((Ø…eY!IЬ ª*ûöóå£Xõó^–oÚ…"IÌ|â®5“CîQŽ"v,ÉdãÆŸÄœ@p’”œ‚$ID;´m׎뮽–ÿë[RRj~hxã@xàAvíÞM‡˜3û­je2ÒÓùì³ÅÜ6øv Ýà‰'&òøããxý7|ûÑ¡C&N˜Þfì˜1Üpý x}¾pLHMiõÕSŸ9öþt¯‡r¬Çï¯ýË)ÝèêÚvÒ¤ILš4‰K.¹˲‚àW^y=zôÄçóqûí·3yòäSX½z5«W¯æá‡¹ÑŽ.0Ö»÷åôés5n·›+®¸‚E‹Ò±cÇjõûüÌ3Ï0vìo騱111äæŽç«¯¾ ç¿õÖ[<öØ(^~¹2ÞhâĉüíoŸžòJ}ûD Ô}=ûíˆÓ½^7›jt¹xãuìØ±˲¸ãŽ;øë_ÿzR5µ±jõ÷,úËBZ·n‹»ÂÓC~A>w JJJ2oÍžEëV­ñx5ñ¯/###O…gtûöíáÆ7ѦM[Š‹‹±,‹hg4w Ê‚O>&##¯ÏKzz:ß,û†kú]ÛdûK’$.¿âJ^|þ™zƒúm6½¯¼ªI&yi1E6A3@’Àðcš&ª¦#K’ôËq¼0Ÿ»\Š·³ìûͦÁ­“˜4ûsþ±±1:ªipà`Q½ß»fÍFŽÉsÏ=ÇàÁ•=¬Üyçäææ2mÚ4¢££Ù¼y3³gÏ®U Œ=š0gÎæÎKNN_ýu­‚äDòòòÂA¾sæÌá‘GáÊ+¯DQÞ{ï={ì1–,Y"¬@ 8M7öÊ›û!CX´hQµŽ!P„@ZÚõrÉ%—ðÆ›À0k¿–ŽïÔ6L‹Äøxyä1,ËbÑ¢…M:‚OII1öû÷rݵ×ÓºUkJKKÑuËY–pFE1èæ[ùlɧ¤¦¦HJLnR›åŒâúú3ð¦›T^’$‚'̈vV ”€.a˜ ë:øýA¢v**B86$IÂÔu®q/å©™¤w»h]GRŠ Ò·]/6,^LEIq¥6ÀëñÔ+ÆÇ›o¾Iß¾}ÃéÓ§Og̘1<ðÀá´ž={òÎ;ïÔZ×Î;ùüóÏq8Œ7޹sç6jäååqÏ=÷T{8xôÑGOjÎ}@ hÄ-,‹E VÞ]¬Ìl¦½úRƒkÈÊÌoÛX¼žŠ“ÞölEìà$zZŽc̨±Œ5ö”ê2ä.-ZxRö´&úÿÐ4ââbnt ™™Ù„‚AB¡j(„a˜DDرL‹Ôädî¹ë~\¿,³2¥ m‚¢Ø_õ0µœ yCE75$IÂãó j³Þº•ïWîeæ¬$%8ÁfCr:±Tq© hÁ 6‡µâ0ûvVàLJÂ}à–iaéj séÒ¥<÷Üs|øá‡tëÖ­JÞwß}×è•zo¸áfÍšÅÃWú¿ûî»\ýõUÊtíÚ¯×KëÖ­¹ë®»ÈÉÉ ûò©ªÊêÕ«™9sfµºý~?ÿ÷ÿGŸ>}„á§YŸX ¹ën~÷¶[ŸÄý\.6–!w !  ©¨j»ÍFdddxÚcI’Pl6ì6 œwÞyDGGqVØØ–3‚b蚆¦ë¸xèžÀÜ?®Â4M.ÈN!ÿàa\Ñvö,ý'zö&Êm`ókØ£lØ‹¼x¿ÿ‰=›ÖâŒqòûPu¨ÝGnôèÑÌ™3§š8(++kôS¦LáÖ[oeúôé@¥;ÄñîXÇÜ» Ã`Û¶m<ûì³:tˆ)S¦°víZ:vìH\\\•z¹U$%%ñÙgŸ Ë#N£>©¼¡.üd@”£Üu÷P~² ±ú¤Þ CbbbˆŽ¶0 Ã00M茽–e9ü²ÙlÇÅÌœ¶¹ÅË4-PPe⸫¸ì‚LüA ,ˆu9˜þ§<æ-ú/Ã.»Ž çÅÿ/’…h\¡Þí²éî£gX–‰EíqÚ´i<ùä“$&&Ò»wï*y >|˜´´´·?77—!C†ð裕1(ãÇgÁ‚ª'´¢(téÒ…Y³fѯ_¿°@ÉËË«âfv¼°ñx<¼ûî»L˜0¡ÚêÎ@ЄwöÊõ>†å“ ÄþB Ÿ,˜ßø¾.‰¢(õÎŽu¶uµ/UCÕ-Àdíš½dD8)<èÆfSÈHu±vÓ.Æöý-ݳº±êÀ¼¶âu¢#b(ó—qmÛk¸¯çpÒÒñ…|˜–IHSëôÑ:t( <ôÐC̘1ƒ„óúôéÃ_|ÁÈ‘ _èqÕªU|ðÁUbP:wî\kyY–ÃÿÇÊäÉ“k,ër¹5jo¼ñ†°<àtê,ËbÁüùbE ´(.ìvQeÌÖi`èÐ{X°`~# ªpw­‹³’|À40ô 6›Å_mâßÏgõ¾½|½a;C'~Ì‘"…›ðÔߟâ鯞¦ÜWÆîCì9°‹5»~à‹Ÿ¾`Äå#0­£SÄéu¹x 0€÷ߟ‰'òÉ'Ÿ„Ó'NœÈÌ™3™7oeee„B!Ö­[W犚:ubæÌ™¸ÝnÜn7o¾ù&çŸ~8?''‡­[·¢ë:»wï&777<#Xyy9ùùùôêÕ+\~ܸqìØ±]×)))aÚ´iUò Io²ŒiGGPîÿÅñ_üÿþŸ?ÿc,ËB×õzG:$IBQ*—ÉhÈÊïMù:Ö¾¦˜øt#ý6g”õƬÙ9|€Ä¤äfÙÐí?­à§Ÿ¶sÇ=#ÈÊÎÄç òündùŠ]|ûm>²"aSlØ;º®£*É’ð«~ôPåÜÍQ‘Q‚¦ýáy^žþGŽ”•Uû®×AùùçŸ>|8?ü0999ìØ±ƒ©S§²bÅ ]ºt!''§Öi†wìØÁ¤I“øñÇèÕ«/½ô:tàóÏ?çõ×_gûöí¤¤¤0hÐ ~÷»ßÅÒ¥Kùä“OøóŸÿ®ïøòñññ\wÝu<ýôÓ$''‹')Áã˜È}ãÜ>¨?~ô*}gM Ó´ª:¦iUKOpE°êû•Ì׿Æú¿üb ÷>ðP•ïœ~4UåŸÿüš^—\JzºXkI j¢¸¸˜×®áª+¯ÂuBÌð1tUåÿø÷èIjZê¯Ú¾C¥¥¬_·Ž«ú\…+6®Yì³@ÀÏ¿—}ÃÀ›o pÿ>Þyûí´P£!Cd”ÇLœðÈ&1ÎH¡ ñõ eånlŠŒ¡Øí8l‘DG(†fèÄÅǃ²TóÒ‰ë‘téÒ%,,ŽÑ±cGÞ{ï½·¿cÇŽÕ¦>žAƒ1hРójŠ?©«¼@ 4%Š¢Ð­[wV~·œË¯¸‚Ô´´&[-X Z:†aPR\ÌêUßsQØ#"j-+) ]»weÕª\zYo’“SPù4·ÏäСRÖü°š‹/îÝÑì÷i‹(»÷í!ÎåâíY3),ÌG·d0 LSC YHý>LIAÆ@Õ @& %¡[ C#è1ÉÌL'¨±¤–áû———רx@ hJdE!=#“ »_Ⱥ×Rávc#'ç2Š¢O× »’œ”DdTTíöT–ÉLÏB½PeúuTT¸ÃSŸööuíJrJGã¡…@inºùn¾ür †ä¡O¿¾¨A¯œ` „\RŠ79i÷B®hPHEû ¦d ñø¤´u£Äæsh}Oy*ؼ»¿Ïß"~ûÊ•+ÅÕ/Î(v»víÚ“™™…®X–(@’ŒÍn#2ÊYg9I’°Ùí´kßž¬¬, ã—X”Ó…$I•ßk³áˆŒB–›º­%üþýÆͫyäÁQ )tíÚ {„ƒ¬Ì ö­ßHfv6š»-ÀŸDɺ‘í ¦j°`Á:¼n Ù¾€eá©ðVŽ® A(6;N›]ì@ 8EÁ`³Ù± {Z»àkQ7GEá‚=øôÓ%ÄÇÅ ÑU•=» ‚”8HáÁbTM£pÏnt#ˆC¶¡I:eîŽx÷p¤¬œâ}ûñ»Ë«­ä.@ Î,¶–Öà—^} ‡]æ¾aƒ1 ³2–Ä´a*º¦£ê€i2TÐC$Ý^¿›ŸÚNzvºwïNnn®8@ !PNžÉOý,p8|4o³ç̦¨¨˜ââ¢Êǹð[)Þ² {·n„B!>]¼˜6mÚM ä@ B œŽˆ_f¸wøpî>ü¤ëj ÕAsÀ²,TUÅÐ4ÌÓÐ)- I’% ÅnÇn·×„þkÛÓÆ¶O@ ´q (++£¸èGì@ 8Š,ËDGG“žžIbR2ŽˆZ;ÁÏ„=mLû„@A‹@Ó4<ž öïßK×nÝ.,&jÓ4):x€­[~&6>Wd,j-3Åž {Ú˜ö rl!;- ¿.#TÃB7d¤P²DÕ@3üÈ BA¼š‰Í Q°»a÷?,®(@ hºªr p?ݺ]Drj¦i ëºØ1@p”Ô´tdIfÇöí\Ý7³Vp¦ìiCÛ'J#Ù½{;ñ®(Ü^<^&Jåâ6††jº…¦«–¦é˜†††n‚®™hº†®i¨A?‘QÌŸ÷.ý&))I\U@P¦eáõzILJÂ4t"5˜€×ãAª#ÆãLÚÓ†´O”Æ*¿ÄhvsÃwRR\„aH–È’„fèȲŒi™XFåÁ6MS· L USéÑ£'z¸X—¸š ,ËÂ4Mdņ®kb‡A ÈŠ Ó4›­=mHû„@i$ŠbãàÁ””1bÄ—ãõúP55¤âñxðú¼$ËÄëá ‘-‹”D'šjbZ&²,³qãFœ.#É|(®(@ h˜T©œ·] Zë×­¥÷•W ø…=¥é$ I±!+ –»°,‹¢â"$IB‘TUeß¾b¾|c«~ÞËòM»P$‰™OÜÁ5£frÈ ÊA„ÃŽ%™lÜø“8 q·T@ 6LØS!PT]BÕ-,स„’â¡@Uß= Þî^žy÷ÜÖ·+ÏŽèašôÿír‡]òÕÛX¶v;–i kàpDˆ3@ øùÛ¢ÕÒ®p«Ø1-æÎ.züÁY`Ç„=¥©Ðµ²¡b˜º¦#)²$c˜’$!Iºa’#ÂŽaY&d$Ç!K†eT  ,]C‘kž:++‹ÂÂÂðç-[¶0lØ0{ì1FÀÎ;™:u*+W®ÄçóѹsgÆŒÃÍ7ß\cùùù<ýôÓüðÃ\z饼ð œwÞyáï<‘ãÛ°mÛ6|ðAV®\N;rä àÀÕÊ ÍÛ‡ Å4-‚ªŽiZ¦ÕbüâýûT IDATa@pö±sg>>Ÿ·ZºËå¢}ûög¤MªªRx C7HLL"11¡Îò/mÛ¶åøu Ã`ïÞ}§Õ«.{ZRZBD„%JáÐáC¨šJZZZeËËË)**"!!Ó4)1cÆðÀ„ÓzöìÉ;ï¼S‡BßÉ矎Ãá`ܸqÌ;·Qû //{î¹'üyÇŽüûßÿæÛo¿EÐ"hN.^Bxœìµî›”®ëì.(àêk¯%*ÊIÀïÀåŠÅSánôW~ùÅÞ|K“4ÿ‚Î]XµrÎ?Ã0ÄñÎI;fUûl£Áó–u4À²Ø°~}­ÕÄÇÇÓ¦M›ÓbOuMÇf³¡›&±®*Ün°¬j"åq®i(Š‚„Ô¤®cªª²qã–—W¿¨°Ù¸¬÷\ÀSžŒ åÉ*º©!IŸU3˜õÖ­|¿r/3g­ )Á 6’Ó‰¥zˆKM@ ±9¨‡Ù·³gRî°L K¯[ .]º”çž{Ž?ünݺUÉûî»ïxæ™gÕþn¸Y³fñðÃcYï¾û.×_}•2]»vÅëõÒºukîºë.rrr«‹ªªÊêÕ«™9sf¸üóÏ?Ï“O>Idd¤08‚Á¯áâ•”œîʼn‰‰¡mÛ6\wíuääŒ&999\î×'5‰ ¦FË–-cæÌY¬þᢢ¢¸áúëùÞ'%%åôë“zÊ$1)‘ÄÄd|>o•ò's˼ñæ[pÅÆQqâæDœ11ÄÅÇSZZJBb¢¸ ‚s´ŸåÄφi é¿tZ ééGïOÕÃLÓ¤´´”Ö§ Pê²§©iiìÞ½‹¸¸xTM'ÆåÂ]Qa‘rLœÄÇÇ£é:Šb£¬¼œ¬¬¬&ù±,‹ïW.çÙç_ª÷y3 òÂ”É ¼éf‚SûÞ–3‚b蚆¦ë¸xèžÀÜ?®Â4M.ÈN!ÿàa\Ñvö,ý'zö&Êm`ókØ£lØ‹¼x¿ÿ‰=›ÖâŒqòûPõšOºcŒ=š9sæT'eee^àqÊ”)Üzë­LŸ>¨Œ9Y²dI8ÿ˜{—alÛ¶gŸ}–C‡1eÊÖ®]KÇŽ‰‹‹*GSŽ9Âm·Ý&¬@pÇ€Ïç#?¿€ù æÓïškùòïKiݺu‹ÿ}o͞Ø19|Ø»7@€W^y•G}ŒO?ýÛ鿵×Ó3WZ\LFF†®cž8Jq’½zîò&ûéØ¿—ÔÔT4M¬é"œ{ ŪY)Möz½uÚ‡ÃAlllƒF”OÖžF:´nÕš½{÷‡®iÄDÿ2’âpDRTt¸¸xtMG±)”—•‘žž+&¦Éƒï ÃhPgxddd“N·b™²¥ ªLw—]‰?¨±.Óÿ”ǼEÿeØe×1á¼±øÿåA’£K8Ô»=C6Ý}tÖ°,«9mÚ4ž|òIéÝ»w•¼„„>\«?`Mäææ2dÈ}ôQ 2eüøñ,XPÕåEQºté¬Y³èׯ_X äååUq3›2e /¿ü2’$ c#h1üÚ.^ÑÑÑtïÞîÝ»ËË/Oeöì·€ª#ß|ó Ï>7…üü|ÒÓÓ™8a÷Ý7¼Z}ë×o`ø}÷ñÛ±cyì±G1 ƒ—^z™y}„ÏçãÆ0cÆ \11ᑜcÿ*­1í˜ñ¯­žšøë_…ßÇÄÄðÜsÏÒ¡c§*eΔ […»œnõ¨õ_î.gýÚ5´mמ¶íÚcš&;¶o£pß> C'%-®vÃn·ðÕÒϹñ7ƒÂï»^Ø]; CÄĸèzÑEÄÅVvÜÔW@\Bù;v`³G"ª¡i½zõª5íÚµ¿J;œN'­[WŠWl,º®ƒÛ]a©'ºŽ¢(¸ËËIOÏ >>î¬9-ÇÅKÕPu 0Y»f/N º+g,Hu±vÓ.Æöý-ݳº±êÀ¼¶âu¢#b(ó—qmÛk¸¯çpÒÒñ…|˜–IHSëT˜C‡%!!‡zˆ3f0`À€p^Ÿ>}øâ‹/9rdƒÛ¿jÕ*>øàƒ*1(;w®µ¼,ËU\_òòò˜|˜ììl^íµ*ùï¾÷&NdþüÃâ`ÞG1uêËdff⊉á™ÉOóÅÒ¥nÛ©Ô³iÓ&ž~zrØ}ôx1tÆz¾l¶jÂsçömlùé'.íÝ›ö:á÷ûPC!ìÛG÷=pÅÆ øiÛ¶ ÷Uó4™=/¹ W¬‹@ÀOzFåeeD9£U—,Ë⢿¨…*ÿÁí®¨ö:Ư9=¾Óé¤MëÖT¸+P…P(D0D–eÜn7ÄÇÅuG¤åL3l„05]W‰ŠŠÀô˜\Ú«5ËWìÂåŠÅ®DàTì躎j¨ªAlT,[K¶òÓ¾ÊUã£"£*O.ÝlÒ¼üòËY¸p!ÇçðáÃäääо}{.\ÈÔ©SyñÅ téÒ…œœœZë™9s&“&Mâ­·*ÝKzõêU%à}àÀŒ;–íÛ·“’’ AƒøÝï~Àòå˹ì²Ëª¸)‚ÆQ\\LR-ÑúÓûLu:ÿoÚ+ÄÆÆòâ‹/pãq£-³gÏaèлéÙ£G•íúh–eñÍ7Ëx|üãܸys8ÿó%Ÿqëm·ÏoÇŽ §§¥¥ñõW_’‘‘qJm;™z>ýt1OOžÌ¼yÒãâ‹›ÍqsÅÆr¸¤˜˜Ø8Ló—`ÉknèÏ¿—ý“Í›6ž‘yœ qpÃ75ja±Ú:—RW…ÛM\|¼˜fX „‘e©Ú¨ÈáÃGØ¿_öæÐ¡Ã(ŠÂ¾}ûiÕ*û´¶ÍívSTTLtL4š¦]_ÄB×u¢¢œ”»+g8LMMåL°{ßâ\.Þž5“ÂÂ|tKÓÀ45Ô…$AÐïÔd TÍd‚¡XºÀ04‚“ÌÌt‚jKj¾zyyyŠwÎŽ$'+Nü~?;wæ³à“|öÙ¾ü{ÍnS<ú(OLœH»ví°, ]¯ú𚙙ɒ%K|Û`t]'wüxF<ø ¹&ðòK/ѪU+¶oßÎgÌàÝ£k"ÅÅűcçN:v讫¦´úê9‘·ÞšÍÜ·ßæÓ¿ý•N:ÕXæ´É[õû\'&¥°wïº÷èI(¨‡ÓÎh.º¸'7¬Ã4L2²²ÈÈÊdíêïiÓ®ýÑÑ{wï¦Ë…Ýj%5µÁ²¬ÕUZ\LfVº¦‰àĪa”’â’*£?¬^MZZíÛµ /8h…cF¬°H)//#;;ë´ÙS·ÛÍÁ¢"b¢£ÑT›Í†çè~ÑN'º¦Iyy–©©)gÍqj1妛ïæË/—`Húôë‹ÔùÊ BÈ%¥x““‘vï!äŠÅT´Ÿ`J6ÁP?@J[7Jl>‡Ö÷ä§‚Í» ðûü-â·¯\¹RXÁ9‡ÿè'¾oIÉ)H’D´ÓIÛví¸îÚkù÷¿¾­u7äd×îÝtèÐ9Ggú:žŒôt>ûl1· ¾C7x≉<þø8^ã ß~EEEtèЉ&„·;f 7\^Ÿ/,jJ«¯ž™|t¦+®¼ªJúžÝ»ˆ©eæ¯_‹ä” vî»p="‚n÷ä§õë°0ÉÌjEë6í(:x€Më$åtÒ®}âââq7rzáúêòû}T¸Ëé}eB¡ ¸ÈíÚµ­qÞ$ÃÐñûk~VLMMÁëõ¶6'Ng𦡨¼>ééØíìÛ·—¨¨(t]'22Šò£‰œ-"ÅÖ’Û¿ÿoذy5<8 $…®];ap•™Á¾õÉÌÎFs—£8ã“(Y÷#²]ÁT ,X‡×­!Û7°,<ÞÊÑ@Ð,9Y¯†Ž_îöÛsûíƒë-—––ÆÊËßeY&wüøðˆÊ‰L˜Ë„ ¹õ¦ÕWÏÉüÆÓ$o5`ÖEQÈÊnÅÖÍ?q~ç.†A¿ën8º½…Ýf£×e—“˜˜D Àçõ’ž‘Éy:át:‘]×ñy=X–UeÛãßãÄ´ºê*عƒìÖmˆŒŠ¢´¤B\dÁ9HµY¼, Ó´Â+É7UU‘eé¤Gbë²§~¿Ÿƒ‰¦VÎÖå÷ùIKOÇårÍÞ}ûˆŠŒDÓ4ŽÊÊŽ (2‰M¼­¢(ƒÁ-ÔxlñsJ (ŠÂzðé§K1âA‚ {v j%âWCÄGGQ¶g7&.GRˆ2w o2v*ޏ’»@ h>4…‹—àÌкm[¢£c°GØ)/«ìÕ+.:Î7M“C'(ŸÏ‹Ïç­±¾ã·=þ}miµÕÕµÛEÄ'$à÷ùÄAa4MÅn·WE96OIÍ ¯Ar:8rä‡#üÁ`€ää¢"#îhŠ¢‘žÎÁ¢""tÝÀáppøð‘&(’$qùWòâóÏÔ82^ETØlô¾òª&Y£ÏÖÒN¢—^} ‡]æ¾aƒ1 ³2–Ä´a*º¦£ê€i2TÐC$Ý^¿›ŸÚNzvºwïNnn®¸*‚fÊ©¸x N™÷ßëõ4ËßPväˆ8Á¹lÇN°a±qqìÚµ'lãj}P?ni ‹»¬¬ì“A©ÃžVŠ’²,IJJÄáp …ª&Y–IIN¡¤¤˜ˆˆJ‘b³Ùš4¾.ÊÅõ7ôgàM ë(”$‰`àÔ]h[œ@™üÔïÁªœjò£yó˜=g6EEÅ;âUþ1õÛ½[7B¡Ÿ.^L›6mj<’>øP\QA3D¸x5#ûk·“™ÕŠüüí´kwÑ1ÑH’a¨™ðy}ìÚ•O÷‹." 5+{Ú˜ö ÒH$ÉBRlÈŠ‚%AAÁ.,Ë¢¨¸I’PdUUÙ·¯˜/ßŪŸ÷²|Ó.Ibæwpͨ™rˆrDá°cI&7þ$®* ™"\¼šv»¸øx:» òñz½˜- N ~ dY&&&†Î].$1)Ÿ×Skðú™°§iŸ(DÕ%TÝÂ2 JŠK().! T 0²àýçîå™wÿÁm}»òìˆþ¦IÿßÎ!wØ5,[½ek·c™ºG„¸ª‚fŠpñj^7߈ˆbãbiÕª5’,FOàx,Ó$¤ªõ>üŸ){ÚÐö ÒHt-€l¨¦…®éHŠ„,ɦžÚÂB7L’â£qDØ1, ÄŒä8dI°*¼ÁK×PäšPVV………áÏ[¶laذa<öØcŒ5 €;w2uêTV®\‰Ïç£sçÎŒ3†›o®ù!*??Ÿ§Ÿ~š~ø€K/½”^xóÎ;/ü'r|¶mÛÆƒ>ÈÊ•+T^ hɯæ…$I„‚!BÁØ@P‡­lÎö´¥LKÜbŠl‚f€$?àÇ4MTMG–$$‰ððØ#/Ìç®—°âÇí,û~3†ipAë$&Íþœ€?@ll €Žj8XTï÷®Y³†‘#GòÜsÏ1xð` ¸óÎ;ÉÍÍeÚ´iDGG³yóffÏž]«@=z4 `Μ9Ì;—œœ¾þúë Œ¼¼<úõë'‰àœ@¸x @pnÒbJ@—0LÐuŠŠ üþ ÑN;!’$aê:׸—òÔLÒ»]H´®#) Å…éÛ®/¦¢¤Ó¯ÇS¯ 7no¾ù&}ûö §OŸ>1cÆðÀ„ÓzöìÉ;ï¼Sk];wîäóÏ?Çáp0nÜ8æÎÛ¨}——Ç=÷Ü#ÎZÁ9pñàܤÅ8K†ŠnjH’„ÇçAÕ ^ýãÍ<4òRÊÜdYB¶ÙœN,ÕC\jщ.bSˆqEàõUàLJÂÒ ,ÓÂÒÕ:ÈYºt)'NäÃ?¬"N¾ûî;n¹å–Fµÿ†n`Ö¬YTTTàv»™5k×_}•2]»v¥M›6\}õÕ¼ù曆ÎSU•Õ«WsÕUW5¨¼@ÐÒ.^@ œ›´œÃ@×44]Ç}ÄC‡ôæþq¦irAv ù㊶³gé?éг7Qn›_ÃeÃ^äÅûýOìÙ´gŒ‹ß‡ª›T®G_3£GfΜ9tëÖ­Z^YYY£xœ2e ·Þz+Ó§O*cN–,YÎ?æ®eÛ¶mãÙgŸåСCL™2€µk×Ò±cGâââT^ h靿…eY¨ªŠ¡i˜–XY Ž!I²$¡ØíØíözCüµíicÛ'Jcnަlé„‚*Ç]Åedâj`A¬ËÁô?å1oÑvÙuL8o,þyä($@ãõnÏMwW®ÜiUÎ mQû 1mÚ4ž|òIéÝ»w•¼„„>LZZZƒÛŸ››Ë!CxôÑGÊ”ñãdz`Á‚*åE¡K—.Ìš5‹~ýú…G^^^µ‘œºÊ -áâÕ¼ÄI0 ¬¬Œâ¢xêq‚s Y–‰ŽŽ&==“Ĥd"µ£Ÿ {Ú˜ö ÒXõ§j¨º˜¬]³—Œ'…ÝØl ©.ÖnÚÅØ¾¿¥{V7Vø×V¼NtD eþ2®m{ ÷õNzB:¾Ó2 ij¥X©…¡C‡’ÀC=ÄŒ30`@8¯OŸ>|ñÅŒ9²Áí_µj|ðA•”Î;×y2?/v^^“'Onpy ¥#\¼šš¦áñT°ÿ^ºvëNrr Š¢ˆ#TNÔTtð[·üLl|,®ÈXÔZC<ö´1í¥‘LCb³ÙYüÕ&-]Çm·^ˆ§B㫯¶çŠdañ>Þð–eaSl”V”P^^Î+š„ˆxF\>‚7þóF¥‚Õ-êrñ0`ï¿ÿ>#Gޤ¼¼œ»ï¾€‰'rÇwàp8øÍo~ƒÓéäçŸæ­·Þª5P¾S§NÌœ9“‡~€·ß~›óÏ??œŸ““øqãèСû÷ïgòäÉáÁÊËËÉÏϧW¯^ */œ ¯æƒ®ª(ÜO·n‘œš†ièº.vŒ@ %5-Y’Ù±};W÷ͬUœ){ÚÐö ÒHd#„©™èºJTT¦ÇäÒ^­Y¾b.W(v%§bG×uTCÅP b£bÙZ²•ŸöU®U©&u³A>—_~9 .døðá>|˜œœÚ·oÏÂ… ™:u*/¾ø"@€.]º““Sk=3gÎdÒ¤I¼õÖ[ôêÕ‹™3g†óÈØ±cÙ¾};))) 4ˆßýîw,_¾œË.» »ÝÞ òÁÙ€pñj>˜–…×ë%1) ÓÐEü‰@ Ô@Bb^§ÎÅϤ=mHû„@i$º!Cd”ÇLœðÈ&1ÎH¡ ñõ eånlŠŒ¡Øí8l‘DG(†fèÄÅǃ²Tó:q}‘.]ºðã?VIëØ±#ï½÷^ƒÛß±cG-ZTkþ Aƒ4hPy5ÅŸÔU^ 8.^Í˲0MY±¡ëšØ!@P²b«×ÝþLÚÓ†´O”F²{ßâ\.Þž5“ÂÂ|tKÓÀ45Ô…$AÐïÔd TÍd‚¡XºÀ04‚“ÌÌt‚jKj½€yyyŠw΄‹W³”*uÆî Aseýºµô¾òj‚¿°§B 47Ý|7_~¹CòЧ__Ô FÈWN0B.)Å›œŒ´{!W4(¤¢ýS² †‚xüRÚºQbó9´¾'‡<lÞ]€ßço¿}åÊ•âLœs¯f+Q@Ø0aO…@9Fÿþ¿aÃæÕ<òà(ºví„=ÂAVfûÖo$3;Í]ŽàŒO¢dÝÈvS5X°`^·†lß@À²ðTx+GWA³D¸x5Ç;»èñgöT”¦DQ.èЃO?]ˆ ‘س«U3(9p¿">:в=»‘0q9â¨B”¹Kðx+±SqtÎéWrÍáâ%‚ÓÍÎùø|Þjé.—‹öíÛŸ‘6©ªJáB Ý 11‰ÄÄ„:ËWTTpð`QåÒ8N!P~m^zõ%v™û† Æ0$,ÌÊXÓ†e¨èšŽª¦EÈPA‘dX!‘ó:vS 8‡íØñx}^Ú¶mËñë†ÁÞ½ûN« V]ö´¤´)Á¶Ò IDAT„ˆJ”¡ÇP5µÖÅÁËËË)**"!!Ó4)o•ò's˼ñæ[pÅÆQqâæDœ11ÄÅÇSZZJBb¢¸È‚s´ŸåÄφi é¿tZ ééG§ä­þ¬hš&¥¥¥´>R—=MMKc÷î]ÄÅÅ£j:1.îŠ ,‹”câ$>>M×Qeåådee5éÈeY|¿r9Ï>ÿ‘‘‘u– ƒ¼0e2oº™`àÔ¾×&NU@Ð9¯cÀçó‘Ÿ_Àüóéw͵|ù÷¥´nݺÅï›Y³f1ê±ÇèÓ§²¢ðÎÛï0â¡‘|õåßOÿ­½žž¹Òâb22²0tóÄQŠ“ìÕ«p—7Ù/HÏÈàÀþ½¤¦¦¢ibMàÜS(VÍJáh²×ë­Ó68bcc4¢|²ö4Òá u«ÖìÝ»—ØØ8tM#&ú—‘‡#’¢¢ƒÄÅÅ£k:ŠM¡¼¬Œôô \11M|oF½â 22²ÉF§eq¦ ‚æHS¸xEGGÓ½{7^~é%†¿——_žÎ;6ÒðÍ7ßpUŸ«IÏÈäâ=ùðÃy5Ö·~ý.ìÖ¹sßí?üáο 3Ù­Zóð#àñz«ÔŸ”œRåý‰iõÕS‹Êo~óâââpÅÄ0zô(6mÚT¥ÌñõÿšT¸ËINM«õ_î.çßß~Ãî]@eOä¶­[øöŸÿàŸ_ýõë~¬²íWK?¯ò~ßžÝäýëþñåRVü7÷q#+õÕ—À‘ÃG°Ù#ÄE&ª¡i½zõªõú•f€u:´nÝšŠ 7’,£ëÑÑ1¸ÝŸwÞ}—¾}¯>ýŪ?v/ C(¨V¶¸¸ˆÍ7Òí¢‹hß¡Á`€-›7QávÓïºë‰Žq±þÇ5äï¤Óù„·‹‹Ç]^V)€<®¼úZ\.Û·meÛÏ›é}e à G½uE:" (Š"â‚s¯{ Ó²0-°ŽþišZm[»=âhy£²Ô©ØØÓ¨¨(ZµjÅž½{qźP5g´IM¯Œ9)w—“‘‘A\\ìYeÓZÎJò»·ëüÿÙ{ïø*ªüÿÿ9·—äÞôž@BE‘Qá#꺋¸ÖU׆.MYÝj]q-‹î ŠÝÝŸØý®öØ‘ª”PÒ(!”{“Û§üþ¹ä’9Ï<Î#wÎ9sΙ33ï™×œFuu-.w=²¦ojFR‚ d•DÑBÁª"£)!B*(A… B–e^Öè^_ü"ç_x ñññânz!==‹Wrr2µµum†Y,*++©©©!##ƒÿë_á/¼ø"O<ñ/^ý5FŽö_ü꫼ýö[¤¥¥pÏÝcÜ9çvIX´äPÓin%ILLäÃÞ;– |ªáW¸}›61jôhÒÒ3ñz=È¡{wïæŒ³Æípâõ4Ò¿6?|÷ ÃO´Ú’‘§ŽN'áózIIM¥`óF¬6; în¥¥Ó‰ …Zˆø.—»U¬æqŒêAöíHb³Ùè—•EéÎ8Žý-8&“—ËEZZ1Nç wFŽ’g§²²†[¦Ý‰¬ 7£hMƒaUMEBBU÷+àý*2BájMÛ6‹k.ÿNG´¸'‚^JOÏâUYYI|;£ÿóŸ—™ÿÏù<òèc8æÍ{ Z´¶,Zô W]ue„8(//gôè3#üeòCM§f_5 <ûìs̺ývÞ_¶ìˆžY‘ ƒÆ1™Lx½ÞVñ¶oÝBzf&©iÔ×Õ"Ë2þ@€åŸ}yì€Áh$è:Fszf³™}ÕUa»®ª*z½ž`0Ø¥´¼>/&“)"M@Ðw8ø¾—e™@ H  o˲ŒÝÞz-‘æ°fw86¤+ö´ǃª(„B¡ý¶SC’thšJcC6«U”c…^o`çÎRâãcùÍo&£(*š¦¡ÓIøý~B¡¦‡ÕbÁ´ûpåï³ÝÊÍSnæ¿ÿ}EÜ­A/¤§»x½²x1ãÆk3l䈼úêb4MãóÏ¿àöÙ·sÁæÍáðeK—0é’Kˆ‰‰á¶™3ÃþÉÉÉ|òñG‡={Öá¤ÍŒÓyü‰'zÅy‹v8¨©ª$ÊáÜÿÁ¨‰s&œÏŠ/>cóÆŸHIMk!hÌL¸à¢n-,Ö^7†®¤åv¹pÆÄˆi†ANjÕ*RSSËž=»Û´7ûöÕ ×ëÙ½{™™G´l.—‹ŠŠJìQvB¡ÐþõE4dYÆjµQïj‡—””$ʱ@’4t#Š¢²wo96lÀl6£7èÙ°~»ví"0mÚ4ÒÓÓq»Ýètºˆ KÓ4ìv;&³ •ŸÞ$îJ —Ò]¼¼^/……E¼ñæ,Y²”>ü Íx·Üz+˜;—ììl4MC–#_^ÓÒÒXºt)“/™Œ,ËÌ™=€o¸9wÜÁ?zˆÌÌL¶oßÎãO<Á Ï?€ÓédGa!y¹¹á´Úòë,ƒ™>}³gßNNN555,|ê)FvZDœ#²Î‹ÖyŸë¸øDvíÚɰ# øå°¿Ífgø)#ùù§õ¨ŠJjz:©éi¬ýñúeçìo}ñ°«´”!'ç·+JÚ*ƒ¦i]J«º²’´ôtäPHŒAú Zë TUVE´f¬þñG’““ÉÉÎ/8¨…ÇŒha‘R__GFFú³§.—‹òŠ ¢ìvBÁ ƒ††ì6r(„Õb¡¾¾Mƒ¤¤Äæ<7%(Køƒ &“‘Å‹SR\‚¤“X,Œ#:Žÿþ÷¿ :”_ýêW¨ªÑÏXBâ©§ž¢°°M54-Ä#z%‡ÓÅ+>!I’°ÛlôÏÎæ¼sÏeÅò/ILlÛx_xÁ…\ý ””–’››Ë3‹žn'5%…%KÞã’É—¢È øÃ\n¿}ÿ~òI&_ú***ÈÍÍeîw„÷™9cÆO Ñã ‹…¶ü:K§UÝL<Ÿ)·ÜʶmÛˆeüøñ¼ðÂó½â¼%$&R\¸#Ü…«%F“‰üSF²iÃz4TÒÒ3Éê—MEù^6nX‡ÏçÃj³‘“‹Óƒ«›Ó w––×ëÁíªgô˜³üâ&dg÷osf^E‘ñzÛ^p0))‘ÆFÏ+S³8±Ù¬„B!ô=©))&vïÞ…ÕjE–e,+õû'9QDÊq#Pä‡ÕÄ믿Ýn%!1MÓ°øŒ¨þ ’Y‡A’ƒ¬Y³†Õ«Wsù—c4)ÛSF àý÷›‘šLf$UF¯k»Xzz:eeeáí‚‚~ûÛßòûßÿž©S§PXXÈÃ?Ì÷ßÇãaðàÁ̘1ƒ‹/nûEª¨¨ˆ¿ýío¬^½€Q£Fñàƒ2`À€pžŶmÛ„åôIµ‹WW[ ZÆ»ôÒÉ\zéäNã%''óýw߆·u:sfÏ·¨ÌwÌáŽ;ætê×Y:3iÒ$&MšÔ#õд.Ì:£×ëIÏÈdëæM <EQwÞ„ýûk N=ý âââñù}xIIMc@î@l6:½Y–ñ46 iZľ-7s°_Giî #««•ê*·¸É‚>H«Y¼4 UÕÚœ”£#‚Á :tÈ-±ÙS¯×Kyy9‹…P°i¶.¯ÇKrJ ÑÑMã§322ص{7V‹…P(„Ùl¢®®½^G\/D«×ëñûý]Z¨Q¯×÷-¢S¡Ñ`ô™£sæh>þøc*ÊË1ÊÂ|R?\o|d3£×ë1 H’ÄâÅ‹ †‚¼ýÆÛx¼fÏžMAA·Ývª{Ë+:ÍwÍš5Ü|óÍÜwß}LžÜôS\\Ìe—]Æœ9sxôÑG±ÛílÞ¼™E‹µ+P¦M›ÆÄ‰yæ™gxöÙg™>}:Ÿ|ò @„ xî¹ç¨¬¬–DÐgééY¼G¬þý±Û£0šŒÔ×5}Õ«¬(‡«ªÊ¾ƒ”ÇÓˆÇÓöÚ/-÷mù»=¿öÒš?œ˜ØX¼8I L(Äh4F´¢4en[C4é©—ñƒ©­­Ål6‡óðû}$$$bµXÂ]Ñôz=©))”WT`1›‘e³ÙLMMm I’8ãÌ1Ì{àž6[Æ#D…ÁÀè1¿8¤ÉbŽª@Y¹r%çœsN—ã¯X±¢ÝA¬>Y"”é—•I~~>)))(Š‚ÎlD21 ?—O>ý”ÂÂBÜn7¡Pˆ3Ï8“Çÿõ8sS°²½e$''ï@J4îïÇ×_}õ³fÍbÁ‚œ}öÙaÿùóç3cÆ ®¿þú°ßÈ‘#yþùö»X²lÙ2Ìf3³fÍâÙgŸmW•¿ôÒK¼ûî»Âjú,==‹—àðéμÿ ½òêjkʼnú²;Ȇ9œNJJv†m\»/êH¶Ðd4žžqè-(ØÓ&Q@§Óáóù‰Ãl6"“N§#1!‘ªªJL¦&‘b0zt|Õfeü„ó¹ð¢®=‡%IÂï;ü.´GT Œ7Ž+VpÙe—ñÎ;ï´)>V®\Ùaxø€• Š& …ðz½á–4 - £W^y%+W®äÍ7ß$66–uëÖ‘ŸŸ¦Fž(“ÉLÐçéð~ðÁÜwß}¼òÊ+äçGÖüæ›o¸çž{ºU&Là©§žbÊ”)hšÆ /¼ÀøñãÛŒûÎ;ï0f̘ÞH 8žééY¼@ 8˜ÌŒ 232zU™QÕJÁ ÉÉI˜ÍfEÙß­y[ªªÃd2’ššŠÛÝÔmµ§góÒë ø}>ü>ßQ­ƒ#ÞÅkܸq¼óÎ;mŠ®ŠßþùŸ›×=9 @(¶††$I"99¿ßÙb&!!‡ÓÕbe@ξýæ[öÕìCVšRi›iÓ¦ñÌ3Ï´'uuuÝ^àñþûïgÒ¤IÌŸ?hs²téÒVñTUeÑ¢E¼ôÒKÂjú4¢‹—@ ú"z½žÔÔÔQÒ$HÔðÇuI’ÂÎd2a³Ù1ô=Ò½ª7pTÆ ´%Rº#N4UA’ƒh-ê]Ó´ˆ 1b àïÿ;‡ƒœœR’Sš ¹ì²ßð̳ςNê°)ïÑGåÎ;ï$..ŽÑ£GG„ÅÆÆRSSî.ÖæÌ™Ãå—_έ·Þ 4A™={6o¼ñFD¼eË–1`ÀòòòÄ*èÓˆ.^½. ’‚^mÆz‹ ëâ¤#Íe/@ÞB ´*½îøÝÑʨ¥Hyàº%N¤`ˆRÄ&)|ÒšÅJ0$::šSO=•êª*FÉÇívãõzñû}4jM|{#Ÿ¸êª«xüñǹ馛ÂÙ›9묳Â3‚u•U«V1kÖ,œN'N§“Y³f±jÕªVñžzê)f̘!,ˆ ÏãõzÂ]»Zþ /!I:N‡^¯G¯×‡·O”“ƒ9ª³x5‹”sÎ9§ÃñmáSÅߪͣùĬGäãÛŠBt§ä«©Èhè5‰ì cIÝ»ƒ ÛGG]¼&NœÈË/¿ÌÍ7ßL}}=W^y%sçÎå7¿ù f³™_þò—Øl6¶lÙÂÓO?Ýî@ù²páB¦L™4ÍÒ5hРˆ8_|ñV«•Q£F‰»Q ô:º3H^ zÙ9¹mÎ(ì©(a‘âõz±Z­ÝÚO§ƒ :ލ¨¨ˆ[ hÇ1êŒ3x`øI$¥$c‰JAÒëчj!¾ ‚ÐH  ×ÅgœÁ[o½Åµ×^KMM Ó§O'''‡·Þz‹‡~˜yóæáóù2dÓ§Oo7… ò—¿ü…§ŸnZîÔSOeáÂ…q,XÐa@p,hþz‡x˜ Aû¢CS[½Ÿö&{Ú•òõYt[œÈŠŽè˜ªªªXöþû(²BS ˆ†¨š¶SIBS5Œ’Y–QõRøB0[,È©ýf±ƒ×$2dëÖ­‹ðËËËãÅ_ìrùóòòxûí·;ŒóÞ{[ ô:t’DTTÕUÕØì6Q!@Ð^¨èh4Uí•ö´+åëÓåP(ݽ“äÄX~÷۫ؽk²¦C•e4-D(Ô$LB?ª¤GS‚„B**McRÐ ¤ùQ• ž:ÿwÖXBjM_ 3ôF#ié™m';{ö(;’¤#4µLx=””1løpü@¯²§Ý)Ÿ(Ý䢋¯ä×b²)\ðË‹úC<.ü¾úª*¡¤”@´ f¤ò2üIMã}>ú¹08‹Ù·~$Uîz6•áõxÅ]%`4qÆÄ0pÐI”ÑØØˆz|‚£AóðƒÁCN&.> OcC»½tŽ…=íNù„@9&Nü%?mþ‘[n˜ ’ž¡Cb4™IOKe÷º ¤edª«%äóa‹‰§jÍjtF=jPáÕW×Óè ¡3®Ã§i4¸ )½áák2™p8dff!éDë‰@ ´DSUÁ`§/ÿÇÊžvµ|B z½ž“rGðî»K¹ñÆðûüHHì,)&R¨Ú[Ž7 Æn¥ng)*Ñf'n)@«Š†F7:Œ¸Ú]É] ‘H’DÀ àv #[Ù›íéñ2-±áx;ñýó!ÌF×ýv2Š"¡¡6%Q hJ9$”U# A¯hÜô»ëhôºØ²i;)ý6lsæÌw’@ @ Ê¡s÷Ÿþ ˜Íf^]¼˜EÏ,¢¢¢’ÊÊŠ¦-ƽ7¯¯i0,?Ÿ@ À»ï½G¿~ýöû‹Aò@ (‡Ùdÿ¾æÚk¹æÚk9­uõM@ @@ œ°hšF0D …P5±²@ 4#I:IBo4b4;] ñhÛÓî–O@ âÄïóQWWGeÅ^öO4"‚¦™¹ìv;))iÄÅ'`2›Úí¥s,ìiwÊ'J/FQ>üäC¾úö+Nv —þúR¬V«¨@Ð' …B44¸Ù³gC󇑈^¯#€ªªT”ïekÁ1¢-‚í,eq,ìiwÊ'J/æÎ¿ÝIym9¶h®üå_/ç……/ˆŠ}9doÙò󇓔Œª*Ȳ,*F ö“”œ‚NÒ±cûvÆžÖ®8Vö´«å¥ ( O.z’5Ö ©7ÿîfrsr)«,#)+ [”ê=Õ,ûpÿ[ö?¼^/' <‰;n»§Ã)îH@p£jÄÅÇ£*²"mKcCC‡‹/K{Ú•ò Ò ¸çÁ{ØY¹“¸Œ84Mãé—žfHÞtæÈרØÈ³ÿy–¬AYDé£(©(áùÏ/|^Üà„GÓ4TUE§7 Ë!Q!@Ð:½UU{­=íJù„@9Æ„B!¶lÛBÆÀ  i†ƒ´œ4Öo\9êÀTÆ¡`W‹ag ÏzàŒwRYZIMm ñqñâŽ}Eª4-,%ÇÖ¯eô˜±ø}^aO…@é½TVU¢(Mýþ †Õ‘›Á¶Ÿ¶‘–•@éŽRr‡æFLɦi^—½å{‰‹ë©‚¾$Q@Ø0aO(º¾xÐ<ñsþ:“ÍÄÖ [Ù¼n3îz7F““Å„ÏëCÉA¢Qü¶oÚΦ5›0Z<øøƒL›=­Ýæ²ôôôˆí‚‚FŒÁ3Ï<ö+,,dÊ”) :”þýûsá…òþûï·[ö¢¢"®¾újrssÉÍÍåꫯ¦¨¨("σݠAƒÚMoùòå\qÅäää0tèPfΜɾ}ûZG³ë.ÝÙ'==sÎ9§ULMÓ7nÜ!åß“´¬‡¼¼<®¼òJ¶oßgëÖ­\{íµäåå‘——ǵ×^KAAÁquœAûOSM8á„îøtGËŽõv{*Jï¤lok6¬!¥ ©ýR9ù´“xò@Êw•³mã6E!½:å»Ê©,«$53€=%{ؾi;ý3È•OFNI™I¸ü.ÞÿèýNó]³f W]u÷ÜsS§N ¸¸˜Ë.»Œ±cÇòõ×_³mÛ6æÍ›Ç’%KÚMgÚ´iœvÚi¬]»–µk×2bĦOŸ~àøÊÊ"ܽ÷Þ˵×^ÛnzÏ=÷S§NeãÆ¬\¹‡Ã‘^Ë4V«•Ï>û,Âï“O>Áf³õŽëg]¬]»–3Ï<“™3g†ÃJJJ¸âŠ+˜8q"ëÖ­cݺuLœ8‘+¯¼’’’’ãê8@ è ñÓO?µrÅÅÅǬLÁ`’Ò ©­­ë4¾ÛífÛ¶íáõzOˆóÒçJÁÖôæÈù¦&#ƒ† "%=…«7¢( UåUì)݃Áh`óºÍH:‰üÓò±EE¾@Ú6Öÿ´¾Ã<¿úê+¦L™Â‚ ˜§Ÿ~:Âï©§žbÆŒ~Š¢ðÐC‘ŸŸÏ€˜6mápŸÏÇí·ßNnn.Ççé§ŸŽh™Ø¹s'7ÜpyyydggsÍ5×´j9ê‡ÃÁ´iÓ"ZPæÏŸÏÔ©S¹îºëˆŽŽ&::šë®»Ž©S§òøãÒq Ž=ñ ‰¢ö£uÑîØÎÚÕ?†·?\¶¤ËûI·æÇUîØÑ+Ê"œpÂ]מkô4Ò¯úgp™Y™¸+ŸÃ±§UÕU˜Lf¢¢£ÙW³ŠÊÊvãÖÕ×S¶w/Î'V›²½e=R¾ð»d @cC nw—\cCCL›ÜçÆ ädç )mŸ"gœ“Añö›µ¤d¤`¶³áû œ4ü$’Ò’ÚÜÇïñ3dÌvóûàƒ¸ï¾ûxå•WÈÏÏûæ›o¸çž{ºUþ &ðÔSO1eÊ4Mã…^`üøñmÆ}çw3f ©©©]Nÿ«¯¾âÔSO=fçç—¿ü%<ò«W¯fÔ¨Q|÷ÝwÔÕÕqÑEEÄ{òÉ'Ù¸q#Ÿ|ò ‡ƒ»ï¾›yóæñü€Ç{Œ††V­ZÀܹs#ö¿þúëyðÁY´h¡PˆþóŸÜwß},\¸°Kåt»Ý¼øâ‹ :4ì÷õ×_ó׿þµUÜÉ“'óÜsÏÒq ެð¨ÙW-*¢Û ¥ãGœ,Ë”3öÜs±Zmø¼¢£4¸]ÝÎò£÷—ráÅ¿î‘âŸ4x«¾ÿŽƒ¡(Š8ŸAŸ´cZ«mUQðí<¯i`6›@ÓøiÆv“‰‰‰¡_¿~GĞʡ¦ñѲªâˆŽÂír¦‘œœ¯¾¾žŠŠ bccC!ôz=Rvå ƒüüóO|ûÍW‹ ƒÓGŸÉø {2‚>)PNv«Ö­Âh3âiðàóøÂá>¯{´K~w z½ž’í%T•W¡©H`³ÛpÄ:PC*±öX.¹ø’vó›6mÏ<óL+qPWWG||÷f»ÿþû™4ióçÏšÆ3,]º´UúåàmEUÉ>Z(>?)©)ûÇKm¾cUWW“u¥8XÓÖ IDAT#{š”œLii Ng ÁLTt4.· Â"¥YœÄÄÄ’eôzuõõ¤§§÷èà{MÓøáûo¹÷‡°X,Æõûý_«ý[ ‘–å/++CÓ4vîÜÉܹsÙ´iS8íØØXª««[µXUWWׯËPWŽSpˆ/îû_Ö=EEżþÆëŒ;ç\>úð²²²N˜ã|ä‘G¹ñÆxðÁyGïÑÞÉ—¹êÊJRSÓQdõàVŠCüªçvÕ÷ؤ¤¦²wÏ.’’’…Äš.AßS(ZÛJa¿wccc‡¶Ál6ãp8ºÔ¢|¨öÔb6“•™Å®]»p8œÈ¡Qö-)f³…ŠŠrœÎäŒÞ §¾®Ž””T¢£¢z|0¼¢(Š‹ÅÒc­Ó}òsíŸïû3qqdÊ&Úñb—Øô"ùò/óÊ“¯PVZFfvfÄK°-ÊFfN&Y'eñàcRWßþ¦«®ºŠÇœ›nº‰O>ù$"쬳ÎêpÆ®¶Xµj³fÍŠƒÒÜ©%ÝϰdÉfΜÉóÏ?ψ#Žùù1›ÍÜ|óÍÌš5‹)S¦`6›[ÅINNfÍš5ìÙ³'ž˜˜±½{÷îˆý§NÊ7ÞȺuëØ³g[·n˜U«eº#Iýû÷gÁ‚üùÏ};v,ï¾ûn«øï¾û.guÖ!§àð°Ûí –Ï?zˆk¯½†üãápX˱%Ÿþ9¿8k,)©iœ2b$¯¼²¸Íô6lø‰“ó‡ñì³Ï…ößÿþ ƒNLFfSn¹…†ý×Csúñ ‰¿öë,öؾ};_._δý“ṉ;ãvÕ“”Üî¾ÞUÏŠ/?§´¤iªªªlÛZÀ—Ÿ}ÊgȆõë"öýøƒe¿wï,å«åŸóéGðÝ×_ájѲÒYZÎØXjkj1Mâ­…Bœzê©íº@ pTÊa³ÙÈÊÊÂív!étÈr»= —ËMyùÞ&á"Ëèt:\õõ¤¤¤ãc&úã]ì,-áýeKY³vM«8Ÿ|ò)W^u>ú¿ÿ}S æOü‹ ?ýÄò/¿  ` ‹•î8ЊS³¯:â÷Á~¥Ó÷Ü{/úÓ»ôU«ç¾<6µ"wäö¨(d9ök¦²²‚u?þÈГóÉ>£ÉDqÑÜ.ãÎϯ&_†Åb¡¸¨0b_‡3&üÛÝÐÀ˜±ç2éÒËÉìןm[6£ÓéÐ4­Ó´4MÃb¶à÷ûÐëõ‹p w⸠(…¡¡jª¦ j*Úþ¿`(ÐÊ5‡©šÒô«ƒ|zžZ­V233q¹\ “†‚Mà œBrI'Qïª'9%§ÓÑ­z¥—a2™Ðëô­Ö.ñz¼üüãÏD9¢HÉHÁç$15‹ÍBfN&[ÖoÁUÛºtÀ ';§Ó|Ï8ã Þzë-yä‘ðìM999¼õÖ[,_¾œ1cÆ0hÐ þú׿2iÒ¤vÓY¸p!?üð#GŽdäÈ‘¬^½ºÕÀî ´š*¸=xàÊÊÊ8çœs"Öùðx<‚¦YÔêz(GBÀœ~úé\qÅ 0€3fpÁ„Ãïºë.ìv;£FâœsÎaäÈ‘ rΟ?Ÿûî»ÜÜ\.¿üòvÅ\g\sÍ5á1;¹¹¹¼ùæ›|üñÇŒ1‚#Fðá‡òÆoV·9AÏœœÜît‹…ÊÊJjjjÈÈÈàßÿúWDø /¾Èsçòúë¯qÑ…†ý¿ú*?üÒÒÒˆŽŠâž»ÿÆû|Ðí²u7+VPSSËo.½´Ý8ÇrƒÁÐÊÆnßFÁ¦MŒ=šœÜx½‚{wïf؈D;œø}^ú÷Ϧ¼lVkÛSn<ít¢Ñø|^RRS©¯«Ãj³t+-1ÞK D¨…ˆÿàr¹[¹fÚ[ÿîHµ¤ôËÊÂír£×ë øýþ¦–—‹ÔÔTbœÎîŒôÉ1(³¦Íâ±'Ùè$R]QN§cаA˜-fŠ ŠHÍLÅh2Rº£”Aùƒ:r(; w²»d7ñIñØì6| >&Œ›@Œ3¦Í|î4dÈÖ­[á———Ç‹/¾Øå²çååñöÛowç½÷Þë0üà1q8k tgßÎâ¶ ×étÜvÛmÜvÛmmƵZ­,X°€ 4½òÚk¯…Ã/¸à‚ApÓM7u»|ãÆ‹ 3dÈN'èÎq zŽÊÊJâÛýŸÿ¼ÌüÎç‘GÃáp0oÞƒ\0qb8|Ñ¢g¸êª+yPÈòòrF>3¯e—Ñ®ÒÝtî¾ç^{ô‘CÊëp™`0ØéG ¯×Û*Þö­[HÏÌ$5-ƒúºÚð4”þ@€åŸ}yì€Áh$è:Fszf³™}ÕUá/ªª¢×ë ƒ]JËëób2™"Ò}‡ƒï{Y– ‚Áð¶,ËØí­?l4‡5»Ã±!]±§Íx<TE! í·’¤CÓT°Y­B œœuæYd¦grë¬[‰M‰eÀàá._Š¢àið„W—$‰€?€Ùb&{`6Š¢P·¯ŽŠ<òÀ#Œ>BÜí½”{ï½—9sæ ¹ÿþû[ Aßâ•Å‹[M¬ÐÌÈ#xõÕÅhšÆçŸÁí³oç‚Í›ÃáË–.aÒ%—Ãm-çLNNæ“?êÖTÞmÑÝt¶lÙÂ//þU„_o™69Úá ¦ª’(‡U=Ð5öœ ç³â‹Ïؼñ'RRÓZ3.¸¨[‹”¶×M¡+i¹].œ11bša@F§“ZµŠÔÔÔ²gÏî6í;}5èõzvïÞCffÆ-›Ë墢¢{”P(´¿7ˆ†,ËX­6ê]M½{’’’„@9HKMÃe'1%r iYQ± ±áí¬Yn.dè©Më]èõz’P*ÉIÉâ®îÅdff2vìXü~?çŸ>wÞy§¨”>†×륰°ˆ7Þ|ƒ%K–òчmw›ºåÖ[ùÃܹdgg£i²ùòš––ÆÒ¥K™|ÉddYfÎìÙÜxà ̹ãþñÐCdff²}ûvâ ^ؿتÓédGa!y¹¹á´Úòë,ƒéÊÔÅGD°t¡s\|"»víd؈‘üë²Ùì ?e$?ÿ´UQIÝßU45=µ?þ@¿ìœý­/v•–2ääüvEI[eÐ4­KiUWV’–žŽ Wý±AO™±Öë TUVE´f¬þñG’““ÉÉÎw×´æ}µ°H©¯¯###ýP Ò© r¹\”WTe· 1 444`·ÙC!¬ õõuh$%8 ÷Yb4IKNÃ]ïÆãhzp•U“‘’Aÿ@?u‹Õ‚ÙjfWá.2d"I^³ÁLZ‹¯€‚ÞÇ”)S˜2eЍˆ>H|B"’$a·ÙèŸÍyçžËŠå_¶¹N À…\Èõ×ß@Ii)¹¹¹<³èéVqRSRX²ä=.™|)Ьð‡?ÌåöÛgñï'Ÿdò¥¿¡¢¢‚ÜÜ\æÞqGxŸ™3f0aü=ž°Xh˯³tŽ').ÜÑæJÂF“‰üSF²iÃz4TÒÒ3Éê—MEù^6nX‡ÏçÃj³‘“‹Óƒ«›Ó w––×ëÁíªgô˜³üâFdg÷osf^E‘ñzÛ^p0))‘ÆFÏ+S³8±Ù¬„B!ô=©))&vïÞ…ÕjE–e,+õûg”=QDŠ¡/_<ð¾ïÏ”—£( O¼˜_Œþ÷>zoD¼g gŸq6Ÿ~ù)ƒ„¸}øQqG ½®¶´Œw饓¹ôÒÉÆKNNæûï¾ oët:æÌžnQ9˜;î˜ÃwÌéÔ¯³tå˜Dw¯_ÛG¯×“ž‘ÉÖÍ›4xŠ¢0î¼ û÷×0 œzúÄÅÅãóûð46’’šÆ€ÜØl6tz=²,ãil@Ó´ˆ}[þnæ`¿ŽÒ*.ÜAFV?,V+ÕUnq³}ƒm˜¦i¨ª^I¾«ƒAt:é[b;²§^¯—òòr, ¡`Ó ñ^—䔢££ÈÈÈ`×îÝX-B¡f³‰ººZôz]›k¯z½><ûiGøý~ôz½(‡‹ÝnçÉÇžlu¡ÚL6êkêqÆ9ñ4x@†ßßô{¦M™&îl@ 脬þý±Û£0šŒÔ×5}Õ«¬(‡«ªÊ¾ƒ”ÇÓˆÇÓöÚ/-÷mù»=¿öÒš?œ˜ØX¼8I L(Äh4F´¢4ÏAÒ¶†hÒS/ãS[[‹Ùlçá÷ûHHHÄj±„»¢éõzRSR(¯¨Àb6#Ë f³™ššÚ(’$qÆ™c˜÷À=m¶ŒGˆ ƒÑc~Ñ#¸ÄeÙúD,xlϽü«V¯bÐÀAÌüËL1%¥@ èó4Ïûßzå1ÔÕÖŠ)ôe;v s8””ì Û¸vß‘"l¡Éh ==ãÐ[P:°§M¢$€N§Ãçó‡Ùl&D&NGbB"UU•˜LM"¥y¿žÂj³2~Âù\xÑÅ]~öû¿ ­(m`·Û™3sލ@ ‚˜ÌŒ 232zU™QÕJÁ ÉÉI˜ÍfEÙßMEÓ4t:ªªÃd2’ššŠÛÝÔmµ§góÒë ø}>ü>ßQ­!P@ ‚^‚^¯'555B”4 5Ü:"IRØ™L&l6;ƒþ¨¯uÔÊ}¯mW†@ 8$fML•p"Ó…Aò@ЫÍXo±a]œt¤¹ÌÍq[ ”–B¥×_O ñìMUسý[*wn 6%~ƒÏÅ`²ˆŠ@ U!}Ö¡PÖ~ö$VS)Iv<þx-£ýWq‡‚>MwÉ Ao";'·ÍY…==^Jª,MUضê-ê*·¡©Ù§\Ltlȵ¤æ4-Âh‹²ái,gç–¯(ß±%ä'*®'y5&K”¸‚Á $IM3Ї©@ ´ÿ^©©Îúz,íiWÊ׋Jß¹~Zþ³müî¼lÞ_]Ɔâzâ&n™8€/6Tð¿ïv©¤ÅY—ŸÄÆÒú6Ó»z\?¶ìróêŠRΚÈÕãúñäÒíüé??EÄ?kH"›±ÝózÖ¾ÚTEI¥£AÇ„S’¹úì,žÿ¤(§9͇o~H×GW÷éj}4—Çn1pñ¨4&Ÿ™Á+ËKÃṩÑlßÛÎ7(«œ”MÁnw8Î,'ÁÚ'®y '$‰€?@À•!ØÊÞlO—^?º¶^&Odçª*Áá4G³ÑddаA¤¤§°qõFE¡ª¼Š=¥{0 l^·I'‘Z~„8pÆEáªÜÞf^Íõ™›ÅuçeóúW;Y_TŸpJ +~®äû­ûðøedEeWµ‡W¾,i·üIN _þT/ ã È|ñS‰NK›quŒœÀ×›«ÚMï…OŠØºÇM ¤Ðè ñÁeôK²wx<ÝqÝÙ§+õÑ2½F_ˆ%?ì!/=:"¼´(v”¹ÃñWl¬d\~RDœsò“X±±²O\óGÓ @ rb;{Lo¨ÍÊpÆ94l?ÿø3 É d ÈbÃ÷HLI$½_z›ûx|DÅ÷o3/€“û9¹ì¬,^ú´ˆe ṩÑl(®ëVù·ìvqN~2fƒ³QÏ9ùÉìvµwä€8Š*qyB]N?7ÍÁÎ*O»ÇÓÝúîÎ>]©¶Òké§“$ú'G±coc8lcI=QY‰v4 ²“£°™õl,©ï×üÑt@ ‡KŸëâeMÃ5€í[¶oÅÓàÁçñ…Ã}^öh;—üîôz=%ÛK¨*¯BS5Àf·áˆuàñ„ð, yV»õv͹ټòe {öy[—Åb ÑêÖ‹Ý’ï÷0óW9d uA.ÛÞ* —ŸÄ>/îò9M‹³òë3ÒyþãÂv÷é,­ÇnÑÊïÑ›N‰Ø¾óÅõmŸ›.ÖGs쟞¾_ø5w¥³SUïÇ80†FÕ4Vü\É9Ã’øÏgÅœ;,‰?W¢¶h‘@ ôRÒHt¿ÜB½ä&9-‘¨Qá>yµÕµ¡È :½O£‡¤´$²f‡_f}Õ•5¸jý <ó2túö«ñovqùYYxü2%a¿ŒÝb Á'w¹ìWëÇÚµ¬ÜTûEÈUãúñÜG…ñ†eÇPíòSUïïRºR£¸êì~ü_–°Ï}è}"Ý<¢]Ar0]­fÔ4HÞÍ;ßì ‡ Lf{™»Õ>kvÔrþÈTNɉ%5ÎÊËŸ‹»ÿ¤`Ë&Q @ ô29ùðJHVNøJÚòõóœtrf‹¹UX\bEE¼üĢL&¼/£Ï—$ [”~Q62³U6ÿø CÆß‰ÉÝf^ßm©Âí rÄ^[^¦{o/ssr?'_í]!;9Šg>ØŽ¢6}õÿxMß8²Õy;wx2ï|½«KçsÄ€8.“É ï`wµ·Ã¸‡r}tuŸ®ÖÇìg×´–›ÍÒvGä’BÀÊ•\=®¬.ÔûÔ5ßW=f¬¨@ z®úºÃ('zwE¡'Ô¦8(ÞZLBJ5•5M®‡æQ¸¥¼“óÐëõqu:Î8;žº½S¶™ž¦il,­ãùCL™˜Ç{ßïæÇmûøhõfMLHVÙP\K ¤’ž`cÂ)©¼ôia›éUÔùø¿©¬ø¹b¿I¡¼ÖqÞšg¨*®hh3OÅíϬnÚX ã†%óÔÒ­Tv¡µåHÎâÕÕúh/=«IORŒ…âŠÆˆ8Í¿?__ÎçëËék×¼0€@ Ž'Ú('öëôFB ¨ª±ø¢×ã¥ps!))DÇD#‡dÌ3›…ÌœL¶¬ßBVNθȕãÝõ>RiíÖ[³ÑÞF,ÝÊ´_"Êbà‹ TÕX°d+Îà×£31u”íóòÅúòvÓûïgE\qvÆŸÒ4¥¤²‘ÿ~^ˆ4>ï –åºdL&¹*?"üϯ%(7MÃûä´Qâ`Ö¢ÕÝ(]‹×Õúh/½¼tÅå (ŠÖ­ü…>@ èÕåÄ[ËÈŸÄ–Ÿþ™ý‚TWT£Óé4lf‹™Â-E¤f¦b4)ÝQÊ üA 9”…;Ù]²›¸¤xìvûªp¦œ‚Ñlo³Þn{úLjí²}^þößÈñu>^øhG—Ë^QçãÉ%Æù×»[: oY®ƒËØYüîÒÝ};«ŽÒ”á`ënWĹè,ÿÃ96@ ÁÑ(}`-ùØô“±D%R°ü_då$1`ð€p—/EQhlð„Wo^LÇl1“=0EQ¨ÛWGѶ=䌾 gr^Ÿ¨³ã“2¬ø¹Bœ@ ‚J ô‘w;“=‹ÍFbJb„aÁ.âcÃÛY²Ø±©“O 4M;œœ@]]“-VtêEÜûÊQ ÁBÓ4‚Á J(„*æ‚0’$¡“$ôF#F£1bAo°§Ý-_/(}ã¡#éôèL±¸êÜ8cì*©@&k”Žg±Z0YLl/(!ï¤þH’„×ãÅï—0ÛãÅCZ ô qâ÷ù¨««£²b/ ¢R`?:»ÝNJJqñ ˜Ì¦ðò½Ážv§|B ôrFßDÑ/³gçNE!6cé9C¨Ûþ Iâ™,Ñh¶ü´v=&£ Ñ s«' O …hhp³gÏ.†æ#!!±Õ¬†@ÐWQU•Šò½l-Ø‚#ÆA´ÅA0è5ö´;åëµ¥/uß×, U‘Eë±@ ´Al\, HŒñ8–ö´+åë½E>^\@ }ÂÂ"<žÆVþÑÑÑäää“2ƒAÊö–¡È qqñÄÅÅvßívS^^Á '55›Í&ÊÑ")ÎNM‹ \FUeЦ iH “$BŠŒN§CÕTP BRiÚFT`(Ȉ#¹}ê 8ÑâÎGŒø„DjöUŸ0ǣѵ. E;¶ãª¯gä¨ÓøhÙ.üÕ¤c^þµ?®"&6Žyyââú(Û°FO#ýû÷§åº…Š¢°k×î#Ú«#{ZU]…ÉdFoÕ³¯fÁPäää6ãÖ××SQQAll,ªªR¶·ŒÜÜž³qÁ@€` Ðåº$ ‹ÕŠÁpxã¸(z½òò½TUUpã×SYUIc£‡`(H°!DC¥‡F½ ÐG((£i*!—ЦjHNd Å¥¡Ò±qãÏØ¢£¹yÊÍü÷¿¯ˆ»U 8‚DYô¨*¨šŠªj¨š†Å(íÿÝ´€T³¿hì>JÇgI–eJ‹‹{î¹X­6|^ÑÑÜ®ngùÑûK¹ðâ_÷HñO<„UßÇÀAƒPEœO OÚ1­Õ¶ª(øöž×40›M iü´aC»ÉÄÄÄЯ_¿#bOåŒÁ`@VUÑQ¸].дV"å€8‰A…ÐëõHH=Úu, òóÆŸùö›¯:gœ9†ñãÿŸÏ×7Š$iHz:½)¤§tû.½LÅÎJ¤ì úÉ2ÁeB  í“àâ$¢ãÍ& IDAT½†ü?š^Áp½µÀ€á;š^åçŸ7‰U 8‚üoÙ§G=Ïø„ÄV~=ÑŠq¤[CÚJ¿§òlY'‡“^WZP**ʉ‹#..§1"þ¡<2/¸ø×D;œ¸AÜŒ-* gL ÕÕÕįʼnT è£ßYÞVT…|ࣅâó“’š²J^©UªªR]]MÖa”ŽìiRr2¥¥%81C2QÑѸÜn4‹”fqCH–Ñë ÔÕדžžÞ£û4Mã‡ï¿å¾Âl±t7à÷ó÷ûïæ‚ ÙwJP–Êø%ŠR6Qµi³-+c>!1â%?>!‘',à¤ÁCÈÌêÇm³fÚÌ»´´”k®¹–~ýú“–žÁW^Euuu»é·—ggÇp(¾p‰ IÉí>àë]õ¬øòsJKЦ/‘Û¶ðågŸòÙDzaýºˆ}?þ`YÄïÝ;Kùjùç|úÑ|÷õW¸Z´¬t–€36–ÚšZ FñJ ´& qê©§¶ëÚ³ñ=Íf#++ ·Û…¤Ó!Ë!ìö(\.7åå{›„‹Ü4þÚU_OJJ*11Îæ<7E§‚¬4•8T&Ch: ê%4·†æT@Òš­´R ½UBÓ«h{$´Ý  5jhµ!dö–Wt»ÅÅÅ\vÙeŒ;–¯¿þšmÛ¶1oÞ<–,YÒî>Ó¦Mã´ÓNcíÚµ¬]»–#F0}úôpøâÅ‹ùá‡X¾|9_~ù%ßÿ=¯¿þº°AóÄÿbÃO?±üË/((Ø‚Åbåû‡OŸ1“?ýñ.v––ðþ²¥¬Y»8ÐQ³¯ºUëÌ÷ßÏ×_­dÝÚ5TWWóðô™÷o¯¹–ßOý=[·°µ` ¹¹¸ûî{ÚM¿½<;;†#ŠÖôA¥#°GE!Ë¡°_3••¬ûñG†žœOþðM&Š‹vàv¹wÞx~5ù2, ÅE…û:œ1áßî†ÆŒ=—I—^Nf¿þlÛ²N‡¦i¦¥i³¿ß‡^¯ïôX„N¸ǵü(áh©j ª¦¢íÿ †­\s˜ª)M¿:ȧ'ì©Õj%33—Ë:‰`(ˆÍnÃát’CH:‰zW=É))8ŽnÕCŸ(+W®D’¤.»•+W¶›–O–5éø6¨6;Pt2Zƒ„ö~( ÝØ€ôä>¤~2Ú Ã\7º~!´Ïlø^6!Y5”¨fhlhèö1ÍŸ?Ÿ3fpýõׇÙlfäÈ‘<ÿüóíîSXXÈÌ™3q:8NfÍšEaaa8üí·ßæü#)))¤¤¤ðÇ?þ‘·ÞzK¼M ‡Ñ"ÐÒ…?¼ú*?üÒÒÒˆŽŠâž»ÿÆû|·X,TVVRSSCFFÿþ׿:ÍkÞƒ’˜˜Hbb"óœÇ;ÿïÿµï»o¿áì±c±Z­8þö׿²|ÅŠn[gÇp(ôt—8ƒÁ°¿ïv ;¸}›61jôhrrâõzìݽ›a#Fípâ÷yéß?›ò²=X­mO“9ò´Ó‰vDãóyIIM¥¾®«ÍЭ´t:¸QÁµñ\.w+×ÌÁöíHb³Ùè—•…ÛåF¯×ðûýM-'.©©©Ä8'Ü9¢cPÆÇŠ+¸ì²Ëxçw7n\›"¦£ðf$%ˆLtP~Qú¯“Qî­G››Œ”¨ >é¿„tš)V‡:%Ã娻¤M*ê·zÐx›M ’’üæ›o¸çž{ºµÏ„ xê©§˜2e š¦ñ /0~üøpø¶mÛ>|xx{ذalÛ¶MØ  ‡_¸ËËË=úÌHÛÒbnÉÿüçeæÿs><ú‡ƒyó䂉ÿöî;>ª2_üøgzf2é$¤I û⊊Q° «W\DEw]WÜÁU¼®.%XÖ†x½¢?ôºkE]P¤Š´B¤NŸS~„ ÒCÐ ß·¯#™óœ9ç9gÎ<3ßyZ‹Çj8ŠK™”••5¹Ýwß}Ǭٳټy n·»Ñ±Ûªµs8‘U!´¸ÕjÅãñ4Únçö|Ò22HIM§ª²EQðùý¬ü$|0`¶XTÝGýþl6‡ÊËBå·¦i˜L&@›öåñz°Z­aûBœ:Ž}ß+Š‚ßÀï„+ŠBddã6êÓê—ã)CÚRžÖs»ÝhªJ0äŒ3xýõ¥èºÎ§Ÿ~Æï¦ýŽ+¶nmqŸ¡É¼ ILlº?Çø wòèìÙ\rÉÅDEEár¹èÙ+«ÓÏáçÍá²RœÑ1hÚÑÎ’ÃG\ÆŸ}ÂÖÍINImÐØqÅ•íšX¬¹—Ú²¯šêjbbce˜a!DˆÑhhT+røpìo²¼9tè0&“‰ýû‘‘~BóV]]MII)‘ÎH‚Áà‘ùEtEÁnwPU]×/))é—õšüi¤Ô7ãjOp k*†`Õ¯Ã:+濆3¼èÿgÇð§ræ·]ŠÌè> Ãýe¨?˜ð}jÀz¾Bä/¾·MÐÑ”ºv†íÇáÇÛõœéÓ§sà 7ŸŸO~~>cÇŽeÚ´i¡ôÈÈÈÐ/ªP7‚„Óé”CˆNvÇí·3ýþûÙ»w/Š¢ŸŸÏ'†Ò'Þu;vì ¬ë?¡4v2&&†4ͬ7sæ#:tˆC‡1cÆLÆ^}“Çöù|Ø"lØl6 ˜~ÿýaéMí¿©u­CG´¹“|Ú7Ç'$RXX€ÙbkóìpD2øô!Ø_ÈÁBi)i©üðÝj öQR|=»ä‹Ï>¡¬´¤Q»ñ†7Õ®¼µ}éºNyi)IÝ“Q‚Ai—/‹,Òt²Ò2jkj¨­©ASU¾ÿî;~?Y½z‘Û§¹}úЧwzçô¦wN½s²‰ŽŠ¢ªªò8ú ´žçªª*ãpØ ˜ŒFjkk©­ua”`{DUU•”––ý¢ú üdà 7 Rî»ï>,XÐæàÀºFà"ðôc¬6`zÏ g{¡Ôf 6bX…ÞÇò½‰@E€`=VEYkD7jø Ã6lØ0>øà&L˜Ðæç¬Y³†W_}›ÍÀÔ©Séׯ_(=77—72lØ06mÚDnn®|›¢“ýîwSùÇüù\{Ýõ”””““Ãï #¯Ém·ÝÎÞ}ûÈÉÉáÙÅy¡´)“'3â’¸Üî°&dçœ{Ã.ø5n·›Ñ£Gó§?=Øä±ÿñg˜9ón¿ýRRR˜2ù^Þ}÷½÷ßÔºÖΡµ¤þï5s·ÄDöìú1Ô„«!‹ÕÊÀÓ‡°eÃzt4RÓ2ÈìÑ‹’âƒlÞ°¯×‹Ýá WV11±T·sxáÖöåñ¸©©®âÜó‡á÷ûä !„ W¯žM~%TUÇÓäs’’q¹Ü',OÕÕÕ—”Ô'Á &³ —ÛMJr2‹•ýû ±Ûí(ŠBD„ªªÊP¾~ ~ÒyPꃔáÇóÅ_´98ðj*šêC7€jTÑWG Xtp(˜~°× /l®‹9 VÐ=‚«ÌxU8!¸tÕˆ!BèJÇšxýþ÷¿çúë¯Çf³1jÔ(ùùùäåå5ÛQ¾OŸ>,\¸;ï¼€çŸ>,;v,óæÍ#''€yóæqÓM7I‰!D´ôÅÛh42}Ú4¦7¨Álèºë®åºë®m2íþû§sÿýÓ­Ÿzß}L½ï¾Vó2êÊ+uå•aéÔ|4µÿ¦Öµví½&í VtV3™L¤¥g°}ërûõGUU.¼xÄ‘çëXÌf†ž}ññ x}^Ü.É)©dçôÁáp`4™P·«]×ÞÛðïÐçÊ1ëZÚמ]?’žÙƒ»ò²y³q :¶ ÓuMÓC3É·U Àh4t¸V¢¥òÔãñP\\LDDÁ@Ý ñ·‡îÉÉDEEžžNáþýØ#"ƒØlV*++0™ŒÄwòD´&“ ¿Ïצ‰Û3ïY— Pêƒǃ½zŒª-¨¡(Œ#&»±n88MG³©èºŽÉhÂb´ ª*ªQ%€£Áˆ¦i˜m&4MÃh0 P×Ä«…›ª©¹PŠŠŠÈÊÊbÙ²e<þøãÌ;¯×KÿþýÆ >ÖÂ… yøá‡ÉË«û5vèС,\¸0”~ë­·RXXÈE]À¸qã¸ù曥Bœ”2{ö$2Ò‰Åj¡ª²îW½Ò’âPº¦i:&(r»]¸ÝM÷½køÜ†7·®¹} 8˜Ø¸8\Ñ©ŠÁ`à¼óÅœÙ4Y3T˜Íœwþ°“3@Úœ(ª‘§“»—ËS×”KÓÑÐ0Íø~bãb ƒTVUc6Q‹Õ h F@GÕTbbcA£¡é.8EEE-æ¥wïÞ¼øâ‹mÎ{ïÞ½yë­·Z|ñg̘ÁŒ3¤”BtYõãþ·…ËUÛ%Ï¡²¢B^H!Nårì˜2,:&†½{ Be\³ßÕ´ºÑѱZ̤¥¥w¼¥…ò´.(ñc4ñz}$$ÔMká÷ûÃ&£ÑHb·DÊÊJ±Z낳ÙÜ©}Mì;]r)—ÕÖ Œßwü“YšO–jßþb¢¢x~ÑBŠŠv£èFtEAÓƒƒuµ|7šÁ„•@°nVGŸßºE÷¢ªA|µ©©Éø>tƒÌÖ.„è¸ÕC!ÄO##=Œôô.•§ÄÄD4­ @÷îIØl6TU=Ò­®ÑhDÓŒX­RRR¨©©k¶ÚÙ£y™Lf|^/>¯÷'½'M€råU¿á_ÿZj¨eØ…¿&à âwWáóú1–•ãêÖ Ã¾üQ‘`²a(9€/1ŸßG­ÇKbÏjLÑ»9´a‡jkغo·GÞ™B!„¢Ë0™L¤¤¤„%uÉÑî ':·Z­8‘˜Í¦Ÿl^, P¸ì²QlÜúo¿ & èƒÅj#-5…ý6‘šžN°ºŠ ×‹#6²õë0ZLh•ÿýßõ¸ªƒ-ñê:µ5®ºÚ!„mÓ†NòBÑ¥‹±®R†µqБú<×oÛ0@i¨t¹ó;NÆ“)³&“‰¾9gðî»+ˆ‰Áçõ¡ì݃Ïë£ì`1EÅ¥‚AŠ ö¡¨>lF3AƒBeu®**«(ÝOuUØlîB!„Bt5ƒ£ÑˆÑhÄd2a2™B)5&Ç2Ÿl~ì¿Ãf1rë]‹ªÐÑêú’hft5€T(€¦ãW øIPuÆÿöV\žjò·ì$9½ƒ búôér× !Dµ§“¼Bt%½²ršPÊS P:ÅÌ?ýt°Ùl¼¾t)‹Ÿ]LII)¥¥%õ¯xØ‹uCÄ 8¿ßÏ»ï½G=ެ—C!ZSÿëRf !DóA‡^×W¤«–§mÉŸ(d³ÚBß2n·Œw\ºB!Zf4p:”—•ãˆtÈBˆ&xÜ^œQQèšÖ%ËÓ¶ä¯Ë|îÈí$„¢%&‹…Ô´ vïÞ‰«¶]×ä¢!ĺ®áª­e÷îôíׯÅA˜~Žò´=ùë*Ìr[ !„h‰Åb!&6–>¹}Ù·g7.— M“ E! nÂD§ÓI¿þ§Ÿ„ÛUÛl+Ÿ£ä«o¾âôA§sÝèë°Ûíra„§ì‡¯Õj%:&šŒŒL F©|Bˆ†tMôúåÿç*OÛš? Pº°f<@qE1Ž(~ù!+ÿ³’.ü§\!Ä)Ë`0à÷ùñûdþ(!„h©¬ìÊåéÉÒÿú”PTUeþâù¬Ý°]Ó™ðÛ ädåPTZDRf§ƒòå¼ÿáû¼óþ;x<úöéËý÷ÝOLtŒ¼…B!„èD§t=ý#sá‡üˆO'>#ž¼—òøç«ÿÄh ¿,.—‹ç^y{7;I½’Ø[²—?<ü¹{„B!„¥sƒAòwä—ÔUy¥f¥²~ózþÀÑíAª+«éÑ·&“ €˜„ª]Õ®8,wP'›?>ãÇï2ùIKKûɹjÕ*Î:ë¬Ð±[{ÜZï¸ã.\(7—B!N §l¯Ò²RTUEQÌæ£—!='wš™ À¾÷‘3 'lb]×ñ¸=,>H|\¼Ì§ÒI</¼ð+V¬8¥¯Ã£>Êœ9s¸üòËÛô¸53fÌàšk®a„ 2؃è0]× ¨Á š.3 !D=ƒÁ€Ñ`Àd±`±XZ ñ§.OÛ›? P~&O<ýk7®Åê°²}Ãv FYDÇFc±Z°FXñz¼X,þÎh'~ŸŸ‚]ø½~ââ˜ó÷9Ä9ãÈ{:¯É;--¢¢¢fó±k×.üqV­Z…Ûí¦_¿~Lž<™«®ºªÉíwïÞÍŒ3øþûï8묳˜3gÙÙÙ¡þ±ÇcéÒ¥ ÆÇC=Ôæªá/ñ‡ƒ!C†ðè£Ò§OŸ°íòòòøÛßþÆC=Ľ÷ÞÛh½{÷fåÊ•aÇÕuádzk×®f¯É‡~È9çœC¯^½BëV®\ÉâÅ‹Y»v-v»‹.ºˆ¿þõ¯tëÖ­Mç|¼é'Bkç´}ûv.¾øâÐö­=nMvv6gžy&ü1cÆŒ‘OÑ¡àÄçõRYYIiÉAjkkå¢!ÄF£‘ÈÈH’“S‰Oè†Õfmö{ÄÏQž¶' üLбvÃZ’{%Ò#…` Èží{(Þ_LNÿÒz¦Q\XŒ-ÂFJF ö òp%Ù}³q8Îüy¨øüëFÝ®|ìÙ³‡±cÇ2}útæÍ›Gdd$[·neñâÅÍ(“&MâòË/çÙgŸà¹çžãÞ{ïå£>`éÒ¥¬^½š•+W0qâDÞxã þë¿þ«í×çHðPSSÃK/½Ä”)SøøãC隦±dÉf͚Š/¼À=÷ÜÓ(8³Ûí|òÉ'\vÙe¡u}ôGË3¦~òÉ'Œ92lÝóÏ?Ï=÷ÜÃ9眃×ëåïÿ;÷Þ{/Ë–-kÓ9oú‰ÐÚ9ùý~,KhûÖ·ÅèÑ£%@ ©­­áÀB D·n‰¡&¯BqªÓ4’âƒlß–Otl4QÑš™ ñç(OÛ“? P~&Û¶oÃd ¿,V ¹ƒr©®¨fó÷›Éê›EYqƒ~§÷c뺭Ä&Ä2ðÌöçˆv°~ãúv(O=õ“'Oæ¶Ûn ­2d/¼ðB³ÏÙµkï¿ÿ>6› €©S§òÜsÏ…Òßzë-|ðA’“낯|ÿþïÿîЗíèèh&MšÄ3Ï<¶þóÏ?'66–ñãÇóöÛo³råJ.¹ä’°mî½÷^òòò”E‹1yòdî¾ûîf¹qãFzè¡°uo¼ñFèïÈÈHfΜIÿþýÛ|ÎÇ›°dÉ.\Hii)¹¹¹üýïç´ÓNëð=ØÒ95ׯ¤¹Çõeky2dO>ù¤|ŠˆQ`àÀÁtKꎦÕ5BQ'©{2Fƒ‘wîä‚_§6ü\åi[ó×Uœrä³ze¡«M·õ‹‰!wP.›¾ÛD·îÝÈÌÎdê $&'’Ö£éŽÈ>·þýú·;_ý5£G·/¨1b‹-¢¦¦†êêj-ZìØ±ƒÁƒ‡4ˆ;vtè:ÕÔÔ——Ç€ÂÖ¿úê«Ü~ûíÜvÛm¼òÊ+ž;jÔ(:jŠöí·ßRYYÉ•W^Ùâ1ËËËéÞ½{‹Û|õÕW :´Íç|¼éP×)}ùòålÛ¶+®¸‚?þñzO6<§ú€£¨¨(´´ô¸­yLMM¥´´T>AD‡hºŽËå">!MUÐ5 t]Yd‘E–K\|®ÚÚ'_ü9ËӶ䯫8åjP²zeqæ 3Y³n ‡w­¯ÛJ÷z¼DFErÍo¯Àd2±wç^ÊŠËÐ5 àˆtÔˆ‹Œãš«®iw>*++IHHh×sf͚Ř1cxê©§B¿¢7ìPîv»‰ŒŒ =v:¸\®v£á/õIIIaû/((`Æ ¡Zž1cÆ0gÎ ÉÌÌ<õÜsÏ=äååñòË/³páB&MšÔ¦Nc ,8Ö–-[øË_þÂë¯¿Þæs>Þt€Ç{Œ¸¸ºÑÞšªU:MSGœÈ< ¡ë:š¦a4™Q” \!„hêW“MÓºlyÚ–üu™ky*Þ@7]¨P[UK|b<¹ƒré;¸/}÷¥GN” ‚ª¨èºŽÛå&)5‰Ó†žÆÀ³rÚÐÓHÉHÁçñá­õ2ñö‰íîÇáÃí¦xúôéÜpà äç瓟ŸÏرc™6mZ(=22·Ûzìr¹p:í:FQQà›o¾!++‹-[¶„Ò–,YBEEÙÙÙ¤¥¥‘MEEK–,i´Ÿn¸ 6ðÞ{ï±mÛ6ÆŽÛ걓’’(..n2íÛo¿eüøñ,^¼84(@[ÎùxÓë_«zv»UU[ ðê—Ö4wNÑZôׇˆO§Wn/¢b¢ÂF2ˆOŒàå§_æµù¯Q´¯ˆŒ^¡tƒÁ€Ãé #+ƒÌ¾™Ìyr•U•íÎðaÃøàƒÚõœ5kÖ0uêTbbbˆ‰‰aêÔ©¬Y³&”ž››ËÆC7mÚDnnn»óf0èÙ³' ,ࡇÂåráóùX¶l«W¯kn´jÕ*Þ|óM|>_Ø>l6&L`êÔ©Üyç¡~3-Þôö:¶)VsZ:§aݺu?ÉqÄ)¢È"‹,²œtËOU†uõòôdqÊ5ñ x}^â"âšLß³}Ý’»q¸ô0º®Ó{@ovåï¢÷i½²`4‰ˆŠ`ï¾½Ä×®|üþ÷¿çúë¯Çf³1jÔ(ùùùäåå5ÛQ¾OŸ>,\¸;H ªá—é±cÇ2oÞ›wß}«ÕÊ!CÈÈÈÛ&33“Áƒ³bÅ n¼ñư´)S¦0eÊ”6_“K/½”+VpÍ5G›Ì=÷Üs¼øâ‹¼ùæ›ôîÝ»ÑsZ;çãM?Z;§áý÷ßçꫯ–o×â8£““ë8!„h²“òT”®Æjµb2šêÚÿ5èáq{صuÉéÉDÅF¡l6"dde¿>ŸÌ¬LbâcÂöçwûÉê•ÕìñšjêSTTDVVË–-ãñÇgîܹx½^ú÷ïßh^‘†.\ÈÃ?L^^C‡ ›!üÖ[o¥°°‹.º€qãÆqóÍ7‡Ò¿ÿþ{Î:ë¬v]¯[n¹…¿ýío xà&·ùíoË3Ï<Ó(@i¯Q£F1kÖ,öîÝš eöìÙ >T~ÒßCµ55¬_·–+F]M0vÂ[õ IDATØz§ÎÝ?ªŠ!g]÷º½¿œ‘WÿüsðüðÝbãâÉþ‰j.…]Ǧ ë8÷ü ðxÜaë7nÜHÏž=i8o¡ªªîå³­>ûøß\5æZjª«;\žÀ`0b2™¨©©!::ºÙQN«ªª())!..MÓp»]ääôîpþK~?¿¿ÍÍà v{‹ƒ5äõzøâ³OyUÝȶEöóÂóÏŸš3É;oiÜ5õ.â’ãÈî—-º)ݵîÐìñƒ¿Ï-ÂF¯>½PU•ÊC•””ðÄì'8cðÉÓ®ÿ­·Þêòy¼ï¾û¤ídì‰N£Ój“EQØ·g\tv»ï‘/QQÑÔÖT·ûÿú`Eèƒëxõíן5«¾¥Onn‹ƒ]!~Éå˜Þ豦ªx½žP²Íf]gㆠÍî&66–=zœòT *˜ÍfM#:ÊYLèz£ åhp‹ b2™0`èÔ¦c@€M›7ñÍ×_µº­ÙlæœóÎç’K.Åëõ×qͧêý™š’J¤3’ÄäÄð¨uwqÝŽV¥efg²kë. ­›Äd2Ñ­{74¿F÷¤îòF¢‹Iè–Øh]gÔbœèÚ¦ößÇüì³ÏX¸pß}ÿ=v»—\£Î&11±cŸ§­lSRRL|B<ññÝp»]:§¶×W&*:†š7Çr8ÄÄÆR^^N\|¼¼Y„8Eg9ö±ª©•£?Z¨^É)ÉG†ä54Ú‡¦i”——“yJKåiR÷îìÛ·—˜˜XAgTÕ55è Rêƒ“ØØX‚Š‚Éd¦²ªŠ´´´Ní ¯ë:«W}Ã_g?†-"¢Åmý>ΚÉ#GI€ÒQ‹…Ôî©ÔTÕ @yQ9éÉéTúŽŽÊaÀf·Q¸«Œì ·›ÙFjJª¼Ó…è‚~ ͪ:KÞâg™<ù^^;÷\¼^/O>ùßÜu×ݼûî;ûHmå—¹òÒRRRÒPíØZŠþªWS]Õi×#9%…ƒ IJJjSs5!Ä/-BÑ›Žެv¹\-– 6›èèè6Õ(w´<°ÙÈÌȤ°°èè”`gäÑš›-‚’’bbbbQ‚ &³‰ªÊJ’“Sˆr:;½ó½ªª­'¶ˆˆN«6žÊ÷賟 ÆCÉžŠ~,â² .cê=SÑá“ØÄÆÄrÅð+(ú±ˆ’=%XƒVž~üiy“ q’QU•GCnß~¤gdrçĉÔ6˜˜óÓO?åWÃ. 9%•ÓÏÂk¯-ŽÖÊ$tK «¡Iè–Èü èÛ¯?™=¸oêTü~“ÇÞ·o·Ü2Ž=z’š–ο¹‰òòòf÷ßÜ1[;‡cý¿·ßbĈ8Nùë_ÿÂšï¾ Û¦©Z§Žª©®¢[R÷f?૪«øâóOÙ·wP÷KäŽíÛøü“ùäß²aýº°çþûÿÞû{Á>¾Zù)ÿëÿøö?_QÝ f¥µ}ÄÄÅQq¸³Å*o!D#Á`¡C‡6»4WÆw6‡ÃAff&55ÕŒF%Hd¤“êꊋÖ.Š‚Ñh¤ºªŠääbcc~1¯Ã) DFF2ÿÉù¼µä-ÞyýÆÿv<}z÷ÁauPu¸ ]×qÕ¸@»ÇßÍ»ÿó.o-y‹ÅÏ,&!>AÞÅBœdž~ú6lÜÈÊÏ?cÛ¶|""ìÌž5;”~ïä)üéÁ?R°o/¼¿‚µ?¬ŽÖÈ>TÞ¨vfÕªUüç«/Y÷ÃZÊËËyüñ'š<öÝ2Ž»ï¹›íÛ·±}[>99ÙÌœùH³ûoCk¾øòKÎ:óÌŽ]@½®º¿¥Åï÷ét¢(Áкz¥¥%¬ûî;œ6ƒÏÀbµ²g÷ÔTWsáÅ—põµc‰ˆˆ`Ïî]aÏŽ‰ ý]S[Ëù\Ęën £GOväoÅh4¢ëz«ûÒu[>Ÿ“ÉÔê¹È"‹,¿œ%TŒ›†Ž¦ëhºŠ¦kèGþ ý–ú4MWëþjá8QžÚív222¨®®£@0€#ÒAtL4A%ˆÁh ªºŠîÉÉÄÄD·ë:H€r’1 ,xrCr‡phß!22™ÿäü°!‰…][}­Ã±µK_Çÿ©©©D9<2süßÿ…Ò#""(--åðáä§§ógžiõXsçÌ!11‘ÄÄDæÎ™ËÛÿïÿ5¹Ý·ß|ͯ/¸»ÝNtt43þügV~ñE»Ï­µshÉæÍ›™1c&O=õTØúÎng6›´Ý>j×ÎlÛ²…³Î=—¬œ>xi¤¤¦SUY¢(øü~V~òqøùf‹…@õÑ}ÔïÏf³q¨¼,ôK ¦i˜L&@›öåñz°Z­aûBœ:Ž}ß+Š‚ßÀï„+ŠBddã6êÓê—ã)CÚRžÖs»ÝhªJ0â2¾øì¶nÞHrƒF¬V#®¸²]‹5×L¡-ûª©®&&6V†B„†Fµ"‡WpàÀþ&Ë›C‡c2™Ø¿ÿé'4oÕÕÕ”””éŒ$ ™_DGQìvUGæ3IJJúe½&r[ !NwÜ~;Ó￟½{÷¢( ùùùÜ9qb(}â]w±cÇ‚ÁºþJƒa'cbbøq×®Fûœ9ó:Ä¡C‡˜1c&c¯¿¾Écû|>l6l6L¿ÿþ°ô¦ößÔºÖÎáXyy‹ùë¬Y¼ûÎÿk68is'ù6´oŽOH¤°°³ÅÖæÙáˆdðéC8°¿ƒ„ÒRÒRùá»Õ죤ø {vÿÈŸ}BYiI£vã ÿnª]ykûÒuòÒR’º'£ƒÒ._Y¤ è:e¥eÔÖÔP[Sƒ¦ª|ÿÝwü~²zõ"·Orûô¡Oï>ôÎéMïœzçdEUUåqôAi=ÏUUU,.Æá° 0ÔÖÖR[ëÂ(Á öˆªª*)--ûEõA‘”&¨ªÊ‡}ÈWß|ÅéƒNçºÑ×aÿVŸ qªùÝï¦òùó¹öºë)))!''‡ß7F^1’Ûn»½ûö‘““ó‹óBiS&OfÄ%#p¹ÝaMÈÎ9÷†]ðkÜn7£GæOz°ÉcÿãÏ0sæ#Ü~û¤¤¤0eò½¼ûî{-î¿©u­C£ê‘ºŽøçÿ«°õûöât:;ýwKLdÏ®CM¸²X­ <}[6¬GG#5-ƒÌ½()>Èæ ëðz½ØzeåKu;‡nm_›šê*Î=~¿OÞBzõêÙäȼªªàñxš|NRR".—û„婺ºšâ’’ºà$Äd6ár»IINÆb±²!v»EQˆˆ°SUUÊ×/(Mx`ÆWãˆrðá—²ò?+ùçÂÊ…â$ÐR‡o£ÑÈôiÓ˜>mZ“é×]w-×]wm“i÷ß?ûïoÜ7mê}÷1õ¾ûZÍ˨+¯dÔ•W†¥OlPóÑÔþ›Z×Ú9´çz´g¨Z¿µ_àL&iélߺ…Ü~ýQU• /qäù:³™¡gŸC||^Ÿ·ËErJ*Ù9}p8M&EÁíªE×õ°ç6ü»Þ±ëZÚמ]?’žÙƒ»ò²y³q :¶ ÓuMÓC3É·U Àh4t¸V¢¥òÔãñP\\LDDÁ@Ý ñ·‡îÉÉDEEžžNáþýØ#"ƒØlV*++0™ŒÄwòD´&“ ¿Ïצ‰M&“(ÇKUUæ/žÏÚ kÑ5 ¿@NVE¥E$eÖµås8”(çýßç÷ßÁãñзO_î¿ï~b¢cä.„ÇÈìÙ“ÈH'«…ªÊº_õJKŠC隦q蘠Èíváv7=ŸKÃç6ü»¹uÍíkÀÀÁÄÆÅáq»åEB„ƒ,KX-JýØ#MÇu}@:ëËø±***°Ùl¡cø|^ºuKÄêXo2™HIN¦¸¤„› EQ±Ùl>\Ñ©ŠÁ`à¼óÅœÙ4Y3T˜Íœwþ0 PŽ×#s¡ ´€øôxt]'ï¥<ú÷îÑÞ5ÇårñÜ+Ï‘™›‰ÓädoÉ^þððxaá ò®Bœ2êÇýo —«¶KžCeE…¼BœÊåØ1eXtL {÷„ʸf¿¨c+ ­3iié¯Ai¡<­ JüF¼^ ñØl6ü~XÀd4Iì–HYY)Vk]b6›;µ¯‰Ýaç¢K.åò‘£ÚzñûŽ2ËS6@ ƒäïÈ'½Oz(BLÍJeýæõØœ¶£Û‚TWV3èœA¡qócb(ÝWÊáŠÃ2ac'›?>6lॗ^êùIKK£¨¨è'=æªU«˜:u*¤¨¨¨ÕÇ­åñŽ;î`èСL™2En°NÖÙó‡!„øie¤§“‘žÞ¥ò”˜˜ˆ¦•âèÞ= ›Í†ªªGš£i躎ÑhDÓŒX­RRR¨©©k¶ÚÙ£y™Lf|^/>¯÷'½§ì(^¥e¥¨ªÚ¨º*='ŠÒ£¿°íûq9rÂ&õÒuÛÃÁâƒ'Õˆ]Çãá…^`æÌ™§ôuxôÑG™3gN(èhíqkf̘ÁsÏ=‡÷'.\„BÑ‘ ÀDJJ éé8NL&‹³ÙŒÅbÁjµb±X°X̘Ífìv;ÉÉ)¤§§c³Ù~×à” Pžxú ¦ÿy:V‡•í¶³uÝVjªê"O‹Õ‚5Š×ãE *üœÑu#Ýø}~vnÙÉ–µ[°Ø-Ìùû&M›Ô쌢iii-æc×®]Üyç 0€ž={2räH>øàƒf·ß½{77ß|3999äääpóÍ7³{÷î°Àiîܹôë×þýûóØcµ+€JKK -½{÷æ7¿ù ;wîl´]^^äåå5¹áÇ7Ù í /lñš|øá‡œsÎ9ôêÕ+´nåÊ•Üxãdee1`À¦L™Â¡C‡Ú|ÎÇ›~"4¼ÎõKnnn(}ûöí\|ñÅm~ÜšììlÎ<óL>þøc)õÅñÑ‘áJe‘E–_Ô0Ã'ê8Ç[žÖ*õA‰ÅbÁf³…-V«5¬˜Í¦6Ÿ(]TÑÁ"ÖnXKrÏdRz¤pÚ™§Ñç´>³cóTU%­gÅ…Å”•’’Q7Ú½عe'é=ÓxÖ@Ò³ÒIÊH¢ÚWÍÿú ÝùسgcÇŽå‚ .à?ÿù;vì`îܹ,_¾¼ÙçLš4‰3Ï<“~ø~ø3Î8ƒ{ï½7”¾téRV¯^ÍÊ•+ùüóÏYµjo¼ñFû®OQEEEüðÜwÞyšišÆ’%K˜5k¯½öZ“Á™Ýnç“O> [÷ÑGµ:Û'Ÿ|ÂÈ‘#ÃÖ=ÿüóÜsÏ=lÞ¼™/¿ü’èèèvóñ¦Ÿ{ðÈ5®_þò—¿0nܸPºßïÇb±´ùq[Œ=Z!„â$d00FL&&“)ôØ`0ü"Ïù” P¶m߆É>ê‚Åj!wP.ÉiÉlþ~3ªªRV\Æ}0[Ìl]·ƒÑÀÀ3âp†ÉvD;X¿q}»óñÔSO1yòdn»í6âãë:? 2„^h¾ãý®]»˜2e 111ÄÄÄ0uêTv5˜Äí­·ÞâÁ$99™ääd|ðA–-[Ö¡ëͤI“Õ |þùçÄÆÆ2~üxâââX¹re£çÞ{ï½jW-ZÄäÉ“[<æÆ:thغ7Þxƒ‹/¾˜ÈÈHºuëÆÌ™3ùþûïÛ|ÎÇ›°dÉÎ>ûlzôèÁe—]Æ–-[:í~ ¼ôÒKÜyçÀÑZ·†µ+-=nk‡ ÂúõëâxÔwê”EYd9Ù–^Y9”–w™”Ÿ«<•¥‹Êê•…®6ýÅÄÇ;(—Mßm¢[÷ndfg²aÕ“IëÑtÓ$ŸÛGÿ~ýÛ¯¿þšÑ£G·ë9#FŒ`Ñ¢EÔÔÔP]]Í¢E‹¸ä’KBé;vì`ðàÁ¡Çƒ bÇŽºN555äåå1`À€°õ¯¾ú*·ß~;·Ýv¯¼òJ£çŽ5ŠC‡…‰o¿ý–ÊÊJ®èе°>Ë]­ÚyØëñÉ5¿½¨kÿ·wç^ÊŠËÐ5 àˆtÔˆ‹Œãš«®iw>*++IHhß`³fÍb̘1<õÔS¡_ÑW¬XJw»ÝDFF†;N\.W»ŽÑðWù¤¤¤°ý°aÆP-Ϙ1c˜3g………dffzFî¹çòòòxùå—Y¸p!“&MjõM¡ë:fsó·ä–-[øË_þÂë¯¿Þæs>Þt€Ç{Œ¸¸8 ®™Ý3Ï<Ó)÷¢¦i,^¼¸SF,;QyÀh0àt:)/+Çé "„Mð¸½8£¢Ð›é›üs—§mÉ_—ùÜ9o ›®¿ T¨­ª%>1žÜA¹ôÜ—¾ƒûÒ#§JPAUê†ss»Ü$¥&qÚÐÓxÖ@Nz))ø<>¼µ^&Þ>±Ýýâââ8|øp»ž3}útn¸áòóóÉÏÏgìØ±Lk0›tdd$î¹\.œNg»ŽQTTÄøæ›oÈÊÊ k*´dÉ***ÈÎÎ&--ììl***X²dI£ýÜpà lذ÷Þ{mÛ¶1vìØV””Dqqq“iß~û-ãÇgñâÅdgg·ùœ7½þµªg·ÛQUµÅïØæWÍyÿý÷ÉÎΦwïÞÇ}O·–ǃvúЃâÔa²XHMË`÷î¸jkÑuM.ŠB¡ë®ÚZvïÞIß~ýðùý]ªø€ &´ù9kÖ¬áÕW_ !7uêTúõëJÏÍÍeãÆ V7‹ç¦M›ÂF‡j+ƒÁ@Ïž=Y°`W^y%\pf³™eË–±zõj222BÛ2jÔ(þð‡?Zo³Ù˜0aS§NåÁlÓ°wƒfݺuaµ1Ë—/gÖ¬Y¼üòËaͱÚrÎÇ›Þ^í™3eÑ¢EÌ;÷'¹ç×­[Çgœ!Ÿ"¢C, 1±±ôÉí˾=»q¹\ÍŽ^(„§£ÑˆÓé¤_ÿÓˆOHÂíªm¶óúÏQž¶' üL^Ÿ—¸ˆ¦Š=Û÷Ð-¹‡K£ë:½ôfWþ.zŸÖ“ÉÔ舊`ï¾½ÄÞ¾å÷¿ÿ=×_=6›Q£Fáp8ÈÏÏ'//¯ÙŽò}úôaáÂ…¡ÕÏ?ÿ|Ø—é±cÇ2oÞÚ3ñ`jj*gŸ}6ï¾û.V«•!C†„'™™™ <˜+Vpã7†¥M™2¥]“^z饬X±‚k®9Údî¹çžãÅ_äÍ7ßl²¦¡µs>Þôå³Ï>Ãn·sÖYgý$÷ýûï¿ÏÕW_-Ÿ"¢ÃnV«•è˜h2221rQ„¢]Óð­~ùÿ¹ÊÓ¶æO”Ÿ‰ÕjÅd4¡iá…Ñb*×M~ŸÐíó|½êkžœÿ$1‰1üÊKÊ1ôÊí…-ÂÆîm»éžÖ‹Õ¾÷‘;0MÓ(ØU€»ÖMBRŽHÞZ/ÃÏÎä»&Ÿç}à 70mÚ4~õ«_uÙ<.X°€õë×wJÇqQgüøñ 2¤]µYU_Ž|°ü]ŒÅjmTûØ’ï׬æª1×6™ö¯VpËmãÃŽ#„Bˆ““×ëá‹Ï>eäUu#ÛØÏ Ï?jöAvÞ02Ò2¸kê]Ä%Ç‘Ý/;ÔEUUܵîÐìñõQ®-ÂF¯>½PU•ÊC•””ðÄì'8cðÉÓ®ÿ­·Þêòy¼ï¾ûäÝÚÉ$ØB!ÄÉä”mHœš’J¤3’ÄäİÎòE»‹ˆëv´?Ifv&»¶ Ñd2Ñ­{7ââèžÔ]î !„B!$@9~‹…Ôî©ÔTÕ„Ö••“žœ6[|„=›ÝFá®ÂÐ œ·›ÙFjJªÜAB!„BH€Ò9ž˜ý1–Jö”Pôc—]pSî-6&–+†_AÑE”ì)Á´òôãOËÝ#„B!D'3ŸÊ'Éü'燭Óu‡ÕAÕá*bâcp׺A»Çßͤ;'É#„B!Ä $ƒÙÃ`0°àÉ É¡}‡ÈLÈdþ“óÆ$B!„Bœf¹EFF2}Êt¹B!„BüĤZ@!„B!ŠB!„Bë¤jâµgw>iÝãЩë+âñ1 ƒ*ªªPu]ñ ‚ªz1¨àQtP‚ Š¢PPPÀ-·Ý-¯¾B!„ t̾};‰²S]S‹ËåFÕtTMG×u‚A] ºŠTPU] ¢¨F‚J]×ñz}¨ŠBD„7–¾Ìå#GŸ wB!„ ´ObœƒÃ‡+¹ôʱª*«ˆÅívc³Ú¨©­ºÇ6@]×P¿_Å!w€B!„§j€0vìØ)ê‘ZŸßOž½X´hßÿ=ÙYÙ¬]»6-]º”1cÆP~¨œ—þù#¯Ijj*o¼ñ3fÌ@U54Œ(èšÒä±ÒÓÓéÙ³'999ôíÛ—ÓN;ÓO?!C†™™¶mZZZh9–®ëÌ;—~ýúÑ¿{ì±P³³¶<ÿ³Ï>ãºë®£W¯^ 0€I“&Q\\,w­B!„¥³¼ýöÛ R” B0¨épðÃÚµŒ1‚wÞy‡ýû÷c·Û)))aÞ¼y 2„GyŸÏG·nÝPU•Ì™\xá…¤¥¥Ñ£GŒFþ ôI9ÖØ·o»víbûöílÙ²…õë×sÑEñ÷¿ÿ=lÛ¢¢"ŠŠŠšÜÏÒ¥KY½z5+W®äóÏ?gÕªU¼ñÆm~þ³Ï>ËĉÙ°akÖ¬¡oß¾Ü}· ,„B!$@é4^xa‡‚EÕ0~¿ÇÇõ×_Oee%ä믿ÆétR^^ŽÅb¡¼¼€ÿùŸÿ¡{Rw¾XùË—/çÀìÞ½MÓP{ö´ùø3fÌ ÿþŒ;¶ÍÏyë­·xðÁINN&99™|eË–µëù#GŽ$&&§ÓÉ]wÝÅ–-[ä®B!„ üÜAŠÑh@QUÌf3›7oæá‡æOú‡‡ÃªªDFF q8ÄÄÄ ë:ŽHcÆŒ¡GôîÝ]×1¨šÚ¦cÏ;—„„&L˜Ð®óܱcƒ=4h;vìèÐ5óx<¼øâ‹ 6LîZ!„Bñ‹õ³ 3|á…rß}÷1|øpÜnw(¨hŽ×  RS]ÍŒ3X¹r%×^{-ï¿ÿ>N§«Õʾ}û>|x¨Ót]î IDATÉ”Ùl&0zôhì6;š¦Q]]…¦iøº¹TZöôÓOãóùøóŸÿÜîst»ÝDFF†;N\.W»÷Sß?%!!åË—Ë]+„B!~±Œ?׿üòK,XÀ_|Ñjp€@S&V¯YMTT¿ùÍoHJJâÍ7ß$..ŽñãÇóÀ0qâD’’’X¿~=Û¶oãßø_ ÄË/¿ÌþýÐ=ô¿æ½ð ìÛ·Ù³gwè###q»Ý¡Ç.— §³ý“C±}ûvî¸ãî¿ÿ~¹k…B!Ä/ÖÏRƒòå—_2vìXÞ~ûí6Ï‹(¨˜Ì&6mÜÈmŸ| @jj*¯¿þ:N§“èèhFEZZf³™7T‚$$$0}út>Ÿ@0Øb|òú믳jÕ*žþùÐí•››ËÆCͲ6mÚDnnn‡öÅ=÷ÜÃüùóå®B!„¿X?y JG‚MSQ?Šªb2›INI&9%US‰Åh4¢ª*u“3ê:f‹MÓðx<Øívl6ªª¢ius¡4çwÞaÅŠäååa6w<†;v,óæÍ£¤¤$4ÊØ7ÞØæçO:•üEQ(++cÞ¼y :TîZ!„Bñ‹õ“× t$8ÐÕjPCWUŒF#Š¢ iƒE­›!Þd2a4Ñ š®áõx1`À`0ÔuŒ7©ïw¢©4S12mÚ4TU%;;»Éô†Ã7œ¿¤þïúô[o½•ÂÂB.ºè"ÆÇÍ7ß¶¯–ž饗2iÒ$vîÜIll,_|1Ï>û¬ÜµB!„B”ÎÒ‘à¤. 0awFáˆtPërSß‘DGÇ`0ˆ‹' RYY‰Ùb&bµY@7`2™P‚AÀ@l|,ú‘À¥)………mÎWss˜ f̘ÁŒ3:ôü«¯¾š«¯¾ZîR!„B!ʉðÅ_t(8س¿¸¨(ÏšƒÅQ” š®ƒ®ð0šÍø¼T]A?ºÁ„߯£ëA øQW´Ô445ˆA^!„B!NÝ¥£Á ÀUWßÀ.G5zùõ°óñüx<®Z•Õ㻡ìÞžˆ®°<@u÷”#;IìUÎíÚ4„’ª 6íÚ…Ûã‘;@!„BˆS5@9^#/¿Š[¿cÒ„Éè@¿>¹XìVRÓÒÙ¿vé™i÷ðû°ÇÆS²a‹ UQxsÙfª«<˜­[ðêjkjðx¼r!„BÑ…O¦ÌšL&úåœÁ[o¿ƒ3:ßO0à§`ïü~ŲÿàAE¡xß^%€Y7Ô4*kJ¨tàPEŸ++1b„ÜB!„Bt!æ“-Ã?õ&+ãn‹ª+˜U3ÖÍ¥ù U‚A ]Óƒ¨šŠÇçã¶ÿº™Z¿-›òIKÏdðàÁL›6Mî!„B!$@鸇ÿøgÀ€Ífåõ×—òÜsÏQRRJIi tÐ èAغ®sþyçãóû©©©á½÷Þ#33¨KB!„BH€Òa6›-ô÷-·Œã–[Æux_!^!„Bqbå!„B!$@B!„BˆcœTM¼öìÚJZrBÝìñ€G1bT½Uƒ@Àªª€NÀDU}Tð(:(AEQ(((à–Ûî–W_ˆ¨¨¸„¢â¹B!„øe(ûön'6ÚAuM .— ªª¢+‚j]‡w¿ßP‚ ª@WÕHP  ë:^¯UQˆˆ°óÆÒ—¹|ähâä.âyð¡?£ëúÑEÓêþEG *GÖk¡ôÚš–.}M.œB!J×—ïäðáJ.½r,–@ÝÀÂu­Ô4]຦£i*ª® kzèß`0ÈÐ!§3yÒ¢¢œrq‚iš†¦Õ ýú[×ðûýÒ„B!NšÅd2S\\BYé!&Œ¿•òò2<¿Ÿ?€Ëå¡ÖU‹ßï' ¨jhaM­ûòS?j׆›‰Žr2ñ®»xå•Wå.B!„B”ö1t0š°Z-X#[¾Ù‰Áh ´¸ K¬[Œ•š"w]“Ó€)Òˆ®é¸Ë½hh˜Í&,Qf""lè›7m–;@!„Bˆ®ô½ÿdɨ_1Tu¼5^ª’+éÿf*ýþ™Âå«Î¦ÛðhÊwfè¼>Œúò|Ƭ½€œßd¬VÐ5k¿Îß ß=Q=*ªªâ÷«X#"äâ'òÞòåTTT„­«¬¬äÃ?”‹#„Bˆ“/@Qƒ^Pƒh X³Íþo«ïÉçß—¬¢÷­éÄä8Yÿ—Tïp±é‰]øW]Íʰ…§óÉ kX~é—D$Ú°§ØÐ4 # º¦´x̼¼<222ÈËËk”–––Öhii›céºÎܹséׯýû÷ç±Ç ›Ù¾-ûâdòñÇsõèÑ¡ ¥²²’sŸ¾R.ŽB!N¾EQu‚ªŽÁj@!PÄ_ P£ 50‚âQ ºT‚µ A—BŸ›39¸òJƒÑÀwnÁUêÀc 3ÉkšÆ’%K˜5k¯½öZ“x‹ŠŠÂ–æÒ›²téRV¯^ÍÿoïÞãªÎÅ÷m.™I2¹HH€P®JµŠÕ£@+¨ §­ ñR[Ïczª­V‹ÚнÐçXZ,B)ÛŠZ°úñ´§QŽE"Z¥Tn $„„\&3“dnûòû#0%’„€x?<ûagfíˬw&YïìµÖ~ã7X³f ëׯçùçŸ?¦ý Ñ—üjáBÆŒÃĉùÁC1yÊŒ9’¹s&•#„Bˆ¾˜ ´ýŸL$ î sÎ˸lÙ8¦½ý·DH“©Ùº€¶é†#ºOCUUËÁåBÕUÇÁ4c|üñžN·fÍ·Ür YYY¼ñƉý–÷…^`Ö¬YPPPÀ¬Y³X±b…¼#ÅéûËFUYô«_qѾÀ‚ ?~<óæý"5ŸB!DŸJPTUÁ2MTM¿ÃúÛ·°jâßxöó¯‘w~Ož ;é`›6VÌÆI:hi *ÉV3joJ€ÓvuDM&°l«Óã=õÔS|ýë_àæ›oféÒ¥G”9r$%%%\rÉ%,\¸ðàM"»gÛ¶mŒ;6õó˜1cضmÛ Û¿½5IùÕÂ…<¾ø×üòÑy’œ!„â}f¯h4JÒL·´¶¶2àŠ\4—޵0[,a“œq™F¤“h2‰7&Ùþû½\¸`%Sû EZ> sþAkÔ!f:º—ʧíÙ³‡M›6ñÄOpÍ5×0gÎöîÝKqq1@ªË•eYlÛ¶‡~˜úúz~ô£uëõ´´´àóùR?ûý~š››S?Öý Ñ›“”믿>u!„Bˆvm…¾t²¶e£«*{WïÇåbà´|†ßZÌÖ_í&V§hJ>-•Q#üdõ¡{uþö_›)þr>#ÿsÛWì!¼¯PpÀé8Ayúé§ill¤´´”ÂÂBJKKilläé§Ÿ>¢¬¦iŒ1‚E‹S-ŸÏGKKKêçææfü~ÿ Û¿§š¢($‰cÚÆ4ÍÔýŠ:KnäJ¢Bqz°,«ÃÞ}æ J2‘IJ,lݦîà ;nÚƒŽŽ††;Ç…·ÀÃ?Û‰c:8–ƒ+Ó@KSqeé¼vKITøà†ÞeÃL¾m}‰¡ëücËŒ{n··ÙºõC ½ó_K@ õuèº.,„Bôq‘H˜@ «ï&(–•Ä2ãX–£;¤÷÷áà k:ª£à˜Þ<( ¶e“L&imiÅ“áÂ4ÛÊÛ–ƒmÛXfÇS ¯\¹’qãÆµKNŠ‹‹;v,¯¼ò 3fÌàŽ;î஻¬Œªª*zè!¦NÚí×síµ×2wî\ÊÊʘ;w.3gÎL=ÿY÷/Ä©6yÊ•¬]û^o%ƒ£u1ÞĶmjjkÙ½{/“§\Ùi¹agŸÍßÖ¾ÁÐág‘ išT´BÑÇX–E¨©‰Û>bì¸ÏõÝűXIDzÐT­íJ‰í`ÙŽÚ63—æhªi™8ŽC<o»ò`Ú¨Žz°C[ÛeÛ²&3í-]º”ûÃsøÚ×¾Æüùó™1cW\qßúַؾ};yyyL›6Y³fµ+ø½K­[rÓM7±wï^&L˜À7ÞHyyyª|wö/Do6 pã/ºˆ·×­ãÕU¯tÙ5KÓ4²³sÑE (Ði¹@ ‹‘cƲkû6¶|’«ŠB!D¤ª*™™™Œ3¶Ã+(ÊwÜæ,X´˜Æ†z©-!„B!Ä)±¯ª’'–,AæøB!„Bô’ !„B!$AB!„BˆO;bü?·n‘ZB!„BœgÕu‚ráE—H- !„B!NŠPS°ëåÓ„B!„âd‘1(B!„BIP„B!„B!„B!„$(B!„B! ŠB!„¢ÏÐ¥ „Bˆžá8‰D+™ÄvÇ‘J9…EAU4ÃÀ0 TU=jülÛ±ll‰]¯ˆŸ(šŠªj(Š"ñ;Mã' ŠBÑCÉI,% R[SM$‘J9ÅTUÅçóQP0€ìœ\\nW§$Çq°L“ªÊJ¶þã4¥O1MSÉHÏdøÙgQR2Ý0$~§iü$AB!z@2™$ SUµ—‘£Ç››‡¦iR1§mÛÔì¯æ£n%#Aº'ƒD<ÞyÙ5¼¿i#—^6‘Aƒ‡HüN1˲صkû¿µhºÆÀ%èº.ñ; ã' ŠBÑÌD‚ê}UŒ=–Üü~ض…išR1§X~¿TEeÇöí\òo:MPËâÃMpÙ„/2¤´T*®Ð4aÃÎÂÐ Ö¯ûù6p%~};~’ !„=Àvš››ÉÎÉÁ¶LÒ‹degщ t1Åšš‚” $ÖËÓô§&LË”ø¦ñ“E!„èmtmTMÇ4“R!½ˆªéض}ÔøY–%Ý‚z!Ã0°,«Ë¤_â×·ã' ŠBѳ© œ¤«'­-Zc­XÉ$šaæI#Í—~·9“MÑwã"ñë{ñ“E!„èù¥ÇÿР¨*@†aL& 55Ð ¡‰8¦iµýñ×5\.7¦ÃírµÛ&µ’•Ôi\…'βÕ°`ÅzLÛÇÁqÀ9øÛcòÃøé~錩 IP„BˆžÍzü Js¸ ‡¬@ uÄã1±$õuõ²³P”++êîbY‰Dœ}• ìV‘“Æå1p»=dçäÑØp€æp鉟'iÙ<ºl?ùæ$|7–£`Ú`;n5ùïßÿY!„Bô­­-äåÐØP‡árÑX¤9api)¯¯×s0Ojw¡ª*—……deeQ¹{7þŒ üé46ÔÈÊ¥î@$(Çhÿþjž~æiš["L¸l'Lì²üû›6òü²çH÷§3cÆL†.•xÙQÕ@é€lTUIuwÊôyX»i/ [!nBÜR˜tÎ@δ^jª¼=„Bˆžãœ„ŲMtÃE"™ ¦º–x<ΰ#p€ýUUÄbqœƒEÚ–¶;Ü7ÔÕ¡¨*CGŒ ‹QS]K"™@7\X¶ù™ÏëO«V¦Öëëëycõ_Û=v*—nÇÏqº½üéÏ"7/‡Q£Fñ×Õá/¾ÐiÙõëYúÔ“œ{î¹”””ðÌ3OÓ±ŽeÑ4í3=ßÙ²sçN.¾øb¼^/çŸ>;wîì±×ðé¥'âw2—×ßÛÅ7æüE9l,†ã`;´!a:$-‡¤éK$Q¥×¾–žˆŸ$(B!Dg(N.ªª‘LĉµÆh‡\ZJK8LS]f"A¤© Pû‰¶´Ð kiapi)‘PˆXkŒd"ŽªjÇu.^µ²]·¶ôô p¶ÿóŒ=šéå7¦;¥K‡ÃضM(bôèѼ÷÷÷xñ¥?Q®â –-Ž .¸€H$Œ¦i.W¯x»vv_ŠŽÜqÇ\~ùå4440}út¾ûÝïÊçý¨ ,~i­x›hü_ÓìJ@lL,L[Á²¡)9ãêI!„¢§ó“^¼^õÔ×5P4h-ÍÍ„‚ALËÂåñjjâ“Ov³·²’½••ìþäÂá0n¯—h,FKs3±h”¢’êëhl¬Çëõµ;ÆŸ_}¥ÓãþÜ”©W“ž‘Ùî*…D"– &m%õ™+(Çâ«_¹–Í›7ãv¹Û’”Q£xïïï¶KR**Ö³lùs|þóŸ'ãóùÙðîþýêït¿¡Pˆ{²²2<yyy|å+_aÍš5'ü5ËÍD×­[Ç]wÝ…×ëå‚ .à­·Þ’|ZcI¾=ÿøûöî¾qRû'•¶÷¥í´%% "-1œD„‘ƒr;Üß–-[˜:u*@€@ ÀÔ©SùðûL8?üðCÈ£>Ú«ëJÆ !„=¢ôpr¿?ƒjð§gàq¹©­®ÆLš¸=¢Ñ­--””!;'€Æ†öìúz:i^/ÑÖ(8•—GFF&Éd’ìì¼#Î;##“p¨©Ãs8ü¹#ʼ'…aD[[úVôŽ¡KQQQwÝù,œÏ¸qŸ£)ÔĈ³Gðî{p‡Â…<¿ü9Î?ï|BMMøÓ3¨¨¨ |æ Œ=¦Óã”——3dÈ^{í5Š‹‹illäÍ7ßdΜ9L˜0¡Û¯ã³<ß‘X,FFF¿øÅ/XµjK–,éuSúk—°ž²¯.Ì·}•³J‹¸zâpÜFÛ„çÝòëvåîþå+hšÂ—ÎÊý7M¤>Ô|DŒvîÜÉå—_ÎøCž}öY–/_ÎäÉ“Y»v-eeeGĶ¢¢‚k¯½–Ÿÿüç”——÷êé—%AB!ú8EQÐuEÅÅx½^ KJ75 …hmiaô¸qÆ¿þäçäæ’‘àÃq¹\dåäž™‰ËífÀÀ"¢ÑèqO1ü¿ÿ³Š)WM;â1€Ï=À”«¦aÛ6;¶oc_e%–e’ׯ€‘£FcFŸŽEYiY*I;öšBAÎ~Þ}‡ÖÖVÎûÜy„ÂMø}é¼»aåå7páv¹Ï7ß|“åË—ã÷ûÈËËcúôéLŸ>=U&™LòÀðì³Ïbš&>ø wß}wêù%K–0wî\ª««9r$O<ñçœsÎÇ:4Ý4´Íö6{ölž|òIš››™6m?þ8ééíï“óÈ#°mÛ6²³³Û=~´í Ã`Ñ¢EÝ:¯¾lÃÖ*üÍj&_|g)`ÇþfÆÊdÑý3ÐUÐ5—nCí«xÝþ47Š ¡V,ËFUÛò“Ÿp÷Ýwsë­·¦»õÖ[ …BÌ™3‡¥K—¶+¿zõj¾ñoðÔSO1iÒ¤^_gÒÅK!„èIÎɨ‹Åq¹  ·AnA?t›Â’btýÈAк®QR:ÅÐÉé—qh[—«mP}'ƒZ»ðzh=#3ÐîñÉWN`Æõ71ãú›ÈÈ ðñ®„C!.8‰i_¾ÇÃÇ»zß ëÏ’¤lÞ¼ —ËC°)ȰaÃ8÷œs …šðx¼¼÷÷÷(ŸyýQ“€‹.ºˆÛo¿ŠŠ ¢Ñh‡e~üã³uëVÞ}÷]vìØAUUU»ç×®]ËÚµk©««ãšk®áöÛo?êqyä6nÜȆ Ø·o^¯—x ÃyãÆÇµýñœW_ò‡¿lföoß`ú_`@¿\vV7cÛ[÷†ØVb{UˆûšØYb{Uí• lÝ]CMC„º`3ÛöÔâ8ñ…Á믿NyyùÇ+//çõ×_o÷ØK/½Ä7¿ùMV®\Ù'’IP„BˆÓ„i™mÛq¥­A£ªäåçwºMVv6Šªlü(@ÛŒN¦Õñ8„Ï=Ã_þôê˱5 5©®¬d̹璞‘I,ÚÊ AƒÙ¿¯ ¯7í´ˆÇ¡$eÓæMx<jjö³¯z—÷ßßÈ å7rá…㻵¯^xââbn»í6òóó)--åž{î! þ«!ü‡?0þ|ŠŠŠÌ›7¯Ý>.\Haa!>Ÿ{M›6õ¸O>ùdjŸéééüô§?åå—_>¢Ü¼yóøþ÷¿ÏìÙ³±,똶?žóê+üÍj^^·‹™Ó.%‰ÁîºhÛ§SUQTPpP°¶Añ–í`Ú–Õ6çžã€®©Ä“&iîöžêëëéׯßÇìׯõõõí»á†˜7oãÆë3u']¼„BˆN‰DÏ'i¦8+Š‚mۘɶcwÖ]Ëq̤‰eYضº²ph»O›qýM&.@»m޶‹Çy㯯µÛè†A"”è5ñ³,󘎮ºº]U±-ë`Ý:$M·ÛÃÞʽÝn0¦¥yyøáÙ<üðlÇaûöí,X°™3¯cÕª¶îsû÷裡¨D"Þá>ü~_ê9]×0M³]ÙŽÖ÷íÛǨQ£ÚÇHQŽ({Ýu3¸îºÌŸÿ·Þz+?¾¸ÛÛí¼Neü>«X" Ø@ÒrHX6º¥â$,B-& ºêà5<†‚ÇPSëŽí€ ·AMC„’‚@»zÉÉɦªª’ñžËÉÉiWváÂÜvÛmdffpñÅK‚"„Bˆ“ô]×°m+u·xl›¦`¬O 8¤¾®õ°äEQÀ4-t]ëô8ujOÈùº\n¾8åJÒÒz÷Ç9¾äï¼SÁ /¾Àв¡›‚dddâ8‘H˜’’ÖW¼ 8\ÓÅì]6lsçþŒ¢¢©s+((àã?fèС&£]=ÖÑzAAkÖ¼~D#¸³ín¾ùk”• eñâ_×ö]=v²ãw"ü÷7'°ôϰ|ÕZ¦Mºâœ4vh¡%žÄ­q0)Q0U.¦ – –m“¦dú¼,~i“ÎÜîu\zée,[¶¬Ý8#€eË–qÙe—µ+{ÓM7‘ÍÌ™å<þøb®ºêª^ÿûLºx !„=ÜÂ=c* —‹x,$ãqZ"|¾4ö|ò ÉdòˆòÉd’}••dffkmÅL$Àx,†ár}¦1(G[w‡þ…øû† öîÙMÍþj>Þµƒ7_ÿ+jkzÙ”cß÷úŠõ,a9ƒ ¢)ԄדÆG}Ä??ú]× ‡#Ⱥ·×ñòÊ—º¿)S®àÅ_¤¶¶Ó4©¬¬döìÙœþù©2×_=÷Þ{UUUƒAfÍšÕîµvôú¶þÿq wÞy'»ví"™L²eËn¾ùë–µm›õë+èß¿ÿqmßÕc';~'r¹yÊhî¿áB^úß·¨©kଢt4UaÒØ.Ý/ŒèÇgåó¹¡ùŒ-ÍgÄ <ÊæÒ3ù`W üáÿð{ ¾|ÉYíö{ÿý÷óØc øÝï~G(" ñûßÿžÇ[Ða쯼òJ–-{žÛo¿ƒgžùC¯¿Q£\AB!ú|ä`&cìÛ[O  X_Ëí&·_?òóóÙ²iѧ®¤ÙûÉ'ÄårQWSCK$B '‡ÆÆF9Y8ŽsÜ3yuGqÉ`jöWóá¦D£Q¼ii RFff€P'SŸªº=–ñ;*xá+(.D("-ÍÏ®w1cúLòòrùõâE,&‰PTTĺ·ß®žvM§ûœ5ë{,YòßùÎw‡#0qâDžzjiêÜî¿?øÁCŒàð½ï}Tt´~÷ÝwóË_ÎgÚ´«Ù¿?C‡å¾ûî;¢lFF&Š¢0xð`{lþ1oßÕyìøõ„ G²ø»Wpï¢Õ4†qÑ9eØÜ÷è;,¯(á¥07ƒë&Žà’±Å­•:´ŒW^YÉÃ?̃~€ñã/dåÊ—)++í°ŽÇÏ«¯®â«_½–úú:¾ýío÷ÚßiÊwÜæ,X´˜Æ†zù /„Bœ ‘p˜÷7¾ÇÄ/N&míÑcµ4‡I&ìÞµ›¬@Ó4ñx½äô뇙LÒÜÜŒs0áP…@V.]ç@m-Í¡š®ãÐvSÀA¥ƒ0 >F»ãô+èOmÍþÏáð纳~ˆÏç'-- UkÐÒ!‹õx|Ö¯{‹©×|™p(Ôáó‰xœË—qëmwLvoL̶mÛYòÛÇ)**¢µµ•´4•••Lÿ굜w^ÛÕŽÝ{v³ä‰ßP8 D2ŽÇíe_u5WL™Â„Ë&ʧ›–þî·L»új2Y',~=­%–äO¼IÜÖøò¤Ï1ç7+Y»ðk¿Ã쫪ä‰%Kä ŠBÑ×E£­äåÐi¦¡®ÜÜ\lÇ!R·?EEdå䤮ˆ8ŽC"§¶ºš–HUÓÐ ƒ††rósÉÊÎ¥î@M*AY»fu·ÎãÒ‰_h—„t¶žj´µ4ÓÒÒÜ‹k·ûßÀ¿ñæëôïߟƒƒæ³bIDATH8BšÏKeå¦L¾’’’AÔÖÖâ8¾43¦ÏdÙòçèß¿?Í-ͰúõÕ\vé„ã:Ã@'t€¦¦àþépzÍ ÓÜ:¿ø¯I<þòF~÷ÒÚ¶D*‘H]­<´¨©™õŽ=Þ§Kì%AB!z¶yÔã $Ë2Ñunz: degc&“ÄcqTMDzìöçå@s8‚®ëh†Accz:n]waYfê¼ÿmÂ$ úèÖ¹Ôì¯>½âw ƒ¬Ôb¸ÜTUícâ„I,¦®®Ó4qPU…4¯—iS¯aå+ÿüü|¢Ñ(9Ù¹Çý> »8çÌþü9§¾lÛ&™LbY¦i2óÒÁô,^¡¡¡!UNQTTUAÓ44Mkûlj†a ªj·â}ºÄ^!„¢S5d2a¸ÈÎËÆ²lêëë df’•“sðîìÿêî(mÓù²³‰„Ã444æó‘—‚B2™@Õ´Ó:ñ8–“n6ô.ÿÒd’É$µµµ\3íj ("‹ÇIÄãX–ËeàØù¹¹”Ï(gã¦÷Á±ÛÆ œáÉÄ©Ž_O0M“d2™Zý<¶ØÇ¬¯Œ ØØˆmÛ¨ªŠ¦ëèÃ0ÐuÃ0°- —ËÕ~†¾Óœ$(B!Dçõ¤Ñ¬';'ŸÆ†:2³Òñz=Ô×ÕcÚ6i¸ÝîTÇ4-âñ8M¡&"á¹y¹¸< Ù9y46ÀëI“Š…Ô,lÝ‘™‘Áô¯N'‹'H$⺎ÇãIÝÀPQ4]ÇÐu²²²(--Åçóá:8sš8uñë ‡wÝút7®A騶•ê⥪Zª{ק˪ªzF½?$AB!z´Ôó]-¼i~B¡ƒud²0 ƒd2‰?ÓOk4J(ÔÔv3ƃç¡*mÝH¼þ4rò³É 䤶i Öa;6Þ4¿4˜9ö.Bº®ã÷ûñù,ËJÝÓ²¬vMUUÑu½Ý¸ qêã× ŠËåj»bÛ©Å4ÍÔûÃqœT·.MÓP5 í°÷É™øþE!„èãE!È%m!¬Ç6MTMÇãöà÷·Ý ðÓÍåàv‰x”`c=¶e¢ê:^·OºO*5•_ÿ7ð‡œ]7 %1é­ñ;ÑO8\.W7¬3óý! ŠBqš4Üž4ÜÇØ5Ëãõáñú¤QÔy¥>$~B!„¢ï;ÔG>÷Â6«c·›©³øišŠupŒ€è=,ËBÓ´.§â•øõíøI‚"„BôUQðûýÔ¨#Í'Î{“Ö–(þôtÛî¼ dffQ¹g/ùýò¥Òz‘Ɔ²²²»NP$~}:~’ !„=@3 d×®í \ŠÏïCQT©˜SÈqlZš[øä“]Œ;–X<ÞyWÓ9f$ï¼ó6çþBrsóÐ4‰ß©Ô6}vï½»sÎ9ÃpIüNÓøI‚"„BôÃ0È 6ü,v¼‹ææfì.¾±=OUUü~?gEvN>-Í‘N¿ÅUU•…$F%Øüþû„áÔTÁâ%ýšF 3ÀÈ‘#ÉÍËÁåvwk‰_ߟ$(B!D5†].™ XŒ¢Ê··½cÛĉ.“hàƒ‡ ¡°°05¬Œg8uÝD×uÜo—ãˆ$~};~’ !„=ø9‹Å¥2zalºSF× tÝ ë£1–øõMòuŽB!„B!„B!„E!„BÑk¥Æ ì«ª”ÚB!„BœRÊwÜ&Ó!„B!z…ÿ˜8òzKnSIEND®B`‚KCemu-0.5.1/doc/window-plotter-1_small.png0000644000175000017500000025245612417262523020566 0ustar glaubitzglaubitz‰PNG  IHDR‚s@Ã)sRGB®ÎébKGDÿÿÿ ½§“ pHYs››ÔÕà IDATxÚìyxÕùÇ?sgænɽÙI $@€°ÍVÅ¥ân±¸T­K«µµ¶V[mkZ÷­ØÖj[wëRqi«Òº¯UÁZˆ’!’Ü%wŸ;¿?nf2wîÜ,,Š:ßçÉ“äÌÌ™3ïÌ9ïywAUUŒÿ3²lذaÆ/>úÏ£‚ö·`d„3æ\¢Ž=øL,·)eÆ 6òÂívõûÜ|<å³ì#‹ãv»hiiaíÂWYòÌ­B#<õª¿«£¦€«°Ì~»6lذa£W´GR¶µôyžàõÂ]RJ©WÊ:¶¥=D´u¢«¨_} ©”sl }¨…ƒ]“áqñðNVü÷Mž¿å,APU•s.QüþÏér!*‘ÌE¢Q‰ ˆ^J½PP?f| ­Ý† 6l|ùN ´6~@2ÐJ¡ÛÙçù;v¶á2…1ãÇàRÄT‰` ÊÆÕË(Býî£pìaÔ ¤÷Ѿ3DóºúÕG8– Ú¤r¿c)-ó!KNÛZøðÙ{Æã uÚ±g’–¼ˆÉ ,òùYüòSÈ©öŸ{-~¿ÞôÎùÝS”o`ñËO±á'3ë(¦wžÍ mìq(¢#I"™´üߨdµÞˆ©²äÄãHMË9㎩©”B©WêuÜZ?ÚÕ¼Iµaãóø¶[ß'heÿ£NBvÊ}^³®©…¦wž%2¨¹j0¤l\½Œòb/S¿väÀúpÏÆ?¤œ®!‚oS7l ã&ïׯ±¯ù`9›—¿@ÑþÇá/ó-.Æ5æ`$€’’R¢i™d·š´ؾv9¾š‘lútóu,ãýåÃøxù[¼ðû³9ág·“”Jø÷ïÏÆUXÉ„C¾I $¦Jö—bc·áRt; D¢xËËð;:Ú[h;)-óéç¶µè¾Fõz(ðz³úÈ÷=öv¬·1™¯1·¥R ’$âR´oÛ©-xËËôk‚Ÿ,!j‡!Z˜#´~•P˜H<Ž·¼Lo‹lk!%{ñyöÚ³Ú°Ñ’VÊjÇ ö-ÕU•³£ÀOÇöMU ÀÙBÕ¤Ù´íÜIW(÷ú2¿—b1MÝÿGÓÆí â«®#ܾ´ä¥£½_NYÖ7Ç]¡%¥å8R<•Ã`Íý˜Çí¥¼ØKÖìÐ&q{$…¯f$-ï½À’Çoæ° þÂ1?9‹-Ÿ¤Ht?´¿îkøªë;íXâ®Ú#)¢IÉžo6öºBŠ:Q ‘Ö@€’t+³*KYª!ÎŽ@€ª'ƒ}‰jãŽNJ%¢¯TJ!&e¤©d*‘Õ·,9‰¥rï™ï\­ÍÌL¬ú‘$1³PìÜÄ¿W7¯ŠGá£-|Õu|²z%w³'µqÐeK™|ÀA–÷RBaœÉVJ“›‰tNE)/CélÁmDu "êÿ³Z³acW KÎ_Óé™(Vßá'«W2Ìgí³~s'‘͈ }(¡0é2ím¸:ÙÞ*Q6æ@<Ž$Û×/§Ô™¢()-'îÊÖ¶hóÖØ¹’òx»[×.{€mkÞáï¾À!ÝJÜU’™ØÛ7R:l,§ÿöŸ´G2»÷¯—TJ±¿» !¥¬HdqS÷ŸyÃJ?fä9ÏpòÜ#øõ ‡óêW²mi#>—ÂŽŸ‰'¶•·›’Œ(/aVQˆ?­ÚŽÏWˆëdKÓ&ÂPQ9„Ò2Jx'¬\Cy±W?V3¨œŽí=玬…$‰„¶l`æ­Ll˜BßÍ'«W¦€1ãÇJ)lùèݬÿ5¸‚Ÿâp â²SkyåYÞœà„C'sZÇ~öÔûø\™sÃÛZpW „w²Í0ÖÁÕµ ­ð²aýbŽ?åÎl˜ÎéçßE¬¶žd •›o9‹ºå+8ú±Œš2w:šó¬••eÄ:[ôgÍ¢A(ŒêñØ›C’Ä,&ÔI!*I]ë/#µb†'y3F—‘4˜ dYæ×w rÇc/w•pÉI3™1ºŒï]ûwÜ3ŽÉ•l»Ç‘Åc¢³ê ׿̖Å/±ôÍǘ¸ZowúýT„ïx€IGŸE¬£ì fc7 z<ì v2¾Jb«O¡íý'Ï=‚N¨ä–^ä=a‚üàø™49å© ^ Ë›ÚðU×Ú²5¶“ï6š¡%™ÝëK¯.á½è8†{C™ŸÙÊY·,$ZÑ@±f¿†fŒ.ãw¼IEåTJË|tE Q’‚Îï¸p6/¾úß¾u9'Ï=‚yÁi×¼ˆcÄL*Ëýl~ámžVòð…Ó`ç.û×ÿ˜rà¡ÜpÂAÌÿBq‘úƒfÈ 6}lSªëðÉúÿk?ÝÆGm }B¹•4]i‘öím5ÞÏÒ·Ú:#”ÈŠ„t ÕÇ(gŠNÛ`êØáÌ;½Ž»þ¹ŠÇ–îàs'ò»s§sÖ- i ”°&¢¦ý~öÀª=q|Õã¸~Á2ÜÅ ®®%ÈLf·! ú˜¤À§cëøi,ŽËWΔ‘ÜùÏ3“Ú7Ò]8ý~N›;•Õï.åéõà.®`ms'0‚p,A©_!YéDøOˆÒÚzâÁÍL߯˜dTàã@ä´¹Sñ¤£ì?i8·Ž§?kµ'Nim%„Ös×&Xæ‰E2ìÏž§6Ž8 ¥{Ôš‘®B¸… ›¶æ½¦´¶ž"ŸÏÀSH’„§ÀO<)%jbœ)Ìn3ÍÛÛ,÷¨FãQ·3ÃÄÜJš@B¥kóv éâ¤#`K Ãx˜\ǻ뗱áÓÍx<Ä ÚÏxTAêvj±tmæhDUŸäµ‡ñ4ÇœááÁùªÿfëCE|÷»m(µ"?üŽ—×^ ¡ªO2©ò|ÞØT@™[´¿»„˜àÄ­&ì ¢™M×¶\þ×-übîDž¸ænüË«¼Ô)²5^ @µ'ÎŽÖÌ,¤ _õ8Nj¨bSk˜ß?ýUåÞnuã´oïdÒ±Âd‚€?x&tm =!Q^ì¢t\lú”-Q#ü ûÉüû…X窆gx¹“UO×_BhKÆöæ«®%•êqH60º~¢©q9ï¬ ;xê ¸†1¢2H娡tm[AQ¬…¯—:øGH Ö¹ƒòb/ÓÇLƒÐzª ƒÓ€Âv€PE[g„«<„;:x©93Ͼ^ê`ٚΜg Çx§ˆ,Ù’±z< &p«¶ÃŒÝ›£Þ'‰î˜=o“Õ«·rÒ¬j¦Õ×eëU»xäÕXì`pUíÝí’Á£R‰ ›Á 6×_#Úú1®@+#ʿΧŸnÃë/ѯq¹!Ï03#ÁÍüæÄ±Ô÷så½/pýææóåš;@íLýÞn%QbɇNšÂº%"‰'Çœ!ðÜ¢Õc3ÌY lØ!òISæÿ ;2²ÌD,6 I’ØŠR|çëÂÂîâ zcW\ô-Šÿö¯­ê`Z}'·ýd¿¹—F”WòÐætÏ3+8çÀ14”K¬KHL­/gãŽ4UáÛõ>ÖþWEhÝÁq³dº–GÙØ§ÚçÛõ>–þ7#)•:S¸E…‰CL«9~Z nQá•TíÍÜvîT¦«fÖ/ŸeÄ„iHɪ×ÃúuqÎ?ÊK"åŽW[‰V4PPì¡HìrÜ,–Ël ÊÌ_µ•ã&Ô±³S!îq²_mˆŸ=؈»¸‚R)3ÇŽž\ÇŽ>¡p¶¶PZ?„ïL¯à­Õ›3×—¸³žuy“ª?ëš%@—G$µç¥½‹ööƒ(˜a^F&f†è*"´uFXÖ¸Óžf8ša¬ÛÚ"P‘»V¸%ë€Í yõ%6 #¸òÞ—8éȈ»Jðp†‰*½3ÂÍ+WPW‘9飵]€ÈÈZYg~ùPàñàr ¤Ò¶Thc×Pàñ@Þ}}1ÿÝ\@Eå Üj‚‡ÞØÀƶ†TVàÛÞÁ­O-ã†ÆÖ”µ±¶¹ƒ´(Cм¼µª‘xt§Oft¨JS7LàÝ׳±S¤­v?^f /D3ª—æÝ×óκ”ÖÖÓ!„™÷÷÷Q,0¦²”?XKË&‘FG ¥µ…¼¶²•E·â.®Ð7RR ´¶ž¶Û¸ÿ£&¢ ù|82s)P‰»JXóò»Ü¿Y@¬™ÆSϬ¡­¡„5•lmnåg,%àɨ/«›×pÛ3ï3¾ÜɘÊR6…ºøÛ;-,ú¸•ñ5…¬kõòð3MlåÔŸõ¿›Ótª>ê† é¦¡€×_‚’²vâ6lì ŒÚ £ëÇñÖªM<µhQαòb/eƒrù·À©KˆuÆðÖªž'[c‘Ñ””0¤ÈKWÚ$$‡BAM=¿_°‚ºaCâÏH™Áx=—ÿu¦ ]Þdœ’q`‰Î1ÁÉÐISH~ [[2zÖº … ;Dæýºˆ×^ éRà™ß‹²º%Éï~áÐuº1ÑAm°±«p t•Oä¾¥MTT¡È)ЕöRUSÏó«2ÆóÁÕ)IFx~UÐÚ½ëôwO‘âácùhÇ6^[ßs¬ÈçÙË}K›ðúý ®®âùUMxý% ®*#Òåë>6’"Ÿ¯ÃËkë{Œõ^ ‘õ ®®¦xg{Æ–9¸º–‡B—$ežÏÇó«2»â¡Ã ³v­EN©z\÷}J(òùKÇòüªfý9**Ç2Ä)Е‘Šêx~U›¾8Œ¬ŸL¨³So«¨œÈÐ2‘×Ö7ž5Ó¯Š/ë>ŽÌ" 1e6v]æ t⩆³¸˜áUƒ©¶‰ÐB%‚(Ñ® Ń̘É!Z\ŒTTGé°\E2•è ·dÛ]ÝÎ3ñxgq1B4Êôƒ¿A4EsÍñú ™^õ b환Ûn—ÓE$Ù3^aÜaßQgŸqqÿp„h”®´È`y's’7±}K†gª.ÀW"î1z?#_NK²Ìžh6>S¨B4{‚ì©?&:p›Ü­÷&¬îg~–Þží³¯¯.D_!ŸþïEä¢JüEÅ}ž tâs)øGÎè â4¯zOÏPÓv6­£¬v žÊa=s~}ˆ®"¶ü5 3Auéó)´eM#TJGêÔÄGoA†CGº¬ ìæã6´aƯ3l[þzŸç…c J•g1A}C'ÄéøxE¿ú(«ƒ¯º.«o!ÖIóª÷ú•t»¦a&baYVYŒ°C¢»µjÐôÁV¶£®Ø¶=ذaÃÆW¯Ð„¡þÀ,P ´HWÂ’GínW/CšQ+Ò´z1”Åï€î¨~ÈãIÓc6lذaãË mý´}¶}H{°D0HÜUB¹Ò„ÔÖæ¦KfÔ¨QÄ¢QBá0@À~Ó6lذa#/ÒŽt|·Îh{bŠŠÆRRRÂk¯{l*•Bp°rõrJKK²’ŸÚ°aÆ =ˆìó#Ÿù8dY¦½½_ BEE)UÎ0„"¢tÁ»\.Fެ£´¬ŒT2e¿k6lذñ¥€¨Æ‘½Å4mÚÄŽÛQ„Œ÷hŽ©OQb±8‰XœxÂNÇdÆ 6¾<ðQ’©lmg¯>/‡c÷¸/qÒ‚UíÉ<.‚þ·±½·>\‚€ªªúï=«¾zk“„$)Uîó|›V6­lZÙ´²iµwh%…’“x¿Ÿ¶Öf¦MŸFݨ H²DpóǼ¶|-áX§·˜1cÆP?²†`W—ÓI¸+Ì£>Ê7fÎðR7Ïþã¶u˜uð,WVO$»÷YÆbó‡f·ÖwV²¢’³?€„Áðo×—ýó®M;nTcôxi©9zû´àΫÆèmƒc¼§Ö·ù+;€¥aݦ•M+›V6­v‘V‚ àD^_ø <þ0mA¾}Ê)œpâiÈŠJ Åáp +*š×É„ÑS™8æ#^ý%–-]ʉCêˆö"Éö&îv5%?i©ob;¢šÐs–êÏ‚BT%ÊÝ7ß̵w§Ÿ4P,E”aS×þñAÖ¸˜Îξ{î¨/õrð¨‘ÜõÀ¿Ù¾5“kîð£Žã¼³áÿNŸÉË÷ÏáÀ¯elŒÛ·oç¥çŸcÖÌéÌú_4F:óêÜ/ÚøAäæÌì’°Èh“o—gÜYåd5¶ ÔV®Ð¹îβé:ô|…½å9ì+]“Ѱ/ ý|›V6­lZÙ´Ú›´Òú1—ÁUpõ´uk'I·ý¥•Œ;–·½Áò÷—3ëÐ#ûÅüv‰ʲLWW…þâ¢ywÒï–â:CqÆtO=XÀmó®ã¯¼È„8|ÿç×ò£ó¾Ga°HZbäA‡pûårñMá7ofú3n2ß?û~tþ\xùñÆôûzýu<ôøÓ<ôç?sÇS/óæëÏèÇö›:‹cNýnf"g$Ëh$²K†kͬ¡ÏmÜYª ú •qg¥É¸4ëÕ­v‡æ/ŸñÛhGèúòr³ieÓʦ•M«Ï’VÆð‰è Œà”ˆÅ™6}:ϼ8„×­dí‡ï3uòþì ûÍ …cçÌU¯¹öZFŽ À»ÿ{—ÚÚZÊËÊrfïhËØôWVéǬ_a!…Fhߦ·—øÜˆÎBdIBv¤hkk#©Ê$SIdI¦¨¨—Ë…’“PD¶nÝBIi)Åþ¢¬çÊskT }}Dù>,«d´V5»¬*N流ٞ¼Þ¦•M+›V6­> ZÉ’D,ÒÉ Ÿcܘ錭›@$Äï-ãîûÿ³Ï=ÇÌ38ïûß§²¬ZÄ7öí/ÙÐÔBgGÓ¦ÏàÅ^X¦Á•Unž­­fèPý<Ív †p9=”—ypˆ"¢'žè"œ–u'› Ó”)*­¢D‘d‰D,®3Ss{2•"žHì>àEÒŠ‚ªDIÅ3‡( Œ;6+\¢¿¡±„‰D„ÜÊÏV;³ c ƒñCÖ æZ¦mÇgÖÕ÷–PËDo5fs $c¿ôÚ·M+›V6­lZ}V´©Õh2-“J&ùæñÇÓ¸®‘·e2”yæ™TFª;˜¾7Fëèïƒ ‚@<‘ žHäì ŒžMùÎs8¤S]Ä ¢Ñ(áXº›Iõ8Ùb4% éÌÔª]ëW;¦'2D4¦2^“›E!ž³£I n=÷ŸvÜhv¦­ief°æÂ–Všó©k­tù½]kv·Î¶!8sªV[»a'úÜyÚ´²ieÓʦÕçA+Í#4ÐÑN4Õ…S *† ãÜóÎ¥¾~o-|‰«¯¿’ž}JϾ³G’n«ªŠÃáÈÊÂb&‚?#Š8½º²v^Zp#Š¢þcî_û[»ÆäŒíZßZ»F(ã5VNBc?ÆÀVã8ûrÅ6Ú òo6ä›ë™Ù´²ieÓʦÕçE«˜ªäH„²#“Ü;ÒalÝ.¹ôŽœ}mAÖ¬]KŒt¯ è5j¥óMŠÝb,ýÓ÷(ÚßëÍ;!vCß—ÁØJÿmÓʦ•M+›V6­>{Z¹‘˜&v;Ë$Ó2b·ê5R9x^ü Ž<òŠŠ‹q9}ú…8ú3@íᬠŸ‡ïm7ÑÛß}է꫽¿„¶z†þ~0ÚnÄèÆœ¯›V6­lZÙ´²iõÙÑÊÈ„5\:ÕEý¸ÉT•Uë&±ÞèçÈM̃7wn&®‚S×WŒU³îÛxÌhÚ›î:ßxŒu²ŒcÉ÷\šªAS¹šÓ™ës™w>6­lZÙ´²ieÓjïÐ*œJ : 9`ælª*«§Ýf¸žçO n\ĉ¬Ê»e#ÌÇ ©É¬\gâmoƒ0£ÔrÒõg·àPc}îD2„ÐôÙÚX¬®3ßGîì¾3}½±¾—M+›V6­lZÙ´Úû´ÒÆZ\XŽäòéÿŸÕìbÞ4XŽu zd«—b,êØWYKðAÿÜ›×|ŽUöƒ|$úÊä`lKXd5ÐÛ-®Ë×nÓʦ•M+›V6­ö<­TUEqÄQUW¯*Ú|´2×ÌÍË%YÂévõ”°aÆ 6öHýWgš¯”däîB ¢·f„©TŠP0¤WøµaÆ 6¾,ˆ'ìØ±=¿DéŠPQQNKK ;vì°)fÆ 6¾tH¥RÔÕÕWÙŒP’dEaäÈQŒ;Ö¦” ŸD5"8Q](‚ I–ô6+¸Ä4qÅA*™²‰gÃÆ."­(úÊQƒBá°M%6>#È’ŒÏçëþ/Š˜éìì$潦¤¤·Ûƒb›/lØØµ ¨(âq˜a*•Äåt²lÙR íIfÃÆg0››š˜´r<æÜ•VÅfÍI•ÁºÚôTV0÷¥Ÿ/‰¾UüUòe›V_MZ(‚ËZ"8jö!x Ά {ï.ý€x<†Óíâ£Õ«YµêCÎ8u.¥¥¥Yçu„ãx<^ܢ›o/æ?ÿù'œpBVâúž1“K«`\ØŒ‹‘9¥æòÞÛ•/uVf²v{7æÍëL&y«î…Ýܧ16.ßµæû[ŮٴújÒ*‹ÙZ5†º’x=ž~Õí³aÃÆ®C–$b±²,SèÙ²e+ )--Í™±p;‰Xœ¨ÛÅ_›ÆªU …,¥BãBÕW&‘ÏÉG)+*iÑ:'f¾üfi@µ¬¼nÓê«L«¼ŒÐÑ]B–¤ÝLLq‹¶zÕ†^-YÎRÓúr˜eG8Ž»°5Ñ…šH!–ZjmzÒs%,wá{c±袓ol½¡§Æ^ÿa®º`ë¾N+s¹»Œ)) €«Óóõ‘„~Ž«¯¾v•v»Ks«±™kþÄüíá¿qûí·1¢®ŽP0˜W[c.åÙ•vgçžohö|RE>É$û^iKé'± ÑÕû2­ÌLPQ’É„=9´Át"ŠbŸLp¯0BA‰v3A["´ac7&r7¼áº(*.æ‡?ú·ýùn† 6 …ØÈ<2L&ÛdÅx¬ óÿÓ¨Dhì_Í—,ÏÁa6õªî³bšZµô}V‚ ‰"ÁëÙÞÚjOŠÀç÷S?¦žÁ•U$S©G ½Æ»‚ ÞÝ 0»Áj¿6v ‹—¼Çßþÿýq&54på•WqÛïnæOþ²äë—$"’@1Ôu³RYISýÉ iå˜0Pi,ß3ÈŠŠâè)̪1!Å‘î7±ºOÂþüû2­´E;ܦq]#’$qÊIßD’${bô¥q\ˆjœõë׳¾q5ƒ+«%I×¢ þî5‰0ó¥A´_ˆ »ƒÚš|èAª*+‰D£üüç?cCÓ6RÉdŸ oOcgÞjã»*Å „ôÅóIS†ãÊaB’…Dhî«7©Ëìà±/ÓJE::: ƒœqê\{B &54°e[;Í›73rÔHâÁ¢(æ0A`—ó–Ú°ac/cpÕ`ª*+õl"™d䨑H²li#ÔêÃõ¶ðj1]F—w­\ŽV Oûmt‰7ךÓJÚKí%1óoí<ãÿFfa»¹.¹­öœ­\^œUå-F«•!ú"ÐJv¤H¥’º3•íÅ¿ ìÐã&•J"ª‰,º›ßý^e„¶}ІþCË„_êÏö•% ¯Çƒ×ëE’d<²$e×g$²¢æ0 ãB++jŽšÎ¡È9‹to’¦ªªÝ^‰=*?ó=5F ÕÖË8ÈôÀŒ·žœÓ¯7ö!Ž,£Å*~ÎÈtôø"ÑÊøØ85›Þæï ö²×¨í,cÃÆÀ ËK–¯¦#ÐI"Ö3£IAÏô$Š"N§Lë¶mHröÎ8‚¸tÉÈÈ`jŒ¤èÆið²Ô=.U§áÁĬԙFÇ—žÝøÀgò¥ªYÅ^UÃÍ”u¾lïM­Íl¯3Ö³3öeì#)öd=Ù×iµ»H¦R4~ÒŒÛíB–_ÈùÐÞÑÀ” õ»Ü‡*äªBµüτڰacÇ”ƒ‚‚B6nØØ?¦ét"‰b¶¤£(x<žnéETx";Ã!Rª l‡Í!Dg"Ž8àêÕ>fÌV¢1—¾¸X14YÊÔ8 CˆB¶1ŽÏˆt·ãŠY¥¥Ó˜‹æ šu¿¿‚‚Lüœ¢PPX@AaÇCAa^'YŒ¶È’„¿ ã¸ãóû% EQ%IïÃç÷áu’å±™ŒÆsü²î¼PT\¬s9ºÃ‰ $d99˜eú½f‚ãóJ燫…Óì|cöµêO’Y÷4Ÿ»/åêüRÏ+ g§Ý–uF—îB|g)Û×&¨ë„o2f*¢Š ‚"ZôŸÝžï¼þ·ïëóÝÓêÚÞÆ­=›U›Õ=Œç«&µro4²iõÅ¥ÕÞ@2-±cÇ‚¡Ѹ›9ßû¾r>qÅA±ÏÅ ÷Ìã¯Ï¾I{Xåij/æÇ烋sÁyßãÀQ•<óöJÚÃ]L=d¿ùÕŸ„®,ïÉ‚Â:?YÊþ3Ï­ØHÙð™üâ’ó9h¿‘ìØô wþþž[±‘¢’jN9ïW\pê×H\ÿýB„G~{ÿg)ñ„¬! qÁwNdÿñÃyü?K)p:™ÿä¿H)J¯hzK±fL™fVoöf+Ô$E«M€™9ö' ^—{‘bmIð3Ò¸X$7è#b½ïT¢²ƒô[Kiû`5‘`!mñ0e%¥ˆ“¦dì&÷Uè‰þ<.»·Ibž-š¹]Lï%ús}¾{Z]Û[½?¾ú¢‘M«/$­<8H'ºp8 öèd¯®‚ßçÃïƒ7ÿq7ÿ4</+û=üo¿½ëFE¸ýª+¹÷ùZ.;u*/¼òñ‚³øí]P!¶pù¯oà²;^â‰kŽá“æ.—Y’PƒMÜý§ßÒXt4ÿxêVV¾¹çöÈé:»ýÿXéÏ´7/žÏu÷ÝÂÄÉ0¬Ä¥k‰ž½÷zž]ëæÏý;ÉmK¹ý÷·qoe-—7”gÞ\NWÉDî¼ïd)/i”à’¢³2_еL˜DöùVLÓʃuO¡·¼©6ö!)±?ÒÚ§­}Mð4âêi(ËŠ· ºSìX¿‚xõ >0Ä´ß‚¯,œJжàjª'í±> =—ÿêR&øxý6Îûå͸E…ûæ¿Ì–äp¾û–|ð_\Ãe§>Ãèº*n¸îBê‹ýÈÕþÍxùå§Àq2ÈŒ×íbkck?‰òç×~Ja°ƒæ|I–ØòñjÞ]å×O_@¹eäÉ?áÅ·>bá+oòÍÃF’ŠÆ¸ï饜=ÿy&Õ#;–¦Íüí•§Iι‚ÑuUüòæŸ2¡ÀG{4eÊ©v§Asæ„$ä [03¼¤b·ç¦‘)ŠÄIãÎõv5„{ Îæ+d›OjÕîoLïeUÐÖ*ŒD³G¢Q½BI_pKé/UÜa$Áé-α‹÷ŸÛA"‘Äívw‡¦Äó~}RJ†WöC"œPDÛ«’n£.RNÙÌ)ˆeCH'Ây¯“e™”`o—l|uá‘”û›‰Çc{¬ÏxmvV6Iãoã1³ÆÄªÍÜg¾û{\- pÒ©grä7"‹FIÅ@p&9®2E¬vçœqlfaµyƒª¡J=óÕ¡Æq»Ý9}ô‰;¢Ì_µ•3jéli"Ðdèà †»Rüõ•ülÎT„ð Ö¿¿ˆƒÏ¾ºúõ–FùÛK˸ñÇß"náÓ·…úï"+!\ÎLõsQÌefªª‚ÛnUQ"‡ÖŒ+#Qºrk[Á›¥C¹›™C‘-Õ )5“F“EâYÁûùÆg„•y髇èÆI À¿Ó-*ˆ¢˜PoNfÐoFØÃaEýÆ¿3“Z íàÃ6ÅQSoé`íAjÇÚø|™¡ÕÿæßVçö·Mý ãiÝ¢B¸#ÀÎí›éÇißÙ,;q8¨±8'_ùÌ»ùð3fÎà'ÿ’@ggVìb4#èÌVQuE1y2ç÷®»äBÞ_C{ó&Ž9õ»œqêDÎøþñ\zÝ¥lx}íÍ›ˆUÈ™'Ìäí7_¡=ÜÀE—ÿšK¯ù çð];¶±Ý1œ+/žÍÖö ÎN$QÔã#s‹ª¦3q†ªKW=Z1Œ=ÑZZÓþÖ˜–1›ŒÆ 45ªTïPc ñ«9*Í”*#˜¤Ç¬z‚8…¨šãŒ: {dF%ÉëIœÃ|SÉ/]wàE‘öÌ3™7Ò@'™ÕߺN6EI¥H&“¸E‡.ª¢@2•âµ×^c[K‹½úÚøÜqàR__ÿ¥z&Yv²££‹‹.»‚šÚ±8.—»{,’L¥ð >˜K~åçÅwVÒÙ ¨zÇu0m[¹ú†ßâóùH) Žf~ýFŒOG8®§èRU•í]2w!7UŒá?ï®aÌ´£8èЃim 2î?âCûñGŒ[‰Q;b ×\;:º(š|×þ¶œÞx÷øÉrä&Õ8i x¹þÆë³’˜UYfI*ŸºËœú¬7†£y–¦·žåF5•bJãFq¨Yý›ûî­ò…ªª9Áöù¼F­®w‹ i1 ý” Å/YõIH’’ˆ ¬÷XovÕktÀ»R)æ'¬IkÖ¬áá‡fÒäɸ\Nâñ.W¶xªµ™÷ulo]ÿEíÛ~îÞ5®kdÍÚµÜxãû´CAoõÖ‹ŸH4å Y‘ˆÅ‰'2egŒ¹6#É ÞêÎýaÆ”‘N„ ƒ¤T™#Ž<‚HWUU‰'Ô ÊÈQ#3iÑ +«CÑP3ãh¦|"b,ÄÎpˆdJ&N÷´«qvîÜIK@¤¼¬Œ!ÕCC õ5.™q ¢' Òˆ Š"‡q,]Ý’£™©hZ¬Ò±Ïï³è¯e>ÓîToyêöWr3K»ë:›Ø—ºD½Wígõ@ÎNFÍåÿ÷k[±ñ¹bñ’÷xêɧH&“û#Ô<Ý2ø½R/ÓSê–s% Quf#ŠbŽ”’Ü$ ¶·¶’L&º%=QCz–Q‰':35Ke‡J,ÜNûÎݪ×Lõu‡Ã‘Õžé;#jõàD2ýnÙܬKšÚ=ŒL×X•A«¨¥XëÍF¨]gNðÏK3Ãã(¸„žãVêÇŒ÷4ÛýÌN:}1UÍnÕ›TÙ_Q šùêì³ÏúBÎÓ@ “Y‡I<CEÁ…²‡œ+Íïå3]â‰8ÉTÊ.'bãs…±ªÃ¾QÆxcI#¶g‡,Cúß~_Iw[€iÓz$5Ív&;’(¸t›W“FÆ¡CíöÆt»=:#I¨*n$ LCcZ)Õa驨.ÜnA—Q3L2·;WU¨y¦T‡#sc AWÆ–i`.¢â"Ýí8“a>™üžó“k‰Ë/htÐ狀ròšjãÈdÉ•­âA MZ5_±áÇš¸¾¡0J¥ÚÚÜ›™Ñ¶õƒ ¦¸E…T*É.üYNÉ®/ ºÂaÖ®YËø ôüÝoÓzžuWÆŒD_8Ž …ôzl{£Ÿd·Ó Þ/èÇôeñÝ|ß…œV ÅÒć@KÑÒÆB¬ÇÒ=¤:—d²®(Q@ÖtãoÁðJ•õµÁ(áh »9& «!-=81eN!WíØ[öcŸFf¤1JwÙ#óø´¿Í%ô͎Ɇ—yŽÜûíË´ÚU&¨›L¥9üÐÙÑêÞ ¤H©_¬%ßWXȸÑÃ)t‹ý¶fm\œ2‚ÏJó§}WÂç%šÑØØˆËífXmmƒzêÉ'9õ´Ó²»–m-üñ·‹eâ­ö›2…sÎ9g—î{ç]wñÁŠøÖÜoqÌÑGëÇÞýßÿøç“Oênã±X ·ÛM 3@ý˜z.ºè¢}B¢ÝÔÔD<ÃÇâ%ïQRTL}}}–d‰FY¶t)_ûú×Ù¸aNöŸ13Gz_´h&L ´´t@ÌK–$^{ýu8à677XŽ»½½Åï½ÇÆ©ªªâĹs‰D£x=ž^°€—_z™¢â"&O™Ì/¸ ï}-ZÄæ-[غuë>óÎúD· ÓívQXZE2‘$‹MËt;q9]HRF¬ôyÙ©I$¢º™¦UP¶& 9ÔbÚ¥«ôÌAâùTG½9qUzf¦‘/Ðܘö¬· t«*F¤ÖUø„–Ó3+`ÞähóE Õ®ªFµp §·˜‘{¨|Ñç½ ¨jXîŽH0‡OX}WŸëêðäSO3bÄð,FxÑO/bPå ,&˜L¥øñ?æ Y³8âˆ#ؾ};÷ßw?o½µ;ïºs@ÒÁM7ÿ–Æuë¸à'о³?Ýþ'Ž9úh’©£F┓Oꦲ²’'ŸzšU+Wí3 ê²eËØ¸q#—^rI¿ÕÍË–.cíÚµüéöÛ³Úßzë-î½ç,X@kk+·Þz+ ,Èê³±±‘+¯¾šž~`£$Ѳ­…?üþðô,{ÿ}bÑh3^´hÏ>÷M›š=z4Û·oçÓâO9qî\¼›šš¸ïÞûøÁ@õÐj±8·Þz+Ñh4ëù755ñè£Ñ¸n “xö¹ç¸è¢‹¾“?‹f&®2¦º'°vÌ «…Xs–é‘°²ÿÞRŽYµ[õO⳺ÞèÒ[y±ÒÛ² î’Ŭzt«y¯û"Ð 29cõ ‡²˜Á^["I»ô,ÑhŒÂB_Vf«ïês]Õ].'.—+‹IÜ2o^Öyß>å&NlàÒK.ÑÛf~8¯½þú€î÷àƒòܳÏñÎ;=Y,ª««9ýÔÓ©®®fRCƒ«3¸jpεÌ9aN–”óyB«0œyæ™|÷ì³Y¼ä=öŸ1So¿÷ž{¸¤›¶³fÍbþüGyü‰'8ý´Ót‰ì¸•ïžu^gÀÏ¿`Á¿˜uðÁx=bÑܼ¨¸˜Ã;LCÓ7LO>ÉôéÓ9qî\½mÚôéÌ>ü† Âé§Öý=¹Øo¿)Ì:è@¦MŸža¢›6F‘¿»â©„Ò3ˆU†£b–rTUÕ%(+†Ñó²J#f%±…91voÌÅØw¾kùR­‰ÄÓ®f¶¯Ò*¥(””ã÷ûyõ•W˜9c—]¡¢7d^¦âɪ>&‹R3t(‘®žLEù· {baŠQ£Èè6Ïpé§,`É{‹Y°`A³yü‰'‹cnY IDAT4¨’ë¯¿Ž¤Áf"K³?¼ß÷iÙÖÂ3Ï<ÃC= ÷0©¡ß\õîøËÜsÏÝYÇ´û466òqc#·Ì›·O9ûD£Ñï÷ù8âÈ#ytþ£:#|zÁŠŠŠ™5k–þl§|ûî¿ï~N>ùd¼‹—¼Çöí­œÚÍpúük×®å˜cŽÉ{|RC“ôÿ›6mÊÒ 2„#Ž8"ëÝx=î¾ç.®¾ê*;ì0ª*+©ª¬ÌRsÄcq¤¯s–¶¸&E75­gbÉ'=fÇ3àFÆ¢9Ù¤w^• y¡7:¤½*Í1}Sé-æ.Ÿ*U2FŒÌ0)æ§…ÙÛÕ øE •ÛíaÿÉûñцykáB›ÓõW•šLRZZÊ×fLÎ0HEÉñ~Þ+ŒPPD´D€QÒx¹ÏŒñx‚ŠŠ ¹ñÆßòàƒ÷çH\±h”ÉS&[.ÀaJ¡`ˆÑõõT œÓׄ X¾|¹.ý˜û|ä‘ù4kÖ—âùñpÌ1ÇÒØØH}}=÷Ý{×\wMMf~8ó™Ï³Ï>ˉsçòÀý0gΜ]’W®ZE0döìÙ}Ú´18ÝÙª Mâ3¿·¡ÕÕŒ®¯'PUY™³ù*"·Ølö¢«If‰G$NRt›VO±ÝÞT‚f›‹ÎpòäûÔâõ²²®-icRpé)ÊRªŒ"ôdhÑÇÔ}IHêiÎŒ Éì1ª=Ó¾N+]ºtJLž2×îVGù "Ô•Ì Ú«6B#ÓóàèWZ©ââ"Þ{o W]y5óæÝĤ†Ë…6Ÿä3ÐÅn{ëv"‘~“š,ÐÙ©;áX-ÐK—.åïÿøû€ïi\Üû#±657ëÎ,Vhoogó–- 4ˆh4:`Õ¨®jþö)<òÈ|8ðjkk³Ô¤¾ÿýs™?ÿQª‡V8©Ûn:Pš/[º”ššý:wõhÎ;DúþÈÃa\†|˜_õЫ t£Ç¤UNN-©¨¤Åd“êáj «ÓB&¤ÁOÊÓ1^OgH:Ì„!hýjÌR¿FÈ}fÈöô4ÛæŒ¡ ù$Ò}VzâïîÌÍ× ‡Ã‘O ™,Af{ñçZú!òè#óùéE2ûðÃóJž=à*___Ï ÊA\}ÕÕljj¢½½öövV®ZÅ­·ÞÊ~S¦X:ÝÜwß}4LjÈažýÁûËßgþ#ÏLÈØA755éçD¢QýÆ7øñ?æ©'Ÿâ²Ë.ãÊ+¯ÊékÑ¢EœxòÉÌŸ?Ÿ«¯ºšŸÿô§x,"÷gžuÍÍÍÜ{Ï=œyæ9êàd*Ŭn øš«®á¨£ŽÄïóeÓßÀ[o-ä”oŸ2à1z¼^Ëþ655é?7Ýxƒ Ò­l&˜m'“„d»«½‹$ô ðšLc>V÷Ð~ãàŒU¿3y9­¯ËH ýž=c‰g1.ã¸4fæºxVšä¦µY=¯¹š¼Öï¾N+#ãEÑþÙ…+Ï`ó··G¡1Ã~”þ‰ðo/ZDý˜Ñœ~Úi½ªÜj ˇ[æÍcûöV¦MžÌoçÍã’K.eÊäý8hÖ,Î9çË…~á[ 9éä“r˜EÕ±-ÛZ³Ú¶mk!n>wìØA(ØÅm·ßÎ-óæñþ“?\•ãtÓM7ó›+®à–yó¸çž»9ú¸ãsúî/dI¢aR€ÎðŒ´×þ>÷¼suƹ+ŒfㆠYö¿X?ߥ•D¸uëVŽ=úXŽ=úXF ¯#sýõ×ÙÛ^¬¥”*gMzmÑ5/ÞæŒ&ÆüPkÇ­="{Ô}ù¤Õ á%W–êÊxŽ&1f¤()UÖì­Æ¦õ©©5­Æº¯ÓÊ*Žý3ðã±'†Ô9ðz„»¢í/fÌÜŸG™ÏÓ dyî-üáÖ[xâÉ'©­©ਣâÿ;ãÇÏq´xíõ×q»ÝLÝoê.Kæü˜æ²6ñXŒc9ŠaµµºrΜ9YAýÉTŠÑõ£³¤æ3Ï<ƒ÷–,ÙeZ¬Z¹ ËÍÊU«òª¤‡Õ£aR²$ È6¨ûÈ#ó™3gNÖ±¢âbÝAj aEEwßsá®.~èaî¼ë®^ã ¿ÊÐÒ†™]£3‡Y gÜ)+83jH‹ºyFû™ÑžgVKš³­hUãvÍ×kêC«ÒDZŠ5È­hdbæ"»}Åéík´Ò®—D‘Î`€ Ÿl`ë–-öG=”–•R_?†ââ⼌=ÎÎ2–uÚÌ(..âÜóÎå‘¿ý €çÎÝk^™›ššXµróæÍ˲ÁÕ××ãr¹xñÅ™={vÖ½ßzó-fî?sÀŒ`@ŒÒí&ÌÔjÓrG¶wtèN== 3;=ÝŽ¶¶]¾ç‹/½Ä ÊArÈÁÌŸ?Ÿ[æÍ³|¶x<ž×vÚ—Ä °téR9ô=øß_TÄÚµërÎëK"ÔžÛëñè,dB_nýíÌû-Ë—¯:4ÍE¿'Æ.WªIXŠ#®ÛëòIГYEK‚­¥%3«3ÿ«¥ŽÒ¨szºtOL«ø:mœF»aCÄ”¹¥—¬-VÞªû"­A@H¤h\×ÀqÇŽS–í»ŸXùÑÇ46®ãg’Hf‡èìV¦þ"Êÿ³wæáM”Ûÿ$“µtšÒ"HP´ˆdñ'`Yôª * ÷ ₲£‚"²(²‰ *‚WQwqeñbñ*-[[°m’¶Ù“ßéL'“IÚe3çyxBgÞygæÍäýÎ÷¼ç|s Ê€”–ZißþRFÉ€Ê` 50<k„.§“¦M›J#d¹à‚ ØñÓŽæ¼ü|vïÞÅÓ®óõ'S ÖúŒ&ãI“çç?ÏSŸ sÇN!¤J3ŽÿGW\\Ìå—_Ζ-[øâó/$–·}Û÷8. nEºÅR#F(¿où÷v^“&¤YÒ°Ûì4JoÓ±ˆJ&£šÀ-h 2@ºVå[µ`ò5mRÈ‚ÌÇVP™š 2'WU?Y_"[‹TÔ6Ú5Ÿ c¥+Àf³1覾±g»–ÖíêÎlúè ò£yF#Jí®JýÜ3LYÆh4PZZJjj*/-YÂ]£G«‚áÞ½{O óÚ½{ååeRà‹Øÿ¡C‡8pà@ˆšÿûï¿ÏÅ·=®”3ÙÖoØ€Åb‘"EûöëË †©Íœ°["5Uuýn}ež¨˜îPݸz<¾øâ .¾øbÒ-–öÇŽc_n. ‰ uþ²r6ZU„¦&j~œôÂ!s*ÙJÄ|?M¸‹R­½|Ћ>,‰^ÞFÙŸ†b ‹ò¸H÷§–ϧ÷$&w¦•^ëÅép ×ëëÔ+u.›ÙlªQ\Âi Öˆ3J.ÊU+Wòü‚¬—É{Ý4p ;wíbÑâÅaÇçææJјÕYfF_Ü–ÛGÝ2iòè£Søv›ÇŸÂ½cGKZ£zŽ+V`±XN¸‚y‹æÍy~þólj)^x!F£‘¢Â¢0—­Ú ‚)+^“Ñhdæ¬Ù v ññpÕÆD•¹"^§ãÖÛneæÌY¬\¹"üZN dQÄ(àj€?XT¶ê¼={^Ǽyó¸ìòËIJJ`îܹ´mW%»é\5 Ì9W,’ÌXuÒc‘ÜyòcÔBú#I¦©ý-ߦt?*ƒäk}Êk ^Ð-ÓU&µ|Á3}¬N† ÿË+Â^VvV?× ññ´Èl|ÒúS[×­“`%0F²ì«¯"©2¢Gdc™¼´d ëÞ^Âææ<5‡™3fòùçŸc³ÚhÚ´)sçέõ[Ò‹/.ᡉyxÒdœN']¯é–:‘”œÌø ãOxL²²²˜<ùa.\DRRÆJÅ” Hm4h@·nÝB&ó쫯ÂR¹~&n{ú™§yôÑG™òø“)*,bÐàAµºž† J)r7K¯ž=ö¤¤¤Ð«w¯“êv¼ð⋪m“‘™IOÙ5egg³õ«¯™7w‰I‰Ø¬6Ò,iaš´jÖ¯¿ãfÏg«éu:´‚€ßWõ øRòw@‘)ŸÄ•Á*òj Õ›jPR(Úįl¯×é‚%¦õ å핵•×(_CM.g&­Å…H¸iT¯óTÕ‰ÏÇô:;wî$%%…øø„³²Ú½ÏçcÏî=4Jë}ÒJ¯‰u;ëÑŸ¬Tq¿äÒK)))‘Þnäמššv¾l9·Ä„žŸ?_JÆ7ô4hаV ¥d‚òk˘ÉÏy²ÓZä*6‘®;3##,I~òÓ8RpDr×Ê+–D³S‘–s&¹E5 .·›â’b¼/:½Ž† bÖëq;ýR’±“T®§‰Õ”l-RU‰e±Ê{Ðjµ!,R£ÑÈ‹7H׫V,W¼å>¥K3ȂњjìðL«Úyè48}:žnWw>«Ÿk›íäjêœÕ'ÄÈÌHk:ò}òb×KœÙ,¹+•mjú¦,¶'ÒHçªmßÑΗ˜¢L£Ög´ó«]·¼¯š\g¤ûªíÿO”©T×§²üå)5¹6µ}çr°Ëå¤ÉyM}Ç­|öñG\ضV«øÆíylú4Z¦xð´Ò[±ÇdA"àø|á/®‚PåæÑœÒ1â¾@ mx+ÐèâBt¥„tEßb¿Êí›&ç5eèÀ~ÜzûÝt»öZ첉ÐG°º½üz€ÇåF¯7„Éi¹µá,Q™n ¨”ÿV™"š»Ué.t>‘™ª‰e›lvûq)C ž §OÀ{ ®û”Î FƒQ¢·Ñ&$5•e{µ65ÜÚœëD'Nµã#õíüµ9¦6ãz<ÿ?YãQÝ=Õt kú,É]ßç²òÂÒUôíÓÒ#ù,ž:–EÏ®aÙs#9VRŽÑ` .>“ÎÃá ¢¢·O %5¯×ƒN§Ç¤óc·Ù¨pWMü¦z©ÄëôN‡ƒ2§OêËëõ`6[p8*°ÛìЉ“¼ÙlÆTùÛxʱ•{¶ Gƒ¤œN¯£rÞ0/µ±Ùl¸} ‰ ètúÊsÇa-) XOÆ„T–Wº7Eey²{¤uÇÚ®+ª­*Áïd€`È$_‹9âL3“pjê)ž2eƒÉÈîÝÁèÏãÕÈŒYÌNø‡e6³cÇœNç9»vh2±ÙlØìv<¦ú {p ï|—ïvŒG~ÿŽ //gãÏ…tïŸÃ„1#1 ðÈÄi™ áݯvâÓ'só?bØõáp0zJÙüâ–½÷9š1vüx®ïÔ”=¿ýÁâGæqqCk>ý¶m/föÜù!`X/¾¿|ü/¿²ŽÃv-ÝûÞÊÈÁ×W/NÚ^Xl£uÛ˜øÏ¾Òä§Ñ™1›ã8úË—L˜»ÂbÍ.ëΣ£qš‰%KWÁ¡],)eãg?0yÊ4úõïOIq1Z­6jM@µâ½b{%³«i°Œ’ýEbŠjýEb¨1«;eÁ2JëоƒæÏ?÷ã0:bßDÌN•”œœB÷ÿ8gݤ¿Ž&MKîøÏ?ú«©9FÁÇíeá[Û¹ùöG¹=-x†qÏ7fíÔ¼þÊ+XÚ÷åÙ™ÏS¾ï -žLã¦Ë¸þ ï,œÆùf/^ý·ÏxiÙ|RSŸ Cp³téËÜñà“Ì|j.&“I*‚ª 8Ñٷᦾò#7¸‹K2õìøè}¼ôà¯ÞfÆs˹ñöqI¦žU3§1ÙÔˆWþÕ³ÐÍø ·3eæL\9’ûzµáÓåÓx`N2kž¾ŸûsY²t/¯ZIŸ¡chØ0в²¨XÕ˜XmöÕt47é©–‰Ùib„5q‰©dÄ,f1;¹oÖñÌÓÏðɇm°Ú¬|ýõNný÷\œ)‰^†egòÍùÈûËEEÁ{À@2[dñàüÙ\Û<ýçS`³³vÕfú/¾•…¯}IJöÍ|øÎjîR~ùöcÞ\מ ¼Œö.ã±9ÑÈUF©;€ËL~¯phÒ0‘¥¯~HÏ‘“¸cH_Ž Z^Ô™¤”$ž[þÚw¿‘;†õÅWî Ù\/=G½•@˜˜˜Àö÷¾B“~ ÿž4Š$«+žžF‡nRxì6Œ#£œ@¿ë{à*µá øðx½Ý’Õ™€›~Õ`ŠãÅ“òbS©;\›5>ŸÆxN=Ó.Ÿme^¤¨YJT´ÝS"±Ç'³˜ÅìÄ­Ìá%Þ¬“dê&ÎxŠ›¡1Ôã¹÷²z§›K.ÌÄGRRVYY°ì$/%V'‰¦†˜â-]_â ÜËŸåô¼ ¾RèÀÀ°ùá†)ó‘_F®2ò•b4šÂ€h¿KÇàt#~wv[pÒ$øøÙ­åº¦ 0 >òËlè\Š9ZQå'§žñ2t~ö+"®ÅÅ ¼N.·‹ä¸àšâ±2kعÅêbô¨G­/®ŠŸ>‚E5h"NšòãE©.µ@˜šF‹ªÝ„0]Ð}ïô 8j•Ó[!{.˜û8ò™Íf#‡³QƒOc€Êª&jÁH§5}"f1‹Yx_´^Fßû/º]Ý׋Ãáàh±4K2 _û’{¼Ê ^غv"3WsV”³áçc<Ð/ü6 ¶­Çe¼Áq„ž5'ã†[Þ6˜Øì)¯Àîròß}ûñhÁ)˜Ðë !  7áñxèžÑÿ|{«»Å“i1±ßœ)—гi}¾Ýõ'×yµd4nÀÖµw aB×4ŽçÓOóm±Ÿ+[Ï¡_–RêIEgJ¬–¡ÉSäA2Êýòvb„¨ä`%o«VAB |Õ%Ësý;šI# ­ Œªñ1‚/8¥`ÇjÁH1ẘÅì\š0%V+ÿûý\ré¥ÿõz½½Þ€×ëáÖþ×ñêK/ðûOm((8Â민BV› ÈA™­”ÕS'P±§Öƒ{Ùþ»ž' Ü sóžx˜üËÛਨàÏ=;0â62ÎoÅÑ‚"ôú`ú†ø* Ðº¨(+cøC#{ï\î+9Hzœ‹¢¢"™2ž·ýŸ>þ"“‹2LlûìGF™€Õj£¨¤‚n½¯ä²ßgÊ]ãèÕå|¾|÷º÷A¦%ž¢Â"ŒãqGF t‘o«e·gì$ƒ[MYž×ë9§‚ÁœqµƒZklêˆYÌÎ&¨7PRæâλï£U«V¸.ŒF?øåŒ˜ò8)o¿Åg?åbjЂEk·à+ùv§Ÿ&͘ùÐ|ðí.HïÀ“÷ÝÊM ±ziŸÃ3 -¬Þ¼«ÍÊ•7ÞÅe]ºâ²füC“±Ûlhtq!ìɯ1áóz16éÊsóyý÷ØoKàºw †&]™6¥jû°‡gÑ£c lv;÷Ý/­›5 DÓ”Ûÿõ(mÞ_Ïg¿åÒóöñ ¼þjlv;ýoL½zñ””¹$6*š\A‚nL¿Æ„G¨b†Êt ¨ª( X×PÉ Õþ/U*n—ƒ¥\™Fí“àÃAÍ×ÇÐ[k„z­“Î'à‡šŽêJ4§¬úDMË0Å,f1;y&v›ëÿïúJ½Ö`NG€@¥ËïˆMKÁcȹM ¾p¹) ´£Üzki)Í;õ橃¢ìÅÅűV`|X]R.ì´«®‚®Ñ¿Êì˜RÓ4d%ÅÅa¹ƒâ¤îuÙˆkÒ– vÅ$ø°ÙíØÊ=aÛ=å±V€ÓÅ 7¢¢¬ gY1º”&ÜøÀ“ |T8X­¥”ºõt»öZ)U#Ì-*û[ÎêÔ4OC*_T¶W›R¥FYÝB®PS¦(?¯X–)øÒ,Ð+2;ÑŒ‚¿æÏBÀ…ðŸõÏt]‡«Õ´¬ ¬èvÌb³“c@@C•ùjZ­–⢃t‹0Ì\}5βbò^D¥Zm‡ÃAžý/¼z½­V^¯‚‘Ü€~ ¼å:X&Sü„oUnJŠ‹+ïÁ„ÏçãÐÁ²6FAvŸjy{ò±‰6njÿÁHMVMü;ã«NH[탮îú«m$h=oD´†xà윋M‚N‡ÆPƒÆˆA£Çv‚÷¢öÔ#Œ#F c³Ó†bÒå•‘”ºxiÍãõ2{î|*Ê+˜LæÊ‚³U§ÕjÁN‘P®L^— dWm×b4êÃ\‚>ŒÔ3…W—ëŒ ‚€Vk’úßE*º3Õª@ÔDÑ¥ÊeæÆ§©rOê}bu‹€jE ù‹Œ°ºk{1Qˆ‰Q%ÖLºš±<§WKÀÀëõðÙ§Ÿb6Ÿ½"&Å•/E@Ðy¨ù¨ç“ªFçÖ#ŒYÌbvúM99‹éj“²Ýf  # De9j¬F-O¹v&ï3Ò¤¯•HŸÊjÑ®3šèuMÇ*Œ9J×rÇêxA°ª­–.Wv¡Ôf=«Ÿáó3oj±6XeCp,…€;Æc³¿‹)Á Z’¸²­œIF{ƒ>QQèã­À ¬>!š²ÜR4ÐS“J;ž±ªé½,m¨kT¸ðx½X$bixÖ?ׯ·Ö®a}¥ US1˜Åì2%ø0P ‡²úBm%ÅN¶(tmîM ¤<‚F*Ì[“ܽ³e¬<~]Hª€˜&R“ŸÆˆpœ+ašÚ+q¬'©IÕ—ì«3ÑíX LÌbvêÙ`+À]ÉHØúš¼½|MLîfWF*'}ùZ—Úºœ<ºRêWcˆVÑPä×$¶S[#”æ ŽEd˜3u¬¼>))ÉÄÅ™ÙòéW\}åeèõzj&µæ†¿­_Îã…=¿ýÝn§~»v8\¨´§Lt;f1‹YÝ3¦PVäM°ø5¦0Ð낺}}i Õ25¦&gdbÊÜý(N$à‹ÄºÔÀÆà<"S„`äªT¯éL+ _xÑEäíÏcû›cy-,.ÎLçËÛaÖ(sºCjkž2FKŸˆYÌN¯ù0¢©8åzœA6š2 /)$1e[y’²œ%ù  É—ƒÊhV¡òœˆki¢€7 ‘?“Þš_FÈ*#1ŶڀÁo «.&Ž• ““HëÔ1$à#f5xþ5ÜN—‚ò“ àB¡Üb õ1‹Ùé3~L¸|F|Úª‰WÎp4Me²} j?j¬SÎÒ¼èÑh´abÕbµõ0ï‘F#„(U±Gn­ ÄSŠ W•Ú ƒÄ¸Ô\ >Œøe,ñL+ù±¯—-‚µ7Z­6E×t𹪠Œ¹Fc³Óoʉ:èÂÓ†D[F+4+2³ ¸˜BúÌC*½kä)°"³Jµ1¯Qy­jlP£ ^wȵU‚””Yé¦Tª¼ˆLLŒ& ².¾€1¬2ý™:VòÉ;š[/fj/&îç,tW}S–9 ­ °¢¢"N;vŠ H̘"3B=‡O- ET5‘ª·× ”²ZCué jÕ"£Go嵩Ep†¯ù…+ÁˆLQ^™þL+¥éb@(™I#à T‡-ftŽ”®ë:­>!½˜kôäXqq1{öìa×îÝ”–ZqTT°oß>òóûß=[íôêÕ“–Y-ƒŽ€Êš]IÉIX,©Ÿ’™‘ÐsÜ¢©˜ˆÛÄ W®4ãÖV‰R‹úšjjŠ*òàñÊ(Q98‰,JÞÁ¬TáטT•V"Ÿ\ûS~½bħxò(Oñ8¥ÛóL+9–•—ñë¯ÿe_nnì!ô©©©8ލíRë§ráE_/¾ú“ö#”¹FcŒ°öVáppðÀ^X¸—Ó…Ñœ ~Øþ#‡ò÷Ð$£wÞyG yÛía휙 –-[Nnî>–¼¸˜ßÿç,`÷ŽŒh"SŸ@V«V ¼i鑘ôs̪‹¼Tc9â$,2£à–¦Fi J†â Œ jÕ‚ ­Š™E;§< BÎìä"¦=DªG¨ä>ÇJìCãö²sçNŠÿ*æª.—ýíŸq³ÉLÞÁ"Š ù¿>ݱ–»UÙ³×ç#÷·\~ùùztë‚î>T'@(·#Œl¯½®jØwîÚÅ?üÀ‡nÁd2qÍ5]5j¹¹¹¼¼lII‰,Ù´‰vmÛJÇäää°æõÕdeeMNN§ƒ99 ÈÉáûíÛXþòrúõïÇe—]ƺuë˜9sN§“–-[rM·kÈhÚTêGym1;{­Š½„êg*CÉH” "2,Æ0¥\ãRö¡Ææ”9wµQi 2GB˜¤’MÉÏ]ÊãB IDAT刪5z&Ž•8¡ç9ÈÁƒ‡¸mø ØËk¥¥¥òí6é éQÚµjÞ” ïm&ÿÈ1233¥*%ªÌ»ÎÜ41F¨Nëu:lv;o¯[ÇŽŸ¦¨°ˆ–-[2ù‘ÉØ­ß°ç, ï 7ðÔ¦9! µhñbšfd••,£SÙçøñã™=s¯½þ:qf3;v¢sÇNlÚ¼™U+Wñáæyú™§ILH /?Ÿ÷ߟ-[¶°/7—¦Ü

=>wikªÚ./Š[•» tö­NV¸ÅsʯP¼¯3}¬z­—ˉÇ펠Ì\.WšÅ9PN6ÄmõêÅS^Vr¼Z±å:†ÛÎ]»XøÂBŠŠ i™•EŸ>}èÜ©©©A ›ÝÎm·ÞŠÑhâùùó%`A0/?Ÿ7ßz‹—–, V×Kvv6Ë–-ç›o¾¡G÷îÒÃЧwoúôî͢ŋûì3æÍ›Ç«¯¾ÆäG&ÇÖÏRÓh´ø|>âS ¸Ë©pYŽÛ'`405”Ú]Ò[±DiÑu(&ŒËÕV|>úÄNî€7$oN¿ßO½ÄÔzˆn-dçPÊ–E’!]ræL\Wg’Ê‚ë’é C‡ aÆ \ré%Œ¾{4MœH®la>ÚC³3Ǽ=ÁÇömÛ)±;ÑëtxzâMZœÇòùé—_1‚ ç¢[R^WÏ­ ¾ôÊáFƒßöî¥ÔfE¯Ó…ô!N*Fƒ¼¼<ŽýõFC;“ŸC~ŒLÕ܃ÑÖàÜ27©¼?ù1òû‰&æÃúòöò¿k2VÊëPÞ¨ý­¼æ3ÍòöîfëÖ­ês¿œß}2g(Í$ø$Ô¼½»Ù´y3?üük¥÷0Ö×{›>!¯°¬O¼áí xÏ=cÙøŸw¸kôhrss«]âQ²ó:rþجTù%­ß°’œœÂ¦M0jÔ(Ò+#:ŇJÁ¾ýú2aüø(£ï¾ûžÖ­[E<_îÝq:!¤Ø‡Çë¥OïÞ,_µœq÷cý† Ä™Íx¼Þ°|÷½w±X,Œ÷=ö8ÅÅűuÃ³Ä ~¨_OÃoÍá_ó7^§Ãd6³è釙¿þÄãñëÃÀG|Vä„|B÷ûýX$2vô]üòó/ÄÅÇã÷ûƒ®ÁÊçC£Ñ`iÈìiSXûê , CÚ¸ÃÎ)6àÄà'¬rƒòZ´':'L^M®;ªÙH5 Å¿\a®3µk”–xnѵ«ÓxÂN-8Cþw$€Œ¤‡zºlÆ““˜2{.×\s-?íø)dîÊËÏgäí÷2aÒãäÜ8 2ðT²ºÏß|бŸäµo0ãÉGxdÑ;D·¹¿œ)wÝÁ£O/å¥ ¸ïž±üç›? œ>¡ªÌ*î¹g,-[¶äXI ƒn¾™qãàHÁ‘ ûó…3I5‘‡Ø WWoPùùL¬ŒÚœ3g¶j¾Ÿ¸^(‚ è®Tú¼þüã¬V+rrT÷‹Ö«WOV¯~•iÓ¦†±F×KçŽØðÎzî=ki)£F [½NÇ„ñã6lË—¯`ذádwíÊŒ#ÎlŽ}±g°ù´.ŠÊMÜýØ<þu‹þs%w`Ûê|v´5¯Ìµð(Zmh´£Á`@¸(±—_/½Ö‹Û\oKˆÓQQQÓã£ð˜é³ž¢Ef#*ÊÊHHLÀU^JY¹øzñLFŽ–”3úÞ05-)'9ÁHEEeå>ôzñ¦nOx …£#gY:M°4ªõ7o@‚â‹€Z¦Xäkpb’½_c’¢HEw¥"j'R}ˆ,\ð~;åßj)$UëŒáÒ_g‚µìЋ öÀn³‡ì ñ\?ô®ít!·ÞrsTá¡_–2vÉnÞ^³–Öì¿sçÀۙݶ“²µ¼5í¾2vã“·G°mõ 7ö’¡ó©ºHÿ¼óŸôèÞ]z™o{ñŸݞ¨ž&Ô•}ÒáßÝ*w,Z¼˜ÛFޤW¯ž¬]»†Î;…ìWc‚÷ŒÕùñ'ŸÐî’KªuU^vùå©‚¥†YYY¬]³†U«W³fíÚ0êñzI·X˜üð$–¼¸GE=º_'½eÅ\¥g(bDp¢IÌ`âãùúÍùäçþÀŒeŸñȤ{hïÂí$Fg€C¿}ÍØ71bè †ÉÇÛÿGºÅÂ×_ÍÝCúñìÔ‰ôëÓ“×^{Ï>þ€ÿå!59Ž_>~‹»cÄÐAŒžø=ºõF¸øfëgüþÇ!òòòÑ7‡g§NdÄÐA x#/®Ù„‹z!×P»7è¶ •M“žÈ#¹å -ä÷à „Dx*Û*AP¾¦éªRA|"æÊ¥rMTYXþy&Ù ¾×b|xm%aûÎKOeP¯Ž$48\Ψý|øê/Œ¸c­-žò H¸€awÜÀ/¯¾À–o~cú´»‚çè4ìίïáÛw~ŠØgBb¢Qáp`wúÉÎΖâ")ò(ׂc…O¢ôûíÛ9r_~ñ%«V®”Ø–Ò͉ FsA~ùÅ— ¼i@µíÒÒÒ€``Žh‰`˜n±°jåJžyæÙ0ŸºØÆãõ’™‘Á´iS¹óÎ;zË0vîÚs•žÁæ×˜(/+'óòôéÖ†f­¯àÊ;ÇÓµ]cŽÙ­‚ ±½NG}ëN™Ž¥×¿yË'̾õ2–<3‹½…>Ò´¥¼ÿí4êu?ïnÚÂ=÷Þ˶íÛ¼¯ÞdÆs˹vüSlÜø.ý[eÇO[Ñê‘·?Öâàä³ûhÖu4Þý€WfÞÃê•oðýÏÿ%..¿_} Eï D4yT¦|—™Òý(?&,ª4DÔµñÚ"gDF$“e«­nOŒÝüž¼†ðë×ýìÕ€ À÷6/Yq•ãk ²1oýË0º¶°ÇîçòDÙ3¡­üðüünT ìÊ=^qf3 ¦ãƒ´:Q–ù;æ]³v-Ï<ó,<2Ir_Ѝ÷ßw?—_~¹Ä£KAa!&“IÊ÷‹fé ™Íš±gÏžÜC50ÌÌÈà‘G&ñøãSX»vê&Ú¨Q£hš‘ÁýãÆq÷]w1tÈêœa&­“ét”ÛË(..eР›)þãw¼žkÐh´¡ùs&#»sË9¨çÅ{nÀStŒNà íý²sÛ—èõ¸!'‡Ñÿבüÿý7øÛ6šHMMå‡O>¥a‹vŒþ¿ŽØ 2jÒ,~ï;<¶rŒ&#f“‰örºfwbÔÀ«°å‚n·Ð®Å{xJ¢Ñ_¸Â܆ÊDùHßÕò•¬¬:å5µeB¿’Í)Ë$E æ‰ÆÏ&3éü9Sm#A•÷o4p:ƒ êr{ðiŒReùêlÏoòÇ`4ÃÖ½^/M3šâóùÐi½¿Ÿ˜kô$ÚŠ+xñ¥—Xóújä䍿¶(ÝœN§“iÓ¦Fm'ö³~ýz²Zµªñõ$''QRRR-ƒ“Cš%Ç{¼Z·gîÝY»f ¯¬zEjs•žaŒÐï'.>žŸ·®e÷áLÖ¾þ2¿}ò.ßü·ˆúñ RðŠhù¶bC=Ò¤òõ0™LhÊþ þY²“à#  e‡4ñ4ˆHa€DMU‰£2§ŸÆ€Ï]ް{œ8}eoTÆTþ¦š`·ZJ¤>ÔÛ£MjÛkR;QÜ'à KÞÿ»˜r^蜨ãGð1TVœ÷ùMRW:Ô7²Ã*cÌþr\.~ýÁ¶qX‡Çã!!!F‘fI£QãF¡ÿ5"!>§ÓQÉ&ÝQŸ«:IŸø»àªÕ«Y»fMXZƒš3}Æ &?2¹Æ ²wï^:uêXãkÊÊÊbÿþý5VŠybÊ~øá¶nÝ’r¡ö`§[,lÚô`È¡! 3f§×´'FƒOñÿxvÑîyp(åez¼§'3f/âp™ƒà ™Z7J Á{Œu¿ ­q*wo"ÿ•Ô6ýCÜao•®£Ëå¤[Ó†ü±ÿ0ßûIkœÊÖ7§¢/ÍÃh NVñ&-BÀÉdÄ!cñf]T ‰Ù)¿ÇHÀ$ì¬Ä"^$`SÓhýˆû” Ó};ËL&M›ª‚]jj*f£)d»^§cç®]Ðõÿº°zÙZöú‚ ößymÙF.~7=»´âÑÇ^’ž•m¯=Çá²x®¼±ƒêõ¤¤¦Òâ‚´n݆ÌÌLš4nBff&­[·¡UëÖd4I«zÒbŒðT€`ºÅxÄföœ9ô¼®§”'XÓõ6åÍ:uêDQaþñGÚ§¦¦2yòÃÌœ9+ê5ÉoåʤYÒÈ©dÀ±uÃ3à ܯ'ÕääÅiãÑvÈáâóÌ”:ʹêÿîåÚ†{yféÛ$&Såœ×¢%wßÖ‡U÷ gäÈQŒ½w.]ÓŸ«Úš(((ÀU¹ö#2B«ÕFqq —Ý4€^m›ðÈàŒ9Š)Ëö±£À„QçÇåtáp:ñi ”X­!î3«ÕŠ»¢½^\Œðx¶×t[_úkÁÏû믿¸ûîÑlüÏ;Œy;‹/–æ½NǦ͛ÉÉÉaûwß2dÈP¾ß¾MšFß=†Ï¿ø€ ºÝ¿{˜ù×]C¸ûîÑäÜúoLÙw0);C7ŸÈÕ®ÏéwÓmŒ9ŠI¯üÈ?5 _5bT¯×søÐaÎgY1 S‚kŠ‹^x=»«bcµßMLkô@péÒe¬ßðvµ (‚ÈÖ­[Ù¶};¼ÿ~T—¨ü˜ ‡ƒ¢Â¢Z¹#¤7óš“Mˬu<ýô3L~xRµ.U€ççÏgæ¬ÙôëÛM›>ˆ!Ñéf„Z-åö .»y"šeâ*/%Ðcw9¹çß³øíp)öòÐ⯅e:ÚwË´†­Ø¾÷–¡í¸æ²VN;]ºvç’)HËó3èß¿/K–®"¡^í‚’êÌc}® è¬;Tn‹/¨6!^i¹¹¹4kÖ¬Öëp‹…­_}]»7¿„²»veÉ‹/…ÜsMÀÐd2…ÐÄìÔ›(±f·Ù+APlNü*YŽV«Ån³STXH©=ÈrDàALìÇn³ãñzq¸ätkGü‘í¬Z¹Š@³ëxf\ z7eN?~o9¯7âñj@VG‘j<ÆÖ^™Ò Ptj"¾¨ £Ì”«Ç(×0•ýÈ•e”Œ0Úý(ÕsÎäùOþ/Ú~µyStkš_H[9¸ _/ 'Ȩ©Êèu:œBÀÅôéÓyaá-^DRJ ^¯“àC§Ó…E”ª¥°Äòkh¢\ÚÒ¥Ëj ‚¯—¶láÉ©OÖ `RRRHOO¯1xŠmúÞp• ðµ±aÃnaû¶ïkÖK_^*ÜÔöcvò̇­V‹ ’¤Y ¶)'\Q.LܯÕ§mÀ‰AðI &¶÷û½åÄ5iËO.`íÚ5ÌxøꙄ Ð· HlItÊWJšÕ„‰ê+MÕ”)ßP~òOo@âJ•™€©å'Šç ©¦pÖˆõ© zË·ÉkŠbX¤t°HûjÓV¼€P%Û§–žá è¤5f^˧E§ÓqϘ1$%%ã®(EW˘…:É# ÒÜsË5j³ÛYúÒRž?¯V ðñÇ“–f!3#CˆH)yùùX­VN)IÉìØ±ƒääòòóùñÇùî»ïHNNÁQQtCÇÅѽÇ?B]Ó&3§ƒ}¹ûø~û6Ì&3III«Jȯ%3#ƒ–YY,Z¼¸F9Žò‡û‰©Oðà¸ñ’Ë8f§Þ5ê èƒë[˜Bd¿"MÎR5ˆ°mÁ ìr7Ÿx†àzš·œCƒÂÈz½!LºM~¬r»|›R­ª?Ä5é4h+a¨‚•ä@)ªÁ¨­*+ÆŸª±RÞ¯r{¤± ø$$$b2›9TXBKJì!RLèõ:É‹¥tãÊçl»ÝNFFw¹êsuÒP^¡þ\´éÓ§“ݵ«$—VS&¨×éxcí 1\øŽáóÏ¿àðáÔ–”ràÀ“IJLÂǶíÛi–‘ɺuë(-)¥MëÖ$%'KǰñÝ(:**0ÇÅŸ—Ïk¯¾ U½oݺ5ééé\|ÑEdee…]ÓðáÙ9c&ǯq4QÇtøˆaŒ9*”©Ã*É‹º òkźå¢‘";Å ðT•üµjõjcåÃ@R’žfÍ2ùúë¯iÒ¤ñßþ£Gñçòõ÷?Q^^Á ¾xèÐaš4iLã&)/+—¼je˜bQ£5°»vÕ*ÚSÎ’òòóq:\sÍ5Aà*,dýúõìÝ»›Õ†Ñh$)9‰6­[sþùç3bÄpÎoÞ\:GAÁî;¶FA/J+(8ÂäÉ“I·X8Rp„o¿ý—Ë…Óá`ïÞßxó7I³¤árº¸âŠÎÜ4p ‰ ´kÛ–ŒÌ Þÿ}†R#à÷ß3f û÷ïç±Ç—bvêMŒ„ôa’&]e$d4FM;3Òq‘˜]4öZ› õA}R¿¤âùä嘔ìK͵©v¯gÚXÉû¼ Å¤§§SPPð·®}>©©)t¾¢3'"\tñEdffRQ^Õ;Qg@x®EN|h"z¨VÑž¢­[·ŽŒÌ –.]ÊG[¶`4šhÙ²%Æ«Öe)ê…ž×´i­×Üô:ééX¾|“žD£ôFR ŽœÚmvJ¬¥¼½îm©(pÿûÓ¦ukÞ|ã †RëÁ3fS*6o¦OïÞ±<ÃÓ`YÑY5†u¢²a’Yu ¨&5mrR“'Ói½{׊ ²éƒx{Ýz &‹…eË–ELKü&“é¸Ew³¯¾Š÷6n ë_II‰5Z/Së×át„em%)9Y´­)ˆ·kÛ–§æÌà±ÇçíuëÉËËcá /0~üx²³³«íC\/ÌÈÈàÕÕ«5jTŒž"«’@Dw|ÒT¿OªôˆžWÊJuîÊÚRÔÖçdîN5án±Oq-Oý|göXi4ŒCìá>žßƒÏW£hÜ:‹=Ü¢'N¤o¿¾¤¦¦V;‘¯ß°Õ¯¼"¹|ð^} ©)ÁH¯ ‡ã¸˜Ñ`<îë7$%&Õú8ñ^ÿyç?±Ú¬›6ofÞ¼y,[¶œ1cǨVî„ ã7îFÁSÄåkh.4h à«ç§Æj”–r–£|«V®q‰ç–·4Á«mS2*5–+ºF}B"D=‚&˜ Ы‚ŒÒ fðƒ_8³ÇJ~í:A ÔfåØÑ£±‡œ`ÀŒÉl¦¼¬,b½A“ÙLƒú jöÛ9Y'uà?ëK1}üÉ'¦jSvîÚÅÂRTTȤÉKQáp°}Ûv^ZLN?Ÿ/,"Ñà¯ú’(D-ƒÏGBb ‰ Raš•çWk#~×ÈôÒ>¨ÕÄ©•š¤âuF¾VÌ–ÿ_§ñHlP-Y_íÅB)P^“±Yn´¾âùä÷©8±þ4GŒŠÚŸzNUûSœj#4¢ÖŸŠÑ´Hƒcž ¶fíZÎoÖœ™³fW{~5­Û:a„ügíd²iófÒÒ,´iÓFä‚ÂBnp=®ë!¥DÒ …`¢úÉ0k©õ„Ž×ëtdffžðu$'§p@åmK|X=^/qf3+W® W¯žÜpC?>þä“>zõê)ɽŬn,!1ûî<ñÌRJi@œ!8©Zâ½|øâÞø(—)õÂÞåLů1að‡ Qk4Ò,–¿´5«—“f±„ô!VQHIMåë­Ÿ0oÎ Ò,œ•é?bžØ¸«Kâ¹Ef$‚\0ØÄ6à  yõ %ˆˆ,P¬\!²Ay"+e\v IDAT•÷-^³A1•Õd¬ä,W) .ŽUU>¤_r‘*ÇêL°âÃûXðèôés=ýnº…¯| ±Dñóów^eø€¹ûîÑQY%öß™8v$×uû·Üñ{ }š¿þ:ÃÜÈuÝþÁ¬…¯Ià‰‰êu:V¬XÁ‚ç_à…… Øúå—Ìœ5;*(«1î:©P6¯îØñ3W\ÑYÈï·ocÈС t³0R«rÆwhÚ´iu:U_&Œ&ãqI«ÉÍårãp8N¨N:òÅ_R¡ùXŒ5ŠgçÏcâÄɬY»VÚ7|ÄŠ ‹bk„uhåeå4hu5æ¼oXýö{èôz y?|ÌòoÒ©]Sl6[Ûñù|Ô‹¯GK )i‰¸qâG'ÔKjH\½8šXR0 >\.7N7›Ä¤$ÎKO%-ÞHbb"z½—Ë%E*§Ö¯O\½8ê7h@ZãT, ¦Ê šר†ÑªÔËõ7E·¥škT©#º‡E¤üÿʵI¹KTì_Qå9ÄÄzñS¼~¥H€¼òcå._ùùäç=Ý&ÅŒœ%ßóàcO1ÿñ»Èÿb1ã–ý •EÚ±w/½÷WÞx?ü¸#*«Ôø0ü¶‘ØêF¾´„~¦rÏð›É÷j1 >îÞÄ]3Öq뿦³ì¥§pîxÏZ^‰)êóFAa!ß}÷=K^  X¾byû÷“››+y)jbu¦,w*pçåç³ó—_6lŽ‚'NbΜٵÛ>røí;´¯ÖuZ×艳¹$¬¥¥'ÔÇ5×\ë«_Åf³U›"&ÓoÜø7 ¸£ÑÈ€œô:i–4Ö­[WcýÒ˜ÕÎ\¸ôÉÜùÀmŒ½w.¿ü£÷ñÏ'–3væRÚe¤pÄZ!•VÒh4˜Íf~ùø->ù1—¡ƒÞD»Œþ(ü‹/?ÚBÓt=ë7CÓfY\óžx<Êœ>ê™>~c1ßþšOæE×Ð0ÅLëf h×¾3Éõa-)‘ŽÿÓqУû?¸¢m&Ø=aU"Ô]`ž°”yôi4 2¹¡*ÚTd[~!د˜r!×ÕhBküºç×bÕ‘ù5&üÞrê5û½W–.ä¹¥o’Ñc]Û5æ˜Ý‚ q:ö|´ Ó—pxǧ<üØl~p™Ðx 6„™/¬²»ÔTÞx}¼·ž”x#›—=΂W?!99…½¾Éþ×qèÐ!~þùgžŸ7KƒDÂ䙫‚ Pð³§<Îg»Ž‘’èU}SV'PtgŠ.Ey{µºbPŒdä¦Êô… ;T‹6à”"8ÕÖ‘Dɶð·êv¹k4Zʆ89Ë× O·‰Õäûw9Ÿ“VrM|ÿ!š¬žXŠf·Ùp¸œQûü®4‰c|’«´iרÿU0×ú³Bwýßy’+4)˜ùëÀWûŒ3›¥¾ä/éÑ]£†ºc„rà;[êß}÷]ºuëÀýãÆqÿ}÷Õsss)*,"£rmîDXÑtú£ÇÄ{7¸\®ZgVVÓ§?ÉýãÆñù§ŸÒ¢ys6mÚC¬:2±L‘Ûé¢Í iþé >ËkÆÒ…7á*/Åã×#A®¨¨àµeñøs<Яÿºó.æ?·ž%c:ѾC6ƒž˜Åð¶Á7ô_~úŽôÆÍ(=’φ-ÿãö¯0¼mc4e?óWÁf¼=fƒ‹Å‚§¼‚6­[sû¼¤ã'ŽÉÆ·_§—Gðüu“ɬZ»O ð¡E`¼è£×ò“ð=!®HeΟ/` cj¢‹Ô/hTX¦´„(Ûȯ[©"#–‰òUŒÔ§ gƒò€wó‰k †¯ŸÆ(­ßMzåG½ú–´¿6v8àåBðwÀ‡¶@}Œåÿà`™LÌx TÊ ûÊ ƒßMÀY¯—Âc¶ˆ/!õë×ø;©3 TÖ#<Û´F=^/6«99Ìœ5›V-³“Sk^‰µ”¦M›Ò¸ñ‰×;®Q³Ù|®Q€¤ä$~ýõ׈‰ó‘¬OïÞüùçŸ<4q"“&N¤¨°ˆ#G$±ï˜|0ôx½h )[_OkÃ^2-ñü/φÉdr§ý.Ó»\@Ñáb-ç‘yùõ”þü1.}OŒ.H©Ü×P:Çï…e¸Í†·mÌžßþä¢V—bhÚ‡ÃABœ§Ó‰S0‘”œL¿f äåçcir>IçµÆ! $“¼0®\…Ežv!&Ñ‹k{b ‹GPŸä‚L±Êý Vá5br;*A7bbÿj,T2ËukRáà~c€K¢ãèCîût›^§COïš±Ž',§µåø–½kt¸µÁc ¨ù W½œŸ@^@ ?t˜â‡P/´È·7œÙËo¿ýF\\ø‹‚Çã¥I“Ƹ\.îïY9¾u&º}6ZbR"¹¹¹lùh ë×­;.Fçvºp¹]'¼þ¥Ó騗›Ë¦Í›ƒ,ÛáÀl6KŸr‹´/¾^=6mÚDûK/=nv*Ó¾}{vìøYªÂQ»gÌrrrX±r%í.¹„Ï?ÿ"¶NX‡&ŸÄ]NWHˆ`XÏ$ ))á£#eäd6À¤±QR”GQ½¶=Á—§€GÀ‰Ÿ4ÙKmœnò½Zš5j‚Æ‹pLz¥s»=8\C|Ôk ËÃÓºcÊïA\#”Ö눞à®]µ|>ѵ¬¨Ñ¤Õ"1 ¥+4Rù§Ð ^V,ø 2g¼±Ž+SÕçö„ÄÄjû¹"ÙÊ’ï3l0R°MþoQÖü^®µ¸yéýƒLï_é>-û™#ÇÔozµäŠÕãC§ñâñxhÕº5Í3ÒÑê!ܸ¼ZtzlÕóñG[Ð\•ÊD®ˆã›…d`0wî<Ý|s„¶Õ¬¬¼‹%ø#¦Q¸Ý 0›Ì|ôÑGb4)**Âh2ârº‚o.IU“Íj#÷·}|óõ7•“Š £Áò „m“šãâØ—»¶ÿÈ÷îÅZjÅh2b³ÚBÎ%V¯7™LôìÙ“„ÄR’’IL vÇÅÅq^“&|ûí·Ç=¾‹—,áqбSGœ'ųêAÐ$øpVXÃÜÙb9"ñ{½sÀå,}r­Ã_>ãó϶qïÌ»±ZmXKKCjþ9NJŽ¡Y»V´nafÜC ˜3ú:~zo-O¯ØÄ§£åСÔ9‚ Ίò7›£¢"˜•îJ‘ ÊÓ&ä&w+*Ý‘´Lå}Gbq‘ªbÈÝŸòAj/?Þáp€ƒ0”W‘£,¥`™€1äþ‚U+BsýDö©º»´äѤ!Q¢•2r–dêëY D±½Ü5*ºc#›œ=ÊݦÊÈÓÓM¢¥Z;¥'Mü[Ne[“Œ_¤¾Ô¬Âz”¾}ºc4¹å¦¾<=o£FÂf·cˆKŽsÀæ9£…딞 õ6« ‹,2îûíÛx{ÝÛäçåc2™èÔ¹cÇŽ%%%EU1FüÂm6ŽZV…W³?ÿøã´¾ *Ín³IŠ!¢¾¨<‚täÈ‘X­¥ìÙó+ï¾û.ïþç]œN'ƒââ‹.’^Ú·¿”òòòjÕ‘UÕÖ½Ö#¹E¦#º÷„Ja|aoÉ&¤df@€ò²rZfeñä³/r´¤Œää5LÂíqÁ¥rò×jµ!,GLnV–ÁÉ#˜ÂRä`áà ¹6EðTÖ–»;Cú%päc¥ÑÇ£ÒU6V•ýÉ“ñƒài"]E—´|}Ó­ &T鬺¥â€?&©½túª3FâŠ; êN'#n½•¼ü|fΘ‰Õj¥c§Ž<úè£Oþʼn_^Msíª³¯¿þú¤è„ÖåC¾&g6g6Ó(½‘T¾jëÖ­¼·q#ïþç]“éׯ}z÷¦ãWRPX@fFFl­ð$š¸%w¯5ðüB0ÊRK· >½$­!gO"è ¢–â èIJM§ac#w9nðû U½F²èLe¤§Ü=(Ȱä )¶óRÅ U]“„µˆ÷!ºQƒ®Êº+y@MëÕ‡ŽÊòuzL§)ðÌ}Î«æ ŸÆ€N§ÇãqaˆKÆéñ Óé0냃ëõzÂeÄçªNáÙjbe‰‚¢B>Üü!o¾ñ&½zõdøˆ!¾r²V›¼=^/;vìàÚk¯=9/gø €y¼^²³³ÉÎΦ °M|ÀÜgær ?‹Å‚ÛéŠý¢ëˆª•ëäÉÝwb{±h¬üø ûÔÖ§üo׋§ÌâRU‚’²ˆ®èRT˜È]‚jçSºG%1mB“Û• +ÞT¦GœŠ±¦È"ŵÄyåX¤¤$gæ³o·qÅ•]*“ÊÿÞóµÏU†§2àO¸*ë7úÝe’Òãñðßÿþ›ÍF‡ªoê Ϧ„ú]»w±{GP0öƒ÷ß—\D¬)c¿œÔú©û Y”Zƒ`Äè¨Q£¸ià@¦OŸÎ+¯¬fòä‡c¨UMÆKκԂ<ÂòÞTÜ”ÑôAÕ¶+C 6ôBä:€*“S[Tc‰(ÖßNÅX)sÖ¢Â(ÇÊëóa2™ÉÊúöÎ<<Š*kã¿îê5{B6 ÈPd“MÔ( ΀² ›€‚²È&Ž(¨àÂ" € Ÿ¨Š Ѝ£à°ˆ3 Šì((J@vÈdOz­îïNUª+ÕI@£Dúÿì3y޹j磗˅ÝfãÃÖöðÙl„GDpã0™LØl6Ù5_­•e”VÓÖýzŒœüBÞZ¼Xr¹TšÙd&hå£Ëí&"<œçÎåàƒdee£F«ÁÔÅœœ¥ÉÄþ¬HíRw(Ý}ZIéÊ Ÿj¼¹\^œ’½©¡lLƒt-òššÎâ ¢*Q ¨ x®ä±R~[«Iu’d´2·¨à-ûÎäïU±ÍiwÈ èÕˆ®V ¬i•e¤ïk4øÍmI‰îAÓfˆFƒA.8´j˜TáÿÊuÃÊXŽ’ÙxU©ZŒÐ·¿1 Û ¸f©“Ð[aΜ2¤ô`Щú«ÁÂ*jSyÌ•>VrQñÒÞ •›mU˦×ëý@P R[µ(ÔÛðÔ¨`™6mÛΪË,«d„UÃõ6ðþû˃`X ¦V„—TÏ¥és%`h)ÍKÛ”ªéJ&¤T›×R…W*7(û£ŽJU¦O( '+Û‘T”‚·’JƒtŒº‚Œ¤ ¡TsPŽCM+© ™E Bðu/õ÷'E« uWKú„$Ì[Sê[4oN—¿wåµW_ç»ï¾cú´iròù¥F5¡ÿØ*ÇîE‹ørÓ&ZßІÜü¼àýΦv«IÑ“’Ĺ%z+S´>—Ø–Òí¤µÎ§to*ÕÜ5¡™)Én-¯Ùa•_g4¾ž6VòD]º¾eÑ Wõ=îÔƒG¬:®¸E±¼âHé}¥|¦©¶`™š˜`¿lÙ»¬]·Ž#FpýõÍ2dð%¯c¡?X±r%ôññ ¼²`“žœŒ­F0ÔrÍIÛÔõ3•¦^÷ 4AW´î(Ⳝ¤’ªšòo —§ï}Y‰µŠj‚I´Š g_‰c%½7EÅE:ô3'NœÀå ºH&111•Ö,ŽOH µI*a¡a•~ÁÊ2“sر;Lœ0Ý»³vÝ:&MšDddcÇ¥qÃF„GDTÊÿÊŒÐQEð*(,$3#ƒUŸ®f÷®ÄÇ'0jôhºuíʃÙ¼q3‚•eªÅ5ªt©ùÜqz¿Reê4¥{Ò§æ^ÆÚ¤­sHû¨‹MˬMÁt¤ åZœNG¹ 50IÕZ¤DuÎ'ª+àû¿¢ê+¾~–W¯Ic¥Óép‹" çb7ÜÐAEƒÞ}UÞãV‹•“g²ÉÎÊâ®®·““o÷SœPZúátýô·ÝܧË%·êTšßkº¡Ùlaþ¼ù,[¶”ÔÔT&N˜À#<ÂÚµkY´pà“ijÚ´)©©©„G„Ó¸a#¿ú!V+QQÑúñ'Ÿ oi¨ó_!aÜ`4 v¹Ýìۿ‚B¶nÙÊéÓ§HmÒ„W,ð«@óÓO?¾2]•±¹ÒØ ÒµèË´óŒf”]H^ÿ”¿• F™Ê ìƒÚÝ'í§%¹Tv.¯¦»Qí®ô¡¹\_ªÂ,+’NºÒÆJbƒY™œ9s–ûôX+øj³øø,¾Ûå¢vbmj'Þ¯IƒdÖ¬ÝÀ©Œ Ô«WgiÉ?龪 ¬éÉ7Û¾!''ÇO‚©OïÞ²@ïÖ­[Ùµk7»víæä‰8R›4Ál6aµZiÓ¶ QQ‘r%ˆ+ !Þápø•|»\ËÍÍ•…‚ÓÓÓùöÛoÉÉÍÅáp’——KvV6ÉÉÉDEGñи±šÂ».·›-ÿÛBBí:Á®Y¡z=šëp¢+½râ~o·íå€{EÛXEµ>¯Ô±0êÝár:ƒ ¨šÓ\.·<§¨¨í¢€àõi†††Q\T¤ù½UKeuÔ¨µ†­éÆÇÇsw»Yüæ[<ýÔär¸Ñ` KçÎrù0Iƒë왳X­VŽ?·|ÈžÝ{1YLìß¿»ÝNbbmj'&Цm["##‰‹‹Ãívc00ÑïUVÉl6Ëê•U‚Q&ëàp88tèû÷Ï~ààƒØív ò ˆOˆçöÛoÇf³K³fÍü~¬ZAF.œgÃëxd„ B}5 (Š„G„— D;K]xÿv)¹XŠ^”Š]+×½Ô`´tô”nL5SS÷Çåvû­ê½v,¡1”—h¦=„†…ú}æÓ#ô¹E•ý”2¡DõºŸ¤o¨ÌÿKíÕƒRju•ºŸ^¯—Ç€ M¦+öž³‹B9eˆß».ªÖ9ü  yâñ'˜8q©©©¸ÜÿN|÷Áà­qON×6mÊÆ›HOO/LÿÄze}Ñ«•íÚC;ÿv–.]JFf>:žíÛ·ãr¹ØþívvìØé¦R!^éɦy‹æÄDGc³Û±Z,$§¤’œÌ¡Ÿáp:8pð 6{ùEáèÈ(bcc+½¦ãÇ“—›ÇÉS§È,¬´Z¬äçåqôèQ߃‹ÝÎßÿà'Ú+õÑl1Ó±cGÒ¦Oß>Œ{x&£Qó Uùt¦U~Ë–­$%%Ë ý6Æe6™8üË/DÇÄ)'f“‰“'Ob4‰­UK%å:˜O樼V[ &¤.Qæ&f6™øõè¯DGGæ“Æ)­»©7„rè§ŸHLL$¦V-Y±àÐO?‘œœ"ç9õ`Ð鼜ú20T²¨E­yè_‘Æç&S‹æ*‹`kû{•dÒöš`@¹ŠKرo/6—ŽÖ­[*ƒ¡ôWÚ7/ãžÄæÒѤY+ê%„ù7ê)æÀ®ýœ-¹®Eê%„aÅ&ÀJ 8jä(6oÜÀá#é¼·l™ßrŒÖ÷áÔû¥¤ƒe¤‰øÆodÿ¾ýÜzÛ­,_þ¦WU¤G"£¢°Ùí„X­2{ìÖµk¹¶rrr8sö,{÷ì)cÒv;[·lÅÂ?à“?ñWH¶’ùovvvéù"ý„tÕ–•ÃagÕªUäåæáp:ˆŠŠ–ÛŠŠò©Ðp86´u ýtˆþ÷ô÷S¦Tx\‹Moþê+6nØÈ#&ê«Íed§nbC‡<Åà¡#éÙ«¹99èõzb#3òÚµïÀÓOMæÔ¹ 2à(Y‹R…˜⼡œìÕA.’­´¯Ýn£nbwuƤ§§Ðí®»ÈÍÉALx<"!aa<2n,ï¼·œ_=†ÕèåúÖíe ÃQÃîçóõ›0›Âp‹¢ PRŸ]˜D_b¾KÐùI#i)ÓKAZ.Q5ðW“™EJê¾èÔòÀ©Î ”þê½v¹6©V¢¾®Ük°åœ;‚©SØŸk&›ÏËúdfÏœL›këø=èZ‘-ÿþ€‰³^£N½¦Ä„ë±Û팛¾ˆ´¦Q2N5Bn«@Ɉ‰ÓéuÓ5Ya‰Íƨ‘£hܸ1+W®àE‹3z ï.}‡Ú‰µ«˜jd„¥Ö£G>þèc7–áÃFpààAZ4o^!kÑÚnµZÉ8—Qéùbbbˆ‰‰‘õÕ¶båJì6Æ Óü¼ÄfãèÑ£XÌfì‡üWi-š7góW_qþüù€Â™•™týÙÙÙXÌæJ¯_kŒÒÓÓ™4éiæÎ}M›6Ѿ]» jUã%˜B1ý™ÊùÜbÆOœŒÅbá|n1QáfÜ.Evz½žˆP#%%%¸½FBBCð:‹)²{0˜¬Ä[ dÚe€3è\8EÉŠ ÚpzÌ&&K™@t¸…¬ LŸùM&SRTDxD8Žâ<ì.£ÑHxD(±µbYôê|âããiwS'r.^Äb±E¨EÀ+ÚE«ÕŠàuPd÷ø\†byV24 ,¥~+K¦)MŠDUJ72)OÑTêV1ËÅ¿+b‚Jwh 1`©è¶–‚ú•f!J€Ñ IDAT(}µäEöÆôdÝÛ>1ÝOžɬ—±â­ÙXTÓç?ŠÜô‡xíÙ8ºå_Üûäóìúü%ß±3%]¸Ï? À®åÏóìüù´n¿ƒ¨ †…Å.ù L:;–æ×_Óyi5Y«¥²LM+±&MØ‹…S§OóôÓO1fôXrrrüŠGWÅ®»î:Ž9Bzzz9ÖhÔ/€¸¸8ÙªµOˆÕJ‹æÍIMMõû«|œ?^f`%6›f[„ÕyYc;iÒ$žyf27´nMvV6mÚ¶­2 ì Ù͆ÃéÀæ 6äõzLaèsv3rô?Ùùk a=1;ÿ¼dzl„˜|“ú¤Aÿà˜>Œ/7|Ή3Ù$ÄFðÃæOxlø@îéÛ›A£ž¢°ÀË®ï¶òéDZúÓÕ´i~-ËÞ^L­ØXòóòXôÌx† D·.xzÖ+d»"1 "¢(âÔk—Y“ÇAôÕ{í~µ=•ûétz¹ª²:M —«êýX¥æw!–t•ªÌ¨Y§´Æ¨\k¼’-/ã›¶fö‹C| d÷pÏ”çç³ûÈÅrû¿ôÔpµixnO)‘ò²iûa™=Z~ kߣ\SËÅwÿÞ˜PD…Ð¥sg¿y,--MvJ^@÷Èï„:±æW<0pŸ®ú”´´4¹ûî,3¢ª‚a½”R꥕•UeV¿nºé&9]!Ð>š¼6¤`qRpN WE¬÷ruçÍŸOãÔTúôîÍ™³g‰Oˆ— ›­b³Z¬X-V"B ñ½,Ñ1DEDriAäôéÓä\Ì!JtóÅwǨëÖ|þ½<ž…¯-æû_Ï#aÚ /Ðaô<öîÙɬ^‰ÌzyÙ®H<‚<œN'u¯»•„¢ãü|ügB"ãØ¿f ¿žÞËK+¾#Ülá̯_ñƒ¹cô8xQ9óãzžå]:ŒžÇ—›ÖÓ«áyNþú=·ßy÷Þ?÷ ÌÞƒ?3ôÁ1”äŸçtf!"Òxû£ÏYÿïeØŽïfúÂ5$Æ…ár9®ÿ(×”.M‰š<Ú‘¡9õ”Ë3SN¢þ5” ”ñ{ÐʧŒ( t_aqí$ü+TŽÍ®7sFFsDßqâCaåÊ8{qW(þ¨>¥§§c·Û1/Í]óÆ¢E¬]·ŽÕ¥5\Ïž=[ázfÐS'Æqñ´æUš"/bÁù*5)Õ³”ŠrD·¦µgX¿›9õëϤvº—&u?Áj?Ëî]'øâ»cèß§û;³1š]|¶jÏüó^âSq–ºR VþvSV}Ë –o8BÿÁOs|×:ö8úPðùznê2Èèf ÑÑQ|³q+q [0æîvdgè?Ÿ`ÑÚË©9AÄh4aséhÜ ‘Yû’¦GŒí@ç½Øºõ Ð÷ò5P |e®LÿO§Þp¤rm:åê]‚ÕƒÎ%»-µò³¢Rqÿâã,3w¥›Ûæû=›tUYù7 ù乑ì²veŸ€xYPôÓáã;vÌïa_2‡ÃArJ²fñeu¢jBBDc  iÔ¨f³™Í_}E—Îyqî\FÃСÃX¶l©ÌÂ* ¨¨hÎ_¸pE¸ÿŽ?NLtôojãÛo¿¥EË–—”ËôÆ¢E¼óÎ2Ö­û·|Ü{ËÞ㱉Ý¢Üä.QFw6p’T'®bpNŸÊ“kPVdJv£÷:°¹tõn¬€×`Å. ¸<¬F/™6 7whÆØ¡}É<ãójŒä)ê$FcséÐëõèt:l9yÜ>´Óú½Í–ÏÃ)4êè8d41ÅßóÑO ¤ÝìÏdÎêˆ »ˆE)\Öú:3»ÝŽÙìϪÌ&#ÆârÌ!$Z ·ÀÐý¨v‘J))Ðÿ’ʼ²²Œà¤ôŠò öÚiê"Z*ö5Õ,õÍn"Ð\A'½!›%ÉÿÞVÌ›ï>ñ0ksXñÖ#XßÚŸ7õÍnöèé(M3žb£/ˆOÔ™1"âöp¹\X,fââb1´"ÂÃÂ8n·V?ù*­‡Žj[Ì«‰Q¤!V+-[µô[ß{óÍŘÍf†Ve7iíÄöïÛÿ›ûãøêq:N"£¢~S9¹¹´nÝJ“Êì…Ùsøø“OX·îßr¾àÎÝ»|)'A LMFâHII¡vR퀯:uê`±ZåhJ¿IÇc >>Žp‹žø„ê$D+@Ñð7Zd÷к¶“ÈÈH Ín¦ÿ ~ôÔzánœN—èŠzB­¿3ªA3®&¼Q':Æè ½æN²?Ι„vÔnÜÚÚ¦Pìv;’ãøñÐi¶ý’G|R ;V=ƒ1ï$ÖR×_V±o¢ —£ýsXéÃ5ó餈QµªY*Ùh±fõ¢´.ª5%È*Õ'›Z}B:Ný¿¤¶Q,*¡»© SŸß$³ù¾‹•L«ú8xP޵ÀSÌÊy3ØÙŽ5ïÌ’_,‚ˆWÐñ·›šðüœ•ò¶]¾Â¹¢0Rîh¡yþø„Dš4mJÛV×ѰQCêÕ«GÃF ¹¾ysš4mJºÉe÷«®âu×jš,#Ybb"?|ÿƒkyóÍÅÄ'ÄsçßþÆÎÝ»*e3ÝӧOSò'§ äääpòÄ 5jô›Ú9yòd¹(D-+(,ä‘ñãI?|˜-ÿý/µkËc°há"îpOéªânr»°Ùl¸]î€/[€{Ë"ˆˆÎb&>ú£GäûéÞ«?¯-zÇ÷`dËGEróóýŽ)*¼HNNníÅ?Ú]ËóÃ0tè0ÄS³_ÇîöwJîÃvÝê°gï^îé׋ü‹Åü£Ç­Äêò¸¾®è%ç|¹¹¹´éÛ‡ÞR˜öÏá :ŒiïaÛ/)(Èç[Ú²ÿ«Ó³ï¬Xþ.ááäçù+”8mù~®õŠC² ”W’ÜêãýSD<š`ª–ï t^51—Ö$­H(Ø—ÆQ˜¢]@Jç‘ObÙ>‹{G<ÊèÑc˜õïtž}|,áßÀ=–-[}ùÃ+ÿo÷>1ƒ‹Ç÷3zôÄ”)Så5Ãþ&Ñ&çs¹­«¾çÁ‘÷Ó1F¯1j49î$o,Z„½(‡¸èP¯“%o½Å¡ƒ{äý½:³æCOµ»Fk²õéÝ›åï¿ÏÎÝ»|õBKYà‹sç²~Ã&MšLîÝ™8aB`0MH ??¯Jë|Y ÚžUµ .`¶˜¹öÚk/Û¹s÷.²³²¹¡uë ÛÈÌÊbì˜1´kßW,ÙcˆÕJzz:YYYtéÒ%xƒýN¦UhØh4‘u¡€g§Ïbß¾ý~‘ŒµëÖ¡}Ûæ˜C¢°Z­Ì|î9².`µX})3f“MVŽHß1Sÿ†/Ù÷Ë9ÌÖHZu¸¨ˆp<îb(~pâ´;¨{Ç\>ÿ<ƒfñòí6D óþ‹ÕjÅë,&Óîà…çÉm7æm¿æ`†ƒ{[v`òS¾ßQÃ[ncZ|"»¾?JrýTÜ.7//XˆÑhÂ-ŠäçæÒùïݹñæNd](Àh¬Zd¥ n^ÿm9]BÉõ¢ÑüÔ,O/eú ½@©Z9šz¯NˆÉOACr»Ö·¨ ¢b’óþG±öËoq{t¸¹õÂää÷eËÞ• 4ï>„/šµ§(·§^@ïué[ЉÞðF<ûÊ«|»yg¡´jÕŠfM®A'zKÏçkÓ +›W£ãêðÃ÷?ðõÖ¯yqþk¼½{—›GYÆÎåvÓ¬É54krMùqÝrcX<þ1¸\[ZUe¯‹ÕÊœy ˜ö̓ԯ›H¯^=Xºl)¡‘㤒zÊï¬ÚÒ'jb:…ôå 8¬¬,y]KúÌåvÎÊ•+hÙª%}z÷eéÒ¥š`3xð`¶nýZþ2/¹/¥j™¿éš¤h¼ËMWÈÏË+Ä …)¯ß°ññG3wî† V$3238ðÃôèÞ=ˆTÕ=1y½‚@aA!ÙYY~¯Â‚BN'§—Û-ƒ‰ò—Ûí“=Òëå62²óJÍ_PWšè=îb Ñëõr”¥Ç],'½«Û(Ê󵛑_B^¡Ã—ã§8§Ô·Â‚B?…v‡Óé×o DŒ¢W3Â%ø‹þ*+Î(K¯)Ó $°S˜RÝ\/‰á)Ǿ¢€­:¨^•PoM žQ§r©çBõ6­4/ à$0”¶ÛE±Ô­©U»Ôh0à*ÉÃ`02kÖ,^zùEÞXôµjÕÂë*Æ"ˆ †rÕe´Æ9˜PÀFŽ)Ë/i}Á˲eï²uë×ôîÝ›¥K—úMÝ:u°Ûí—Í€¤c~=vì7ÙoIW((,dëÖ¯¹%í¿>íܽ‹ñÞ²÷x`è¬\¹ÂϬ´ï¾ÛA|B¼_íÖ UI“¯^¯—_‚ øý¯×ëeö¨d;Râ±4ùkã+)æ_ZÄ,G’J“¹´Mšì¥ã%“>—ú'õ]Ù_é8%péõzL‚Xîi^)¾«LTW¾®l›²Ö¨ú3-Ý@LPý}T$óW°@9|êm•å/{¼Ý"ˆšeÕÜ^ƒ³`0q»] &N˜@XT6› C%óŒú;¨FhÃSã¿Ø=z`·ÛÙüÕWš‘¢.·›ÔÔT–-[ÊܹsÙÿý÷ôìÑ“yóç“™•å+ŸÖ²%K–,¹l ëÔ©‡ºìkÈÊÊ’áåXnn.f³YŽôܹ{ŒÏô©Ó7î!V®\!×Q rô1÷ ¾/ˆR#TÿÐ%–£ŒlT³¥+Q‹ ©El¥¨#•Ç*ƵÀJùW Hpø‰$̫죲=%ÓSòÚ)Ã_Ic%Yxx«o7h>‹·`,]#':Ì,·è‰'Äj%·ÈAaa!QQþécÒ}¥´j{<¯éŠõ¾µÂ{ø`ùtéÜYóÉFšüSSSyuÁrrrø¿ÿ{…±cÆpKZšÏ5XZwôr™Ãá¼ìk8sö,fÓåÜ:t‡ÃÁê5kزe §O¢gÏžr0ŒµÔ&6õ@@¶´êc…N¼x±(&kíç^eÀ†ßSriP‡Ò¥pˆ¥ënj© c’ÀÅ©WÖöO|6Š^<‚KND/+ª¸}iQyíêtˆ+u¬Ü¢Hdd$õë×cûwÛ‰¿êïo³ÙBFFÇçÛûp¹\rŽ ¨3!xrªDvöy¢¢¢Hª“DqQ±ì™¨Ö„zo9M*¡Æƒa Ò@´?&&†™3g‘™Á†õX²äòó|ŠŽ!/WÕâbcÙ_rùùˆû÷ïçÆo¼¬c·mÛÆ˜$6±ÉÉÉtêÔ‰®]»–+÷È’™•ŤIOóÊÿ½ü›‚vé (»ùðú%o{ñ”“6PœødŽ\~!üZ‘ŒJåsUñè,r©15ƒòßãÇv´´û\‚NhQ#UcqêAðzte1N½OÂ%h§B”­÷ù®]©q%•òÿF Ç…óç¯ú{Üá°ÍÍ7µÁi/É/GPù>µI*)µc)).ñû}x5<–Õ¢>aE_ãAP2­ÒŠÌåvS;±6Æ cð!Œ|p$§Nžâõ… ÉÎÊ&>!žþýú‘P)0š~cú çVÖ÷œœ.\¸ÀòåpäÈ2³³ˆM¬ÃêÕŸøi{U•ÙM›:#†’––dƒ‚kÔ«P7ðMÒæÒhEü¤‰¤(Hi‚W€(U´d‹ÔQš¾ÿµ«¦Hy‡jƤî¿£ 0Ò1Ê‚ÕëòûÍ •«Â+¯E ‚WìX)+׈"Q‘AF˜Q/¿uÚs¤àuàõ^?ïƒè5W*­¦¦OhÚ yÿ½÷Ù¶m[•&uuzAûí±ÙlLœ0‚ÂB>]µŠOV­";+›”z)´nݳÙLDD7öèÈ(Î˯.“•ðdzs÷.Ξ9‹Ãáàøñœ>‘G{œÿZ^¥èGågƒ¦g¯^Ü{ï ™)+ÙU«VqîÜ9'™™²:¼Åb!!!¼Ü<ޤ§“žž~ÉnU€ˆÈjÕªEzz:¿;Æþýß“——‹Ýn';+›-[b6›¨˜@÷îwËÒM9999r„!CWèÕ²›÷ß{Ÿ ^¹$´êg‡Êð%0HÀ£œØåê1`r¹aþZLP=I©™Q ö¨,ž]Y[êÔ‡š6VRúHÐ.ÿ·à¿l`þêÿBß[—ÎyüñÇ5f ŸöY•Ã¥¼ÃÝ»3{ö^]°À])År]n7Ç#7?§ÝÃé$==ÕŸ®fÔ˜1´hÞ\®=j¶˜qØDFER¿~}l6'Ož”Û*È/Àl6óͶoùàH;vìH\\;Â#©—RÏOm^ Z7mºì”‡áÆÓåÎ.Át‰?‰B™»´¥…•ØZq^rGúkæéýÖ±Ô©’œ¯|˜CåÂ,Jêíjª¨V§Ôw—`AðúDtÕ}Ò ¼);N§™:QÆJ ÒZc§隥ëS3Ûßc¬¤µ[åX©û÷GŒ•úÚÕcUÑ}õ»aMW¨¯Ì Hnn.Ü?þë_UÒ“@`ìØ±ôíÓ·³S¦THѧj¶ÙlÄDG3lØ0rrr°X­°}ûv¹c·nݸùæ›Ë˜YI “'Mfþüy„GDh²:uJ‡äÖýî»ïèÔ©Ó%Ñ‹|y—Rù¹ þ9O¿;‘Ö¡”îE%# ¤  MB>ž7 kRº—Ê»0µ×¿*Ûˆ­É}×`_Z}S&ÅKÇií««g¬´4ª•þÍåvóÐØ±dœË`òäÉ~)•YˆÕJž=x}áB™ZoS'ï[­VY=B)ƒbµú•5RÛÏ¿üLDdD9é¤ÊÖûŽ;FvV6}z÷¾$F—‘™ÁÚÏײøÍÅA—èŸì2ÝhA šŸ¹E1  þwB¥ýUÖµØÝÌ™3:t/ÌžÃÓOM®òñ `Ĉ2+ êmÑÑÑìØ±£BÐS¶%½ß»g/‰¥Hµ¯¶·ßy‡víÛ]òCBß>ý9r„\Á?çÍ+ÈçÂùóÁ5¥ Mb•¢HrrŠ_5¥j[#TºFmxù ûI—¼½„{ú÷çE‹xhìØ*Mü111Ü’–Æòå0sæŒ*E›n`ã†ddfÈÚ~U·'Nз_ß*™Ñ`àÀÁƒF*Ç&ýoòhŸ»¢~*ë{JÇ+ ŽÕÕ3V2ûS5¯V ”‚e®0Œ‰‰aÙ²¥DFDÒ³GONž:¥©V¡´w—¾Ë¶¯¿fÛ¶mî+KîÝ9xà`•û–“›KRRR•ö-(,dÖóÏ3¡”ÑVœS¦Låã?áÃ?æ ^¡`(b–s±”“†Š®VI&e¸Z³O}­÷"ærÇh…³‹˜ÊUöð›”Jû® ½phÖ t“•æ Ù/M 8VÁ±ªv ¼ZL 3gÎàž{úsW×»d€ d!V+ÓgLgÊ´iV œu““emê[úát4lP¥kxöÙgéѽ{•ÊÇ=†<ÈúõÿñS¬Ú•gÊ Á[I™ÖÄPûø=Àº¢6µ&3i2ÔüŠÞr¬'Pé5­6‚cuõŽU«Á† Æâ71eÚ4æÍŸp?—ÛM‡víéѽ;îP©;2Äj%22’}û÷Uڇ̌ ‡¬!XQ»S¦L¥ ¿ Òøõ6ÐéŽ;0[̬Y³F¾† Ö 4ÑTu2yþ˜þTåsIÅ¡¢‰Pú«ÕïË=wp¬þÚcÂßÑ\n7iiiüç‹/H?œNïÞ½åj0ZLrâ„ 4NmÌ#ãÇûµ¡e7ÞØA^'¬ˆîÝ·ø„øJ÷{aöNŸ>Í’·—Õ¬,¦L™ÊÜ_dîÜ9r Ö,«jŽ@æÔWo.åseÑí@ô÷rú««s¬‚@ø;š!V+o¾¹˜[ÒÒ1b„yjóê‚8솭8¯Q£FUZ'ܸa#ƒ®°­fÏ!ýða–¼½$ [öE‹8hQÑQüç‹/d=ÆÊXfÐþ\ÓzÊ@p¹.©ßêʪ, ¡¢öµÜ[Òz˜z"®¬Ÿ5e¬´O*{OnJ}þ¿úXýéŒð¯^bírlâ„ ¼RÊ¢Ü3€fÏÑdˆo¾¹˜ˆÈºu»‹›M³­6mÛT`Sb³a·Ûe -›2e*~øÁ•À–žžN·nwñÃ÷?ðÖâÅLœ0«5Èk€)×{Ìf3‘QQÔŠ%66ŽˆPŸÎŸN§#2*J³`sE†’Ah©©Wö¿r›ˆÇChX(AÀãñ”k?P;Òd§–IRƒD I^¹M‹‘ZG Ô§?b¬”}0!¡!_Eõ阫q¬µ¨`a5š”b!©Ö¿±p÷Ý7˜={л÷?äy—ÛÍ« 0eÊTúöéË‚¯”‹È ±Z¹í¶[Y»niiiåÎc4øhåJÙ-ªþLÁÓ§O³üƒåò6éozz:o¿ód䨑rI·Šê¢íÊ3ÇCxD8gްeÿ/Ù ñèÌ´lÕŠ¸Ú)àÈá»í?ѬY3?å@ÊZrBZºnN¼xdM>)jPRð§ìf“‰C?ýDhXµå;åy¤k(,(DDo©"×ìÇRÔâ¼êœ±@Û´&N¥ª‚r<©QT÷XImÛí6Μ9OFF†fß #ááa4hÐЯœ˜ÔæÕ0VÜ´ZnÜ`áè*•~àµk3sæ Þ]ú'Nœà¡±É QYÇtâã5f «×¬)>Ý#ééåR4¤ý>þøî|_¹>lÛ¶Þ¥À¶lÙRyÿŒÌ ÞX´ÈWQfÒ$Ì&3ë×ÿ§­f˜ÞkÇl2qqϧL›3/6~ÁÖ­_ó况LŸ6o¶|‰Éd䱇Ç‚Ñ`Àk2ø…¹K÷ŒAü¾{£Á?£Á€NW6}è+zC¨ßDêöåv¼&ƒÜ®€“„Ø^û¿—øjã:"££ñx<ò—Aç sÎî]»Ùò¿ÿ­(/É ¹S‘ØŠt¼Ñ`(›Û¤bäå¶«Âüõ†PŒƒf°‰P”ŸWæÖ“ÀBÀÛk,Ç^”–’ûRÀ)ŸÃ ØívïÞƒËåö{ ¾cOœ8Á¯GÅf·•cÚ.AW.¥¢2€r›tÝjƨ¥í§€óG•€³»UæVr¡g¹? •ì¬vbm^œ;—ôôtítƒŽ IDAT–/ÿ€‡‡Åb!99™!CÓ¥sgR’“™:u7ldøƒÃåÐÄ„®¿¾9 .äŹsýÚ~cÑ"§6–÷_*Å?Ãá`ÜÃÓ¥sg2³²x÷Ý¥¤>L~~íÚw [·n´nÝZÖ' ²Àši%/uâ¢yvöbšôÍSã|E®â~>¸OÞ'.ÑW‹4?'¯ÁJTD$!z7Evsçq1¯‹ÅLL­Z8Šóp8=X0"è2™ŒFpùôæ¼¢­48Ã_L×-ŠX^ ‹Š(²‰ÄÖªå;°X,XKËù™M&<îbrò턇‡S;2“ÅÄæk9uòn¿¼¼<¢n]é¯Aç¢VX8ÇÏž)»Ù}çvº\\Ì+Á`4FHhˆ|±µjQ+,œ¬B_ŽYD¨‘’’.æ•N˜ÅK‰ÓÒEη+SŸ—€7† 8*rÙù‚IÎ}3êÝØl6\N'÷ôé^n_)ÆàÎn=}åã¢p8˃“J)Ò…¤7¨4§Þ ,åŽWï¯Óép ü)c¥|8Sß'.AW&MU]@t…^CLMMeæÌäääpáÂÖ®[Ǽyóq8˜Ífþþ÷¿‘‘™Åcã'Çûï§cÇ™9sŒÏú èÖµ+äë­_óÖ’·p¹Ýœ;wŽ?ü.ÿ€ÎwvfÜÃã8zô( EË–<7ã9Ìf³Ÿ8oÿ–”œÄ±c'Øóý! Fu’êÚî6Äb™¹8Ÿ™Í¼ÇFòå¡34ëØ‰ON&)¼„c?neîÌÙœÌua §ÿƒO2¶s>™ù(«ÏÝÀû Gâr¹xçù§8`‹ãµ§âr¹ødÊ#7hÍà!ƒqçáÆèc} —°áÝ·ˆoXc™KjÍ왓‘žˆ ‹ ²ã›ÏysÉ;òyÇ?7ö ,|ôá‡tét+mÛ´fμ¢×ëeÉ){Io¼”ÕŸnâ\v67uÄÄ''£/ú•»  õ--Ù¼óg7jÀò–³îÃ7ycé§;r®I°âòؼy3«—¿Çϧ2¨S¯)#&N§CÃ?qY¥Ø¬<‘ê\èE£Ÿ¢½€CvéÉLTÃeXVÑʼnÞc,ź—ËSº”a2•û½:Œ÷ß_Φ/7’“¯c ¹ÀÕ,P ã’.MéÖ1£+‚Ü^3:~â¼Ò1ôXéÐÉ€[UïïêUV’¹*Ëü0TbLL ©©©Lœ07ß\̲eKùGïpìØqÚ¶kƒÝîà±þ“æ×^'§Z 4ˆyóç³téRztëFfv/½ø­Z´¢MË–|¸üÚµoGdD$|ð;vì౉±rå ž~j2õRRü š½­æYˆYG~n.#ž|œ¤üƒLŸ6W^šÍøÇŸáóÿlFg1èÜœÎ,$§~7>ûb#ëV-Åv|7Ÿ~´–²X8m ‚ÿnûŽ©#oä“·_d[º‹¸k“uìK20‘}øg.úíû³ûÈE"ÜØtú"ñqmˆqãt:¢ÎŒ½$Ÿÿfèÿøÿ±aãzF6·óäëk±—Î!V+ºã?ñæ’whuÿ<¶~½…9÷·áég§‘¯‹ç‘ èÕ·/{÷ìdÊs/P\TŒ ògÔ»É-´s7¯RyDì¢V^>S»Õ}ÓbmJ –®M½ö÷GUU£`«-Xærlôè1¤6ñÀÕ¶UѵvëÚUf{999ìܵ £ÑˆËåâøñãX-:vìȬ³øù—_èÕ«÷ @nn.ÏN}–¸¸8Â#ÂILH¬’ÊEÿæÑYp9„'5çÙÅpîè/:q†G¾gɼ™\,yA·&q}Ódf<:GqqI¹®ÝØÎï#=ã:²&^{¨;YçéÔo+¾:Æ]ÛÚ¥ áolâÈêåýÂá¸Llø{ÓQ;ó, I××'/ë"‚×ëÅ"ˆØJJ˜0nïЈ‚¬óÜ3esÚß‹X<³ÙŒÅjå?‡OShˆe|¿väf§ý}’ò¯þeÆjµâ°ûÖt;‹ÕoÂty ¤DëHvãžÞÝL¡?ò3}âã±ëÛp}Ód&ïIqþyŒÆhÖoÞÅ·;"òÕ§yýé,bC½ìþnö'{_ËÅ]Ícxûågù?›·ÍŽXTŒÁh]xZëc•1J=lA+ÆÒµÀ™3f‘Ÿ—Çæÿ~Écÿü'÷ÜÓ¿B½Re?”ÌP+J3PM•ÈøüYcUY»˜B}U\¥Ÿ~üi:%|T¦Lˆ‰‰‘AQmýúõ£°  œ }EíAï¯k^¯“ ’sñ"îˆHÂ㓸!6…n]»’ÎÒñ@ÏÅ8œ.¼Îbœ¢€]°•” Õ”à!^§£@ŠÙbÆ‘{’Ф»hÚÐÊÆµ‹ˆ>÷%­îxŽ¿75ðð««›Å`¬Õˆ¶M#(<çÁ¨wø­Ã˜8_˜OtD(à‹ô“Ìí5f5ÈûÄ']ƒÅbÆáð­™-f\n7nQôs¯é+^ÑÆ¤a#àú¿3ldê%dzzÙ8œœ¥¬Ó"ÚÉ-}ŸsÁÍ þÝþàpΞ9‹ÑÁ³óŸÈ§ gñ¯í¿2`ÀÄÄÄ`+Êáå—æá´;ʹë”ÿ»_ô¤Äj¤HF588}D¥QR[R‡K(kO‹Úl6Œ&+Vþ‹»ºÞE¤d’“™1ã¹ ï ¥+Ò%è0‰^9ÒRQ*±4¥KR 0ZïËÆÁ`þŒ±RF”J®[é\R4ª¥\׬רÖÿjÛ¶mõ¦’›ŸÏÎÝ»*­·y5ºO•ªóZ/£Á ƒ` }´Ú Ú_Ó;µÂ™óêRf,\E¡ËDdt4®¢lvìÚM½Öw`ôxe&¥×ûÿü¯IŠ¢¾ÙÍâ/vŸÙ×óó©S§£ÏSÑþN¶}þkÎ6åNuix?-sßäƒmk‰»i†¢ ØñÈ h¬!!|ºá{N\pÒ¬É5ìX7!©-Vk‡`z6Mäbfw¥Y“k8ûÃò‹tԪߒ˜’ó\(òEyÖM@E9"U²#dz¸ä8îéÓMc8ýË«ƒ×íø"¯o.r¹\t»¹6…n ž†méÓ»7]oíHá¹F¾ÝwŒ¦­Úp߀Þt»ó6ÜG?%?/“ÅÐ]'MÄÊúž ¨]zRŸÝ^£_[Rä«´-kÀåtR/%…5ÿ^MLd8oI“S­™äF”Lí–TFÞ*û%Ne5Eµúýg•´¿2·PYL\ÚG]µZfF¬B`vb4ødÕ*š_YYYúñ'¿hÇ ]ºë2rA3Myn¨/ðú¢—8úíG¦PŒz7Ö˜zL9˜ãgõ;ÆRê¹É/ÈÇÏ]÷`Ùü'Ùº4œ¢Ü|švy€Ó‘}.‡Ûï»Ó‚çiÝåvBBBÎ÷ gí˻ӫ>/f(žèËBÔãó3}ü`;§Nç1õÕw±"r‹ÈÊÌÄ{MoFôèÄëO`EbGŽfÒuøxêÇšÐߨ‘ÏþûwÜÙ‡›o¼ž “ž‘ƒeÜ¢H|X8C‡vbÚ?‡æÅå1ðõ~3cÚžÅí5Ÿ—'§äæäк÷Hzf/fáƒ}xÑ«Ãå1Р~MÚueüÈ¿1ýÕéÞkF½›ÃgDt€àuú1­Ü8å„/å9j¹ ¥¼;õ6)Wk'1#£ÞèRSSÙ¾s§¬SZÙï_éU²0%£“€Æä‘RSÊòLÕùjFXÆËÇ=V\¼&x— †~缫goïô瞣a£†8í¶·[nI#.:ô’a¾PÀ)Îq=щB@÷h‰ÍÆðaÃiܸ1ùùÌ™3§JÊèA Ú_;ÝéKmhÝâZví=@nn.ÉɯíŒ~úñ'Ú¶kKTD$.·Û "ŠÔŽ áÜécìýù6'DDDÐâ†$…éÉÈ/!ãì1ê¦4–ó3²2Ñ{$Ô®@ÖÑ>žIdB"-[´À+ÚpŠa=ÇNe†Ùì› œ¢@vv6 R)²{ü¹ë&Æ0eÊT,'ƒ fóŽ´êp-R¢)±{9rú$!"c1êÝœI?ä;o½¦´LMÁ+úæ²áðñL¢ø¡íMå\ýfW?¦&ã\>‘ ‰Ôª} Fw1qu8yò6ÂåvËn²PO!§NžâàÉóC¢èоVщ%ÜHίGØýó1 aa¤4jŽ«øÉÉ)—¼†õ{‰$ËAAyùìÙ½‡¬ÌL"K…·óóó1šL¸œN"##¹»[gt‚‡Óé÷}\j¿$@ *¢Ê.í¯¢?z¬ªÚ¦N§Ãd2ñ¿ÿýïÏ –ùì³ÏhѲ%QQ‘ÜtóMüïÿãèÑ£´hÞ<˜Ä´ ]¦Ik„ù%XbS¸ýÎÆ F¼®bJJŠÉÈ0 "©×¶¤¸¨N‡Ãé¤vB"w1.‘ÚMZsM++^W1ÅÅE¸o‘ÇHòõí¸¦•¯¿y…ôzßS»Ô·Û%W˜‘X€ËíÆá ¡Y›[iÙÁˆE´Sè°ãòÔÃ-Š\׬™|­¢×ŒàµSà ‘Ï%xà ¯Ðƒµn#º6m…àu`·Ùup8—=YÿÖI^À‰#.·«ÅÊßþö7¯m;]¾uRðåº<L3^g1%N7‚PÞ-'­µi1<µ9õÈ)jw¨e7'—øò{ÕåØŸ‚8û÷ï //›ÍÆ©“§Ø»g-š7‚`ЂöLÄ„^ïÅátâp–eTëõFA‡Û«Ç©AäýÁ‚^ïÅf³a+­y«×›JYI±ÙlrŸ41Ú€`n‘ƒÛ»tÃbô½Ï¹x‘B£I>Þát–¾÷×^”ƒËc,=¯¾,ÜÞQ@ni´Ž^¯§°@]ÔÞ)oWãÑ8‚P6n~õ€µ¯-ðdì¨P÷îRM™¿(‚ Ê¥ £ÓKÐáu€ˆ«¨Ç#ƒ ºßR¾à¥*ET¸ª’ø^Ýcu¹@û§ NëÖ­Ùò¿->’Ntd$É))$W!Ì?hA ZÕL „QFÍÉ‘tŠRc^¯WÞWú\D£Ì Óë˯ëèõzÍ ¦° N·ß.¿W¦>HçUNN"fôz­ó–m× Öð­cé5'>uß$F$RðR[t‚å7Mîê‰]¹Îõ[˜~ ¢ÔêJ1:ÎÕýV'½WÊuÅßË}YÝcUÙ8þ¡Œ°¢`€A2hà@æÍŸORRƒ Î\Wˆ¹Ünöíß'/]Õ5Ï=*ƒ@i`Òeä[Çñ\ª¨'Æ@À#ẍúÊŸ´A™š’UUµÚ‡ãК,•UQÔý×t÷]cUÙT¥¶z¬´Q®†±ºÔû ª©èö¥T–‘݃©W†]¼x‘á gèÐa8x0‚5Ì”%¨$Àò¥š B]'RÍDt:œ{¥d!ÊIM)$àÀ sa½¥.G½\tYŠîSJIm« ;kMf:Þ¯/&åTE-]ÒöÓ*×õg•ÉC¹ñŽÕ7VÁY.h~æp8¸»ÇÝôèÞION"íÖ[yâ‰Çƒ€XáòIÜ/ª’¨º@%«Ü+d'ÊR[¾ó”>fûÕ¯,]óÈTRÊ ô峕oW݉HÛµ?´ØQY¿¼Á± ŽU¹‡j“a ᮡ@h·MZZ#G$//—Fõ듞ždî5ŒJOÓÊœ¾@9]Ê'gå»ÈVÄ$ªÒJP™+K-$«–ŒÒÚ·¢2[:®œÚzp¬®Þ±ºb\£A»²,<"œ“'NðÈøñŒ>»ÝN¯¾}1[|I¬AfXs˜¡ˆÙÏ•¥ž,Õ“V‘ãªLL—D¡d—2Ù)+Ž(MJ×ÒÑÓ2u°Hp¬®Þ±’,(Ã4?‹ŒŒbÉ’·i}CR¯mÆ·ßî`ïž2 á•Í«LQÑçZûª£'¹Ô´Beû\J»RȽr»S_ñ¤Z™û•>Vê÷UCõºÜÕ0V—r_U #T3À 0ÖL›Y¹¼¼|,!‘\ß.& ëƒ#‡Í_î¤}ûòä#©‡«s̤šŽZî±Ê˜ˆWC™\¹2™ºÂ€ 5s@/7'õK©BàçŽ À>´ÄhÕ,Sú\Y‰Ey=äXI%v»“'39qâdy—§ÑçŒŠŠ¢iÓ¦å®åj«K½¯ªƒŒ°f™Ñ``ý† lûúk>_û¹ Žà“šùÜsÌŸ?Ÿ´´´ ^Á¦÷Ú1˜B¹¸çSž]¼–ÈÈHŸŒ’ýÛ¶l¢gÏžtþ{žô8ßìÚ‹ÛåÆ`4”–ä*+®l¹T—ÓåÂѧ^¢wSâ,»g|ÿû"õ”J)~²8Š2_V³·Ëåk³4¿Íh0 ¹.WYmM½ `6xp»\Ø\:?&"%|«C÷¹á|ëZ¦r¬!ÐqZÉçÒ6e楸 µN >(÷1v»ƒ}ûöÓ¨Q#¿ý­V ……Eœ8q‚‚êÕ¯GTD¤_­Ñ«e¬ª~¨V ¬¨èvЮ,KOOgæŒY,~s‘,‡¥œØÒÒÒødÕ*¦L™ÊÌ™3‚¬ð µ‡—:qÑ<úÒZÞõ O»¯ô·èå‡Ýßa Áf·—®0‹ì㙚Ì$'§bòRd÷Èlòh¾KD ’c¡8üœ D…Åb|õ-]n7^ ƒ®TúF´Ql1›ý•ŠŠ‹µäçs4·ˆºõSI ³p±¨`%Æjàì‘_8ë ô3=‹ )*¶SËä&ïÌÒMrR,öB.rŒ¢²À ux}e±$¤Sm«èœ•…īɩ^ç³Ùl¸œNºÝy[¹c»u»‹„„îì֓‚BjÇEá(«°wÕŒUEûJý1hÔ$­–ÙÌZ=Á¨A«ËÌÊbнC˜5ë9Í¢çÒûyóæqOÿþìܽ‹íÚÁð 5—ËÅM­[òݾÝlúo=""©ÜkÛÞˆ³ÄCfîÎgf3åñ©Ì8…Ñq [0ö‰é´©gåÀŽ Ì~î5òõôB{ÜÏ3ßɆw¦²ñd+V¼9WQ6¾:…Ï~cÅ[³¼^xøQLÍ;2æ~8Šóp{ÔŠeþ‹Ï³iéRê^-Ç2/–ÔšÇ'Œ¦ej 1;Ÿ.^Ì;k·Pìt–ÔšÙ3'ÓæÚ: 8]a&‚9’¬œDc㟛GZÓHìvѯ œñ/¿V1‹©lR‹EUÕ¥÷[öÕôޘʒԥß`ïÞ½Ù¸qßíÜÎÉÓÙ>סΊô†«m¬*n­hÚß ±”ì/˜GXslØÐaŒ1”n]»VnFƒQ£G3}êô ^¡bÖQRTÄ}£cmx÷­…,~ýÆÆ[ÿÚ„SïÅ ss:³ˆ›ÿÁÚÿlæËµo¡Ï=Á×›¶â>Ë;sæqMŸ lùïyë™~|µö}¾:`â–›n#ëØ—DàìÑ3œØ³šôã§Ø}ä"&ûüœw‘ Í#§(ø1™o "ýÂ2¶~½…;äòìœ÷ÈCÙ¿f omøž©‹W³}û7Ü{ƒ“'__ ø¤….Z¯çùEðŸÍ›¸ÿö8žŸó…T›t—à ¼ªŽHŸ©ke 8d÷˜zÒTçÄI/-7šVÕí*,` P t\ ÔƒÑ€ËédÅÊ•¤§§c4Xºt)Ÿ}¶–M_nô= º\áj+uzµÚ¯¶¨Ñ ]ùöÈøñ4oÑœ‡ÆŽõc¬[×®4NmÌK/½,?‘íÊ1΂ÃéD‘Â?g½ÂŒÏ1bÄpFôéÄ¿ß}™•_ì'Ò×7MfòðžçŸÇÒ„ëÚ݈ýü>Ò3<œp˜ðPw²ÏåШӽ\]2;¾þ‚FmÚî* û{;§ùˆÃq3˜Ø&‚½éÇ8²ç‹…”;Zp±¸ÌUeDl%%L7„vk‘›]@ï±óÏí¡–ÉÎúo3سw//Ö_¥öÆ¢Eäðê‚—tÜœ9s¸ëî»éÜå¹0wЮ “¤’Î=‡³V-®©S—ȘDÒÒÒXúñ"蹇Ӆ«$gé뭤įh·›òiY(†ðF4mV—ka=y’=ð÷z~u5%Â0ÖjDÇ=ÙçŒõ•ËëŒ.1ù‰±ôpÙgO 7…’˜˜ˆ]êWQŽÒ*Ì…%.ŒžîBHHõ¤(àÀƒÅ¯ä–´]Äâ§r.bò÷öšý¢%¥u0irõeE¥¥½Ç¨Ù¿kW£ÖªÃ)¥(ëuÚl6Œ&ëÖ}ÎëFӦבœ”ÈÓÏ<]u×êU0V"fËŽóT#TZ°²Ì•iƒ[½f ,ÿÙs^¸$fçr» ±Z™ô䓲‹4hWŽ9vjÇÆóü‹ xvökœ+òMι#ìØµ›z­ïÀ™wÞ÷]z åä–®©S—úf7o|ö=ñI1Ýò/~þá úØk±‹ÝZÜÀ¶Ï_⃼öÜK}BÞOËÜ7ùd×Fân‚«(;í¢€5$„ù —sâ‚“ø¤Ö,š€Ô–¬bCº6f÷Ñ"¼¡I¤¥¥Ñ,%–[Ö`)]VѬJYAï¦X¡¯¨fZÁÊü7³fà…´]:Æí5LÝP/±*åqËRG|ªU§ü¬\N¯Q ù7ètÃ_|εM›r{—;©—’Réoñj+eN¢ËÒ:þ ô‰Êd˜‚öç˜Ñ``Û¶mLyf kþ½šÚ‰µ/i½OÚ¯[×®lÿv;3ž›Œ"½‚,Ĭ#Çæ¤ÿ­yéÍ÷Ô{=‘‘¸mvê·éÌÄ‘ƒÉÎÿÕï tò ò1††pߨQüß+OÒéM…^úÜ?žQw7£ ë<ízÜ‚iÁóô¸µ)£è4ð Ö¾¸ž1½êsñb†f¿n‰(`ÖØ¾œÉ+@/DñÌs-Ó°÷Hd/æ©1ý(ÊÍG4FÑöÖNôÖhÃí)ù¥T¤²®qŒz‚”Ø4¹*†VýÌÊ*ž @¹T1Z Œz·ßibBkþ½šÜü<¿ýí6›f;WËXUiZ¡‡¢ºaЮ<ËÉÉaÊ´i,xm©©©¿ Àžxò zöêL´¿‚Ì£³PXPÈm=ѱk?ޤ§cs鈉‰!¹n]Œú|ŠÂbXñ¯å¸K«d](`ð°‘òûkoéÉ«M[qèôEâââH®[GqNý¿"»ˆÙdåÿÙ;óø(êó¿çÚ#w$A$Ü7"Ö[Áz‹VQP«ÖjÅ£õhÕb þ¼ŠŠ ­·ÕZ­¶jñÀƒï ­¢¨- È!GȵÉîÎÌÎÎïÝ™ÌÎÎ& d>¯W^›{žy>ßçù>ÇØ½Rs¸©ÄøÍš„$I—U¢'©H¿D‚’¢â”k5íz õ®â€Ý‡Q lŽ4ÚÝÜEC¤w¯^$ #c¯”U¦“·…¬ÐôƦFÊŠ öÛ7Œ"&hŽ'Å *“”Ãné„zMoAO(Yç‘$‰¾­×Ý^r¶{~k[ªs>ÍŠ>´*šX©îù²¶jrJhYó]^IãÎ$q«ù­žH (=ì0$SØZ rº¢L*]û÷Ž&”6ûB Ícw¹Eè§Kto̘9“ªUL›6­S¬7=‘àÈ#ŽàéùOÛ‰ö>ºDQDO$P›4Ç2)­ŒœG,2´®ßŒ« IDATÈÆZ¯j@[Ëi%%MK"Š¢­Œ4Ñ$é8žSiÕ7«{üT$I¢¾YM7}})wZQ4‰ÅbXÑ9¢˜RદeœÇ뺽râ¼\c™ÕGÌ6+•¸—{Y3ÖqÚ#wAiC © @î2`N—¢äJø¶—K‘¦Hzi: ®f~·ÜЮߣ§ÈÊ •¤ʸ¶¤Bv¸w;•C)ó»OŽÝ³o¹•%}ÄÛo¾ tN+%ë·ßq;“O<‘Ï—-óLÈ÷±c ‚ƒp DJ—=s[Öÿî g@‚èQ.Ku SÌÚ>Òူÿ·”sk$ ÷ùÃÄL/sžÇêtŸ@ÉY¹¤£½÷¼*‘H.åèU-ÅútÖçôªÄâuw-Ì\.ÃŒ!ó8’Ô±à ÷ ¤§ÈÊù\ÙîU×dkýVÇàÑW»6ž|ê)^}íU^|áÛ’ëL2sÆ fΘÙi$ë£ë]¨nÒÜžý­"ÊY£ñ´ã$ÁŽÀk®Ê+1º]w—\®KBV$fwUGãÎßóú³®ÓêþÐÓdµ5ÏU—¡??Ø=°bÅ î¾ëþòè£v™µf%Ú[íšü´ŠOr¹\V^ÿwTmmUÓ4EQ3ÜYÑl6W/=ç§W)-ç1º“¬ríï˪keÕ¥Dè—XÛq°H¨®®ŽŸ_x!7Üx½gÔ•ÖÚܹsùøãùð£%vánß?Ü Î QæÊÙ³-Wù)ç:¯æ®îrYn«Í½ÌÙ«Î]rË+ÜÞÊg³Ja9×[û;óÞ¬mr«nëÚº³¬¼¬a÷µuäÏë^×¶5VgжÎÕÑuÛz míïuÏîç*Ã"î*‹ÐŸ#Ü1°Èîâ‹/á„ãï”ÑŽž÷ÒË.eÖu³xñ¥}i7± -S[ÎÕ;’Bȳ7×è\4ãî+/’ÐÐDÅ®øo]K.Ò0=Âç­€‰Tôa(«›€±è¾/rôª¬Ò]ee¿[†‰ „‚þƒ $ôIà $HÄͶ9&a­)(éyLÃüêóð3êwÎ9gÅÅÅ\1}z9vµ%zì¤I¼õÖ[Üu×]\1}º8³ƒÐ)—U³Ò#‚p[ÜIAd4ĤâŒÑj9tÌmå&874Úϳ¬JÝC9 ³;ËÊ:¾,IÄ5ÿ}þ9Ë—/÷pRù“…EE9 ŒCª°@yEÃG § ¿Àó·ír"ô±ã0wÞ<âñ8>úˆMPßYç¸ræLŽ?~2ûí»¯Ÿh¿ƒ`)]w¾•ïåV좡€«ÅŽ»zHînßbvgp÷~ÎÐw+’Õ½Î}lËú2Úÿ»-«ŽZŹ–ugY ‚€ %øì³ÏX½z5ãÇïñ϶ȧ¦¦†º-uL8d"jK¡`¦…§› zBçÛU«øêË/9èÀƒìœT¯Å.%Bß-úýÁ"›E/¿Ì{‹ó—Çû^IЉ²²2®½îî½÷>?Ñ~À©taä–õ£K™î¾WáfgÑgç5¸“»»³¬dIbÃæM¬^½šŸz*½‹üœTÕ–ü‡ƒûýsn7~Ìp¼ô2«71`À;z¹KûúØqPdÙî2?gΜ.íŽ4‰òŠr;ŠÔÇ÷‡\îŸ@²5Ý+`Rn@÷:ƒ@FPŠj›ëÝçi šÑ²ÖYnˬ>|éÞy^––³§^Ö{a˜9ϱ3ÈJ´47£kšM‚~´Ä t=aËÃ-ç²üüZš›Û·4}Õ±ó£®®ŽsÎ9—_]úËí®!ÚY¸é¦›xã7ùð£%þ ü=ZƒÉd’ü‚|ŠŠ‹É/È'/?¢|…¤¤·º&%‰ü‚|Œt½Ñöæ»41“ÈòòóìïVß:gšWD¤›Øœçm/ÜÞ €!¶FhæäS\RB  N2‹ôÜÖ›õ=Wñgë~ìJ;’°Õ)^²rËcke¥'e$IÊèJß=,qCBpü¾²È2¢±3fÎdÍÚµíÊÈ3ÊW;?¦žr 'Ÿ2•3N?½[ žHPTXÈœ9·pëì[X°`ï"ýž¬Á` À†õXûír¦‚,Ëvñì<1ATƒæ–fâ[¶Ð»W/»vg{V’“H¾ùú*++]Q™IOËÔ²Ú¬Àg·>r—üʘ‡K1D+&ë¾øˆoj›éÛ·/ƒBÕ4טÞM²Ö÷”û53’ô›¯¿¡¼¼<£|[. ³#eîRcl•¬v52 IzK”õ+ÿǦ„Ä!CéSšŸµíšÿ}Am\dÀ€ô)Í'LS Ól‘àÅ]Ìc=βϗñçG¦oeß­òšøÚi'Ç¥—]ÆÄƒ't«(Më&NœÈK ÚµHýÀ™®…ªÆéݧ?^ð3V,_ÉðÃÐÓí‹úÏ…çŸÃÞ£úñð£Oðøcâí7ßä›5C¶5ã$$/$“I~qþ4¼øŒr_m•ÂrZX‚ xÎÑ´G,º$ŸŸÇªEó¹ãÑ?³¦^çäS¦2fìå4WoB †<ÉÔMŠîàY’øÅùÓxbþ3”£'ê` KB*ÈÆu/¹ÊÖ¹ÓBœ¥ï²,Ê]ðÙ Iÿ~ë¦_}3¡üÝ)ï$ªøíÍw2qdIúájá–KNçý !J$&¡Ø^o© ‘L&˜;oçN;G}„ÊŠ ÛëÑü<Â÷Ý?5Õ5v—ùîH2³fÍâä©'ûµH¿güþž8úð Dc1ªW|Ê£wßÍMwÜÏ-³¯çˆñ#)ë5ƒúf•‚ü1a&¤ºP"™15È ¢¶4`  ´*ÿ`0H2­l¡ ¦Ö‚ž” ¢Ñ¨Ý†G‘e1ATkµŽ à°¨0Eéý¬ç#ˆ©&PÐî‚QZPʣϿÁAÇÿ”'/:H<‰©·PZBOÊ$ Y’r^G~A>ZºHµ(Iöu Eyé<½xë}4Ç“dïvµZ‘¦mg®A…»&f.ÒÜ•ðÜ{kØû¸K¸ûšŸðöüÛ¸bÆÍ,yñv–üí|ž<Ž…/\”úþøÍ\s͵üé©{©’ O2ljjbò‰“9ᄸbútFªª[um¾FÚIñúo0ÿé§yî™gºõuæ…Ã\ðó ¸ô²ËxûÍ7}ü 'ejkk©oV©ÛROùˆ¹áùœtÖõ|¶x£vòé’1å„Iüû£—¹çîGøïÚ—öãä³Îçç?9š³~z# Lþõu uÍ©½¿šv-uû<@€åŸÿ‹×˜…K¿¥jÏ£¸eöõlzþ^þY—üü\‚B yyy|õñ›Üõ×·¸÷Î9©þ††DaQ!¿þå… c,YßDM힘ÿ áD5÷Ýv —~K¯ûqÉôéœxÐ ^}ó=žüç ä¿ó:+ÿ÷9¤qÙ;ÔÅB¼ùŸ¹êw7ræ©Gs÷u3yòÍQ5…s/ý-?™z­…Ï^š?=ö ÿ]»‘~FòÓsÎáø#@Õt¸æ×é{má?œÌ3®¤DÚL·:gЇ7®ýí/) µŽ&;å,ŒÛ~b误pé“oÛ®ÔýÏ<—Aï]ÏÏJÕ)ã=Ù«W/¦N™’ sì¤IöúŽ)÷ƒevB¬X±‚Ë~usæÜJYYY·DÑ ¦N™Â¸=ö`î¼yö2]EL ( ²¬ (bu ˜yÃ(/¯ ¹ù+Ö74óñÇpÝ峘ü‹«yíÕE\wÉTÄÆÏQd™eŸ/ã™Un½ÿqî½ýr¾xåNîÿçJz¨šŽ®k’ð——pð¹×ðï¿Ï‰Cj¹þº9ìÌCXøâë,ÿf5EÁÔDÞšÿ'äQÇQ hFJ9„$>ZòϬ pÓ¼‡˜ÿìú„âÜ;çzêËû~ÌU?îÏ£?Ìâÿ5pôá8ò˜I\öÛ«¹ëÎ;Ù´a57/ü†‰g_Âs qÄ¡ñô—óæÆž\ð2 ž¸ž¿¼ù%¢ÚÌìßÍåÔßüžüãE¦ŸuJÝWˆ6oZÏçæPn½ÿq ²×^}´ƒØÿÀ“8øø-MÅ%%\|ç­Œ«*a?âÇk¿ãþ§aúÉ¿oUÐÁΜ8€E»ƒ'hll`íºù˜1ëÇE¼ôæ'r'Ó~z6zöcy)µ0Vl&7‰'DÌ¢Ýè›ìç­¬W/žýãÜñÈ T ߟ‰‡Å„‰ t"ñ$œx9k_œ-y!¾ü댘x »—fDLÊrjŽmXM# ZŠ V5Fè]ÙSŽÿ!ûí¿»ÈSÏ<Ïþ{ɾ¯P9 @DSMÖë:§L=ŠØŸ±ã÷åÒËg1kæÅÔGe}ò9h^Ÿq¯…yi‹¢¥‰ºXÊZI AB¡'yyåzYynÂs§Œô48Óž¾þZâÎ?ζçüÂ$Lðq“ƒ’’-©e(† ÈJ˜2º®#KEE…©Á‘ë/??Y‘‰ÇcikRkó÷ò‡ä;œ]æä¸³àÈ#ŽàÕW_õ;Ú(/ïCaH$T^ñ:îºõQjÄþxÒøðéù„eâ†ÄÊ–b.9›ÂÈÛóoãâÛgsÑi/ÒØÐÀ£o|Í.É–¿úg +³•S8œÇ“/½ËÁ§Ncú%g°ø©™<›N”/è=˜s¦Máž[þÀ†ÎøÅ~H¦†žL5÷H$Rä )OQ”dTU_úþðD¦–¥6üö³÷Qã­.JgCX{ ¨PÄgí3­ßþ\<ù4l\Kcc-Í-¬l)æ†Ùw’ ý nÿã}\tZª “)·ºE— Ω8½êŽv$Ê4W¤lOA ™Oͽ÷¥ ¼úÌÏÀa0™’ÀÑàæ[Ÿbám?!$|ýö |»Eaω{x?ã•”õêEiAúæÖß,ÎC×uEá«/¿L“hÒ]'œ]ï»”ý~„û•+V°`Á‚ú>®¹æ&Ÿx"~´Äw‘vB’A<®rÕŒ+˜0ñ`i©ÝD“PÌ%WÌ¢JNòšªÑØØHH2xö/÷ðă*EÅEÔT×pĉ'§Ž“—ÏW_Í/¾|‘–ÚMÔˆ¹ö¦3ØTÛL<ÚB¤©‰ë.ù×üùo¬þ|1ªª²ì‹ÕÄ£Q$S%š”sàQ,¸n,-GÎ`ÜønG1~YVhlhH¹¯™hK”A{îÉÉ'Å-Lcàî%¨q•ššj®¼*5—ÔØØ€®¥È¶©±‰â¢âT~š®a„‹ùéŒs˜sË]üâ)‹®¦¦šÉ“'sÊ?㉯à‰Ißk?9é4¢±ñhK† ë›âl®oÞ.—¦ïÍ~.Ÿš{?ùí œ÷ëë¹öÚ먩©aÀÀLŸq5!ÉàÔé3ùâ××ð“ó–лÀ䋯Ö1ùW×0²BBðˆU… ÖóüÓ¯sìqÇÑ«W/šãO>ö'öÞg†NؘB&é¹I@6bÔ¬C;Œ²²2Œ„ÁºïÖQU5€üp`ëîT4QÑi$B9½@lÿÿàƒ(--eÔ¨Q$“I$Ñ'P'ôDIynÁî¼óžyf>ápØ^¾3ÞO^8Ìî»ïÎïçÎãôÓO÷s`Ýúô­èÃúÕÄãqŠ‹‹Û~Ý$‘ÚšZvë·¡`ˆd2‰(ŠÄÕ£G #SRVIï>•ì{øñ\ðó øAU!››bTô.bøè=é]Ñ—}†ö` pð‘'rö”ÃÏ,˜ÏµW^‚TPJŸþC9ï‚óØ»ª€Æ˜Á¨1céÓ§œ¡c‡0|PõÍ ÅiÓ.à°N¤wY1ùE¥ì–×Àüw—²ÛÑ—rÖÁ¥T׍«¤‚@2‘`ØÈQ 2I”0’I"qØûû1´_¦X’Þ»ó£SÏaäÐ!´DUúÂÈQ£Ñw·Ý=vJ “TŽc~ùöÝ—ˆ.PRVÉÁ“NcâÄ"'[8`tUë½w&§Ÿ8xc”acÆPU5 õŒª*¥eeŒÛsOŠJz‘Lfö”$Rª ›(ØŸîÞwÎÄü@ {_·¥éþ´¶“D‘††jkjùÁø=vúç<ž×‡Cx0}Ë„Âa*++©Øm £GF1E•2áðC0 pAç]t)S'ŒH'Ò›)÷ª(iªgíwùÁ#0 ?=ôG^ýu;ôPn}o½ù'|:å¥|½j ùùyôîÝMÕE1ã·’$‰Õ«WwkÔÏ#Ü~(²ÌçË–qÇísyò‰ÇíÑÕ‚²æ<âžžÿ´ŸhßÉ$ UÓ»×~ì{Сöò¤ÖLSS%DQ¤¸¬’vK!Îë·§Œ8ÂH4£¹>†2©ÝTCɰý¸ø¤TɾHS£H’Ä¡‡F´%ÊÆ&±ï$Æ25ѧj4›ÃÐâ*_-û˜ç½xåÁL?~$›j› 3{ý鉄},«Â(ŠllŒ¦›gws¤=©°ï~û¢ÅU"Mö?-®¢jš]ƺ§s~HÊ•m m¡9.eܫޥ¾±MľÓ4Q5þ»ïΡCì"ÍN+N4dI”vÝ¡Îä{ÝÞÝ'¬íì®(YEÀwÄ ‰}ÆfŸñ£=¸"U9FO$P Ê9ãôÓ3ÏŠ,{V•Ñ óîºû..ýÕ¥ôî]Îq'Lá?>@YyeÎÑŒ#b†‹½Ó´`H¶×#F’°ßŽp»Ř9c&×^wM·©!Údpû·ó³³Ïöí;¦i"I‘¦u[¶ (N¯ŽdçT©šf“‡ªi¨uuÄíº‚ž`êÉSÉS`}u=ñx E d(Šˆ¢H¤)B¤©5·P×5Ê+*yö™gYßé¿ý …ŠFs\B’²åZÇrº½Ž+ŠA$I°—Y÷iýo“‰$‘L´PS­9öU$Á¾×]CQöy×`ËÄA®ö³kµe2ŽïB.Që»ÕYÃrÍY•eœ¿]jËÜ%ݧ!ÉÈILÎ+¨FK7Ü5„ F ZÛGššPòJ˜7o.ÃGŒàÌ3BE¿AÄbQ”PY–<Ò.Ü%þ|ÍÓqî´s9ò¨#wºÑŽ ¨°³Î>›K/»Œ×^}Õ'ÁN$CQ …Âvï>'ù’`:ÜÑ9j¦I()¢K±XŒWÏ"ÚÜŒžH …3Ê–‰®ýÁ¡P˜úº:®½þBr’-[¶¤IP²Ûm‚EÑî5è&C§‹ÑB@20Í$†)BDÉê:o$Dv%I’P )}?Îå¢'IȾ¦ â³HÞÕÚÉU ˜q¹Z0YŸ-YYŠØk.±#‡wæAp›Ïošð”45)$&£()ëZV %¯„«þïJôD‚X´„ÖAF"™yÞ¤Ù^ ü„únk¤Å8ôðùïþû™}Ë­ß{—ùïV¢ýí·ßá?å™$T‡¨ÙßeAÏ(í´tÜ„Q_Wg»+su`°RœMfû¯]_ƒfH–•WS]Ëehmã¼~§;KBË*X ‰îÜ^Y9[5Y×çõ{ä’•×5eYRáÔ|Zõæ&ÿáN#?$¡(²= .-RŒT)?kY4#‰_P‘>áް›Œ”¢±'O=™£:šùO?Í»o¿K2¹ëçÙÍ;—£Ž>š#Ž<œý÷ÝÏ:Á"4"¤•®€€‰™árw›°æ°,òpZEm)jw½L§•%Š¢]ÌÛ]„Ú²s“¹fæñ’B(Ëòs[|tºÜ³Û%+×qÚšÖË%+/¢¶?e¥eôë·ÿúà_ôï_ÕãŸoY‘Ù¸a#ß}·žÏ—-#Õsn»~ýJJJ0`MÍ-m>Ó¾?ª )á´ŸÆ|*ý«ªX³z5#† gö-·rÕÿ]¹ËfΘÁ¬ëf±hÑ?ý‡a;ᜋrCB%I+9yõÍs·-jKqK¨‚ˆh(9;WxY”!7yY$é&LM$Õñ!¨bÝ«EN[c5»çíº›¬¬F¿¢h2jä(6oÙBmmÿ€ápˆ=ö˦ÚFDS%)=·¸­‹Î ¾hË’ê$‡U×Þµ»Ï«KÙ©¹,B˪rnïEšÝUVÎyÄX,F,=pöa¡¥Ýuî «\¿m—i~°•?_¶Œ×^{†úÖ­[GQq••}9õǧräGØÛ?òÈ#ì5n?Øw_›{ !”••qíu×ðû¹¿ç©§žôIp[Ÿ9‡¢·Ü{î—ßûO';¿[Š·­`§bwFBº•·“X2?“m*%/RJ×DBÃY®ÍޏdA@—@J_ow—•syGÛ ùð~žÚìtš¶ñ‰¯ÑXŒe_,cá‹ Y¹r%ªgÂĉtðAôë×q{ì‘e9*²Ì´iÓ:t({ï³O"Aë^4‰¿?õw?Ñ~;¬@M4m¥n¹÷Üin Êé"lk.Ì©¼­Në·õi¥ eÉJ´ëÊöµL'¸;-â«ÛRÇ¢E‹¨©®! ±ßþûqþçSZZJQaaÎãXÇÒ &NœØãHÐ)Ïûî¿“§žì×"ݤæ£ÚŸËêHäb®õ¶k³ócîã:¯Ï‚WÇv¯}SçmýîŒÞìÈù‘±¾¬z–¬œÁ2îÂí]RYfW–±”òÆMyûíwذa+–¯ ¼¼œC=”N8ÁSy{‘ŸûØ–âï©Ê?/æŠß\Á¬ëfñâK/ú$¸ . Ùw£ùð‘Iˆ†Ñ¦%ëçnÖ¬]Ëßþö+–/'3lØ0FÍ~ûîk[rNÒs+ñŽ(u_ñ§Ú5½øâ‹Ü~û»|úHgÒšÙ\[ëÏ)ùðayH ƒþý«ìÂ^Z¾ÖÅÛÝ©'|»jÕÕÕ¼´p!k׬`Üž{rÕUÿGaQ!}+ûn•Åç£ã¸õÖ[9yêÉ|~ü²æT}ä~ŽKŠŠ)//÷…áÃG’©FI˜bÎ ­. –ÙÙŠn[¤ÅxçwØ´q#ÿYº”¦Æ&ŠŠ‹9r$Ó§O§²¢¢Mõɯóz^8Ì?¿€™3fú‰ö[„a@\M}úðÑÃaM¸ÓhÜÁI=>¡~Su5ûÛßX³fMñµ5×çE¢>:`2uÊþýï3wÞ<®˜>Ýœivte"á LJ¡â|?$T$#˜QK¶K‚e¬ïÝqŽpã¦ÔÖnfáÂðùgŸP5 ŠSO9…ŠŠ  œå"õ oÇaúôéLr2&Nð£HÛWH¿>2ßà b¸Úgír•e¼åâÅ‹ùnýz¾úò+V®\IyE9ÅEÅÜpÃõYÄç&?_éîXTVTpÃ×sëì[X°`ÿ{lÅ ïÎ'Í8R2hç’¹óÅÜÖ¥óx^–'dç´u$Ѽ½¢ÛÜ l­eVŽ™uœTř̹Ÿ@ºIEF¼+7Í+Ùß—Õ®-+g+0ºšw¤kÔJAxæ™gøê˯¨©©AUUö·ƒâ׿¾œ²²²vá£û¸6Üí}´ý¢»•„•Ke ãJ6o«ä˜×r¯c{)·\ŠÎ©¬Úª0ãVVö2Ótœ› l}j¢™s?_V¾¬Üè¶%Ö,Ënî¼y,û|EÅEöºšê.¹äb;e¡)!òÜsÏñî;qÊË+8iÊIäç³çøñ í¾»sçõýþ¿ç¸ýÈïhßA’”ôt§¡Í‘µ{äî¬"â¥ÛR2^eļ*š·¼# IDAT8•Ÿ{$ß–Ât;W‰µ\¥Ö$T¤d0KAû²êÙ²êR×hgY…kÖ¬aúÓ:t(Š¢ È2Ï-XÀK R\RbÏõ…B!Ê+ʹêê«8p`‡*¹øØy3sÆ ~wÝu¾‹´ ‚€aÄ Ò¾­âÆad"¶Ê†9•eRÙ%«œ56sæî,KaZJJsÌÇX×à„†„”\0<¢]­ëГ òåÅIýë\ß–’B¢™¥\u)„h&Ah»òÉ÷-+'ÁäRâm¹AD2Õ 2Ô¥ÜÏMO“Õ÷bvV°L(¢OŸÞä…Ã|øÑ>ùøÞ}ç]6ÕT ))-aÎmsPUåiUúä·ëàØI“x~Áó~»¦vH°°¨p8]O5-5õ¢Ñ(š!QZVF´¹Ùî>ï©ëRÌT—ï„aØõ7M3[YYS–õàt7ÙJÔ£Þ§a”º¦&¬ëK˜ åöu$:¦ÖBLÇóÞš3êiZõ1­ÿŠÔyÏÙy3·µ,÷~–¬2•pkÓ×¶\‚[#«ÔöZºIpz @‰LËÈ9ï•0› !€$h`:Ü”Võ!A·{#öTY}/DØ™(..añâÅ\û»ßqÍÕW³zõjŽ9æh¦M›Ö¦»ÓW’»n¿ãvNûñiv¢½O†­°Hæîß߯ßÿ+}*ËQ’0òÈŸqå“))”¹zæ¯9ÿüó©è;À&C+’.V†ÉAtn“RjuuÏe%ò« ÏcÙ_QX”(•pòYçó“©G ÄUÎ8e2ÕÕµä‹{1zŸ‰œvÊÉŒ«*%.…xü‘?rïÝ÷Ò§²-®pßC¦oE%ª¦azt!w^—Óuç¶œõ9-‹Æk>Ê’URÒ3o.Ø.AB[%+‹hœMŒmB²•zª¥•u\‹ì}„l¢±d‚H—U§¡Óú #vZêD0$‘HðÒÂ…ÜxýõLœ8‘` À×_ ¤’àóÂa_öÚ‰ö~-R—D×( ‰,~÷]ÎûÅ%3iõ›¾æÞÛfs…–ÏS7œÂûïÿ›©§þ„Ýû%H½z÷&$Dc16×·PUÙ›K/»ŒÃŽ<–)'L¢¾Y%Ò±ËSåä³üÿã{þÀ£>BÜØ²y3*¢œOqi)!É )¡!¢f¸a“É”Kó£%qëÜ;éÛ·/Í«?å÷˜Gs°’_Ò›ËWòà#!‹ "MþûÖKœuöEÜrçœxÐ Þ}ç]¦ž<•³Îú)jêQ…²Ò2TM£°¨-®¢jZºÄ\vy;ÚÑÑ‘ÀYˆ9—ûÌŠ´öÕD!­x-òñ²Ð­O«ƒ„Û}éœ÷r[EÖù€ŒëµˆÂ&4ëú„€}LA1I™ÕT,Ë-WäeO“U§¡3°3ç›ùío~Ë{‹ßcÔÈ‘|·~=¯¼ü ûí¿_ê‡U_ö$eŸH؉öwÝu—ŸhïBÜ…‚Œ1ˆ1#0€+®®å—Þ 7œBaQ>’©¡ä•иüæ>ðÕu1Fì} çy«—~Ä Ï>˺µkyëõEìС÷£ãl2xä¡ûyëõ׸öÚëP5•_ÿúrBe4|ó1º÷%V7rÔÑGsä¾CP5à ڊN‹«—”0zô(Ê+*)?šúÆF™'¿šü@jݘ1öýL8ôh*ŠÏàæ[ïã˜ó…B 2’áÇSÚ§Y‘iin!¿ Ÿþ㟌1‚þ»ïŽžHdu Ï°†ÈîZ. ­Jß9e)ZK‰{µx²Úåj³”}þLkÚËʱ,:wa¶FuZn>ç6©¨O'‰˜Y ‚Ý&ºD“•“ô;-Ï¡³“ç-ÅvþùçóÞâ÷¸äW—PÙ7UÛó˜IÇð£ýÈwö@X¿÷5×\ÃK òáGK2æ«|€žÌ|'d±71¡0MD1©”B}W]u ¯•©( óÂÜ«yä™÷1J+)(*! QYÙ—pöàâ’b ŠJ(íÝ—’’R4¡–Õorùe¿ã˵qExè–™<öÞj‚ Éd2»á­°±›š"Ä…TT¸ªéD[¢´4·iŠÐT]Ëiý†æËQšƒ466‰'©«¯£nËT5NiA{ïœËÊÿ}N^AAÖ9ÛjžÛª$™J7mA9•®Û]蜲öqžSÉìy3/°,çñ-K'×þÎLë|ÖŸi&[Ÿ Ið¼6ëX=QV]n†;-X&1aâ.¾è"_ÃùÈp‘^sõÕ~¢½×`ALðŸÿ,%\PJ]ížþÓ]Œ;ö{}¿^ù¼ýÄK•{rçgS%'9ç¤!uþl.úèE&LœÀ!‡Ù§MÉrœ8õ4V®XÁôË."O¢( OÜñÊ÷>Œkç\K•œä3¹âOOrÆA×"Š­ƒ”@(ˆªé¼ÿîëô*ß–uŸñò³¯sÄE·¡5Ô¦”’$‘HG·Æ“I6ÅS¢Ô7 ŠKŠ™=ë*^|ái´¸†ªé<ü—Ç©­oá¡G' ÒÔØˆ(Šž–ƒÓæ„b¹ßZsì²Ýpf:ÒU{ÊÓ8pæÓYáü(={âYõ0­ý,KË4“˜i7oʲ Ú^[Œ½,(‹½z ö4Yuy¦Î(ºm¹»n} —üò—ö2·eà£çÂj×dE‘úH! ñ·ÇÿÊGK>DOÊ|ÜùœuòáDâ) ! òÆw›;´’*9ÉòUëè;øtJ”¿ÐÒ¤¡ª*uuuÔ7«ÔmÙB(ÎPuuõÄã*‘x’ Ö3bpÞ­maâ¡ƒè‹ÆÚ Tt Åœ“óï¾ëÊúôE”ó8æÜéœuÜ06Ö6 dNu„©­¢A/£ ¢±¡‘«fÍæâ_þ’õß­CQH’„ªªôîÕ˳ïœS1·¬áŒ0ÌE­„’"kNÌ‹<Üçµ”²3Ä«³½Ed©Ö€‹lÜ© –ÛOB“¬HI+*4— Úºæ]UV]bv… lÑË/S\\‘GᓟOÌúÝï8þøÉœròT†î PÕ8¿¿çŽ>|Bj®L×ÙXSŸ¶È$ ƒr³‰Ï7‰»÷® ~Í4è©´†x-®R5 ŠsϞ¬ß\ȼyóˆÅbôÚçdæ^s<ÿ W\y¡‰çñÛÓDmi°S(DQD‹«L˜8p8Œ,Iƒ!ûú ò 4l³®û?®ýÝïøÃ]°.8˜Ç»Ÿãö¬ OrÐ{³{ÿþ õŠ@×uÊ+Ê‘YŠÏ]ËÒíöóšg³¶wF=z•ó*W–°’¹¿Ûm›«ˆtk`IО[sº ÝÄàžK;™µÓ=ê¼Æž,+á¸ÉSÌY×_Ï¡CÐâ*ÿúà_L˜0‘>¥ù[õ †D£ÔÄZ60–aÚgî¼y 4ˆ©S¦d…ÀŸsÎ4N;ý4Ž4É÷Ñ!ëð‚ó/à‡?<„›ªùã½÷pëwpÆé§wûççý?`¯q£XòÉçÔ××Ó¿U›ûÈŠÌ—_|É>ûîCIQ±oU_Ȩ́K+€tÂ}Kc-š! È+H‡dª455e,W…X,š,_oWxijlÄ0 Âá0¡p8¥¨ôšZô h}—”dTƒq·¸¤EQ2ªâ$tæôü¦ûÞìÖ:é{‹67Ûë¼Ü}Î]Ö¹-wZ®yE/—¢;!Wn][îÃéÕîïœ÷rÎzÕõ:GO”• Þzë­îYbmñâÅ466ø$èc«¬Ãá#FpÞyð.dÖ7Åz” LÓD’$"M‘Ô ï"/I’¨¯«C$I@Õ4ÔººV÷Pzy2ÑB}†®kö<œs4.¡iŠP·e‹mqJ’”šësÈÜ™Lï´.R× z–ɪw\ó8¡{Ý›ußÖ¾Ö:MÌVÂn7]ÊBhí^ÞVd¡SÙºIÃ+ßÎÝQa{•½×¾v95‡;Ô¶xÌlר!ödYÙëºÛ¨^‘eæÍ›gGŠú$è£#Ø{Ÿý6t07Ý|£G`ÓÆ=N¦ifÕvº–,’°þwê-E*I¢òtg%PE…ÂYçu+!«¬•3ˆ! $LÑS‘º ÒíÖ=J¨Yëëì~WáhgM̶ZyýßV··uÛVÅ–\ç³dä´º,ùyÝskòº·¬¼¾. výX÷>=MVƒ­î6ªwGŠúðÑüò’ íÿ½ °÷XMVùU¢Ï"¯¹÷ÜP.ÂñÚÞ½ÚôiÓ8ö¸ã˜7oçœ3ÆÆ~|Úi=JÎ&«–"°ê, mì³µçØÞ㎺“¹öÍu<÷¾)+gÛîϽŸ/+ÁÓCÐU²²’íu©keå5ý½T–ÙVX‘¢ÇNš”AŽ>|´=‘ ²¢‚ÛæÌaÅŠ\vÙå”””ôh™dŇvUhqµÓ™0ŒŒÄ®ÒÁÖy4G[¥°bvî9âØÆsEœv:vž_ð|FÞ O„>¶Æ£`=3ÇgÑ¢fyvu8_ö††¾üòK"MMþñ‹¢¼¢"#8i»WÞ‡þýû …1 ª1¾þz55µ{Ýå}=xXªÓ½ Q_ß@ss¤ó šNQQ!}úô!/(Ø¥à¼Þ•.%­u•¾þÆÔÔT{¦RøðÑQ2ô‘"Á7ß|“Þ¥ù”WTøÙ‘Hè¬^½š<ÀvNKiéœïuëÖ‹ÅÙï=hŽ'Y±b%‘H„Áƒo÷9¬ó$ƒoV¯ç“/—±Ï>û ÅblÚ´‰––(ååûÔ׳iÓ&†JÒQzÏ«âÎOŸPÕ”yï=÷0}út_¡ùð±%‰¥K—2tèPŽ=ꇾ@vaÌn!ûŒÝiÇÛsìp.zúHœHs3‘H„ã=‚¼p¸S¯{Ô¨Q,\ô:uõ©t—––({ŽGqi)a@3U !¸]çIõÍ*Ÿ-]JCS#%EÅv~©WeœÊ8ªªÑ§O>üh Á`ˆ‰'úO·ÛˆTË™êM›?~<àO1쪰jÈZÿw†7E‘eòó ˆ47ŇÃä…ÞǷˆJ2Õm:Oii)±X EV*KK©‹EiuôF·ë~b@AH" ‹Å(//GÕ´ÜÈþƒê:÷ß{¿)êÃÇv hçCé ÝV<>vm|¿±û F§RˆE€¤Ð)ÇÓD“@¢Õò3µ–Œã÷Ò}¢£m˜úVVð÷§þN0äÈ#ô_\;M‘Ÿ-]JÕ€;u>¢˜TýÓG§bÅŠ<þø_3–©šÊÀ¹à‚ ¶Kw[Ö­3©@– ½Í}eYAÔYûj²÷~^}»„u:Ú˜7³bÅJæÌ¹Å'@ÝŸ-]ÊìÙ·PUUEqI1‡vCÞéZ<%Å ÿcúèT¼þÆìVžGåàË¿úx)7\ÇO>Þs¿U¨l'h+$'iöððÖ×ÕBD)ò®}­ÅUêZ¶P_@8(`­]+â ïz1ß[úDŒ$yH*ülég¨šn Ù‡‰` Àâ÷ÞgØðaœzÊ)<ýÌ3ÜxÃM±Ç¸=())åÌ3²SXŠyŠÿ{úè#§´ˆÆú:bõMö÷~CªXÿÍZž}æÙŒm‹óÖnh ¸¤˜ÛæÌi󸄂¦zJ¦Q»a õ ”ÄûR^ÞUH ´47S½e=±xŒxQz÷êE ÔzÌ\ó—žuH»Ê"ìNšrªªòꫯ¡j¾+ÇÇŽ& _|±ŒúÆF*+û2`ÀŠ‹ŠYüþ{Üqû\Ž8òðnM„!AB üÓG—!VßD]]k74 ª*EÅET”…)ÎËœßkŒš8qŸ~´œHº+¿­æÂ_^ÎûìIS$‚!ÌÖ¨Ì@^ /¾ð¸˜Š²0!9I[¥­SQ¨­sz‚&˜WBTEV(-.¡.Ý]D–$›uSAOè„Ca‚é`Ò0¥­+s¶C-BKùøðÑ]0vÌæÿ}>o½õx sçÎõŸQ;ôD‚®¿£>Љ'fEâ¯X±‚?=ü0WΜIYYÙ6Ÿ§¬(ÌÆMíÖXNôî­Ó·O±mÆ"¹ªýišnÄ$ Í0„‚ôé݇ïÖ®„¼ êëê0 ƒ’’>èf*:Z6PÕ¿?PÐ.;—4Œ­Jíè²¢Û¦äL}ì|>|8>ô E……ŠÅ'C;“gCÕT¦LžÌ›ï¾Ë¸=ö°×­Y»–£?œ'LÜ.ŒÇã6‰å‚•·Wœ'´kf‘c\%0pÐHVû?ÄP˜P0HY‘•ÜŸ:osšCeYµWUCLË£ý óNkÃ$’ÿúØ%PTX˜JXN'û$ècg²n›3‡‹~ù+?ä>üh‰m 7é8;ò(žzêÉŒíÛ<¦žIvuu ¨ÉQ‚AïèäP8LaQ¡=oh½Cñ4OXÚVQødz~o÷ªaD¢:qUÍø«®®¦²¢QÎo·y{•jºÌ"Üžõ>|t‡Qõ®€¸!òßÃ]õÍ^ú½o¼ñTMåÀýâÇ?>•×_y™ãO<‰~ŒúæhÖöáp†a È qb$:qC"Ò¢{–YËSà‹/¾ ¶6»(÷7«VñÕW_±òÛj/^ÌØ½öK‘dA0#ˆÅ0 ¢-Qâñì⊠‰ ë:±xI)°Ý¨1] >§LÖÐõìª1ùF,‹Ä-XíŸ:èhB½>|øèDâIn›3‡` ÈÍ7Ïæì³Ïâ‡ËI¹LPºº:V¯^McCcª>´.ð̳Ïaj ”•e·;[µ<•ö°ÿÞ#¨«kॅ ¿ïÁ9“ãåtp‹¢´FÉd2e]ŠÞóŸ]Ú}ÂIz¾kÔ‡3z¥A÷…Ñ’“9]Vú€dªDc)‡$æ6/‘„K‹¨««ãÛ-^„—½,Vß”ªD5\ZŠdª¥d›§ÅÌøMS"˜*Z\¥Oùî¶ µ¬|wÖ¯_O~~’$!™M$ô„M‚­äÚA¢ï4—ŒÃ5ê[„>|ìXè¦_c­' žA¦ÓÚÞ®½m,x ¢JKKX´p9#ûõëflÓÐH4ž"lgôfª0|vŽ (J€Â² "uÕB€Ý**Òª– µ_¿~44ԣǚ„‚vª“LÅû=pv§ïT"Ì„oúðáÃG—ÃVôíXy%A/DâIÆïõþ»ìSžxþM*Ê:Þ¨wÙûŸQ\\̘±c0„`úz³ $Q’EÑ&(I’(+-£°  ƒü,—ª(†P”¡PÐs½uÌ\$hu«ïR"´,Dß"ôác)Hß5Ú# ™[£ÙI$r:]2U$3ÉɧœB(¦¾¾žp(”iü¤ìÝËK˰ÇرŒ18EƦêI;^÷!IÁ@ŠîˆPAÈXïµM®EÑŒ§Z1uµE~e>v$L9ì aF{ âÛƒ¨ž}.…$áp˜3N?}›Ž™+qß*-òô¨=h[¹¥×[ËQ¢²$e,×zÑ¡«,B'ñùs„>|l;dY¡°¨ÐVžÛ(²çü‡ %:¤€|ìÄÖ¾,ÛŠÝŽ ÝNb´çH¨÷"^=ÖlŸÓk}®åŠÒz}Vwû¤$è²Úí¤?$:‘0Œ BUd%}± ‹²Ë-ÂŽvŸðáÃG¦ÒÐ4•+VÐÔÔ”‘—ò¨ìQWW—ñÂè’@ÿª*V,_Áા~y¸]˜ EIç‰Ê6¹lÇð+U@;¡¸8U,û›oV±bÅŠtSêôñíç0—Ç!×òÖë[»a3 Œ9Ò®³aýúïÖ;£±î¶“º†!¨Û²…––(ýûW¥:R¤ƒhdAÇ ÐõDèÇ­GHNÒÒÒLÿò> ;†x,†a'’2--QÉÔPÂEToÚ”5B6M“!CóÍ7«X¸èu_¨»0¾[·Ž/½Ü)ÇÒõº®³ï^cÈ/Håâ 2˜¥_¬`é+P¹SÏ3fì ‹ ‰4Eèׯëׯgýúõ.£ P5ÍžÿL˜ ² e¡_YƇn]O0|Ü8Æžµ®)APò ÉIYæ›oVe¹OA  ³×^{‹ÅÐu YðÝ£»¦Œ,$7n\§· ¿Q’hinAE Ä ƒˆGH˜r—§w¯^ôîÕËîVÑY„‰ˆ®ÚÖ Õ”7a*8½£¾EèÃG75Ÿb¹D­öOzK”XÒ M—¯S׬RV’—UÒÊ PU•` `7+õá£#ˆÅbvƒõü…òJºü<‚ tú³š0 "f"ãÝp¾#NtY°Œ>¶6l`@U†!ÖkYñßÏ6d¨çÜŸûE÷e|l-,rêêgÈ}Ó4»ì\^$ØeÁ2¾kÔ‡ÎŦêMÌœy%sæÜÊþûînj믧¦º†z°ÍÞëE÷á£ÃFÍ÷ô ¹“Ú»úÒ'|øð±ýØßý˜9cçþì\ªTñ‡{ÿØ¡‘ºS™y¹‚ÜËÝ$škç±·udÞÖh½­ë‚T ƒ`Îc¹ï¿½ó¶·¬'ʪ#ÏPgÉÊIH]%«\ûø¡;ôD‚c'M"‹1ÿïó¹~ömôïÛ›x,†RX˜“ü¶Ç hï8uŽ\ë¼åÖËKùymëËÊ—•óÞ»d2/FÒ·}øØJXÉÈyA1ƒ §N™ÂŸù3}Jò‰´è펎­O‰Ìäf 5kôíV„Ö>‚ zN ¡½óçú.¡"¡"§KÀ9’ûÓÔõ´Ê&l=‡{¾ÉZÖÖõù²òeÕ&Z/ä¶N^ʉdÊBôáÃÇVcSmcÆ÷h,†jˆ¨Zê½”…h,FÔ5ê‘h I7f)>÷HÙHw©3M“„©xºÍ¶fdïu|ƒ Ýέ”Û:¾»œ&zð­c¶gÝø²òe•“u=aW±Øšª¦d ÐºŸoúð±uhŽôë·Ë—/gSuuªzˆ,“S’”‘WP@8æ½>!/¦°°0#©ÞR*² Û4œ#aË2ð1’™#ÜeWqok¿\#÷¶”_ּDZM3™µ½btLáÉ‚žu¾¬|YÇ¡¢È,\ôáðÖ핸ÑÀ·âZ_«ùðÑ‘wF–Ù°~={ŽW:d(º®óEo ‡ $S$פf&‡Âa&2‘` àé¹1Ø£v§¢Ñ=5Ša¢‰©òl¤·Í8b»£s·åaš& ”œ#wË•$Ôî¨ß­àÃ$)‰`f^w®íÝ% S1;¸Â—UÏ•Ÿ]æ§ IDATUʲBD‹°÷Þû‰D| åÃÇ÷„ÁC“Ÿ—OÂ00M“Q#GÑw·ÝÚ,º]XXˆ$Iv2rJh$LÅVîê^Š!ÌTT­ËB¶Âs*CgF§òt/Ï¥dÝî9Ó4 $ñTÒ¦™Ìáë’€˜¶r,å0Ì å¯K™®>/ ź^_V¾¬rZ„’$Q^^ެÈ¥ÜÍU£õ ’éð ‚R%iú® Kú®çî wáà\ï‘jˆH¦FL5]mcç¤âœç°HÓ©°¬³ÕfÆ&Çôr/E¢‰ØÛZë­e©ý2÷IÔ³çŽÜËÝë3­Š`†ÒÒDo]á¼kû¤‡òÖÄ”‚µ”.åèv“Y‡/«ž+«6óeIbÍš5|¶ti»/|(&//Û…º¡>ékÃ.Æn¥~õžîŽº-uínSXTÄÞ{ÿ€‚üÛº³ è`°Z®|.ÑŒc²‰„JRÙV@[#g¯9w>˜{¿\#pOWTÚÊhÏÅç\/ :¦™´žu>ëœnËÆëØ^.B_V=[VD˜HèH’Äæ-[øléR† ÂСÃH&“(¢{âR¤%nðÂó/0v=0£YELð¿Ï¾£pÔaˆ~ ˜.Aã²×¨ê³;Á`0Cö>ºÂáë×o sÂqGR[!/(d½CªªòÞŸðÉ'ŸrÐAmS’x[9bA„Vƒó\š¸mIânåÔž²r×Ý×V²µsYÐÁÄsÄß‘„zoW™/«ž(«œ®QY’Xºt)x cF j÷…/..¦¼¢½ …ÃmÎ#ùØQD&i ¨°"äw ªª˜ÿÜBÖ¬YÍðá#2Š»•”52¶F½Ö<ŒÛH)§@–rÓúnúÝë­‘¿5Ò÷¹{ýïV®^ÎmÜóA^AnšÛrðeåËj[dÕ¦k4‹Ñ«$Ïž«€T:ć-¡nKÇNš`ç1¹q‘¡•A¨ÛDRÎóµbÂ'Áî =¡“HèŽï "MM¼òꫜxâ‰ä…ÃïV8¦¥%ЬÈvmK‘8_tkTo½ÔÖœ‹×ˆØk¾%ç\N%ãžwò²BÛ«Òž ÎûÚÛv»-_V¾¬¶GV#¡Þ™¢È2+V¬à×—M'æhãÇv1=PÑu²²2Þ~ëm~}ù¯í÷ʉ@ óeÕ%!=Ïãïe%/;sµdAϨú‘ª¶¡eTõpVqîïõé¬ây\aÖ¹Û»+–xU1±–9÷uÃÊ]³þ@²õZ}Yù²ÚYåt:ç/¬—õóeË8ã´3øÍo¯`ê”)è‰ABÇÛíÙ$¥^褜G“æGŽv>bø}v7vº«·¢¤Þ‰?þñ=üp~ñ‹ ¹çÞ{m½!©°ñŽÕLâ• …f˜ALZ#ýœ]¹s<¶þwŽÜÝ#pMlu·I¨$Ì ª§»Ë=Bww[ n·—åŽ $!)‘aµø²òeµ­²j—[4Šb1Eá›Õë©Þ¸žâ’Tsƺ†(á @Lm›ä4]§%šJ«~éö".YÆ{ž8º=dY!‹7$¢Mu|J ‚”³lÙlÙ²…`~ !)Ãj“¨a’”ôŒ$â\õÛŠüs*%w>V[õsͽ8×ëRJÁZ‘‰V¸¾EèTÎp{ky®n ¢GJ1ĸ]Î+•’’ºomïËʗնȪ]רˆŨkˆrìq?âîûïçæ›oeÑkï D£Q’‰_ÛùðѦkT'©5ÓO"™3fΤ¾±‘ÇŸœO^^Ñ–(º®Û.T·kÔ9Êv¤[’­ËI2ÜXÎùÑŒ{*ª\Ö€s¹µ¯õÝúsº²,¥“BÛ§Ö%=ÿ·˜óüR2˜žÇ3m*ø"i·îÙ—•/«m‘U»¡)‡ù(Z ‘¦&¦œz&ñXŒMß­Â /v-B€` àèëÄíFb1оctçq*ˆ ‹Dj·l!ò‡» ¼¢’hs3aÅDQÛ…Úž±‚²:{K‚µA:ÚÏ;Á™Hœ«Ðq®BÅξvm…Øgº¿ZßþÌdg1ÃzÈU ÚZž•4íqn_V¾¬¶VVíaBOP’ˆ™ 2I´h?=ë,b±²,£è©ÀY‘3¢‹ ¼˜Š‚lúØ™ð3w>„$ÍÔè[^Ê7ÞŽ´n!å0Š,{Z„^.+gb±3ä]4tIðLªvþÝaéÎr[Šabˆ©f®^áò­n·ìcYç³ò×ì’\é0yk[kÞÇ]ÂËyçþN–]¶+½ŸS¾¬|Ym«¬²ˆ0aŒ;†ð†ÖÌÀíu1–/º¦‘ÐsÕf‚MM‚o½t6z¥òÑZ?‘¾CVd ]×ÓËÔg“«†o<ã÷– ë:ýû÷'ÚEEÛUÕV,]Òî Ká9󳬱,h˜f25Ïâp9GÜšˆ€•B ] dÔ„´FÒ‚]q$§9òÖRµ­Èμ2k¾'C勞ÓvÀ´ÎYç×Dçý˜¾¬|Ym³¬<‰P– Ã`ÐÀA45Exç½%|ôɲ¶]?«V­²_xË´[©Lóš·}ØEÈ—aõê5(Š’!{ÝÇ%ªë:uuu<üè9·‹Æbä…ÃpàY%Ö¼ÜH–ûÊRn÷—A9<Ж‹L[A9ÏaE¶UÒv™¹Š5;ëNºóÄœ 2Wµ³¦d[½ç ©hŹj¾¬|YuTVmºFõD‚=ÇcÏqã2 {î,IžÛ‚ækÃ.w“|!tg«P’l/KG¶s“ R©Qµõr·¶ÜI¹}¬Q¯³&¤ dºÁt©5Áí23Û5ÏU«ÕÅ¥fÌùä¼ç´{¬½šîŠ ¶²¦ýi_V¾¬:*+O"´^J§éš ¹ë;"|Û þµ;ckß!÷vî6ö2Å‘ZžRTÖ|IªÆ¤hGÙ¥BëUp¹…œ¥µœÐ@ g„¡&Òfh½¥p î¸ÌA\îj ­Ûµ~Í8 à _V¾¬¶GVà‘>áU³-ן>Ú®lÅ;”«à¶3@1ÌŒÛî„dA0’Bé‘|0ÕeG:¬ÑPlEäÌ ³‹»Ú‡ÕÎǺ6+´Þµ»½VÍI§¥âÖ5^]ÃÝÁ‚ ÚUMÜòòeåËjkeÕ¦Eèœ;†0s}wþï®ôáVZ^û8•–{wpÇòªþïÜ6µ>Øæ58—¹çˆ,wV{ÕNlO“‰/+_VÛ-«6‰°#uÙ|øðáÇ]6†ä$‘H„††z¤ô¾>|øð±«Á0 z÷éCy~y&êºÎÿ·wæQ”çÿÌÎÌÉæ$„„+¢ rˆrZPA´¢RQð@A[[‹U«¿Jë}T[µ¶Å[𵤊GQ´‚\$h•@ äÜdÙÝùý1;³³“Ù*©Â>ÿìììÌ;ó~÷}Ÿç}ž÷9òºt¡WQá°‚KLåMQŠR”¢šðû ‚‰‚0"¸†šPêêHeMQŠR”¢ª$N§˜(Í?¦(E)JQŠRt¸£µ­ÙÅõs Å©èn·Ð2Ó·~~C GÛ“#*"¡¤žªú½É/õ{EBF›V×t«›ºÞ¦]ÿôþ˜Ï™¯×Ïéϵz2¥°Ja•Â*…U «Vm Bë3|kÁ‰zŽ9=–ÃÍߢ0"Z.8=«~.äˆÇšXŸ«ç·³þIú5z: gTs‘£.Ú#Ô£‚Û&ÀÒÕ"빞[Ï/£÷UwIa•Â*…U «V?>¬Ìd›YFÏ\n»ÑZgÌ/a‚Ô¥°õÌEõïºäVDw¹øJA °Ô3虬U˜õU…¹(¥tiÎj ÿ¦§²«xl€eÊf®'§µf7HaÕyX%3ëëX 6亮¬ ­°'ÆýŠh¿eÐÖ;´µ7‘ì»ù½Íÿ]&k2d+Eq#´ñ‡ V­¥í²ÛÑ¡ˆ•yÎêsÐŒU²>êXÙõß>Åšh_á7ñeµ¨æœr­¥Å1'Lµk¯ep§}škæðÖXktYƒ.íê_%Kx $Ü«ŸOaÕ9XYï‘%é0ÚÁ𠑘Ԝ…ߌ‘t˜…>é¹\“©Ão¬Äqi­| —D\¤¶$§U‚¶ÆL­ÉQÍu¦Ì+}»?Ǭ…ê‰]ÍZ‘5i«3 QQ‰Uavµx?³FbÕrôUG{ú" ŠQnÄœÝ̨SXuV¦ZcÁ`€¯¿ÞEmmía3»uëFÿžÅ„É5žºº:vîÜI à?,0‘$™ž½z’›“k”¯²Î—H$®ݻٵkça3VÒÓ½‘ž–žt¬þÃxÙŒ¥¶Tíd+÷ÄÆÞ×2Ú§åXÓðXKnè÷$h%ªœTÛ±+¿¡ªªQ›JϤž¬_z_Œ¤±ªš`³²‚™Âêàbeä*ŒDؼy á°BAA‚D\‡ôÔ ;vUÒÔÔÌСC ƒŽ5@7uuu¬[·Ž®]»Ò³g/Ûvœb„PDlqüm¯KFí½çÛ<Ç|Ï×ȦÿnbÈ!tÍ¢9”8¶äˆÊ¶²o¨¨¨¤¸¸É>¤ÇŠ>öï¯fýºõœ8f„1/Í Î`0À† ù9$¨Ú\ G%¶oߢ( >º?Í¡vB3“rF!âÌHßçÑ5kAH«–¢_cÕjìÔus;vZŽY2W)6kæêÃVج)éßÍ¥;¬í‚#aoFPæò$)¬:+ÐJmß^N8¬pÆi§V¦cùy÷ýhh¨Ç›î% !Š¢ñ¿––n¥¸¸ˆ1' ÓÌЦÊ0²$¡„Ã8UŒßôó ‚F ©ãw!¢R# ×¶ul}޹ÍdÏIÖ†ÝóÍý*--eë7eöK4ÐhdÅ’D‘ýu¨¨¨ääñ£éžŸX™—}ø ÛwíåÈ5Äq‘%‰¯¿Þ…$ÉLžø“ÃjÕ¿˜÷—¯¤¹_dIJ(‘&µ¦ ÆWæö{MÖ¤«f¦Á…`£ùX™k2s¬–r¨†¢aý]× ìÁ&:ÄMvzµå¤ZŽ æ„­º‰Î¬a¥°ê<¬jjjÉÉɱeŒvdèÉîiïuÿ ’%‰4I’iôùÈíÒ…`(ÿ©9PÃÉãÇÐÐØÈ“O>Éĉ©¨¨@–e\N'¾¦&Ûã:_ˆl¯¶€ñ55áMO' \t)è¬gÿÞÆyEQðxs}­¶­·gnÛ¯DB>£ EQÚ6Ž£Ûö9™¬Y½†SN>™’’¾X»É7¿_3wÏÏÿAýŸ1^zôèÁÎ;‘$9a>ƒ‡ÚÚZ Ú=‡ÊÍÍE–%šš›ÈÎÌjŸiÔÎl¥×‹JÆ ­{SV†nö´zíX÷½’1èÖö’’y1ZµóûYÍtÉÌxÚ±ÃàõÉ O¦°:8X%óksEÛø5;¾^@qÿ3½Cìñˆîaûú§Û¼îI’$‘&[CÑ„ßwïÚÅ”3Π¤¤„ÁÇó­ŸUS¹M?DA÷c9nò?8,ú÷íǶo¾îpHQK“áá‚Yà a?ÐNAhÇ8­„fædf`º9N†‰LwáUmö²$A‰UGޝ\t§‹–ï¿F7ÅÙ… $\'8öâN*VÁ¤›ÍæÊND´ï!G «ÎÄêÛPÅú' †Ö’wÄPÖ¿sõáø»MáÀ¾Ýdw)ÀSû9¹Ž)sßlyQ*¤hèM?ÊI_[_gLþŽ09ýúòõŸ²nÉš&÷Õ2Üy91è´·w0©Ñç3òD úªö]ž\q9Bµêr„"nš²ð ‡ú¾z‡™Ij‡ÐZ(Íܧ1¹dÞŒ:™5Lp6‚À¸Ç¦ö”5dÀ`c–jkž³š+õ€Q;íV« ÄÆ¯9°í G\Nõîw(_´ßÛÍd͙đ£{á<º/‚à@U£l}c=åóJÙÿÓyôþÙh\ΡØöÕ¹o’WtfÂþU2áÑÓY”“•ý­Vú²$¡45BP§@um»VÚFÐ_—Ë…Ó}ð˜ù?>YÀ¨c&2ºç¥ì |Àîý;Xµñ=ˆ6!¨™„Ô m…X6óžèQã2k„­ZjjØ]QAqq1™¶ÿmii)%%%íÖÊô6~(‹«v‡O$3ãµfn €íÞR2A5ILÜw^µâ…ÙÖ=í9ŸÂêàbÕQÚñõB²úޤaß;lûg#ÊšBÆývî®] Ç&¥$IßÿX¿½‰•/-d›ÚHÿsÖ’Õw$M5È+:³ÕIÛÆßÙ=üöšRUùG¸•}d aûW4¦$wðä¤ýhíÜÁdrªÅ«< ‹½C€fÂB%}KÉa 9B‘öl1‚laBDEԘ×Ìßܸ·ªŠùóàon&;'› /¼°…ÓѢŋYûåZ‚¡ SÎ8ƒqãÆuhüP ŽÖ´ÁÖ¤þéŒÆ¿kù傉q<1“œ$(‚À\QŒÔ?ævA0®·{¶5ûHЖa&Ë–`}ÝÒz¯þNú±ž£ÎüÞ)¬:«¯ðÚ„]¿ì”58és‘–¾ëï£~õ5aE!¬(ìÛº…ð£ -}›“þ0eÍÊ­$§{|¯X±‚ûÿú×Î¥¥¥Ü|ó-­:(á0×Ïû?™Ü߯âëÍÈð6»Ñë¸sÉÍÍMh+ _¨©ÜÆÃ7]ÃÔ©S™8þ$.¸ì¾ªŠ°`ÁþõÎ;Õ#R¨‰|¦Ñšš-^Ì«‹–°æ£ l÷­kirVwðò«oñê¢%¼¼p!6n4~óÇ_é§ï1wÎ,N;ítÎ8ë\®¿ó!6m-OÀíÇB+W®ÄßÜÌè1£ñx<Ìûû<öVU¿¿¼p!_}µ•¡Ã†rÔ€,[ö^Ò¶–¿þ³fÍfâø“8óœK˜÷ÜRvTù¸ùæ[~¸‚°­Ô5æ•»y/Kã¹æÌAÚq“že¢Š‚aÓÜðCíÖ(¬i·tfkçXbÖº¬ d“½›Ùd§ ‚‘`‚)/…Uç`ÕQêÑg‘p%ŽWÊ|ú„}±¬Œê üûú¹¼»lË?úˆ†ùÏQ»¥ŒÚ-e„}„ÑÌÀ÷v3Û?}ƒâþg°»¢‚/þóEKÆX_ÇŠO?ÑÞQ±WOEზwÚ„v¹Ý¸]®¯¶…èªw¼Ií¶Ø¿f7õB1#'œ…‰g! DDÜb„Ýÿý³/¸GÉ$î¹çîÿóôäÜqeeålÞ¼Y»>Ü’ÅèA° É„…U ~ߦÑM›6qd~FêNׂPÒë"ùÛéÓ½ÑCQQQa·áëå/qÇýó~æ|ðî™û;²¢•|¼ìmNÙ˜#ÍýÕÍ}µ[Ht–@4p ¦îÙCNN…ÌŸ¿€;wòòÂ…”—o§wïbêëêØ³·Š£mûžów%¾õ\~óžxŒkgNäÕ?Ïfå¿—°zõê6mÑ_Û™¢{,êÙEÌNºÇ"Äã×ìÌ|º£E[LP‹'Óœ-ôsšaâý­i-5`äÛ´ >b×Zófê×K‚‚#"Û:uè&KCc€˜3‹3¢›§°ê¬:Dý¨QÆ’5gyý^ùÕAXç¨gÜ¿!cÚ4dIbMØÇºåK™p¤æPã.*"kΕ„ óPcž£.—‹¬¬¬ð¸=äÄΧy<囸ãsÏãÈ;†©Óf0 _›À™é†f™ïðÁ—k(¯Kcʹ3n@ö÷:¡ƒ@‡M£M !¾\úÅGnä¸ÓE*˰ù«&ξêó˜)0>¸Üb!º‡'x–ÑWÜËœéÃb¿”0xäXš*¿äϾŽÇãÑúîv°üõø`M)Ýûä² §à#†@-_ÿ)óÿñ.Ýûäâó&“á†Õë6#vS·w‹þýÓ/¸„1' K0µš½e¿+546âkjâÄñ'rí²‘€æ 3({LÂu£Ž™Èªo°¶®Î{˜®Ý{±oß>Ã\øâ• <ù\Î;u„ G_@H øö±äŸ¯±jg„éÓÎaøQ=xuÑ&NšHŽ7¾€ÙñÕ)¯nbüØ(_ÿ)/½þ–i\Å$“JJJ˜4i"Ë–½GŸ>½ÉÉÉÁãvsÿý÷Ó½{½{°goÙÙYL›6-A€»%øÏówñVM6/?ñ'ã}KJJøøØ¡”5Ôñ¢3Ýè³P¾‰¿,~—ª&)an¸…–¿¾˜Ö”’“WÀé3.7æ–P¾‰G–¼õç“­F¨3$=ó¸™!šWêæ4` «&œ† ®M‡CÓRäˆj”ÑЙek{Kæ’z†q݃11/éáP ZŽÎØÃªÜÂ}߬Ep›þLÝ\—ªó°êèþBP@öØÉ'ÃóÌÊ&ŒeèìkÈ}1NADˆ¨ ?w&Ys®d{A‘¿=£Ž§÷igSHÌ΢gsQÅX½úM©Ìvÿ÷_œ9ûj<ÙED«7rÇ ×±3ì@Žª„Žwßý'Ž›òsüÑ,²¢•Üú›KYñUÝÿÜlv`ï>\ÞÄõMaþã}7Žá”‰Ônù­í{•oØÃ75®š>ÄpÑ)½pÁP—G[ 2Òd¤¦¸œÔžt"O7ôI9òç¿eé›ÿ _—4Âá0Á@_ý~£½®yy,yãuÆŸ´Ãj;·3l„¶ú¿÷Ú¹8†ý’é3fà‰TsÏÍ×2wÎ<^~ü ‚!)eeeqémríU§pâ¹<ò·—÷øícØmì·…Ãa\nw›ø˜Mœ {žDhZÌÌËŠÙ³écV|å‰Gº“Ù<·Þ=ÙVë¨RÂÔEd<8©a[ǷǃâÛÇK¯ü‡Óï|šóÆ¢vDwΚu/Ç9–³F÷fì¨áôèQHŸ>}ùÉ@7“f?JãÿÍÄíÍç¬Ù¿çÞ›¯JÚ—ËEVvûWÿ­aÑèóáñxPÅY]Žâü¼ßðäŠÛøÅ¸Û(ÌãmÍì¼ùc>Ûâgá£ÃøÛôñ8†M·WŠ¢àíc“”$É/:‚‹YC!Þ|óMFE –¨`Ï^Í,|ݵ×mE—&¤Ãd Ö…ü¼{¢ Û„›JsrL±ø÷÷0è¼+¹ë×gksãÈøÜxî÷øõÃ/š¶âÛÀ;Ôð½éÒóèá‘V»Žë®¿‹ÿ¼y_‡ûÙ¦ 438³9L3e¹M•Zšçt¦ªí¹[e¢qsœš”±[÷ެîûÓÖÞI×^¯kÙ¦þLkÍi¾D‚„U"ÉT «ÎÃ*RDDü `oòx\FfÅ! Ç´ºý•;zõ#ìך$É4ÕW"4TƾK†0Ñ…ÅÎÊjÎ8ëlžyfUÕ 8Ý.<ž4>[µ’{vGé%¾Í•¿z%* E8ïœIIDATÀ·-7]y˜uàÔãŽÓæ‚Í|ÊñJ(J¸c‚ЪèŽ:Ó2g6±fÄ×Ój Bbж9Ÿ¤Y{Ðâ×Ú—MÄd®3áÄ$ÑÉ:t!’,ûJ¼êB\㊠±ú[*í cHaõýceíŸ[Œ$¢ÂC¹] µ÷ô¸ )À©þë~”^îÌâñzD‚…@0h8%|5t/à•å‘ãdøQ=ð £:Œ;ãtßüp·]'¿}æÎÝ€å¯ÞË3K5Óë¨ ã¸ûÕÌ<'—'­æö?ŽQ“Ž«¦†P’­ö‘yì¶&3e™ùÏ=Å–¯¾â¨¨©­Åãñ›“£™¿ŸzŒY?ÿ•& ýÍš0v ""'MÌM‹ÿÅœs&“‘éÄQEåëµ1—îÔæ[A Š_ïeÌ -çÆñ3oäÍŸ5³eã—|´äüê×W±éÃç›åàˆ?¾ÊEÇ&¼·¾0ùÎ{„vîê­=·V0Ѽßc—Ì.ã‰Y;i­ms5åöì)™÷ÀZ[„U¹…pÐÞÅ‘ÂêˆUGÈôÏØÀžïeÛU×RyÂOè"¨¬ºæ*¶ïÛAuÝ^V]£™ßF?ÿ¬ÙøÏ¿²ûþ†gß[†  5×QËÖV††¤( õõ üâ¢S¹õò«Y¶ò¿|þÅxôá?³øÙytÉË3ö‘Ò•›®»•e+ÿ˺ϖñøíqÎ…çÇpPÛŘÚüÏœ^û„›®šÎ/¯Ô‚ñëëë)2Œ¾¹n~óÇgÙ°q#+V¬`îœYìÙ»‡¾G‹ÓâãÏ׳á³O˜{Ù^ù× <¹ÙÔÕÖ µÎÌD——ô$B²£´¿ºšÌ¬,6oÞ̶mÛØ]QA¯Z†Àªïqõ€‡q»\ì*ßʾ=;X£{;*Ša]ý¯œ0álæ=·”µ_m᳿Á=wþ‰cfÜ@ÿÞùl^»’ÒÒR–¿þÓ~ù'ãFŒ=…¡ùÌ>•#Ͻ†¡Y2~¤¤ã*=ÓÙªlðŒV2È´µ¸Ê”e^zíECúöì­bÇŽlß¾ @nNž´4žyê1TWãñ¤ÅžëÄïoæø ¯aTö~.žs Ë>ü„õ›×±øÙyÌ:ÿg,ÿ²”¦Pˆ@DäʲgžâÕw¿0æÆ„épýñÄ?—“ÝkÇ .DmÔæÓ´KÏâ¹ÛÿÄ«ï~Á†Yüì<îºý÷†Ó‘e@–%TÉÓ>P¯fl[þÇÆTg­7§›È¢¸[Ô¼Ó®UmãäÌNvUÚ[´o“VÌÊHuÓ¡š$óJ{JéÚ˜§Z «ÎÅÊJ.±åsÎl"U_ ­%°ôs²¢Yä¹ úþ‡9âºß xÖ¬Y@щÃÐo‘»ÿh„W4l]Ë1Ÿ‚o÷bÜEg2fÌÜ1/È®9éÆsÄE3/Ô(ÎŸË  yê/7qÀ∣Ç𫟟M4äc츱šuz¸ñŒ¾<÷—›¨ltpò”k¹zÚŠm?:º÷ãEü~?Á ‚[Œµ´©FEBûcÿÞÅ1‚í@—!¨=D }HÏp°`ŒhH¿ñð%§ðÔ‚ùÌûû ‚Á ÝúN䦻çðá¢'ÈËï ÀÕwÜɲ—_fîõ¯ §ueÔI“\™ >~(³fOå¾®Bò¸é7f:3f÷Ei®cÀ ¡‰&8l‘MMÍíÒ”uë];‘˜É<33“£>š ¯—FŸ` €?ìcæ±÷ PÝnèV Õw+(¢¤¤„»v^ºwÞy'/aÑ¿ßå‹_CîÒ7Î74À<Àw=Ĝמ¦kßÁœÝ§0œŒN›x テ_Í>Õ²Çϼ‘2^h1®´ý8§mŸ:âMj‹‰à"ÃíàãËY»v-ÅÅÅø¶oßNvvÿ7÷fV¾‚åË—STTDvvþæf¾¸€Ë} ’$+1äâö§Rúé{¼öþ¶•W³˜ó·%œ0ä(Ö®[gh}÷¹ŸçoßeÌëf ! &àåç_â²ù¡kßÁ<þüs(á0GŒ›Éßå®<ýÒ<”í#§°„Y—ý%F’ä³p0âh—å53AyëÎ$©Ï¡%c3ïOµåˆaÝë’LÕ’i4Ö´`ÖPk»v%Šôû$A1šjM¤°úþ±jï$Ö©ºj)¢THÞµÃY÷×5Lè3”¼²2"Kßfð3 žž†Qñ#š1 ±¬ŒHŸ>¬Ûº–èôÞä1”Ú½ð1•¿Ï›À»ï¼‹Ëå2¾/QQ &5ˆéª¶®EV7ƒ|t‚&X¹+JaÏø€ó¨ƒi IÈR¢9-Í#qýܹì«Ú‡ËåÂåv‘•­yˆÖïÞÌ¢ù÷qÃ~ë›9·/3®»…×%:.4†L½dS/™czÃKhöû¹púTã~—h/Ø„°¬~'†à–¢¸\.Ö¬^MVv6{«öjýw{ çø¡^Û¬­¯#'+›@0ȆÙµs'ƒ ¢´´”[n¹•nùÝp»Ý¸Ýn ^y€gîÛÉå¿ü%§MžÌ=óžiñÍ1¡?þì‹XsöE(MÍ(!m\4\Œ?û"ÛqåjeàHò·ÏØâ–¢€ƒÝZbŒíÛ·ãrº8㌟¢†›5j$Á`U«VQT¤-ªªªðÕUárºÈÍÍeÅŠÌ›÷YYY¸b1ŸÝò»°ôåGPx-=ø Í~ÍÀðsgò¹3æÀ€§qÏÈI-ú ½FNæž1[à)v€WtH¶ØRÏé ÌÌ(íbάLÑ‘ m23¡¹O7Ëé‘îåhÖ"ÌÎÉjúµ¦˜÷Õ´k£¶ÚU «ÎÁÊØïŠí¹EWlÒ¶\åKŽ|ÂÑ* æ°ozoþýÊZ†D³¨/( ºššc³>ƒºÑ?AÝRƺ­kqŸ~ý'eP»7žAC÷”s¦e㈭2£1“SMM =ûhçB>jc“fÆt€à¢Ö$ÇëÂívá÷ÕûΨ@Ôi߇oCÁ…èôâr¸Zà;p}y”o6^¬,ùhöWH‚úqVß‘„ D}8Ý.\b”@ØAD5vuÕ{ðº3h&šçºå爈£ŠaÔˆ"ªA‚G¬Ïn)J³?h¬Öu-B’\ÆõºYÏŠO ""º¼8œ¾v‡Ø•@ØAšä ·k!s¯¿§ÛI(Âévâq¹q»]dee?sÈØ·¯Šž½z±ú‹57b8Óο„N&NžB¦ËÙ“c‡ž@ß>}DD"M~9bôY›<®þØy·Ño § e\¹e™@ØñÇN²9Të 2xè ”—ogýºõsÒÄÓHÏì‚;ÍK4ÜÄÉ'jÂiÕªUœvÚi4UÜÞt‘üü|_ 1a¼y¤gvÑ0±ô_ßÓŽ:c‹ëؼr‰Q7wl3 (øýŠñ[®äF¶ÁÆ.±C»¡îÎofJÎ(F‘U³–!B³Ò4-‘tØ¡›¸\ f±¸CD¼¬µþöÐR{RMI«ãÌYk³¥ÉN DO0æÌ.ºÖ¥›Íb ó¥Ål—ªs°j/y€n}ÏbË;—’Õw$ÇN‚==rY÷×5¸ÓàÿbuÂ>ÚêÊÍtqÔ“wíp fI·ûŽÖö»ÎŸ1£Íg6¢ÈN/^Ãcš„È""óŸ_ˆ$iǹ’›¤$\÷]I’%”°b˜5Ól0UÝ0Ô¥Ï}4î™BÈÿûw.1î¯Ü5>Å‚>ôw¹ˆAÀg˜j©S&·…‚,ËE™¸F4ÁaCûˆ‚$šð‘“`ã#2¶¥ù„B õuu¸Ó4³w0¤r†Ø·_!£¾žâ^EÔ××'Ü»¯jõuuAT¥‰ù9\6ë‚¶qI÷ ªÁxŸ-,­ŸOüíûZ@Ù GIR(ìQÈE—üœ€¯Ñå%'ÃàLÇë4˜0aÃŽ×d¥;IKKCdE¡¤¤¤ÍDÜúXA ZúIâX5îaÅÇ-éãFû-„ò­°IšY&ä°Oó¥šÌkæÌ ‰+r“k¿àLêý—è9©¶`ÉLhv¿Ûj+–sVÓŸÞ¦ù¼5ŒÀ*ôwÔ{ «ÎÁÊNØ›}BÔ O}GßAUÅSˆR!G[HÁÓ9Ô(cÙ_çÇïÓ‚ew&ƒ§Ž&÷¼(¢Tc„k)q9bþD5H³_›\rTEq´|Y–qK@Wu·…@#9Þ4-¨X :H¹†ÓdpD ‚ÆŒWH‚´,Ùé§ã Lvßâß¿œp´Šî}â×fäÀ‘îAV†g_H›¦Zw² ©¯D’†©Ú!ÓhkŒ±øˆn\8ó"vlßßS²dçq›â3õã±ãÆrêäSñ8DÃ\—tŒDUÜ.gÒ1ò}“#Úúsô$v¸ˆjQ$¯;¹0Ïö?ÏÈÌÔV]¬¿Dcã$j‹‰þ½­yóýŽmÑÓ!Ah—9Äœ)$Y™ž–1kN[&iÇäÚSñ ™³F{Rq}Ÿí¶¬´žÂª3°²[¹Úi Á…¨q£gæmÔøŒ`]EfÐ'£Ÿ½Šïê|¦­l»\Žìí†ÖÌsfy"Û™èr~/ ¨•Vb ­^„Š¢­¶õÏ@ØÓFdB’‚Sr ¦ -@Ò=G ©£ s»ÉŽ›BCë9XÛ:noÛ &òäÕÇDK<ÃôîÓ‡ßýîÿPÅHZV”V4o9f¦”0©´q —ÿ=é¡I·":Pð»ŒÛd˜ü02{±Kɘu¥oeRúþOkLQ×r€ÏF«¶bö´ HÆ,Íß­‰«­ù1­fDs›Ö¬(aUÖ@LYÌAìÖšz)¬:+· ¶Xå%s.kša^Ñ™PÛ[ Û¯>úuhÉ CáøUäPÄTŽ6eK… Äc89Úú:B ‹/&3¶bolVHO÷ ù(‘¦ ó±ßï'33“††<²,ÓØ¬à–µ _ý~£½††<Þ\ü¾233Q¢’qìhÀ›ÕÕxfzº—¦&n¼éé쯮6žc~¦Þ¶(Š-ž©·ç÷ûéš—G0ê†mý§ §S[DÒ²L±æýÉø"!Ö¦i?ó‡@2šÞS_lë ?‰´—CEÁê?¤ˆ‚‘6¤CAŒtXæ8±–ËC¨D‰ghvqeúþ”‹¼îÔa5“Ù™Ë4¯E·íÞX[ZÕU?. ŽZ*4ÅD'ŠNaÕXÔ”••QUÝ@~^¦! ’<Ì¿k Í~È«¦ëôzs­·Ý¹ôÍŽJü~?„AG‚i½[~>«V®d‰#…`}úù—äææÆ‘A‹é.Y–Y·©”!K:´c”ì¿ EÉ´@ùa•f¿Ÿò²2z÷éc8Ÿ˜©[·nTTTRSSLnnîêÝš†,:(--EQÂdgfµÏ4jÍjbf–ñœš‹¿¹"B‚™OK-×(ˆ&&›$1ÇdÈHLóeï ©'„Ö5Ì1pæ:|Æ»¯¥gNf.õc1ÐïÑ=!CÕ(¢JØûr¦°ê¬A ‰Ð­[7‚Á}ü1²|ø0üæf?#†$#3ƒÆ†FDQ4þÛˆàäè£bóæ-,~óÃE #Ë£Žš°8-ÎЛî¥äÈJ·–R^VvX•^…yôéU@ ¡I ©!^â©gÏ^455óþò•‡ÕR”0C•ñ¶úJ*Í9*“špÌÛÌ­ëÕ "¸Œ—ær;º¤ÎÍqnæöíÊYE´ïö©ÀtoÆd+æ6t£ßÁlòs´ˆÅKaÕ9XéÂÐápЯo?Š‹{ãkòò“WûQ%Þt/N§“&_“ÁðõÿAÀíöpüˆøš|D‚>Ûì‡& e—ñ¦{ o·]ß‚üîÔ5ÔX길½¹Ú‚©©Õ‚eÄáppìàÁ(á0Í Õ‡4&æ9¤k‚Á`0AvÈ4Úšs„Y[1ÿ¯rÐÒRÿPåvgK±Ó|:Bm1by›ƒÄãÌ8Ú¦™2…ÕÁÁÊ|^Ï$ogâ8ô(ÞG¿ßÃáHºçªkAÄ„Ãဉ  Š(Š-ö£UU5¤6V²\š|M óÆ:Vô9”•Ûý°šCÁP(ÁrЦ l-6Íü]ß÷Z¹Ö|¬§ÙÒÏëf1± ]0´ç=Eq·è“ùœù}SXuVæë‘‡™M\ÉÆÌa‡‹( Z0±~ޏ$‡ûJ0‡Š¢‘G -—Ó‰ì^D)JÑP"¦@HQо’d I’‘e Éë‘Ø´ieee444´«%9iJRHHвé,€•¢bÔ{¹4û9¢\åZà^ô>6®…G, XQDÇ‚ J ‡P$„B éí´]ž?NÎádçìì2kf­5óy¿^¼ÂÙ{ÏÌj³ö^ë7³&S,UêÄ ®ÚûE‰ò;ÿO¦ôµ¦þœ|ñg‹’ôŽ}–Ò®÷÷ÿßx]ß@!ÓA8ùâÏ/¸ô*IÒËÛ:)- ¤—·ìR>_¨kÛÆÆ94ÒýŽ:H’ô«ï}¹o)‹}ƒƒu[:¨EÀÄà`ë.mÝÞ®—þþ“º¶?ðäwjÿC4nÿ¡‘ïwÙK›´êÁëï?¼.³Ç%F…’ûfï¿KgÎÌiDKƒòy©;—Sw.§|WA]¹.å»;ÕÕÝ¥B.§Ž®‚:;;ÕÑÞ®eÛkeËQÊ7¥e u6nk׿m;µöáŸjæiïѬɣjÚ~ɪÍZzïT8éí’¤1û ‰t¿ýeNxÛÇŠç]q6nß;zpÅÜmzqÉ3j{|‘ºó yå R!ŸW>ŸS>ŸW!ŸW¡XP®;¯|!¯|>¯ÆMPqæ™Ú:ô`ZRgݦZzï4í5jÎAcëÚÇ‚gVëåG~¦™§½GãG‹t¿’´tå­¹ÿÖWnR.ö^¸h¿ÁE-l[¤]9 :TÊHÅÎNårEµ ¡þ+ õþ_±PÔ²eÏ©aë´ß)WÐ: ÁŠù-zäþ”i¢ã^û:e($evwˆc÷¦|¡¾BÇì?\/ïÞWïoõ¨öÛ_ßa€ÕNU(U´víZ½°ì567jåÊ•Z¿n½æÎ«“O>Yûí·ßÛ¼üòËêîîÒ¦¥m1ÆÀm…ü&=ú·‡”i®c_}jÏÜB»V>ùÖnÎkÒáótàØá=Ÿíج5+–ió¦Mêìì’š4hÈpÄ ßÒ´ïÒÅ.½üÂÓzùå jïèT&Ó¤–c4aÖ\Þ,IZúà=ÚÜßûK¦q”Ž{õ)ûLÿ@ö;ì4rÀ°Hmÿ|VÜt‰òÝ;túÇïÒѯ©n°îЊön9n¾>ˆ† q2¯ô†…B1ô¾z«—Ûï½÷üR’tÚYçï±m¹×K÷;à¡0À»¹|^ëÖ®Óoû[år9ås9eò5 ¤E‹iݺu:ú˜£5éÀIÚºe«V¬\¡ è¨#WÓýÜ'¸48xrÁ2=pÓ%ÊumÑëZÿ #›­g>§»ô]0«Iß»-Ð^>L£ò/è…õºøÌ#õš9ã5qÿ©»Kë6lѯ~ð°šz¬ÜTvp°üчtÚëŽÕ›~µ=DÊwkÅŠ5ºýjIqž¶,ú³®úÜE:uøÞûèîX¯Ó¯y@Ǽj^Ùôä‘ÛîÔuëŽÑ¬ˆ ¹Ž:êIRû¶g¤ASU,U©ç_ÿÏ@'^ýÝ1n°‚o×ÿ޵¦3H´BƒÁBC¦ïwõ@û½ï¿Òw?õnIÒ¥7ܡמyÞ>_h¿Hx¡;§A̓ôš×¼FO>ù¤Ú›¤æÉhǣϨ3×­µk×êü£€Z¯jÕ ¹4{öl=ºàê.„/ ˆRnÇ‹>~Ž$iÇúERóP-Yü’>ûÉ·èøaÛô¹/ýZ>F-Õ††±ºó3ǪkÙ³úüͿѓkwiÔøqzËNÖêL^-™LÙ>oÓÓkß{žþ}Î0=vÏ_ôæàEœq”~òÁcõɵèôkTvÞ™úŸÏüHÿ±;‚ihÖg®{—^?ºY«]¨ÁÌÜkÿýÓ¿mÝßuöžÞãý‡¾V3Æõè}w+“iÔŒÖæ›Ô]ÈhèÈÉ3¢¨ /¯WG{‡ÔÔ¢Q“ŽÒÔ)cz5ùmj{èeZ4÷”Ó•‘T,lWÛƒS¦a˜²§¼Vë·hÂÑÇôäqñ5š©öõèéÅë{‘©eÄŸq¤FmR~çSZÙÞ­ë÷ünc·6­ú£º9U3ǵ~ùmÚ°AÝjhnÑð±S4yÆ ÊdT,ìTÛƒ÷I™7J7mV±išŽ:þP3çdúÍôçCþ&ÎôûŽ©´ßï~êݺô†;úþ¿¿ÒÏgÊ|wõ»Ähï7;º 6b¸æÎ«¹sçJ ešµóèS´`Á=üðÃ6l˜æEÜtF_¿úÅ÷I’þðN}ltÁ›ŽÑÙsOÓ”‘ƒÕ¹s§{üY}å®…=w–ž[°HÜt‰Š…¼îxlÎ:b¼íX¬7Þ¸XGÇ €[ö¸¨hâ£bÙýÎ;ã]zÃ}‚ÒÁ¥7Ü¡ygœ³W:úïwÀÂ@ ïÎu)—Ë©¡¡[---»‡E5J³gÏV[[›víÚ¥Ûo¿]---3zŒV¯^­£?L…BKŒ8më–NqhÏ÷U#ŽÐßyˆ¶,~BÿßÅ6÷Õ7¨Q[Ÿ^¬/ºCíPÛ‹=ï =øU:xô 6¥çK ¡I×,Ô{~Û¢ßþõ:ìˆÃ5¼c>~Ó/•}¸~qÕ1:ûMgèÆþXF¨!û÷^:ô¬Ô§|A*æ:õÄãOjgáX z Š¹¿hëÖÁšðêžòܼtšFe5ªø¬fw†NÙ¬¾÷KݽašÆ±Ÿž~äïÒų5vöñêÞö# Ÿ~dÏñ·<£ül•Æz¬lj⻀“öÞÒ÷ÿ«7l«k-ƒz&a2™W~«×³ßÒÏ ´ß™–Èuu+_(h ;ΊŢ&Nœ¨ MÖ‡ÏVfKÏ%EûMŸ¬-ݻԱnã€ûr/ið~s4¼!£›žÔ¿üTúþeGëÛמ¡é^½8þXí?lr…¢¦ j$­é.è€ÆLMKyv­JãŽ=E·œ{ž¹ïoºê×K5ì ÃõÓœ ÃO=JÅ?<¬L¦gf|çòš÷östâð&íܸT¹§C>vÀãõOÇö¥:ãS÷íñþàIÇkTãbíwhÏ Êk¾ ¦ 1£çX×–¦ƒ41·IûMêDìÚð¼2ƒÆ+·e‰¦ÛséЪnWÓ¨i*ìèÔØy=ûÚ¸x§2Ã2ÚÔsYOû¶g¤Æ±Ú¼ü]ü–yzÕì4iÿ njèûèØ±Bj£ÜÎÍ:xzÏ—ÛKìPÓ¨mYÞ¡Ùs¼o?¹Sc¥†â.54Ø×]*f2»;//=ú¬ÇÌÐàæ&2gõ¿¨÷ÿ_|ü¯Um{ÐÜS÷ÚWïîÚoï¾K£Ò+÷$”î³t¿e{¿ÛëR!ŸWss“š››UúÙæ¦fûÖ·ªeÜ(ØÑ-e2*66hó’´«PpŸàÄaûFsXÏÞg^Òúvê=ß)êû—£¯}úl}öÿü^ ºRKSƒÙ•×)Ãuúð&=ØÞ¥QCšÕݾU;7®Vˇ«¥±|_·aÝF}íêžÀ5¿\¢¡‡«µÏ>-é5 +å·+“É(¿c©2cÔgO©B¡K7~õïvȉ{tþåÒ¿yù5í?W“¦ïù4Íöçº5nNÏ27<µS …¢ú´²ûp€0ЗPw¾ ûí§§ž~RÅ|¡gùºBQ…bAÅbïßR!—W>ST±S¡Ñ~Æi}Fe¿ØÀ¶îMí:ì=?Œ—?¼M-“QÃÆ§õž›¥\~Œ>û‰sõµoþF¿6R7ýârñL}ðÊ“ôâ­è™-yMš4Aï8ûD=ý—Gôü˜ÃÊ%m-H“$>u˜~±ä yΙ=?|Ÿú‡šöŸ©†b‡Ö®Ø¦›nx½2Ò?~õ;=Ør„ÔT]úïÛªÜÖ—ôb[ï,Nƒ&õuvçt̨žÉE/w«±½¨ìa=—÷<ûè =DK»tÜÁ=?¼Ÿ~j§ZƵhÇꢲCz¢&Ó'ÓÝÏ=¢#›§ wßo°psNíEÒïåb¡ ×í>Ö“+6kgf°Ž˜{°>û†žÉ3Ù¢ÁLÓ®­Ee[zöýrCF›ž¼_ÇÒÍKÛuÕì¡úÈ1ãô•¶5uÖlý÷…“Õ¾y•®þñ m(ôååñ Ýr`ß1Ü ôŸéoh¨qpѰ׾z÷Wi¿—Þp‡fûº¾ÿï?pØ×~ 4zxè¥!š0å M™2QùÚw*¿m‡:UTwG‡ Ê(×Ù­öL£º‹;5xäzmi¤r…&m{|³;œµ½#§·Žï™%¿g}—FÌhVËð£Õ¹¦Mï¹¹¨\~¬>ú¡·iì÷«Û?¢Ë~°UWœ>K_ÿô…¤‚6oÝ®å«×è¶Íš<¾|Ç?aÖ¡ºæèšóÒ¿}ø}°AÚ´q³~ó‡õÍ?oÓ¤CÓöÒÙï=W‡ nÐÖUOªõftøHíëZ¦þé?ùƒïÔýÞ+òº¸õGÚ™/hÞ°FIÒ;óêÊIçí¾gá®MÝ1¾QësE=¢ç3¿ÛšÓˆIM:á]¼ OžzÞzùùzÝ–mzìÉÔY7HîÌ«;_ÜãåQ&è“¿yNŸž?CÿõïÒæMÛôÏÇ—høîÓOVwhäœÁ6nŒn¼¥>zòdÝøù÷H’®ÿÔ÷uÏ-wkäy'êMo;K~o“¶oݪG|Tß¹ûy9^OÞ×——wæ5¬¹‘ïNëßGõôÎîïKïç{ï+Îd^™éh¿‡Fß~9þ••âʽ>Ð~÷Hû oûXñ¼+®Ó³+7íý¦ ܹFëþ±ò›Vhò¤4rÄíêìÔÁƒTÈå”ËÕÙÕ­ 6ê™%Ï©³3§­»Úµyãf½ý¦Çiœµªí^uä š8÷4 kzåG~nër­XºLE5hÔôã5zô0unzAÖ­Ug{» ʨ±yˆ ¥I3©xœüÎ5Z·êEuìÜÕ³úÑ á:z’ÆLœ¤ÞÀÃÖçÔË[:Ô0tª>t–ª¹Ñ¡7ý{wÞ šš=Uƒ2zqá_Ô](jêѧkPƒôâÂ{Õ](jòѧ«¥!#©¨åÝ«\±¨)GŸ®Á»¿lv½ô¤Ö­Y…¼Ô0hˆ†Ž¯//S±(tôéjnÈhÕ¿¨£PÔÄìiÖØ Žu‹µnÍ:åòE5 ¢¡#ÔÎuKUPÿãIÛW>® 6ö­Ç=~î©ÑØ­M+žÕ¶-›•ÏÔÐ4TCFMÔ˜ISÕ¼{»=óÂà€ÛFí7DÿòÛ:îÍ—©£«»®}äòE=ó§ÛtÒùWhó¶öH÷+I[¶ïÒšûoÝ÷MÊRƒvåuÀa¯RÇ3ÔСÔ+äÕÜÔ¬î\^™FŠÝÒ2Xƒ†Ö!-Úºm³Ú Ctð«æs“2§M)¹³WóÈišqÜ´=^k3]“ÇL¯ë8MÃ'jÒ¡÷ù™‘3OÑHCéïoÚ1§ïóo)£éÇž¾×vÃ&¡ƒ'•¼8uÏüO)Ù× s4mœ’DNÝkßûM«ýöz¹Qc¦ÍÕ˜ò.ë½tgÃÖÚXK]ûX·ikß¾JoR6½ß=¾·J3±÷'©iøx>æ-{ä·Ú°òuïÜÖ󜃂T,TPAj¬Æ–:âÍ«é€C4|ì®@*uuç5ï-Wê¡_|KÓ^s¡Æî?¬¦í7lÝ©—ù™æ½åJuuçû~WGµßå®ål:V«I£^w˜FQßÀ>µwv«P,ê¤ó¯Ðÿü¶–×±“οB]9uvåú~«GµßÌöætwçÕ2¨I¯¹àumŸËÔ=À,TûÝk€Àj€Y;vu…Ú¾Üoô¨ö+IMÙ±ºûWwR{@ÊeÇvôD¸é­Y»N’T,) %z£ «V¯Ö-·<¦Š@/ú4•¾À%F@z”Þ°L{ã#}êŠ L™<©ìq‰óX&]sÒ<­îÊ—}?ßõ’Žy¸–¶ç¼ÈãC?ûº.:çT>{šž=G§s¡¾~çƒÔ5@ ¿gjý½å/1Z¹jõ€ÿùZ)q¹ìß'©õ·+Ë—ëÝWãñ×kæ&çúOZߨ˾ù¸ÞrÕWõÐÂçôlÛ?ôõ«ß¦'n¾Lo¼úªû#.Eª5 .¤yÊ97èéW}UÅó¿2àû_ÿü½ëgßR±XÔŠ•«œ½äký߯Õu¯ûþŽÆ7÷Ž3›uÄ«ÎÓ·wŠ.?ù]ûÐëô…“]G.—€©ß¢®ü¶ì&å©S&káÏoÒ;Ï~­æÌ𦙇¦³ßu¥îYºMËÿü}½ïüÓuø!kÆ!GèüK®Õ3»r{l[nŸåtlzA7êb~ð4Í9êýë'¾®¹ÂÛM2¹ï¿þ¸ís:k^V4MGÏ;S_øþ{wÁ_Ñ;Ï~›9MMVÿˆ¬e¦®™rŸn^µ}¯÷v¬¾E¿Í½F™¾ß€ù]ò»oéíóOÒÌéÓ4÷Ä3ô_w<öÊ{·«£Ï¾}Ϻ×ê”Ãæi]waׯ9ö}wÍŽPõû«OýZgÞtC¿ÁA¿FÕãß´ëØ+õç–ꟺC'æîÒ[¯þ«¤žèÞ{ÿëµòîê_¿ºHùæ]zöù%úõ7ÿ]‹¾ü>]õ»=/zÏWé’ë¿§…ϼ W,•Ö3¾ð&Ývíý{½þà§oÕQÿ„2l³á‘/é¬_g]}³=·TúÑg´øËïÒçÿ¶V’tÐ[®Ò–Å7hm¿ÁÀ‹¿ú˜ÖZ§«~³¢ïµîÿÐÏvÍÖ%‡‡ÊÃVíÐåÙ1eß3÷ íXõÃ=^»äë‹õ±oߥg—.Ñ]ßþ˜Ún|‡®û뚊uÔ_µõõÞo.Ö¥7|_/Y®Eß­sÆýS]øƒ¾÷?vîþ¦«õçGk鳋ôýÿ~¿6üîôFÀºJ¿û²¯ßYµÊ\vÅû‹7ëZ³v]ÏÈîîŠ4uJÙ÷^\±²ï3ÿ»ð9½y̾÷ò+tð¬Sô…ÏéM%¯Ï:ì|-{þѾm{÷SzÜþûè3½ Ýk5û¨÷iéâßïóó×w¨†ÿà!}ò°Ñ}¯mzê zÕ{wéé7ômû…‡ë⇛©õb—Î;ê$}uÁ?5mpÏU^ù®U:ሳôÓE 5£¥i¯4qÞaê¸ñ/úÌ«'ôífÇÊ;tü¹kñc_—$}úøCµõï××O<@RA—gçèõw~AŸ~û_ôôÂo)#éÅ_¿Sÿჺÿ›¯ •…MÕS/¬PK¹!f¡CÓ¦ÏÑò_èËËX¤OÎÕ÷‘ÍÏü·Nyo§žþÇuU×{µõuóÂ%zØ–¾Ïä:—köœsµlÙã’¤£>Hw<ñ¼ŽÖD/"·¯ßÏ¥¿£«ùÝWú»¸Òï¬}inn–$­Z½Z·Ür«êþu´¯ç½ÞØo Iƒ§J’Îàõ|÷úº ¼{Çb}ù3_ÔÝ÷/Ðê [•+ô\•ÉTüjS»œ=j×FòAµoš'醾×Þ5q¸¹’¤ëÞ:ZŸøù‹úïž!IZñ›V5}ßà ÔíkwjË…ÇëÖÒ]e%õ4”‹.Ÿ¥ ÿë>éWhóâõðè+uó¬ ´zÔçô?ÏmÑÕ³G*øÚS:ó»G†ÎÂäÁz¡#§9CNo®c™ïy"\>kÿ=ËyæjùI×U}Üjë«ÿà@’šOS>·©ïï/½ë½eÞëuö9óuÜQGê¸W¦C'£÷‘Ù×ïçþˆj~÷•2ñ;«W¤—5ÄtЯœ÷v-÷:Ýü³?êÉ%Ëô⊕zqù‹…{Ý󦦌Ù4ÏùðÇôø—¾Ôw”¯_ÿ¨.ü©e?Ÿ—ôز{òÖï¿å/.ïûÌ´·ý»6=qƒ6æ úåÕ?ÕY_¼P’ôî/ž¥Ÿ\}—òÝktÓKûéßwßãÆ…“†ëæE˾¿qÑw4|ÒE•FJK´¶›tμþ—º÷GŸÓ1“†èñ¿Þ©9ýh]þ•‡è¹€uÕüþßY‘®bTî3•^ÝÔ¨eíÝšÞo6½cã={mÛûÿ·.ݪG~ÿnhÌô½¾ùÙoîñ™¦LF¹bQ%Ç]mÇŒU±XÔØ£?§iÏgõëÔ¹ŸÒLøüœsý›ôÕ}Z/?ô-mÚsÈWÈmÔuþ½ÞøÕkö8Îw–lÑ'íWÎK¿¥!ãÞV±Žú—CØúêÿúG¼JÑs©U×ÖšsÌ¥*~t!½ˆDµ«Uó»¯t•~gÕ¢ÁÅÂûðQ£uåç~¤Õ[:TÈuhÙÂ?éªw´–ýü¹†éªïÜ£;»•ïÚ¡Çï½Cï}û7öøÌ1Ûuûã/©4¦på¾A·]t¥þ¸h¥r…œV.ú£>pÑm:ësï<Ÿïùôãkÿ¤>ý=uõÕûüìeÿ{¥¾Éè޶絫» \û6=ù÷ßéÚ¿ÇçÞûo3uϟЬË?¯A½džÁúüå3tõûò‰Œ¤}üÉ7èÚ×®Ôoz¿îzà moÏ)×¾CO=ô}èͧkÅ«¯Õõ'ßc›Û.ü€þôÄ*å 9­zâOúÀ»ÿ¯Îÿ¯Ë*ÖQõ5ÿ}×è·>¡­í9å»v¨í¯Р‘'ÒsëªýÝWËï¬ZÔA˜vÐÔ_aù‹÷Uéõ øC-ûèµzÓÉŸ×Ö®8s®ÞvÅ÷¤«Þ2à,ñg~~³®ýøõzí—?¨]…&M<øpÿÉÛµèš ú>ó_ÿù]rÉëõŸv¨P,ö¥sòÙ_ÖwÖ^7\yŽ®X½EûOš­·|èV]û†I‘F$iâé׫û#gêS™ýì›SüøíÊ´hÖQ§èÂË¿¶ýÉÐ IDATÇvÓ.ø Š7~T7üˬ=^Ÿù/ÿ­–¯½[Ÿ8|”±¼¼ë‹¿ÕÔ;oÒ·¿øa]ûÜ u¨ESfguîûnÒMoõ^ÇùîÑõW¾Y—¯Þ¢ý&ÎÖÛ?v»®9ubÅ:ê_aë«÷õ›.>\_þêUj]¸DùA#5çøÓõí_ÿÏ[‘©6‚Píï¾þÿ_éwV-öZŨ³³“ÚƒqÓ§´Ç~¸ñ;kðàÁ’B¬b4}ÚA?ÃÁpåçzV›Ú@m¿\øÝTó%FË^X^q§\¦®ü\/ÃjóPšÚà÷_4¿MþÎj Êàâ v~g1@ЧîUŒ$}öŠ ,cÅ 5Ÿs辯?ýTJ H‰—Ö¬Ýão.1À 0@À 0@À 0@À 0@À 0@À 0@À 0@ `€€ `€€ `€€ `€€ `€€ `€€ `€€À 0@À@š(‚ Úvÿ›i»rû)• ¹}¥ý´U¹ÿ,M€Bš1ogz?¶Ó‰ÒºûßZ#óK¶ûøa#­†÷‰Düù¤^â&åjµîþ¯MÕ]Ÿ?_¯DL¨u¶/A¨U`øsŠhDÀ!ÕÞ`ê„z÷WšÎRÙˆ©„|ßôñ¢N@µ«ùØŽ ¨Âçm­Ê‰âË=¦÷G€ú±=ãn{D  Ÿ¤­"D êPï„ç—ü[N¶Êã—î·Öíj=n¹üA`€j¾®ÄsÀ!­1oçÚñ£ÚœÔ@`€€ `€€ `€€ `€€ pUEP¥¶ÝÿfëÜ®T6æt«Ît´ÞÎÔö•öcjû¬¡öÐs½Û>¾+õ§çŸéó·ÍòñMÕ£ëíÞÔù¶ÿ Û¿ÈP; bÞÎvºmçÛõ탔µƒ´ÕTå–¶v8šî âô1¥ XR:“ÓZãv¦f ëMwT3•ÞŸñö•˜Ú¾µÎ÷öÛí·ÜöÕ–gµåÒj©þÛ"~?êÏÛî?ª=~kÈôÖÛþž¿¦ú¿ÒvXíù8?âú!ÙšA²•nSé·=ƒæJ`7ë?îö8V>r<ÿ¶ûߨÞ÷¥ßz™Ë®xñæo}CkÖ®“$8q¥2S3€õΈEÞ¸·z†ÔÔöªPI¿Át{­õÚoWÛ_Ôùpµÿ{ü°÷`d=©ÿÒ÷+ýíZ u^Z³V’´jõjÝrË­DªfjÆ,p4½qoŸ–BÜõnúø¶®ÁOJÁt¹Ûî?â>/“A"j_"Õ ;c\ë ’ét—ŠkW!o{{Sõ—¶UŒL?®Ô½ù1Aˆ»ÿˆêø¶û½jÛ+„zÛ/ÔˆB½ÂÎ|!÷WºM¥/iÛ†Ûƒëí×µóǵöw!îþ#ªã'%‚J@ÂA¨–ékg]ŸÑ5} xÜ3îQmÕ5Ñ®n÷5ç¾´¿¸"¦úWú¯´Þƒwÿ 5"‚P/ßV!±>Û3îQmŸ¶ˆLRŽkëüue4Wú¯´ÞƒàÛ÷€Ô#‚P-ßÖ1:}õ¾ïÊ*6q×_Ú"®G€²Ž×Úuû#‚{ ‚P/"fÞwe›¸ë/mß#@I›Á‰Ù•ú³]œ?é<~ày» rrç/ÀÁ1­fâ^G½V¦ößZçþZ«L_¹ÏÍ™~ßë/ìql§¾¡ã·F”^×שjžlLõ¶|LŸÿ®‰Ø—þËV{ [ÿ®œÿådcjÿqŸ·®”?Pžƒ׌H`h?q¥7®ýù¾þ¼/õçzúÇÛ_Üí3ªú#‚m9¸Úÿй™"ðS3•>Wéï¨Ó[*î™SOULé°]¦gà|K¿íöõ~”’ú‹j4×W2ÕÿÕ[ÿ®|ÿÔ[Q¥?-ç/P"qÍŒ5þm;½QïÇ•kF}©?Óåí[úm·¿¸ÛeRë/ð¼ý¸A¨µþ]ùþ©·<¢JZÎ_À"¦fʽ¯2Ÿs}G†ÒëêLOÜõgúó¾§_žµ#Û´zë/ª{â:ÿÒ~B½õoûüwõû3®í\ÿþ@ÁÖ ˆ­™ SÇ÷mýo×ê/p,}£íÅÕväZ-Hùù—ôöãûùïê÷gàÙù XD¡Þ×ס›¿¸?÷öqן­BÖÓúwåø®­bSëþˆ øÑѹ•~WÎ_ FD\™áHzÁõ')Ap»þ]9¾¯3ÈaÓOÁîöô_~A@A¨v& T6¦íM§;®ô·U¹ÿlDÛ»R¦f®|K¿é™w×ΟZÛ_ÖÓüg#*¿lLåU{ÌzvþÒ¹u9€ƒˆ D=sàÊLï« ©¿´nïÛªAImim·®Ô'ýÛž"‚¤Xi¡"ЋKŒj÷5¨q¥Ótúm_ƒìÊ*õ>A3ªUls¹Øº‡…~(ÚýûºŠ›­uðö_Séfõ "âÊã:®¯÷ ޶S«Ïž”Càyý%¥2½_Wqse|[éæ¼P%îA¨V­ë‰ÛžAóý9¶WŸˆªÂFÚÒþ’R¿®´+×êϵBØçAÈPzÛb>>Ub£zù¶²ïÏ ‚._®·?Vq;ÿI‹ ¸ɲ½ U"‚PIT3Àªr?¦Òmz{"ñ¶ÛO2Ž»ýØÎ—éökzÛV9øÁ2u¹Òq€ˆA¨•­`Óé6½=„xÛOàYþ£ªßÀ“ôç7ð¬ýú–~×ú#îA3"嘾<¨Ÿ„ª ûz£¨Ÿ`ëJûSùp-‚"Ïòc*‚ :ûÛHSåok;lÿUûkóü|XDªeúð¸grx‚e2ÛŸoù÷õ‰Ê®FÐ|_ýÇvÈ×'ƒ3ó fDÊ1=ƒnj&«Öôs‚ßí/í÷ ¸º^¾ïçG\íÐV=ºòSû#‚ bDªeû~ßÓÏ=fÓŸÖ{OÓŸ”U€\¹†ßöñ|_ÍjD¡VIY‡^§ŸB4õ—¶ç ¸A¨öß#¦ïêªbQm—ÔòXDÂJÊ:ôQ§ŸB4éOÛs‚”–Òžcáû=1å ]ˆ Ô*ì“0UãöaÓYIÔ3œª3ÿQ¯¢W=DÕÎÚB–£íkÁ}»—¢4ÝqE*•_TåCÁlûµµ=T‰BX¾Ìü¸AãÛ»ÞÎOÊÁ÷z ,Ÿ¶" DèǤ ÅJ#  €^\bTŽ©kØm߃¨¢^E'ª{|»Ù÷öëÚê+q¯ãŸööãÊùçëêIQÕ÷0`€P'_ŸëJú]]¥Å·k}o¿ABÎë eåÇùçGyúrÞ`€ówÿkë9¦Òßr?­u¦·Òñ«}ßÕ'—º¾Ž}kÈãšJkLù5]ÿ¥Û©Æó)©í§ôø­•cRÚ_½í'êï/ž«€BÒþ$å°ûs-‚àZú]ŸNÚ*6®E|m?qÕRÚŸ¯Oz¬bTŽ©uüë}«©ôÛžW…rˆz†ËµuâãªSõg:ýmŽçÛ•óɵöcª…`ùÖþ\m÷D”à9ÕŠ*‚x’þ°ûse†Ôµuâ}™É b>/\?‚”·Sí(HYûsµÝAP„zÕ:CSïLZTé‹zaóoj[å`»þ]MØ'×Ú\‹ øÚ~LG \o®÷Ç yþ9P‚‚)µÎÐÔ;“Uú¢Þ_Øüž—ƒíúw5ýq?Ú×ý¸Ö~âŽ@Ùn®÷Ç®æ@bA¨W­3àõΤE•¾¨÷öb_g~£ª[×À›n¿i½Á×öcúùªñüw¥ýÅ]ÿЏ¾¹@ "¦¸¾ ‰«÷ ¤eÙõUXlµß´Þƒàkûqõùi{žEàHùH "帾޹«[åãÚŒcÔ3À®µ__ŸƒÖöcûÿ¨„jù¾ ë«$Å•WŸãàú*>ABÏŸ¸¶c#€Çˆ ”ãû:öD¢IOØU|lµòoûá9A¨·òçÊê5§í‡üÇÛ~ˆ ê÷Ã~>ì=¦ëÏt~«Ý_i{m‹¸Ý©öI²cé¬w{×#Qå?®{‚ˆÚ!‘PÏA¨VØkÈ+ýUzËɆÌoµï×{ü°åoº¾ÃÖ_Ü÷ ”{ŸUŒ@ ž¤\¯°3ÀqÏäºAˆ;?²\#åOTÀ¡’zg\ç—ü›-ó~Ô÷ dCnöS[÷ ˜ª¿¸ïA(M¿éö ¤VTל§-‚ÄœÛùúó¶ÛH,îA¨¤Þ™oÛÏA»×®÷í9QÞ—rÎã„ZA0û¾í'Ûª¿À‘öCdTÀ¡’zï(}p©¬£é6•þrǯõÉÈmeöuù™®¿Zë#ªöõ½/€Bâ–··}\Û”Àóúº}iÀ܃¤Xé=  €^\bTIØkÀm݃`êIÊŠh?YÇÓïÊj?¶ÚŸ©'a‡=~6¢öu9˜jQmÕêf®ô¦ÏŸlÊÎWê/i¿|ûþ1}ÞÓŽ $JZïAðýÚ{_ëÍ•|¤½þi¿fö¤ôüIJú¹g‰r÷ñ¼«#æ¨ßk~Èã‡]-(lþ+­vuúM­öS:“÷sZëloó-·ÿ°åuûU•守Ê?êú‹úó¶Ÿõùãû÷íúó+ß?aÏç¶ ýZTù¯g\Ò­íôE½Š‘íôG½Ÿ¤?ÉÙõú³½zTÚŸ.Ïóïû÷OjOVÿcúûW´4`£zGØaŸ$¬ˆGضgˆLí¿ÞBÔé¯u?µÖ·éº¸g€m—¿+õUùÛ>ÿò¼µÕÿ…=¾k÷&Eõýc»þ’þûÁV;k‹©ÝGu"Å“”M€ã~’°+éëøaË1í×°‡Ý_Ú#D¢i¿¶û¿´Ü›DTïÌ ûÙÿÄý}D;I"õŽ„ky«ôw\é®5ýQm_o9V;£ÑÑqãnw¶g°m•_Ô«ŽЋ­ò7•ÿ°ùµÕÿ™>¾/ýBØüÛ®¿¤þn°õýã{D± ‚`kÄÚ¯/3QÏÀûApåøAÊÚOàX=)Ë¿ký_Q¾\íÂæßvý¥õwƒ+ý¿ëéA,ˆ Ô;­u»ÖpÓéOÚ5Ð܃m~\o?q—Ÿéòô%ÿagÚMõa#0YÃùÊ:ÞžÃæßvýù¾½ïç¯kßGˆS#\ßV1JÚ5Ð܃íþ\o?rìü²ýyßÚ¯¯«(ùò\ ×¾¿Ò‘L{Ôvÿ #ˆ Ô;Âu}ézgÞM¥žûQû3?SŸ7Õ~|©?9Vþ¶òß–öë[}Dµ]Üç'¿òëÚù‡XA05Âõõ9Q¯^b:ÿDÌì7p¬ýø~IZ"Q¥?Høñãê|ùþ"‚Àùgÿ #ˆ T;.÷*(¦GüaW’¡ýG½ QØô+d:|m¦#@¾ÕŸéu¼M¯b$Cõ#Kùˆ{&Ööñ³†Òmê<Ê&¼ü|¯¿´ÿÀ "¾äãÁ ?¾«õæJ>\]Gß×úÒ~™9vãü£ü’]iÿþˆ )VAh Hôâ£J¸aß²Ž "Á=~ Œòý9ówÿÛòý¬¥ã·Æ\^`€°OI}B\ésmm0@ÅÔ |¹™pUØÞTúËEÂæ¯’Ö’üfËümª>À!RQÍÀž§?l:l¯ u)¯ô¹RóËì§t&=êB¹™ûj#ó˼Ÿ­³£º§ bajÆÛÔLz\Ç)Ç¸Ê ªRnƺR ì=a•î¿\D$ªUŒJˉ{ $𝫆òWo:¸€B¢T;^i>î‚Jþ®6Òj¸œê½''™šç9Ñ”; DªôšýzWïQû©—©ç8̯pœlDÇûy0@ˆ„¯«ïA„´ZÞ>ªã¶ZÎw«'å2 €^DªUïúýaïA°uC¥ãW›Ž6ÃÛU»Ÿ°ÛGUþm1×_ØãÛjaÛ]Øý¸ÒþL÷C¾õ_®öY϶·Ýߨª? "gkýþÀÓ|'¥Ü\{¢tÜÇI]Å)ð¤ý°ŽBµlÍ@¹ºŽ´í¼¨·ªœ}™I¶ý"v·OÚsÈ¿_í@ìˆ Ô‹B´åa:I{’²k«@Að«=A ÿ>µÖA¨$ì*>¶·7ï¸Òoúú¸·¯”/[3émžµ¿¬¥ökûWê/)Û›nGiË¿­ò"µ <ßÞöqÊ=Ô~“v/EZë?ð´þØží}üþ ÅJ#  €^\bT­°«Ï”òý„jÓaûI¶¶¯µu†+ǪýeÞ~m¯ãúñã:ÿL=!îó'l¹&¥ýµ9ZÎQ·Ÿ¤¶_0@p’¯×ÒÛ>nàéñ•òüûZnI)?Û«À¸~|Ûõçë*=AÊÚŸ«ßŸQ—oRÛ/bÅ=ÕÎÔ:böý9Q¯~áÛ:âqç?êÏǵº‰«çO\åWîsii¿®<£Í³ög»?O{ÿIÿåv{F$XÅÈôHÜÖÞõ¼¤>‰4®üGýù¸fè}Áz3-í7©OB÷mÖ·ç¸òˆ´÷_®¶gÄ‚‚©y\#üzg4âί®kF5ªª°ëðA·}\3yDön_"¦ÏßÚŸíþËvû1UDRBT#ò¸Fø'ù þ¾b®?Wf]™¹Kz¡Üç\9ÿ‰ Ä›~WúqßÚ_Zû/ÓõG!•ˆ Ä=‚65s×5 åØ^Ä—UxLÕŸíBÜ3HQ×Ü« e=+Yêw¢ÊoØò®µ\o¶ëÃVû³Õ~ãn?¦óM!ˆ D5£az?A»–_×g€ãn/aëÏv!ðì|s}$_ŸhíKÓtyŸ_¶¿oÒÒþGÒ8Þþ]û>…D\‡½†ÑõüÖú¾­UH*ÉÆT¶"¦ÚB¦?î÷¤Ýƒ`k1i«µÕxþs‚Ýöõ÷°ëí‡{P"¾ŒÀYÅÈnùù¾Š„+눛ºæ5ð¬ýVú\Ü÷ ¸Rq¥7ªóÇõõ÷£®wߟdû„Àr~¹5 ‚õ:ªíÒú„´= 4ªÏûA°•î¤<B¼çÏAp£ý¹Ú~yD!î [« ØÊ¯©ôG=ÃsÜh¶êßvùŽ·×û?9~þð7ÚŸ¯ßß< ‚Pë Bµ3 ¦W¡¨u;SùÎZ.?_Ÿ¤lºþLÍ€Õz|WV/©÷ýzÏ?WVá²²Õl÷Ÿ¶ÛŸí~=)íþËL¹AH"®Ï<¸2r/?_føÏÛ¡«íÏõ8×#®·ƒ¤÷?®Ÿ%¥ýÑ™Ù?„T"‚¤Xi¡"ЋKŒªvýär\¿A!_ï~L?‡@†ÊÑÖjV¦Ë?®í£jq?¶¯½µUþ¨‚­kö¸Á­r RVim¶óïÊñ 0€Ò¼Ö*·k­°?××ñŸòøaÓ7?äö­†Óc*Ðjèx®¿uûSLçOkLùu­ü °¶Öãö}ÿÀÓr7½½¯«8¥ý9qç×µò¤«U+îèJO`UÈô„M¯í'AƵ?[ëx‡­ÛÛ›ª¯r²–Ο¸ŸŸa«ü©Âsê÷ tQ:L¥7-[×ÂGõ$á !íÏVúmçŸÈ Dª÷Lréç*ýU~ˉzSÇ[®Dj­ÛÛÛ>£J¿­‚kåH"õŠ{&9¨ñoßó«ˆóç{¡Öú·½½íó1ªôÛŠ ¸Vþ€D#‚P­¸¯‰¯t­q\Wïqˆ+?¶#õÖ¿íí“zþĵíó*>ÄÑUIDATDê÷Œ¶ï«Èȱü%å_ÞOêùxRÿ„@¡Z¦gL]_‡ž‚Ýí“ößÏßê€A¨—o3ÀqçW1—OÜù RÖ~lG’!‚ð„Jê]…Ç•íÃæ;k¸ÜªM[•ljûø6Ïêß•í³žŸYÇÎ#"ƒˆ Ô*ð|{òmvAÊÊ‘íÓyþRb¥„Š@/.1ª–¯×°‡Mg%ÙˆÒoûIÎQ—cÖóò»çøz »oùuåøJyþ¹ö(£t&µ5¦ýØ^}~Èý‡Mÿ|Cùo©¼Lç¿5d}›>¾,•#`€à_Ÿ¤k;ßI’¯O¿kOÞ`£jÕ;sZº]µû)÷¹ÒH„«ORNÊ“|+ÉÆT¶ŸÄKä€Äâ9õ25ã„<^àx~«ÝÞ÷'ùÆ]¶#DH "Õ25ãZo¡ÞHDØü–“ Y^Õ¾_ïñÃÖŸéö¶þlGl•#ˆ„z™šq­7‚„LOÔù­uû¸ï±°}BQ{Š»|‰$xDªeëörŸ‹+‚àÊ=Q§Çõús%‚Wû±!‚P/W®a7µ×ÓÄœ×ëϵU°ˆ$XDª÷“”m?ÁÕUŒ|¹vÞ•U˜\YE 8‹B½â~³éâ9ñ¾¼Å¡’ÒkÉÃ>a¸wûJORn-s|…<¾étF•þrǯõÉȦë/®ü‡­°Ç·ÝþgÙ^M'ð<ßQÍøŽ—Ÿ/åèzù€Øqb¥÷ 4P$zq‰Qµâ^G¿Ò~²1å×tºãÊ¿í'AGÝÞ\_ÅÊTýEõ$î¸Î£zË5)í¯ÍñrŽºýÚê?“~þf-·‡lÄåõ÷xÜßßܳÆ!ÑlÝ;àë=I¿öÞö*R®¯buýùºÊR²öÇ=Tô¿.´o[åáë=p¾ÿ~܃Pë<ªuëkÝÞõDWò_ïó’6ƒwû »¿¤=§Áµ'aÇ}ü°Ï/ñ­ÿu½ÿô=ÿõör´=%½ÿ$’àžƒàËÜ÷DWò8š?ÛùWÌù |kQ·9Úÿ$=‚à[ùÅÕ^]­z˯Þß/qåFApe_ïö#ùMz¡Üç|)ÿ°é%‚`'ßIk¶úQ"no÷û¾_‹xr~ËÒ~ "®à³UþU~ëApm¤lÈúte5Wf£Þ_Øöïzû³]¶ÚŸ/í×Ô*B¶ûÏlJ˯Ò~âî÷m­‚èZDÁiD|ÁÇ=“˜ôU8|}¢uÐönºýû¾ LRÛŸ/í—í“Ýÿ»ž×gðÇÏAÁÖÈ·ÖÐlÄé©”¾¸gÜ“v‚­½¤­bTm~¸Áögªȳþ‡{ÌæßÖy””{\Y•ˆ‚Óˆ ØyW»?×V1qåŒZ÷ïÊ=¶f²’v‚ëëïG]ï¾®Ëw?Â=no×=a÷—ÖU|ù^A¤ˆ D5òu}†©ÞôÇ5ó’´ç ApëüIzÿáJûóµýAp3ÿq?ÿ )çO6æúw½?Æ€ˆ Ä5bv}†©ÞôÇ5ó’´ç ApëüIzÿáJûóµýApó}[Dλý¬ ‚PíÈ·ÞÛÛ‡ÍwØ J²–ŽŸ8ÿµ~N1í'l»¯·ã.ÿ¨VQLõ˜”ög{õ%ßûŸ°é÷ýüumÛÔjDYÇÛ¿éß/D¼@!-3QçÛõç ¸Áp½¸¾Ú…oÓí&HH=úÚo'ý×ÏßÀ“òðµýûþûFAR¬4‚Ð@‘èÅ%FÕ2ýdIîA0³ß®A`€¾­Bu~“~ ¨t&ºµÎím¯C\«ùò[íûYKÇo¹¼ ¤„«‘ƒÀr¾}YE(®ò`€½3Ñm%WvÆºÜ y؈F­Ç/ ;Ã_k¹gC–ëüˆË €BʸòäÒÀ‘üÆá í—£j./•­ñxåfÒ£Ž ”›¹¯6‚PoþU!ÿQ×ì“íB`xÿQ?°\þй¼ ¤L½„zW! {€éü–Îä«ÂñîbT®œ¸€‚LG\_ç?ì=܃À!Ñê Dõ¸#*ù»-dþ*))¨÷ž" Œ"‚oúx'•^s_íµõå®ÙWLÛ‡e*2¿Âq²?ìç `@çÛGu\" R©Õóí£:n«å|·zRŽži ô"‚P­ZWÍi«òsÙ:÷“µœß¶ˆÓöø¦Ê€dëšw_ïA›~×Wy`€RÕ>9X5~®ÒsLÍà×+ì*BaÓ_îIÒq?É€öXÚoÒŸƒPïûåz`€rÕ>9¸ZÕÎü—›¡¯7¢Q+SÏA0õ$é¶2Gõ$gا¸ï)"NGØtÆý~`xÿ`€JØéZï(=^­3è¦ò[éIÈqE*ý]kú¹7€B(q?9ì ºëù%‚ÀÁkõFê]m¨Ü*>aÓSëñ+­BW¡µÎí‰0@ˆDàØvi]ÅÈ•òH¨Š JóUùzü(¶kÕÀ³äõî×Tº}"‚P-"Éz êRúÜZ¯m¯÷^Ö2ÇWǯWØ{¦ßÔ= •¢Ü£À¡&çÛGuܨŸhL€‚“Z=ß>ªã¶FœþÖ˜Ò€=p“2€>DªUïó ÂÞC`{û°å%Kéo«rÿYÇU=d?|/?Ûé{|WÊÀÁiq¯bäÊö¶¤üøò´þæ#Hùyo»Þ¹‡ `JgÒZkÜ.ëéûaµV8NÔéo ™_ÓÇ«Ü]©ÿ°çí'a‡-?Ûéo­2<‰À¡®®ÂãË*?#éb®?WËݵtØNŸïç—ïíà¤ÌeW¼¿x󷾡5k×I’œ8Rˆ©èÒÕ¬£ÛG]nqG@⎠„ý|ÔíÕµô¨B;UÌíÖTùº–þjëÁõòõÒšµ’¤U«Wë–[n%‚P5S3Ð'ÛG]ni‹ ޵×ÀÓóÇ—þ ð4ݾ”? RDªvƸÒß®mu¹…UÈú¨ö󦎯˜Ë½Ú|¸Ap­M·ò¸ƒB½Â΀5îÏööQ—[Ü3°®Ì`»>sïK:Òº:WÚË "Õ ;v=îí£.·´Ýƒwú];>é·“þ¨Îs"(Dê÷5ì¬bo}Ä]~¶#qŸôÛIR"a€XA¨VÜ3о?¡Òq’Apu$[3Ѿ®"ÕviK?ÀiDêEÁl¹%=‚àê*H¾<Ü•ò³õ”¤¥à"•”[&›’íM—[µÇOÊ=¦ê/k¨lEl·ÿ¬áö+ÏêßVý¼@¡VAÊ·w5ݾ܃Ðþ¼Ü>ðäª}ÔÇ7]nDì¼wý‡­‡z·w-ÿô´ŸÚíí£.¯¶„çŸöƒ:Aˆk$Ú+Ç7]nD켟–k‚]Ë?ýíǧöx^~¶ûOÚO²Ê/¥ˆ Ä5¯ô·ëÇ7]nÕÎàTuù…=~›¥í]©:ž¯íŸþƒöãcû±½½ér«·ßõ=ÿ´Ô€‚­x`xqßt¹Å}aÔåÕ~LÍÛª[åà{þé?h?6Óo{{Ûí&)ù§ý "QÀËÍXÄ5hêø¦Ë-é÷ ˜NO½é³Õþl—“+ù§ÿ ýøØ~loo»ÿö=ÿ´Ô‚­xÔû‹úø¦Ë-Hyùù¶ ‹oëh»’úÚíǵUhÈ?íÇÆï—”#‚õ<©3àaË-­Û«°ÄU~qç×ÕüÓÐ~|l?®­cOþi?6~¿¤ _Fà®ßt¹¥5‚`{–¸Ê/îüºšúÚ퇂ßù§ü`„jGÒ¥²)ÙÞt¹U{ü¤Ì †]·ÙôöЏÜ\ÝÞvþÓÚÐ~h?”ù÷í÷KJAˆzä´í]M·/3¨ííÙžíÙžíÙÞ›ß/DHµÒBE —UËÔzÚªq?i½!lú£~²ëǺ>ÓÞ~“^I˽ý8õ—îþ‡þ“þ“*òmSÛÛ>nÀñiÿ)l¿¶ó“´üÛ.êÏï~˜þ“þƒ*Ž`[kÜ.­ë·V8NÔéo ™ß°ÇŸ²|]Ž…ëí?¬´×_kÈý¹¶Žy­ý8õ—îþ‡þ“þ ¬üÓ²ŽpZŸƒàÚ*Nikÿ¶ò”ú »?×Ö1¨?/ë/HéùGÿéVÿ‘R¬bÕL@¥™sYa›:¾ •CÒŸÄYNÖrû1]^¦ÓïJþÓZ®÷õ¦»úó¢þl÷?ôŸéî?SŠç Ä5" íÇôÛ•™;"nןíô§=ÿ¶ÓïzÿWo:êóþ“úC5ˆ D5#Piæ*ªk£>¾é™zgà²>Â΀„Á¨5Bwý™žª5ý®´ß´ÖŸïýO½ýõGÿCÿIÿ™RDlÍÀ!÷vÁÔñãš pu-®ôØ®?Ó3@gùO{ýùÞÿ MÚëO¤ŸþSDbBÁÔˆ·Ò BÖÐþlßt¹%ýSû·Ý~²–Òo;ÿi¯¿¤ä¿êþ‡þ3ùý'ªB!®߯¡ºÜ‚”—_ÚïÁp=ÿi¯¿¤ç_ÔýýgjúOÔ…‚©¯é„°#e××NË*F®¬cMþýÊ?õMeë9Ôçõg/ý¨ „¨F¼Q€“º43@äŸüSQå?ê~—úãü£þüI?êB¡Ú‘p©lÄÛ›ZE'lúM—[­éöý[í§Þ|»šþ´çŸú3Û/QäŸúK~þQ"µ ,m8’~WËÍ—k€OÛÛ³}¶»ß`{¶g{wÏÔ„b¥„Š@/.1ªVØÕ„JqB:ÊÏ÷í}=\É?ç}é÷=ÿ•ÒAýûÑÿrþSÿ PQàÉvQíÇ·ô»R~\Ãi·ƒ”æÛ÷óß÷ü‡Mý?ç?õÏ= W:m­q»zWÁi­s;SÇ«µÂq¢^¹5d~}_ÇÚµç`Ä}þØÎ?ç¸ãΙ>ן£„çßvú}?ÿ}¯ÿÖ*ÓךÐúg€®=‡ °||Séeg·ß÷ýü±ÎÿhÓ¯”·yÞþ9ÿÓÑþÓþýç9V125"¯öóµ^‹êÊñM—O‚¬ïýjëÏ•ú·Õ~mçßÕöë[ý—“u<ÿQ­ï[þm¥ß÷óß÷ú{^$íûÏ<!®‘ÀÐ~\9¾ér#‚mý¹Rÿ¶Ú¯íü»Ú~}¯%¤þÉ?ç’ë_–ëÏÕü{†‚é‘o¹ÏWú;긩ã›*·°3( YÕ~>ìñë [®Ô¿­óǵö_o»õýüÛêÝíü›ZÅÍ×üÛN¿ëçÔýý¿ÛíßQDâš jü;긩ãÇ5“áûTM×s²ülÕ¿­óÇõö¯”œÿ¶Î+ÛùwíwWê?®ô'õü§ÿOFû÷„¨GÀåf L]£šµtü°éLú=¶ëÏtýGߤåß÷ö£ˆû‹¤çŸú§ÿKsû7µ+õŸDl€MÏ,ø¾ŠMÒïA°]¶ËÏvùÓ~ܪÿ´åŸú§ÿ£þÓ»Š]BAˆj$Ì:øû>NZ#q­co»ü|?8ÿÉ?ù'ÿ¦¿/ÓÖÿGµÏAˆ„¸Fü¬ƒ¿ïã¤u0ð¤ý˜n/Dü>ÿÉ?ù'ÿñýŽHJþ‰ xBµ#ÙRÙ”loºÜª=~R"a×]v¥ýdS~þòOþÉØü§µÿ÷µý¤ „¸FÀIÙÞÕtûAhlÏölÏölÏö©ùý“D€+ 4P$z1@À 0@À 0@À 0@À ¸¦‰"¨ ­ÌëÙ*·ËÖù>ÀÁAADÛ- ø#l`þî[kÜ`€à  ¢÷‰€‚‡ÊEê}ŸÈ xÌtÈ xÌT¡÷_"`€à± â÷1Aèp xŒ{B AóõJÀÄû­»ÿkSù§3–A(‡ç €ú”>¿ T¥{ ÊÝ£ÀsÀÁcADÛIµF´]+E ÷p“2€>D*©õ^°+qO 8,ˆøóÔºêÐ|CÇ 8,0ü9€‚Ǫ$A„áù`€€>•" DÀ!…‚_ $÷ €úp €ç €^ÁsÀUGzA„ "þ<ÀÁ#µÎèAô!‚èCk 0@À 0@À 0@À 0@À 0@À 0@À 0@À € `€€ øÿíÝŒ×uð'ÄA@îÆ‚ƒƒ´0°"‡M 8@²ÒP–üDø,0dà .È¡ ?J4 ŒR`\,™¶¹‚<ËUZÝDÀðªï€þêØÝÀ­¾Çöýãýù¼ßŸï×?ßç¾ï÷¾           €€€€À¯ÅéÖ|ïI³Â)\SpQÚµK6>½©`߀Âýþ{Þ€$íÛ·+è +ô÷ 0ÙƒÀE %;õsºš¿TfÆ-#ÒóòÒt¿ü#¹î–¯äçÕ5têMePÙ‡Ò¥¤óY¯ \|-š:pÿ7Ïy¾îU3üŽ|úþÇòüêÁiŸ·óÜ¿;ËGçG/íHYÛ¢sŽÿÚ½+3kóž|¡G±*À»ä’-1ªZ8#»6N–â6E)jSœaæeõØ“©øÖËçÿ«š:áþ_ºgöfbE¿3Ž÷«˜”ײîœcK:wÊñ“'-]*éÜ)»V=áÊÒ½kizžo>µ»Ñ¸šê™1nTÊztOi·Ë3høMYöã—T.u@è_Ö#¥%]råUýòù ÙôâFçw>–Ï·>c\ëâësìpå9¯ýïåKû¼Ùh)Ó¤%¯äž[óZõŸ³eŬìYxSæî}æ,M6Lʼ'*óVm}êkßJåæ¶ Ͳdvï&=ìê›ïÈöª½©?QŸ½UÛ2mìÊܸèË ç‡ÜzOžÙU•#µu9þNMöTþ4-; Te¸@MÚƒ°lüUY¼èî|}÷R{ò½éÞëê|ñ¾©¸ñà }ŠÚöɳÛÍœ9 3𾉩Mëô0"Ë·oNïóüIÚ²¶¢gæÝ>*·½q8íKzfÜ76fî°’†óË'•eÑâ¯fæî?¦¾U‡|ôšò¬ÚºD•àR„žå²²|Âyûµ»¢<ßÙPÞ¤;Û?5_;u~vLŽçš˜UåUš¨¹)à7 œmÉpquBi×.=)…þþl|zSAOJ¡¿?Bƒ‘Ç™(P6) ~Axcß>³®Ù´;§Ÿ4 @’ü »¦åÛ§›IEND®B`‚KCemu-0.5.1/doc/window-profile-5.png0000644000175000017500000021774312417262523017351 0ustar glaubitzglaubitz‰PNG  IHDR(jªJ…sRGB®Îé IDATxÚìÝw|eþÀñÏlMv7½'@!t”&≠¢¢§gWlØ9ÏÞN°ž½€žÊýì½`׳  (U¤$ÔÐCzßl™™ß›l²i$! |ß¼æEvfgæyfŸ}¾óÌóŒ²fõ*j…†…Êy7=«#„B!„èÛ7PÎ3Ùÿ‹kùX˜1ó&9ZB!„BˆN5åêÇu€¯^ºÕ¨(ªªpʵOê×]5€½EUr´„B!„M*,­Â«jíZ×d4f :4€y¯¼êR”mÛ¶qí#ê×]5Ý•r´…B!„-'Ee•¬_ö}»Ö8ê"Cíþ  ¿¤’_øŒ¯^ºU1Y­Vÿ]—®'B!„Bˆ¦•9)(© kÅœ0åL2{G´iýìÅ|ÿÕ'ôq<‘¡ÁÞ£Lœv~þ¥×Råò4¹‘NNaî—9¯&çÕª¿L!„BqhØWTÁ²Ÿ¿dÜÄÓ‰t´kk6ï%kÅŒw2qõ¶±· œß¿{S팖Oj—Í8ňÌù"§Éyµ¯o89ÅÿZ!„èJn·‡ ›¶QTRŠ×«â`ôðÁ|·p)ƒËíæç%+1™ŒŒ; E‘ã&„­Q{¾Œt jí»û*62„¬šm5ƒÔ PôOMà¹Ï·5ùÞ†óäv1!„hšËåæ—ßVa6›7fŠ^¯ÊŸ6QRZÎÀÌtâb"pV»ÈÙ¹‡¢âRªÝn (Û‚˜‘Fhˆ½Gæ»á]XˆƒiØíÁœdmÜÄôS†2´o¶ 3›vqËœï˜ÿ蹜~ûûD†3ÿÑs©ªöpñƒó7f¤)BÑ †z'K­^€òÅ÷‹8å„cÞßÜüÚm53ø­…€¢68y泭;¯vþ3ŸmÝïö„âpN²²72ÿÑs)«t1ý_Ÿ3lp6doâ–óÆ005†ç>øÜü"¼^/%EùümüŽÈˆ'*4ª±· ‚ÿûr º®ÒC‚”úù®OÕt6í,âßÿ]N\boì¶ R²7çpÉ”!ŒÜ‹y Vñů ±5>FéI¾{¦·ì.Æn³££#?[B±Jý¥æÄùÕ¿2ç–Ó˜ñĦ?¶Åùõ·¥µ ´æÄü÷©iþ¿Ÿ^°5`™œØ…bÿJÊ*èŸÀúœ‚¬vnÏáÑkŽÇlæ®D3Ù0›<„šÝf¸¯½~[>½¢íÜ9íŠÊœÜ2÷$$&Äî9<0s2» ÊyèõE ÌÌ WJ:UÎj^ýz©É½°X-¸<þ\›ÅÉG§qìÙC‰tàö¨,ÏÚÃ_¯%--õYYÌô\TUcáꌈÅbdù†½ää–pì߆’í ¼ÊÍ'?m`ýî\b¢#ɪYÏéòrÑýÿeä‘CÉÚà›WQåæ’‡>㘣Ždáâe·Ow̨óµ£”>IôNŠç§e«¸á¬Q¤Ä‡QQYŪ?×úÒªéü¼z;£$²;¿œ^[‚AQ9s|Ž4’è°`Ên–¬ÝÅû?d1h@&ËV­áÿî< {°€7î=UÓ¹îñ/™ÿè¹T»½\0ëSÊ+*IOò]pÛ²««Íʪ?Ö5{ ûõË E!jÔ¿¶¶þ?ñ¸1Ìxb? i˜ÌxbÓ(~PöׂÒr€²¿>&ÒE!ö¯¬¬œÌäÁÄGÙ¹xÊPVmÌå™÷gà€ ‚‚‚ÈÞ¼ó& Äj6òÁ÷ëHéÓ‡Ã7V¼-8ˆþý|•k¯ªòçº,f]þÒ#˜óñï,þcF$sí#qØ,<óÁJ£C0 ¬ÝšÇÇ?màù›§0vH/¼ªÊ]/ÿHߤî»|Ó¦ åÜ{?!(ØJZ¢¯•aÛžbl6;Îêj£}£­ì)('8ØÚª>‰ ó½½GÕÕÕ„Ú}èÚW\‰Ål®K«AÁíQ™ùô7T{ÀhÐyäšã  âÉw—ðçÖ<&JçÊÓŽ$$ØÂkßf“‘–ÂÜ—qßåãØž[ÊOdôñµÜì-¬ Øj¥¬¬Òß‚²ew1eN³/?¶Ùc8÷“?<0C ¯BÐ| Ê Ç¤ÔNN8ö¨&[[öÛÅíQ[LLÃ嵯þ0›»ÎÎä–¿ömñýBq¸Ó4êêjÒ“"ðx5&N§ÚíeÎGËHNîÁhÆíQ)..㈌8ÖnÍ'£_¿&Ï©9;wsÎøLúöŠäÛß·òÃò¾_¾kÏɰ¾q”UV2<ÃWAÏÞQÈ¢5»ˆªyj¯Óåå…O–“œœBiE!ùÅUX,fJK+“é«ÄoÝSŒ-8˜ŠŠ*Rjˆ½…X-Ü•1£Žôß>5fÔ‘ÒZ?ߺ®³qg!Uչ؃Ì\yšï6±O~Ê",<”Ä(»?pøÏg«4 ?»÷ærÖ±)$Å„ðÂ'ËÙ]ìeèà|ûÛz®<íHFLâÉ÷~#Äa')ÎÈí-('2"œÈˆpÃôšy˜-&,&ˆ`ªª=ì-®àò)ÃZ<†Å¥eò›&„5ê÷A©¬v·jæÞ§(J“ç×oñº¨äl.xyˆïEñY^Ì«¯ø,Þ ÿP>E!„¨Q^YEzR8&£õÛòùïÏÙÜ~ÑX¹æxfýßB<ªFxX(¯‡0‡/ˆ¨tº1ŒMž£ ‹9öˆ1LƤÑiËóKª0 $ÔnÉÃf·‘– Àúœ|,Ö`\n}ë‚»ÍF¥ÓIjBjͼ‚ƒƒjZP|·ií)(ÇjµúÓ5zäÍþ–ÔÏ7À»³ÏÀãÕØ[PΜ~gõÖR¬V‹?­+³÷…Ùb¢¸¸„1ƒ{°tí.Ò22P5[¹&Ðò`0©v¹ˆðåco‘/€rVW“]T•£(†€òh ÇѧÅchµ˜eà!„¨a®9—ƒ¯d­e+þhÔzu}RFæŸg4ø¶a0(xT­ù¥©æ•àctâ­õ¿Þ·npÀë†ó÷­ó5ß×þ­¯•ºBÔª¨¨`xª¯²¼yWëw”ð¯7sÇ´cxìú˜ýÊÏä¹ÝX,òŠ+IˆrÐ;.Œ’ÒRÂBC¨r:ÉÏ/$1!‹ÅŒªzq[8ûž]…²Z-„†…Ü–¥©}{EúÓ`·Û¨¬t’vD Ûj‚‘ü‚BÒ’ê‚–àÐXvïÉeXßa5•ý ¬V º®³lÅ?>Íåû»ß·2÷ãeþ¦ «•¸ØRSz³eÛŽ€´Z­¾[ÈTU#Øêû¹ª}¨ðî=¹Œâ Z~]»‹Èð0\.7±¾˜Üšô•UTú·¹· M«—ÿÝE€¶ßc8tð¹mY!j(MÜâµbÕš€à¤a'ùÚ eÄ‘Ck”ºméííƒRx44°´f›Bqø(•ôON`Ó®bbc"Ù]ìò)_}<¿±ˆ’  >þq7œ5ŠkÏÉ3ï/%'g©‰á\xB&_.ÛŽ®‡ÂêM¹ŒÈÔcúñùâØ‚ƒ–DZG$óü'«q¹ªIˆ ñWú=o½¥›-˜ÜÜ|Roçr»=Ä„ûn—êÆoë¶1iT ½#ë[ËVüÐA~äð¡-æ{ÃöR“{Ñè÷"0­XƒÂÐu°ð–­ßÃ1C{3qTÿ[žÅô¦MÊÎ}e¼û¿õ¤¦¥±ys±6e±Øq¹ òïõªu-(»Š Þï1”ß2!„¨c¨ßI¾‰~%3žXÀ‘Æøÿ®¸4Å‹ý(Í'¤6i¨ìœÓ…¢NeU™}êZP"c‰`×Þ\yc1w^| ³¦Ç3ïÿÆoYy¸ß[Ê_Çe2÷æ)•9Ù´³ˆ}åôM&¥OožÿïJ¦Uº8}\&NBI¹“U÷ñö7’KöÆÍ$ø[%*pyÜþ úæ]EôêBµËIJB8àkAé“IbBï~·–¿ŽëÏÌsŽ"¿¤’Y{Q5£Aaoa}ÃZuÞ¯Ÿïìí…„ÅÄ7ù>WµÛŸÖ½…¤¤Æ¢ëÜ»/¶š §›ó&抩GRPêä›ß¶ðÉÂlú$§b4q{ÜĄ׵ ÄÄG4ÚfµËÐA¾Oï¤ýCù-Bˆ:M=eØÐÁþV“aCïw~ým5uŽU&N»G?ÿÒkÙ±¯¤ÑÂk‡pëVm°Ò°¥¹[¼þýÇûò) !D=k×gáv{4 V«Õ?¿´¬Œ­Û|ÏíHéÓ‹ˆˆpŠŠKÈË+ÀY] €ÙlÆn &5¥=Õ«²kÏ^ÊÊÊñª^L&3¡¡!ÄÅDäÛþš?×ãUU†€ÑhbÍÚõ¨ªÊAý1›Íè:¬ùsª¦1dðÌ&ßµ«Ü}ùäåå£j*³…ÐÐ Ñu6x F“€•«ÿ`øCö›ïúT/ß ÕO«ÉT7´¯ªªìÞ“Kii^UÅb6F|\¬ÿ(Çw`&V‹%`›µùýsmo]ZZs …Bø„Ùƒøæ‹9çÜ Ù¼»°]Ûp[ùù»ùL>åo”VVûç{¼¿÷~랃ÒT JS­) o÷’N…Bhà€Ì&Ï‘!!! :(`Yxxááa¶Q=Åh wï¤&÷Uû¾Áƒøçéè ©÷ºö=C† l4/66šØØè€m&%%4zßÃï÷œß\¾ÜDÚƒ^½éÕ+±ÅãÑÔ~nsРÀ÷´æ !„¨9×´ äU4y‹Wkä•û·Õæç 8+äԡ˹r^‚sqÝ{j_ç4É˹t›œØ…B!„8TT{T&žò7¾ûâc†Ž™Ô®md­ø‰§üjÚö>(ÿ ~çÀr ñ‰B!„‡ŒŠªjlAN˜r&ßõI»¶q”3q¹½T5ó|”V?I^!„B!*."Ãìœú×sÛµ¾Ëã¥Òéjb‰"ŠB!„¢í K*:|›µý[LýC øô›_ä( !„B!ªþ!¾”ùžKQa!„B!ÄA±{×Næ½ü9B!„BˆîÂÔ܇#DŽŽB!„¢ÃUT”·=@øôãäè !„B!:܉“§´=@iiE!„B!„h+‡#¤Å†éƒ"„B!„è6$@B!„BH€"„B!„ !„B!:„ªªhšÖ¡Û4ÉaB!„B´–Ûíæ«ÿ}Í/K‘—Ÿ‡¢(ÄFÅpäÐ#™|â$¢"£$@B!„Bt¾¢â"zâaJÊJ‰KŠc`Ò@, ••,Z¶˜o~ü–k/¿†1£Ž’E!„BÑyªœU<øÄC`T=n4&S](a¶˜ñ¸=”–”2çå¹ 0‡Ã!ŠB!„¢s|øß¨ªv2bì ÎJ'{ví¡(¿ˆò²rÂBC9aÜñ5rt»ƒ P„B!„ûåv»Y¸øgÒ¤c0øÆÙZ¶x^¯—©'ʈaÃIO«[v 8@‰ŠŽi¼Q“‰ÈÈH† Â9çœÍßÎ<EQºü@~þùç¼øÒK¬]»ŽŠŠ t]§° ߟæÂ‚üfóÓÔ2!„B!G»öìÂåvš‘ʾÝû8猳;$0©Õ)à {½^òòòøþûï¹úêk¸øâKðz½]zçÏŸÏ%—^Æ’%K)//G×u)YB!„B´ƒÇã«Ë›-fÿ¼èØhÊÊÊØ²u‹^Qqÿûé{n»ï.þ¹]ûê°[¼ê·8x½^víÚÅÇÂO>É—_}żyÿáÚk¯é²ƒøÂ¿_àÿ¸‰ë¯»Žððp)YB!„B´ƒÝn ÚYÝa ØLHhó¿\@¿¾,[¹œm;r0™Lx<JËJÛµ¯NiA1™L¤¤¤póÍÿà‘Gàƒ?èÒƒ¸~ýzþ>sf£à¤° _náB!„¢•ã %?7°ê?W³àëÏñ(^†ÆÐ‘C:xh÷ PêûÛ™g°yó–.=ˆUUU5Ñž]J”B!„À`0OÎæª*«üóSú¦pôqG3fü2fζMÛ>ôHRz'·k_m¯úÑ¿ÿþ{^{íuV¬\AAA!º®“Ÿ·€üü|^xáß|ûÝwìØ±€>}ú0yÒ$®»îZ¢££›Üns¯÷×I¾%.—‹7ßz‹O?ý”¬¬l***ˆŽŽæ˜±c¹þúë:tˆ”^!„BqÈù࿲iË&¢c£YµtƒŽäï0lÀYådKÖP᲋.m÷¾:=@ùä“ÿžžÖäòY³f3gîÜ&—­Z½šóÎ;Ÿ‚‚‚€ùYYYdeeñî{ïñÞ»ï2lØÐNÿPöîÝËyç_ÀÚµkÍÿèãùtþ|ž~êI.¸à)ÁB!„âñÍ÷ß2ÿËœ8õDRú¦ðí§ß²réJ¢b¢ˆˆŠ@×u*Ê*ÈËÍ£Wb/þy×=D„G´{r‹—ªªäääðÔSOsç]wpöYg7ùÞ9sç2nÜ8ÌŸÏöœmþþ!¥¥¥L›v1 6”>ü€Ûsر=‡?xŸ!C“——Ç´‹/¦¬¬Ì¿½†ýKj_H¿ÇÃEMcíÚµŒ?žO>þˆ­[6³/w/Ë—ýÎßÿ>MÓøÇÍ·4 `„B!„è©-]Ì›ï¿Å_Nø ý3¨(« ?7ŸýrÌȱX±à©òÖ;•WÝÀÃÿ|ð€‚èÀ”¦ž‡Rkò¤I\uÕ•M.wì±|üчÆN~õµ×Ø»w/™™™|¶`A@_’ã?žÑ£GsâÄIlÚ´‰×^gÌè´æƒ>dõpê©§òÚ«¯<Ó%55•{﹇ððpfÍšÍ ÿ~‘žŸ+¥Y!„Bôh+ÿXÉÞø?F3’!ÇP^VÎç|NZr*·Î¼³ÉÜ)ûí´Q¼bbb˜0a/¼ð.Ž 60õ´ÓY¸p!•••TVVòÓO?1õ´ÓÈÎÎ&!!K/¹¤SÓrñÅÓ蛞NVV“OšÂüùó)((@UUÊÊÊXµz5Ï?ÿÇŸp‚”z!„BÑ-emÊæÝßcȈ!ôIëƒÑhôôÂð1ÃQU•õkÖsãU70hÀ .Og·½Å+<<œ7Þxóο€U«VqæßÎjôžèèhÞ|ó BCC;5-6›wß}‡óÏ¿€¬¬,.Ÿ~…”p!„BÑ£¼óá»$$%NA^û سs¡a¡Œˆ#FŒ`Ñ/?ó ÿæÛï¾cçN_'žÞ½{3yÒ$®¿þºf;Ðw´´´4~üñÞxãM>ûü3²²²)//ÇápžžÎ1cÇrÆgHÉB!„ÝN•³Š-Û¶—›‡ªª¤§¦3|葬\³ g•“`[0á‘á8V­^Er¯>=/@iïóOZ»^\\³gÏböìY¶ýö.³Ùl\sÍÕ\sÍÕRÊ…B!DQûXŽÌŒ~{ô±Œ6œÐÐP4Mãš\Ga^!½RzÕÕ{í6ŠK‹JZMòq !„Bqh‹‹ãíyo6šo0qÄpÖf¯ PTMEQNwuƒ|\B!„B~4McÃÆ,²²³(*(ò?p\S5ÊKËéÝ«×AI—´ !„Bq˜ðx<ü¹îO–­^ΊU+©¬ª$,<ŒŒ˜ÍföîÞ‹‚˜GI€"„B!„è<ÿzêQ²6gFRJQ±QþÎñ%E%älÌáâó§a·ÛJå/!„B!çœyŽï,AŒF#n—›’¢6®ÛÈêßWsêI§0þ/Ç´4J ŠB!„‡‰ÌŒ~<÷è3|öõüòë/T»ªýËz'õæ¦kg2üˆá5 !„Bq‰ŠŒâÒ .æ’ó§QT\DYy1Q18Žn‘> P„B!„8 )ŠBTdQ‘QÝ*]ÒE!„B!ŠB!„BH€"„B!„è¶öÛÅá‘£$„B!„8¸JEE9Ÿ~ü%!„B!ÄÁ PNœ£Á@¯Ø0Îߟ#û%È&„(B!„8Tem/൯þ`Ê_ŽàÂÞ± F”n–FUÓØ¾;ŸW¿XŽêv2rpš|pBôÄES½¨ª†®ë]’ EQ0 ŒM$M×q»Ýx<4Më’ô Lf3V«µÅ÷mX¿–1c¥´¤…«F=<ýº®£i*ºª¡uAyPPŒ #Š¢tëôôøòÐËg}ûöå²eS6¥%¥‡äIÙ`0BzF&À!׺<+„„†Ò·&Ï›±<.ùûj—ÓAj¯8ß¹YS»]Z ¤õŠæ´FòÙ’u ÑÇÃî]»X¿v-EÅE]òÃFÿ蜌Åb X^åtRZRLîÞ=”——wIzìv; ‰IDDDt@ZON¿®ë¨^/»vîdýºu]RŒF¡!adèOrr &³Ùt·ô å¡'”Ï‚²Ö­cØðáDEÇ`4¹“²ªªä³zÅ 4Meø¨Ñ‡l^kišFA~>«W,G×4Ž5šè˜ ƒä¯å$-)E×|-'¥Û¦95!Š÷òíÀ_ˆC2@ÑT•üüËË˰;Bºì´ƒÉ²ò°Èk­ÐP*+*Ù<êù3Àh0¢´“^!D Pt]§¸¸ˆ>}Rº%@âPÒÓÓQU•ŠŠÚ¡½èz>è[Ðõ=”ÀÜ;?"b E ¢hBRâhŠ‹Ç`ð`·+”`e4õPûÒÒR…šçS((Š‚®ë¾‡ì)J·¬È²qãFúõëG||&“ ¯×ëoI)))&$$”„„)(( )) ¯WÅív±fÍHXXX·ËÛõ3®£¨¨ƒÁ@tL4Ï>5G¾y ¿ }ùDEEQXTŒÉd$á ¶VUU¾‘ÿ4ÕW í¼}6ô”•—óÌ3ÏòÝÿ¾'77»ÝÎèÑ£¸äâi3vìí35=ƒm[6œcÜB÷ò¼ÿðØãOpÛ­·pÕ•WtYš¶mÙÔ©­Mm;5=ƒŒ¾}ùæë/ž?¤ë:“NšÂæÍ[ø3jKž$ÿ;õùùFñ­™Š¿±fþŠå˸â²iÜ7ûAþzæY¾4mÝʹgÆMÿ¸•ÇŸ|»Ýκµkù÷ s˜zš/@¹ášéL>i /Í{€—^|ž×^Á×ßýèßÇ®ÜÂ6¥WÑC”æF ö'::º^ z ûðîšî_hæï(J‹)^A8 ïý=ý>45HGQb[]!Ò[š¯(”–•Ö'¾€Ä·ÄwˆŒð¿÷`Ü8ÑÜ~³7ndРX,V<7^ÕKeUEÅE””–â¬vQQ™K•ÓIBBr$ó^yÝÿzó¦|þõ·X,Vfþã^ú÷óûSÚЯD:É Ñ}ð¯™^[AÑ= —àÙy)޾ß>ÀEä “iT݉C 'rNä Œ Tn™]Ó‘¾-O¯éÄṲ̂áaáD„7ž"#"|Öõ¶OY%mfÁAÁ¸]ÕFƒ‘à  ¬+±11…-8ˆŠòrì6·²a6™º(ýPØ r¹ª­å¹þTYQÉ–-[ ±;Ð4êj'îj!»wí¡° ¨Ês¿šÖä|]S;íûU”6œ–.]Êm·ÞL¯^½0 DFFpò”)¼óÖ›èºÎ¹ç_ÀgŸ}°ÎîÝ»3ö/”••ñãO ™<å2 âØã&ðÞû ë:i}ûÖ·i}ûù×õz½<öøŒ=†ƒ‡2cæß)//÷/OëÛ·Þ~›ã&Oÿƒ˜<å–-[ÎG}Ìñ'N"sÀ Nz:YYYÍæ©¥üþ´p!¡aa\<í"Â#ÂY¸ðç€åi}ûñö;ïpìqãé× §N=uë×,o8µ”·ŠŠŠ€ukÿv:Ü|ëm 2ŒÑcÆòÒËóÚ´­Öæàª+¯äÅ—^˜ÿÒK/sõUW¬W]]ÍwÝÍÐ#†3ôˆáÜu÷=TWWû—»\.n½íš_ž7/`ýúéoj^ý÷ŒüíoŸmÉ_k>ë–ÊQýÉdƒ¢`„FÀWŸÆÍŸÁÛï¼ÏøqÇ,_ôóBÎøë™M®[;Mœ4™ž{–ʲ2*JKyá¹g8q⤀} ÊL'%)ŽqGâùgŸUmv{Ò‚"Ä! øOLš†®¹Ðõ*L½ bó (JË›.ß4€àÔ‹P”*ß­aí¸ÊÛÔ¤é:Å%Å7ž ‹ŠPu½Åõ››:ãªyÃÉ`4†Áh@Óu,V+Á6‘QQ$§$Íî 4,Åh ØfÃf·Såtâr»»,ý¢kÊCý©Úå"kã&lv;<^/ àòxp{=Ørvî ¸¤ô€Ës[¾Z3ß'­ß³ŽP†ÎÝ÷ÜËÊ•+q:–_{Í5Ì™û¼ˆh]×ynîó\rñ4·Þz3o¼Õ«VðîÛo²jõjt]góÆ,ßÕÛYlÞXL¼ðïY»vó?ý„¥¿.&Èjå±ÇŸ¨p.^¼„wÞz“Ëç´©§2ýŠ+ùqáBÞ|ýUV.ÿ)SNâ®{þٮ孷ÞaÚE¢ë:^po¾õv£u—.ýÞ{—U+–1qâ‰Ü}÷½þåµùÙ¼1‹‡¼Ÿã'Œo·µ,øô~[âËÛ£=ÞdºžzúÊËËYøã÷|ùù–-_°|ÛjK~ò¤‰²bÅÊš ô7ŠKŠ™4ñÄ€õž|êiöíËãûï¾áß~Ãî={xêégÒ\TTÄO?üÏÌç×%KÖo* Í-?ùÛß>Û’¿Ö|Ö-•£ÀEÁ è 4š®¹j:=ô0ÃŽÖhyqq111QM®[;=ôð#¼ûîÛôë›BfF*ï½÷?ò/ÿò¼‚"6nÚÂŽ]{ø¿W^ãç…?qÿì6»=ÅKˆ 4u"_‡;]÷Mš®ãJØ÷ð:Wõ=Í6'{½ëjþò itÍÛì>šHL3“¯¦£ ADxã)2"J½šÑAhAifû‡ƒ¼¼|ªÕØ‚íØmv,f ¶`AÖ "#¢ˆŽŠ!6&–ð°p,& ••”–”R^VŽ×ãÅd4vzú›ûÑmiêŒmȶ:bêìòPò¸ÝlØMpP0&£ ¯Û[¯ü‚ÛåAUU6;[·æPVZÖþòܦ–EеQFÍßšª·í;Öeðù9Ï‘˜˜È]÷ÜˈQG1nüñ<ðàÔ”” ë:Çþål6Ÿþº®³mÛ6~ùe‘¿’o "//Ÿ¢ÂBxøÁZ¬T~øÑGÜ{ÏÝÄÇÅa·Û¸åæðͷ߬óÀý³‰'((ˆK.žFEe%³ï»/`ÞÚµkÛ\™Ý¾ckþü“SO9]×9åä)¬ùóOvîܰîìYÿ$66–   ¦_~y“W¾/þ•·ßy—§ž¬ ®>üð#þyï=ÄÅÅa³Ù¸åæ›ùæÛo›L×ç_|É]wÜNDDÜuÇË÷·­¶TàEaúå—óÒËóÐu_z™+¦O÷÷Ù¨}ïgŸÁÝwßIdd$QQ‘Ü{ÏÝ|Vó¹ëºÎ‚Ï>çî»ê–ßs÷]íPFþö·Ï¶ä¯5ŸukÊQý¥‰ àɧžæ7ý¥K–4ZIQQQ“ëÖN7Þp=çž{›·æ°ykçœs.3®¿®ÑûL&ƒæ¥yÿá½wßiv{Ò‚"D÷u@=Ó}WIuÐttLè5 §æÞçRµõQ,ýoE16U£,{0æ^3ŠbBQ":.â2(”””ÖëRGQ"##ý¯·oßÞh}ßðÃq]þAÄÇÇ“·/ȈœN'•••˜Íf…šfxÕÿ0;UõuŒ÷zUEÁårQ\\L|B¼”èCŒªªdeoÂl¶`¶˜kZNêbZn·‹ÅŒÍncó–­ôë×GѪgÐü©7»^ýÀíáñ4ý Éàà`fÞ8ƒ™7Ψ @rxíõ×™1óïüß¼—¸òÊ+xêé§™8ñDžyö9.¿ìRL&‡gž~’_|‰çæÌ%ÄáàŽ;ncÂøñÍîwß¾<&O9¹QÞê¿Ïá°û_›L¦&çy½ÞfóÔ\~ßzëmŠŠŠ<ôˆ€ùo¾õ6·Üüÿk›ÍVo_FTU ØÞ–-[øç¬Yüß¼—±X,þe¹ûö1餖óVûwA~>1±±þ×qq±Ë[³­Ö~Ƈ©§žÂssæòéüdeg3ç¹güï¯ý¿° €øøxÿë„øx Ò°¼á~›JCSËFþö·Ï¶ä¯5éß_9òW(Œø©i&ß^xQQQ\<íBæ>ÿ'4Å¿lÜqãX0ÿS®ºêêfÛ’¥Kx÷Ý÷°X}}Pn¾ùRS“›ÝŸÑ  iÍz,}P„8DtÍWÑA×h† £k¾0*†æGòq:­„ZB;ŠÕÆ ÎM\•¯ù‡¢^ï*‰oÀ¢èþ÷65,ñ–-›;ytš¦ÓŦM›X»~ ññ„……áv»Ñu ¯W%((ˆòòrÜn7f³ U×P5•Ò²2T¯HIN>¨Æo˜qÅ%Åæ‡×Œ,¦( a¡a\pÑy~ #""˜ûÜ ]’žÖèŒô´¥<ÔVî³7mF,Aÿ¨nÊ| —ÛÅb&(8˜ì›™0 ø¤gon.»vï .ƒ‚V{t¥.=𦡖¯\Ÿ «…þ™ý0›Í,5”ššÂ·ßÆÑÇë_gÂøã˜3g.O?ó,«ÿøƒ‡jZIÄÜ9Ï¡ë:¿,ZĽÿœÅøkv¿ÑÑѼóÖÄÅÅ5›¾æZÛ’§†Ë\.ó,àÛo¾")1Ñ?×îÝœþ…ÜpýuXk*p-í«¨¨ˆgÞÄC<@BBBÀ{cbbxçí7‰‹ÝoÞ¢¢£Ø³{7½zõò¥c×®€å­ÙV[b³ÙÌE^ÀwÞÅÌoÀl6´ Ô¦i×ÎôéÓ€;wé_°|çÎÀ4FœN'AA¾^JJJšÍÿÁÈßþö¹¿üµ5ý­-³µ-(ÍÝ9ePàä)Sxûíw˜6í"î¿ÿ.¸àî¸ýN=õ‚ƒ¬œvÚéØl6Ö­[˳Ï>Çë¯û:Ê÷ÏÌäÙgŸæšk®à…žgà€þý]qÅtn¾ù222عs'wÜq;§vz³é‘!ÑEGG×ôš¿¬ …¢)á(†ÈšŠ§]wR¼Þ櫨öÏÃ`ô4TQá 4,Æ7z—ÓaR”Ú“ÚQ¼||-'J@«¼¼¼Û ?Åž={رcf‹Cƒ«ÍZý~?ºŽÇã!88¸Å«u]¥¬¼ŒGþW“?dŠ¢`±X˜6íâFWÐu]gîós:==µé¨ýìËÊÊš]wÎÜçúñܲun·›ÍºŽÑh@×}­*¯1šŒ((`«ÕʆìM 鯬ˆ„øxª«]”•W`³Ù0”fÓR{uÖâð¥p{ÜxÝ2ûXpÒRåî²Ë¯àÜsÏaäÈD„‡“—ŸÏk¯½Î°¡CÖ¹òÊ+¸õ¶Û¹Ö}˜L&ÿ²[o¿ƒk®º’>}ú iº¿¯ @hH[·m#5%Å¿sÎ>‹Y³ïçÎ;n'!!­Û¶ñò¼ÿðÄcvj€òåW_3dÈI‰‰ 4ˆ¯¾þ†ÓO›ºß}Ý0c&W\1#ŽÖè}çžs³fÍæÎ;n'11‘­[·òR3y›rÒI<öøÌšu>öDÀòÖl«-x€é—_ÆôË/k¶"}ÒäÉ<òècCP%Y¾+4AÉ×SœC|Bš6 TW«ìU½¸Ýî&ÒéÅëõ¢ª¡¡uWìkŸƒ¢ªš?Q¯×KQQ!õ‡®ÝFSÛï(Í¥¿6ª¦:ááaT»\átV£ª*NgÁÁÁ„8BÈËËÃápàñx°Ûmþ֕ΦªÞfËCíÖîÝ»ýÇ¿þ½Õµkšðºö·ÛÕié©mEóíË7ôtýØúé©ÕžôtTyØ»7—ÂÂ"tœUN_^ððpT¯/(P5µæ¹#Fƒâ¢âF=Î×mÈ"3£o«ƒ‚–ÊgRbÎ-[)/+'ØŒV$û?‹zéñz½à³É„¦i¸].úgfú—Óæ*wW_}%ï¾û>÷?ð •••DGG3öè£yâñGÖ1 $'÷aêÔSæO3oº™]»v‘’œÌ#?è_~É%sîyPUUÅŸ¬òW"_yõ5¦_yyyù¤¦¤pÕ•Wtz Ê»ï½Çõ×]Ûä:çœs/½4Ó¦žºß}ý±f ¬YÃÝ÷Üë_V›·Ë/»ŒWxéW\E^~>)))\}UÓy»áúë˜}ÿƒœ8q2v»‹.¼€E‹û—·f[m­Àïo½gÜÀCÿ‹)§øµI'2ã†ëëÒ|ÝuÜÿÀœ8é$ìv;—^r1?ÿ²È¿|Ö}÷rß}³yñ¥—‰‹åòË/ãÛï¾k2ÿ#ûÛçþò×Öô·>@QüÏ k¨¸¸$àõ AƒÙ°!+`^¿~™¼ùæ[Íæ¿_¿L,ø¬Ùåýëüõ¯g´¾$ä…è¹Js·|”——£©jÍ3Pj†ÕƒÐÔÞèF']C‰¿ƒRˆ×[ x0$F×ìhzÅÅaÀ‘è$th'îÚ&ùÖˆˆˆð,J79OŠ¢`4š°ZÀn·ãõª˜ÍfœN'&“ƒÁР³v×%¾¥[’BCB¹ó®;šœ?}ú(ŠÂþ3²ò²F'ãââÚu{Z‹é ãλîhÔbSûº¹¾ƒ¡Ýéé( ñ$4èS´bÕˆXYÐuGëÔt¥§¥’•½ g•“ à ÿ-žMž\ŒFTMÅ]í"³_ßiÉi©7zÔ(Fµßu>ûüs®½æŒFcÀü“&Oæ¤É“›\ïÊ+¦såÓæù:4×]én¸ÎšÕ+¥µµóZ PÞ~«Ùãpܸq7nº®ïw_kV¯lv_mÉ›Õjåá‡àá‡`Û¶>þä¿­ÞVk?ãý§úË- ³gý“Ù³þÙäv-3>p?>p¿Ù¥—\ì_Þ?3“÷ß{'0ø;û¬&ó0ò·¿}î/mÙV[ʬ¯Jó·xu» ôA¢ç( ¯47<Õ(¾Ñ¼tУQ5 &ƒÅàë_¢P ŠŠ®е`Ì–T6mÖ3f0md´™ iXh[6·å)» ÅEEÔoAñ?á3+¦z W£üÏвZ©ôz1›L8ìvœN'èºo„|÷ùZÌfÜ.^tß-)ÿ¬‘æÏ?Ùäü«¯½ª¦Ã¿BeU%¯üçÕv]=lszjn5éèŠpW”‡æ¢1½ö¹#u+ûþª™ÀinEzú¦§’•½Ñw¾ÕZWÑ©7"—Ñ`@SUª].22Ò ê°ãÙÞíhšÆ?ÏÎ;™|#véõžî«¼nØgC×uŒ&£}]שvÕõ™è¬–]oßçf4ú‚¬†ýVzºSÀÑÚôûG¨÷ƒz«5Çõ@EkÓc6›Èè›æe¬fä!­æ¡(š¦ãñ¸IMNÆá°wøçÓÞí­^¹ì€·qPÊHHëçŸÇçŸ×aé–” (JJ¯¢‡( +=£EÕ»­Ä÷Ü6­îµ®ùo©›§SYYá«TuÉ-IµAˆˆˆˆf‡>XçÔÚcSû| ­æJxkŽ‹×ãÅd2ú¯Å¹].ßhNFc'׫+5W×;îGì0kAigçÚÎd%=5™-[sÐk‚P]Óñz=ôîÕ‹ÐЩÜI~%χS€b”ô !º,@ <™ºj®ÒWVVøž_|Pwu·¶O Ô%¾ÛÁ·U]]Õjm[eZok JÝ-û- ? J½[wf”Àô«ªê›¼^tLF“?¾QÒ?tÛ[ó^]“ÉBuµË7¿f[šÖy•öö—Ëåkõ1úòÕQ·¡õô”–Êsã§>ûÊDÝS¥ëÊvý²Ñp‚ÎKŽÕDRR»wïAÓÌhª‡¸Ø8G£´tTP*ŠäYò×=EÒ+„蚥~G\O½!Bu­¶Å¤¦bC` ¢S×’R÷žº[Ī*+1›L¾ð “OŠb 22ªæïºá‡û¤¤“¤Á€Á`Àáp°cÇNbbb|•¿ +š¦áñ£ët:‰ŠŠÄh4RQᦪ²’  «¿õ¤s¥ÞæQ×’“xö¹gÐ4ððpß‘î°h½CGëN˜ÚIÓêÝb©k(ºRówã`ÂÀè4•žÚ>h!ÑÑÑìÛ—OlLa5(”šVÊŽM(’gÉŸBîJƒ+Ôõ[;LfËí\­×¡³OØm~¸«ƒMÓ0›Í$$ij//¼ü<¬Ö ‡¿eÂjŸÈn0âv{pV—£z=ØlÁ„……cµZ1™LÚI¾=#EÝyû÷}ˆw’×ëØe2pUW7ÿe6ðµZvÞ-‹õÓS^dD8AV 6›­ÁóeèðôlX·î°:Inù=ò|(çÏåªîQéýêóRâ ÕÃÂÂHï—IttL£‹—û¿Å«Á=þ‹…^ ½xýÍW(añ±ñ˜M¦6WVÛzKOhX›·´~øa£Áعä¤_Q ƒÞ¤ÄDJKË(+/£¤¤¯WEU½Òh40[,DDĆÑh Á«»ÝâÕUdzç -§ß÷…õµDöïŸY7¬pƒ2äêþ«w+˜Þ)é¡fÈëÚÖH‡ÃÑáéiÊ…—\.gv!º±ò²Ò‘N9—qð¨ªJÞ¾\–,ú™aÃGÙ¶¥áj³ÙÌñÇŸ@yEååTU9q»]¨ªŠÇëESU‰ÚÎе·QYƒ‚°Ûí¾!l6[“OðîH!!5§îJQL&ƒ“É„5(ˆØ¸XÿMgõoG«ÿºvˆgðÝKÛôÄ\¡îfÒõC¸“|ýÛ¡öÿh4Сý<º{zÞxežœÝ…BˆnÄèÑlܰ£ÆÓ¶¥©+ªf³™Èˆ"#":¦’Ù–+¼=¼BÚRú}OoÝíYÍUü:ýØt·‹Ãh˜áúÿŽø.õ„ô´äÔÓÏ3»BÑC}>ÿ¿„„„RRRÜhY‹ŠÁ`@Óµ.¯ªšÖdE½«†$nîXt‡m¬}û‚'ª¦v}y¨õ«~E¸»¥çP(=ýû%„BˆžÅh4dè!„B!D·Ñ¨%2*ZŽŠ¢]Š ^oÏÉaÅÊäç嵸žÑh$2*ŠÃGœ’"R!„%Û-·x!Ìž½{X²d1'N<‰>ÉÉFt­f4@t¼oM¿! Õ«²mÛ6~]¼³ÕBbB¢@!„â0%·x !:Å7_~ɘ1cIMKCQT¯¯×‹ÇãÁãvS]íÄ鬢ªªŠêj'qq±¤¦¦òÍ—_ÊÁB!cM¶ tõ“¹…‡×ËÀÁCÚ´ÎÀAƒYóçŸrð„B P$@B´ßŠe¿1fì±Î#‹¥Mϧ1rþB!$@i2B‘##„躮³{çN¢bbä`!„¢uJg_Áüå—EL¿â víÚEUeEÀ2›ÝÑhžâÐ Nþ\³š];¶Ó'%•Ô´t9(B!„Ðd'y½“§»î¾›§žz’ÊÊ ôš ¤vYWì_&™dêØ©µÁÉš?VQ\TH怰më–Ãâ–®¨è¢¢c:}îš—Î6þ|†;‚è˜ØnyÌ„BtD€¢ëþÉnwø§„„D.ºhùùùïië´nÝ:&Nœè]QQîÿ»áþe’I¦î?µÆšU+(/+儉“é›Ñ‘£¢¬´„íÛ¶vø‰-7wÓ.¾„ä”TbbãHï›Áø äŒß†€£»HM¹ó®»Ø½{7‹~ù™Â‚ü.;NYYY :ŒØ¸xæÍ›çŸït:yúég?a½û$Ï ÁC8ëìsZÜGNN—^v9ý2‰‹'£_&—^v9Û·oo”ކSS®¾úÆ=–åË—sóÍ·0ú¨£HHL¢wŸdÆO˜Àœ¹sñz½í>­IƒBtX€‚®×M@Eyåeü±zV«…gÜøž6NÕÕÕ˜M¦¦—7Ü¿L2ÉÔý§VˆKHdÜ„PU MÓ0Œ v$ I½°X­zb»qæL¾üòK^|ñßìÚ¹ƒ?úˆ>}’Ú‰¶° ¿Ó*Î’Ø·Ï÷ ÐþýûwÙ>—,YÊɧœJYYï¼ýW^y%eeÿÏÞ}‡GQµ þÍn’M! ! ½C)JQ "DQ)Á€ ’ÐE”¢t_•„W@ºJUñÕOˆT¥w’ …l™ïÀJH‚‰5ðÜ×5×îÌ™93;{fŸ™sΤð\›6|8u*‘‘‘:x€³gN3{v n®®÷\æk={²nÝ:FŒÎÙ3§9rëÖ­ãµ×zæø=äô}Øl6~øßÿhÛ¶ Æ ´z(K—,åÜÙ3ìØ¾š5k2fÌXÞ:ô¾…‡éøB;(wŽ0åƒøñ§ŸœÓ yû0}Æ *W©‚·/º®c6›éÛ¯?ÅŠ‡P¬xýú÷Çl6;ç(äíC!oç´ìÖçp85z4eÊ–#0(˜ÈîÝIMM•+Ö2ÈPï -VMÕ2Ío41™LجùûpØ-[¶P«V-L&µj=ÆÂ/þ›íUàeË—óäS(V<„ÇjÕfΜϲ”‡³fÅðøõ(Z¬85«Å§Ó¦eÙî/¿\BÓfÍ(R‚ê5j²pá¢{^}Ÿ={þS-4”Áo¾Ijjjž¶sëÖm´z¶5%K•¦DÉRt|éeþïÿþ/×y¿3Owæ1§é÷_ºt)õê×'¸h1ž|ª[¶nÍ”×Ï>›K­Úu(Z¬8O>ÕˆeË—gYÖŸmONWó³Ë›¦i|üÉ'Ôª]‡à¢Åx¬Vm>þø4MË2ÿ¼yóœUÄrcݺut|é%¼½½ùîÛ ´hÑ™öÁ”)8páÇѣ{w|}}ñôô¤q£F,Yòå=—{üø :½ò žžž¼üÒKÓOœÈóo 66–””Ú¶iËÿû×zô |ùr¸¹¹Âû“&ðÕW_Ë?!!DÁPîo.ÇgРÁδyóæ1|ÄjT¯Î¡ƒX»f5ëÖ®Ëóöät?»¼~úé4&L˜ÈóíÛsöÌiÚµ gÂĉ|:mZ–e=zŒm[·p51áO·sÞçŸóZÏ^T«V6~OµjÕî ^ÖÐñÅó|ܶjÕ€eË—c6›Y¾bÏ>Û*˼%K•¦h±âÔ«_Ÿ?œŠÝnÏ”¾~ÃJ–,I­Zåph;Å‹ûË¿³?˃Bäk€’“«W¯2løpš5kšiú¤I“pޝZµŠ&¿O`` AAA|8åV­Z•çÌ-\¸ˆ©N!¤xq *ÄØ1cX»n|kBÿTð2+f¡¡¡\»veË–1øÍ7©]»_~¹$Ë¼ãÆŽÁßߟ"EŠ0vÌh ãîÆmóç/`È›ƒñôô¤ÏoðùüùÎybnÍ?qâ‚‚‚ð÷÷gòûïß3ƒ¢råʸ»»Ó©Ó+üðÃyÚδ´4L&Å‹Ç`0ðä“ YºdIžòž_†F¡B…hÕ*ãÏôÙ³gi³oÝ•?~0~ü¸úˆêÕ«óÖ[C)Q²o½5”êÕ«3õÃó´hÑœ¯¿þŠßOgïžÝ„†Vgò0rä»Îy4Mãûï7Ò¦ÍsÙ®çìÙ³¼3l8ƒ1cÇä9Ÿ¹ÉƒBÜl»¶Ùl™Æ}|3®Fz{{Ó4,Œ©~˜iÿ"™Æ)^¼¸sZñâÅIHHÌ4ÏÝëÈ.íòåËÔ}ü‰Ló)Š’å³Bq§°&MˆÝ¼‰¸¸8þ÷ãL˜0‘ëׯ3~ºví’iÞ%JdyñâEç´K—.ðD½ú™>wáÂçû¸¸8J•*•«ümß¾ƒ‰“&rðà!nÞ¼é ä®]»–§í1|8ã'L y‹FjÖ¨Á{ï½KXXX®óž_ŠÝºïz«ÅÁéíõ•,YÒ9-»}õgÛ“WnÝ1»(Ýz½|ùr–yýýýs½Ü&¿Ï°á#èÙ³óæ~F›6m2¥Gbb¢sŸäVŸ¨(:ÄÔ©òÊË/³båJ† y‹>QQ,[º€åË–eÚçS?œÂÚµkY¹jS¦|ÀŽ;ILL¤m›¶YÖñÅ 5j«•O?ù˜ÖÏ>›ç}››<!D¾(w_õLLˆ¿çÏÛ“AAA\ºt‰ÄÄD‚ƒƒIL¼š)ú«zõê…oáÂôëן¯õdúôi¼òò½sµmÛ†9s>㫯¿¦_ß¾yZvlì/@F^~é%† y‹_~Ù’ãg †¬!ÖoXO`` õë×»#`‹gà üøãOÔ®]›ÿó5jÔÈ—ï7»<!Ä}•+9(¹íö7»ôçÛ·gä»ï’˜˜Hbb"#F¾K‡çŸ¿g»–ìÞGFFòæ!œ9s»ÝΑ#GxýõÞRç_ @”c¶òTkMÕg¢¨Ô¢ŸîM¹f½)ö:ÅŸ|b {T¿;O¼J‘Ç_ůN7 ×éÆ1Ûý?¼1¼];¾ùf5 Øl6Ž= @Ól®Ä=†¤¤$®]»Æè1c3þ(÷~ý?ͽ{0vÜx’““IMKãÇÌÔelTŸŒªS#G¾KBBׯ_ç½Q£rÌŸz«¡¶«• 'þ¥í|5²;G¥zõê4nÔÓ=¢å&ï>>>Î IwÊiú_ÑçÛùÇõë×IJJâ½÷Fåy{òâ•W2¶1&f6‹…Y³fe¬£[·ûÞž—:vdÑÂ…¸¹¹Ñ·o?æ/XàL{çí· åý÷'óÅ IMMÍho´m;]»FÜs¹·Û³¬X±³Ù̪U_êœç…;ò¿ÿýHZZׯ_çÝ[û±sçNÎy6lø–Ö­Ÿuß|³šF³cÇNÞŸ4‰6~Ÿmp’]gÙMËM„â~äêÊŸ]Õ»;}øða >‚zõÐ.<œaÃÞÉó”þýú1}Æ ^x±#ñññ”/_ž7’;(B ©ª¦£iÚ­W‹Í¦éY¦ñÎŸî† *ĸñ㊿¿?:ub\6õí[?ÛŠ6mÚröÜ9‚‚‚?nœ³ËXȸªïîîÎçóçS¥j5L&õë×£ot”sž×_OæÎ›ÇcµjãïïÏ;o¿cþæÌŽaØð´þyŠ+ÆÀþÒvv‹ˆ`ìØqìÚ½EQ¨W¯ž³Mnó>ô­·˜úÑGÎê´·™ç4ý¯èÕ«ªª1+&†ªÕB)Sº4ýû÷çû1¹Þž¼xçí·ÑT+W2+&†¢E‹2|Ø0 ˜/ÇX˖ϰrÅ ºtíÊСo“’’ ñõõåûï¾%&f6ŸÏŸÏÈwßÅf³Q¤H‘LFvæ>Q£Ç0aâDÞ:”Â… Ó®]»LÇmßè(fÏùŒ×{÷Æb±P¦LÞ}w$ú÷`ï¾}\¼x‘¶wT=ëuÇñ<|Ć‘i½yýnÿ,Bq¿”þÑ}ôi3c¸–”qû»ˆ ñWdÏ!rí÷Çhðdc’o\wN<í^oEJº=OÊŽÛøx@Ël×óÝúµt|…óçÒ¶}‡ûÊóí«Âòü†ÆÉ“§¨ß +T`ÇŽí²CòÉø ˜?'Žs¶Bˆ£õk¾¡yËVlúéGZ·m@ÜÅ Ìýì³ÜÝAB!îGd÷ 4ˆÐÐj\ºtÉyÐàA²sòц ßÒªeK N„š(B!¸Ž/¾À!C8|äîîî~>øøùààÇŒÙ3(R’¦Mš>ð¼nß¾péÒ%âââî{y!!!ù²!„B!$@Év»èÑØl6| ûÐøÙÆ4 o†¢(ÎyΞ8ë NŠ•,F³¶ÍœiÁ!Á´èЂ‘ãF²qõF *ô@ó;~üx&L˜@«V­äBˆ¿®ëhšŠ®jhò,.!„ÈŠ¢ ŠÑ€Á`Ìôßû‘P–­ZFá€ÂD‰Ì’vùüeöíØÇÉ#'ððò cÏŽYæ+U¡¥*”ⳟñfÿ7³]OHHˆóËðòò¢téÒ„……ѧOüýýsßcÇŽñôÓO?}!wS„"kp¢:\¼p#‡síú5Ù)B‘ŒF>Þ¾T®Z…Ò¥ËàâêZ ‚” èºÎ¼ÿΣi»¦YÒ’â“X5Q¥ëÈÞ#T©Y%Çe=Öà1–~¾”¾½ûb2™²çöŸÿôôtNŸ>ÍòåËyæ™gX³f %K–ÌUž­V+®®®rT !Äß@Ó4®$\aï¾=„5}š2eËa4eÇ!Ä}RU•S§~gKìfŒ.FJ–,‹‹Ë¿>ßÙ6’ß¼ysÆ-¡\›7oÎqÄj³R¬T±,iþÁþ”«RŽÂþ…©Z«*ýF÷£Q«FèºÎÍÔ›Yæ÷ ðÃÇׇm;·ýé†yzzR½zuÆOçΙ2eJ¦/kÒ¤IÔ¨QƒòåËEZZðÇ]˜çûsçÎѽ{w*V¬HÙ²eéÚµ+W¯þñ@ºÛóÝé^Óî\¶B<êtUåà¾4mÖ‚ò*Jp"„ùÄh4R©Rš5kÁ±ÃG±[­"ßÙ(aaalÚ´‰€€6mÚ„®ëY†;ÓÃÂÂrP$¨xP¶·“öïÜÏÕ+W ­J|\<3ÆÎÀn³sùüe–Î^Êô1Ó¹tîR¦Ï†rðÐÁ}údú§NÊ!Cøä“O(Z´(}ûöeÆ Ù.«OŸ>´nÝšôôti‹"„w¸Ý Kûöí3]TBˆGµL¼—Ü\ð¾ŸòÔf³qàà¶n‰ýó€ÂÅ…ú Ÿ¤yógœÍ!þ–Èspr;Ã/¿ø2{vï!¬MV‹‡=w=xxyÐ}pwüg»~Ù…Ñh¤Õ3­ðõñÍvþÜþá7 ôïߟþýûçj9Ï>û,Ï>ûl¦i¯½öšó}õêÕÙ¸qc¦ôÈÈÈl—7pàÀ{CBñ¨“àD!îmÁ‚DEEC=Hyªë:;¶oe̸I˜ÜݳçÆ¬^½šÎ:1~ì{<ÛºM¾(†¿c'öîÑ›s'ÎqùÂeLî&‚ŠqöÄÙ\}¶O!*׬Ìs¯<ÇÁß20ZþÜ !îÍ? ÿ€@ƒ(S¶M›5cܸñ™ž_t»ð;våÊW |…ŠŒ?!Ó«?K¿-))‰šÕÂ? Pv~>hß¾}¦ñ‚ðP1!„ø;ƒ“þýûS«V-ú÷ïÏ‚ r]žæ•ªª9'.\ <<œ‘#G²gïÞ|éØêo P|||ùöH6®ØHòµd4kÀ®_v±eãí:Ä¥s—PÙoÔÙgñðô`ÇO;èÛ»/ÅŠ“#Sñ§’®&r51Ç2íÓi˜-fš6ãüùóÎy¾X¸mÛ·³uë¶lù…-[·²xñ—¹N¿íƒ¦Ð£GwÙé÷év¯Õ«WgzîÖi2È ƒ ûpw™xç0þ|†ΦM›Ø¾};›6mbøðáÌŸ??Ûùï,OóSjj*œ9s†‘#GÒ°aÃ|]¾áï:ñ<×ê9^~ñeV}¾Šø¸x^|íEjÙ®_îªäÝóÏ?ŸcÚéÓ§éС~~~*Tˆ¶mÛ’ ;MñгX,,X°€ 6P·nF¶uëÖeÆ ,X°‹Å’§ò4/nÞ¼™i|üøñœœòŠ¢ÈÎͪÃÃagÅòeج™«*Üß±cïÅþýœUEÉ2¿BtùQ®eWžæU·nÝ>|¸³­Idd$¥K—~¸”ÛŠø¡C»th×AŽB!Ä·hñâLš­R¥ {÷í£IãÆìÛ¿Ÿ*Uªä:ýÈ‘#´i›ù™Nþr×ä/ÒÑÑt—^z™•+WdJÓn5ðìöj$“&M¤E‹øøøššJHH gºB<,î.×, ááá|øá‡Ôº£úñ¾}û:t(ëÖ­ËRÍ+»òô~‚”aÆлwïºíÒw£â¡–žžÎÉ“§X¶|kÖ¬å»oÿxˆê+¯¼Ì¤IïSqAE&MzŸ®]ºä:ýî@$»àD–<(·zšY±by–gn›ÍfL&&“‰3gÎ0nܸLéBñ0•‰w2™LtëÖçŸïÀW_}E:µÙ³g//¾ø"ãÆÅd2eùLvåéý)«W¯¦L™2 !D^ù¢( ^žž”)[–§›5cÓÏÿG`à½juŒäÜÙs<õT#çxDD×\§‹ü>gœ_y¥Ë—/ËöD=cÆ †ADDú< IDAT7Š/Nÿþýøê«¯%@B<ô @DDºžññªU«rôèQ¦NzkzÖù³+OóÂh4bµXœÏBéÖ­­ZµÊ2ŸÕbÁh4>šÊéÓG)ì‡(@ºÃ€A5cSuªÅjÁŒŽÁaÁf»šŽA³ª€ÕBš]ÃE·rúl]^í%G¾©ÜÞ±P…1cF3fÌè¿”ž›õÊÝ“<ŽÑueË–:O´iiixyy9ÇÛ´yŽ6mžËô©Þ½{K€"„x$”Œ ¥+ 3hÐ`>ùäc""ºæ8ïåi^)ŠBÃ'Ÿb¸Q8Ž{..4|²Ñ£ œ={‚Â>ž$&^#9åݘñÄJÕ†UUÀ¡awØPu»Íަ:ÐU;v T›ŠÍaÇáp`M¿‰‡wa–.þœ–­ŸÇßß_~Bñ¯8gœ;uê̲eKQU•E‹Q³fM @„ Ü¡k×®4lØråÊÝs¾Ûåé_ááéA³æÏЪu›\âV‹õÑ P‚ŠxŸÄëQCq¨6œ·QôŒOÓ54M”?ž>ÌOÏÔ3Æ=Ý=éúR8¾>Þrô !Ä¿çtŒ®ë,]º]× ¦R¥JÄÄÌ’E!Ê]Ê–-û§óÜ.Oÿ £Ñ‹ÙŒÅlþÛ·½À(F£ çÎÅßß_쀪j躎Á `±X°Û3n=y¸»c±ZsìöÓÏÏñã'`òò g¯ž|ñÅ"ù!Ä¿äd¬ë:]ºtaÉ’%$&&äúD-„Z€’·ËÓ‚¦À(Š¢cpqEU5.]ºÌ¾}û0™L]ŒìÛ»óçÏcµZ‰ŠŠ"$$„”” C¦/W×u¼¼¼p3¹¢£qàÀ!9ú…â_s2Î(§¿üòK H„R&æC9XPËÓ Ø ›Š››+‹/æÌé3(«ÍŠ»»;®.® ¾øâ BCC GÓ4 ÃA 3gÎääÉSèš &“›ýBñ/ŠPtM£kD_.^,ûCñh‰švßË(¨å©¡ dÔa7ããáÆÒ¥Ë8vìÞ¾ÞxòÂ×£®V ÅhÀÅÅ›ÍÆ®]»5j‡æØ±cüôãO|ûí·DEG±eËÒRÓP4FCöÕÀBBB2=z”Úµk3{ölç´“'OÒ«W/BCC)S¦ ­[·fýúõ9æÿÔ©StîÜ™ *P¡B:wîÌ©S§2­óîánÇw>ÁóîÏ!DA¥( F£USÑuÅ‹ѵkF—™ò*¯ò*¯Úë¸ñ“¸–t5_–·xÑ"t]Çáp`4slñ¯;/ôî£O›õ¤«ñøWf4%ñ,¿î9È{c'ódÃ|ÿý÷\¹|SåR˜ª”&yÙO(ž&ŒF#...(ŠBjZ*6»•ËVr3ý&=z”þýû³pÁlF}Ÿ3gÎf ÄÅŰk×.zöìɘ1cèÐ!ã‰÷§OŸæ…^`ðàÁ„‡‡ãååÅálj‰‰aîÜ¹Ùæ¿eË–´jÕŠ^½2º7ž3g?ýô7n̲ΜÌ;—S§N1yòäó+Ä?év90xÚ¼ÞŠ”t;ª¦£iÚ­W‹Í¦éY¦ñ6±cÇ6>Ð2Ûå·~-]#_cáü¹´mßAvøCÂa³ñÃ?P«v‚‚ƒd‡!D>»š˜È¾½{yªÑSxûøþ+ò´~Í74oÙŠM?ýHë¶íˆ»x¹Ÿ}Vpªx™ V›ƒÒ¥JR£F Š-ŠªªL®(n®¸=ÖŒ?üÀÉ“'IIIÁn·Ó°~CþóÉp7eT‹»Gpp0š¦–šzÏuÆÆÆ2`À¦OŸN“&MœÓ?úè#úöíKdd¤sZ:ur N ãŽËºuë0™L 0€9sæäiÄÆÆÒ¹sgù• !*ŠÑHhÍPvîÜÆõˆÑh#„÷IU5®^Md×o¿R«Vm\] Fó†‚ÓH^µ¡êlv;éééÎ;%è:ºÕ ¼òÊ+lÞ¼™åË—ãççÇž={¨Q£º–¹q›› ›ùæ= mذ1cưhÑ"jÔ¨‘)mË–-Œ5*OùoÑ¢3gΤW¯^èºÎ¼yóhÞ¼y¦yBCCIKK£T©R¼üòËDGG;ŸÊi³Ùøõ×_™1c†üÚ„ƒÁ@ñ¢!ØªÛØ¿w/))ÉϹBq_ŒF#…} J@ ?n·.”K€’O̪ŠÝnw>÷ä¶Û!†¢(¤¦¦¢( ÁÁÁX,Lî&ðñõÁÃ݃òåʳuËV®&]Å¡Þ~Jö¢¢¢˜={v–ààúõëy~ÀãØ±ciß¾=}ôQ-kíÚµÎôÛU´TUåøñãŒ=š«W¯2vìXvïÞMÅŠñõõ•_›â¡¢( .®®”-WŽTUuv9,„âþÊWEQpqqÁäî‘©ó( Pò®©(ú1…®ë™‚›ÍFíÚµ)_¾<ãÇÇÇLJråÊQ4¸(éé騬6:v|‘Ùsæ€AA'ç“ß”)S:t(EŠ¡Aƒ™ÒüüüHJJrVËÁƒóÒK/Ñ»wo £ Ê AƒX¶lY–H·ZµjÌœ9“°°0g€›©š™BdÈf̘ÁâÅ‹¹~ý:V«•½{÷òúë¯ç¸¬J•*1cÆ ’““INNfúôéT®\Ù™ͱcÇp8œ={–ÁƒÓ¶m[nܸÁ©S§¨[·®±B!„â¡V`ªxT+›ŠÁ` P¡BYêÐݤhšÆõë3î±* ƽPQ£ðÑÜñ?z{ Õ›ëׯϊ+ˆˆˆ ))‰èèhÊ•+ÇŠ+˜¾T©Z•’¥Kãæ&ÏAÉWϵ}…o¿]‹›§Ê³mžÃf±c½™ŒÅlŘ@Z` œ9‹ÕÛ \L(—ã°•Èho6P:ßÓ\Ý[‡„”:sŠô›ébÛ·oß.¿0!ÄCKÓ4®$\aï¾=„5}š2eË9Ÿ%„â¯SU•3§~góæÍ]Œ”*UC(_] ÒNnÕª ûÿÊëÝû€b$4´®n&BŠãž}/QûõkØÍf< û“°ë7 ®F4›Ê—_î%-ÙŽÁuf]'5% ‹Õ*G®BüÃtUåà¾4mÖ‚råËËBˆ|b4©P© FW¶oÙBpP0^^ÿú| ÚN®R¡6ß|³–¾¾XÌ6çΜÆb¶pé2q—ã±ÙíÄ;‹Cµ`2¸`W\ONàZÚ9®]¿Aü…‹¤'ßÈò$w!„ÿ@€ܸqÒeÊÈÎBˆ DÉRÜH¾ŽÝá(ùu)h;xÒÔI˜\ tëÒUUÐÑ2Ú’h.èª ‡ÝÍh:VÕ+þªÎk¯v#-=™#‡NP´DijÖ¬ÉàÁƒåˆBˆ:@ÑuTUÅh4ÊÓã…¼í[ciðdã;súKø]\PU ]×$@yÞ6t0™L|¹x11³c¸r%žøø+·Îtwœônè:Ô¬Q«ÕÊ7«WSºtiçIQ!„B!Ê_fr39ßwˆ kDÄ_^V~F¦B!„BˆG0@B!„BœM›6Q·n]vïÞMÛ¶mèÞ½ûß–·ÔÔT"""8sæ #GޤaƬýfe¾-¿À<¨ÑhtáòåK$$\¡GHÂÛ¶¡i³0ž|ª!uêÖ¡ZÕª”(B`@ÁAþx*„âê†ÁÅDpP {ûâããCP`ÀÓÛ›ž½zÊÑ/Ä#æ÷ßO2hà@|}}ñõõåÍÁƒùý÷“¹ú¬ýúõåøñÎiS¦|HttÝ##ñööÆÛۛDGGñá‡S3}¾ÿ~L›6=Ó´iÓ¦3`@ÿ,ëÊî.¸v耟Ÿ… ¢mÛ¶$$$ÈŽB<ô, óçÏçÛo¿¥nݺԭ[—o¿ý–ùóçc±XغoÞ¼™i|üøñœ>ž£GrúÌi®]»FZjgÏ\bÖ›ÏÓ÷…†4ªY†¦µÊ±yV_Ü\ÒÒÍØívÜL®èŠÆ‡ähâÓ²eK¦M›NJJ ÉÉÉ|:mÏ<óL®>›’’Âôé3¨^½ºsÚæØX^êØ1˼/uìÈæØÍ™¦…‡‡sõj¢³zÙ–­[¹~ýšóê—øs:t`À€\ºt‰¸¸8*UªÄСCeÇ!zîîîÄÆÆR»víLÓk×®Mll,î9Tź_‹-¢yóæ\¸p€;w²dÉÂÂÂèׯßYg©âes(Ø:ºª’Ÿ@B|f«9óí/Œéʨy?ð|“PF÷h‰ªi´ì?›Á]šòÓ¯Çùi÷ tMÅa“ÉMŽv!Rw߸]MkÒÄ ´~® “?ø€’%KòÝwßæzYEƒƒ3ÍŸ””D``Ö»$%]Ë4Í`0Ð7º/Ó¦MgñâE|úé4úõí‡ÁõZ‘´GÉÞþýûï=<<˜0aÂíÅF!\¼x‘Ž;²råJFÉdâý÷ß`ë+0ŠÃnÆ ÚP5‡ÝbT0(TMEQEAGÇ¡jøöÂäæŠªë¨ ðÅ (¨ºšÐè ;ì Ù?¨1$$„¸¸8çøÑ£GéÒ¥ o¼ñ}úô2ºv›MÇŽiܸ1¿üò Çgâĉ¬Y³&ÇåDEEñøã³{÷nvïÞMíÚµ³ÔÙ‹‹‹Ë4Ü-66–°°0>ûì3úôéÃÁƒÙ¼y3>>>¤ ›;vðæàÁ™Ú ìرãO?§( eË–evL Cß~›Ô´4š4nÌÊUYƒ›•«VѤq“,ÓM&¯÷~è¾}éýFoL&“|)·èèhzÖp¾ïöj$½{÷æøñc¤¤$w]Ïþs2È ƒ q¸íîééf3O7oÁž½û2Mß³wO7oAºÙœ«åþÕ åÎ;&½{÷~ çƒsÅìPP5p8¤¤¤žnÁËÓ•”+&“ Š¢ 94ïÑ•AÅ)Z£:^ŠÑH|Üeš”­ËþÕ«IIˆÏøÒUHKM½ç:ccc0`Ó§O§I“?þh|ôÑGôíÛ—ÈÈHç´:uê0÷V>Ù9yò$ëÖ­sþ0`sæÌÉÓ>ˆ¥sçÎ,]ºÔ9ÝËË‹÷Þ{/S—¦BˆìU®\‰O>ý”>o¼À¬˜ªV©’ëÏ/^œúõðÕW_Ñ=2’¡o¥mÛp|||xñ…øúëo˜9sÖ¯ÏvƒdÐÀ÷\@à#WÍ+7½x™ÍfL&&“‰3gÎ0nܸLéBñ0•‰w_àzõÕn<ÿüó|ýõWÔ®]›½{÷ò /2nÜXL&Ó- oßIY½z5eÊ”y Û^pÉ«6šEQH½™ŠÍ®2õ?my­ç\O6c0(\\P<=Ñm©øùáUÄŸ ? y»‘v3Ot‡Š®éèÛ=¿Ä 60dÈ-Z”)8زe íÚµËSþ[´hÁÌ™3 sgΜIóæÍ3ÍJéÒ¥iܸ1Ó§OÏÔŸ´Ífã×_å©§žÊ1x¹Ý£ƒ"gsfÏfû¶í„V¯AhõüºóWfÏ™§e¼Ú-‚… 3ªfU¬P¯¿ZÅ·ß~ç\æú øjÕÊŸ­"r:ÿ¤Ü9ܼ̘1ƒáÃGP´h1Ú¶ §~ýú™ÒeA úp÷E›;‡ˆˆÆŽK«VÏÖ”V­žeìØ±DDDäz¹ya4±ÞÑ;X·n݈‰‰É2ŸÕbÁh4æÛù àÜAQUv;v‡ƒäk©T(êÇœÿìDÓ4ª”äÔå$¼½\9·áT¨Ód—t;®.¸^I#mÇ!ÎÜg!o¬é7±942žGŸ½¨¨(fÏžM5²¤]¿~=Ïx;v,íÛ·ç£>2Úœ¬]»Ö™~»J—ªª?~œÑ£GsõêUÆŽ ÀîÝ»©X±"¾¾¾Y–}èÐ!FÍ—_~)ÿp„àÞ Ì+UªÄêÕßÜײš5kF³fÍ2]\X±|Ù_ÎSvéf#ù¬'Ñ´´4¼¼¼œÓÛ´yŽ6mžË4OïÞ½åŠâ!¼h“}¹ÑÐ4h0Ÿ|ò1]H¨( Ÿ|Š ãFýéÃr]\\hød£G/@Ñ5ƒîÀj±1dÀSÔ«Rœt‹tðñ6ñÑcY¼òºÔ{š7Ë÷#ýçTƒ `çq®6(ÇK_¹u‰t]C'ç/sÊ”) :”"EŠÐ AƒLi~~~$%%œëü<˜—^zÉYgoΜ9 4ˆeË–e‰T«U«ÆÌ™3 s(±±±YîälÛ¶Aƒ1gÎgƒ{!„(˜'ãÌ'dUUY´h5kÖ”D!ʺvíJÆ )W®Ü+=<=hÖüZµn“ëBÜj±>ZŠb³csè€Æî]ç)ææIÜåd\\Œ òf÷Á3ôkÒŸš!5Øyé7>Ùö)^n…¸ž~fešÒ­NEýŠrÓzM×°Úmp/´S§NøùùñÚk¯ññÇÓêŽ'?7jÔˆõë×Ó³gîô¸sçN¾øâ‹LmPªV­šãüƒMӜ㱱±¼÷Þ{™æY³f cÇŽeÁ‚<öØcòKBôÓq¦mPP0•*U"&f–(B PîR¶lÙZ6.XÌf,fóß¾í§Š—¦¢:,¸¸¸²úûƒ¬Ü°—çÛW'5ÅÎ÷ßÇ×ÛñËX²ÿKt]ÇÅèBbJ7nÜ`—î…Ÿ[azÔïÁ´ÍÓ2¾t‡Î½ªx´jÕŠ гgOnܸÁ+¯¼À!CxñÅ1™L´iÓOOOŽ9¬Y³rl(_©R%f̘A¯^½€Œ^¸*W®ìLŽŽfÀ€T¨P‹/òÞ{ï9»,¾qã§NÊÔÆdΜ9|þùç,_¾œŠ+ʯXñPœŒï<Ù&&&äúD-„Z€ò0+0ŠAµ¢Ù5nh©OÔ-ÅÖmgðöv£Ž«Ñ O£+‡›jCµ©øxøp,á‡.d<5ÞÃÝÍ¡åꋯ_¿>+V¬ ""‚¤¤$¢££)W®+V¬`òäÉLœ8³ÙLµjÕîÙÍïŒ31b³fÍ nݺ̘1Ù޺ukúõëlj' $<<œwÞy€­[·R¯^=\]]óßiÓ¦™ÖsâÄ ¼¼¼äW-„(€'c D„B”‚ô FÕ€{¡B¸{x’ššŽ ys 4 yºc¶Zñó+ŒÅaáúd\ŒT‡Š««&w¼ÜŒ¨ªŠ]uà[¸0è`P²ïÄìîgT«V={ödšV±bE>ÿüó\ç¿bÅŠ¬\¹2ÇôððpÂÃóMË®ýIvÏIBˆ‚¡èwTmBˆGºH|„Ëàœ½p_oo>›9ƒ¸¸S8th*šfÇfÕQ°¤ßDSŒP±ÙUÀ€Åj]Á¡›QU;–TâÅ‹b±YЕ‚™ÆÆÆæ©½‹B$Š¢`4P5Uî !y•*WåZÒÕ|]¦ªiùÚ °(·<×ö¾ûn-ª’J£°&Ø,v¬7o`1[1$$’€röVo/0šP®\ÄX‹ÕBjº™À2É}Nqu_®¦¦pøìiÒo¦ˆmß¾}»üZ…o€øúúqáÜy‚‚ƒd‡!D>»–t?¿"9Ö’å>´lÙ†ý‡åõî}@1Z W7!Å‹qaߊ—(=ùv³ÏÂþ$ì݃ÁÕˆfSY¶l/iÉv ®û1ë:©)iwW„Bü³ŠÑHhÍPvîÜÆõˆÑh#„÷IÓt®&&ðÛ¯;©U§®nn ä7£ÑH• µù曵ôèыق‚¹3§±ÙU.]&Ýf¥°—×ÏEAÃÛäKŠbåzr©i)p%%5 ˓܅Büý Å‹†`«ncÿÞ½¤¤$£ªªì!„ȇÿÎ…} Z½:þþ¸{xH€ò Lš: “«n]: ª :ZF[Í]µá°;°9MǪÚÀaÅ_ÕyíÕn¤¥'säÐ Š–(MÍš5þJÆ wœÏn?)^סfX­V¾Y½šÒ¥Kßš.'?!„ø×).®¸¸¸ÊÎBˆG\ PLn&çû®tˆ¸¯¢B!„âßCZ! !„B!$@B!„Bˆ»¨*^§O¥D°:ýæ§; T36UÇ¡P¬Ìèlv°«éT0« X-¤Ù5\t+§ÏÆÑåÕ^òí !Ä¿„®ëØl6T»MÈ !D¾1 ¸¸ºb2™$@ÉogÏž °·É)i¤¦¥¢aÌèéEµcS‡ŽÝaCÕUìvšêÕŽC‡]Ãî°ã°Û±YÒqs÷`éây´lÝ9r…âN,f3ׯ_'þÊ%Rou/„âþƒ///ŠÁÏÏw÷q¨À(AE¼HJJ¦Å³Iˆ¿‚ª«(º »êÀ`0 éºš±ã5MCCCsèŒ h:6»Úµë0°Ow|}¼åÈBˆ˜Ýn'55…‹ÏZ£æ­5eÇ!Ä}Ò4øËq=zooÜÜ|°€•˜ÅhtáòåK$$\¡GHââIK»‰ÍnÃfµ‘ššJÚÍ4Ìf3Š®‘–n%ÍlÁ ëñÄnÓÐt ƒÁÀðÓ·yÜ IDATôö¦g¯ž|ñÅ"9z…âä°Ù¸w‘5# (MSq8²c„"Å`0òûïÇiT¬©(ùIQt£ £]Ó§Ï ë:W⯠( Fƒ›ÍÆ… ñ|7­;œgëÁ3…o½HÓ>3¸šlÆÃ䆛É]Ñ8pàµBñÓt´´4üüýQU‡´?Bˆ|æëçGZj*CÁè«Àôâes(Ø:ºª’Ÿ@B|ç/œÇjµb±X¸™~»Ý΂1]5ï\]ŒŒîÑ’á¯6§eÿÙ îÒ”§ëV$ÝjEUUv0™ÜäˆBˆ˜®ëhš†Ñè"Á‰â‘·oÏ.ÜÝ=òu™F£MÓ Ì>(0ŠÃnÆ ÚP5‡ÝbT0(ÐA!ã½¢(8T ÿÂ^˜Ü\QuUƒb¾UW3N~:è;FCöj É4~ôèQj×®ÍìÙ³ÓNž}úpúôi:vìHãÆùå—_8~ü8'NdÍš59.'**ŠÇœÝ»w³{÷nj×®Mttt¦yâââ2 w‹%,, €Ù³góú믳oß>vîÜI•*Uxã7äÿ¢ ‡(2È ƒ ôð Ê¤À´A1;T )))¤§[ðòt%%ÅŠÉä‚¢(hÍ{tåFPqŠÖ¨Ž—Ãb4w™&eë²õjRâ3Òþ¤+ËØØX ÀôéÓiÒ¤‰súG}Dß¾}‰ŒŒtN«S§sçÎÍqY'OždݺuÎ>¨ Àœ9sò´bccéܹ3+W®Ì”Ö»wo>ýôSùw#„(ÀÑIÁ»Ê'„´LüÙ¬Vl6[®«Þ*Š‚»‡..÷^œFòª ‡fGQRo¦b³«ÌœÕžÛÏ3cæ6üý<ÁÅÅÓÝ–Šov‹“ [JN¦àéïOò¥K蚎î¸÷ß°acÆŒaÑ¢EÔ¨Q#SÚ–-[5jTžòߢE fΜI¯^½ÐuyóæÑ¼yóL󄆆’––F©R¥xùå—‰ŽŽvvµi³Ùøõ×_™1cF–e§§§3þ|5j$?f!Džø’t5ñßq.¦à]åBˆY&ÞKúÍ›xzyý?{÷E™?pü3»›lz!@¤&¢4T£)œˆ ˆ¢  ˆ¢ÒDãΆÂéá! =ËO°€g¬§A„л !@*éeËì”ß•%Å ¨ |ß¼æÅîÌ3Ï”ìÎwžöû(ªÊîÝ»Øø}â/6×t½–>}ûár:.žÅ©ëhM£(¿„¸è^}q †apYl)™y„û‘öÙÿˆëÔ•À"›Ãƒ_  ¿¬RJ7ï%mOA!¡¸e¨šAùxô•7n¯¼òJ…à   àœxœ9s&ƒ bÞ¼y@y›“U«Vy—Ÿ®Ò¥ë:‡bÆŒäææ2sæL’’’ˆ'<<Ü'ßÓmU"##«­b&„uâ×øw|bøÅšUôx‹œg!DùN¬úûðıcìݳ‹+®ìDL%í–ÏÏæM6oÚÈŒYÿ$  Ú´.—‹Ù3§Óÿ¦¸œ¿}Ûu¦ ŠièXL ·Keꤿ°øß·ñÔÔ><ý·¿òf º¥-ùÙ\ݤ3϶šÈÀµܶ5’[ƒ¸¯à*žê:ýô‡m‚i˜ÕĦsçÎeÚ´ilÞ¼¹Â²ˆˆòòòÎiÿ§L™ÂwÜÁþýûÙ¿?C† aòäÉÒY­VÚ´iCBB+V¬ðÎOLLô©fvf`sðàAFÍ£>*ÌBP^*pzjÖ¬9ƒo»C‡ù¤9pàC‡ £Y³æ4kÖœ¡Ã†±ÿþ ùtûK÷ ¥­¦irm·¿Ù êW">©dúbÍ*¶nÙŒaš•.«iýëÞBhX¸Ôq—I&™êt”ãÇŽ±ß""ê³g÷N2ÒÓ·6(º®ÿbp€®ëçí÷ îTñR=¨š $m;FŒé™EØlVb†’´'•‰=¦C“ölÉØÊK?¼L°Ž®kÞ›»;$:"š2w†iàö¨ÕF¦Ã† #""‚ûî»ùóçÓ¯_?ï²îÝ»³fÍî¿ÿþïÿ–-[xûí·}Ú \~ùåUGŽ‹Owp‰‰‰LŸ>½Ò´¡¡¡Œ;– ÈŽ§œ®¶T\\Ìk¯½ÎCcDzníZ ¼£‹Á·ÝÎcýƒ×OµûïGqÛíCøü³5´lÙÒ›OP` _}ý57žñðù_$'ù÷Qªø^ "+3ƒ˜˜Æ–………S\TX£-Ô4Büù_‰¿O?ÆáƒèÝ÷‚‚‚(,,àÇ6Ó¸ñsèu¦Åièèš ›ÍO¾Üè'ßãÇãÇøj×a†M}—ü,{Þç±Ïã©/Ÿ¢°¬€£¹GHËHe[êVÖì]Ãè.£1Ìò›~S3©®Š@¿~ýxóÍ7™:u*|ðwþÔ©SY´hË–-£  ·ÛÍŽ;xàªÌëÒK/eÑ¢EQTTÄÂ… iݺµwùøñã9x𠚦qôèQ¦L™ÂÀ(,,$%%…Î;{ÓOš4‰Ÿ~ú MÓÈÉÉaîܹ>Ë…§o^Ø8q‡öΛ;÷Æǽ£FJhh(÷ŽÅøñãxá…û¬ÿðÃY°`¡Ï¼ 2iÒÃ>ó¾ùæþÒ½Ñ1¹²c'ÞygY¥ûsºôät ÏiGeĈ‘4kÖœÆMb¹sè0NžK[_FËVq$$,öÉçÍ·ÞâÊŽˆŽiLïë®cÏž=Þeº®óì³³i}ÙåÄ^Ò”1<@Ii©Ï>T·~Uû^MˆRéS¿NWwáHòO¸Üî*Ÿ4ê†Á¡ƒøî_ó¿/?gçŽí¨7í—Ÿ­öy},í(‰k¿áë/>cã†DŠŠ‹äé­L2ÉTkKP4Ý ãÄqz^׻ݎªªsU—n¤?†b±\0½xÕn†u7†Ç@ÓTý±š®îÜ»ÝBh¨?XMüüü #ØŒ¢(èªNX`s2ÿ›ù<÷åsÞÅÐŒõJÐ¥KV¬XÁ¿þõ//.ÿQoÙ²%+V¬`íÚµtëÖÖ­[óä“O2hР*óY´h›7o¦S§NtêÔ‰­[·ú4xïß¿?'N¤eË–Ü~ûí´jÕŠÙ³g°qãF®¹æüüü¼éÿú׿2nÜ8Z¶lIß¾})((ð§EQ®¸¸˜… Ñ®];ï¼õ‰‰Ü1dH…´w ÂúÄõ>ón¾ùfrsOòã?ðýÆä{ x2L˜Ècÿø;iGSY³zÛ’¶Uº?§KvòrOú4N>b$}ˆƒpðÀ~ââZ1}zÍ;ã¨nûÿš;—ƒ±níwìØžDFf†Ïº7nä‹Ï?#%ù'Ü4€)Nõ.›?ÿ%vîÚÅÚï¾åÀý2k欯nO ©²ï~.kÓ–ÝÛ“ª/ 5å'Š‹Šèu}n<„€€RS’}Ò†‡×ó¾.))¡[ëtÛ4mÖœCû÷aµXd ™d’©VŽƒbµ(téÖ?tMóÎ æšk»]Pã Ô™*^šn! $„€À JJ(ÀÔG?‹AHPN·›ˆˆz¸4…EجtMÇÏÏ»-€`+º®ãÑ5ÂëÕ“ò+qö$mÚ´aûöí>óâããùÏþSãý¯Ð5ðÙ7A7ß|s¥Ë*kR]z!„ïSûèFøâ‹ÏòòˆŠªøT?**м¼|߇# ÆO`Á‚…,[ö/¿¼€‰&b±ø~M^^±±±¼üÒKç´¿?lüÞû:00§ž|’Žj^*ZÝö?ø`ôOÿÏ9õðã´æÎ%""€ ÆóïSy,[¾œ•+Wx×}zúSôê}/¼0·F럔ýVõëG’W¿>iGSiÖ¼E…åÇÓ¥{BÃÂq”•Ò¼y 6ÿð=W\Ù g%½Êtºê,§ÃAtL öí!0(˜Ò’bùBÔJU>ÛH€rŽO#<4”¥ ‹HOOA3-`è†Õm¢(àr”a(V,訰àr»ÁTÐL'ºîÁUbиq4.Õ…©Ôh211ñœÚ»!ÊoŠMÓäèÑ£<2y2{öì¡iÓ¦§ntësòäIbbb|Ö9yò$‘‘õ+ä5lØPæÎËÿûû÷ícÙ;ÿW!Í[o½É¼Ïã_s_ ,,Œ9sfû´[ù%?þø#3gÍbÏž½”••å}Ê×TuÛÏÎΦyófU®{:¸€ò¶š¦yßgffÒµëµ>éÏÞ¯êÖ?·QªªV¹\UUb/iʮۉ¨éÓpSUU\n7kÿ÷µï¾6??Ô"Õ'-€Ýn'÷dŽ·4Ý0 ¬Vkµû „”‹ù»¨Î(7 Ê_¬BWJèÞ«'ªËƒ»¬—Ó%ç$¥  Mà V;JÖ \Q±¸Ü.JN¢ša K!wg'rKŠÙwôŽ2G8öM›6É_©¿‚¢(´hÑ‚W–,¡ï_ÿJÏ^½ ¡g¬üðC&=ìÛŽdå‡Ò³GÅÞòìv;<øã'Là‰'÷vvq¦N;²|ù2LÓä›o¾å‘Épã¾}5Þ×ûîó³fѧÏõ„††RZZJó?7Ö·Ùl8‚N5ÎÏÏϯñö5jÄÑ£iÄŵ:çsبQ#¾úò‹ ÁÜïÂ4«­zkš&‹…øÖ—±o÷.:]ÝÅg™¿¿¾7Þä=Gg¯[ÙëÊžFš2X¤¢8û»È0 vmOâ²6í ôÎ/))!åð!®ì|5ÊhR–º´³7Ü0€®æ‘G¦1í±é¼÷ÑjÖ|»ž¤¼¾ùæ;ö¹Ü8‘Îîƒûø I;¶sà§CKMeáóß2{ÂO,}ëM–ø!«WY^º"„¸à5nܘ.]ºòßÿþ€iŸFBÂbÞzûmJJJ())áí·ÿ„„Åüío«4ÉûŒÿ~¸òW•2ô¿±?£FÝË%M›1sÖ,^Y²¸Ê´'L oŸ¾>7î/¿üÓ§?Í%M›1èÖÁt¹æŸuæÏŸÏç_|N‹–­èÓzôè^ãíÿ}Ú4.½4žž½zÓ©óUÄ6‰­ñq=òÈ$ºtéÂàÛn'ö’¦<øÐXÜ4àwùŒÊÛqš¦Ÿ—ÿY­6233ÈÉÉbôèQdçdSZZ†êQQÝ*%%%”–•ât:QLƒR‡›R§ ‹iU?j`œŠwïÞMPh(÷¹Ÿ·ß~G®Z!„ø3¿ßýühÜäRRÓ¢E+‚C‚Qi")„¿•i”•–‘ššB‡+®ÀåvK€r>)Љbµa±Z18r$Ó4ÉÊÎBQ¬+ªªrüx6_,Ë–ýÇØ¸'«¢°èo·Ó{ì"r‹œÚýñ·ûa*»wï•+W!þd~~~„׫ǥ­/ãè‘JKK1êÈS>!„¨Í, !!!\Þ¦õ#RVZR'†Ù¨3Šª)¨š‰©ëäd瓃Óíôm@d›όàé׿æÖžm™1útÃà†‡_aÊðÞ|ûã!¾M:Œièh°ÛýåÊâôÑÊ÷+Ì»®ß 91òŠ¿¿?aáa\rIS‹”ž!ÄùbnU­3ÁI P4‹®¢&šGC±*X º¡£( Š¢`b¢é‘õ‚±ûû¡›&º1 ±( º©—4&˜š«¥ò©I“&¤§§{ß8p€áÇóÐC1vìX’““yþùçÙ´ieee\~ùåL˜0+m3%%…§žzŠ­[·põÕW3{ölZµjåÝæÙÎÜ€C‡qï½÷²iÓ&ï¼üü|úõëGFFF…ôBÔ6·Ý1 Ã0q©†a¢¦<)@yCy·ËÛå–“!„¿Ó÷l]QgSY ðè (àp:0 Õ£y;}1 Ó4y`ö{„Ùùaûažó+žë .kÉKVóÕÆ}øûaš&ª¡“‘™õ‹ÛݶmÆ ãé§Ÿö'GŽaÈ!ôèу 6pèÐ!æÌ™Ã§Ÿ~Ze>ãÆãª«®"))‰¤¤$:vìÈøñã+$gNgKLL¤W¯^>óþýïsÏ=÷È_B!„¸ Ô™§¦  iÅÅÅ8.‚ƒü(.vc·ÛPCÓè3z… ݾÁš†bµ’žIÏÙõÉ'çd—4:”–”T»ÍÄÄD&MšÄÂ… éÙ³§wþ¼yó˜0a£FòÎëÔ©¯½öZ•y%''³zõjìv;“&MâÕW_=§s˜˜È]wÝå}ÿÓO?±nÝ:¾ûî;žþy¹šE­'U¼„BqÁ(Š®¢E¡¤¬Õ£“°x›7cQÂDF͆„©–Þ0Ë…ÍnG-Îãxr1A‘‘ed`&¦¦V;ÎgŸ}Æ3Ï<Ã;ï¼Cûöí}–}ÿý÷<ýôÓç´ÿ}ûö%!!1cÆ`š&¯¿þ:}úôñIÓ¶m[JKKiÚ´)wÞy'ãÇÇjµ ª*?þø#‹-ò¦Ÿ5kÓ¦M# @®dQ'H/!„B\0ŠS×Ñ<<šFQ~ qѼúâ Ãà²Ø(R2ó ö#í³ÿש+E:6‡¿@~Y¥”nÞKÚž$‚BBq;ÊP5ƒòñè+7nÜ8^yå• Á @AAÁ9ð8sæL ļyó€ò6'«V­ò.?]¥K×u:ÄŒ3ÈÍÍeæÌ™$%%Oxx8P^š’ŸŸÏ­·Þ*W±¢î3MTUÅãñHÐ*„ç‘ÅbÁæçç­Å#Êùüí2t,¦†Û¥2uÒ_¸æ²Æ8\0!,Ôμ·Y¶r﹞G[Mı¶Åˆx¸ŠÜ®-¹cÏÐò‘ŠÍò~¡Mª.A™;w.Ó¦M£~ýútíÚÕgYDDyyy4jÔ¨Æû?eÊî¸ã|ðA^}õU&OžÌûïûVy±Z­´iÓ†„„zõêå P}ª™Íœ9“çž{®N5xBªx‰ª8œNޤ$³uë232å„!D¢cbjœÖjµQ?‚¶mÚÛ”€À€jkI€rŽÕƒª™€AÒ¶cÄø‘žY„Íf%¦a(I{R™Øóa:4iÏ–Œ­¼ôÃËû‡Pà(àºæ½¹»ÓH¢#¢)s—a˜n Õ|@Æ #""‚ûî»ùóçÓ¯_?ï²îÝ»³fÍî¿ÿþïÿ–-[xûí·}Ú \~ùåÕF»g>ELLLdúôéÞ÷dðàÁ>ëœÝû˜µTñ•ñ¨*éé'X¿n-}þÚK.iŠEºBˆJ½÷î;LöXÒêºNJJ2ë¾û†ðzõ Ã]k¬;U¼ ]sa³ùñÉ—{XùÙnÔŽ’b_~yˆðÐVd¿Ï»»–cš&6«“Å9²Í &¿£»ŒfÁú˜šIuU¼úõëÇ›o¾Éý÷ßOaa!C‡`êÔ©Ü~ûíØív @PPû÷ïgñâÅU6”¿ôÒKY´hcÆŒ`éÒ¥´nÝÚ»|üøñLš4‰¸¸8Nœ8ÁôéÓ½]’’’BçνéÏD$8BÔUªªòÃ÷ßÓïÆ\sV‰µBˆÊÕ¤$Äb±)6‹•70lø PÎ'‹îÆðhšJ` ?F‰ÁÕ›²ñ‡TBCýÁjâgõ'Èꇦi¨ºŠ®ê„†q0ç {—€¡5ú`»téŠ+9r$yyyŒ?ž–-[²bÅ žþyæÌ™ƒÓé¤M›6º >Ó¢E‹xâ‰'X¼x1;wöiðÞ¿&NœÈáÇ‰ŠŠâæ›oæÿø7näšk®ÁÏÏOþ…Ã0ÈÊÊ$¦qc9BQÃàĬ¤‚¦iØloï›ÄÆ’——[gJ§ëÎ@º…€ƒ()q Sý,!A8Ýn""êáÒ\a³ZÐ5??ì¶‚ý­èºŽGׯWL°(•Hg—D´iÓ†íÛ·ûÌ‹ç?ÿùO÷?>>ž•+WV¹üæ›oææ›o®tÙÙíOj²ÏBÔuÖ¯¥_ÿ8eÞ×âÂ¥ëºTëBˆšG(´ïرƒ»†ç½wߥcÇŽ¾7ü6º®×™Ã«3ÊÑãi„‡†²4aéé)h¦ Ãð ºM\Ž2 ÅŠÕ£\n7˜ šéD×=¸J 7ŽÆ¥º0³N{bbâ9µwâBpf@"Á‰Bñ3Ã41ÎPvìØÁM7ÝD~~>7öïÏçŸ^!H9WªÛêvSÓ»eEQ ¬´ç‚ Pn8”/¾X…®”нWOT—wY!.§KÎIJ4@9š†;4¬v”¬¸¢bq¹]”8œD5/–BîÎNä–³ïèeŽ:qì›6m’¿DqÑq8Ê*}}¡ŠlE^îIùà…BÔ€‰i§‚“ 8§žz’{ï½—·Þz‹°fÍ:v¼ò×(ªÊî=»Ùø}â/6]®íFŸ>Åét^< À 7 `×¾yàÞ± XiÛöRüüí4iÃñ»i‹§¨ÓIP½HrvlÇâgÅPuÞ¥E,~»pš&%Å¥å¥+BˆZéb¨â%A‰Bˆ_ž˜?7’Ÿ>}:sæÌfÔ¨Q@ùX~AAALŸ>Õ«Wý†m˜lÞ´‘gfý{ƒ‚òÉ'Ÿp×°a<;s:7öpñ(V«•Ëâ:òñÇ«=ú^\N i©GP=:9™8T7õ‚)H;Š‚A¨=œbÅMAQ%¥ÅX𣸤 ÂHîBˆÚã·TñŠlåó><<œ¿üå/Ì~­•‘# IDATvÍš5«5…'B!Ö®]Ë’%Kضm\ýõ̘1ƒ T¡˜Fy€òÑÿ‹Ífó¾¸çî{~×pŸy¿†®ëU'Çgøðá9r„Ö­[Ÿ×6.¶ºö!þóßÿÄîgáîáƒÑu£¼-‰aÃÔU4†ª†‰[WAs©›ÜwÏÝ”:ŠØ¿÷0ѱÍèСS¦L‘¿ !j©ßZÅëôÍ¿išäææòêÒ¥Œ¾ï>¾ûö[9¹B!j¥K—2vìXºté‚ÓéäÅ_düøñ¬X±¢šøäç*^V«ÅûúLUÍ?JJJ9r$©©©<ùä“\{íµ¬úxåÅ LìI0Án·³|Ù2–¼²„¬¬l²³³N}bg|x§Þ˜&thß·ÛÍÇŸ|â}‚ZFÒâbu¾ªx)ŠBTT›:•Å‹—xçWV ræ¼o¾ù†ÏÌ$%%…èèh¦>ú(wß=Ò[:súÿÓé#D1ûÙgY¼d ™™™äžÌA×uþùÏçX¶|9eeeÜxc?æÏŸOhHH¥û°`áB/^BYY·Þ:ˆ¿ð‚wpךäuöö«:N!„µÇ{ï½ç}ÌôéÓiÓ¦Mµë˜˜è}lYYÁÁÁÞ÷Ï>û,ÉÉÉ<þøãÕ³ñkÕ¹>íþvïöˆ‘#ùþû$''SRRZ>•þ<•––QZZFYY›6ofûŽ>Õ;E‘¿ !j©óÙ‹Wnn.ó_z‰«®ê\ãuÆO˜Ècÿø;iGSY³zÛ’¶ù$y¹'+Üø'mObíwßzƒƒùó_bç®]¬ýî[ØO@@ ³fΪr››6mbCâz¶'mãäÉ“<ÿü¿¼Ëj’×ÙÛBQ÷$&&ú Î]E„rª¥æÓ¯õÎ;ïЧOŽ?À–-[x÷ÝwéÕ«'Nü]ÎM.!Dmô[«xÝ¥^½z|¶fu× ;;›¼¼ZùAó<äÎß´_'Nœ`È!¬\¹’3f`·Ûyî¹ç~·óP!@yæÝýru!~•Iýž·¼~k¯3oÌ yíµ×yüñ'øøãj´þ[o½É¼Ïã_s_ ,,Œ9sfsc¿~Õ®íó>33“®]¯õ™W]Éí™%¼Íš5%''çœò:{ûB!êŽM›6ñÈ#°téRZ¶lYmZÍ£1pÐàçíþ =×Þ}÷Ý<þøã\{mùïШQ£ÎK§35Pjs³Œm=\ߨü‡ph,ºU7Ñt ŠÛ…‹æBõ€Gw`ÑÁ©+àvQê1PtiÇ28dí& BÔb糊W½zõ˜4éa^zù埿ül6AAAäççû¬Ó©cG–/_†iš|óÍ·<2ùnܷۨQ#¾úò bbbj”>--Íû£tìØ1oiʯÉK!DݱjÕ*žyæÞ|óM®¸âŠ_Lobþ¡#ßR{ì1|ðÁßu{–ʸ6þëÕÊMó˜0Š‹KIÏÈäXFÙ™éddf“‘™CNF&'²³ÉÉÊäxæI2³3ÉÍÎ%#'—“YÙdœÌ%ÿd6™øU´Ý]\kWþÉ¿ºøï|r8ʼU»Î|ýk“°˜¸¸8ï¼vmÛ’°‡ÃAff&Sÿ6Íg|C‡áñx0MMûù‡ <<œŸ’“q»£ï½—)>Jjj*š¦±ÿ~Æ<ð@•é§OšÜÜ\rssyê©é ¹ýö_×igWuBQ»,]º”Ù³góÁÔ(89uÃîm[rúwêìéìùç#HyþùçéÚµ+Í›7ÿ]ÏI%%(µ³¥k›†äåÑ÷Æ!ädg¡›:Š©€EÁ£kX, ÓÀÔËÁ0 ÍÄbUÀ0Q=*;v⑱÷R„S“ž¼„¨~k¯3õƒƒéÒ¥ ¯¿þšwÞüùóydò#ü{Þ‚²²2†ß5Œwß{ŸçÏçýw—{ÓüŠ¢pm·¿0{ÖÓhšV}@a³qm·î¿g€R;#E1Q¬6,V+¦Gޤbš&YÙY(Š‚ÕbEUUŽÏæ‹cÙ²ÿ÷¤bUýívz]Dn‘“@»?þv? Å ûØO2еÔoíÅK!„¸PY‚Ò®];Þ[¾Œ¡w ç©éÓ©W¯¼÷.íÚµûM÷¹A\×ç¯ôë? †;eâv¹ÏËñÕ™EÕTÍÄÔur²sÈÉÎÁévúî¯ o>3‚§_ÿš[{¶eÆèÐ ƒ~…)Ã{óí‡ø6é0¦¡£{Àjó“EˆZê| Ô(„B\pŠé{ÏÞ®];Þ÷]ÆŽÏ+‹ÿæàÊk/¹œN\Nç~|”ZúAh']E7L4†bU°(tCGQEÁÄDÓ "ëc÷÷C7Mtb„cQtS/ÿ°L05Ï©u*znT{·÷}£zÜCK6ì;Ɇ}åÕ%¢ÂíÜÐ1š–Ñ!Øý,d¸X¿'‡½iE•îƒ0néKó†å=Íq°jË r‹Uï6Ïvæ>4¬ggÔõ-xᣃ5J/D]v>{ñB!.¨㬤m»¶¬ýî[l6[…euM)A±àÑAQÀát`ªGâ((Jyƒx€f¿Çý®â‡í‡ùvó>tC粦‘<±d5N‡“°°œN ÕÐ)-Ê­òxOÏoÄ=×·`ÍÖtv) 2ÌŸúµâÛY|ôÃq܃ÆõéÕ¾!{ŽVšß]½š±ÿX1Ë× gÛ(îêÕŒ«{Ó<öÖ®jÏA\L(‡3J¼ûöK酨ˤŠ×ÅÅjµz¿Ç…BüR„RyÏ\V«µÒù¦iž×Fì œâÔt4M£¸¸‡ÃEpÅÅnìvŠ¢`h}F °ac¢Û·#XÓP¬V²Ó3éÙ¢3»>ù„âœl TgYµJ|ãP†ölÆ{‰i$g”x—õ½2šu»³Ùt0×;ïØÉ2Þù.µÊýoÀ¢]‡Ñòí}»+‹íúlÿ—Î}|ã¶Îó¦“êiâB&U¼.‹…èè232¸¤iS9!Bñ JŠ‹Ï)}aA!‘‘ ễ :Ó‹—¢«hFyµ¬’²TNÂâAlÞtŒE ?6JP¦ZBxÃ<.6»µ8ãÉÅEFR”‘i˜˜šzª_èÊ·×®Y87w‰å¯SHÏó­{Êš-éçt®ö/¢wûF|¿/…m£8p¼È'ÃÛc÷³_¢²í§|ÖíÉö.·Zš7 áÝuiÞyÕ¥¢®“*^???þÒ½_}ùõ"êÑ*.¾N=éBˆ?ZMR›¦I~~>[ÜBŸn@u»ëÄñÕ]GóxðhEù%ÄEGðê‹[0 ƒËb£HÉÌ#4Ø´ÏþG\§®éØümøe•Rºy/i{’ Åí(CÕ @©òxG\ׂw¾KåD®£Â²à¥NÏ9Ÿn:ÁÄ›/å†NÑ”ª,Z}Ø»ýiÿÙQˆ)]/€[®½„+«¶”w=×4*˜œBN·V£ôBÔuRÅëâáo·sÉ%M¹iÀ@Ö¬ú„ììì?t„d!„¨K¢cbX¹òƒ¥µZ­Ô¯_Ÿž½{{ ޲ºñ{j«3‘¢¡c15Ü.•©“þÂ5—5Æáò€ a¡v潕Ȳ•~Íõ<Új"޵%(–@ÀÃUävmÉ{†žêöLÓ¨väë¿?ÆÝ›RæÒHÍ*õYVæÒ°QâÔj¼ÿÃz5#é§|ÖïÍ Wû† ëÕŒ¥_$Ÿ Bf‹wצ2mHoÀqi“P§WWž^ˆºNªx]\¸¬MÚ_q%‹ENˆBTÁívc·ÛkœÞ0 <ªZg‚“JV;ŸZ)ªU3ƒ¤mLjñ"=³›ÍJLÃP’ö¤2±çÃthÒž-[y釗 ö¡ÀQÀuÍ{sw§‘DGDSæ.Ã0 ÜL³ÊãýaÅe*÷ömÉ»kSÙ›ösã÷ÃéÅ´kNâ©`£&Z4 á•Ï~nƒòå¶tžÝ©Êí«¥<¸:µ<®q(«6¯qz!ê:©âuq1OõŸ¾úÐBˆ :Hq¹.èã«;U¼ ]sa³ùñÉ—{XùÙnÔŽ’b_~yˆðÐVd¿Ï»»–cš&6«“Å9²Í &¿£»ŒfÁúåÇ©™TWÅË4Mö-àµ/=ŒéÏ'›Žóã¡òFñ_l=Á¤A—ãÑ vÉÇí1hÒ ˆ¾WÆðÆ×É•æ—Uàä¯cX·; €ë®ˆ&3ÿçq\FõmÅ×Û3È.pjgH÷fìó² œ¼þÅO5Þÿ¬' >=PåòÉùìHίtYëØ0/òÙ×êÒ q!*^B!„(åJ-K>íxá¡¡¼ºh)h¦ Ãð ºM\Ž2 ÅŠÕ£\n7˜ šéD×=¸J 7ŽÆ¥º0³Öï™.»$œu»³êľ q¾H/!„B”ò¥–Þ–Öœ¦ÊA•pm誆»¬—Ó%ç$¥  Mà V;JÖ \Q±¸Ü.JN¢ša K!wg'rKŠÙwôŽ2G¨5ãr¥Š‹ŽTñB!$@9 ÔÞ;öT=Ž´œ^~ùöí[ãço§IãŽïÜMãØXÁÁ4ˆj€iš8ý0\*ŠÝ‚MQPU•mÛ¶±uëVî¸óül~¤ŸHÇ­ºY³f þþvCÃj©¼X“&MHOO÷¾?pàÇ硇bìØ±$''óüóϳiÓ&ÊÊʸüòË™0aV~#•’’ÂSO=ÅÖ­[¸úê«™={6­Zµònól!!!:tH®RqQ’*^B!ÄÅÉRgvÔ€R‡›®×v塇"8(˜Ò⌖°ßÖgn!.— ]×±Ùløûû³lÙ2^}íUFň#øæ›oX¸p!ªêÆP #3ë·»mÛ6† ÆÓO?í NŽ9Â!CèÑ£6làСCÌ™3‡O?ý´Ê|ÆÇUW]ERRIIItìØ‘ñãÇ{—§§§ûL3fÌ`äÈ‘r…Ћֆõk ®ðZ!„¶ßµeýúõôîÝ»Æé×­[G¯^½*]æÔܪF³¦—о}{¢££Ñu‹ÝÅßÿ+®ã«¯¿&99™ââb<×v¹–_z‘{y°ôŒt5j€a(”–”T»?‰‰‰Lš4‰… Ò³gOïüyóæ1aÂFåשS'^{íµ*óJNNfõêÕØív&MšÄ«¯¾ZiZUUyã7øøãå -©â%„B\œ~×”^½z±nÝ:4hÀºuë0M³Âtæòª‚EWÑM ÕãÁáp`µZ±Ûíø™ V·†n :”îÝ»SRRB`` Û·o§}ûöÄÅÅѬy3ºuëÆwÞ‰¿¿ÕYæÓ€þlŸ}öS§NåwÞñ N¾ÿþ{n¹å–s:}ûö%!!ââbŠŠŠHHH OŸ>•¦ýðÃéÖ­111r…Š‹–ÃQæ­Úuæk!„BH€ò›ƒ”?ü!C†°~ýzŸeëׯgÈ!|øá‡Õ'N]ÇãñxÇ=9ítˆ¡( %%%(ŠB£F0 {€ Ð*¾íÚ·cРA4ˆl€ªºÑôÓ©TnܸqÌœ9“öíÛWXVPPpÎ<Μ9“÷ߟË/¿œ6mÚðÁ0kÖ¬ é Ã`É’%Œ7N®NqQ“*^B!„(hr.Á €iè(šŠyFLaš&Š¢xUU騱#cÆŒ¡  ÇCË–-iצ1Ñ1¨n•!Cn?uä &U— Ì;—iÓ¦±yóæ Ë"""ÈËË;§s0eÊî¸ãöïßÏþýû2d“'O®nõêÕ´jÕŠøøx¹:ÅEMªx !„ üaAʬY³Î)8PT”3b EQ|ª‹)§zñ ¥sçΜÌÉ¡S›öãp8p¹œ”šå:ºÝ.¨¦Š×°aÃxñŹï¾ûøê«¯|–uïÞÝÛ#XMmÙ²…I“&Nxx8“&MbË–-Ò%$$0a¹2ÅEOªx !„§?´›áÓAJïÞ½±ÍÉÙœ†Ž®»*”yœ.=9»=IÇöؘ•ŒåÊ–Ä™&VS¡EßÄdü„Z줺*^ýúõãÍ7ßäþûï§°°¡C‡0uêTn¿ývìv; ((ˆýû÷³xñâ*Ê_zé¥,Z´ˆ1cưtéRZ·ní“æÛo¿%00«¯¾Z®L!„B!ʤ8Ïi=‹îFSu, !!!>0ž¨@y;Ž«»taÖ—Ñ0º!Ñ(V+&fy O'¨¦†—W—.]X±b#GŽ$//ñãÇÓ²eKV¬XÁóÏ?Ïœ9sp:´iÓÆ§Ûà³-Z´ˆ'žx‚Å‹йsg-Zä“fáÂ…Õæ!„B!„(¿ƒs N4ÝBh½zäää°zÍtM§¼ÄD Ó<õÖEÁ4Lü š¦aXou.{@Z€ ›bñ jÎtæ mÚ´aûöí>óâããùÏþSãýgåʕզùä“OäŠB!„ ÔG§Ñ(*‚{†ãø±ŸÐL †¦aš<žòÀÄãva(VL]Åã10(o“‚ Ó…¡«”8ùk÷x ¦bÊ „B!„(çî¦CùüóUøéÜ8à&T—wY.§kN¥QQzwh0Øì(™é¸Æ–7Œw:iЬ[ørwt"§¸½©)8Êr!„B!ʯӯßvíû‘î Š•¶m/ÅÏßN“Æ1ß¾“Ʊ±x òñ8Õ‹$gÛV,~V Ugùò”y°ømÇiš”—âr»å B!„¢±Ô¥µZ­\ב?^E½ðp\Nšª’–z—ÓENF&é™Ù¨éiGÑtv‹ ¢QP”C~iù…d?£¨°Ê‘Ü…B!„[]ÛáþûŸØý,Ü=|0º®`b”·%1l˜ºŠæÑP5À0që*hn"u“ûî¹›RGû÷&:¶:t`Ê”)r!„B!ʯ7ý±'Á»ÝÎòeËXòʲ²²ÉÎÎ*OpF»÷Ó#Å›&thß·ÛÍÇŸ|B³fÍNÍ—FòB!„BH€òØýíÞ×#FŽdÄÈ‘¿:¯ªºB!„Bü9,r „B!„ !„B!ÄYlr *ÒuÏ¿úœÄ‰\ÙáJn»å6åÄ!„B!ÊoÚSÓÈÌÏ$(4ˆÏ×ÎÚ ky}Ñërb„B!„å÷£ë: –,`ÛÎm˜†Éý÷ÜO\Ë8Ò³ÓiØ´!A!Aœ‹ßXÌëo¿ŽÅî{ZJKKyõ­W lHà IÍJåoOüM®!„B!$@9?<ûí'¢aPÞåpã–Ù±gª[ý9ꡨ ˆf—5ÃjµNQiyùyr !„B!Êo—“®ëhšæ3?6.–üì|ïû£?%®mËϧÊ4Me223d°G!„B!$@ùmþ5ÿ_Lyr þAþÜy}Û÷Q\X €Ÿ¿þþ8N4†êV ÀírsxïaönÛ‹_ ³_œÍ¸Éã0 £Òí4iÒÄçýèØ±#¯¼òŠw^rr2cÆŒ¡mÛ¶4oÞœþýû³fÍš*÷=%%…»îº‹¸¸8âââ¸ë®»HIIñÙæÙSëÖ­«ÌoíÚµÜyç´lÙ’¶mÛ2qâDrss+Çéé\Ë:Mš4¡wïÞ‚>Ó4éիׯÚþùtæyˆgèС>|Ø'ÍÁƒ9r$ñññÄÇÇ3räH8P§ŽS!„B”?PzF:Ûvn#ºy41ÍbhwU;.mw)™Ç29´çº®Ó¤y2e’žMÌ%1œH=Á὇‰mKû«ÛÛ2–†—4¤ÈUÄš/Öüâv·mÛÆ°aÃxúé§;v,GŽaÈ!ôèу 6pèÐ!æÌ™Ã§Ÿ~Ze>ãÆãª«®"))‰¤¤$:vìÈøñã>¾ôtŸiÆŒŒ9²Êü–.]ÊØ±cÙ³gëׯ',,Ì'¿3óü#ò¿ÿýÏgÞW_}EPPPí¸~N‹¤¤$®½öZ&Nœè]–ššÊwÞI¿~ýؾ};Û·o§_¿~ :”ÔÔÔ:uœB!„ üA<€Õnõ™ççïGë­‰nÍž­{ÐuœÌN=ÍÏÆ¾íûP, í¯jOPˆï dPX;ví¨v›‰‰‰Œ3†… 2xð`ïüyóæ1aÂFEýúõ±ÛítêÔ‰×^{­Ê¼’““™8q"ááᄇ‡3iÒ$’““+M«ª*o¼ñcÆŒ©2¿÷Þ{믿žàà`4hÀôéÓÙºuëŸöùŒ?žÅ‹ûÌKHH`„ >ót]çŸÿü'íÛ·§U«VŒ7ŽÒÒRïr§ÓÉ#>ž-Z0bĈ %GÕ cܸq>%(óæÍcìØ±Ü}÷Ý„††U IDATÊÝwßÍØ±cyñÅÕq !„BH€rkÙ¢%¦^y»‘ðúá´îКÝ?î¦A£4mÕ”›vE“f•W»q•¹hsy›*·÷ÙgŸ1uêTÞyçzöìé³ìûï¿ç–[n9§ýïÛ·/ STTDBB}úô©4í‡~H·n݈‰‰©qþ‰‰‰tîÜùOû| @nn®7Húá‡(((ছnòI·`ÁöìÙÃW_}Å®]»`Μ9Þå/¼ð%%%lÙ²…ï¾ûŽüÑgýQ£F1fÌvïÞÍ®]»hÕªÏ<óL÷³¸¸˜Å‹Ó¶m[ï¼ 6ø § <˜ 6üªãB!„¸Ø\tã ´lÑ’«:\Å–í[ð ò£¬¤ g™Ó»ÜépÌ­÷Ü €Õj%õp*9™9˜† †á1ˆŽàÖ·V¹½qãÆñÊ+¯Ð¾}û Ë ˆŒŒ<§ýŸ9s&ƒ bÞ¼y@y{†U«VUHgK–,á7Þ¨qÞ{÷îeÆŒ,_¾üWŸßÊÚOœ=¯ºêb‹…±cDzxñbÞ|óM-Zĸqã|:)€ò’Ÿwß}—ÆðÄOзo_ž{î9>ýôS>úè#ïù1c†O•ªuëÖy_òøãsÍ5לÓñ5lØÐçÜçççUa¨¨(òóóÕq !„BH€rvû0¶lÝBIa ¢Ò*EQÊo2Oæ“r ]Ó±X-”•–ѰqCZ\Ú(oÈì,s’—“‡îÒùû„¿ãççWå¶æÎË´iÓ¨_¿>]»võYA^^5ªñ¾O™2…;|€W_}•É“'óþûïû¤[½z5­Zµ">>¾FùþðÃLž<™W_}õÿÙ»ó訪|÷ßS•¤’ª$EBÈ M½*68‹Ú ÝÁ–+J A ÄóçgˆLˆ$9=™0k˜ßÓÈŽ_$—¼º„w罋­ÌFbr¢ß—`s¨™Ä”D’z$1sÎLªÏV· =ô¯¼ò cÆŒá“O>ñK4hÐygìjΖ-[ÈÍÍõƒ²eË–&ǵe¼Åë°yóf222ÈÈÈ`ëÖ­ø“ŸŸßdªà–̘1›ÍÆ!CüÖù°Ûí~͹ ¦½ë¡\Žæºë®ãÁ$55•‰'r÷ÝwûÒŸ~úi, dÈ!dddð]ƹsçòç?ÿ™´´4FŒÑb0w!?ü°oÌNZZ+V¬àÿ÷éׯýúõcíÚµüý│nsB!„WåÉ ãõyórætã«‘QÑ¿øBoÜ´‘9óæ`íhÅírSUY…Á` 9=S°‰Ò¥tŠïD`P eß”‘Þ;MÓ8Zr{¨˜(Ì3Ž:CnÂÄÇå×ï+]II £FbóæÍR—ѹÏ€ÉóþÉosµ TMGÓ´ÿ­ãt{Ñ4½ÉþÈ0›7Í«¹w6{ý¬ù˜‡Gaé[‹¹oøRáB!ÄÏԚ¹íλøâ³ÿcè}³ÚÚŽ}Ëâ7Þ¸:ɺa‰ñ‰<žû8±¤^“êëò¥ª*ö:»oõxEQp9]˜‚M$wOFUUªOUSy´’Y3fѯo?iaW¨_|‘É“'ãv»™>}ºß!„Bqeºjç4ë‡%ÔBÇØŽ~ãQl¥6"¢#|ÛI©I”ìûn!D£ÑHt§h"¢"èÓIZÐ,11‘›o¾™›nº‰ððpžzê)©!„Bˆ+\ÀÕZðÀÀ@â:ÅQ{¶–ðáTÙªHˆM Úùݬ\Á!Á˜BL”—”“˜šˆ¢(4Ø0˜ˆë'-è –••EVV–T„B!ÄÏÈU½*ܬ³°Z©<\‰íwÞ|'¹ãsÑÜþè;X;p÷»±}c£òp%Až ^}ùUi=B!„B\bWsá- óæÌóÛ§ë:æ 3gOŸÅiÅ^g/<1æ ²³²¥Å!„Bq¤ ü)ŠBþœ|2Ò38UvФ¨$æÍ™‡Á U%„B!Äå UДÅbarÎd©!„B!~dòX@!„B!ŠB!„Bütñj†ªª¬ýd-¾ÚÀ¯úüŠßû-!!!R1B!„BH€òã{jÚSTœ©Àffíúµ¬ûro¼)#„B!„(—ªªÌ[8m;·¡k:cKZJ¶6b’b0‡š©:VÅ굫ù`õ444У{þøä±†[¥ !„Bq ]ÕcP^˜ùÛ÷o'2!’ÈÄH¼µ€7ßyƒÉ¿ZêëëYôö"B¢CˆIŽáHåþô쟤õ!„B!Ê¥áñxØ_¼Ÿˆ˜ qý“¸”8Šöáv¹¿;Îí¡¦º†.=º`4°FY©©¯áô™ÓÒ‚„B!„åâ8yUUñz½~ûÒ8sâŒo»ì›2Òz¥ù-Ô¨ë: öŽWG×uiEB!„BH€Ò~³^Åäç&dâà΃ìÛ±Ú³µ„£Á×ãÅír €ËéâÐÞCìݶ—À@f¾2“ìIÙhšÖì}âããý¶8@¿~ýxýõ×}ûJJJÈÊÊ¢W¯^tíÚ•¡C‡²fÍšó^ZZÊÈ‘#IKK#--‘#GRZZêwϾÒÓÓ[¼ÞºuëxðÁIII¡W¯^äääpêÔ©&å8÷j«¶žs¡úø~^zôèÁO<ÁéÓþO²Š‹‹¹á†|Ç2¤I ©ë:ƒnW™„B!„(—Œí¸m;·Û5–Î]:sí€ké~mw*Ê+(ÞSŒªªÄw§¢¼‚¶tNì À±#Ç8´÷ ]è=°7 ) Ä$ÆPã¬aÍ?Ö\ð¾Û¶m㡇â…^`üøñ>|˜ÌÌLn¾ùf¾üòKŠ‹‹ÉËË£°°°Åëdgg3`À¶oßÎöíÛéׯ&Lø®|6›ßëÅ_dÔ¨Q-^ï7Þ`üøñìÙ³‡õë×îw½ï_órkm}œËÏÆ âé§ŸöKß°aƒöm‡„„ðé§ŸúóÉ'Ÿ`6›å@!„B”ŸÖƒ0šŒ~ûƒIï“Nl|,{¶îAUUNVœäXÙ1Ø·cŠA¡÷€Þ˜Cý¿ÔšÃÍí*:ï=7lØ@VVùùù<ðÀ¾ýsçÎeâĉŒ=šÈÈHL&,^¼¸Åk•””““ƒÕjÅjµ’››KIII³ÇºÝnÞzë-²²²Z¼Þòå˹õÖ[±X,DGGóüóϳuëÖŸä½ik}DGG3cÆ Ö¯_ߤ¾ýë_û¶'L˜À‚ üŽ™?>'N”O!„B P~Z)É)èjóãF¬‘VÒû¤³û_»‰îMRj;7í¤clGâ»4ßÈiwÒóšž-Þïþç˜2e ï¾û®ß—f€72lذ6åÿöÛogþüùÔÖÖRSSÃüùó¹í¶Ûš=öý÷ßçÆo¤sçέ¾þ† èß¿ÿOòÞ´§>Ei”ýë_ÿ⦛nòí»÷Þ{9uê”/ðúú믩®®æž{î‘O!„Bˆ+ÌU·JJr ú `ËŽ-š±×ÙqؾtGƒK˜…û½£ÑÈ‘CG8Yq]ÓA³ÅLxD8šG#ÂÁý÷Ýßâý²³³yýõ×éÝ»w“´êêj¢¢¢Ú”ÿéÓ§3|øpæÎ 4ޱøøã›§i .ä­·Þjõµ÷îÝË‹/¾È{ï½×îúmnLÇ÷µÔ]¬­õqúôiþò—¿ø~Û·o§[·nX­ß­Qc0?~< ,`É’%í7ñB!„å'óÐïbËÖ-Ô­#:6šÐÔPß/ñgªÎPz Õ«b0°×Û‰‰‹!¹{2Ð8¸ÚawpúäiT§ÊÓŸ&00°Å{Íž=›§žzŠÈÈHþã?þÃ/-""‚Ó§OÓ©S§Vç}òäÉŒ1‚Ç€E‹1iÒ$þþ÷¿û·zõjRSSéÖ­[«®ûõ×_3iÒ$-ZDjjj»ëö‡ÁG|||«Ç¯´¶>Î<¡¡¡üú׿fÖ¬Y¾´vï:gĈÌ;—>úˆ°dÉùß/„Bqº*B~æÏÏ™Irz2aÖ0¿nB‘#XòêÞ÷.¶2‰É‰¾tEQ0‡šILI$©G3ç̤úluËÁÐCñÊ+¯0fÌ>ùä¿´AƒwÆ®ælÙ²…ÜÜ\¿1([¶lir\[ÆX’““ÃâÅ‹éׯßOö¾´¶>Î ’/..fñâÅtìØñ‚ŠÉdbìØ±äææ’••…Éd’ÿýB!„ üôÜn7§Spó_P¾ïìÙ³”––¶8†&''‡òòr/„B!Ê•#((£ÁØdí’{»ÿµ›ÐðPbb±FZ騹#Áæ`SÙ_´Ÿš35M®ç²»HIN¹à}¯¿þzV®\ɬY³|3J¥¤¤°råJÖ­[Ç7ÞHzz:Ï=÷Çoñ:lÞ¼™ŒŒ 222غu+~Çäçç7™*¸%3fÌÀf³1dÈ¿5Fìv»_@s.¨iïz(­Ñžúø¾¯¾úŠë®»î¼]î„B!Ä•íªƒ’›Ëœys°v´âv¹©ª¬Â`0Þ'S°‰Ò¥tNìL`P eß”‘Þ;^½8Zr”o|KTLf‹GƒÛßNk‡fïóñ={ödÇŽ~ûºuëÆßþö·Vç½[·n¬Zµê¼Ç|ôÑGçMÿ~¾Z3>äbÖ@i빪ó]¯¹î]ºÿ±¾‹B!„å¼Ý0ˆÄøDÏ}œˆØR¯IõuùRU{Ý·z¼¢(¸œ.LÁ&’»'£ª*Õ§ª©Íí?€¾ƒµw¹Û76*Wä âÕ—_•Ö#„B!Ä%p5Þb±0oÎ<¿}º®c2söôY¬‘VìuvðÂcž ;+[ZŒB!„—‘AªÀŸ¢(äÏÉ'#=ƒSe§HŠJbÞœy RUB!„B\nRMY,&çL–ŠB!„âG&„B!„ !„B!Äý¬ºx>|€„Nè€4x TnUÇ«P\Nè¼NÜð¨ Tp¨ ¸œÔ{4t‡Ëlüç£Yòî !„B!Jû”•¢CX5µõÔÕסaDUUtÕƒ[¼:¯UWñx¼hªT^ ¼ ׃×ãÁíl (8„åËÞäΡ%­@!„B PÚ&&ÒÂéÓ5Ü~w&'OT¢ê*Š®€EÁ£z1 hºZãtÁš¦¡Ñ¸h:n›~ý2øÆÿkx˜´!„B!$@i;£1€ŠŠãœàŽ:]ƒÐO)p_ŠQÇûݨ0ºí@_¡5vïÞ+-@ˆËèƒÕŸH%!„â— ¸½ n¯N…ÒØ½ =ˆ²/=É 7ÚÑÁŒ¢ ×*G×ã­¼ ÆÌˆRQK \ëÅ xðÔ‚É$-@ˆËä¶.vz÷éK`PF£±ÕçmݲY*O!„¸Šýl¦özT7šGÇYíÅ  JEÑŒ(ïw@q€±1ˆ¡¯u“ mc†kTŒ×h8? Â{Ì€1ECwz1”fïÞ¼”””••E¯^½èÚµ+C‡eÍš5-_ZZÊÈ‘#IKK#--‘#GRZZêK×u¼¼<®¹æzöìÉK/½„®Kg!„B!Ê•›Q ¼jcŽ=6/ÔnÐᬂ^«£[UPtÐ#èe Æݨ¡SпU½^G?£ãÁËñŠÊ6çãðáÃdffróÍ7óå—_R\\L^^………-ž“Í€ؾ};Û·o§_¿~L˜0Á—¾lÙ26oÞ̺uëøüóÏÙ´iË—/—Ö)„B!$@¹”Ö¯_¢(­~­_¿¾Åk9¼ ^™™™¼ÿþû~AÈúõë›Ý߇ªâõzQ5¥C®:”hÝa»ŽÒáßkžƒÞØÛK‰C­nDƒ††G=·}ÛTWW·yqÇéÓ§3|øpæÎ 4Žqùøã}év»‹ÅâÛ ¥¾¾^Z§B!„¸êü(cP¾¤œëÆÕ–à@×TեÎ ^< ýèÿ‚ò_U0¨ìt ° ;5”?žDÝnÄù A7z±ä8p¾oDAGój´gÕ…ˆˆNŸ>ݦs&OžÌˆ#Ø¿?û÷ï'33“I“&ùÒ- v»Ý·]__Ohh¨´N!„B!ʤ̘1£MÁ €âöàöº†û¿ƒq| Z…Âö`8:  Ÿ6@aú¾ ¼„àÞ¡àøÎÍÐðÿÐ .·ÚÑÅkРA籫9[¶l!77×o Ê–-[|ééééìڵ˷½{÷nÒÓÓ¥u !„Bˆ«Îºʹ eÈ!sòCMESè ¨}s0Þ@Ì^ŒÛC§hŒ9” Ð<›p¨  ž# «”` œ {Û×ÅkÊ”)üîw¿Ãd2qï½÷b6›Ù¿? ,hq |÷îÝ)(( ++ €7ÞxÃ/ÉÌÌdöìÙ¤¥¥0{ölzè!iB!„B”#Hihh $$¤MçTšGÃëucP C hº†®éh&]×1ŒQUÕ âÆ…A1 i&#š¦aP ¸q7vñ:Ï”æÖB±Ùl¤¤¤°råJ^~ùeòòòp8ôìÙÓoÚà*((àÙgŸeÁ‚ôïߟ‚‚_ú#[C€Ñ€êU 4Åè¨šŠµCÐÁ 4ßÃÍf³7/ݺuãoû[«óÞ­[7V­ZÕbº¢(L›6iÓ¦I‹B!„ ü”}{kXoÌ/Àf+Å«н^4݃ÇÓØYËÙ`GSŒPq{Wutº\ +xuªêÁY§‹ÓíDWdµv!„B!$@i‡{îû=ÿøÇǨJƒÿ·ÓƒË~§Ã…ádõÑÑ(eGq…YÀhB©<†³cN—“º»Ö` /åÔÎ NÕÕ²¯ì0 öiB!„BH€Ò>wÞy/»öý‹qŠ‘^½ºd">®3ßîÜM\Bžš³xÌ¢8Y´C Í­ò÷¿Q_ãÁ¸ ‡®SW[ßøtE!„BqÅ0üœ2k4é‘Ö?ü˜V+N‡¯ÛÍÑ#‡q:œœ<^­ânÛÑ2¼ª“!⥺æ$gêr¦ú,'¾=FCÍY¿ÕÜ…B!„?½€Ÿ[†_ú_Âhà‘ÿ|UUÐÑÇ’hèª¯Ç‹Û h:.Õ ^QªÎ˜G¡¾¡†ý{›Ð…>}ú0yòdiB!„BH€Ò~Ïÿ×s ƒÉdâ½eËXøúB*+OpâDeãß÷~n¥x]‡>½{ãr¹øð£èҥ˿÷Ë y!„B!$@¹¦ “ïßÅãFµûZŠ¢H B!„â b*B!„BH€"„B!„? UДªª¬ýd-¾ÚÀ¯úüŠßû-!!!R1B!„BH€òã{jÚSTœ©Àffíúµ¬ûro¼)#„B!„(—ªªÌ[8m;·¡k:cKZJ¶6b’b0‡š©:VÅ굫ù`õ444У{þøä±†[¥ !„Bq ]ÕcP^˜ùÛ÷o'2!’ÈÄH¼µ€7ßyƒÉ¿ZêëëYôö"B¢CˆIŽáHåþô쟤õ!„B!Ê¥áñxØ_¼Ÿˆ˜ qÊḔ8Šöáv¹¿;Îí¡¦º†.=º`4°FY©©¯áô™ÓÒ‚.±yóæ1f̘+&?ñññ?ú=7mÚÄÀ}÷¾Ðö…òøØcQPP K!„ \ÉNœ<ªªx½^¿ý i œ9qÆ·]öMi½Ò0¾«*]×i°7p¼â¸,öx 544°xñbžþù«ºþò—¿0sæLl6[«¶/dÚ´i,Z´‡Ã!L!„ \‰f½:‹ÉÏM&ÈÄÁÙ·cµgk $(8Gƒ¯Ç‹Ûå&4<—ÓÅ¡½‡Ø»m/!Ì|e&Ù“²Ñ4­Ùû\è—í’’²²²èÕ«]»veèС¬Y³¦ÅãKKK9r$iii¤¥¥1räHJKKý§¼¼<®¹æzöìÉK/½Ô¦*>>Þ÷êÖ­¿ÿýï9tèP“ã,X@bb" ,höC† ir_]׿ÎËĉ=z4‘‘‘˜L&222X¼xq‹ç”””““ƒÕjÅjµ’››KII‰/}ÕªUL:•ØØXbcc™:u*+W®lW=…‡‡“Ýä ÊçŸN‡3f ¬[·®É¹&LhòteþüùLœ8ñ¼÷ܵkýû÷÷Û·|ùrn½õV, ÑÑÑ<ÿüólݺµÕe¾Øt€¥K—rÝu×Ñ¥Kî¼óNöîÝ{Qmð|eúþ¸’s¯óm·6É'žB!$@¹Ò¤$§ «Íwá±FZIï“Îîí&ºS4I©IìÜ´“ޱ‰ïÒ|×$§ÝIÏkz¶97ndذam:çöÛogþüùÔÖÖRSSÃüùó¹í¶Û|éÅÅÅôíÛ׷ݧOŠ‹‹ÛUOµµµ,X°€^½zùíçwøÃþÀèÑ£yûí·›œ{ï½÷rêÔ)ߗþšêêjî¹çžóÞ³ªªŠN:÷˜ 6ø1*óŦCã ôÂÂB8ÀÝwßÍÓO?}IÛä÷Ëtn\ɹ'YÚnmãââ8qâ„|â !„âŠwÕ­ƒ’’œÂ€>زc æ@ìuvöï;XÂ,ÜÿèýFŽ:ÂÉŠ“èš ˜-fÂ#ÂÑ<–î¿ïþ6磺ºš¨¨¨63}út†ÎܹsÆ_Ñ?þøc_ºÝnÇb±ø¶CCC©¯¯oÓ=¾ÿ«|LLŒßõ=ÊÎ;}Oy†ÎÌ™3)//'))黨×``üøñ,X°€%K–PPP@vv¶ßDÍÑu€€–›äÞ½{yñÅyï½÷Z]æ‹Mx饗ˆˆhœí-;;›×^{í’µÇæÊÔ—3B!„?¦«rüC¿{T¨;[GdÇHÒû¤Ó£ozôíA—´.x=^T¯Š®ëØëíÄÄÅpmÿké=°7×ö¿–Ήq68qÔ9÷‡qmÁéÓm›¦xòäÉŒ1‚ýû÷³ÿ~233™4i’/Ýb±`·Û}Ûõõõ„††¶é6›cÇŽñÕW_‘’’â×UhéÒ¥œ9s†ÔÔTâããIMMåÌ™3,]º´ÉuFŒÁÎ;ùè£8pà™™™¼wLL ͦ}ýõ׌3†… ’ššÚê2_lú¹÷êœTU=o€÷ÃîW-i©Líq¡<?~œ˜˜ùÄB!„(W¢gþü ‘ ‘$§'f CQ_ZdÇH–¼º„w罋­ÌFbr¢/]QÌ¡fSIê‘ÄÌ93©>[Ýæ< 4è¼3v5gË–-äææúAÙ²e‹/===]»vù¶wïÞMzzz›ó¦( ]»v%??Ÿgžy†úúzœN'+W®dóæÍ~Ý6mÚÄŠ+p:~×0™LŒ;–ÜÜ\²²²0™L¼oß¾}Ù±cG“ý………äää°xñbúõëç—v¡2_lz[ý°+VKÎW¦ËaÇŽ?Ê}„B!$@i#·ÛÃéÀÜüæÃM@@º®Ó­W7Jö—4û«¹Á` 8,˜#eGÚœ)S¦PPPÀ²e˨®®ÆårQTTĸqãZ<§{÷îPSSCMM ùùù~_¦333™={6•••TVV2{öl|ðA¿k´eáÁ¸¸8®»î:>üðC ÉÈÈ 11Ñ¤$úöíë×윜œÊËË/88þœ;Éu-ZD^^+V¬ð+ÒÚ2_lúåp¡2]«W¯æŽ;îOEEE¼õÖ[ò¿ó3f MÖ´¹Î}ެ)üÞ}ú„Ñhlõ5¶nÙÌ}Ãh6ík>æáÑcXúÖâB!Ä•oMá‡Üvç]|ñÙÿ1ô¾Æ™mmǾeño\}OPÝ0ˆÄøDÏ}œˆØR¯IõuùRU{Ý·z¼¢(¸œ.LÁ&’»'£ª*Õ§ª©‹5ÒŠ½Î^xbÌdgeK‹B!„â22HøS…ü9ùd¤gpªìIQIÌ›3ÏoJb!„B!Äå UДÅbarÎd©!„B!~dòX@!„B!ŠB!„Bütñj†ªª¬ýd-¾ÚÀ¯úüŠßû-!!!R1B!„BH€òã{jÚSTœ©Àffíúµ¬ûro¼)#„B!„(—ªªÌ[8m;·¡k:cKZJ¶6b’b0‡š©:VÅ굫ù`õ444У{þøä±†[¥ !„Bq ]ÕcP^˜ùÛ÷o'2!’ÈÄH¼µ€7ßyƒÉ¿ZêëëYôö"B¢CˆIŽáHåþô쟤õ!„B!Ê¥áñxØ_¼Ÿˆ˜ qý“¸”8Šöáv¹¿;Îí¡¦º†.=º`4°FY©©¯áô™ÓÒ‚.±yóæ1f̘+&?ñññ?ú=7mÚÄÀ}÷¾Ðö…òøØcQPP K!„ \ÉNœ<ªªx½^¿ý i œ9qÆ·]öMi½ÒüjÔu{Ç+Ž£ëº´¢K¤¡¡Å‹óüóÏ_Õõð—¿ü…™3gb³ÙZµ}!Ó¦McÑ¢E8idB!„åJ4ëÕYL~n2Aæ î<Ⱦû¨=[ @`P AÁA8x=^Ü.7¡á¡¸œ.í=ÄÞm{ dæ+3Éž”¦iÍÞçB¿l—””••E¯^½èÚµ+C‡eÍš5-_ZZÊÈ‘#IKK#--‘#GRZZê8åååqÍ5×гgO^zé¥6Pñññ¾W·nÝøýïÏ¡C‡š·`ÁY°`A³×2dH“ûêºÎàÁƒÏ['k×®åúë¯'99Ù·oݺu<øàƒ¤¤¤Ð«W/rrr8uêT«Ë|±é—Ã÷ëùÜ+==Ý—~ðàAn½õÖVo_Hjj* àŸÿü§|â !„B”+í¸m;·Û5–Î]:sí€ké~mw*Ê+(ÞSŒªªÄw§¢¼‚¶tNì À±#Ç8´÷ ]è=°7 ) Ä$ÆPã¬aÍ?Ö´9‡&33“›o¾™/¿ü’ââbòòò(,,lñœììl ÀöíÛÙ¾};ýúõc„ ¾ôeË–±yófÖ­[ÇçŸΦM›X¾|yÛêÇfÃf³±}ûvn¸árrrüÒ5McéÒ¥LŸ>wß}·Ùà,$$„O?ýÔoß'Ÿ|‚Ùl>ï½?ýôS†ê·ï7Þ`üøñìÙ³‡õë×Þ¦2_lúeiƒÿ®ãs¯_|‘Q£FùÒ].­ÞnaÆI€"„B P®DÀh2úí $½O:±ñ±ìÙºUU9Yq’ceÇ `ߎ}(…Þzcõÿ’m7S´«¨Íù˜;w.'NdôèÑDFFb2™ÈÈÈ`ñâÅ-žSRRBNNV««ÕJnn.%%%¾ôU«V1uêTbcc‰eêÔ©¬\¹²]õNvvv“'(Ÿþ9:t`̘1DDD°nݺ&çN˜0¡ÉÓ•ùóç3qâÄóÞs×®]ôïßßoßòå˹õÖ[±X,DGGóüóϳuëÖV—ùbÓ–.]Êu×]G—.]¸óÎ;Ù»wï%kn·›·Þz‹¬¬,¿q%ç^çÛnm322(**’O6nÜȰaÃÚtÎí·ßÎüùó©­­¥¦¦†ùóçsÛm·ùÒ‹‹‹éÛ·¯o»OŸ>·«žjkkY°`½zõòÛÿÎ;ïð‡?ü€Ñ£GóöÛo79÷Þ{ïåÔ©S¾@â믿¦ººš{î¹ç¼÷¬ªª¢S§Nç=fÆ ~AÌ…Ê|±éÐ8(½°°p÷ÝwóôÓO_²öøþûïsã7Ò¹s㓺sãJ¾ÿ„å|Û­Íc\\'NœOâÀdff^ðÞ111TTT4›öõ×_3fÌ.\Hjjj«Ë|±éçÞ«sBBBPUõ¼Þ»_µdõêÕ¤¦¦Ò­[·‹nÓÊãñãlj‰‰‘OüðC ÉÈÈ 11Ñ¤$úöíë×윜œÊËË[ý%üŽ;îhrE‹‘——ÇŠ+üÆŠ´¶Ì›~¹|öÙg„„„0pàÀ¥Ý¯^½š;î¸C>ñ„BqÅ»êÆ a4Ñ4ÍoLDƒ½’}%Ä&ÄÖ! ¯Ç‹)ØD°9˜Ä”Döí')% k¤Õïz.»‹”ä”ï×\@`³ÙHIIaåÊ•¼üòËäååáp8èÙ³§ßº?TPPÀ³Ï>ë›!«ÿþ~+„?òÈ#”——sË-·0jÔ(FŽéKߺuk›¿?üðÃüõ¯EQžzê©fyôÑGyíµ×.ú‹ý½÷ÞËôéÓ9räˆo-”3f0dÈ¿c:„Åb¹`™/6ýrÉÏÏ?ï{})>|˜mÛ¶1þ|ùÄB!ÄOyrÂx}Þü…œ9ݸø]dTô/¾Ð7mdμ9X;Zq»ÜTUVa0HNOÆl¢ô@)â;HÙ7e¤÷NGÓ4Ž–Å^g'*& ³ÅŒ£ÎÁ†0ññ‰?‹r1‚I“&qÓM7]±yÌÏϧ¨¨è’ ÆŒCFFF“5m.‡sŸ#k ?¤wŸ¾a4[}­[6sßðšMûÇšyxô–¾µ¸Åc„Bqå[Sø!·Ýy_|ö ½¯qf[Û±oYüÆW߀A7 "1>‘Çs'"6‚ÔkR}]¾TUÅ^g÷­¯( .§ S°‰äîɨªJõ©j*V2kÆ,úõýùôë_µjÕŸÇ'Ÿ|RþÇ^bì !„âçÄpµ<®s–P c;úG±•ÚˆˆþnF¤¤Ô$Jö}·¢Ñh$ºS4QtŠé$-H!„B P.^`` qâ¨=[ëÛWe«"!6Áoµøà`L!&ÊKÊÑõÆì ˜LÄuŽ“$„B!„(—Ƭ³°Z©<\‰íwÞ|'¹ãsÑÜšßq¬¸{ÈÝØ¾±Qy¸’ O¯¾üª´!„B!.±€«¹ð‹…ysæùíÓus™³§Ïb´b¯³ƒžóÙYÙÒb„B!„¸Œ RþE!N>éœ*;ERTóæÌó›’X!„BqyH4e±X˜œ3Y*B!„Bˆ™<B!„BH€"„B!„?ô³êâu¸t?ñ"Ði+Òàô`0(x<*ªªáv»QuÝëÄãUu ¨ÐàÕÁëÆíñâõz9zô(~BÞ}!„B!$@iŸ²²Ct ¡¦¶Žúz;ª¦£j:º®ãñxÑup¹Ý «x=^TÕ‹®zðª<^7º®ãp8Q½^‚ƒCX¾l w FdT”´!„B!$@i›ŽfNŸ®æŽ{29~¼Ÿ£`0(hº†Òøh]ÓÑ4Uo\ÏD×tß߇þ¿bböXÂÂB¥!„B!JÛTTVrâDcÇK‡°Û혂LÔÖÕ‚Nã¶É„ÛíF×5T¯—K%(8XZ€B!„Wk€™™Ù® Eý÷S§ËE—®ÉÌŸ?Ÿ­[·’š’ʶmÛ|вeË>|8U§ªxëÍ·zÏPâââX¾|9Ó¦MCU54 xÑ5o³÷JHH k×®¤¥¥Ñ£G®½öZ~õ«_‘‘‘ARR’ß±ñññ¾×éºN^^×\s ={ö䥗^òu;kÍùŸ}ö¿ýíoINN¦W¯^dggSQQ!­V!„BH€r©¼ÿþûí R¼/ŠÅlfû¶mÜ~ûí|ðÁ|ûí·„„„PYYÉìÙ³ÉÈÈà…^Àétªª$uIbðàÁÄÇÇÓ¥K — ÿ“òCÇŽ£¬¬Œ’’<ÈÞ½{)**â–[ná•W^ñ;Öf³a³Ùš½Î²eËØ¼y3ëÖ­ãóÏ?gÓ¦M,_¾¼Õç¿þúëŒ7Ž;w²eËzôèÁOÈôÈB!„B”KfðàÁí R¼ª†¸\.œüîw¿£ººšãdzqãFBCC©ªª"00ªª*þû¿ÿ›N1øbÝrìØ1JKKÑ4 ¯×ÉáÃG[}ÿiӦѳgO233[}ΪU«˜:u*±±±ÄÆÆ2uêTV®\Ù¦ó‡ŠÕj%44”Çœ½{÷J«B!„ üÔAŠÁ àUUسgÏ>û,ÿõ_ÿ…ÙlÆl6£ª*‹ǃÙlÀjµ¢ë:f‹™áÇӥKºu놮ë_|ñŃT7š×Á`dó–Í„……ñûßÿž˜˜V¬XADDcƌᩧžbܸqÄÄÄPTTăøûò¿Ó§o–,Y·ßCtß-[¼x1eee̘1£]e´X,Øívßv}}=¡¡m_Òf³qðàA{ì1þøÇ?J«B!„¿X?É”õëד™™Éûï¿ßêuQÜn/ªÆ#»wíbô§ÿ@\\ï½÷¡¡¡„‡‡sï½÷O@@»víÂãõÅäÉ“0›Í8NÜÏyã“÷Þ{M›6ñÆoøxl«ôôtvíÚåë–µ{÷nÒÓÓÛu­°°0Æϼyó¤Õ !„Bˆ_¬ý J{‚MSQ½.¼ªŠ1 €ØÎ±ÄvŽEÕT:tè€Á`@UUgÔuÐ4††BBB0™L¨ªŠ¦5®…Ò’>ø€?þ˜ Ðþ.33“Ù³gSYYé›eìÁlõù¹¹¹|óÍ7x½^Nž<ÉìÙ³éß¿¿´Z!„Bñ‹õ£?AiOp «nT†®ª ¼^/š¦¡( ^µq…x£ÑˆA1 )š®áhp   (JãÀxƒsãN4UƒŒLš4 UUIMMm6ýûÓý’sÿ>—þÈ#P^^Î-·ÜÀ¨Q£9r¤ßµÎwþwÜAvv6‡¢C‡Üzë­¼þúëÒj…B!„(—J{‚“Æ€ÂHHhf‹™ºz;ç’èè(Š‚Ûí&2"·ÇCuu5xÜ‚L +F¼ Ð!²ú¿—æ”——·:_-­a ( Ó¦McÚ´ií:ÿ7¿ù ¿ùÍo¤• !„B P.‡/¾ø¢]Á Àáoˉ cá¼W9^q¯×ƒ¦ë ë¸n 8 ¨º:¸=.tň˥£ë\x½*õµNâãâÑTмÿB!„B\½J{ƒ€û~3‚5k Q ~=èF\n ¸ëëpW×à‰ŒÆ[ZŒÕ]W0?FM§Îÿ^ØÑCÇäZ=È©ÝTž=Ãî’ì Ò„B!„¸Z”‹5ô®ûصï_dˆ\Ó=À ââøvÛN’âñ)ÇírÒ!’Ê» 4¢z½¬X¹‡š³ íÅ¡+ÔÕÖÒÐà „B!ÄÄðsʬÑhäš´~¬zÿBÃ#hp¹ð¸]=r—ËIűã|{ü8^¯—в#x½nt¦Q][Iuý1N9KÅѣث«¹ýöÛ¥!„Bq ø¹eøå¹/l bÔC™¨º# j†Æ¹¹4ŠÇ£¡kUSip:ýŸ#©s9Ù»{?ñ IôíÛ—I“&I B!„B”ö{öéç“)ˆ÷Þ[Æ¢E‹¨¬")) hLB!„BH€Òn&“É÷ï‡ÅÃj÷µÚ»B¼B!„âò0H!„B!$@B!„BˆøYuñ:\²øØ¨ÆÕ㯃êÀãÕQ5p»]¨ª è¸]TÕ‰¢BƒW¯·Ç‹×ëåèÑ£<<ú y÷…¸Œl•Ø**¥"„BñË PÊŽ¤C¸™šÚZêëëQ1¢ª*º×Gmðîr¹@¯Ç‹êu£«^¼ª×®ë8NT¯—àà–/[Â]C‡%­@ˆËdê3Ï¡ëúw/Mkü¯Çûïýš/½®¶–eËÞ•ŠB!$@¹òuŒ åôéjî¸'“ãÇ+¡qba †Æ^jš®¡è€¢ k:š¦¢êº¦ûþöx<ôÏø³Ç*-@ˆËLÓ44­qêoß¿u —ËÕ$M!„âg TTTròÄ)ÆŽy„ªª“448q»\8]nê먫¯Ãåráq»ñªªoaMmüò†þôÃ=IDATsnÖ®»öʸÇçí·ß‘V „B!„(mcPt0 $Ðk`ïW‡P '*NØ!“5ˆZ[=n»]c¨‚Ñb@×tìU44Œ†lBW”ÿ¿½;ª¼?þ9ËlÉ$™¬²  ì¢Ö ¯,­ ‚^[A¢µ¶ÞŸ½ê­¶ÚZ¬mµ¶Úkiµ**ÛŠ;`õŠxµ ‚ܪD´ˆBiA% „,³&³œí÷G`j$ A $ø}ó:/&3ÏYæùžIžïœçyßß(g€B!„ý©Ý?P4i*–C<'TdÔÒ!œðÛÁL_û &gÓ´¥…“æàü5gpá;gQuIFØÄ±m.zc2sÖ}‘þßP¬v ˲H&-Ü^¯œB!Ë—/' vz. ñòË/Kå!„bà%(–ËÀ6Á]©³{É>j®Þ̧­eøå¥äTùy÷¶­„·ÄxÿÛ¨{¥ãÊʤ&ð—Ùo±üKkðzð ö`Û6*&Žmö¸Ï‡zˆ²²2z衃^+))9hé©ÌÇ9ŽÃwÞÉ 'œÀ¨Q£øùÏÞéÎö½Ù¾ÉŸþô'fΚ•NR‚Á³gÏaÕªÕR9B!„x Ši9–ƒ¢‚•2I… ’ᩈ‰mØ ‚ÙnaÄ,Œ¨‰3Q]NÃêfRAEUX÷³MÄÛH öp'yÛ¶yüñǹýöÛyâ‰'ºÀ[__ßiéîõ®<ùä“ÔÔÔ°zõjV­ZÅÚµkyæ™gkûB $<ðãÆcò”)üèÇ?fúŒŒ3†ùó!•#„Bˆ˜ tüo¤ ‚õ&ü¤ŠÉK&2ëÍ3iÝ%4Ò³uÓ G-ôL UUq,O®UWqÓLðᇻºÝߪU«\yå•äææ²zõgû-ï³Ï>˼yó(..¦¸¸˜yóæ±lÙ29#űûËFUyð8óÌ3¹ÿþœ~úéÜ}÷¯Ò3ñ !„B ¨EU,ÓDÕTð;¬½f+¦¾ÎS_ø3…§ðº± Û´±6Žá eh(¨í&fÜ"JÓquD5RX¶Õíþ{ì1¾þõ¯pÅW°xñâƒÊŒ=šŠŠ Î:ë,,X°ÿ&‘½³eËÆŸþyܸqlÙ²å3Û¾ý5Iy`Á^¸_ßs·$'B!„8È€™Å+c˜I+E{{;CÎ-@sëXq ³Í"1ÉŸ˜C`T©I²Õ`ëïwsÚýc¨˜9˜x8Îðê2ÖÝñwÚã ÓáÀ½T>n×®]lذGy€ /¼;ݻwS^^îreY[¶lá¶Ûn£¹¹™Ûo¿½Wï§­­ÌÌÌôÏ~¿ŸX,–þùÓn_ˆþœ¤\ziuú>(B!„Ú é`mËFWUv¯Üƒ'×MÙ¬"F^UÎæv’hLR:£ˆ¶Ú8Q~r†g¢ût^ÿ¯÷(¿¨ˆÑÿy[—í"RpºNPüqZ[[©¬¬¤¤¤„ÊÊJZ[[yüñÇ*«i£FâÁ<¬.Z™™™´µµ¥ŽÅbøýþÏlûBmŠ¢J¥k˲Ò÷+ê.¹‘+‰B!ıÁ²¬.{S ˜+(FÊÀ²,lݦic.ß…ŽŽ††'߯ØËû¿Ø†c:8–ƒ;Ç…–¡âÎÕùó•5X(¨x3Ü$)R†Ñe~’H$X¶l555”••¥Ÿß½{7çŸ>ßûÞ÷ðv1=±ªª‡õmðÈ‘#yï½÷˜4iï¿ÿ>#GŽì±a&ß6‹Ä¥ëlÞ´‘±ã'ôzÍß„Kïþ×R KKs/-ÿ©d!„b‹F#¹7A±,ËLbY6Žî58]ÓQÇtðºAP°-Ã0hokÇ›íÆ4;ÊÛ–ƒmÛXf×S /_¾œ‰'vJNÊËË?~^@!„B!Žƒ"„B!„E!„B!$AB!„BH‚"„B!„’ !„B! ]ª@!„èŽãJ¥° ÛqpG*å(RUQÐ\.\.ªª2~¶máX6¶Ä®_ÄOMEU5E‘ø£ñ“E!„è£ä$ iÜÛ@4•J9ÊTU%33“ââ!äåàö¸»m$9ŽƒešÔÕÖ²ùï§5Ø*x”išJvV#O8žŠŠ¡è.—ÄïŸ$(B!D0 ƒh4B]ÝnFGAA!š¦IÅE¶m³wOÿüÇf²Ùdy³I%“Ý—Ý·—w7¬çìÉS:ì8‰ßQfYÛ·Àëÿ·M×(+«@×u‰ß1?IP„Bˆ>`¦R4Ô×1vìx ŠaÛ¦iJÅeEƒŠQ•¶nå¬Òm‚âX7¼Ïä)_ä¸ÊJ©¸~@Ó4FŒ8—æbí¯S\TÜmWâ7°ã' ŠBÑlÇ!‹‘—Ÿm™2þ¤ÉÍË%¢ô0ÅB¡ C‡J…õ3¥åå„^aZ¦ÄïŸ$(B!Dè k£j:¦iH…ô#ª¦cÛö!ãgY–t ê‡\.–eõ˜ôKüvü$AB!ú6U#tõ¤½-J{¢Ë0Ð\.2¼ddf}æë|“M1pã"ñxñ“E!„èû¥ÏÿÐ[÷¡¨*@>.— Ã0‡Z…Ãè./©TÓ´:þøën·ÓLàq»;­‰‰'ÚÉÍ+:ä4®BˆÏÎ’•ïsÿ²µ˜¶ Žƒã€³ÿ·ÇôSGpç~ésS’ !„}›=ôù”X$ŽCn ŸÖ–&’É©„AsS3¼<†”æáÎ ¤»»X–E*•¤¾¶…=Á:ò #¸½.</yù…´¶ì# ‘•ø q˜–Í=KÞàgßœF¦×ƒå(˜6ØDÚMþû÷¯H‚"„Bˆ£½½Â¢bZ[šp¹Ý´6‰E£ «¬Äëóáóy÷çIã.TUÅëõ1¤¤„ÜÜ\jwîÄŸ?+›Ö–&¹4íÛ+ ÊaÚ³§ÇŸxœX[”)“§1uÊÔË¿»a=Ï,yš,sæÌe䈑R‰Ÿ#ÔµP9$UUÒÝr2½¬Ù°›”­4!i)L›PÆç­—š*§‡BÑwœ#°X¶‰îr“2Rìmh$™L2bÔ(`O]‰Dgg‘Ž¥ã÷-MM(ªÊðQ£H$ìmh$e¤Ð]n,ÛüÔÇõòŠåéÇÍÍͬ^ù—NÏÍ¥×ñsœ^//¿ò2…ùŒ3†¿¬üxîÙnË®­YËâÇåÄO¤¢¢‚'žxì°öu8‹¦iŸêõî–mÛ¶1iÒ$|>§œr Û¶më³÷ðñ¥/âw$—WßÙÎ7îøŠò‘±Žƒí€aCÊt0,ÃtH¤ TEé·ï¥/â' ŠBÑçŠÓ§‹ªj©$‰ö±H„a••´E"„šš0S)¢¡  |ä_$$ÞÖF[8L¢­a••DÃaí ŒTUÕ>ѱ¼²by§nmYYÙà8lýÇß=v,³«¿š~î¨.} ‰`Û6áp˜±cÇòÎßÞá¹çÿpP¹š·jX²ôiN=õT¢Ñš¦ár»ûÅéÚÝ})ºríµ×rÎ9çÐÒÒÂìÙ³ùîw¿+Ÿ÷C&L°ðùuÜ·ìMâÉM³{ ±0m°l0mˆP8ú¹«'IP„Bˆ¾ÎOúxñù2imm¦¹©…Ò¡Ci‹Åƒ˜–…Ûë% ±cÇNv×Ö²»¶–;v‰Dðø|Ä Úb1ñ8¥47µÐÚڌϗÙi¯¼ôb·ûÿèk3f^@VvN§«F)«F<ÞN$0WPÇW¾|1ï½÷·§#I3†wþöv§$¥¦f-K–>;𢑙™~Ö½½Ž¿àß»Ýn8æÆo¤ªª ¯×Kaa!_þò—YµjÕgþçf¢o¼ñ×_=>ŸSO=•¿þõ¯òïA{ÂàÛ÷þ/Ûº—¾:­ó‹JÇyi;IIÊ‚h['eôЂ.··iÓ&fΜI  0sæL6nÜØc¹qãFÊÊʸçž{úu]É!„¢¯S”>î@î÷g³oß^üYÙxÝ0 ×K<ž ½­ŠÊãÈËÏ µ¥…]Û?ÄŸ•E†ÏG¼=ä’ƒaäåtÜÙÙ9D¡.ᣯTfÿ=)\.ñö¶½ÃèRTZZÊõ×}‡ûÜËĉ' ‡uÂ(Þ~gŽãP2¤„g–>Í)'ŸB8Ÿ•MMM Õs/cìØqÝºšãŽ;Ž?ÿùÏ”——ÓÚÚÊk¯½ÆwÜÁ”)Szý>>Íë]I$dggó«_ýŠ+V°hÑ¢~7¥ïáv ë+õM¾uÏK_YÊSGâquLXqò•u*wï_@Ó¾tÊpn¾|*ÍáØA1Ú¶mçœs?ùÉOxê©§Xºt)Ó§OgÍš5TUUÛšš.¾øb~ùË_R]]ݯ§_–E!„àEA×Ý”–—ãóù(©¨   ‡iokcìĉ¸\ÿú“Ÿ_P@vN€ë×ãv»ÉÍÏ'+'·ÇòRâñø'žbøÿ»‚çÏ:è9€eO?ÀŒógaÛ6lÝB}m-–eR8¨˜ÑcÆâr¹t,ª*«ÒIÊøñ…ƒ?òxÖ½ýíííœ|ÒÉ„#!ü™Y¼½nÕÕ—qÚ©§õ¸Í×^{¥K—â÷û(,,döìÙÌž=;]Æ0 ~ðƒðÔSOaš&·Ür 7ÜpCúõE‹1þ|=z4<ò&L8h_¦›†ŽÙÞn½õV}ôQb±³fÍâá‡&+«ó}rîºë.¶lÙB^^^§çµ¾ËåâÁìÕq dë6×qËoV2}ÒN8®˜öÄ?4‡ožƒ®‚®)¸5ð¸4<ºŠÏãŸáAQ %ÜŽeÙ¨jçÏãÏ~ö3n¸á®ºêªôsW]uáp˜;ŋw*¿råJ¾ñoðØc1mÚ´~_gÒÅK!„èKΑ¨›H$q{\88¸<. Š¡{=”T”£ë‚ÖuŠÊãP\:ùƒŠpX×íîTßÍ Öž¼xœèôüôóf0çÒË™séådçøpûDÂaΞ:Y]Œ×ëåÃíýoõ§IRÞ{on·—`(Ȉ#8q‰„Ã!¼^ïüíªç^zÈäàŒ3Îàšk®¡¦¦†x<Þe™Ÿþô§lÞ¼™·ß~›>ø€ºººN¯¯Y³†5kÖÐÔÔÄ…^È5×\sÈýÞu×]¬_¿žuëÖQ__Ïçã?øA— òúõë?ÑúŸä¸’'ÿô·þv5³Ï=“!ƒ ØÖö6ï³¥.ÌÖº0Ô‡ØÖfk]­µ-lÞ¹—½-Qš‚1¶ìjÄq8è ƒW_}•êêêƒöW]]Í«¯¾Úé¹çŸžo~ó›,_¾|@$'’ !„ÇÓ2;¶ãJGƒFU),*êvܼ<UÝßøQ€ŽL«ëqËž~‚?½üÒAËᇂ„CAjkwâ‰de爷3tè0öÔ×áóeñ8¤lxo^¯—½{÷PßP×ëãÝw×sYõW9í´Ó{µ­gŸ}–òòr®¾újŠŠŠ¨¬¬äÆo$ þ«!üä“Ü{ï½”––¸ûî»;mcÁ‚”””™™É7ÞȆ ¹ßG}4½Í¬¬,î¼óN^xá…ƒÊÝ}÷Ýüð‡?äÖ[oŲ¬ÃZÿ“×@qËoVòÂÛ™;ël \ìlŠw|:UEUÛéoÙ¦í`Ysî9èšJÒ0ÉðtîôÔÜÜÌ AƒÚç AƒhnnîôÜe—]ÆÝwßÍĉLÝI/!„¢‡T*Õ÷û1ÌôgEQ°mÓèØwwݵÇÁ4L,˶íô•…ë}ÜœK/ï6q:­s¨Ç‰d’Õùs§í(€îr‘ §úMü,Ë<¬ãÕÐЀ®ªØ–µ¿n ÓÄãñ²»vw¯Œ>n»íVn»íVÇaëÖ­ÜÿæÎ½„+:ºÏíÙ³‡ÒÒR©d—Ûðû3ӯ麆išÊvõ¸¾¾ž1cÆtŽ‘¢Tö’KæpÉ%s¸÷Þû¸êª«xøá…½^ÿPÇu4ã÷i%R8`†å²ltKÅIY„ÛLtÕÁçRðº¼.5ýرPÁëq±·%JEq S½äççQWWË!C:çòóó;•]°à~®¾újrr²™4i’$(B!„8BÐu Û¶Òw‹À¶ ƒä~llÀÍMM¨I^LÓB×µn÷Ó´¯ñ39^·ÛÃgœGFFÿ¾bâ8Ÿlù[oÕðìsÏ2¼j8ÁPììÇ!PQQÁÚš7‡ {˜½«;#FŒ`þü_PZZ–>¶ââb>üðC†Þm2ÚÓs]=...fÕªWjw·ÞW|ªªá,\øÐ'Z¿§çŽtü> ÿýÍ),~å}–®Xìi§QžŸÁÎ}m´% <û“Seÿâ`ª`©`Ù6º‹œL Ÿ_Ç´“‡uzgŸ=™%K–tg°dÉ&OžÜ©ìå—_N^^sçVóðà 9ÿüóûýï3éâ%„Bôq ÷HŒ©p¹Ý$IpÀH&i‹FÉÌÌ`׎†qPyÃ0¨¯­%''›D{;f*$ \n÷§ƒr¨ÇŽã0¸d[WÃî];Ù»§·Àk¯þ…}{ûÙ”ÃßöÚšµ,}v)Æ%áófðÏþ“üóŸèºN$¥¼¬Œ7Þ|ƒ–¿pÈí͘q.Ï=÷˜¦Imm-·Þz+§œrJºÌ¥—^Ê÷¾wuuuƒAæÍ›×é½võþõø?þãJ®»î:¶oߎalÚ´‰+®øz—emÛfíÚü‰Öïé¹#¿Ïr¹bÆXn¾ì4žÿã_ÙÛÔÂñ¥YhªÂ´ñÅœ=vgŽÄ©ÇqÒð"ÆW1jh!Ue´'LÞß¾—»žü?ü>u|§íÞ|óÍÜwßýüîw¿#‡ùýïÏ}÷ÝßeìÏ;ï<–,y†k®¹–'žx²ßߨQ® !„>r0õ»› ››q{< DQQ›6l |ذô•”`k+»wì ´¼ ·ÛMÓÞ½´E£òóimm%Ÿ‹ã8Ÿx&¯Þ(¯ÆÞ= lܰžx<Ž/#ƒaÇU‘“ ÜÍTÆG«n§AüÖºžýÃ2ÊˇŽ„ÉÈð³ýÃíÌ™=—ÂÂZø åeåD£QJKKyãÍ¿̺°ÛmΛ÷}-z„ï|ç;D"QŠ‹‹™:u*=¶8}l7ß<ýèÇœ~ú€Ã÷¿ÿýúRÑÕãn¸_ÿú^fͺ€={ö0|øpnºé¦ƒÊfgç ( Æ ã¾ûî=ìõ{:®#¿¾pÚ¨~÷\¾÷àJZÃC9cB¶7Ýó‡.Ë+ äeû()Èæ’©£8k|ùþDë_e†¯âÅ—sÛm·qË-?àôÓOcùò¨ªªì²ŽO?ýt^zi_ùÊÅ477ñío»ßþNS®»öjçþÒÚÒ,¿á…BˆÏH4áÝõï0õ‹Ó‰ÇÛût_m±†‘bçöäà8˜¦‰×ç#Ð Là ‹áìO8TE!›‹[×ÙרH,FÓu:n 8´r(.—›Lv§ý *LãÞ=]ÃG_ëÍã23ýddd jãÚbQ‰DŸÇgíeæ… ‡»|=•L²l鮺úZ £wcb¶lÙÊ¢ß>Lii)ííídddR[[Ëì¯\ÌÉ'w\íØ¹k'‹ù %CJHI¼õ œ;cS&O•N/-þÝo™uÁär?³øõµ¶„Áy¤­qÑ´“¸ã7ËY³àk¿¨¯«å‘E‹ä ŠB1ÐÅãí‹Æhij¡  ÛqHÄã4íÙCqi)¹ùùé+"ŽãJ&ilh -EÕ4t—‹–– Š ÈÍ+ ißÞt‚²fÕÊ^ÇÙS¿Ð) éîqºÑÖ£­-Ök·÷ßÀ¯~íUL4%#ÓGmí.fL?ŠŠ¡466â8™™Ì™=—%KŸfðàÁÄÚb³òÕ•L>{Ê':Â@7t€P(ø9ÿt8ý憄_ý×4~a=¿{~MG"•J¥¯VXÔôÌz‡ïc%ö’ !„}Û<êó’e™èº׃?+‹Ö–Vróò0 ƒd"‰ªéX–Ýù¸ˆE¢èºŽærÑÚÄŸ•…ÇëA×ÝX–™>î›2âÁCzu,{÷4[ñ;ŒAÖ@€}ûq¹=ÔÕÕ3uÊ4ÊËÊijjÂ4MTU!ÃçcÖÌ YþâÿPTTD<'?¯àŸ'Á`kÇï|¾?ÎѯÛ¶1 ˲0M“¹gcpÀÅÂQZZZÒåEEU4MCÓ´ŽÏ¦¦ár¹PUµWñ>Vb/ ŠB1À©š†a¤p¹ÜäæaY6ÍÍÍrrÈÍÏßwöõaW”Žé|yyD#ZZZÈÈÌ$¯0ÃH¡jÚ1xNŠI/zç|i:†aÐØØÈ…³.`ÈR’‰Éd’T2‰eÙ¸Ý.Û¡¨ €ê9Õ¬ßð.8vÇ”Ïy2q´ã×LÓÄ0Œôràçñå™Ìûò(‚­­Ø¶ªªhºŽ¾?!q¹\躎Ëå¶,ÜnwçúŽq’ !„œÏ›A(ØL^~­-MääfáóyinjÆ´m2²³ñx<éŽiZ$“IBáÑH”‚ÂÜ^ yù…´¶ìÃçÍŠ…ô,l½‘“Íì¯Ì&‘HL¦H¥’¸t¯×›¾¡¢(hºŽK×ÉÍÍ¥²²’ÌÌLÜûgNG/~}á£]·>Þkhq¶m¥»x©ª–îÞõñ²ªª~®ÎIP„Bˆ>m õ}W _†Ÿp¸…Ö`Ù\\.†aàÏñÓ‡:nƸÿ8T¥£‰ÏŸA~Q9üô:­Á&lÇÆ—á—3‡ßEH×uü~?™™–e¥o‚iYV§Æ¦ªªèºÞi\8úñë‹Åívw\ ±íôbšfúüp'Ý­KÓ4TMCûÈyòyŸç‡$(B!Ä1Ò@òx3ðf×,¯/¯/SEÝPêCâ'$AB!¾Ýydàs?l³:v§Y‘º‹Ÿ¦©XûLjþò,4Mëq*^‰ßÀŽŸ$(B!DP¿ßOÓ¾&22eÀyÒÞÇŸ•…cÛÝ7pœœ\jwí¦hP‘TZ?ÒÚÒBnn^Ï ŠÄo@ÇO!„¢h.CJÊØ¾}+ÆU’éÏDQT©˜£ÈqlÚbmìØ±qãÇ“H&»oàj£Çæ­·Þä”/œFAA!š&ñ;š:¦Ïnâ·×1a‰¸\n‰ß1?IP„Bˆ>àr¹È 1òxv~¸X,†ÝÃ7ö¢ï©ªŠßïç„QcÈË/¢-íö[\UUR\BjLŠ÷Þ}—H$œž*X¥¤_Óä=z4…ù¸=žc-ñ¸ñ“E!„è£Æ°Ûí&;'›²²rU¾½íÛ&™Jõ˜œ@ÇÝåbØqÇQRR’žVÆ3=î ¢ë:¯¯ÇqD¿?IP„Bˆ>üƒœL$I&’Rý06½)£ë.tÝ%6@c,ñ˜äë!„B!„$(B!„B! ŠB!„¢ßJA©¯«•ÚB!„BUÊu×^-Ó!„B!ú…ÿöæHðÌž—)IEND®B`‚KCemu-0.5.1/doc/window-keyboard-lc80.png0000644000175000017500000003711612417262523020105 0ustar glaubitzglaubitz‰PNG  IHDR ŒÔ†ÖsRGB®ÎébKGDÿÿÿ ½§“ IDATxÚíÝw|eâðgk* ¤‡Þ =tP¤ˆ€RSP9슢Âå,àʉåg9ÄgÁT ¨TAºÐ[BzBz²eæ÷G˜ew³5['y¾|òaËì;ïÌÎ<û¾ïÌÎ*DQ„µî|®îƒDÔ¨üôÙK ëÇæ1îþ×ÄÐø.øë”¡\[DÜGßlGuþqlZº@Q'0ÆÝÿšøÐ}sÙE•\[D>VXR ƒQ¨×kÕ*%b£Ã}Zn\T(`ùG›BC!Š¢),² *ø.ù),ŠJ+ploZ½^ßmÀ(ÄDEÔ _”›¹;·|‡MK(Ôß`k<ƒˆ¼«¨´ —Ë‘±o F»]Z5sëõÇ/#mÓZ¤ô»æÓrÍ3B1fÖ?Ä¿Üý *kô6 yd|[¼»ñœÅ}6“˜?GD–r‹Ê±÷·6f’b"ëUÆáSÙÈØ·†Gâ•2|U.d”aÏæ¯ –pÔ¸ž›;¡6ÞÙpÎæcÒýGÆ·5Ý'"KŠ+CˆI1‘0 õkÕ'Ä4AÆ•²¤}ÑWåZŒq\ ÑA`ˆxô¦v€·¿?ksZëÇäнùù·ß£‡ 2=f¨ºŒýN¢Ì ¢yÇtmUû„`@Vf&²óKPVUAÔ-"""пg'Ùl¬Ò2Ûc¾.¼¹^ýñZ¹P*®­Ñ㲤}Í^¹Òv&ŒºÖâµö·.×f`vp),ÞúîŒÝé¤ÇßúîŒÓò‚Á–m{ðíâé€Iÿ ×_7Uùçq$_…ž½Âؼþ7¬ËÑ9A…}ûOcÐÐn˜=¥?ÚÄE@«QQ^…¬Üb¼¼æúõþÐ0_f{¤uáÍõê×Ê«…¡€+û«eIeØ*wÓ–xgþÄÚÖÿ’õwý5·U®†óÊÍ»¹½éö›ëÏØì¶ÈUÉÅ“8-6Ãë÷G‚¢Ÿ~œ†´Ò$ôm‚CûNá¡GÇcp °vÝ.¼z(¥FÚ¶NÄ#{"RQ}eùEäg]À¹ìBTÔ¡Ö†">¹%º´¼:ø´uû@ŸÉ8™™ €ð´jÛÊ’l\È+Fµ^Dhx$ÚtêˆäHµÅëFX§,é1[Ó˜9t &ýý+Ó}óÓ|šŠœ ü~² …JµÑ1±èÒ¡B•µ¤®$égsPRYJDFE£E‹Hnf3ÌëS™ë¸l{¯ugù{·OÂÉ‹ù¨41òÚà ï·0\+÷ù1wÉzÓm‹|«éÍËu»…¯{ðä¤6§7¿ÿ䤦éå";¢9Þ›ÙÚª",þÏo8Û´ú´GÑÉ#h5ñz ‰ÓàȺ°úLSôé RDEY)¾Y³»õ€ ÈŽgnë‚ù“;:œ>˜½2© à‡M‡‘×´5zj¦ú—E´×*gõúèê¶žq2« ŸX¶á* ŽìØL˜ˆ®#û äŸû,¦sã9´ìÖÇнvügã9´êÖ G‚ ö„&,¢q»ùn ˆ¶×íà}L;Ùà}Ü^ÿÒôÑÑj¬þúª DQÀ飇tAl‡¨)Iƒ ™Jˆ:œªÔ‚2ó°ô³ŸÐ­k7\Ú{ N½\-ÛÖ2Y.‡ýå7÷Ɔ³hÞ£7RÔŠ ÜÍÇ*ªu—%-c}ʵ7y¹.wIf^¾ ·/ëY{§x*Ô¹oñ˜¹â©XÕôkYÆSßžÁË“ÚcêìaXù¾¿  [«Ú£#á*Îèt Q¢F‰rA@„þv™AD×ÐÚ`YøâmÏiB Ë-;¯0P­‚(\}ÃÎê TDÔÎÂ:åE¶£QÄÀþ©õnæ ¢}Y!.è4xbÎhtm‰ÊÔÌUª›b :¶ˆÁâŸÎãù±mðòÜqE9—òñýàH‰Îî`¸+eÛ{­+Ëoî‚^Ä@Uð¼kTJÓm£P{ ÷Þ}‡\zí€~½*emJ¥ú+§Û*W*Ûºua>¦!•i¯\—»$a׊Hìþ§é~îÑ÷­Ï=ÚL·Å?åÑ-ÉØµóªtX2½ fÜy#¿ڌ/ÎÑ£mS´lªÅª?+°°_ÜÕ7/,D÷Ö1P)DTW”!/7m:tFµG«è¦ÂãÏ}3º«+[ ¿Þu6 WOKÔ>¬„J) /ƒJÛ´Îë¤òÍ7wº$'Nf⥅µÝeK7á§s¥0@‹u¯L1—Hl…#{á®Ð2)m[·Äã;cö¬k1õ…ßì.+eÛ].,¿§]²€%1ëØÚ©­»ÒôR6˜wÑl•»ïÀa‹r­=¥Ðè×§—Ýr-º*æ+ØúÏ<¤0î›ÿïèM Ö?k!Ù§ðÈ'GP.(1qúXÌé\ŽÃ§óÙºN» { õè9q¦u0âì±£8p$å5zL½eΟ:VIø0-ðÄĈ U!$4ݺ¶Å‚‡nÆÙ“.mÔ¶‹V)q Ê…Béí#p$=#Ç[ž§°wß!|»x:¾]<{÷r{ùEQ„`ö RY­‡¨ Áu7X~sùè™Kx}V?¤¶GÎ¥|8™_ûzÁ…B ­È3Ô–Ÿ¡2ÕÅ•²í½Ö•å—Ó¶gÞ@Ñ­q ëé• ¸\îÜ%ëѧwOôéÝÓ®”k¾½¸tXUjU8 ˆºoš|Ž’D5ïUÞ9<üKîï‡Ñ“F#<ôW|x¼RñÆ[›0lx7Œ¾®&N‡VTVV!3»•‚¡ñmP~d7^4¤`Æ|ðB@¯ÃÙó¹HÛº ñmQPzÜéú±õX›vÉx÷ÓƒX0µn3c/—`óÖ}FymÝ‹"Щ]2}v &¥àÑGoÆ=eeزu€‘¦éÚÆ„àõù˜6vžl‘y!ë¾ÿ­:´ChYÞL»€¿ o…ÅÏO5 `öêÐÜiÙí’šÚ~m§>_þ€µ0Ì*j½Ûë:Z—uõLϺåöîÕÃTnï^=œ>n«\‹Ç¥ï’\Ƚ\çÉ{O·èj˜w7ìýo>Íû‡¾ êØð oêÕ1Ce2NfA ir;´K¸r>½h@An /—¡ªF"”* ÂÂÂѹCkÓëK r]pU5@¡BXd$ââÛ$Äî<]yL_Qˆ³òQ¡ÓC­ Elb ä\¬šWTf*ËúLOo—k³…q6»¨Î“s*o÷hŬÿDd)",µ›7¬AË”!híÞ7K/—”#3cÆL¸zƒ€ŠªjŸ–[;ÆçßVý0ÌÞ—× ª£¼²á¡ZŒw Ò6­Ef=Ê5îÔè ¨4;ÂWåšsùLO"òžŠªÄDGà¦ÉÓëõú½U5~+·öäQÀ^.—M¹Òøˆ:¥IÖý¸ï9”Ò¤ ¶…ñíâé(*,à!"›²2/bù²_®žéIDäŒÚÞ‘‘M¸vˆ¡òò2÷Ö­Y͵GÔ;ÎýÀpôB"jx"#›8l(p ƒˆ\ÆÀ "10ˆˆAD®2 xÿ£púì9VU]…ƒ‡!óR¦ßçÍÀ ’™&‘M0þ†qø1í'‚ÀÀ "Ç**+pþâydçd30ˆÈ±®» Š ý:_‘ ¥öì]{øý:6j®z"y:~ê845R{ööÛ<ë±qñnM_XÏw˜ÈK š5m†¢âb¶0< 0o“/Ê$ò–±£n@ii©<ÃÖNÄŒÈ9„‹™0mÊm~›'=‰dÊh4Âhôïy~ë’\Üÿ>ûê¤mû'ÏçÀ Ð"¾u' 3óŸºíÃêVå·ÿ¾Ž÷V­Çþô³(©2"*6=^‡³ÂŒáê´l¬o›·vÜ¿+e:kQÙ{Þôx~66-ï}¾‡N\D•A…‚¼,î ä’N:!<,¬aFê wX=¢GÖ‰ƒøêÄA¬ÿúglÙ÷5:›í´»_žˆ)oì²xEqÞylûþ<¶}¿ 3Üìö¸;XõÐ<öõÕhV(øS亴_ÒpÍ ! 30Ú™‚ûƒû UbS@WŠS‡wâý…O⋽Ûq×s{±kÉÕ…üý?c¼ƒ—ï‹Ö Ѩ)ËÇŸ{Á—¾]çßÙ§½»ów¥LO=þM6xyî»e$ZÇ5‚û@£TQQ›7¡ÌÁµ4­UUW£¼¢;ŠV}ìÖü ÷„®]ºo`ìýn™Õœ›¢ûàñxsM|Ñz.¬ÿ`¶Ã–]é›MèßÍšEA­TBˆA£§cÐèé>Ÿ¿?\·x#þuWî1ÜòO?ÄÞÔëµ—r.áRÎ%·_·uÛ/xýŸ¯!ÞÍÓ#üÅ[ñKWb뮃8—•‹Šj½ÅYjºRËîÇ’iqǪtÌ›>+µhÙ¡ º÷ì‹cÆá¶)×£©ZáÓùûÃK·µçÞB8’þ':wïŒn½»¡¸°¥—KѦCT”W 0¯­Û·Ø}}÷ìßµ}‡ô5=Þ£oh´\ºx jµ É ¨®ªÆ™gЭw7Àžm{0𺨩®Á¦µ›pìx:†c`än n]‚ #º‚¡Äâþo¦á¿½ßÀ‡_|‹]‡NáâÉ#¸xò~Xû)-€e?|q-"|6è®áÞB¨®®Ft³h$·H†J¥‚R©Dr‹d£ª¢ É-’Ç#›nk´‹Ç“Z$A«Õ¢ª² Z­É-’QQ^œÌÓtaáaHn‘ ®ö‡–õz}pvI^¼÷]Tô½óY,š=Û4Gtd8ÔJDc9âÛÙèhipãì¿ãÆÙ‡ /ÇÙé8¸6|ñ¾Ý³Ly§÷<í»ù»@£T@/ˆÐ‰€ÖªÁ#è²¹'ë]‹ —°åòFF£Yç³PR\‚ÐäçÖŽ¡å^ÊÅ–M[Ôþò7Ÿƒ¨è(èõzlOÛŽêÊjˆ¢ˆÐœ8v¢ ¢0¿U›ªL¯Ù²©võå—ÀX_T[á/?Š8å©9;^rúz¥&º@‡î0yúd|Û<¥–¸Z¥:AD¥ "\©ðÊü• C58Z©ÃÚ‚*̈·<¼uñ‡ç¹Ëš·nŽþCú_í"ëtØ·s†Œ¸:®öË¿`ÄØ¦û»~Ù…~×ôƒV«œ9yZ­-Û´´û©ì“é'ëUO¿œ¸5 ²vî}yÎä•B(Í;‡õ+^¨ŸÚ|Mê˜ÛñÚ²¯°ÿØ9”WéÁˆÂ¬“øâõ•¶¥Åô}"k›÷ÿúá0ª ¢ÇówV&Üß­)๩ÃŽŒ,èå…ñÝŠ…¸áþï¸Pƒ£˜ûÐâÛï½_çǘ¥4q燌ì†Ìøð.\ûÔFÛýø¿¼£_2S¿<]gºÂ‚üzÍßY™PvþKôôÊ u›x}ïýû—ßc³\žBOæî¸wZ·k°ˆ«­Ô¼B„…‡!<2UUPkÔ¨ª¬BTÓ(ôô‚€°ð0(” Ó4 …j½F£½M,Çú£€“é'1ûŽ»1zÄ(—öûÚc^æŸ.IÊ=Ÿb}Ø¿±xùרâ"tAëν1iæÃxöž±ˆ¿²Ãš;´e5¾üß:¤ý¶é§3Q¡¢c“ЭÏL›ý(fŽêl1ýð7¿ÇóMžÆW?ìÀÙK…ЙõÓê3ge@“63ðÇ÷j<õòRü²/eF-Zuì[ç<‰§g Eì•À r&±E¢E—ļ+‘ñgbâb”ÈËÉCî¥\ôìÛÓn×#/'EEHé‘Rg^žtI¼Ž>1¯½ãoXÇß\~]Ë^#1¿×HÌwµo¥‰Ãc¯,Çc¯xgþ®” qý§âõSÝ*—- ’+^@‡(dÉ@Æ‘ ‹nÃò7—[tSjªj öˆÇÞí{¡ Õš¦ÿèí P(  јÎ1Ú‘¶Ãô‰'Wéb`”ž)]’Šò lZ» Sïœj·Ûa}”dׯ»†Ô©v_#uIVüߊzÕ“_o'"¶0ˆää䱓¦.‰Ñ`„J­‚Ñ`ÄÊ¥+! "”*%£€UËV]í¶NŸ8mqï? ˆ¨} `åÒ•ŒTj»$D A§nL]ónDqQ12ÏeZq&ó|&ÊËÊMGH*Ê+~$ÝT¾']Q€5kÚ N_0Ý/Ê/»j¿½ZUY…ÒâRÔÔÔ¸\^ey%ô:=ÊËʽŅÅe@T“(‘ÜŒ1«×}Üì\Ócæ·àÂÙ ÏçÜ©s¦Ûq±qèÕ½§Ûe00ˆlÒ„‰èݳróòü2?­Fƒn)ÝÂÀ ’£¶­Û¢më¶A_OV%"10ˆ(€œŽaDF6áZ""ÇQ~å’çëÖ¬æZ""ç- w.žCD Ç0ˆˆAD " »c±nþ"5ö.#épÐ355•kŽˆØ%!"10ˆˆAD "b`ƒˆˆAD "b`ƒˆDÄÀ "b`ƒˆDÄÀ "10ˆˆDÄÀ "10ˆˆAD ""10ˆˆAD "b`ƒˆDDN¨ý=CQ-þweZ¢ÆH¡P¸ü¼³ie¢(Úýs ÒãþZDr G² AlþÆ:¡!Тś?OÔXƒÁ^X(•JÓŸJ¥2Ýöep¨}F£ƒÁô§×ë¡×ë!‚Í•bDì’Ø§R© ÑhLjµÚ² ),ôz=t:ª««a0  T*T*UĬïŠ#j¨¬?8¥–¸´/‰¢½^ošN£ÑÔi­u`ˆ¢AL-Šªª* ( „††B£Ñ@«ÕZ4Ÿµ&ì Qc [cyæ-si_“¦Á¢•áÍ–ºÏCjY(•J„……!$$*•ÊfŸŒˆcØÓP«ÕP«Õã€Ö!ã­ÐðY`˜wG ÂÂÂZ' qhˆ¨¡qH­p)0¬÷±  óf‘Á`hµZ„††šZÖãÜ$ª«Ã|_2ïæ›wY¼>oa( h4‹…²n&I8F£‘[‘Ò¡SëÖ¹­Vºùÿ²haH­ é°­°‚BZé829î‚H!`ýA,Mã«ýȧƒžR*ªÕj» lÝ”2%"KÒ¬õQë1 [GT‚ºK"-„”tÖ a~¸H:'ƒˆ³Õr°ÕÝ7ÿPöæÁŸµÿ}Ä<Dõ['=Ú; ´][··À¾ ž¥`àë£æ‡RííwAß°þ&ªu¿J¡PÀh4šÆ8|R¾<ŸžÈÝýÁlíG¾8»Ó¯- [¬O]õ漤r¥Wó£0Dþ i[—¾7åíòµâeÕ%qTaovG¬OT±Nu¶4(P- £Ñhº”ƒù—-½Ù-Q*•v[Öûˆ§žj¹¿1æ]ë£3æù;0¤óŒ¤“¥Ö†Z­–퇘Ú×+Í;«u÷Æüv»¶mpÍ5ƒ˜­VÃ-™|J§Ó#7/ÛwìÆ™3g¡V«-.õ }ÀIç&ùr¿“Í×ÛýÙº0³°î’̾{&¸“ßhµ´jÙ™>¹¹yXññg¦íRºˆ”ùÕ±äFé¯Û×]s ñqxbÞ\†Tbbæ?ñ’’Mg<+ Spø²õí«.¬¿¸a}²ŠÔ²¸ãöì~Pд8îœy;€«_“0Ðét>;µ@ö- _“˜ß¾û®™ ºÐ¸wÎݦ³šEQ„Á`å·³ÌWCEQD»¶m˜Ï-”‚²{Ò¾][SKX:ÔÊÀ` cÈAÜ2)hÝþ—iuZÄ Œ@¦89‰îô‰ˆAD "b`ƒˆDD Œ@±w|ÝÇÝë[¦»¯khó¡úQsxŸôÅŸƒ‡ãäÉSèÔ©#R{÷òꂬ¯¶”žž={ÿ@M!!Ú:ÓKÐ]»¦¸|Ídž6b`­ß÷ìEZÚVŒ5©½{ù$(ò pêÔi¤§gàÌÙsÐëõ?%‘7¸\R‚Ž; >.®ÎŽf½Ãùj>þZb`ÈFhHˆÅÿÞl½‚€Â¢"¬[·;wíÆMÆãŸ‹^púú5k×aÙò¸fÈ`Lž<±116~Oâ«ùøkyˆc`åªÏñð#ó ÕjññŠe¸õ–É.½îÖ[&ããË Õjñð#ó°rÕç b>Æ¥ù£QÏùtz½i,À—óqµOçû$ä(镞í ãÆÞ€¾}R~aÏÓù¸ZŽ·æC ò"i0°eËhÙ²EÇ­ÙkØ›ÞÝrˆAAÌ^ÓÝÞã;wDqq1 víþ;´G||¼Óròóóqêô ôëÛ;wäÊg`PCmHF †Çá›uëñáŠ1dð`Ü|óx„††¢ºººÎë¥Ç¿ûn#ví®=Ú1ç¯w;mx£ÞÄÀ  iL™<S&OÄ×ÿ[‹¹>ᴜۦނË?p¹|_Õ›ädžä›uëñý†2x0Þyû —Zsî}7M)“'ºÜÂ`KA2naüòëoøý÷½ˆ‹‹Å=sf›Æ0 :*ÊfÑQQ˜4qºwïŠcÇÒ±øß¯cР1|˜Ó–[ Áça4„;Ÿ8q ûö€Z­ÆÁƒLaᬜøøx <jµûöÀ‰§¸òÙ ¹¶ 23³›—‡Ä„´lÙÂî'»­/~9j ¸[ާ]%b ƒ\à陑›~ü ‹ÿý:6núѧóñ´©ÅâjXx«¾ÄÀhXoœ‡gFj¯|ÔÙ'¿¿Îô´×5r·UÁ3F²/P«5^-fͼï½ût:fϹkÖ®s©Œ5k×aöœû ÓéðÞ»oaÖ•ßý´ÇßóÑëõ>q #ˆ[µyüÝ÷ž‘•R £?À[]]ÐÐP\?r8®9ÂâzJ¥ñqq˜üF£z½¢(B¥R™Îf`ø1,ÌCCº½ê¿_24(hÂâÓ•ŸCèõzèõz(•JhµZ¨T*F ¨T*Ó÷ DQDn^–¼ñÈÍe÷„Û ù÷’·péR6  @£Ñ@«Õʲ…!ëSí¿›a4!Š"”J%”J%V|üÚµk‹¡× Fbb´Z-·bòy‹"77Û¶ïÄé3gMAa0 ÔjµlÃBö!…†9ó®‰B¡À©S§qò$/Gþß©¾çÔêIDAT.¥1 ©e!……Z­–í©ìê†òæ( S×DFFÓ`(‘¿·Ii;T(ÐjµÐh4²ìôK`øóБÔÒÞƒÁ`ê¢ðÒõ …jµÚ¢âýÁ—óhp_o—ZjµJ¥’- 8iL­!Pûs'ö÷¸FCz£ˆ‚"ü¸ ˆ(`![8jQHƒ“DTØ|Ö°¾äšuŸÇˆ¼´™X[x}`8»Ø«tŸG/ˆØh}Ùzé²òDT¿°°Þ¿üõìõÀ°Ã0O?éqë°P*•<_‚ÈÅV…­Öºù‡±¬CZ•JUçÛxö~,Çüúly¹6fa¾ÿ˜?o¾I'/}`(•Jh4Ów;ÌÃCZé‹bÖ¿èED¶™OʼbÞºðåÑŸuIT*4éË7ÒnlmØë‘ý}Ìüؼ[bþ!lþ'‹†y…í……­fÙî’X·ÎÍ÷%óQóonu—Dª°J¥‚V«5]BÏ<ý¬ÃÞ1c 1 ì?gÞ²07´¾ ]P†yÚI_7wt‰õÉ&æaÁ3B‰á¼ûo}„ÄüòAß%1_iÌjÌÄ@ä80¬‚X·,¬?dÍÃÂÛc‚j,´­n‡½Öƒõ»’´D¹¥!‘B _\Fˆ…¶5ÐÉP r´ïFÓ}óŸÜðöÑ¿†­J›·0ìa‘ó}KÚ¿¬C Ôþ\0v5ˆ|ÿìË#‹ê@.™É ÏÃ&"10ˆˆAD "b`ƒˆˆAD "b`ƒˆDÔx¨ƒ¥"Z­ÉI‰HnžŒn)]“‹>©½øQ£wààa$'%âXÆqd_ÊFvN.t:]ã ŒÈÈHtîÔ]Sº yódTVV"::ååWž@RR"·"ÀôÁiÚ?JJJŽK—²‘žq'NžFyyyà ŒØØ »îZ´kÛjuí5>5 ::Ú´"ˆÈÞíÕýCÚgÚ´iæÍ“1zÔH Fœ=w¿mÛÂÂ"yÆuC¯ÁuC¯á»Mä#Ò¯Z­F×”.èšÒ°mûNlÛ¾Ó«óòé gÏÝDrÝÐkгGwùÆÍ7ã»F@ÞÞyX•ˆDÄÀ "10ˆˆAD 23mÆL®"10ˆˆAD "b`QC¦–C%m±Xýå*·¦±~ÞúõÞª£»õòåzñå¼-³¯Öw}¶o¿Ï ™°µa˜?&ݶ~ÜÇ<ÙÍß—óvu½x{ÞŽ–Ù—ëÛQ¹¾~Ÿ‰]¯î8ÒÝÐÏá¨Ï2j§eX4Ò¹ÖLoè;» Ùo(lQª ¨ef—ƒ!û¦¥+ Mc\fâ5ðVƒ¬‘¶0ÜÙ0¬÷Ù”óg‹Å—óvVv –Û—ëÛQ¹~ŸÅ܇ß~ï}X<ÔÔT æ©ù² nlÔ¼üê·_“öóf‹ûY™±|Ù2vIˆÈu "b`‘÷tÐ3ØG°Íëçì;Ôppì*H#˜ßGƒžÜ ˆ]""10ˆˆADÁKV§†×÷ªV¼ê•õ4¾<-Ü_óvg¾þZ^__]Œdž^ÕÊŸW½r4oŸr¨y»:_./¿úÎ.‰ÝŸçBð½"¶0놟x¾ï²r]30<þ”ò×WÌ5‹½ÝLv4o_~º;[flþ¼Ø2É,0<Ý(}Õ§ô'™³yûê”vwǺ¦FxXµ±ö©ùiKèg—C @\}Êß;­/or £ñâ·ø‰L ¯¸EDÁÀ "10ˆˆ|8àIÄÀ "10ˆˆAD "b`10ˆˆá¼¬ƒˆDÄÀ "10ˆ¨“íÏ xús‰¾ú6j0üI ./¨åæo¾00\Úìý¢+Óúj§òõoÔ'Xñþøk¹ƒa}³K"žn qà Ô¨uÉp` ƒd¾²UÅa ƒØÂq)(ù£Ï bXûÍÐ@½ž|ýOc¶š›îl ž¾¾¾ó ä÷ëñ3…^ß Œ  O¦óׯÌ¿äÎe¦FÛ%!"10ˆ¨!èF°rs¾qâ¸HF0¿1<¯€ˆ]"b`ƒˆD$O²úz»½Óݽږ­2<­“«óöæ@ª£yÓ2{kÞ|ŸIfa~ÔÂÖ W¯ÈeïyOØ+ÇWúrTV –Ù×;j æK2ê’ØÚùåzŽ7hb £‘ –o¨ÓÅw}U/~;•Qïþ«'¯÷W· ¡¶X‚µKÂ@a`Øí×çõ<ƒ³aã{ë[ÊÆ¸ArüƒßO!¶0‚°Ëâìè7[öæí+}9*ߟ‡tµ}½®É?sz@|û½÷QTX`ñDl\Š ,žˆ‹GjjªG…?óÔ|®a¢{ùÕ%n¿&íçÍ÷³2/bù²e<Ó“ˆ\ÇÀ "y_Ð z–½ü‚_ç×ä™…½þ¥E ýZßçžõe}½V_Y·0üžÎÓ߇§ód}Y_vIˆˆAD "b`ƒˆˆAD "b`ƒˆDÄÀ "b`ƒˆDÄÀ "10ˆˆhž^.Ïßó ÄåÑ<™'ëËúzKÐ\Ó3¡!Ç7Œõe}Ù%!"10ˆˆADÄÀ "/Qc¥¦Í˜‰Õ_®²û˜­çmMcÍÖkü¹LÁRwëÊú6îú}`8 {ÏÛÛ!• Œä^ß`'·ú}—dõ—«l&±­çƒ}cnH ±KB${æ. ãFR+ÂÞàìyj<ä¶ È5àØÂ bÀ¹L)‡ël,CîMh"¶0üÎvHév ÂÅVýƒ=èX_²E1÷¡Ä·ß{E…OÄÆÅ#55գŸyj>×0Q€½üê·_“öóf‹ûY™±|Ù2žéID®c`ƒˆ¼/h=Ë^öï‹<½ÂטÑ~­ïæ=%¬/ëëµúʺ…áï°ðtžþÞ8<'ëËú²KBD "b`ƒˆDD "b`ƒˆDÄÀ "ƒˆDÄÀ "10ˆˆAD Œ@óôryþžg .æÉåÐgåÎÆFw>éOŽÍ{"YvI¬7bë&(?!½rr[}l"Ëiã`]Y_9»$DÄÀ "PÐŒa¼´h¡_çç龯 Œök}=½¢ëËú6˜†¿ÃÂÓyú{ãðtž¬/ëË. 10ˆˆAD "b`10ˆˆAD "b`ƒˆDD "b`ƒˆDÄÀ "10ÍÓËåù{ž¸<š'ód}Y_o škz"4äø†±¾¬/»$DÄÀ "10ˆˆDä%²øõöi3fÖyLúõké9ó_öõX°-‡\~½{ÚŒ™²ª«\Ö¯·Ù†£•ºúËU%Xw<9숶֫\‚-˜×¯·…Õ%1 9­|¶,|ÿº6Ò†³&œ nÔrÙ‚µëÜ »$Drm™Ã±K  ENýnjÜÝ(9R6´ …¡Á°S÷Znd9†aÝœ“Ãddr:B"—¾¶½m$»"<¬ê‡¾ž«Ïó†"rkÚ³¾ì’ƒˆDÔàÍÆK‹úu~ž^ákÌÀh¿Ö×Ó+:±¾¬oƒiaø;,<§¿7OçÉú²¾ì’ƒˆDÄÀ "ƒˆDÄÀ "10ˆˆADÄÀ "10ˆˆAD "b`#Ð<½\ž¿çˆË£y2OÖ—õõ– ¹¦g BCŽoëËú²KBD "b`ƒˆˆAD "b`ƒˆDÄÀ "b`‘ú]’i3fò òÐê/W5ŽÀðç‚»$DÄÀ "É=‰dŽƒžDÄ. 10ˆˆADÄÀ "10ˆˆAD "b`10ˆˆAD "b`ƒˆDÄÀ "b`ƒˆDÄÀ "10ˆˆDÄÀ "10ˆˆAD ""10ˆˆAD "b`ƒˆDD "b`ƒˆs`|÷ý&®a¢òö>èÓÀ8òçQlÛ¾“ïQlÛ¾Gþ<êÕ2Õþ¨ô¶í;ƒa×]‹vmÛB­VAEh4¾«DÒëõP(0Œ8{î~Û¶……E>™—Ú_ UXX„oÖ}ˆŒŒDçNÐ5¥ š7OFee%¢££Q^^qåùnDVÌ÷’’„‡‡ãÒ¥l¤glj“§Q^^îó:¨³àåØàö8dzL«Õ"9)ÉÍ“Ñ-¥ ²srÑ'µ·jô<Œä¤DË8ŽìKÙÈÎÉ…N§ H]ÔÁ²Rt:Î_¸ˆó.b÷î=€M?üÄ­…(ˆð°*10ˆˆAD "’»ƒž…ù\;DÄ10ˆˆAD "b`QÃUç(Iú±?¹Vˆе[Ç1øšë¸–ˆPr¹Øq`XO@D$á10ˆˆAD "b`ƒˆvÅÆÅ×yÌPy÷댙KÒü^騏x›Ö²ŽlÅ« þŠž­›Û|žˆüШ)ÞYCÇB?õC¬š?* /,ȯógmôKP?Ë7à;Män_5¼2çWÜ6âN´zì+|ðàà ^¸ôøª…Qzê{Œ»f&Ú/Xc7,Ž÷.&ï‹æIÉèÔ{®üÃôÜ¢Á°`oÝ–€¡ú$º´LÁéj»D !0 ~ŽëG<€þ ¿Ç;súÛœ&ÿ÷W0òpÓÓ+pêÂEìX½GOÅs¿f^v'ÖÎ]^çu'V<†ˆÑo¡C¨šïQCŒ¼ß·#SˆÅ€ÔVv§ùàÁ1û¿pß}®U#¡Ë¬Øð>y` ¶×s˜X½Ÿ]ª¸ú"¡ó_?„'_f›p…+ƒžD 1Œ®÷ÿ›Â`Â#Pö¿Í¸wHbi>Í.GñÔ^øÀêq…Bà}ÀSïߊžø w~9³{2bÄIánUœ)& âÀ€>w¾†_šDaô­CQöé<1ƲµaãÙ¹ˆÓØo¸$YŒþ÷ôÀþò›Ð7Rƒemĸ·¶ó jH]Iç)Ïaûgãý»†âÅ5ÏÝÕ<²»a“ ߆yoFEöJ|PÐ ¯Ûh­Q h=zv¬}ÿ{t4žødŸéñG–ÍÅò™Çæý§P© ¯*ÁáíßaþíÃ,^ßrÔÛH^=_Ï{]羆P¥Âbl‚ˆ@—Ä\Âà{ðÛM0vÜ͘Sò_¬xl$âú?ŽŸþµ Ͼ0÷í?JEºô†»ç.µŠ©¼úb">r[?îâÓ4 é6Ç?ˆ|öv°˜Ó±÷ât‹ÇZ ›‰Ï†ÍtZfYN šx=Â5.ÍËÝiê3-ù¨…Q".ø Ó^ËÁ'GÆó b`8ê"$ "®3žül#Giù10ØE jˆx= "b`ƒˆD$ümU"²‹¿­JD.ão«Q½q ƒˆDÄÀ "10ˆ¨Aáuý= È.Ö¡°Â½¡ö>Õ€F Ä„+‘Ü,fa³»îóËŒ(® 3pÍ{¾îh®D|•ÃuÏÀðÀÉìj—–ã×ßÿÄ¥¢*7Üz7u• 4 ÇuýSP^.É¡§?—o@fnŽºˆìÂ2®@¨”J$ÄD GÇV¨LˆA»x5ÃÛrKt()«ÀÚŸö`ʈîÒ¯;B´®˜zª®Ña×b]Ú>ÜzÃä†+‘mûz)…åF—`ÿ±3˜1¶/:µN„JÅÞu}éõ¤ŸÍÆÚ-‡1D£BTXSÄFªÞ”_fĖ݇1mt/\; 'Wˆ‡BC´ym_hµj¤ý~ãFBb4솀ƒçqǸ~èÔ&‰+ÏC½:·‚F¥ÄwÛŽ¡iT”ÝÀ`,דÎdU£ï® /ê×+—Šª 3:Z÷"r ËѾeW˜ulˆœÂr‡cBlaÔ“@Dhµ"Ç.¼E«Õ8 *•"׽רÕ*Ááà=ÃãäkÿˆC¨pxÞÒ`\PcÁ1 "b`ø­…!ˆ~ý‹ ׺ü¼½Û¢ âÌWO#µu ¢#Bœ–éï?×{ƒ¢ó?¡ëÞycö@\T84Úp$µëÉ}kwžv­ Q„J¥rkW¦7ÿÓWüۆ#1:!Í0xâÃ8V¡w« oü10üÔ%ñ×Üx^÷àcïâ©3P\VËå5~_gËà-kæôÇ3¿‰xvé78—_Šê²üñÃJLï‹O4ÛѲq7`[ÒíØw¾e¹x¤çQŒ¿õKŽapÃ[ótþüåòj«i¯ÞÞS¦Ã¦.q ~æÁ/2p¤ô 5ÒgcZtNŌΩ˜ñàÓ>›¯Á`pkú…{ò°ûÇ9hª‚ ¯@‹Ó‘ýÖ"3ƒj}²…áé®+Ö^õ×—Ÿoj÷q£Xû¿ù4éß¼ ƒ;#±i$Ú§ôÇóýî×e3¯«·º%)a|ü{ŽKÍñ£k_ǘþ‚„v©xæÃíMõŸ¾„‘}:¢I¨щ¸î–Gp¨Tg1t[­V[”}lÍ\ß§"BC‘Ø.O}¸ÛâùB½mC”ÈÜü:ö›†´SJüoíÒ:utVŽZ­vZOvIÈ-E¥U¦ÿ¥Ûù»bĽà¦|ŽÓ9ÅØ¹öU}eþ±õ’¬—uÕªgñáM]0`Ì­Xð«øhÕÿ°÷xNé²yCXƒ»^[ƒìËåøóç¶ó)‹i&þûæ½÷rJ«{z7¦'ìÀøqKÖ!wç p×û˜²ðKä–”áà†×pdÑX–UgÚ)·=‡ÿl߈EOÜ‹ cFÔ«œúÖ“-Œ:†f÷ÏÕ1 ëûïßó>fµ÷ï‡0­ñ)£°â§ÅøäÞge=†ÑjÜÓÈÈ9…ÅOAœ²;X…YÃ;¡óˆ»°§¸Æ4Ýs–â¾MëpLjתß¾þ±b›å8ÃÖO0qH Â5JDĶÅýo~‚ýÿrZ‡wîz÷ó+¹¹?"´j$uÏ]‚åw=SgÚ<½ï¾ÿ òuB½Ë©o=9†áFƒÞíþª§r .Û}.)®)ôº«;‚½ÛÖ÷?É.ÃåIðUy … zÝA¹î ®®{E4†Ž¿ CÇ_ J¡_<{&Žú7.ìþàãKå8š Õ:27!Ziù¼²%Œú‹ÇlÝ^–U†âqmñ¶u«Ó-³˜~é}ýpÓ³3±úŸOâÖGâ?ÏÏDè•uWËq¥ž ŒDøýÔpgó3ÞÞíºÏ‡/"N£t{~?ª×©áŠpLñsÜÿ^ˆâ—˳÷œùã¶nEàlq âm¬[ëéG¼²e¢®«L‡:´ƒéþ¬¤p,9Ràp0ÐÙãönÏn³Ê6ÖÞV EËVèÒ÷¼¹nÎ|;¿žå¸ö8=ÐÂýøïÊnâÒóönÛºÿÒGñѬùH;pz#ôU—qxÇ·xjæµ~]>å|'ØúöCè:|&Vþ°Å•zk*p|ïxxÂl zôMÓtsÿ3Ë&ý_o?†*gà•F{%0ýh–N{?þq5Fè*/ãà¯ë0ï¶!vË •8’ö Bb®÷¨o»$·0Œ£géd~æÏÛ»m}?¶Ï<¬_´ _¼8*E:¥ì‡>ðûò¹±" Ž›$‡Z‰åŸ}‰·Ÿ˜y— mÚuíƒÉ³—aéÝ}L¯Oö"Ò^ ž˜ŠNd#"9w/XbQ¾½yÙ›Fº×ï ¤½òž~ö.üuÿqT" ]úÇœG—Õ™>ºi³Ú3$]úŽÄòïÖ«gõäFà¶Y·NgöÔ…¬<‡ó3ÞÞm{å´¸ö,»öË(ß1ŒÖ&à¥ð’½î¤ÙÝn“çaÃäy6ûý—‹‹lÎËüq{· å°YX9l–ÝqiúËÅEÇ\-ÇQ=ì’@ôÛ `Û–‰.O{.3·á‡5D¯ìÍbb>_\TÈ á½O9Æ™‹9nŒ­ˆ\÷.*,,hôë’áÇ­VäÕÂׯàÎÌÀU—D!ˆWD@²šÁÀ jK£¼¼ j5W£· (üŠ‘µ¿¥Q^^•³_<"—*¥ †÷iÕ@r³P¤ŸÊBÏ.­¹B¼$ãtšÇ„A«¬{’b#‘•_†V M¸Ò¼$+¿ I±‘Ъ o‹‹Taäàîøß{¡3ЫKk¨U*®˜ú¶,ŒF>~?ï=‹©c".ÂþF¡Dj×6X¿ý8Æ îˆ6IÑ`CÓn5p>§›vŸÂÔNv“„áÄh-.WEá–â·=ǰñ÷óü©DH?•xË ƒŽä˜0»ÓÆFªPÚ4 }»µÇ/Î#·¨FãHõ%ýTbßníØH%Ãëc  Kr(²C•7r ÃÞ!»y*MÀ–qáN×}»x š„Æ"1®t‘Wn÷d[¾ÒÍk¡D\Ç­d†‡+ºy3-š7ãºĺo¢B|výÚä* "10ˆ(pLcY™¹6ˆÈ!Å܇à3¹äÿWÀ .)ò½IEND®B`‚KCemu-0.5.1/doc/window-savemem.png0000644000175000017500000021040412417262523017167 0ustar glaubitzglaubitz‰PNG  IHDRšìrŸ ¾sRGB®Îé IDATxÚìÝwxTeöÀñoÚ¤÷F „@@@:*R4REEŸÒ¬« ®»DWPdD¤º(J—€‚TŠˆ !$ZH/¤g23÷÷GȘ^'@ÂùÒ³òIÍÌ!êÔO >†Ž­ë4ôµ ~üv'~÷=€“e“Œ[º¶42ùmåÉ)3È+,ª4Èì>|¼ÿr™×@¥ÃJ”'„Bq/HJÏáä/û8$˜N6õŠ“@Ô©Ÿè9pî·b4µ¸ ©ÙüþýW˜– ¨®1³dÜœ‘ÅåŠ}—+Vòzöýk!„Bˆ{Ñ­[`Z8Ù ÕÕï*±›“-Q·b•ÔZM-ni¥ M¥šBSá¥QmXWé´å‡ÉexÑܪùõÄŸ˜™™2°÷}F£åìù‹dÞÌÆ¿c;Ü]È/(äòµ¤gܤ@­Æ#,­,ðoß;[ë¦÷­=%kñ‰dçæ¡-ÕÜÏ×›–ž-îŠí`iaN¿^AúqÉ©é„G^ÀÜ\Å€û»5Ûý²ôŸ™©)¶6Ö´òrÇÅÉQ^!‰±Ñ_O÷Ñé”Ç*©¥*‹»ïÇ£µŠ3rp¿:Å-»ü¼U /·ÒBSWMaXRdþgï¥*§+þŸ½—jŒ'Dsø0оÀžÅO•[ÈÔ÷CéàÇùè‹ümboüÛ¸²üëßILIG£Ñ™žÂØ:Ô¾Îviu$¤æ°~8Š¢`Û„ŠÍsѱtð°fÒ¤ûññpÀÒ\aõîÓÄÞHÄËÃýŽo€äŒ\æ,;Hß^AÜHLÁÉB£—v3K”)D›Ó~YB«SÈÉWw#ƒ½G/rñR6íÚ´’ƒXˆF`Tºpk`ddd¤QUÜ{¬Ús>ü¦ÂrÔ÷ÛŸŽéãÎùð†?Ô·Úá•Å­´Ð¬M>^y´­þÿ˾¹TfœÔ•â^’™•ƒŸ·3‘—S±0WqíÊe¿øÖ–f¼õé!t¦V˜™ag¦æW!êjÿþü×’³ðr±å‰‡;S V°±7EQ@«ÓqízÉ©éä`llŒ³“íÛxcffЦHï'Ncdd„»«3©™è´:\œì±¶¶"9%¼üÌÌLñné¡oYT«‹8úûŸ˜˜3 wŒŒ@]TÄÑbjfÊ€û»ë×ëБßx°¯J×ûZ|"}ü\xnd÷‡ñîÆ_),ÒÒ¾¥#úør#=k{n$¤wë䯯&ØÛÚЮM+l¬­8zâ ê"5½ïë‚¥eñã0Î_¸Dbr*®ÎŽtj_c>jÚ.nŽÖØY™q3;—ä¤DÞ~õ¥x™¢®¤aokÓ¨¹‡âVîË×âIMË  P™©)®ÎŽ´kÓãR±ÁÝÕ…ÔŒL,ÌUäææ0 Ï}˜p1î*×ãqr°§k@Çj×ÿtt 6ü‚©©1í[:1klOÞ~vl>FRJ:v¶5îõ]ïBµšc¿ŸÁÈÈwRÓ2)Òh°±¶Â¿C[¬¬,å$"š%÷h6Od|"®.NDÝš/¿PÃÓ wÑ£[¢ÎËÉSóì»{éw7~>zRßü÷¯Ô¯g…õ¾z=>=E=¿FÓÂÝ;;kŒùßÁhZyº““›Gk'cߊ¥(_XÄ…kilÜ–3ÉÙ¬;G[Kf|°Ÿ–Þ>Ä^ºÂÓC:ñÐ}ƒùí\<«÷¥¨@]e>:th_i±Yz»ÄÝȤ§íÜø5üs'õÁØÈˆK72hçåHÔÕ4ìl­-÷^žî¨‰ŠŽfÌ~ôéÜ{K²óÕ¸ÎW?Eѱ½/‘‘űu ¿œ¹BÏNž¤däÑÊÝc##ž ÙÉ}Ý»sé*#{zñØKƒ8s1‘ÿl?C—Ϊ\ÿ¨«iø´ö¢uK“SY±íw–Ìz˜'wf17¥úýbÑ^,Ìë±Ï9}«UU«Õñã©Ëôò÷ÄÖRE\B&Ë·ŸÄÍ£%V–RlŠæØ¢‰[4)ÕòXuÜ’B°²"±²ékŠ;dPoæ|ø~þò朿aÈ ÞÕÆ­¢E³ú„ÔÔSúhŠ{IVV6½hálÍ3ûðç…DþóÕïøwj……Ñ1qL|Ðs3¾þñ>­[ccSüœ1+K ü:_!Ðhµœ=EÈóýiëéÈŠ¿s4ì:ÞçÍŒÑ=°±RñŸ¯Oãéb €‰‰1—’Ùqø<+_NßÀ–h´ZÞZs_/Gæ??ÉûðÄ?wbaiN[OÇ[…WVVÖäàéR|gàÔl,-ÍkÕï@AÁØÈ##XúÒPNG'pñZ:q)¸ºº`ccMJZ&¼}Yÿ3çâR062¢—¿'¯MìÃëOYñÒGˆ¹žAÏN–ø¶tâjr*®v*ìîC^Ak÷œF­QXPM>>ÞF€ûj·ËöC‘¼1©/mÝ051æ>?Víúƒ§†}%+[—F˽›«QÑø÷‹á`kÁÒ-Ç9{)™¡=Û1ý±nØZªX·ïÜ_±PiyyÙ2²óYôÂCøû¸Ð±µ ©©ièÔù ïÓEQøßþ0Úz·¬°J¯ÿ…«iØÚØàîê̱߯àåjK^A!:´¨v¿P™›âéb]÷}Μv^ŽúùróÕÌø`?÷û{ñÊ÷3stÞýâ8AäD"¤E³ÆM¥Vq¸¿Ìë=QCËcõq¸¿L±YºÈ<àþJ—¡Æ>šê"mµ+\~|Éë÷¶EóÖøŽüíqßj§¢¹Ðé hçåH‘FÇÐ^í(PkX±ý$ÞÞ­061C]¤%##‹ öÅ}#.¥Ð¾C‡J‹Ë×â™ð@G|[:qð÷KüôÇåâÅqÌ݃®¾îdåæÒ½}ñ%Ñè«i ¿Žó­_`È/ÔðÉÎ?ðööáfN)y¨Tfܼ™CïŽÅú—nd`eiINN>·Š›„´ÌU*ÔEZz÷ìFðß¿ wÏn•.kë–^|¶ï 3Çô¤‡m<(ÒèØz†óñ‰¸¹9ó¿}g(*Ò Ñ*ètZކ_cÎø^x8Ù Óé¸x=žƒu{Ïй“©©œMÂßÇvür‘Ùcºafj̡ӗÉÌSp¿µÝ*[Eèkitî䆺H‹V£Õ÷¥Í/Ô`lm½ªß/LLLðt¶©ózgÞÌ&°³‹~6ÿpŽ@~ ‹à•'î§}KG²sòä3B4ÓÍ¿ ·Üuƒc•'5Å­î½Ê«KÜÚÄ«,n¥…feÍOgŽç©5ÅßþÉPáu™a¥eŒc“Ã6ÙëD³“›G;/LMŒ‰ŒKa×/Ñüýé¾üûŇYÿ3EZöviа·)þ`ÎÍWcllRéq–––Á€ Þ íÕ–¡½Ú–Ÿ’™‡©±1·Š€³±ÉXY[ÑÖ³¸µ*òr *sK Õ…øzþUpvv$69•©ÿÞ‹¿ í[91 kkÜ‹[u'-ØENVÏ ëL×öî8ÛY¢23ÑÏ-) •JEÌõt|[:1¤G[Úx:}5Ÿþ¼ŠV«c@Pëjóa®2«°Œ¥·Kl|:Œ‹Ibxo_´:…U;ÿ —“¾2·0'-½ñrŸ‘‘Iüq¶íÛ£Õ)XY˜Ý*ÖŠ0}ìÓÑ ¸¸8c¦2ÅÆÖ†³±É<1¸3Ú¸Ð22ž]½)ÒèØü}­[yW»þ×’²ÐaŒ‘±1:E!3+ WÂc’055ÕI¨j¿£z­wN^ž¾EóÀ‰X<=CÃû_ÅÖÊœ÷^x[S5–ì8t€£{“‘BXø94¹éLÜ‘üÜL ÕØÙÚræb"ö뀹™ ŽvÖˆæß¢Yj'¯êÎð2…[%Ï»üë|n_Ü®]ôq»v ¨qxeqË /ù­ó«I™FÎèúD™Kâ¥/‹WõoéiV…}%{h–""£P«‹èÜ©æææúá7³²¸W|w¯Oë–8::ž‘Irr*ù˜™™ameIŸÖúù´-×o$•UÜ’djj†-î®.XXÇ?‰F«¥K@'LLL ˆD«ÕØÙ3³âîð³çÐêttÂÌ´ø{dbR ÉÉ)huZTf*ììlIMKCQ k€?&¦Å}(OŸ9 @÷ À*×;--+×âËœXT*ÎN¸»¹bddDJj‰IÉh4T*öö$§¤¢( þ~¨TÅ}õ.]¾JfæMÌU*:uj±‘qòQÝvñïÔ só Åsùœ5vîµZ-ñ7¹y3 V‹ÊÌ {Z¸»ar«ø.ÛÔô¯G6%$&ÐʆÙãz’’™Çì¾Ã¯cGŒK7AT±þ·¶&ÆF˜™™acc»›K™}µ6ûE]×;55ݘøpgvÿÍæΣÑhPtÅ?Jв¥'æ*•œ@D³eomÁ};˜ðÄ$bâÓêÃÆÒœ_¾ßð‘c¹™[Ð$ãBñM¢e~뼺ŽÙ•µhVÖºY¾ÿ¦töÍ•§Ž•îç¶¶¶tíÒ¹Ì8{ì«ý–idbL«V^Õ~ øëq0 ¥^—Lè_a˜›› nn.ebzyyT˜.¨k@Ç­£“#ŽUü„¡Bñegg'œÊŒó(õKA%ñ}¼[w«zç£.Û¥De9kÌÜÓ²¥'-[zÖ*vɰˆÈ(ZºØ0ù‘@Ö}sš-<À¨öë_Sîj³_Ôu½óòòË´zz´p«°ïË炸Z4Ósêýx£äôl}¬ò¿àÓTâ–VíÍ@ùG¸\êŽòü£pyM ù¥~^³äõårwžçÅJN(BQ‘QXýÆpœl-ILÏá³}aÄ$àåÙ⮿&7¯@ß66>;gw¹éGÜS Š´ 9–ï÷í ¥_ìmê4æÍ®GgÈȱiõÇOS‹[¦ø.¹t~éFºì!Bq8}¢¢"ÌU渹¹àèàÐt åóÐhŠèØÁ·Ì¥z!îV*ÌLMøñÛõšðð1i´ä•{^eS‹«(ðû÷_ýUhÆÖóÚ¼B!„ø‹“½5æ•üLnmiH¿™Û â•í£)—7„B!.-3çž[ÒÿÓÔÏ6•Ý~•½B!„BŒŸmjq‹æžÅOž–*B!„ ýk×þë—„B!„0¤*{~ÚØØJv„B!Dµrr²ë^hìÞñµdO!„BTëáaÃë^hV7£B!„¸·ÙØØVÛ0)}4…B!D£BS!„BH¡)„B!šSIB!DÓ¡Ñjˆ½t ¦è¶¼Ÿ……m¼Û`l\÷öI)4…B!šˆ‚Âæ†Ì#%õöþÐŽo[_æÿýŸu.6¥ÐB!„h"N…&%5•V>­°±³¹-šAÌ¥®\»Bï6Rh !„B4Gùyù8»9ãäâTëùr²sˆ8AaA!í:¶£¥OË:½oâDÔêº_ª—›„B!š¹sgΡ2WáäâÄå˜Ëäçæß–÷•BS!„¢™ËÍÎÅÂÂÌÌÍÈÉÉ‘BS!„Bž¢(Rh !„Bˆ¦«Á7°nýzöî åÂ… äææbggGûö¾ôë×Çœ€Î›t’œ]\õÿ7v,«WZét/¼ð"ÛwìпNKM‘=Ì9066ÆÒÒ7WW:vìÈ€7n,...’,!„â.Õ ÍÔÔT?<„ùóCøã?ÈÊÊB«Õ’‘‘Á￟dÙ²ÿ0hÐÍ&YFFFì åæÍ›ÆÝ¼y“½¡¡É^Õt:¹¹¹Ä]¾Ìwð·ß¦kP7þ»|¹$G!„hŽ…æüDEEѺu+Ö®]CtÔy’“‰»Ëï¾åŸoÿƒÎý›M² @aaa™VËÛ·o§°°Ê^e@i©)¤¥¦š’Ì•Ëqœøí8«>YI¿~ý(((`áÂwxgÑ»’(!„¢nWÃXƒ ÍðÅ_0fôh\\\011ÁÎÎŽ=zðÊ+¯ðËÏ?7›òôÓ“Ø´éË ãJ†•L# @ØØØàëëË„ øfÏnÞÿ÷¿X¾|9çÎEJ’„Bˆ*XY[QXXˆN§£¨°k뻿ÐÌËÍÀÇÛ»Nó>}š7ßü;}úöÃÓÓ ¯–­èݧ/!! ÈÈÈ(3í<ˆ³‹+{ö|Si¬={¾ÁÙÅ•|¨ÌðÈÈóÌž3‡nÝ»ãáé…·O† Æš5kÑh4õZßQ£FáèèHxx8g#"ôÃÃÏž%üìY9rdµ1êº\Î.®8»¸RTTÄâ%Kè~ß}´ðð¤Oß~ìÝ @¡ZÍ»ï½G—®A´ðð¤wŸ¾ìÚµ»ÊeøñÇŸxê©Itìè‡{ :vôã©§&qøðáJ§/YNÇÚµë4è<=½pus`ÈÐa8»¸òå—›+ÿ‹/6áìâÊÐatç>}£G?ŽN§cãçŸWºÌU©j¼¡ó]O]nž=zòá‡KQ«ÕröBÑè:u&7;—ÔäT¼¼½°²¶ºû ÍÀ.]˜=gqqqµžoÈÐa¬ß° .P¨VSPPÀÅ‹YññÇ<üðÒÒÒõÓ–´~¹ùËJcmúrS™é¾ür3 Ì–-[¹zõjµšœœNŸ>ͼ·ÞbÌØqÖãÞ\¥bܸ±Åï[ªU³äÿãÇÃ\¥ªrþ†,ל9/±dÉ\¹r•¢¢".\¸ÀóS§rôØ1¦<;…>ZF||çFüu"ÏEðȰaèt:ž{î9N>Ŧ/>'þú5"ÏE0tÈEaÕª²wÇÿðÃ,[öŒŒŒxiÎþ<}šÄ„œ>uŠ3^àƒ>äСC•.ÃŽí;X¸p‘ç"HMIÖßUÿxp0®®®œˆàøo¿•™ç—_~áüùóxxxðØ£| àÊ•«kˆ|—¶ÿ·ügÙ2.Ç]ârÜ%–-ûsss¾ýö[vìÜ)g@!„B£ÑÉï¿þNÒ$2Ò2¸pî'~9AzjúÝ]höéÝ›Ÿb„ ØØØpùÊBCCùàƒ=f,Aݺë/7–öÍ7{7v,^^^˜ššbmmM¿¾}ù|ãF8¨ŸÖÁÁ‘#G¢Ó騲ek™8[¶lE§Ó1jäHøxåJ´Z-6¬ç¹)SôïaccÃC=È—·Z+»¡§6:w&((ˆÌÌLB÷íÓß…Þ­[·jo|jèr-ýp)ÇÇÜÜwwwÞyg!iiéúq¸»»³hÑ;œþót™ëÖ­à¥9s˜?ÿ_´nÝ 333¼½[³èwôÅæÚµë*]†·ß~›Y3gâîî^¦±J¥bÊ”gXs«õ²Ä§Ÿ®`êóÏcjjjðØÖÖ€ü|Ãþ”–!ò]Ú?þñ“'?­­-¶¶¶<3y2o½5 Ê.B!DChµZþ<ñ'–tëÝ {'{,­,iãÛ†N]:MjrêÝ[h´oßžUŸ¬äRl ?ÿ|˜Õ«?eö¬YtèÐ7nðÜóÏóí·ß–™çüùó¼üÊ+ôº¿7-[µÖ÷cëè× €øë×ËL?iÒSlÞ¼YßÔ«( [¶l)3àØ±ãŒ37÷¸º¹ãêæŽ‹«.®ntëÞ€+W®Ô{KßTÛ›_0  IDAT€º\ƒ—íƒêããSå¸6mÚ‘‘YfxI!ôÜsS*}éÓ¦pêÔ©JÇ—t¨ÌsS¦`ffÆþýßê[žãââ8øý÷˜››óÌ3Ï4Êœ €••aûš"ߥ3¦ÊagÏž•³¡Bƒ»|ñ2®î®Ø;ØþG8N.N´íØ–”¤â¯ÆÔ3ˆ˜ó1õ¾wå¶š%LLLèÜ™qcDz`AÇŽáÍ7ß@Q–|ð¡~ºŸ~:ÄCƒfÓ¦/‰­´%ª|?ÅÒªU+._¹ÂÑ£G8rä—¯\¡uëVe)”žž®¯âµZ-:N‡¢(eú#4ä&Œ±cÆ`iiɯ¿þÊ‘#G°´´¬´(­¡ËU¾266®q\IÊ7ofàááQé{xzϬä9¡®®Uß\ãîîÎc>ŠF£aý†Ï€â¾™Š¢0aÂxœeÀÛ»µAã"ß5å®dXVV–œ …B”N«#ázž­<‰‹‰ã¹9ÏñàðéÙ¯'“gL¦…W ÒÓÒqóp#ñzâÝ_h–WÒ :*J?|Á‚¨Õj&NœÈ?|ϥؒ“IKM!áF|å ilÌ“ONþºÌXò,s×Þ΀ˆ³áúg0VõW_vvv<öØcú"188X ·*·c¹jbo_¼ •ŽOH(ÞÑìí«Ü¦Õ)¹)è‹/>'55UßÕáÿ¦ÿ_£­Ó›ŠoëÓ§o¥Å_eý„srrnûŸ’Rq»¦¦¦ê÷'!„²³²±±³!#-ƒvÛaïXüÙ~üðqöïØÏ«7ˆŽˆæê¥«\ˆ¼Ðô M€èèh¬mlôÃ.\¼À‡,!(({{{LLLøî»UÆzêÉâ‚ò›½{¹ví{CC166æ©§ž,3]¿þýXññǺK_*¯Í³3o×rU§{·âËóŸ}ö¿Jǯ_¿€û^ñ{öìIPPiié<ùÔ$rrr0`þþe}Ö®]ÇîÝ{066fʳe/Í;9· FEEW˜¯ªGe5¦Ê´sç.௚„BCQ###ŠÔEØØþU‡úöá„“œ˜ T5}ûõgÑ»ïòÓO‡ˆ§P­F£ÑÏ—_nfÒÓ“xxð`ý<îîÅÏ^\øÎ;\»v FCbb"«W¯aÖìÙU¾W«VÅ—È xîù©0pà@Z¶lYfºW_}333V¯^ÃÔiÓ8zì7oÞD«Õ’••Å™3gXùÉ'<øÐà%®oŸ>úÈ>½{×8ýíZ®êL6€å+V°pá_ù¿zõ!! XùÉ'ÅÓMZï÷ø¿[­š§O÷}ñõfæååqéÒ%¾Þ¶àÇG3wÞ¼[¹}…Nʳ½om“W^}•sç"Ñh4¤¤¤°zõÞüûßoû¿èÝwùòËÍää䓓×_næÝ÷Þ+þUîË’BÑPVÖVäfçâàì@tD´þ ß[‹ßâ­Åo1jü(¼ÛzÓÁ¿>¾>¶ º 8::šèèh–-ûO•ÓtèÐ Bô¯gÍœÉÜyóX³f-kÖ”}îâ3“'óù_Tëé§'ñóÏ?ó矿žT±%10 €uk×0sÖlvïÞÃîÝ{îŠ ~7,ׇæ¥9sX¾bÿ]¾¼Òß õÕW*ÜìRͿ懚šJ†Ú e®î¡ëÌûwæTòåõ×^åàÁƒœ>}šƒ•-¸Ÿžõ6ÜÖÜþ/½ü2/½ür¹áÃkìß+„BÔ•Ê\…­½-ùyùXÙXñÕ†¯xà‘°¶±&ú\4ǧË}]ÿ#œ.=ºÜ…æ±£GØ¿ÿ[Ž?FTT4©©©(Š‚££#~~~Œ1œÉ“'cnn®ŸgúôiØØØ°fÍ¢££153£C‡LšôSž}¶ÚBsäÈ‘8::’‘‘££##FލtºQ£Fѽ{wÖoøŒŸ~ú‰¸¸8òòò°±±¡]»vôëÛ—1cFßö~7,×üùÿ¢o¿¾¬_·žÓžææÍ,ìíí¸¯û}L›6­AE&?ÔÞ×·©©©LŸ>½ÌM4 addTü8!77:vìÈÀ7n,...•NߥK—⟩\¼„?þøFC‡öí™òÜž}æ™Û^h®\¹vìØAbb-xr⓼üòK·í÷f…BÜ[|;ùræ÷3t èHaA!ßîøN‡•µÝˆ9ƒ›‡–V–¶ Fsf¾¨,_¹Šô´²ÏQ²±±e÷ޝyxØpÙR¢Ö¢¢¢è×VVVDž‹¨ñ&©æ®¤E¶1oòBqïøáð|öåÿê„“KÍOtÉÊÌ"âtvv¸¶pÅÔÔ”ì¬lâ¯ÄÓ«íüÚÕ#ázçÃÏó¯7ÿIÇöjU/Æ_¿ÆÚ5k0•M& %##ƒwÞYÀøqãîù"S!„¸Óììèý@oR“Sɾ™N«ÃÂÒ‚î}º7jKf )4…A”îKinnÎËåú" !„âÎ066Æ­…n-Ünÿ{Kú…!wäöíÛ³qãÿ þu!„B4=Ò¢) Bú J^„Bˆò¤ES!„B4 iÑB!„h"Tf*²ofì‚5ÉÉ*þéf“z¼ŸšB!„MDP`W¬,­ˆŽ½­ïëîꆷ··šB!„Í•K}@XDjMÑmyOKKKºafj&…¦B!Ds/6ôÐ$–UnB!„Rh !„B)4…B!Ä=®Æ>š66ò{ÕB!„€…fNN6»w|-YB!„†+46\2$„B!êEúh !„B)4…B!„šB!„B M!„B!¤ÐB!„MDÏÑ Ý³K²$„BÑŒŒ ]æõ•Ë—9uú)ÉÉÕÎgbb‚“³3÷u¿oŸ†šÏ"_â7åø’_‰/ñ…ôÑl¾}4Ÿ›2E R®^¹¢dÝÌT.DG+]•IO=Õø}4W­ZÅŒ3èÑ£ÖÖÖŒ5 ___ÌÌÌôÓÄÅÅѦM›Jç_±b;w&$$WWW¬­­™5k'NœàÈ‘#Œ1B?½¢(„……Ѷm[ ¸ïŒ!!!ØÚÚâëë‹M…÷‰—o¢B!„u4lØ0B÷îÅÑÑGG¶mûš‡z°Î±ê|éü×_-s™:;;»BÉK—.áSÅÓâwíÚE||<Û·o/3ÜÞÞ€ØØXý D»wïàoû Šûgöïß•JßÔØ:B!„¸W£ÓéÊôËtpp`Ĉ(uì«YçB31177·2…g龘%…fIaX^RR±±±XXXT:^£Ñ`ee¥Ïž={øî»ï€âþ™;wÖ¯ôžB!„âΪó¥ó-ZpðàAòóóÙ¸q#ûöí+SøAõ—΃‚‚øä“OÈÌ̤°°Ó§Oóæ›o@@@›7o&??Ÿˆˆ¦L™Â”)Sh×®PñŽó°°0ºtéRæ=¼¼¼ä®B!š¤š>ÚûxÉïɯ¢(wG¡¹`ÁæÎK÷îÝIHHÀÖÖ¶Â3-«+4—/_Ι3gèÕ«~~~„„„п|}}xï½÷ؼy3~~~L:•àà`æÍ›§Ÿ¿ü34¥ES!„âîd4gæ‹Êò•«HOK­t‚Ð=»xæùé’)!î!^^^r3BÎOÍÔçÖ2*x´þõêOWÕ;Ö /Ψtxüõk¬]³y"­B!Ľ\¼{´ °KWÌT*LLLj=ßÉ¿Õ8±¤WQᛨ´!äü$ @ M!„B!…¦B!„BS!„BH¡)„B!„šB!„â^*4*}húG}D×®]ñòò¢gÏžu_•”””Fÿ}óƒÒ©S§*Ÿ®_Óx‰/ñ›rü†þj‡äWâßËñEã’íÒÄÌ™ù¢¢(Š’–šRé߯õk”šüðÃÊĉË Ûµk—âï﯄‡‡W:OMã«søðaeìØ±Jc2dˆräÈ‘z—ø¿)Ç÷ôô”ãGâK|qWjèùI(ÊÆõk*Ôz§OžPΆý©DF„×ú¯|œÒágN+sf¾¨¤E³üïlÛ¶7ÞxƒÀÀÀJç©n¼N§cÅŠôêÕ ooo† Fdd¤~|ùŸ¡l /^äþûï¯÷x‰/ñ›r|9~$¾Ä¿sÇ͉A ÍÈÈÈ …fXX#GެržêÆ/Z´ˆÐÐP6lØ@TT'NdîܹÕ¶†¦V«155­÷x‰/ñ›r|9~$¾Ä—ÎÂêu$:tˆ®_¿ÎäÉ“‰ŒŒdöìÙ,]º”>ú€   ý<;vì wïÞ5މ‰aÓ¦M>|OOO&MšÄÂ… +¶ƒ ">>ž™3gòÚk¯•YÆ’>uýÒ}?*‹QÓx‰/ñ›rü†’üJ|9~„eÔµæÅ‹•=z('OžTrrr”iÓ¦)ÞÞÞŠZ­ÖO¦ 6¬Ê¾Õ_¸p¡òæ›o*Š¢(ÁÁÁJpp°’––¦´oß^QE),,TZ·n­Ì›7OÉÊÊR:¤´k×®Ò> éÇQÓ¼ í#"ñ%~SŽ/ù•ø_HMé£Ù(}4W­ZÅŒ3èÑ£ÖÖÖŒ5 ___ÌÌÌôÓÄÅÅѦM›*cT7þÈ‘#Œ1BÿZQÂÂÂhÛ¶-PÜwÆÎÎŽlmmñõõÅÆÆ¦Bœøøxù&*„BqÕ¹Ðüõ×_6l˜þuvvv…þ’—.]ÂÇǧÊÕÕß ´{÷nöìÙþ}û0`PÜ?³ÿþ¨T* øÆ Æ~Ô‘B!„¸ …fbb"nnne Ïòw€_ºt©ÚÍêÆk4¬¬¬ô¯ãããÙ³g'NŠûgvîÜY?><<¼Ògx !„Bˆ&Vh¶hÑ‚ƒ’ŸŸÏÆÙ·o_™Âvé< €Í›7“ŸŸODDS¦LaÊ”)´kרxÇyXX]ºt)ÃËËKè*„¢Iªé3¬¹—ü6íü6¸Ð\°`sçÎ¥{÷î$$$`kk[¡E³!…æ{ï½ÇæÍ›ñóócêÔ©3oÞ<ýøòÏДM!„Bˆ»“Ñœ™/*ËW®"=-µÒ B÷ìâ™ç§K¦„¸‡xyyÉÍtB9?5SŸoX˨àÑej½À.]1S©011©uœ“'~+§´øë×X»faØ.„B!DyRh !*~•Ö!„œŸ„šB!„B M!„B!…¦B!„ e*)øKXX˜$A!„ÍÊ| ¤´h !„B)4K¤¤¤4ùß7?yò$S§NeäÈ‘Œ1¢ÉÅoîù»×INÿÊCé\”}¯ªíñ'ùr~MòÒydd$~~~M:ñëÖ­#!!Õ«WÓªU«&¿¹çO!ÇŸâ.-4u:+W®ä‹/¾ )) ???–-[¦ÿò†Ž/ÿ3”·ÓŸþÉÞ½{9{ö,ùùù888àïïÏSO=…O­ãܸq€–-[V÷ǰuëVbcc±´´dÒ¤IŒ9²NËY]ü½{÷²k×.RRRpuueôèÑ<úè£wU~Ö®]Ë®]»Ø¿­×¯¡ ‘ÿÆÌOuËgÈü7–»=¿M=?Õß±±±|þùçDEE‘““ƒ ~~~<óÌ3´k×Î ç—¦pþ­Ju-eåÏAÍÕþýûÙ¹s'III¸»»3vìX†.Õ’¨·F¹t¾hÑ"BCCÙ°aQQQLœ8‘¹sçlüùóçõEçí¶uëV ÄÚµkÙ±cÓ¦MãÈ‘#¼ýöÛuŠ£Õj022*3<,,ŒùóçciiɺuëXµjqqqu^ΪâÿüóϬZµŠ®]»²mÛ6ºtéªU«øùçŸïªüìÛ·O_dÖeýÊPùo¬üÔ´|†Êc¹ÛóÛÔóSÓñ=þ|Nž<É믿ή]»xýõ×9yò$óçÏ7Èù¥©œ«+²Jÿ•|î´hÑâž(~ýõW>þøcÙ¶m¬X±‚cÇŽIµ$ê­^-šYYY¼ÿþû„††’MïÞ½Yºt)žžžÄÄİiÓ&>Œ§§'“&MbáÂ… Å—Îýýý4hñññÌœ9“×^{­Ì2zyyõû½{÷JBB®®®Lœ8‘!C†°xñbýtEEE¨T*\\\êõ¹äuÉ·åíÛ·£( Ó§OÇÙـٳg×ûyùø%ÿcaaApp0dÿþý 4èŽçàÔ©S|úé§ <˜ü±NëW“¢¢"Ö¬YÃáÇÑétôíÛ—Y³faaaaü7v~jZ>Cä¿!šz~“’’x÷Ýw¹rå ýúõ«rº%K–pôèQ|||øÇ?þ››Û]‘ŸšŽo777ÒÓÓõE¢¢(¸»»äüRÛüÝÉóËÞ½{Ù²e ùùùtèЗ_~YÿYSš¢(lݺ€ &ÜÁ¾}ûxüñÇõûÏØ»w/}ûö5È{T·}…šäää0fÌú÷ïÏ?þˆ••«W¯æ•W^á믿fË–-Œ=OOOüq6lØ€™™@ƒÇ«Õjbbb¸ví¡¡¡œ:uŠiÓ¦U(4ëk×®]¬]»–Þ½{³dÉEaË–-„Ò'Üþýû×úýKNÈUH.\`õêÕDFFÄìÙ³õ< ‰éÒ%ý7ôgŸ}–Õ«W—~§ósùòeþýïóÀðꫯV(4kZ¿šlÚ´‰}ûöñꫯ¢R©X¼x1VVV̘1à ùoìüÔvùê¿¡šz~ׯ_OLL sæÌA§ÓqøðáJ§ Ô·ölذ¡Ì—;™ŸšŽïÅ‹³lÙ2BBBôó”k†8Õ6wjûÄÅÅññÇsíÚ5æÍ›Ç§Ÿ~Z¦!£Äo¿ýÆåË—qsscðàÁ÷DA[æ‹GIKnm? µ}EóRçKç+V¬ sç΄„„àêꊵµ5³fÍâĉ9r¤ÌI@QÂÂÂhÛ¶­AÆ_¼x;;;BBB°µµÅ××› Ë_¯ÖÌ={ö0}útìííqppД?áîܹ“Gy„#GްiÓ&ƒlÜÜ\ýÙÖ­[7n'Nœ`ùò剟——€¹¹9Š¢è[òóóïŠü„„„ЧO^}õUŒ ß³ãСCôéÓ‡ûï¿_¿Ï*ÿŸÚ._cíŸÍ=¿áááôë×þýûW9]¿~ýô-vuyþnc秦ãû믿æðáÃL˜0;w2nÜ8>Ì×_mí_ÛüÝÉóïK/½„““DEEU:Ý–-[7nœ¾¡£¹+½ÿúý§d¿l¨Ún_qš»víbûöíxyyéÿÚ¶m‹µµµþQɼ{÷nöìÙþ}û0`€AÆŸ?žþýûë€sçÎôQGiiiµºfaaÁÓO? À òþ%—Ð}ôQÌÍÍ .so(+++ ùüóÏQ«ÕXZZÞùINNæÇdÔ¨Q+c%— 'L˜À˜1cÈÌÌ4Xþ;?uY¾ÆØ?›{~³³³°µµÅÖÖ¶Êélmmõ_pKæ¹òSÓñ]ÒïyìØ±XXX0nÜ8ý¹Öj›¿;µ}ÿýwfÍšEpp0£Fª²ˆúý÷߉‰‰ÁÙÙ™¡C‡Þ3AéýÐï?%Ÿï·óóU4u¾tž””Dll¬þ„XžF£Ñï¬%-‹{öìá»ï¾3ÈøÈÈH:wî\æ´!ŸxïììLrr2)))µê^’‡’Îñ åííÍùóç+n(SÃ<  mÛ¶œ={–ÄÄD|||HLLÔ¿òSþR\}/‘WÅÁÁôôt¶oß^f?3Tþ;?u]>CïŸÍ=¿666dgg“­ï¿X]AURTÝ-ù©éø®jª[׺¨mþîÔö]¶l7oÞdÉ’%´k׎±cÇVºœ%}3ǧoÔ¸”ì?IIIx{{×ùóÁÐÛW4unÑ â“O>!33“ÂÂBNŸ>Í›o¾ILL lÞ¼™üü|"""˜2e S¦LÑ?:£¡ãËßqF—.]Ê,cIKk}”<dݺuܼy“ÌÌL}?'(¾´{æÌòóóÉËËcãÆ 8Ð dذa@q‡iµZ­¿ÔPߎõå•n{öì¡  @¿¶-†w:? õÐC°mÛ6 IHHàÃ?4Xþ;?5-ßÎSÏoÉÕ”ãÇsôèÑ*§;vì˜þNÜ’yî†üÔt|—ÄÙ±c………lÛ¶Í ç—ÚæïNm_N€½½}•OÚ8}ú4QQQ8::òÈ#Ü‘óTMºo¬ñ%­¼»wï.³ÿ”ü]}ã×´}›{~ï–ñw}‹æòåËùç?ÿI¯^½(**"00iÓ¦áëë À{ï½Çk¯½Æ‚ hÑ¢“'OfæÌ™úù:¾ü34 Ý¢9fÌLMM åé§ŸÆÙÙ™'Ÿ|R?~äÈ‘lÛ¶¨¨(Ôj5îîîL˜0¡Ì4 1tèPòòò åË/¿ÄÚÚš‘#G2uêTƒÄ4hYYYìÚµ‹ñãÇãêêÊŒ3j}ÇùÎOCMž<EQøþûïÙ¾};­[·.sGiCóߨù©iùîtþ›z~Ÿþyùä“Oª½Ë6<<œ£GÒ¶m[žþù»&?5ß3gÎÄÒÒ’~øíÛ·ãààÀc=Æ”)S ²ýk›¿;µ}_|ñEÖ¯_Ïœ9sª\¾’Ö̱cÇêû*Þ+ @VV;wîdüøñ¸¹¹U›+Co_Ñ<Í™ù¢²|å*ÒÓR+ tÏ.žy~ú=‘Œºtê¢91bÄ=ó€j!„œŸš»ò rŸoX˨àÑej½À.]1S©011©uÜ“'~+§´øë×X»fMÓü­s!„Bq÷“BSQ´!äü$¤ÐB!„w-SIÁ_ yS‘B!ĽNZ4…B!D£ÍRä®s!„B47wòŠ­´h !„BˆFÑ$[4SRRxðÁ‰ˆˆh´÷8yò$Ÿ~ú)‰‰‰(ŠrÛïrkì÷¿Óë'înÍå9u†þ S9~îŽü7õó¯ó“šw¹ÈÈHüüüõ=Ö­[GBB«W¯¦U«V·}ûýïôú Ñ”Éñ#ÛWq MNÇÊ•+ùâ‹/HJJÂÏÏeË–é£|ÆŒ|óÍ7@ñO¹9;;×iþò?CÙnܸ@Ë–-Ë åóÏ?'**Šœœlllðóóã™gžÑÿ{m¾áW¦ô7´ªÞÿNÇ/míÚµìÚµ«Lì?ÿü“½{÷A~~>îîîôïߟ‰'baaÑàøåׯ®ßj«ÊOùå?{ö,ùùù888àïïÏSO=…Oƒ—???ŸuëÖqôèQrssqwwgÔ¨Q<þøãÍ¿!–¿¾öîÝË®]»H^¦=† IDATIIÁÕÕ•Ñ£G—ù­äšÆßIµÝ qüÔ7†X¿†ìwzû5äýoçùñnTzýŒŒ°µµ%00©S§Ò¢E ý¸ýë_üñÇôèу… ê‡ççç³yófŽ9Bjj*–––øûûóØcѽ{÷ϯ lÙ²…3gΑ‘››'NdÈ!M.ŸçÎcÆ ,]ºTªÉÛ]h.Z´ˆ£G²aÃÚµkÇÖ­[™;w®¾¸\µjï½÷}úô©PdÖfþóçÏì·W«¢ÕjõcióçÏ'==‚‚‚8sæ !!!ÄÆÆ²iÓ¦ã–/Œ~ùåÞÿý2yuï§ã—Ø·oŸ¾È)mëÖ­Œ9’—_~•JEhh(Ÿ}öñññüãÿhpüª ꪪ@ݺu+#FŒà¥—^ÂÒÒ’ãdzdÉ"##kµ}kZþU«VñÃ?0iÒ$ÆÏöíÛY³f VVV :Ô ù7Äò××Ï?ÿ̪U«6l/¼ðŸ~ú)«V­ÂÎÎŽAƒÕ8þN«íþÛÐã§¾ù3Äú5dÿ¸ÓÛ¯¡ï»Îw»ýû÷£Ñh8|ø0}ôÉÉÉü÷¿ÿ ¨¨ˆ³gÏpöìYŠŠŠ033àÃ?äøñã¼ñÆôïߟ‚‚"""رcÝ»w¯p~.Ÿïøøx^}õUT*o¼ñþþþ$&&²yóæ&YhîØ±ƒ±cÇJ%YƒzÝ ”••Å[o½E—.]hÓ¦ O>ù¤þ`LL ›6mâ³Ï># KKK&Mš¤ßqKÄÅÅUú º6óGFF’™™É Aƒðõõå£>ªÇËË //¯z}ã+]Ä”íææVæ¡¢(¸»»×ù½EaëÖ­L˜0¡Vï7Ä?uêŸ~ú)ƒ®0nñâÅ 8{{{,--õ- gΜ1Hüƶxñb „ƒƒÆÆÆ¨T*\\\ ²üÇ 88•JÅc=À –ÿ†.¿! øàà`,,,.3¼¦ñµmÑzá…xì±Ç˜:u*ßÿ½~\RR/½ôÁÁÁ,Y²¤^Û¿ºý·¡ÇOQQ+W®düøñŒ;–¥K—RPPPëü54? Ý?jZ¾†æ¿¦å7D~n×ù÷®oe25eÀ€úÏãçÏŸ§°°??? 9þ¼~ÜÉ“'ÀÌÌ [[[úôéûï¾[«÷üòË/ÉÉÉaúôétíÚ333ZµjÅßÿþ÷&—¿ëׯsýúuz÷î-•¤¡ ÍœœÆü?{çVU•7þ&WE(DL² é7…_­QI|kRGëx-ó2¢ŽþÆlºyL§”É{‚\”R ò¢c¯8Q„—¼ LÊW%“”ÃÅ8¿?|Ï {Î9º>ÏãóÈ^g­ý]ßõÝß½Öw]vP666>|˜ÂÂB†Ϋ¯¾ @RRôë×É“'3yòd®]»&ˆníh>þøã­Ê—ËßØØˆF£áÂ… dff’@tt´Y_”·:­–¯]»–1cÆ R©`åÊ•Œ3†5kÖ}¯#GŽpîÜ9úôé#uäîßÑåŸ;wŽ÷ߟ1cÆ)ûû¬¬,¦L™b‘òÛ‹~ºmþüù¨Õjš››[ 8X½z5¾¾¾ŠÛWNþ¦¦¦6ó?Þ¬úi¯ü¦òÃ?зo_^~ùe~øaƒërér¨Õjbbbpwwg×®]¬[·F#¥oß¾FCxx8ƒ 2¹>-í×Ôçg÷îÝìß¿Ÿ?ýéODDDpøðaëÏTý˜jrò™ª9ùMÕÏÝô¿ææfŽ9€týäÉ“Rgn.·Ðóè£Irr2—.]2êžúÛ!Cº¼þÔj5të&ï1{GsË–- 4•J…««+=zô`Ñ¢E=z€œœƒ N§#??V/̶:šrùÏž=K¯^½P©T8::âééIÏž=[•SVVFYY™Ù–’’Bvv6aaaìÙ³‡²³³III1º¬¤¤$BBBZuÄÍ%ÊW©TŒ1‚ÈÈHÙìøñãÄÅÅ1fÌ‚‚‚Ì^~{9r$›6m"%%…ØØXÜÜ܈ç£>j5àØ³gãÇ'''Gñ´³œüz‡ž‘‘Acc£´D«ÕšU?í•ßTêêê°µµE§ÓI3}ýäÒåHOO`Þ¼y899áììÌ‚ ¤ô3gÎ0jÔ(|}}MªK{ìWŽ/¿ü€#Fðì³ÏJ>O©þLÕ©ö!'Ÿ©ú—“ßTýÜMÿÛ™™0a“&MbíÚµxyy±lÙ2)íÔ©S8880jÔ( :šo¾ù&Æ ã—_~açÎÌ;—U«VQ]]­è¾µµµm¾³»ÕÕÕœ8q¢CfÝ¦Z­&--MššvwwÇÃÃ=z77Ëx{{°wï^ÒÓÓÙ¿¿¢¿udÚÖÔ¹\þââb|}}%óÝwß1xðà»:ŠÆÎÎŽIVc8vì£Öæutù•••>|˜I“&µšbj9`XµjÆ #22RñZ'¥å·—·Þz‹'žxkkkúõëÇÒ¥KøÇ?þÑê·vvv̘1P>µ-'DDÇ'55•°°0iIˆ£££ÙõÓùMÅÁÁ€††vîÜIcc#öööŠÒå¸rå `¸„¥­™£££b¶E{íWŽªª*àæT­¾ózëKÚÒú1Õ>ää3Uÿrò›ªŸ»å;; ##ƒ¥K—RRR"-?«©©A£ÑPWW‡¿¿?uuuœ={Vjׇ~˜wß}—ÄÄD^yå\]]ÉËËS×Ûĵk׺´þöïßÏ‹/¾hô×û£7UTTPZZz[߸qCrúÈbzz:lÑœ5k–Ñù‹ŠŠ ¦dΜ9sWO¼×¯ÉTzývè×…„„Hfsb©ò[N#µµèûСClÚ´‰‘#G²lÙ2£¢JÊ7'úÄí¢ƒz;×o0UþÞ½{³råJ)ýüù󄇇óÄOXD?ÆÊo*P^^΀(//—®+I—ÃÅÅ…ÊÊJ._¾Üj‡>RR[[Kmm­ÑϤ9ìWgggªªªHKK3ðsJõgª~Lµ9ùLÕ¿œü¦êçnùß.ñòÿ¿5šëׯ—¢–ùùùèt:¦OŸÎôéÓÙ¹s'ÉÉÉäççD¨ûôéChh(~~~Ìš5Ë`ç2dÙÙÙœ>}ºSlþkõõõ’X(¢9dÈ¢££©®®¦¡¡“'OòÚk¯IëḩŸ~ŠV«¥°°Y³f1kÖ¬VGÿÜn¦\þââbé˜#ýƒqëúhÿF %Œ5 ¸¹Û¬¡¡ÔÔTƒëJ8yò$%%%<øàƒŒ?Þì2Zºü;±wï^6nÜÈèÑ£Y¾|y§›’zï½÷Ðh4455QYYILLŒA‡M¥Rqúôi´Z-uuu|üñÇŒ=Úl2DGGSSSÕ+WˆÇÊÊŠÐÐP³”}7ä¿z=¦§§S__/M…ê¯Ë¥Ë¡ßœ“ÀÕ«W©®®&66VJ×φäåå‘››Ûéì÷ùçŸ 55•††.]ºÄ| X¦êÇTû“ÏTýËÉoª~:Ú?óÝ©N¦¦ÃÍ5šúÍ=úN½¾Ã©oGý»U}ùòåäääpõêU¥Ï6+];mÚ4zöìIBBgΜ¡©©‰‹/¶{ãXGè7++‹aÆáääÔaígŽöïÔÍÍ›7óöÛoóÌ3ÏÐÔÔ„··7sçÎÅÓÓSz‘/]º”•+WÒ·o_fΜÉÂ… ¥üO?ý4?ÿü³ôÿW_}Õ`}ˆ\þ–ghÞíˆæÂ… ±··'++‹´´4œñ÷÷o3:+7šÆÖÖÖbÑLK•'âââÈÎÎ&;;Û -##ƒîÝ»›ì L‰xþîw¿cûöí”””п-Z$•3qâDRSS)))¡±±777˜:uªÙt4`ÀÂÃÃÑjµxxx°jÕ*ɱ›ÊÝÿNøùùQSSƒZ­&44WWW,X E/äÒå ¢{÷îdff2cÆ \\\ ê6{ölÊËË‰ŽŽn×h–¶ß™3g¢Óé8tèiii<úè£ÒŽç»¡SíCN>Sõ/'¿©úéhÿØ™:²VVV888ð›ßü†Ù³gKJkkkž|òIþó?ÿkkk©£Jzz:7n¤¡¡|±cÇJï?9ÿüÈ#°qãF’““ùûßÿNuuµtŽfW ¹¹™ŒŒ Þyç¦4«Å Ãu›·ÆPuåç6™®æ¥Ùóî eèGgÁýŽøÄ›@ þÉÜÜ\þùÏòöÛow9µ ÈíÜϤ€@ƒ¾ž·ÏÓXÛØðÀ(.÷øÑ#åÜJÙÅ ÄÇÅ!öå @ Ȱgϳ@q?Ñ]¨@ ´DD3ðO†ˆOM¶Ñ@ XѼ…»¹©H à^GD4@ AD4oAì:@p¯Ñ‘3¶"¢)@ M=—/_¾«ß7o‹ãÇ3gÎ&NœØ©NàÌÁ½bÓ–úB†xþ¹'í£³}QEpoû§û….9u^TT„——W‡ÊÀ¥K—ˆ¥ÿþÂ’‚ûñü Av4›››Ùºu+»ví¢¢¢///6lØ }£ü³Ï>#66–ÒÒR<==yï½÷xöÙgçoùÊ»5Rºõ쮟~ú ¸ùI-s”¯/ûÔ©SìÛ·ÂÂB´Z-nnnøúú2eÊìì쌺W||Aùâ‹/v¹öøî»ïرc‡8_³#:š«W¯&77—;v0pà@’““yýõ×ÉÈÈ ??FC\\ýû÷gß¾},^¼˜cÇŽ)ÊP\\Ü®ïè*¡eÇå믿fÍš5!À¯¿þ*=¬æ¸žääd&NœÈ’%K°±±!33“ÄÄDÊÊÊxóÍ7—¿ÿ~©b®Ž¥’ò--¿\‡ÙúŸ0aØÛÛ“——GTTEEEìÞ½ÛdùcbbÈÊÊbúô鄆†’––F\\Œ;Ö,ú7‡üí嫯¾"&&†qãÆ1þ|¶mÛFLL ½zõÂÏÏO6½£Qj¿¦>ÿíÕŸ9êgŠ}¬X±‚ªª*T*C† áôéÓ¨T*JKK;…}Ý/8p€úúz>ÿüs>ùäjjjøë_ÿªØ¿8p€7nÍúõ멬¬dÓ¦M455QPP@AAMMMX[[ðÁ——DzeËðõõ¥¾¾žÂÂB>ÿüs†ÚÊ?·”£¬¬ŒÈÈHlllX¶lO=õååå|úé§]²£ùùçŸ,z’2´kfMM o¼ñ>>><þøãL:Uák4vïÞMbb"ƒÆÞÞžéÓ§K†ûôÓOóæ›oâé鉭­-~~~üòË/RÙrùáæÔyuu5~~~xzz²~ýúV2º»»ãîîn’rt:ÉÉÉ„……I%×ô¬]»–Ñ£Gãä䄽½½4R?}ú´â2Nœ8Á¶mÛxá…,b4w*¿+È/§???œéÖ­666ôîÝÛ,òçåå€ þþþ|ñÅfÓ¿©ò›£€×åÒ•F´æÏŸ¿¿?sæÌáСCRZEEeöçÏÔç¿©©‰­[·Jpp0ëÖ­£¾¾^±þLÕ©öѧOƒˆ˜N§ÀÍÍMÑýM•ßTý(µ¨¨(X²d •••òåmgg'ur¾ýö[ã£LÝ»óÜsÏðã?J׋‹‹ihhÀËË‹††Š‹‹¥´ãÇ0xð`¬­­qttdĈüíoStÏO>ù„k×®1oÞ<ž~úi¬­­éß¿?Ë—/ïr§‹/rñâE~ûÛߊž¤¹;š×®]#((>Laa!ÇçÕW_ ))‰ÀÀ@úõëÇäÉ“™}úH/õ8µ–+E?Ý3þ|Ôj5ÍÍÍmþ.++ €)S¦(*÷ܹs¼ÿþûŒ3†ÈÈH“ïßÞò--¿©ÈÕ„ °zõj|}}Y³fYäojjj3ßùóçͪŸöÊo*?üð}ûöåå—_æá‡6¸.—.‡Z­&&&wwwvíÚźuëÐh4RúöíÛÑh4„‡‡3hÐ “ëÓÒ~M}þwïÞÍþýûùÓŸþDDD‡&11Q±þLÕ©ö±víZÆŒƒJ¥" €•+W2fÌ)¿Òû·W~Sõ£Ô>¼½½ çìÙ³ìØ±£Ó¿È•úï–yŽ9€týäÉ“Rgn.·Ðóè£Irr2—.]2êžúÛ!Cº|çI­V@·nâð³w4·lÙ AƒP©T¸ººÒ£G-ZÄÑ£GÈÉÉ1áët:òóóñððhUÖßþö7Nœ8ÁŠ+¤krùÏž=K¯^½P©T8::âééIÏž=[•]VVFYY™IÊIJJ $$ä¶ec9r$›6m"%%…ØØXÜÜ܈ç£>jõÛãÇǘ1c RT¾J¥bĈDFF¶ùsÿö”oiùï–þ8Àž={?~<999Чåä×;ôŒŒ ¥å Z­Ö¬úi¯ü¦RWW€­­-:NŠ˜éë'—.Gzz:óæÍÃÉÉ ggg,X ¥Ÿ9s€Q£FáëëkR]Úc¿r|ùå—Œ1BZ—ž““£X¦êÇTûHII!;;›°°0öìÙCHHÙÙÙ¤¤¤uÿöÊoª~”ÚǨQ£5jÐyÏWÖOëýZËÄ­ÿÚhLš4‰µk×âååŲeˤ´S§NáààÀ¨Q£ppp0èh¾ùæ› 6Œ_~ù…;w2wî\V­ZEuuµ"™kkkÚ|gw%ª««9qâD‡ÌºÝMµZMZZš45íî‡=zôn.÷öö`ïÞ½¤§§³ÿ~)D¯êüå/áË/¿dÏž=¸¸¸Hirù‹‹‹ñõõ•Ìwß}g‘£ŽŽ;†F£ÁÅÅŨµsr¼õÖ[<ñÄX[[Ó¯_?–.] À?þñƒßåää°jÕ*† Fdd¤âµ`•••>|˜I“&µšâ3æþí-ßÒòß-ýÃÍ©©3fʧ¶å䈈`øðᤦ¦&- qtt4»~Ú#¿©888ÐÐÐÀÎ;illÀÞÞ^QºW®\ §pÛz‘9::*Öi[´×~娪ªn.ÅÑw^o}I[Z?¦Ú‡~]ppp0vvv„„„H¾ÚØû·G~Sõ£Ô>¥Î>Ogb„ ñÉ'Ÿðì³ÏÑj që¿¶,]º”’’iùYMM †ºº:üýý©««ãìÙ³’~øaÞ}÷]yå•Wpuu%//OqD\¯ók×®uéŽÓþýûyñÅÞàz¿bôf ŠŠ JKKo«à7nHÎ@YLOOçàÁƒüüóÏ„‡‡ãààÀÞ½{[läòLyœ9sÆ"'Þë×f†„„HZK Ý:tè›6mbäÈ‘,[¶Ì¨hjK§r»EÙwº¿©åßMù-¡ÿ–/cø÷æSåïÝ»7+W®”ÒÏŸ?Oxx8O<ñ„Eôc¬ü¦âááAAAååå 0€òòr麒t9\\\¨¬¬äòåË­6èé#%µµµÔÖÖJëÅû•ÃÙÙ™ªª*ÒÒÒ üœRý™ªSíãv:Õ_7öþÆÊoª~”ÚÇ­KS,–âÀÔÖÖ²zõjŽ;Æwß}ÇСC{ùÿßÍõë×KQËüü|t:Ó§Ogúôéìܹ“äädòóó "À}úô!44???fÍše°ŽóN 2„ììlNŸ>Ýe7oÕ××K>B`¡ˆæ!CˆŽŽ¦ººš††Nž<Ék¯½&­£ú¨Íðùòë#šúcŽôÆ­ëKÀô@'Ož¤¤¤„|ñãÇ›Uáï½÷†¦¦&*++‰‰‰1è0ìÝ»—72zôh–/_nÖ—œ’û›Š¥å·týU*§OŸF«ÕRWWÇÇ ÀèÑ£Í&Ctt4555\¹r…øøx¬¬¬ 5KÙwC~¹H Üœ­¯¯—¦Bõ×åÒåÐoÎIHHàêÕ«TWW+¥ëgCòòòÈÍÍítöûüóÏššJCC—.]âƒ>P¬?Sõcª}è§“?ÿüsHMM5¸.wSå7U?Jíã›o¾á›o¾1Ès·#–rurttä•W^¡[·nlذÁèÈkss³´¹Gß©×w8õuÖ¿[õ×—/_NNNW¯^¥±±QZV t=ô´iÓèÙ³' œ9s†¦¦&.^¼Ø®{–ÔïÒ³²²6lNNN)ÿn¤wúˆææÍ›yûí·yæ™ghjjÂÛÛ›¹sçâéé)½È—.]ÊÊ•+éÛ·/3gÎdáÂ…,X°€òòr¶lÙ–-[¤ˆÒ÷ß/îï”ZŸ¡i‰ˆ¦>šŒ­­­YËþÝï~ÇöíÛ))) ÿþ,Z´H2Џ¸8²³³ÉÎÎ6È›‘‘A÷îÝ-zS±´ü-å46â)Wÿ‰'’ššJII ¸¹¹ÆÔ©SÍf <<­V‹‡‡«V­2ÛËìnÈ'üüü¨©©A­VŠ««+ ,¢rérѽ{w233™1c...u›={6åååDGG·ë4KÛïÌ™3Ñét:tˆ´´4}ôQéD‹»¡SícáÂ…ØÛÛ“••EZZÎÎÎøûû3kÖ,E÷7U~Sõ£Ô>Μ9Cnn.Ìž=»ÓFм¼¼˜;w.±±±›bÛòç·úÈ &`ee…ƒƒ¿ùÍo¤:ž:u kkkž|òIþó?ÿkkk©£Jzz:7n¤¡¡|±cÇJí/çŸyä6nÜHrr2ÿûß©®®–ÎÑì 477“‘‘Á;ï¼#”F`µxa¸nóÖª®üÜæ2ÓÕ¼4{Þ}¡ŒÎºè[ èˆˆŠ¥–+AWôO¹¹¹üóŸÿäí·ßîr:kÛ¹#žI}=oŸ§±¶±áP\îñ£G ʹ•²‹ˆ‹CìË@ aÏž=f;â~¢»P@ h‰ˆf ០Ÿšl"¢)@ °"¢y –8&I à~ED4@ AD4oAì:@p¯Ñ‘3¶"¢)@ M=—/_¶È÷Íï&ÇgΜ9Lœ8±Sào,í æ–¿«×Ͻûö-Ü‹þI :š²áååÕ¥ŸÀ¥K—ضm›8JFpÏ!ì[ t5þçþ‡É“'óÉ'Ÿe˜‹¬ÑlnnfëÖ­ìÚµ‹ŠŠ ¼¼¼Ø°aƒôò½{÷Cqq1?ü0K—.åü£âü-?CiNJKKÙ¹s'%%%\»vž={âååÅK/½ÄÀeÓ•òÓO?7?ÉÕ’o¿ý–äädJKK±··gúôéLœ8Ñ,òìÛ·µZÍåË—quu%00Púư©œ:uŠ}ûöQPP€V«ÅÙÙ™§žzŠiÓ¦1`À€N£ÿŽi›«Ã¥´ýâããQ«Õf½wGÛ·’ü]پ͡ŸŽ´osØGÚ·V«%!!ÜÜ\®_¿Ž››“&MbòäÉ¢·p0vìXÈûï¿ÀôéÓ…R:kGsõêÕäææ²cÇHrr2¯¿þ:”””PXXHll,îîîœ8q‚3ft4ï” ¸¸¸]ß1VŠ+¨ªªB¥R1dÈNŸ>J¥¢´´”Ý»w˦+å×_n~ëýVòóóY±bC‡%!!îÝ»³k×.³ÉÿÕW_øqã˜?>Û¶m#&&†^½z)þ^ðHNNf„ DDD`ooO^^QQQ)ÒÏÝÒ¿¥hùÂûúë¯Y³f }ûö5KùJÛoÿþýÒK¸#°”}Ëåïêömª~:Ú¾MµÿŽ¶ï˜˜²²²˜>}:¡¡¡¤¥¥‡ƒƒcÇŽ=†û€’ aFÚ5u^SSÃo¼?þ8S§N•"†Ý»w“˜˜ÈàÁƒ¥yAA^^^¼õÖ[<úè£TUUqüøq^|ñE©l¹üps꼺º???<==Y¿~}+ÝÝÝq (¬ IDATww7ºn}úô‘þoee…N§ÀÍÍMQº’ˆÀ­£þ–§¥¥¡Óé˜7o...899ñç?ÿÙlòë_ØÙÙ`TD ¢¢‚ˆˆˆŠŠj•¾víZüüüpvv¦[·nØØØÐ»wïN¡9ùåÒA§Ó‘œœ @XXMMMlݺ•ÐÐP‚ƒƒY·nõõõF¿èïÔ~'Nœ`Û¶m¼ð ñ²¤}Ëåïêömª~:Ú¾Iï(ûÞ·oóçÏÇßߟ9sæpèÐ!)-//Oº¿ þþþ|ñÅ¢· °(Ó¦M»­Ï™6mÚýѼvíAAAøúúrøðaˆåÕW_%%%…¤¤$éׯŸ4ݰcǬ­­¥2–-[ƧŸ~еµ5ï¾û.ÑÑÑRš\þÆÆF4 .\ 33“'N0wî\–.]j…¬]»– 6 R©¤kcÆŒ!22RQºRGªù¶|~ÿý÷ÄÆÆRTTÀ!CøóŸÿŒ‹‹‹ÉòÿðÃôíÛ——_~™ØØXƒërlß¾FÃâÅ‹inn&;;û¶=¾¾¾ŠÛÇÒú—“_iý”päÈÎ;GŸ>}¤—âîݻٿ?‘‘‘ØØØ°víZX°`¢2åÚïܹs¼ÿþû’N>Ü!/KÙ·\þ®nߦꧣíÛ˜ôްoµZM||<¿ýío‰ŠŠB§Ó‘””$;šššÚÌwþüyÑX.^¼Øêú… ððð¸¿"š[¶laРA¨T*\]]éÑ£‹-âèÑ£äää8aNG~~¾¢þþ÷¿£ÑhX²d ©©©ÓkrùÏž=K¯^½P©T8::âééIÏž=[ÉYVVFYY™Ñ III!;;›°°0öìÙCHHÙÙÙ¤¤¤(J7•ëׯàííMrr2!!!=z”Í›7›Eþºº:lmmÑétRDF«Õ**ÿÌ™3Œ5 __ß;v8öìÙÃøñãÉÉÉQ<­miýËɯ´~JHJJ $$D(}ùå—Œ1‚gŸ}V²y¥ÈµŸJ¥bĈDFFÒ­[çÛëgª}Ëåïêömª~:Ú¾IïûNOO`Þ¼y899áììl0Èóññ ##ƒÆÆFi¹–Rû¹ßIKKcÊ”)„††CYY555Á$Áí;š.\@§Ó1sæLfΜIss3/^¼ÿ:šjµš´´4ijÚÝÝzôèÜ\ìîíí ÜÜô“žžÎþýûyî¹ç ʱ··'<<Ü`J\Iþââb|}}%ôÝwß™õ¨#ýºŸàà`ììì ‘dQ’n*vvvüáÀÖÖVš:Ò¿ L•ßÁÁ€††vîÜIcc£ÔJ¨­­ÀÑÑGGGٺ̘1P>õdiýËÉoLýîıcÇÐh4¸¸¸¬íªªªnN%P]]­¸\¹ö«¬¬äðáÃLš4©ÕvgÀTû–ËßÕíÛTýt´}+Mï(û¾rå `¸„áV""">|8©©©„……Iï'Stu?qåÊbcc‰çÁä¯ý+óæÍÃÕÕU(G†ÒÐÐ@aa!µµµÔÖÖRPP@ccc§Øèj FOWTTPZZ*9ĖܸqCrúÈbzz:lõÛóçÏ·Z['—¿¨¨ˆAƒŒÐÍyâ½~ÍÔí®Ë¥›Êc=Fqqqë†êÞÝ,ò{xxPPP@yy9  ¼¼\º®„ž={J’:ëíD¿9¤£õ/'¿±õ»úµi!!!Ò ÀÙÙ™ªª*ÒÒÒ ìܘQïÚ¯åTõí¦°; Sí[.W·oSõÓÑö­4½£ìÛÅÅ…ÊÊJ._¾Üæ¥Þ½{³råJƒwTxx8O<ñ„è )`þüùÒÿ§L™Â”)S„RŒ°}¸yÄÒ“O>i0€½ï"šC† !::šêêj8yò$¯½ö€Áƒóé§Ÿ¢Õj),,dÖ¬YÌš5‹²páB ijj¢°°%K–0wî\ƒòï”_ÑÔs7w¡ê§;ô´w#ÜœRøüóÏihh 55Õàº\º©Œ7¸¹`½±±QšêQZ¾œ|zÇœžžN}}½T¾Òˆ€>Úœ——Gnnn«t•JÅéÓ§ÑjµÔÕÕññÇ0zôèN¡9ùåÒ•pòäIJJJxðÁ?~¼AÚóÏ?@jj* \ºt‰>ø@qÙ¦¶_Gcª}Ëåïêömª~:Ú¾•¤w¤}ëIJHHàêÕ«TWWKë@õDGGSSSÕ+WˆÇÊÊŠÐÐлúœ˜zÐ~G§›Z¿ŽÖoG´»»;¶¶¶äääàããƒß|ó ¶¶¶­ú3]íC FG47oÞÌÛo¿Í3ÏùäzôèÁĉ™3gŽYä÷ó󣦦µZMhh(®®®,X°@ñÑ/³gϦ¼¼œèèè6˜š8q"©©©”””ÐØØˆ››aaaL:µSè_N~¹tc¢=ÁÁÁØÚڤ͜9NÇ¡C‡HKKãÑGU¼#×í×јjßrù»º}›ªŸŽ¶o%éißAAAtïÞÌÌLf̘‹‹K«¶0`áááhµZ<<ù„'Ÿ|²S®·7«Å Ãu›·ÆPuåç6™®æ¥ÙóÎÏÏÖ.ü߈X|ÑG ÿtoÐ2 ·sG<“ úzÞ>OcmcÃ< ¸ÜãG”s+e/G7¡~@ %M@Ð -Â? DGS @Ðié.Tðo̹©H à~GD4@ AD4oAì:@p¯Ñ‘3¶"¢)@ M=—/_6ë÷ÍMÁÜ'ðw¶ý»š|B?櫇п£8~ü8sæÌaâĉ]ú 2––k„ ìØ±ã¾ô³‚¶õò‡?ü9sæpøðaÑÑ4…¢¢"¼¼¼„U Á=HBB—.]bÛ¶mâ(›;pàÀfÏž-Ñ ;³‘ÿÀ¬^½šK—.±}ûöN£K‹¬ÑlnnfëÖ­ìÚµ‹ŠŠ ¼¼¼Ø°aƒÁ7Ê~úé'hnnæÄ‰Šó·ü å½`¼wÓ™îÛ·µZÍåË—quu%00Pú°%N%uÛ¶m#&&†^½z™å{Â-ëõõ×_³fÍúöí«(rr2'NdÉ’%ØØØ™™Ibb"eee¼ùæ›&ËCVVÓ§O'44”´´4âââppp`ìØ±w½ÝÕ>ÿí^˜]?K£Ô>öïß/ur„ü]Oþ_ý+++³úOSŸ¿{™U«VÑ·o_o~NðçŸF­VS^^ÎÛo¿}_è@£Ñ˜˜HII‰ŸUjo¾‹®Óé:^Û5u^SSÃo¼?þ8S§N•F †Ý»w“˜˜ÈàÁƒ±··gúôéHùxå•Wðóóã7¿ù C‡5P´\þ¢¢"ª««ñóóÃÓÓ“õë×·’ÑÝݽUV MMMlݺ•ÐÐP‚ƒƒY·nõõõRzEEe±†‰ŠŠ" €%K–PYYiTÞ}ûö1mÚ4Y¾|¹Ô6·l@@vvv´Ëq+‘O§Ó‘œœ @XX˜¢r×®]ËèÑ£qrrÂÞÞ^Š´ž>}ZQýäÈËË“êoccƒ¿¿?_|ñ…AùóçÏÇßߟ9sæpèÐ!‹´_{ôcŽúY%úk¯}+±'N°mÛ6^xá!“¿åšHK®‘lëù»[þ½32oÞLaa!ÇçÕW_ ))‰ÀÀ@úõëÇäÉ“™|˜ÄÄD)}ûöíh4ÂÃÃ4hP»ï£Ÿ®ž?>jµšææfƒtoooÂÃÃ9{ö¬Ñ‹½üñG>üðCT*lÛ¶MJûá‡èÛ·//¿ü2?ü°Áu¥(‘ïÈ‘#œ;wŽ>}ú´û¥™••À”)SÕOÉ@¢-Ο?€Z­&&&wwwvíÚźuëÐh4FË}·ôclý,Rý™bßw²sçÎñþûï3fÌ"##…ü]Lþ z[þ­Ô*¡­çÏ\þ½«bee%uRºuëfð÷ý€> øã?ЧO–,YÒeòëyì±Çøç?ÿ)Ít©Žæ–-[4h*• WWWzôèÁ¢E‹8zô(999#PNG~~>¼óÎ;ÔÔÔ°qãFêëëÑh4Òš%ùÏž=K¯^½P©T8::âééIÏž=[ÉYVVFYY™Ñ ùòË/1bÏ>û¬$“ž3gÎ0jÔ(|}}.äÈ‘lÚ´‰””bccqss#>>ž>úÈàw£FbÔ¨Q€ñç{FDDðÐCIzÕ‡áêêê°µµE§ÓaccÜ\Ûg JäKJJ $$D(Ãñãlj‹‹c̘1)ªŸ>>>dddÐØØ(-ÇÐ×?==]Ý;99áììÌ‚ Œ–ýnè§=õ³4JõgŠ}ßÉ>T*#FŒ 22RšBòwùÍå?•ÐÖógªïÊÄÇÇóÀ°uëV¢££éÞ½;ñññ÷V¬XÁСC%L:•?üÚÚÚ.‘_Ï¢E‹pvvfË–-fÛa F¯ÑT«Õ”••‘––fpÝÉÉ €ÒÒR©°wï^þò—¿ðÜsÏÍ·ß~KZZÖÖÖœ:u OOOìíí¥rî”n®Ïôõõ•:Hß}÷Y:ªªª §2«««¥ÿëÜÑѱ]k Þzë-éÿýúõcéÒ¥L›6üã»o-ß#;vìü1/^”¢[ׯ_—Ò¸~ý: ìܹSZpk(AN¾cÇŽ¡Ñhpqqi×ÚÀœœ¢¢¢6l‘‘‘Ò¨Z®~J:á[¶l!55•””iS™££#W®\‘F’¦`iý´·~–F©þÚkßröQYYÉáÇ[í¡tsƒ¿cå7—ÿTâ'ÛzþLõï]™–ë0]\\˜7oÞ}¥ƒ²zõjnܸ¿¿?cÇŽ%55•ŠŠ V­ZÕéóëY·nÕÕÕ,\¸ñãÇw½ŽfEE¥¥¥·Ý|ãÆ  "‹éééûŒ?þñtïÞ]Š(¦¦¦*Žúwt~=ú÷úï~÷;©¬ŽÄè¹!C†Muu5 œýôS´Z-………Ìš5‹Y³f1pà@N:%Mi—••áïïϦM›())‘Æòë#š·“”ŸŸ/MêiïF €çŸ€ÔÔT¸té|ð”®¶æåå‘››ktùï½÷†¦¦&*++‰‰‰1pÈz¾ùæ¾ùæƒ{*A¿VÉÉɉ¯¾úªUºþ>éééÔ××KSmÆ.¸¿“|'Ož¤¤¤„|ÐèÑÔÞ½{Ù¸q#£Gfùòå­¦”åê§„èèhjjj¸rå ñññXYY M3$$$põêUª««‰5ú–Ò©õ³4Jõ×^û–³!×–ß\þóNÜéù3Õ¿› S7AÉåïèò;ú üÛÝÿã?fëÖ­üòË/’­üÇüG—Èßs Ø!ÍÍ›7óöÛoóÌ3ÏÐÔÔ„··7sçÎÅÓÓSrK—.eåÊ•ôíÛ—™3g²páÂ6ËÊËËkud\þ–ghš;¢9sæLt:‡"--G}Ô`}öìÙ”——Ý®#–~÷»ß±}ûvi]aÿþýY´hQ+£9sæ ¹¹¹xxx5%ÎöíÛY¼xq›òùùùQSSƒZ­&44WWW,X`ôÑFw’O-ÆÖÖÖ¨rãââÈÎÎ&;;Û -##C¶~J0`áááhµZ<<L½ ù;V~sùO%Ñ̶ž?Sý» kóþûï“‘‘ÁŸþô'àæ ÚèÑ£/!èèüßÿ==zôè4zµZ¼0\·yk UW~nó™éj^š}¬Óhï¢xà^CØ,tîçSOHHÈ}÷u Kû§_ý•?üáí¾GGåŸ0aݺuÃÅÅ…ƒ@-r;wÄ3) Р¯çíó4Ö66<ðÀŠïyüèƒrn¥ìââãâè.Y@ ºbhYL=1¡£òwV»è&LJ ˆ™@ þé&VVV&Ý££ó‹Ž¦@ à¾@Lß‚97 @ Ü¦@ À"ˆˆæ-ˆ]ç@ î5:rÆVD4@ ¡KF4/_¾Ìÿ÷SXXØeüøq¶mÛFyy9:NìòúïT˜zNЯÐÀøgîVL±‰ââb6lØ °/ü“@t4¤¨¨//¯.­ø„„.]ºDll,ýû÷–(ô/ô+ô#¸ÑwœLý4£N§#&&FlnÜÛÍææf¶nÝÊ®]»¨¨¨ÀËË‹ 6Hß(ë­·HLL4Èó÷¿ÿiÓ¦)Êßò3”ææÛo¿%99™ÒÒRìíí™>}:'N4ë=~úé'yä³–{êÔ)öíÛGaa!Z­777|}}™2e vvv”––²sçNJJJ¸ví={öÄËË‹—^zIúž¼’ò Ðjµ8;;óÔSO1mÚ4 À¾}ûP«Õ\¾|WWW ¾P ‡\~s´ÏôoJùJôkª~î$ß^Rw3p;ýš3j£$*dî{iµZÈÍÍåúõ븹¹1iÒ$&OžÜ)ô#÷|vvý(ñ/¡ý:3ß~û-æ¶u2Õÿ:¯º¯:š«W¯&77—;v0pà@’““yýõ×ÉÈÈn~(^­VóÌ3Ï´+qq±Å¾C›ŸŸÏŠ+:t( tïÞ]»v™ý>¿þú+pó`Vs’œœÌĉY²d 666dff’˜˜HYYo¾ù&+V¬ ªª •JÅ!C8}ú4*•ŠÒÒRvïÞ­¨ü &½½=yyyDEEQTTÄîÝ»ùꫯˆ‰‰aܸqÌŸ?ŸmÛ¶C¯^½}O].¿¹Úçvú7µ|9ýšª9ùZ:«¯¿þš5kÖзoß»êXn§_sEm”:ks×?&&†¬¬,¦OŸNhh(iiiÄÅÅáààÀرc;\?rÏggלü¥ý:3úoÐ?öØcFûWeé,þùnÓ®Í@555¼ñÆøøøðøã3uêTi„®Ñhؽ{7‰‰‰ NGrr2aaawmÄ~'ýšƒ}ûö1mÚ4Y¾|¹ä{ÌUÿ;=ßyyyRûÙØØàïïÀ_|Ñ)ô#÷|vvý(‘_iû·…œ|¦úßÎ@qq1®®®FûWKóË/¿ð—¿üV®\iÿÐU0Å?w5½ѼvíAAAøúúrøðaˆåÕW_%%%…¤¤$éׯŸºß±cÖÖÖÀÍiïÆÆF†J}}=C‡%**JšV”ËßØØˆF£áÂ… dffrâÄ æÎËÒ¥KÍ¢ï¿ÿ€ØØXŠŠŠ2dþóŸqqqA­VÏoû[¢¢¢Ðét$%%ñâ‹/Õ‘ÒIË|÷îÝìß¿ŸÈÈHlllX»v-,X° ]õÉÊÊ`Ê”)’#ß°a*•Jú͘1cˆŒŒ4ÚÐõøúúJúÿá‡èÛ·//¿ü2±±±×åË/×>¦êßÔòåôkª~Œ‘ïÈ‘#œ;wŽ>}úð /ÜÕûíôk~üñG>üðC.\¸À_ÿúW¶mÛÆ»ï¾Ûêwí©¿ÜóÝÔÔÔf¾óçÏwýÜéùììúQ"¿Òöo 9ùÌí;‚Ë—/`ooo´µ4}ôEEE,Z´ˆææfŽ=zßF7;Â?w™ˆæ–-[4h*• WWWzôèÁ¢E‹$ƒÉÉÉ1p:Žüü|<<<¨¨¨àÃ?äĉ9r///-Z$ý^.ÿÙ³géÕ«*• GGG<==éÙ³g+9ËÊÊ(++3Z!ׯ_ÀÛÛ›äädBBB8zô(›7o ==€yóæáä䄳³³YЗ_~ Àˆ#xöÙg%´‡ãÇǘ1c  %%…ììlÂÂÂØ³g!!!dgg“’’bt‡bÏž=Œ?žœœiZ«®®[[[t:‘ÐjµŠÊ•Ë/×>¦bjùrú5U?ÆÈ—””@HHˆ4P»ˆˆˆà¡‡’fEJJJÚü]{ê/÷|ûøø‘‘Acc£´œGiûÝ-n÷|výÜI~¥íßrò™ÓÿvFLõ?¦rüøqF…¯¯/÷3¦øçt©5Fw4Õj5iiiÒÔ´»»;ôèѸ¹BïöîÝKzz:û÷ïç¹çžà÷¿ÿ=þþþ888àææÆ[o½Å¿þõ/©|¹üÅÅÅøúúJÈwß}ÇàÁƒÍ¦;;;þð‡?`kk+M-œ9s€+W®†S¤æ¤ªª ¸J×w«««.'''‡U«V1lØ0"##¥µ`jµ€àà`ììì ‘tÝ]͘1ø÷Ô“ƒƒps‰ÄÎ;ill¼íèº-äò˵¥Û_Éóq'ýšª¥ò;v Fƒ‹‹Ë=³öL_¯E‹À¤I“ :ßæ¨¿ÜóÁðáÃIMM%,,LZÒãèèØétÕÖóÙ•ôÓ–üJÛÿNƒ”;Ég.ÿÛ‘è§ÌõJcü«¥©©© gÏžò™¹›~ì^ôÏ·Ãè©óŠŠ JKK¥^Knܸ!³>²˜žžÎÁƒÛü}~~¾4ÊT’¿¨¨ˆAƒIégΜ1ë1=ö˜´ÆÅ@QÝoªÊÅÅ…ÊÊJ._¾l‘¼ÎÎÎTUU‘––f c8tè›6mbäÈ‘,[¶Ì`´¤_3Ø’Û]WÚñÑonððð   €òòr @yy¹t] rùåÚÇÒí/‡œ~MÕRùôkBBB¤AÙ½À† ¸zõª´Ü&88¸M··þrÏwïÞ½Y¹r¥ô÷ùóç ç‰'žè”újù|v5ý´”_iûß9ùÌáMÅÚÚš¦¦&nܸÑ.¿öÔSOQ^^ÎÏ?ÿŒ“““QþÕÒôèуÚÚZ®_¿Nssó}ÛѼWý³Ù"šC† !::šêêj8yò$¯½ö€Áƒóé§Ÿ¢Õj),,dÖ¬YÌš5‹2wî\²²²ÐjµÔÔÔ°wï^"## ü;å×G4õǵÕQ…öo7npsÁycc£4U4jÔ()’7ÏÁ»zõ*ÕÕÕÒ:sðüóÏššJCC—.]âƒ>PœïÞ½lܸ‘Ñ£G³|ùòV!y}=>ÿüsHMM5¸.‡J¥âôéÓhµZêêêøøã=z4ðïµUéééÔ××KúSºpY.¿\û˜Š©åËé×Tý(‘ïäÉ“”””ðàƒ2~üø{Êaé_NNNN|õÕWmþÆ”ú+y¾£££©©©áÊ•+ÄÇÇceeEhhh§ÐÜóÙÙõ#'¿’ö—ãNò™êÍÁã¶ã+G IDAT?ÜÜ‘|»Nô6ƒèwŸ;w®Ušþ´ŒŒ ¤¥-o“ÛlÒÞôÿú¯ÿà›o¾á›o¾é°çÄRõS’~úôiJJJx衇øýïß!òuúˆææÍ›yûí·yæ™ghjjÂÛÛ›¹sçâéé À{ï½ÇÒ¥KY¹r%}ûöeæÌ™,\¸€_|‘•+Wò¿ÿû¿8;;3räH>þøcþã?þC*ÿNù¡õšæŽhŽ;–ºº:233ùä“OèÑ£'NdΜ9ѽ{w233™1c...L:Õl÷Ÿ9s&:ŽC‡‘––Æ£>jÔŽ4ý— ²³³¥c.ôddd°páBìííÉÊÊ"-- gggüýý™5k–¢ò'NœHjj*%%%466âææFXX˜¤???jjjP«Õ„††âêêÊ‚ !—_®},ÝþrÈé×Tý(‘O?ZÆÖÖ¶Su[:?c7Å„‡‡³}ûv/^|Û#ÎL©¿’ç{À€„‡‡£Õjñðð`ÕªU·=EãnëGîùììú‘“_IûËq'ùLõ¿æ`áÂ…lÚ´‰ 6H\cÖã 6 OOOJJJZm2=z4µµµÒúñ>}ú°hÑ"ƒˆ%™;w.—.]"&&†¡C‡Þ—ÑLýÚÌàààû"š `µxa¸nóÖª®üÜæ2ÓÕ¼4{Þ}¡Œüü|øÄ›@Е)))aýúõú”õõõáàà@ZZšðO¦e@nçŽx&ôõ¼}žÆÚƆx@q¹Ç1(çVÊ.^ >.®}çh @ èœxyyuÚNæG}D]]4ãvëR8Á½Iw¡@Ð-–ÀÍÍyóæqýúu|||Úu< ðO¢£)@Њßÿþ÷·Ý#Í{sn*@ ¸ßk4@ AD4oAì:@p¯Ñ‘3¶"¢)@ M=—/_6ë÷Ío¥³¨ßÙäéjòµ—ãÇ3gÎ&NœhTýîû¹Ûôn´¿x¾º6Bß]§]‡.9u^TT„———h=ÅHHHàÒ¥KÄÆÆÒ¿¡Ñþ@ è,Íææf¶nÝÊ®]»¨¨¨ÀËË‹ 6ÌúÙgŸ±mÛ6~øáž}öY¢££éÝ»·¢ü-?CÙYFRJÎö:uêûöí£  ­V‹³³3O=õÓ¦McÀ€&˧ÕjIHH 77—ë×¯ãææÆ¤I“˜}•JEii©¢ò;Z?z~ýõW¬¬¬î+û¹ö7qâD–,Y‚ ™™™$&&RVVÆ›o¾y×ÚW¹öïìFw”|_}õ111Œ7Žùóç³mÛ6bbbèÕ«~~~&Û·©þE èH¾ýö[<È<ÀÁƒ9r$Æ SœÿwÞ¡ªªŠ•+WJö¿bÅŠNoÿíZ£YSSÃo¼?þ8S§N•"†Ý»w“˜˜ÈàÁƒ±··gúôépéÒ%233‰ÇÓÓ[[[¦L™"u2åòÃÍ©óêêjüüüðôôdýúõ­dtwwÇÝݽ݊‰ŠŠ" €%K–PYYÙæot:ÉÉÉ„……)*wíÚµøùùáììL·nݰ±±¢¹DDD@TT”Ñrçåå€ þþþ|ñÅŠî/‡œ|}úô‘þoee…N§n~ ÂúÑGL¦M›F`` Ë—/—lÏúi¹F«½k¶ºªý˜Šû=z4NNNØÛÛK‘®Ó§O1›?>þþþÌ™3‡C‡)¾¿’ˆ 9Ú¿½ò[ºýšššØºu+¡¡¡³nÝ:êëëÍ–_ßÁ ÀÎÎŽ€€£:¾römªQZ%ÏlX«j~jkkÙ°a ..ŽÇ{Œ 6P[[«¸ ½ý[YYµËþ»LDóÚµkáëëËáÇqpp 66–W_}•””’’’ ¤_¿~ÒtÕŽ;°¶¶ )) &L˜À¿þõ/ÜÝÝY³f £G–Ò±±FÃ… ÈÌÌäĉÌ;—¥K—šU1ÞÞÞx{{³eËvìØÁ믿Þê7GŽáܹsôéÓ‡^xÁèY¯¯¯$ÿöíÛÑh4,^¼˜ææfé{°Æ¼ÚâüùóŠî/‡œ|k×®eÆ ¨T*éÚ˜1cˆŒŒ4‹~~üñG>üðC.\¸À_ÿúW¶mÛÆ»ï¾kýè_ˆúû·72ÔUíÇ%ö§'++ €)S¦(*_­VÏoû[¢¢¢Ðét$%%ñâ‹/¶ëþ·‹ʵ`` 7nÜ _¿~Œ?ž€€ºuëf²üæj¿ÛÉ·{÷nöïßOdd$666¬]»ÅŸ”ËÿÃ?зo_^~ùebcc ®›jߦú¥õWòüvT°³E±ï'ùMaëÖ­ØØØ°zõjzè!þö·¿ñÿþßÿcëÖ­Ší+**Š 6ðÎ;ïØ¿¹û?Ñܲe ƒ B¥RáêêJ=X´hG ''ÇÀ˜t:ùùùÒúììlòóóùàƒø×¿þÅâÅ‹ùË_þ"ý^.ÿÙ³géÕ«*• GGG<==éÙ³g+9ËÊÊ(++k·bFŨQ£€ÛŸ¯™””@HHˆÔVÊسgãÇ'''G {Ÿ9sFº¿¯¯¯Ñrûøø‘‘Acc£´Ü@«Õ*º¿rò¥¤¤MXX{öì!$$„ììlRRRÌ¢€ˆˆzè!¼½½())1»~L¥«Ú©£ßãÇǘ1c RT~zz:óæÍÃÉÉ gggƒN‚¥ÛwäÈ‘lÚ´‰””bccqss#>>ž>úÈ,ò›Ú~rò}ùå—Œ1‚gŸ}Vò¹J‘Ë_WW€­­-:NŠH«ÿÛÙ·©þEiý•<¿÷2ß73¯¿þ:‰‰‰<ôÐC<ôÐC$&&5ˆùì³ÏøòË/ùãÿÈÞ½{ %;;›Ï>ûìÞêhªÕjÒÒÒ¤©iwww<<<èÑ£ps3ˆ¾°wï^ÒÓÓÙ¿?Ï=÷ßÿ=7nÄÇÇ;;;‚‚‚ ¦&äòãëë+9°ï¾ûÎ"G9::JضBÛÇŽC£ÑàââbÔÚ¯[±³³cÆŒÀ¿§öô÷rttÄÑÑÑè2#"">|8©©©„……IKÚ*«­ûË!'ŸZ­ 88;;;BBB¤¶4‡~Ž;Æ¢E‹`Ò¤I\¿~Ý"ú¹íÇT”ê7''‡U«V1lØ0"##¯…½rå `8…z7Û÷­·Þâ‰'žÀÚÚš~ýúI‘„üãf‘ßÔö““¯ªª ¸¹TCß¹¯®®V\¾\~عs'ØÛۛžMõ/Jë/÷üvt°­]©ÛUåïhnµÉþõ×;+FOWTTPZZzÛ¢7nÜœ>²˜žžÎÁƒ¥ï­»ÏOž}ºX²ÅÕÏûf?’"Š~/]º„ŸþC† ÁÊ•+ÅÍÕÒÒB~~> }€ªµÚ·ŽºY”isQÊ/íö{·|Ý»wGqq1Nœ8!àgEEX~ccc$''ãÕ«W022«W¯˜ýÒ°oIý‹¨õÖÛ :uNiˆ=¢ikk‹°°0¼~ý555HLL„ŸŸ222–––8zô(ªªª’’xxx0¯ž077ÇáÇQ]]û÷ïã믿ÆâÅ‹ùÂò?zôH PMJJb¦ËêôA ¸qãnܸÌkýà8-- =zôÀøñãÅ’ˆû÷ª •••8pà0kTëÎuóæM\¿~½Ee Cii)ŠŠŠ̘1C¤ó CXùꦛNž<‰šš?~\`¿¤úáóùMMM\½zUêú‘íÙ~$¥9ýž>}Û·oÇðáñjÕ*±— Ô=<‰7oÞàõë×Ì:ÀÖhßàà`ddd€Ëå"??áááB/ â”_ÒöV¾Ñ£GŽ?ŽššäææbëÖ­"Ë–¿î<±±±¨®®f– ˆªaö-©µþÍõßÖ È$yGXþ¶N—‡€WžëßTþÁƒ3öÏáp˜%#ïÚ¿¼é_ìÍÐÐPÀÞÞ\.VVVX°`LMMGçëë‹   èèè`îܹðööfò‡„„à›o¾APPtuuáãム&8Êæò¿ûMYh>xðׯ_‡±±1æÏŸßèhÔôéÓÑ©S'±ä:99áøñãHKK‡ÃAŸ>}0sæLÌž=0þ|¼zõ aaa-~…“‘‘¼¼¼PUUccc¬_¿žq–ÂÎ/ aåóöö†ššþøãœ8qÝ»wÇ”)Sàáá!ýxyyaß¾}Xºt©LôCíGršÓïÞ½{¼]«ýîƒ.gΜ²ró.iÚ´iPVVF\\æÌ™--­¶+ËöýôÓO±oß>f]°¾¾>/^,²SV~IÛOXùæÎ B.]º„'NÀÀÀ@ä7ˆ’Ĉ(--ELL f̘mmm,Z´H¤W‰bß’úQëß\ÿmKÚû¨µ”ŒÅ‹£K—.¸xñ"Ž?MMM8;;‹lÿm…ÂRo/º+ÅE…ƒyó¾ø>.ú¦Pšº£¦ …BýSÇàݹƒQ˜äì"ëYYÛ@EUJJJ"˽pK@N}Ø9وػ·}~ëœB¡P( …"ÿÐ@“B¡4€ŽP(êŸ(4ФP( …B¡È-ÊTÿ!‹‡Š( …B¡PÞWèˆ&…B¡P( E&ÐÍzЧÎ) …B¡t4ÚrÆ–ŽhR( …B¡Ph YGAAL¾oÞ÷/2´—úܾ}žžžprrj×úl©þZZçŽf”÷»ÿPäׯQÚírê<55ýúõ£­G‘‘‘‘ÈÍÍÅž={ ¯¯OB¡ÐþC¡Pä%Ðäóùصk:„¼¼<ôë×Û¶mCÿþýagg‡—/_6ÈcddÄ|Û·¹ü@ÃÏPJ“{÷îáìÙ³HNNFUUºwïŽþýûÃÍÍ FFF˯ªªBdd$®_¿ŽŠŠ ôéÓ“&MÂÔ©SÛüNP”w“effâàÁƒHKKCyy9ºvíŠ~ýúaÞ¼y011‘¹þš*¿¨ïU5êééQûi‡ö—’’‚ªª*ôéÓŽŽŽ˜5k:wî,±|Y—_ÞåÀ;wpìØ1dffBMM îîîprr’jÿi®ýD9sœ={111(((€¶¶6\\\˜oЋ’N¡´%—.]ÂÁƒQ^^ŽÏ?ÿ³fÍz?Í 6àúõëˆŠŠ‚‰‰ Ž;œ9s·oß8¶´´Ÿ~ú)6oÞ,R~xôè‘̾ã|ìØ1Lœ8Ë–-ƒššnÞ¼‰-[¶ 55‡–X~xx8þøã¸»»cÆŒ8qâöîÝ‹.]ºà³Ï>“yƒ¿{1ù믿°iÓ&èè舔ÿûï¿Gqq1akk‹û÷ï#00™™™8|ø°Ìõ'îE±¥ùkkk Ô~Ú™ý999aùòåPUUE\\~ùå°Ùl¬Y³Fbù².¿¼ËOJJÂ÷ß"22ÊÊÊ8tèTûOsí'êù›âêÕ«ǸqãðÕW_a÷îÝG·nÝ0bÄ¡éJ[³gÏTVVâàÁƒHHHhenÑÍÒÒR|ûí·°¶¶Æ|€Ù³g3w°8|ø0~ùåXZZ2wœÉÉÉM:ƱcÇÂÑÑQäü©©©xýú5FŒSSSüôÓO äêêêBWWWìºmÞ¼#FŒ@÷îÝ¡¨¨UUU@¯^½îxÝÜÜàââ‚U«V5:BÛ7oÞ8;;CUUS¦Lüþûïò¿úê+L™2žžž¸té’Øõزe œ±|ùräçç7z !ÇŽÌœ9S$¹½{÷fþWPP!ЧO‘õ×yyyX¶lœ±eË–6q«?ê#îšÃ¶¶Ÿ¶ÖŸ<Øßðáá©© 555f$êþýûR‘/ëòË»ü'N€‚… BKK šššX²d‰TûOsí'ìü¢Þè8;;£sçÎpvvØ/,½­üP{ƒ®Õn<»ví‚««+\]]±k×.ðxaù9222¸¸8ܽ{ ,€¯¯¯Ô;JŽŽŽòŸ={†;w";;«W¯ÆîÝ»±nÝ:‘är¹ÜF÷¿xñƒˆˆ888`Ë–- „ ::cÇŽ«üVVV°²²ÂŽ;ÿÇܺu ÏŸ?GïÞ½1fÌ‘/Û¶mC`` ³oäÈ‘ðññYͱoß>ddd`éÒ¥àóùˆoô8ðx<°X,Œ?ÎÎÎPTý¾©©üu”ºò·ôÓVö#ªþdM[Û_}@äé%qä˺üò(ÿÉ“'̨Jjj*ÀÖÖK–,–––ÔúOSí'ìüÂxúô)@GGÿûßÿ°gÏýÂÒ)Yrøðaœ;wË–-!;v쀺º:<<<˜c† ‚;wîàÈ‘#Ø´i“ÔÎýg–:þÌÊhANuL’öˆæŽ;`aaÀÀ@hkkC]]‹/f†p¯]»&p‘%„ )) ÆÆÆr^¿~U«VaûöíèÒ¥ ³_XþôôttëÖ ÐÐЀ©©)ºvíÚ œl6l6»ÅJÿí·ßpêÔ)Œ?×®]˜ö\¶lzöì +++@ZZšÈr­­­gΜ‡Ãa–TUUbcc .„¦¦&ºwïŽE‹‰]þ¡C‡bèСš~?htt4ÀÕÕµÑÆøõ×_™3gâÔ©SpuuE||<~ýõW‘õ×<`Ê_7Ê]Ÿ!C†àçŸƯ¿þŠ={ö OŸ>ˆˆˆÀþýûE’/i~y·aúk-ÚÚþ€·O>ïÝ»#GŽÄ´iÓ¤._Öå—GùÌıcÇàêꊄ„„††J݆k?IÏ_YY èÔ©!ÌŒC]ÿ–ÞZüöÛoíú{Þí½ümÅåË—øïº}pîÜ9„††bàÀxðànݺ‡ƒI“&IåüÓ&ƒ‹Óg˜2q,&ƒ‰ãÆ`ÂØÑ=rFŽáÆaØÐ¡2d(; ƒƒhKÅ4cbbpâÄ fjZWWÆÆÆPWWðv1zÝôôéӈŹsç0lØ09k׮Ŕ)S`oo/°_XþGÁÑÑ‘q>”Ù«Ž:wîŒ9sæøojòŸþÁâÅ‹áììÌ4nó…eË–ÁÎÎÇÇÌ™3™%€¢¢"‚S`-ACCƒ ÀËÊʤÿóÏ?ÈÈÈ€–––XkûbbbÓ§OGçÎáêêÊ´•(úF]Y544¼k7fffPQQ‹ÅbF ÏŸ?/’|IóË»ýÓ_kÑÖöwíÚ5¬_¿Ÿ|ò |||D^+(ª|Y—_^å×=3yòdtêÔ‰™Z®»Á‘MµŸ¤ç¯Ô¨©©ÁÁƒÁápjjj"¥S(²¤¸¸еkW&¦*))¸9TVVƪU« ®®ŽÈÈHäääˆô £¨”UóPVÅCi¥•\¼©äâu%åo·ârŠËjPTV#²L±§Îóòò™™ÙdÅx<žÀ%›ÍFll,.\¸Àì»pá’““ >„åOMM…………À˜,ßx_WϺÅíÛ¶mÛ7o°e˘˜˜`úôéÌ:(QèÕ«‚‚‚˜ß/^¼€——ÌÌÌZZZÈÏÏGAAÈ ô› Øê!õ©[›åêêÊí¢ÐT]›Úÿ®þ„ѵkW”••¡¬¬L$½Ö]€Ä™6—f~y³qõ'+ÚÒþ.]º„ŸþC† ÁÊ•+E­ǾeÝäU¾¡¡!=zÔðB¢,½çJ›k?IÏollŒääd¼zõ FFFxõê³_”t E–ôèÑEEE(//ØWGyy9x<ø|>ÜÜÜ???Èu½Ä¾ºÚÚÚ",, ¯_¿FMM áç燌Œ·sû–––8zô(ªªª’’xxxÀÄÄ„‰Ø¿ýö[lÛ¶­Ñ`UXþG1‹a·ÓruÓ‰u´ôA  Äýû÷QUU…ÊÊJ8p0|øpo_½ššš¸zõj‹Î†ÒÒR!"" ˜1cs§¼}Ý›7oðúõkf8ܸq7nÜf„¸ŽÄÄD¤¥¥¡G?~¼Xrë¦COž<‰šš?~\`¿0ý £®¬7oÞd^wUŸàà`ddd€Ëå"??áááD¯¤ùåÝ~„鯵h+û;}ú4¶oߎáÇcÕªUb™¢È—uùå]þ¸qã¼} Ãá0K}êË—aí'éùëúyll,ª««™üuû…¥·Â¦iëtY—ÿ}Õï¨Q£ÿYç¿GŽɤüñÇL?5jTUUQYYÉì—ýJ<¢Š€€ØÛÛƒËåÂÊÊ ,€©©)s!÷õõEPPttt0wî\x{{3ùW¯^3f`àÀMÍå÷šÒÑtrrÂñãÇ‘––‡ƒ>}ú`æÌ™˜={6ÀËË ûöíÃÒ¥K[üŠ%###xyy¡ªª ÆÆÆX¿~=s1ž6m”••‡9sæ@KK‹9·8¡1mò8”VrQË'àóùÿþ%¨æðÀç“û{jt­[7°mYãë¼Ù9وػ·}~ëœB¡P( …"ÿ(SP(”w¡£ ¥>–µ¦Ï þ‰š …B¡PèÍ'…BÍúÈò5I …B¡P(4ФP( …B¡¼×œ:~¬Á¾Qãœi I¡P( …B‘Œi3f5úÔ¹¸Ð§Î) …B¡P(2¡]š2û¾9¥ýÑÒ¯@ÉZ–,ä˺|­už‹/ÂÜܼÕê#oºhOõo ¨~šfþüùرcG‹Ó¥Õ'$ùŸ¼û'Ê[N?†Ó'ÿΞÄÅs§ðçù˜Éi—Sç©©©èׯµ ¥²uëVDFFJíÓ…´þT?ï ˜2e ,X555±Ó¥›Í¦ÑÁ‘ë©s>Ÿ;vÀÞÞ†††7nRSS555ÆÀa``€Ï>û ÿüóÈù†Ÿ¡”Õš°»¶œœX[[‹uwõ×_ÁÃÃæææ044Ä!CŒªª*@yy9üüü`mm CCC8::â—_~‘ùÂîf¥!¿µîÄÛú®¼5ë׿¹Òozz: $õєְ?iØMsõ—¥]ÊÚ>¤¥ÿ¦ôÓý÷ùóçX¾|9>þøcbäÈ‘8}út›õwë÷ÁÀÎήÉ× K§PZ™Œhnذׯ_GTTLLLpìØ1øûûãÌ™3ð÷÷GMM NŸ> mmmœ}PPP€íÛ·cÑ¢EØ¿?üýýÁårqîÜ9ôíÛYYY „††\]]Û\~}ý4æà¥!_Ötä;ñÆêæææ†1cÆÈ•~9ŽÐïŽË«ý5w~Qi®þÒßVö!-ý‹¢YðìÙ3¸ººÂÛÛ«W¯†––ÒÓÓ±sçNL:µÕú®®n³õœ4i.^¼ˆéÓ§·(Bi=uŽ¥Þ^„BŠ ÝìÛKÞåÍ›7dõêÕÄÊÊŠ‘Y³f6›M!$==˜™™1¿ !¤¦¦†B166&eeeLZII ±´´d~ ËO!£G&aaadøðáÄÄÄ„„„„4(#‹Å",‹ˆ‹¨yÖ¯_OæÍ›'Vž¦¨¨¨ ÆÆÆ„BLMMIQQ‘@zAAqvv–;ùÕ[Rù<lܸ‘X[[cccòå—_’ÒÒR&½²²’øúú333biiIvïÞ-–þ…Ëb±Èž={ˆ¥¥%133#>>>¤²²R,½9r„Œ=š;;;-5ùâæ¿té>|8ár¹2é-Ñï»[K‘…ý‰c_-õ/¢Ö¿¥º9uê:t(122"®®®äÅ‹Rµæì[Rý Ó¤¾V˜ñöö& m°z>þœ <¸Åé²._[ë‡"œûö Äzó¾;BNß.$¯æ’_®¼$ûþÌ!{/e“Ý¿¿ ÛÏ>%?Åf’c2Èæ“OHðñÇdÃÿ¥‘°ßž‘yßi2~|p?‘,õö"bO———cÚ´iPUUÅŸþ‰””ØÙÙaÅŠ€èèh¸¸¸€ÅbaêÔ©˜:u*ÊËË¡¢¢022©S§P]] 6› ???¬Y³†‘/,?‡ÃAFF²³³‡ÈÈH„……I5Š·±±žžÌÍÍ1cÆ f$µŽ+W® 66Û¶m“Êù.^¼ˆÁƒ ¨Ø°YÒÒÒäV~}$•Ф¤$\¸pIIIèÖ­6lØÀ¤oÚ´ ååå¸uëâããqûöm©·ïÝ»wqõêUܺu ؼy³È²£¢¢pàÀüôÓOHOOÇ©S§”QùâäçñxX¿~=[„Ù·¤úE?Âú¯$þåÚµkPSSèQ£`hhˆ €Yz$/°X,äååµ8BiUÄÑ &Ë–-ØW]]M !„|öÙg$>>žBˆ³³3™2e ¹|ù27n!„¨¨(¢««KX,155%W®\%,JJ ±´´$555„B²³³‰L"þòòrò÷ß“ñãÇ“Ÿþ™BHnn.±±±!7oÞ”ÊÝU\\±²²"„B–/_N¼½½INNáñx$33“xzz}}}¹“ßX½%•oggGž={&0beeÅü¶µµ¡ÉÊÊj±þk_‹% ÿÅ‹dÀ€"Ëtpp ©©©ÍêLùâ䈈 sæÌi³ƒÆô+Mù²°?qìKÚ£±²hƒªª*f6Cö!̾¥å_D©{söÕRÿ¢§§G<==IFFár¹$;;›xyy‘+VÈÕˆ‡Ãi²]EI§#š¹ÑŒ‰‰Á‰'*C]]™™ +++ÀéÓ§‹sçÎaذaØ´i€ÌÌL|ûí·Ø´i“€üæò×­Ïttt„ªª*€·ÉêUGêêêpttDTTöîÝ X²d æÍ›‰ds¹\¬[·8xð LLLÁÁÁèÑ£œœœ`ll OOOŒ;=zô+ùM!©üW¯^aèСŒmÙØØ ¸¸˜I/,,‹Å¸s—fû¾+“Åb¡°°P¬+333¡£-•/jþ’’„††âûï¿o³›Ø¦ô+K$µ?iÚW[p÷î]¸¸¸ÀÔÔººº011AuuµÔìC˜}ËÚ¿Hj_Âü‹ºº:6oÞ (++COOÁÁÁ8wîœ\µóË—/Ñ»wï§S(­‰Øf^^233™iº­î©p‡.]º8¦ØØXÌš5 ûöíÖ-[ ««‹Î;cÆŒxòäIƒéœ¦òo_mdaaÁ¤?xð@æß(WVVfé¿yó&BBB<(ÎÂýçÏŸÃÙÙOž<Áï¿ÿ[[[&­K—.ذaîß¿¬¬,\¹rUUUptt”ùÍ!©|<~üXÀ¶rrr˜tmmmäææ 8Ti¶/€òµµµÅ ÓÓÓ›=Fù¢æ a޶æ]ýÊIíOöÕš|õÕWpwwǽ{÷Àf³ñøñãFk©}³oYûIíK˜iìµy„¹kç;wîÀÚÚºÅéŠ\š¶¶¶ ÃëׯQSSƒÄÄDøùù!##`ii‰£G¢ªª )))ððð€‡‡LLL ©©‰³gÏ¢ºº999ð÷÷ǧŸ~* ¿¹üÀÛÍú¯âHJJjС$yå…»»;âããQVV.—‹””,Y²nnnLàûîV·_Nž<‰ &`ìØ±8tèzöì)¾xñb}ŠÚÚZ°Ùl¬Y³&L«v>{ö,ÆŽÛâta×HI_%kù²FÒòË{z«6ˆ›!44°··—Ë…••,XÀÜÃ××AAAÐÑÑÁܹsáíí Ø¹s'°zõjhjjbòäÉ asù†ïДöˆæìÙ³‚ÔÔTðù|cÖ¬Yðôô”ŠüeË–xûBâ­[· ¤¥¦¦b̘1ðôôDVVzõêGGGœ:u FFFr!ÿÝÑÛºÿëmi”?44...ÈË˃¹¹9S'XµjÖ¬YƒAƒAUUK—.kZK”öµ¶¶Æ°aÃÀår1yòd¬\¹RdùžžžPUUŲeËðôéSôîÝ»Á]ù¢ä „455[ݡȺÿÈÚþD±¯æÎ/ëú cÛ¶m ‚  «« œ8qBjö!̾¥á_di_ÂüËÌ™3QZZйsç";;ššš˜8q"¾ûî;¹¹hgffâîÝ»M>+,Bim–z{‘Ð]á(.j|X\l æÍ_H5E¡¼G{…Bi¾øâ 8K—.mQº´o†ÚÂOPÿ$9£"0ÉÙ…ùízÓ&Ci%—ùÐÛ¿ ¿ T·¿§F'ܺuÛ–}Öè9Ø9وػ·}~‚’B¡P(”÷a_Zj/±Ñ "4ФP(ôBB¡P:´jnÍ"õw4ФP( …B¡7Ï2F£³2j áóQKÂ'謢BÞN×ß/êûh I¡P( …òžsêìï2‘KM …B¡P(”÷˜1†°²¶Šª*”””DÎw;á–Ðc©z) …B¡P(²€š …B¡P(hÖQPP ³ï›Ë /^„¹¹y‹ßî/iþ¶–Oi[äµ]å¥\òÞ?;º þ‡ú' 4eJjjj£ß¤íHlݺ‘‘‘-~RNÒüm-ŸB¡ýS~ËOý…BiÓ@“ÏçcÇŽ°··‡¡¡!ƇÔÔT&ýøñã:t( 1qâD¤¥¥‰•ÿÝÏP¶6‡bÊ?tèP=z´Errrr`mmÝèÝYzz: Ôâ26—¿î;¨’Ü6%¿¾liœ§1ž?ŽåË—ãã?†¡¡!FމӧOK¥ýš*ÿþýßù²ì­Q>iÙ]{ퟢø'IÊßÞåËÚ¿Èš¨¨( <†††2döïßO#ªùf©·!„¢Â‚F·ûöq "Ÿ}öINN&•••$**ŠLž<™BH\\$‹-’YûÍž=›DFF¾ò%mGY—OœrIb‹íµŠªY·¯¼Ê—µ‘5'Ož$cÆŒ!©©©„Ëå’ÔÔT2jÔ(KÞ'd}yô`ßÞ±^âí’œt¤¦<y{WNýíÁýD²ÔÛ‹´(Ð|óæ Y½z5±²²"FFFdÖ¬Y„ÍfBIOO'fffÌoB©©©!FFF„B&NœHnܸÁ¤UUU}}}æ·°ü„2zôhF†NLLLHHHH£†ØRcÿüs,Y²¤ÁE¤©ü@ÃwhJ{DÓÓÓªªªX¶lž>}ŠÞ½{ \'Mš„ââb,Z´l6ºººXºti«;"I;Ù»ÿKëB:{öl„„„ 55|>ÆÆÆ˜5k<==EÊ¿lÙ2„††ÂÅÅyyy077˜rŸ9s&JKK1wî\dggCSS'NÄwß}'’|QÚ/00>>>Ìrqhïò%¥5ÊgmmaÆËåbòäÉX¹re«Ù·¼÷OYû§ö._ÖþEÖ¸ºº¢¤¤ÈÍÍ‹ÅÂÂ… ¥z³E¡ú—6 K½½Hè®p5¾Î).6óæ/¤š¢PÞ#tuuéWW( õO”ƒQ˜äì"ëYYÛ@EUJJJ"˹pK@N}Ø9وػ·}~‚’B¡P( …"ÿÐ@“B¡4¼¥£ …ú' 4) …B¡P(4ФP( …B¡Ð@“B¡P( …B¡&…B¡P( …š …B¡P(hÊ5Rý¾ykÒ‘?5Iuö/^„¹¹y»moy-wGï?ï» þ‘Bí¤ã¡Ü ššÚè7i)yaëÖ­ˆŒŒÄСC©2( …"×°s_ûªýš|>»ví¡C‡——‡~ýúaÛ¶mß(—$ÿ»Ÿ¡”6‡ÂîÝ»‘““===,^¼˜ùVwSwRšššHMM•úÝš´ßV^^ŽuëÖáÂ… xóæ ôõõáéé)µo 7¥iÕ£½ÈOOOÇ Aƒ¤.ÿ¯¿þBTTPYY ]]]Lš4 >>>PSSksg%kûjiû‰Ó?›ëm]?i؇,ý <þÛ¶mõk×PXXˆ>ø+V¬Êgú$mß¼¼<ãÊ•+())A=0jÔ(|ûí·èÓ§O«øwÊmù¾¾S^ë¾jõBþÛøü·AÀãòþÝÏgÒËJKqøð¡¶ 47lØ€ëׯ#** &&&8vìüýýqæÌ©äôè† "EÇÅÅ!,, áááèß¿?>|///ôèÑ&LhÔ8ÜÜÜ0fÌéÝYü{YLøûûƒËåâܹsèÛ·/²²² ¸ººJµü2»ójò9”••¥.?$$³gÏÆ?ü€>}ú   Û·oÇ¢E‹°ÿþ6wT­a_ⶸý³¹þ×Öõ“†}ÈÒ¿<{ö ®®®ðööÆêÕ«¡¥¥…ôôtìܹS*¦¤í»páB|üñǸtézõê…ÂÂB„‡‡cáÂ…8sæL«ø÷÷oooØÛÛcΜ9‡C‡áöíÛ £ ’ø|>ø|>È¿ù|>ᣦ¦¦AšÈ,õö"„RTXÐèv`ß^ò.oÞ¼!«W¯&VVVÄÈȈ̚5‹°ÙlB!éééÄÌÌŒùM!555ÄÈȈBHrr2ùüóω‘‘4h¹té’€laù !dôèÑ$,,Œ >œ˜˜˜ed±X„Åbqquu%çÏŸØwîÜ92cÆŒF¿té>|8ár¹"Ég±XdÏž=ÄÒÒ’˜™™RYYÙä±-áÈ‘#dôèÑÄÐÐØÙÙ‘èèh&ÍÔÔ” _PP@œE’ÍãñÈÆ‰µµ5166&_~ù%)--•¸ÌuTVV___bffF,--ÉîÝ»dJ*_˜~$•_gwõ7i´isTTTcccæ÷©S§ÈСC‰‘‘quu%/^¼hQ=Z‚(öÕœþ¥ÙZÒ?…é 5ú8õk‰}HÚÆÍÙ—··79pà€DýG–íkllÜ@^ee%111‘ºýPÂápÈ¡C‡È¬Y³‹Å"³fÍ"‡"§Uü“¼ å?°o¯@¬¼a©­­%‡TWW“ªÊJRQ^NÊJKIé›×¤ ?ä½Ê%¹/ÙäeN6Éy‘E^<F‚7¬k2~|p?‘,õö"b? T^^ŽiÓ¦AUUþù'RRR`gg‡+V¢££áââ‹…©S§bêÔ©(//‡ŠŠ àøñãð÷÷GZZÖ¬Yƒ•+W È–ŸÃá ##ÙÙÙˆ‹‹Cdd¤Tï„RRRààà °ÏÁÁ>lp,ÇÃúõëØäèUcܽ{W¯^Å­[·PQQÍ›7K­üQQQ8pà~úé'¤§§ãÔ©S¸}û6“®  Eņ͞––&’üÐÐP$%%áÂ… HJJB·nݰaÃclll §§sss̘1Cä‘lØ´iÊËËqëÖ-ÄÇÇ ”]ò…éGRùl6›©ÿ¿´ä7ÆÅ‹1xð`æ÷åË—qàÀ¤¥¥a̘1øúë¯[ínX˜}‰¢iõŸ–öOIê'þ#mÿð®}HJsöuíÚ5¨©©aÔ¨Q044Ä€€ªª*¹h߉'"$$ùùùàóùÈÏÏGHHœœœZÅ~(”÷qG4ƒƒƒÉ²eËöUWWB!Ÿ}ö‰'„âììL¦L™B._¾LÆ× ¢®­­mp'),JJ ±´´$555„B²³³‰Ô¢|]]]R[[K!dåÊ•Ì(„žž^ƒc#""Èœ9sľ“©?ðâÅ 2`À©Ýõ888ÔÔÔ&Ó—/_N¼½½INNáñx$33“xzz}}}‘äÛÙÙ‘gÏž ŒæXYY5zlyy9ùûï¿ÉøñãÉÏ?ÿ,’|[[[ýdee5©‡–ȦIå‹Óv’ȯ#..ŽXYY‘ŒŒŒFÓ«ªªÍ’Õ·0ûGÿ’öŸ–ôOa:uÿ§~’Ú‡4FUÞµ/===âééI222—Ë%ÙÙÙÄËË‹¬X±B.Ú÷Í›7d„ 3&LU––ýPâååE¢¢¢—Ë%,‹p¹\²oß>âååõ^h~ôÑGr?¢y,:šädg Œh>N{DöEFˆ=¢)v igg×èô ¹¹9!„“SK_ý5Ù°aa³ÙdÑ¢EÄ‚èêê‹EŽm.?!„?~\À(/\¸@ÜÝÝ¥¦ü~ýú‘’’}EEE¤ÿþûŠ‹‹‰••IOO»ƒðx<©´¦.R-éLúúúÍNóTTT5kÖb``@FŽIŽ;F¬­­E–ÿnÛëêê6›çåË—ÄÂÂB$ùzzzú©sHÒ’/L?’ÊoIÛµD>‡Ã!AAAä“O>!÷îÝcöß¹s‡L:•˜˜˜49}/KG.̾Z¢ÿ–ôŸ–öOa:uÿÇ?´Ä>$mcaöõÑG‘ÂÂÂmaff&íûÅ_ÀÀ@’››Kx<ÉÍÍ%ä‹/¾ºýPd,¶÷@säÈ‘rh~ááñvà'+‹”¾yMž<~L¬­¬ˆ»››ì§Îóòò™™ÉL ÖmuOäñxGnn.óÿË—/¡­­-µò³X,¤§§7™Þ¥Klذ÷ïßGVV®\¹‚ªª*8::Š$_GG?hûœœœfó(++‹¼pX[[»~„!Ž|aú‘T~KWþóçÏáììŒ'Ožà÷߇­­-“öÕW_ÁÝÝ÷îÝ›ÍÆãÇ[u†D˜}µDÿ-é?’ôOIê'þ#©hÎ>$E˜}5öÚ9BˆÜ´o||<üüü ££%%%èèè`õêÕ¸zõj«ØEp™ÑûÊ•+W侌;wµ5FŽ…µ7~<,--±e‹øKyÄ4mmm†×¯_£¦¦‰‰‰ðóóCFFÀÒÒGEUURRRàáᘘ˜àñãÇøä“O ¨¨ˆß~û !!!°²²ß\~àíçõ_“”””kkkººº-~¢ÒÃÃëÖ­CRR¸\.’’’°nÝ:×—¤§§#..¾¾¾-:Gpp0ŠÄdvÔ IDAT‹‹QRR‚àà`©$E˜}¹¹¹ÁÇÇOŸ>Emm-Øl6Ö¬Yƒ &ÈEû~ôÑGØ´i^½z>Ÿ¼¼}ºU§ÎE±¯æô/þ#IÿÖÿdÝD©Ÿ$ö!©ž"""È!Cˆ¾¾>±´´$~~~¤¼¼\.Ú7''‡x{{KKK¢««K,--‰···À5ERû‘Ö´rsíÒÞÓÛrÚ]^ôÓ–åeê¼î©ó7¯_“Ýáá$ïUn‹Ÿ:WXêíEBw…£¸¨°Ñ@4.6óæ/¤ãüÊ{Äûü2e …BýSGç`T&9»0¿÷ìǪÕkP[[+ò{4ù|>>„¯¼5zvN6"öîmŸß:§P( …B¡Hp8±òÔÖÖBAAAèq4ФP( ïDéh…B¡þé½AEY©)ÉbåI}˜Þ1KM …B¡P(”÷˜q'âæÍëÈø÷aÇæ „ //Ïž=ø‰…Êés£"h+P( …B¡t@X}Y2Ä×o\ÃÙ³±¨­­mòX%%%ôÔÒ¡Ž`õeIhÖ_,J¡P( …BéxÁÐÈHêréÔ9…B¡P( E&Ð@“B¡P( …BM …B¡P( 4) …B¡P(4ФP( …B¡P¤2U…B¡P(J;„p8p¹\ðùüV9¥¢¢"”UTЩS'hR( …B¡tT*«ªÀÎÉÆÃ”dÈü|JJJèÙ³',­¬¡¯oˆÎjA¡&…B¡P(JG‚Ëá  ?wî܆¥…%¬­l  ¨ Ós*(( ¢ª ·oÿƒîÝ»£›f7ÔÔÔÐ@³CÐÃãÊûˆ¸ÓBÔP(Ô´I÷îÁÚÚjj¡¬¬ EEÙ?z£©¢Oììqãúu¸ÍGÍŽBeUdæã|ÂS<{ùš*„B‘‘ºE"«¤¤„={À¢¿%ôô Dšj _ð43·o' ÷e.m` E túöí0þ€Ï磰¨PQR†Š² •”ZåÜ*Ê*(,,)°¥f;€Ëá #§Gÿ|ŒI#?†›^o()ÒP(¢ðWL8¾^é/Ò±µµµÈÌÌ@üå? )â´Pkû6;Wã¯`ÌØqÐ×7h• ¥£}ôP‡ñueTPT  ¨øöÿV@áßs‹ 4Û§ÿN‡ó§ö˜1ÂŒ*„B'Ðü÷¯(#ŠŠŠ03ûÊŠJ¸~ýoÌrs—« ‡ÃÁk×0n¼ìhãR(-¤#øº·åm†ší>Ÿç¯^ãs-ª ¥…Ž˜4²ž‘ÇãAY¹¡ÔÕÓCQQ¡Üòù|¼z•‹¾,mT å=÷ ê$§&si'ðjùtºœBi¹pÄ„$&&ÂÂÒ‰‰‰ Ò”••Ežjmjkkét9…Bý`‰†u’õFM …Bù>!ÛÝÄDŒŸ0™™™?aî&&68†B¡P@ýä¼7¦V/m‰Ò)J»Â!|ÂGbb"œœœ°víaíÚ5prrúw$ƒÏlÒð+ åýñmé#Ø#’5^«ŒhÒ5š ¥ã_VÈ‹ÿðÃð¿ÿý°hÑ"téÒ8{ö U…BýA»òo"õj vAÎßÎÁ´äWBQIµµµèÝCŽ–½1uØèÖEEêå)Ð,--Ŧ͛qþüy¼|™‹®]»bðàÁørá >œ‰Ú‹ %ÿü‘´äP(”¶AWW·q'Çf3N188‡†‚‚æÎ (((H%½©+ á¿uÀ§Nž„²²2óæÍ·Ùnû(JËú{]_o*]CCiii€Ë—/c×®]HLLD—.]0|øp|ÿý÷ÐÑÑÈS\\ŒqãÆáåË—òEMïèþ þÍw©ªá!üt¿,ƒ±±ìí¬Ð©“*jùoŠ*z]Ĭ<œK¸ W+ 2ï-Õ²‰4uî¹`x\NÇœÆKvnÁuútlÝB{…BiôBóîVÇ‘#GpëÖ-ÄÇÇãÊ•+¸q㢣£¥–ÞÔݘ’’¢À”XSû)JËú{sipwwgÒÃÃñ`Á$%%!!!æææøòË/œcëÖ­˜7o^“e–Þ‘ý©Ílä 7å5ð K@Š:‡ØBA¥3Ò^¼Æµ¤\OÊÆ­‡/QRY‹Í akcŽŸO>ă̢ÖèÚµëøþûï`hh%%%ôÒÒÂÔ©Î8s&Àk´zi ¬Gxž•w÷9004‹¥‹™ŸŽÂÂB&]«—6ÂÃwÃÊÚ½´{7)ç]„É­áp°déRèé ŸyìØ¹S ¿°ôw˼}Òsýú øè£~ÐÕÓÇ‚… Q^^Îäùã?1Ôqtú²`;` :,RZ}ýQ(ï¿þú+üýýѧOôéÓþþþøõ×_¥–.ìn_Úë~Ù¿¶B§/ #GŽBrJ “Öœßøæ›•8zT0@>rä(¾ùf%5J‡„Ëå"** .dö?~&L@·nÝеkW|ùå—H©×‡ ==ñññ ¢¤·–?[‹#¸\.ÖàÃ>‚±‰)v……I¤o>!X( ¦f†0Òò*tQ"èÛ]ýôºâC=MôÔè„—¯ñ$»ª:à[§ š#½§ìE 4íííáãã‹Û·o£ºººAzÝTwQaÀ´·››;¼¼¾Â“ÇiHK{SSS¬] ÷nâ]\¹r…ùMÊyar7oDQaîßKÄß]Åßÿ-_Xú»å€mÛ¶ã~R®\¹ŒÇiйsg­cŽ÷^ì ÿU«•õqgÏàÎÝ;"¥Q(ïOž<µµ5óÛÚÚ?–ZzW™š×¯_ÇùßÎáifœœœàããˤ5ç7‚ƒ@tt4NŸ~{ÃsÇŽÃÆÁÔH(í bذaرcG“¯:~ü8Ü`Z¼ŽÊÊJDFFÂÑÑQ`ÿºuë°råÊ&¿7.,½µü°ØBX±yˤ¥=Fü•+¸—x/_¾gX³A™ÿ¼ËÆ›j@[«;>ÎB‡HzðÙYÙHò÷pªðŽ&Ê*ªWR ÍîÐÐÐÀ•{¹­û0ÐÁûº+||ñìÙ3hkkÃÉi"üV®D÷îÝ›Ìwãú5æÿÎ;#`íZØÚ8fÃúõè¥%Þ‹È…É=qò$Ξ‰E¯^½þmü`Ør9½±r>r'Žÿ Ö¿/Jþþ»ï0løüøã–Ë¡†¼¼W(*,„žž~Þ¾½^›N«¨S(…æÖmUTT@]]Ù¯®®ŽŠŠ æ·¤éM`œ:þ"—ßÅu¦ÈÇþ¸e zôèX²d1¶†„ˆä7TUUµãÆGrr2bNÇà÷  ¢¢B ˆÒn¨ë×µµµxòä ¾ûî;!00PptÏGxx8¢¢¢šõ½zõBll,³ÿ¯¿þBqq1¦NÚh>aé­é„ÅÂâˆÿû¿_q:æ“þÆ "Ƙoߣ‰wÀ˜ëY€ª&~Oć, l^0ÚÝÕ˜ôÂ7ÕXè>øP@÷.P]ÃÅ›²èôíƒ ·_`œt> !R ©©©‰€€µX B222°+, ó=àÔÉMæûçŸÛZ„’QYY ì7ugÓÂäæççÃÀÀ€ùmhh(_XzcåÊÍÍÅ ‡ÁûêŸóÀþ_°uk6oùÝ44ðCð?nœÐ4 ¥#_|£.0ÔÐÐh6plizcð¸_à[ç¯ +¡®¡„Y]à7³.—ó_l×E>ÓûaÑG06û/‹*PÅ©EŸê¸¿\àXIû=š 033ÃÆà`ܼy³Ùcç{zbçž?{*•Ï# “Û»wo¼xñ‚ù]ÿQÒ£OŸ>HI~ÀLë0Óê0`À9rO§aÓæMÓgÍ¥Q(ï~ø!úè#©¥75‚Q[[+ò&­Ï¸ ó)âÈ‘£8x`?ÂÃwãÙ³gÔ@(íEEÅFûÏÎ;±xñâfójhhÀËË ÷îÝcö¥¥¥ÁÅźººÌ¨gýaé­é„ÅÂüAŸ>}••%¶Îß}½QÝöñ‡½Ð»+°Ü壷µndú»[TVÖ@YI\Ÿù ¡¢PQÅm½‡¦LqÆéÓ±(((@mm-Øl6‚Ö­Ã'ü_d¬©‰ŒŒ |ÕÕÕèܹ:u/àã+<ÀjLλ“;}Ú4¬]€Â¢"âÛo׈•Þ_xxÀÇÇÏž?ÇCjê#,¨· yáÂ/ñøñcp¹o¦¶–'R@¢¼_̘1›7oF^^òòò°yófÌœ9SjéM\YçX×ßÝÞÝ/ šó•••X´höìÙ '''lÝú#æÏ÷lt<…"¯x{{#-- <YYYðññ“““À1—/_†ššìììä_¾|9ÒÓÓÁãñŸŸÍ›7ããz±EcO´×Ÿ1–Þšþ@Xl!,Ž˜5ës¬ò_—/_âÍ›7X³v­DmóõŒ~øa¾ :©( ìÏ|Y†Ï×ÿÏ×ÿ Ï­7¡ÜI\|>|—GðÅ7™ã²ó+d;¢¹rå78‡ÁCЗ¥‹ñ&¢²²QQû˜c–,^ŒÑc>šBÞŽµk ¯ogç©d?H蹓ó.Âä~ûíjhvï[ u†¡ŽCÅJoŒåË—ÁÁa\\¦AOß_~õœ&þ×™&Lœ€yÿó€¾!‚‚Öawøn‘Ò(”ŽHÝèBý­Ž9sæÀÞÞ#GŽÄÈ‘#áàà€Ù³gK-½©Œº †»û=-p9z4îîs¤h6ç7¾Y釅 bÈà·SiãÇÃÌ™3±ÒÏ¥Ý0qâD,Y²&&&˜6mLLLðÃ?³cÇx{{7šìرX´hLLL0vìX”””`÷nÙ^#eå„ÅÂâ¿•+ñá‡f>b$~ü ôtõD­XOÒ÷íŠ/Lѳ{ q°†¥…J+ßN“óù€ÆŒ¶Ç¨‘vèÕSË]úAO»K‹G4–z{‘Ð]á(.*¤=FN)+-Åâíà»%3aoÖ*„Bƒ­[6âË/¡²òíyrr2f¹¹Ã×Çn³gáhô1ü´mŽ=+++&ßáñÂ÷”¾y#W¾`Gèvø|í]==Ú¸Ê{îŽEÁ!C ¨¤EE((6¾V•Ï;bY[[ûöÛí„ â·çx^̇ž^ä•¢–O ÕS*ÊJÐêÖ™éÏa¡« ÏŒ•y5>_ûù7©vN6"ö ¤P(Ÿº»}°´´Dô‘Ãø|¶Ö {÷îø¿è£°´´”ÚH&…B¡þ +ôö»š äíÿõ¨¿Ö”Çã½ýŸÏG-¯ÓzàÇØlä¡W÷nÈ+® €];!77ªü*¸²x+[©ÉQ(”ayg‘¼¥¥%Ž= ###;úßEEÚSç …úƒÖœÑÄ4¹ÀH&ŸÚÚ·Afmm-@xX0Zyùàq8覮Šîª¨¨¨Dn+\Œ¡€Vz&…B¡´÷ þ;ŽÑÂÒW.ÿ eeåi …úƒöU§ÆQRV†¢’¡ÄçCY…Z>„Ï!ê]…ãTq‘ÍL ¬$§eÀoÚ‡è©Ù T4Ðl'(+)¢–O¿¿L¡´t£±;p%%¥F÷B ¤¤$—UQRRŸú …úƒÿª@&ƒBeeåFëŸôëŠÜ×|\IfƒSËÇìº0Õë&pŒ$Щóv€¢¢"Œtº#çUU…ÒÊJKßÞÁ‹¸½..–V/¹ è¡£Ó¹â|šŽB¡tHP/d¬[ Ö¦ðÿíÝwxTUúÀñïÌ™”Iï!”„¦HÑß‚Ä])b¥+"(ˆJD¢‚ P]×ÝBYQwu]D¤IèzI#’L¦Ýß‘@ÊHðý<Ï}’™[fæœ9ï}çÜsïÇôç.á¸)VbünoâÜ6œ$=š€^¯§ß-ñ|øï-ج6šD… hå7‚ÎÿâW^®°°­[6sÇŸþ„¹wºZ±àæ·ðÝ·ßàçïGó¸ º§E‰W+ÏT/û÷ËC[£(Z—I•D³0¸¹Ȉ¿ÜÀg?îfÙ7§±ÚäЙÎè +¼¯±¢(pkÏžDEESVZÚàbAtt }“îæëÕ«ÈÉÉ©Ô/„pJXxøu~Ï3+{'/7?4èµõJÄ%Ѽθ{¸Ó©ÝÚÇ¢•ÞL!œVQQ›››ÓËÛív,fsƒÝ©¸{¸ÓªMÚ¶ï ±@ˆ?xÌV+­âôm(/uÒhT4ìÚµƒ·ÞêÔ¸UéÑB!„hd nn„†…s{¯;غy3…W|̶¢(Ò³×DEÇ85¤@M!„BˆFÈÝÃfÍ›ߪõU³]ßq«’h !„B4Ba̶ŒÑB!„’h !„BI4…B!„$šB!„BH¢)„B! 9ë\!„¢1RUÌf3‹Å©»ô¸‚V«E§×;}+OI4…B!¡²òr23ÒÙ»g7yyyWüõE! €Ä¶íˆŽn‚»‡;ªªJ¢)„Bq=±˜Íäåæðë¯[ILH¤]Ûöh´š+úš†Òòr¶nÝ‚ŸŸ>¾>TÔqJI4‹kÐ=.ÄQ} I,BâÁµ`6›Ù¹};íÚµÇÃÃNwUîä«÷¦ÓMùeÆ {HÍëEYy9GbëÖÍdgeKᤰðp§—UÿÚ$ãÔa!‰BH<¸ìv;ùù$$$ Wtèuz´ŠrU^[¯Ó“ŸŸçTb+‰f#`1›ÉÌÌ`ÝÚ5Üñ½‰ŽŽ¹j÷4¢±KYúOž™4Å©em6‡bíÿÃ×ÉÃB „xp­Øl64Z-h5h´ÚÊÿ¯ÍÙ×v†$š€Ùlæ—Ÿ¦wŸ$:wí*"Ä%p¦'B«ÕÒ¢E<:­Â† ë4dhƒÚ±H,BâAµŸE­üÛÐŽÀH¢ÙHØívNžÌ&<"B CˆK Äj5ã­V+:ÝÅa02*Š‚‚ü×[(±@‰5~¦šhÊ1—FÂf³É!2!.= W Īª’ššJBb"©©©ÍÓétN’X „ăkždrñgºÒ“$šBq–]U«LÛRSés×]>|˜>wÝŶÔÔ‹–BHø?99™Y³fòðÃ0fÌ<==INN櫯VKa !ñ QŃʓÔ*Ÿ«:™y¥ügk¿¦å‘SX†VÑb³Ùñ7Ò#1„{oi†§ÞåïÏ©D³¦Œ¼ ?O¾±Bˆ‹DFFVè23qöìÙ|úé§h4† Æ”)SÐh45®ïííMZZZóÏm»¦=‹j¯ ÀŸö:Îñà¡a1dð*Ï !.­­ŸßëjËçÒ»wo²²²ê½þùËÔ®ãxpþÍ •WXyUû³Jˆ¢óMmqs3`³WžUpª”Ôã9|³yîkK—Ö!W?Ñ”¤RQ_µü%K–°iÓ&Ö®] ÀðáÃIIIaÈ!Õ®ûá‡ròäIçËj~ñŸ;ü¥(Új…Õô¼âÒÛº3m`Þ¼y<ôÐC¼úê«õ^ÿÜ25ýÀ½Þãz®7“‹ÍâR3S>ü•˜&ôèÞœì‚3¤8EI™»ÝŽV«!Èß‹øM äÏö2e°BÛØ—½?—ŒÑ æoŸ|B‡Ž7AÏž·³{ÏÇü ³™'Ç#*:†V­Û°`áÂZ·wìøq†}˜&M‰ˆˆdàŸŸïôöêšÌûï/¢m»öWfî6›W^™IË–­ˆŒŠføˆœ9sƱÎÿþ÷7÷¸…°ð:t¼þóS§æ{=!ÄïV¬XÁ”)S %44”)S¦°bÅŠj—µX,|üñÇŒ1Â%¿ö]=þ¨¶ØW[\yöÙI,]šrA¾”gŸ$_q]ª©-ñüØ'Æ2å¹ç8~ü_µš_·ýêÔÓÅïù‡m™œ6Ap {÷gó¯{Ù¹k?éÇÓ9xàÛS÷¡šËiæKIi99EeøúyãííÍšíÙWÿd êzåÎ?œ>÷õ×ñ÷÷àÉ'Ÿ`Þo8æýë³Ïøjõ—­ŒÙtîRó]-~Ùð³ãwww’§N¥C‡ŽNoÏ™×›ùÊ+:ºd ÿZ¹‚ˆ³BžöÒKÜrëmÌûúÙ÷áANÎI ò󉊊â·ß>ï=Ö<ïÂr⢶±[¥¥¥FÇóF£‘ÒÒÒ‹‘Ûí¼ÿþû|üñÇun¿¶Ãw**Ÿ¯\îô{ïwß@§—­-öÕW üWz÷éÃîÝ»ùbÕ|÷í·èõzùòˆFã\»³Ùl8p€—^z‰‚‚^~ùe§ÚòO?ýDaa!÷Þ{oí½sµÄ‚úç™W&Ô•{Ô•g,_¾‚U_|î˜?kæL'sÌÊëhrAøÅ†ã`ð廵©ÄGxóÚðŽûy8æçŸ6ñÊ?w`GƒŸ§¦ §K* åÛ­'è}“kn á²1šç-€‡‡V«Õñ877—˜˜Çã&MšÔº­-[¶2}ÆtvíÚMYY€ã$g¶çÌë]ø‹(;;›.]»Uyîü×üû'cÞ¼7xíõ¹øx{3kö,úôî]ç>ž]»v9ïÚµ‹–-[^´ÜÂ… yâ‰'\Òƒa³Ùœž\u·ºâÊž½{Y²d)ÿøû'¼ÿþ"Ž=*_ѨiµÚjÛOMm9--~ýúé8JQÝÑWÅ‚+êÊ=ꊡ¡¡?~¼þŸç‚Ë›nŒ"Ä Æ÷kYù©«9üíã©§¬¬¢ÁbµcµÙQ´Z´(-·4ž; èߟ©S“É/( ??Ÿ^x±ÖåM&îîn¸¹»süÄ &LœX¯íÕ÷õ}ä&L˜ÈÑcǰZ­üöÛ>†Ÿ7àxĈ‘ìß¿‹¥²àm6«Só@NâB÷ß?¯½ö999äääðÚk¯1p`ÕÃS?þø#ÜtÓM®Ø³8‚ã¹vzátáó®P[\)++c̘1|ðÁ"’’’˜7o.=ö8&“I¾ ¢Ñ;v,iiiX­VŽ?΄ HJJrº-gffV™Î=wÅbÁŒuåuåƒ=ÀsSž'++‹Ó§OóâÔ©—õ1Ÿ¹¿³k›^©òüá¬xe=¼²žÇçmDç¦Çbµc·ÛQQ±«v,V•Gçnt,—ž[zé?>œ]00(ø¢ÉY/¼ð<¾~~´oß›{ÜÂÍ=n®uùùï¼ÍÔ©ÉDGÇpÏ=÷Ò¥s—zm¯¾¯0~üStíÚ…~ýúÃÈQ£Hêû{c¹«ï]<ôð#DÇ4aúô,z‘Só„ø£:×Cqþt΃>HçÎéÙ³'={ö¤k×® <¸Êú ,`ìØ±.ëÁ8·Ã:ôA–.M©²Yº4…¡Cty¢Y[\yvÒdFŒA÷n•‡ÒúôîÍÀ™4y²|yD£Ñ·o_ž|òIš7oNÿþýiÞ¼9³fÍri[®ký {CëºÌÑ•Šuåuå“'M">¾·ÞÖ“nìDTd”ó‰s=Τ ÷bdR~žtïÚŽÄ„—U&·ÛU@ý:s{Ï› 02¾_+¢‚=/¹GS3nìhuþ»ïSX/-¦*).fÁü·™ðÌd"£¢¤@„¨‡y¯ÏaäÈ1”•Uþ"ß½{7ƒ† eâ„ <ˆ¥)Ëxó­·X¶t mÛ¶u¬÷é§ÿàé‰ÏR|ú´Ä!$4Èx°,e Ý»wG«(h5Z4ÚêǺÚí•=–6›­òÞíªÊ‡ÿ>ƱB;Q1QœÈ)ÆfW ðF¯SôqçðÁc$DêxäO±ÕnsÝÚµ<3yJe’™‘·‹Ë-(…׿ó/dœ˜˜HÊ’Oy`ð¦&'ãççÇò”¥$&&º¬'S!ñà*~ ÊûjjÔÊÿÏsþXS«ÕZù¿ÝŽÍjc@Wæ~™Nn^A~>ä–ü½ÜÈÎÎÅ`/gèí •Û¾ ZùÊ !®û˃äY¶t)M›6eÙÒßw*®>t.„xp5gj8L^¥'ÓnÇf«L2m6¨V†÷ &/'«ÙŒÑ€Ÿ·ÒÒ2²32yº_,®âu4…¢1÷`Ø/Œ ‰ ¬ùñt:ÝEó„×gªž¢Ó¡U4Z-ŠÝŽNoÇf·£Úí¨ªŠÑ FôÖóá3‰oÑv§brÿx|=Ñh4\niH¢ÙH(Š‚Ý.÷aâR»0ªû®(JµÏ«ªŠ¢( „xРãÁÙƒ hTµÆ¤P§ÓUû¹:µò"û”5»31Ûì ¾-’¸(Ÿ*Ë\9tÞhµZÂÂÂÉ®Ïí¨„%ÅÅ•¿àœNÔà:‰BH<¨&Õ<7 ^“ÓŸ»„ã¦X‰ñW¸½]ˆsÛp’ôh6z½ž›{ÜÂwß~ƒŸ¿ÍãZ4è_WB4¼_üªÓ˲uËfîøÓŸ0×ãA „xpíòLõ²q¿<´5Š¢uù˜TI4ƒ›ÑÑ1ôMº›¯W¯"''§r ¯¢Naáá¬tò¾ÆŠ¢À­={MYi©Ä!$4Èxð{žYÙ;y¹ù¡A¯­W".‰æuÆÝÃVmÚж}´Zñ „³***pssszy»ÝŽÅln°;‰BH<8?F£åòû3ëG«Uœ>š"‰f#¡ª*¦ *LRBÔwçrÝÖQb*“=-AAXÌf =\ÍdS…  `§Æ­ÊÏa!„BˆFF¯×Ó¡ã ¤¥íÃlµ¢Ñ*N߆òR'VAEî];èqë­N[•M!„BˆFÆàæFhX8·÷ºƒ­›7SPXpÅÇl+ŠB`@ ={ÝATtŒSC $ÑB!„h„Ü=ÜiÖ¼9ñ­Z_µ1Ûõ·*‰¦B!D#ÔÆlËM!„B!‰¦B!„DS!„BH¢)„B!„$šB!„¢‘³Î UÅl6c±Xœº¿â}kµèôúzݦNb„$šZYy9GbëÖÍdgeKᤰðp§—UÿÚ$ƒ»‡;ªªJ,BâAƒŒ’h —°˜Ídff°níîø¿ÞDGÇ\µ ³ ÑØ¥,ý'ÏLšâÔ²6›Ã‡±öÇÿáë燯 „xÐàâ$šÂeÌf3¿üü3½û$ѹkW)!.3=Z­–-âÑi6lXÏ !CÔŽEb$Ñ.g·Û9y2›ðˆ) !.q§¢V3žÑjµ¢Ó]#£¢((Èop½… „xÐØH©56›M¾äB\úž¥rçrÞ”ššJBb"©©©ÍÓétØl6‰BH>>øøø0~üx:äôúÕîX¸ø,Óº&gÕ‹j‹Ï>;‰¥KS.HÒ—ò쳓äK$ÄY)))ôêÕ £ÑHPPÉÉÉlݺÕéxq5ãA…ÙÌ“ãÆ9ò™ Ö+_²X,LMN&¾eKb›Çñî{ïI¢ ðÖ[o³cçNÖ¬ù‘ýiûpwwgúôU–Ù°aÿù÷79|ˆ¤¤$&L˜è˜7{öŠ‹‹Ù±c;?ÿ¼žÍ›6;æäç9þžûß™m !®Ю];ÇãvíÚ±ÿ~§çßyç¼ûî»”””P\\ÌÂ… ¹ãŽ;œ^¿†=ËK4k‹EµÅÇÙ³g‘’’ªU_ðÅ«X¶lsæÌ–/‘5øé§Ÿ¸ñÆŽW3Ì™=‡‚üvlOeýOëX¿~}½ò¥×^´´ý¬]³†í©ÛÈÊʺ.êì²OútÉþµrg/ <í¥—¸åÖÛ˜;÷uÇ2s_ž|ò æ½ñ†cÞç_|Á×_EP` 3g¾Â·ß}WçëÖ¶Íó“T!ÄÕUZZŠÑht<6”––:=ÆŒÜsÏ=Ì›7€¨¨(V¯^íôú5õ`|¾r¹ÓŸ¡ß}^¶¶XT[|4 |üñ_éݧ»wïæ‹U_ðݷߢ×ëåK$D5öîÝËË/¿Ì’%KœŽW3üë³Ïøjõ—M>ž]»v9ïÚµ‹–-[:=óæÍŒ?¾Ê˜«Í›7;½~M=6›ÍéIuÑšëŠ{öîeÉ’¥üãïŸðþû‹8zô¨|„¸ÀêÕ«yâ‰'øðÃéСC•yuÅ‹«BBB8qâ„ãñùÿ;BCC9~ü¸$šzô‘G˜0a"GÃjµòÛoû>b„Óë÷ïßää—(((¤  ©S“«Ì÷õõ­s`ouäd !®û￟×^{œœrrrxíµ×8p ÓóãããY°`ÅÅÅ3þ|Zµjåôú5ìYc­,Kµc°.|Þj‹eeeŒ3†>XDRRóæÍå±ÇÇd2É—Hˆ³/^ÌÌ™3Y¾|9íÛ·¯ö‡mmñâjƃýû3uj2ùäççó /Ö+_4èž›ò}š§Nýc%šçÎü>?þ)ºvíB¿~ý‰ŠŽaä¨Q$õMrú ¼ðüóx´kßžî7ßL§NªŒQzò‰'èuÇ’8 ÑH<øàƒtîÜ™ž={Ò³gOºvíÊàÁƒž¿páB6mÚDÇŽ騱#[·neáygoÖµ~M=çvC‡>ÈÒ¥)Uv"K—¦0tèƒ.O4k‹ÏNšÌˆ#èÞ­òPZŸÞ½8p “&O–/‘øC9ÿš^OsúôédffÒ³gÏ*×Û<7.»®xq5ãÁ /<¯ŸíÛwàæ·ps›Ž“'M">¾·ÞÖ“nìDTdÔuQ¿šqcG«óß}ŸÂ‚üñ†<ȃ‘ºm›´¾³JŠ‹Y0ÿm&<3™È¨()!êaÞës9r ee•;¦Ý»w3hÈP&N˜ÀÁƒXš²Œ7ßz‹eK—жm[ÇzŸ~úžžø,ŧOK,BâAƒ‹ ]fF:.^Ü0.ØþâÔ©œ:uŠÜÜ\’“_¢oß¾RCB—9¿#11‘”%Ÿ2ï7ˆkÁ¼7Þ eɧ$&&º¼GS!ñà®A$š1Ñ1tîÒ…N7uÆ××—ç§L‘šB¸nÇrÁuóY¶t)M›6eÙÒ¥íTdÇ"„ĉ®¡kobÔ¨‘Œ5RjCqÅz0ìì,Xóãètº‹æ !$ˆë(ÑuS»]î·*Ä¥íYªï•P¥ÚçUUEQ‰BH!·rtI$¥~¦Û¼y„GEa‹ŠÆn·c³U>wss#&º ÍAæ­·³}æLl·$jBsmEÓ›Þ$mM?I4ë© °€ù Þ!#36­9|ÞÞÞÕ.[^^΢Þcïo{ à©'Ÿ"88D ±T^Xð-_ÿœ†bðDqsÃ+0ƒA‡N ›wdñÃÖ#”ž11ò¾.<ö—±«*ƒŸ_Fzö)4¹@ÿµbÃBFÅ2Í;Ù[ú ½üž‘B9KFŒ !\¸³T/{ª(MÇèŸHYÑn¶¿•†ùÐ!z/YJhq1–Wfb;v¼Êx+UU±Ÿ8åïÿ ø¿üÓþýl+²¢Ýý©(MwÉ{»pRåŠl·¦éjÖÃ;óß&(0€{þr/LŸ1’’’‹–+--eÚôdÜÜ üå/÷Æ; ÞiTåÚêaÊüÿðŸM‡ñðAçá €^§Å ÓâáfÀ×ÇHhpÑ1Q´NhÎÊ÷ÓýÑ÷ðìÜ<< ö7¢qQÝŸ?­[·Ž¦M›^±:¹œí^Íöp©ï£!¯V{M!DƒâfŒ¦´h…;[P¾~½SRÐþü3¶¯¿¼<´ÿùš1£½7ª |û-ö;+Ï05›é5w.ÿö …Q-(½snF¹¦d}ed¤sã7rìØ¢£c°[­LŸ1i/MÇËË €²²2¦¿2ÈÈ(ÂÂÃ9~ü(11Møõ×­R€õ°ó@6ßm<ˆÆÝ›âü\¬V+ŠVá´ÝŠV«%ÀÇ£‘À ì*”›lÄÅF ÚC)(,¦}ëþýC­ë{4'OžÌüùóùóŸÿü‡¯'«ÕÊgŸ¯$#3½j‚Pó:|øµòйF£!&&†þ÷Þÿ‡:^M!Dƒ;Œ#'’ÿ·Ãt5eófì_……(-Z·vÛóóI &#›"¨uk¬ii¨€N§ãÆç_`ëË/s¤ûD‚c‡U |:Ö®ûVÛ¼?’víÚsàÀš6‰!33ƒÈ¨HÐh˜þÊ4¦%OG«Õ2ý•iDEFEVV&a¡a8pöí;Ôºí´´4’““Y·ngΜ¡mÛ¶Lž<™ü!Ë:åÛ˜Ì6ì¦BÂÃñöñâÆA¼òxwNŸ1q<ûù+?n=BDx0McBÉ),Å®ª4o†^Ñb´Õ:×é~ßÍ{yyѹsgÞ~ûmÚ´iãÔ{Û³g}úô‘Àìܵƒà  î½§77wL¦r6¦¼Rã:<ôörwX÷ÓZvïÙE‡ö«,wúôi¦OŸÎêÕ«ÉÈÈÀÛÛ›[n¹…'Ÿ|’^½z5êr“CçB—ºÜÃ0á SÈ;†Gn„ED`ÿr5俢įr8+“-[¶Ð¬sgFÃÈáchÚé&6­_ÏáÇѵl‰f÷nì¿l$<.÷ÿëENAá S.:ÔSÛa ú2jˆ‡l]ñ¾t8¹¹¹ddT&'srˆŠŠ¢i“&<ÿÂd¦¼0™¨¨(bb¢ÉÉÉ!,4ŒŒŒLrssyüÑá5n÷àÁƒÜyçÜqÇüöÛo2þ|–/_~ÍÊõZ×ÃúíDZX,ÜØ1‘Þ=qÓirgKTUÅÇèFÛ¸PÞz&‰esÀ¨·³c×AB} D{óËž,tŠ»ÍVí¡s¨¼ß·ÅbáØ±cÜvÛm 6ÌéÏj2™ÐétW´,C{PU•ìì,bc›cµZô©?ýþêÁà%¸)(=ðû{Òh´è4zžü²=Oý·%CS‚0›+hÚ¤YY™m{ðàÁ˜Íf¾ÿþ{Μ9ÃÞ½{4h3gÎlô‡Î%ÑB4¬_¿Š;å>ƒ‰éelݺÂ[o ö ù¤=Fï]»hׯ?ƒƒÁ@»þè½kûÒöS`2¡2&>ý¦NÄ=;™Šàa—|i#›ÍÆ‹/¾HDD>>> :”’’’j—ÕëõÌ›7ÈÈH|}}>|8¶ŒF#Ó’_&+;›éé„„„›—CLL ­Zµ¦E‹4‰iBn^.!!!œHO'+;›iÉ/c¬áVt3fÌ`Ò¤IŒ5ŠÀÀ@ÜÜÜèܹ3Ë—/¯vy“ÉäX600Ñ£Gc2™ó¿ýö[Ú·o§§'qqq|üñÇ—T×’Ùj¥E³†ôIäÖ¶aD‡xãíévÑr­›…ð̃=0•Wàá®çda)n‹Í†¶ŽCç¾¾¾<óÌ3ìÛ·Ï©2ÒëõŽ¿çÿÿÎ;ïЬY3 ƒSå\[,^¼˜¸¸8<==éÔ©;wîlm"¿ ??@Ã=mžÆÏÈìA«xuÐ7œ²f òûEËš6òÜ€E¼Þä]´íµk×2gÎÇxØàà`î¿ÿ~~øá‡ß·yô(ýúõÃßß///î¾ûnrss),,$<<œ¢¢¢*Û,,,$22’¢¢¢kÚ$ÑB48ÙÙÙ£ªvÔ˜”qãØyÓ 4Ÿ3ïÐЋ–÷ ¥Õ{ï±³Eʘ1ªª„„“}ÉïãÕW_%55•-[¶™™‰»»;Ï?ÿ|˯_¿žíÛ·sðàArssyùå—u=xzz2-ùe²³OrüØq‚ƒÈÍË#,<Œˆˆòòó âø±ãdgŸdZòËxzzÖºÍü‘ûï¿ßé÷ðÒK/‘;}ûøí·ßHOOgÚ´iŽù>ú(Ó¦M£¨¨ˆü‘M›6]rý]+nn:ùó tiÄ q¼òXWÂ..ÇÇó3û ºvj‰¿‘N-Cy WK zÕNgŸ>}šyóæÑ¾}{§ÊÈb±Té=gË–-lÙ²³ÙìT9×VGëÖ­cݺuäååqï½÷2zôèy¤æÔ©SxzVþˆúK«ghês‹ÖLÆl+§Ä–SeùË*l¥,^ó‘mé÷4&“ /£‘ B€îÝ»3fÌ6mÚDyyyµïáž{îá©§ž"++‹ÌÌLâãã™4iôïߟ>ú¨Êò}ôƒ Âßßÿš¶I4… NII îŠV«E«Õr<8„!Ck\'>)‰£aA(Š‚V«EUUÜÝ=kí¬n:ßßþö7Þy碢¢ðööföìÙ¬ZµªÆ÷ðæ›oBHHo¾ù&Ë–-kôuq.Ùø€”””Ë*£¹sçV©Ãº¶Q[,X°€ÈÈHŒF#'NdÇŽ 0&ããã[Ùk¬Sy9ÃÛ/Ä\fá‹mó‰4´C§©ì…öÐúÑÁx«·~ˆ­I|›Ý†Ù\V«ÅÓÃâ’â*Û_¹r%111Œ5Šš7oÎĉ«ôRîÚµ‹Ûo¿|}}™9s&ßÿ=O=õ‹-rŒ/·»tÿ^IDATZ­,^¼˜ñãÇ_ó¶ ' !\Æjµ¸ôDF‹FS™hVö¬˜9ÔùÎõ¸œ[G£ùý¶sfóҰKKÏT»£Ñ˱|ff& ¼'M•íÿDD¸ãqDD8'Ož¬öµ[=TT˜°Ûlh-6››Í€ÍfÇbµb·Ù¨¨09î^›€€€Ê‡ÂÂj]î\¹åääáxANNŽãñ’%Ÿòꫯ1}út|}}yýõ×èÛ·¯Óõ×ê¡ÇãQVa©þûè¦ç£—î¥Y„?«ßRsyY¬¸é45~×UUåèÑcŒ;†­[·vIßq€  À*ÏÕµÚêÀËËèXV§S°Z­.­#W´‡“9'‰ŒŒÀb±`·ÛÑ* ååeL¸q%36ö"Âjù8Ùæßèèuë÷­âHÖ^¦Üø‹åì_°X­„„†’——ƒ»›Ûy?è<˜6í%¦M{É1–ùwæóÀðõ×_°iÓf’“§²sç.JKK«”s³fMiÕª+V¬à¾û°rå¿èÒ¥ aa¡˜Í×´-H¦ÂeTÕ5ƒî½¼¼0™ÊÐj5œ;ؤàÿýï×ù-%…æ¦ÊDT£­VCyy^^^õ:áüyaaa8°Ÿ3gJSIIqµË;vÌñøøñã„„„\£ë7ºîdš3gÎ0köLš4iBDD%%ÅFŒF#%%ÅÄÄDÓ¤If͞ə3gêÜ^Ïž=ùüóÏ>A$$$¤J¹=zôì°ŠÊÇ7Üp+V,çøñcÌ›7—'Ÿçtý5”z()­à±·2zPOÇôP¿øy{0é¡ÄÇ¢×iñò0àåaÀÝ C£ÑânУÑ(ì9RÀ=O§5—%@³fMùè£xúé Žk¢Öç;^SÛ©kµÕQuÛ«­}^«öPXX@pP(‹™Â‚||}ýq3¸a·Á¸¶KùrëÈÛBK;9”µ‡_ö~ÇèÖÇnUÑhµè *Ì&*** ¢°°°ÖÏÕ¢E ^ý56lØàx~ذaŒ5ŠƒPRRLvvV•õžxb,ï½÷.ªªòÞ{ï2~üSW¼-ÈÉ@Bˆ«jº$p…††’››W9æ,+Û/IlKÚ3ÏP’“{ñŽ:'—Ã3fxãMØDÍÍ4äææzɉæã?Ƹqã8rä‹…={öððÃÔ˜h>÷ÜòòòÈËËcòäç¸ÿþû¯ÑÙήK2gÏ™Eppaa¡àååMFF&éé™x½(,, ,,”àà fÏ™Ug²ù ÏóÆoòñÇSXXˆÉdâ×_eèЫ-×ú3iÒdrssÉÍÍeÒ¤IÜwßÇüGy”}ûöa6›QU«Õêtý5œz77…U?æ‹õ‡1™müºã0wukÎÝ·Ä_œô›x5e;»Ž³íÐ)æ}ºE¯sê¬îˆˆºuëæ8Ë¿>ßñšÚN]Û¨­Ž®F¢éŠöPTT@P` &“‰ÒòRÒ3ŽáëëOLTS"ã™øW|ÿë.ã«MãñVêÛŒ  <ÜÝ)**ÄTaÂd*'0 ü‚ü*ÛïÓç.>ûì3rrr°Z­¤§§óÒK/qÓM79–)//ÇÍÍ ƒÁÀ±cÇxòÉqUʪW¯^—°hÑ^´k×I4…®GÓf-Ç£àSŽÏ˜†æØ܇õ7ˆôõ£Å°ù_÷nìýrf³³ÙÌÞÕ_ò¿îÝhùì3Dayçmì÷܃öÍ79>e2Æ3˰YË/)Ñœ0a]»v#)énBBByì±Ç¹ûî»kL4»uëJçÎ]hÓ&€€^|ñ…FÛ£YZZÊœWgãàGHH…E…xyysâÄ ÒO¤“‘‘Á±ã'0½(,*$$$ÿ?æ¼:›ÒÒÒ·ËW_­æûïÿG۶툈ˆdâÄg0`@µåšœœLHHíÚµ§]»ö„……3uêTÇü¾}û2dÈPBCÃHN~‰>úÐéúk0õ  L±¾(Z é¹§8p¢ì¼jîÆd²°çh!Ëcáò¤Î$*ØÛéË=òÈÃ|üñßêý¯i{um£¶:j,=š™YøøøRZVÊÏë×sæÌöüÇÐÜèÞú.¿é þµi>Þ8›Z܉^o 7÷$Y”›ÊÙöë6JËÎàïïOVVÕÞÈçž{Žýë3n¼±AÜyç”––ñ÷¿âXæÝw2eÊ󄆆q×]}éÚµËEe5vì&Ož\¥7óJ¶gêA3nìhuþ»ïSX/{I!Ä%1WT°bù2FŽë8õRåü6‹òü-üöðnºwꄟɄ=/mëÖFŽàdi{÷ïã¨oåÙŸqåV{ÜBˆ¯¦wßÃþÃh8¥×³q×.Úü½-A móâ-__?NŸ>uE_ã“¿~ÄŸÿò|ýü«¿;ÃÌgßýÂëO%]v=,Zü>§N&**’’’b|}}ÉÊÊæTÑ)ž|bZ­–…ï-ÄÇÇ›ðð0Š‹‹ññö!;û$F£‘‘#F]·w?™ºè{ôîNÛ(ƒKÚC‡¡‹˜øèŸ8š}šƒ§öó$.Ò—Ÿ¶âøñ“ êHbl0aAÞ¨-|µÃEž½‹†)ÝLÿ^­þPq§®öàʸ´ø£EŒ{b<¿¥í¡¢ÂDHp('s²O¸Î&|8_Œ© ¢Ò$&–Ȉ(-ZÈðÇG]×õ™‘·‹ËÉ@BWöhÖÿBÊ*:‘B›;¾$kÔ8¶-þ•Ûï¸É„}ß>*,$äʼnüóÝgOÒ`·Û±=Bùܹ¨~Aãå…¶ukñÕšØnoòÛ÷Òú€³×Á«Û©SE—ôù¯‡z8sæ iûöÑñÆÎŽÉô"==ƒ¢Â"}ä1TµòD ‡|˜?ù+V«•ˆˆpJΔ̶Ôm`4«œ‰îLÙ_J¹7öö ¡ò®>ZÕF·6a””[Ù{´€6q‘ÄÅ„²í`?íÎâô©2N•”£Õ‚ÞÍ w£¢Ã\\Hß›ã.z­ºÊûz*ë+—TTìv;Ûwr<Û¬Å%m«´¬»ú{¼¸ÞÛ…$šBôËO¶,å™ý hôÛ{ðË/èÞýf´99ØÃˆ½Âtv÷\¹ °+ êÆMhƒ‚°±qó&Ô^·Ð~#FÿD,噎÷UTTxŒƆ“h^ú{©¨¨ ¼¼œ°°232 '##ƒSE§x`à ³·4TÑh4(Š–û dùÊeXÌf"##ÉÊÊ$48„²²2´Z-Š¢8.ìíLÙ7”2¼šõ Ú!#»ïÚ… •„ØpÚÄG“}Ê„Ùb# ÐO³  ›]¥¼ÂJY…•3¥&J‹ò™4´½ö¢×ª«¼¯§²¾Òq):º)oÍë¢ËNUnPpîlðs?²òòòªü`·Û «WLjÌu%‰¦•!½2ª_½G$¥E{ðôoKÌãá4u`ÍÿþÇ:áÿ}ŠÝnw¼ŒF£ èOá†_H]·ŽòîÝhñx8Ú¶”íAïyÙï«.E…Wü5®F=èE«åî»ïfõW«Ù¹s'a¡aR.b³©ì=–ÏêõûéÑ©ÑA^ݤ=4äö õpm롤¸˜ÔmÛ¤GSqù´ŠBXxmÛ¶eÇöTŠOŸÆvöleqyEÁÏׄÄD‚q÷ð¨qÙ¨ 7*ltíЂï¶aõϤ]ÈÍMG×-ˆ$Ø[ÚCCoR £$ÑB¸„^¯'66–ÈÈH¬Vª*Ýe‰¼F‹N¯ÃÝóÎecCÜñ2FÒ4*³Å† Ms  z!FUÚC#iR×¾$ÑB¸îW®N§N.}m"•P/õRE ÄåTi—D}R)!„B!‰¦B!„DS!„Bü±9Æhff¤Ki!„B—ÑŒ;ZÎIB!„.÷ÿ#ºj¬NIEND®B`‚KCemu-0.5.1/doc/window-screenshot.png0000644000175000017500000006410112417262523017710 0ustar glaubitzglaubitz‰PNG  IHDRº€ZkësRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+ IDATxÚìÝw|õÿðWFÓÍè^Ì2[öÙ Ê ‚8õëDDõ‡ ¢¢("âEPÀÁ”%R(eB颓BgÖÝïÚФ—QÚÒ×óñÈz¹û$¹ä“WÞw÷¹“‰¢SNš_v"Q%·cÝB™é4Yé ðôÑ#°)¤×U9k6DQÆüþÅ˲2A7àé%⌧¦R³ ¸¶ˆˆª°¬[Ð釖U*äð¯éU%Û ¨áXµæ+CØÉDQ4„\rf>?DD÷@ÈeßÎÇÙc»Z>ªc_øÕð.JU©ÝŒœ|ü½g+~ÿâe™<›Ìí¯#"¢ª#ûv!2sòpþøô0MëÔ¶kù ‰7±û÷ŸÑ¬}€_ Ï*Ùnél“õ›øš8nòt¨µf™9°>–ÿvÍèof§•(}Ý=iÙy8¶ÿ7ôè7!~>µqêr*Î߃Ž="ø¿6ªZ»š™‹£;7@Y2ÁZ1Wrß³ƒŠí“í×ÌN+ù{æÀú†¿‰¨âìÜwЯç}\Õ„ì¿C0Bü| ÛJäç‹óÿµUò]_ÕÚ-­TЉV‚NĬÁ o»jv^ÓiÜ Z5ìÚÿà Ót…9ˆ9q ¹:aš¡yXâ;’“’šq ¹…j" tSÁÛÛZ6®R¯[ÔåãüùkHËɇ^ä <<<Ð¥]ô=õÞþ²x `èì Fï±+>'T9ÉewŽ®Ñé¶J¾Ë͵»}÷!Ií êÛÕ®vK·mº¬¥é¦íš :ÁJ0•„ܲ­ñç+™¾lk¼Íö¨rØsà¨ÑaŸîP˜‘€¸ ÌŽÆž2ìüu?¶$‹h¤Àñ˜+èÜ- Sé€zÞPÉEäç"9í&ÞÙtí[T°uˆKÁØ‘÷¡k£ÚðVÈP¤V#+'¯|yÛFݓ﷣}ÒÜç„*sE'sú=/ÝVI–Úýä¥!VÛxvé¯ež‡­vßó·¡Ýg—þŠ}î·:Ý\»*:Û/úù‡þÿá¯ñ&?`UÝ­ÄK¸"ÖÆû/t@¬_µ»o‡ ]wÄ¿Œ³â>?àç-‡ñ±é¸­W ~Ý`ôïÝ>²¢ÿ>"2’¯ãZjòÕz(U @Óˆ;;˜÷< hŠKIÈ×p÷òFúõ!¿•Šëé7Q¤ááåƒz!ÔGi´\ïnÊ´U2ÍÜ<¦âΣÏÔÁx(Ìk¾ø ÛòŒ!}[£¶‡hôYξ‘„„”,äj Sz ¬^}D†ø=Vë†!¸”˜½»v’´ìYOí‡árbrÕ:¨<¼Q¯qc„×phn¥ãÜÕ¸U †9|jÔDxx8Bk{–yÝÿ;a¶ ˆ@ZÒU$ܸ‰µ w‡¡iÈdæƒÏÚú¥{­¢s¾]Óùíi÷“—†àÙ¥¿š UkíÚ]ÑÀû¿\¼84Òìü¥ÿ~qh¤a~ª:R½Ãðé„h¨ ³±ø³ý¸Z«1Ú6ôBö¥8ÔÒ]Ü·ålŒ¯…¶­ÛÀM."?÷66oÚ‹FQ- ˆ’ÎÆ!¨U4µÜPp;‡ŽÄaÍÉ"Ü‚}‡ŽªƒW7ŸÇ¢QQ·†ÙÙøå·¡m…çÛ…!Ø[ŽÌ´LlÜt ‰b\ˆ=aTUôìÚѨ­¡³7@™y̹ž¯ÇÛ!*À©¤|Ôð€;€-¿îGóæÑ†Ïrê…SðŒl‚Ù·Cd ô¹Ø±;»nˆH¼|ÞðX¯o½ˆ%ãïG¸†ÍÝ€ÈZîV× Úµžfÿt¯?Ò j«p++?m:‚‹bcŠ9¸X¨À¬)}Ð,Ä*Q« ©Øuè<âoF½æf[â‰Þ Ë´îë†ëgbQ§CkÌß á5ÝPp;‡žÅêcÉ(¼•lxR×/UtEç|_º­;•—åvK‚È\H™›ßV»ýzÞ‡g—þjXÞ4àž]ú+úõ¼Ïj»*:ë+ÄÖ>8ښw逷‡F¢ 5¯¬Œ¬Išz+!Š"®f©± ¥7`íñ\4o×nr¼kÔBdZEùÉ!´î‚9‚‘|ì&nI@£û»á­A]*ü¯ù=æ“!¹Xðá¯pªéÑxâñ¸vøf/= fX5½%ž~¼Ƽ}Êès%³°ÞÖg¶„§HÖŠhì.Ã’WàØ™TœKÈDì-Î$å!*Üù©— nÚ K†„!ëÂY<¿ê²à‰áC»Á=Áx¿Ä”€[˜·äähôh_·²´³º"É®õ4#"¯´ ^õ¢°bj¦Lj1oÇ"M¼7ŒD¤JޝVÿŽí× Q¿^(y°b¿ß%©aäºáÅqiÏ!ŒÝ•жôÁÜ~÷!;ñšcèì e~Pô¸¿ûxµ©èDIíöín¼ÿv÷lT^ÖÛíÛ½³QØ•¹¾Ý;›}6÷Ñi´z«/Øôþ’¿ßùñ^Õ/ kdu~ªÜÞ ™ øã÷SH¯U-U2Ã{˜§ÑP%\Õ è  1³IëRr.fO ¬Ü~ ù:q‡Žƒ† yﶸµè¸Ñüþv QÑ8{ê€âƒ@–ýv u¢ZáÌ©XbK¸y†BÔ4ÚäÑüç뾎m _Ä÷ulkñ3ظQ8sÏ nŽ–!>¸¿CcÜß¡1DA‡[váÇ”P¨“rñÒcÁ€O8 È(´vpx÷A„Ôi„Ë)' í}°ý*ÂZ´F3¥ gOœ´¹.!Ͼõ´ýB£[àüÉ3¢àæQjP[!D .JAëIéøbÝD5Bʱ6Û¸” ¼:Õ°bo ·lˆc{}ú¡q÷6ÈÝ{Ôìzfÿ®ÌÝΙ_¤qº­’÷ÚV»ÖËô>{Ú•Òž¹v%oºœ3 ãW¶,þãæH(ó·Ñ´ÒnŽÄúZ?òSWEÌù%ï mˆ‘SúC÷Íl». ªNñÑ–^ â5»ËÑÀMŽ{Ú=v<Öì.%ûìJž«¥v%oºôì*"8ú´áï´3-Œþ6žv¦þ/žf‡¨*Î>†ç 5X:¦)ÆNê¯ ;ñýU=ZÔ¯…ˆZ*¬?7Ûûâ±v>Xx) Ñuý ‰(ÊÏEzZêE6¯RŽ3Ez´òTà…ù?"^sç'С}ë2NÊP•’Š'Ë¡‹Ðis¡PÕ*³\Iû¥;9çRóV>J¤§&áù÷2±ñµžP(½!ŠÔPÊqö¿×ÒÊS,µ~JÙ©‰ˆhhñ9KYbã\²ž¼ƒë îh,ûû"Bj¢~ݼ0¤ ¦L슑 öKZ¯Þ .©4ó£¾›ùº|(Üjtê,È^eÂŽ›,«NEWz󞤣#ÿ›¿${Jï&ÙØti-Lím÷ø‰SFÏ×ô`”’°kß¶•Åv6i–þðšÞJYIˆ•ü]ú_K̵É[å¹™rO½Œ™kã'È1dÌC˜Ú$§®dÀ§n\ùåŽfiÑrH_ŒŽÔãêÙ38wyj-Fï…„ËQ'Ä_îNüoH$ü=p÷ð@TóúxyÆÃ¸z鼤/_sÓj*ä8Q¨‡L&؆ވ;—„Þ;—éh¿,ƒ_Á±ã±_÷©‹ X6!Q¾…ȸ~ ñ)¹)ÍÛ)g¡ô B|¹+ 0cls¨¯žÃé‹×Ñ®×ýÈHŠ·øY—²\µžÎħàý‰íÑ&Ü 7R2pâRFñ¼‚2™\RX{ô`Z¯P\>{{w\9x^AaPÉ€t]ñ²Í¼V×-o+½±ED»öÓ™Î/—AR»Ÿ¼4ÄìÍÙvKB®më–hÛºe™ƒ^¬µ[úó.ixAIg+ØÊv,þºªJj„EB‘~ Ï|®ÁÒ§Ûã¡ÀËc¾¼ FãfÁø`ÙïèÑ3 to!ü ’…HJÍF ‚G`=äÅÁºfÛ¥>_ÐÐjp5! »÷€w`}dÞ¾`ó3bnZ½¡XþõI¼<2 #¦ÄC9·°sïq}íþüyÉtˆ/Rað€Ž˜ìëw… E…8qò<ÖnIF“&õá!DÞé£x]ÛãºÖÇG¯EA—Ÿ‹»£Ð=@®ÙÇòl`sxÔpwÉzªïçŽ÷e`ôCñbÝšp‡I×S±eÛ¿¨Ù ÏØlÃ+,ÉíÃJY; éÜû(Q›‡Ý»ÿÁÊ#*DEz"µðáîëx¥g,~½x—ÅÐÙ ¿¦©Wt¥ÞtKGFZÛ,-+u¸þÝl·u«†v[·jasº¹v¦—œëòzZN™;§·c´I²ôfIKÿ–žgEì~ê*¹˜“q€vmîìgÕdãü¥dhÔ m€Aÿ;NÔ!3-Y9¹(Tk!B„\áOO/4‰¬kXþvæ ¤fæ P­d xúø 0þ¾îSÊ4m~®^Ï@¾F ¥›üƒÃq#ñŠÑ<æÚ1çj|< ‹4ÐhuÈJxûÖBx`x–ú‰™›•†ÔŒ¨µ)T G¸¿·ÍDzµ\µž ogãFznçAÉáîé °x+íX×2’“‘~3j½…R…ZþA¨\Ëpèw^Z"®¦ß‚V/JZ¿Tqjz{àÏí›0zÌ£¸œœåP>žîØ¿ó<4hnåUÉv@«ŒÏuim³¹ŠÎ\ugºÿŽ;­+¿6­[”y¯äžµÕª¶™÷Q¿àPø‡ZýÅæãŒÆþÁç1÷˜R¦)¼üШ™ŸQ›!~-l¶mN½ $ýúôö B#¿ ɯCê:pÕzr÷­z¾µ\×2ø‡EÀ?̤"ÆÁó^AˆŠ`ß®BÝì<‡‡¤gçÚ2=ƒIUi×lEw55»ÌS Æ;µÂW{}ÇOÑ]äíé7¥;·oBD³.¨UÓ¾+äÜÊCÒùÃè7h´:ù…EU²]àèÎ w‚.>%›Ÿ"¢{€—‡ nJvÿþ³CË÷0Z&ãÕªZ»¢ÓËôpSѽ ¿P ¿šÞ?DD÷¨ì›ÙX÷Ã7(((À¥øËððô@HxÀ/À¢(B£Ö@«ÑB£Ö += ¢(Bå®B@Pdr<==¡òP!?7©I©Ð¨58sþ,Μ?‹ð°päää8tNŒ’­/Nínv/›rl^zb :´h†°ÐPÔmÔƒÆ=‹ïö^,3¯áà Q‡ßW.Äà^Q',AáFóÝ<· f>†®m£Q',áõ£Ëƒ#°på¯(D³ÏÃÞeJ(røû÷1¢og4¬†ðMÑwø“øñßL³³ÿÛ÷1f@O4®_AÁáhÕÃ&¿€ö]²ºžìyŒ »¿Ã´qCТi#„‡!²ik<<~¾Û{Éìë0}M<†ˆì-sÞxÿž8wwÔ©_!á!¸s‰Wqæä$^MDA~roå"ùz2”nJxy{!ïv’¯'C]¨Æä8sâ ÎÆž…^¯GmÿÚ¨Û .<<=œ’Œ×ÍDZ˜~ž²ggL?þt²³Œ¿Æç]›bÞ…l´œµ ½Þ£L{{^ï‰QŸ…_³·qéàSe‡áFDöHNIÆ+ æÀËÛ F @`°å-D'þ9Ì´LÔ‹¬‡Ó1§!”J%ŠŠŠV' þþø÷ïñ،Ǚù6òsó±ó×ÈLÏÄôǧᾎíªèœ:Qƒø3±8{áÎÆÀþ[qøBd29fþxoô*K×¹N.jñó•dô¬©²+èö_OA´—[™û{Õ G\¾Æpø©øß&QÓer2Ó“^¦ôs9r¡*E™uà™Ü ™é)†É<ß®?gh/"²)¢[¶C¯~0ê‘>¨¥”™}½R£cDâ‹´Ør%ÝͬSõ­ý‹7HÜH: #"§ìÙ¿ßþôý0üƒü­ÎûÇÏÀMåww$%$ÁÃãÎ1·rn¡f­š¸‘rõÖƒ‡—åã=ÔEj\»| ðíªoì :¥Ë^¹L…†-:¢a‹Ž8ÀîçëTÐEuŒÙï|Œm{ÿA|rŠ4:ˆz-²RâñÇŸ`èsAg–¶ü)Èe2œ]1cç.Çñ‹)PëåfâØ®xnt7»ŸÇЕóà©ãÌñà“oàÃqÈÌ-„ êQ› ±GðÍg‹1ªO[§–qT›~ã±dåÄœ½†¼B è‘•| ß¿ÿ2@¡ŠpªýïÄ}<SßY‹óIÙÐ :d'ÇêES0jùÀ¸†-×Ö§xSçÛœB‘ŽaGDƒC.Çcã&B«Õ"3=ÛÜŽÍë7ãü©óȽm|JÈðxzyâÄ?'иycÔ¬€àDµ‰BfZ&®\¸‚Î=Œ.Qª!;~Ù k6àꥫÐjµ5l¤CÇ:EÊàbŸ:=±eÿwhë{g“ÚþeOaäÛ[ ·sµƒ&®üò:}R5Ö÷¹•nÑel=s÷ÛZO/܃µÓ[:õ?Ï'Wì·ø½g¬ÆOo 1š¶wæ}ùÛ럈Ȝ]íÆÚï¾.Þ_÷ß©¾²³²áææ†€à†ÂÇ×*• ÿøžžž †›Ê 9Ù9¸~õ:Zwlµj ?7YéYH¿‘ŽÜ[¹ð ðƒF£Á­›·úõÇ££ÆöóIÉ+—ŒröÐ6lûm'þg.\BJFÔ:9jÔDÃf-Ñ{Àp<=uÜŒ ÇϯÄñûâýÏ×ã¯#±H»™ U ´ìÔ>9Ë¡ç9tþ½¾úb-~Û{çâ“q;_Ÿš¨ÙºöÂÃÃG;½Œ#b÷lÄ?mÁîýGpîJòµ@MÿDµí‚ÑSfaBß&N?Æð…›Ð¬Ç7X¶zÅœEÖ­"xÖôGT»®÷Äó˜ð@³2Ëôüp^÷‹ ÂÕ”,h, œ'"2ç^}Q»Vm|õíZÜ̹‰Û·n#($~~Ðëôȸ‘¤kIP©¡Óê™›‰¬ŒâS€Éd2(Ý”¸púBñ)ÀÜUP¹«P£f øøú 5)z½î?júöìãðótÝð""ª–nçÞÆ«o½†ü‚|h4wŽT¯Q³üýàíã ºxz@pd2t:nfÞDA~TîÅç¹ÌÊÈ2 ï®rGhHôz _{nJËGêß½áDDT-íÜ» á¡áxqæ 8zü(;‚ØÓ§pûÖmܾuÛhÞKç,ŸßW.—ÃËÓ #‡@÷.Ýàáî ?o„Z­¶t¶0興È)úõÇÃCå¦B·.ÝЭK7ˆ‹€L&CìéX<Ôç΂q#Ç:ýütDDä/O¯2Óæ½8þþþËŠÑ8qê$ŠÔEèÒñ>Ã:""bÐ1興ˆtDDD :"""ƒŽˆˆt\DDt/SV§»ëÏßùŽQµWÝN¢¬noð°£ù)'¢jk˦ðññ5œæ‘Awjßá]~Ú‰¨Zš?7²Ú½fî£#""ƒŽˆˆˆAGDDÄ #""bÐ1興¨ÚSrØoýúG ÿŸ0a³Ñ´’¿Mç3½ÏÞÇ1·¼´Á&° IDAT¹Ç´õ<-µíÈó³õμ6""Vt.«Ò_¶¦[#åK¹t™†¡=A`iyKÿ·‚ææ/iÛ‘ççÈü®Z7ξDÄ «JÁÚªŒìùâ¶Ti•þR··=K¡`+Kî³&¦¯Ý‘ŠÌ‘ufïc•÷ûGD÷¶j¹éÒÒ/G¾0ׯÄéM’öV‹® yG^·«‚ÅU›=]ý¼ˆˆAwOUsΆ̄ ›íþ‚uÕ±³›êÌž3cÏòÎV„®zÿˆèÞW­÷Ñ•|9:ºŸÈÒ¯¥Í‰öî´µ¼¥M€¶*6Ó¶ì ˆÒûöL7¯š®c©ûÝ?èŠ÷ˆXÑÝÓU#_öR¾PK*=GÅÕË›’¥àt¦ªt¶"¼[ïU/²ggL?þt²³2ïù»ëÏß1lÄh^¦‡ˆª­ùs#1lÄèjq=ºä¤D¬Z¹’ãèì©4ìÇfkœš”jŠû ˆˆœW-÷Ñ™Ûlgm3Ÿ½ãؤŒS³¶oË\Ö˜ˆˆ,cEç¯/ IkŸ³cÔXÍ1è$3· Ñ‘ÓhÙjßÑqjDDä:Õú¤ÎRÈÚ¦C[‡Å›VrÜôHDÄ «°sd,—¥M’®§fŒ<—#‘cªõ)À¤l®ttÓ¥­qj¶ÆŸ9;ŽŽˆˆªqÐY;›ˆ”@‘2XÙÞ6‡ˆˆtW|–‚ÇÖ~9ŽÃ#"ª<8ŽÎÌ4)—Ç1½ßREÈqxDD ºJSÁ¹êztöÌo-„½^œ³×Ã#"º—p“ãèlUI‡GDÄŠ®RWrÎTÂqxDD ºJrÖBÇÖ>.G÷qQùã8:+÷ÛZÞÒ¼‡GDTyðztDDÕ¯GGV+5kà Ìm •RYšÇZ–‹QYGgfš”ql¶ØçÆqpDDw+:+‘£×“³'­U|¼ƒÎé ±*RƱ™;än4YÆqtVª%[ãØLƒ°"›•ƒNRșzX~y ÇÁ1èʽ’+.–æ/ùÛÖ©Áìkgé9”W¨Ýë8ŽŽˆ¨á8:²Zy•TU¶Æ±Ùg'u9ãè¬L3 {ƒÈÒÁ*R®WGDD :—WmåQQ1¼ˆˆtw­«†»òqlµÍƒMˆˆÊWµÞG'åŒ(® ;Gï'""Vt. 9ŽS#"bÐÝó•œi•ei³¢³cÜl¡#""שö纴4Í™MŽŽ\­€ˆˆtZñIgz¿­åy=9"¢òÇqt6¦•þ×RuféäÊÜ,IDÄ «´œ=aåìòDDÄ s)©ã褎ƒ³ö8 ;""]¥¬äLê¼î'""Ý] 9gÆÑÙªÜvDD§ZuéìQŽÎŽƒ+9òRêÅ]‰ˆˆAçPfiš³ãà\1Nˆˆtw¥ê³NRÏ•iéo©!IDDŽã8:3ÓJ“¥ëÅ9³ùRê8<""bй´z3W™™†ž¹ t$ì¤<>9¯ÚuÒfG‚ÈžƒM8ÆŽˆˆÝ]¯äJ‡“¹P4Wñ¹"t‰ˆˆAWn!gºNJ5fmßš#Gi²º#"r=Ž£³<æª5WU_¼ƒ®\9;ÎMê¼öN'""]…T|öŽƒ“r*0kÕ¢½×»ãQ›DD–q•iR*:sãàÌÝo`Ööáqœƒ®\+¸»½|E·ODt/ã8: ãè\5ÎÙ7[:O MDÄŠî®TJå}=:W _ "bÐ1ä¬VHÎŽƒsvœƒŒˆˆAwW+9Óqp¦!)%ЬÍ/¥-ŽÅ#"’FöìŒiâÇŸ®@vVæ=ÿbwýù;†öÞå;ODÕÒü¹‘6b4òòrïùךœ”ˆU+Wr­jÉZågë`[׫“òDD䎣33MÊþ9[ƒÈ­mZ´v¥""bЕ['µª2ßÚe}칪8ÃŽˆÈõ8ŽŽƒ±‰ˆXѱ’ƒC—+®WGDD :—„œ­P2wà‰­+K=G%«J""Ý]­äÌ“3ą̊̕Â#"*¼™iRCGêõæì¹Ö1èîzåg) ,£svž”ëÙ‘4Ggaš­!ÖÆÑ9;OÊõ숈ˆAgwåfm¿›¹À±4ŽÎÞÇc•Ž£«äƒðšsDD¬è\VÉÝÍÐr$”‰ˆˆAçpÈ™;×¥¥aRÇÑ٪̤.ÏM›DD :—WrÖÐ\øX:jÒ‘qx 4""×á8:;§I¹ßÕãðìi“ˆˆt’+>kAcÏ;KUœÔû¥Q°4g_!¢êŒãèÌL“r½8kcåLÇà9:lAJÈY N""â8:I£ƒ˜†§«**{¯wGDTq]9lÖ³ç¨Êò'7aÂæ2U+7[+:Vr卶ަ4ݼ)åùš«­…9CŽˆt 9«¡áÈZ]]MY I""bÐÙ\R®gí`Óð´5ÝÖã;²ÿ«“=;cšøñ§+•yÏ¿Ø]þŽa#F£}‡wùÎQµ4n$†¼¼Ü{þµ&'%bÕÊ•G'µâ³u)ûâ,U\R–/=ÇÉIÇqt6¦Y {¯GgÏ89‰Q³—#æÜU$œ?ŽÏçŽAìgSÑ÷…õ|C‰ýÉ —Œ’•™Áwœª„S‹ŸF­Á»–ÔAè3ñ ¬9ßϽ‡Ýo¶µú ´¤³mÚ´ J¥Ò¨óMš4ãÇsÙ&Ë´C³1wGŽø !ª’ߦ*´î9kwuÇcí:â•Cýð^×`¾±ÄþTÞ]éM&þ8úÃR<ܳ=ÂC‚V·)LœÓyZ‹Ëç%ìÆÃ-›â•¯ÿW ïÄôÑ¡Iý…ÕE‡ÞÃñÑæ“üT‘óÒÖDLšÕ¦Ìô6³&áú¯ßÚØÔˆBñ‘b ¹ÂðÿÒ7ÓéÎøé¥ÍôÅ{¥B®TVaɃðóK?Mß·j>zµoŽà04mß ×/³ì…­Ë1¤g;„…„¢qëxó›Ëôg{û0±?UÆþT®›.Ç~t3–|ˉ©¸|r'†ÁÈ‘kÍΛú÷jôé÷:ùbÞ›ÒðÌCSá;dþ>Ôk°áƒg‘¹õE~ªÈi{oª1ÈϳÌtO¿APßÜ [=S»nÎø*13Ûù[þÙöä%÷«G?8‹9«ÿÄõäkرúļ=sv§îÏøç]ôž¶ƒç®Æåë‰8´ñ-œY<ó÷¥:܇‰ý©²ö§r º·­À€NMàé&‡—_]Lyw-²c—–™ïäwóñÀÿöàÃý»ðøý!†é‡n©1á‘nðQA¡òDdÛÞX¸f7?Uä´,€73’[]¶õ~ Ñì!ÏÖnÎHRëÑÈÃÍâýn‘Щ¦=ùÓ*ôoS*¥ õÚôÇêMOâû>3Üÿùô/1åÛíxª[x©”jÚ «·/ÄÚio9Ô‡‰ý©2÷§r0>ØßÃøÁÜ@¯5~Ñ[߈ÿýŽ¿ö¯C¸JaÜÉ&¶Gÿ¶½0ô‘þèÔ¦5:÷싨0o~ªÈiþJ92µ‚L:§ Í„\éguY½N‡Í?m”üXƒ† sê¹F¸+p¹H‹^æÃN[tJ÷:FÓf6­eôwí&Ï  ½#€E€¯Sópsd+|nÒ–L¦°Â®>LTÙûS…Ÿ¥iTsè—¯ÃOgâ¹>Æ/hÉoøgÂ_Øqà_œØó=>œ3mŸù_¿ÒŸ,rJïÚîØž]„)Á^FÓ‹²·Ã½v[[Z0|ÔXÉUTTèÔsá‹OOfaE©­F¿¦O~ŸˆÇl´"3þr ©if…Ýký©Â?åM†¾Š¿7¾„ÕõÄÂ-ËÜ_§u/Lù>^õ=ŽÅþ„ß?|‚Ÿ*rÚ„Áu°î“e¦Ÿødê™`sSKaa䛳›.G.ŠíOÍE†¶ì¾ A›‰9Ooǰ¥Ã¦z1ÇèïœKŸÂ+hŒáïǼ±.%Ÿªý©Rüœ éúöï|;ÿ×/­‹1Lï:öElÞ‹œB-ôš\Äìþ ªZ]ø©"§µš³ Øø8Þ\¿Ù…:è ³±gý›x|£ Ë^i [?AEA€(ôzÃÿKßL§;Õ?º-Á[}®£K¿©Ø´/· µÐæâÔ-x¢_W$ôzK»W{+G<…?b¡t¸û'þF0ÃpÿÌ•ÏbÕ„ÙØsÚÂ[8up+^߃ºçú“ÝAçhöæ¬Z͆áÏ¿×ãââGðÄǾœÚ›ß{­"ë N“ŽXðcÖíXÎO9MéÝ ¿þù2·-ÆýÑ‘ˆŒ¾ïmËÄŠ¿ ¥·ÒF¿¼³S<.ö$22Ò¦¥¦$ãtÜ)Èd2— Ÿüñ.¬~ª¾{{:Z7©ºMÚàɅߢù“_`Ï'“ËÌÿí Íðîã",$}'¿‹6s7aÉá†û:¼€oßoLEtƒpD4n‹™‹7!jòüpÐ=ןìÚGgk@xéû-ÍkmÏîøõL‚áïæý&c]¿ÉüQ¹ðmПüÐ×þÅ;×ÏŠlܧNÆ@¯×Ãß?7RSx==z÷… ]vµlzŽ=Ç¿(¹Ÿî{j‘Õùêô˜€u=&ØÝßybªjý‰—é!²“ÂÓÝÃ-Û´Å©18ö ÜT*ôìÝz½Z-VU†þÄC®ˆüZrsw÷@Ë6íàã㋞½ûB§ÓC£ÑðêD•¤?±¢#²»_–ílîîîhש3´:´ WQ%êO :( è]¶ï…ªA4{ä—V­6ß‘E‘WÐf¢ ìOì}v’Ëå EJJ2WF5ÿ*õ–“s+ý‰* ?1èìä¦R¡k·nصóOœ?w–¿D«cÇ4Ù§`é&233qøðßèÚµ;4~¡²?±?±?•oâ¦K;©T*4iÖ*wwü¶}+ÒV¯bç¬FBBCñÕšU’«ÿ€ôèÕá(Èç™HØŸ¨"úƒÎ‚^Æ› *º÷½õÏŠ @«Ñ0äØŸ¨ûƒÎAjµjnŠ"b¢J?ŸˆˆˆAGDDÄ #""bÐ1興ˆ\†G]:H£VC«Õòldý—¤\¥›ÜÝݹ2ØŸ¨‚úƒÎˆ¿rGAFz:¸V#!¡¡vuJ??DEE£IÓ¦üg¢ êO :{yj4HINÂþ}áÁþÆA®ÕÈ÷ß}ƒ_ž#i^­V‹kWã±wÏ.ø 88^Ù€ý‰îzbÐÙI«ÑàÐÁƒ8øa´kß+¤š’rM,¥R‰F›@®PàС;îQûU@bÐÙIܸ‘ŠÀÀ ®ŒjÜ)EQúf“ˆˆdfd°Ra¢ êO :èõz~iUïž Q(û T§ÓA©,Û¥” %÷ϱ?Qö'~ºˆúj|‹‰‰A‹–-cö~"ª¸þÄ #²·cštΘ˜ 8W®\Á€ÍvN"ª¸þdWÐùnA¡hÝ “^üÉ×ìÈO•«Ük{0kÜ4¬‡z‘Í1`Ü,ìIÈ•ô T¢€˜14x0æÍ›‡¬¬LÌ›7ƒF̉Ã<‚(”k_`_!ö'WtY™ÈÊÌ@FêuÚöše¬ËNŽÒåŸÂ§ÃoàË8wWââå~˜Þo(Nçëlþ-ùe9þ|,Z´Ó§Oƒ§§'¦OŸ†E‹aþüù•¶¢c¿¡êÖŸ>E¦pCpƒ¶xeÅXÖp€±|·©Ê8µøy`Ô¼1±kÉ×?úL|kÎ÷ÆsïÅa÷›m­þ-él›6m‚R©4ê|“&MÄøñã¸É’ØŸ*IrÁ>:Ë&ö…­Ë1¤g;„…„¢qëxó›ËÌs~Û§Ö»#"BCШu,üæ£ûþ°÷lð`„ÕmŠgãtžÖèWiéÍ©wJè˜>ú!4© °ºèÐ{8>Ú|’ŸF2X¿5“fµ)3½Í¬I¸þë·66µ¢P|¤˜B®0ü¿ôÍtúݬÖí7Rú­­ö‰ý©2ö'ǃNÐ!ýê ¼7}üZ¿dtWÆ?ï¢÷´53ÙhÚçÓ¿Ä”oâ©^Åç1ójÚ «·/DTÿ·°ðÜ Àò™_aÊOÇ0ºµñ ©ß/ò›Q;o[þÅøÕÅ”w×b^ýþž´úÝRcó#ÝàíˆlÛ ×ôæ§‘ ²tÜÊþΓ»@ÐeÛØ†Q¹¤t´ßHé·Î´OìO՟캒_€:u.ÎÜ‚i“gcÉÉøjD}Ã<_§æáæÈVøÜdY™L ¸Ã|{#Ç£k[}¬Á%©äɺ7€^›m»£Olþm{aè#ýÑ©MktîÙQaÞü4ÒlJ92µ‚L:§ Í„\éguY½N‡Í?m”üXƒ† súùŠdïqM¿‘ÒoiŸØŸ*ª?9|0ŠÒÝ­ûNÄ/?& í¤× ŽXoèˆz¸šf6áMºP¹¬ôAK~Ã?þÂŽÿâÄžïñ᜙hûÌwøú•nüD wmwlÏ.”`/£éEÙÛá^»­-->JúÁWEE…N=וW‹thèQ¶»êŠâ¡P…ºdHï·DU«?9ý‰ºï5 QÀš´ôǼ±.%ßêrヽ°ì¬s¿•2,à«Óº¦Î| ¯úÇbÂï>ÁO#L\ë>9Qfú‰OÖ¡î 67µH¾9»Yfj]_¼w(Íì}i‡–·î—ô)ý–¨*ö'—üt{î…h|½â¢áï™+ŸÅª ³±3æ2 4´…·pêàV¼4¾Çy>™ŒÕ#'bÓáóPkõÈJˆÅ’gÚõ¸}ݰöD2LwMvû"6ïEN¡zM.bvÿU­.ü4’A«9Ë€ãÍõ{]¨ƒ®0{Ö¿‰Ç7ʰ앖°õTˆ‚A¯7ü¿ôÍtº3&¯~ NŽe÷"9;zAü¬dìÙø†MÙ—W?æ’~#¥ßUÅþä’ k8îM\ÿáÃß^ÀŽ·ïÇ7 ¦"ºA8"·ÅÌÅ›5ù‹;›cz,ÀŸï=ˆµ¯ŒCýˆpt: EØõ¸ËÞyŸ?ÚÁAFÉ|9µ%6¿÷,ZEÖA&±àÇ,¬Û±œŸFºSÕx·Â¯~†Ìm‹qt$"£ïÇ{Û2±bÇ/hé­´Ñ/ï \‹=‰ŒŒt£i©)É8w 2™Ì%Æý¢ŸÆÑͳqióûx°S „…D ê¾þxóeÌÙ|Ó¢ý\Òo¤ô[¢ªØŸìÚGWúPäÒT¾qí|G£iuzLÀºÖKÖèaÏcë°çíz¬ÒÓ]ˆcc–™§y¿ÉX×o2?}d•oƒ¾øä‡¾ö/(Þ¹~Vdã&8u2z½þþ¸‘š‚Äë èÑ»/A€è¢«e¶ŽO¿îp•Òo¤ô[)íûSeëO¼L‘ˆþë˜îhÙ¦-NˆÁù³gà¦R¡gï¾ÐëõÐj9ˆš¨2ô'^Eäà/Ð’›»»Z¶i_ôìÝËÎ IDAT:†W/ ª$ý‰‘Ýý²lgswwG»N¡Õé Õh¸’ˆ*QbÐ9@¡P@¯×sETW‚höÈ/­Zm¾#‹"¯ ÍþDØŸØûì$—ËŠ””d®Œjþ Tê-'ç&!WûU@bÐÙÉM¥B×nݰkçŸ8î,‰VÇŽi²OÁÒMdffâðá¿Ñµkwh,üBebb*ßþÄM—vR©ThÒ¬9TîîømûV¤­^ÅÎY„„†â«5«$W+þèÑ«7Â#"PÏ³Ž°?QEô'½7ATt î{!ëŸA€V£aȱ?Qö'ƒÔj5ÔÜEÄþD•>ƒŽˆˆˆAGDDÄ #""bй ºt€ õ¦YùzhuÅQù‘pS~^r„Öv‡\Æ +W—R‹póvöýs)Ù…FQy’ËeóóB÷ͧ®‰¦¡ ºò’vKƒ[¹ùøyÇQ<Ò+]ÚGÃ]åÆCDTŽŠÔþ÷4¶ì>ŽvDš—Á5U ºò‘«Çž#§0úVèÚ±%WÑ]àá®Bï®í R)±ûŸ3л3‚kJ¬¹úì£Ñ©ÙEèкWÑ]Ö¾U3¤dBcÇ)QYÑÙI "T*7„BDdÁÉ£pßýÝQ¤sm»îî*»‹`Ð9œxŽ]Òˆ¨Z}UV‚ë0rÓ%ÝÓXÑ9ú+?GD$å»’AWeËqnº$"’ò]iÍ͛ـڵý*GÐùšž•™ÁŠŽˆˆìªènÞÌÆ°‡¶lý­ÜÂÎî}tY™enU…¥ &"¢»«$ärrn"'ç&†=<ÐPÝUxБiMÇo¼ñÆ[Ù›åïÊ’kÙªŽŸ<ã'O£e«V¥ÂNjÛtû¾|½Ú7GpP(š¶ï×Wï/SYýóýR ë{ê…‡! 0Ô0ýøÆeÖ· êF„!¬n#ôþ¶]¼…«;×`ìÀîhP7¡u› ÿÄÙ8[ 5j·(+Ë_‹a¡¨Û¤ }áCdj£jÎ? Ðps*æÄâñt¼ñÆoUáVËÇ{W¼ŒîÑuXÓ¢;ã͵GËÌsdýÛx_3„ÔòBpPóNÝÖÍwhåtkŽ€š>hÝ sWìF-£yJ˜{.“'=Š-[aÙÇŸA.W@.W`ÙÇŸ¡EËV˜<éQ›¯¥Âƒ.á×™¿$/¯ú‰) øsÕK8ùÞ£˜¹5Ñh¾1KObÚ{ëqñZ223R ÓG.='ßY‹ ñ‰ˆ?µ5½Š©}ÀC¯íÃÄ_âÌåë¸zj/ÆFü‹‘£¿5j³I÷É(è8q ‰8}àGtÑoÆÀç÷6¹šnz%"ªNÆ/99ëö#1#;×½†˜·`ήdãïæâ0ãÃ͸’–‹+gaxÐß1t¥áþ¤ßžÁÈŧ0ï»CHÊÈÂÎõ pvé(»žÇ‡-ÇGŸ|¹üNÉår|ôÉgøð£å.ݲggL?þt²³2ÞÇU:4^Š®ß1X}g§bÖé7ÐvL>®ŸYbhgIìU<îS¦ý/Ï_Ç#ž†izu‚Â;`õùëf2=´Á ¤§œ¶ø|M*ÂGjÂ^CûÎÜñk…øúç½XþêX•` $‘þ5<1ëïd,hqç»9ûÌ|´Y„„sK ó|ŸÁ¥¾kuEWÞéYI€ÙÍ‚àóóyÌ2n§q—¥Èº]h˜vîäÜwwÜ2Ùòæ ³þo#Þíë{Z/9)«V®´x­ ø)«'šÖ6šV»Ùs(Ìê`‰aÚÄ0³Ë 0~â ÷z€!f¦ë5i†¿5¹g±xîÛøeï1$fä@÷_y+“•ÏnH½N NÇÞCDUÆ´†žÐjÔ†¿}<ƒ‚´6Ðj¦=TCn4äÐk³ Ó6¦çãH}ãv¼ëO°Ôx¹ÿ˜›v·ÝÅqtÆÛUÝ,\4ÏR,ÙŠ«Å†áăó°vÛRD†ÂS¥„"øÕ)—W#ˆ€ÀqtDT…¢hô½UòßÒÓ,}¯™Îcô÷ßïæ–57-!áêÔ©k´éA@bâuÔ«W¿rÝO,¿póKmºÌ¹°žþ#Êõ üübÎ후Š; š}þcã+“A@á’Ü!rË%U!+.äàÕæ¥¾›/~ ¯ qFße–¾×J¦ðÄÊK·0»Ô–»[?µ¸¬¹i¯üï„GD`ÉûÂN¼üâsHNJÂ?nvéëvùv½Yï Æ#ŸÀ'¯C'èpò<>r†ü߬r}G†zã™O·#3_½&'v}ƒQC>2𧣝ÖžH†+ò©øG !æ7ÞªÎáþkF=ޱ Ð Z$ÆþާG~ŽáKžñaû–ç/þÿ´÷FàËÑObÏéDè-’âv`æ˜/Ì, ‹í}¾j5ΜŽÃË/΂N§…N§ÅË/ΙÓqø|Õj¸zxË+ºzC—c}ú|,xüALJÌAí:Í0úÅõXøpr ºw_‹ÿÍ|þïIä J„7j‰Ñ 6áä æYöÎã÷hÌÉÈ… ŠN˜"B€À’ŽˆªÕÏ5Ç¢'ÀÔ¤›¨Öc_Ù„Wû†}—Yú^+™öàX—ò:æOê…É©·Q;¢†ÎX…¿ÞœjvYsÓjÔ¬‰ï6þ„ñ£F kçöE~~~øîÇM¨Q³¦Ë¿[í:ê’îu¹ô…¡Ðjµ\!DT%Ô Äõ”òVU¶múîÆÅÓ_¦]¿|÷Ýß)é7-.—“sãÇŒ|·á'ÔªU[ÒãÍ]þ[ùuIw6]ò¤ÎDTµ¾·\ó5ìù%XøÂ㈪[óÿÛ;ïð(ª¶ß;[’ÝMaÓë†QBÅPZ”n¡ ¢R$|Ai’"bAªPPPÄòjòªˆ‘":"%!•´MÛl¶ÌÌ÷GÈ’M²ÙÙd“l’çw]sewæäÌ3Ï}æÜ{¦"ûêq¬›ûº>w°ÚúkZ§§g+|²ÿ€ùs}õ©dtuh0tAM GõYË`±dò\¾•7ÿ62vö¾pOµõÛZ§‡‡§Cc#£s¤Ñ^ÓCDÓáÆ­ ‡õY=Ç-Â7ãUíùúE’Ñ5ÊO#Þ)^OáÔƒ'è'Éèjëse^GAÔ<& £kjˆ0ŒÅÅEH(}AÕáÚ7R2^¯ÉdÈÈèê™T¹âòµ4DtRSB‚ +×Óä%‡L,|¨HFg'>nb |à^|ñÃIL&tí¤†D,¦ÄAÔ#&–Źná§“71ö‘>ðQ Õ‘ÑÙ‰¿§ ù:<Ù¿Ÿ¸„„ãɵz A!†!ÈK'"›^r2ºúB$:º"ÕÁ°}``)'A LÌ£•ñQØõdtµ1;A*‚T” ‚ § R ‚ 2:‚ ‚ £#‚ 2:‚ ‚ £#‚ GAW]Öƒ^£ÑH¯ê!Âq#†D*…‹‹KµËY–Dz öF‘H†a ¶ò¸Cg‹‡ŒÎ”””àÆõë8qâ²³²À²t3A4gÔê°19•J…NÃѾC‡*?¢MF#ÒÒRqáÂhòò$OO„‡‡#,¬5$R©SÇCFçÈ‘œÁ€ô´TüþÛ¯ˆ|tƒÀ0t˜ š3|†¨èõº£Ñˆä¤›øã·_áåí ??? óÈ)++ §OÂÃ#¬uˆëùуF£É7oà÷ß~…X,F¨:̼Ng‹‡ŒÎÑÉ6ðç‘#>r:v쥛D"%† ˆ:!•JѾCGˆ%b?úž?ÞltËâlâ 2­Û´m¸x:v‚X*ÁÑ#Gàïï¹Bé”ñØ Ró²Žã™™__?29‚ NHˆ¹¹9GŠxž‡F£AhB­.ž|F£Ñiã!£«X–Ã0drAÔËÈ¥º‹Ü8Ž«÷Ã5ÅSù‚g‹§&èÐ%A„@êêBgÁ™ã!£#‚ ê•/¿:ˆÏ|fuù s£ð`ßt4HFGA8ŒÏ|†‰GÃÏϧʲ¬¬lÞ² п_2:‚ B8¹y¹Ø¸é=¤¦¥àž{îÅó3gÁÝݽڲ:Û¶oÁÅK„ùQóáëëç°Xüü|pùò¹*óÃûÂKåŠÍ[6™ ÏD>ŠÓŸ!£#‚h(xžoôóQ5ÅðÞ¦÷àëí…^½z!55±+c³nnnåJJJ°ju ÂÂÂ0zô¤¤¤à½M±zåj‡ÆSX¨­2ïøñ¿ùH¤Íz“’RðÃßcú´ otÞ>¾æÏR™ª€ÜÛ­FM˜ivkPÁ½}|‘›“M{A€Ô”[èÕ³'’’n 4T Îdªbvå&‚€À@$'ß„Z†“Ÿtx}ðüw#72´AD¥ÑA MMpRR uëÖ5Ö!´œ½1Ìœñ,V­Y ‰XŒÐÐdÞ¾<–,}"ƒ;@ŠŒÌLø %%YÙYX±,¦Öæbíÿ*Ï×hrmÖ¥Ry— ¤îÜ'ç(ÃsÈ ãŒÔ¯ÅÁá˜ýóKsoàýEÑ&(êŽÝñÔ‹ë‘cäÌ£¹ò¿åSEþùö}Œ~¨'‚ѡ۬Üów•Ñ 3æÊÿ–O¹¿c‡Ü6aaèrß`¬ùä´Åò¢äØÿÔDtj uëöxð‘ñØüÍYAuWË;cÙ·ÂÔaèÚ÷¼±ïL•2X'‡ôE»°P´éÐcžYŠKÅ&‹rÇ?^¡÷G L†n}#»ó›ë'ˆ–ʳÏ>‹¡C‡šÌšÉ :Ï>û¬ÃׯT*³<陸•’???de߆Z­FçÎáèбÂÔaÈÊ΂ŸŸn¥¤ =31Ëc¡T* Ïóà8&ÓÝÞ'&&Úœê ‡=EuÏ,”dױÿt”Ü7ç“SpáèË~…áÑ?[ŒÈrs²ÍS9ÙÇ×bàì¹äC\»•‚??_…‹ëÆâÕß2œ²—VLKK3Oæm9ù&‰Úa/oÇÅk×ñó'1¸üÎD¬ü#Ó\æÅQ³à6òeüzê nþ{{×ÍENü+6ë¶ÆŒ—±pÛ·¸vã¾ÛöάW±ÌÝÔ÷/ãù7>Æ…ëɸx"c|O`ò¤înÓ/ã©õñJ\BY=;^Æ•M3¨7#+ÄÅÅ€U³+7¹ŠeB¡@ÌòXddf"9)>Þ>ÈÊÎF@`‚‚‚“ o$'%##31Ëc¡P(êÅäXŽ»ktÝ»w·9™ÉÁÊwXm—Ö`™ón]ú/ï7©þ0÷íÏòÝ›um›‡ŸÄãùG{@!“À¯ÓÃø0~5vÏ^Õäÿ‡Q;1m÷7˜Ù ©~`ë×1Øu7G ô˜4ú?ðv“A,•£m÷‡³ãûZ¯sƾmˆì¦†T"…º[$¶íŸ/ÚnQæ/7â‘Þ —0P¨ÔxzUòÎm0/ߺäÌÜ·C"B!•H1[÷ͤތ ¬Ðºuk:t¨Z³«hr‡ªõaK{ÌîúÍø÷ßkP*Ðhò ÑäA©TàÆ›¸~óF½˜PöÎ8‘HŽçÀq|­GtŽ|Ä¢Ãn/0éoB, 27]º%kðÍ/'‘’Ó ‰l{ëGÅÐŒíŠmU(°µI5þ=ZäOꅪݖ²ûHÞ™Ücî‚‘c"q_·®¸¯ÿ@t¬ý¡„9<-¾·j?%Ù}Äšç ÷v­úCÅt÷R_ä”àh{Ëz<ÛÏð>õhD‹Äd2Âd2ÕX&(( ñ6l8ú÷ïèèhÀ† àââ‚ÿý/AA0ôõèõ¥àYŒ˜Ëræwf²,£Éžå ×—B"×KND"L&“Å9¶Š#6¡Ô6Oõftš‹Û  ˜lþ¾nØc8¹ »¿{í‚}!—I®Þ~¶/VayàŸŒÛð‘6ýgN³Î&§ÀGb}[†­ý¿Oú?ýy ‰¿|†Ë£Ñ}öÇø`ÁƒŽúE½AÔžö\GµZ„„ >‹/„……!!!jµºNX‰A«Õâõµk†   ˜o/(**„Z F$š×_ÃÒ%Ëêt~®¦xÊŒ®ìsi©³æÌ\ïgŸ} ˜þÌ4¬[»~~þotœ1ËŸý/"ßøÝƒ÷Ýz›u[cWTg¬š53S5ðê„I ÷cÙ  »¶'$òMìÉX…å3ÁôŒ"¨B:â±9[ðëêÙÔã4¢HhhèCàë=†öì†\¡€¯o™Éyzz")) ùXðâK`ïoÙ–5!00 Ìì|ý`2²ØýÑ.<ÿܬZ¼QÀ2F,ËrÐéòÁ²e‡.YŽÏ•]‰ žÇó0 `YÏ—-¿s‘å8èõ¸q´Úx¸»C,×9v=7i+‚¶/©2éÔ»u´Ÿ¸''Vÿ|µÐSðñ€)‰¥!h7.GÆÅVoý&#®ßd«ÿÛyðTÄ žZ«º«3½þ3cqhf¬Õú¬eåùL[Ÿ¦­0/¹½{7>LýÑBGtÎû¬Ëââb\¹|=zõDQQ!”J7ܺ•‚|M>fL¦ÌpXOO™Ž»?„ÑhDppŠŠ‹àçï‡S§O!77J¥Ò®+1+Ç£P(Àóþ())N§+3šZÆ#“ºÀh4Ád2A«-FiiiY|wbÔéJP¢ÓA§Ó¡´T½¾úR=ô¥¥(-Õ¡´´´ìŠQÅÚ€Ùa71}Y,ž<mÕm1ø©Å`"_ÅgQ÷Rbˆ–juå={ýOvÄ ‹!fŒ1"ƒ³gÏB̈1aÜx©TP*ðpw‡»›r¼½T˜4aärÎ&žƒÑh£‘˜ë3L­ãQ(äøöÛÃðôð¹cÀ%Е”[™Ù•¢ÔüYWö½´¥¥z³ñ &p, ÑäÃÕŽގxª‡^ÓÓÌpäß{OX„„ ‹(©aîÓy§‹a(•JbúÔiæûÚ$ \]]¡P( •JÍót:d..˜8~8ŽÃ0Êdpuq\.Ã0·³R'²¦²•Ÿ'Y«m«T*EDD6¼³Áâ|Zåϕ͸¢Ér\ÙE)‰ …¾&AD<Æ ®ºt‚ç6âa2™Ìë¨ûö’ÑÕ±Xl~vA-ÄèèÐeùy³êF`Zm±ÃŸìß\â!£s à ééiP‡…QB¢å8]ƒ]nn¼½}̇÷€²‡$·jÕ 999ðõmØwqæææÀËËÛÂ\œ-›ý6µ^ûÊdøO¿~øéиrù종èêkâ8™™8vô(îïÛ·ì²úòŽZ,F—®]qìèŸÈḬ̀xwCÄ~O¸ÅáHg‹‡FtF&“¡cçpÈ\\ÿ-nø™A4sÔê0ìþ0®^×Á0 ¼¼½ñŸþŒ­Ö¼L,#008{&ù#¾úŠG¥R¡KD¼½½áâ*wÚxÈèêŽeÑ¡CGÜso—?>MD3î[8FƒÁÂäÌG“¤R´i×AÁ!0™Œ rU$b •I!—+œ>2ºz@¯×C¯×S"‚h0Äb1ux\sÇêhšAÑœ!£#‚ Èè‚ ‚ŒŽ ‚ Èè‚ ‚ŒŽ ‚ Èè‚ ‚ŒŽ ‚ ££AÍ™*OF¹|ée… ‚h²„ßÓ¥f£{àÁþ”%‚ ¢ÉR¯©Ùè* ‚ ˆ¦ £#‚ Èè‚ ‚ŒŽ ‚ Èè‚ ‚ŒŽ ‚ †Í7Œ³, Žeä5éDõˆD"0 ±DØ áI3ÒŒ ÍH3Fg2‘––Š .@“—GYmŒ!7ÃÀÃÓááá k ‰T ÒŒ4#H3ÒL¸f’š~­deeáô©SxxÐ`„µn±XLÙm`ŒF#’oÞÀï¿ý ±XŒPu˜UH3ÒŒ ÍH3;ŒŽcYœM<ƒAC†¢u›¶”ÕFB*•¢}ÇNK%8zäüýý!W(I3ÒŒ ÍH3šY½…çyh4„ªÃ(£N@Hˆù ŒF#H3ÒŒ ÍášÕxŽŽã8ˆÅb:ÙêH$pgS ÒŒ4#H3ÒLàˆŽ ‚ šdtAAA4[£ãyÞi¦òcâB–[ûÌó<®í[ŒNžH$6ët¦I(‚êãôøzÓ2 íÓ> He ´é‚Çžy _½ÞdrâˆvÓd4síÉeSÚ·T3k'$Ï5õ‡¶&£ö¢Ç=O\”*<0ú\Ò›”f-rD7ó…Xñó¿00™L-òÎÁ™½±ôw˶…¤ìB”åàïï÷`Booì~q(ý¬‰À'fŽDsÒnǰHü0§’sQtû æE\Äð'÷7­}·¹6¢š ì¯B~ ÷mÑ;Ùœ}Wp¾0þÒòß:rw쎉»câœ%Ô ‘ŽvïWDÓØíÕpå‰,ûa&‚]ÅàŒZß7V˜Ò|]:ÓáK[±T\.‘H¬Îgïü­XæÒÁ·1¨G;(]]áߦ;Çk²‡T„hÖY.Ů㙂Ö{ñËw0´wGxÈ]àצ;–ƱÈ短ÆÐ>áP¹É!•ºÚ•S[e$ Ž~´{´‡»« JOôbÎÌe ®ÇcÚð¾P¹ÁEᎽ‡âÍý[äÍV<Ïã§Í Ñ«}\e®jß ‹¶¶ˆ£|TW¹í4”fuÑQ"‘à§÷_B¯öA»Èؾ7–í<^+=„¶ ¡y²ÎêÚ˜¶ÑØûYCìƒBòl­o’ÿ\#‹Ö. R½ƒ>½Æãð5_|¹½^öe:té Êo*4æÏ·Æà¾i[ñøÊý¸]P„Äø·p~Õ£Xt8­ÙæaïÞeˆÙ ÷ }‹bÞÀν_àäjOì°IDAT?™UÊeüº}gÄ´·"#¿~Šƒüèb‹2£^;…¨M_#=O ƒA'8§Bó>úÍóˆÞü-2 u¸}ý&øý‰áöß=ÝoÜǮĹäh5ønëBd}5Ç®:’>ƒÇ_;åŸA¶G>]ŽS«ÃÌ/“ªm75ÝœêŒ:ÀkÏ#fÿŸÈ/ÎÇÑý+pòÕHDÿj·ö´ [yºÎêÚ˜ú[Ê>XÛ<Ø£ùãã^Å–# Xµà9Œúp­êi4½¢æÎæyžçss²-¦Œ´Tþ½wßæY–åF£SLlNËV÷¹ºï¯´öäçÿ/Éb^î¿Ûx¥ÿd§Ùv£ÑÈ¿÷îÛükW«hU[ÍJ‹Óøìâ_[¾ˆŸ6aßÎÛ•oóŸÉüŸYÅæ2Ñj>úxzš¼#¯Ê|!9Rÿyz¡E]Ñ^,õ1WIþ„¦¤ÆmÕñ| ¿ðT†E™Œ¿ðnÏ[m7¡YmuÀ/(¤?´/ÿ"‡„¢SÏH¬ÿúkÜøfa½êØ £”ÿ’hÎF7g4¶_€þ¾ ­ž…¡$‰¿}èq}›è¬¶5ûeã\„?4{¾?M‰¬^‹N~FÌÀýó×›ËEm™‰c&áÀ‘KÐLȹykg±©‰œ )#dçèóä||ñËhJ 0•âᅢLõ ]u¼¸n4¶Žyñ§“`dH:§ÇlÃcoEß]» q§RÁ6’fuѶžŽ„3É0²F$ŸIÀÓ£¶`â{QµÖ£¶m£â|GµÆ0ººöõ½ ék“ÎT‚󇿂‹× zÕÑ‘šÙ¾ŽçÀsœó–³KÅåÖ>WþîÓk¯ýK–MÃ3§ÿA äèÔó!Ìœ¿Ã©¶ÝŽ$ÙŒûÜ{ðÁÇû±qÁDD§ç2´ ïÇfìÀöé=Ìÿ0 ‡ßYE ÆböÕ (;cú¢·k̭М Í»µm)Ÿ¿sfW¼¾væú¬L….}#ñÉá-vÕ¡³û2—aùÔAx*EUh8&.܇5£BÌe6®›‰ ÀËYEàxùšÕ¬.:ÀþáX6u&§äÁ38O/ý+‡ÖZÚ¶ŠóÕìí'S³†Ú…ô‡öäß³•ªÌ4\ÜЩç@|ð~½ëè°#ÂQsgó7oE^nŽåÅz=>ÿl?ž›5§ANì¶ùh×NŒ=ÚÜà*Cš‘fÖh¥òB¾&¡ý¬Ei––š‚vìp1 x§¸ Cåå-¸¬&/·E‹î,šÎ¥µ‰¦§™­~¯¥÷uBtÕ%ç;Hn¥gMp-|‡vÍçÒŒÚDÓÓÌV¿Gš:Èè@£ƒ¦ù[“4#Í*““Mm‚ö32:ë¿ZH̦÷K“4#ÍÒŒdt Ã@[\ †¡÷³66Ç Ò4#ÍÒŒ4ht"‘­ZµBNN|}})›Lnn¼¼¼k”4#ÍÒŒ4«ŠøþûzÇ1:]I•…r…'ƒg+O(JÊh#ÀóIïùÎ÷"¨ªŠR¯üÝ¿,¿ˆˆˆˆh}ÿKJ/Œö¦w|LÝл ¿ÿ†kX-""""j:_øÆ8?9ŒCŸ}¿PhozÇÇÔwýÏ·ÎM§Y-""""ŠÍ¦‘Íåu_—Ó@§gE·ÛÓ±pßþMµ‚ªªz˜=;•â»HDDDdã0;Háׇ]Ôý÷^qº;¼e¡v%¶;9“ÂOû&}öý‚ 6ôîXõ§%"""¢õo:‘ÁÔLÇ<†ënz#v úºÿðxú:v| »Ã½¢Û5fXᆷ~Hý­ß{'ÒóŠåFþøÕ[ñÏß5ý Àò2ñ:""""j~Ñé$ÿø;ønF_·oQÛxî…s8~ä1\ñ¯F°¸•Ú.œ›šÃÓ?¸.í‚j³Úuw¼¦\ÿéÛ£–—iÿñ«·êQóŠC¬úº}ÈåwÖ~cw;Ž·¥eŕڮ‘!ЪU­Šwÿm€O}ë´åmK/c÷"{ùïÿ_Àõ¿q¥~Y63ƒg~qsYýîÆžþŽÂù,ΆB879‹¹Ì<ò*à%x½^\¾G˽æJŒµXκ®Æ}‰È~ÂÂlXù¼ºämiY°Òv¿ýè“€×\÷Ó}+]^º]Ë@›¯@µ0ûÉoŽT¼vù'¿9Rs{D´¾<ö“§ñðGoÜüûñŠ—¾™É1tâÃñFìp øÁ#?ÆCgUìÜèÄ‘gNáÊköâö7\Ž-=^H©dg£qÜýà¯qð¢-õš+Ñj±œu]û‘= Æà¹Ä'‚¾ «ízì§ø§÷½pÇ=à¦W\]õr«íZÚzž÷{^;¤ÿÿ'1]ÇüJDšÙñ“8¥úññ÷^ŽÂy|ñßÅ£‰>\¶­ Ïyïz÷«ñânàë=…xv‰œ[7ñª—ï‡O8_ü>Q1yö FÏÅšÏÁ%m@ï¦ìXLðÃ'ž\º}N†&‘’óhóx1¸u+³çpf"ŽóŠŠ ¶ì¸›|.Óý^~͋ʶ¥]fu£—_ó"Üüûõ¿áÑx›Tä8þïÉA€Ã%¡³;€]Û/ÀGá ^žÀ±Ó̦瑇¾ŽN\pÁØäw[†TãóIG«o»Ò}yý†úpr|él/ C1Ñz¶ü-´õm÷ŸÞ÷:ÜqÏ#úÿ•ÞÞ¸]Ë@[+‰üáS€?½y»åíÿéÍÛõÛ‘ýœóöãÓ¿³Rfý—ãt×\:äÁôÉ£|Ý+pUˆ£}ŒtáÒ—@t¨HÍ%ðˆ ÷^„¼šGè×G±ñâ}¸ëÖ«°¹KD:‘Ä“?;Š/üò<^¼·?yX‘w~ã8îzÓ•ØÜáÂôä4þÎÏ¡\¼﹬A¯SÑ)<ðàaŒ«;1üì/LáóÚ—\aÚ–HKocE»üñ'[^žŒCØ9þèF¨ªŠL:ƒcÇFqß·Oaó!8æ¦p"ãÄ»ov÷y!©9œ;‡ÿ~ò8=7µ—>ŸtôxÅmŸKOW¼¯Õ¶ª½þ¿úæ |ì·¯Æ>¯ÿóûqíÕWp'Z§ ¹sZhah¡-ßî ×¾wÜóˆ`Kƒì÷<‚®}qÙó0n×2ÐÖêóZ«,ûÐì¹êrüÝÍÛ‘>7†?»÷;÷b—×UUq:6ï÷þýÈö\v!D‡@€·£ Û;º ª*RgO à*|ð¦ Î>Œ·>4† ¯¾ûš—`Sþ»øÄh»é1ÿ°oþÄ#hÛ´÷½sþà÷oÂèS‡ñ{žÆ†¾Ý¸ïûñŽß¿ ·ýÝs¦ï(¡B_¬ZßõÞ>žjÇ WÎàÏïù†§ç±uÏÅøÇ·îÅ ow<4 11†¿þð-Ø.9ðoŸ?„of°uË&¼á•×àÙsÿ›?pYÐü«/‡ªª5¶ÝUñ¾?þéÏzý·÷Ìâ/>ö0fä~ãªËùÝN´Ž­vÚë^z¥)ÔÃìu/½Òò9ÔìC++¹ªO¬ôzí6Œ;ß´ ï{ý…UoODöð÷7o‡ ß=ô&º6c¿$èßÉœŠ!É8­äqy6¹üì8NžÃnïÜûíQ¤²y}òià5¯Ãž—_ŠÙ»Ž˜nÿ‰ïŒb`ï>üú¹aûŸüÎ(÷^ŒçŸ{yu?D÷&¨¹'Œ±P­¿«^|Å¥z|ñ—6ü}¦Ý¾³Ó…¾vç³y¨j§žÀ.¶_„ùÙG‘àw €*ã… àÊçp&4Ï~éûØ»g/‡Qö¼êݶÕk2¿ŽÊ¯ßè¿}ýÀn—Àïu¢uÎØ×5u^^ò¶´ïŒÅl·ÒíŒÛµ ´VÍ·¿3ó&üö½û Äo€²¿M—ÅoÁWº¾Æ½ƒÈf>øðî¾y·Üþ*d¿ü}|ëL{ ³xœFä5‡‰h[¶ïD»ËçÏçp±Û‰÷þå×0"/|y .?x ìK¶žéµ .vÀéP‘Uæà”ºÊî§mßø…Z/UUqâdù›Bw‚{?{ßM ýýôy½ÁA}úY¼í§¿À@_'¶nÀ{_··¿õ%¸åÃ?®øzêÙvÅZÔñúëª#­;B…®V¡ÓèŽ{Ño¯eWc—&«íùÅs¦í– ÓBíÁK/®¸]#‡ñ «ôŸ1°jaUûÛøßj_‚üÇü·þÿ•j;÷þøß"™wàu·Ýˆ·ïLâ¹S“ðmÞ†SÿOÇìÝu¸u{§ý<~qô’ó nyãË0ö öyñ¹G'ÿûuÛØàDÛ† Ø»g+Þÿ®×âôÉãu….«Ë:ü"“ƒ ¸mÈ‹£ÇBxù«Íó´>ò,þèmxø£·áð‘g~ýªª"oh1HŸW :ÛðÒW^cºÝó#a|ü­qÉD“øÅÉÉÂýóY‚’Ld ÛßíuêÏ¥žmWºo=¯ŸßåüÇöügzz7"ÐÞVñ1ë¹LIÅpúÌ$R²—¸àˆŒŸ2ÝÆj;¾~en #¡)¤å,œ. ÝÁ 01Ý.“˜Fd"†Dê<ò‚mn/6ö Ç[hoHFÇqzbJN5¿†:¶]ñ¾+ðú‰¨õuz7à{ß~·Þö¼p6¶¨møÜmøñƯùM̦ίèv@Éæñôî¯oZ«Z«ÖÚÒþµD@d—¸¨ìsïpû±÷b¿Åw‚ÝÁMènªz”ï ±#¬x«Ç¬ç2§§îî6m³¯û¢šÛnôõ;}ìØ0Ý®?`¾][»[Úý_£gãöm(»¼žmW¼ï ¼~"j}ZKjd:¹èi»&¦çôm•®¶ÜÛ5=w­…öô¹é²+ßžþí%æóžÿäÞADDDÔ¼î ]üàÛb`÷Uèêô5tÿ™Ù$BÇŸÂ ¯ùM(ÙÏ ×ÝôF_;«CDDDDM!™œk<ÐÀC>ÀêQS¸þÆ›´ÕîHDDDD´|¾öª ­ìCKDDDD-–ˆˆˆˆh‰ˆˆˆˆh‰ˆˆˆˆh‰ˆˆˆh-d³Y|æ ÿŠS§Gh‰ˆˆˆ¨õdÎgðËçžE(b %"""¢ÖÓîkÇ«_y¾÷è÷‘Ïçh‰ˆˆˆ¨õ¤Ò)Œá\ä-µž=;÷¦¦c ´DDDDÔz.Ùí¹ªª®êãºXz""""Z.Ã/ C]¸dÿæ´žÞ†n›šä;LDDD´Ž ‚—Óñøª>îºi¡Õörç•Ø&Ñzvãu¯D"‘h@kò‰ˆˆˆìí—GŸÅxè n}ÛVí19(Œˆˆˆˆ–M.—C.·ºóЮZ—ƒñg¾/Ýÿ <ú“ÿ‹“cd ½›wàš^÷}ðr—?•ÿÇÇñé¯<‚gŽÆl&‡ŽÀ&\ô¢—âÍ·¿ o¾v‡~;cÞÒ¾½Zkq£_Ï6kµHWº^¿|òÝ÷÷øô>‚gOŒ#“ubjâ,? DDDÔ²vlßÛ½>í%¯|KÉ% Ξø%î?ñK<òµÿÆcG¾††Pù³»_‡7üãS¦{Ä'Æð“oá'ßú ÞÜ`·†F5|å]/ß|mXÿ[T~ ˆˆˆ¨¥=ú£Gqõ•W­Ï@;tÕðŽß» /{ñ¥ vr/<÷S|æoþ_=üÞö—‡ñÔ= /þ½Ÿù9à†÷ÿî~ÛØ¼±ós“øÕáá?>û)Ó¶cS“5[K}üz¶¹TïýÆ9üÑÝŸÇÿ|ã˱¹§?DDDÔ$R©¾óƒC˜KÎÕ}ŸÌùóH¦’øÕ¯ŸÇ¾òo =ž xñåWbÏ®=ÍhóÞ’GŸxp ¾ºùe8óÈ¿†@9Wì{ñšËwÂïï€Ëါ3ˆ+¯¿ W^ÛŠ?þjxéG¿ƒ¿{Û.~bˆˆˆ¨éÜ÷ÅÏáð/~¾¨û†#a„#á†ï÷ßü¿ëcèmpzØU ´ñã?Äÿùì—ñç~‰Ñ³Q¤Î+¦U$䄹{Á=·îÄ[¾r ï¹íF¼×!a`û.ìÛ^vÃMxÓ^.—°¢¿>ò¦!~Zˆˆˆ¨)=ö+ìÜ·{ìE<Gb&-Û· •L!6Ãæ¡Í€_üì¸ôÅ—žyê\vÕeúå]vDIDx< —Ë…›6â|æñ1\ñ›÷ UeÄ[>;kúûUŸxÿqàñ¹¯>Œ§ž}ã'büäQ|÷ë_Äßþí¸÷»_ÃMxWìñWÃ>ÈO 5¥óçÏ£Ó߉Ml‚Óé„ÃáÀ¦ 6!>G&•Á¦ 6†}Ãúÿ‹’hº¼ï‚>H’„L:I’°é‚MH%Sˆ„"úíÜ76]° ²,Eiø¹®J ýë?üg¤ry\ö»¿½ý5ع¥>\j.‰žà¶ò; "^uûðªÛ?€¼’ÄéÇðËgžÆ·¿ú¯xøéÃøã7| §žþó•{ü:ˆJ^…¬RIƒq^>ÇOµ´ð™0›y ù\¹\gÇÎb6>‹¶ m˜ŒÆEÃQÚ¶O;¹¨ç¹* +\á+¼ ?¼û+™H ¯æ˜Å#Ÿÿ®{ó-ïsÉ ¿Ý{?žùõ(’Èç;{_ýøûNiÀtûK}…Ó÷÷Ýçp>«.ùñkmÞ±· ð—·üž<~J>dlßüüßà•ïø&?DDDD«@¸ã]¤~êÓŸÁtlÊt…Ï׎‡|×ßxSÝ«4ÍÕñϽ /ùàw,ï³ï·>…ç¿úî²ûjt~íGÿ¿s¿þ÷ÿøÅ¸å¿N•Ý.65¹¨Ç¯µM˜û/ì¿òO0—-o"¿ì?‡gîûËír‰`"""jvoù÷bó¶Íp{ÎBÇ&bp{Üðø<Ȥ2p‰.dÒttu «d‘U²Èçóp{Ü‚~Aà]È*Yär9d•,¼íæ±Pù\'Äíoù=\ÿ²ëêÊ¥gCã¸ïÞ{W§ËÁî?ø"qÿøè}_Ã3'Æ!£ ›wÀÍ¿ó¿ðp#z‹ÒèÙÇÀýÿáÑÿ ÇN…R€Î@ö^zn½ýÝøëvšní'¾…¿jÿsÜÿÝ'q:ƒl臱˜Ç¯µMhßòfüü[.|ðîÏâGGŽa.'aðÂøÍ·ÿ)þü­× P ´DDDD­(xAÐÔåÀØUàø¯Ž£»§û6&"ˆ†£ØÙ~ËÛk·™žšÆî‹v—=ÖRº,k ­Öâø’·üyËŸÕ}¿‹_Ž÷]ür¼¯ÎÇvˆ=ø“¿¿ò÷Ëóøõlz.¿Ÿûú- m—-³DDDDËÇÅ‘•ãGãøÑãúßù\÷}â>S7„ùÌ<ÚÜm 3~â0¤ ’~û/|ê b›¨¯ðä£Oê÷Ñ×` %"""¢e±{ÿnS—ƒT2…C_?„[~wáìt­Yžzü)¸Ýn\ò¢K*Þ(t9øüÿùü¢ž§ƒoµ2¶Ð‘¥“¿>©w9ÈespºœÈesøòg¿ 5¯Âát ŸËã+÷~E¿O>ŸÇ©§LÀsÏ<¨(Ü'ŸÇ—?ûeäsy8]Nìr@DDDD+`ÇÞz—c7øt¡ÑiFƒZBc!$ç’ú ©d ÇŽÓ·¿”. ´DDDDTÆßåÇ™Sgô¿§'§ñó§~Ȥ3HĘŸŸ¯{{édЬ 9—d•,ⱸi›ÐÑÞÁ@KDDDDKwÃË®Ç} ÑsQý2ãÿÀ™Óg–ü8£/ŒêÿßèÁÅûö7¼ Z""""*sók^‡û/FtbbUOEìݽmmm ´DDDD´<¶nÞŠ­›·6ýóä´]DDDDÔÒh‰ˆˆˆˆ–ˆˆˆˆh­ÔìCëóµ³JDDDDÔz6™œ<ôଵ^ €ëo¼‰""""¢¦Æ>´DDDDÄ@KDDDDÄ@KDDDD´ûÐzzY""""j±©ÉÆ-Üz-…Qsc—""""b %""""b %""""b %""""Z"""""Z"""""Z"""""Z""""b %""""b %""""b %""""b %""""Z"""""Z"""""Z""""b %""""b %""""b %""""b %""""[q­ô<ðø!VÙ­×ÞÄz±^¬W“×Ën¸ðóÄÏ?O­º¸VúÍü‡ož•»?Tö¦²^¬ëÕ<õ²ãïw¾‡;ƒ…»ïþ¤åç‰õª¿^vü<}påÛ [Ò?¬Ð÷­c%ßLþxVö!ùèõb½X¯æ©Ã,Ýyç{Ê>O¬Wýõb˜%£µ"û‡pÇ»þHýÔ§?ƒéØ”éŠ@Oï¢4<ëwWzá•X/Ökíëe·–%†³úÝ}÷'õÀFõÕËŽŸ'†Ùúü²‹Ú?>óà—LŸ ã¾{ï]ݪ¿öš[¿yß|"Áz±^¬W‹ÖËnn|ɶ~ýß{ò0뵂õ²›W¸T[¿þDzŠ?ƪÍr`÷ÏFkÀz±^¬¿“f[£¬kÀ0»ö5X•@ËŽÆjÁz±^¬C-ƒIkÔ‚õb-f›£œ‡–ˆˆˆˆZ-1Ð1Ð-ºŸ,M‘UdR9Óe~ÎG´Òž?2·ämtø]r³˜DDd¿@›Iå0•‘Iå ÈÖ£ê<^':ü.‚ƒF ¯.I@§_´íÁÀr„34"""ÚšYEh$ƒtI‹¬•t*‡t*‡Ø„ŒÁ!7Ü^'÷†*µB Hij€¾6[íŠJijÉ”].J‚)¬–¶Ú*²Š‘ãi ¹Ù¡N‘Ð<Ò©[©nl™&""ÚE„Ù¿ =Aɲå5“Ê!2>ojÉÉ`h·Çv-µõD<[hÍŽÊe5·cHa8#""j.-?Ë"«ˆ„Λ.rWíFàö:±m·§¬EÖª…— ®o  ;÷û J‚)ÔFBó,1Ð.ElB6u!h¤ëÀàCèUdÕÔ If¢$`Û.¯)ÔÆ¢rÅwDDDD ´5”Pmæ‚Fô ¶™þÖ>QåPÛ7°¡ì ‚ˆˆˆˆvJƒTi8­‡Ûë„( ú^½_[‡ßUÒõ@aQˆˆˆhÍ´ô °Ò µØ];÷û¸'4jE½u\[¼‚SŸÑZhù. ‹Sn­&OIxe?Z"""Z+-›K—³õ°upU•¶Æ¦S9TPÕÏk#³ˆx¼Nvÿ!"¢õhK[EÉÁwsûÐÞ¼m^{"ž]ÔR¸vž¿V‘U(rc.ü˜Q˜‰ˆˆˆ¨¥ñ1­¸F»”ž ""b %ZF\úv_4Å©ñÈÞÒÉ9ÌÄcPä…;ý=èê®ÝÁD‘e¤’s˜O5|ßf«,fˆ‘$ _{Õ׫1¾Î™éX]åõµC”¤²û/_ìó#b ]&”´¶Jå±3U £c§†MÍÎÂãmèÜZ1œNFßµ¼ïØ) óVôû[¢“Ѱ.½¾v\¸g¿åífâS¦×ÜÕ}µþÿc§†ëz¬-Ûwé55Þ§Z½Âã£úûÔÕÀß.îÀkõ¹T+Ï $ð Ög³âj}3ù¢ÅãÆó*R†mt9ø…æ>sÖ² Ð΃’šãÊüaá,Dd%œÃÉcG½}ýèòôV?­Åv2ÆØ©aHÒþ²Áðø(&#aˆRzû6¡ËßQ’ È2fâS˜ŒœCøÌ(YFÿàÖ–ªM*9E–-[KÓÉÚO·l¯6½ZWg§cm*9ǶI$U§sճৣ,lÖºŸf[É}ã3žSq¶Âc1Ð.ƒ¿K_ªv)KÖfR9ŒOÃãuÂ% è J\$ ÖTI -ëEDVFOÐÃWi ¬Ç×OñôwøÌ(Â㣦ËtrN³;öì7?Q’ÐìG—¿'Åd$l ËÍ®«;€™éRÉ9Ë–é™é˜~›jÛXìãZÑ.¯õ¸´º¼‚€Žò9“Wõês9ËZZµÀZÏNS†0;àp詈æó˜È«8[å±ÖZKŸ'.m,= ^¯ÙbN§rHijH'süÕ`\¥M”â!"Ë€¤ÈóðúÚ«†¯Þ`?D©|éòðøháú¾Mû|Š’„Þ¾M¦Û·‚NOñ÷gªb°Ôn³kXµç²K‹'ð BÙ¿mÎ…ÐÍ[·ÈZÝÏøÏLµn Æ0 bñ2¿ @F¡;B3jé@Ûá7#DÆç—ά¶Kf±¨lêrØÈ ð‰ROý[÷8XÖŸT;ý]«¬v}«.¯ÔªÕm%¼iÛ¬¤[mÝi}h•eȘÚ6Ä íS›¼mKZQLSi-¬ˆ„æÍá,(±µ±Ú/«ˆMÈ< ¢šŒ§°Wú¾ÚíZéT¹ÖƒàÒ IDAT=¢ô9§’ÉŠý_KkTé_µ>¸^_{Ùcj·ç¬-ö›¼Œ¥Z8>›ËC©p½±U¸Ù´ü´qE¥ã# ¹ëšñ •‹ÊeÛ£ÊaöôpÊtÐ7ÐÆ"j˜qz¨Ò°U©{ÁzÓåïAøÌ(Ò©…~´éäy^ïFQMµÙªÍPÐÙ@*9‡trn!TÇcúsâÀ°Ö0‘W*v5¨2ã Ì’°Ñ!`"ÈŽfsð»%x…ʳ)0Ð.#QÐ7°Á´NüøH¯}ƒm–ƒ•2©"ãóe›‡Ü g!6“Ê!Ê•…ÿ¿«¡Éò‰ˆ4Æé«Œ¬­W¢$A”Ú03Ógh0ËZªÍr U9(ðzB¬±•ØN­$®ªˆg+íÙè*Îj³úášïw‘ˉP>™â´]ÚÔ] Sw4ë9Ùu1q«6ѽ1Ô¦‹3ˆ’` µ™T®lÊ)-ÌÚqÛD<‹çÌ-ºæv´ØšÙ}_#û¥6(ò¼åÔT½Á~ÓࣩhØÔ2¨2Å¢×úà[®äšQWw“‘°ÞZšNÎA”Úê –‹ þ…™%‚´"ËPäyöŸmR¥-©Z««¿8ûAµÖÓj³TÚà 8 ³ÄU)µðÿy3ùv5é,ëæWU X‘ÐyS`UdŠœ­ò…[háeÀ¨÷J@`£Ä–Y"ªÉëóafz3ñ©²]_;<†¿K)i-‡Õæj5†ÙT‹öíòm*U²©äzûV~‘-HkóùjÏ…šðsT컪٨ªÎå‘RUHBõ¡PKÄå² ”Ë#®ªåò5§c ]†PÛá÷!• ÓoU™ÆËãuò”yu€N¿ÈàOuÛwƒKì®7Ø™é&#çµ’Wo_?&#aLFÃUM˜Œ†õÛ·-€Ïº_x¼+ÿÙñèݦôÇæ€°Ö ¸§sy g—§ÅTk­4ç­`Àé@<›C\U±­ ë².ÓI ¸Ð‚hÕÅÀAƒ5#Z­°¦MM5vjýƒÛ*®Š•J&«â0<ÞöŠ è+‰û[²NZ´Ú¬Æ©ÿ®îÆNiµŸcwƒã̲¶˜Æ‹}f7:¬JjöùŒÖ}²s{p{¹ó­…ÂÀ¥áâªXItuôÖAE™Çlqµ,-d§«% ýƒ[ÅØ©aLEÛÑÙ€(¶•Ý·pkËhêô÷èÓm5,«Ír PT ùÆyp¹˜Bëp:*¶˜nTÕ%ÍDàH(ÌppºB@žÈ/ôÝe %""[†Z/ŒÉÈ9LFÂå?¦¾vônµ<孅ܱSÃH[K¯¯ÔòÛ*´ÖÒFƒe]sîkií9Pklt8Êçq:—ÇE®ò–Õj³hAVëb°ÍéÀp±Ÿ¬œËVÂlJU!ƒ4-ÙRo°½Á~Ó®zƒ”(Iú*bÆ׊!lËö]ز½üòW\my{«Ë+ݶ«ûtuÐÕ]ÿåÔ|6:ÄU)µ0'í€Ã6«ÍC»@ÐÃí.§¡’)»ŒáwÈÉi»ˆˆˆ JÒ’‚([É.ü‚¿ËYóv»,ZL/«ã~V ¡V( Ã>A`Z""""j½@ÝJ|ˈˆˆˆ¨•1Ð---1Ð1Ð1Ð1Ð-QÓZ³¥o3©Y-»\”¸½ÎŠ÷™g¡Èy@§_D‡Ÿ«÷1Ю©¨ŒD’AlBFß@ šG&•ÃÐn©õV‘UœN!4’Á¶Ý¾›DDDD6Ôt}hÝ^'%Ä¢²ZcQ}ʺ"ˆ’€Á!7Ò©2©ßM""""jʨ¢´³q*ö•u{Øw°ï$‘M5å,±¨ O±56ÊqàU´¦IQë/[z™"«bŸX""""jö@k%°QB‡_ä¬DDDDÔüÖíu–ÍrPªÓ/–µâ–ŠEex|Ίó×ÑúÕô+…i!U›õ ”"«ˆ„æ‘Nr–""""Ú&$JA ± ¹lj.mZí6DDDDd?-1}@ß@9‘ãiÓJa‰xV_)ŒˆˆˆˆhWUOƒ-ªƒCndR9ÌÆ³Pä¼tÙ2KDDDÄ@»&3€ËíåÀ/""""2s°DDDDÄ@[Ã7ŸH°Ò Ô‚õb½X¯æ©—Ý|ïÉÃ,Bµ`½X‹jËrNýժŪµÐò‡£±°^¬ëÅï$“Ö¨ëÅ0Ô®} Vµ-@X/Ö‹õ"Ö‹èh¹­H í­×Þ„»Ò,n-w¥ µb½X/Ö«yêe7·^{î¾û“Üj¸ûîOêŸ'Ö«þzÙñóôÈr¨á]öýñ’o*Dëÿñd½X/Ö‹a–¡¶5ÂëÅ0ËPÛ\a„;ÞõGê§>ýLǦLWzz—åxüß½ ;<ëÅz±^Í]/»áþÁÏ?Oü<5ûþñ™¿dúûlh÷Ý{/§í""""¢Ö¶¢ƒÂxü>äa‘­Üõø¡²£Ö‹õb½š§^vóÀã‡pçïáÎ`Áê:ëÕX½ìøyâ÷íê~ß:øf®y̧#X/Ö‹õjžz1Ì’Ñw¾§ìóÄzÕ_/†YZïÛéCË7³#•ôÂL¬ëµöõ²[ËÃYý´`¬Wýõ²ãç‰ß·+û}[©íªÎCûÚk:lýæ5:ï'ëÅz±^ÍS/»¹ñ%WØúõ7:¯,ëÅyxù}»¶ß·¾™Í¹C³^¬ëÅï$†ÙÖ¨ëÅð»fíkàà›Ù|o*ëÅz±^ü¡a0iZ°^¬¿cš£œ¶‹ˆˆˆˆZ-1Ð1Ð1БݸÖó‹Ë¤r˜ŠÊȤrPdU¿¼Ãï‚ÇëD (q0Hij˜+Hijúe¯nŸDI`‘JÄ¢2"¡yÓe;÷ûX+Ï™kèö¯.I@OP‚ÛëäÎEDDö´Š¬"4’A:•«Üñ,b2¶íòÚ>|(²ŠÓÃ)SèפS9¤S9Ä¢2A }müÔí„l±)’Ñû7…nÆ &J¶íòÚî/m‘­wš)ã‚û6Z +Õáwéû˜68Œ-à¨kß2NÛUø’ÁøH;÷û*ì§jqGí=ªÕêêñµãÀW³u¶IhÝûŒ !Z÷¿Õ:Sêö:õÆœPOݹ®úÐjE7NÌ>r’iÚ¾´ër–ƒ¾6tú]¦Õ6¬Þð¿‹ó‚Cm,*Wìwì)¶|ÛmPc-–zj§t)ÜXTfX³øÂÔæFìð‹ìfÐ"´P¨È2fâSH'çôn3Ó±ŠA³Qµf9ð60g«×ׯ½)ú‹ŠR¼>ŸeØ®u@P­;‡Ô@ßåJÁØ8 ­-lóŒ§JÕf7H§r5Ïj]àê9©­æ˜ˆg›²ëœk=ïZkb¦d¥ NÐ^.”ô•C2ËÐot=(]Fp©š}Ê“f¯5û‰T85¶l_8e>vjxY‚Ñbg98pEs‡2¯Ïg ¦½Á´Y©dýƒm5&ê¡…[E–ë ÆÌL«C ’ZwÀZ¿ÍZkêøHÛvy-ÆG2úà²zÏö l@&•jÊÁa;ìZ_QíUûÑX+"ªiìÔpÕàÓì7 £úxŠÓ )ò|qž_yY¶ ºmXmOkeo†.dM›-§tú®jXk¤:q4©w-Lijˆ„æqâh‰xVïJÐHFhÖYŽÜMˆˆ¨Q©d3Ó±ªÓ^qµ©ÅYèÆ1ðøéeÙfo_¡»†6}µcˆ­w^î¾6 ¹‹³$dõ[m{Ú^± ã# íöÔ¬•Õ@1"""[ZjŒ6ÈI ÚétP½´9aTki %œ8šÄT±;‹&”^‰ˆ¨ip–ƒ"¥ƒš‡Üe#ù‰ªÉ*yŒdô™2J±›ˆˆhiÅ„Š}ƒpÜ^'úÚ ¯ºê‘qŸ%‘ñù²}&“Ê!ÏZNéEDDÔ,šîœa"žÅóGæ,¯cÿÚ±¨Œt*g¹˜¶ˆ@h$S¶Š‘•m»¼8=œÂ‰£I½+AVV‘.vE`÷""b ­ §d4tOPªÚd÷NÆz‰’C»=k20äF&•ƒ"«¶­[O•Ñö=‰_öÙڹ߇D<«Ï^àö9Ñ7ØVÖå`pÈÍnDDÄ@«)ýQt{p{ù¦ÔS¯Z-f¢$@”\¬×"®³³zZcÙZKDD͆}h‰ˆˆˆˆ–ˆˆˆˆh]Úo>‘`¥¨ëÅz±^ÍS/»ùÞ“‡Y„jÁz±üŽiŽZ8ø¦6ç›Éz±^¬¿“LZ£¬kÀïšµ¯‹o*?¬ëEÄ€Âz¿o[ÙŠ´ÐÞzíM¸+ÍâÖrWºP+Ö‹õb½š§^vsëµ7áî»?É †»ïþ¤þyb½ê¯—?Oü¾]›ï[ßÔæx3Y/Ö‹õb˜e¨mpÆz1Ì2ÿ4ß÷­pÇ»þHýÔ§?ƒéØ”éŠ@Oï²<àâ»Wa‡g½X/Ö«¹ëe7Ü?øyâ牟§fß?>óà—LŸ ã¾{ïå´]DDDDÔÚVtP؇<,²•»?Tv”Âz±^¬WóÔËnxüî¼ó=Ü,XBg½«—?O7¹3XÕæ¿VæûÖ±’o&<+ûÇ|:‚õb½X¯æ©Ã,Ýyç{Ê>O¬Wýõb˜%£À›ƒ+²¬HZþxÖOë8Îz±^¬WsÔËn-K gõÓ‚±^õ×ËŽŸ'†ÙúÄþ+º¨ý£RÚU‡öµ×tØúÍkt:Ö‹õb½š§^vsãK®°õëot^YÖ‹óðV“xWÌÖ¯¿ã_+þ«6(Ìî?žÖ€õb½X/~'1̶F X/Ö€avík°*–?Õ‚õb½X/†Z“Ö¨ëÅZ0Ì6G-8mµ4Z""""b %""""b %""""ZK@´8Ь"6!#“Ì!Êé—{¼N¸}N6J%Á¶õɤr˜ŠÊKÚ†ÇëD (qg#""ZZþàÑ”àö:m[³Hh± 5K§ 7•Jèh³màOijKÞN€Q""b -—ˆg1WÌŠ¦¢rÃÁ£Ó/Âíµg½ÆG2u×+•¡Èy ¹ùmCDDÄ@»<2©ÆG2 fYYå'¡N‘м)Ìj§Ä;ü…R¡URAlB†R¬k"žE&•³Ý“( z]ýŒjµëô‹Ü鈈jPÓ*ÔB;<ÖÝÝT¥p[£sýt‹³U UdÕf© ´ÿ§«Ž~Ÿvìš)v#Ðtø]e-¯¢$®ˆG“ Ax|Ûv{lU/·×ÙpËt"žÕúÚˆ‰ˆì&?™G~¶T×…Ö (êl¹p~!Ð^¼~¾cmõkÉè-?´ÒŒŒ­dfìg,JBÕ°¦[-§‹­Žv$VO˜Õ8;ü.#"Z­µV°8Á¥¦Öo²Í´]‘м©%’ J>ÃlõÀ¥ÿµÃ–víÔ{VɳˆUöÃHè¼^¯¾ , Q£¡®Ø…ÀØ­À(?«®«nF¶H/‰x¶âˆt»ÓÇiA‚j‡YuµŠ’€}ÛY¼:Ïžô là¾HD´B—˜ÍAÉβ0k¼Íº óëýÍ-í7ËJ3ã€0»ÏöP±uŸ­ØË+•õúz¼NÖ—ˆh)Á®SÐë‘:“ׯ_Öý/Çéá”éï¾ V!¨y Ö8ÒÜíuÚþ@@‘ó†ƒ"‡©NSQÙT/.¬ÐØglbáìɧ7#"ZÁ+³jY÷5­Vœý€¶É— ã¨i³Òa¢ä@,*›¦œZ¸N@`£dÛ:™’à¯È*B#Ë~ÙÆ…‡ÜÜçª0îk ˆˆ–h;@8_èGkèS«*€³wý~Ç®Û.ÆéŽš¶RZ#¡óˆ„æ-g‚( Ú™Çéãi[Îa|ÍŠœÇéáT]ƒ Y„ÁŽ55öm¯g Õ´báŸÖÅ0ôŸí\¿=M×eÓQéâ 5mÍ8 ÌÚŒsÑfeÕÜÒ©B#ÛÍ©j¤µ*j­Ö~QoY̤r˜-„8>’ÁÐnû(—>£l%"ZÆPÛå@~2¯w3PSªth[„Õâ ƒCnþXZ(]!ÌãubÀ¢VÚ”JZKc:•C$4¾6[ÖM ³ÛvyËjåö:áöúÏžNé ã#ìÜïãNg¨¡ñ@‰­³DDËÇÑUž¶ýjÏÇXïzŸ­-m…õ¼:غ ´Æe35Ûvy¹7¯P¨Uäl±îöYÊÕLiiŒƒfןTrc§†kÞnËö]¦`¤È2ÆN —…¿™éÂgFËn? cf:V×sêê`‹oWSÖC”ÚÐ?¸µjH Ÿ6¼Ö]5ex|“‘pÙå“‘p¡ÛwY>ÇJuš™Žé¯¡ô¾Ô¼rÆpË@ÛüJûÍŠ’Pp+‰EeýÖãuòô'Ñ 34ÒÚM­ÅëkGO°¿êõÆ0{òØQ(òªoÓãk‡§l;…ÿ6c貪‡ö÷d$ŒÉhýƒ[Ëe|ªðT¼m*9E–-ïÖjíõµãÂ=ûM×y|íØ±g?N;Š™ézƒs5»;0ÌR+q°ö Ï™ÃÈñtÙŠjõ;µ®s%âÙºêU:«ÇÇ@[i©e²/­ÿ¦(µ•…Ycð¥6x}>½Oèzáñ¶ë0oyýdäœìµÞÉhØò¶³Ån VÁت½¾v¤Rs ³´®¸ÖÇBc?Œ¥­fÚ"vú-mKÄ•šÝ-J§ê²Óˆ}QLýhk-.Q:²§8?­Ýe’ ÖÅ©º -^_õyš÷8¸Nò押孥éäy^“]Ý„ÇÛ03+ ­ÆcÕZ^+…]†Yb m ÔPWçÌ™îk×Óž¯So1‹MȦ¯¬šÝçíØ€DÉF~[gº»µÐúJÎ!•®h¯f= ¬Â¬€E©ÍÔâÚå/ÚZƒÃ÷“¦Ð=;«Ø „ˆ–š†Ûë4Fך±†U@³óRÂ~—)Ôju«4Q»=•÷)怰õ­Ö,¬G¡…vf:†“ÇŽ–Ú׺bôöm2ÝÇãk×g<¨48lñ…~¼[¶ïBx|TŸÎ‹Su-5=-œû—ÎüPz{»‘¿ ;÷û›+.ìñ:Ñ7ØÆ–Y²­zg9¥BwE™·]=´®¿~öçeSwiƒÁÂgF>3j¹MãÌÚÔdм´eɵ`íõµë3"túcìz°Šò³*Ô™…yÞ….GÙÂjZ…ª‚X{IÛj·U@ÍCM®$ŽNÁr›ªRØV=É@Kkj3©"ãó¦>ŽF „ÀFɶ-³å?NúÚÐ7ÐVÖŠÍ–ÇÊû¶³TrðWØ'ÒÉ9 Xùv“Ñ0f§cè¬Ðß´ÕƒîÌt ©äººú`0mf+3Ó1Óà0­[B­UÚ´9½>_YËkWw@®¢$¡p+ÆN W'—–7ÈæÃ9¨Jɳ9äEÀy¡ ‚6ô@{¡ÐåºÐY1`ªiÙ ¿ë®=æß¦Ü¹<ò“¥ $©ÈOepnq–m+7–³¼Ž–š†ÛëÔGíýC©ríÜ\˜ŽhQºº;…b8«| }2rŠ<¿.»1”¶ª†ÇG Æ b…&£a=àkÁØx™ÕA¡k¯®÷&êÇd$Œ“ÇŽbÇžý µ+fsc9"àìw@èt@ ­¢ùpaùÚÜ Y=Ôj·Ë…óÈåÌaW   +„Yg¿Ãt}n¬°MÁ#ÀѻЬ…Öü¬ Œåš2¸VbËyh÷l×ÿ±5­\‡ß¥ÿc˜%¢•ÖÛW_…ÊO™k /ˆRÛº;õ­µÌjÒ8ýVµ×ªÖYà .í²ð™QËùzg¦cú’¸õ¶rk¡Z‘ç?Íu˜‚ç….8z§ Vst …p;µÐ¢êèq,\.?»ªµö Žž…¸—ŸÊëaÖu¡ÓÔAðz8ÎϪPÓ­3˜—iŽˆˆÖTÿàV(ò¼>@ª«; wE˜Š†õ€·uûΖ}©dRŸKc ¯Úé}ª®¾êÓãk‡(µ!•œC:YXõËãkÇ–í»0vjX¯£6š6E˜¶íZ«„™ßŸmú _˜3,w -„TG¯£¬•U¯½¨éP2HÛÑÎꬪ‡Óü¬Z¸¬ˆMAw¦° g¿u›¦ úí"U´ÍØ_––ˆˆšÒ–í» J£…e`#æ•°¼Å Öʧ» ½|à›60L ˜Ú´Y]þÚ-Ñúœ´ñ˜~ÿB«na–­Ÿ­F”Újtc°&J¶n߉“ÇŽ"|f¢ØÆAbËH ˜Õ‚£àÊúÀjáÓÑï,tç x ·ÑZlýNSHÖvÕz<ç¦Ö;Ï@KDD˦0°hqóÌönEÿàVSóúÚë²®¸ºåëÑÈŠhZ½¬³0¸L.vá$©b«l=ÏÑãkoÊú®ZÀ,É ^ŽNj§ *Ó‚«£S°œa)Å@KDDÔ@¤¥óøÚáalÁØõXh¹µU ¸µ®Ò[ÚÕ€–ˆˆˆˆV4Œ(Ÿ¶Ñ@gèFP©KÁr=--„LϰÕd_È!7–[ÒTZõ>–ªÙcY}:1Z""""ª2» Q¬|Õ.CÀL¦ÐÒæ]RðÓ¦öšªüxù©|˵â2ЭUë «‚¥UäΕ‡Lã ŽÞ¥Ç6m¹pÞ²¥6?«êáz9oµp–"""¢5ä¼Ð…Ü Yä'óPS*] €R—ªR\5læ‡<œ[ s×f_Èu±•XM›Ã¬Uk°¶ë$^\¬+,¼à*ôÏUžC¥VG§ÇÅÍh‰ˆˆˆš(Ø «¸’—à°Ö ã 0""""jiMÑB«È*²Jn¯õ2m‰x¶â}EI0ÝO‘UdR9tø]úýÜ^'DI¨¸]ãõ‰x¶âí×R&•ƒ"—÷Y©ö\3©fãY(r¡ƒw§_D‡ßUñ=XJÝ*=¦ÇëD (5}½ªíc*Öm=ɤrz*}[á³BDD ´k"4’A:•ÃÎý>ËÇñ‘LÕ 18äÖÿŽMÈÈ$ ÁL»_ (¡o ­ìÇ[»~pÈ Qréeü»YLE务Ëêõdˆgáñ:á*Öt|$Q°m—·¬ÎK­DBóˆEeÓAF$4Ø„Œ¾ « «ÕËãub`ÈmªAµ} öl_÷_SQY_­”~6šõ³BDD ´«N‘U¤õ–A¥bkÞà»®@”ˆ+èð/,`,J2Éòé%ÒÉDI°lÅkV¥ábQ‘Ð)²ŠHè<ÆG2XV³^Z ?=œÂÎý¾EícDDDÔ\Ö¼mlBF (¡'(!6!/9+²ŠNC(éð‹H[œ~Nij¦×ªA ~ÒÅÓÅŠ¬"-´ˆ–ž:%ƒCn¤S9ýôòrÔmá1ÛÊ¡ö˜¯¡­ «ÁíubÛ.¯þœ‰ˆˆˆvÉq~—¾ŒAk1ÛÒB‹ÆSüí:-€¥S9ýºV—•Uˆ’Ãô:+µ4º½Nì;ØnªÑRë¦Ý¦Z_Ù@PÒC÷Z¥Bkv­~³DDDÔÖôüªqpQ!„‰˜*ž¶.e†J„i]Ji-˜âßZhnµÓËYY- a±¨Œt*‡bÍ*Õ š¥Ö­žÇÔ®/´ð®}Ý=^gY m¥À]ºŸ­gÆ>ÒDDD ´uˆEeÓéëÀF 'Ž&¡Èjù ¥¨Œ˜EH2†ßD-UéèýVPmS$4¿¨×d‡ºÕ‹ƒÂ ïy¥ðþü‘9~cQSZ³>´±‰ÂôN®’–E×¹¨ÁaZßN«–JQàñ:‘Nåô·„i¤o`ƒ~ú¼Ó/Öì‹Êz÷娛Çë¬Ù÷¹Zp^ ³qeÝô¡&""b ]#‰¸‚ÀF ƒCnÓ¿!·>É£Ûsû*·Ï‰D\A:U˜vj=M¯-b` Œ•Fð¦ÑšGº8%×rÔ­Ã/Öœ5 •+çÕ¯—Ú4}y‰ˆˆ¨Em"ž…"«–£âEI@‡ß¥Oò^o@)vªT§ßU 2ʺi ]´©Ï´úŠS •hóÐj·Y®ºiÛ‹„æ-[‡Ç‹ gô ®}w…D…a¹•Ëv™aŸBÙ.]`f`àáVZ`h‡é0P:Ã3”2S˜¥[Êu[Ú&àâ$vU±bÉÍ‘Î9û‡|dÝu$;Šl½_}üTŽŽŽ¤¯~²>úßùý44²ÎÆÆû”³]MíÌ–­–Nå‹+…­tÝü±µþjd¥ãoý¹h;=Ü Q½ÆkŒmtv?ãkk«W³^XY Ðãvh4Ò0ÜTžüÔ, Åú-MV¬|Uëv“ÛbÊÙ^Y0©Üæd¯ †G#¬ÑC­sb2ª…Œ£¹T¾8$al¼¯¬Wr%ëæï0ªºÏD¸ãC Ú©W#½0m×p“ëZïz6Ðéé([µ*ÔVب¼]4n)o¼M·öÂÕzìÁncu¤nAï³[ëEïkóоZÞ+€ÞcRh›øÎ}i*ÝB-¨õ¢^ÝS¯^s÷JZ¨õ¢ |~ˆ"t¨ë¡åƒ£µP/êE½ø›D0Y5 ^Ô€P{òkÐÑAp|€P/êE½@@¡^ Ða¥Ú+.Ù¡³·™³…ZQ/êE½º§^½æŠKvè#ù  ‰|äSÅ÷õ ^¯^|?%oŸ¥4‘¼}vÅÛ‡y"_T>DƒxR/êE½³„ÚÕΨa–PÛ]aV’Œw^ûVïÓŸ»IO$”]14¼qEîð÷ÞÅ«W§ÁS/êE½º»^½†öÁû‰÷ï§no7}ëke¿ïŸÞ§/Þr‹˜HÐÕAädƒn &G`IèDÿxŒ"×rã½wUý1¢^Ô‹zuO½Ð=aözú^júí¶«ÛíЕ£¢Vmn?1íÖ<‘/&žõ½?Vþ­ŸzQ/êÕ=õav5¸^!Ú-avÕºrô„´[óD½˜|xÿ¥^Ô‹zjA˜%Ôf µíëè_‹—=w §_ÀVçý¤^Ô‹zuO½Ð^òzúùÿ oÐV¡ôµÉž~þ˜‡·c+…õú‡g«5 ^Ô‹zñ7 „Yj@˜¥]hùàh­Ô‹zQ/B-rÔ‚ G-º,ÐZ€@ €µ†9QÐОYe3Ž!MLF)Ú–œµ•Í8J§òÅ‹Å-Eû- &BŠÆ-Š ЖZÈ8:2kk!ã(g/  H„4˜k A–@P_Îö”ôe3…º%gm F46ÞG£h%ißÔBY/P©t*¯t*¯XÜÒødTásúÕ«ÓÌôq ÑÀÌôq%gíº!.gÚZ8bhb2Ú“=Âl­/P9ÛåH€@Û(Ì–ÊfíÙ•Ñæ­qBm0»ojB¬@;óCÝÔά&&£=×[[f‡F#eà 2Žfö/ön§Sùbo-=h“³vYÈG ¯+†‚¿MÎö43ý$=B%õ:b©F•ílh$¢D¸øå¨²­n÷¤¢ñÞùUèq] ³µ}4nió¶Xq¬¶$%h­YS³$-±XÜÒ–súË>@£q«êC5Êkq¢ZÈ8züáyÂlÀ VÙΆF#eAÕok¥_–r¶§t*×3u*S‹[ {§Ç&úÊêÄ{Г6Ê—õ7èu¨;;ðÐñZµggVS;³eõïãĹ:í¬Ôx“ÞýDH±’±³ékkþsoÖ–*Çs €oÍ$–¹’ž¯XÜjzXwh$R<é)ÊõôÙÕ•gçû'0eG»ìv&Æúµì¥Y#Ê ж¨ôežÅD¸hýCœ½<¦?”±‹ F4˜k.•+ëyÅòTuáè 'mé!Êp¤ùHŠÊžµœí)ïÍF06ÞG (··¸*{ÀQ®rŠ8Ú" 'måx» ¡!1Š·ÍÙnÏ6ĉl¹²@ÜëüÅNr¶«t*_ø!Wôf ­<#:hhˆÆ-åìÂI:ÙŒ£!ÚVØÌôñ²/\Ã|y¨šÎÌÇ‘@»LJœþ"¾XÜ¢‡VR¾Î 3ÓÇYÐμNP˜­\mmœ³þ%IÑ~«Ø[9ì °8JŽüZ ÛÂlåÜǽ¬rŒìÐh¤¬f¬àhC€„Y¦¡j¬òd0Vðh“`ßÔav*OËÎhÁ¬‰OÚvåæ[œ»¨Å?D^yæ>a¶u‰P±ŽÌ<‚–Þ‡’æ½`K&'ŒÂgFjqû~ÃP¸Î¶þ6IñŠÛ5So¿9I)×Sfq?a£ð˜üýîœ'ïèÒt¢ÆzSæ`yû𲞼œd„%#Ö¸í4ÚÖËIÞœ+/³Ø®#†ÌA£æ>½\a_Aî“@Û†Ê3ÇÓ©|  Q:ÿ%«>¡Ý0»gW¦baƒ“šùsÎìq¢Í{žö8ÁæO„ ïsž4íºŠHÚ²ªÂgªdŸç„–>#‚ÞÏfË,†gß´ëê[ˆ=é<% C›-:Wz=Ⱥy¹Š+æ¹aÉ:#$Ão¨aCÎîB@è «nÀô²žò» y'tfùßbç +÷pe{öä–ÌACÖS¬ª}9{š×h5f cA×õ|˜­K<¹-hʲzSzAÅ C#f°÷߈i(ãJyž¦·,Læ$í_ ®ã¦Y³§µYøì¯³{W)Ï+>F?ìfƒsÊó¤ŠÇÞ ³Î^GFX²6™2MáB¯¨{À)\¿;_ µþvÎWÎ^§<ìú4'9{ aÖÚd–]ïì-ìÓˆ27.õû¡Õó¤½N××5hKUÎ¥rM{„*Óƒ„•³œ™_ûý4—Ê7 ´ §ì¨É`"L!ѲˆTÕ+Úȸe*“w”ò<­÷¼âm§Wöâ¾êäVîçëÃìÖŠÀ7 m YÚµø8F·Cï( žÁÔ«*C¦{Ä•uj¡ ™Ã¦¼ŒWìÙ­ Ÿ~o¯3d/µ;÷ˆ[ ³¡3ÊocÄ Yg„äìÎËódf½®^PËšùX:d Ö*D•æJ–#e¸ZUf'&£„ÙïÉä¬]µDu¥™}K‹*„#_2ÑaI§-ÌýŽ«\IøŒ,ޕ໯ŽÃ’Ö›…q´Tô^ + 07šU½¬ÅÀæ_Wñ·ÔÜdÉ/W˜[ºÎÿ½ˆKƒîÑÂvÖ¦ÚíÛÆí1C^vu4È5h*zs*Ï6/•NåËB/œhEår¶œüUÛØD_Õ—€ZSq-díÙ™-ëa \tNÂ(þ·Uè™v áâ4ËÔJ'ÈIÅÀõ¼Ž›¦¶Zfà!X;ü€Ù¨'Ôˆ ª §F¸j¥¥Y˜Bià-†çÅ»šÝŸuª©ÐVYÏn7[3ŸÂሡ¡ÑHq©Q _e¯YåØ>ÿv@ &Û+[ÎÖ²AŽ ø¢q«'ÆØFãVÙ{2g{šÚ™U8b‡äm¯,Èú5å=‰vÙj< A½™J‡”†ÜFÝOé¬ó%ûjñfåLA™ƒ†¼A£8ôÀ®æ Qsv„åܶ†F"J§rÅÞ³t*¯G~~¬:ü3®K¯ã„À’‡ìª/H­„YÉ_5¬7ztýÅJ¿älO9»v͆F#U+‰­(œ`U?hÖšy@*ò1Íbïl^ÒF³f, À¢sÌM–¼l¾8젴綬©OUº¤Êñõ‡ŠÑªt*GÚµƒ‰fö¯êõ $Bš h¤Ù,ýuzI3žW ³’4ízÚÚ$6š€c è4?Àú'—U5 ЮÒP›<©ûZvc½µ/IUu«U¯fû.½¾ÕûëTÍüÇYï5®|ÚD­ÛæsnÍ×¥òy·²oº&ÐNO-(›q´åœþšbû¦~NLF‹¿'ÙZ˜/„F·hl¼¯øa¾ojAgm?¥+_¤#³vÝTú´ø»ÿŬ^mƒÞ_'•Žù]©ýUÖ V;nT'º>Ð&gí²Ã‘C#=þð¼r¶W}âÒ¬­dÁÒð›NåkŽ3-=ßßÎï©[-²GÙa£Q/iÐ/kµf­¶ÅdÒÆj…÷¹T®aH z«Y­ÔkÇÝzB&€@Û8Rª>ë»ÖÉaÍN¢©ìímd5žÓè$§™éãmõ6¯õšµ"ÈókT¯hqØA¾8W£×¤ë[uÃô#??ÖVûª¬'…ÖT M²ŽUcYcq«x¢X+ü±z•½•þ‰SkQ4nil|öM-hl¼/Ð!þ䬭X¿¥hÜZVÍb‹·o´Ý\*וã'Û}\õê%† ø5Y o½{2ÔÒpNœx'í¤°t*§¡‘ˆ&&£e?ã“ÑâÄõ­î/Úß{'Ÿø 'ø×­µ·õ43}\ÙÅ)¦–S³D¨8ÓA½ûò{+»«^í?®fõŠö[J§rÊfœ²©ªzQåt]¬¹@›N啳½š½°þÙñ­L©tꩵf!ã”õfûc\“‡ìª/þ<´þ6Ë­ÙÐhDሡ=»2U¡¶ò¾ºE:•oûq©×`"´˜sL×Åt]€:) °p2X£`P8t^ëä°ÚA%øÔS«U:•¯9Ž1·44²ÎÆÆû”³Ýâj]¡’¥Jý•ÂVªf›·Æ5=µ Çž/[)Ì?4?~ÇJ6ªW­ÇÕh¨ÆÄd´ØÞ¨^þu9Ûk:¤¡Ùý­†a2õžÃ–sú 3>,ãËL½}sò kíÐh¤a0¨Â#P½&·Å”³½²ç_¹Mû;5k¤ÕçP+” ¸œ4X6HØ([‰)ÔVª cýº·G,··së„Õ¬ò6ÝÔ£Øj½‚<öp$X½jÝwå6ÝØûÚ,D·új½Ÿ‚u椴ʤ Ð6ñûÒTº…ZP/êE½º§^è?È3cµX}>?D:T‹ŽõÐòÁÑZ ¨õ¢^üMAŽä¨A0¬Æõ¢^Ô Ð@‡•vBzh¯¸d‡nÌRÜfnÌjE½¨õêžz¡;\qÉ}Ly ÑÄÇ”§ÝvY»MÞ>K!šHÞ>»âíÖ<‘/*¢Á?<©õ¢^„Yj ³„ZÂl{B'úE½ñÞ»xõêÔ†zQ/êÕ½õB…ZÚ-ív¾6߸vÛÉvâ Ç(êE½Ú-@»]͘‡Z€@ h@ ´ Ѐ@ h-@  ÐZh-@ ZªwEòÈaª€®G-´ Ѐ@ ¬"U³<ö诩 ºÖ™Ï8»q }ö~U@ך;šjh+7ºch@ ´Z` QÖOÒÁ”­dÆQ._øí1$…CÒ†˜©S}2æµ?|ÌQ*ãÊÎSùå×ÞÐú˜©§X kO `ùƒO*•ž×½?ùµ<± ×%XµË4 mÚÓó.ܦùãƒÚz꺆Ûÿöp^Ó³OèÑÝût0yŒ.ƒešÙ×ÙgL(;²A›7†´ô‚Ù9[sÇ2ºãûê•—ž¥‹·Ÿ¥¾H˜Â´éÉã¶þïÏ~­;ïù¹^ýâ‹435:©¹mrÞёԜ~ñè”®üý ôôÓGeYŒîlW.—×c{êŽ<¤‹Ã–¢ë5ÔohXësôƒÒ/ª™ä|Ã1Éôа†x’\×S$–ë1vv¥D"á¦c‘=IŽëʲLyÔ~Å„B–×mxr#€5™l½ÂÐ ¡—°󬘮 ½ƒ1´ Ѐîâ¹^Gb‘À×׻칞¦þþ½:ïô Œ÷5Ýg§×Þóšÿ¸ÇuçgnЋžy¶†b GbÛ|¶^ñG¬;îÿM°}xž,Ëji› Û—þä2êº×\¢ÑÁ˜úâ =ûåo×£™\KûX‰-½h;ü£®WƒÛ½í|V×ß½S©cOêèüñŽ?fÏa¥|ëê}ÿî醛¿­ßNëÉcGô³ïݪ×^8¤¯þÏuM;ºeÇ‹õ£±ÿ¦ŸïMêØìN½ãœGô’WßÞuí1´¬éHÛéûl~ýÑù'+¶]ºüà1[wmÖZü¶¿Û©‡Ó¿ÒhØï[Œê´-çéÊ-çéÊ·½÷„Ýo>Ÿoiû>xHÜýF¶Î’›Ëè´‹^«ƒŸú¤×uU=é¡`-ÆY¯0}W§~$¾~}ÿººÿîx…ÿ—nóØ·ÿJ—?{‹F×÷krÛ…úÓ/ÿ¤£Ï­ô±¯ãCèÛ¢a}å'3·?rÇ'ô¢ ·h Ú§‘Íçé}_º¯ìPüýóa]vþ:e]DñÁQ=ïUïÐÿKÛeÛø—C¡PÙ¾ýÖÇõ‚óŸ¦øºuÝ|ž®ÿÒe×'sŽžÚgjú_>¡gn¿B÷ì6õÍ;n®zŒÍö …š>N†€Uï‰ôBñÿþåÃ|P—¾é zéû¿®ß̤tÿÓ#½\ïÿáUý\o»í}é¥[uÑ‹^­÷üÙÇôåÛ¾©Ÿîš©Úî࿽O¿õ[ºæ/¿¥ƒGçõëý’¢÷__¶ÍËÿâa]÷¹ïh&½ Ùß< ×ŽüX/ÙqsÓÇ0{ÿŸé¢knÒ+?x»fçŽéWÿü—zøCÿEï¹gÕ¶¯|ÍÿÖçïû®>ôî7éò]ÚÖ~Ú}œAhXƒNÆøÒ Ѻ?R°1´•¿ßôßoÒþþ‡zóK¶+ iã¶ßÓ_ÿÏõÕ7ݰªÇÐNìx¯vÎìÖŸ¿ý•6Óºÿ{·éêKž®-—^£SÇ‹ÛýÕoÖ›ïºSW]z¶b‘6Nn×ûÿúGeûºå‡_ÕË/Þ¦XØT|è©zË'ÿAG~ñš>†Ï\ó9½åÛ÷ê/»PñHHcg¾P_¿÷ãúâ5ï«ÚöPÎÑgoú¶ÛnÛûi÷qÁZÖ 'Ÿky¼ärÍ9Z÷º±áõÊÙKA­ÞåÊß¿zð˜ŽþÁÓô…Šý†¥œý…®¬}>híA=÷%¯Ñs_²äÝŒþêå¿÷úÝÿK’ô•ózd[¿ìŠ•º|Ð,¿Þ—“;Röoµ.ß²ÿ˜R;žªOר­mßR¶ýÍoÞ®—Þð:}ãÆ?Ö«ßñA}þO_§u‹Ý¢A÷äqh@‘ë©ãKß6»¿Òëë]®¾Nzè@RÃa³åû;Y ‹´µñØŒ˜^û¯ë-Ÿ;_ž÷žÀû«w]é¿×ºìxÒžÔœ6Ö¨måö—~ô_´óÚiÍzLŸ¹þízÖ5Ò¯¾vUËûiåñ·‚!¬Ež'ÏUÇ~¤à××»\ë÷«Nëo÷g:ú\=‡€Åoz’ÓËÞw«Ž»ÕÿngShÝÓŠ¿_=ÓÇ>Òðd©fÿ^ïòN‹ë+û盞ŒU¸lè´ñ m½àÅúäwjêÿ¤ÍýûwN r=Éëà‹1.Ðõõ.×úý-7¿K_¾úOtÏ/ÿC™œ£ÜÂQ=ôãÔõ¯{NGŸŸ§VVhÒ~øékuæ%¯Ó­ß{P©lNÎñŒvýô{zûåoгÞõÉâvïüüuËüWýÃ}jÁÎëÈž_ê£o}áŠÚw}ù:Ý|Å»u÷ÏWæ¸#;{T¿º÷N]÷š‹ëîßÍgõð=ßV߆,k?+hrÀZä9ò\§³wÙäþJ¯¯w¹ò÷¡ó¯Ó?}è6}ð¯×Ûù¸Œ¨ž~Þóuõµ_èøók¡òÜÆ]º}ÿV}ñk·ëÓï¾R×HJ‘m>ó|½â ·èæ×Ÿ_¼ýØó? {>ñI½çݨ·>~PñS·éõïùxÙþëÝW½müËÃÛß­{>ú5½÷†kôG¿Ø¥¬¢ÚzÁ%zã»n©Ú~p}¢ûúµõ‚ËôÅï~¶­ý4{œí"а󬫖–k]®ßí?ÔðþJ¯¯w¹Þ~N{ÎUºå9WÕxŽ«w íé]®_t¹>\g¥·~Æ+®Ó?¿âºŠM©H=Qó¾Jÿ½ÞeIþÕºõùW×xåÛM=Qw›VöÓèqh@W^ÇNšzêøhàm;=»ö¿LÈ[‘–Ø0ÔðúÔI:€5ª:8ËÁÔ¾™àAÛó¨}@É䑞¯%€O´ÝzH¾Š¿"=´ ÐÐÓ\Ï“ë¹â¤|— Ðh@Û I¦ih~þ˜B!>æWJ>Ÿ—iMko™¦æç3²šl‹àדeš2´ô†HH:5±NíÞ¯s¶žNAVÈÎßìצ QE,¯Aí õkÿácš9…¢­ý‡il¨_‘A   ÷[ºìÙgé›wÿTv>¯s·ž®eQ˜6åGíúþõ§{ô‡¿ÿL Ç뇪 qSçùýÓ}»´ãÙgè)cƒ¢£¶}®'í™Ó]ìÖÅç=]Cý€^0:ÑÑ…½êÅÏÔ¿?ø¨¾û“½r99¬m¦ihÓ†˜^õâgi ?¦S7Dën;Ôo)½~@Ê@ ` M‰ˆ6%¨ÅɨýÆS,m<…adRh-кâÚýÓû¨Vã×¾•ð°jýÒahx´üIEND®B`‚KCemu-0.5.1/doc/window-profile-2_small.png0000644000175000017500000021672612417262523020536 0ustar glaubitzglaubitz‰PNG  IHDRôGWˆ¾QsRGB®Îé IDATxÚì½w˜Tåùÿÿ:múleÙ]vY:H‘¢€ ¨ DQ±ÇB,h4&šª±Æ%ÆMì164š¨X‚½€‚°ôÎÖéåÔß3;l™]°|¾¿ó¾®¹XfÎ9O¹ŸóÜý~„Yçß&¼øà¯ð‚U=nöôòÊêw,,°aÆ 6l|¯ºqeÝÎm3¶,Yøö'›,AˆX–àkîÏïyiŸaÃ9bx¦iÝz¤ 6lذac/0sLÓDV\€• `è:Š,²â›•±µëÖ¾õü?;N8á²{^<á„“Ž7,Yo †d·Ç‡¦&°, ¯¿˜X$€eš¸}…‚€–L ª Áfú6lذaÃÆÞÔÏ7lk`í7Ÿ#+ –eu¸Â4 |EeŒ=Žª2¿ GÄ…/¿ð²Üÿc§ 8ø0Í”ô@(${<>¾]º˜êA#).ëËÝÀÁ³Ï¢¼z o<}ÆL9âdzW DSöÜÛ°‘ß;š¶ÛÿM;ÜúúEÏÛWQÑuI1 Ë2Q…dRí8V6lt I’ذ­ŽíW1¸¡íë“~ŸEáŸ~ÍŠ_£Œ#:ŠÞ§ºÿ¡rï>Õï8”¦@Y–py yó_réÍÏpå™PPRÎ ®çÑ›/fùg‹8ûWwsÕYS¸káZA@E› 6ltÊ/tÓ¢¾)LßÊtÝdgC²bY"¡4‡¢¦‰Ïã¢ÀëÄ0L¾kã—e"Ël«€n§ƒ’ºatÙ¾ ˆhºÁ·k×â’ ŠŠKÙQ×@aAN—‹­[¶0bÄpDAÀ6äÙ°‘ß;)J ;·2fÔbñ$‘l¯o¦¦²]7ˆ&TTU§¬ØÏà!ÃX[û‚´?–¡É}ú,-Ë24M“˜¦‰nè—UqÍ9S©ì7Œ+x…Æ]Í4Õo§¬OFL8”™§\’6¦-~۰ѹRnѰkû*ä“õ;Ñ’ QÌò- $-'f2Èø!¥8e‰ »B4\ø0- ÓJ=CL3DÃÚ­ð é?¬–ß- Ó©åz$±Õߘ¦•z¦$±qëNÆÖ8ð{œH¢@í¶ ;ëôîUŒ¦ï*$1õž·xóZ||Û·ná÷§Žã«µu,\¼†?ÿ|&¯~°šåëêxð×Gqέo1eüH¢±$’¦eï6ltÃ4‘dÓÐA”Ù°~=C+=¬\»•þ}ûÐ\¿^nšÁ_àG–ÀÂ0Mt]C&ÍÞò¦…eYl߸šÞ}‡0w¸À¯¬AÄ4 $¦qš®#ËŽÔFbÆE‘ú¦û *fÿáU<÷îÛÜ}é ^ûx=uA•QÕ³&âþ——!I"+ hJBs8N¨¹žŠB…`LÅüø¼nÂÛpº'¦®JŠTUUQ_W‡ Gñõ!‘ˆaÆ›qUbš‘¦íx‹+ñû}˜¦ERÓ8§ÌϯïM·øó%‡rÓ?>bëÖ8‚Åãñàt(4D%d3J©_¦!¤âð•¢iÓÇVRZäãý¯¾À_XÄ5¿CíÎ8—Ÿ<žWlÁï÷S»ve~‘XR'ª;©îSž²ØËÆ, ÝBLKÒ†i‰Æ8uÖÞþl=ï|±ŠÛ/ÁSÿYÎÚú$þFÂoQ¬3örÃ2SZƒ‚êÑ\ñð«$…–‡æˆARòòè]×°«!„ahiMÂþØûÓþ# MAÆ)§¾9ÂíÆ¯|ͦ „[69ç¨QÜóÂRŠ{÷¡WE5›"‚,ãÔ›¹hÎ(¢q•3gŽdòK–­â¦ cô€"Ž?d·^p^'Ì=d8?Ÿ;ŠO¿^Ãàr7œ7åk6â—“Üpþ¡lÚº“Í[¶qËE3Y³vEÆ0M±ý+|l­ JJâ ë:ºnзT⦠cp¥ú¦0ƒJ Î=j—´?U>u èSÌŽ†0Š$2ª¯—[.žÉÎúc‡ôæ«Ú:ÄøùÜQè†ÉQ“1{Bo6mÝ…$ öú°?ö'ÛÇ´…”åMUuöÙg.¹ó¿LÙ—[~6ƒG.eÕƒ>½KÐt#c±3¬”B.§¬u‰¤Ž,‰„›ê˜?z±A"Å_?ȇˆŒ ?ÌáœÃC7\‡—¹˜é3£œÀz} I,[Þ¶a£4Ã"™LЧ—ˆ%5ÖïŠ1dp9’l ( ;}ª%â ¿×Úµë¹ïçӨݠW‘M79hL_^ý`5¦iñÜ»k8÷H†aðî²jz2nh¡HŒÑƒ*xoéFœ5å…¬ÝÒˆ(I ºsÿ° c‡ÓŒ"Š"PŒ) )+ö1~ ý{ñõÚ]ÔîˆrÐØ¾|U»ƒ7–6ÒË'rþqãùÙŸßFWü|ºb ÓÆõeá'›ÐuƒÕ»B¬Úžäð E|ºr;å¥^þ!?™9‚›æOäw~BU‰ E4Y¿µÉJP^^Ži¨(ŠÌ}/~F,¡³µ>ÌÖú(éËŽÆ0’(±O¿R>\±SfäÀ^,[×–ÅèÁ½¹÷_ŸÅ3¨Œ;¸\.Ö¯]È•†‘î™…®ÅÜw ÿùd+66ñí–(^Ü^}{ûùlå*z£‡ëØÞ£¸P`ʾ£xõãõøÝz—xù|uŠ Õe~>\¾¡}KI¨ (å%>®~ø=6î°aGgÞ^ÉÈaˆÆ Ø•.lØh Ó2E‹T MýŽÍÜ÷Ë#øû+xwé&þrùÑH‚ÀÂÏv0d`ßTê¸2ÏÈÒïMÓÂ,DIdSPÄß[!`0ëH`ØM_bå¦Ud¶âÄ–abÉ`ÇÅÙ°Ñ‘¥G¢ öëë#¡jx}¼ðÑ6æè_~(—Ýó/¼»ŠkΚÈêM ”yyô͵õâµ¾åòS'³q{€PL¥.¼š2ºnÐ QSQă¯.CÀ`hß^<ûö*ÊzñíÆ:N›1’Š’õ ë׋¿Ùʆ-õ<õ ^ýp ‹k£¸E-cpu)-\FYŸDA@‘%¶/û–ÁÕ¥<óÖ7¸œ½ˆnÞýr=×5Í0xÿ«M|½9ŽË!Ò»ØÇæ]A,Ã``U ÷¿ô%Ãû—‘Lj$L…gÞZÁùsö£vK#‘„Æ'«é ,ÁÎf³a£Ýž!)- ëN·›_ÌÖ°Ì€ƒ¹êÁw(ô9(,ðíÎFIóo &ξÈ:åì‹iŒȲÄÀª¯ß=‡»ŒÓæúyì™&ŽžQÀ«o†>ÄɆÍ*K¾q÷3ycÛCº1-[C·a££ùL¢¡±‰P8€~}Ó>õ ô¯©&žÔhnjB‘E,A¢ºO‚ ÐÔ$ I"nŸÞ½ŠÙ¹³Ž¤¦Ò·ªŠU«k4 ‡ƒo×ÔÒ¯¦/^¯›mÛëˆÇ"ø|>Á½{õ¢¬¬”UkÖQXà§¼¬4­¥§¢Ôk×mdà€dI¦%Y\’$V¯YGuu%·†Æf¢‘0¢ â/,¢¸Ð‡iš¬Y»žš¾Õx<.¾]½Ž~5UÄã Áƒö'ÑÔÔˆ$‰¸\JKŠí66:UÐ…Ôž±m¥¥¥ÄI™ÚI Ën€€n˜(²ˆÇãcÙ§o3éàY‚AñxŠ¡Ÿ|öÅ4„5dYÂ'G8|Ç)¼ù™ƒé“ÝÄ&“Ç{ùð³(¥Å~Åç6ÙgòXž3ïÂ'4Ù&w6²ÉÛ–…,KH’”*²H’ˆCQH$UAÀ¡È)kY¨ª–¹F‘Sßkºa©.‚ÒöÝNâ ˲p»$“*¦i¡È2²,a’$¡j:º®ãv9Ñ ]72Õ-ËÂír’H÷«uŸÝ.'I5ðŠe!IŠ"ª¦‘úºåºTÛ-Ï’DY–ˆ§ÿn_ûömذ‘MG‡¯›åK?¥¤rfZoýÞH²Lî­ÔTUâò£ª*ÉxaÂ1Y§žû3ê‚*Š,a"  ~ŠEKIw]³P”Tdª" X–€¡ë8‰Úq6ltÉØi£™ZéøÖ/h{F×Ù÷Ùîo}MËÿÛ^CV͸ý½¹¾ÏÖŸÎúѺ½\ã°aÃFö÷²´ØÏÚo– ÉÙK¿†Nïò*þRb±8‚Éx¹Èe²mWI’ Ѫ#ŸCmvnÆ 6lìEì¬à*è‡ÑIQØÖКvdxL ¹Æ±‹C†¹ A!ÏfÆ 6lØøþ‘ß2‚àÉ0øº[‘›¢:€ei_™‚Ëí±+ÀÙ°aÆ ?b¨j’d"‰$IÔ®‰#§Öu0M @âí·^Áãñb¦sÛlذaÆ ?"-^HŦL8`2 UC3ÌTa™ÖˆÇc”WT2zÌXTUµg͆ 6lØøÁ², ‹XôæR®ò4äŽ\?ÁžH$Ñ4›¡Û°aÆ ß7ÃnÝÞþ˜r˲HÄã"à;0t+ÍÔEQèQªI&ân/Þ—í·®Úé,•§ýýíÓ‡ö´¿­ŸÛñd»·«g´_OûÞÙ¼Ø4·inÓܦ¹Móïæ-ß)Š‚,ÉD£Q,ËÂérâPbñx›ûEQìe&ç3¸ö“×Ùß-RE®{ºZ¬=?ß…Ú^ŠéŒÀí'µ³EЙPÓY[?#Û3³6Û\µï[®9Éõ²v–¯œm“èªO6ÍmšÛ4·inÓü»¡¹eY(²B0äþG`õÆZdY¢Ä_ÌìY³™:i º®çœ1_©E×u4MCUUTUE×õLÉžHAYÛ0 TUÅ0Œ6ÏÓ4Ñ4­ÇR¢ 6lذñcD _KªIþpãÕ.‹ƒ;Qãö%¢G¹éŽ›Ù¼uK—üOΧ1Ó4ñù|8Ž <w‹Ñv&=º\.‚  ª*’$¡ë:‰D—Ë…Ûí""Šâ›òíÛžÞ»7+duõ¬|Mw{ë·ïz^³Iº6ÍmšÛ4·iþÿÍü>??þ¾?}Êy÷?ï1¸ÿ`Ž˜:“‰—N ªOÉd2ç3òÒÐ{••ñÓóÎCq83‡ÓÅ©§N]]²,÷xÒSõ¨Ý¼ÿþûT÷­Aq89ûìs8`Ò$®»îz )**âÑGÅéòЫ¬·}ÿÀ.'dÓ܆Ms?4]cý¦ ”W–§Lë¢Àe .åŒSΠOEV¬úUUÓ‚„Õs  ™H2aÂxzð!𛛨¼y ç>ëÖ­cÑÛou*aecà­%Ó4ÑuNœÇ 'Ïüùó2x0Ó= §Ë™~n*ÊOQ”.Ÿ¹G‹=Ǻ_wêbçú}OûÐÓ±¥²gýË—æù^ßúßÎj‹Û4·inÓܦùÿušCŠÇI’„i™(²ByŸr{âqJJŠùjÅ׬ݰž»n¾ƒ~}û¡ëæž1tUÓðùüŒ7ަÆ&NœÈLdøˆ‘lß¾ŠŠ J{• ‡p88œN@ ±¡EQðz½ˆécñ8ñX,uØ‹¢PPXD"ç¡Äãõ¡&ÔÖÖõuu”––bšº®·é“ËåÂãñ ˆX&±X,c¢ÏgÑå»XÚ_×Y”b®ŽžF\ödaçcw¯®úluhSÈëxÌ=}I»{¿Ms›æ6ÍmšÿØiîP :Œ÷?_ÌøÉã©é_ÚUµ}Ua˜&ƒ "#ŠÙ æÛ˜˜¦i¤üÚ±XŒ^½z©£KJJÅ‹ó‹_þ’ââbAÀëõ²dÉR>d¢(R\\Âm·ÝŽ Š¸Ýn-zAe¯Ï \xá8`"WþþJŠŠŠ:L”iZøý~^}õUFŽ… T÷­áÉ'ŸBQäL…»®"?óY íÿÎFèÎüù='›šMšËÕAº½:K§èl1waJ‡hQ«Ë{sµW›y>Ó¦¹Ms›æ6Íÿ¯Ð\’$¶ïØÎâO>D$V-[…i™ì;v’"³bÉ .9ïbt]Oç¤ =ÓÐ3‡…,+ˆ’LQQ;wîäœsçãóz)).@QæÎ=‘1cÇpûm·áv{øüó/˜6}:|?ô ›6oæšk¯å‹/¿ä•—^dذ¡Üÿ×ûXpÑÅÜ÷—¿ 8&N˜ÈœãŽÃ0³ŸŸ\TTÈm·ÝÆ®¾†Ë~þs~û›ßðÍÊ•\pá…4šùÙÅ·ÑÔ[]t–ѺξÏ*èd!`ëô„Τ¿l×t•Ú˼ÕYŽc>‹=WºE.i4Ÿt–l}È•’“+U$[ªG.ºØ4·inÓܦù™æ-š¹ª©\}ÓµL55©òÎÂwð;|¬m¨¥¦²†~wÕUÕ] wÉÐ[n,((àµ×þݦ“¥½JyòÉ')N3tMÓ8òØY¼òÊBš›).)eòäÉ|ðÁ¼ÿþ{„‚A ™2e Gyï½ÿ>ûí·gœq .º˜9sŽ¥°°Ÿ¿€X,ÖiŸ6nÜȵ×]ÏÒ%K;n\æû3f0cÆœ÷Óó0M3}l÷Š´¿®«åQv6鹤ãÎ^Ø\wëß»’³½xíûÒUTi¶gwe¢êÎf{fûïò):aÓܦ¹Ms›æ?vš·(ËøãÕŒ™:EQXôÊ"þrÇ=ø<>,,DQL¥Œk*¢ îYÚZˤD"&N˜À3ÏŸ¯Íàœ.7@«üîAÓ5®¸ü—„Âa$QJ k‘H&Q¥CíÛ|$Ê®ª,å’ ó©h”O›ùö!W[¹ü;¹"I»*©Øáe¤};Ùƒeº[3 «è×½,cÓܦ¹Ms›æßÍEQÄåt²tÙׄ£aö<ŒÇŸþ¾J#ÇŒäñ¿<έ×ÞLqQ†‘:μ;± Ýbè­b#Ú˜#Úyiaì-©¬¬ä•WrÈ´éìܱÂÂBj׬!‘HЯ_M‡Èõ|P^^ÀìÙ³>b$ñXIq¤…Ɔú.kêæ»è²]—ϳó1}uݹ¯³Ò‚ùHòõ9Û¢v¿ì‚€Ð±ôä…íéÚ4·inÓܦùEs˲e™ú†zn½ëvF¿ßOó3t]cÞÙóxâþ'¸ê—¿§ªOªªføjwkðËìu¤Ø"]üêŠ+øåå—3pÐ@Nž7µk×rÒ¼“)**âˆ#Ž ‹e|ÝùbÜØ±0q"LšÌsÏ>Ãĉ †B¼ôÒK””sê)§F»”âz"ùõd±õ$§sOúÝ^ºìI~i·Ó1, ör夽16ÍmšÛ4·iþCÒ\’$4Mã¦?ßB¿aý(,*L}/JÔ~[Ëz€ë~{ Æ#©&³(Éù1Ï 8` @8n¥ƒ·7;¤LÜ-G® ‚@,ã¼óæ³k×..¹äR.¹äRFÅ{keYmL㦹ûÉõõõD#ÑLôb<ÏÔvÅb¼úêBæÏÿ)G}LæEVxð¡°,³ aò9° fKOÈöŒ\f›®La¹üEíïÏ'x¤3]¶Å›+è&×ó²Ís^.òìcw^V›æ6ÍmšÛ4ÿ1ÑÜãñðÜ ÿ¤)ЄQkiŽ :‡q‡ d×ö]ô*+KE°Óu ä1tA47ñè£`Yæ&¤4nÝùææf–.ù’òòTÙº–Î$I®½æj.ºhA:!^¤wïÞX–•ñ|ùÅçfÚ[¾ìk¼^/¡P€3Î8£9š@sŠ¢ Ï>û »ví"™L"I………x<b±x§§íä“Úˬ’íåÌ&±e%.-®þ®Srµ«ù¾l=‘ì;[°]õ;g:KA&]õµ³Íʦ¹Ms›æ6Íhš[–…i˜Äq÷Ìì#ŽaôÈQ\û„šC•áóûX·~Õ­jµçCókè¦iRRR’Ö¢ÍN%Ÿ¾}ûf¬H4Š×ëÅëõ¦µx­úõë×JS7©¨¨hÓ†ÇãÁãñdÚo È+((hÓŸd2™5$—ÔÕ•ï)—Ä›OúBÂçüÈ'0¤+ɽ§é,ùH´ùÄ%äZ|ÚK¿ì]i,ù~gÓܦ¹Ms›æ?š ‚@$ጓOÇãv£jšªávnßIye9±X ŸÏ׆·æCókè-Ž\ÒBûè¾ÖÌ7˜#WêDWÏú¡5ôÌo-¢Ý+>Й¤›KrÍ•ÎÒÓs’sùÛr™½rÛt·àD6Zuçœd›æ6ÍmšÛ4ÿ!hÞâVVU•>ú€O—|ÆòU+ðú½ 1”††ddÆí;–d2Ù†WvEó1ôÿ?aoµt”Ú,ò µaÓ܆Msÿ¯Ð¼¥M‡â`Ãæ¼õÞÛpàxý^6nØHs]3×üꦑbæ‚°;¬è1CÏå;éé=Ýù=›Iªu­á®úÑ•U¡»ãélõdžz2Ïí5\’t¶ H6ÍmšÛ4·inÓü»¡y<çÌ“OgÒ„I¼óþ;4š3h4G_|E…E©ãR»è{g¥c÷ CïnPF>÷ä÷;;G.?T®î|Gòõ丽.ç :•»cŠë,J³;56ÍmšÛ4·inÓ§Øtçº|®Mý“Ÿ¶÷v¿q¾©"ùÞÓUÊH—sÒÍgv'}æ¹Ms›æ6Ímš74ÝÐ3éßí±î<³³ ½¬ ÝétQPPˆªªØ°aÆ 6~<°°p:]Ìr{ Â4M6mØ@ ¹ Ã0í06lذaãGM×ÛÑuÐЇ1+e¯·çˆïH‡,!K?®·Ì² ©{ÍiÆïvi)¬–•¡[–E2‘ø7Œ½³Qt@°,$Yn`°·Ûí,èAÓÇ·~íÚãÉ<-K_QH²ÜU ìwdÁâVòî’­üXX§ ôïí嬣Æàpyr†g}·óc™ªšD–å–fº®k8νžúÔ~ªª†iê?Ì¼Ûø? Q3¯‡ÜÙ¦‹F3µÓ»¿,-D\n7²¢dÞ QÐT•D"ÑÃ#µÁ8§« Ó‘$‰;¶Ó·¦?±X´Íi5¢(‹ÆÐ ½G¹¢¢ àv{% Ó4w—õ3MB¡ ¥¥½2ÇÁîŽx´ˆEb=Þ‹,ËB’$<^ïîˆÒÞˆÛãFÛŽÇ0 ¢ÑÅť鳿÷îxdIÂÝz<úDÑ c¯Ž§ÝÂæÛU+injÊŒå‡â’aMaEƒƒ N9±] ÌÇÐañÒµ<ñïOÙ¯Z!–Ôù!ºeYàpÈ 8„ººiš‰?Í,Ë¢¨¨ˆÊ>U¬­]“>ò;X?¢@uߪªûvPLöôä¶îžÚÕÕóºú¾³Â^¹®Ë·oùž›ÞÓ1w5Î\Ïéª/ùô¡»§Ôµ¶¦g ŠÛ¼i#ñx%ÃŒ{¶9Ä¢1†•2õõ»Xñõr¼þ¿‚  >r••UmˆÇ‘d¹Íw¢$±rù2qº\{ôÆ…Ã!¦L=§ÓÕ&ڰ帻Ìä –eòÉG!Šb7O“k=Öd2Óé`ü„R߉+–/§©©)±㉄ÃL9ð@g»ñhÆcš&Ÿ|ô!’ÜùYóùŽÇår²ÿø‰™ï–/[F 9€ÃéܳñDÂLzŠÃÑf H’ĪoVàõù>ränNv*2¯¼³”}úõB×’èºù£0Þ¦ÅøáÕ<ÿÚ:¦žz(á¸öƒ0tAI&|ô¿ÿ1xè0†ÜË4¥UDvíÜÉgŸ|Ì´Ãfàp8¾“~˜–Ų%K…Þ½Ë;(T?D-÷\•âÚÿ?g-÷,Œ­ýóóeÔí¯éN¥¸|*Èõ¨–{7ªæS©¯§4ïhjÂÐu˜û4eÑ´ϲL³ë5÷=Ù¶,’€"‚¸·M¸VÊ%Š"š¦å­QJˆRÊ¿ßb êé\Y–…ÃáÀ0Œ¬tu¹\™“¥²é«º®#Ib‡ª\=é‹Ëå걫Ï4Mt]K¯ßïÎ=bFZµòdlÝ™ƒ=5=ï­ l¹˜b¾}ÛÛV¶|ÍÜ{ò>tjÊîf¾{.t^X†Ý :‰t8 ¦ea‹bjñ9Gj£j¥ý´?m§õADÓTV®Z™};³,† ŠÛíéä¸:+ïš·f °…Q4œ{ÞùXX¬^½†ë®¹†y'ÌEL›™3‹¯› TH 5]m­]§+˜fÖ|Ïê[™þå»vLÓÌœš”mJ’ˆe¥Æ¢ëF§ÚiZmn™ÙÇ#IŸ,ÛDs0šiÓ4-ÊJ|LUƒnˆí˜z®ù1M³½µÜ­kOCÅLSL1tE@–#µb,ËÂëóár:iljÜ}D6§†ú:êëë=f,ªªå×/ÁD”Dd)¥­[¦…)¤âDDIÊÐÞLW¹ÊEQXS[KqQ………mÞ=§ÓÉç_|ÁÈ#:Ý$[k(¦ibZ»×« Š™EÛ¦oYDœN>úøc&Œßï§±±1¥dtsÿH­ A03‡nXiá_l·¦Z !mãEÄ̾Ò2ΖñXY‰î0»îøi»s}6_ôÞd’{ʈ;;4&ŸC^òí.|¶TòƒÖ¼/×{/mäN·¬ô" ¨šŠÏçÛýX&¦¥“Œ%% ÃÐq:‚„(ˆyI:ï½ÿ.•¸\®Ì!b¤MÍM|òé'vèá=ÎkoŽh=iÿxêiÞ_¼˜íÛwpãu`è!|ñÅüæ÷¿ç™çžcßQ£8þ|ª«ú´1}ugÓïj×·,‹H$BAaAÌYÈÊFöLSȯ6ri238îsÉ)S9|ÒМLÝÊÒ•lãùÙ­ é? †„ª"b!K"»vÔñáãa&¢,uô:³ö˜fF8r»ÝD"q8ôîÝ;ÔØåæžÞÌ{ÌÐ E‘” láõúùûcðÉGp߃#ãóû‘$—ËI"¡ ñy}x}nâq•P0ˆËåÂ_àGÓt¡^³¸Á4)ðyq»]¨ª†ªª$âq<^/^¯›X,A4MÅI ‰²:ÃÙ4 „´¦ì–eT]Ç¡(¨ºŽ,I9çÊãvóÌÓÏ0mÚ!Lž4©p[R\Ìõ×ÝÀ“Oü=Ãü;Ì©8ËR43MtÃ@EDAÀ0MdI"©i8º2™qÅå¿bÕÊÌ?ï|î»÷nêêê;µþd£WËúif ÃIÂëõ²k×®Ôüûý„Ãa)((Àçõ"Ë2‘H„¦¦f**Ê3}¯¯¯Ç4MÜnÅÅE&o™FNæÒÕúìÌOÛÕ o]•9ÍŬºÓ¯®ž™ÏóºÖ¾­®üþ]Åäûœ®„îÌ}¾s+wÊÏÓ›®nè§ÛRƒÑµd:Z¢¬w_¢Ññx§ÓÛù¦J[MYUUjjjøð£ÅȲ‚$I˜†‰×çaø>£øòËÏ÷ЉÅjgò½â·¿cô¨üê²KHªIÞxã f;›3Ï<“sÎ>“ÂÂ"¢Ñ?¿ürî¾ãª*+0{ЇÔÞŸýI’øå—QTT„Óéâw¿ù=š¦uÂ(¬¬ÌwæÄêžÙ‰_)Å´οîy¼E¥Üü÷ðyLÝ¿Ó4®üj-¨ìU@I¯6lo¢¡1İ~¥Töòçuo¦]!Åè[4t·ËŲeËùË}Åï÷¡ª*ååÜ|ãindèàóùˆÇãia6,¸ðÕ׈F£Ì?÷êêêðx<¸\.LÓ$#Ë2g· +‘Àår!áp8m‚, EIL A‘exçíÿR\RÂêUË1j~ð?"á0o¿õ&‡L;”“N9…—_øoüû5ܘÄigü„5«¿å†ëîgè°¡œ}îyÔÕm§±±Ž}GïË›ÿyƒ7þý*“§Hßš&MžÂûï¾Ë Ïÿ“9sçrÐÁ‡‹ÆeE0 E–ùüó/˜{âI¬[»]×2tþñ÷ǘ>m.§YQH&“ÁÀï÷ã÷û)..F¼^/¡PÓ4ñù|X–IQqQZ³ñû|™ºÖ™ê”-Y$VŠf¥¥¥Ìœu$‡gŸ~’dRå‹?à´ÓÏ ~×%%%‚@4EUUEÁïóápy(íUJ(âÞ»ÿÌŽ;ñxûüsîÿë_xþ_/ððƒðɧŸòÀRTTD$å×W\A2™àÆ›o¡wYMÍÍü푇ùã7±iÓf ˜8açœsápd·õj/™˜»2™ç£t壕f{V¶¶;»¶»%V³Y>ÚߓˇޕæÞÕ±­=‰rÏ&TuåÂèÍ[îsn²é ˘½Œ”/I×’x<Åx}Å躆Ëå§°°7¢(¡i‰Ì=m;”ÝoY>ŸŸÏ‡×ãÅëóâq{3æ­©a´+vaõ”‰Á®]u?çX›š‡#”ö*eò¤IìØ±MÕñz¼Œ5†!ƒP[[‹ Š=dž¹ï)((äÜsæïÞ8:]Díæ/ZÌyIÝ4[YÚ4Œ”_úŠ;_cg‚ª@IYWÜõ_–×nGn•uÐÕ¼d«S¬jº’(¨šf˜m®³òܰZºÏçãáGáÌ3Oçɧžæ©'Ÿà’‹/æ®»ïåõ×ßÀëõ‹Å¸äÒŸ³êÛo9zöŽž=‡Õ«WsÿpûŸîàö?ÝA¯^½xâ‰'™qÄ,N;ãL ÃàÓÏ>ãÄ“Næ´ÓÏäÄ“Næ_/¼ÀɧœÊ³ŽbӦ͙~‚•ÖÐA|¯¾üóæÍãÖ[oã™§þAi‡wß~‹gŸ~’‹/¾„çŸ{šÏ>ú ãÇsù¿Âëñ°eó&±(·Üx=¿¸ì2±Ï?ûM õ,~ï]Ö×®æ±GbÁEq÷bíšÕ,ÿj) _zo¼‰×_]È·+–ãr(È¢€$È¢…aš¦I(bαÇrß}÷Ó¯î½÷/œtâ Ä¢1DQäÒË~Áa3Žà®»îÆåLeKœwþ…1ë(^û÷¿©é[Ã¥?¿Œ@0ˆßçãÆ›nfÍšÚ”†kY477q¼“™~ø -z©Å$6ù·ì=–eQQ^Nßêj>øàCEá7Þ`ê”)$ vîÜÉœãçrèá3ùøãq:¬\¹’ÃgÎâÌ3Ï ¡¡¯×ËìcgàÀ¼õÖÛÌ:òhŽ9v»ví" 2ëÈ£¹ð¢‹9ô°™|ûí·™ìŽ”«‰L?LÓ¤¢¢‚'Ÿøo½½ˆ'ÿñw=ô0·Ýz ÜÿWîþó 4—_YÈ‚ /àÙçþÉ~ãÆñÅ_¢ë:§z _tgŸýÂáH&Æ#—[¯k‹\÷µøî\Ÿïá.»{#t뀓î<;¦Ügf‹Óhý]®9Ûýwö¼|Ïcﮥ"_smÜ)¦Þòÿ_’€a膖Ò@[!ˆ¨jI’1-³ãæ/dÙhÓm躞ú-ÿm|b)“®Üc_H{ÿšÃéDUuFŒɨ‘£˜}ô±Üy矹ü——3}ú¡¸ÜV×Ö²«nWs`w%¦ ½e$)óiTB¡PÆÿæp8RÁLi—ÅnfeuÊ[úÔúÙ¹>Ó^,mn*ðIá¦Gñåºfœþ uÛ”õ©ä›²q[²,·ñZÖîå dñÓ˲Œ,Ë™+ ÃÊXŒ4ÝÌ䪻œŽÔu­ú“³´LºÍ—üìb{ìq>óοX,ÆÉóæñÔÓOSà÷sϽá ÎçöÛï`ÁçóÌSOâr¹¸âò_rõUWò›_ÿŠ/¿\Â~È{ï¼ÍÜãçî{îÁçõáñ¸yåå™?ÿ\ž|òi^~ñþxÃõÜ}ï½§ú°Rq¢˜¸]ž}æIî½çn.¼à§üëùOj€Åï~%#FgÆÌ™lÞ´‘ú³uëB¡ W]uÖ¯åý÷Þã·¿ý5¯½ºO>þˆÂB?~>ü`1?9ë,†ÎÕ×\ X,]ú%Ÿ}þ\0ŸE‹ÞbÓæ(Š„$‚$ Èb:~Ä´ˆÇãLž<‰-[¶ðù石¦v-x ¢$ñ'ž`äÈ‘|úñ‡¬ß¸‘µëÖóÐÃ0}Ú4Þxý5¼^‚Ñh,ãêˆÇé÷ ¹êWsõUWòö›ÿåî{îE4MKµO[º&U•ã?ŽW_û7o½ý6#F §¨¨¯×ËU¸š?Ýv+¯¿¶›o¹•’ÒRnøãM<ûÌS\ùûß‘L¦|£±(‘p˜¿=ö¯¼ü7\w×\w=……©³+þöÈÃÜ{ïÝÜùç»)--I[T¬6}q:ü÷Í7yã7xüoÒÔÔD$Á0 ú÷ïÇŽ;Ðud2ÁçŸÇÍ7ßÊÔ)SX²d)&Œç”“ç±víZ^xéEο`ªªfüçÝÚcÚ1ƒ6 ?{x„ëÞqpó½boŒ¹Ç<zžâÙsÑ<‡=ÃZ1u+³)*Š›D<‚ÃáÎl®ÑH’¤dWîIiœ&J(éÜfQ’Ð5p»=Ô®]ƒièºÎ®º]?g.……E=Ö“[útüœÙÜvÇœý“3H$â蚆ª©ÔÕÕ‹ÇØ´i3µµëhljfüþãÐ4-ý2÷ܼ­( [¶læëe_#Š"n—›p(„,Ëlß¾>\L(F&ŒŸHQQQ&Íêä%i ̉Çã|ðÁâÝéÀ4A2J¸®ë 2”¡C†fÆÓ“ 5Sv8ú×ǼúñFªûWŽªb*PrÓÎe½9íªñÂm§PQêG7Ìœ®ƒÔò0ª¦ãe¦NÊ?ÿùÀo¼‰·ßü/¿²€›6sÓ-· †:t(‰DUUS”®S^Þ›x"¡hšÆ7+WqÁ…™:y2õõõ 64cIÐ -s Š"–i‘L¯ŸH$Â~ûà±ÇgöìcˆF£XD"4MK»bÜ<þ÷'8þ¸9œ|òû,~ûÛß2~üx***¸ãŽ;…T¢²˜ò]cY$“I9ù¤).*dìØ1<ùÔ3èšÆS§rß_ïçâòÖ[osÌÑG1eêTî¾ç/,¸ð|î¿ÿfÏ>†ššž|êifΘÁ“O=ÍÏ.¾ˆ`0H8aæŒÃéWSÃŒÃãÅW^A×õ6Âë–„B!¹ò÷¿%ãõúˆD"D£QŽ˜9ƒ1£÷eÊ”)¼²p!ñx‚ð·¿=†ÏïcÉ’¥H’D(FQ¦O?„³ò¼^_|ùº®2Qè¡`(ÑŸ6ƒ·øÐMÓÄ0 ñ>òGs, Ì?÷ö>Œk¯»ãæËÇŸ|ÊS§âr:©­]ËÚµkÙ¾cE……üû߯£:½ËÊøä“O™3gNjÜ™HþübNrùx»2Swç¾î ûÝeî¹²v¾óÍ»{§ÙGݼoOû³yÄ>î=fö±)¥$FÐ ŸÏ®ëD£QdYÉ,lÓ´2 < +b‘‚( &5Ù‰žöy†A ¹™ÊÊ>hšÊ†õë1jñx §ÓÁ×˾bßQ£é[SÃàAC8pEEE¸\ndYæ£?H™Še‰`0ˆËéÄãI•“]±|ýûÈTa“$‰ææ&ÊÊz“L¦€ DÂ!‰$}*QÕ”ó–-¬®]Cq‘ŸÊŠ J‹ Ù¼i`R\THs À°!ƒ±‰£œE,Å4u Ã`Íêo:lŸLä»eY$“ üþ‚Œ/\–e6nØHeUUz7q8,[þ5߬ü†uëÖ±aÃz©®®æóÏ?cëÖ­Ô74°cÇvöµ/ÕUUhZÓ4ih¨'‹Ð§O@3ª¦R^^žÒôÒ‹-b×ά[¿ž ë׳}Ǩ¯¯§¾¾ž;wâóz9ðÀƒˆÇciúèÔ®YÍÐaÃ2ã1MUMâóù1ŒÝãÙ°~U}«!\¦ªI–¬ÚÆþÃÊ©.ùð«Mô*ëE"©O¨("”*1Ž?pc†ôFÓ4÷-F× êëëI$âTVVÒÜÔ„n”••¡i) ¨e!SÇVóâ¢o(.+EÕMÀ"‘ÐHj²¢P_×ÈŸ~6Ÿ3ŽH4ŽièèºÆºÚZ† Ö¡,ð†õë()-ÍhAýúõcÍšZþ÷¿Å˜¦Å/.»Ë‚ºúzvÕÕñÓùçÒÜÜLeeÏ<û²$qî9gSRRªUß ™0~<ƒæ‰'ždË–­vè¡(…^½JéÕ«PTTDŸÊJ ÃÀï÷SÓ·M× Ô••áózˆÅbyä‘TTV`Y&¢(âPÜñL™2…Þåå$ &N<€>••LŸ6Ë~q ,àƒ!0fì,XÀüùóéSÙ‡>••|ÐA$Õ$……\wýu|úé§Œ;–¾}ûrØa‡±`ÁN=õÔt]‡ÝÁšµk×Ò§¼š¦#Ie½zQRZBii)†a"K2%%ÅL˜0xíµ×ùéüs©®®fðàAÄã1Þ{ÿœtÒ‰ô©¬dÚ!‡°lÙ2¾]½šãçÌ¡_¿~ø}>ª««˜:e _}õ5/¿²ý÷ß>••™ÔÂX,¸\n Ó@‘€Ó餸¸]×Q55}™2e2ò)ÿ~ýu&OšDqq!“'OæíE‹e…éÓ§1hÐ@C‡eô¾£yñ¥—X²d)3fŽÛåÆ_à§ou5º®ãõzéß¿_FColh ¸¸$³ñºÝnúVWsÔQGñå—_Ò§ªÓ§M# òÆþCEy9ãÆeß}G±k×.Þ^´ˆ#œÅøñã).*bñ°lÙr\xa¦M˲0L5©Ò§ª:óþõ”ÑæÍÝÓ »||¿Ý-éÚ~t'5¬»s ì%m9—%$ßø†¼çDinjìLCo[Æ2MIll- âtx0 Eq!‰2‰D¿_Äj9Ò­C§vKb‰D‚ ûOà¹çŸI1_ ±©‰â¢"Hk1ååÿ’ް7Í´Û­…a¥rjM Q´PÓ&g·ËMIi ýúõ§®¾H$Œ(ÊÇq‰ŽV‚€Ø}ŸsK›‘H˜“NœG$AEü>?×^w G1‹`(È•¿»Š¦¦&¤t*LKÑ Ql© ÐÊëlµš Kgà€\uåU­;jõ^—H$ÜcÉ·}°ãsÇcZ¦aðÄ¢uˆbªmh '˜;ir˜I Ã"–P‘%k\ë熢 &®áºùSøÍ‹Ùgø`‰”víu+Ôïªçòyc9eæ¾C1$ILÏ…•UêÚôßÄ0R®ŠÓN=§Ó‰¦iÄã1–¯XÁÝwßË¥—üŒp8Œ ¤òUWþÃ0‡BH’È¿üºa4SÖ«”«ÿp–e …ñù|ô«©!™LRR\ÄS§’H$p8Ìœ1# / ¢‚’ ÓV1óCTî² J"‰x*Š\Õ’!#c¡QMMÒKåë·Ä¨ZŸÏÇæÍ›8à€Ë™=ûXfÍ:‚X,F2™ Jåñ˲LK³) =õþéºFÿ~ýE!Ò—zí†  @ss3‡:ÙÇM("‘H`Y&Ç}4'ž0—D"ªjhšÆ‚"Š"ªš$‘HrÌ1G“H$ˆÅ¢œrÊ<œN'‘H4ÓNÊ$Ÿv÷Y&¡P(sOÆ: qüœc‰%âhšÊY?9‡ÃA8AU5Áâ7¿þ†®cZ&Á`O˜KSS.—“+.ÿ‚  …8ìÐC‰Çc‚ÈÑG•Šo…6‚Šô?öØÙC¡Tàyó‰Åb„Ãaf1ƒã›“‰úÇãœxâ œqÆéD£Q¢Ñ(N—“Ÿ]|QÊb ¥­j)Ëæî(÷ܕξ¯Ò¯íßý\fä\&óÎU®2ª¹àzZú5ܓүÙúÞÕ|磑ïQé×Î7o«MñÔ¼;®Î4SyÈ-‘è­ƒÞÚ³ó–4”d2IYYoN;åô”ÏW’xáÅç9a½è-Ün7†i’L&PÒÕàÌŒ ΢;ái–µ{ƒH$444dL¢º¦ãr:)**Ä0Rþ{ǃšLùʶnÝŒÛãEE„nšª[› [àõx!# 8\.Š¢àv{p»ã“Ÿ)¤bfæ¾­ 2£·¸7Ü.wÞ.‡Öÿv_@Ù}_0šHYl Ã41-Z6=Ã$¡êXF‚P$‘®Ž¶;0Mh%1¶ld-Ï€`(α‡ìCS0ÆõO|Éð} +2Û¶ÕqÉq£˜Üþ#‰TeºŒõÈÌùÂX–Ù†éG"ጀãr9injâÜsÎbøða­Ú1RþèV›D H§ä§Úný{ëºì-V–è×D"–©ó/R+aC–äïŒÒ:OÚ)-1‰‚…Ü:½1àhÏâ±óæÄégœ•f‚RºIÛg‰SPÒ&÷TÀªÖAÎ×45Íü‰Xš îÞÄbñ(±X´MàN(lC—X,šÙ„#‘‘H¤Õf•ZGBš¡ ™{ZÇE[='w { ÐܦÝh4’qŸ6×'±4­ÌL[-B •Y?f‡þ‡B¡L‘­x<–²,´{4I·K†þÁ` ÓK f§áž”~ÍvM¾¥_»ÒÐ;3¹gK[Ë7E­«ï~Œ¥_³1à|•Î4ô½Rúµ#3jÑ2M,KÈhSí¯kÏÌ;MÁJoÜ©jbzæ¥r¹\¨ªJ,CQ””Ö`š ¼/~ŸmÛ¶f|X)ÿ^÷|Ù-Œ$±mÛ6\N'íÓ<A@×RG%ÊŠBc}3[¶laÀ€ˆNg÷=è-þ¿¬&©T®¯ÇãÍʰ;H í£.R\rÑ´G ]è( X€®hªJÆÝŸÞÄ4ÝÄÐu4MK×ß]m¯C9ßô¦ÙºO¦iRß”ä”û°½.À?ÞÙŒaZœ6­†ùsFÓˆ È¦)d„½\U¶h•þ”mmÆã &M: #ô ‚ˆe™9^¦Îƒûr¶ÄTˆXH­ù©@V§V¯nÕJ™®pQÀÞ¤ IDAT³¬¶+?)‰äœ«îøøò­çÝÙÿ­v‚d>›W}É}}Ç ³uÛí+ v‡)å³f2k¸›©e{+P­§fü|S®öfº£ñækUØÓ@¹½ñûžÐ\î4”«£Ni2–e[¦’$c†‘{#°ÒÁ6í¥¦T©UÛËàÁCÒ'‰YâP8ÎÝ©O¦Ù½]Í"SmÊ0túT”óÒ+ ™:yn‡x<†ÛåB‘e'%¥%¼ñæ;ì;r$’ îv;=(Äbš©<öv?šNii)·ÜzCAM&³nÉ:—V§E^ºÕ·žÜ“OKÔr<ž ™LR×eëö&"Ñ8ÑX’Æ`œ`8J8"©Ó™JɳLÌŽ–›7ŠeY™HpUUinÔ8íÐÔn®ËbþQCÙ¶½—ÓÃáÀát¢ÈrjMd©ÞB3#­IëºñƒŸ4-Š"¡`°MÄ–Hמ~ÑÙÁ-íµ”)íúXGX4B @k)òòÍQ¸%¥S ƒÐû}BVd¢‘æfLËìÑ¿ynS©Œ›¤Jsc#I5iŸŠþÿ±wÞqRÔ÷ÿÎlß½;îŽkÀQΣW©Šb%ØÁØkPbE"¶Xb¢ňþb#D$j¢1‚Æ{¥á€;®ßmöûcw‡Ý»-³W¿™÷ãqp·»3ó™ùìçÝ>ï÷ëeJÊïK¡0Gw:­é²Ù¬ÔÕÕ¶¡m»;®Eöá´´†UUÕ6 ðЬàr¹XñÖ›qõÑb½;w0åÄŸ¡FÈ2ÚA‰,Ç ãº_]Ã˯þ‹u7ðûô´¨q`Î8õTŽ›t…EEzuF]HœrJSs¿™ù¬V+RH¢¹9œ¶kÿ®FRt­Ÿc|£½’i„.$ˆ”¢†Àbµp×E#PQ5O¸—XÑ=°„@PB´ØôkŠm@z„Hô¬%“7 qóù£Â)S¿ŒÝn;ÒŒÉV$K¹k‘”vž¥„‚¡C‚{¼{A…Emæ¶={”íý;qšOe섉a¸ÓYŠKzFªË|*º¢¢† 6= DRò¦97%õweUY99ôíÛ/…AìË*ŠBVV6§Œ,…ô£֞¾ X-VìGÊÔ˜žM ¸ý?Çs<€?’Œµ$0zäáØl¶ä&ã‹<6Em±XÈËËcâ˜0~¼ÞÞVtÐQ±X-:ÒYÔe’óTS¦ÜÃ{oºQŒ€¾$ú\²=ôŽ´ŸiíˆðUMCŒ™¿èÖˆ¢(L?gl™(Š(¨Zx/7Ö¹Ñb‘eô¶È÷#Š".— »ÝÞÊX X,¢qêäIÒÃzt«i¸¡´´7š¦%6èúV]DAÚ,lVwÊøØJÐèßa¨é•Ï ¥,8£„%§C¶"éô‚‚‘[n{?‚ `³Û±N'JCÆF’F`liÑ&plñ›ÑH™N\÷dÀ0–à~bSº’:ð ‚™4{Û §0ÑDî¢Ä>³´Ï"â J¡ªARŽÿEÅ®#‘L]iŠ)?‰¹Qýׯ geeS]UM^~wìv{FŠ NE °ë‡((,Ô+†]n7[¾ÛLï>½Û¯'ŠTTT••˜Æ išF·Ü\6}»‰Ã+#Íh7´víjz•öÖ‘¬R9½JKY»f5G9Q¯ðnr †BìÞ½›þýû£( ¹yy|·ù;ÊÊÊp¹\í¾ÐX³z5¥Fï§woÖ¬^Í„#ŽŒqÐÚq?Á ••• 8EQÈÏÏ端¾¢O¿~¸œÎöZ!4McͪU”–ö6dµ ¤jyi]ÝšŠR2ÕgÒo䨨¿ÍHÎS~*Y­ÝëÜh0`m}A—ÛMYùaìÙ½‹`{‹b´p¾  ˆ’½øýˆ¢…ÃGfõªU¬]»ºC˜ìÝrº1|äˆVûúaD´Ö7éÉÊbذa|úÉÇ„‚A´öÍ‹…¢¢"†Më)èוe™¾ýúáõzykÅrTEi÷um6åýûSXT„¢(x²²:t(Ÿ|ô¡PÇ¸˜ò!ƒ[e¢ÛÄÝOYY>¯—·–¿‰ªvì~ú@÷ÂÂð–Nvƒæ“ÿÆèÀý”””P> ?ŠÈ½u{H"ãÝúó¡ULÔÇ›Ì Hö~²¶·ÃŠÍ*šÓS~C YHJ­ª*!I2Dáši¿zrƒSÄ•••ŨÑc:¸× ñû|,d§ËŤcŽmÝ%“qln}Š dY¢ °¿ÏW\&«*EÅ%LéÙS'ši¯„ óÁk‘ŒAvvvظFÆ¢i*0dè0† ÞÁëjúVC´®¡¸¤={õê’ûE YYÙ}bîgè°á 1¢îG»Ÿ’=éUZšæ¼Ñ/zøËmµZE ±ÅÑ¢%Y–ÓîM'€0D‘ˆŸÎh¤œÈ)h½ÀSñC·vN,‘–//¬ø–ÝÕa4SÁšbÊÁ«£ŠZ„Zëœðbôx<Œ7ììbÁÕŒ¬óvËh8œÎhi9!Iê°rˆ¦Ù‰c=Õ:|^«‰’¾Ý œhªŠÅbM¨À;*‚ÍžÐÃp㉋´Uÿ¾¬6›pïG8äîGB¡ ªª`µZÙ¹óªöí‹# °YÃ(GyªÊîdi¯TQ}"Ž‚¶­_©¯—,užh¨²ÄKï}Ç1†qøÀRµëZªL1Å”Ä.~mm ßoZË “§DÖ`¼£^¹§’o¾ü‚)'Œßïoƒj—zgÆao ëØp‘YVV6’,™JÁ”CNDQ@QdD‹È–ï6³¯jÆDUÂز$~€·ßZÁ©§ž„‹=ÞÛ5²oÞz1%ÚWOÆV•ÌX§ë-Oׇ®!ÐÔì#¨Z8bh)’,cµˆ˜!º)¦\ƒn·„×#€ áp:ñû|¸Ün‚¥½Jù.+ ¯Ï§·k'ƒ®MfÜc·ìRõ¸PVUÃè^f¡)‡š‚5¿ngíÚ5\ý«k ƒ&9¿ß,‡)@êX·v-:JÇÄO—ÚŠEËËËÓ™·\UUÉÊò„9¶#ØÞ­Ï“ö2>u¢.d¸ÎÑñB˜†Ø\¶¦˜rÐ5S<ò—Ãéä­·ÞâÔSOåÝwßeòäɺ›Jl½ÎUE!Ñ^t <ÜÚ›ž–<Æ GÛÊÔLgf>Jx€N§ UUðù|¸].D‹ŸÏ›ñùL1%nɈ"[6G¿~‡¡(2î¾¢(mZ%%Y&¿{ûkö§ÿÞj.— OV6>o nO“'OfÅò7©««‹ëôˆܼ¼<î¼ó.Î:ëL¼^/Ç×ÙýÒ‘6¤"É0BüÚé1N¿ØQ¢ŽLΑî|鮕n1Q´“*“î^ŒŒ7¢ŽtÄ(Fç<ÓçmÎyçÌyª1F15¢q¯½öO?ýUU{¹à‹œvÚ騪¢ÛÊÖÇÛl6¾ûö[¾ùúK¬6[}5¬›~?Ù99œ3u^¯WÇIÑÒFèQ’ EÁ•¦"¼OSNœÕj¡¡¡‰SN9•‡ü#ÇgÍšµlÞü^tþY)¦´KZÑD±à£ôÃ÷ß§g¯Rz”–R”nÿ75™¸Ýn^[º”^x‹ÅÊ9çœÍUW]­Gõ6› ·Û×ëÅãñ`·Ûõ÷tºKå@E}vv6‹…––$I"''GçòÖ¯×fŒóxhii!';EUq8´ð:ËÉÉAQ”0DlSV««ÕŠßï×ÁŒZ$3ö™´Æ$3 FÏ‘î|鮕®õ/™²Oö™t÷bd¼™ÔMtVkR¦ÏÛœóΙsA¨¬¬dþüùìÞ½›ë®»ŽI“&Åùµ {w^}åU, Ë–¾ÎÚuk£?NÅ^Ãjµ²yó·\vÅt²²³õϼ÷þû¼ôÒËœpÌQ:8Z\”žžm-ܶöÑdzbÅ[Øív.¸à|ÊËË‘d9ކ2VÓfwrϽ·pÿý÷sXy9]´ˆ±cÇòÝæ-€@lSWgÖ›ò¿”Ô"a[„,I|ýåç”õ@uÕ>ä2=zôDKéÆÅn·óÞûïóÁûðÏü¯ÏËßý-ùË2v‡ƒ=›7³rå*.¾ø"–-{ƒ/¿ú’O<‘SN95†?> Eœ““Ë/¾ÈöŠ ®ºj:……¼þúëaÚÕ–zöìÉQ'b·Ûyë­·™<ùD^_¶ ›ÝÎçŸ}Î%—\Lii)v»Ç, ++ ÛÍé§ŸNåž=TWW3vÌBÀWÏ„@%Q4Ózk šˆö²õg3%^1‚sŸŒ%]?p{Ÿ¥ƒ•ê5„]AšcÎyrÙ°a¿þõ¯)//çâ‹/fàÀÄØA U‘9òÈ#…BÈr¸õwÂøñ¨Šœò56H¡+W®dÚÏÎç_|Áêo¾4\Õ&ƪM-B²òè£2nìXÆŽìY³h¨¯§±¾žºº:V®\‰Çã¡®¶–U+Wê„ß~û-õuµü~®¾új±D褤Pˆ•߬¤¥¥»Í¦3Ÿ™?æÑŸDâ÷û6b}ûõcð¡a°!½•-}:2/7—Ê={X±bßoÙÊ­s~ŽÜ=n¶~ÿ=W]}5#F gùŠTVVråWðÚk¯±iãlvùùù<«tØí‹ö>sÎ;wÎUUåä“O¦¼¼<…`kÕ$õõõTíÛG}]þSµo õõ‘hZK™-œ÷È<,XÀE]ÄsÏ=ÇÁƒõÌi¡¸œ.Ž?þ8ºòá‡â÷û¹úš_‘——ˈá#(--eúô«9b žx’gŸyš­[·ò¯×^Ãårqý 7r÷]w"Š"€3f0pà@_ð8ó~˜¼¼¼‹˜ò¿¢'þ2gçä ©j0HÓÈéÖ Y–t¾ëT …3f zèAþõ¯×x÷½÷Xô·E<ûìs455qæ™gñþûïáñx:d(Ïýu!÷Ý?Û¶mgûöíºG““C·nÝxñ¥—:tßmþŽ×—- _¿2nºùæð‚u¹õý¯¼ü<4 ´´sæÌžzúÑÂ;ï¾ËÊ•+8þøÿ‡?`ÒÑGsÚ©§RWWg¨0&“¾útJ>Yd–‰òíh4Úž:U[b&Ï àO:þñdýÄéöÝ3ALÕ5aÎyçÍyìgfϞ͙gž¶aZ,áìúa'~ŸÖ á.—;Â&™<Î%‰ãŽ;Ž+¯ü%o¿ý6½zõbÚ´iá¨;<k"¯Çf·ñÜÂ…X,6lÜ@ß~ýp»\<øÇéWVÆu3fðûûïcâQGsÓM7²oß>N<ñD™÷0õõõtë–ƒ$Ë8Þü÷›(²Â„ ظq#Ë–-ãšk®Ágî«›ÒNo>úF¬QìY–Q§Ó–LCE*++‘e™»î¾€£ŽšˆªÈäätãúßü†[çÌañâxøO¢¦¶†%/,溙³…BXDKdÁ†«Ü{õêů®¹†ñãÇsåW„בՊ¦*bØø{½^œ.7Û·W`±†—^(ÄîpècÍÎÎbOånЋШ¹cV«•Ý»wSQQAÿþýÓÂô&KYfZ¼”,ÍÙžó‰î:ú~gD“éà~¤±“1£…píMû›sÞus}íw¿û—]v#FŒˆw¾I’4x6»=Üq#IØl6œN'¡Ä®Ý»Â@mIÆ(IcÆŒá£>bøðá¼ñÆíÒ•mÚÖÐTT%\鞓͓O<¥eµYBUÅï ñûýø|^ªªªe)$!K²¢ …°X,H’ÄgœÁ&ÐÔÔÔ!¦0Sþw º(ŠÔ×ÕóÒß—èÆ-L±©êA MŒ=:åwLŒpº?üð<~ص AøùÔ©ˆ+€ŸK.½Œ}ûö1kæLf̸–kgÌàø&£È2§œ|rÅomm-zèAn¸ñ&ZZZ})**2‹ãLi—Q² ³Ë2„ÃFL¢¾Ñ‹ªiH’BPRQYQipµ°?äÅ"$ÿŽÉ²LQQÏ>ûŒ® $Ibuï¿÷û««¸öÚkuB™·V¬Ð·ßïgòäÉ„B!–,~ŸßÇãaékÿÒ•LÍþj>úð¿ÔÔÔ G5‘/¿üE #ÝÕì¯æÃÿþW§Ð]úÚkx½^z÷îÍ’SPPÀ9S§¢( Ç{,§œ|2uuu)«ÜS¥8“áÈIß§jJ¦`S¯T€>éxRáç§*Âj}£…iéÒ·™ÏtÑaº1$úßœó®sUU¹óÎ;¹óÎ;Ïa6½±¡ Ï?ŸË¯¸’W_ýkÖ®å…çÿFC}C›L{ìBÁ Gs,kV¯bÝÚÕzP{ì¸ñh oÙ¥ì8kmÏ«öícÁ‚¸\.=ªÙ_ÍÂ…Ïa·ÛÃÄ#}ûòì3ϰgÏ @mÍ~ž|â ²²²Ð4GæÍÃår1cƵȒÌCü#[·m#·[7zôèa(mhŠ)É" 2Á@Ÿß¦iC AIAVB’ rQÐRî¢G‹]ôl‘ `Pµ644`³Ùðûýz«Hcc£N ,Š"¡P(ÜVÖܬïk766êŸ=¦iȲL]]~/6›M_½=ÍårqÝÌ™ì¨ØÁÿøS?Úƒj¤:ÙH$iÄX%‹*SE«ÉR·é¯Ö O ÙØÒµ8¥Š$S5•AIWõlŒÉ ]*Ãe´½-U¤kÎyçÎy<*6ã׺(.ÚVÖ-7—%/,æÊéWñ—^Œ Uª);TU%;;‡SN=ã”u$r>¯·3ŸË=Ú¤(2;î@Y–uc á‚"—ËEÿþýQUI’ðx<úEÜnwhƉ$IhšFÿòò0ð‡iÌMiG„Þ«".¢EŒ ¹hÑ QÑ" (4¤”uî±|ëÖÈ~vô:Q#,‚þžÕjM¨¢ð²±ŸMtž(Ê]ìÂŽ¾=T^zñï Xhl¨£ß%ŒÊ…ȺOÎþÖúõŽV§ú\*º®[&×K5ÖL«ØŽ1“ãÓU g:Wæœw|Î[¯ÏVšD_Ц°Øl,{}) (ªš2°ˆêUUinn2”¡1–r„H/Šh2êLw™î3¦˜bTìv’,a-ŠÎ‹þS-t£mHímŠ.Øêêýº³l! €ÛiU¢¾9@^¶Óü’˜bÊÁÏ’åA–$6;š#¼EímiÁép Þ/²,ãpØ Ciˆö€÷´5èh8N¬6[„­Ì4¼¦:’—ß` €Ããøq—¯AJÖL#¡ØÅÛ:H|Ž04äÔcðø‹ÿ¥Ù/Èý™bŠ)O4‰ÁîJ–¾¾45A0bcâÑ“ÐT-mVÃHF#ízT}ùÙ'~èÛš D‰ÞY˜bJGE’$† Fާó"ÑöÒ§¦2æí…ðLHý\ëH^VTz÷ÈçŽ_ŸQ¯ª)¦˜Ò™]#¤XD¡-µ2 jÞ–äVÄgFÖy&pÎ"t!¼¡øØqí¦NUOVû««QT•¼¼\Ž0•\tƒßSÚë(úý¾.C«2²GÕDBøbíŠêɲBMm#ª¹•eŠ)?Žn‚´L‡‹%!Õrºuž)óiºËå“Idp’hå/À?^ý+ÞY¤Hˆ¿7Ààƒ¹ñºÉñ¹M1%ö‹ ‚³Ý>£žlñµ‰¾IŸÿʤ·Wìv›¹®L1åP à “ž%ªþÏü'‹Ü=EÈŸN¹‰¢H}}=^v!ÎîNjÈé–Ã…×^ÈŽïwðÙ»Ÿqî/Ïåæ_ÝÌ駦gM4ÒG˜Šf/QÁ^²2ÿTm ÉÆ“n¼F”qª>Ò„Ê¿´ŠFÇŸìøt†&Õu}ÎÈ3Lvþÿ5c•É"—$‰ª½{hni1ó_¦˜rs—ÓIÏÒÞq]-™Dß™è?kG¦iœùó3É.Ê&ä1ö¨±Œ4–·_}›5Ÿ¯á˜“ሎ౑““Ã1“ŽÑz¬qo­È¥!?ýôSæÌ™Ã'Ÿ|F®KÐJ“(Š,\¸ &0|øð„Ÿ9Ø‘ÞÁ4L]}u/m :¤ïAœóh«ËΊídåä0pðŽ•û›bŠ)¼HADêjöóÃÎ †I0àGÄéæTºÝš©‚í›E‘yóçQÒ¿„cO:–Ü‚\|->Þzå->\þ!GO9𱓯ÒÒÔÂ/~ù {æ1Ž<âHÝ‹¢Èí·ßNcc#999üìg?ãÄOlÅGÇñç?ÿ™O>ùDGÛJÖ××ãv»Yºt)çœsN—pæ…„4ò™ÎàInýwºÂ‹DÑzgó$·§È,¹EW:þøcÞ|óMœÎp‹“ËåÒA:E¨É”vgñ·Ç˜eâ1f’a‰½v¦ã7šoO¯åºP[Ênݺéß™üîÝÛ¼¯ª*.—Ë•i—ϹpàxóÇü1ºþG_¯­ßK²iQq:]¸\mì6»aÛcm­PæÏŸOß¾}ùòË/¹óÎ;Y±bYYY|óÍ7m"”½ûöâÎv£È «…]ÛvQ½§šP0Äέ;ùàßàt:yé©—-"N§“ýµûùÃ=@Q½”?ÎȤڟ}öY&OžLUUÏ?ÿ<·Ýv%%%œp át£ßÏçŸNSSß|ó yyy:¦ÇãA–e4M#??Ÿrá…F B5C 7Þo&déR¾©*“¥iS½ŸîšÉ<Âö7$:Gº­ŒdlM©X ºÊ1ˆDL«ÕʣΧOŸ>Œ?Ž[fßÊÃzˆ`0¨p—ËŇ}DY¿~Æ}wyã]5çQO¼5>¸¹“nŠ)]âùG ùu‡ €¦!FôˆF˜Î™4ý汯‹¢HcC_~ñ9²,‹¥( ‡•÷gøˆ‘(Š’y•»¢(ÜxãÌ›7)S¦Ð»wo.\ˆ¢(m"’¼¼<¤ „h 4عm'£ŽEQÏ"lvN—“ê=ÕŒ;v{~ØCÅæ N;ý´°"ðI»ÝaÜx«ÕÊöíÛuƒžŸŸÏ”)SèÛ·/'NÀn{*Ë—/çã?æ®»îâñÇ×ñ®[ZZرceeeúÍL?Ýþ¥Ñ(¸õCMîŸIº;)ħt DÎF²1‰²¤ÁÓu 926¨ƒQÝ.Š"@€5kÖè|£FbÍÚµlù~ —]v)W_ó+®ýõ¯P"-'¡°Çãáßÿ~“sÎ>‹ÂÂBdYF–eêë(..ÒÇ^œpàEAÅN›ó¸ï“¦(âóùôÌTÜܘmm¦˜ÒqƒÎv5-`³Û©Ú»—µ«W2é¸p8q¸áuضa5–ãá믿døˆ‘÷è¡o¥ ‘àtÉâEŒ›p1dN†‹â¢QÆÍ7ßLii)矾®ˆb•¦iŒ3žGžy„¬¬,>}çSDϾ=Q…^}{àkñ±pÞB>˜#&AyAy\$þñÇsà ŸgYA IDAT7à÷ûq8Ì;€û￟{î¹—ËE^^#Gޤ±±€°dÉn¸áªªªèÕ«gŸ}6W^y%o¼ñÌž=¿ß×ëå„NओNâÉ'Ÿ¤ÿþ†èÍ¢8c‘ùOµ(În·³|ùrž|òÿqÆgPßPO¯^½Ø·wÇ{,EÅ%Ô×ÕqÊ©§Q]µ¬¬,ü~¿žr»\X¬VÜn7>Ÿ½{÷rï½÷ñê¿þEÍþjÜ.!IÒ x0Äår!˲NIÜ‘9o¥gÐ4 §ÃÁ§þ—O:¿ß QÃÜê˜È°¦˜Òƒ]@Z„ÞTE*wï¢r×.FϪ¯¿b䘱¸œN}­…íD*ý& K…ÅÅtï^Ðæs6»=õØž³&‹^EáüóÏ×é $7/—QGQ±­MÕÈíž‹ªª¨ŠŠ¦†=w–›é³§³øñÅ(!…ß>ôÛ8åôÝwß…j,–¸(º¬¬ŒE‹ q8hšÆ{g¦iºA¾•þóŸq¯EÓóåååL›6-.½šŠÐHÊÝHÚ¾#iëdc0’Î7Õe``“'ZÅdǦ¢ULòô ƒ%`áˆ[bö­³9眩úëWþr:N‡ƒ¾ò ßmÞÌi§ÆË/½ÈŒ×±»²’’%<¿hªª’“Í?þñOÞ}ï], Ÿñ3g^Ç‚O°è¯ ùÛ󋑤zè!&u4W_}çŸwcÆŒIÏÑIårp"ÏKU5ìv»ƒÖámÃMö,-¥¤GO†ÙS:lÓãƒZð{½Œ?r"Š¢0rôšðôê¥g茵Öí b’ö¡Gx² D¿aÆ \>ãrκì,>ýϧ””–_˜OIïäŒÕf¥©¾‰ìîÙœ}ÒÙÇ¥%IÒ môõèÍEÿަû£½ç­ß ãÇ‹zê=v¯!Ѿ¹QÔt)÷dm}FRîÉXvÚ“~ÍtâÓ±†eB_˜îù¥JñwUÊÝÈQ‚ н ;—_~<ò(µµµÜwï=Ü}×]8œÎ:ël&Ÿx"Ë—/çÿ=ù¹yy<ñÄn™}+K—¾NAA>ô¹¹¹ü¿'Ÿ¤©© ·ÛÍ‚O°¿ºŠgž}Žþóì¨ØÁ­·ÎáãO>áúß\O~~^Êg÷̌ܿŽô¸AÓP…ÂÂb† †?`ÕW_Ò¯_---&æ»)¦t4J?C‘B <„€ß„ °srºøcê\´„F¨L±9¬F#±d^EII Þý 7Ýq“N›Dqb¾üàK|->>˜¦†&–<½„k.¿†Ë.º,n/>–Y*‘ˆúXªÖüѱcjÝ›«¼¢(=±ÞM¹@“9FRî©¢éDž]ºûJv|¦iðT×IW0h4ÒÕhqµµµ<6ÿQ.»ü Ý Ît>Ýr» ðû¬[·Ž[çÌ4Æ˦o7Q]]͘ѣ±ÛíìÛ·Ÿ×§++wóØüǨo¨çòË/Ççm¡ÿrB¡’$uxÎÌJ($ F+ÂüËÛ·±{×äät# "Dj’ó:›bŠ)é!I !¡PˆP(„(Š|¿ù;zôì~?¢±±ÂHà]ß²¢Ä 5‚áLpF=“bUU9|Ôá,]²”z€¾þw®›¯¬`çæhAçŸzž c'Ä¥ïÓõ§ƒM—7b|~ ЯɹfÈQ0¡_“‹EY¶ì \.{챨ª‚ ܆†pÍÆqÇËÆM™öóŸ³vÝ:|>UUUü顇X²äïÜ6w.³fÎdÛöí¼÷Þ»3iÓ¦McÈÁtïÞ­Û¶áöd1kÖL~>õçŒ52õœ'i)L_S­šðµ´0hØ0ü>~@Ï[h&šœ)¦tÀª‡Mol‹š |»q}ú•±åÛM u¸^§Ï%ZËzF2œv{ˆ·¥™róM7±|ùrÊÊÊ(--墋."//ü#¯¿¾ ·ÛÍ­³oaû¶íL:úhæÞvK_ŠŠL=çš›¹äâ‹)..6–Ö3Zá«XDUÕ$‰ÁC‡ðèÞ½€#&“0º)¦´×žÇï¡+ŠBž¥|ýÅg{Âd½£%v½XsZü:'Ü sØaå¼´äy¬‘:²F]DU•8•vGèF%j EÁn·3tÈPý=Y‘Û´ê$ºFª}j£Ç$Jaþ˜F²3p½Û àŸÉsèÊq™/£ïw¦(ŠBnn.³fÎÔ¿c@@/ sÌ$0Ã[=˜5k²$:dªªÒÔÔÄé§ŸF0ä¸ãŽÃjµÒÜÜŒ \xÁˆ‘V²P(ÄàÁƒÃE£iXÛS!Š"Ö­Áív£ªV›|'Ü[o³ÒÐPŸ‡ÁSLI½Î´Ø=ôˆ„BA ‹ŠõÂÓ¤¼çBb[%ICGŒ`Ìø ×§ÅbÁçõ¶Ù‚6lÐÛk@b÷ÆõÁˆ–Hj^£¾nùÝ»*ª$(ƒ "É!‚Á Š, Ê¥µ5µuìIºò3â$2f‰RÁ©ŒH&(j]‰×Þ1d‚—i´fÔJ•n7úZWGòÑí"¯×›ôýP(¤CUUç ÌC.모ÑÝWÓ4-Ü:s¾è1©82šó˜šY–)éÑ“ÒÞ}©¯«Õ‹DebL1Å”öôhJ¼‹òÖ ŸúM¢#£ÿ+²BSCCÂô|l=Y:=‘²(®=J YATÐßÈžÝ?ðûûÿˆÍá@•%,ÈŠD EAVUE!àtºÈÎÉeäè Ú˜’+½ö  µ>.Ó/#}èÉÆ’IA[{³éŠ;kÎ èEºëlŸª-Z]ªïb{ßoÏœ ‚Ц'ÖétQ½o¯ŽZeŠ)¦t¶QWc Ý¡ƒÆí£§8¶uº=]1¼‡ÞFqˆòb•U¢c\ž,V­Z;;Ÿž=Jضm.WÇF}}K£GI o,[Æ’ÿNŸ²Aäädǵ¯ES¦ÑT¾ªªq0z­ÇM£Fß‹"EÓº—9ôýd|‰…DÏ%Q1^ë׌¤%‹xSU„§*8;sž(SʹJõ¬º2JÏÄåPšóèg„V©@AÑTÕ1Å”.«5lt€aݤ3¬al§Ò‹iÇgÔ0É'P$)Ó“Íïÿ]»~E¡®¾‹ÍÆI'ÄñÇÞOðùX½z5›·l&ËãDVä8c[]ݳE‘ºº:§ Å«×ëEÓ4ºuë¦+¿††rssÛ`Ê766âv»õ6¹Tº‘w£,;ÉþN…»ûZ²ë%:6Ùñ5çéÆ`äþ–17šÅ9”æÀA£ªÜõÙ99&º)¦$1Šº(ÐØÐ€ÅjÅbµê-«¡Û ôL©/ µ0© Muu|¿u+"*~‡1' K ÄÛo¿ÍÊU+)íUʤ£'±qãjkjÑT9Œ8‘)S¦ðî»ï²qãFn»í6þò—¿àp8¸ýöÛq»Ý´´´pÉ%—pì±Çê…B‹-â£>Âb±0hÐ n¹åÆŽË9çœÃ®]»¸ÿþûéÙ³'W\q‹/æ¹çžã™gžaÆ a轩öPi¶§míP¥Oý©·­,úÔ®œs‹ÅÂÀAƒ©«­¡¡¾ÞÔ²¦˜rˆ‰8v† N0ˆ+Lí¨nÏ(Bïl‘e M´ò›H¥°â¶á²Ùùä?ï³rõ*ü^?\x#†à¸ãcΜ9ÔÔÔÅ•ÿ÷ìÙ“]»vqß}÷ñÚk¯a±X¸å–[¸ñÆ4h€^¸•%K–ðÎ;ïpÊ)§pË-·——Çoû[ë`ݺuŒ;€Ù³g³ÿ~»½`W#Ÿ3  ~¯ý ÎylÖªG¯R,&œ)¦’¢jÁ@ cߺ½S º‘A)ŠLH ÒÔÔDÏž=Pd4³Î9›ßnB I̸v›…O6š¦Ñ«¤0îÜ[¶lá¶Ûn㥗^Ò÷ÅwîÜÉ Aƒ…BX­V=啹sçrÒI'a·Û¹üò˘9s&ýë_ùöÛo™0a—^z)ëׯ§ÿþúqMMM^Å~¨¶­ý˜ÆëÇj[ëoü ÎyìüJ¡’©7M1åvö5hV{&º½CUîF8Ÿu/EUP¥P¤÷pFss3³fÍâ·sæpÚ”“E’âb¾øäM%v§¢´´”‘#GòÔSOñ«_ý 8@¿j±Xô–èÞy4B_¸p!N§“›nº‰ /¼sÏ=W?çYgÅ¥—^ÊÚµk¹é¦›â=«˜b»dû¦F@öSMPªŠçTÏ8ÕŒ°­¥úrtÆœg²¿žª:´+ »Q$¾CqÎã”ÄOÌñ1Å”ÿ)Ñ4Ô[oÕíEèéöû2­r—e…P(ˆÃîÀáp (juGÓÅáÇI‰‡#oÙMiÿr*,üw Ä´àÔÖÖrë­·2gÎxàæÎË´iÓ¸ù曹á†ظq#6›É“'ëãðûýìÞ½§ÓIss3?þ8Ó¦Mã³Ï>£wïÞüðÔ””DX«Tª««ÙµkýúõÓ9hSƒdÕ̇z•{ºŠÊöιà”tUîÅkî@•û9çÑ‘æÆ&~ع@ HL'›)¦˜rˆˆÍj¥o¿Ãè–››4Pin7lÐ ³%H²è+î*¨*l¯¨ÀëmÑù™P5&u<ªöÃÊȶ9ñTÔà³XbÆ~õÕWðàƒ²hÑ"vìØÁYgEaa!ùË_èÙ³'W\qEܘŸ~úi}ôQEá/ù 'žx" , ´´”'žx‚?þ˜£>Z¿‡‡~˜qãÆñÔSOqË-·èûìé"ÝDÏ%YJ9•L9aè22w©ön:kζx%»ßƒ,c$»p(Ïy(d÷î 6‚¼îÝ1ËÜM1å H+jãtz¦¡¡žï¾ÝDaq1¿?!ãaGt»¡=bË$hlñÑ¿v»$áoj R ¶´ XEZê÷P»Ÿ=UÍŒ3†>|7.~ÑEéið¨áV…‰'2qâÄ„×v»ÝÜqÇq÷4lØ0xàýµíÛ·sÒI'éç›3gNÆÏ¡³RÀF¯ÓYøë™TYg2ç™îáÿØ)ãƒéL´Î|> bµÚÈëÞoK‹™v7Å”®\«hhª†"ËØCú-Ìs’ƒÃî@’BíZç™H»‹âRµý$z­´wV»ƒuO=ÎÞÊjJ{á´¨d{ 4-;¯¬²kÏ6êêö³aç|½r V«%ä¥5´^ôõÖÊÙ讪ªz±\ìuÚklŒ*èT-Yé"ÅÖýÎm[ëŠ9ODQ›,bM…z0 ©Qn÷CqÎÃJFE4kŠ)¦´Wg@H–¨©ÙOYÙaC!„ô‹Þ"hÛè[0|LZƒžIQ\* ŒÖƒôxr8|ô‘|·ayhHV4"áq:ú5¶|WÍλ™zÎTrrr⊌ ImF%Š ×aî`@¿&»£R©Î‘îøöB¿ódçû¿P×ÙsÞú<¹¹¹ˆ¢HCCyùÝi¨¯Ó»:ÚœW4³MÑSº>B?`3Ô$Sª¦µ1Å© iõÀRQp8œ‰ì8²,#ËrÂ`ÓAÏX&ö󩎱٬ :”Gæ?ÎwÞÉöí~T%Œu (*,â‚ .ä¶¹w•••Rá¦*"HôZlÔûz"6¸tz{@FR=»tŽHºÈ/ÓÝÈñ1ç‰î!µgzp"t§Ó©_Ûí פP††rrrp8ìÔÔÔêY¡üîÔÕÖèã³Z­tËÍkõTöï߯C™óèOee%CaÖo®'0{ö-Œ3–wßùyyyI•Œ!uÔ4 »Ý®EX-V44Ô<CÄú}>iÑSLIoÐãlK£=òÔØØHnn.’$ÅÛe-uÆÎjµ²sGÿýàý6ûóª¦Ò£GOÎ8ól|>_I‹aƒžª"º½éQMÓp:œ (À³Ïý5íLF3™ ï»#‘JGŒH²Ôr{ l¦i#Qv&ˆm5çF"íT÷וºÕjeÕªÕ4‰ùý§ÃÎÉ'ŸÂW\Î+¯¼ÊÖm[¹uöljkk±Ùl\zÉ%<òÈ<¥­ªªŠK.¹”¢"ƒh± ªjÚ(Ýš‰2nýw²}êdUÀ»Í‚ª‚$…PÔp‘¦©‘b·“  Ê EÅzOyªTg¦F1S㟪])U«U:lõDNIºö²LPÄ25ì9癜¿=sÚ}Ë÷[‘íÛ·sÁùç1aÂî½÷>†ÆW_Å›o.gêÔ©”v/,Y K–ðû~Óá@Eòòò˜7ïaºwïÎ#Χ¼ü0ë×oàðÃG–eV­^Íøqãhllä_ÿzAƒ!0dÈÖ®]GEE#F çøãgùòTì¨àÍ¿AåîÝ<ûìsœsÎÙlÙ²…òòò„5ÑhÁb±°oÏB¡Ùݺa·Û©¯¯£ °Aiin¦¾®–‚Â"\.9ݺ¡Èr˜¿hll °¨»Ýn¦ðM1¥­b"Ê›eP³Z,lX··'‹s~q>_}þ)¢(R\RvÜAoÏNqZ¬V+~¿Ÿììì8?ÚjµêŽI›k3R*Ÿ*­ý½¹¹‰¦ú=ìÙµ™ŠŠoÙ¹cÛ·}ÇÖÍëØ´i×}ɺUŸóÕçñá»ËyóWÙQ±5¥17*©öÁ;*FSÍ©ïì1Œ9ÿ)$ÐlV+V«»ÝŽ%²p¢P¿Š¢pÕUÓùÛßþ†Ínç7þͯ®¹†¦ÆFý>EQ$77—²²2/^LIq1çýâ477sÛÜÛÉÊÎÁáp0sæ,\n7Ýt3{öîá™gŸáº™3q:L:æjjö …˜9ë7"I2 DœÜ¢¢"nó[‚Á`r¢¬žÝá`àà!lÞ´»Ý®+…¦Æ¶oýžœn¹lÛú=‚(²iÃ:\n«¾þŠªª}Øí6®_^/ªz€ÇÙü1Ì´˜…6ÒŠ¢Ð«´”ÃÊËñz½Œ=6œe;À±jÈG·~-+‹‹Å‚Õšyͺ5]”d”å¥õ¾tëH0;ÛÉ–Ê53fSX˜O "ðãúijô‚&0 ±ð™bz•öÃjµ´+‚Kv“i´ž®°!YÔm$íœIÄéñ™^§³æ¼C)­®w[ô$XVvóO·Ü\BÁã'Á³Ï-ä¤)SøÝïîáüs§Mã½÷ßӹƣ÷›ŸŸÏâÅ/àóû¹uölªªª°Z­tÏÏןM~~Á€Ÿ@0ÀwÜImÍ~.¼è"|>_|17ÜxÕUû°ÛmL:úh>ÿü Î8ãLæ=<3f°oß>Þ{÷©õ÷A‘YF‰Ïdgçàr»©Üµ Q±Z­ìÚQ(ŠÔÖì§zß^ä¡Ãuåáp8=v<>Ÿ—vîÀf³4µ©0Å”ÿu ;Ôª¢èÎuvv~¿_ßåv …t](+Jxû¸º0S}jmOdkTÇ¿'RÛÐÀĉ¤ûªªÈRÜTï¯ãÎ«Ž§ª¡»Õ‚$+üãÝ58œ6^]º”qGK÷îù‚€(Šzz,/z2Å“Ìøµ.Š*çXzÖX.õÎÈt$“*:îììEgÍy¦_ƃâÕ4 QE¦Æ&þò—ÿLj‘£øãÿÀþó6·AøùÏÎO>ÉGþ—·ß~1æž\.ï½÷>^¯—¹so Gªªªiñ†I‚jkkQd«ÕŠÏ^ô{öìA’¬ÍjE‘%½ÓB’$4-\Ñ.ˆ">Ÿ›ÍÆ÷[·RTXØö™j’,!Ë2!IBÂ{ó%=zR±m›N¬j…Å%”ôèAiï>deg£Dƒü>Ÿ}H¡ªÍfbJŒÈ’„ H’Œ$IX¬VÖ¯YCŸ²2²²²Ø»g¡PÒÞ}ôš’v©Ä(Þp»"Ç¥Ü,FéZÞš²B\SÐT=•{Ù¼e UUUìÙ[ÅÄ¡¥TTîç´qå;´5bTÿ"š½~Ü'¢EÔÓ›?þx$-aáÁdëÖ­X,–/_ίýkî¾ûnêêêâ JCC7Üp³fÍbçΈ¢ÈwÜÁÕW_ÍyçÇîÝ»ugaáÂ…H’ÄÃ?ÌUW]Åþó݉èŒ|&F±=Ô§¹]Ðsn´­«¶CÒ;  …†‚ìÝ»¦ÆÎ6_|I–¨ohàÌ3ÏàÓO?ÅbµáõzQÕ,g»vïæ”SOå³Ï>ãôÓOãôÓO纙³èѳýúöcòä¹mîíx½^,VG5‘N8ûîÿ=¢("Ë2^ŸWw››[Ð4 Ÿ7lX£A…E\qÅ•øý$IN`Ô#ßwЋqE¡¬¼œÛÒ>}¨Ú»‡/>ý„U+¿¦¥¹UUô¢À¨“«È2B${asSLi³ÔâDUz÷ëÇ·׳qý:ª«öÑ·ì°c=J‹;Cüv,(²‚ª©‘¬™UçO‡0ùõ¡µ# 1“¨JSUTEÃð#…¼Íݺ9øïêíŒ?j ‹ÖìG4*4V­­ ¸0Ÿ}ÕÕqí6Ë—/gÖ¬YÌš5‹ñãÇÓ¿^|ñE6oÞÌüùóÙ°a›6mbÒ¤Iú1Ó§OçÑGÅét2}útÞxã Ö¬Yÿÿýï8cRUUÅöíÛÙ´i#GŽdÖ¬YÜzë­äçç3nܸŒû’»âfzÎL±Ê»b¼]ÍúÖ^ LzNÜk’$Ñ=?Ÿy?¬¿ ñíÛ‹Õjåé§ŸŠsL ¨Ù_ÏçÓ ¢(ŠÔÕÖðÈ#óhnnÁív…Ëú:.¼àn¸þzÖ®[ÇsÏ-¤¸¤O>ñuuu8Nþù—Ñ4‡zÚšý¼óŸ·ñûýøý~Þ}ç?z+mTEø_¿ßÏè±ã üúüÿ³)x‹}=LçkA–åüc6•••üò—Ó‘e™E[DmÍ~TUÕÓâQðˆh{Š$IzaL´í-Ñ‚> 0ÂçhinŽDýáqÔÖÖ`±„ÇÒÐÐNåEÎÕÔØˆú1ªªÐÜÔtж™L1å§£ ':º>EÁj³1dø¼‘­¶x=]´‰t$(ªB÷‚.¼øÒ¶…ƃZZ¼që?#¤¸DFÃ(bZ²ýXIUðù| ”ÇÙÇ  œ;–WÞüŠóœËÐoì(ŠÈ†Í>Ü^A¯=‘5î)TWW³~ýzfÏžiµMaø}ôèÑ<öØc8ÆÀ§Ÿ~ À¶mÛ¸öÚkY²d kÖ¬aòäÉúqÏ=÷v»qãÆéýðÉ m¢}èTÑr¢žõdhB‰ÎcÄpu"’1žutÎ3ÍeêLO;j´RÁ ÇÎy¢ШÁMÎc³ÙôÏû|>Fͼ455éÇG?ý=:žèõbßkµÚu‘¨ö#úwø™†×Rëzý»ªß¿€ $Ç€0Å”ÿåè\Ó«ÝÛ¶,‡‚Á¤Å×ÉÛ®#Á…¢RW[›ôÚºƒ-t0ån´â9­È ²$£Êù9.T‚œ=r¶Æ}\,)ÜÆ é5„ýjdEŽÛ:(++ãÏþ3gŸ}6/¼ðùùù 8¯¿þZ7Öû÷ï§0ª! ,àƒ>`òäÉ\{íµlݺ•þýûS^^NKKØ£Ú°a·Ür ‹-Âãñ0}út]éµG¹uàш¸+ÒJÿ·hÇŸ‘Ñ9ïUËÔÔÔêº#skÑ5Íh¶Hë”{4Å”ÿUƒB\]•1(r•˜~·”ÁZ›€&œÆÈN ýš*%›)¹…ª)hJµ+YðÏèW–Ïk¯l +K7ý ÕD¦i IDAT».:ºjñÕtsæà úÐäøÑ×ÔÔŸŸÏÓO?Í%—\“O>Ém·ÝÆwÜÁã?Àu×]Gaa¡~Ìo~ó¦NŠÅbá‚ .`éÒ¥lذŸÏÇœ9s¨««#7ÂUûÊ+¯pýõ×s饗²xñbzè!† –’ó:Ñ3È´¨-Ydk¤'<g#YÜÈùÚCh’ IºgÑÙ>½qÙŽ€þÄFíFá~ÓÝ¿EQEOÕ›bŠ)]+QG\ŽÙ~3 iô®RÐ/“ÌeÏ@v¨(.cQ_ß@¯ÒÞŒ> Quòý·F>›ÝAÀï·ÜháTŸ×`Ü1áŠÛ˜tè[o½…ªª”––²|ùr]Ο??¡òÔ4©S§2uêÔŽ…ªrË-·Ä)Ò 0eÊÎ=÷\Î=÷ܸv¸LŒK&Uîíbm}í5zíi{ËtÎSÕT¤ûÜÁâC½~GŸåÁžs‡ÓIN·\¾ßò-6›ÝÔ¶¦˜rŠ QPP1:¦«t»!,w#û©Ié#¿÷èÕÞ}û2wî äxrZ d‚ õÈ'ª×OjApÔ ØöÓPÙ¿,|kĨFS–º‡$ËzÑR´Ÿ6êAµS´rÐb±èé’((€Ífã¼óÎÓÉ/”`@ô¼V«5®?=ÙCou'Š`0”%:gª´L&ûÎÉö©S£#sž®(.™p0ÚØRÍa¢¹9Ôæ<úzŸ¾}Ñ4­U›Œ)¦˜rèDõ¬6R(˜V'd¢Û3*ŠëLÔ°pA‘•É?;^xžÙ·ÝÍØq£ÑTWv6¢BRÀeµñѧ_³aÃ4‚@¸²=z¾Ø"¡ØèYŸôGk‡DÇÃy/êhšFQQ‘>þhŸ»‘b¶dÏÅDŠë˜¡=X’)À¡4çÑ¿£Ž©™r7Å”CS48cžÈ9ï¨nOkГES­ß3¤¥÷zWW¡ŠÜ{}ü1õ øëê‘e™Z9HyyoôïÅ Á£¹èâ q¹\i MRERÉ"›d™ˆdS2%m$M!&{¦©xÂS±’uÖñ1çF*⻢Ç߈Øl6à§_Ém£›bÊ¡oÔ;k­§ÊÆ”>ôèÿÅEÅ\vÑå¨äõ¦¾¾EU¢}38.úöíË!ƒ ¥ŒF4éÆÙÞè­+"ÄŽ3#•õÉR¿=ç;âÎD, Ûã”L1ÅSeQ•¾ýÊ’ênC}艔w²=ådÑ_ô%UQ„cŽ™Ô®(ÖhÚ:"o=Þd‘¤Ñêm#{¬‰Î™¨×;ÑóMµ›.ªNwlºŒCgÌyªžýtÏð`8Š¢0hðÿº)¦˜ò¿!‚ àmiîü=ÓA(ªJ}ín KÔ A ä@I  Q%‰`H!$…Ø·wGNš·ÿmŠ)ùlŽ€»üß3Ó`Š)‡˜¦éô3¶F«LkÐ3é)6*¡@3{vïâÚk¯Çf·ª¢¨*^AUYQQ¥ ……äåugÄè iKù;k¿µ+ˆN:Ó1ÂOÞìöÎêqïìste?z,cßO]¢Ý¦˜bÊ!èfÇÀIwµXÖM¹ÜY|ñÅì­ª!/·Õû÷ã÷ù¨Øµ‡1åE|_Yƒ(@÷,7wT‘—ãaà€rzõ@nn·¤éëèï‰Jÿ£ÿÇ>ÌX£Å|o —i4]mÊÿ½…—ÊIö¾@#Û,éÆhûB–ejª«hñz#Ó¦˜bÊ¡$.§“ÂâlV+B+Ž„L¶Am2è©ö[Ó¡\%ÁbG–$¾ýö[š[šQT‘eEŒ܇_O›„ªª|½i¢Õžz/uuõ¨ª‚5Ø@Qq:‚ÀÞ½{q¹\äååéãŠìššTU¥¸¸ã¿×FpsKJJ"ÕÎáêA‡Ã×륱±‘ž={¾W£Ï¬#ÏÔȹ2Ÿ#Òþ9Oü5úùör«g:¶Ž<ïkÎ…òÎ8œNzõîmZsSL9ÄDêêjÙõÃN¦ã½'ëÜjnÏ8B7R¬”¶Ê\•Q¥~EUA°ZDj¼ìÜU…G ¡¡±ek5õš•`À§£N>ùdÞÿ}V¯^ÍÝwßÍ3ÏEføˆQ~0ctSLéJóŒ „·¸”ZïtRT\Ìê•_£*J‡{ÍÓ}ÖšN¡§IVÞúuEI¨«¯#/ßAnn•»Ú]Ž:•ŠPBrév|Ï?CPÙ_SLJ^ZZʶmÛ˜7oË–-ছnbîܹ”••E”œ?¾ú*o¿ý6§žz*ݺuã—¿ü%‚ PPPÀš5k>|8£FbÑ¢E<õÔS|ùå—œrÊ)IŸA²ûoÈH*ÀdÑt*&#_†TÈD™s#>ѵ~,`#¿JsD¶’T5Œ”hn ™bJê @’BÔ×ÕQÚ»¡PÈК gŠ-¨ššÒΦÓ5FjÅ2j[K¤k[SE•¨®®cÄÀÁ{¨ø¾‹¯™àŽ(;ñd”`=ï@ÈÛ‚ÝåŠóçÚ¼y3wÞy'ÿûßõtú®]»(++‹ðO[q:qãœ;w.Çõë×S^^Ž TWWsÙe—Q\\Ì5×\“–ó;ÙsIº’è3éÚÖÒM´Ñ}–Tcê¬9OEð“ªõ.U`W¤Ã-–D×E›Í†ßïoCÊðcÌyLÐð“Éz˜bÊOÝ kªvÀøj­,"Ìh™DÖÑ5Õ/q‹:ò«ª(†¡ GèF#œdǨªJK£—ÓO*çÞ™§ÑÔ`øÐ^Z¸›;‹¯`Õ_ "÷ôžÎdïKtód#+rܽõéÓ‡ñãÇóØcqýõ×àñxâX¬¢Æ`áÂ…¼úê«8N®¾újÎ?ÿ|N?ýtýœgžy&Ó§OgíÚµ:}jQQo½õ<ð_|ñ'N4œ‰HÇë* Nf˜Sa›Ç¾Ÿ.ÒKgÈ:sÎ3¸Iwή0êF¹Þ£ÒÐÐ@ÅŽŒ7Ž`0ø£Ïy¬–Ñ?Ÿ!HÝfG–%3IoŠ)ÆMÄXwQ#.Ša&5Mk S•JÏDyss3kV­ÔyG¢¢¨ }úôcà Á¨j4ÀÕ23èFª»3ÐeEÆbÕxíµx}½zå²tÙzú•rõë3ØÕ²›`£Ÿ+ø%§ =•v~ˆ*ǧ«««¹ñƹ뮻¸ë®»¸÷Þ{9ï¼ó¸þúë™9s&7nÄãñ0eÊ”¸q¬]»§ÓI(àÑG嬳Îâ³Ï>£¼¼€ÊÊJJJJøä“Ohhh ¬¬ŒÝ»w“6eÚÞh-S`™®ŒÐ“ýÝÑ=“b¼ƒ¡kšFEÅdYÂãñ0pÀÁ ^|û¹ÊÊJþ¶èoœp‰ƒûSÎÛÁ˜ó6¯GÞ“$)LBd±€¦EêU"<1ÇØív¾Ý¸²ÃÊ̶7SL1fÐÑ@_RU±;쯪bÝšU}ìñX­VÔ„Mb¸m»ÝÎ7_Iï>})*.‰{Ïív³ô_¯0jôhš°Úl)ad;Ķ–¬ð'aŠZ‘!²…ðý¶}ìÜSMSK3?XwðQB26ÍÎ_?Y@÷îÝÑZÕD£ò{ï½——_~™;wrÚi§Q\\ÌË/¿LII 'Ÿ|rÜ1O=õO<ñŠ¢ðÔSOpúé§ó÷¿ÿ^½zñÿÙ;óðªªsÿö>cf2æDEQ¬ŠbÑëOÔjPkµÕV±*å:V)xïm‹C/ÚëØZ«(8Õ œÀ™y „1y8ã~œœcΞNN Ľž'O’sö^{­õÝk½óûþéOâ£>⤓"™ëŽ=öX^zé%¾ýö[®¿þzÆŒ gÓ« f&[]¼ëÌT3ÚHB×"Vª­YÁ\o F„¶óïdÇÃo¼ÉÃóæqÖ™gÒÜÒLMM-‹þòxl#E“ù|>DQ$''€ôôtü~?‚ àv»immÅáp’⥹¹…ôôôØû"Ë2ÍÍÍdggÓÔÔd*tÍ æmç ªªâñzYñÑäöcäè1‚ÈömådõéCßÜ<íBf£FEQU‰Œ¡­?I–m{¼ÝìGååŠÛK×Õûö²½¼œa#FòÕª•L8æXÜn7jTž6ôsŠDm• D^^~œ³Ê‹ª(¦4i¦¼ÜãÙCÒ±vnM­FŒÎ_Ÿ|Œ@0DK}¨þ¦Fd§9ħˆ¸SÂÈj#iâ@Þzÿ­XU4EQ¸ð Q”Èá3sæÌˆJB–9æ˜c8æ˜câŽÙãñpÛm·u8$‡ ÆÜ¹scŸíÙ³‡3Ï<3výÕW_ÝÁT Ɖ´¢®ÕRq'CElt­ÙT¶Ý¹Q߇Ó*¡pˆÛoû-?¿ò*TEæù^`þü,xäž~ê)þï¹çE§ŸzŠÌÌL–½õU;«hjjâÙgžaÆ |üñrî¹ç?Ù¼y3~ôQž~ú¯Ìž};_|±’ŒŒtŽ9úüÃ8öØcYþñG477·³•% ó¨]22³È/(`gU%e!)ÞTEaõ·ß ÉîÛ—ÑcÆòÕÊ/8ê˜cYõùg¤§§ÑÒÒBNß\vÈaØÍnG–®v è‚ PWSËq'œ@Zz:µ5è_2I’"Úy3¥­!¶ç>SÍŸ“¢•I€9¯êxR]ÿþ¥œtêTîªâË/¿¦Åï§Åß‚#Å ª8\NmÛ+ùêËõ¼þÞ»|óíjœm¥L£Dµ}yÓö%UÛÿh¹³šXUUdYæg?ûC‡=¬öÏÕ#xVÖ¯«/R"x%ÒOW1ïé-Š_CC#~_+ûöíã‚3øî»ïBA^zùeÞ{÷~?ç÷Ü=gÙÙÙäöíË?ÿù*7ßtóç/ §oßXøŠ ¬]³šÆ†F>ýôSÎ>ë, æÏ9n&óè@¤.ziÙ êjjøý€Ãé b[9yœvÆ™´67ákmTÒÒÒ ‡CŒ4§Ÿyõuµ8N”6)Ýþ±ìŸ6ey;ÓV¥F ‡9f áP)"==ƒ¥‘Âáv÷‘P¹µDÎÔ.×CWš´³]5úÛåJa±'R¹ýE§ˆªˆÈ¢QpTBôIõà½Tïi¡²j7—]z)™YY1©Ü,Ò«Ýùz‡ÃÑA¥näܤןžs™™šêfžÏæjU…­%&s³*x3cìÎ&Š¢(Ò§O6oÞLAA¡p˜Í›7só¯~ECCçœ}55µ5á(Ybܸq¼øÒˑԱ8Ž6»™BCCƒ " püñdzµ¼Y sÚ”)ÔÖˆ1ˆ]Åü‡ï‚Á Á`°- •B(¤x@)›7m$%%ˆ„s¶ú|46¬Ä›’JŸìB¡p᎘jììQ$Xb>ìf·ƒt‡P( [Eön+'¿ Y–Q™¦Æ=äôÍIÜŠ¢X2cuEƒ™§¸Î’œÖ=^¯‡£'L`òñ“¸÷¾{Ù±c  CAòóò¹üŠ+¹ãwwâñxÚ]Ñðùzq½ZõÑ;®%y[±oZ ÿ2²¥š±™'⦷ŽÉÀÜlØš‘3Y·nPEeíºu|ýõ×TTT²è‰E<¾p!@€iÓÎå’™3E‘í;v‘‘ÎSO=ÍÌ™3yò‰'™ñÓóIKMeÕÊU,_¾‚Çÿ²ˆ´´TÆŽË>ȱeÞÃó˜xÜDNS§Nåõ×^¥¹¹·ÛÝeÌÛiÛ;4I’@˜ŽúöÍeúµõ/&§o.¿ŸÜü|jkkh¨¯CU#v¹°FUQD Kœììp8»Ù­ó†bªtƒlÞ¸²AƒÙ°v #Fî¨-Ö!Ü‘ý²¬Ä"¶:Ÿ¢ vèCÏç´ª²5’´ôì··‡Ò’Rþò—' —.žýÚ¬¤§'9êÍÓ¬w±Q2³…RÌ8Éiݯ5†DÃÖ’¹™R¯V5"Éjáp˜O<õë׳쭷(È/àå—^"##A¸÷ž{xöoC–d.¿üg8N^xþy>ûì3Îv.?ýéO ƒÜu×,[öW_u%¢(’–šÆçÍcé²eœ7ý<öîÝ Àµ×\M8,ÅLD]żýñ}¡e¡¢"Ë}²³ ƒö+¢_Q1‚ ÄÔò|²"ô9n …B5áhŽ™x\»Xóžéõzñû|¦ªC²zèÍÍøZ°§±XA–B„Ãr8DP !‡H’Œß&ào¡¥ÕÇi§ŸÍÀÁÃYµ³îxŽ]©­g¶hñž††MBÚÔ®^ºªª˜“[”É …B±üÑÿ§OŸÎGÌÃ?Ìðáà ±Øö¤¾±,q?¼gsL·OT¡(J‡±F¯m•Õv³ÛŒ¢óC.™ŽÚ«ˆ@*k$R5â¢×˲Üaov øÁ`1O0õ«ÕÇÌõ)¼½ôn¼ùNòósðûƒ~Zý>Zš[étž››Ëâ¼Bú— ÄåŠLFK Œ'Ý·«žëF×w¶Í'Ò¿–¤«w–v@OÊë긺2~+ßÇí¿Í©MUP¬Eèù˜­¢/Ã[jj*̘$IƒA]³QW0ÅÄb«Æíf·CCÓ]^M Z§=Û™ ‚`è„jFp&z£õëEšš™tÂDBûöW“šæ…:‘ß^2…Úfn§ƒ@0ÌßßÿžÔT/¯¿ù&ÇO>¾}s„ˆê=êñU?ȲŒÃáÐ<;¸Î×·¯™ÞÞ9*µWù[™w"e5»‚…•»–~ò17vÒ³òýAo”è`ÿþjüÁP˜ôŒ>¢³›7´9̵¸m«ÏPµ5umŒG›ä (¨¶&ÈnvëÖætFrH !ÀѳA0µÏÌ –ë¡qZ‡±îUUQØ»{/õ µøÂ’Âä1¥lÛYÍœ<šPHâý¯Ë;(5;ö“êñ":ĶÃ[dÁ‚Ìž=€{ï½7?þÚk¯ñæ›o’ŸŸÏm·ÝF^^^ll555Ì;Y–¹ãŽ;2d·ÝvµµµÔ×׳páBJJJ… róÍ7#Ï=÷û÷ïç¶ÛnÓÍgÕÌÈ&jÖÖï;«U»ºs9šy¾Q¦8AøýB¡0©iˆ¢õ8o3>‡s5zD7{œ1z<EeïÞ=dff¢*¶”n7»õ´V_W‹ F$p©S‘£}nµ¥aºÕ¦é±,+ȲŠÏï#’im “•éaùêLÛ“‡Þ¹òW¼{dYAQUvTìá¸ãK)--ã…ç¾fô1#‘ÆŽ¦`út¤@€ºÿ›üUHÍÍ„v:Üwß}\z饜rÊ)¼ûî»<ÿüóƒAÆŽ#ÀQ5ù„ X¿~=‡1cƯå‹.ºˆ¬¬,,X@NNëÖ­cĈ,\¸Ù³g3gΜ¸R±žwü¡ŒCwÕ8t3cHs­9hÏì8¢MQ²údãñ††e\.²…ýauÌ= óèXœ'e·™ l ÝnvëY-â|ë÷û:Kºz¶›&èfB´:Õ:øÂªŒ¯µ•ñcr¹øôqȲŒûR/½¾’+F\ÆÐ/\(ŠÀÆm}Y±cýû!ÉJ©£¶¶–Í›7ÇÔî@¬”e{—þöÏ>|8Ï?ÿ<‡‘#GÆ$}ˆTXûå/ÉË/¿Ìwß}ÇŒ3Xµjeeeôïß¿C>k³åS;ðf@ÒúPÇ¡' óC‡ît8ÙYYIKK ¡p˜’²¡xR3,kgîD1o¿¶€ß>7íf·žNÚ;‡]=Û“*¡ë’qï‘ddYÆ×êÇ)Š8E‘ÆÖf¦»K3¿ÿÓÕ„CMŸÇ˜’±ìõíF’¥%žKKKyòÉ'¹è¢‹xæ™g(((`äÈ‘|öÙgLž<ˆ¨ÎûõëÇ“O>ÉG}Àé§ŸÎÍ7ßÌÆ9r$ýû÷Çï†ëׯçŽ;î`éÒ¥¼÷Þ{¬ZµŠÏ>ûŒŠŠ ÊÊÊLÏÓŠ´f5NÝ A2‹‘•LqV07“y¯«™â$)Ì !CÄB2‚ɤÄK·kMs Gä{ æV¤ùdcµû%ÒG"™Íú|èU²KÆ^éŠVFï^+• ×>·1ï:æfûèÊÙÞ% ]ëŒw¢Ê(áë7íå©×?¥´,›%o¬'-{KÖ˸¾ÖVfýß,²R²ð…ü¨RÇ~IOOç™gžáÚk¯åÑGåî»ïæ÷¿ÿ= .ÄétrË-·Ð¯_¿Ø=·ß~;çŸ>‡ƒŸÿüç@DMÿÀ‡™;w.555ôíÛ€óÎ;óÎ;ˆØßËÊÊ$é  ~£Škf¤5-©?^úZ½>º‚‘U Ý,æZk •zWï:=ëv¹Qq€ !+*´ÓªÈ±\Ê“5$úžÛ˜ZÌÍŒ­}²(£Ò¾frèÛ˜Û˜)˜›ör·jC×ËP]]=%¥¥sô\7•åAŽ›8§ËMÀï#,I (ªŠÏàIJãÃB»ð±¥K—"Ë2,]º4öŒGyDó%›6mÓ¦Mû±Pn½õÖ×?úè£L:5Bd96¿þõ¯È²7>0{ª•Lq‰rî‡*—»æfs¹k©žÍr²×±CÆcêëêè““KsSÎ8%KÍúEؘ>Ìõ² êIkf2BÚ˜Û˜ɘ[–ÐtöZaKñ¤xÀ` ÜÆ­·^Ofz&Н…`@"ØØ€äñ¢´ú©“Ep×€c?õ»°øù§qµIÆ¢("IRŒ¸†Ãa¢("Ër,W4çmûŽfËŠ^¯(J,×®ËåâŠ+® ##£Cü¹ ±ç%Óžªg/í 6ôdanÖ†O%¥¥¦²ÖT²srd™ôÌ̃ÂEŒÔZ6æ‡s³ãë‰5lÌmÌ»sÓ½+ê 퉊œzêÙ¼ôÒ‹Ü5ç~Ž=îE&5=Q – Ååbŧ_±fÝ& ’˜ÃëõÆúh:%ìQ"Ü>ùKçEïœØ>JÈ£ÿgggǵkÅS³›YÔD× ÙêjKD góD²î%;{ÀïÇíM# ™ÊƒlE…Öí˜GòKþ¨17;¶d‡uÚ˜Û˜©˜;» €ñT1Õû÷#!±`Þƒ¼÷þ¿©«k qÿ~$)"E‡¥ ¥eE VÌø£&qñÌ™xSRº ž–Š£3——ˆ$¨WLDÏŽ¤W¼ÄÈfuX%–ÉÀ<›§K˜·…‹(ŠŒ,K]:< æí 6æÉÙç6æ6æ½ sSÝŠÇr<5Ö„ òó¹âÒŸ£ª×¯ŒÆÆäh6"ŒŠÇ㡸¸?ƒ6T—XªmbãÕG×Z#û‘Ù~Œ^P+koæåÔ²aYí× æVÆeÔ§eŽ•ôô $%òÛÌ`cÞ31·÷¹¹yºYº÷¦gsQT˜8ñXSj 3ŽFà&bg1âîŒÊ¶&â o㩹å<õ0NæFÞžf0îJÈŽ€ÀýÕôé›GMÍ8Ns6æ=s{ŸÛ˜Û˜[Sÿ›ª‡nE-£åY(Ë2õµ»ÉÍ/Œ¬r€`¤@€" KÁ D0bßÞ½L:é Ün·®:ÅŒÝ"Yj-çÎ@Ç+‚r$¨Ü“‰y¢ª¸dÙÐUUe@iM->Šú—P¾e C×æÑ²‡‡ó¨2¯Ç`Ž‚5Ìä}ncnc~h07IÐÍrmf[8Ô®ªJ®ºúx¼nTEE–TZ|AUF’edYE•‚äç““Ǹ£Oª &ñ—ÉtÜêŽqë½$‰–J=ÒÊs ¢ÀÖ­›)èWBåŽímNêaÁ\Ãï%©7Æ÷@îA˜â4ó‡{ŸgIÜç IDATÛ˜Û˜w7æ¦ º‘ ÝÈÆïsoJ:«¾üŠæV?§‹êýû øýl¯ÜÍñ#ú±eW ¢}3RY]¾‡ì̼ô÷—é_:”ìì,DÑaȉiq ZáOñˆžU‰Ù9›ÙXV®™¾Ì¤5ó]20OX]n2‹–.¯¨Œ5†úúJÅŽíqO˜®®wwb.D7»yR¬lÌmÌ{æ†Ý(õ]bMAtº øý¬ÛYEKk ’¬pÔàF ìÇu3ND‘¾XW TÕ4ÓØØÜVP>ÒƒÏç#-- ˆds»Ý¤¦¦¢( ¤¥¥QXXg´HË®]»e™ÒÒÒØ½@UUJKKñx<±þ½^/•••ȲLzzz,뜙T}‰¬Y¢ ôÔPVï5ŠÓìj±Dmá]‰CD k×PTRJùÖ͸Ýî¸zW×ÛÆüÐažÌŠ~6æ6æ½sC‚Þþf“%–A‘PÂ!²¢ *n§‹=5ôMu‘¢QÍÛ÷³ç@=¢à"à÷uÐDL›6?þ˜•+W2oÞ<ž~úiêëë™;w.¥¥¥ÔÖÖ2cÆ ¦L™‹Oì±Çغu+.—‹ŒŒ î½÷^N9宿þz*++¹í¶Û(((@UUî¼óNFÅÊ•+Y2ÝÃG …C¨Û¶úÛ³¸™šÚú¶<Ü‘6`À6nÜÈO<Á믿À­·ÞÊý÷ßOqq1ðCõµh{ë­·xûí·c @zz:çœs.—‹‚‚¾ÿþ{Ž;î8êëë™2e GuãÇ­‡PZŒPw—ÒÔ2Š”F˜'+%dÂ*6Q`óÆ •°cû¶¸ºU5œyr0·RGÏLÖùPµšÔÆÜÆüHÆ<^µ:k¿pñ~â}§ÇYH²„,‡©­©§$/‹1à Q%_s=áòJ `p^ Á­Ûñ75¢ª È‹jlÚ´‰û￟gŸ}YŽú]»vQ\\L(BQ”¶ƒû‡6gÎ&OžÌi§ÆUW]À<À×_Íã?΢E‹X»v-ýúõãòË/ÇãñðÕW_qÝu×ÑÜÜÜaNñ¸Âxëï­|Èï‡Eçë:o˜x¸ݯ7†d`nÔ¿§ïY‰¨ØŠ¢È@(Š+¡›³yr1×ë×è3=õ®YiÍÆÜÆ¼7`nš 'b1TŸ( ÍM­œsÆ`æÍ>—ë/˜Ä]³ ”!Ìéw)-'óéUÜWt¿‡à@’¥gpYY'tóçÏ¥òÌȈ$ q»Ýˆ¢³GǾhÑ"þýïóþûïóÏþ€)S¦pñÅ3oÞ<Þzë­˜„>nÜ8rrr¸ä’K˜5kS¦LaÅŠÖ$îH•&c“aï2âª»Š¹•Z2lº];«p8쯮ִ¡[UÑÙ˜ZÌ­†B&"‰Ù˜Û˜÷ÌMÅ¡ë‰üñ<Êã ^’%œ…×–®¦©JŠûð¯%kß«_›Å^ß~‚>~vÌåœ9òL>©\")dª½{÷rÓM7ñÐCñ»ßýŽ?þñ\vÙeÜtÓM\ýõlÚ´‰ììlÎ<óÌØ8¼^/~ø!^¯76® pÎ9çðÅ_0bÄöíÛG~~>Ë—/§ººšòÆo°`Á]PÌÄ*U3*n`µ‚[—™‰`nÆ3ÔHåÞ¥•¾¹¹„e™¬¬,Âá0zqèfÖÌÆüÐbn6–تúÕÆÜÆ¼7`n‰ kqfø P% ¡M!°m{5U»÷ã ´²·q?_9$áV=¼°òyòrsQåŽÏ¸ë®»¸ûî»Y²d ;wîdêÔ©òî»ïÒ¯_?N9å”c\´hQ¬ êO<ÀE]Ä?ÿùOŠ‹‹Y°`ï¿ÿ>?ùÉO8á„xõÕWY±b?ü0ÅÅź5€Ídb2ë8aVz4º?‘ªCݹÙþ­~o¶ù|~<)i„‚ñ‹³˜­6Õ«1·Xéêpan6ÙH2¤lÌmÌÌ"èf1´¸¸hkö>r[¼ˆ`(LK}Š þ¦§ 9¤Uq§QÔFRÄo¿«ª¦( çž{.ªª¢( ?ýéOHýò±cÇ2vìØ¸ãw¹\üò—¿ì0‡2{öìØgµµµœuÖY±ë/½ôÒØwÑÐ7=.²ó‹ Çš­™½ïåÜ»s£þÍdOêŠÊÚŠ³(²å¬TF™§z æmI-z:æf³}Y‘ÖlÌmÌdÌMt3j½dûñ¸¢¢œ2ålþç¿ç³eó6–öEÁãr#IUEVdÖ¯ÛJuõnZÖ°yý:œm%SÛ—Nþ tøÛŒZ'^Žá™3gj'Š¢©ÉJàß\³ŒúNÔC6Q̱s%ÓΧ¢’–)Î’––žÐó­^ÿcƼ«…:ÌØTÍÖ³6:ülÌmÌ{æ†]Ïžbf;s8±ß89êèãÙ³sn'r(âTÕÙinR¼™47î`÷Î}\{Í5dfe¡(Ša¶7-µI<[Pû&Šb̉Nï:-nÌèe×»F+#Þ¦4r2éJ¹Äd/Ð õлWo]»\œå@5}rò¨­­‰[œÅÌ»ncŽé¹$Z¨ÃóDp#u©¹ù‘޹éâ,ZÜ‘™l9zjˆ´´TN˜4‰“'ŸÄý÷ßÏö;¨ŠŠ „ÂAòró¹âç×pÇw" bŒèZ•üŒâø:u#â­§°ÊÅÅS_¥¤íJL£ÑØ­rƒf1×[½µJ†g¯ªª” (£¹ÅGQQÊ·l¦½SœV‘óž…y2÷¹UUµ¹ù‘„¹&A7³Hñ&e”SÝårQXX„<úØBÃÁEí×f“Ä{ÙŒlZÚ3ÎfÆeeÃu^S+v«j63÷ws-{œ^V×Qs}Eòhq–Š8;g‰÷^˜Âœƒ3ÂÛ˜wæ=bŸÛ˜Û˜!˜;8 +‚zêAðùšIMõ¢**ápIQQ%%RyM‘Q”ÈJAúõ/é@ÔͪƒâqMfœ´TEz 11FÜ¢Ö˜ÌÖÝÕR/™ÅȪӅUÕœ™54óUâ®**#FŽ¡¾!~q½50ÄܤŠÓƼk˜÷¨}ncncÞÃ0·$¡›‰U4âšÚ×ÜÜHKS5›×íÂ’‘ÃABa‡CA¤`€$ „immÎ=ï –ÔXÅÎj‘ë¨eÓ23†ÃŸjs½¨·†fm…Fú†uÚÅYŒð·1?ü˜ÛûÜÆÜÆÛÍ:Å™qø¿ÿû?©¯¯=Ìëõpá…2dÈØäI!sóÍ¿bGy9á~}p„dÖ~ð aUáÝwÞåÚY×rß}÷q×Ýw1óâ‹©®©A–¤Øs¿üòK®¹æf̘Á°aÃX¼x1µµµ<ÿüólÙ²…ÊÊJ c÷\wÝu¼øâ‹x½^Î?ÿ|Þ~ûm-Z„(Š|÷Ýw|òÉ'æd6FÓêš™yiôì.f7ˆÙç'r¿™ØJ+ñ©zóMF¦¸;«ÈÉͧz_u\ ]kƒÛ˜*ÌUÚ_j[¬'uj|ZEDlÌmÌ{#æN³ƒŠ÷ ŒŒ î¾ûn–-[F  ++‹^xwÞy‡_ÿú×®—e•ÌÌL¦_0%Âát1õظÿ¾ûÈÌÈä­·Þ⟯üI’%‰¢ü܃Æ5wî\n¸áŽ?þx>øà^xáÆ ;H…~â‰'²bÅ ¼^/G}4~¿Ÿ´´4þþ÷¿sÓM7Å4f%[3¥gi¤îµ r²8e«\d"/z¢›!‘¦¢’››)ÎÒǸ8‹ùáÀ¾Pˆ_+Š,3cÆ Ô@@ ´¬”ŽŸ„Óá@é4–ÆÆF¶oßÎðáÃcŸEê\ËùÞYeQ\\Ì;ï¼ÃÛo¿Mnn„AHIIaçΔ””tÈDge âÙgŒT(ZIÌ&[H$ma"iµúÐKi%éEw–N¶––f@ Ãû‘ÈmÌ/æ–3Zœ¿¹ù‘†yB]K­;~òÉ's×]w1ažþy^{í5dYŽIÈ1ÎE’$)’NUQ¥ígÒñ“p¥x>n R „#ÕKÖ°RB>B;gµââbžyæ.½ôÒA3f ~ø!N§EQصkWP/^Ìc=Æ#<ÂÒ¥K#“E}ôQ~õ«_é&=h?g£ª8fÕ[F^‹]U±Å{^"ªl­>’5>«1°‰´œ¾}‘$‰ŒŒŒ6 „Çhc~x1·úN$òÙ˜Û˜I˜[R¹ë¹çGÿæAŸŸ·ÛÍ /¼ÀUW]Åÿ÷s×]wqÏ=÷ðÄOàv»¹í¶Û(..ŽÝs÷Ýw3}útA`Ö¬YTTTàr¹èß¿ÌëÝjhƒÖgFy”ãqYF6£|Ì]±§é…³½€Çmfcè=;Ùêû¨ÿ…,ËñüGlÌ{8æVm–fcsóÞˆ¹.A·R¶.JÔ'L˜ ¼_WWÏ€xsÙûTn/GQ$ddEBUPä`ˆ° ¢„22Rq¸1«§¢(¼þúëȲLNNo¼ñFlÒ?ü°&32uêT¦NÚỲ²2zè!EÑ$æ])ȦÒz ÌŽ!Þo½U+±Ù©g»ê¼ÙŒ è%€H–MÝÌ!ccÞó07Jׯt¦™¤6æ6æG:æ¦ º™ƒ4^‰Q-®D” £¸²’©S'“‘š‰âoE’dÂÍÍ„].”ÖuŠˆê:€*ì§~Ï>ütN‡3öŒp8ŒËå ãp8EY–Û¤0§ÓyÐDÕ­N§36ÖÎÄÜLº@£XH­)Çï¥6[ Iï=؈HšÅ\»7Jê`fšQýuµ©ªzP]h+˜Gï=\˜cVêi7Ç# s³)@µ>‹+EÙ˜Û˜÷Ì«akf%%SeàT•SN™Juu÷Ýw/;U‘IIÏ@T„e…T—‡åŸ~Éê5ˆ³›7Å{†ÓéŒ=+êäÕ´O ÓyŠó§Pü»eUTÇk†{JdSY][½—¹«j©Cùá ì‡sZOóÄên÷Ø}ncnc~ˆ0é-:ð%K—ðÒ²—ØÙ´“o¿Ÿä#55•¾Ù}Yüòbv6îdñ?³ü“åq%t=õ“‘ú>î)Y*¬D^V«Üvt :«wŒæd%‡²Ýº®9HÆuv³1·ÛsñPÌ,‹ö·yëfœ.'ÁAaY!û÷ìÇétR½§šãG ¨·‡õ×tccc쳦¦¦XE8€7R^^—PUUU±aÆؽ۷ogíÚµlذÊÊʃˆp}}=k×®¥¹¹9F ·nÝë_+±kk+’$ÅUÃ444àóù:ÜêêjK·‘7ê¾}ûøþûï;ŒSZZZX»v-uuu±kkkk …B±ñȲÌ’â€r¤9Å™Q®ñJÅ¡Ä<Ñ÷âP¬½¹yOÂ\ÔpgûKçŸxßuvVÐJ  ×_t°wÞ{'«·¯F )Tl­ ®¦ŽÜ~¹ìܾ“ìÜlšê›¨ÜV‰€ÀGß|Ä÷ÞÙ¦êˆ<çÒK/E¶lÙÂÏ~ö38@0äšk®aÉ’%<óÌ3<÷Üs±œô¢(ò /0þ|^}õÕX¶O>ù„¥K—²dÉfΜ #ÄÛ·ogîܹ¼óÎ;ÜrË-lÙ²€µk×rñų{÷î¸s˜?>ëÖ­‹+_~ùåüò—¿ŒáñÞ{ïu( Û^ËO³ ËòAÀwNJpÖYgñå—_²hÑ"zè!DQäûï¿ç¦›nâwÞaöìÙ,_¾€É“'wÈÆ·xñâXœp8ÜeÌÍ|×›ÂÌûÛùûxóé¬3z¿õæiÔG¼1¶“Öz·g¬>³;ö¹•giaÐÙ~ª·žZØÚ˜Û˜©˜Çk ;Åé©gõl!fúóµú¨i¨¡°!ªù|OÕš›Ùµ}%ƒKHMOeؘa‘¬oªÂ¾ê}8p€¼¼<ú÷ïÏÖ­[¹ë®»xõÕWq»ÝÌ™3‡[n¹…ñãÇÇsûñ¾ù曼üòË\qÅ´¶¶rå•W°zõjY´¶¤6¥¥¥,\¸ˆÔj_¶lÆ ã /¤¼¼¼ƒT ˺QTTÔ;ÊÊÊ(((àÛo¿åè£æÃ?äòË/`Æ Üwß}„B!~ûÛßròÉ'³jÕ*þð‡?0räHV­ZÅÇÌ¢E‹X¹r%555Ü{ï½Lœ81ƈ8Ž>úh®¿þzÎ8ã î¾ûn{ì1üqÒÓÓQU•ë®»ŽSN9…c=Y–©ªª"77—ŠŠ Î=÷\MÕ{"˜'j_êªYÇèý5ó½g#? £>âqéVÖÛèþC¹ÏÍ>ËÈÑU/Û£‘ÝÑÆÜÆüHÅÜ4AOTì7²E›= SÓR9þ¨ãyïÓ÷‚‚@sC3¿¾ÿ×¼ø—Qd…ßo$%-•3N8ƒ¼¼¼ÑlnnæÚk¯eÅŠ±~7mÚÄøñã ƒ¸ÝÅ=üðÃLš4‰ŒŒ Î>ûlÒÒÒbýýå/aáÂ…q=6UUå‰'žàOúS¬¯–––ƒ€E‘Ë.» QÙºu+K–,Ááp0yòdî¼óÎQƒ\rÉ%<÷Üs8p€Ÿüä'¼öÚkÜwß}<úè£0uêTÞÿ},XËmÚi§‘:ð7Þx#>ŸY³fñâ‹/RSSƒËå¢oß¾¬Y³†+¯¼’5kÖðÐCÐÚÚJzzz,ÅntÜ’$1sæL^ýu²²²8ÿüóùóŸÿlJýt$¨ÌÍTÜKÆ|’ÅÀè©'Íôo5k`wíód¨nõ+±1·1ï˜;»ú"è9vЊ Ò’R¤°Daq!n¯ïW}ÏÆï6¢ª*ƒGF‚ ûvïcØam¶1©©ÜxãÜpà <ùä“äççÓÐÐ@Ÿ>}bÏi/5Ï›7W_}•þýûsÅW ñx<¬X±‚ñãÇãr¹:HÒ¢(ÒÚÚÊ/~ñ þøÇ?’™™ë/* wæ*_|ñEþçþ‡éÓ§3dÈØÜ£ýƒA†Juu5óçÏçƒ>`ñâÅìÙ³‡E‹ÑÜÜ“’Û¯aff&¯¿þ:‹/&++‹êêj|ðA222xøá‡8p ûÛßøî»ïø×¿þÅ9çœÓ2Š>œûÜ æZŸY‘êlÌmÌ{æñšcÔˆá÷ž7ý|TU%­@˜áD´8—D3u^ÈÖ–V¾øò Ya׎]¤e¤ár»(,)Äápàö¸Ù]¹;â…]SË”¦0~ìøØb—””PZZÊèÑ£),,$ 2lØ0&MšÄ'Ÿ|‚¢(\xá…¸ÝîH§žz*Û¶mcçÎÜzë­dff éׯ_L’ŽJ°………x<²³³ihh`Û¶mRXXÈ;ï¼CII û÷ï§´´”œœœ¼MjÏÏϧ´´”´´´ƒ/..¦´´§ÓIjjjl>eeeLœ8‘ŠŠ V­ZÅYgEvv6§žz*ååå³qãFfΜÉäÉ“yã7(--eêÔ©”••uðˆö§ªjÌ qâ‰'’——ÇçŸΉ'žÈ\À€8p n·¯×©ž×ö™ UÛKs£ïA  à>þ~Å%%øæH’dEEQÕÈoY¢ MbhI.’©ª·{×N‚ßïëÐèý5{(˜á¦µ8r³k×ÙYÆ*ã¢uÿáÚçfŸ¥%Áè9Hé]ccncÞ0jwVUÒ¿¸„úº:„ÿ˜q¾úÄSEQdò -§}5;93j™Î÷<ú—Gùtõ§äæ#Š"[ÖmaôÑ£Ùº~+eCËP…Ý;wsþiçsõWÇ$èöIf¢eR£*d½*k¿O$ÁB¼gè©Vâ©´:!úYû¿Û·ªª*Þ|óMöïßOQQ7Üpƒ¦Ê©=¾ÇÚÞœý¿=ñ3Sa(QÌTL‚ ÐÔØ€Ç)pï³_0鄨©oFU!’…e$Y!$)H¡cóœsÂpüÁ0n·›U_|ÆigœE]mM‡²¹ñ°0£ŠÓ:’ö}»²Vö£Õ}z8÷¹Ì­ª…­¨“mÌmÌdÌAÀårñÙ'Ë9nÒ‰l+ßj\œÅŠ‘÷ Õô€ƒ æÃ¯?¤¡¡üW‡,Ëää²eÝrûç"ÉRÌ~%zí“Ì´?¼;K’FÜœ‘-%^3z†–=«=1×Ê[ïe‰JË'žx"’$1qâDÓ„6JÌ£×u&tñˆ¹™ôЉ`ÞYu¨S¿šqHÑK iÄôi¥¿ÔM ™ÄÊVF‰“Ç>7‹¹özéïe+啕yoÀ<áâ,F¡V‰b¼{§= §ÓÉþû™qÞ nÿÏÛñüÔÔÖpýå×ãø)î_Ìä&wpF33^£yeL³â=ªåbF-ÓùEÒún„ 4ZŽ'z/¹ž#™p‘®b®§H6q7’ ¬pßZ>Zó°‚¹Ñ!§Ål‰¨_5æÆŘÉ4#IÚ˜Û˜‰˜tEUQàôˆUüŠþ IDATûï¢Ç»>ÞuFýEÇ#KœuÆY±ÿüýC<ú—?sê´Ó¸ð§Æ>KÕ°¬¨æžmfLF„:‘û:¯“ªêßke½bÿ ?¬ƒÅõ>ì˜ëô/\ʹK­;âÐõžc%> Ç-‹Y‰¤«1ÉzϱïZ=BeæÕ»·»b’mÌmÌ{æº(Žž“ÞÝ!vT äõíËsïo§z‰LÈåt`·ÞßÄKkUÕUÃ%‹¡ID¥— ÆÉn6ævë̲¢ârÜñÌZ2Z«Rq¥­öo»ù_ïÐëÐÔ..׬u¼5Ñº×ÆÜÆ¼·`®-¡·ëDQ9ìÀáö²mõ2üuk)ß[Ovß> (¢¾¶Y– ” -eOånêÔáô~‡HɨÓBZM.fé—{I žXÂÖ=Í|¿½žI#r9vH6aYåƒÕÕì®õãhs¡ö¸f<ˆTƒO6à›òz.;¥”~Ù^²‚Ë!²èím¸Or·Sä¼ãŠ(ÍO£|o ï¿°¤pÉÉXÆïl#VZOHfò¨\*ª[©i v ú‚ à JŒ-ËbòÈ\d>Y·Ÿò½-üøC2-‰W?Û‰¢¨8D)ãòq9BáÈœ<.‘œ 777„ÿy}3)nG`ÒºHÐU5©ô<^Šî9^ùÂx›MK:1›AJ/wûÏ´žï^­û ½œÜšÌ‘úC)c+óÓZ7£k´æ¢åmcnc~¤cnHÐUAUÅÈáy˜š ŠZ›iÚõ CFä£(yÔì«aóÚÍääòÕò¯qÔ6­ÙDVvÃÇ@@bWÕg´Á“šN(,Ó/'Hâª3±³ÆÇêõ7<‡Ai<õN9).ä¥FBÞ\"­an9c8¯±‹=u~~óÓálÛÓÂk_ì$,©ä¤»9el~${š ‘KóºØ±¯…%+wqÆQL•ËÇköóìÛ¹ü´2Ò<!©C4–¢ª„$™œt7»j|ÈmfŽ(†²¬0¢8ƒñûðÔ;夸 /ÎÀí8Ð`áÒ­œ82—Ÿߟ§ÞÝÆä‘¹4ùBŒ.ÍBE²Ê4´„˜0¸€œtwD뢪‡ÓäHèJ[Ó³ö†RšGbÓá(¥icncÞ#ʧ*mêöÃ)Í ªŠ 8QáP˜€?HZFn›-k·P:´”­ë¶2hø <^­Í-xœ"Ãn§ƒ¾Yª´rúQý…§ßÙBßLa jšø5MüA—SˆåxcåNZ.Gßn«gçþVK$–pˆðmy-SÆðòŠ R܆eR]ïgÓÎFþúîVR=2S]ÈŠJmcUQ …%¾ÞZCqßT*ö5£ª‘Ï¢Š$ÙT=–“.¥¥Á·±T ¦×JíâxÞÆFxgg=e£G¯Îµ•ÌH•ªõ<½µJä³xN[fìË6æ6æG2æº]€˜CÜáÖ⨪€"K€E‚ƦöíÜGÙ2ª÷TS4 ˆ-ë¶PPT@JZ*(aÙ¹OU‰HsaIá¿þµ_œ; xç«=Ì8¡„93Ç"«*ËWWS©´¢(é^¯¬¨ä–ŸŽ@`MEþ Lº×EŸt7å{šqˆ‘þû¤¹8~D.þ ÄE' `]E')à­¯v³|M5¿š>œ±e}8zp/¯¨`cU#N‡ˆª‚§MÅ/ àj#äíCÝ‘ÏÖï笣‹˜sÉXUeÕÆv×øå#àD–eŠsSÙ[ëCVT$EÅéYµ©†å¡ˆö ê¥(p¤kæ~0$Kïª÷«–gkO÷xÖs ŠwH›öx6Qd"ÑÊ|=ÅãÙÆÜÆ¼§`w>ÿ1ã|õñ'žÆíP¹ó¥x"òa>ý‚þ&v~ó7R½­  ^Æúo72lÌP¶mÚÆˆñ#¨ØZVûÒoô…¤d¢*2B›ŠÚÛF‘’Eœ`X‰i ÜN‡Cˆe‘U•`8â|år¸œ" Ëx܎ׅe·S Å/árŠ(ŠŠÛåÀååØ3<.GäæÁ°?l­M’IJLªv9œ¢H0™“ªFBãn™1’×?¯¢®%D Ý|£-ºí²ä±­Ù/së´Æ–f1wñç].Ÿjf[µyYq JäûîJv‘ÈýV*ï%‘¨–Ål¿6æ6æ½sÝò©ª¢ö*•”¬"Ü}†‘—UAVn[*p{=ˆ‘ôŒtvWìbÈÈ!س›Fu,©ÙÅH¡@Œ(¦¸1¢šâ‰Áh¨™( ¨¨1'Àö„4Õë@@ˆÙÙ¼íúŠ\'àqEÔèYiî¤HUE–ÕamEËÉÐíÛ¤çxÅMÀåñ¸"öÿH8Hûq¤z<÷Áv‚a92Çèw‘[þìϹ£t³æÈjÉàdªýÍ>/25)¢Y[+’˜ÕÄ!‡Û&jcncÞÛ0w|hª=Âs2l!·ì8ªVoÄQµ1ëXœî-ˆ"ddzÙ^)ÑÒ´ Å‘E¿qãýîoo3nÿ·¬ªš©mãXU…ÎSí×'^V=3öjÙàšxãì<Ž`HŠ}{¦g½À)NMrúÂxª±D%³›ÕLýg½ïµê1'ÂÔ•¹éÙãÍÑlš]3éBͨƒµÊOv&D6æ6æ½ sgE°Òsº*I¸½Y”NºU§ÛË®µK¨Ú¶š`ÈÅ€£¯Ä›Ö7B­T¹­ì+?ªöc XéŽW2Qg½ÍÞÝÎ2z}X»U)½Dfm¶fÖÊÌgZv×ît²1·1ïi˜ëKèÔµHq;zŽG´ª"·ýÙLÊ€)´ÔÄíMǯ¦ÐÚØˆ¢øã¢n?ÂÖè #%¹j•¢@/ᄞF@‹Ó¶Z¸Á¬´fæ~³š £çhÍIk¬Hkñ$™Î’‘žƒ”¹yoÀ\“  BD|ô8„n *m9ÖÅü³„ÎŽfK‹üp8Qµ íÄ4a`›TŽ]\íGÔÂd»º%t-Q[š–š1‘ÃV«_+êT#‰ÀŠv"g!=iÍìü´ŠæI›6æ6æ?VÌ"è¢  ( gÓ¿[Ä- »IïSHÄC+„BrP €,IÁP½{ö2ù'gàt§ØÔÌn´45ÆU½'ìÜ¢Nš¶;ƒÍf¤êÔ³•ÅëˬïAÏk˯måþxýé©5Íf»êÎïÍŒÓÆÜÆ¼7a®IЭ.b"ªÍP ™ ·ðÛÛg’’êdAó)È I‘QÃ2RHAu)ê ìÇü¬\Ž:ö;½¡Ý"±úªÚ¦Áp»Ý¸Ý.U@VQAAF•æÔL ©£b›ÎDò ݘQ“Â]òÆ59GÓq®qìª=éÑRmÆÆlcncÞ1×"è‰.¨ÑDÝÞ4¾ûþ;R]d¤¦±w×>üÙÍ4T6h"ÉJve« çh™«jyî¥(.FvvDQÔM¨+2©— AŒ®€h¶&®Q5 daÖ˜›Iav¾í[$EoˆÕk7ↀHA›hÞ|EU©iheTnnÒ$³Ÿé©Íx ›‘–¬2ÞfŸc¶šSgœ»ë¬÷L³s4‹Uµ­¹ù‘†¹)‚®GÌ€ˆ[Ë8ïtvœ‚CNaov%¶7"9B¨}ÛÒ ìÂq€xbµE e¸_m –m^öìÙCQQÑAÏ\·n¡PˆÑ£Gãñx:|¿oß>ªªª6l}úô ±±‘­[·2a‡eïÑîæ6­p]ŸQ™?«›ÎŠú(‘7( LîßJñ€P»uptðËhi‘™BV{¾yϼ»š¹yoÃ\LtQTUÅårµ©>þE±#Ç¢H¨Á0ч.ãÌp|›ŽØêŠœÃ2(Ÿxq%\æB(hmhEm—åÒK/1Q¯Æßüæ7¼ùæ›,_¾œ|°Mb“o¾ù†9sæ°råJ~ýë_³oß>Z[[¹ùæ›ù裘={¶.7š(p]}±¸àd©¿’¡â1е43v«Å¼Nܬ4úf¥’Óö“•Jvf*9™©ôÉð" ú^“Z^´6æ= s«Ù¿´ž§UÜÆÜÆ¼7aîìÊÄ.¿ürÞxã ¦M›FSS¢(‡y÷ÝwY½z5ãÆ‹ ^–!䀯ª&R*úÞ›R®l† .D/8Ox4±ŸDøýT†Ö£„ è¹¹¹žÿüƒ‰'rÙe—u_4µç_|Á•W^ÉÉ'ŸÌ“O>IUUëÖ­cÖ¬YœrÊ)ÌŸ?Ÿ5kÖÄÆi•«:ܪo£>­æ0îŽñvÇ!âôÓ¶:>GˆÌ„nÁÄÆüðane®6æ6æ½ó¤KèÏ?ÿ<×]w7ß|3Ë–-ãÍ7ߤ¨¨ˆõë×3nÜ8E‰=X’%¤–0Í'5 Ö8þÃ’ˆúl‚ êwi8QÇJ8Æ©¨%Iép0K’Ôa7ndÒ¤I(J[©QYîðý7ÞÈC=Ä9çœÃ'Ÿ|ÂqÇGEE%%%dggÓÐРÉušÉ雨JÉh}¯eÿ2«RJ$Õ¤zör#Ž9‘±%ªú³1﹘'â‰ïyçncncÞ1/H¾½*ã¿þë¿xüñÇùßÿý_¦OŸÎ5×\èQ£eQœ,#;ƒ(¯;P®ªA}1áÒzHSQ·¹Fù-q"PPE‰ð· ©RA+úL§3¢Xèß¿?ååå1‡¹¨=©©©q秆¬µfZ`˜u’몪Øj&½u0"ŽV%ƒDïK–ÑÆ¼çanUÅiF*²1·1V¹ÅÛ©ªÊ‹/¾ÈÅ_ÌÝwßÍ 'œ€,Ë9›I²DX  V9‘ßL'ˆ^T‚(8–d´ ‡¨²ˆ3[A ˧ÕÕÕ|ÿý÷ÔÔÔàv»™5kW]uUŒ0õÕWÌ™3I’p:”••ñöÛo“žžÎÆ¹à‚ ˜1csçÎå’K.aÆ Ü|óÍIñÚ4âò’¥~I†'d"˜÷ÆÖ•é™ñÒíVÌ“<ÇÞ€¹¹8^sóÞ‡¹.A7ÃÑ´¸,Ëüãÿˆ}Þ^RŽNV‡qˆNÂJÖP a¿ŒŠJ†˜¯ÕGX!(‘šì *§Qh/¢?øàƒ|ýõ×8NTUåä“Oæé§Ÿæµ×^£¹¹™Y³fÄž?uêT222X»v-¿ýío4h¿ûÝïøôÓO™7o^ÆÃ,רWŒÀŒ÷§§«—ÐjúB+ê ³) )hb¥@ÑZ$¢âÒ¿´líf0w02̘€™™ј›MÙ9 hûë³¹yoż qèíãp8$ Qcjö΃ H*C‡åï/>ƒ"+´4Ô *øêQÝn$_€Õ3¥ÄFÜá¡ücÉßq:±…:ýôÓ;ŒAQœN'_|q\ðEaÒ¤ILš4)öªª >œáÇÇG¯2P¢ê.«œ¥Ùš¹]Ñ,$aTÈh#ë‰ä96»æbcÞs1×»FËI(Þó´ÆdcncÞ›0wš^6¡èuQÏr-C~AAgœ5óæë¯¾eبª‚×ãEnmB‘ $«lúf#»÷ì¤Ù÷);+vĤñxÏ2Zö¡x±—Zñ˜Z Q´’Îè%PéÌ-ÆÛf^L­1ÄK'h6‘^b+˜ë¥5ÔZ³ƒÕ0¶DìM6æGæfì£ñJi9٘ۘ阔OÕ·¯˜I2 ·Ø@˜‘cÆS_SCfVfÄ ^Uu …èãr’›—Çýû ùê˜={6™™™1/öxÏ03=NÕŠÉj`;ƒTòlVÝe³1?ü˜k?Ìšv&¹°mÌmÌDÌM©ÜÍp=f*ìDgeerÖÔ³8ûŒ3ùÃCQQQA0ˆ9-„Â!òró¸úÚ_ðë_ßr$®·¨Z–VÉ=-ŽÉ, Ç…Zyô½úÁzI’uW1ןYÆÌª]¼+vwó˹æ}ØûÜÆÜÆÜHò7MЭr=F†Ct™‘‰(ŠÌŸ¿@·)ÆÑ–>ÖŒªÈˆÓ1kã°ÊÕu‡„Ø•¤f¼/ÍÖ Næ‡Jâ>TÚó˹½ÏmÌm̵çé´"ñhÕo=¨äœNa÷èuÕèŸít¹âr3ß~÷-JtÈg¦Ô_çk´8L³^fl/ñúÔ²Ùw^+=ûŽ7it¯WšLÌ­$œÐ»¯»󞋹٠aö>·1ÿ1bžT ½«-š ÆÈNÓÒÒBcS#ý‹úóÈ£ðͦoƒ2óæÎ#Å“Bff&iiÿ¿½7¯¢ºÿÿŸ3s—,d$„=¬"ˆEPŠ;¨€"®ýhõ÷Qk­¸¡¶uù(ô§ýhµ®„V­V­¢BAýˆ¢ ¢ˆ¨ B v²¯wŸ™ï73Ü\îÌ›…uŽH2Ë™sÎëœó^Î{I=n|¦µ~‡B!$Ij÷³*ÍG¿=Ú q:º‡Ct»#ãùk \tð»ØÅ.v±Kû”¸~èV®'R¬Ô¡=Sº½”™OΤ®©Ž3O=“’%P_[Ϭ?Ï¢>TOª3•Gï”ÂÂÂ6«K:"Bk#)iÖý‰Ôï\Lsó‹—‚6Þ7UUEE\.N§S¿§]‹ÄA{ÞªJÌL’hïr4`Þ–öµ6Žw{Å5hï:âù&·Wosóãó‚òÑÈe(J8!ËŠ•+p¤9(PÌw%ß±ÿ~j+k ¹Bô.î,°îûuz,wí}£Š4¨°š1(²ÞÈë‘ߊÖ0D×K ¡-Cœ¯þ¿ÿû¿©««‹Ù&-F~d?âe Ò´"S¦LA€eIþøãϯ_¿ž{ï½·Eír„µA¨ö ؘÛå8*b¼MÜìzk8'ø˜}CE/]Ìg«?c÷ÖÝ”•–‘›—Vó‚òºæ±kû.ì:À;‹ßá½Åï!IŠ¢ I>ø ‚ è9ÛA`×®]üæ7¿áòË/gÞ¼yºÔªÆgŸ}V «µcþüù\rÉ%üë_ÿBEðFÉ%K–pþùç3eÊžyæ½>EQ¸âŠ+øæ›otô¸qãØ¶m›þ÷K/½ÄÿøG$IB–ek×®¥ÿþdff²}ûv¦OŸÎäÉ“yï½÷ô÷fΜÉäÉ“Y¿~½~íþûïçÒK/åçŸ֯͘1ƒ+¯¼’íÛ·ã¸\.SâIÄ׬Yïýk®ºê*Ö¯_ÀüùóùÏþÃ×_ÍôéÓ™2e o¾ù&o¿ý6~¿ŸN:µ`^† FSS5551µ±æÕáMiÕ³-ë¤-ë¨=rVÞS9bë¼5˜·gˆMsóãó„%ôhC³xŸ±Ü#‚ ï.}—¬®Y :—ËÅ– [ÈêœÅ×+¾&§K?ÿð3N—“C‘—Á»¾Kmm­®Úݲe‹^¿ Ô××sß}÷ñØcñöÛoë×´òÉ'ŸÐÐÐÀ¢E‹2dÿûßÙ·o+W®äý÷ßçûï¿ç‡~ˆyüã?òüƒwß}—¦¦&>ýôS–.]Ê!Cxã7ôgkjj˜?¾þûÚµkÙ½{w‹¶,^¼˜É“'°wï^î¹ç-ZÄâÅ‹)//ç7Þ k×®,Z´ˆçž{€9sæpÒI'±`Áþò—¿ð׿þ•3Ï<“—_~™G}T¯ùòåÜ{ï½”––šºOh¥¼¼œ—^z‰7ß|“Y³f±mÛ6Ö®]ËŸÿüg^~ùeæÎËc=FYY?þ8n·›õë×óÈ#ðî»ïêc5~üx>úè£cC’‰±É ×À‰®#£5ÕÿeÃu~ÈÚmÝ:ïȱhíøÛ˜Û˜K˜'DÐÍÜÂÌ>mmhµÁ‘ƒèt9IMI%àÐP×€;ÙMn^.%K(>©˜’%dådát9i¨mÀï÷“šœÚÂ8N#ì‘DlÚ´idee¸à‚ Z<7`Àùä“Oøé§Ÿ3f _ý5cÇŽ`„ ¬[·.fÛSRRX¼x1Ë—/§¼¼\?Ï_¾|9<ð½zõbÛ¶mŒ9QÙ½{7ï¿ÿ>\p©©©-êÛ¹s'={ö$0zôhºuë@zz:]ºtáË/¿äŠ+®ÂçB¡kÖ¬aÚ´iÍþþ|óÍ7\rÉ%$''ëçÜUUUÔÔÔpýõ×s÷Ýw-ÓÒFA(ŠÂÅ_ŒËåÂï÷SPP@Ÿ>}èÙ³'wÞy'cÆŒáÜsÏåŽ;î K—.ÜsÏ=¸\.V¬XÁÍ7ßÌçŸΊ+(**jÁ¼¥<<DÛìw³ã“H-„Y=±\~Ì|Ncµ!V”ªÖlVÝ?cÖsÈÑNë×y¢{K¼:uY²1·1?^0KУø£´gŒâõƺùNtÑuÓÝÄæï7ãiôàóøðz¼¤vJåòÿ¾œô¬t¼/Þ&/M M”n,åÆknÄétži–ØpЈ+r°Ün7µµµ”––ràÀRRRƒz;EQÔ _¤ª^ScïÙ³‡ï¿ÿžÚÚZŠ‹‹)--åƒ>à¶Ûnã_ÿú—.•8p€»îº‹G}”O>ù„©S§R__ߢ­n·›@  ·WEn¿ýv&Nœ@ Ð-Õµ3ü`0xȵÈsr­íiiiL:•’––Ö³Ÿ~ú‰sÏ=—7ß|ó˜ü>Ÿ›o¾™ûî»O¯Çív“““CNNÉÉɸÝnA ®®ŽÛn»üü|.¹ävìØ¡×Ëh.rŽÄš7egeŽFÛ*ĺí’kŽÇ i%Eq<[ «ïI!Gj[ÁÜ(e³Ñ†mdèiT¹ù±Œy«%ôX?FRxô;±ž‹õÝàWßz•§  s~grós)(*ÀïóóàÍâkòQس¼®ytéÚ…>'õaÁâ‡ê‡8hu=zôhÞ{ï=ýÚY°FüÖ®]Kqq17Þx#“'Oæƒ>àÔSOeÕªU|öÙgœtÒI|ú駈¢¨¿ÛÔÔÄ 7ÜÀwÞÉ„ Xºt)¯¿þ:K–,áÙgŸeÍš5|÷Ýwz›$I¢GL›6-&H#FŒ`ÕªU8øÃ¸å–[8çœs>|8Ë©ò”/ IDAT–-Ó‡ÃÁСCùøãtaÈ!¬^½8h0ù­hƒ¾òÉ'Ÿpå•W¶˜pååå̘1ƒyóæéGfùAÀçóéL…Ƙ¬]»–áÇÇÕæX• ÚJÌ´Hñæh¬ëFóÛH"2z×èFœ»ÕöÇêû‘\çV07zÞˆ1‹îK,âecnc~¼`n™ GV{pqFœap|~²,S[UË–·Ð£¸EtïÛ­›¶RW]‡,Ëx¼žCTìLœ8‘I“&qþùçSPPÀM7Ýĵ×^ËÔ©SùðÃ[|wìØ±8p€‹/¾˜ pÝu×Ñ«W/ ?~<©©©Œ5ŠÆÆFýÜZ#’ÉÉÉøý~ýœxÁ‚0sѧO]J¾ì²ËX¶l]»vÂ)\/¾øb]ÚÕŠ,Ë\vÙe¼üò˼ð ,Z´ˆ™3græ™g²{÷n~ó›ß°|ùrÆÏe—]ÀÝwßÍüùó™0a×]wüã™;w.“'Oææ›oÖÕöZÑTý‘؃ÁCýôéÓùá‡øÕ¯~ÅøñãHJJÒ&Mã¡Õçr¹tFÊår‘’’À‡~ÈèÑ£umA4'kîu”„½pçë³€-­Éuns£çÎjã¥Ò´1·1?ž0I»§N¾DýÒ<E¦K^~L.§5Ùq }½¡±ßÿÏïÙ[µ‡ÃA÷¾ÝùiÝOôÒm›¶1pè@ʶ–áõzé׳3~7ƒ‚ü}0¢ ¼YŠ?#lEQ©góæÍ8úôésȷ̲ÔE^×,å#A’e¹…ÁÝ'Ÿ|°aÃÈÉÉ9d|¢Ûeæ²ý]Í@SåE8Òþ5Z=Ú¿‘×"×Dö{Ë–-4662|øpÃq7ÏêëÂF/[Jÿ ç\}} 0pÐIƒ\.kV¯âœó/ ºª²Å8·g&3u Y½F›Åžnkæ-£ûq×¹­„Ä×y{gÞ²Ò×X›®¹ù±Š¹ 8NV}±‚ÓFÁ¶­%Ö"ÅÅR¯Æ Ù—ˆê3VÓ:¥qÚðÓXþír º°}Ëv’S’E‘´Œ4vlÝAŸ}ØQºƒ³N?K'æ¡ …B-$M—Ë…ªª„B!=bY´ÅºöŽ(ŠH’¤»©iÄJÅCò¨kÄXsSUU—Ü#ƒ¸hm‰ î¢õW#‚‘“IËý®}_7t:õó|­.à]SU‡ÃqÁü®.¢(ꮑc©E‰ÓúYwäxhâúõëw1MÅjÈE+é^[ÛßDÞ³²‰´Ë:G8h§"­\ç9F›¾¹ùñ„yBgèfV‚íå3o"Lž8™$%‰’ %\:îR232QTÉ%QUÀÖ·’—–ÇyçœwÈÃáÀétât:ub.‚~=–„+I.—«…„)I’þ|´'ò½H`G‹ðªš¯}?šû‹~6ò;Z›´¾DâEþÙÖè÷##¹Eæ­×3 £ÇR«Kks¤šH»&Šb‹°¯ÚwŒ4GcI4'{{¯Dë0sŸiO¦¨Ž(í=þ6æ6æÇæ±J›ó¡›NXq-0óÎÈÈ`ÎÓsªšU…wþó™i™<ò‡GÈÊÊŠ ŒYÎÜD}­úß›åÌ5ËZ‹Ã4ó“4K?j†‘Ç×Q˜[ q¤ÝÖ¬«sÂJ®`Ú‹¹½ž‚²5ß°"]˜…Î4›»VÚÖš¾X]çV17êg¼æ´Wksó£ó¸½£ÜâùD«P(Ħ-›@9(SØ·Êý•ˆ¢Hù¾r @ÈÂ!9XÿÃz<O "½sçΘ¡ øá¾øâ XF‚SQQÁŠ+عs§~­©©‰+VÐÐÐ`xþ[WWÇŠ+øüóÏ)//o1Ø?ÿü³U‹—®ÅˆÊÊJÊÊÊZ´µ®®Žýë_ºÿÆY¹r%^¯WoÏž=¬ZµªEûËÊÊôP¯ÚµÒÒR¾þúkýÚìÙ³p\õXacM¦uëÖ±bÅ ¾øâ =„í}÷ÝÇ5×\ÃÊ•+Ù±c]t3fÌà†n`åÊ•z¶;-*\ïÞ½õŒošoºÕ9ai^&ëx³ö$’¥Éò:±ð\¬0œFÌXôZkëšmí:ßÜ%ËJ֯ÑzÓÆÜÆüHc— ÇÈØ±k3;û0{V¬ûþç>6ïÝŒ$Jìܶ“ûÐ¥° e%eävÉ¥ª¼Š]Ûwáv»Y³i üÿ´øŽêT#ž¢(òàƒòÁ°yófþô§?éÄE#†÷ÜsÛ¶mcÖ¬Y:¼ýöÛÙ´i·ß~»Æ5ZšŸ3g‹/fË–-Üwß}:3QVVƯ~õ+^|ñEýù¡C‡òÁèïÞ}÷Ýz[5•øÂ… ¹æškÂZŠ ˜?>ëׯç¶ÛnÃçóQVVÆïÿ{V¯^ÍÃ?Œ lÞ¼™‡zˆ+VðØcéñêÿô§?ññÇóôÓOèyÊ5_q3‹V —²²2¶lÙÂ?þÈ]wÝÀ¾}û:t(eeeŒ1€êêjúôéƒ úw4ÃE‡ÃÁرcùòË/[øÝ[ÀEœ™§Fñ—ÍÖK¬ùb¶Ž"¸Æ¨Xqÿ1ZS‰lâ‡sÇï #«R6æ6æÇ汊à ÷¨¡­°×㥮©Ž.y]P…‚¢öïÞOž öïÙOAaÙôÒY–QU•êòj*++ÉÍÍÐÿÕÊêÕ«ÉÈÈ`ÆŒ-ú¨¹¼mݺ•Q£Fqà 7лwo6lØ€,ËŒ3†ë®»ŽÜÜ\–,Y”)Sbö"-- ¯×ËÏ?ÿL÷îÝyã7˜;w.¯¼òŠYíÚk¯å«¯¾âÒK/eÍš5ë±ÜµÉ°víZ.½ôRdYfêÔ©L:€Y³fÑÐÐÀ¼yóxä‘GèÝ»7÷Þ{/ªª2{ölüqòòò˜>}º.?ýôÓ¤§§ëLƒßïçþûïgË–- >œ?üá1ÏÔ5EaÊ”)¬X±‚ââb6lØÀ?þÈm·ÝFIII8ëdzuëV¦OŸÎYgÅSO=Å믿N}}=Ï=÷999 >œµk×rÆgt8‡}¸ÏÞÚýŒî(Ð8tô:׆öŠžecnc~¢`nšœ¥åÙ…`˜:/V`|³³ŒxI’S’9ûô³Ù¾y;;·ídó›©«©ÃëñrÏÿÞC(¢¶ª–ë6RVRÆö-Û9ë´³ÈÍÍÕÏg#s|kRæ Aƒô¿µð¤Ú¤8ï¼óXµj^x!>ú(7Üp¥¥¥tîÜ€¼¼<***bN¼œœÆŽ˸qãX¹r%ãÆÂYÙŠ‹‹q»Ý,_¾\ïâ‹/fáÂ…,\¸k¯½–¦¦¦mmjj"-- EQô³îµk×RWWGçÎÙ·oŸžäÅår …8pàyyyºô P^^®'c‰—Y³fñÎ;ïðÍ7ß´+¯×ËO?ýDUUÕÁ Aè_{í5ÆŽËI'Äé§ŸÎsÏ=ÇwÜÁ½÷ÞËóÏ?Ï AƒxöÙg©««ãâ‹/föìÙzR'oñx<¦çHFs¯µç]ñÞKdž%Tˆ¼o%ùY J£5—è:jíû‡s[i‡Ñ<ˆç§l%•¦¹ù±Œ¹e‚¦3^нX©ëâ©?ÌÒï¤uJC”DòºåÑwP_Š£ª*_,û‚P(Ä€¡èrò óq8tÉmöOê«–õ+??ŸÒÒRýzt÷O?ý”SN9…eË–1}út^yåŠŠŠ¨­­ÕÕÉ™™™‡€ PUUÅÛo¿ÍG}ÄÀ©¬¬ä­·ÞbРA<ùä“deeñúë¯ëõŒ3†çŸÇC÷îÝõLmZéÑ£;vìÀét"I«V­â•W^á/ù ÙÙÙTVVêG ’$‘Muuu â™™‰×ëmAäÝn·þ»–M+àoûëÖ­;dR-Y²„1cÆè×4»€ššý»Z?B¡½zõ ãØÌ˜hL•–~5–JÉl~u„ÄaEg%­bäf/%côûF’Fê¾Xm0ZGñRiÉuns³y`4&í¡~µ1·1?0·¬rO$‘•„U§Èû‹?\Lâýátžûvî##+ƒ¯–Eï½Ù³cE8œ zð_ü.œ ûÖ×׳téRýÜ{Ò¤I,Z´ˆ¹sçÒ­[7¾üòKþô§?éçÖ………¼öÚk|ðÁ|ôÑGL›6Ñ£Gsã7’žžÎ¢E‹xæ™g¸êª«xóÍ7u5º×ëeÿþýtïÞ+¯¼’™3g"Ë2Ï=÷œN<ï»ï>6lØ ƒñÁègÉ-&áĉY°`÷Üs .äàùçŸgþüù\|ñÅ\{íµÌœ9“³Ï>[W—_{íµ<ðÀŒ9R—ʯ»î:~ÿûßsòÉ'ë„TË•èÌŠöí^½zñ /èLAäû‚ øÛßþ¦—ö®ßï×qÓ®y½^àû|>©Xºt)<òˆ¥¹‘h¤¸ÖJèfÚ«ê¶D¢&›Àˆyi˺L$jX̺Úi·&jX¼11K¥icnc~¼c. Ðÿá‰_‚ªª¤62µåœ"‘l5fYáóUŸ „ؽ}7Ù³A…n=»¡( iiìܶUU©­ªå³.dðÀÁú€ 2„²²²p¾t‡!C†pÑEQSSCmm-S¦L!##C°œœÌöíÛ¹à‚ 9r$¢(rÆg°iÓ&n¼ñFrrrX½z5ÉÉÉüâ¿ÐëÞ½;=zôÀív“››KNNgŸ}6¹¹¹z{†Ž$IŒ=š.]ºèFi¢(2hÐ òóóõÌmEEE¼üòËŒ;‡ÃÁˆ#¨ªª §Ší×¢¢"zõêEUU·Þz+’$Ñ­[7ºuëFSS·Ür ‚ гgOrss‘e™o¼A8ùä“)((`ðàÁúw£ÏÐ#ÿ 4ˆ‚‚½Ï'Ÿ|2]»v%//Þ½{Ó©S'½înݺѳgORRRôq-))aÓ¦MLš4‰P(Ô"`¼¹¡ýí÷û–û[·’Û|k¡†5;wAQ ȞݻèÕ»/^¯çx­ÍÌ}ÝJt@£~ZMÙæÅJºÇõέ`n¥mFjY£Ô6æ6æÇ æš+ò®et+,¢¦º:v>ôDc¹›qD‰òìø s^àóõŸ“_O0¤ôçRÌÖŸ¶RØ«‡ÃÁ®²]L9o ÿuõ"UF—XyÄÚ¦Y¿G_‹Î}n”g׌£3»xÃÊ5³…f…;6Ê™¯±ÚnE}]_GäCO„+nUŒg“1KTr2ËËœh²ŒÖÄõnïunu-XÙ(cÍg+QÃlÌmÌeÌ-åCoM,w+Iãc5Ö,ží€~XþÍr***HRéVØ 9$Ó9¿3;·î$=7UUÐÀ!Re¬v™Ý7S iÏDæ÷ŽL=j³7Ö3f÷"ýð#S¶0|ˆbZŒ2™°‰w¶óX®Fa5æÂ,e«™»LGE—;l1žMb8-~£5q¤ãz·ç:‡¹Õö•q½mÌmÌ;sËgèmQO´5¿ldçs)))TVUráùrûn§¡±ûpë¯oE‘ ò ~Êp]¢N¤ó­)VB¦¶–øDÖ«åMO4B[¾ÙQ˜Ç³ŽMT%u8K¼ìFí‰yT…1]ZŽÌQá&¢Êí¨u`cnc~<`îh+F@$jÐë]Y‘9}äéúõ'f>Á‹s_äÒs.å¢q™ªqú`õŒ©5ÁìœÊLo2ÅK4`›DòáÄüHë£sF²1OœX“ëÜÆÜÆ¼{”à Ï*/–žÑ $ÂùˆBÄ™0)))̸c†Nĵw"‰¹âOÕbæÿ¯ŸfR©Õ8ó±TÿVÆÞÊä´rÎÝ^˜'Ò®xu&²ðZ»!ؘ˜·&u®½ÎmÌOÌãôDbùZá\´ßjHK몂¢¨È²BH–Q9ÜDQÊ ª¢PWWOŸâ- ÙÔƒa"‰¸ÙyIkÏYâqwñRûµÆ2Ö³¢În«dšè9Un5V]FgýñÚÑQn=6æG/æVÚf¯sóóXû¥|艨eŒ¢ö44ÔRWµ—•ŸmÀ ¡¨„ z(„  ø†‚¡MM¨L¸äRrˆ;U¢ç,í¥–1;0ò3<–Tîí‰ykUq‡ó ýpa‡sM™wÔ`ŽBb˜ËëÜÆÜÆüð`n‘ [Ý#%h³Æ§¥¥òî‚ÜóûYt¡©Éƒ§ÉK}C=€`(¨¨ÍQÅ2ÒÓÉïZHž}IJr·›•s{ø_ íD¾i5¨BGŽÙ±^Ús»—v}1¶òQ„¹ÀQ»^lÌmÌEÌcKùÐtþšê{îܹ-rlÇ*^_€SN>‰€?€×ãAURS’IOëDVfiRIII!%%…ìì,V|þMz’³X¿Ñ9Îcù‘GöGs£2ŠãkE½aå¾ën«ßiKLóx÷Á¼µõ'*Á·æ ©5›@{w{a.ؘ[Ssóó¸z¼ÐwÑåž{î¡´´”Ç{̘{P‚Á¿ŸçŸ·Þz EQ¤¤¤°cÇ’’“ÈëœGCcË–.%ÉíÒ¥I’øÍo~Cuu5’$‘••Å?üÀ¢E‹ÈÍÍeÒ¤I8,X€ßïÇívsçw²}ûv{ì1H(bܸqôïߟ_|ÇpŸ3gNe:bÄKçm3£ûV>˜©¡}7žŸf[Uk,d#ßë(?ôöoóÇy{fú²1·1?^0+¡G~ÀJÀý3Î8ƒáÇë!Gµd‘%’‘m[·ñ÷¿ÿ}ûö᫹¹¹466Òµ +[J¶ŸŸŠJMM½®‚W…Ù³góöÛoóæ›oróÍ7óÛßþVϰöÞ{ïéíq»Ý<û쳜sÎ9,Z´ˆ'Ÿ|RŸdË—/o‘5ÍãñðÖ[oñÖ[oñðÃá„'FÎ(€ôs±Þ3›´ñÀ¶ &øñûÇšpVèXMÚ`Ö£1>Åjó#ƒ¹ÕºMÔacnc~<`žÊ=^š¸ÈÖÖÖ2mÚ4† Â-·Ü‚$Izžòè³Ir0lØ0Ö¬Yƒ¢(8œN'ÕÕÕ¤¦¦²eË–pÊRU¥¾¶E9¥MK´²zõj–.]ÊÕW_Ýâ ?’‘øöÛo¹ä’KHII¡±±ñö&L˜ÀæÍ›yå•W>|¸® 0R%E§ÉkÏ{FÆF)öbµ!Z/E_t;­`}-ž‡•€ñÚÞê¨DTf6懹մ™G2•¦¹ùÑŽyB*÷DÔ;zóädêêêb> ©¯­!;'‡Þ½{Ó·o_*++©¯¯'99Y–ùnýwLš4‰Ï>û Pš3§ißr¹\lذ?ü‡~XÏük°"ó¡Çd.¢{mm­Î0X‘äZÐhbš©iÌΞÚ2Q.0žej¼ðŠ­ h·%}ª•6Û˜·/æñÂg&zíh jcncÞј[&èñ6ßè’žžÎ²eËøôÓOyã7På8䡌ÃáàûõßqÅ•W•™Å–Í[PQub½{õn–²€ÜÜ€n()eee,]ºTWGKÒZ:R€aÆññÇ3vìX¼^/iiiºÑžöœËåâ›o¾aĈ 2„ .¸@g¢“š$"õµÞJR0ŒkÜÞç]Fím«¥k¼so«ß:Ü–õ‰Ä^°1?|˜·5C–Ù}sóã s1^¬ˆü_~ù%~ø!ÿüç? …BzЗþã(x›šÈÌÊÂãóâDA©«¯Ççõ!"‚(âñxP#Et`ÆŒ|öÙgLž<™É“'sÖYgQUU… Lš4‰ýû÷sÞyçáñx¸ë®»X¸p!'Nä–[nÑkܸq8p€ &°gÏ.»ì2¦M›Æ<€Ó錩®1SËD™™9Ö6 ¯hdÍo5߯vF ÌÞ‹îŸÑ;ñT\±úë^G+*:ó#‡y<‰0Ö9¥‘ú5µ¬¹ù±€yºU5̓>ÈŒ3…BzR‘è–WTS\\ÌäI#IálbÁ@É!áõz É!EBCø=>ŠŠºSY^Ž( ºÔüÎ;ï¶ñ½÷Þ;äšfÉ®ýíp8øè£ôkŠ¢èÌ™J%^Ʋxce1É*§˜èû­Q=µF5g%UakTäG“QÜqy‚™®ŽæVƒ´‡”¹ù±€y«º•<Þ3fÌ@–e˜Ç»gï~ì¯<À¸±cHIJE”C¥±Å™„ÚÔH¥" S…_ÙMùî<–~ü±®—$)¦õ¹ÓéD„°z¾¹=ÚµP(¤rí^0Ôw¹\(Š¢«â%IŠ™ä%^"#FÀJÎp+n Vâ1›…hLT•c5çq¬s¬Dê?ÒêöDâ·˜7µ8Ú1·í+RŠ4"D6æ6æÇæ– º• ‘ÖÎÌãqB£NCùþj|ðAFŽŽª $%'ã@Å’Iq8øâ˯Y¿î'Bª§ËEJJŠ^G¤*fY<œ®d~ܸ‰îù…Ð$pà@9j†Jùöjšj›pæJ(²JcM)©Il ìàµ×_£{ï~dge’sÝHoÅ*‘†f¡Hcù*Æ5^D3 #ÈÖpîñ0´'æñ¢ÙÆ›¸š›¡ÏëÅápàñ4$ OSÁ4Ű·nc~t`n4FM"Òš¹ù±Ž¹e‚nõlÆJf™ƒ P@–¨M­¢ËMé4¤óݬÍßVDçÓ²øòw?ÒÓÅ7ŸDéÛ{¨ú¢0Ô|z°M>ŸM›6qÊ)§„Uù~?Ÿþ¹î:wþùç°víZª««9çœst·´úúzV­ZŨQ£ÈÊÊ¢¶¶–¯¾úJ—úF¥'{‰wÎïlßÊØ™q¼VêHôlÌh"·%Å_<ν­6±WsøŸŸ6m¢lÇÕaûŒ0IDAT¦\z)5UUÌ›7__w]óùºšÐ·­Í80uöw,cnE*4’ÖÌÎSmÌmÌuÌcѨÂX)ö¢SÌź}]k€ h àìê`ûËûYÿ` ½/ëFéë{ÙöÆD‡H—9,¾z%kP¥°+[t'ç͛ǭ·ÞÊÆX·n¯¾ú*n·›¦æÐ²Ž÷ôÓO³iÓ&A  rÇwPQQÁwÞ À[o½Å—_~‰¢(x½Þ˜ ‰ô?—È3ñþŽ5Ö‰¼ëÝD¿ióxmHô[±Jß¾}˜÷÷¿sß½÷rÙå—ãtº1Õx}9Ö0ç8Â<ÞøÄ *bô¼¶6æ6æÇ*æ– ºñÞŠz ’RPE¨ÝWOÑä.ô^HÃÖ&—€ª¨$e»ñWqá¤n[#’C`ßÞ½ºzUdYÖS¾ùæ›ú7=ûöícèСºJö´ÓNcâĉúûË—/çœsÎáÚk¯eòäÉ|ôÑG¤§§S[[Kuuµþnô@&êÛl5ÂY<ßE+†­ÉÆÍ´µ&“UëW³€±ú›h?œ'K–,á‡ä𫝿æ›oÂçóÅuY‹ÅÛ˜ Ìãc<µ°Ñ¹côó±bYؘۘo˜‹ñÎ(âG[í´ ð >¶{¨]×€#ÍAîˆLŠ.Ê£±ÌCJ^Å—1ðÚ^øaÕiÄgW­Z…,ËtîÜ™•+W"Ë2§žz*³fÍ¢_¿~<ú裬Y³FçóùôwkjjÈÎΠsçΔ••qõÕWsã7Ò»woî¾ûnvîÜ×2:Þä>ç7›pVǶ½ò'ZO[1oM±äÂAµSSc#ï¿·ˆ©S/¥¦¦Q‘$¨´Ø™Ù³gsúé§3gÎ~ûÛß2xð`î¿ÿ~æÎËÈ‘#ÜÓIRRNñZYY @EEééé 2€ºº:¾øâ ®¹æKcï|Æè}³ìCñ|¯õƒŒÆ+‘Éݘǫ¿µn.OŠ¢„cñË2¡PHÿ[öíÛ‹$L¤¢åàp8L­ßíb»Øå˜)QZG<âcåžYäíš,©­©$à ðÓ’@ÅérR½² ¡°$ýï*¼>*+*I’øî»ïÈÉÉáöÛo×ë¾þúëÙ¹s'ÿüç?9ùä“™?>÷Üs/ßÿ=«V­¢ººšëo¸ /¼›o¾™ääd–-[ÆKsçòÝúõ|ºüSŠŠ Y¼x O<ñx›¹\+cf5ŸÕño¿;óxã˜Hÿ4î>0bäH-œOŸ¾ý…‚¨ªJ àGQTäPˆªÊ*Æ^p~¿¿Y;$SXTÄŸ-'+;›Ã˜fÝ.v±‹]:¬456—Ÿ$IaÂ>uò%ê‹/ÍEU’’“éˆÝNDBA?{öì¡lçnœNgXzh6` Ÿ«ªÒ¬ IMMaàÀA$%%±{÷n’’’š7d‡$QR²•¢¢"JJ¶PR²•áÇӷ¸/ª¢°âóÏilh¤±±aÃNaàÀìß¿+V0ú—¿¤ ¿€P(È×_Íþýøå/GÓ%/€?@òËÛ¥£Š 7Kâ’$QUUEee¥Ž•€€ 8……E-2ÿ©ªŠ(Š466ÒP_g¥]ìb—ãA8'%%…̬l@eÛÖ’ƒEAr8:´¢(&¤îTUU7jÓ\É" $IÒ7x‡ÃA0ÔŸw¹\º*"  …E—ËE ÐC‡º\.DQÔ¯ 65?F軈$‰-æ Íá^åïˆh € Øêv»ØÅ.Ç QWtekÉ–•» ÐØÐ@œØÇŽ*¢Ÿ³‹]ìb»Øåè’lÂÂLFF&u†ÞѺ]ìb»ØÅ.viG)=BwDÈîtêÔ©]]ìb»ØÅ.v±KÇŠéQo!’=ÚÅ.v±‹]ìb—£”¤7Û¦¢cO$³KÌŠM|±­¤ÉkÍ7ÚÙŸx¾Ï‰~?ÞsVÒãYÉ1lö¾•þÄk[¢Ù|lÌmÌ;sÛ0Õz¾óuLìq‰=ŽxG"/€¿™Ï²ÙsVøµ'zÓ4ÊÒ+`ŠYýíÀ_Ì´ÎDø'2 Ú’pÁÆÜƼ#0‡°M®ˆ’dœyä¸ÜAVä˜óWUUDIÄírŸh²'²$®1·Ë¥K¨'!×âlDG[*L”ƒLdÃlm+^"q[³Á}ÿö[Ø«[3¢ÕV‰ØÆÜƼ#1×þ ƒì,ÛAmMÍ BUA’D:wΣ [¡Þo 3I’ØQZÊ–Í›Q[˜Aÿ““ÃÐá§ Iް–6&u55|þí·øü¾ð?A†Åít1løp2³²ÂBÛJÐír˜øÓvŠßlócEòØU¶ƒŒÌ,† ?õ„1ÒYQøá»uøüÒ:¥ …£g:öìÙ;ýû¹ìÊ«N¸ÐÅ?þð=ë¾ý–‘£N×㇂€ßëåÛußrι璕sBIUe%+>ý„3Î+)Iç8œP"õ$(?QI¤½Îl•RçÜÑ}´1·1ï(Ìëëë8uÄHê[­J „S)«¦÷™Wúõï϶m[ɔۂ oß¶1gŸ‹ªªúõ¥ 9y(?mØ€"˨ÍÇV‚ PQQAa·B²²sN¸1ÉÉÍ¥k·BÊ+Ê)êÞbY¹GªxâmF†.ñêhmBŽxF5F9s#7ÚXÏÇSßZIs뺕þÄ3N²j8/Ý`¬wÞ·1·1?’˜(ªŠ¢*–sÛ·Âá¤eY¦±¡U…N©iHZ(àfÒ©ª u(²BJJ*N§;üÍ#¸I+ª–´ÔØ÷´'br!µù?! !m¨:zLT@Šñ Mcp¤X@UmùýVÅwšÕ‘h}ñ¾e”s7Ö™bt;â;ÆË"föžU©xÆIñꈇY[ß·1·1?œ˜GJªF9¡­”@(HC} ÉÉ©‚ÀŽí[IKÏFi“ép8¨¯­¦K—<\. u$¹SHJNAщ¾ñÆÙF¡ý˜ÕXS à¨-e´¢(‡ÜE1"IVb®ÉB3sI0c]3bÜ´ç´ÐÝm¢¨&(¥™EQp8Ü?ûCv•×!‰"²ª )¼ñÈ‚!$ñH°‚‡ˆØ–Ž&z­#Õ‘ˆ÷"+›v{å'n 1k-VÆ;ÚúÛÆÜÆü¨Å\UúE‘ÆúZRR:ÑÔØÀÏ6âv¥••I~^ òóÈÍɦSjÛ¶”P]UI²;OScxkŒUo$ÑTUhÎù ( ¡@à ~íòcÆHÄö$‰µk¿á¥ys¨¯¯×‰»voïÞ=<ýÌSl)ÙÒâžÕ‹pký—$Éé“$‰šššMYÜ‘dT’$¼þ T•ÝuÜ4ù4N?¥˜)çD%E>ªì<ÄX ?ZuföC n:úw£ºâ=ýo"m3ÛØŒ¸ÿXјD«_£Ÿ‰¼ë›±Þ7“BÍÚl§èúãõÏÆÜÆüH`® cjó;™՟°Ê^eÏ®=ôê[LÀë¡®¦Fçò'/Q™6mUUUƒAýÚøñãq:<ýôÓzb¬HÌ%Iâ‘Gá†nàÆo$ ¶hw"?-u#±5&­©×ìG’$TÕ3þîW¨¬mAÀ娲§–ŸÊªY¿µœ`0ÍóTÅãÉÔh‰Á´§íÑ>£ãI2ÚßÑ?‘œ¢Ñ;f’R¬wãå7k›Ué ‘œâfc­vŒuFi6vfý4ºoe\~ç#lcnc~4`N7hEVHNNe׎ätîBÕƒAÊ÷ïg÷î=ìÛ·;v È ûö“—ŸÏî]»q8TVTP¶c»NÜ$Iâ›5«III¡ k7TU%55•ÚêjN9õ4Šº÷ àr¹p¹Üí°YÇ9IŽaÏàt:é×o»wï¡gž¼ðâsÔÔÖ°cÇþþò\ À¦M?1öüqºÄ­š»îº‹sÏ=—‰'2gβ,ãp8p4çöèÔ©:u"))I¿–žžŽßïçÊ+¯ »M‰b‹w>ûì3–,YBYYûöíÓÛ«=§­ío‡ÃÑ*-RûiüÂÌ ÃáàóïJyìõU êÓu?ïæÇmûØ[Ù@Éîv¨£0K"-Ù…¢ª$¹]”––rùå—sæ™gò‡?ü@ €$I\}õÕ¸ÝnÊÊÊ?~<ÕÕÕÚ?Û(Î6²1·1?ªŒâZÈ^ ª3UÆíN"-#‹ÌŒLªB2MM:edŸŸ(س—¬ìl:uJGQU\®$h¶ OIN ]ÍÉÁæÒŸÈÎÎAUù§eY¦GÏžt+ìÎwk¿AVd:©ùÝV¤­ŒRñǺklC¡S&OÁû–‡­Û¶ÒµkWþúôSH¢Hï^½øqÃFÎ>ëlÎ8c4@@Ÿ ³fÍâ´ÓNã©§ž`Ù²eø|>n¹å233yòÉ'q:üãÿà½÷Þã†nફ®" âv»ùÛßþÆÌ™3illäÖ[oÅï÷óüóÏ“––FQQ3fÌ`æÌ™"Š"•••Üy礦¦òÌ3Ï …xâ‰'hjjb×®]ú»F’¸ÙqV›ÕÕ‚€ËéäÕÅß°¦¤Š FŸŒ ûøfc?ïªaÒ˜A€Ê™'pÑéørýV<^wÞy'/¼ðEEE<ÿüó<ñÄ<ôÐCx½^ùÕ¯~Å¢E‹ÈÍÍÕ1hûi”Ÿ [YxÑ玱ÔfV7ÐèwcmÈVÂF©Gã}/ÞfK2‹7.VÀ2ëÃ!ß„ ½=Ü“¬†í´1·1?\˜Gïપ¢¶bã …B8.ÜÉnºöìŽ"BaaQØåKQÈ+ÈG–CätîŒÓé IN!árºp8ìÞµ“ÆÆdYF lH ñ45Qе+‡Â¢":¥¥SXÔ¯V}Á€Á'át8ùñûïzÊ©þÄ£ùiÿ·kƒ\}å5Ì_ð›K6“››*ìÞ³‡sÏ9—±ç#´8˾袋xæ™g)--¥oß¾\~ùåÜzë­üæ7·l‘ªÒØØÈ²e˸ä’K¸ì²Ëô6¼ÿþûÌœ9“éÓ§3kÖ,œN'Ó§Oçå—_&àv»Ù´i£Fà®»îbΜ9lÛ¶3fðÜsÏñÌ3ÏPZZÊ·ß~Ëï~÷;Þxã ü~‹ó~ÄÇ$¡órQÀãñì;«¨ðœ:d %{êÈIs2|Po’]à’ “K wa.¶íÅí “Ï’’Š‹‹)**Âçóñ»ßý޳Ï>›‡zˆ¯¿þš3f°|ùrDQ" ¶›=A,sLG"7ñ3ž•°ÕѪ8£ ÓØR×xñÔʘ˜…·É…¿4õcN }‰nì6æ6æGæ-T(تÍ/ò\Y–åælNýšnµìt …PHF&„Ëå$ àNJ"/¿€P(ÔlØU­[kƒÚ;!jª«¨(/' …Cqª*N—‹††ú„ ÐTU ·Ñ€|Érˆ`0`8EQàÔSÁêÕ«DAihh`ØÐS…‚„BAý]¿ßÇèÑ£éׯ˜o¿ý–âºë®ãÕW_eÇŽŒ}²öíöz½ÜtÓH’ÄI'Dee…î.år¹X²ä?TWWÓÐPOS“€öóÖ[oñüƒY³fñàƒòÁP]]M]]©©©œþùdddpöÙgóç?ÿ€@ €Ã?M=Ë®@QE& ´ »lض—OÖíäªIçPº·Žôd‘]•^ÊÒÜiI"éI"Ey™$¹¸"¡P9Âç󵨇´±s»ÝTWW³k×.úôéÇãké\”Dýí®r7ãÐÍ’B$"%mƱ7sõkd|䶨_­J#FjW+êW3É*–tÚÖd6æ6æGs½}ŠÒj_UUDP™†ÚZRSSHJJj& åû÷SÜ¿_ó÷ÃÖÚÑÏÎÉщ±æn¥*Íz†]áw!+;›a§þ‚¤äd*ËËijl«ÿlø;ŠŽY@UÂn`‡·;‰’­%Ì;‡¼ü|8€Ëí&''‡Çÿògî˜~'999:S“””ħŸ.Çårqá…ñË_þ’1cÎ %%…’’-úõë‡,‡hll$;;¯×£“¦øå/G3{ö‹äååóÿ÷ÍD-ì"wýõ¿æ¿Áƒ>È™gŽáßÿþ7IIÉ|üñGÔÖÖàóy›‰¸_¯OQd4»X4Š®¹Æµ5Sh£Gæý xê–3yô/=bÛ+|œTÔ‰NI).T·H'—@ (óÆG?rJ¿|DAeÀ€~ìØ±ƒ5k¾bäÈQÜÿ™0a" Ò¯_1¯¿þ£FÎßÿ>Áƒã÷ûÛLÔeYFQ•Ä$t«‡™ä“¨l¬gÍ6-+›¬Ù»å“l6f‰ø$c`$bt6lU m«O²¹y{c~èq²ÚÊÌrPUqo}=MtÎËcÇÖ­"9ìݵ‹®…ÝØµ}{ø Ôç¥G¯^(J8ÈLj§4\n7Š,#"9¹]E‘””TQ$)9Y–q¹]„BAz÷íËwk¿! е[‘n<×FÄ,bª†™‘èñr¹\lÛ¶Ù/½HNN.{öìaüE¨©­á›¯¿&##§Ÿý+·ßvaw»PˆÂÂBž~úþøÇ?’••ÅìÙ/ðî» ¹í¶éäææð¿ÿû8=zôh–’ŠŠŠE‘ââbÀãÿ/·Üò[***¸îºë•3Î8ƒ‡þ–,ùþócÈrˆY³fqé¥SijjâÖ[oEúöí«îþýû·Ð´„í"cÛ‚æçÚàE Ñãc@\žýݹÜ?ïsNÔŸêª*þ³þg²ÒSôù˜–âfâé}ùåÐî4y|deeóþûïñÀðÔSO1aÂD®½öZE¦gÏ^¸\n/^ÌôéÓyòÉ¿ÝæöjŒeôʦN¾D}ñ¥¹ (z4¥x*ÆöXèfABìÍ=~Úss·¢V¶1·1ïh̵¿¿[·–ÓFASc‚˜Ê]”$êkøìݵ‡ô´NÈ!™n={BsÛ“’’Ø·s'^¯ŸßOFVéédfuæ‡õëp¹\x½žf¥®Š$9èÙ«7Ù9¹øý>\.7€—Ë­K—IIÉ$''ð45êßJ´ƒA*Ê0`ààæ6–¦?ù„ÓFŽÓíDŒEUq:üïãF–CT×Ts昳9ë̳P÷?xŸþ‰NÒp8<ôÀÿP__¯{IOÏhñý—æ¾Ä«¯¼JïÞ½õc„… RSS @FF¤§gPSSMVV655ÕH’¤×å÷ûðx½ûðý÷ßpÊÐáJKK6tÁ@P·¦—e™ªÊ Ýÿ^E®˜6+.¿\Wa;ª*+% ¨©©AEª*+*++tW·ðÙzØÕOª+«t¦C»&Ë2•¨¨º_vUe%’êª×§(ÃðªÜ›ñV¥Õã]UÅç÷ãõùùÿÆöFñ7±qs)ûö¸œNn·›ä¤$’’’¨©©æé§ÿŠ„äpI›p´þ¨Í}“šÇ±=öÔC ([œÅêÆšHjÌD6ÅxѲ̤³ %‘ˆZ5¬µmH$j˜ébcnc~˜1). ‰Ž±‚Óá$ð“—ŸGmM-5U5ásËféN–e¼~)©©dæd!J"Âí ƒ”—8ÄéLó—nÙn!f”ÁŽb.U5L¸Ô(CÁP0È´©—sÖ˜rœN'õõõdef6d‰‹Æ]D0¤k×®x½žø‰¢Ø"‰fLY·ÓéEAÕbë7RQ)‚y‰Œu®[ƒÁN³[0$bTÚïzÐE5åëTEm·1W%lL)‡¨lò1åô"¼>?¡`U@Q‰b¿Ï×âûš©šC Ö9>jû¤Rc„øIÐÍ\ƒ¬n‡¨7k~Åñ|y[Ãp$â~dô^¢î>V|’Ú’ˆqSkÇ*žÏ°¹ù‘À\'”Í‚¹Šš°º,Ë$§t¢©)œ©-+'›ôÌ dY¦®¾NßX»õ(ÂáPUðû½tJËhw<¦ôvqÄs! Ÿ£ÇÆ#??UUÉjΑ­1b#c%Drdp˜ý>BZ°°E½gLÚ›ääd’’’HoÖbhc©ÍH[-ü­¡ÄßAsF±JУa¢gk1¥­H6[ÿm¶éÆ<ÿŒð˵jQë<Õè]ë/ˆI4b‹Y°«.LfÒ‘E¸‘e¸•ˆj6æ6æG óêe´o´Ž(¦¦¦7»­©¸]R³Õ{ËgEn–RS‰ô¹>’G6†ó±ùÿЬ JBBLj¤Ä},æ—×UîBÌŽ¶‹QœQ‰åÚZCÍ#NЭHN±¸n£EÛâÌ#Æâ‰PÄhã€Ä裾MY•î‰fÔv«QÃŒÆ$úšY¬ìèwÞ·1·1?’˜8%ž¦&NW›Îãù°·&QIG—††\nW‹´˜ªª’’’BeEÝ{t?ÈìžE<.§ëÓ—ËEcC=4‡¿=QÆDSV‚œQãrº­‰Tš­±x>ZSiÚ˜Û˜w”ÛZažl+Ù‚Ãé<&%ʶ)ŠÂÉÆáóùô±ƒ <˜U+¿`ÿþ}œHEêëê(îWÜÒãAUéÒ¥ ;ÊvðÅgŸár»O A€ÏËí¤s—ÎÍkH4—ÐíÒö‰Ø^j8+u©fíbc~ÌÍýÉÊÊ¢K^—°Eö 5Àåtá÷taS˲ær¹ùå˜3©ª¨DVäjXz÷îEzFÆ!Œ±¬(œzê©T–W„£ô(ºªârºÈÎÍA¥fDÚ ·×Ff»0µ~lÛâÂdcnc~4`Ù~¿ÏωX|²¯9:]³ IQw:]tëvBŽK¬$LÚ\霗g ‘] dè¨$ôv±‹]ìb—6nàá]ü„ì»å^MØNÈ1D]2×h·ÃápP]]EuU%N—ë„0v±‹]ìb»«¥®®Žÿû4€÷Ýì±IEND®B`‚KCemu-0.5.1/doc/window-keyboard-kc85_small.png0000644000175000017500000047617212417262523021312 0ustar glaubitzglaubitz‰PNG  IHDRôZèÀ¯sRGB®ÎébKGDÿÿÿ ½§“ IDATxÚì½y¼%Uu6ü¬ª:çÜy¾=BwÓ t 4ÐÌA4ãˆQcâ5“7I4êûÆÄ÷Õ/J¨8`Ä9 (ó$ÐM7tÓ =÷öÏ=SÕúþ85ì½kïª:·ì&uýñ³ï=uvía={¯½Ö³Ö¢ó¯üGçwßúDcð‚¿ø5z•MÞrD? € ÿcÿwÒ<'þ®>§þèÚWÛÕõÃÔ'2¼S}¿®i¿›¾O ÿ”q$µŸuÜj[0ŒßÔ†i}(E’ä"íýYæÉôLRûi¿#ƒ|*ÙCÂÚ$õŸZÄ óˆ”9 ç9Îsœ?38·(|,çYjßÿ^ Î FóžúÑ­kßµÿÖùõ‹þìS13þäÿûÿýñK/yÿÐüÅ( ÌÌIË"pˆg·væòÎCÑONØDŸÉï>ÛãÿŸ"‡R&è9<Æç9΋v€eY(s¹\&þqfF©TÂP_7,bö˜É¶,LÌÔ099é¿…t_„mÛìgvë´kç6üæ×7~ñ†¯þí_Ñð ?üâ½ïÊ›ºúçsµZ%Ïó¸»w&ÇGP(¶qOÿíß Ð;0¸V¥òÔ8Y¹æžkî¹æžßÐsœç8ÏqÞü™#U<òð½XØßK¸ª«s°gtK?K°E ÉYzð~ô–\jo+ê.×lÑÞSè_°œW»Œº;JüÐútÛm¿{‰sé Nºª³>f+Àí]½øÿ>v%>ú¥Ÿàžßü_ú»7ð~²‘ª³eþð«O‚S(⤳.ÂkÞõ˜-O%i~Y5"“ ñ!Òæó¬ßå9¼—Ržãgà¶•¶‰ìm[DÖqó!X«,sžÚ~S£.Âm¸h¸.ˆ,.x®‹zñã8¾© ìyÕ &¢Vç6ËK¸af8¶ DZƒ˜ò<æZ½¿æ9`f²,* \­V‘t«(&üvsœç8Ná¼…¾ÆÞG ¸lᑇîÆYgž‰c— fV›`p‡ŸÞ±7ß| õ_„Þ®vlxä,;jÎ<} ,b ®T«`Ù¶ÍÇF­^ÇT¹Žÿô'èïëââ‚!Z²tVµñ*dž·Ü²lv=öoøÆF÷òƇï§ÏðåøÌµ`pÁÑüW—‡¾áEøäׇןFXsÞËpô±«Ñ¨W“‚(¹Ašë¢d]¸¹,ˆqQ s͇|Öô`6Ë4’3Ü’³Ê 3ímEÜõûǰüèìƒW¯à6¡{ÁB>vA/\ÏÃÓ[¶clª„¾^~Ô0jõÄC½ p@9èÌáAê?Ã<ÿ"˜›# Ÿ€‚ã`ßè8žÞ±‡mË‚ÇÜÛÓ‰UËF­^_îÔÂal‘…™r•ï|ì1\pÖjTªU¿$t‰Q*xÓS;Ñp]œtüRTªµ 0s8&ñßâ˜sœç8?œq~°g@d^ ç aßÈX–m|¶«³%‡˜™Á ®×fqô¢ùŸDµVÃýë6ãü³V`›Ä[vágœ—‰ûzºà5p=æRÁÁ]î0ÀžÇäy…‰Ñ½øØ•gáíû*y LOM¡½«03=ÉŸùÞCèìîC­ZÉj2jÅ4t0Úz³ ¥ô æ°4S§éï”ò>N0õe™S¤€=©Y¿—uÝÒ̉”"sñ­%Í5eÜÄ(IŠE÷­Ý„ϼõtüà–MØ¿g»&fñ±¿|>î½e-~¿‡¹:5JŸ»óŠ Ë¶°c´Œß=¶Ç.]ˆ‘ý£˜˜uÑ××ÃÑÖ]£XÐ×F{Ç+èèê@o›ƒ}&a9E v£@ÀÓ»FøèƒTplÞ¾g½]( ضk„–-F½Ñ0:1ƒvžÄ_ñ<êêhC{ÑÁžÑ)lÞ1ŽŸÞÊpÚà1Ñð`JŽŒãS˜(×ÐÖÞNCýÝØ¶åI|ó#⊿ÿ.¿øl®»¸6ƒ­ûË( ´h~/oÞ¶^p|úºÛñåÿ^KÎ?OnÛƒŽ¶z;16YÆt¹BÇ,æÍÛöb¨«D#“³X0¯ŽE`ý¶˜ã<Çùaóƒ=“ˆ°YÜh¸p=&†§}GSáõ@D "vÙ#Û²¹ÞhÀjxؼy3þá-çпþàô£‹¦ñþW¬Æ¯_‡ Î=˜–Ep=^óì™›=Ãc`btxöÅØôð]üõO¿߸³Lµj…Û:{ÑÙ׃·=о¡…^¼ì¹Y5¡4SÛ\Í?&­­UÓ_š/†2hüY´\2›3޹mšN¿7×÷sÂfkÚÔ8cß²ÎgoRÈcBµVÇÂá^x®‹Í£³øÆ/à_üä.ܶ·ƒÈ›Àûÿì<Þ}ïCøÒï'ÑÞæàèáæôaË“Oáè%8çØv¬ß¼[f‡Q¨à Žë¦÷TùÂ:±{÷8žópÎÊAT&§ñè®”Ù£®ìÀ]ïÛm8eaóžì™®á%kæñMkwaÙ’EÔh4¸§«#cÝô‘¯Ý‡·¾ä8~É™Ëñ/߉3OXŒŽÞnœ{L¼FƒïY¿ îðBLLÀü^›ÎZÞƒÑÑ)¾mÃNüÅå§P±Xâ¾~ nzp†ú{0R®áe§öbz¦‚;Öï€gyøã?:›]¸²\Ãï\‹—ž¶{Ç&°co}Î ­^ØÁ7=ø.?s>­òù'vãî »00o1ˆ=$¸ rœç8ÿƒâ<£\rÒ1gs“áÎÌp=f±®èˆC#˜ç…æ:Ó†™J?ðš3ðóÛ¥÷½ö¾úgcÁüAªTëÀDÏ<ÿ{ð;zaSàÁàÂs]úæÍoøÜoñüÓVa|ª «m‚Z£†ér…ˆÚ™¨Vë›™BÁ.àWü¨QЇî¶vŒ70Í w¿ñ<<üÈ“x`'Ð×Ùœº†Õ†žînlÜM‹:Ûø]ox ì…hT'P©{p½*ºûçajzåJ ³5Dªµ•+uno/¾sÏN µ%›1[­7Ýz9ÎsœÞk6÷}ÙMSx£áa²<‹‡Öo"!‘cÙóp̲Å„e5cÑku·ùo1S¯Ñ®‘ >så|tu”0U®áù§,ÃÝÞ‡ñé lÇ!òoè•Z¶cƒˆàø<{ò<µzÇŸð(äs#X¹ò6\±¤ÿþÛYºêÖ¯ XÞÿî£qêò~~hÝ,*ś๟€Ç^–p–VüYREH)ÅL–EÈ[ Á@Êß’ÞM„;MÈŸ ßZÖp“?‘phÂYáwnq#$ÏóÀJmEÜðã{ñÕj_zÛùèúáïøW;Ûh´Íåý ЫOìäïoØ‚ŽÓ‚ÁtX.«cÛvðg¯_üñƒ8yÕR,ênvÄ&²Øm¾Ã&Xì2È"9è0·W¦¨LýlÙ6<ÊS8uI;Ž£«³ž×ôŸ‘Ÿl‚ð<¦ZÃEcvŸzÇ…ü¿þéØÖ¹^°f9ìRŠ.ø]Ÿ¸Åþù¸úC`ï·o§#³€½»öc×Â…¼xð¡Wž‚·~ø[è{Þ töê¥ÜdÛ `<µe/šßG5ËB¿90FÝC'¡Ñ¨Gä8Ç‚W«¢Q´‰¨Ù¿ç9ÎWœg”½”0=MîûÌàÜæá/_u&M7µ—ÜùðÓü[·ÐÀÀ ¨isg="‹ØóÕš‹Êø|ôC—ÐW¶?¿ë |î]/§Þ~¿ç 7áùgŸÖL/CDžçÁò ²0ÿyh „™*ÐÞÝŽ£%¼÷<ùt=Ý6vì­áØEÔ=¯MfgV\âógD‘ÂÿœŸ,þ¡ÿIsÑú—˜Áã«ÍA}÷8>tÍø··\€ö_Ü_ÖomÞÀk5Àb¼íUç «TÀÎ-Û16é¡î”ðÔ”‹oþÍ‹ño?}[*mxtï þúÏ_ˆm£Ó€y]Eüêñqüå…+ð±×¯Æ—ú®¹}'þú¢¥øHÝå¥ýÕ( fxM¯¿Óä8Ïq~øâü`ç>8‰šhospïúmØ52à ·‰ Ë"˜˜FgÇ@ØBØkb–|Gz¡½ýò¯1íuãܳNÅ—®ýíŒc–…ÙJÕ'ÓÁÇ—¿‡¼ýßôN<ëbG¥ÑWœv-ÞtùGñŽ·-Do·MOVqî™øÞǰúyíxh][wTññ¿9kéØ<Žüç9åjÈçÈðS(8X»áq,Z0Ã(OOàÉ­»Ð7<‹‡zQ«V±wÿê˜öö,^4µÙ2vîÙ×óàJDGÑÆClÄêŽC[©ˆ‡×oÂ’Å 1<ÔMOlmY8vùìܶ f*èëÀþ‘µp:;Ú±~ãXsò*¸ O w»÷îÇøÄNXµn­†í;v¡ÒðÐÝÓ={vã„•+`±oß>Tku4ìv,=jŠ\ÃS[¶£ÎÀÒ££T°°eÛ.°e¡£³{öì©«O@yb ÛöŽ T(`ùòe(OŽcÛîtvu¡á2jÕY¬>áxÜÿàz,[º½ÝpýÍ,—áçÏi-‚Þžn úp^éZn_ûiíS¸èü.®Õ˜N[ÝÛî™ÆÐ€ƒ;î›áRéœsò·ï¢'E©¤çó Réã5i¥ÏD©,}Êòþ?T©,¦Ví»=ft´•P«7àº.@ÚJö ª5\ˆ ‡m»Úhx¨7 jþݱ,xž‡z½Ñl«½f+UöÛ¥Z½ŽFÃåR©H` Z«Á)¸èØä6l;6jõys{[‘ʳU‘1îßÇaÛ¶h¶ZP(8ìØ:9…*•àbÁ!Û²à¹.×ê b" 86¡R©±Ç b±À¶4 r ž­Y6JEðl¥JdY( Ìžçç§±¸\©¢³½ µZ®çˆrœç8?"p>G“{€?. àú Öo؈ùG °{ž¶-›vï܆¥‹†00ÿhž­V©³hóCÞþ…+¨`33‘š›Â²èÀè°k|ÜóN¦ñ©KíØpÏo˜þâßôVy‡e1×½œR;YP«yLDT«{h+ZìzŒR±™îµRq¹ˆ)øönq"çr gõëd!}Ìøic›Ëf€ ó“ÌV€nU«@OêW–9oÄÔ´ì¬2É-l’I©\[%"e]'JQ¢³þž¿9Îsœç8OÀ¹ç1:;ÚѨL`ûÓ›á8íØ\·Áá4°`)Æ'&™ˆÈqî,Yx|ÃCä8­Œ1˜JÅ–­:•GFÇaYD…b6Üw3;µZ »G&111 ""Â4,xÁÛÖ5çÁAà&TGâH{¶•ÏÒ„7C\aË&$“€%›3¶6˜Ã<·j£ç#m}©…µÄ!è3eØÅúgç,yÚ³¬^悉ç9Îsœëæ™ÀûǦP*ѳø¤àfÃ9Q¹QÇè–]ðë¢`ض…žÅ'ÁO{ù¡æŸØî_¨NÉ…ë6àÓ9FÇ,ðPíA3È €Qh¸• b®BÚÊ÷(E(¨AÈÚj¡­¾ŸZl/‰mšuÞ¸E¦m^tkš¶AÊ#ËßF6VþV.åáã<ÇyŽóÄg @Íÿ/mÍÃr©þ/.€ÉôwP˜½™©†§¶í#gÅÑÃü¦—®FcvàK€] kΠ±¤™ÀF3J2Ϥ=“µ­¹šâ²Œ‘3˜£Ñ¤•6œ`žLÒ2ÓŠfdI[™5?u3ä\ç{®¦¸,Z|Z%2Ìñ˜3Yc„[½‰¦=Ÿã<ÇyŽóÃçÀe·2 "‚eYøÂæßÀ©Õ]Œ‰™‹EžÁ“›‡SpHÅ ³æ>>”4‡E=”&¨C±éÌØZóáº~YÌ¡sÿ3ÙÇ,›ûáÔßç9Îsœ·ÐÇz½ŽçxÇ!Ë"n¸:Á lÇÁÎÛ14o}ýý¢íÿ™ØlòŸgoc?`Ξٹ;˜õËzHÓ3´Ö9Îsœç8¶pÎ@{G6¬[‡ÙÙ2º»{ÂÏI‹c†mÛhkkãR©ÄòŒ ?yùÔäï›Ê*òƃœãCµ&3¦9x®•U<ëÂsX‡Væ4­IŽóç9ÎCœ—ÚÚ¸ÔVŠ}æh´Œ0w 5Ir„ff1˜‰›Ypćlº¦Ñü|…€ä7 *ý¿€cé}å¢Ù‚_“Æ_4¿d´ÿ…f]h¿Ù&i°Yí™ÂgÈÿ¬™\šÓ$ÜY$3Ÿø¼‚úÑPÃϘüWqX¨:êMóqq¡fÆÄAñæŒqs üïDõ®‰ÅiòëKíq4qäg„?ÑAÿàwQ cP@ª«åã¤JHÀK4~'¾ø+ 'hŒˆƒ1øB%ÕÊŽ¾.±@Ãeô§š(*®íËS8^ S§9«å¹ý¤eþô‡óª°þëþ0ýå ¾,®³/ÔM1g7%<\xøªñLæ~œioêC$’ðà5Äâ¼G˜B”£*(”PÈ[• °óÍQŽóç9ΟUœ7çƒ …ˆµZÃ\ )8ç¨@[L¹q’4N*Xœ»h§ñqí '‰¥ŽÅÕ#¼h &_JEð!ŒHÒ^k…ÌOÔù8=Gý Ä©"AòVÃþsAeØð?ö¿htM háMÍÔlß_9¿y–Ç¢Ôq²ÿn oÍ”÷AŸ‚m6º.P¤çI:/ƒ|e[ráÏû¹ø)C¸ *bbŽý÷³?Val„ ÿÄŽ#TËßáð?ç®9abY–ƒçå\èƒ:aÿŽ“`=Tÿõ×-ì{Snƒ£‡H‘Áè†n«á¨•¹ŽÚ ÷onÊ%‘ø>’iö»ÜÜžá} Z3q) Ëç‘Ø÷ Ò±"oÎùóÁB䇙”ù“÷¡á‘DÒ<…ónèágDšä8ÏqžãüYÇ9ȶm:0>F7ÿî*Šð¨è/î©Ü®¢[Õ?@C`‘dYŽäο †ûu$ÐJ{Í»lä æ%—w(•91¥Î²x¿MÅB¡DuSôeO8ËÃé÷7"ùRœ^Ñuž£|äÈqžã<ÇùÁã¼Ñhðüáù|Üòã0>9ž¥©8¯|ئ“¬1Y–…íÛ·‡ª×ëLDpÌLŽã`Á‚ìzn@H‰šˆèÁCè !€áyŒþþ~¸®‹ÉÉIX–úÖ|ʼnePsf-‹Ð?0ˆ±£ä5 ?êG`ÖˆŒ;¥ò‘NˆD™ yP¥PXÁ ö4ÉÀÕÕС&ÛØHÌ |2,bžQ‚ ‘°E4'Ü'] ZŠV„$/ —•€ %8ä84Ž’äU%ÅKÄ¢ŸMÞZ|$û;gðÑV*)á!D"OÅ}umŸá°It‡s¤ÍA’PHZñÀ÷ˆ¼2-G¦¤„.ÁªÉ¢Ï“ÄMÜßùd œ¸Wô6 o£ÑÚ‰l#0)qp$kܶ˜Ôxèô–¾ÆÊŸ¢©‰ˆg™q®“—Tœ‹«%–sœç8nàÜó}½}(Ï–ñðº‡ñòK¯ ÙÊl:Îaœ7#)Ž‚Ã{xxƒCF*=Áó<ñi‚§BœØ¦Ë)Xv€ÞÞ|ö³ŸÃÐðÞú–·`ffFW-‚&ˆår™Þù®wá_?ÿyîêêjÖ€ *úc…DƒDN(zëß“ÃÅåH±Si»>XèpÈF¬r +B,ĽÅW Yx‰;=Gþ%äsK€4f¦°ï,YÆXôí±L Y™,ò‹äC!‡œŠ”ç&7Ú7ÍFò-íè™"'‰-¿BCoˆž6#çÂ… ÍkÁ…ƒ õ:Ä”Gaì IDATG–Îp>Y¼´²0¦ ¡&a¯iæ8q(ÇyŽóÃç"‹èÀøvíÙÇqZƹ‰ÇÐø·ü¸9îììDgg'KmlÁ)8hïèDgWz:Kxø–ëñŽ·½ —_~9¿ë#Ÿæme»Û‹ìz:zú°sÝmüî·¼—_þ ~÷‡ÿ÷TÑ×ÓÅwÜ~;oÛ¶×®[Çúš×à…\À#ƸÍâk¯ú~ß¾¯|õkñÏWý…~¶à¡¿¿ýèß®|ó›ñ'—\‚÷ÿÕ_ñ¼ù ð'—\‚µëÖ¡££ æþþ~~ÛÛÞŠüà:tww£«« —½ìe¼qÓ&¾ûg×àÒ—¾˜ÿí _äþþ>ÁŸC‘4!iDá•,2f éÂ#2²J¤ räÓ$Ñžùº“§Hj ¾Dqƃí¥Ë¾9…ÕP ÁÓ¨íbDü{>Q9ìgØ>«¦+Á1§Ì™è¿ãPïfÙ¹Zƒ˜Ur•ä ·8…ÚJ¾ÿÂvBâ•0õ …º%Zô88cI¹$°xã ˆ9hä¹Ñ˜ß4+Ä –ÏÉ-Ýe¦’À ǹî(ÜjåK_ÐíhodÓ »Iì.7CÐ%Ñ8’\å脾z}Ê‚“70] a<Òí6š0æ0Ô):cƒ:#ŠùUä*ÇyŽógçÁ ÇA¡P`ÇqàÿÇŽãpÁ)°c;<Ø?€ž®î&7-x¦P@!ø^ÁaÇq@©~t·©>ôPmf ·®à8X÷ÈF\pÅ›±â¸•(,ºóæŸó|áßqÇ–-8sa¿é[8í²¿@qø(,›×ƒûîù-ÖÝþsÜõÀ:LN6+ÊÌLOóæ'žÀ¾}ûh°¯—ÿúcÿˆ¯]õZ¹êx&®ãÇ?º?ºñ>üæú/²mìÚµ °uë6¸®‹ cÎ 7Þˆ+ß|%Î>ë,T*8…"¾ùÍkÐÖÖŽ7ÿÙ›Áž‡_üò—˜Y{ÖóÑèt€O^Û¶ û¥†“IãMÎ ’M1r¶‘z,øöeE És(ÜúE} HitÞ“ˆm%î¢u‰HÃx•ü²1»ià=ŒÄ* !$ý˜ ¸ÎX"wG&1•´š”£IŒm¡Ø©ùkY°è’ä;‹» EÛ#±S8| “hˆ»3q´F5Î86*œˆô¼X½C NR ËÏ‹Ç!Ä9ŽB{ã±T¯nÊÒC²N‡î]«UZIæ(óH”X&p@Š–Æ„`^L±ÆÔµó÷.5N&mŽóçÏÎŽã`ßþ}Â8 ùKº;»hýcëqÁó/ÀöÛQ«×¢u’ †‡*CF eü”„71 ª×ë8fÅJ¬Ûô4V¿¬ù×ò6:öykð¹Oþ'~~Í{ñ‹{ž¦:€[xÏ_ÒMðfyËÆõ4>6†?¹ôR¬9õT¬\¹’¾÷ýïf¦&éýøþáSŸÂ¢¡>ÀÓ¿¿Ž–Ÿñ&w-| ÿÕ5XÒßFn£Ž‘‘‘ðPç˜J²Â*¤cm(¾ß’$_‚¥ ›Iˆ1”l|þ®l¯$ $ÊE¾ÀJÖ$Šåí’P û»º§‘äq ÊŠÑOá-‰¾Ø€dÌBþ¨H‹vêÈ\G))T…IäÙˆÀÔý6JÚåï !VH‡{ß7È& X«¸XÅx0UËW¢I(TÓI”ðB~Œà0OÐø*»c˜Œ!nj•`¾¶¬œL$yj)î$&¨æTñðŠ6A’3‰Þ¤ä&‘¦Q3¡¢]_Þȃ»'|÷µxõŠ9!) Hœð›ã<Çù3‰óöövþé/~Jß¾îZœ‘Á…V.—±eëV\{ÝwÅ` X–EžçÁ²,Ì”gðÊË^Ž+_w%U«Uã™ìèUT)x3 ÝÅÊÓ‘å X}œ¾ò÷ÿ _ù¯›%¼œQ¾À{ém¯z!ÿê'ßÄ –ö`óY/ºÿOç –5ÕZ*•  ÑÑbw×Ýxåå¦{ß-é3©Í°ì%ݳ°oß>ªÕ*÷õõ Ë Öj¡7|þ=—bI‰FGöû‡9‰¡(✄iŠ•/Èòb#XÊ ! ‰(Lè§ôû)²]ˆ(0ý¬ï3ÄpÀ¬ø+Y ¡Ö „¹6dæisTm"X¦ÝRDê$ÅV&¡Š Å,:ßXUÕ…T‹%^ ¡Mb„¨È„!%ì‡9¯ßlŸðœ’’tH’Çæß8:§ÄýÆóAâ1¤m§¹QÀl&Ñ<È‘OQkcéQB ÉhQý ¤"ÑZHx„zÉ2-Ñ~HŹäbÆ£t+  ×E¢ç’À•dnQȼ'}^nÑEN² 0ànQÞD²@ ,x(éÎrœç8ÖpÞVjÃM·þš/¾üb* lÛ6<ö¨P(p­ZQu¶Š¾>=€®î.E<35ƒ‹ÐÆG6ò)gœ‚ûî¸'±šnºîWxõ¯fÇvŒ%dM,÷ÈlE®‡úÓÝ׋?¿ðåü­Ý½ø÷k¾‡eóxŲ…¸âòË0]žÀÜ»úE¸ñ®µxhíZ¬[û0nüÑ7pÅ ÎÃÏoy/»p%ÌìØ°e٘ٿ½è8êŠ?çïÿó%èïíçÁ^Âg¿ˆÇ–¬;í;f‘sÚÛ`Û`|Ö_=–Ä ·QƒÛh)e•FB«Á¶!™V|£jnãPß6Ybˆ)U²`¶bX9: ó—$t¬æöLwQ² Å %„7éªD9/¥4ÞA®±0ùQ[ʬZ‹ EÉšHô’©i·…劉,¼j„i Õ`§ð¾Ò$¤cÁ^¨BS Q‘LÁ$œÅ¦­”øÞ-8º²êäL - ÷ &ÈT‰égI±.´ˆ¤‰cG'ipN¢ôp7#Ʀ‡ ò@¨IMØÎêERHí)_Åe~•@±RMiŠ¥¸d«L~;– ¦QNúç9Ο=œ;N»·ïF±P˜žœæîÞnø·l.‹Øµm9EãÆQ«Ô`;6¦&¦0ºwÙˆF½kãR©Ô$|ÛFo$” Ó“Ö¹@~¸v7^ûþ·à/ÿìu@{ vnÞŠ•'ž€pßý¢Î¼è¼‹qÎyÓ_¼ùX½'aÏãw®Ä OOÕýýýxlÇŒ¸úÅå§€ñ½Ï¾±ÙkŸ½ŒçáIàòðê5ªÖë8À?ÿô~\vée48PÄo¾ñLNWa;Rmwx¢5JkêÐÀýÔ€5AG£u é1Ì:`E6É…tZI›‚”—9^Ü",ªÀ‚ HvC)æWf%QdØã(õ¥6ì42é’,YE“‹>9y‘ÒkF8Ò($Sp)²å aÆ`I%ijYv=Bªk\jÕpiŽW€B˜%®–¦üKù6HòŠsÌàn‡Jj9¦ŠÉ]ㄆËñ`ñ JX› -”ý µÒ„…y²9F —ÖB7ëmתÌÉ)ͤƒ7 ?ŽÖ(ÒLÂØmõ¬2Áæ8Ïqþ,ãÜó<¬ÇýÑ%ð|ì•§âÒOݽý˜žÇ“ß…×>„+N?=½}@mý§¼¡iž¯7"Ìïm£KWœ¶ŠÛÛJ8ãŒÓqÛíwàýËÛðÚ|ŠÚ¿óî°ê8ñ¥MÅô$Ȳ€¦B€j¥˲âFĨÖMØ(Ë%‰š&A“;ÓÏAªÇ2Ð>!bFUÂÉÖ³vB’ÇܦaÕ"Á‚«áë„ÊyTÞ(ðŸ7CжõX"«p—ˆ˜ÊàçâÒ¨îJ3Ñ®'O¤O—”ˆ#8åt,g“ˆØ­ÂÆ!˜ qçR`qÏF¢¨—r‘ Žq×?cìÌàØù-ò®Âb'¬2†CK;< ó¢¤ „°”95Nç%–&^Æ9S4~|NHvòshì¿Jäo,‹,‘‰8ÇbÂ_>9È òÁ'Þ|# €`¹P i9W9Îsœ?k8·l ­}ŒvnÝÉãÆÁãç?ü9*³Šl~l3Ê3e*—Ë\ž*ƒ,ÂȾÔª5ªUj|Ë ·Àó<ÌÎÎÂn&sÓŒN>С¡6Æ´bB­ZÁßþíGù¨ÅG¡2[ÆìL¯ü‡ïÑà©ßâï}m=óéÏßùüö×2ì"U*|ð=oçóO_I·ÜñÆËuÌ[¼¯yÝpt/0ºo.üØÐuËÎÁ½žÆØÄ$œ%üÕ_>@ç^ýu<¾kœ»†Þý¶×ñß}¸–/?µjhëÅ—û0®ýÏïÒöÑI,[¶Œkµ½üÝÿÆ7s.~ö»‡Ñ9| Þ÷¾÷Ð×ÿß§ù¤“×`¶bi§bͽãÎçÐ$¹f %þp.ÔÓ›§ÈªæH•ìa’–=£B¹6…Ç`(:'ül+Qµ­`r¢/YÎÃRŸ¾ªòßY¹2æ8Ïqþ,ã€çz8q͉8锓èö›oç“O?™¶<¹Ý=ݼèèEôð}c銥š7„[n¸…^tÉ‹¸ñi E”ÚÚ°~ÝØ¿p!º»{`Y„¯^uUrêW9S3`ÛŒŽ†¦„¦:æaj|,"¨Ž̰- `Fyz 3S“$ÐhYôØLŒÊ„·ŽÑ‘ý‚ÂÉÍÔ²àà¦F­‚£•°ß¶mÁ˜™ÃŒ`¶:02`Y3€#û}ýÓŠ9„}Gًت 5LQ@ñøÉBùÙ¹§XócX&CHìîR‡äˆÏ€Ž«Tt MJÜ<Hpj…yE¥”Ç1BP´þMQžHéŠÃš"¹R9*¡Ž§”Ê!'ÚÐ:œãDXâ9 oðH"’­g!7—%Ãp8×¢•X¹b ;•Z–Xv/*WY±Ÿšî³`J ö-oqzXÊŽôUÂH> äÊ'O§Å¹f&$A§¨p˜àC§(Ä*¼xúé^ˆTî³6ѽ«ëâ¦E©¤¹jž–3®°®rzŽóçÏ"Î=×ãó/9ŸV¿‚+• nøÑ xÓ;ß„õ­3cÕêU¸í¦ÛhÍ9kP¯ÕùÖnÅ‹_öb”ÚJ¸ã–;pá%ry¦Œ™™\uxCÏlrg†&žåJ €¤ ´aaIðŸIO~D!!tèë’X“ ‘³ÌÐè¡q1)´“ȘđÏHIÒ+iZa‹d×à0S4ä ]U_&’É"y8 3É.@¥à(űSÔzPMqQÑ1¹†„Ñpl™BÄ(F%!#EÄ`(ÕÑ„øGËL°Ày‰ü‹AÎjIVD{¥¿£î¯"1KæÊpDdó’ê“QxżÐ.V—82»Q”ãEòÖ‰_´¹@XÎD•‘2ƒDâ,¯„Û!ÇU)´Zˆ9Îqžã<Çù³€s˶pïí÷âÁ»DµZE[{]õ¯WqGGÐÚû×Âõ\ìÚ± Ès=þ¯oÿ ŠžñÅo «» Õj• ŽÏc†c ȈÂÖô¬9 sáFü R7ug— uGmÄKõÅ„ B‰éQ|q2±`M‹bgXQédA}ò ‹·‘Ð}'(€¤F ù¥A Šh¡”˜©aY¤(ò‡¥tØ$^gXåC±Ø£hncö:SôüOš€†£’£ûÅ<¨U} ]¿ÄX¹u±”ºJ8HÈ*Ð^YÈ&í›]#P܉&”-$á¶#xLe&OsíX Ârv+á,RÕ$’YbArdà©P$ŸPNÏ( š„&Ín&˜AIñwljW’‰V.H–ã<ÇyŽóCó¦Ÿ`xÁ0hdß–®XŠ'6>AK–/‰j˲hïνhïlGÿ`?=õøS8jÙјœœÀ¦û7Á±m±8,™nè ?¢&Å54±x¡ò"‡UFé"GŸ$’¤©Ôç·­z¥bQf"Ÿ(JõQs ã3àͰÈä…i#Eì.§P-&Ñ—(]p¢Pb‘z*’P˜¥ýAx‰x3aa·PhEŠq”û)©¢R˜,E(Òì…o0Aï²âWE24vÌP—BP¤Ø™EL’ŸQÌ)¿\Xjȵ |»i”ƒÔh5¢Ó-2Q“8¤ã²j¼k’lJþ_Rò¯3«IBYÌ|Ŭû†îɘ\ˆ'X›¶’å@nMÔXŽóç9Î=ÎgÊe¼þU¯å«¿s mµ¶Â²,Þþøv², {ŸÞc8mÁ–e™‰™Ù¶-ÚýÔnÔjU¼êŠW¡­­ •JÅxZ;ŠÓL 2"p”.ŽåœÄ¾ò%‚„üq²ƒä ’W¨q9,ÖÄ]rñ,Äü½$Fùp£-‹…Ø}X‰ËñµDVòwV'(¥ˆ”]3`0E¾8ÚÔ"áÝI* •Œë‚)§ˆ#Š›p#ªj‡| ªâS­È‘ìëŒê]± ›„„)×bV´dA:d‰Þ %ƒ-ä¢ ¢‘L0…)·ŒXv±"&±|(E!ÇRÝ™–b³Â¢Á0ýÌ;=‹`“¯$Üâ8Êg[›q¹«¥j¢‘™;rmR˜E ç8ÏqžãüPã¼V«á¬3Ω'ŸŠz£Ádð{#!Lð¼mYÔÞÞÁåÙ²F‹‰d,¥8‹¼ÏÈa¬¤‚”HJà°Jp0ö\¨:$µÄúçâßcI1‹õ•¥ÂC±ïÅÚÓÝc ÏÆå„ñIU¦/nÅ*³'ÖbT " ¬Ú>èÆO‚ ±&ë7A±w mˆ óÆÊçá0Ì€ˆñ'½ƒrž[m›Ášò`=0™I’»ƒY»C#>DãÍqžã<Çù‚ó¶ö6ضÓ1(yzO>±==½RÕ²3g0ˆÚ Í(i}Hú{+ï¤7}?¥(ßA÷Sý¾)a?¥ô4ë“ô½ƒ];jA6(ƒ€ìzµÚOÓgs•k:2‰?ŸëXsœç8Ïq~àÜ)°}ûVš¿p¡üwñt¯V*XzÌ1˜žž2ÚèS‚3€ü`4Êø Ïá9JÑÒ¨Å1¦½7«FL Î)Ú$%¬!R>gÃÆÅ)ýJ 'Ì=Rú›ðIë•¶æiÏ¥ÝhÕ­¨•y¡e)2Ÿã<ÇyŽóÃçÌ8eÍiÜÞÞ;Ð¥»»»¹»»;‹f˜UkmUûfƒPd½dùZ¦,cåúBsl#‹æ›ÔWšã÷ZÑh9㘳®YÚ†Öêzew–50É(gÜ‘ñ»Yom­Ü¬9ã 0ÇyŽóç‡)Î+•Š„iɇÎ̸õÖ[Å´¨­úO’þEëÖý5` ŒípB{ò¤±êúlšVÚȪѷ¢%RÆïeÑÆ‘¢Ér h9Ã<à ׋2ÊkVÙLêc«¾NÎ`fLë¢ñä8Ïqžãü0Çy­^Ç‹.¼ …Bü†NDرcÞòÖ·ñûÞÿ~LNL # (Ál3WÍ„£Í•LWÏ†æžæ·j¥¹Ü\ž-ÍZœ‡´õy¶4÷VL•IçZsoÅŒ—vCÏqžã<Çù€ór¹Œ Î?Ÿ„%RÜìì,.»ì2úÄÇ?AiQhÒÌ„¹`¨ÅEÌB1µMs4mR Ï´2_­,všé+Ëüe%¡d5uÑ7Ÿ¤õÄAüž4ÏÔ¢œ·ºšnD4Çþ¶"‹©ç9ÎsœF8'"šžš”þäˆ/µ, ³³ö<8 ²Š(RÙ¨²Ä ~a€ày¹ £HFŸI«®©ÊO-AŒ¤E „\ÊB á!R(¤“-¢ Qí\¡ßñÌÈÑk Œ[,=¨ŽC7G$5¤ªþ³Êü±:'UxR*FÅ× jRyX³VFS—nítsbZ¥ïb’ViäM»žŠü°²ÆBñ Y–ÔePÆeÖRþ&×–æVœóX_ÔõRåÂÔ'ÃØVÁP ®³”¤%ÇyŽóçGÎp©X?g+ƒ_ƒ…Îp‚¶ =£<ÏšÎÀôœø^Qýw˜Í€ÖŠ5ÀHkê ãb͘Œó”2Î,~VÁôA¯Pb Ê»bk®™WVÚ‰É*` ãÕe‚J|g’LèÆš&š¾hûOM¦w±"‰²lH¶¢K‰¼Í+kpªkWª\(^9Îsœç8áÜ2-Rڪϲ˜xß<¨¤ L©Äq3RÛ´.uó‘2'™²F¥õ;Åôaj'F€01ÓøÕgÄñQ”.T§™Ç6¨¤ÌcÇȦ5ߥ[«Ûˆ-mÝtëLºÚ؆ñ©·:Mÿ9IFð§mj™™¤³|¦lÔ9Îsœç8âÜJÑÄ%„ƒ ¦­Àä@YÐD9A‹Õi^¬C'„¬ÓžuZ~‚6•&œj?²l>Ià̓ÆùN›ÿ¤‘îÅÂFÆ­nœ"¹ê|›RY*‡kn‘:Ó¥j2Ó¾_sб²I²iSÊr 6a#¶²°I›XÚg9Îsœç8?²q¤ærùˆtÚú5æ*É'¹& ©£Ñ®Â:‚,Î%ÓâˆÀ$e²Hç7ß­ñA©þ0–êÇ}Jsl1KcU—¿•–õiÚ4Ķ5߇Җn|âu®ø½ØºinN¢JìÅE&vêûUçVôCR¬†T‹PÔ I·a(>QI^”õ7šâT¡è¿SÌ—¢œ©i|Þ0Ìø^JÐîÉpr³Èqžã<Çùsç|è0øzØàÓú¿@¬@sJðChß#NN3×=h»ªPí+~66ùŽ4f4Ó¿EŒ«&ÖøÔ‚¿'útL>ݳªéQgÔ˜†8a-ufªD«ÁŒ¦õ9)~?é6 öSѲ“Lœ¬Y#nLl0;³@¼ÉdêRäY+?Â3¬3kÆ¢•[á¦Åj‚ÿP·9Îsœç8ŽàÜ:¶~ƒF©ý“©,ÙÁr|m‰&1“Ï¥EÿRª/.« R5{&mªºþ§Í±nCÕ™‹˜Ó0i±*ÃÓôì\å+ÍdizÞ°é¡ÅuNk¯Û0“LfI}SM­‰•× s‘39Îsœç8?2qžz k&LU^NYü8¦w™„NlÔDјò(ea(«ßÉôý þíøS—nÓ£„ïi‰2Ø ¢¹‡Ò„8iž ‚K&¢K‚©)u“Ié0­uÂ{ÉÔfÂRÒ¡™ägMs/ê@­aS–[—é ÔmÄ9Îsœç8?òpn:ÐÉ ‘Åü4Ê 85öÔ´è´Vµ¿:mM³H”qÂß§j‰ê<&˜µ(‹Æ¥ñkß%ð[Wšæk¸UÉç¤ój2=+ÊIž’‰$­WQ+sbÒðu~´¬²¦óßÁÌeIÜ´ ÏRÂ-‡TvŽóç9Î\œ'ÝЙjZJ27‰« –¿;Éod•lc2©›•ú>Óf¦.LÂ\è’I# >SÙÆi¦›¬›„zëÒ´A­hÐiæ+Ó'˜OiBª»&l„ºC†L§kƒƒ IDATš±i>ÕÛˆI&4óAº¡N®“°£“÷s%ÝB4¦ijᆛã<ÇyŽóÃç©&wÝ‚§8ï³´C­ú4’LuI'éU¿L>ÍFC¦ÏÓ@ÑÊX ·€TœnSPgb §½o®þ1ÓØ²€&ÉWª[+Ý­i.s,fºÒ™ÀÒn”I²ÖÊ&™É³à%Éœv3Éqžã<Çù‘‡óàGª¶¦ÑØàôgͯœàIÌØ“¢¡ê2^«¤”âQƒGüN¦[‘©cáŠY³Ô¾ÇÂLt§Ê˜Eœ%jÚ¨8a3–Ú0™.M2À²},Ï©Y7ÖÍ”4‘‘*9R)²f®Xó.S»ÚP+õûÊíuk¥ åQ1äÕáBØ6­1ëä[”á¤õI gÊqžã<Çù‘‡sÝž‡ž¢i 1´Ö™Ú  ›Ì:¡„Aõý°Î¥{¥É¤§æ9NòE)q‹ÚIlJ®åDÿ.¦W´ÎôšÁ¬Ê)7–Vn\¬1{&ÆXÐðIq³¨îfŠ6m@©¾Gu½ÓnŠ:¹N ,ÅÆ™DS1kÈ{­b9ÇyŽóçGÎukae´÷ÏÙܧù>%…#˜Jl“I‡2t.ͧ ƒ 5è6¯VL‰YMsYÂd’ü¢Á‚ëÒa&)±ÒOšY.kšIÓ´F%ú$³ÎcVs˜J SMqID©Œø 43®ižÒÌá ·RJ3ç8ÏqžãüÈÆ¹…Œ… f'ÖM¶ZáGÑB’’þ'i©f;nþ¨V$úÇ:¿HR‚µ-9ÏXüÀ$øš–æH“ Â 6ÜÄMyš>²)'µ: a¦„¦t’F_šn¾M¦Y1ÕcR?Ú–ÚÒÍEŠÿŒÓƦ´£¦–Œ™‡ þ8·˜æÔž’•ìjY6æç9Îsœ8?6ùÐÉ$¼&–Á?¤5Ë$e.2˜8¤tšziþè&IMÏhšÄ¨¢"iÁ®Œ›5&0¨e9Á§Hif21;‘æöŪŸIçO4dæ¢ æ:Ö¹]59е¾ƒoL¾5˜3'i×K—ž1aAÂßH³Éˆ› «D— „³¤<ÎÔBßD™PK[Æüͺçsœç8Ïq~äà\—£ÞÄrÏZ º OѪMQiìH1}ŸN{IKŽ`òÕh&ˆ ’*h ˜”œ–$#‘E[ÐACìѦAL*` IјIà²l¾LmY®t¬äN愾¥ŒR™xÙÍ̦Vòˆ§Î‡Jð2ܲbòlJÿ™BÂÉqžã<ÇùŒsñÇAJf,¦²4ç¿&‡oV]" 'áï¤#DèüêÅäŸP $úÕ„ â2ca:_ˆŽ’Åw¤+  ó=%™15‚’:Δtš¬Yí†+Üœ2‘etkšÐGJ1áJs® ‡ÊRÍL\;ÓÜ(¬×ľ+`§ ;ž–à¦öA÷YŽóç9Î<œë>·²|9ƒv’¸ II©cK&X’_A£™S–ú¸ÊšgXL² #¶6ZÊ3j›°©Ù¶i9¯Å QYæH—žQKÒ L%$‰ 4±H…Ϩ•5LðeNiº•©²‘;”D€Qs$• Õ­«I6³ô9Îsœç8?2pnº¡ëü¤ó‰(,IQÃcÕWdð°IP£*„±P±T€,–%$Mé:±ü£©?ªo-6âø4¡.’¯*‡µ:µŸ¡Ñ¿¢‰i”Ê Šñ•ÂóÒÜ©¥5knŠñ5SN¸Åͳ0VÙ &Ï/!½6µ®?lòC.i”I±_¦&QVĵS@I)æ¶DLPÄ"Á¬ªƒÁ?L? (£¤“©ç9Îsœþ8×ÝVš_õÑ$ù²jÁ f7»’MlZä}Y¢†›åF’äïKӼľ¬P“¦w—%³uÚl-UdעŠKLâað#%•ðÔ’ŒÒªm%­IƒTG"Ê` Nô‰©þ.uM[¹…éL”²qBL,›|ÜI,ìç9Îsœ8Wû™æCOê¡.–Ñ”¸‚†Ó’9Lg®2hZÚ¾¥¤E¤4¤ Ô@A7mÊb‘A&å–Â0¤Í4$ÿ E ,¶&*Y“þ’L}Ú'í(æ'4È%ÍI+Å/té;5kJ­‰5b~Vͦ!­_w’¼¤øi)-vX—?;!ÛUŽóç9Ο#8O2¹ë^ÎhÃ+Lií4æ;£f©ë¸jžSÌI±D¶Ÿ¥\ †(“èvÐù´tf¥] Ï”r“uþ5\E4é)&DhZS¢BPQM<¬š˜ùP(ÿȆù`M)c8‹jFDBü³Î$¬ÜHMë˜Bµ]Ýš©æ=uCÏrÛ0á(á e™ÐðmøK‚=ÇyŽóçÏœ‹&wc…_(cÕ!•x@&³ˆúåÈ•ˆD 8Ôj3¤¾ËP~’%hƒYLr”òO"P(šêæ’Ál$Vp"“€ª£nHY«ÅÖOì—R^1ñ¶¡#iTèÔ”ºt™¦›žiŽuíé4kÍš©š3iHN¤âFrÊ2ÜŒMš=%Ì)›²©pJŽóç9Î@œ‹kmeð1dò’ÖgÉNÅÂëX­i¥Mµ{³˜þÒØµwd¨2¿CõSfÐú¤1k4wO5«O)Í·”èÿJ›5ÛS’oLç?mÕ÷™Õ웵­„,dl˜;ΰöl’¯ å39AÎ9ãºç8ÏqžãüĹخ•¤¨qRfœ$íCýž2Q”–c8k~é 9ŒÛJˆ55úìd©ÃMJ¨q³3Q=Òä)©Î¶NÃWö˜5ãM)vëÕɬaç„CƒtøÔŒ'ÇyŽóçG ÎÅÏĺ1ç­¨½k4Ái(+cœšJÿ!%G1"Æ%kòEÙ“ºÔ€B2hÓ-Bú] WPüF¦<Ï:v§É/’”’…ÜÀ¦›O¢I\K(¸n<±ÌQ [W»¦ùs‹+~0ݳIùcš¼¸ž¦›ŒR3Öž®ª•ÐOq¬¬ÁˆªmK™·2°¬u·^cþpå{º¾H˜TÛÔÜ(rœç8Ïq~â\üÌI9ùÉ”žPÑ9‹ßCŒK4iÈ !‚3jwj¾écƒ”Ä¿ížtä¡r#C¢‘ɪ20Õº¶J9E6hZ­S© ¥­ó<£K®¤UFœý*Á4ÈŠïŠ5>'“¬‰±ªi«šw›t¥Õ÷) 6f­Ò•çLɸƪ/1Üâ;“æ_Å›üž¦õ̘,ÇyŽóçG0΃稜O50_U³Hæ<)$8¤ö!¥$™X©:sUFŸ‹ØR…Ï”aÈd6RRIü›²øÖ4iI Bez¿Æ”þ—FJ1V9 ¨Õ¹6™RMd%È()¹ÌI5I«›°©Ï:ó©bz3>«ÊTÜQöÔ[—áýF™Êqžã<Çù‘óà±ÌåS ~7“ &AÌ;&‹8éœñýq›R kªE]h‚j¾SÆcZ$Î2‡Yü† ›‰úï4³Qp•bD·$™ÒØÂ:ßZŠß11A…ÿª#¥1h“ÖIÑÎSË*êdÏtpéÈJ¦´‘iE’nŒ „ÎølŽóç9ÎPœ[I6~ƒ°‰o7fØ37©>;Ñ?‘”ßVÀ$ÁÒùÄ´¾C1„˜ÿN1=ª~´¤ººœ@0a±CÌÀÄjœh²J²59%Þ6QNMZnRÊGÜp¼Ü›ÚK8PXçÔT… _©ø@¥ù4l<±ÒŒAhsZ?•M…“ò9+¥µ¾`ÍxL2ÊIŽ:ÝØ»rœç8ÏqþÁyðce5‡¤i–ªI,除w%T£IT²„‰$+q”µO”bB¤„ðJ ÉQšu¦ô‡YnRçÇhM+E˜Ô\BÿÒ˜¿©Ÿ µ"š1R“9 /jlu–yN ÊR…,­dN–ã<ÇyŽó# çI:Ï(Ф6ÌdÅOú[ˆN“IÈbeÒrcuUM-Á7«­ÞXæZ1È4ž,™²æ²ù%$ÑÐåán©mÅÌÊnb™n—†ï³Îô•u=³¬YÜj¬%™evoe=X r*åÜN3[ç8ÏqžãüÈùî=ŽáNiXâÆ þ6N[4]aÁ<3yèÌR*uá }QÃa8eóŠ™r X~WS³Wh*K%ù~´Å( •‘b) 5Z§n³ä¤MX?©nÒÆ9Á®„ã¨òÄ&“¢˜Å2EþLx̦öE*¤¹™±jöÓÉkRñenY“/Ûd¦4•EeMŒ2'É\Žóç9ΜëÆk%˜I(¡ ©¦§„°ð¡$ÓGRÒ‰/ÆÒ4uÐ0%ó‡Ì:ýž!L2˜x´iMÉ 3Zu&AM|š¼Ú1ó”Îdª«%-΃¡61©ódJJ¢Ìe0åŽhæ2œ'¡„xRóog1í µ§Es™L©¦ÛŽ®^rŠv®-¼az ¬g)+ç9Îsœù8O:ÐM>³–Òεd¡Îœ–¥Œ ©šÒ‚©f¤²‹I,Ú,aDIcјI3›ï²”Ìê{ËèË’’°åôŒYÊ*êÌŽYK¦™ ³¦5Íæ4i›FMó¦c«Ïæ8ÏqžãüÈÆ¹hrÏT>5…° å° &˲,Ø– ‹¬TMÅ,I¾5+ »'1‹2jDYž›Sòü9¶Ùê|Ì¥oÔBß²”ѤŒcnµ¹¶K‡ø÷ƒ Ì}MlYÀÜüˆØ²@žGlY° xŽMVÃM„në}`xÅb³ çm ^©Dð<çÁj¸ä96ìjÈ=¤ïOlƒ f4'æÀ¹¸¯„ÿf0bé(õÇŽóæøØqfë–r]bËÛ6‘çž×|?ä6eBj–š{¿çyp=7çšÄ>ư=}—XBRn÷Æ9Ô}ÏpΑé»Y”õö¯»ÙkÆ“X>5M®S˧š2K!^nP*gY¦g¦±iÛ&LLM4ûsh…çmm.ººkFÚÐÕ]‡ãx˜š,Âó½ýUrOMˆ™Dx«3‰S~‡2.ÀPV1Tœñ½YÚ3õMmƜַ¤yƒ¡ÏIïNšʰf­ÎwÚú!ã{“d s1×CKŒu‚33r=€^¡@Ô¨sajšê==\ÇÌ’£¨}Ï^ž]0–ëe‘“Lrå¶•°àæÛÀ–»RAyÑB´ïÙKÇ|û:®÷ö`zÙÚÿ‚³yðžh×Ëþ˜§V,ƒ]«gÅ€ùÇóÐèì@£³…éiP½Z/ÙÕ¦¦‰x¥êݰ ölvµŠÂô45::Ø®T›‡‘¹t§Yf™Á¶Mµ¾Øå ;å2j}½D®Ë…éx…ÈuAž‡zW' “SpÛÛÐèì¤âø8+»ÙÜqÎ ·TòŠE83evÛJ°+UxÅYõ7:;¨09&Òe²içL«VCïc£ÞÓéeK¨86Žê¼a.ŒSϦ'¹|Ô"T‡Ñ³é ²gg1uÜ .í3SÆÄ +K&t33,ÛÂÒ…Kiñðb.•JT¯×Ù²,1C+·ÌÄò©–eÁu]ªT*\.—c¥MWœ33:;;Q*•`Û6yž§I2²aÑØg%±’‘—f& 4s‹ØÁR±„û×ßûv6oè–•:íí ÜwÏ|ÜôË%`&¼ûƒkñ£,ÇÆ ýxý[6¡»»†ýÌÌ[PÆ+_÷$ )Iš‡ŸC|ƒ;$‡È31¶C~¸Í­‚[,Âj40¼Bv¥Š#å§ÑÑŽ<„ã¾r5¶¾î˜]¼[w`Ùµ?Äî‹ÏÇâoÁ¯î¼§¼ëƒ¸ë;ÿÒÈè!“ ױИ™¦Fg;:³eX;vâÿ5FÎ>Ûvàô¿ú;ìyÉ…Y± ÎÌ ÜC0f·½ q#ï}#tf–-Áñ×þ3ˎƶW]vl¬¸êjÇÆÑèîBar «ŽÃî—\ˆù?¿£çœê`?¨áµün¶-´mß>õ]Œžsv_üBû¯_B­¿[_ÿ*õ“_bìôSPÂQßþ>ž¾òµ¾ýn,ºá7Øüž·£ÞÕÙ´¢$νbý÷ýžØ¶Ð·~#v½ô"\»žÇN9 =OnAeÞæßû¶¿ú P½~HdÍm+aþ½÷cñõ¿D½³S+–aÞ÷â¶Ÿ|'~ùë(ŽO`ÑÎÝØþŠKiéu?Áȹgaª¿‡V~òs¼ï¼sÐuÏ}xüýïDabRb`ðééMXó¼5XŽgž{¶Òà¼X(2ÜûȽüøÓ£T,Áó¼ØÙ¡)2"æårccc¾×ÉǪ&4b]rœ„‚0ÚýZ(<$¶©Ý[u>põ9˲@Dÿ?u_W]½ýœ»ÍLf&É$MÒ4IÛ¤éÞ4Ý)K  -”ÊRå§¢eTD¡T–‚ˆâ+"‚¬•M@ e‡®é–îmÒìÉìs×óþ1soî,iËOß?Þúé!“¹÷~ï÷|Ï9ÏyÎsÐ××ÇÉd6RQ¨›¤{~ˆ!6Y¢:C9ôë¶óÌÿ<½ý´íêË©õòo‘Ò?AÓÉ’$h¡R4>ú'ÚuÉE(ÙØBÅÛZÉô(Îwï³#Ù¹ûó–E¦× 1¥Ò¶}¦×K¤k$ª:Åëj)´nõ3“ôâi¥%ÐJ‚ÔsÂ\l§ŽÓNY&ˆÿwv.Åâèæx¹P FjY3®»r8ÓçŧÞ¦Û£R8‚C‹OÅþó¿9ËŸ#”S]'g™]LXf˜²Œñ÷=#àG¢®#Ÿ{ ;—_9…˜LBŠ'°ö/¢¨­‚ª¡üãÏPþñè;áÉZ·,ŠÐB¥#Qxº{Ð;g*ÞüñºD&ŽFsÂRT¼ÿÕ¬~í‹O¥¯¾½ß(‡¤ëȱ8|öE0 Ø÷õóPºy'U…ÒAÇ©óQ±æcŠ5Œæ`ë.Ô¾ø*¢õh[zF¼öúf4ÃúQñÁ§øèß„Q䃨ªƒÞ%§BeïAÐÓÕƒþDÃQœºøTœ¾ät,¿h9~æéxã•7P=¢ç~í\¼ÿöûøô£OñÝ«¿‹x,žõþs¦W9‡.3SæsœUs½32M$«*ay=hýúù`"$j««…ðÄq˜pßï ¤Tô7O† jY™ûÝ‚]`æ:Ä” Î;{¤D‡N;9Ë÷Ok¡ÓO ¦¢ÀôyÑ3wMƒ®Ÿç³XŽ`箋§mV’ ô`ÛÕË¡V CÅÚqðì3!&·ê1n QW0C GÈòx0ö¡ßãÀ9KÐðÄSh¹ù‡iÒ–e~i;7½.iنȸ1n߉½ßü*êžyf‘Zi1…'Od1‘‚!´ïÊ>߀ø¨:4Ýò+ôΚAR"™^ûÿÀÎmî„R!ZI$jª!¨*äh žž^ì:ãT”lÚO_?.]ŒL0wÔvžõî]ïŠ,©Ê ª†Ð§°ë.Dß±³0â•׫ A7 ÷ U^ÃçCÉæ­èŸ8‘†$kª׈¢mP++ËÜkî³—Š¤Ðº­ë°`Î’$©Œœ·>–ea``‚ 8;ÖÞ§š¦aË–-hjj /¼ÇMÓ°dÉìØ±ƒ¶oßI’°`Á†¯×‹÷Þ{}}}8ùä“¡( ˜Ï<ó ‚Á -Z„žž¬^½šü~? •Jáì³ÏF$iš¨¨¨ÀóÏ?ûþ™ÉdK—.%Ã0ðúë¯Ã²,;wüò‰'ž]×L}``‡ý›UZ8ŒÊãJÒp;å.òÄ ê*Ú»Û!IR¦Ó>–º‘‚ ÷é̱¨‚3ÎÞƒÍëËÙ4‰Òè&á¬swcRSš¦õà‹OªPRªbXE–E¿'í¬ÒŽÜÞØ™…Ù9u¹ŒÀÐÊC˜°bF¼þ6¶ÿ່ŒËëaӣ̃9çpCˆí,ÍBóãÃHNf‡´ ë~sXáíìBËM×@+ aìC£ëÄã!eŠ‚5—'Sè3¾C’)lüÅO  H±@€éõ!°k/N¸ðÛè=mg-FíK¯bÛµWbìCCŠ%0úéç°áö›0áþGÑß4 ‚ªbø›ÿFÇi Pÿäß°ýÚ+ –—ÙÇù£ý¨{é5^÷ë[ tž2?M³Z¨ã|Œû§7™êž{e_l@ç‰Ç£x[+†·³‹žs&š~þklÿÁrŒ|æE$ê6 è:H7`yHñ´’âlr4»Ö‡ìÄ6}¢(B’%”–—âß<€W_|sçÍeÓ2iÜÄqˆF¢XóöøŠ|¨©«)H§Éc龦FpîQUÑ3{ÅDüø)0#:ªƒhêéÝ8xó¥ðÀŽË/…‰.nJýjÊuø6*cìÊŠÀD€iAñ˜èíöB’Å¥Loe\ó IDATI„èÐß« Ü›„iPš‰Ÿ»×ÒÎsBR°óÛÿI°Pdö ºd.R¦¨ ²Tíß ­ª^N¡í§—pI¤ƒúðÄñˆìÝ ¿CÔ*IC_ÒÎåHû¾zÊ?Y‡C‹NE¬a„³Ï@ªrjŸ_ÍS&Âðñc÷¡üóõhšuX‚;v¢wÎL–≴ÿìœR)Ä͆(Xè7‘* ¡Tï8,ˆ¶3N‡0qB[à’€—¡k"<^ɤ÷ÔÍ!ÏhÊÿ™ éèŸ:$¦tœˆaž~¸è\lš•B‡$úXÙË0ÚØ?~6JÛº°÷–AH©Œ4!Ñù~΃£YÓ5jënCCMLËÌÒî/d ©TªÌ ˲‹Åpß}÷á©§žÂøCçwš››qæ™g:ÿÞÚÚ MÓPZZŠë®»}}}øôÓOQUU…“N: [¶lÁã?A°téRtttdÝËK/½„?ÿùÏ0 ÷Üsî»ï¾¼e}ùå—±zõj\yå•ËÑ{÷îEoo¯ãÐ-ËB*•‚×ëÍ#ÿÆiç±æÝ¢H¹ëwÄ ½€3σDQD8F¤Ф Çxç–‚2iJv6­ë*‡'púY15%âô³öÁ2 š& ÇØË"蚀–;e¥”#´þ4rá@vΙ w”²£F)ÃÞ¯/£ý˾9jyˆ,-T OoAPlHË ¿¹2 rp^†ãD²²z8‡.Ùì_šzë¯aú¼ØtËõ „Öm‚O@-/ƒŽl1† EšÁЉ% r$N·®@L¥™0ŸÝÿkxzz¡ô8MbJ·0éè8e>ºO˜‹q«ÇþeKIJ$1þÁÇhÇ•—¢xÇNVú +'pNÆ`1LY&9ZY‘®Å™XÒÙŠn©x ê: š­¼Œöõ”nÞŠÚç_!XŒÄˆá,¨:L¯— Xž4ñQuml@|d-"ãáéí#š”egˆÈv` 2Áwð],í üB„,òlJåìA'@t¯?¨@HÁeÆþ½ÅøhÍphÞ‚6TOÒ#¿ŠŽv?êFEñí+[ ëé¶:þ_Ø9œ.Ôt h: E,¼ð‡‘ä 5àØãáÀç~L?s:^ùl!êÂýè ûð—÷Ï¥Éí¨¨Ÿ åŠ6¹‰º6+˜1³†!P{ÿvÀòzÑyê|i’˜RÑß<dYØý½ok]‡¯³ Ñ1õ¤ôõC- QjÞ±T• ¬ÿ—¶sË"xV¯Ÿ‰ÎŽ"œtZÊŠ“øÃ ÓPŠáä3ÛðÚó#i 1 SôC`&4ŽÀGk†cÆœ.†AÚÎíupÐG f‘4 )¾÷S1sN'ªª+±öß#èg¿þ Çž‚Þèoˆàñ‡æbäè(]téVŒòGÈ0ÄtlR(Du­Ž,ÉØwhëaZfJâÿ!"²kç¹lv˲¨¾¾Ë–-ÃØ±c¡išs…^xo¼ñeJgÐuݱ˲¨¬¬ }}}xã7è¹çžÃ–-[èÕW_Å‚ pì±Ç¢££§žz*=õÔS°, ûÛßðÎ;ïÀ4MáÝwßzùå—±dÉttt ººk×®…,Ë€ /¼ ,@<§D"óÏ?±XŒeYÎ1›L&QTT+'#u9êìY±ëáéGêCÊ©ç*KQ¦4ugG£v™/S¿*™†Sœ;J%$§BÍ &¥Ax‹²7¬ûôÌÝçjVF–uèæÀVà´ÃA×aøý¨|ïóÄ_ hf]ýclþÉ ÇâÙ¿ç^>Ô•'˜cì¶‘ÙÏÃ’e ‚OWý,ŠPú`zÔ¼ò:ö]p6Ädr°OC69Ï“ <œÿ–^‰èØL¿î$««@Së÷¾ ŠD{4 dZHUU íÌÓÐøðh;c!,ŸJb2Ë£@Ôtˆ)¦Ç9‹Bºæ›“;Ò7¿Š¦ÛîFßô&öÀŽ«¾Ãï#¥;—_ŒQ},Z¯¸Óoº‚ª%-Ûqà¼%’)Úùo¢áEdìôÍlFhc È4!è:X è:QPFÖa6¸&ΞD¢("T½wÞKÏ?ý<¦NŸš&ïš&OŒëv=F5Œ‚i™ƒÎÛv"ƒŽÃ¹^Ì9˜5’"¹ßœ(Zèîòa׎ÔŽŒâƒ÷†cÑYûéÑû§ Èo ª:Žý{ŠÑ4½ªIyïÖØÿÌ¢Òaì°NØ×êÇ«/Õã̯ìÆý/OœyÀ[¯ÕbÁiÑÝ]„®.¢ÛK‘J‰8ç«;³{ÿŒÒÁi*åü»¤«¦=[‚5&Cô&0 zà Á03júíÜÐñÒ³ hoócê´^ÚíÁ¿[ªáªØ´® ¡²$^y¶'-<€gÿ2eÃRøàÝj –h8æø˜†pX;ÏÍš3< ²6²l`ìÝ]ŒºÑQ|öa&MíøÅÝàÒ NCeeK—íÂ’sö@UEºõ,›%]ù£eZY]SC…J%D¿ß·Þz ;wîÄÔ©S666bñâÅ8ûì³!ŠâaÕý~ò“ŸÖ¬YƒŠŠ ôôô SoÇ5×\ƒ®®.¤R),^¼çwzzz‡ñè£bΜ9¸øâ‹í4À“O>‰¾¾>TVVâé§ŸÆÓO?í\lÕªUX»v-õ÷÷gAõCáuûï\ç}´ãw4ì1@ƒO.Lí=ܵ»,˜“2¿?˜¨ä9B»æí°G]e~òS§Ï|Ð1f8›ÛþžA˜qˆNûZb*…®ùljXÌDã=sgr×ücÉvr4f§<Ùe¸7.—ë6l÷µíº*Á‘+d0 ÅÔqê‰PúÒ™« @ˆ ¿y2’µÕ ÃtD/3ú°PíÒ©Û‰©ö|ã«ðïÛ9AdÂ8–bq°(‚løÅͤ „ ªºçÍE÷üã` Nô7OA`÷^l¼í&ˆÉ$L¯-7]ÃÁ»Ñºü’4ümšÌ9@«`ˆŒkÄÆ;nFpÇ.´-] #î3@F €Ö+/MÃЩÖÝu+¤x‘‰ã°çâ ‘^ )çȤñž: °˜•0í½ð\iÂÓÛ‡uwß9 ä8;[ͼ#ûTa¤©fÍX–…?=û'6M“@@WG~qÏ/‹Æ0vÂXhª†[~u úzû@™ï·S¤¬€!·ôaÃÞ”]"r´%¥*,:0a”~1om)£UO¼TJb](•”X@¹+Qæ9Á¹¶Á¹µ]·-Ù‡i (+OÁ4 ‚À\RªR*%r,®ÐÞ=ÅfÇÌùíÜb†.pw—~±bÂýtòÃãIgrþbíE¨©‹ã´%ûÀLxûõ:þãïfÓ½ü#룈Çd›Šö¥í<·¤+ˆÞy³–ãQ™ví*ż“ÛñÛ_OÇÂ3öãßoÖâú[>‡® ÿ5;/*2賫póíŸÀã±P6,…§Ÿ‡U|Ÿ~P…õŸWÂÔÑßçÅ×¾µŠbâÞ_Îäÿø6q$¸w ØyÁ‚j¦`TUDݨ(Ýõàüø'ààþ>|¿MÓzð X¬¡al†!àýwjÐyÈÓÏÚ‹êš8:¹¹Jœ%Ñ:ˆÄrDÌzއšñmY ‚€Ç{ŒmR›ÍzóÍ7qÅWÎa:þjÑ¢EôÚk¯áóÏ?DzeË@DÐuÝÙ+^¯6gŸ×ëŧŸ~ ˜5kjjj8™LÒÓO?õë×cæÌ™Ø»w/‰b±ü~?***ÐÑÑ‘õœC)âåh·“kv;òÍGP@dépŽ À ©}-ÏX\¥CøÁ:u¯1‹Òm`bRM?… ÀðzA†QÓDÐJ‹!‡#i‘‡â Ý€ð§[»4 dš0‹| Ó‚±``ÊÊ 8+§<ã&w“‰Hдt¡']Ї Sªmɰ$)ð•L8/ÆÎ^²2:{}ÓÙMVUŠÅøàÒEI‡Äfø‹phÑ)Òÿ-M¨¥Â=ŠîÚ­}Yvšfcˆ¤XœSU•Hލ&AUÁ¢è´äɱ[¢è¸QÕ–ÅNíV×Á¢9K×U™!Åâ°Db"gÀWvAÛÌDU,hž AÓI0ŒÌg™aY“éçfA€‰Á’DÈôÌ•¾GÓ™#CbA`1•JÿàïÝ(ÌÄù{3Séd¤ßƒžJ!"J¥³6Äôá‹Ä J"tM!Ù \ eî`3Ëɺj! ÷,ÉtqHSEG,ÎPŒ›ØÏxx †×Äè˜1§ ©¤ÈŽmQ6É(½Š\rgäR³hkìh;ØBu5uqL›ÑÍßz2<&f²ýrÄb²²Û±ì59ܨW—Såx<ŽW_}ÕqÐ]]]|ÜqÇ¡µµüã ‡ÎÆpï½÷ryy9®¾új¨ªŠë¯¿ž‚Á ð•W^‰¿ÿýï€|«W¯Æ'Ÿ|I’°råJÀ¹çž‹“O>===üôÓOã7¿ù n¿ýváæ›oÆi§=£`Y–»­îˆZ9k;ŸÞ ),sXµ1÷pö!Ø£Yqº+JͤǃìNÇvæIk>bËã¡þiSÒ‡4€ª¯¡DíŽÕ"1™ä†?>…ç-%£È‡¯þ zqÃÿõ. ’#ª9>²††¿õ«e!ì¿à+0þô5r6“ëðÉÚt™' w°hðˆqŸ<]ȶ‹¹‚‚ìÈÝY'»¦ï&îdÚ]Ø©½‘˜H¸˜é+HÉs6Rá"ÀyjKÙĽÁÚªýŒ¢°Á`»|ð„E‚[á‰, ®çÉ,˜(f|!}žØí&Ì\ ¼–NTtÃ~×g3Þ.sr²(:&Áñ  bz1‚Y–$÷»îŒ¨§Ãµpñ+² ­LmÌyg‚(duQˆ¢ç}¹2}Û985zG³4_WŒÁîÂCÉIøx\æ‹¿»…^}±ž{º|˜>³º&zÿ\p.Kpxª ÇáØÅS;#¨)KÎÙƒ©3z¨·Ûˆ.|9;wï=7ƒ+cg‚Èd/¿z#ýó…z–h?©Ÿ&MéÃ_ž˜€šº&5õ¡jxo½6’›¦wSiHcQ² ŠŒÖm¥Ýɨä~y;<ŽØ^{ uNÄ%øýR)‘š¦õpUucÆ Pwg1¹óbçñ˜LK—íæw^¯£ÛKpÚ™û1}v^x¦‘'7÷bö±÷{p`_,‹ ˆL ÏØÇ9Î|H;wwdÁðH—xàÆ[?£hTÆo^G©”È—_½ jJ©‹àŒ³÷’aÐu=ùØ'â2隘f}dXn;Â7p¡sj¨ÏØÿ_Q´··Ó‚ œŸÅãq”••áúë¯Çé§Ÿž5LÇ0ŒAÊ ÒŠ¥áp˜p{{;xàn¸átuuáùçŸÇ¢E‹è½÷Þã9sæ87uã7"‘HÀ4M|ï{ßã+¯¼—_~yÖ½^qŇÃôµ¯} wÜqßqÇÎ}ŸwÞy0M®þù¡”ñ¨ò]ˆçÎÞsÉtƒ6ùøcZ—^vúz{i×®]|ïÊûð—¿üêììtgè”=d-¾ Üî§5ëÖ°GñÎY2§ˆc¢AÓ0é×÷!:¶b*Eñ‘µÜvÖbLùÅo¨­Añ–íh[ºˆúæÌà“Ïú:6üì:j_r:æw1>{ð7þ¯#´n6þâ&žyõÍ´õGßãÒ-TùþG¼îîÛ ôõ¹!0Ê‘²uù)¬¿±ûŽ‘u²ëÐd—QÁ€SGt)C³“ˆ¥¹$îÈ}ðû³k½äf(;/å°i …2ôACcÛ¹¸Ú«²%!s¡HÎSºfgd·ìp^û fk®ßa÷šJí2 »"úÁ{Ë Ü’‰î;Ì”|Ø!@匆t¿óÜÃÞ©·Ú©fn1Úe²SwfWÏ1ç°Ü^viÄmy!ò(Ë91ùŠ &ɤD–e×¥òžÁYWQŽsöªÛùº£>ع–×k™ký€NɤÄý ‰b~6”ç2¬wà6¸tH Î¦IHÄ% k !ý½‘°Y¶à+2XUE²L²ãQ–e+ =“cÿU;7 ‚¯ÈÀC÷6ã‡7HX±½åÅÎíà÷ë$ŠŒx\‚e|E[!™(X¬q4¢d:ÀE~±¨l“áþ;Om fªŠðxLÖ4‘$ÉbE1áóÄÁ0ý„ÊUá|évÎÌPd ]Hš®¡Ðûqgª½½½ŽªÙD3¶Éd²,£¨¨ˆ}>:::¨ÀXòûýì¨!Ó4ÙnK hoo‡ªªTSSÃ’$Qgg'‹i4–e¡¦¦`f„B!>tèPÖùnš&jjj‡Q\\Líííl#v¦i¢ººñxܳ(”••¹…vÜkàF²÷mþÏÀÌìQd‚@‚@üè#äeè‹õ…êC`ùÙÆ”Ùܮڡcü¦×ƒáoþ}3›iïE糘L‚L“B6³á÷£õÊKÉ{¨“›îXîæ¢cþqðv÷"¸c'´P)ô€ÉÕ(j;”þ÷â &®XÓ£ í¬Åb1P¡¾T»/—hÈÚ^VhN ´ ¶>$Ž‚lrRN¿pN䞦R¹Ù¹¹L]wÍ’ 2l˜1¯ÿ5´(o]²Ÿò˜œúp. 'o¤bJk? :¼¬ŒÜ÷“i‘â\˜7W±-×'»ßy^»eCÀ¹õ¿>=fvîÜp3rì…®3£¥3ôÌü* ©Ð4²lAUEXéÚv!s%7Äìè/¸åܻݛœß3A”,¼ð÷1ðzMœ¶dtMÀ³OŦõåXtÖ^Ì=¾‰¤h PÑÎ]¦BŽŠY6b‘ÿ“-t´¡¸DË´.IÐuŠleúE蚘$ºwÎñß¶sI²HSE¾ö¦/PPPÅú?°sf‚$Y§(î€i,S€¢XˆEÓ×µg".³@ùµò/kçÌéë}ñiIcî ‡ð»û§â;ßß„?ÿ~"êFÅðÖëuðxLÔÔÅð?ßÞŠ¿˜ Åcâ[Ë[`šÂàzÎÎRž8×yÙÎ5 ¢¸¸†a¤{Û†a •J¡ªª*ë̉Åbðz½PUÕi …B°ÙåöuÊËË¡ë:4MƒeY¨®®vHy‰D‘HDY–‘H$¡Y–‘¶aÓ4¡( E" 6 ²,6 ±Xl¨2uAýøB¸!ưòÐÞfèºû 4Ö¯`ݫʹ• a&û2¢tÝþE°(1ѹ )™Ä¾ ÎæÆGÿAÓD“‰ÒG…iòö«¾‹òO>Oÿ~f§¹ ?ÎbsF34Gã­P‹Ï~›‡…{} ÙYq6dB9²¤Î+ãìÞÙÜûÏ}µ.G’å,ÜÁx0“?ÇK®(¯ýÈ.Á€ ÃD.òMn¯¾Íº²¢¼½SˆØã<£Ûéçõ÷ºû¡ÝAˆ“9ÀÎõ³²ÈlòÜp!4ijsw]Åñ#Ì¿²« ¦IxcõHôõúxú¬.jžÙƒMëÊùÿüa"ŠŠtœQ+&NéK‹.¹f劉äÕô]D,PÁÚ2+¿†©Óz i"vl-EY¹Š·_¯ÅÕ?^Ïu#£H&Ŭu;*;wªY˜ÓÈ.ËÖVÁ›Ö CEeÇØÎ­œ„«oXO­œŠs¾º‹‡U$Á ò‡(¿6ÿÿÆÎÓÊvªÿm;FO·o½:’Ópú~€›¯9cÆ `Þ‚ƒ8á¤v$òÝΙI´°úù–d“NYt¾¨€ÇcâÃ÷Gàë—¼dBâÝ;Kðíïm¦û=§ÍîB"&㙿ŒÃ%Ë· QŽlç<×ê5o»´ÕÕÕÃ00bÄ‚€öövˆ¢Ó4ñá‡B’$›à†óÎ;›7o憆‚I’°~ýzž6mÞÿ}:tªªâŒ3Î@qq1DQDOO¿ñÆðz½ì÷ûqî¹çROOAàh4ŠT*…ŠŠ wvvâ£>â4‚•Äüùó¹±±7nÄÆÙ²,Lœ83gÎD4ÍêË•ºuCíP†Lãx”ªÞ~Ÿú›§‰Ò„•QÓmwÑ³Ï 9#AÓÉø©wÎ òh éžÁ0$ éd)2µu:*ß]KÞî^²DÑ%uš‘AÆ h–t¦++Ííc/øÌì’âçÉ_fꊔ%¹™ýùŸî¹çºÿþûÉ4M …Bôì³ÏÒš5kHUUE‘V­ZE¦iÒÝwßMíííd=ûì³ôÅ_Çã)´þ…ΈÜ3—2hÁPg †’…=êñ©Cá “xȆy§v$˜&,›n¹e_l„©(ˆL)žÀÖë®BùgëÐyò ˆ 1™Â†_Ü ÿþƒSÏï?óòô ·ã?›À‚!à[ÊéÏ×8Ϫ¡[!Ô!ŒTRĨú(Y±$[PØ4hªHT¬1,ÊÓ…pá¬\fÎ"÷Ûü âA1´ ¬ÍÈ$Ò5‘Ûú!É…à ‹);w—:²J A+½£ê£H&$TT&áõšÔ<½‡ÿüøDúÊù» É8)e(}Ùûn¨6´ÿ_ìÜ0Œ¨‰Ã²’ÄTUඃLšÚ‡nù±¨Bñ˜Ì®Ñÿ5;uþÛ õèîòôêK£qܼCü³G§ô²•©«)É„D'žz{  –I8iáAÄ¢ÊQÙynIv(9¯‡?“¡Ê²L£GæX,†n¸}ôQ(ŠÂ–eáÚk¯¥3f ™Lroo/8€_|‘®¸â ~ä‘GpÉ%—àÏþ30fÌüøÇ?<öØcxàèÆoä¾¾>\ýõèìì¤M›6á‰'žÀÅ_Œ«®ºŠò“ŸP ào¼÷Þ{/AÀå—_ŽÅ‹CEœuÖY8tè¼^/.»ì2”––" aþüùøÛßþ]×(þ0(xÖøÔ\ò\R8aZ¿ôeðyÅGR“©`Ýup£`Y, }3§Ìif°i }fsZ$&ƒˆIM¥atC'²,™¢ Q„˜L¦-‚¤énúgV{úPi] ¦iÙ:ê1}6œâ›Åx¥õ6æ<}ef†i™Y¢ƒqÈNÒ‚(B†å]°ÞËȼpÿ±˜ašpÐÖ IDATÆPÓ€ëVEA$Q”Òìèçår¦yõÏŒà(Ó2É4M>WpýEAÌk!sÃçy%vîÏ tÓsÁµ?ÜŒx$Q"\g•Kd¥€Í‚a é:ŸišNmÕþ£j@Jc\xÉzÜuûx½ο¨¡a)hzFôHH%Îס,”+Èr¸ö^1Ù„i˜\ÃàñÅ1oA/&LîC_?YË_û¡4"­až×§Ì€Å&’I‹̬1R*câÔƒd˜õhžµý,SÍk}¢ féòÉÎÝÖd# ¦™¶»/³ï ˆ ·}²swIvk …”jÂà“>¾TèFŠ“)±x¾Ð!e®/B úRvî~TU@óÌ|åü-0M`ïî êFE±eS9Ç §‡1º±“†×ö ½]À1óvS $²ĘÜF*5X†8œçÒT¨eípB¡®¹æ¬^½úÓŸÐß߿߲²2,[¶ •••3f V¬XQaY|ðA|ë[ß­·ÞŠÚÚZ"">pàŽ;î8¨ªŠ &àw¿û>ÿüsH’Dáp˜£Ñ(’É$‚Á Þ}÷]Lš4‰š››¡ª*N;í4¼ôÒKTSSÃË—/G(‚ÏçÜ9s0eÊ¢Ñ(A€×ëuêõGs~å3CÔЇ |Ü?ËUŠ£B‘ÀÄ9*l&9Ä&wØ…­rf„&éLˀŌÒ` Š|Ax=÷õ!‹ø¦i"¥§( “,*˜³š!‘W½ãÁ]È ¦I”PY6Œ¼ž"xåpÏ9Ø&aH¨ ôôCÓUÈ’2(ž7xhS·€\ e˜¦ ÓÒQV\â` Èd0Ôº33’Z=¤édI.øù\¹O7S\7tÈ¢„êaÕ¤È $Y‚@ÂaŽÂÁï°ØB4EgoI‚œQkBÁ Î~.b,fÒõ$‚E%(+-#Q9EAðȲ,˜lRw_¢±(Ùãf€f­}î@‡ÅlĄ̈ UÀç-‚ DiÈ=ÛJbÚ»ÚÒTRdeð:Œ‚ÚYd-fh†N>ŃáÃ! dYÎ3Ö /ì#¶–U Óá°q“©$Ú: Ê•²²¦SeeÈ<Ž2šžDqQ)…JCȬ}ΚÑd‚-?t½Ò™lYLËDW_'bñ˜½öyvžŠºŠsiGj PDq°ÙC’,eœðÚ¿:L5Úµsç›,Ë"ÍЉG)éQÚ±ç ƒqÛy.a‹A¦™Ö(+.…Ïë'¯Ç[\èÌIjI Gˆ%£EÝÄYÐÎ ‹-‹a˜*¼²ÃBåð*>(™3gBcáI)J¥¦¢ºŒsmŽ Ã@<G¸º¡Ce×è2*xNeŸåD¦iBÓMLšhÀï âÁØÑ"LƒhÒX†^‘n“$¤ÙþDÀ¸Q:©ºŽÞ~BJí‡Å$Q,DjÍ›¦v”¾$ïO?n¸áÚºu+zzzàóùÀ̇qß}÷aêÔ©ÐuÒDIÃ@mm-iš†qãÆ¡¿¿‡†Ž^xº®ãá‡ÆC=„SO=µà¹V^^Ž—^z ªªÂ²,Z»v-~ðƒ ¥¥…V¬XH$‚M›6áŽ;î@*•Êr¾vP‘{VÁ™»Û‡Ú‡GôÁÒQ²ó&ÃäÛò6‘›ñÊYäA¤*³ø ÆÈê‘W?ÅEÅ$Ù&:ðTÇ©jº†Þ¾lݽ]}=%Åmàé!öAïZ[M7àõȘ4¶uUµðy}D9}¨SÁD>Û¡YtSG*•ÂÁC±uo R)Š$sV³W/1-3½ù*k1¡asüAL›4FŽÁÇ>p™¼³9óÌ™3»ùŒ®žGf»lqTg¥3Py „œtÌìmÛËŸoþªn¦³õ¡ „î6:JÏÝï÷#;‰£ªªœL&¡i{ì1|÷»ßÅý÷ßǃÛo¿cÆŒ!"âd2‰[o½Õej·žéþï]»vñUW]MÓÇñÜsÏQ8æúúz\tÑEÎXÔóÏ?]]]¨®®Æ‚  ë:6mÚ„x?ÉJKK‡±yóf$‰£©ß2cêÔ©ðx<ˆF£Tä+â‡öaík@$ ~ì†Í Œ5sšgCÕt0[T\\Œ={öðîÝ»ašæÐdw-MP]]É“'#‹3X‘e|²ñCìÜ¿’(ç*#9ËiÇ.ä’ÒR¤R)ø|>H’„ 6 ··÷hK’D'NÄðáÃy``ia o}ôºz»I–$GƾÍÐP[Qƒy³æ‰§R)„B!êëëã––$3²«( ˜fÝXII š››!Ib±|^úÂ=xcí¿2m9‚»,ݧi˜5i&Œ€T*"¢`0È»víž={ì D§*Š"1‚'Nœˆh4J`Àçóñú-_`ݶäU¯¢ýxýý×Ò zzZ ÓÀ1SŽÁ؆±PµôŒ‚`0È­­­Ø·o_.‡bÈë‹¢ˆÚÚZŒ?>];ÌÔ”?\·†öÜϲ¬ 9Ðé¤9'axÅpÄq§Ö¸aÃGÈc(;wj²,Ó”)Sxذa@‘¯‘~¼óñ¿R ' É0-A”F„ªÊ«hþ¬ùd‰Sj ¡ÒuuuaÛ¶mœ9¬&˜£²²2nnnvœ€Ïë£í»·òç-ŸC¤,ƒ­R`š¦ŽoÆÔñMHié>é@ €;v`ÿþýCñWòÀlQ1räHŒ;‘H’(³Å¬_ƒ‡ÚH–ÎÉÌ, N>ædª(¯äx"¿ß˲°aÄÃaÊi:! Š¢ ©© ¡Páp^7³öoAÓ-e YÂ2œc¯ÕÓÓ3h3ªJÌÌ>Ÿ¢(R2™„ªª¬( öìÙãAMÓÄĉa ÊdD_œ‰ ]]]èîî†ahjj‚$INßø¦M› Ë2¼^/¦M›F°,‹íý™L&V9QÒX,ƒÏçC*•Âþýûaš&FŒššÄãq· ‚à 9ª«nÁ.¸Ïë!ê\aá°Â2‡©% Ŷ¬×eÏœvz4ݽ’²(ÓüÙó!Ë膎P(„ûî»ýë_ÑÐЀúúz(ŠÂ®Ãµ ÅEUUìܹÀu×]ÇË–-C,C]õ(š:>†/¶¬çLÇaꆎڪÌjš UÓPTT„þþ~\z饨³g?ž«ªªìõ…jdÔÛÛË[¶l!¿ßÏ+V¬@cc#E£QÌœ2‡£ñ8uötÙgp¤ŸiaÞìy())¥ÌÌ^^³f ýìg?ã`0ˆÆÆF”––’eYCâgv¦ÙÖÖ†mÛ¶aþüùôË_þ’UU…i2æÍš‡×Þû'’)¢(:c -ËB±¯ÇÍ<&[,P(â{î¹Ï>û,1zôhȲ\°î㾟T*…ÖÖV´··ã¦›nâ¥K—R4å²’a8vÚ1xÿ³µ$“ÌÎ8I"hºFê'`ܘqH¥R°!°åË—SGG?žªªª I%f"âžž´´´Pii)¯\¹#GŽD4Å”ñÍކ±ïÐÈ’Ln¨”ˆpü¬ù(òX×5*--å7ß|¿üå/©¤¤\RRâ* FR†aàÀؾ};/\¸n»í6N$¤›:æÍ:ÿ|w5©„]w²ÓŠPÏ™~tÀ$IƒtçwòË/¿L5j”½ö‡uìÉd’vìØÎÎNÜrË-X´h¢Ñ(Jƒ!7ýz÷Ów¡ÿ ‹]Õ4šÒ8cêÇ • dºººp饗R?ƇÊÊJ÷¬å!;[zzz°yófTVVbåÊ•>|8'I:fê±G£G#6„LƒÁ„‰ù3GEY…À¯^½wÝu———Ó˜1c¸¸¸˜rë¹$D]×yÿþýhmmÅ™gžI?ýéO‹Å8è/Ʊӎ§w>~—-Ë";S¦ á÷ú1oÖ NcUÀàŸÿüçxýõ×1nÜ8Œ9’$I:ì¾À‰DÛ·o§ÞÞ^Ü~ûí¼`ÁŠF£;z<Å’q´´nMsp\ÉŒªé?z,O7™’jŠ‹ŠŠÐÖÖ†o|ãÇyìØ±”éu>R0O]]]ÜÒÒ‚šš¬\¹åååH$’8¶ùx G_G<'' qï˜4oæñ*-G2•Dii)žþyÜ{ィ¬¬¤††ƒAwí· OÐu÷íÛG­­­|î¹çâ†n@<§’âRž;í8z÷“÷`Ù‚·…‡ãdI»š= D„B!îíí%ìñxlÞ[–EQl‡J'N̺_[aβ,d옉ˆLÓäÊÊJTVVÚ< ¶u׉ˆš››³jöÇ9/Àëõ2²}’}žU˜4i’³æñxœsp(â¡&Ͳs;?Âç³|³„£˜´VèK7Ïvê”#:Îy"ÃÔqLÓýÅÐ Š¢àüóχ¢(øÇ?þáÇçB†‡½G]×±gÏ\uÕU´víZ¬\¹’Âá0&4LB{wuõôrfÆY–0§éè†Y–±sçNœsÎ9øþ÷¿ûï¿@€¾ùTUÅ?ÿùOúÊW¾‚+Và”SN¦i˜Ý4¯­ù',3=Ï„ˆ kêQ;¼ª¦¢¸¸«V­¢Ç«V­Âœ9sÈÅØ¦£yÝÝݸçž{pòÉ'ÓsÏ=Ç~¿A¡©¦áÃu’À‚£¨ÆÌ˜9ydI†i¥£Í¥K—Ryy9^|ñEª¬¬ä£$d8kßÚÚŠïÿûôá‡âW¿ú `ÔˆzÞS½‡:‘( N Wì  yB34MƒÇãAKK .¸à\wÝu¸ð aË3n½ÝÿTU/¾ø"qÆxðÁqüñÇ“¦i˜6q::ûºÓ<Thâèq¨,¯„ª©T\\Œ{î¹Ï<ó ­Zµ 3g΄ t”kèêê¢_ýêW8õÔSñì³Ï¦IÆôÉÓ±æ³5ƒucfLŸ8€Ì+^²d êêêèÿøÊËËbÔ‘ÈöÚoÛ¶ Ë—/ÇÇŒ[o½ýýý5bFÖŒÄÁöƒ$ œ ŠÑ4¾ š¦Áëõbݺuøæ7¿‰o¼çœsJJJrõîC,Ãßÿþw,\¸¿ÿýïiÆŒ°,Æì¦9ôÖGof²t8¯ëêQ7b4T-…`0ˆ;W¯Æ}÷݇ææfØü‘£9ƒ Ã@gg'ÝyçX´hžyæÀUÃF`|ÃXjiÝ EV2% †Éf7Í‚,{`qš»ræ™gÒ¤I“ð /  ‘’O„rßiš†––\yå•8ûì³qã7"‰ yü4´uD<žJÛ|¦£"(ÂôI3ÉN >üðCºì²ËpÛm·añâÅT\\Œ£=¸MÓ¤D"ÁO?ý4N9åúÓŸþ„ææfÒ5³›fãß»$4CÇøú±QUGš®"ÐOúSþ÷¿ÿ‡~˜&Ož|Tdûç–eáàÁƒô³Ÿý K–,áçž{š¦ÑˆÊZŒ­ƒí»[Ñ©=mÝîuX–I’(_g‘ÄܾÍ'(Ôêæv¤®€šr`k‡+ä"‡PCu>—‹:¹“…\B›}/¡PȽ:ÔXòcTiÈ}Èw#~eéY·NŸ1ƒ’É$úûûñáGã¼óÎE<Ï#Å 5yˆRS´¿c;Û¥_œìdX–Å%š>yLËD0ĵ×^‹’’<öØc6ÄÓL]<'UU¡ª*4Msþ™×¡ª* Ã@ii).½ôR~ä‘GèСC8餓 j*ü>?vh… È"º† £' ¶º‚ @Ó4œyæ™x衇°lÙ2$“IX–e_öµ3R‚¬ª*%“I¤R)‚€d2 Ã00eÊ,Y²_|1Î8ã „B!(²B±D Ý}Ý ,6püôy àóùðæ›obåÊ•øàƒlý_²!ÔT*å\[×õ¬O¥RE±ØÿeïËã(³õßSU½¥ÓÙBû.‹€( Š Œ8WQ÷Å ÔÑë(*ê¨#:£s]îèuæ*¸¡ n¨ ²‰È*Ê!!@€@öN§·ª:¿?jéªêîg¹ýxžÌã$ÝU_úÎw¶÷¼G›úuùå—#ó /¼€©S§" ¢ ·€ŽTFL‘A¤ð só1°ÏÙ™™™˜>}:ºuë†W_}ÌÌÑh‚ ²%CÞÆñÜ !Ë2òóóqÛm·áÅ_DKK FH$‚l•W€ ˆ±xƒû FA~$ID(ÂW\ùóç뇪ª”FöˆD"ÐÓmˆF£‹ÅH–e 2ãÆÃÍ7ߌ+¯¼™™™p»<ˆDZq²®Æ†€¾`ØPYÓ|öÙgxë­·°aÃÒ¢œVˆ¢hÈž­ÏoÐN¶´´Øö¢$I˜8q"jkkñꫯÒM7Ý„æ`3 ó Qu¼J›¾DZ‰§¤°gõ< ²"sff&ÝrË-8ûì³ñâ‹/Â0F [(2ßo4¥H$—Ë…`0hþ>£sçθå–[0{ölÎ;ï<„#aäfå ¼ê 6 ÄñxCú ¥¼œ…yp¹\¨©©Á5×\CK–,Á˜1c`ԇ뷶¶šé\ƒžTG[##³ªª8ÿüóqÞyçaêÔ©týõ×CEdøühhªÓ3$@‘# ZŠÞ¼y¼bÅ ¬Y³~¿‘H„A€,ˈF£hmm5÷»ªª¶u¶@E\{íµØ¹s'>øàš2e ÂáVärQ^uD‚ » Š"z”õ€¢*¦åN5ìËʪ&I<G"²Ö­?é~çÄ{Y»ã3¶ˆ»½§¡Mw?ãÚ¢(R^ž¦sNg …QOI³žªle‚àDєٶ­[Û¤~MJóµeàÛ葳ôãjÀÒÂöx¼å86mÚ„mÛ¶aýúõ…BPU^¯ß}÷®ºê*Œ1‚ãñ8êëëñ·¿ý ƒ ‚ÏçÃÀñöÛo£wïÞ¦niiÁ»ï¾‹ /¼¯¼òJ””” ?§9\C-L‚—(¡Sq©y¨?þøã˜2e .¸àjll䌌 lذW^y%FމX,†úúzÌ™3;wÆwÜÁ ˆÇã¸ð ñôÓO›JЭ[7<ýôÓ˜9s&>úè#´†Z¹¬¸Œ*V2À JÈ4×üØcáƒ>€mæääð7Þˆ;w¢  ÀLû¯\¹S§NEEE ???þø#***  1cÆ |óÍ7X°`n¼ñFD£Q>«×¬ÿaòóó1bÄD"ƒ¸òÊ+1kÖ,477#;;»wïÆäÉ“±wï^ƒAÄãq¨ªŠ÷Þ{ãÆÃW\ÜÜ\ädçr§qôäQH¢¿/ŠJ ª ü~?þó?ÿ·Ýv†NÍÍÍì÷û±|ùrþÍo~ƒáÇÃxï_|ñ^{í5ÌŸ?eee¦Ãñõ×_³qð÷íÛ?ü0yä¼ÿþûƒèÕ­•­`£¢[I7x¼>¨ª‚p8Œ?üáøì³ÏÀÌÇ‘““ƒ«®º UUU¤G«ìv»±téRn¹åTTT ⫯¾2áÁ`¿ûÝï°víZ^´h®ºê*Ä¢1 î3ßlú^BN=¡Bãƒ^¶l×ÖÖâÝwßÅwÜõë×£  YYYxÿý÷‘sÏ=zÝ[[[ñàƒbòäÉ8ÿüó±~ýzÀâÅ‹ñÓO?aéÒ¥5jM˜0ý~?r³òеS7T©€(‰ÈôP\X̪ªÂŸáÇ#<‚|~¿Ÿ.ºè"VU;vÄ믿ŽI“&öíÛ‡=z`úôéÈÍÍÅìÙ³!_wÝu(--ÅôéÓѳgOÌœ9=ô}ôQÌ›7¡–útï‡c'ë* ³ó‘“•£¡ò››ñüóÏcÍš5Ø¿?®»î:TUUñ°aðdÉTTTà…^Àüùó‡±nÝ:,_¾/¾ø"¦M›†ýû÷úôéÃ/¾ø"žxâ L˜0Ÿþ9þãòÿàX$†]zaïÁ½Z $eÅ¥$DDü1Çãq<ôÐC¸þúë±gÏdee¡  ï¾û.²³³1hÐ .((ÐÊD±zõê…·Þz cÆŒÁÚµkÍ`ÂãñàwÞá_ÿú×4nÜ8v»ÝèÔ¡òròÑØÜøÜ”•@e>>ø f͚Ž{÷Æk¯½†÷Þ{Ï0¬˜={6ŠŠŠðÜsÏáÝwß5]@}ôf̘!C†  bРAÐÉSø‰'žÀÿüÏÿ jEŸýpüÔI²ï“¬@dE6³y[·nŸqã°rå[ÑÈ IDATJà±cÇâí·ßÆ]wÝ…¦¦&ø|>,X°¿ùÍoðõ×_£¦¦ÆtÜÃá0Ž?ŽÖÖV<úè£øàƒxåÊ•¸øâ‹á’\(Îµ5Øi ɸ½ QUUˆ¢ˆÂÂB6ÎØ4YŒ3±r[X¬ŸñïŒ>Ÿ‘‘a”Só>“ UªqÙV”{[ij^Ïi@Hΰ0YÆöqAAd9N~¿o¿ý6¦M›fFÆÕÕÕáÏþ3ß~ûíæõ¨áþûïGNNNª ÀYYY˜8q"/^L<ðTEá¼ì4›H$°Ï—IþL(Š‚††üðÃX°`Ô××ãOúîºë.[;ÁôéÓùþûï§1cÆ®¸â ìÞ½›{öìIDÄ---ôë_ÿ/¿ü2***¸¸¸åfeÃår“Ñ&U˜[¼…%K– ÿþèÕ«744$I ­­­øñÇmr­¯¯ÇüùóÍçýôÓO¡( ë€ððc=†|7ß|3À €?+!Šr‹!Ë2€iLôÚàp8Œ#FàË/¿´½ÿúúzÎËË£ü¯½öŠ‹‹m²W…óòòhüøñüÙgŸáŽ;)×a¶—efdÂïÓ€8: O>ù¤!\WWGùË_pà 7ØöÚÉ“'iåÊ•èÒ¥ ˲L’$q(2ÝÄlÞ¼n·›Q˜Ÿ}ögeeÑêÕ«mçXcc#é¨e3u‹Å¸k×®4hÐ ¬X±‚&NœQÈ ¾± ·V“劊 ª­­å & cÞ¼y´mÛ6óš_|ñJKKÍL§…Œjkkñæ›obâĉ O<ñ>üðC<ðÀtÎ9çpCCy<äòL E‘QXØŠæDóüùóiüøñì,m•””àÅ_ÄÝwßÍ&L Ý»wãÙgŸEee%–.]Š_þò—øíokFëÖ­3Oy·ÛMóæÍãqãÆQŒc(Î/ıSÇáNÝi‘ª†nb¥t0˜mœ¨ªªäv»Í:öÖ“‘̛ʈÓñ¶ð\ÉÝ•ªjrJ×öl‰ÐÙ9ÅÔÀüŒçeéçö¹¥™²–Û¦`Ál bfF #Ëü[UU•Y²Ö²²²ðòË/£¥¥MMMxøá‡áñx0þ|Üÿýxíµ×¬ãéÌu©ªŠsÎ9ëׯ×ÏZ^·fDDA„Ûå†×í…¬ÈhllDvv6ÊÊÊÌÚ@ý¾ð ‡ÑÔÔ„™3gr,£W^yÅH;ñã?N7Þx#† ‚ææf[ªeøðᨬ¬D§²N(¢ ¡#™.K¯ópÑE™=“Æ÷}>î»ï>ôïß×^{-$IB0D À}÷݇ŋ£ºº ¦ò«ªŠ²²2äç磮®¾ ˆ’½ÄJd§NB§N7Þx#î½÷^<ðÀ¸é¦› …ÐÔÔ„šš›~åææšÿíõz‘››‹—_~ûöí3Ÿcذa¨¬¬Ä!CXŸKm¶ö|Ó¹Ù·oƇH$b–¶t„9ˆMMM˜6mÞyç\}õÕÈÍÍE4Ź瞋eË–áÑGÅ=÷܃‡~--- ©Gðù|ƒD ¢ Úf²gúæ©­­ÅùçŸo°ÕÕÕZF)'‡OŸ>M†ÃöÇ?þ‘ƒÁ ]zé¥8ï¼óÒ†FŒêêjí3œˆÆTVáuû´v20Nœ8îÝ»#//±X ™™™¦ƒHD˜0avîÜ™2•›ÿþïÿFuu5¢Ñ(ª««Í=1`ÀTUU¡_ÿ~`K¯ŸÊ*Yæÿß·o&L˜8|ø0þò—¿€ˆpàÀôïßMMMPUM?ý~?.¿ür,\¸»ví‚$I(((ÀñãÇ1sæLÜqÇèÔ©úõë—Ë…P(¤e$¼°ª¦"e=/ÒEç©~gL7K׷픕5•¢¾vÐI½óíf©Sf§5ýTõþ3YCºöñtz:*N—×o«/™L>ËÍ-WÒQ¼U$‘®Ô €,ËT\\Œ¾}û𛬩© ·Þz«Y_³M0²€¼^¯Á&¤)ÑÂ"ù„¬Óœúýþ$ÏM–etèÐýúõ3Ú˜ÌÖ ¼¼<~â‰'гgO\sÍ5hll´cœ——g¾Ði1Í~t# `È%;;; P¬( z÷îììltìØ²,›ÏF1~üx\vÙe¸ñÆñî»ïÚ¦úèó{•:aàõ÷à÷ûÙp(Œ5ù|>ôïß999ÈÈÈ3£²²·ß~;–-[†C‡! A–µö CÑ ¢ŸÏ—rOЦQ:ø­Hh½6Éýúõ#ƒà¡µµ÷ÝwvïÞ_ýêWÀ'NDUU•  ´‚Ož­9ãË@œ¿ËÎζÉÍxþ>}úÀãñ ¤¤²,³(ŠtèÐ!¼öÚk¸à‚ ‡1mÚ4Ì;׿ é­dl ä` ¶ ¨áv»M ¢(èÕ«ºt邽{÷rMMŽ=S¦LÁ_ÿúWL™2ñxÝ»wÇœ9s°|ùr³½“™Ùï÷“ŽNʘ ‚ õ™Ë&:—Ðí·ßŽnݺñ3ÏQ!+ªb’—X÷¬µ¥2§5²,£oß¾øñÇqúôiüõ¯E~~>TUE~~¾¶ïYÓ3ëîw¹]HÌñ%ýmê9™ä,N™>|sçÎŤI“°xñbÌš5Ët Ün·y6êía I’ÇE[dkJÛAqs;€0óû–t5¥ëÈ:ƒ©¡g Ê4í—\Ç:ÚÄY×þs€oÆÙféD±]@ø™µ3&aƒþBkW²ü3RçF÷þýûÙãñØ€ÑhÆ Ãe—]†«¯¾Úìÿ³Î™!‰Ã[’$TWW£¥¥%Ñ‹ª&˜:uª \r¾¸Ÿ~ú‰ 1™DÛ‡)¿ß={ö8Äãq\y啘2eŠQˆ¢hÂx<ޱcÇò„ °wïÞ$ÏN–e”——k†8ÅëŠÅb6ưòòrèFÀ<4òóó1nÜ8\ýõ(**B<G @·nÝpÿý÷óÓO?½{÷â»ï¾ƒÏç³½Ë#GŽ$J†»¤§¾<Ž?nÞŒÏG">÷ÜsñË_þW]udYF,C=øW¿ú•ùþEQLI»sçNsv±SIbñ˜¹‡322°{÷n3¶šW_}5®¹æœsÎ9ˆF5ñŽ;âÏþ3~ñ‹_àšk®ÁÎ;€Äb1TVV:“KݺïE1ð‹Å0iÒ$Lœ8‘{ì1<þøãægÆŽ‹òòr,Z´È‹F£Q|ÿý÷|ÓM7¡¾¾Þ|•••ÖŒƒm¤©,ËfIËëõò±cÇü1† †wß}£FÂóÏ?¬¬¬¤c=ìÞëóÏ?×\s [÷½Uö&ï©^‡vÊÞb<“# ýÝÎ;+W®DVVª««ÑØØˆÉ“'ãÓO?E^^æÏŸŒŒ „ÃaTUUÁëõÂ6 f}úÀÒâd~Ç`U€C‡™ç„åÙ91£Áç󡪪Êà_0?oô6ÁIŠ¢ÎÀF„p8Œàÿ÷1`ÀlÞ¼’¤1¼ýôÓO)÷½Fd”ÐyŸÏ‡Ý»wCSÏÇŽkê¹! AØhæååá²Ë.C~~¾¹‡~ó›ß ''Ç ®ª««ÍsD·ëìäþp8)鸫RŽWmÏЦ2ö©"÷TQvªÏ¤‹üÛ¬qª,Ašõ¤\[6VN%‡tHB{Bú¹ÆÜèN³1”±mv2Z£­f_îÅ_Œ÷Þ{Ï$˜0Ä£u.#©­­Åž={PQQ={ö`ëÖ­¦á4"Å/¾ø#GŽ„ªª brÌD\ʲFKD(**bQ±cÇÓÛ4Þ††óÞ†WûüóÏãÔ©S8÷Üs±nÝ:lÛ¶­`ǃššTUUaà@­=(&ÇL&£wœ =ßE]Ä_}õ•IX`ükllDkk+Âá°yåää`Ú´iØ»w/oÞ¼[·nµÕ±ˆsÙ²e(++3I#LgAï‰UdEsl\p.\h$@D¨­­…QË7"ǃ>øo¿ý6Þ~ûmîÛ·/.ºè"3;`|nÙ²e5j”™U°8J¬ªªé\•––"‹aïÞ½fßµÑáà”}NN^}õU¼óÎ;صköïßEQl-^>ŸGÅÉ“'Ñ¿h}K³+²v 7K–,1KCkÐÚÚŠÖÖV›ÈÌÌĶmÛ°yóflܸ:t0 fô2 ¾øâ tïÞÝÌI¢ä 3RLf¶#F`Ñ¢E¦Ù¸q#vìØ_|wÝuëµuȲ Q1gÎŒ1^¯MMM€%K–ð=÷܃ƒ¾þúkŒ5Ê\·uX¡#ÌŒ®]»¢©© MMMXºt)–/_ŽÍ›7ãèÑ£())1òÆÆFsí~¿»víÂŒ}ÌÆ:¼^/ÊËËÑÐЀ>}ú$ÐÐü@(ÒjîÿñãÇã£>‚$IˆD"زe Ž=Šòòr‚À²,›÷ƒxúé§QSSƒÃ‡cÞ¼yصk¶mÛ†ºº:8ÊŸþ9úöí›0*–a< æÖhØ,É :ü1 oß¾ÀóÏ?3f˜½È;vìÀ† °eË>pà<ªªªPQQ;v`Ë–-0£Õ«WcäÈ‘¦á·>{4e##Ø«W/œ8qÇŽ3ø¾}û°}ûv¬Y³³fÍBQQ<Èåååæ} Ë2ššš ( þð‡?àý÷ßǦM›pðàA´¶¶¢gÏžˆÅc°Ì $h²×uþÒK/5A¸†žëí—ÈÍÍEee%¶mÛ†ýû÷#??Ÿ ]œ9s&jjjÐÔÔ„ÆÆF|ÿý÷Ø´iB¡–.]гÎ:ËpÐ8$ ¥6Œ©Œ^[F3±MsºT¶%››öûí9éJÐmÌ*o7@Nw_Ë5¹­r…õ_º¶5²ÔÏR¥Ü“†?˜mk¢¤±‚à ج«'ZHE—Ž]Ž„1xð`zöÙg1räHêÔ©“yˆ¢H%%%èܹ3Æ!##ƒ¶lÙ‚W_}½zõÂñãÇñÝwßáÒK/… ”¥K—ÒŠ+ðÜsÏií&ñ~Ø» *ƒ‰…Q”Wˆì€Æaœ——‡Ù³gãÖ[o%#E:t ®]»š©6QIlß¾›6mÂÞ½{iãÆøÅ/~AÈXßÝwß &`ôèуŽ<‚Êc‡!‰‚ˆp4LÝ;uG\ŽSYY6lØ€`ܸq‹ÅLÒ„¾}û’^‡%øMœ8=ö***°víZZ´h‘ƦG=Á`·Ývþö·¿A’$¸$8¼µõuDŒ²Fiq)¢Ñ(Œ§žz —\r ŠŠŠL9gffbÈ!ˆÇã¶Y,#£½Çív“þ²²²ðÑGÑæÍ›ñûßÿ^«*qÚ}p—f\EÑX”Š Š‘éÏ$ŸÏ¿ßOz›¯DQDii)JKKIwr(‰à /Ä'Ÿ|Bß~û-V¬X™3g¢_¿~&PÒçóÑí·ßŽ_ÿú×8çœs **n8…CU‡ÌéT±x„ºuêŽX<†®]»bÕªUtòäIŒ=VÙ÷ë×t:a£×nºé&<ú裨¨¨À† °hÑ"444h´»~?Õ××cÆŒôÆo>v5u5E‘UÏãEqaÄb1 8?þ8]}õÕèÒ¥ >þøcÚ²e :wîŒ3f@UUòx<8묳Ç)++ Š¢àÜsÏ%£¾ßÜÜŒk¯½–V­Z…ªª*ìܹ“~øa3’?pø…Â!ˆ‚ˆH,‚…ÈçõÁï÷C’$<ùä“´hÑ"ÌŸ?k×®¥>}úà¶ÛnCs³F “››K @(ÂÕW_M<ò¾ùæzòÉ'Ñ£G””” ¸¸.—‹¦NŠ[o½guAªkŽâpu•ñµFZ¨w—ÞˆF£Ô³gO,Y²±X ýû÷§gžy£G¦¯¾ú —_~9TU¥¼¼< 0ÀÌÐäååaܸqhnn¦ `Ó¦MtÁ`òäɨ®®Æ<€7ÞxƬôÝw¢¹%AH–ex=nt,,E,£`Ö¬Y¸þúëQRRBŸ|ò 6mÚ„¾}ûbÚ´idD¡Ÿþ9vïÞMÛ·oGmm-.¹ä:~ü8V­ZE;wîĦM›PRR‚-[¶Puu5î»ï>D£1j ‡°çÐn’e¢(Rk$„ÒâNðz¼$Ë2æÎ‹k®¹cÇŽ¥Y³f¡¼¼œ<ˆ—^z ‘Hû÷ïÇwß}‡;wÒÆÑ¥KêÝ»7Š‹‹QRRb:º={öÄôéÓéÞ{ïEÏž==Q…#'Žš]‘h=»ôF8Fß>}iÑ¢Ep»Ý?~<úôécöõß}÷ÝX·n–-[F²,ã÷¿ÿ=b± :Ôl—ôûý8p -Z´D]]þþ÷¿“Þö aÛž-‹ÅmGô¶5³ýÌ6fÖÑMɹéÔÆà±TÓǬÑ,¥ë-OÕŸÊx¦ê]OAzD©jø–LÉïa1ДjÍN›ký›Þ¶FzÛšIýJêWÔÔÔ¤ØùɵÚ(ëÔ¯ð¸<Î ¼YËÒÂnÉ…ñ£Æ“W;Ô±aÃÜvÛmøûßÿãÑEƒ$Ú %ë¬ÑF"x½^¬\¹’ï¾ûnZ¾|9¨:QÅë·}ÛK8®Ä©saÎ>q9ެ¬,Ìœ9xï½÷àñxÌÈP‡g½7û|>[=¨¹¹™Ïœ9“<ˆO>ù---, "}»í[;qLB$ÁÅÃ/F‡â¦3f ßyçtÛm·q4…ÛíFSSSSÙÀI,IeffâÔ©S¸âŠ+xÆŒ¸ù曵:(–¬úŒU•M|ßëǸQãàr»™™‰U«Vá·¿ý-òÉ'Ô»wo…4JÈÓ§OÃZï‡c0‡Ôòûýðz½øòË/ùw¿û­^½š³³³NÔ§ÕÖ°ÏëÓäñzwîscÊþÞ{ïECCÞyç³Ïßè÷6do ] Ìu„ÃaŽD"¤Ëƒï½÷^ª­­ÅÂ… u`”ˆ ;6 òèaxÜ»?Åø‘ã‘—›±¢*4fÌþÝï~‡o¼‘ô}Ä ISAÌ£Á¹\.dffòñãÇéòË/çGy„¦L™‚¦¦&‚€OW~jꎢ*ÈÉÌÁ%#/aAðå—_Ò#<‚5kÖpAA)Ûºº:³5±¾¾Þ’œŸŸÓ§OSAA×××Sff&<V­ZeÆFúýä©Xµi5|p4Eÿ®ýiÈ€!¦ìo¿ýv(Š‚·ÞzËV»6R®@€êëëYH’DÙÙÙ €B¡Ñ# EQp×]wA–ež7oé˜^³i N׆$Id̸xøÅ(*ÒXC¡.¾øbÌž=W^y¥ùžëêêH’$dff¢¾¾ÞŒb= d¼ùùÊÊJš8q"ž}öY¾üòËÑl¡–H µvI:¹‰¢*Èò0vÔ8ˆ’ˆ@ €Å‹cöìÙX»v-²³³ éYAã}ذ§N¢¢¢"Û¾øüóÏyÖ¬Y´nÝ:-;ÀÀîòÝØ±çx<^û¾o—>6èŽÅ£”••Í7Þx#²²²ðúë¯ÛîS[[ I’l{ ;õêh4ÊÆß§M›·ÛMýë_ÙpîW}¿ õEIÏŠÄqɹc‘_Ï¢ Rcc#;o¼ñFp8L>Ÿ§OŸFaa![ « PWWg:YYYˆC¡.¹ä<óÌ34vìXnmm¥æP3–¯[®o-uêWkÙˆrGÌ|£TwNLsXK¶¶yY¾oCÖŸ(Îj÷È™O©s ‡„Ûp.’ÐøÖzy:Пƒú•©"t‹ÒFèÆ&‹D#8ròˆ™Â´¾L«ë!¢ñ(YA—N] …гgO <wÞy'öìÙƒÒÒRäççC¸\.óÇH±Ê²lþ´¶¶bûöíxì±ÇðùçŸãÝwߥnݺi½Ñ¬`ýöõPÕ„àDABCsŠr‹‘••…p8ŒË/¿û÷劉zˆãñ8JKKáóùÈãñ°$Iiïm¤%¿øâ LŸ>yyyxóÍ7‡!‰jjO`ǾŸÈ#¹Ù”MÍMèQÖƒ@ªzòäÉøóŸÿŒ÷Þ{EEEÈÉÉAff&Œ{?’$YïMP]]W_}•üqž9s&®½öZ„B!dx3°ëàNª®©†¨C‘Ü‚¥%¥h µP¿~ý¸oß¾¸ãŽ;èàÁƒ(--E 0¹å].¹\.Ö×`þ·A<±eË<úè£Xµj.\ˆŽ;"Cr¹ðíæo Z6­(Štºá4w.î ¯Ï‹H$‚I“&á‡~ ™3g²ªª(--EFF<íùÝn·Möú³Ï>ÃôéÓѹsg¼þúë …X%4°mç6r¹Üæ`•5’Œ{@…žœ4ižyæ,^¼ÅÅÅÈÎÎFff&µ#{Ž=ŠW^yO=õ~ÿûßcÒ¤Ihii?#»ìDuM5ôÖ-ˆ‚ˆ`k~·ÅEÅ…B8p •••ñ-·Ü‚ÊÊJ"++ ^¯†Œ­ken·› ¢•ï¿ÿ3gÎÄš5kðᇢ°°âñ8}:úõë‡W^y---p»ÜTu¼{í³Mcf4·4£{Yx9iÒ$Ìš5 Ÿþ9 L ¥qo@fàltÊaú¯ÿú/üñ„Á×ÚÚ —K–›-Ô³QŠ„à](íPJ-¡:t( pË-·Puu5÷·ÊÞùc80Á`ß~û-|ðAlÞ¼|ð²²²H–ŽÆ"XÿÃs8À$Š×6Ö¢´¨|>b±®ºê*¬^½O?ý4DQDQQ‘é¸Xe-˲™9Ó#1Ö£bÜu×]:t(^xá …Bp»Ü¨8ZNd·ä6ÃG…U …Z¸{Y(ŠB™™™¸âŠ+ðÛßþË—/GÇŽ(p<7îɆÎïÁår!šå‰'Ÿ|úÓŸ0~üx„B!H¢„M?~–Ö‘-Ó bRT…Ӱʼnq¶Úv„Ùœ®¾í¼¾“yîgÔÉõí´OÕ'Ÿ*Už…Ÿ’‰5‹#;ˆeÒgÑ#ôtˆ½t:‘¨ul¦RÑ„®_"‹bôÐÑèÒ©+b±(²³³ÑØØˆ `õêÕfí0 Yë’^¯—/¿ürÜÚ¿„„ IDATpà "jmmeŸ×‹o·®Ã‘ê#Fm‡Œ -ŠªÂëñÒøQãÙëõBUUÚ·oæÌ™Ã;wî„Çã9£á,Š¢ ¸¸·ß~;FŽI­­­ fDb|µn9âñ¸‘a0I÷cñ÷éÜ›†Ÿ}.G¢ZvÁãñàóÏ?ÇÂ… Íè/EÉÃÙ;ÉñxœFމ[o½•;uê„ææf¸$jjk°bà ò¸=lIÓ° ºä¼KPTXDñxœ³³³Q__OóæÍãµkךÄ}›6(ŠB>Ÿ'Näë®»ÎDéfø2°~Ûz¬:¯¥Ï.+2gû³hÜÈq,èˆûÌÌLÚ±c/X°{öì1ê í’EȲL¥¥¥|Çw`øðᤳ2«*–¬ùœtãc“}4㳺õÃÐÃކ)×ÁD„/¿ü|ð6ìBÚÐFÏ'ëiJ=z4n¹å””” ©© ·'kOâëõ+àu{씎a7b,òó ŒT:×ÕÕá­·ÞºuëL9Å~·íC£§zÒ¤I˜2eŠ6£;&†ë¶®ãƒUåðé²7®—ãÈ äa쨱€ •Ätl/X°û÷ï·$Ûà›`Y–QVV†;ï¼C‡EK¨" ¶iÙÚ¯Ø9Fç’Gßî}0|ÀpDb³ƒbÉ’%X´hZZZ 0\º~_ó]*Š–]™:u*Š‹‹Í!!{í¦m;·› [c†Z¤zÞ%TTP„x<ÎYYY8uêÍ;7nd]ög´ïOž<W_}5bñbÑI¢È«¾_Su§àv¹õæj"8.Ç‘ÈÁØ‘ã êØŽÌÌLlÚ´ ï¼ói"’§­‘ [ ºµ†ÎƒŽ‹o³†®ôD3:“Ñ›‰ä1¢*bñ8õîÜýzöGV Y‘­ÜºFÿIêC•ÈFQID>ÝpжïýOÕžJxŠF–féhÑ"äá½¢Gç$J¢víô%ÝÃO§èd¶ä$‰ƒA‡Ž•ó޽?R,g—1e Ìf†‚ýÉÑxeeØw ççæ“Â «¬‚hÎ}»¬D&>Áãö rÅÑ lùi‹V7¦Ä=µäŸù*LÎ𳺟…ÞÝ{³Ïç#Y‘ÙÖŠE t}·¶gÍ‘à†`ý°ç>R}^·W§ð֞ݚ~ÓëŠðh`ïܵSW‚£¥ ~eËósZ†'K¢É%ÑÑ“G±iÇ&ŽD#æ”5GMʼX4ån%Ýh@Ÿ³87'²"“Ê*§}Ûï€Á·‡âñ8W«¤;6ÂëñZ u6=‘FÇɪŠÁ½Q¯î½!¹$6J(–gGl¢§¯Ç‹æ–flÛµ UÇ« geÈŠcÑU‰@Ú¾ËÉÈáÁ}S§’NÐeo‘œÉ}g—D‰$IžC»ù§};IQUH¢È)¸)LyÄâ1”–ò >ƒ¨ ¿Šª°¢*¤ƒl¨MiCŸš¨Ÿ£nɦ–FÚuh7—W–ÃãöNŒqæX±?PT…TEE¿îý¸þðú¼$˲‰ï±¼ûÔ-›5WE‘ùdm5mÛýšØãö$鹋ÇÈïõóþCPÖ¡ ‚$,ËÌ`j£mÊŽ¥Ñž_°$Ë8päíØû#ˆ’ÚhßÀ̋ǨSQê3ùyùZ¯&{XÎ;J· ã¼H`—äBc°?ø‰=̺ì«N2è–B²5*µÕ§åÞ$ƒît8F7É^9kÓŽÈ=¥ž;Œ/[ÖA)zÂSö¾·QC·9ÖŒFªzš {Ü.²ÖÐiî›opŠ”{(.\_¯‹'@qnýï1ÙÀz‡®1Ÿ;Ã’Âbt)í¿/.· ¢(2¸mš=ôRß\òÃpº¾Š¢ÚúÃ-5éµ1´Õ¼ì\”–¢´¤ nÉåL=¦ý§ª*dEÆ‘“U8Z}µµpKž$ÅHœ0‰¦múZnÉ‚Üôé܇ý™~EÑÖF×^k¡¬È(?RŽªê*467²á%ÛêG°N>¢„ìc1üt*ê„®¥]!J"{<ëÔ±vÿµFZ±óàNœª=…h, ·ä†ªÓ´Y£ÓİM0*«Pdù9ùèÙ©'òóòYE:SÙ­út5Ê«ÊQSW—èJÏÀ”×tÙÇàu{¹C^1õ(ë_†?Köúl‚Šcå¨8r˜šÈÌéÇ…%; ïÅ„û‹G‘ÈE§¢N(+é AÔ2,ŽH½–SâØ¹ïGœ8]ƒH,·Ë­µl°ó ˜ŒŠ¬‚F^NzvꉼÜ<ˆ¢ØÞ¾w;u «âtÝ)¸]¤:9óåæž• Åù…è\Ò•óròÎxßgsk3*Ž”ãÄ©“kN›ûÞÕ +[ ´ä»ÎIå C~1ºtê¯Û«Í³„3!¢(8Õx ‡—smC- VDk©Ñº¬‡·¢(”—‹Î%]С°\¢ nûŒÏœ˜ãÃÕ¨>qœê›ëávyìédØY­:¯ÉÞÅ ѹ¤+åfçB”4Í3•}S¨É=GbQ2¦«™gŽÝ‘°âœÀ²vÉÊÚø\ºº{Š3 ¥ÁNÕÛÝÖzÒâÚÒ—¶>ëÑQ{ÏÝ(îÌ"ôŸ‹rg˜sóààíåFÆD`«ªjdåS"ÛR& øeac[Îß sL.Zól2ØËRtÛ¶ß„ÞA$6‚—´znuìVY%U±éü™îw¶–3Œ}§ß+½ž[Îs›¶ï‘âÝ·Ur"ë™# ¢ 9íÔsÓ±Ó÷…±tÙÛ²hgâH™ëÓt‚ ¾b›zn]»Ê*tÙÃqï3{ Ù'pœZÏÓE莨4)B·¦¤­5tK´›*åîD‘§Ð(wNÓgê”õsNãn‰Ò9ˆ-…“ke¹C5tj£_?)B—Úiœçö¸Û 8–(ˆ-ž;“$y$I2<ëT¬:m°ú©D hì}ð[ž‡½Î:GâÏ!`§œ,evz]֎΢dÞŸ@D‰SéÒ>wÚÚºžªMŸ,cK=W\ŒCT $¥$+à6j{6£j”HLâX”f×QôЮ¥7ekj4Íûo3jHÎDÀ¥$þéË–}Ç© í¾{ó¹­‡q=³jÄ©£AXßwœ¦~Úîþ3Ç;gÛË[IlVÆó9eÆû=ißÁæ!,­s*Ä–!$g¦ç)X¶Øê ¶¡çæ{Ðß‹¹ïAh'ÍŸö½'@éõÜvÈëº@ ­#¶}ß®ž§zïŸ=¥ž›ë℃áýé¹€–`@m_Ïúœ*UmµÇgž†ÐÅlG;“w˜æÌIÚ³cÍÖ©©ˆaR`nc-mêyŠ ¥¸®ÖÍÒ’º-Š»´ 5²yœ¶zžU©ñ…ù¿PYe«e:û5%†9š~º¦Ge¶¸V #a‹ÊÎAê¶-°âØÑVÀægœHK0YåeF±ö]a÷zõ¸?•¹5g¤;TLV–,˜5l-]ª{Ó6¨Ã’%ÚNYîoö;¼nk[ˆ•‡Àþ}ÇÞQUÕv 9‘Î%Ép¢ESµ¿è˜ gíψ˜lyH"bó÷ v”Šô?a”Íg GΨë‘m')âoX”ÌÇ“Íø8Ò§úßlÑy¨É’Fpœ>æº)Q‡MUwtÚV lbó8j‚ŽÜv*=wzÚNàÖ?ªçú»mWÏg·¦ä Ü€#%Þ¶ž[« 3Óžž;¢{«Žý,=7¨£‰)) ’NÏ­÷5Vd ¾þOõöV€“nÐHu»ÀD£1ÓЛ‚£d@ˆiÔ¶ïˆíQ†VØ`v+ ­vÃo^‡Øzñ¤ÈÐh²Fn”8EÑ.3X’ôSS€›;…˜¡ø¼ Y ËæÑoyn£3"9#µ}…D ¤œõw)"7JáýÛ÷ qc/'g,l•p§ÇoU[DßSÿ*=O‘ÑK™ˆ4÷jRvïߤçYœÿgzNpÖ]ÿ­z«‹F‰î^3Kû^üGôœèEŽ6³$¼–c8 9Òí”.Ru>oÒÞNC›.#‚ä…Ú‰ê4ci(_mÏiÑß$^ZGëZ[å Ï)rüN„-RNú¼~2&¼q-eÉIõÐDTÀŽk±þf"ˆ‘‹‘(S"/Ä @u¹P´î{ÎÙ¹—¯‡-^©Ñ‚ºù5#3}zÁÓŒˆœžU›f†*‰Ì‚ÈD=@LŠb¬/InÖuX°l‰Àì 9¿¯W@]³(1kÏËLÄB<άÑ^²#âJÈÞ™â5ä ‚ãyÛZ/›swìä@y%:|½šãL&ä ç¿•;/^²ÏgÊ݈dØZH×÷­Èj{‘¡õ¨(±^A`WsîÆ&öÔœfU’Xs%À`•í*vD†ö”-²§Ä»·íc_¬xÜ8py[wpÇ¥+8R˜ÏdüÍëA· ‘½w?+^m¿Ú¢N±·wMŽHT£eY–Yo™döûýìËðYª ÌþL?ëCV´gP™uz`¶EäÐgËzÌxØÒO¬( ˲lÊF¿·eBdâÞ **+²Âz™éŸÒóч]N–}äüοJϧT=^Žåå$½‹œî|ü§õ\_·©dî£ä³øß¨çöó.q çÞý§ô<9£cµÖlDJ[“&:eGêܾ·{ÍžátvŒiv>›#ÊNº_ »ÈœGºïÁšU€m:+;åÁŽú¹íG°Xzj#J§6ÒäD_Y· 'ò´Iß {ÿ˜ OåÊ߸…r~ÜÕ%éfMû\<; Ý,¤PçNDŠjæ‰ÍRž#¥fxœJx½m¡PÝnÊ+á=užÚ:°(Bd¢Ó’¯à«>¡E§ŽT™£¸šLâo ìÎ4R,å•Ȭ8 RU"f’ýÔý­÷¨hízÈ~¿®¾6³FÉ©O &¶¿O²ßßšñd‚¬ ©ê¸t%šûö&©5 0CÉð¡hÝ÷ˆæç‘ Ë”xeœ*%–ˆL`«]&da|@ZZ›EžSµðœ®CfeˆÄ Õå‚*IZê›-©X¶Õ«mÓþ’öíslK‚’ªBˆÅá=y ÃÎÆÉñQé_CE"UÕº1¼^äoÝAŠ×KÐ[ò#Kâ˜M{nï 6@œG£Õu»àr» G°ä£%XúéRH’EQÈãõàýyïßé7Àtðz½ðz½d´×3#AÍ"Çó“#¢ß.·‹\.Å¢1óÞ¢¤Môú¼xÞûdŒçÁ¤æÕqa?OÏ™À¢¤»J Õ%i&M í¿‘ ?IER%‰dŸªÏK,ŠÚ^ôùôŸ €þ1='f(n7оùƒg=wcØÙ¾ö/ÖóäÓÕ|7d‹$ÿ6=O*Xh™ò³®éÕsû3Sºiaí4µ“rmD®”êÎÈ—Œ´ãí¤Šž×:s$urŸ|Ò:Sñ¿XwJjY2"ôöÄüŒ†3ë=‚J NO¢Ç,Šhؾ“5ÈÞ½ªËe Øà¯¬B4?­]Ê Äã €HL´sC;k¯©\Õí‚«© ¾'EA•$xOÖ@ŒDa=ÇÛfÃ`¤¬_¥H-’ª@ÎÌ„«¡î†FÈ~?HQ!µ†qâ— oëÄr²’Ò¹‰hÃb˜­ÈovÔšS)¶åšªÛ…œ]{Ùw¬Eßn€ìÏÐëË –D4÷é!7}C+ݯŽònW.NcG ³F-2Q¼f²wíEFÕQ°("ÈDÇ/¿FÖ¾`QkÏ3ê{Ö¡T*mk$ØÖh¦ä'ÁÜ×çbÞßæ!‹qªTºu_$ÕQ¡Ý{îësñÐÝá©™Oñªå«•“…ë¦^‡U_­‚ h÷.(,Ðîíq#3‰¥Ÿ.ÅÔÉS±eãø2|?[ϵrMžºz°(€‰à;qRÓoQ„¿¢ B,Õåˆà=uÕÇÑiÉ2¯^©¥ªÛ…²O—¢pý&”}ò¤P+Xþ= ª#”.ý5cF¡ËÂÏÎÒñéš#©á*tÌοBÏümÁªþz®›n«NmÿQ=o øÕЭ-Îô3Ë¥zžŸ3=ß{ºþòT×±8íÊ:ÝÚ-a{ºŽ$H>É$ ÚŽÚ®ááPÂe´ÕSœµMÒkIÎû›½ªË!GÙß?£@yT· ¤(øäŸÐÒ£+ÄpجwÙ€8¤_›’k7‰ ž(iK'Ÿ(ÂS[‡‚õ›QúÅ×”¿eX@ªJì’(לʓ²#/Øš¤ÌH,7Ý,Dsÿ¾Ô0t0zÌ{ѼD$?žÚ:ê¸t)n· Ÿ¤QÖÓ͜¡ŽÎhÀˆTÁŒÜ»èÀoï„Ãsê´µh’#!Ób!"+ÐËE³7|Î6'£NÌzquë=Ô\t>† ¤nóBu»HˆÇ)–—‹Ü»Hñx@öèÂ^M¬!±ÏÈ¥&+šêv*ƒTª×CV^6!79+‰‰ýNŽ{mŸY³DE‘"ážzá)ºë¾»hëÆ­$@‹Þ]D%¥%`f¼üÇ—ñÒs/Æ™Y™øäƒO¨GïTÖµ Ÿ-úŒYk“YÚDÉ7Zö¨(Šˆ„#xêù§hÆý3hëÆ­>|çCêPÚ`à•?¾‚Ÿ}^ŸF‹lbê]Séžï¡`s0¡ë?GÏ2Ž£NŸ.%9#ƒ@„Þ¯ÍA,/}ÿëU*^»½þg<µup5Ñqé ”}ü<§kÉ[s}_~®¦ bÙYèû—ÿÕ®¯9þ¹znÖá’”¿uª®WsÈ€â+ ‘Êý~⑞3RÔLAVª\2uåߤçmÕbÍsØáÿÃzî¨q·ý’ó;éjÐ)¾OŽš59ö„QOY_oc.yR Ý´sŽu[~Ÿ22·ØQÒqÔŽ#a{¦T«¬„ö<œ) çÂÒ{uÉø9"¶ññÚ¢4Û—, èùÆ‘(åìÝWSPKÕI"¶üïKÈ:pŠ>JÕ’"²¶‹h`"‹pl­=©8ú»WÝ.ämÙH‡"ÚüÆË(þf¥9SHFJ¿­l… ålQDÍ,Å㡬½HjmÉ2eïÚ«ݹaA€§¶ÐR‚ä­X[·ì¶*õû±*»¦å®oDÁÆÍè¼ø3äoûÙ»÷“*‰fENu¹@l‹¬:A˜ ƒR¥­Šfž|*CŒÆ FÂ85æ|:1a|§j ÌÃ4 DÙ{÷Cu»€Ä÷’RžÄ”6R4ÒÄÖÌ¿mãË2¯G+ó蔨æ·]®ä&Í4Ñ3§=À ×SÚôü“Ïãoÿý7Œ¼p$ZZZ°ï~äæçâËO¾D—n]ðË+IÑH”ÀíqÓ‘ª#8wÔ¹>b8ªªª´i€lY“¢+ÓÙ¥D´¥( |><ÿôóxý•×1ò‘µ„p`ÏäååÑÒÏ–¢¬KýǤÿ X4f¦ÛƒÍA456%áÎTÏYÏ‚E¶B<Rò­Fs¯¨ºn2ZKK»ý'{õTÿê2ºõ4ìüMÛPù›k)Ô¥ ‡¯»²?ƒHU¶ž[í¢ÔÆé F¢ð»M x,Š$µ†ÑûÕ7ÑïÏ¡oÎG§Ï–‘ìÏø§õÜâd$§aAΦ®‹žsJËN”²tõOèy»Ñr«Y* iµuítßq¦ÉÛêw ÎÛe™KnKyÿT‘¶ÕÑI—žoÉOHO:žRûS¥ê--@©>g¶è$b3Xɬ€S&îæ × ;‚,k_SµJ™ØÚŠœŸvAñxØ‘¾J€ ˆS‚üMBV¡¨ué„ì]û¸ï‹¯s,',‰`ÒÉÀ¼päf;‰IÀX¯ÙF¥;2Ï p`Ï~ämÞ΂y€÷ÔiÄs²¹â–ëY Gl„†¸¬­Â60 '§úR´EâYtúôKì¿÷vlq6¶½4Åk×3H©*ƒÁßo…âõØñh:™Œå‰Lšm+}ûΞP&°êr1ˆuàçü´rfƒˆIUÏ °ìõ²÷d TQ4ÃVysfš BÃnÚdıâõp°W7œsï#vï#¨6˜A¨’ 7ƒEÁ¶×-ïV4>±}oëm&.‰êøž‡îÁ­Óoå•KWr†?¬2Z[Záõzl¢¹¡™C¡kþ†Ìùù|èÀ!>tð Ë2§ji³EQ ÃÊLÌ’$¡¾®÷üîž6cV,] «ªÊ¡–{¼ƒAnnhæPKÈœ‰j ¡¡¾ õ j ¥lÇiOÏÁÌ*Ë™™}^ÍI%ÞõÄCZCè1çmxê‘y¨Í}zBˆËP]C ˆ‘X!…B Ue)ÒAª?_Ï­vw}ÿ?ÚÞ;LŠ:[O…Îa2HÒ %‰PÁˆWA½z½.ß«{Ý5\dua”…EÀ¸î.fTDAA$g&Oç®t~tUMuOÏèîï¹ó<ýŒÝý©:õ '¼ç}Ï\~ »÷"´ÿ ³(°þå± IDAT!KØûŸ³yÏ#s8Ú³;ÎŒÉR<ñÿ{çŠe§ì™É&-ù?Yç-8¼M­oY=tÿþ:o¡¬Ë9dBÈwæ¶W2ЬŽs¸Öóïõ-ƒ¼ó¶®µXQÉsVæ2Žæ€ú²þÞÚÙ™o^äù.ü P­ê¡·:È­m¤Ò):væ‹’˜]«Éæ8hªÃ8˜òÖ<‚¦áÌ— nÈT]2ɶåL A7Ðxn% š¥¨0Sÿl"–h^OÌé§uŽkÖž²$¤ë”*+A¼s'H‰ŽÜ~+# Ûø%b]:A).Y}¢Í@ Îv#gÍÕ)'ë¼61­ RÙç¼·†×ƒHÏîˆWt"–]ÜiÍ[ˆöêŽx§%·"[o—n¹ÝjÄY šÜô™ZÓiÔŸß©¶mன%v¹Pué…Si‚ÁH—ƒ4 ñÎAšNÓX³žåœh"7Õå(‘s.éÒêòÊë(ܹ‡'Žƒfê—¢ÿ‰ScqD{t%±Éá¡`5›ƒ”]l]AÐuÔ Dñ®Q7x j.š9@D W]j‡ dÃã1K€ÝòF-ul"ÎzfTùÎÛïàèᣘ|×dˆ’6Å¥ÅtÙ•—áûo¿GÕ™*ôêÝ Ýzv£D<Šnxûµ·qôÐQŒŸ2>•P Ì™ùȪÁ:¢(Îðød-I Ã@IY .}íÞ¹gNŸAeïJtëÙ .ÙE¾ó!>x‘ÆbÑz÷í Íñ~É:7\.´ûðH±Ú¿·±Îé]‰{‘s{¢äëˆwéHÁŸâìåsÙç[PôÍNmÿžêZ¿é:ÒtYóN^w%EÍ”ÄþÅuÞµt¯¥_l%ÝïCÕÅÃ3SH2™(Q@¼SG°$ Ã,èýûëj÷Þ:4ö®DªMYÖžï+š=ÎÒrô&‘éÌ(ad0¤x,Š¢1hÁ@æ A36¸¦¯uî3NQúYPŠíJ’®‚`1O†Ei.% b2ÕTOvêTf/nÖ3š#Øã´CFš-ƒ:4ͪÛCPµ R2 ÄdŠcݺ)ªµÉåßÉŠ0Î9ÙÔ¾ÜÄnž™=†…̹oM›:Íç…˜V2ö!j6«)×,LçÁïxd†aÀëóÂðÃÐ D#0 ##åJ@"žàpA˜L½ŽEcþpQÌꟵÔÒòJ8r3sØc{ͱfcs"ž p8Ì &Ã0‹ÆCÁLŠéÜh$ „_¼Î3èî3gQ´c”Â0×DL„ð{Q°k/b]» Öµ :­yû˜ wu-üÇNÀp»íÚ…ÙT2ôœ­Fª´Ø"Yý—×¹sIêO°œÁdöæÖèaÿ­uÞ Þá-ãÿlgÕ¢‘ÆH”þ7Öy®8 ²ó¦­óP¹æê‚4KEçRÁæár§<ãp¾Z{k ñêÕÖtÒ³ÄYZfÉݹ²XéZQ[Ëg±¹Ü‘ 57X3m~ºs_f§0 ) ÎÕ7Ø€aNùÔÚƒœ«TÓ–Ê d¥m¹HMb3ƒä”.˜ 2šZ(€¦©kV«.ÅGFŽ€ iD©d¦ZHD‚`Šs@`ÊpTÚÀ'ç:Èz8j‹gjØÈD[g’ÐÍ÷kHÒnH§€…AL‘¡Ù´Uls¹Ís¤ 6ÈìqFŽí›,®«™¿(i€ÍŒḎm¡Žfb9I"1†)bcnèpŒÏPÒAÈðlÇ!ÄàtQA&šŽÇMQ‚@ 0½¿æÕRäцi¢RdSœ§IBSka=4¦¡9¢ë¹ $8©89Wí®’˜šH'ñÇb1rðáSJIÙo­®©†c²d¾SÍ´® $4!Ž›²œ÷ È™÷DDÉdñxº¡Ûs1•NÙï«®­nfƒÚÚÚ,ÙbS¡ì­s›r@×9UÞ†Ž_×lè@Z³ÁU=»ÒÙs{djì©öN¸z,ÕçFôÜF×@š Ž—C4˜Ø¬Ú·¸Î›³Ì7‰2eÄyÀJÚ&VÓóUÝ›8Ñ)wÏimçv`XÏÉÜï²ö¼ªÃ6•­3šd®ùfÂOÈ«Íuxeö;̆sÍÿ2ùTS H yÁvÍÖyÞC<ëßrÅKòù]2–ü¨ˆVp]Îg—'Bo¦¢–ï ÏAÇçJ ¶tÝ”ÏÈ=¬s×L>®úŸSûYq––R¹:ÃY¥B­g«rNO*@`]×@‚€’‚"´/kp¨ˆƒ¾„L­2ß±`ﺦ#šŠ¢¦®†Ož9ŽHü\ÇmçÆD#Ÿ:sUµU¶Œc3G„5¾“Y74„An[Üe%mà÷àv»ÙQëË+Ú ë:RJ 5 58}ö$×Ô×Á€‘DX”Ã&ô&³ã!‰B¤ê*‹¢€Ò‚âŒíƒ…dÛžZZXº¦#’Œeûh"ÎÛ#‹zÓѽå¬õjºŸ×‹²‚6\^VŽ /Ì>͖ݰÁH«i4ÆqêÌIT×U!™NC–d»¢˜7*qp˜*w(…P^XÎ¥%mà÷úáv¹óQwfmº–±}uC NŸ=Áµ õ0`°ÃöYúaYôž¦0ˆª«$‰K JpN›ö  àÀRkis3mÏ‘dÕµÕ8yö8b‰,Õ/ÇÆœ{˜³“AMÓu}>œÓ¦#·kÓ²$gäégkˆ¬ë:T]ÅᓇøÔéSˆ%ãpI.fÄù‰ŽÖÌ50T…‹Ba´)*GYqû2¶wÔa‰X@šÆŽä뚎¤’Du} NW@]C}³ ˆÎ½6+íÜÜö dIFIa)ÎiÓA~>ùÔf"Lš¦!’ˆ º¶šO=X2Î’ ““Õ&h±Ú¦ gö ~Ÿm ˹Mi}!öz½?+Îb+Š‚úxN9êºj(ŠI’íYç:orbØ)k Ãa”µEiqû=~r¹\¹Ô³¹×aÙž«ë«qêì Ô56€,¢³^ÞlÿÜzFq–_šÞÎ9ü8Oß.,›uÒ¡®ÕÂùÇyþÎ-€âòΣœ»ÅñZ8_ó¡î³÷ô_ª‡ž‘çˆRPßXgÊ=ËS£¦þHg*‡9s ¶-)Gïç¡MI9°dÑg-T"‚$JPÇÏÅw?îD:n"¾È¥¿4™ò‰èÙ¹;ºWT"ä6mp^h¾É%Q‹Çðãá=Øø€%+˜÷±ZvP5^—ý{õCûòp»ÜÐtíÝ»³FjyÊgjNc÷O»qºúŒ­KïL7ç"ÌUAû²vèݽ7ÊŠÛdH<þmÛ+8vú¾ûñ{(ªI”šæIžºµnÒ¹Vvéî]z äÙ÷n1’ý"Û DAD4ÅÞC?à§£‡l)ÑlMLÊJ»«š ŸÇ‡þ½ú᜶ ‹ò¿m{"gªOa×O»p¶¦*ËöyS§¦í;´9çõìƒâÂbdªÿžíÓiGOÆÎ¿‡ªiDòälaóÞ]’ çu?Ý:vƒì’¡iò’ÃüŒý%Q‚¦ªøfÏv<~Äaûæúó6èRSôÑ·²Î)ïùŽÕödÚNWÄ÷ûw¡¦®²ìµ¢ÕfÙ¾SÛèÝ£Š Š2Ù1g”ú lo­ùt:#'aç¾]Ð4ÍV0Ë·9Dt4]‡@„óº÷FçúÛ›û/w$d"ôÆH#~8¸‚,» äfS³K=PTÁ0úöì‹våç@Dèÿ†íE!Óñr²ê¾ûq'" pI®¼å‚ÔŸÊh1É’Ì— ¾¥ÅåP5…Ré‡B¡Ÿ»ç¼v‰F£ðx<4¤ïhWÖ–·|û% àL]—sÒ´½‚öem1|À…p»=H+iè”eû–4±›yź®#‹¡MI9Ú””cÇ_cÿуD¹É™äì–&]×1°WôîÑ— CçT*…@ )¿í[Ò%$“I€=»ôBÛÒrÚ¼cê#,‰Ró2š®!ì ââ¡—" SZI#­¤smÿKæ ‰€ˆpAÿ Ѷ¬[w~e©æ5K1‘éÈ´Ç…ç€(ÊP”4AÈ÷„ŸW²"]×9‹¡¼´-ÊK˱m×WøéèA¸dw–’˜³“B7 |Þù¨ìÚ›uCC*•¢`0Qù_wÛ•]{£¼´-mÚ¾‘£ñÄ é‘­¢g¥ûu]‡×íÆ%ƒ/AIa)RJ i%`0ø‹Öy® "‘ü~?†AmŠKyûîo`°•ü¶{Ú œVtnÛ‘†΂ "­¤!¸È²ýÏ®sçß4MC<Gû6ç Mq9¶ïÞŠƒÇdloézSÞu”+JÈ#j’V#Á9EXœÙÚ|ã躗˅¢¢¢|éºÎ¢(6[窪¢®®Žu]‡(Š-عŽEV+n6W}kämYëÜ.·ìaµx>K­½!]Ù’0[<Þli0=}"“dÙFØš_™VÒèÓ½7úõ@i%Í>ŸAÀo¼Á|ðÒé4™©ÇÜ ›‚B Àرcéºë®ãt: Yrá¢A#ñé—ëЙ ¬K1ÓnÀEƒFP›’rN+)„B!œ:u ‹-Â7ß|ÓäiÿÌ¢fftèЦM›Æ•••ˆÅbh[Ú¼ŸoÛD€àèÍL2M×PZX„‹_ FÆ3…C´eË~å•WP]] ô”ï¾›¥_/¹äL˜0¼^Çb1ôï5 Æžû²¢E‹\%­¤Ñ¿²/ÎëÑi% ¿ßkV¯Áºuë (Š5ù[îÑuáp·Ür ]}õÕœJ¥ÈíòðEƒ3¶oŒÆIÎpÏ£ 'ÁÂ%ƒ/FqQ))jšƒÁ >L ,àï¾û.×ö-fÌŒÎ;cÚ´ièÞ½;b±Ú—wÂýÏ·o‰²“}2SzÖ4´).ÅEƒ.nèd°Á@›7oƪU«P[[‹œÞ¢ÃË̸üòËùW¿ú¹=nŽÇã4°÷Pffüxø ¹3À1{c#sÞŸîôêÖi%ŸÏƒ üõ¯¥O?ý”UU…` µü£ë: 1nÜ85j’É${Ý~\ùòcÄâ H&pÌ:P4]#ŸÇ‡K‡]ÆÇ>L8€çž{޾ÿþ{ȲÌ?ãLÃr"»uëÆÓ¦MCEEÅb1îÔ®+ÀÀ¦o¶@–\ÎÂ!ˆˆTMåv¥åtá ‹a:‹Ä´qãF^³f 544°ãÞéç®côèÑ7n\n‰÷]×èЉcì’]Žì\æ€I+i é3=ºT6ÙÞ0ðòË/cãÆ0mßê}[冢¢"Œ?#GŽD"‘ ¿/€‹Äú­ŸP"•f)ÓRi®Ã%˸tÈH CœRRƒØ·o­ZµŠøá‡LÊ»©ù®Åç`÷ìÙÓ¦MCÇŽ‹ÅÐåœî °åÛ/á’ÝN¤ˆEUѱM; 8º¡A”$¬_¿¯½öE"‘üÅŽffA誫®â[o½’,AQÒïBÖt GO‚K–sÀ¼k8Oß6;RÊü¯D²9ÀårA–e|ýõ×´zõjŽD"öÞbÑ›>Åãq¶î_Ó4œsÎ9˜8q"õîÝÑhº®Û˜eg–ƒˆ§|ghŽK3DK½s´`'>%ïÿ/¥Ü[É9QînÙÝ<®ÈÈëºFmŠÛàòáW ™JÂï÷cïÞ½˜>}:***0eÊœ{î¹e™óñ䆂‚$ ÄãqìØ±K—.áÅ_DYY Ã@c´ŸnùºÁì”]WÔ4†ö†]z ™J"cñâÅxñÅ1vìXÜxã(//‡ yÓP†a ¨¨†aàèÑ£X·n–/_Žë®»?þ8âñ8FU]5dQ¶»¦kh_Ú—‰d*‰@ €;wbæÌ™èÕ«&OžÌ•••e¹E€ˆ®ë(--űcÇðÝwßaÉ’%ðz½xñÅQXX0P×XÇoYGä :ÈDhi ï!*:U •N# aÁ‚X¶ln»í6¾þú멬¬,6ÒX,]סë:Ö¬YƒU«Vá–[nÁ£>Šh4 ¯Ç‹ïö~‡Ý?í‚,¹ìgh°ËÑ^ ÛAJ¥xÆŒtöìY̘1ƒ B8n5ío™päȬ\¹Û¶mÃsÏ=Çǧt*q~¼eêê Š2,¬¦«èPÞ— ¾„©ƒAlÙ²<ðúõ뇉'¢gÏžM¥¢<Àf†×ë…ªªøä“OðÒK/¡°°‹-B0P]WƒO·~ $8$² © .6 e¥¥PU~¿Ï=÷V­Z… &àºë®CII Zi#bÇC.— û÷ïǺuë°zõjLœ8>ø mûo~ø{îaYr5^ >£G\YÎÌÇT*…iÓ¦!‰ðŒ3hàÀ…B­Úžˆ ±uëV¬Zµ ;wîÄÂ… qþùçCQffúdËÇhˆ6šXšÌÄW5]ÚwÁˆA#OÆQ.ÀúõëñÐCaÈ!˜0aºwïîtæ²Öœ,Ë(**œ>}Ÿ}ö^zé%´k׎.\H^¯BUmÖõiS†Æ´½ª)¸dÐ¥hß¶=TUeŸÏGO?ý4Þzë-Lš4 W_}5Š‹‹‘þ÷éÓ§ñÞ{ïñk¯½†_ÿú×4kÖ,Äb1xÜ|ýýרddÉÕ„·0t¼~\yÑUv)0ò]wÝUUiúôéèׯß/²½¢(8xð –-[†}ûöáÏþ38’‰$t]ÇÇ[Ö!6á˜Ì2NNÊ= €öKSîùÒè¹ésë½UUUX±bt]Ç´iÓ¸¨¨ˆ¬û“$ Ñh÷Üsî¿ÿ~ 4ªªÚß±k×.¬X±©T /½ôÒé´e›,äz¾9§Fþ‹Qî–OðKî·¥”{nÛ›:™ºSþs=5ËûÊi[ãœC[ ™í)θlØe( ÃãõÐîÝ»ùÖ[o¥—_~]t§R)¤R)Ê'N˜7oF…nݺÁår±Ûí¦×_Ÿxâ úì³ÏØçóA%|ûãìýéGȲl¥{†0úÂ+IÕT‡Ãxúé§ñé§ŸÒ[o½…‚‚ŽÅbÐ2Â#ySîÁ`ÿýßÿÒÒRŒ3ݺuƒ¦i˜>}:išÆýë_FADôÑæ‰DÙŒ–XQêWÙ—ÏëÞ‡TMeǃ+®¸W]u=úè£l†}`å£<$">zô(vìØAGåÇœàÀ;v,?ñĸñÆ‘ˆ'p¶î }¶u›©oÓ»&ºü‚+†ÙçóѶmÛxÒ¤IX¹r% :”“É$Òét>ÉEffr¹\,IfΜIóçÏG €ËåÂ_ÿúWþÃþ€7B’$È’Œ¯wE?>À.Ùea¨(\È£†&EU8Óc=Æß|ó ½ùæ›ðù|lzÃy£ã@ @óæÍãK/½ÇǯýkZ¶l+Š‚©S§R0ÄâÅ‹3ßaèôñæuˆ%âÖýCQØ{Wv9º¡A’$9r$7<ðt]Ï ¾uZjw 8tèºwïŽD"Á@{÷î¥[n¹…Ÿ{î9=z4'Iœª9IŸý9dÉe!˜YŒ> ~_@›6m¢»ï¾›×¬YƒP"‘`EQZ-u¸Ýnúì³Ï¸¦¦“'OZºt)/^Ì7n$³^É_îÜŒÃÇŽ’yx²ª©èRÞ‰.t!ÒJšÃá0~øa:pà^{í5v»ÝdE"-E§.—‹?ÿüs:}ú4¦L™ÂD„d2‰I“&Q‡øùçŸG4%MSyÝ–uH&S6¢*4¸Ï îÞ©œQx»ì²Ëðë_ÿšfΜɚ¦Q<g³/?辶i‹¢H¿ýíoyÁ‚€wî܉Ûn» K–,Áˆ#J¥éÄÙãüÅö žÇ²½$‰}áhxÝ> øøãùþûïÇo¼A½{÷†ÃöÍæËåž={0eÊÀ‚ èòË/gX¸p!V¯^M6l€a, "}±c;uœdIÎt©è:——–aäËVÒ‡yÖ¬Y¨©©ÁªU«¬Ã…ô,V¬l‡B!ŠF£…BH&“‹Å0~üxôéÓ‡žzê)ŽEcH«)Z·y§ÓŠ…ÀgEUhXÿ¡Ü圮˜R©_vÙe˜3g¦N UU)‘HÀ´}³3gõœÌÁöíÛqûí·ã•W^¡°ª¨8rú0¾Ü±•\²Ëqn3¹dº`Y:²òfÈíDÊÍÄÙ)ô”xÞÌ¥Ûí¦3gÎðìÙ³1oÞ< 8¢Ñ(kšf†ápóæÍ#UUyãÆôñÇs}}½1»Ýnx½^,Z´}ô¯X±Éd2«Ë!GÖ•©óÜC˜à9ÊÒQžöºf@F‡càt†Ø<ÐÉj[ûYqçàù¼\g*‡ô?kK""†ŽòÂ2”•AÓ5$“I¾ûî»±|ùr\tÑE‰D ( DQdI’ Šbøäø {÷îE<ža¯J§ÓˆF£¸í¶ÛðÿþßÿÃwÜ@ ÝÐÑ£cˆ"5µih*;UB|öÙgX»v->úè#ȲŒH$Ó‹›;fîoܸÛ·oG4E$A:ƲeËF±lÙ2ø|>È¢ŒŠö6Ð<¢ŒzBуA<ôÐC¸è¢‹ðè£"‹!‹€=žõ²Æ ‡ÃX²d –,Y‚Å‹c÷îÝPUݺuÃG}„¹sçâÔ©SÐt m‹Û¡mYk¡B7t´/n‹â‚âLßq$‚{ッ½ö†ŠH$UU!Š",Û;ï]–eÄb1<üðÃxçwpß}÷!‘H ‰àŽ;îÀœ9spçw"Ì€ +;÷‚Çí²ÛÑ MC¯Î½B¡>øàlذï½÷DQD$37³µ(ŠeÇŽã]»vaýúõؼy³]wUU«W¯ÆñãÇñꫯÂëõÂ-»Ñ£K»%¼’ Ý:t‡ª)˜={6®»î:<ðÀˆÅbˆgÚàòÞ» ƒxñÅ1}út¼ýöÛp»ÝˆD"èÕ«Þÿ}<øàƒ\SScfA:pYq)ts“ÔuJÛ#*´[¿æÌ™ƒ¿ýíoèׯ"‘4MsÞ;çÚ@E¸Ýn?~{öìÄb1Ü}÷Ý|çwbúôé…BÐ ½+΃×ãži‰PÑ¥kÆ¡ ‡ñöÛoãÛo¿Åßÿþw03"‘[Ô®ùì¯( |>fÍš…©S§²5ï™o½õvíÚ…üãp»Ýð¸}èÞ© 6`I˜û]îÚ¡TM…ßïçY³fáöÛoÇÌ™39‹!‘H@H’„|÷m)¼¢¼¼‹/ôë×k׮ŬY³F0:¶éˆ3ƒf•¸:•u@0 „3gÎØs¸²²‘HV­4÷Þu]‡ÛíÆÝwßÝ»wc÷îÝxòÉ'Q[[‹úúzÌž=7ß|3fÍš¿ßÝ0Ыâ\È’hÏ{è:zw9–íW¯^C‡áµ×^Ë æM;æÛkA@QQ^}õUâõ×_‡ªªhhh€$Ixçw°iÓ¦Ìþå’á÷ЭS×&Û3#äñ¡Kû hZæΘ13gÎÄÔ©SF‘L&[´=ø|><þøãøíok¿EÁ Aƒðæ›obÚ´i™ ŒÎm»Àïóåë2i­ÆÜ,äl­û¹ÞðÜ󉙱råJë0ÏÚWD“ˆEUUÔÔÔàâ‹/F÷îÝqæÌ¸Ýnû=š¦!âÞ{ïÅ\€xíÛ·GKHu'Âþ_öå–&3Á­€ýZgÉóÿCM„ IDAT”‡¤>ÔA ªÜù(/+‡Áy½^2=d>|8"‘ˆMnïr¹Èªqåa ‚ÛívÖ|ð«_ý n·ëÖ­#—ËEn·¥…¥6ŠÖëõRAAéºf¦… Òï~÷;Ò4ÍŽ eY¦P(„`0·Û ÔδÆJ$X²d =öØcÔ±cG›ñ+NãÙgŸ¥—_~™E¢*(+.…KvY¼ÝTR\I–ÈírãàÁƒ´uëVzüñÇQWWÃ0 IB¡B¡™¿›6Ì( " Á¬»!‰ ¼¼3fÌÀ3Ï<“ù¨èКng¨yÀ{½^Z½z5†J °ÁMV½ÏÔÉš`¡Pˆ*++ÉJWƒA0uêTJ¥RØ´i$I‚ßçGyi;hºFÌL>Ÿáp˜ Ý€¦iô§?ý O?ý4%“I(Šb0´íoÙ^×uêÒ¥ ýö·¿Å­·ÞJüã±páB444aPóçÏÇ¢E‹ˆ™IÓ5thÛѪ'’¦ëTVRI’ÈívÓÞ½{±k×.;Moµ™†`0h•!‘$ o¾ù&6l؀ŋC–e""D"têÔ wÜqÍŸ?ŸB¡1 ªèØš¦ÚB mJÛEܲ|ùr\qÅ8÷Üs)‹Á0 ç½S0$Ù¬E:v"‘À5×\ƒ»ï¾›‰13iÆŒTUU…íÛ3+Á`˜Ú—C×5Ò Á"„ƒd°t:M/¼ðÍ›7ñxŠ¢™}AîØÖOYYyä,^¼±XÌRš$]×IUUÌŸ?Ï?ÿ|˜xàŠD"iŽewr¦~sGÇ1{öl¬_¿ÑhuuuÔ£Gºùæ›±`Áøý~01*:t#5c{$PYi2 <^zé%ÜxãTQQA–g\.ƒÁÜZ, ŸÏ4jÔ(ìÛ·@€P$Áœ9spàÀìÞ½›ˆ€‚P•–e0†` H@€ŒD"¥K—bþüùˆÅbP…Z@i3“ hll„ËåB×®]±uëV$ Ȳ UU¡iž}öY<ûì³p»Ý¤é:µ¯°¸ :••¶ D^¯_}õª««1}útD"‘Öàöøš¦aÔ¨Q¸âŠ+¬iš†††ôíÛW]u^xáøý~""jo®ù_>!zës^[Þ×õ×_õë׳ , BþEÞËË>¯Ÿ 6øìÙ³Fù‚ .°Ó1¢(r<çÉ“'còäÉ8räˆ} vï´¦¡[·nܱcG6T€t:®]»rii)ïܹ’,qȆ cÝй \ÌbÓéàÑ£G³é³$I8yò$¦L™‚Ù³góÌ™3±zõj…B–wÆ‚ ð‰'øìÙ³¨©©q‚¸8‰`ܸqؽ{7,nÀã‡Í–pA¸„uCgI’øÃ?ÄwÜ‘Aë:&SAAþö·¿AQ¶6Vë°¯¯¯çp»víxÍš5Fa›Q,_{íµX¿~=$I‚$Hì‘=q {=>x=>f0?~œu]çóÏ?ŸÍz8û|><ñÄx½^6-nlläž={bÁ‚üè£Úø «Û«W/ƒAþá‡ØårÁëòB0¹÷ ÓöØívóûï¿1cÆ8#Ö4Ãá0fÏžÙ³gÃãñ°™‚f"bMÓpë­·âæ›oæ9sæð›o¾Éfy‚Í ûí·œN§ûÝ>vÎÑ‚p1†I’ðé§ŸbâĉPU•Í ÿå/á»îº‹ï»ï>¾÷Þ{ùĉe9Ë3·ðååå¬išýÝ’$ñèÑ£ñÙgŸA–eÌ¿Yè`¯Û·äf"âC‡±Ûíæ>}úØiVÇÃgΜáÉ“'óäÉ“¹¾¾Þ®u[Scûöíèß¿?TUeçzL&“Ü¿ȲÌûöíƒä’ØçöÚµA]×¹0\Â`°ËåâwÞy‡ÇŽkÛÖÄÄðŠ+0mÚ4~ðÁ9;Ëlq‡kšÆ~¿Ç·èf9‹ñøñãñõ×_ÛR²~ß¾FA¸ TĆa°(ŠøüóÏ1~üx¶ÞË̃8xð O:ápš¦eqpwîÜ7Þx#¯X± HÊ*ƒð¥—^Š 6°,Ë,‰›)g6Ø€ßd—ËÃD„}ûöqQQzôè‘KD´½ý\EQÄáDZ~ýz:t?üð¯]»–6}"‘À°aàë:<È’$ÁïöÙºº®sQA)˜™eYÆ?ÿùOÜvÛmh!½Ÿ+óɆ‘Ù§×®]‹µk×òÚµkñÎ;ï°57‰ÆÏ_~ù%¬ùX.‚a蜳gsž~svDÖ-qž£…þô¬Ï[󣤤„-ZÄ3gÎäh4š·o¼¨¨ˆß{ï=躎_|¯¿þ:WUU13sNɉ%IbÃ0xêÔ©¨­­eÂÞârÏúmòóDØùÎ1Î)?ä‹ðù—žÏ¹z3ïÂéu´ —7¢7[¤šd#›Ú ‰Áð{ýd°A&RšzõêE©TÊ£®®ŽHÛ·o·jßÍäê:uêŸÏGNoÉ"}èСùý~2 ƒˆ’¬Z8ËnbfJ§ÓÔ¦Më½`føý~ºæšk衇ÂÃ?Œ‡zñxœ²¸ªRU•TUÍ’Á³ËP<‡(”é‹lßë·ÝÎh4JçwišAÈJÉM˜0“&M¢¡C‡Ò+¯¼B&8P,£‡~˜îºë.Œ?ž.¸à+MOVonÏž=‹Å¬~UjjŸ%ò{}YöêÙ³§e{hš†P(„üã¸å–[àv»É)3ÃãñÐ 7Ü@eeedLd2†A;w†Çã±¥M` A.É—ì"f¦T*EíÛ·'ÇC&u)–/_NsçÎ¥9sæ`üøñ¤( ‚@DDô_ÿõ_tÓM7ÑÚµkñùçŸ[óÃ^  h4Jö.ûÚü>¿=‡b±úôéC&Æþþ{®¾újÜxãÐ4¬{@’$aåÊ•Xµj­_¿ž>ùä ‡Ãöœ”e™ºuëFñxœLlIÖ:ðy}Ö¼‡ Ô½{w¤Ói""J¥R4hÐ ºõÖ[éþûï§ýû÷Ó?þhªYëL×uhšf¯ kþUTTX(ÞfëE¢@ÌLÉd’:vìhÕסª*éºN÷Þ{/=ôÐCôÿñt×]wA’$¨ª ÔØØH+W®Ä„ PXXHùd  @f¦ÇœòvDAŸŸL¥.ŠÇãÔ·o_R2zðÖ[oÑþýûiêÔ©4fÌš5k9@böx¡Pˆþþ÷¿cÔ¨Q((( ›B‡:wsšÏˆ2¶7³=²,£¢¢ÂD„#GŽàé§Ÿ¦©S§bΜ9(((°ï íܹ“þñÐòåË馛n‚ªªäˆ ©Gö}:­Y³†Ap~ƾ.AH’$jhh G÷OÞ—Cž•rjþùÎ1Êa§Ë’äÍ‘¥V2èöߥVXlrú–Ї­°ý4‰Pd‹ XÑuV?c:†•â …Bxçwð /àûï¿G.`¢æìÞ½;ç´@¨ªÊét:·ÅÎö,"B*•Êò_R©O›6 }ûö%¨¯¯‡¢(l·åiË™Tl¥P9·ÅäôŒ‰™Ñ1[ÜÚ—_~9Ž;Æ›7oƇ~ˆÚÚZ›;Û0 TVV¢oß¾$[“ŒˆØªý›€¼|lDl†]Ó4Òé4›¶§ÂÂBüå/aòäɈF£ìñx²h eYæÁƒcëÖ­Y);ë¥( ÒétÓ| &~f&6l´$÷n·{î¹¼cÇ,X°€^|ñEv¹\H§ÓEëÖ­ÃÙ³gq饗bÅŠ…B¸øâ‹ÙL™[5åfýªÖ†nd=·d2i«Yù|>,_¾¸úê«Éìñ¶²`fÄãqúè£0eÊ3f <íHVŽÅbv)(wÍ8moÎQ’e™ ÀªªèÚµ+úöí‹çž{'NĘ1c¬²Õ̘Ýã­(dFµyù#Øh›0mßÄ|§ë¨¯¯Gß¾}ÕÕÕÎR33Úµk‡ž={âã?æË.» ‰D"k|Û±4ÅksûõvH$öz§Nâòòr >>ø Ξ=›ÝŽc–‚Òé4Þxã «ŽËÎ5nbjš¹8Ûö–“¡ªªýYÃ0( áŠ+®À¦M›ØårѺuëðæ›oò7Þ³4‡›o¾“&M3cîܹäóù8•JÙöI§Óde[šµ™±‘¥BæÌˆ™I8pŸ}ö¶oߎ=zض%"jhhà{ï½—’É$æÍ›ÇÑhÔÞ,ûÅb1vìcNµA«leí½”L&³Òû’$±Ï糩‡c±˜ý~+å>dÈ\€b3›¥ ë3”…§Ê߇ÎÍ€Ó- º[:kZj«6Ðl4oö€G}û÷ï'I’pðàA~ì±ÇLÆ=)/ÐÎYóoM–­™èSs°[¾Ï´v¶p¾¾ü–°où"ô|ãýKµ,]Wn^d·¼;h×®mذÁ®I544`„ p»ÝY*CÎkH&“Ÿ/ËO¥Røè£èŽ;î šššfÑI΢vzýøæ›oìvÊÜ5m¶Ú3Sqq18qõõõV™ ^¯—&MšDýúõ£~ýúÑÌ™3mp¤ Ò¤X,†ùóç£GdFcpF;vì@‡šÛžÈÂuíÚ•6lØ1³%³gϦƒ¢K—.TQQA~¿¿Ù¾b`éÿ÷Ñ£GÛ'":~ü8 ÉÉŒhEMªÖdûP(„¯¾ú ^¯]@qq1êëëíÃßçóY@*J&“ôßÿýߘ={6=øàƒ(**²œV{ýoÛ¶ ¥¥¥Ðu½Yªëº½”••Ñ¡C‡,܈ˆ‰***ˆ™éöÛo§xƒÊÞ/÷ÞµkW˜¥L€ßïÇæÍ›©W¯^1bF…P(dgfœQºù²²Cöµ9r„âñ¸MPcw©Í-Ÿ[ëFžÚ1ådcZ $³5'?ñxœ.¼ðBÚµk¼^oÞ Dcc#ÆŒ·Û "B4¥+¯¼ªª’%zäè0 MÓèÀ())±é”gÚ÷ö3à¶f¸´V¬òEö-ÕØ³jè­ÐÿÒONŠÎj=T7dˆS‰Ý~ûíX¶lYˆN(ÎîµvöFZ¸¤¤n·; úoÕRß~ûmŒ;–TU…Áãv_d2•¤x*N¢(¢¸¸•••ôÖ[oÙmÛ¶aÔ¨QçÓÐIÕÔ 50 ˆÆ£H))bƒíϯ_¿Ïj“zê©§ì~ç|ë<ß\ƒX¶lÎ;ï<”””¡H«i;vUõU„Œío½õV¼ûÇãp»ÝˆÅb¸ä’K°wï^lÞ¼Ÿ~ú©•u¢|YÈÜ=Ïëõâü#&L˜kÞ×Eë ¢E;ÜŒ(È™iý™³$Ÿ#`®™Ó‰Dpà 7ॗ^²¡¬}ÒÌâf©¥µD¢eí9Édo¼ñÚ´iã\wY¬3­O­éæü)Ò?ó\¾Ïå»f¡µÂ{ … e²ý, 7 $˜ËLŒ£'ƒ °¦i|É%—p§Nø‰'žà@ Àn·›¿úê+~ã7øÓO?ņ Øô&sÁyöˤšäP(„3fàÚk¯EÏž=YS5ŽÅc8uö$Ib"ñTŒÏœ=Í¢ r*•âÿùŸÿá¥K—ò®]»Øçóñ Aƒø†n`MÓxñâŰ€9-6(Ã0 v»Ý¨®®æGy„Ÿ~úiÖ4 n—‡:‚t:ø“D‰OWàD<Áº¡³Ïçãßüæ7|ûí·Ãçó±×ëÅž={0kÖ,¬\¹’-Z„k®¹¦Ù³q< ¤ÇÁ`_{í5>|3gÎDCCˆˆwýø]F,&ó,øè‰Ã «ªÊW]uð³Ï> —ËÅÄž={°téRTTT`Ò¤IÜØØ˜ Rɲ¿ ˆã@ €»îº‹Ç‡.]º@×uÔ7ÖñчMnc‰(Ÿ­> p:æ'Ÿ|’ŸþyÞ¿?ü~?{½^Œ?ž×¬Yï¾ú*ŸsÎ9e™êJœ 01 ƒ=Nž<É?þ8?óÌ3œN§Y–dþñà^¤•´i{™Ož=ÎÉdÒ¿=øàƒ}:/Y²„ƒÁ nºé&63yç]¦·]b¯×‹;3ï¹ç”••1qUMŸ:{’%IbA¹!Zǵu5l¦ƒyÞ¼yxôÑGqæÌöz½Ø²e Ï;—,XÀ………-Éìû×u@?þø#.\ÈO=õâñ8Ë’Ì{~Úͺ®™@a‰Ÿ>ÊŠ¢°ª©hß¾=O™2S¦L±#Ôd2É‘H„£Ñ(›Y¿f`hk¿s¬;ƒAÌŸ?^¯—¯¿þzD¢Öuû‰MÆÁf÷áȳs¾5¾æPdk@m Í~¿ŸGŒÁÏ?ÿ<ƒA Ä™ $s–‚òî±æ¾ÆãÇg“ô‰ÍÌL(.÷<ÊWpž¹{Jîýæ‚ɶxf·”rwz0Yà›<åI dÞö¦ ™fÎú×5ÔãLÕ)¸d‰-Z´ˆ¾øâ ºï¾ûÈJñ >œîºë.$ ’eÁ`ò½B¡$“I7n˜?þ8 Ë2ýxäGDÓ£c¸$7~:²Ÿ4M#EQ(cÅŠ¸ùæ›ñöÛo¬^½ÕÕÕ‰DHEøýþ¬62«­Ì¼„ÃaÚ¶m.¿ürš;w.z÷îMéti%E‡O…$Êv”l0Ѿƒ{É-»)Ó­·ÞŠË/¿#FŒ ƒbèС˜={6b±¹ÝnÌ›7t]'gK“³µ+ ‘Ûí¦ùóçÓ¼yóðÊ+¯ ™LÂçõáÄÙTÛØ`f0ˆDQ¤šºZªª=K²,S2™¤—^z‰Þ{ï=<ôÐC$IJKK!Ë2–.]ŠÎ;S8v¶‘å³=E£QºñÆQPP@ÿùŸÿ™±½$cÏ¡½¹ø L’dÙMûí#Ã0(N£´´”–.]Šë®»ï¿ÿ>¹\.¬^½šjjjP]]M+V¬€×ë¥ÂÂBçØ°ZÚ‚Á …Ãa|ñŸòÊ+é÷¿ÿ=UTT@Ó4¤ÒI:x♘tiÿ¡ÉíÊD&“'O¦AƒaäÈ‘8zô(9ãÆC,C(Âïÿ{2‚”ÛRfýÍåráÉ'Ÿ¤_|+W®¤D"Ÿ×‡c§QC,B‚m{ gkªP[_Ñ̬X±‚V¯^MsçÎ…ÙŠHK—.µËAÖý:~Ãa T__O×\s uìØ³fÍBCCI’„î!Ý`Ì@F–dì;´ˆ‰’É$uèÐ .¤Ñ£Gã“O>ßï§+VPuu5ÕÔÔЪU« ˲e{ä›ápŸ|ò ]{íµ4þ|´k׎ àD2†C'fq`«ªAŽì#·ËC±XŒ,ºÞ+¯¼’jkkáv»I–eTUUѪU«È;w¾Á1ï!I{ì1¬^½š–/_ž‰:e79y™š.1I’D§ÏžF}C=DAD:¦W^y/¼ð~÷»ßÙß½lÙ2hšF=öTU…c<ʵ}0Duu5]qÅèÓ§Ýyçhll„$H´çÐÀ²<1É’›~<°D„D"Aݺu³X±aòö»Ý»wÓ£>Jš¦9Ÿ¿sLûÿ ðÞ{ïaìØ±øóŸÿLååå@‘x„Žœ>F¢(™-&EÑèàÑävyFiΜ9())Á˜1cÐØØˆp8L9í¢Ys=gÞ#“(Šxä‘Gðî»ïbùòå‹Åà–Ý8tâ¥ZJ¹;²©”§=0_-ÇZˆò)Ó 7Ü@ßÿ=æÍ›¯×›µ~,ݯ×k••ÈÌpR0˜i1ôz½”H$èÚk¯¥«¯¾šyäÔÕÕÙ@·Ö€i-¥Íó¥èsî‡ò• Z¥çý‹).õ+!¿œ[.ï.DQ´ÕÖÜ–09”žšD”ñ¬ý?®ºø*œé½öz½xì±ÇðÁàâ‹/FŸ>}àr¹ ªj±ÝB-%•JaÏž=رcf̘éÓ§›¼¼"ªjÏà³­l¶*K°!­¦Ñ»Ko è3Š¢  áèÑ£4gÎŽÅb5jÚµkgƒ5[,/TWWÛ3Ï=÷œMdàr¹±ã‡mØ{p_†5É¡dÅcäБ(+ÎëƒA¬]»¿ÿýïѵkW <åååúÚ–Ç&MÓøØ±cøòË/qî¹çbÁ‚Š¢‚à£Ï? h<ÎÎú¿nèùB¸ò¢+¡:ɲÌ.— sçÎ¥õë×ó!CеkW"‘Hä«ÿ°Óö»wïÆwß}‡Ù³gcêÔ©ˆÅbD §ªNbÃW IrVZ>­¤Ñ·{_ô=·¯¥í— IDATmûƒÒ¬Y³Ø0 \pÁèÖ­› ²râ-rm_UU…mÛ¶!™LbÁ‚èÓ§56FØívã«ï¶àÀ±Cä’]ÍH*.v9Š ‹ì~û×^{ øÃУG <eee¤ë:766¶8¶ªª8zô(¾üòK 0Ï?ÿ< Ã0•³ |øùˆ§’pŠ¤èºŽ‚`F USáv»‰™yîܹزe † ’œX”L&ñý÷ßc×®]xøá‡1aÂÄb1’$™Oœ>ŠÛ6Ábè³~ÒJÃú C×.]¡ª*öïßO÷Ýw˲ŒaÆ¡¢¢Â.Ÿ˜µÒ¼`žªª*|õÕW0  .Dee%áv{hËŽM|øÄ1¸L° e{áŠáW  C×u„B!¬\¹úÓŸPYY‰Áƒ£´´p²zå³ýáÇéË/¿ä .¸Ï>û,TU…¡P4ë¾ø©t†‚×åjº†’p ®¸ð RT…=4MÃ#qâ6oÞì4¯j‡W÷ÕÒÒÂ+V¬ ––Îd2G¸\Îã/?ë¶PõO]2Lƒ–Î_ʳ¦Uû¹K’Dv_sÞ½{·ØL¦é&I’0iÒ$¬X±¥R‰ ÃàX$†}‡öàõ··Z5¦lFq¦£±ªªô¾ïãX<MÓÇÉ0 ~õÕW†o£œ½‡Íª( þù˜>}:2™ «Š Y"¼´õe=ÑO¡j?|wú‘¦k˜Ú;•—/\N f]בN§éرc¼eË·c‡!z×¢µµ+W®D2™äl6‹H8‚|1‹?¾òLà gŠ•¸Mˤåç,çi“§Q¹RfY–)cÛ¶m¼gÏž3šPä°i§L™ÂË—/G¡P Ó4‹Æx÷»ï`óŽ­©*UϾµ,‹Ã¡0Þ·ò}ˆD#¤iÇb1†W^y§Nª›~´ïˆªªò¢E‹0uêTÊd2\_ÉØ¸ùEœ89à4g©õ¿¤ª39sâL,]°&›¤ë:·´´à½÷Þ£­[·²Ãþöí¹ÀáíííX¹r%Åb1är9ŽF¢”Éà™WŸ¯V3 )|®’ó, ž¿š{ÇO@¹Rv(~óÍ7iß¾}S«‚îE’$L›6 K—.E¾'¶˜£‘(vî{›¶¾³#5~‹Ç™ŒEbô¾—q8=eŽ*• ¿òÊ+4<<Ìþ{Ÿp(¢¥K—ò¤I“ªWÔ Ï÷½@§FN³ZÂá*ÓŠ^ÁY“gÓ¢sôL6 étš:„·Þz‹mö÷M[ëèèàU«V!£P(P$Áé‘“üükÅZ%v§ÚŽü…ç_@ÆOär¥ì2[¶lÁ»ï¾KAuËA{P–ež1c-Z„|>f¦p(Ì;ömǶÝ;(³¯E*™¦ÉÉx—®¸ŒBá—ËÕá0Åb¯¾ú*ŒŒˆuñÍt.‡Ãa,[¶ &LÀhfª¢ùÙMÏc43êD¼ÂÀ»úÖ¯AíÁ›Œ5mØú5àg÷3MÓDKK ²Ù,½öÚk\©TÜÁnðDÝÝÝœÉdhddÄ d7XÂÊ•+Š 'õTç8ˆ­[ýCe‚îß û~çPãƒà= ßµ~#tj`Ðý7ÔÜ ‡BÕÙçÕèä–.9:js™5­‚žÎ,]° ±XŒ Ã`EQü -Æ4èÌÌv--‡Ô08uœ7½¹ÉË-Ž£sÕéTVÅEˆwÿy7¶íÞŽH(\+ùªÖ#»›Ü0tІ#¼äœåèíM×H’$vº‰Aw6aÐuЬpY+cÓ[›0xj°Zó]ã1PÍŸ"hZ…{ÇõÒ’s–q4a¤( Ⱦ©Agf‡¼Æ!5Œþ“ÇÐ÷VŸÓÆÔ•¹{a{OºÆçÎ9fOͨÎÕeFÝ1К¦A"‰Œ]ïîâ·÷¾°®›Aà¬nèˆGbXº`9õtu³nT¹ û1 ºØdH×uR• å6½¹ÉžË­:õ÷ìL´»+A×ʘØ3 Kæ/¥H$º¡CQ ˜tÖÔ Û²¯:ˆJGߣ×Þz ¦e²,É^ÚŸb1“©ë¼üܘ:i*Ùm‰YUUqÂߘݳïmguÇþxgß;…ÝgÙçÝ.cÕu’±/_¸íÐ Ý!d’¯Ä²©A·÷=ëºUQ‘/åñꛯâÔð) ‡Â,\›ì&+`z¥L“'LÅ¢¹‹9 C7tRUJm*àí;[çT‰´JˆŽœ8ŒMonb‰¤ê”H{v…h°,¶`?o Ïš:Óm RCdiÌs.þÍ4Mw:œeY´mÏ6Þûç½W;#r­V¸¦st]C*‘¢ Wr[k›[zætôA* ð¸×5"[²–+ezoà=!g)´Ûs”9 nª Ñ\!‡Cý‡@!•HBQT°eãì-Op-8ìZ÷ŸýúR©„íûÞ¢m»·̰•š » ð¿ÝÐAÅÀÐúû‘Œ&)ŽTÙ™{J„k£îŸ}mÃ40::J›¶¿Œ#ÇÞƒ;¾QàÔÎ I2–‰Ãý‡Ïç‘N¤ÝQ§ÏîÖˆÖýÎb²Ø‚®ë|èèA¼¶ý5dsYg„! ó¸ÉQÍ€¢¨Èæ³t¸ÿd–‘L$I‘•ê³_;Hd??‹Elß³Û÷¼]e÷Ú“êD™‹ü YQpâä ?yéXŠ¢Ñ(K$9²o,o¯ìÝfBÃ#§éÕm/ãèñc5¥p€ U‡n8ÜÅB-©´g:•]rÖlíÙyv[öx÷È~¼þöëÈåónO…ÀV (J£¹ ÷¦B<Dz^{ïòy¼µg vìÝé6r®/Ö;­!$EÆÑ£8}ú4¥iD#Q7jñ•Q³{qŒz®”ÃÆÍ/ ÿÄq„B!òÔiúf¢Ë²‚Š¡ãpÿa”Š%´$ÓPxØ~þàsî[{GöûïÅë;^G¡XpÏ]®²õ£¢„h$;ŒÃÇ#"‡‹ÅkûþL÷³ö–…B¡€­»6ãý»H–d$6»ÛÖ9äŽ É úáäé“HÅ’®ì}:‡›È{5 C§†ðê[/Sÿà DB„ƒo È•½^¡CÇ¡Rª LWËm™ {¯Ñþgwß¡Zñ°ïÏ{ðúÛ›Q.—¡*jñMîeÓ'N'Ë-@A¬íFõÜÔˆ0.Xs±V¼ŽQïLgtÒŽ#î´üvÊñœŸ²œ¯7m³Ñ¨}Ðý7y?ù¢pø¯Û ÄŠÝ•ˆðæÖ­s|j£‚yßøÔººç=ì 9Ÿa±ÃÐRBèéh8 EU K2;5¼¾œ>ЙBýGA¨5à¼(¡¥5Tñ XÌ0L éX]ã Ê*ÔzFez–eÁ´L œ>á‘a(²êäì…Ž«5Å4†Ö4M0Ltµvskº•$IªŽ1€-F±RDÿàQ”ʨŠÊNg¹:ù¬Ÿ#û°FOçxDBVTåŒfr;²Í¢ð$Qö¶€ë`4†‡ca±ÃÔÑšhEG['«²J©ìOœ:Ž‘Ñ(J’³ù}ë /è^ß0M&XÔÕÖ–T‹[¾7Æ"×ð*ôE¥¢³¢¨$yá8Ï5ýFβªÏQÃèîêED W[½Ž-zWö#¹<IR!;\çÞÉ1d‚Hx?[Ð ãÛÆ#•JA’$uùc—¨‚08<ˆãƒÇQM7xe´âý¦‰€®¶nN'Ót¦²w ¾œGÿàQhZ5RRtM×_”}4Awçx„Õ0Ô:æQöÃÙaœ8ÙÏ’¤’#û†¹Uòè¶,‹ KG{²ímPä:d²é¾7LƒC&›#UQÍ2oñÂ0 –×ÞC©D ©ìså<úÞƒ®›¬**ÕE×¾s~&ãS4ë 4ž~ãô½ï¹ë´`£|ø÷S÷9MƧ¢Yé_£òß ûi4®ÕŸCWÆ€MuiÅ9‹èÎ%"n† A‰‡Ûž@©aXláȉ#5ϰvïQ< ²$CQBìôZzº49÷"Bÿ2ËR„ •"9àØ¬Š1j'EQ9ŠP£C\ ’ÜpÝý´jÏm™NŽœÄÀé7ßé|vs³—Å…YPæÎ°]qàù$çÐÙ²gÓ²èðñÃ,ÈžEu“í½²W•0U»÷‹ÆËüÄ)|ΚÉ$A¦rÅð@Ž£– :ILD¤Vgóàð 8u"HöM×@"‰E!'2l¤lcÊbщ$I’Â0,‹÷ªEA :oâÚTe©Î\¯ CòʼֱÏ5vNt$Áàè N Ÿh&ûÀsn—¤Q$qÓ{öß¼çÜÞ*"ôÑ œÀñ¡ãAÏŽgžPUöªÓN˜E}QwÎ…½XEÈ$Iaè¦I‡úÕ¢O¢÷E‡\'{¹*û*M¨ù9wóÓö %Yâ°Áh!C§³Ãl§g0FªAÜ»PdÕÒ<áœ{QHwïÙ²w®ÏŽìOœ:Áý'ûIз ÷{°ìe±áHà9oôy‚¡jxÎÅÿ}‘+ûšzyfûÊÔ¨áYù^6½ÿ>Ù7,¦Yó€ÜëîÅ×Ú6è9Ù4ð,<ûBi”·ñÍhõ“‹Æˆ]œ»­ÎNfÈzoÁ6:¨Ú’H‚ªªÎ j¶©=^¿½™˜Øsíü)ðª|tdI†¬Ê?Ö®èZôám±(¶êóÝumß-ÛÇ!€Pdí#]ŸÞ?‡×…¶]ˆ[x½»YlÅy† è¶k„JjCÏWtl¥LâŠ0sPñ¥¨`«ð£7éå"Ánc!7ßéÐÄþ˜†¨èÛòò©‚¬P•ý‘¤×ì;_®Õ9øîý;ºÅÆ{ÝûóC–HBH ¹}õØ]PŸSè4ý#×ê k<¬¶‚U™ç½Š¬0)b~lŒh‰BÁµ£ûœÛþžmtlŸ›ˆFö_rÎEc ¡µò˜çÜ'I’ JêÿÕ9ç3=ççÆÚHÏ¿äœ {]„š›sÿ38_"þLϹh=ÈSƒsÞÈø4ÉÑ{Œ¶¿ÑJPäë[“f¬r#` ´iA-]}åwÜ áløï“R]S{êw!R §Îëð´r=®ß‘a “àª8,Fíg‹`YU›B„ê÷L`&FõŸS÷Ï b†ý;QO±¨ä|§˜É•êòèKŒA‘ví°PƒÍá&Ëý†Y<¤þ\ÏiDO"±wºû^òmN?Än+A1Ÿß"òçx\ñÙYA× ˆ<÷å I]™'%Cpeov¯ É-Ôå¨Ñ„ÎDžÈ²›×œ6ª[cGizì‰û¬ö™ GG.AkãyŽZ'‘… ©³Ïíhˆj[›ü©.!RŸlÜ59-â9J›yžËóp>4ˆÉü“g}}÷æ3?çÃç¼AÄK àýº(¸Ù|ñFkÒ¤ ®Ñu›ÁâÔ¡1(ïßì÷þ³Ùl_úëh4œ…}pH³càUU´ªj±ejcqÁ‘ˆà +*eŠj 6M ÕR †APCtMve'~>‰Ð4äÕ+ì‰Oü÷)F\‹Úÿîx¨hàÙQ Vt<ó Yx`kr£öò~¾ày³&¨‹Åk‰¨ ÒÛ<‘ãÙ¢.Š®G[jÊ¿nè†'‚ƒ¸ }³8è 8Âeñ=þîIâg»Š–kЮÕŠQûPP>.߇ְÇÞ:÷"äÅ\¼ÑÖí7bsµuôîQ¶ž½èœµhÝ»ÏýúªÖÇœEEí®›7Be‹O„È˳'¸Æ"eáDêŽ1³÷×Á뵄s_Í$ý±¿Ÿóÿœs1ÂÏy  Ow9ÿ÷`Œ7µWâçûï¡QÏ…€Ïf?Ë3´e T ð{ñYüÃÄEûA¶[iã?G“hXV‘Hjü»§¦Ño6Ì@º¥Â_øÚ[×S §7Lçþ÷’˜sÎ)¼ÿš#xòW3ô—¿Ç‘ˆI?ùÑ\~Õa~ö÷S°ãÍŠ'už9{”>õ¹œË†ˆ¸ó?ch0Їý<ò¹¨ðÈžÃî¹7‚C÷„0uªMŒ¶X˜'*òmV —ò' cÕDdÔ£H9 05yH>ä5(žõŽGžûg_d ({žÜú˜LLN©Ž#„úòòªƒF=`sí!ŸÏÂ3xmµWaz×—„—ÃÁn”ç-…qK Å\—'´éÂs’çzU¡°G~ù:†Ÿ<Ïç‘»Sþc¯?‰«+À¼ë¶{°KGëeàÛ Î³ºû‹IH‡Õ•’Ÿ‡à38õÏJ¾pΙ¯dG8¿ó·?çsç<È^8eYB9ù¹WâÁ°ù§«Q#h:÷. £€œv`Ýÿ<¾œ>Ù`±- Ÿ_—Cóû¨¯Ö©ë1Ð,‡þýå\¸Wñ¯ÿ¶Ë.8Ë zöw“1r:‚þÄ^<úÐÙ˜2-‡HÔ€3íd†¬0*e_[÷Æõa™„\6²aùG6<‹O~ô²jäïç07‡ä¾.H­ ó"‘¥éwúš@ŠbÞS„±‚ ­ Ï«ËùseAÈyzJkJ ¾èMŒM=”T:ød /«úL²3þ| 'ÿjLyº°@ûu Mg6w|å#BU|ø\>¾]CˆNŒ€\Ç‚kph@èÉþ=å¿–äøå"ä챽ż¨+G Èøï+¨f˜¼u¼uppUöAdQuñïÝ¿Ÿó¿ñsÞNn”7nÖ-®ÄíÞÒhÌ©oi 4> sæÂýõçgóÞÏX9ÿ á,ApÅXw_ç1žÔù?˜Ã_½yò•÷ìjÃeÿx]ÝE,^6€w÷µ@–-g«0̱i"Qw}÷|þöW—âWÎæDRƒ3ó~èdŒu]ª¾¾J¨b;·Èn.‹}p™ð½ã-» õÉ“3eå‡a½Þjýð a_ëÜûbárÝ9ªÝƒwp€~æ¸Æo4ë<8è,³n B»ÜרŸÅîâàÔ`oç™|Q„÷À½ç!ìçuËÞ|4 ?Ôç;°µ{¬UW¸9jûóÙ&fyÞï>W½ÍÂZ°½ø×B\;Œmˆ ‚X2ðGn,ÊÈž)ξèÊÛ;*lgÞ³†xfdÿ«W–îgùagTÍÞsî°ÑDÁ³²jôB΂ŒÝïÙÿýœÿMžóºÔ𨽰~à—8Ȥ!dî¶®‡ÉÅA>AÐ6Ý{i0h…}égréu³‚ßsúÑ4„×ÜG£¿CiB¡3`ÞzDÀ©“QüË»pÑeGQÈ«˜0)Ï›_íFOo»vt`Õšã8ö^™Ñ0NŒ"3 iˆ€‘Ó|ús;ÐÓ[p£}çëä@ ™ÑNÄOè.°êÉ=¼,OÔGu‚§ºIõnLƒ|_#oXägyîÁ÷Yâ3±`=yÌ€¨ËÍ y;"øŒì—Q½ÎEØþË—#£öG!É+0"l(W!bõ(Kߺ7ŒÀ"aƒ7¶¬ûž‚#Þ¦ˆÙ³?ÙON+:¹*uû—rÄbî¾þ}ì j@\«)(QÖì%˹h‡Ã7 ŒY‹õá"IÌS¥P»þ÷sþ·yΛEáA ö†¤½¹gñõA¥£A¯ñG÷ˆw¤ÉçŒu7š‰Ò°½™mÄ5#ô@pÇÇ´«û9àˆØ3“eÌñ„ŽÁUüþµ‡èô©(îýþ¹hk/cÁùC˜1{G¥ðØÿsÖÿr–®@8lbÕEýøïÇgâ§w-À~3•bqÃqáég÷œC  ÑÃ?™O•rµ[µ“Gªƒ]Që¼å©©f?cƒ½lF|wŒfnôÔÁÇÚ-)‚w =ƒëôA- åÚ°Yrûá;É8 ä ÕQnrcB]‹©Ô­#µ-‘//í¼TœÄWÓùKtœØÐóâté—/5ƒÏäE¾ºyyaX‚8PÈÙĨþC=ó”êf;ûŽ uåjiôgÉ·W„L¸/Êòp¹í> MÜtŸ}t tÕÊúkÀëçQSSÔ<нœ?aB—Ÿê瑵þû9ÿ[<çþ}ÔÔª3þbwB÷>|uèþ·4²WAÆÛ3éÍùç<³¿o»h ›9!c=£ø u•)cË)ð3•1„Ôr›Ê„JIƹ‹†`Y]¯ú ¦Aø×ÛAù\ˆIÙÑMššÃ7îx`Y„RQ®KX¼|]zXÓdd3!’¤jý[?胮KPU #§#°,òiqò(?;ÚGø ×{ö+Yo„Fž² ö6(·n–<Œâ€-(]‘Cž{jŠ]r“Mò Ê+úˆ)õ\™¯SšÇ»æ®òñDtb^XLÑ ëà'yy|9s;"À©¢Y¥€ÎOõ¹2¿Üeë—¹_)ûjžÈ“üùga _ÔOuÜ€zÏœÅ}æöj€7Jk¡zÖ›ë¯ãâíä^ÿ:e_>™‡uï7Êû®ÖVØSæç×DÒû—‡E®BŒØ ñÿâïçüoçœ7ÚÂ~ƒë#Åù‘ÿô1yZ#ƒÇÍ ¡øyM"û¦ÆÕ×vÖψ…3ÎÚà±B¥IxO¾ÜE£ ûK8@A«ÈvÄà(S¢rIaUµP.É lè„‘áHD¢U —÷ÈÙƒn§‡">(žúI7Çã{d§«“‹«‹ÊàaŠŠZÕcÕÊ‘¼èê<"×Cˆò²•Ãu p‚ˆEÄ5z3uªÛ«:ùTgPŽ¿îÙ£¸©ALÇu*MrÂðä3YèøCu bwPŽ'í‡Í…’!‡…ÍŽ °ŸÇ¾¹×´ •û|‚ráIÁxzY»~¥EÞ{ö“ÔêâKQA‘Ë\z/×™ˆ÷è+/óœD–¸x>k¬}b/ÌéàŒð˜é ÊÀi‘|åq¼d`T¸,íq þ~Îÿ¦Îy›RÇð³Ûý+߀ qšašèx†¸ø??¨Åj@;Ö@r[X½V©3ùM(Ÿ zoèÔIgê œA!?ù=pqkØ» lUÙlþqí>˜GÌ zU%Õ ”wJu܆…!6¬ >äÀ(H«9C`bznô$@ŒBý{JØsv°…Q$êä\bÕÓ:ÄûlKÙ€òÈž"æºg­Ý›FbÏ3û!º (Ý[·ñ2àIXkò ¿d‚?ú ÚŸž÷rTI00û(j",D|"a­Þͺ祀1¶u¯ñïA“àÝ‚º(GˆÎžs·´§Á9Ÿ-h?ÿýœÿÿóœ7H6Ý °5b³Ê…Œ®?‚¦1XêuçÜsæ û 1M ý¦Py95u3P¦JªHÝêý‚a”Fý€Å&0ì­¡¢± žÕµñ§—¶£!²,bk"9¤W&?1Çï•Ö=«Íž¶l¯…›O9 ºëKIð¯ê 5òæPÉgïܳZ{ö±á¡„F"g¸„'ô  ¸UÜ-ŽsæLe²Øâ×0WBÙ7Ÿ$’È6;)Sõæ,Ëò’Æ×gñúR b¹§q¹™+A¶UY`“]„ ày³žIBɈüñ˜ŸŒ#¬XûìL± H-ÕÀúö½drÛSÂØK¤eåŸs@Dd1µï‚öÛÏOI"‰ªá9wø5yT5Ã"¶˜ÇØ÷$ûT* ‰MÎy­âÀbæ™@Ö ·]w}AöÕí~&çœÅNq5>¿Å–·#`óà̳ï]‡‘›ŸóÎ×éE¡ESÓ’6òµêå~F³=&y"Þ± IDAT&g?º\› ÃMËÞrøuãÃżº8cÕz/4Û`-¹¡'4¨C§Fž‡ßS¬¹ós.oSl"à¹{½)o«IªcŠz`'=ˆ¢á¢‘Xu‘,ùz w¤›:J¥Šå9D’äõÞÄÔ· %‚ÓÒ ÌHĤªa„‚çŠ×]ß²,ªèKhz¡êkú<êíìEUöÕñ³uQ¿¥¨Å¬›:ËEÎæ28pø:‰d®—:ç233醆öÖvÌž:mÉ6ŽFãVCd)¨xͳö–iqŨP±TÄÉSƒ¼ÿð>Êä³î\ø£êºÌ Ãñ¼éó¨gÜx´¦[¹:ñPƒlN¢0’¡“Cƒx{ÿv˜³+{$·­,«û>ðÙ3ÎÁøŽ^ŠÇbV#PTÅ×u d‹¡›:ËEd²£´ÿð~ œ`ǰ éxÇAªúBL¦¡qg['Íš2 ­©VÄ"q„B!–$‰êÛy÷¡íHr±\ÄàÐí?¼³…<Õ¥øJ"ˆÈ–=Y˜6i:&uOB:™F8á 9åå03™¦‰²VF6ŸÅ±ãGùÝcÈ2Ûª;ç>NEèšûçÔé>1ŸÐ}­Ñòå­ý¼Ÿ¬-Âóì3|ž|¶Ï`òê9/>Ò[€Ú¨PÃNqÍÌÉ,è3šô3újèÉuv €Ý=7É~,Î×Å‹…ßùf™‹æ.ÆÌ)3!ILË„eYÐt ÐÏüYÑÒ“Ò˜2a*vÜ]ïî„eIµÙÔ~¶)tCGK"…Å󗢫£ËÏÍÌ(WÊg,KY’ÑšjE{K;fLž‰7wmÅÑ£©a  FØ‘›i˜Ò;‹ç-† íë›– £lœñ³‡•0zºÆ£§k<N ௣T®ØQ~}nuŽzµê`Éü¥˜>i:H’`™&,þËeŸŒ%‘N¤1}Ò ¼sàì9¸ äàü€ ûÖT Ï[‚ÎöN˜–믔}GKºÚÇaæä™Øºk úûk²¦Ö‰ªi˜6aΟw~uŽ´ÅU¹[ô²~ÆÏ E‘èJ`|W/ŽŸ<Ž7v¼ŽŠ®C–dö×j[–‰Ë,Ç´‰Ó"Wö½ò—Ë~J3&ÏÀŽ};±÷ÐH…T†_ö4­Œñ]½X4wR©LÓ¬í»Šñé‘T,…¶émßÕ‹-APmÙû:î¹ò7M3'ÍÀÂ9çAQ•¿^öá(ãè7ÇaËÎÍÐu’+ûú³oYIÂÒù+1eÂÇ9ªÊ^«üEú3K"=5“gâí½Û±ÿÈ>H¾,¨¿Î[Ó5t¶v`Éü¥hmi­ê;ûú¥J錯­È :[;ÑÝÑSfbËÎ7prø¤íбŸèœê ¤¨5ï%Ñ2²)àðF£Kýÿ5|¬îoAïó—kŒk­»‡±>·QJáLß7–A§f„ƒ± wDZ÷SþmÃ]߯90~òú( ï[¥FDXuþ˜Ð3‘J剩Pqüøq*—ËbÝb3ø—TUEoo/TUE.—£y3ç!LaÓ›¯€¸ £‰¥TN„Ò–jÃEËÖª„ é%“Iäóy‚ag¹ d2‰žžT*¨ªJ,º[vnÆ#IUjF]\èŠVÁü™óhÁÙçB7ª v¢ñ ñèèhÃÌ:V¤$Qgg'Éòùº;ºñË.ÆË[_¤L.ïάöC†I¸`Ñ?®Žìa˾T*a ™»¿…BÔÛÛ Y–‘ÏçqÎìsN&©oÛ&ÈR(®#ÝÐÑÑÒÁk–®†,+¤é’É$r¹†††¨ì—J¥ÐÝÝMåráp˜V/^×ß~ >zÈ‘=‘O¹V´ νóÏšŠ®!âäÉ“Èd24FßUƒ’$aܸqE‘ËåÐ;®/¿˜^Úò"ò…R5b¹LË„")táâ ÐÝÙƒR¹„d2 ˲èøñã(—Ëc®¹s?áp½½½$‰òù<Î=û\¤I¼þökPä°{"„Š^Æ´ÞiX~Þr¦Aº¡#‘H ›ÍÒÐÐÌêxÄ1!w"¢T*…qãÆ¡\.#‰`Í’5Ô·}Þ;~´jXümh‰¨¢UpÞœóhîÌ9¨hI’„p4ŒÁÁAÊf³þ¾þ ÷,Ë4nÜ88²ŸØ=‘’±^Úú"Š¥2Y©ƒHMÓ„ªª´zñ…èlë¢r¥Œd* Ó0qüøqT*:“=‘H„Æ"B¡P óæžT"‰7v¾ê¾9BU£éÆwŽÇ…‹/ Ø‘}&“ÁÐÐY–uF;!N£«« ¥R‰âÑ8.Zz6m{ÇŽ“ª„ê›0‘˜bôPÙ÷{¿^o*“ÀôŽ-Çb1ÖuCCCdšf Ĺ' tvvR¥RA¥Rñ@ؾ¹ç Ó$bäœJ¥èÔ©SÈårh’VñÀù²,s{{;9ç#âp^(ˆÌ×à}ä~†‚øWáNÄÀޏŽö_¹pˆ8xbG5÷‹Õ‹V¡·{Jå§Óiêëëãüà”Ë師« ±XŒµtR×u3Ó7Þˆµk×r6›Å¤ž)¤Í¯`óŽ­¬Ts¢.ÌaY±8]´t5T5ÌÌÅãq¾ÿþûé‰'žàX,FÙ %@¡PàôööÒw¿û]Lš4‰ ùÏ_JåŠÆÇû«P׸i˜˜5yÎ=Ë•2E"d³Y|þóŸç ¥¥---]&a>}š‡‡‡qùå—Ó×¾ö5‹EÄ¢ ¬^¼†Ÿyå9r'g¾}Uö.\² ÝãQ*—N§ñÒK/ñ]wÝEÅb‘»ººFAe.D§i °$IôÅ/~—]v²Ù,¦N˜Î•J…¶îÚÆJ~v;š–ÅéD k–®†Ru68‹áÞ{ï¥ßüæ7ˆÇãÜÑÑ©–Gæù|ž1mÚ4¾ýöÛiüøñ\,±tÁr*W*|bhTEag/2†iâìi³±àì(UʈF£<<}:APñÈ{dd¿ûÝïðÿøøáˆ÷½ï}Èf³|þ¼EçEqîÙçQE« ™LbÛ¶m¸þúëñéOßüæ7ÑÝÝ=Öu=ß9rwÝuþáþO<ñ’É$±œuÞØ¹ªìæã¡Ïž<ãÇM$Gößÿþ÷ñä“Obݺu¼jÕ*GöÍžÙݺ®cóæÍøú׿Ž7âŽ;îàªa™þ¡~ œ<éÈ’™ÓÒ±hÞbȲ˲ ª*Þÿþ÷c„ xà0mÚ44 ¥îñááa<õÔS¸âŠ+ø¾ûîÃêÕ«‘Ïç±hÞbüñ•ß{ö:[ŒT"Žsf/DY« •Jñ믿ŽO|âøìg?‹uëÖñ¸qãpgÊýÚ¿?î¾ûn\zé¥xâ‰'8‰ •håù³æáÍÝo‘+{ SÃYSgc\ÇxTªßúÖ·èÙgŸåï|ç;X¾|9"‘H³ë{~W(°uëVÜvÛm¸ä’Kø?þã?(“Éðì©g£ÿd?††OÛD½êõ%çÏ=¦i²$I`f\vÙeúÑâ±ÇäI“Éd I7jÙêO¨ªŠþþ~Üxã|à 7ছnBkk+š)ÿב#Gðï|7nÄC=„Ó§Oò,öþš ì#”ûáxïô·Ÿ?ô õ‰O~çOãàÁƒ¸ëî{ðØc¿Äàà DÝ¥ÏK’„‘Ì^Ýö*BjÈß‘É!vx½:‘ÉÉMj÷„ÈÔÝ̸ì‚Ë‘ˆ%EñÄOàÞ{ïÅÿþïÿV!Y]g˲Ü{N$b´Œ\.W—ã…B …øºë®Ã9眃¯ýë”Ïç9›ÏâÙWÿEW#4öZ½t LËD<ÇG>òÌ;ßøÆ7P.—a†˜o¡t:Í£££®²K&“%I’˜¨Z>ÇqäÈ\~ùåøÕ¯~…yóæÁÐ ¼½o;ÞÙÿBJL€®U°tÁ2LŸ< ÃàL&ƒK/½”üq^¸p! …èͲ,J§Óuc³Ù¬»Ž’$±,ˈF£ôÐCñã?Ž?ýéO(ŠzíyÊd³,˘A¿ï‚ËDÇñè£âÑGÅóÏ?Ó4¡ëº'×”J¥ñ‰O T*‘aþ‘ nJé›ßü&8p€C¡*QxçÎ|ùå—ã[ßúÞ|óM\ýõxî¹ç¨££ƒÁ„×ßî£?=ÄŠ¬ºô7?¯©n Ø£_Ôõöz„Ô.]~)iºÆcåÉ;;;q÷Ýwƒ™që­·¢X,:{ËSz¦ªjµÂÆ0D¢Dºoß>\{íµøÙÏ~†¹sç¢X,ŠÆ°aÃMÓÐÝÝ«®º <ð¦N*î!CàÅTŸs²,#‹Ñ·¿ým~ë­·ðÈ#¸÷ÐH~}ÐØÆE»Ã!’$A’þìgnásPA½³9ê~ߨœCà©×p0Èéé6©5 $¡BPÿf§LÂí«k±E-íÔšn%ÝÔidd„¾ûÝïÒ“O>I²,£\.ò,§ß/%“I|ûÛܹ߯siÑ¢EøèG?JŠ¢,Ëb¯^*—Ë(‹´aÃúÍo~C;wîD(¢¶tÚÒdY&9ëÉ݉$‰Âá0mذš¦Ñ7¾ñ Êd2¤i‰¹št:+¯¼’ZZZÈ0 2M“®½öZjiiqV…LÓD&“¡É“'ã§?ý)n¹åØeM4qÜD ©a²`[ECšØ=LÓD2™Äç?ÿyºí¶Û°páBÊf³óhét ,ÀÊ•+iÅŠ8÷Üséßþíß(N“PºEº®#›ÍâSŸú¦OŸŽ{ï½±D ЬÐìigÁb‹`óƵtP:™&Ó4i``€î¾ûnzòÉ'‰™©R©x ¤t:MÿþïÿŽ™3gÒŠ+hîܹX¿~=Åãq·_²eYT*•Ëåè©§žÂ/ùKÚ·o)ªJ­4¡g¦Q­hJ÷$"€¢Ñ(}ôQŠÅbôå/¶ìÝ=«ë:¥Ói\tÑE´bÅ š:u*-\¸¾öµ¯Q:vÁ#Ó4‘Ëå0sæLúáH_úÒ—lބޓgR4#f‹,Ë¢x8JºzÉ´LJ$tóÍ7ÓwÜAsæÌqdï>W:¦‹/¾˜V¬XA‹-¢U«VÑ?øAgÝÝ<žeY”Ëåèæ›o¦öövúÙÏ~FñxœBJˆfM=Ë΋VK¤º[»Œ'aYŽ9B>ø =ñĤiišF¶Káp˜6nÜHwÞy'¥ÓiJ§ÓxðÁñä“OR<¯%[öÅb‘ž~úizðÁéðáÃ$Ë2k‡)¦ºš*«4aüDX–E±XŒxàêíí¥›nº‰FGGI×uw߆A©T kÖ¬ÁôéÓiÖ¬Y´uëVŠF£ä|Ùûž²Ù,Í›7·ß~;}éK_"EQÈÐuš9yEÂbXd1S"§ñ]ãɾ>n¾ùfÜsÏ=4cÆ Êf³$sŠF£øýïOsçÎ¥•+WÒÒ¥K)“ÉР„,Ë"Ó4)—ËáÖ[o%EQð‹_ü‚b±…CaÌœ:›LÓ$‘Åõ´C"VÝ· Ç{ŒÖ¯_Oårö™w µ´´Ð¿üË¿ÐܹsiÅŠ˜3g=û쳉DÜò+˲P,Q©Tèé§Ÿ¦ÿøÇtüøq"‰¨»³›º;»É0«¥°2¦ôL&¶‰x‚î¹çÌ™3ŸøÄ'0::ê@»H&“®Þq¾FGGé›ßü&{ì1zä‘GððÃã®»î©S§çŸ>n½õVúò—¿ŒP(D†¡cÖÔY©¡j=¬¯—»k¼³üÄ&Í$4q ²M›¸H’D»wï¦cÇŽÑ­·ÞJÙlÖ1ؤë:4M£T*…d2IÏ<ó mÞ¼™l¤4M#ç˲(“ÉÐìÙ³qÇwÐý÷ßUU!ô¤'_^Ú}>f¦žžúö·¿M·ÝvMž<™2™ 9ºR¼3Ó¦M›èù矧d2IÉd’*•ŠËã1 ƒr¹¾þõ¯Ñ믿NŠ¢xd)‚ÙD»¿È6Oõà nÔïùÄÓµ‘ŽÕ²+FŠºw4_ðÿµ©TöM˜¦‰®®˜¦‰t*õë×cÍš5ÜÝÝ-z>ÌÌ,I¿üòËxï½÷°k×.lݺúЇø;ßùÇãqÿsÃ0 X–Å7Ýt?ðÀ…ªäžöN6lÏLUTnikcMÓX’$þõ¯›o¾Ù¹|ãð`C‹ €C¡33†‡‡=£ôlϹ\]tTUÅ–-[˜HâD,ŽD,î2y[[ÛXQV{öìÁðð0®½öZd2b[&“IlÚ´‰ûúú°}ûv¾÷Þ{ytt4p´a6›Åí·ßŽ_ýêW`‹a±ÅÝíÝîz›–‰®q=l˜§Ói<þøã¸üòËÑÖÖ†R©ÄA£ :„-[¶p__ïÚµ ÷Üsg2»ô¦&+˲ ( >ùÉOòÏþs¶£îjdžiØò sº¥•5yòÉ'qóÍ7³išb“ Àªª"“É`ãÆÜ××ÇÓ§OçmÛ¶áÎ;ïdGVb¤˜ÏçùÊ+¯äJ¥Â;wî¬F7ñb‘ÛuËhk뀤ÈPUÛ·oG¹\æ«®ºŠGGGÅüàL&Ã/¼ð÷õõñÖ­[ùúë¯ç«¯¾šžIŽÌ¹\Ž×­[Ç¿øÅ/˜ˆØd“»;º=µþ]ãºa˜R©þë¿þ‹×®]ËÉd•J…¨ÓÙK•J…óù¼+ßb±ˆR©ÄvÏ9·,‹ãñ8ÿÓ?ýþó?ÿ“Ãá0@K²Õ­Úˆ†£hKµAÓ5hšÆ¿ýíoùsŸûëºÎ²,»#+™Š¢p6›Å‹/¾ˆ³Ï>›÷íÛÇ .äR©äŽ™td%Içóy\wÝu8uêïÛ·Œt2H8ê²ÚÛÚ; I‡ÃalÞ¼²,ã²Ë.ã‘‘WG13t]‡eY¸ýöÛy×®]¼iÓ&¼ð ü‘|„“Éd nËçóX·n~øaV¦e¢§£‡-¶ªzÌbîêê†aœL&ùÑGŇ?üaŽD"¬iš¿ï8àþþ~ìÚµ‹ûúú°{÷n¾õÖ[Y–ehš7B5M“[[[yíÚµxüñLJ!‘„Ž–N6M“«hC ‰d†i P(ð3Ï<ƒÏ~ö³¨Tª•(ÌŒ¶¶6üä'?ár¹ìÀÊ €%Iâl6‹l6ËÙl…BmmmøÀ>]×Q(ðñœ>ŒÃ‡ƒ™ÑšlC$aq,¬à¨;ú=hîhâ9À¶ˆlq¿rÎ-oß¾?øÁ²išlF9•J!NcíÚµø×ýW~ã7øÍ7ßD*•BKK ·´´p*•âööv8ú?—Ëáâ‹/F6›ÅÁƒE[âïýÅQÇG"‘ÀÂ… ‘Ëåœsƒööv¤R)v®—N§yÓ¦MüÆoð'?ùI¾îºë¸££ƒ‰¢Ñ¨ ñëºÎ7Þx#ÿò—¿äT*å±·c´œuÏ•Ï^Úí3Ÿ¤¨ƒr^° ÖN¨9ôoÓÿ`>8¹õ îu“±´«è¶mÛ†~ô£(‹T’ …r †r¹Œd2Y—WsîQÓ4,Z´/½ôW*Õ2”X,‹M–,*- IDATH²Œx$˪ÂË£££X¾|9ŠÅ¢Xé*VQŽï¼óæÍ›ç;¸Q‰ÂªU«°wï^,Y²«JlwB‹…ãe’$ñpî¹çr8™œžuÊårxöÙg144Ä‹/ÆäÉ“]%ßœa]×ÑÓÓƒ‰'âÈ‘#èíí…,É^„#{¼}ûvÜxã( á³X,†‡~ .„¦i}:³Å ¹û>MBªÁx÷îÝXµj•Ã$¼¾}Æ1::Ê™LÆÉ}Ö)ogßO:ííí8qâ·´´@–dOéV2ž†Å–sŽùŽ;îpÓbÎZÐ;üóŸÿ‰D‚S©Î>ûlw_ø·išX±b?óÌ3.Â&K²;—\UBˆ†blXr¹TUÅYgåBÀ---ü“Ÿü•J_üâù¡‡‚¢(Ð4­îyMÓä©S§bÖ¬YÈçóî=,^¼˜÷î݋ދ{²"ˆ,v×B_­y`¢TèšXGz¨/Øè 6lØ€\.EQpòäIîëëÃÓO? EQøþûïÇM7Ý„P(„ÑÑQ¾îºëÈ‘k,ÃÆyïÞ½(•ª•"Ñh”W¬X|>®®®†óHœ³¥( víÚUU‘L&á Ÿ†að¤I“pÉ%—xt^GG˜¥R wß}7>ô¡!ãšk®ÁÊ•+ÑÒÒ¹\^x!~ýë_Aí0øŒ«fé”±JL„iLö¡zC-´Æ`×­ ïõ\SØP‘Hس¡ººº<¹Fu‹gZÓ§ª*:::È4M&PUÙo•HB(B©\rË#"‘ˆx¸ëäåä?ö±aß¾}cʰ³³ÓaRÚùÉ•£jçLlØm"°¨€4Mã;wâÔ©S4kÖ,Š˜‹af’$‰u]Goo¯+O›-îæç"‘°ëÙJ’„ÎÎNQg²’e###¸öÚkqýõ×Ó}÷Ýçtó œ[‡ÑÖÖæ*6ç~ I"„ÔŠåbUÉ'PUN‰¢8Qê¯í£ÐÕÕå’ȳïB¡l_˜»ºæÀ˜ÙcÌ?õ©O9¤ø:A¹·#{‡ƒá[+8-–eÙ•½ó™%›ÏðÙ=¥ˆÑh---bÚÆm,CD0ª¯M¥R¢cè/“ä¿FþÝÝÝ"¿ NöÎ{ü²ÿkêuýgÀ0 Œ?¾æÌ²gfDµ!RŠ¢ ££Ã•}Ð3I’„={ö ™LR.—ã‡zårÙ=×âÞ·, ñxétÚ•=IîL’e‰UU…Q1Ȳ,N§Óî3·´´àÁ¤‘‘¾í¶ÛËåèCúÿêW¿òpžõK𦱦iž}ÓÓÓC‚a©[COÿ&­y¦;{Ç4Ï{¾îƒsJ¥vìØÖÖVzzzhÞ¼yœÍf¡( œ4–“ft °(g}­«CŠŒ¿;÷QëÈh"ŸÏ£££ÃS‰D ë:æÏŸ & •J!‰`ûöíÕ ÌÖ¡²,»W£k ß×µ÷ó؂ΙҨ¤Ç÷ÁAåþ,ö|õtŠ›÷»“²„žižæþ*töM“$@«hã{àÀž1céºÎum;‰8 áõ×_§eË–±ÝáJÌU°ÿõù|ƒƒƒPµJ²²j ‹-èš""ª=}ú4Ùõ’$DåìˉP"‘`!¼]‹þüç?cΜ9µçßЫS’«¤š#GŽ8ùC ðêÐÞÞŽ[n¹…lØ• …‚?RrïÁ½÷ïß/Ïk´ŠFTMÕAQ¼ûb?!‹EþÌg>ƒuëÖÑ 7Ü€¶¶6ç~Ù·iI’$Îd2444ÄŠ¢®ëµ2»dN7tvÈ&¹\Ž2™LUÙUIIâAmV§¤¸ÍŠ¢Ô9œŽ¶,‹dYÆ»ï¾Ë‘H„‚X´ZEC4u­ƒbñâÅ.ú *(1Aète“¼-aÙ_—=<<ŒááaȲ Ã2üdBÒu‰ˆEÁèè(òùs4<<Ì¥RÉIášk®AGGFGG)‹áñǧ‡üº[¼‡ýû÷cÑ¢EdY–ƒJu­­3<Á™ÐãÞá4Îôáú* *[sòÉvJš¦aòäÉtçwò‘#G I­X±Š¢`íÚµ‡ÃôáØAé`YýŸÿó`÷ p¯ …Ø6Єú>ñuekŽñkÊc±½ûÏçÉÙOáp˜}ôQž|òI<óÌ3¼aÔJ%Lž<¹Ú^×0 I õŸ¯Œ¯n*›¨ÇÄsÓ¤ž¥3f‚Xy®qsa*g"“'w.ÎüõÂ:ðŽVtJ!ü3’ËzÙ…)/¼ðB<ñÄŽ ôü ÃÀƱ~ýzD£Q±lÀ³¹oë…^À”)S †Ô*»ÙÔ=¯ÓŒªw«ª*Æ—^z©®TK”O[[|ðA¬^½<òˆ[ZÓ@__.\ˆJ¥“«¸œneš¡¹JrÞ¼yxûí·Q*•ÔWØ)‰Óu?î|ï$ÝÍF±k×. Lš4Éß§*{­ Á4M\pÁذaƒ[s$ûR©„‘‘”J%<ðÀ¸âŠ+ÜÒ1º3M¡PúÓŸ0cÆ (ŠâMÅØ‘™#ûh4ж¶6ôõõ!‹5º2¡F%LŽƒ`Y6oÞŒsÏ=×U®~²{8÷~î¹çâ7Þðxþ~”çž{îÁ7ÞÈÇŽC¹\öxçbŒ™ÇTzzzêP"[öÕvÃXµjÖ¯_X,V‡¢9ß—J%'5R©ä6còïSÛàâùçŸÇYgY–mn7g«úù‰Dñxo¾ù¦»ïœc@&“èÔKQ躎·ÞzË-Ÿòwe¬è0ª9òE‹á•W^qeáß{Dä 6\,Q,ëö²ø\γp#o?ÿ·¢WÜHmùò娰aâñxÃÒ§B¡€ááaŒŒŒ —Ë9­rëÐ;ÛÙÀsÏ=‡9sæ¸z@Ô¦eÂ0 H$¡µµ’$aç·îÎ* e™=æGwÄA%⽪ªŠR©„;wâœsΩîÑ&Cú¸nú yieÂ)#¦3¶+Ž‹Å"®»î:<ýôÓH$®þÎårH§ÓH&“èëëÃË/¿Œr¹ŒX,V-³M$H$J¥üŒR©„§žzÊÕc¡F†a`ñâÅÈd2Èd2žªI’J¥Üë%“I§±÷õõáÅ_„ªªH§ÓÈårî9niiágŸ}ýýýcMcÑjö~©qÁó½@"`¤î=µÒ4&§n¿ViîÝTÿ~÷µØÔ™"ÅXQ>|üK$q.—ã|à|øðalÞ¼™“ɤ‡é`š&/[¶ «V­Âo¼ÁùÈGpðàAüû¿ÿ;|Ä0àp8̃ƒƒøå/‰›o¾¹Jâ±ï8 U©z{š^Áñ¡~„CaÖuoºé&üèG?b[±8ðµ}p±XÄ]wÝfæ»îº äÇÜ%óˆ»/‘Hàá‡Æ„ 0þ|&†3§9“ϰD+²Âƒ§¸T)²išÃÌ03 (;FYÜbD£QârF0ˆ`DM4.¸D³jÌõª1îâv5ŠKbø¸— à‚( *  ûÈ:{÷Loµœï®ª~«ºzó·ü~Y`¦»ªN½ç=ç}Îsž#I:ãœLuƒˆX‘Þߺ3Ù kšÆC‡åñãÇó_þò”——û ©ð´iÓøŒ3ÎÀüùóyÖ¬YX¸p!b±<÷h·0ñ‚ ø¦›nʉhÄ{~ã¬#I’±kßN(²Â‰D³fÍâµk×òW_}Å‘HÄÎÚ™™9NcÆŒõÔSùÌ3Ï„,˘3gŽ‹(gÛ( â믿æ·ß~›/½ôRÎÙÞ@kç!VäªÊ¤øPÇ!¨ŠÊ’$ñå—_ÎúÓŸ IÛ ²ýL†a ‰àÌ3ÏÄÀ1{öllÛ¶­ÄÞšn$Á=÷ÜÃÇ{, IJ,s{g§Ò)&+²Êûíe‹åÌ#GŽÄðáÃù¡‡*è ¶‰§O>ù$¦NŠ+®¸‚oºé&~õÕWÑÞÞﺷÄqøæ›oƯýk¤Ò)–HÂÞƒÍHÊÙž$mÉ%—ðŠ+°sçN¶ì"§v«ª*’ÝQÆú yãÆX»v-Ïš5‹3™Üú:Ô~Ea"âîT7Z;ZXQùd®©©aY–ÑÚÑ™l:ÿyâç÷qV…kŸ·âç§È±·†.2BE>‰a^}õUnjjmÓ4©¼¼œ-òÙý¹߀‘“ÝåP(DÀi§ÆwÜqýð‡?äL&C‰d‚ßx÷u äz¡)«e1¨¦?æhz®Mç†nàýû÷ã¹çž#I’L&íäŠÄpii)Y„4‘@áp˜eYÆâŋ鸝X±‘H„$’ø³¯6Ð[¾à@ 7/«epÜøã0hÐ`Øìæ“O>™¯»î:ºè¢‹Ø0 ²˜Ü¶í „<¶§p8ÌD„9sæP$ÁÃ?ÌñxœdYÆ¿W¾‰xw‚%I"s@QqÚ´R0äP(D+V¬Àu×]‡×_ œÉdÈby³a$ÁØÑ!»†k•¢( ¢¹¹™O?ýtúë_ÿŠN8ZVCg¢“ß\ùslghºFCë‡ò䉓©Ý«®ºŠÓé4=õÔSÀV¿°oz&“¡t:í¼I’8C–ezá…øÞ{ï¥+V°ªª$K >Ù´_nÿ2·Ÿ '9{âĹ¾~ išÆº®ÓÉ'ŸÌ¿ýíoqî¹ç’®ël·¬23«ªjŸÈÈzv0M“,D†-tƒ.ºè"Ô××ó=÷܃xmÚI ª‡iéÒ¥ü»ßýŽÞxã 0`e2›ÈI¦iryy9YÊ`Þ@Á vìØA?úÑø‰'ž ï}ï{Ðum­X¶j‚  M×xh]Mž4Y-‹X,ÆsçÎE8ÆÃ?ì@ú‚@¯Â>²,³ÅÀÆSO=…'žx‚Þ~ûmHA–Uþè³éë]_³ªȇ¼ÌœëC5âò£®‰ÅéšN,¨ž>e:e²¼ì™ÀÉÌLýúõÃË/¿Ì+W®Äã?nK³…0‘‡˜M>öE0ä@ €—_~?þ8=õÔSF!”Eáwm‘÷T[[‹ .¸sæÌÁYgÅ™L†2™ {9 BBB¢`Ž$IˆÅb0 ƒf͚ţGÆ5×\ãÄûz^ÈÝ~gPN!¢jŽƒ•„>t–<ã¬ßM˜8‘,h”×|¸çw.õôôxkè\dÔÒ™4í9°V ‹ƒÇ8º¥î ÷ŒfñÿØ5ó|BaµCjº†t&ÆCÉdÐØØˆqãÆÑܹs±oß>jjj‚%‰p8ìÜg,Ãܹs1băAƒhiiÁSO=E×_=®¿þz\xá…èîî!UQðág"Þ“°ê IRЙè@EI9•—Wp2™Äé§ŸN7nÄm·ÝF‘H ¨¨¨@0$[àƒˆÈj•£P(ÄÖÏXQ|þùçøýïOK–,Á?þñTWW#›Í"IaÕ§8S˜r¡Ìm-h¬Bj@…¢(tî¹çâöÛoÇ믿Ž`РAˆD"ðÔb) ÁzvJ¥Rxë­·0þ|ª©©ÁC=„t: EQ°}ÏVÚº{;TK-Œˆ(›Í@ײ\?„Ò™4†ŽáÇcîܹhiiÁ!CÛÛ×·7/ëïö³# ÒÁƒ±páBºå–[pë­·âœsÎAOOŠ,ÓšõkГJ: VI–©£«ýË*QVR†d2I3fÌÀÚµkñ‡?üJJJ0pà@—ííÿX¤2׿ɲLëׯÇm·Ý†ÿûßxå•WPQQMÓ)™êÁëWÛ¶·º„¶ÎV ©o‚¢(…B|öÙgã¶Ûn£·ß~µµµÔÐÐPÌö±Í¾~2™¤¥K—âŠ+®À°aÃèÞ{ïåT*…€À–_ÒŽovÙJmD$!«eah5Ô F*¨Q£ÐÐÐ@sçÎEgg'©ªªÊY÷^Ü8ÛÏÏÁ`{öì¡Ç{ ·Ývî¸ã:ýôÓÑÓ“dE–ðÁúʤÉ&*²B-í-¨ë_GáHétšÏ=÷\¬X±þóŸ©´´ (//'ë]»É:Šb¯;²¡âO?ý¿þõ¯iåÊ•xå•WÈÚüÐÝÓEk6|gÝ[Sj:ºÚÑXßD’,!ÒYg…o¼+W®D]],ÛS(‚0B—p8¶×!ƒAôôô`É’%¸âŠ+h„ ¸óÎ;‘L&P´yÛ&ìÞ·ÇND$g2i°É4°¶©T’ƇþýûcÞ¼yèîî¦ÆÆFTWW# ’]7ŽŸ 뎂Á víÚ…‡züãqÏ=÷àä“O¦d2Y"¬út²YÍáÈ’‚ÖÎP9ÑH™L?ùÉO°téRÜ{ィ¨¨ ÆÆF”””@¸žø®ÅuO¦ibݺu¸ñƱ~ýzüãÿ \²tÅ;°öó(7œ¨p_¾„²(‰¥QÊÓàþjY–1´a¨­•àwñŒKE2™¤‰'¢¥¥>ø ‚Á 1áp¸À¯}þŽ`0H_}õî¹ç¼÷Þ{xî¹ç(”}®M¢ L:Ægœ‡zˆ×­[‡AƒQ}}½÷šÅþ?ˆo¼ñ,X@'žx"®¹ætvv’ØÝâ Ø¾{† ¦Sð%W#"Â'ëÖùžÐm¥¸buÑ^OèA5h·šÙs”Ù®âœÐóõòmYËç“y™OÓ½nè˜rÔ 4©t ÑhmmmüøãÓ{ï½Ç¶ –Gs—³Ù,Y­FNËH*•â‰'ÒUW]…¦¦&ŽÇãˆF¢ôÕίðñçç`G1åÛ0j€¦O;Ñp„3Ù •••ñÇL=övìØP(ÄRá\êíÝL&EQøŒ3ΠŸÿüç¹Ón@Qzwí;¼ÿÐrXödÏ071¨¶ÇO:ž3Zn D$ÁóÏ?Ïÿ÷ÿ‡ŽŽ»¾×ë »ÎZ]]Í—]vrÊ)ÜÕÕUQ‘L÷à÷ß AŒß!&êºã&NÃàúF¤ÒI”””ààÁƒ¼páBZµj+Šr8s±Ù0 J§Ó8úè£qÍ5× ®®Ž‰Å"Qlܶ Ÿnú”Y!{l¦]ÎÃ4}Út‡Â”Éf¸¬¬ kÖ¬¡… b÷îÝl%qEG ÚÿžN§)ð9眃ٳg“u²…"Ë´üÃå|¨­…Yq­=Ã40¤~¦NœŠt&m#,ôì³Ïò«¯¾JñxÜ©k÷rJ3#™LRCCæÎË'tuuu! 8žŒÓ¿ßD’X‘ýBÓ5:á{'ðÀ)•ÎI îÝ» .Äš5k`Ùž‹]]3±ízô¯~õ+TUU¡§§ÑpŸmـϿúœå¼ílpy´œN™z $E‚¦i\VVF+W®ÄO<ÁÍÍÍdÙž‹E%.UUqþùçcÖ¬Y¬i±É,ÉDo}ð6Ú;Û]°¥]ë6xŽ?™Ó™Yp9ž~úizíµ×¸»»[œß@ÅÚq-Ûscc#æÍ›GÇw:;;9¢#ÑAËV-cÉjM±®ëôýc¿ÏµÕµŽŽþîÝ»yáÂ…´víZ±5¯×ëëºÎ†aàØcÅ5×\CœL&)‰âÓÍŸ`ÓÖMeESe6ؤÒh)N™z EaMÓPVV†+Vàé§Ÿ¦ææf¶Dƒú”EÍd2 qá…â§?ý©3T†X¶jwÆ»-wV&¸2ÄMÁÆeÜE9aܪuBÇô)ÓmŠwv,´a\ZZJß|ó /^¼˜6nÜȆa §§‡Ä¶_±?Š™IUU„Ãa(Š‚óÎ;ßÿþ÷¹§§Ç¥ß.ví p„kÊ’æ7ß|“Z[[m¶h-Û4M¶Û&ëëë1oÞ<8p âñ¸8Ù«Óî’X÷îbÓéüNèôÔsé×b-k_,J¿ÚÐpÁg,ù@O@/hOó™-KNK„gtªi˜zÔ4nB&“$I…B$ÉKTêkòS®Nh‡EÅî½;°rÝùçñH"醎Òp ߟr2Âát]‡ªªQ¥—M¥È I° r¶³ÙÕŸ®Â®½{PpX¿B¦œÊ¤0jÈL{4À “MƒA(ŠÂëý°þØŒÎl6 UQ9‘Œcùêå”ʤ-oW› 3`š˜6a ŒL6I– ºlXÏo¿k .eEQiGó6¬þtc{{C±%‚uCGy¤'M9¡`ºQ`ûÃ&›H’宓M’d +×½æýß8¶wéHeÒ;t4Æ™à´ÇXhK_¯|ß}&“¦i¨t&:°|Írd³šÐÄ5oåÄ8nâqX×€L6'. ýÖýaÙÞ&UªŠŠ¯wmÁšÏÖ"ùú»¦k¨*«Ä÷'ÿ’"ÙlâÿÔö°i0åNÂxÿ£w±÷Ðò¥×gÒ™4Æ1cGŽmEQÄŽƒÿÈöí]mX±f4CÏõ¡ r¦`Àd† ÂñßËM´lÏ¡PˆlÂÜaþqvrÑö_íØŒ>_‡P0äÛª”³}œ8ù$(ŠÂ‘”l¬oc{Y–YÓ4d2'`¼»v¶µˆÝsÙQ|N¸xà𢰂ôkn´rñÁ$ÏlÌò­¤‡A(³?o¿[OÒàEü:O Ö½¢(¹¶Õœæî=˜¦‰t:]ÐVí×Þ[œõû?éW¥HϨ8ÍÅψEÛŠr†ñ9‹}i^½`±Ps'«&ODI–±rý*´t´ñÈa# G‘J¥HPÖ)zBò¶yI$‘ª¨ÈhÞ°e¾Úö©j K¬ê£t—ƒ Ñ•LàÍ•ÿÆQ#ŽÂàúF03ÙB~ÂùEÚ6œ ªÈ*Z;ñ'›>Å¡ÖCyÇUð0a" ÑW»·p{¼“&™„в Ö4Íag‹S„zévþMUD Þ±w>þüc˜&³"+¹L‘,.D޶ÊX"¼÷Éû4ªcF4à°q±í‹0Ê}Ÿ]"‰E጖Ƨ_~Ê[¶oEÐBW gÍ(²‚ŽîN¼¹òMš0bªdÛÞųéëÛ¿#Ë2+²Š–ŽƒX·éS´¶µP(bOÏ'ljfa(èz IDAT(â;6S[¼ƒ'ž„²Ò2X¶ço£w`¯gUUA¾Þó5Ö}±`Ø=Þ¹Þ`«}ΖŒ5M“ßýø]Œ:G6 U ض'?±ŽÞ®/IYádªë6}Œ¯wnG0tJ\Ö¸c«…YUT:ØÑÂÿ^ùoL9µjaš¦ÓEàÓºØë¦'K¹dd_Ë>þdã'hïlG0ÇY(ˆ ¹IŸýÚ:Ûiâè‰\ZR -›[÷¼ú>ß¹mOUQ lݽ…×}ñ ˆˆdIvïcÖðYÊíkß¡±ÃÆòð!ÃshV2É–íûôsW‹‘$A‘Uô¤XûÅZìØ½“,Û³Óá#œUEÅ¡ÎCüæûobÂÈ ¨0¦arww7yÖ=Æ~ EV H hÛu?¡Îx§S··ÚÍDž“ÓR,ØÙNxØÓ«.ò¢ØWØ#4FÅ:O쀘J¥¼í½kØÞa/bÛöoËu¿çM¼XÓ4§3G¤òÑY/8œzÚ“ýæ°{‘‚¢mÈ"üÞ[ºï„Žû¾’ïür‡ØN$¶«‰» !°Éq6Ôíy úâ«]_ᛃßÐຮ¯i@i,'zÑÇÄ3W»Z<Çž½»°{ïtuÇ]Hû€ÇvV­:VoXßì@}M=ê D@ ØBÔËÆ’û“a°CíiWó.Þ½7À$fé$ @ a-j­]­x{õÛ8 ƒjѯ¼Yq ¦(²Ø öõž-سw´@@ B‘Á &· @.Å¡€Àæ›Ñ| Ù±}I´²";µßÞ6w{ìê鮿Ô¼ÿN$» ý[#…“ºª éV­_…ºojs¶¯UQ]"$½ý1M†i`_Ë>4ï݃Ýûwƒ åEDì: 9a‹Aê8„e«ßBCM ªmä~åýr™¼èõ‹×OeÓØ±wöìmÆÁöƒär¸}…àÓê¥â‹í_ ùÀTÛÀuPÉ‘D¨ºèæn³œ»’]صgš4£;™¤%ûê7Û΂ º3ÝxçãwÐ0 ƒ BMU H"Á¾lﺧö®6lÿj¶íÞJ)l'^¨Q$åAÞß¶Ë>x Öº¯(¯€"+bí¼ÏwŸÊ¦°½ùkìÙÛŒC‡r¶÷ÛßÄ[‰ ‚Ͼþ {öïÆ ÚÔÕ ¤XÞö}%4ÄÌlš&:{:±kÏì9ÐŒd*Eº'G!SX¹“n©l ï}ò>Vס¾z jkêPT›«ãëç~ë¾ùà|³¯»÷ï,)ùDŽDá7_Ê ÈäÑ*·¯ï„â?òžX{;åÛó}4¸È€”¢¢IžÙíE%\‹ÅÅbˆw±½²˜:œ+I+Vãò+Ú÷uQW•»D8¿ ä¿ì¾u¡BãÔR™6mÿ_íú2INßvß=—P˜lB×sP›³S¡ÿ=â`û!l;„Ï·~‘Gü³®o S‡¢ä¦Kù.T*üœ"+0ÙÄν»i÷¾f¶{ˆ·×Ñj tútJî¼òã…à"Ú>™Nbã¶ÍøjçÖœ’Úd{ ²¤¸`n?ûyá¼€Ķƒ8ÐzŸmùü?´½Ã4 *ùI®ÌɇÁœ·ý޽»°kÿÈ’Ëö‡Ë13t#'8TBì@¼ÂúáNqêUP "‘êÆÛ6Ñ—;·pÛ“_ ݱ½iB74È’BNyGlIò Œœ,«ªªh>ØŒ½‡ö’,Ëü­l/Öòu-?¥Ñö­‚¡ÚìÚ[TE…iØþÍNìÚ·ÇÑòÿ6ë.g{ !¨„òú>(£‹°K9ÛÇ“ |þõFlÞñÕ¶îmÛ˪«´Vpm/ªB{[öa_Ë~(_åZ }ǽÂÁº‘ÓPPµ¨Ÿ{ïÛOG w¶Dñ`ümƒZo×u©×2nŸ¶ñ{Fo pw¿QŸÏ×—Êêa]¨¥_PWŠ,›WîËwõŠ’¬®¹¹´îœ´à¿ç4ª9›–¨e@èJ´Ç€ö’¥q/ð{NÒU °KÊ’ú¾¶5ÄV¿.‹ëÓ…š÷^¥.{D©×¡œñù¯t- &H¨ªçCŒ>ÚW\ϯ›y¸!âÉÜ]Oc›á`÷€úؾ˜Í]ÿ›³}0ßËJð×—,<°1¬ÀꪑÚ¾×5 ËŠq¸œ}:÷uÀœ$T•}lØ´–í]Á\„öœë³ÎdIæüÌrx:xz_óìK)˜W ò&¶ ùc£°UEõ[÷}³\uì@ ïv¦âkT„Êí®Ÿuß×3» WU xmÏÅédî,K%Ög{õsx†€X¶ÄF]Ÿ[ï…ÝÉA•Õ‘¦Üës»áYYÛ-Û}ø9“‡ Ç®uÂ"òê@ó6ᣈF¹÷ïž¡$¿ã)cüÝS×}Œ‹O—Ÿª­¢·{-V–.–ˆ¥¿ë{gÄ‹±È£lè}¦üš¶°‚wÞñm^¸Û³Í:¿ç@5ìù>b?‚ òp$d¹$ÀÌùq|~cù8Ÿ&±Plf0Ù·g«Ç´Š&qµ ˆz '6a/_~!ûºtÆžÏs~DŸý{yئ å~7–(X<ˆä:Ù±+¸µIç}ÂENñføùÑ·$–Fœq·¹H#Î!tÆ*Š×µ>ë}y{YZòÎï±«Ô ~·'-/Ñí5ü ÷`o~$õC!/^¼—Ø÷“«,çß•§LUxÍâ%—ï8ã*­ûô p¢íÉesxÆ+ºßy$}µá»|ŽOŽ­ÄuèŒýGx§BF¸7:“”ûðs¸¯AŽÜù·÷s4Zè§>~î^·[j¿¥Ÿ³¸ ljós&{4uÎé…Ræ·ñsq-Úû\_~.Ü›w_kìùfc¶º©P€VQ±ÿõÄ›ñ"_E0ïs{÷ò ¶¾#]Eòþž†¿ØiÞ{ q†+ù<'üîÉç¹]?;ìºçBÜË© ®ìŒ…Œ‰QÀÖöœÀÝ'vw¨å¢Nê¹àkp# V 8ßrá¹ó[v²ÒŸ9[ŽÐÊa– B=‰=a¢ÐÖžS‰°ÑåÉ#9ÁŽOìÖxZ§4áBP@޲¯œ#¹2rö|¯˜iÛ6u_Ë·äžÂä›E u:ä€Ùªû_Ìo„nßïgO˜r£¶ÎzfäO"x×þ7?¤Éåäéúo{vkܤ½¯’ðL½!Qäêd¿“¤3¡ÈôCç>~n£ÎûôC‡ò÷÷ŸççßÊÏý~Þ ’áWËæ>P?*ò»~'t?´ÍOµ·:AÄzkõ.¸ÿbH‚çÎEÊ ¾ëLé£òQqÍs~,÷B‡uÿLÜt&þÂYîszÞÅz®«%.ge¡öI‚²‘kÐFQªH@Cá kίq·3³ÝWïê×ôf°ž|<Ð%‰˜—¹»IáPwÍ>ísÉÆ÷úä_µ·ŸO$L -Ul%œn)²„¥|Ö†›dçLh"WÉCΧ ’»Ž°‰:'*¨¹úÓs(ÿÞìßsZkó›ùÖP=к·Õ[§‚ë@Ž_øœzœÒeÎ#2ä¼ ¿:›˜lxœ?ÿ3wÊNBBàlêŽÅ—% IúÎÏ¿óóÃñóÂøéäã¹//NæRFë-Vy iE:ȧ4C~ÁØ«Ð&ÈÃQoµ|H\d¥|V¼O¯ú)µ>•+¡õQã*bÒ'¹ÀÓ6âLÜA>³WA–a†Øûr¼cT½Îè‚’ØÞG|Él¶Ö°øYoƒ†—ÈÇ-1THqp6f/¹§ –ä ®f;0%{/BpO!̬Ø?—,`G’ë¤ÊþygaýÒÙL¼kÀû9XÒLîS9¥çDÆÄ.Ö¬½:6÷Ž£Ùv°m-2ní.¡ r½O‡è²ùûîwâ Ûp‹Å “ó#ØU'Ó{öø»¦[¹Ú§P”^_ïÂ5 =ä<¯[ÓZ ´‰ƒ•PL"æ;?ÿÎÏ¿Ÿ{Nî½Íôö¢%¢ö»'z5⽚ù¾ãG‹ÊùÛå ̱uG„gbŸï`¿I¨½±â½ZüÅÚÖŠ gñÂ)¾?÷¹Qq;™´P»RtR++f§ï¹áFçD¸ÊÙ˜²W…бw=‚˹ ^¯s•…äíÏ$„“' ¾!Óo*ºÎIÑßþΨç³î ‘¯ làŽ½Ä çlÜþ•.<( ×ýPþ^Y8Æ1RLÞ&ÖÐÑ>â©ÃêwwAÎAÕ; 2jÒæ‚~Y†«,@¦äïÃ#ðHÈ“åòvt¯ì|{&ÛïT„Ò|O¨y  uº‚]Þ¡ HO…>ÁL<Ͳmq­1XL|Ø[~pÂRÄw~þŸ¶Ÿû{#ÌroÕUî ìžY0¦ÈÏÙ/žùÀÛâ÷‹Ãoø0Zñ…Ã`Š&BbÂ(Nðt~Ö+ä.4ñczÜ á>¡ ÂEóp¡ØËèßrá@^>597tæ¢ÂXðK.r`Q[ÊÑË>²çâŸA¹‰1n=cÀ ñæUî@.ˆOp.{9íŸ ™wá`xܲúÄIØxÜÄ.òHí«Ü55ÁÈaV³ð˜^Gcz!!ãBÝœ àHkÊÉœ’÷Æ}Û<±×”‹ÈG.;¹ibvë¶Øp¾Ø–#Èbø´bQ¶‚—}+–œŽ¢¸ìàî(‹µOgБ“²ë¥šè³°ªO^ØÛSnŠ€žÿ;?ÿÎÏ¿•Ÿû½Š@Þ^µÐ"4äì+Ûê™3^L)ŽŠ$T„P°¶ü¹GÛµW¥R_üËçŠàeί#ÅQ±‚¼èµEÄisÃS`ùÈujñj Äf„Ë®Z\Ží®_å3{ñÄÒ›1 êJ^Ö+‹hÝ ýÃ,Ôô 6O¶Í.e*&.ø^wm5_‹àN»Öè=ä¯Ì~ÅõÜì­þæO4öã§ôç¼&û„DÎÉÓ ’4GR–ß{†cÛv`¡]À•€² fžwéz×â{@žE–—£E!D賩»ÉE䨖 N‡ùçq©`yî…}êùä"ŠõLeù 6Röˆ‰8þç…ºýZ ¿óóïü¼O?V¶;<|¬¢uiÊUè{…ÌE"žçd^ŒøÝ!¼¯kùÅÈ¢bC¢ßz†¶”D…»b÷á×¶æÍœJ~‘,ˆ<Åw»Ž•Z©«]ÅiM!w›Š3–Í“@9ßË[¼­P⩃|&¿¹ÛäÄf 8Á…<ÇòfËÚìàlú$´ÜùØWÈä …mö&Aî;>kw;¸÷\'œÂ=— ÚY\¨Šûôá:‰¢B›…ÀÍ·[å\aáYïWÉTØÂÄ®ïpµÏØAßYœ?±ˆ¨«å‹] 1Åe~'ïIP´—Óš”;q‹ï"ÿ® ýÈñïºò9é‰-nBG‹—‰ç:¡çßuë…>èm9ó¶òX›pÞ×ÁÞcº+š~ççßùù·õsÏó¬AA­Bn;ÚmnîåÁ"›S+ G y®uZw“´„×µæ˜Äú¬ØÌö÷x}ÊYž¿Ps̯òø¡°<°½XfA¸)¿ÆÙ#4Ã…ïÐj{rù¹ïÚ#€÷Ÿçç‡éçžS²«öì#‚ÄEZ²ØÛ%œfíωZñ\ätÍ~d3ïšó£ŠÙ'iûZžö;ö‹“>ívâï%zÉööÝl‘®>jè(6Y¦è?û,N/3Øãxî„øßþ‹¦è¢önÆ~L]¯øJQ&'lb…ä«"Ò¤~1+÷lH…SŠz©—ës‘ œ| /Å„N &%ç¿“à#õ(rDÙP_‚ˆPSö¾—:™?—¼° lÒ (æ:ñ˜ðgS/h¡8“LÂõÜílžùÒE:— }ŪӋ‹(F®û&a½åO*BµNZ}ú¹¸|ççßùùáûy?ì µöÖ¹;—`-ôó"?óþ§èÚ*.Kž4¼ˆBÿ¢xw»ooÒÑÇ”7GX¦/54ߟQËbÏ÷SQBD¡"—×Ù ®íëpp©É¹Üé]Fq¤˜¼×÷%iyITBŸfž(H…p’¨EnvaZ]‘ ãn¨ûD]ý3L^ˆN„&-"‹§Ì}Ùý¾^Z ÁuŠâN˽يjh…ÎËžÍÞTsS\„1qÓ"û±©pS„`•W§#)Ž,AfA{¥1ýzÁ ”¬|ˆgìz?ù¾˜$Ž7cqç‚J¡L¸AãœÍ$±>êYf^½wßYßùùw~~¸~îZ³ž:°ŸÚ›3ðÅM’£^J½~ñÈ/¸ú‘¼É›D‹iÞàê ¼Žšœ‹xkýžçþ\ä<ï}ûÔø]?t‘=?V௠G†`A£|‘¼Ò­Ü”g d™¼†„5€L6Ýó' ´SL•$ ²$çgE³M®d…HÄ‹µ²m“™ ]ƒÉ&³éšþÇ„ v %,‘YQ Áæ}°(aQ@HqT¸,ºˆíŒ†iaN/¢Ò”(â¼xY’Y–X¬7;ØS.q¡"Ó+o{˜ÖÃû7X<ˆ%I"Y–Y–d×F rH„}=¦I†¡³É&±ÉÞÝÌ}?–o‘3fUxT²[’D‘×ç993Ã4`F~Ü(õ2æÕÚ‰²,C–/CØ#~逸yæå¨É¹a0¦i²É¦(]RèS‚0$I¬È $I"ÙŒ=?ê6w’"~4é†aÝùH玵N£dé¶»ˆI~~.è\ð–íɲ={Ö}a*#®{Y†"+^n·¯Ÿ» v=›MfºN&[ëÞè¼ëÎ!lж'g>†¿ŸÃ%†AG°Ö™lÂZ÷…Éu­Jºu}ȇìjÙs<„ÌÊÜëžÛO­÷)‘D’,Á™àÐù}üÜœvr=£Og”„@å;vU…êA½É{£M˜õŽ5…‡ß ±Ž 0xÁoü¦’Â_ØÆ?vúÛÅ›p/ØNQ–{»°/¡ÇÁÅ—ïÊ@5]P‰¡®º%ÑrŽE£}õ%‚™Y×uŠ'ã|¨õµ´„¦P5¿œ}t„q€¬¦AUeT•÷GMÿŽEJ …ú‚€À&#M£³»ûîEW"nÍW{c=:í3DĆiÂÐ DB! ìW‡ÊŠ*DÃQ¨ªŠ‚ñƒîç'C78™M¢¥½}ƒT&kÙek¿²š½À4]gI"ÄÂ1Ô×Ô¡$RFÑœí{]Ä̹il]É.j9„–öCÐ ƒ­gw3Ô¹àù¿dµ,TUFuyTWÕ $\ÊÁP½­Alš&2Ù :º;yÿoÐÕP¬2.%+pA›`&¦A‘p ýêѯ¢?¢á(«ŠZ’´7bÝ@2“DK{ ö·ìE:“eY–!“ìÄ-6¸Ë/4]‡$J"%¨¯©C,\ íýŠ 9Ûk9Û8´m­Ð 37ù¢(‰+@§NÝRÓu ©‚êÊêܘW÷ˆÝâc^ Él’w~³­mm¹Ãæãïçâé%7IÐäh8Œ•¹¢¼?b‘hn8|%@V×uô¤{ÐÚÑŠý‡ö"“ÕØÆSÜÏ=ù±¦i,ÉJ#¥¨¯©C4RŠX$Úçd0fF6›åx*Ž÷£½«mÛûùy¡ ̦5MNÁ€~Õ¨ê_ñp ¡PȯîîÚÄ Ã@&›A[¼íE¢»d%ìɃŲƒÐtóIÑp*PQV‰X$I–Š+û®ëèNuskG+´ì#Áö½úy¾GA²UdÈ—'!óI.ܧÞMž»H×ǽ5xG<Æ;œÅ'P¤´à娉‡ ßùêEîÅ÷;ô¾¬{ë£Þ~ß©åç˜C×uªêW‰1GŒEMÿ ’Àlæ\ªÜ·Ä@3l â‰8¾Ü± Û›wAÊe±nžO^#Ü9Q†#‡ ǰÆ#QQRÃ4è0j—.쯑1áÈ Øwh/6mß„ƒ­-Z£“1zà[""M× …1rØ4 Jª¢Âd³re; 4Ùl;¿ÙŽÛ6S6›…¢(¹„ž]œjG­©¬¢ÑGŒEMe ¡ :œ÷  Ä@Œ6–ºâ]ؼc#v6ï†$Iö©±`R“ýîM6a&F6‰¡GPy¬ÌÏö½®'`Û~ïÁo°yû&jkE0 vÙ?o{ ±p#‡DãÀ!¤Ê*L6ûc… ôðÁÑÉd±ã›m´iÛfhºE– ¾Ã[ÇÔtµUÕ=|,ª+«½¢7t8ïÝ^÷]ñ.lÚþíÚÛ Y’!I€ ¾ã궃‚,É8êÈ1>x8Á€ß³÷½0¬aÚ:ZñÑÆ¨­£CX÷°§ôlš¦¡$ËÙ¾~ˆ3rö0Ö¼ ?²ñH¤3ÚÑü56mû2÷\²ìòskD‹X¾®ë¨«®¥QGŒAUE•hûÃ+/ZÉØacÑÙÕ‰MÛ¿Àî}ß@ÉÍ=w©:Ò±–I``ÌðQÔ4h8J£%0Lãð×õ·!B5 Íûö`ÓöMÔÞÕ€êÚsD„ʱVÓP+Á¨a£0¨¾‘dIòóùb×wbôˆ¦H§ÒØÖ¼•6oûʶ½¯4¬øéÞìì×ïí…µ}˜è|o%áÞ5¿ïõ©ÙS±ë þ~µxÏÏÈ/`û´¢Qe+UØ{y©Ü i{™»ìzÁÌŒ¬–¥qGŒáÑGŒYÙ_,C.»?©tŠB¡¾7v2××Ôcõú`˜†}ZuÃ膀¢àøIÓPWÓ€¬–nèˆF£½=s1‰îjú@Mÿøl˧ørû¨JÀ[¡tœ<«i< ² S'‡P0M×@Q$ù©LîÚº®#«eqdÓHª­®ç?û€ZÚÛPƒnRºÊjYL1ŽFù£!VƒDõñøÙ…R©‡Ãa;n*ê«ë±fÃj2M°$I®éOö=膎 À´£§b@u=eµ 릎h$Ztíôv?‰DµÕµPU‹ _~L[vncÛö.xÙZ~Y-ËuU0eÂ4Ahº) !–½Å?š¦iÀÈ¡£¹®ºk6|€¶ÎNgsõ#¼e5 “F…#›FåN‹º†’X Š@‹½ÞG2™D4¥)GÇõÕ;ñágk`š2$‰¼:îl#"ýbe˜2é8T”U MÃd‘Hä°ý\üY"‘@Yi9MŸz*²é#lÛ½Ã^÷NR!öcg´,jê0ù¨i¨jÎöA !5„o±îs‡¦AÒ£‡Emu=ÖlXE]qv›w³µÎ¿7z"†5ŽÃ´÷_1¬¾ü ™L"‹aê„ãPWµÖ~ñ)¼˜üs4]C4Á´IÓ¨ª_5g²lˆ¶?ÜuGÌÌÝÝÝ4°¶µ5u¼nãZìhÞU º>'ö­g²Y ®ˆcÇO…"ˤ:¨ªzX~.þN6›…$K4öˆñ\WUÕV!ÞÝ“¹Lº$”*½uoö:2à½'e*© uqö#°13JJJ Ù M~ND¤ë:‰ëºÞ+©ÍObÙ'!ñƒâ làSK/¦þøc,Y²ñxœmdÇëçÞ ¯´´”f̘cŽ9†{zz¨4VÊ';Ë×,C¢'iŸÔQ“\™Æ ÉãŽÅ±èÓ{ IDATð!G I# 1üýïÇG}d۾ˆ „Y³fqÿþý©§§‡›EQ±zýjbÈœ'6æ˜`¦ir4¦L=‘PY-K¥¥¥øæ›oxá?ÒÎ;Ù'XœÐ˜S¦LÁYg•[ Y“&ŸÆŠ,cëή²‰­EÕ²4t`#&O˜šC(--¥?üÿõ¯¡»»}È,Ë())ÁŒ30iÒ$ôôôPyiŸçw~ó›ß »»5ýÐÄÑßÇŸ­¬,²OÎP¦©Ó1GÏU•UH¥SˆÅbxúé§qß}÷áôÓOÇ™gžIýû÷÷ƒ> * ÍÍÍxõÕWéþûïǽ÷Þ‹O<ÝÝÝ4îÈ hïê¢}‡öÁ!¯X #ŽbÚ¤ã‰hΜ9زe .ºè"üà?@II LÓ,j_kÅ—_~‰ßýîw¨¨¨ÀÃ?Œòòrb“1uÂñx{õ[ÈjH µ††¦CiÌ‘c‘L%QRR‚O?ýW_}5pÎ9ç`èС6Öb›‰½ûî»8óÌ31sæLÜtÓMÖi¹G˜ˆ7~DjÎö€³HM;~*+ú!•N#‹áÑGÅ#<‚3Ï<“Î:ë,TVVöµ;ÌÑææf,Y²÷ÝwÝÿý˜ÂË/¿ŒŠŠ ¤R)ûZ‹0 !N@s²,s(ÂÖ­[qá…âšk®ÁìÙ³ÑÓÓƒxwÞ^ó6™FÞ.š®aòøchØà#fõ©§žŠ3fà–[n!Ó49N;Ϫªªãh¦i"N‹‹•ƒÁ EÁßþö7Üu×]´lÙ2®¨¨ ‰$lÚþoØü¹ÿš¦ E‘éŒ~ÄŠ¢ ÓªU«øòË/Ç3Ï<ƒ)S¦ N;L{UU)°÷Ú"Œ‰DH×už7ožóN‰)²Âÿ^ý&:;ã-²nè8 'L:ɱýõ×_O[·nåE‹¡´´Ô±=3“$I‡]úÊétš ÃpXΡP›6mÂE]„[o½?ùÉO(Ù“äŽx;–¯Ynm¦d3ŠiÊQ“1¤¾‰Mäžgúôé˜9s&®½öÚá(“qlÈÁ‘6ׂ2™ ‹DËöôÄOàÁä·ß~Ñh²¤àó­ëñÅ–M.Û«ª‚x&ˆÑho½õ®½öZ<ÿüó˜4iÒétŽñlš … iš“©ƒAd³Y‰DÐÓÓƒyóæQ4å'Ÿ|‰D²$ãÍU¯#ÑÝã$fš®ñ¨Æ8jìD¤3i”—•ãÊ+¯ÄÁƒñ·¿ý Ñh©T †a8T†ƒ‰È¹?"bEQ ±aÃÌš5‹î¼óNž1c’=I´v¶àµï€I a|ÜÄih¨’ñxÓ§OÇå—_Ž+®¸º®#“É€™!Ë2$I‚¦iŽØ$L{Ó ¬ª*zè!<ýôÓX¾|9TU%UVùÓ/×aó¶-¨ª³Ù*~t™`0b±þõ¯áÖ[oÅ‹/¾ˆqãÆ‘õllš&B¡Y¶öEjlÛÇãq\rÉ%¨««ÃC=D‰D‚%"¼±ê ôô$îM×0tP&Ÿ‚t&²²2ºôÒK9Nã©§ž‚µ·À^×ÅÐN›0yà 7ÐÝwßÍ}ôÍž=÷ß?OŸ>éTÚöã½Þw•ÎL6è„£OàÚª:ÈŠŒÖÖVœvÚitíµ×ò¥—^ ]×)“Éø‘Î\'Çh4Êçwn¿ývŒ5 ÷ÜsýýïçåË—çüE à£MkñõÎmôîj1cˆ’¶¨LŸ2²Z–½µcÏp?r‰»XZsµ ÉPww7®¼òJ\uÕU8óÌ3íõî|o4Å<@¡Pˆß{ï=,Z´===Îý[{1/X°xðÁÑÚÚ I’ õ"Óþ|ïß®áu/r㵉‡?ÀÁ€jñ˜?öXô«ëb‚Á©—.~µEt]£¦ÚF”Dsõ‹ÎÎN\qÅøç?ÿ‰cŽ9xê©§¨¢¢?üáé h4 ]·ÚÙrÁœ2™ ^zé%@ñxœÒé4.\ˆòòrºýöÛ©¤¤ ¦#a˜ºs說Ә¡c ›:¢Ñ(-^¼«V­Â²eË‹Å(“¦i¹ö-ÓD6›E,ÃÚµk‹Å i Ãpý<cذaX¾|9Ý{ï½Ø´iP¿²JÔUÕÂ0 ç”\ŽRcýP¤3i„Ãaºêª«pî¹çÒ-·Ü‚D"îîn²¿?ÒÎ;ñôÓOãùçŸÇ|@±X º®“d’É$% üìg?Ãí·ßŽ™3g" A7t t$E#a0Û¬f C뛉D¡( :„«¯¾š–.]J“'Ov=»¢(صkžþy<ÿüóX½z5ìkÛ÷§ë:âñ84MÃ3Ï<f¦{ï½—JJJ€F7Èpda˜3t,éfŽ+±hÑ"Ú¸q#^}õU„B!²¾ËAc’É$½òÊ+xá…ðÒK/á™gžÁþýû!I ¶§Ñ£Gã­·ÞÂÿøGlÛ¶ &›¨,ï†Úz˜¦é,úŠh)Õ6"M# âòË/§9sæÐµ×^‹D"žž; "‰`Ë–-ô¿ÿû¿xî¹ç°nÝ:³ýe—]†›nº‰.¾øbŠD"¤Ž<’"á`zd†¦eqDÃp CÐÜÜL ,À²eË0aÂÇŽ¹À¯bóæÍH&“dEÁgŸ}F†a8¶7 ƒâñ8àÅ_DGG}ôQ”””€ˆhì°±äè’1C’Ã›Ž„¦iT+¡'Ÿ|ÍÍÍøç?ÿIŠ¢Ø¶wG]×!Ë2-Z´ˆ–-[†gžy---$ÉI|âñ8uÔQxóÍ7qË-·Ðž={È0 T÷«A]u-ÙëÞdýK*0p@2Ù EÁܹsqÍ5×ÐW\x»ýnb±²Ù,õôôÐ 7Ü€Y³fÑܹsQRRBº¡cdãHH$Ç„FN6Fʼn^Åú¯©ÏÝþ:;xZkW_}5Î<óLtuu‰û¼³öˆBfµô‘½æ»»»éî»ï¦`0H×_=êëëÉ'¸e‹û1^/=½ö½Ð©³¿@úµàâ Ú=«‚¦¬¨g[¬ÈO’$£¦5™lR0Äc=F3fÌÀ˜1c(S  êêj,Y²„-Z„aÆÁ£Áë‚܉¦¡§§wÝu–.]Š}ûö‘É&*ÊÊQ-É&™¦I¥±R”ÄJœºÈ_þòzä‘G¨§§‡R©”ËP¦i¢¢¢=ô=òÈ#ôòË/£¼¼^ {"¢îîn*++Ão~óúÃþ@Ñh¦iR}u½óì¦i ¦ dE‚ªª´nÝ:ìÚµ‹,X€îînª!Y–i×®]¸ë®»ÐÞÞNû÷ï§^x¯½öÅb1ïÂ¥ŽŽ:÷ÜsQ__O/½ôb±TUEãÀ¡Ðôl.K•eT÷¯†¡ë éÁÄE]„áÇ#‘H¸¾/ ÑŸþô'¼ûî»8pà-Z„·ß~Û®5¥i%“Iº÷Þ{ñ÷¿ÿ---Ð 5U¨4V‘sÓ¤²Ò2Ä¢1²¦|<ò‰¥Ói¬®ª*Ö¯_ßýîwèìì¤Ý»wÓöíÛ‘J¥H€¤‰ˆÇ©ººšn¼ñFüñD,#Ã0hèà#–»išTÓ¿’LPU•>øàjkkÃUW]eÛžì,WQlÙ²…î»ï>´µµÑÁƒéé§ŸÆŠ+ì««†ÕÑÑ™3g¢¤¤K–,A$¡@0ˆAuMÐtÍ~ªª¬Ê‘1ºï¾ûpÙe—QCCuww“Hæ …BtË-·Ð¾}û`Õêéç?ÿ¹hE0M“Òé4î»ï>zöÙg©³³“4MCý€”ÆÊÈdº¡c@e-…Ba’e===X¸p!{ì1Äãqd2™‚$ÝÞ{zzð³ŸýŒ¶nÝJ===Â*²mâ—¿ü%î¸ã”””a4¼ñH˜¦I¹{dÔTÕI„@ @+V¬ MÓhΜ9H$$HkR0¤>ø .D8ÑüùóÓ©ØÚdš&:::hÞ¼y`f¼ùæ›…B …¨¡v°ÍA@  ¿þ¤©ªJ÷Üs~õ«_¡¦¦†’ɤ+h„B!ºîºëÐÞÞ^àçž½,Ô÷ß?=öØcH¥R”Íf©~@¢á˜u€0¨¢¬‘0I’ŒÎÎNzöÙgñÈ# ««‹²Ù, §H ƒ$¢ƒ2UVV’…ZQ<GSSæÍ›‡;ï¼¥¥¥0ÙİÆ#mæ<™lÒ€êå§7Þx‘H^x¡m{êmævË]€ñ;;;qõÕW£««‹Þ{ï=‚ …ÂÔ¿"·Î}v>i >Qv»hoWL)¦õŽBÑrudzzz°oß>:ýôÓ)“pª&¯¼_íݳæpß}÷aÆ ´~ýz‡³ Æ?ÏòÄFò94ŠOQó‹±jtÅžã°(æÅfÇ#.ØÌ,EQPVÖíŒèÝwßå‹/¾Ùl–‰¡PË—/ÇŽ;ðúë¯ã믿F8v%@555 8Óîm­¬¬Ä¤I“ðÎ;ï@UUDBDCQ°™Q(-)‡ªX–e¬_¿ÕÕÕwttàüóÏÇž={øàÁƒ ‰¸²¼Ò‘M4 ý+k`¹àK/½„‹/¾ØÉŠ=¶å-[¶  aÁ‚|ÓM7ñùçŸÖÖVöc}*Š‚l6‹¹sçòk¯½–û>J#ùZ¼¢¨(+©€¦k¬ë:>üðCüô§?…M@ôȲ,˸ùæ›qã7báÂ…¸ýöÛsÁ:ÏòtêWº®cÀ€5jV®\ UURCT`0›¦Áe¥s¼^»v-† ‚¦¦&ßš-3#“Éà²Ë.Ã/~ñ ÜrË-¸ãŽ;ÐÔÔÄ"jÛ¾½½3gÎÄ–-[ÐÞÞ’‰K#%N¸É&*+«]¶Ÿ3gŽsòrzg)'T´}ûvîׯ,X€o¼‘xàŒ7VâᲿ,ËÐu—\r –.]jõàæt 6,Ø8€’’2躆t: 6àüóÏ·ËN/«mÿÒÒRnhh€´ÖÖÖúµÈ0Îf³4h2~ø!Ô€ EQrüΉ—”ÆJ!KV®\‰Ñ£G£¾¾Þ—TcÃÞÙlóçÏǤI“ðç?ÿõõõlÁà.?oooÇìÙ³ñùçŸ#ƒˆP)Í÷f•ýªÙ0 „Ãa~饗`—hüd<EÁСCçw¿øâ‹¨®®v xñ~mòê¬Y³°téRH’ÄB,Ë D1#¢$VÆFŽ¥Œ-[¶àÇ?þ1R©”ïì슊 ›{áë炟p&“Á°aÃxÀ€øøã¡T„ƒa§/Ý0 T”WB" Á`Ë—/ÇÑGªª*ˆýË’$áСC¼yóf{_+`h—––BUUüÏÿüJKK:::p饗bݺuèééÉ‘Ý"¥×Se¿j¦P(„—_~—]v™XÎáÞ¤Rm?÷ úv7Ò\ÀK—.EN`J⊒r˜¦áš‰îô¡ûHÈa±ûj·û܇Ÿö»ë”^YY‰Ç¿üå/s6r—ÙF2Äï9[âÉßöwI’0sæLÞ»woAW–÷÷½½í(&b]œ1ÏðÌŒïm|Á{ê#H‹ú|˜"3ö0&"Ž„"`0Û×СC‘ÍfíZ5Ï;×¹æoû[ŽÈ}$Áúõë1~üx¬Y³†g̘’’iüøñH¥R,IdYœ«È} äˆPtuuaĈ$ÉõLöìÝu×]Çétÿýßÿßÿþ÷ð:œmI’X×už0aÚÚÚ8Wë Áj[cfF4uö¹®®.}ôÑœL&ÅÍœ™s¶9餓 …0räH<óÌ38å”SxöìÙ°¡VÏ¢fÃ0PUU…þýûÛ§.—È’Œp(lŸô8cðàÁl;·w‚]éîîvjL®6ļö±³&L˜€žžžÜ†(Ìd2ÙD(rDo:;;yÔ¨Qìèº~ee%~ÿûßãŒ3Îà©S§r2™´“×°kCd]×qÔQG¡½½%’\‹Üd“cá˜ÝoÍñxœ'MšÄ===®Cöæ`eÝ €8€ŽŽQl¨`͆ ¼¼\´§3PC–dÂl “”––rmm-ëºîW»ä²²2wÜq|òÉ'ó~ô#^½z5G£Q_! ûï'Näx<Ί’ú¿È²ì¼£ŽŽ3f <‚ì!9¿ÿÿÙ{óø¨êsüýœef2Éd#!, Â"«ì‚(¨¸ u©Òº·U[k‹·¢¢ÔªßëÕ*ÖZµÖ¶Ö…jk­½Öë†ZÅ¥WÅ A–,“d23g{~Ì9g>çÌ9“xÿš¾(’dÎò|>Ïó|žíý6 ƒÛÛÛÇugÄÌž‚H¬¯²ïm½{ûý 0Ï»û[pÿ:I’„îînÜtÓMøûßÿŽO>ùÿõ_ÿ…7Blu²‡Æœ9süûŠí{?ZŸßæˆ2 IãztR¬7Èžrïä'ú:óR½e z#P ²Åì¥ó³×_‰Dš¦¡ÿþX¹r%dYv ¡ïFÆÓ—}ULWz“¨ËEœ}*‹ºÃwÁ@¿ˆ©Ìȶ)·A-ËÂW_}åD½èèèÀÏþs\vÙe¸÷Þ{ù’K.=— H¥RX¸p!3¦iâÞ{ïeffAéyÍš5\^^Ó4Ydþ!"˜V~qª««yóæÍî‚å+ &Nœˆ1cÆ`„ E ›“ªüüóÏQ[[›wn‚15 ýGmm-øá‡(++óS.B–e¬Y³†o»í6H’„%K–àꫯÆC=„X,ÆBTÉbšôÀhooçX,æ¥aDˆÜýöíÛ!d@ DMM œš}:v²að¿üé§Ÿree%›¦Y°lÙ³“[¿~=eöà ‘[šÑñ»"lID„uëÖ¹²÷³‚‰Yœ~ýúá£>òÈ^t}v†°dÉ<ùä“§<Äì€&æææfîîîF$‡nÔ‘}®®É‘H©T ÍÍÍPU5Tiu]wRÜ…ï ÿO>ùUUU¹=&®=ÁÝã–eqmm-¯[·Îiš*X{g4ËNë²0õáF ú† PSSm˜ù(§ªªÊm2 ŠÔTUE6›Å£>Ê—^z)Z[[Fý‘‹kƒTUå]»v!“ɸÎßg°Ù2sò‹Åbèèèà––ÏAÁokkkQQQòòr”——÷zX½z5úõëǶ‰å(ÓÈé‚-{¬Y³Æ„(ŠÂ“&MBcc#jkk1uêT$ ˜¦éÑs]×qÜqÇá /DGG‡k€u]çÍ›7£_¿~ùÈS©i¸ÎžËËËù“O>qeï¨DêQÿ>K§ÓX¶l]šPEQxÛ¶m.Rœ»‡@\p˜÷&BBSéE N–¡*Ђl6‹Q£FñîÝ»!ŒEzÒó©T =ö®»î:}ôÑøõ¯Í‹-3³ªª,ôo°eåJ9­­­¨®®æÀ„‹@BÊ A"Ùwì+üÌqèaDô…$÷¾F„®Û3¡dZ&utw,ÉÄÌ8õÔSéÏþ3TU%{T‰Pww7µ¶¶’¦iî÷œUUiñâÅTZZJ—\r éºNŽ“jii¡uëÖщ'žHº®SFÏPFËä H¢ÎT'i†F¦ibòäÉÔÑÑAk×®¥H$HßÓÓƒÓO?Î<óLúÎw¾ã.<ÍÎ窫«éñǧ1cÆPMM ±É”L%Ýß—$ G:Ž}*§‹.ºˆþö·¿‘=þ朴ÈiÆihh íÛ·ãÚk¯¥k®¹†þû¿ÿ›.\Hv³‰ò6M“"‘zè!Z¸p¡CÎBš¡¹@Ã4(Ù„ª¨$Ë2Í;ùË_üïî®#3ãꫯ¦k¯½]tî¹çª®®&Ûz5"‘íÙ³‡¶nÝJÇHñx<èÞ”ÉdhÀ€4cÆ |ûÛߦ_þò—N³*I’äi@³m=úè£T]]]ð¼¢óï?–FØ;ú÷d@óùŸËgŸuæ­“§LA:F{{;>üèc,\x.Ù3y,„ú2‡ND„L6C{Zö°"+îã膆¨ÅàºzèºF“&MâÛo¿ãÇLj#ÍfF±bÅ ·Éʉ¬œ(tÕªUhhhÀÇŒsÎ9‡<ˆ"âòË/Ç·¾õ-Ì›7MÃÄ‘öÃØ¸m#)²Â’$!•îBC]Jb%â_ýõ¸òÊ+¡ª*iš&6zÑ‚ PRR¦iB×u:ýôÓQRR¾9uTTT`ß¾}X´h~øáÜü¸Áú-ë¨-Ùβ$ƒHBO¦›F5ކaO7XI(//ÇÎ;qÝu×áÑG%"âˆÁ›×Rk²Ým”Êji1dtCçáÇã½÷ÞÆ èä“Of»‡ÃéGMM &Mš„ªª*Œ5 §vMœ8‘S©”S3#'eZQQßÿþ÷ÜÜÜL7ß|3§R)Xlaõº\šMÏ¢,^†µƒ`äd¥K—bîܹ¨¯¯É4Mž3gêêêÜ1±ÓN;ͪÇaXQÄb1ºè¢‹øG?ú¦M›¶˜ÚÇ_íü DÉ’Œd*ÉÃë‡C–eD"TUUáÖ[oÅW\á65Ú™!ÒugŸ}6Àˆ#èÒK/e¡ñGlö ŠŠ lÞ¼™nºé&^¾|9Ì\?Önü IWVºžå¦†‘Ðt #GŽÄ믿Ž={ö`îܹžlˆeYBž]-wXá³O? ‡~ @M „ä+h¹Ï§ZH–ìÙ·‡GMÑX ±X O<ñ.\ˆeË–aáÂ…@ßþö·QWWçx8 0ÇyÅŠ$IŸuÖYtçwâŒ3ÎÀ¸qãðÝï~•••X¼x1:;;Q#´e÷V&H‚ dÚ¼mÌ\¤Óiœzê©X¿~=Íž=ÿøÇ?ÐØØHš¦¹iŒ¦¦&†á¦ç†Ã0Ü$IPU«W¯Æå—_NN'vª;EÉî$ï?ÔY’a³´rWw {öíÆÐ!ÃÐÓÓC÷ÝwŸuÖYX²d Ýu×]PU•ì¦*6 ƒÈõõõ®CËd2,2Á©ª I’è¾ûîÃSO=…•+W¢»»Ь`ûÞíÔѕǶV;›waô°£ É2% ,_¾œ.¸àÜwß}8ãŒ3œYhbf®««Ã AƒÜ”Q6›E,ó(B$A2™¤óÎ;¸âŠ+ÐÙÕ‰ˆÁÆ›aYLŠâ(§„ÍÛ6ÑÌ©ÇrOºgu}ñŘ3g=ýôÓ–iaËŽ-4yüdôôôàüóÏçõë×cÞ¼yô÷¿ÿuuupö½cHæÏŸï8²ÓèWUUñöÛocÑ¢EøÓŸþD555Ȥ3Ü–l£Ý-û`7}‘DÚ::pàà> 0Ùl?ü0æÏŸOÝÝݸùæ›ÑS¶#~Çy8ÀM9\ _=Y–eÜzë­xë­·èõ×_g[ç±qûFt§{(ªF˜APÛvmGÓ‘dq*úw¿û~úéüÈ#`îܹ¢ì1xð`444Àßü夔‰ˆ"‘öïßÏßûÞ÷èøãçsÏ=×õ¡M;¿r.ƒaY ¯¶oâ)§!•JÑ¥—^Šõë×Ó‚ ð׿þ•ûõëGº®s‘ýî±·²,CQ¼öÚk¸æškðÄOPyy9g³Yn?ŒæCû›I’èH[>@µµuÐuË—/Çi§f¦îînniið $d³YÌž=›t]÷wp“cGˆ7Þx#V¯^W_}Éd’¢‘(oÚ± ºn!¢Ê.±ËdQHúÔWƒËKëOÍõÏ9Tç®ë:Î?ÿ|úÙÏ~Ó4ùâ‹/†¦iîÁɶ'(--Egg'Òé49ÑbIS’$ºüòË1pà@ºãŽ;¸¥¥…ì2¤Ÿ2ÕߥVã.€~íU. E2Ù”‹"ŰE褸¨õÜBÓ5 4 ÇN;–²Ù,———c÷îÝX´hLÓÄé§ŸŽÉ“'ò,ø0ÝaY  Ö>è7Þàgžy†®ºê*g®D8´ÿ»ú]D#Q—¨€ƒL3m7@Ó4”——ã…^À­·ÞJ3fÌà¹sç†~한eïÞ½üÚk¯aïÞ½øãÿˆÉ“'£#ÙX´¬y;÷ª²XK,ÆiþœÓ™$@–D£QZºt)¿óÎ;tÆgð„ \è×"]¨”ÍfyóæÍxî¹ç0vìX<ðÀF8“ÑH7²X¹êuÎd5’‘¦k4jÈ(ž>i:²Ù,UTTðÖ­[±hÑ"¨ªŠ PSS Qh¨aéêêâ÷Þ{Þzë-^¼x1®¸âŠœQ“Ú{`¿ûéûˆEby&/–ibÎô¹T7(GJ’HÐ3Ï<ÃwÜq{ì±|üñÇ£¦¦¦O ¿gϼúê«8|ø0~øaŒ7É$Å¢Q~ï“wÐܲD*[˲¨4Çisæ;µW(ŠB×]wüñÇ8óÌ31nÜ8”••Õ¤<0“Ùl–¾üòK<÷Üs˜:u*î½÷^vú²Ù4^_µÒ¦ÎMÏb̰±˜2a ²Ù,***°iÓ&\uÕU(--Åé§ŸŽaƉXö¡F ™LÒ»ï¾Ëï¾û.®¿þzúþ÷¿Ï9°»÷nÇûŸ”“=,‡qÁÀɳNAeeLÓD"‘À“O>‰{î¹Çø¿øÅ/pÁ ³³“TEåm{¶à£uŸ $sÒ³n0tÒ1'Q¿ê~lY•••ñòåËñÀàÄOÄÌ™3Ýx±=oš&öìÙC+V¬àL&C=ö† âönüû÷p°í0Y!‡Â×´Lª,­äS?º¡#‹Á4MZ´h·µµáœsΡ±cDzS_&"´´´øí§Ói¬]»/¾ø"æÍ›GwÞy'çÀg,t§’Xùþ6~}ƒ˜³ Ý÷ BŠ ˆJÃçú¡;NNUU–$ <ðvïÞ³Ï>UUU®±GéŠ+®à_þò—ˆF£nFLQlذ+W®äÓO?—_~¹§·+¬Ù2¬÷",B÷ÍÐs/ºÿ÷ÁÌHqŽC'Á¡óSOýìEkð¤Ü%IbÛ¡#¢F\r ç¾Y-KÓÇOÇØc9£eܔǪU«ðþû†CrfÆ AƒpöÙg£¦¦ÝÝ݈¨tvwðëï¿I¦i°Dˆ™r H¦e²"+8íØÓ¨,Qƺ®S<G6›Å+¯¼‚Í›7³ï$êÐeYæ‰'bÁ‚Ðut]GTð¦›hõºO8ù FH7t ®Ìs¦Î!³i™”H$°k×.¬X±Blxéœ%%%˜?>&L˜‡±ªÈôƇoâPëa¨ŠÊ.O²àd˜Ï?ƒF Qöï¼ó>üðCsÞaNÕ=ŠÖ××ÓÙgŸêêjWömXùþ›ÜÝ„[¤**ŸvìiÇs T¥¥èééÁ+¯¼Â[¶lq²þa$îß²,ÓäÉ“1þ|Ö4 ºn QiÃÖ üÙ†5°eï)iº†ÆA|Ü”ã`r +‘H`ûöíxùå—¹³³S¤3 "jqÿŽÇãX°`ÆŽëó(’„×?xƒÛÚÛHQ”@r–™f¢ih²Z–eYF<ÇÛo¿Õ«WC)FÎÂÌL|Î9ç ¬¬ŒR©G#Q:Ò~o~ð¶wÊÀ¶-¦eRi4ŽS; ªª²aæ˜ÆºººðòË/cûöíÜK²({sÌ14oÞ<Îd2d&"ë¾ZÇk7®£’hÌe¯uî¯é†×ǬI³`r -‘H`Ë–-N”Ç~'‚^ ÌŸ?£Gæ@ŠÄ2þµj%'»:rÍ!²i™4{Òl mŠL6UU¹¤¤o¼ñ}úé§J>Eº$I4dÈœ{Ũ§§‡c‘l=Ào}ôo’HñºÙ.ãp,£ÓfŸ†H4â2K&“I^±bíÚµ«¨žûqŽ=öXž;w.9 ‹Uå5×`ýW_æyÇIÕ³Õ8 3&ÎpƒËÊʰiÓ&þ׿þE]]]\ŒàCüwee%,X€#FÀ®ç3Ø¢½÷:w§ºóü lÛhÀ·23SD°íÐý¶‚|>…ü–}~ ø·³wxß¾}ôÊ+¯p&“q ½ÝCMM ···‹%%%¨¨¨ÀÙgŸÒÒR§ôèf°@Þk ¢l?ùŒðýì¼³¿1Þ‡_ÏшJ‚CgZþè#¡ÃŽÐûÔž/:t'B÷ÓÊéZG™Œ1Mc”kȉÇãݧ!FÅó•N§¡ë:T%‚CíñÎêw`™–gÌI¤õ3LƒcJ„fN™Aý"«g!K9ãúuFœëT*A’dlغ_l^‡ˆ-èfd0å²Y ê?3'Í‚ƒÛ‰DÄYç¢ïë›OE:“FT"•IáÃÏ?DË¡·,ྃ]jp=›Á”qS1zØQ`Êu`—ÆK=ò èØ |Žžt À*GÐÒzï®~×ÍÒ½‹n(F1sòl ¨àÊÞG]Û§÷·,[öv싯¾À†-ë½²wxþìýªiY4 ¨ÇŒ£g!‰@7tD£Ñ¼¼ú ó Ùw§»ñþš÷q¸õ0¢‘¨ÈÆäÙ÷†®aêøé9t¤’µÇÙntêË‹M›¦iB‘Uì?²ï­~D’K )Ò;ŒgñŽ›6••Ð4 Š¢ôFáYLö ɲ„Ï7}ŽMÛ6æe/pa;YÓ²Ô8¨Ó'UUÜò• ûÿþ¡«§«>[…¶ö¶÷ކ –7*d£$ö¡ûGSvíÛõ[7p:“!= ”{f›ß·¶ª“šŒªª*GöÅîïÐó4ˆÈ¤3øbëZìÜ»n? ¬83„|úÒq†uýê0ù¨É\QQ"ÉÏŸ]4B÷]&¡Ï¿úŒ÷ìßK²${žÙ²•‰)7å F …ÑÃF#Vsmƒ`礼ƒ·433<Ü‚u[×áH[+Û‡Hçë ¨““¨€}¨(/-Ç„‘Ð0¨ný×7â¡{d¯ØÖü¾Ü¶™ Ãð”ŠHHÉ'‹Ð…4sh„.ú›2–B;íC¾óG¾‰‘·ß§ú®X ¿ç± "a ŒÐ}5ô‚”{Ø3‰—ŠÐ:mß¾Cjèa ~‡Î¶Cg“šÛQͰPQZ†CU£ˆD#¹Ñ­á26N¸‰ƒmѼ7,I,njÁ‰Ýzd±Å¦iB"`@¿AÔ¿¦?+²âÌ“ÙÈ[«“eY¬víÛ‰Öö6H$ù3 ä›It5NmÑ4M*‰F¹¾nU$*X–e‡aJt.†¼kGªƒw4oC&£“,IlsAçì©¡Š‡g¬Å4MfXTYV‰úC8ªD(°{° «¡çîϦeRKëÞ»¿–rf›%ióT[œ#<°f0Õö«eUÎ1¼…4\zÖ‘-FFÏ`×¾hëèpdŸWtÛ±8ïëK‹åH',“âÑׂò²r(Š’kHâ" ,vÆ:º;°£y´¬IÎu5?ˆ3sïªÊªP?°%‚h4J$„tïo˜ï?¼ûî#¶À‚ìÝždz³ñìÝgYLË„,É>p8•%Êrû> Úó¦{;÷ïäý-ûI–dVò5ó@=¶ì• ~À*/M°C—ìQQ¿îÙûÞ²,Gö¬k&I²Ä²$ê9ØË\•+;™ X¨NT£~`©²Šh,Ê®3 sèöL¿i™Øwh/:¶r8ì)aÿÁ˜ókgš&Ë2aPmjªú‘¢(‰DüÚFÁYnßS*Ûû÷í ŽÎNH’ÄŠ¬ø#V7Øpñö^0M3W~‰•pý€F$âe¤FTv ‚Cšžg‡eYÔÞÕŽÍÛ ëdY§ ¼zî=K²è”z¡ž÷m­·ÀK`# ì/›/ý’ à Þ1ÿ¦˜Mh =¤Ä':t¯ž #¯B $‰ø‘?ý JÐp|ÐI Ï¹)_Êìg€¬È ¨Hez°~ëz?Ô`Ñ¡ý|«¾’ãÞ–¸¬$¯Ay›|$ UQA ´´µ`¡€¡’§Ü5ré.«h*ÈIÇ9—H‚¬Ê0-ƶæm¤µ^ÞßÝ´²$AU#ˆØ4“©*ò(šGöŠ"P¹+Âú-_„‚ ûRd%Çÿ,çóA‰7¢r"5ñ9rMk„G ù`³<ѧ=–“}Ä#û@(”[œõÍAË0, [÷lõË}Ù{²”;|©ªÊ¾îSvï"‘{n€ŠÎt¾ø?Ê^UT¨r,sÁ¾qjþòëâìYغo+!öe TEE,seç1¾Œ@ÜnQöºibëî-"{.–†ÏË^Êwç {ËÑó gQB²§­_­ûÚ²'¢Ü¾/”½GÏEG,ê]®{š°÷P3vØÅEd8I$QnÊ ªFa±×æøõÜý™ðëÈ^3MlÙýU_÷½ç¹dI&U ·í9\ω¼@¤$TC@X‚ÆÕzCþ p¨î÷ ^QÄÑz`e{Y“‚g÷ÃÖöV6ø:å‚>øÁÀŸ)Å6qÐK¤‚pwáGÎò˜Ø52îõ„ àA º½Ü”5œê¥²,*,É,E¤¼°ÓÊžçv¢[;.L}$-Ù½èÙ¤œ×UQ½ïJ(PTGa˜Ü(Û#W;,›4ÜZ&dðìL+$ÛÈØÊØ—C{à,Ùr²ò€Í\¼2'˜;I–8*E=ïìQÎ|‹U |ªÊ<,¹Â‚‹ž%¦Báf…‘wnBtï:ÊŸˆrNQ”¿ý?GîþÏytFùT£9ó²£9ÔÎ=i~‡ó«&:ZÏ: ºSŵËu'“⬗¸W‚j«n½™à©“Šõ}b*°q¢1öœlľ䯕'qv­®»ïXX_-ÚÓ#:ŸáÏóèšgÙY¼¾è¼ÈçÈàKcŠ&Š 4Ž|5>ÁyˆY!óãíea|£çßèyßô¼Àõ¢ç‚£öOÁeÝ©دo圀´(׃x§nÖÐ'fŒ}ÏSðÞYp ÈPç^P¦‘"‚Æ!á¿û’e‡ýI£q„(V‘!*'faSyMSPäIÈGìì9ù³Ý¨äÙØM¯­Øyv8¡•JØšB{õé°h… ïÏV°Ð8&¦IY4Ôž´¹ÿ]É“`ÿS|žMmsÏ|Ö•<Ínc'—x"φDÁM<¢š¾ØgvìÝ3΂ñeA^btîFZðV^=8ÒöûˆµUöÜŸmPJxéÅ}áy7 ¯}ydçu¡,¤ÿØuÌÈw(d”òp'„Fï6³›? ÓU_¥@ÏÉ•†ÀÜæÿœ˜ÒþFÏ¿Ñó>êyHª€ëî«Es@¶ªÀWùüvÿáYd¸ ¢Ò-æÓ‚Ê,~ò³’¹¾Ç&)Ùz˜ý>ÓF IDAT,}âCï-Ðk%,äwBYz|+n>Û¬û»@ƒ">ïóúÐq Þ|¿ËáeÏçCR_žgx÷Ðçt §¯AŽá­Š UŒ}HL¹ú®ÉA#ˆÃ¸ /ÁWG§ûyq‹rùùRxþT4y£Ïæè ÷¦x…ÿfo¤á>WÀ}ýû6¬¬à!Æ`ïþ =Cûö’˜â«Ü=SX]`» ø>õˆŸsß—¾Ñóoôükêyüˆ¿üVŒeÍ÷ÊÀÖ×”u1â—¾Ö½‹ÕÒûÊàÖç&›^z€ð¨/EqÄÇ_Kš(z7ä<±ÐÝH!ǧì.N°x"ΊNgtÁâø#´€ îI&R€Ñç‚g>Ùú*ðv3‹ãä‚)1‘oúëmþˆ.°—„!uî€M‹†¤›ânD*p2ä7’®ò¦_{U ‚u!îÕÁ¸Á!8*!S\°þ~Æa»¶î\3°FcˆŽ¹@¿œJó Ô’`=ƒˆûÄg°)Ðáûžù=ÿFÏûªçÅœfØïA¼öÑÙR/Κ®éw¢b{˜ó<¤÷áýürô§ú}ÏF½"ÂzV¬x“^Ï`BíO¬ ÖîÄÄiЦ.ˆâ€ÀnZO­Ç§tž“¾0ŒTƒ Œ¸|Ê)F+ÞoQÁ?œ ï~ž…Ò”/r)ˆRÙkÄ<‹+T°ÜÚ ¯É&¬¥/Tb·´óBº›<G>)žÜÅ÷ö$TÉ‘ ×ÎÏB*ƼÑ®¶ŽJÆë…ò Z?éBAŠ4 ºè(0ÚÍG_¢, œY¨Êqÿשà½H(x‹ºÍ¾Þ€|¿BA„î_ïoôü=ïMÏCp·wà÷{ëXºN_ºù‹Qå†uÓ‡dK¨—kRС¢™€Þ~—z‹ÐC†}w xå9@‘òò(Ü^*–ú 5n$(_$'DZ}™¢! Ûp7¯x6JþÏ;F„žOÉUj‚§ƒÕÉ(cR\¶‚ûû¢ÈuTÌWøAÁσ Œó!­GþhO¸yºÙmzR•…†Ÿ„š¯gtÊÉ&ùœ ùœù#U÷äË5ôÞ ƒß€Hx1÷‘™™‚ê¡(ˆmÂSØÆÓšÓòå;DPáX£§‰(?ÃïÖ¹ðß¾©ƒoôü=ﻞ÷⌢dò;V*HvP‰gBÒÖ¾™ôÐÈ;ÀÙ“ÿùüßG¬†ôEqðaƒ¢5ô0Ôœ^Ÿ”(¬NV…Õ0‹Õ§Âj‹ì9Y“8òRL1NýþÎ\og/{˜CŸ?pT¢HíJ<Ö{0Š7K¹6óSíd¡™…RËJ_0.ð<ž¹`_P â½jÆþûÕ"í®_o$OTTNNÊÓnþӷ䩱D8b6!¨>ê/,ˆIØ×­Š™OÄ*Ö(lzigÓ¶þyúÀ†-úFÏ¿Ñó¾ëy˜s r¶EÒêT>4e2®FA³êA)ø°t|Xÿuñ ŠÉàÿ2Ï®ôRÝâ¢X…Î;âÃîè¹opd*Ì‹òÂ>ÆEÊÅŸ÷ÐpP ÀN±Ê&¤æî¿Vèóû§Ò~a¨ž}ŸC÷Ÿ|Bfè N˜Ñ„‹R‘»‹³Â"ñD‡&’OKä¦õEQ`;:j 椢7?&½–°P#ä­Å‘‚4A4˜g-× 1y¢×PЛüóøáIì4‹Ô< ÂütXúX»g¨ÉÆ¢/6©߈ù›ºÄ4£8JëjòÊ<¦{ÙñÌ+«c‘§9h¼È1|óø!û³ù'y×» y•}3áþ¨°pܵÌ}nßï~£çßèyozâÔ),ªö9æPŒ“b…¯И0xýZq=4J÷$¨/ñwýÑ~žû*ÝKI}Ì÷÷9 àI×ù#ˆàºIpM°°&æô¥ã¨ êïŠõ …ur4Èu(ϵ‚FCÒÌc<ìKÁø~Ôä©‹×THl üñ~‚ÿ_\›‚µçà\àúx [„^=¼û‚#5 Zã°T¡ñˆi÷ÀZbH®30Iä¯ÿ^¯€ ƒƒ d`ÉÁ§àa©?Ÿž‰•E 3º½¥tƒ:ó=e‡oôü=ÿÿ©çÅ~N¸ÿém¤¯Hú?´ëÝi÷Ò„×[½»¨î¼wÑ4}ÈÏIA©üülklEµ??4Ÿ“²BÀñWÝS ߨL²ç™©leÌ‚¸ ñ´S8§¥ÜIßwÍ£“y8q!ðF 1¾ù{‹§|‡Y˜˜=Ñ…Ê^ˆÐçZpÙ{l毠(T€Ø¬\,h±K׃_а†tÄžär@·Ç8ˆ[&·[¼²åå|–7$C­ÀFÙ{!ŸBt¢=vv ÙsÑ:~a„"Fò937ÅJÇ!¬c0”$ç•‚ô¡Ð`xˆÉ3‘É~Øž.¸¢—Z½g= ƘBôܳRgm=ÖÉÕß^õDìAØ%›ÜìëéyÖ Ô¡Åõ\¬Øy÷Âùï^õÜ·‡û¤ç"ӟЗÊsà}üæ>ûOÇA/¤¬!Ž7…¯@ÏR7ïsöíÚ¹VAdÒíˆòäŒý%¼¤»02ΟaÈÏÑ[­žÃj蓊a©w}Ï3&ÂÞxÄל¯•raºˆ0- †¡³"+PU•eIFãNÁ³Yl±®ëÐ Š¢B–d&?+ w©ÝUç9MS‡eYˆD",K ¹´›…÷.i™Ð4-6IU"AøÐùí/¸¼üA¬ˆˆ#j„dÉËr„"S¾–eÁ0 hzDYu\Wl¯×Ú1ê¦eÂ0 V•Ž$IÁöÔÅlÙÖ=+J²$±1Éþñ׊:<‘ ¦NlYˆD¢,K2dY.Š %®½a¬é1[pdï˜)¬·ºëîØSÝÈB"‰U5Y’.ê°}羿({‰d(²‚‚”¿ÆÒÇìÊÞ4a˜Ùs(O‰Ìb š®³adá¬[` åM†»â ÷ÝÄ\îùb2÷í}ÊêYdõ,¢jÔE¡ Óóü¡#ç, l˜Yw$I$QŸˆ),Ë‚nê¬k$YfERle Ös6‚ˆØ4MÊÉ^eÕ¶ ^÷33™–ɺ¡Ã0t[öªçžáÇ3‘aêìð‡+²’c¡ìeÝ ÷=³È“¦çÙqö80qªAì©âÀµ‡ÏÓü'šo ÂjèGHkÚ$~._½·½[Ôÿù(N€/˜ ¡ ä\äþô5ž >úÖÀzèEzy¸‚-H¯—¿v@ú*·9u”ÄbÓ4 ý«êP‘¨D,sèJ‹æTLÓDVÏ"Ù•Ä¡#-ØÞ¼©tKÃA³™äª{Πëî߯CAÿêZ”ÄJ¹$VÒ[ª%çÌM©L ÉÎìÙ¿{ìc=rØ’sˆ/åfž ›âuXC#êû7 ²¼’ã±RD"‘^7[ ÍÐÐîÆ‘ÖC¼£y'Ž$@‘",Ú†€F0ǪÀ0uÄc%ÞtúW×qyYJ¢1ÈŠÒë†sdßÑ•DËÁ}عoÒ™4”œì v gš–ÅÐÍ êjð ¨­î’X)Jb±Þö¡Göm­¼÷À^ÚÓ²Ùæ@ç@‚Vñº†i@’Ç C}m*+*Q;²/ºï,Ë‚nèèêé‘ÖCØÑ¼­­P¤œq÷GNÌy¨NQö¥%¥Þ0 ý«ús"Q™“½,÷æLaš&2Z†“]I°eŸÑ²Pd%¿ï k×~§€¡‡bð€Á¨« Ò ÷z¶¦eò¡öƒØw`¶ìÞ"²÷P‘?XùXç Ä,š›P_;å•,ȽÊ^בL%ÑÚv;šw ­« ŠTˆ.)ª¥ Þ0 µUý‘Û÷%d©Wûgš&ÒÙ4’ÝIhÙ‡ûw!«iPdÅ>,ÁtóØHÛ¾æ‚YØêP[]‹x¬Ñh´(q‡³ñ Ã@*“BkûÞ{`/š6C’È’äouèüöϵ£é@8ŒM¬ˆ(õþľƳ¾äÇEîõPV¾ &¶°Ú|ȳ8NšƒÒð}¼ê›¿£sHñs1$½0¹ÑòGa›Û·o‡Í‡Žƒsèžï |航ÑüaMDP"!ëÐpQìb˜F5ŽÄøQ8‘išÐ\´Ü×/‡ÍMQTd³i^÷Õ´mÏVÈ’RPÉ-LËDT`ò˜É2x(dI‚¦ë0MÛ^íåK’$ލ""´u´â“ Ÿ¢µãHŽzÔ÷¾â"¦A5•ý0câ1(O” èšæÒ&öeódI¦H$Ã0°{ÿn¬ùòS˜ÃòÙízõ|Ø0 >jèQ;r,Å¢1¦ ãkÊÞæ*gYV(›McíæµØ±wdIu rð³h9ÜͱH”¦Œ‚†AC@’]×`šf_¨ Ý/‡j“ˆp¤ý>Ýð Ú’í9†;±ñÊ—Æ3LµUµ8fâ ”•%º¦÷UönêR–d8²ß¹w'>ß´–ÍöÖ/Ä̰,c†Å˜cDa˜ Ã`˲èkʲ¬ “McÍÆ5ؽ—+{òE¬Î¾× •e•˜:n*Ôƒ¡î»^÷Ž.4‚ˆ¢rË‘údýj$»’Pü²÷ÖlÙ0 ª«®ÃŒ‰ÓQZš˜¡ëú×Ù÷ "vö½nèØÑ¼k7}Ô¸ý2°,ãFŒÇèá£DÙ0 2L£/ûÞ½’DU,)HgzðÙ—Ÿ¡¹eYEû—›±4L¥±8¦Ž›†Auƒrë¡ë0-³Ø»³¿NëЬ9ˆO7|‚Îîμ콣rì?â8ˆ‹a#uÌo·\fBx§;œÏDÔN™u ²Z¶ õÜ[ðèO;‹†ƒ"f˲`šfŸm·óyY–'¼üÈqa”®A¥±¾6Åѱel>tHá‘?ý òÙgù_“§LA:F{{;>üèc,\x.R©T]X£e²ìiÙ“B¬b~T€<à ¾:³iš˜6~*Ž3 ¦e’$KˆÆ¢žëä^ ü,ËP%ñ0[0-‹6 `oKîäêÇ'"†’hóf„ºš¹´gDE$qg!{»·ó'R4…nèˆD¢hjŽdw;::; ËŠ”Áy¯¬–¥aƒ‡aÎôãÝ{Æb1H²˲úôî9²{‰Jâ%$ º®£¶ºjê°ïÐ^hºžsêT˜1- ÇL˜AŽš@†i@–eÄþ²—%ñ²Ø‚ÅŒ!ƒQeìmi†"©§â4™¦‰x,NófÍCM¿þ0LÑhªÍûn’üïxÿh4ŠH4gÔc‘†×C{g+’]ÉBÙÛ}1Y-‹ M8~ÚqPì{~MÙ»Ï#ʾ¿þ¨­®Å¾ƒÍÐ ÓI“8ÒÄ`°Å˜yôLŒ5†a@QD£QwÒäkÊ>GqË@ãàFÈ2aßÁ½Pdµ0ÏJÍÐ1 ²';¥¥¥¶ì£P#ªÿÝ©·ûÇb1D£Qdµ,•ÄJ0¼~(Ž$ ³» ²,{èœ÷ÊjYÕ8 ³§Î¶(‹Å@RÞXöEçdY¦x<’r±®ßÔTUcoK3 Gö¾¬œã°gOž…£FŒqdOÑX4lß®»,ËPT%%%0-D„¡ƒA`ì;¸ßÉ,4K†ŠDNž5•U°L {ß÷²ïÈ¿±X ‘Hš®!^RŠaƒq¸ý ºS©œì½0Âä©ÜågÚ½å0O‰¨ yÑÁÒa_ì‹’eM MÎ;Ö¬CšÃ(Àß ÌÁû£_EQ‹Å Ë2©ªŠ¾þ‰D"nfÈ4Í¢nEšÚŠ:s_v€Â°éýH•â÷ûÐADøìÓO¡øNz’Ó÷ϤSÀçþY^/ê±HŒ xk‹L¤Ï?£‡…žt‰vïÞM<ð¯]»%%%‹ÅÜ—5MÕÕÕèîîfÓ4Ýç0M““É$qõÕWcúôéH&“4zØX6 ŸoZE–É&ÛtGwTEÁI3OàŠD%2Ù UTTà7ÞàGyGŽ¡D"ÁF! žœÉdÍf1kÖ,Zºt)âñ8kšN³'Ïÿ»úßt¨õ+Š’§îd†aÔ0`0Ïžr,4#—öUU÷ß?½ùæ›Ð4 ‰D!r÷¤»ººFñ½ï}.ºè"îêêBUE?š;m.¯üàM7.±‚˜0 ƒf=ƒG ‰žtÊË˱}ûv<ðÀ´~ýzÄãqŽF£b(°¶g:;;1|øp,Y²„&L˜ÀÉdcš&@ÓuZ¿e#»²·g ™A±H'Í<‘ËÊÊ¡iY”——Ó«¯¾ÊË—/G[[‰d_°gÓé4뺎O<‘/^Œh4ʆnษsðöGoSkG;+¶cqîLËÂÐAC0sò,hºY–I’$¾çž{èßÿþ7†Aeee½EIìȾ¤¤—^z)¾ûÝïRgg'×TõÇñÓæàÍßvòÍξ'‰$Öt ³§ÌÂІ&¤zR¨¬¬ÄæÍ›ñ»ßýŽ6nÜÈñxœ"‘HžzþmuvvbäÈ‘|à 7`ôèÑÔÙÙÉãG MÓ°qûWî¾·ŸLËBU¢ŠçÌ<²,“a\^^Ž_|O<ñ%“IN$~šäÀ°±§§†aÐ)§œÂW_}µ]& Ì™6o}ø::“e™Ä6Ó4ÑÔ0 ÇL:†2Ù Û8ºë®»ðî»ï²,”••yšcƒžÃ±;¦iÒe—]Æçœs:;;Q×o ?õ8~û£wòíp¸Ç%˜–Is¦‡†ACÙ–=mذ|ðA|õÕW(--…ªªûβ,TVV¢§§‡Òé4zzzxäÈ‘´téR>|8uwwóÑGM!Uòš/×@–•üzÙ=BeñRœtÌ ˆÆâd:‰þçþO>ù$wtt ¢¢ÂO»ÉŽí+++Cmm-,Ë¢d2É»wïÆYgEW]u•=ŠÁÜi'ð¾I]Ý)–eÉ»¼ ŠN mä@o”¯–í›À ! yšr}öb À?Câ =zîKSõ{‘eY\YY‰Ã‡ãÉ'Ÿ¤uëÖ±¦iîÁ&Èw9—3 %%%˜9s&Î=÷\$ Îf³ž_´L½¤Õ)¤î6ˆ‹M¨bG\€LCý³¿†ÎEêÜçVý€9FxÂ?ëHy ÍÐxpÿ5l 2Ù ***°bÅ ÜtÓMü£ý7Þx# Pö{æ™gpÞyç<gg'^yå\uÕU¸à‚ pÝu×qWWF‹‡[ÐräTE±ûš Y#ƒ™g¡¼¬Â½ÿÏ~ö3lذ7Þx#Ž=öXÇ¡öékÇŽøë_ÿÊóæÍ£Ç{ 'NäžžL þµê•‰(šï¾ûnš8qbŸ!ˆ4MÚ5kpÏ=÷ॗ^Ÿÿüg€Õ•5˜0j<¾ñs¨JÔíÒŒ,† ‚¦ÆQî»?û쳸ýöÛñ“Ÿü·Ür êêêŠ:3ñX±b.¿ür¾ôÒKqÕUW¡«³ c›& åH Ž´µÙ 31A72˜9ñ.-M8Î?þñ±sçNüüç?ÇÌ™3âP¿¶mÛ†åË—cÞ¼yxâ‰'0zôhd2LŸ0¯¯úÙë°˜QU1uü W‘›››qÁ`æÌ™ü›ßüãÇï-Ýï¾6›Å§Ÿ~Š»ï¾+V¬àGy–e¡¶ºãFŒÅ[ÖC•#yÙ›†nÄÐú&d³TVVâoûî¹ç\uÕU¸í¶ÛP[[ÛWC{{;^xá\|ñÅX´hÿð‡?DWgÆ:[¢-ÙÁЬ¸ihË40}ÜTH’Ç™ÿà?À¡C‡°téR̘1¥¥¥}–ý–-[ðÈ#`Þ¼yxòÉ'ÑØØ]cLŸ0+ß €bçusY‰xI SÆNƒ¦k\VV†m۶ᢋ. 'œÀ¿ýíoi̘1}ªG:tÏ>û,fΜɷÜr ^yåüñÌEê5ƒqÔðÑØ¸}#Aöº™ESC† ŠŒ–“ýòåËñàƒbñâŸóÎ;QSSSô}_zé%L˜0‡ FÀË/¿Ìßýîw±dÉ\rÉ%èììĨ¡£Ðܲ‡ÛC‘v&Nt3iãç Á0t.--¥ /¼S©®¿þzÌœ9³hÿÀêÕ«±lÙ2$ ôë׿ýíoqûí·ãä“OÆSO=ÅCÅôñ3ðæGo@F´HaÛWÓÆä­Š‹ ŽÂT|Þ³6‚V /–r÷¦¼¼Ï=÷Þÿ}œ}öÙüÿþßÿë³ÀÁƒñÒK/ñ¹çžKO<ñšššÐÑÑÁþHÙ×Ð÷µâŠÉ ¨±Ïµ5ýõZC/V«jèhO¶cÕç«Q#Mož‚a!ú˜¶LÌ;ödTWVCQ|ôÑGX´h^{í5Ô××#“É@×uÏL ªª˜2e –.]Š .¸š¦¹?—eñxš¦á´ÓNÃy營üä'èIõ µ³o½ÿ%§,†¡£_e?œ4k˜‰D×]wÚÚÚðÄO¸Ñ‡iš0M•••H§Ó¹Ÿ}JïîîÉí‰DFñÉ'Ÿà’K.Á¿þõ/Ô×׃-Æg_~ŠÍÛ7CUs÷×u FOÄÄÑ9“Íá„NÀ-·Ü‚sÏ=º®#›ÍÚµ> H&“r /(//GGG‡Áʲ̱XŒdYÆm·Ý†µk×âùçŸGWW˜o|°]ÝÝB=qòìSP™¨D$á·ß~›n¸á¬\¹uuuÙ›¦‰ªª*øˆ¢(î»+Š‚’’N¥Rtê©§âŠ+®À÷¿ÿ}dÒij;Œ·?zË=P膎þÕý1oÖ<¦D"Ÿþô§€‡zÌŒt:푽 º²ïêêr÷›$InºlÕªU¸âŠ+°råJôïß``õú±u×V¨J^öSÆMÅQ¦k0 'œp~õ«_aÁ‚Ð4ÍÝWN /{/â©_–e””äRî7Þx#vïÞ§Ÿ~]]]0-o¼¿©t[O—% '{ ¥ DcQ¼üò˸ýöÛñÆo ººét†a€™s¥„HÉdDä:ÚT*åê„-{$“IœrÊ)X²d ¾óï ›ÉâÀ‘xçãÿE$µ›Àt 8ÇN› M×PVV†Ë.» UUU¸ÿþûÁÌèééqj¨¬¬D*•òü;Löo¾ù&/^Œ·ß~ >\ûv4ïÌ5§‚ éY̘8#GB7tôôôओNƒ>ˆ“N:É•}X›ˆDZ{÷n\ýõxöÙgÁÌe‹/Fgg'üqtuuÁ0 ¬\õ:2Ù¬k UEÁ)³OE¼$Žx<Žgžy÷ß?V®\‰D"L&ãÊ>Ìö•––⢋.ÂÍ7ߌ &Z[[qòÉ'ã¶Ûn ÉdÑÙÄ¿Þ}ÑH,×Äf4¸ÿ Ì™>º¡£¬¬ ^x!†ŽeË–Á²,¤ÓiX–UP;ef´´´àG?ú¿÷Þ{ÔÞÞŽ÷Þ{~ø!îºë.¼üò˸馛ðïÿñxIXõÙ{سEÍ÷Æ¡p„×-Á[O÷Ù á‚ú‚Dy95tM×BK¹aÎÿþ½ÕÌKKKññÇãÑGÅSO=…T*…Í›7cÊ”)Èd2EÎ߀͛7ã’K.Áo~óŒ;Ö“~ïk‡{Øó‡ÕÊ{ó»âµü5t ^„_öu¸³C°.º1z`;í>AÎ}†àüq’7lj°Þa†ÅUeå\SUÃÙl–™™o¸á¶O™ÜÙÙɺ®»×t ëÚµkyãÆ|Çwp4õ<‡išÜÙÙɆaðŠ+ø¡‡â={ö°¬Ê\[QÉJçõز˜‡ÔÕCÎuôò;ï¼ÃkÖ¬Áã?ŽŽŽç:`f®¬¬äÛn»›››™ˆ¸²²’¯¿þzîèè`»>ÄXÓ4N&“û,—––rgg' ÃpîÍŸ|ò ?ù䓨¬¬ä²²2~þùçù•W^áÒÒRvNðvɃ%Iâ+VðwÞÉíííLñÀš\? žuûš²$að Á°˜9ó /¼ÀGŽáû￟mÙ;ÍD\YYÉ·Þz+ÛNŽ+++yéÒ¥lY–»>–eq6›EGGŸ|òÉ|õÕWóÒ¥K9‹±a9‚}mÛ}„½†>hW÷ûâÏü®²àÜØ±ûš¦ñÓO?Í?þ8ëºÎ›6mâ{ï½×£§âøœÿOYY™TpSSÿæ7¿á{ï½—«ªªXp‹žÏˆßóÿL¼ÏºûéÿcïÛã䨪ü¿§ªº{fzž™d’@ šˆAÞ Å‹ÓÍ7ߌŽ\@„ý‡fS­^o$d̘>×u‘Éd°|ùr\yå•b näuÐAᮻžŒá…^ˆ¹ãƒØH±XÄYg…R©DO>ù$ˆˆz»{ÑÛÝZ:ƒÈùõ† ðÌ3Ïàãÿx`‰‘¼Fžçá©§žÂŒ3ðÃþ0°˜U}Q,qÓM7á¶ÛnƒeYð<˜5—Äd´Ù³÷‡çyèééÁ¿ýÛ¿áÈ#ÄßøF”J¥H2ªmÛøÅ/~U«VáÙgŸ¥ßþö·tÎ9çà ŽŽ•vI8ÿüóqË-·4’Ì, s† º[Êf³œŽZ­J–eá[ßú®¾úêðy’æJ¿ùÍoà8N¨)?ú裡§$’énÛ˜˜˜À?øAlß¾«V­ƒi ozò=·§MG6—ƒã8x饗°víZ\rÉ%“w(Hˆ|ùå—qÆgÐC=D¿ùÍopÅW`ýúõä—v‰É>499I_úÒ—ðµ¯}2™ <öpÀ¬›®‡Y>í{{{é»ßý.N:é$|ðÁ¨T*¾·, ®ëâïÿþïCšlÚ´ ###äÇ¥ce\3gΤ³Ï>›–/_x hhp&¹n FG®CÓf¢V«Âó<ºýöÛéSŸú<ÏSeøÒêÕ«±|ùr ÐØØn¹å–0qO¦}±XÄ%—\ÒÔc¦#ß™'=ª».¦OŸL&CÙl«W¯¦‘‘\xá…Ø»w/VŸÐ˜#\‹`\½½½8餓ðÃþ»víŠ`T”J%ÜtÓMX¶le³Y¸ìbîìÁžoyfÍÚnƒöX±bN?ýtì·ß~¨V«¢åö÷BÛ¶1>>N÷Þ{/N;í4tww“뺘;w.qÆX±br¹lÛÆ`ÿ ¸žǨΎN ô ^¯¡Z­âÎ;ï¤%K– ^¯S&“‰ì·Õj½½½ø—ùô÷÷!—ËaáÂ…èééÁã?ŽŸþô§¸é¦›066†b±ˆ+®¸‚ž~úiÚ¸q#\Ïm”æ:U¨qqTŠ}Ú,êU”ü*‘õ(Ò‘NÙŸÝ€úFI!^99,ø;›ÍbÍš5tüñÇ#ŸÏÃó<8ŽCŬkOOz{{%)²ÇÚ¶'žx¨X,Ò©§ž ÇqðàƒRG£|–äóQÌáKMSÒù©£‰¡}y¸FVRm© A¤ HáúT5†{èîê3sàn?묳¸T*Ý+sæÌ 7ýÞÞ^å¢Êå2N<ñDìܹ~rò]½L`6ÙèêèndÄ».¶mÛ†“O>“““±{ŽŽŽâ‚ .ÀìÙ³ù¶ÛnÃ'>ñ ÜsÏ=áa¥Ë||ÛÛÞ†Õ«W7\’™²™œ¿9xèÌå ¼øâ‹8üðÃÑÙÙ©¬ÇwÞ‰o|ã¸÷Þ{ñðÃcéÒ¥a|GvÕT*|ðÁ«¯¾ Û±`áuí›øã?޳Ï>“““ÊZÇ 4pµ¿ímoÙgžº}åŒøJ¥‚“N: [¶l ]×¶º¨Ù¶tvt7ê×ÖŽ?þøöâ=K¥/_¾ŸùÌgÐßߟüä'8ãŒ30cÆ 9‹8 OÀ 'œ€U«V!—ËÁ" Y`4¾ïêè†E:õçž{GuÇt"ãÈårصkÖ®]‹gŸ}³gÏÆÀÀ@ð¬F¹\ÆüùóÑßßÏ›6mjdB[6DÚ÷tõÁc–eñÊ•+qÖYg´dù©T*X¸p!/^f5‹¸ âædÙŸ|òɼiÓ¦†—ÌA˜ì—YÙN©T‘~Å‹êÕ×ׇ5kÖàî»ï櫯¾Çw\8oYN…ëØcÅêÕ«‘Ëå8 }#èê!ßÑ Ë²Ùq¬Zµ 'žxbè2Wµ””earr+V¬À%—\‰u2¿`ÁäóylÛ¶ –eÁ±œâ_OW/˜™äO=õÎ:ë,LLLȇ«öq®½½½¸êª«pÛm·¡\.#P¾N9å¼òÊ+‚Û¼y+ÇΠ#×Ïó0>>Ïóð¦7½) ­‰¯ÁÁA\vÙeD¹\æ@a«V«X³f ®¿þzÜ~ûíØ³gOølÛ¶qÔQG±O{Ød‹e“BÅY|·;¸…ÙìmëlŸJ ÛQq¾¤€Bå¤ZoÝg¸ãŽ;pæ™gbtt4¢àáaÇqpå•WbþüùxÓ›Þ„¾¾¾ð€Α ¬æç–`Ñ¢E˜œœ„ÜœE’=NGg]}´³,çªû›³ˆ¯©Í\Dûò‰üDRvàá¨æÁÌœïê 4=v]tùî>åîÝ»/¾ø".½ôRÜzë­ "ìÝ»Wàˆl†]]]B½^P¨BˆE˲ÐÙÙ‰jÃRAWW¦M›ÆÅ8‡eYÇâÅ‹é}ï{ñ‹_ªT*¬KÖ`fÌ™3GŒq‡%<ÌŒ_ƒoÄtkØÿý„(VÅQvî܉+Và oxÖ®]‹±1!{X¡ÁÖëuÌ›7•J…üçGàó]]!^™O{ÔÞ #q.—CµZE-(…S$ÈYÊÓ§O7yaȲ,îÈåP*7â…ù|½½½( béûµ¹4wî\~î¹çBå*(’DxàÀŒä{ˆC£¤Å -¡8 æ•ïÙÕÕ…‡~Ùl{öìÁ¢E‹0sæÌЛ"dÁ’ïÁ¼yó¨Z­2ƒ#üÙ¤}CN=Ïã<°Á£ P0Þz½Ž… âÊ+¯Ä\€ÓN; ããã±*¬¤¯¯! D•|ËjÔ-×Ý:\×¥ÞÞ^äóùH\\¼¾V«á¢‹.ÂwÞIïyÏ{øŽ;îùD¹™tÐAÍæ;VØ Ž<ÏcÁÚájµŠ¹s熴Wí7ò½ëõz¨x_vÙe¸õÖ[Ãü‚àúƒ:(TâE€˜íóáFÏÌh/—M±˜Ð$Èg¹æškpâ‰'âÝï~7ÆÇÇCÏ×ÀÀúûûcÞ#F#d˜Ëæ0Yž$×u¹¿¿!ßsu»víÂŽ;ð®w½ •J…,Ë iÝÕÕæœy,Ü|ðÁ”¾‘E¦~穚 °Ù‘ëåC7Ò,ð*HèøÙáÓV€d5–§éÀcºø¼|ßüæ7qã7âÕW_Ü窫®B¥R ×ÝqŒŒŒD”ã@”`YCèždÄ’t0“ÊÛ ÙËL÷'ÑåκLDÉϯÊ>ŒÆ¢}z£–ƒWÛ³£R­pPú`Û66nÜÈÔj!"࣎:Šÿõ_ÿ•³Ù,î¾ûn–“µÄÍ T*ñÎ;CKÎc¯ É^àfcÿÚ ÙÉ=ȹ\år9ˆkAq †óß²e û),7QðAs8°€·nݾWå/̘1—^z)–,Y‚k¯½–ûúú +?¢¶¸òÅ’8¶j¥®‰eYظq#Ç é50W*Îd2œÏçÙ·BXåÝ)‹Ø³g í¬÷­ÕADlYŠÅ" …lÛf•6\­V±dÉ,]º?ÿùÏùºë®ÃÄÄDÄJ”Ǽyóæ˜¬©è®Ïd2زe‹¸½Â5ã‹.ºˆ—/_Î÷Ýwž{î9|ç;ß J»"ülP6làL&£ìy^ñ“´‚ñoÞ¼Y´ºY¶&&&Ð×ׇ/~ñ‹øèG?ŠY³f)e7C¡Pà qO–sÏkÀ#ûëÎ…BK¥R¸É™¼Õjo{ÛÛ¸Z­ò™gž‰;v¨¬”ÈkÓ¦M!#±Ä07ç=‹ëЯ««‹{zzÂø°DcŒŽŽâ]ïzÞõ®wáK_úúúú" ›6mbE¦8@¥Z‰ðŠO{Vµ´”`I9ðXÜvÛmX¸p!ŸsÎ9EÈ=ÇÆÆÂäÕˆL€BTÁ€ïƒ| ˲B¾™œœDWWN?ýt|ÿûßï+óÏÆc² €7nÜæÅÙ(äTl¯+ÿ(c»Rè!já‹ØâžZ¹}h”v¬ý©x€k¬yÙ»ËårguN?ýô Z*|}ðƒä÷½ï}X´h/Z´ˆÏ<óL~ðÁ¹X,úi>^ ü çH,߀ƪµÐÅóU!»ªßÉçrì;9†NR<=ˆŸËŸ‹Ö;©îá[ÛÍt8?Öâ'c= ÈÿŒjµ@®ëÒÑGM?úѨ³³3Œ_1q,øÃ¨R©P½^§;wÊqšðO.—ÃÊ•+©¿¿¹\Žë¹Í±2‡1]ÇqhúôéôÈ# ««‹9áïjµZd<2„x=òÈ#t衇RµZ%½ +”ˆ¨HÅyž‡ùóçcÕªU(—Ë1Ú33õööÒe—]Fçž{..¼ðB:ôÐCéúë¯G¿²}`&“¡‘‘ÁADõz=¶ÆÕz•‚Mæè£Æý÷ß®†å›µZm¬@Ó§O§gžy†~úÓŸR>Ÿð‡ïò¦ŽŽ<þøã4}út1ÎþñØ£š[Q.—Coo/=ùä“ÔÙÙ[÷à·ŽãО={°}ûvòkNÅØ1×Àkðè£Ò¡‡J¾‡"2÷Z½f&×uiÁ‚ôÔSOQA8âüèG?¢îîn±*år9rG)çcccôÑ~‹-¢ñññÀóEžç‘ã8ôÛßþ–|OÀFó`üDÎpnÏ=÷e³ÙßfΜIwÝu-ZD¨Z­F¼©žçaîܹ¸üò˃y“_áCÌLO=õTÀ÷~<[jg˱: yP!Èë€1‰ëÛ'7 F£ôؙ՞)˹´’T‡.ò]Ë¥|àô³ŸýŒ„=‘jµ¦OŸNË—/§­[·ÒücºîºëðùÏ .¤c=–Ž>úh:úè£é¸ãŽ£Y³f‘ëºáZ>ðÀÔÝÝM‚!Æûº3ÔpÆŠ¿Õå²ÉòeºÛ§*Üëb¢Pb0?®f0É(eŽí`ã¶ °ÈÂøxçœs~ÿûßã…^õ˜¢R©à¡‡Ì›7W\q …BÌ}aYªÕ*ÝrË-øÄ'>A•j Ææí›‘ñK8jõ¶îÚÛvP¯×qñÅãæ›o\Фë7<<Œ\.§‹ñ5’_:;ñïÿþï°, Çw˜££›óÝÅvîÝI¥r£4kÞ¼y´`Áúö·¿¾¾>%bжmÛpê©§bÇŽøÐ‡>„5kÖ@©TùÉ×^{-.¾øâð>»öî Ýý!í¡úÀ>@=ö­_¿žü„§ðw®ëâ/þâ/ÂØÓ1ǃåË—ã´ÓNËADAD¡P Ûo¿—_~¹ô°{tWh­W«lß½ ¹lžçÑG>ò,[¶, Èá‹J¥‚óÎ;•J…n½õVÑåy¹®‹|>ïÿûèïïÇGfÆD±€R¥""Çq°cÏvªÔ*¨×ëX°`æÎ‹;î¸ýýý¤ÂR>ðÀqÏ=÷à”SNÁQG…¯|å+[—d—Yww7–,Y‚K/½¾Ë;÷îšÑ4íÇÆÆpá…ÒO~òø^<ò•a<ýôÓØ¾}{èÙ“±¿'''I𲄟oÛ¶ ?ùÉOðá8Œ‹%©D„b¹H»FwRÆÉ —Ëá¼óÎ׿üed2Ôj5ض5kÖà¾ûîÃ’%K‚$͈ŒÕëu˾ÿçþgzè¡8øàƒA ŒMŒ¢Z­°6 H[]ÄëÐå¶©!½£Œ›=Ýuü4 a(©.[ʈ)éL\r¹Œ#Ž8¿üå/¯+Õëu  rFGGñWõWø‡ø|ö³Ÿ¥µ^¯‡/]gg'ž|òI¼üòËxó›ßÊ…¢÷¹ê¼L•ܧl‰+±rØIã +eâš2®¥t‘°!ñä\ŒÀÍkcÇî(‹Èdd2Üpà 8ï¼óx||=== ¸‰=]«á˜cŽÁüùóqÍ5×õ¢,ƺ»»»ÑÝÝ÷¾÷½|þùçcþüù¨”+¨T+غ}¶Ý¼çÈÖ€À §v†‡‡ññÈçó¢Ë2tõÝxãÚr)^î×Ès__Ö®]‹«®º Ë–-ƒëºpl;wï@qrY°- ÅÉ ìܹ3ȘÅM7Ý„oûÛøÏÿüOôõõ…øÌ066†üàC°¹Þwß}Ý?œË帯¯K—.ÅîÝ»ñÑ~Åb¶í๗ք°P–eaûÎí(M–à8çóy¾þúëùœsÎár¹ŒîîîHŒztt×\s V¯^'Ÿ|ßùÎw‚°C$ó·§§ù|ïyÏ{°xñbÌ;Õj“åÖmx Y'ë—yÙ:¡\.óßüÍß`ppW_}5¦M›†®®®XÜytt_þò—yöìÙÊøj&“A?ž}öY|ö³ŸÅÒ¥KQ«ÕÍd±aËŒ6á,…bwíÚæF|ùË_ÆW¾òüú׿f‘öD„jµŠ7¼á X·n~õ«_áw¿û:::P.—Ãf D„ŽŽôõõá _øêõ:>ô¡arr–m5hO3ŸÇW¾ò|îsŸ sT‰\Îbô÷÷ãá‡Æ7¾ñ Üxã(—ËÈærxyãË(–Š X”^5Û¼ oL¬í³¨!^;qTKrÒ› ÚUvïˡ¥ã4š -Z´]tòù<†‡‡±xñb1¼„ññq  %úg°–[·nÅe—]†üÇDgg'üRFc³UèÚÔó\vãÜîI9llŸù7ýÿÞrä‘$`¹óÙgŸEÁ&¡È2e1!Кʕ2mܶ1hÉ‘U}&°„à"bÔêuÔkU¸ÿA(WÊ8ôÐCÑßß‹.ºˆ:;;yxx8p™‡™LÓ¦MÃ…^È–e‘ÿår9v]ÿõ_ÿE^x!ŸrÊ)¸öÚki||œ³N†~·æ)ì “¡,ËâÑÂ( ö ¢··—K¥Î>ûlºï¾ûðÍo~“çÍ›‡ýöÛòù|øüŽŽ bÁ3Å¿·oߎoûÛtÝu×á[ßúŽ8âLLL°çºôÛ§‘%xlÞ½w'Í;`dº»»ñîw¿›/^̯¼ò cöìÙÁs”íÏÞ#ç—`=ÿüó¸æškè…^à»ï¾›šVÉF¬yùùÆ:ùëP­VÙó\:`¿¹(•Kxó›ßŒl6‹K.¹„z{{1<<Œ¾¾>ÎårÊò4q,¹\Ž«Õ*~ö³Ÿá¢‹.¢¿üË¿ä+¯¼’ÆÇÇ‘u2X¹j%FÇÇ`Ù7\¦6öŽïÁÌiCÈçó(—Ëtî¹çòwÜAwÜqÓ~ûíÇù|>X_ÆÍfz‡Øù¹\Ž·mÛ†[o½•n¸á¬X±‚,X@  *~ûÌ#°ÈFÃFf²ÈÆèØnÆ]t}øÃÆøø8:::ðÔª•Ø;6ÊdG†me°{t'öšC¹\Žkµ½ÿýïDzeËðÀ`xxüàqà¶mñYª?”ÍfyóæÍ´téRÜzë­¸çž{°ÿþû7”èR=ûx£ó!‚´F’àBs;’½NÑþéluKBÖœÔ'ƒƒR°á†ázn$ NH°#©i K¡ÝÔ« Ð9’˜M…9äìÝ»_ûÚ×xxx˜N>ùä ÏƒjÏ×…B÷ß?>õ©Oáë_ÿ:Ž=öXCI*Ô6C&z8fªVìÓ KÀ”<±¬wǶIÄr§ùÖ7½ /¾˜THq†Ö©‘]ì¶&"ÅEFÝD'R¸^ìáº.N9öì?s”+%ôõõóóÏ?OK—.åuëÖQoo/|àÚó±Ü·#û19Þ³géoÿöoùÔSOÅØØuä:xóöÍô›' ËkœžÇèÌuâ]'¿ 'õz|ø@¾ýöÛQ*•h``€…ìsäÅØB¡À‡~8ÖNi²„\¢/™´ IDAT.‡ÇŸ}ë6¼Òh:ÒD]âZ½Fo<è|ìÂãP©”a;¬õ›nº‰{ì1X–¥*Í‹A23ÆÆÆàº.Î9çZ¼x1OLLPü÷³‡ŠJ­™ìy½ý¸·óÌé3Qö!HW­ZEË–-ÃúõëÑ××Ç”Ðý)¤ýŒ3põÕWÓqÇÇcccÔÙщW·¬Ç#¿{¶D{×côæ{pÚ[OcÛ¶Éu]ôôôàž{îá;*• ÷÷÷“З[…çM~&*OLLÐ1ǃ%K– ···a¥d³xäéßâÕMÚ3qËÞu],˜·€Ž>üh.•KÈd3T¯Õù‹_ü"­\¹2ÔÖMóXÝ÷”àýï?.ºè" Xd¡æÖð³_ý;jõºÔ¨r]ßyâ_Ðôé(WËÜß×OO?ý4¾úÕ¯bÆ Üß߯Âr f­VÞ={0{öl|ò“ŸÄ‘GÙðättòË›Öáñgž ¹¶ßu] áíÇ¿É?ù|wÝuï{ߣZ­Æ}}}Pð}ŒÅb‘ŠÅ"N8áþÔ§>…®®®À:§ß<õ+lÜÚ s†¦ëº8lþaü–ÃÞB¥r‰s¹•ËeÜpà xòÉ'1sæÌHøE!sáá°wï^d³Y:ï¼óøüóÏâÚ¨Ô*øÙ¯þ®Ëˆæ{žG§½õ4 ô pµZE__­\¹’¿öµ¯ÑÈÈ÷ôôP.—»a©`©V«att³gÏÆµ×^‹Ã?cccèêìÂÆ-ñë§~”‹†Üu×ÅôþAzÇ ï»råóy¬X±÷Þ{/*• !a¹«ì_*‹\,餓NÂ'?ùId³YÔª58¿Zù0¶lß §Ñþ80·ä ó Eî&&…L„9Vd¨“)MBŠ ¯gΖÈgºäš¯¹íƒ „_|‘ðƒÐæÍ›Ù¶í ,«•¥À³;11Ã; \pòù<*•Ь|(Ë“5‰|$Í32~ ÄÊÒ!Ñ)âXu ó]w}—äÝd¡+t:ùU ÄŠ{R@RÏó@ŸzÌ©4sælT*eîèè Çqx||D¶e‹0†!+µ föñ©ÇŸ ÛvÈõ\äóyb0R&¹î@gÔÑÑÁ===äær.—£gŸ{šÿ°v å2YU}!•+e>rÁ[pØ‚7¡V«‘mÛÜÙÙI“““b ¤ñ@îÙÓÓƒ\.GÅb‘-²¨îÖð‹ÇÝ£{ÍdcnCÏóÈ"‹ß~쩘1c•J>í1>>ŽjµšÔ~0œ¿ã8èëëƒçyT*•8“ÉÒÎÝÛðàc¿{s‹š>¨Z¯aÖÀŸrÜ)D–Åžç‘O{* Aóy3S6êììDOOo•×8—Íáw«Ÿ¤5/¿€ŽL.¨ŸlLåJ™Ž9ìh^pÈÿ‘iÏ“““‰Š „æ½½½œÉd¨èw¹ªÖ*øÅcñèø8Âlw!=Éõ\ÎX½ý¸·cpp:W* ÜÝããã\­VuÍb/ÇqÐßßÏ®ëR©TB6“ÅÖ#ü‹ÇFÆÉ뎷Z«`îÐxÛ1'Ãe78Ô¹V«‘ßø¦ÃLüwWWº»»¹T*¡^«#›ÍbåÇ‹ë_¢œ9+®¿O{>þðãèá7p­V£ CV±XD©TRµoUn~¾ÒKŽãp±X$ÇvP®–ð࣢Pœ`_™k«Pw]Ê9Y¼ãø·ó@ÿ´F—¸ÎNܲ~¨VÎÅyøa6ª×ë\.—)›Ébdû&üêÉß|Ï‚eÚˆýת4wh¿õ˜·…<–ÏçQ­VQ(Äê ãNDÜÙÙIÝÝÝ!Lu6“ÁcÏ<Šu×#×ÈɬoÙÜl¡ á[ "ü»©DÁUt:33e3Y>íøÓ¨Zè¬húCb?p±¹‰â@½Ai|¸d¶,‹&''9HžÕÈR„ÆÄsP–‹h2›É®s…^{  ë TRe ]‚~å\6Câ¸Ü•íS51#eÌ£T)aãÖ¡+$iã¡Õî—Þ®y9˜>0YaRIP¿æeYpë.,²@ ¬Û¼<ý¬ÀÅ!Œ- ”c;˜(M`dûô÷ô£¯§õº‹jµÒlO™ò3Ãs=ضCÕj+W=‰_Y‹Žl®9gŠv-Ê8lݵ…‰f ÎB6Ópƒµ±­<ßu]°Ç°ÉÆ®ñ]xø‰‡1^,„ë#†>Ô8cýÈzdí,û§L{"‚[wC·ÞÚ /â±goÆÂEÚû¬åØOŽa뎭è@oO’³Z­N‰önÝ…m;¨TKxâOॠëБͅ“œd™q2زcÅb³¦ÏBÆÉ¢öh&Ø–…£»ðË'Fqr2 ~#ˆE<ö°~ózä2ìŸÖHZ+78[¥}½^ÁðüúðÄïW6Ýü X½«cg°§°»öìÆôþéÈçó¨Õj¨ÖZ§½çyƒÜÉb²RÄc¿¯l\ß =Çê“CÚoÞ¾¥R ³¦Ï‚cgP­VàºnKÏd> éö=Ûñð£T)7CLÜ,Ë jŒ]ÏÅ«#ëÑ™ëÄ´¾i•J9‚‘âOةˢŸ¯ye Vþá)!ÄB‘=Ñ ýha/vìÞÁ¾Atç»CÚ“E­ñ½çÁs=8¶ƒb¹ˆGŸ} ¯ŽllÒ¾™Ð&»ÑcùØò~MˆŽ=L„Ö3ÖUlâbæÏO®ç²î‘åx±©‘‰.ïyžI2M¾˜ŒãŸ¹.)ö­JTÍÍàÒ*ðRûÔÀB—›³ßœ…“@keq¡T GŸ}”hÅ0Q‚‰Hº–ÇÍÁÞAÌ?pCƒ³ÐÝ•‡eYä8N¬á}¤~/l Ê(–'±mǼ¼q¶ïÞA™L–-²‚ZxëæEÍÉó<ÔÜ ï7sfÏáƒCÈØr2(cÚuE£Ûc£…QŒlÝL/¾úW*µ ±¯Ù* ‡ ŒäÖ‘Ëä0î0öŸ9‡úzú‚ï, õ(Û§÷¨¹5lßµ6ŽläWF^M‰uõBÖ~D[ h?£o†çÎÃÐô™”ïÌò,ö³Y“­Ê΃Q,1²m3^Ùô vîÙ‰l&ל»o%„µ®A/Q"¸^£ Ëðœy´ÿ¬9<4mŽí„Éií#ã'<öØó<ìßM[·mÁ ¯>ϵš‡L#q‹üaä÷‚oµz ¹Nš?w˜÷Ÿ9½Ý½^ÊNFFÖR‚<÷ضk+6nÞˆõ[×Ã&G xä÷– y ¨MjÐ~p&uuv±mÛ$Ôå«[16hO ÆDi‚´»öî Ã`‘,bš3˺[<à ½sfÎÁ´iäcÕ‡re·B¨cÅ1Ù>‚?¼ð,êu¯Ù¸GhÐ$6f"jÒ­«#CæÎ£ý†æpOwÙ¶ ¿¥ªÉ;Ò´R«Ðö]ÛxÃæ ذul+Ê÷¢…î鄆‹–kõfM›EóæÄ3g¡+×Ù@VŒ¶ÜŒ=; ½ÇO”&0²m3^Þø2íÛËÙL–Dk3²‘ ÍP\×%=rÀ|ì7s?ž>mFÀ÷¬.ÝŒÐh겇]£;ië¶-ü«ÏÃsC°™˜›Y‚‡),§ˆ}½…ï•ÀK¡×“ýX05äÍõ\  â„ÃO Z½& %‚±ˆº°÷³˜ù.€ÒÄ€tÀ6’寂œyTT‡®lô*Â$×ßK‡vÄÉ!¹ÜU‡< z¤9‹“6«ÝÔêÍcýÝý˜Ñ?[wn ãê²…Pk#5ÊPð›ŽLÆ‹ãxrÕ“èìè 7¥”´’¨zµ‘MnÙèÈu6´4F¤k®t¢#Ûõ[_ņmÑÕÙèX$oÊI´+WK(•KÈ:9qSÒ:mÃLa§û½zÝj¼´awäuÁ ½Ø#ÏöØC±4×õs:bJˆV‹ôi¿wb/V®^‰Î\*ÚÇP£jµŠ¥ X–Ó¤½ÆJ ÊcXXÇvðÊÈzlزS ½ÇÊ•2Ê•²™2N¨Ä5ÖWô„ÿlL!›ÉÂõ\¬ziÖ¾ú:r˜í''àzr™ŽHfndI±&ÙŽ†µ¼jºr]‘,û”e¡¨ú´w,ÙŽâ8Pžu]Û9„^}¯l~¡•ÚÊ«Z«¢P, —ÍÁñiî"ðTPí“!›É¢æVñûµÀ‹¯¾f„§¥=¨{uKŽpÎf^j«ª#Û]ã»°ã;ÐÕÑÕè × í™Ã=DZ³!íE6yË èbÛ6;pè¥M/á•‘õèêèBô˜öÙ F©\B¥ZF6ÓËaµeÇq9”À¾t…f¬ºWìß’S¹V«áõ‘hyê¬Q]ç1M xñ±êU9šŽºgë>Wy!L÷ÖÅ4N ýJ†'ÃEª»urà!´eç–èAÙ8)^Û –Óã‚nH>LgÕzÕZÕTè¼wìLTäH)ÆB¢+™©T.µRo¡YÆÉ!’ýÉˈd‚¦KŒ‘qrþÁ\Lœ§²ž”,d›ÂÒbU±¨è2¡€ö¶ÕÀ~hO-Ð?J{/‚RE‘VM÷‰M|´O¤·\ûÙhÑ*›}„C–½Na_h6Ò¦0Š01µÒ‚å{¥ƒj£P)åàþÑÇB…•¹F™ðà ‘kB¾ãÈ(ªfHrÁºFÍû%Éy<%© ñì§"çœ^΃¢>úi#Áެ¨‘‘(çDM•´A¯ÔrÞœ{3yJTt[”s¦h5‘NΕö[,xš Pcbr®ñr±ëºÔÕÑÅÇ¿ùxÔÝzèz–DÛ\wpɧ4K`_,»ñ¥ÃŸµºlÔï­LxÕõ0×YÍ eBY“.ŽOår×xHþ°Ò$Ȉ5ºk+µ †¦ áø7J­uõQԭ졆ʚ%$µ%dfÑ Iؾ5áÈ\HBF \cÜü^ùl˜#?)ÓTx$ ®-yóÀHåªU¹zbÉ.¤Yß”6 ÿ 5x‘Á@Êë"ÏP¸š+’´š?Å®¸…# 1uS£óŠ–¹È7‘µå¦E)zwTë hJÑ”!b¹>WÙ!–„ÄŠ„Rj~ÆV}ž•Û{F¾“é&*ÍB ^ǯÁº†ÊD1™nËy[Ι•jÝùnœ|äÉp=WÄ^'S’ØT’ÍÒ„TD~ÿ(,öDš'x»ŒŸ·ÒV‘GørL1Q_…€#]ë×VÖ±ÿÐþ8å¨SðÂú°w|/*µ Ð"9J–$bÚïøu~Ÿö4…9´2Ÿ´´à)|oº†_çõ{­ôNó{~xåõæçVèÅSXC¼2Á-޹-ç†rNDÈwåyîì¹xÓü7±çyp=WN4J6ÅåFK¢×XL†‹ß"Z–«©åÖ5НcS¬]¥(²øeFÇìqïaºŸª}ª¶ÆUW/¡¯‘ Væž®zë[ÞŠ{vp©\"sA8t`ÐüF76gÔ¼O]‡®x–i¬¹Úyë„/Í=tÏOÍSœ#¹&TEËÄ:ô„÷IÏGÂ:&ñ^ÒéÖ4uz_¼–õLU‡Þ–ó?o9'"L럆|G>èfǪj™Ýâ{1t&‡xÅÖ°’k:²~’[<ò|Ñ­-dŸË5ð*K™#Jý"ᚦ] ò³)N§ð¨øÂI!x©Ü’FE F¹RÆ´Þi >}îPÚç')†¯Á ]¼Æp=·8zÆù§ö¢×ÀiúÿwñÇTC¯£ûzŒ™þ‡žÓ–ó?³—ë¹bkZ-Mt(hRŽ«,cÍùô¿*çš²:­õ®‹¹ú¡Ët …®ÕMåj†Ã>Ô\‚ø‰îºÍÝèÊ“f¬I°Ê…#‡êcZ› ÚPEŒ¡Á[¢\,¡©ôB—СcÀ4´5OAóX£ŠTé‚Ó­&ñ$‘º+!&ÓÒUv-¶BÏïq1*,y#Ÿ^N*+Ò>§-çÞr.Ëx­h=§ð¤’Ó©ÀHï“<Ó‘ëU‡­.„ôì„C;¶.&@ä¦VJ­CÕ.lÑ)v¥@(3S„äMÈP¦a0•;E'tšÌ(„RùIL¡|–®Ÿ®°I¦Z'Õ}袥·î™òýd>2ðšÜG[¥m“F{¦´s0¹ìtt6X 1y‘i-ÒXÓ‡9ò™OWRÑ¥-çm9oËù¾-çâ­R÷C—Ü$²k!Ñ5’öZ•ËE5AÍsX±Ÿø½Žt·Õõ¬UÍU|f÷Š'bÕouš¡œ"ýQ2„yc}–M k˜ «²ZÓ¬·j .ûfº G³IÄøXñ\N˜§ü›6šV]‰"A™®œ´ÒaÂò|R Pµå¼-çm9ÿ#—sùkGóCeœI‹Äœ ›„˜iÈ-ľ8!«²T=iYù+«R¬JÈIUÚ`°rÄ€²å!?MŒ£²"‚q€ÄûÄ0‰¡È•Ö:¬ ®¡Î‚ãIÒá ÄT–žÁI¥ RX™ÍªJªQÅšUñRD[8¶ãf9™%e—¶$ˆÏce©;d›7©JÚrÞ–ó¶œÿñ˹ê;KO’cd¸— šñÀU$V§¸¯¸p$ÄW‘ž÷¤Ü¤8Ú¢¯˜Ø’v• ñ#RÜ32E,&Ñ=&$6Q XÌUgr©b‚R ”L±@aadÞQ™ªb¸MI玓i\+Ñš ñ5“Û˜ó%E¶)‰hU"c¦8Ød×I±h%‰õJNgãs«¢-çm9oËù>&çòùm¥ÐYŸKp)©ÞkµYûOôy%¸“2U— )H¡é‹n=6Åž’Æ`¢»Æ¤Š•¦q©²är“c­²v˺ö~šñ°ióPdÙ¦ñž™Ê¥Ëô5Åà’âžiøN²D+‰“žNÖ4ëÖ<"\f†kËy[ÎÛr¾Êypˤaë²a „ÐjOºÒ I)Vf·¨Ê4t›®$D—Ä‘-¨ƒ µrMFi"“´ø¼¤ ©WÃ䤋Aé’WÒÀ"ªÖ%¡†Rlx0e†ê6À¤¾ÊI›DÚ®N† aRXW©ÖOÇ_¾ –±6¨-çm9oËù¾-ç* 5Ú#%ì "vÇIÚS ÕÈÏ4÷H\Kˆ'Éãf]1¾”0c´ LZŸjÞ:FSAù)´»Èxtñ#a¼¬«#Ućb‚§JR @’f-ÄÍ” '*ËPŒ2 ‘.9%u’ˆ¬<& NjèUô"˼…xbUÈÛ)²€•˜*ËPaù²aýäøw[ÎÛrÞ–ó?!9×:uûT…+!5ú“ªV5IË•A4 +·ÔSÆÁ@ï•õœbñú„~¸aFªœa*%éDè%[2 ·b¬Å`ð{1ãQ.DzUIqX"~¯Å²æ¦Zª£cl.R‚ê>J|i•u%÷<†”½+ÎGQ‚Dib¶ ZiÛ*¦Œ¹é¬ Ò‘Òü”¸åºMTe1ibȤB·’×VZ#R0Zª9¥u+CÂ&W¥¨2±U :ûºœ Yùr{`%/J¸éPd­“ÊÛ!ÒEÀ8W®«‚&Êkƒ±Èÿº}XÕs\Ň’¥¯ÚÿHA'ÏÉ´Òö{H‡ 椣JÎÅö©†=QVYu 'nÌh;;TžI¸U½×E¤¦„ž¹ÊÍI”ÏVZ5Iî;Y‹4µßS!(ib›á"Ú¶|>-[¶ \.ãéE¯…? Šáÿô¦‚çM¯U>þ‡æ`Ü@_9ÿoœµ:FÛ¶144D]]]<66¶OË94õ媄ÀO„Ö²T(&%1ÈÇ`Õxæ/Y¤*YKaI'v63#‘)¡š~å&97åH´ÒZÕ]«Qrµ ƒÊåN:—»fr²ÖK ˜ÃiÊ[TL‘äN!¡Cr3иW(åfs‹L¡ ñ½Ê5j4fFgg'13®¿þzŒQ½^‡ã8I`Úù&&]¤|Z¸OZCÊç¾Ö÷içÛ íZšq´2'j‘f-•m½F^x­´ˆÈc½^œqÆô×ý×õ}FÎ5nèXYœª¬)Á5N&W®j؆ÃO{xË0¾PÀº¶*çbD§ªÏº‚±q+\÷¤2Uá•ò À©W•…*•:U¹£†oeÓIk)xD7V ‘Üf”E‰Ï¤t°"f–J»’ wÒiÊ&šš °‘ˆÏçñ«_ý ßûÞ÷pùå—ã„NsÙMôZ6Õ×ú{Ù]õßõ~Æø¿uŸÿyâÏ`޼víZºþúëñÄO`Ù²eرcÒ¸KÿXä܊ДӥGîQ#¤%aú /]‹OùW5±1!ã¥išÒŠÇEpi›¥ðÈ04u튃\›+¡xÃP‡žöå µ:8¥ËGîkr=‰ÌhÒt45i\rÜFT$L‚lŒ»¨Æ“„,0‘)·ÀTã)k‹ccc¸å–[ð£ý–e¡\.k1òŒ]›äqh4[£›R•Ѫëþ%õ+æ¤{Ë÷×%U )åøÅ®E:–ΪR}'gX›è«Š¡ªÖTîW@ÑnREï¤ÃG·ëÆm¸žÓº·%”6²¼E -FïýöÛ¿÷½ïáïþîïð‘|_ÿú×Q(T1é?J9Oq€ÆÔ´ŠÆMΧuåsÊgâšµ„"˜  ‘íJhÅsÚ0‰¹.Ƴ*HàµZ§jÃN–n L–b’»I£ÙPR¼Eüm‚6£…äÑÞ'€5(§©Û’nATY‡*”(E\I;n©,CCCøÜç>‡+VÀ¶m”ËeòSqéò(›ÍÒªU«èˆ#Ž ¡¡!*•J¤Ø¨•‡ƒRAB’Ί…M¦¹¸‘tìfäyâïmi2Š8I›[ì€Ñd¥kyK^WÅá¦âe±µ&iæIÂxÃùÊ–Ò†¯•5¨;zÉk)·/ÕÝÇ(çbg6ÕA­{¶¼þÔi„&Š¿¡ YæHè2& ‘=σëºtñÅÓwÞIýýýû„œëè*—Ë”  U±Y]»] œhÈ¿ ~—y#Ñ«á)’à}c÷ǬhÉ •òb8Od…á”4ò[g…ü‘b^ò9™(çã5•<[Sˆ]ÉÓ&È ŠM<É­Y88‚Ì,M†ÒÄJï“Ñ–¡ï±›ªÍ *KQzFäžxðÁqøá‡£^¯k‘ Äq©ðuôq¢u´2iÝ’¦¬eRS;É‹>)1‹d÷´’þ*LpƒVOiá#%ìf’BiBIƤ4ƒ§ÄØ&Ó„'ð† i6È$kWõLc Q™*%¯P(àï|'lÛ†eYû„œâ唤x¤°èDï ø7)æK ÏÎk›Z&’ä\¶de~6È Ékb²À)EÌ<ŠË%@äF ¦¿ñl6¶O5¹ÈÓöVÅ[t1ySl/m]ùÜ + IDAT‹®•T‡‹ ) (£Õ²Õ8‚ë,ËB¡P@µZMŠ©ÅðM.qEÜÇØ*3Em¿Ö­ÚB8%U½' hR&øÇ´´‡­«Õ—)–§Ã"Oš2…ŽTuÂHÙ&2­L'¸Fþ1Í7%-Ù´Ž"Ïoذ™LfŸóh Dí3xÚL­m¹UÞV!Ó¥ÙLûOÒž®Ë(OJÁçZ9O‚bUAï*’ÿ¦Lƒ4e‰ò׎á Ô7h‘Ónj¦¤8Õæ—¦Qž˜bsã¤ØícdÕæ¡Y$–T S::ßz¹\6&6)âSrEcâ“©±J³NÑ$ƒ c“]äœt&Oñ,R))šMj³L8¤[R(ņ)¾Dy‘ÁM4‡'k¬Fna³a“ü¥Yÿ$¾7)ax+¾‹$,íÙ³'ªøc•sÕ¿Më"ÊyÚ¬t /³†¾&¯i„æ&TB•<ªxÑ´Ÿ›æ"Ó^µ^ª6©2¨P J?')ˆ­ô‰×%8š¼‚:™uL.<$ôÎ7còm%È)];à eš…' ÛYD/Òmîª9È(MrbJdŒŠÉʹJu‹¬`Êðž®ëbpp===± J)iH‰¶–¢´…5LB’’D†ƒ]…žFД„äqI룷\¤éù-o†‘ñjz §ÁM3œ)…«‘ñÐXÉŠ ,¶SËÀ’+Ù(çâ¼DyM(·jIοJ†´4T¸œYæyÛ¶1gθ®›–Lÿ«rn°ðu´M%ç"䬭M†¥MZ+ÉËDbùZR½µÈ¿’ü²€eŠýC[òlž>‹ã%EïqJáa׎R”÷iÑ6uÆ—Äd* Ô|ÎV«.Ä$­QµˆbyÇTž¥kF Ó˜UyZ—†¼2|h’©i”6Ö©tuzž‡¾¾>T*­[4;ÛMØ’ŸÉzÖeí&XZÚ±¦ÐXYUB37"¤ö„SuªF¨:T¥í¶¥ºoÚL{yÜ&kË4‡$/…¦)‡±õ©n.¦ÎY&IümÛ( 8øàƒ#¡ª?f9Oc ·jÅL÷ü4ëÖê3 Õ-ËyZ¹”å\ÇÇ&ã#éþiÛèêö¸¤P—iϰ4 N»XªÚ;Õ¦/i¶¬‰½qÚƒ>P"„Êw¢í­R' Ö¹)UóUÕIË 611óÎ;=ôr¹ür5å†bŠk$c­p+›Î©r/Ê.v ‡:ëŨø‰u‚e{ÊM“ew¢Àwœ´Q·ºRÍI5fMù«,^yƒMò6¤8X³°)~«³¶TãSñioo/ßwß}رc‡’þŒr®Û/[pdzA ›’1¥:x yM¬ C‰±jÑëÑJN”Áù¤ëÈiŒÕµ)­Õ¾ÊH‚éÀ–z®sÒž¶ÍœVóÒ$–$+Õ®Ó€LxÅÏ·ÊÐi5cÁ…dšCª¤ÑBïììÄàà ~þ󟣯¯“,tS¯â¤f8I›ªJ#•-t…'ÒF³¹é¬¢ÔñìE„U s)r9Œ–‹á¹œ qÂ!arÚ,,6È 'xRÓZ¥$ɹ)™ÌT묫זçžËå°wï^,_¾œ/¿ürìÝ»wŸsÅxXF2b(è:%Í_F³3í¯)äƒuû¶ŽvSà=Ó!Èiæi’ߤ3&i2(êœä èÅ Kœd¡›,DWƒ®ßr’ *k5‹Ne™N%‰)!˨ՙ’Å$«3I+øÍØØ.½ôR,[¶Œ}ôQôöö"›ÍÆÜÜ:æÐmà-ÃhRgÙ©2“Ód¹§Ü4RmÆb€Á¥Îi6q“r2;_ F’Æe¤\©Ö>ðÒZ®i¼$Ihc îU6¹uMJ‘mÛèééA±XÄ¢E‹ð™Ï|ÃÃÃF-éIÎU„noÓ)Å:^H³ïêEU‚™á0å4ŠZŠ–¹©xJµç'„ëØÔ$'IÉÐÑÐDç4^ïgb%CðrZuÃ$¹ ‡ë”õ´Ì©ÓJ ‰i…9ÑÝeŠN3¯´óÌŒ[n¹Ÿÿüçñÿñ¸øâ‹1gÎX–5eìßö«ýÚW_²ÜŒá›ßü&î»ï>\~ùå8ýôÓ1::j‚åü£“ó43“bÐJnŒn<&W¿î€O›e¯ò晼‹)”ÚÄsi=’º³ªU/‡Îƒ™¤ä&@ '`ªÝÔ±†’êå{Èð‡†Ng$á몘˜ ;)ˆ¡ìé®ëJ¤(e0UΜ~éÇàDXEUç!1C7 ¬e¹\F?Ý|óÍxä‘Gpýõ×£T*a||h¥›M‘W×çyèíí¥ññqôõõ13㨣ŽÂŠ+ÐÛÛK{÷îžì r®Ù‹ „£8„”}ê§ÒӀᯔsÍ誖br®Á/—3ê•èu†ÊVý^ÓÆ”‚Ò@p— l[k±¤Ôw«QšL_¤;Ðu¸&íVà6X¼b9‚λ§ÅcIã–kúd·…|UO\ÅûHœPáe¹É‡T¢J “7 Ù…ÉrÓ¨V« "{ì±ôŽw¼–e±eYI‡2£õÞØºß%]¯zŸÔóœ×êîaúÌ´†IãåV\m)ƈ×ñ·iÇ–ts‹×Oeœô?ICÏóز,xž(½<99‰B¡ÀBܾ&çr›V©C,ÎXYœ|곕r®“"þ­”sSßnEÍ5˰x¶´"çªñŠsÕaèÂеcCïõ¤° ÜöªÆTl0`¹%—»*éIq‹G¦Âx c] ¦UÖ5ë,$E„Ú´®žSi=™EDZ$ÑKV6t®#:Y|¾ëºÓy?5û4Ádº(¾'…&†Z¤ºP]ˆÄØ I¶œíqUÐò†H0ˆ(6ÕØ¦’&.šv T‡¢¹Ë©zŸ«b»m9oËy[Î÷m9—éí ER’éºÁk\Ÿ1—¹"¦C:­ÜàÎÛjÊ]yW{Rrž–Ñt‰ªMJ‘hëÞ$-iT.()6sÝHZc¢¶/1%Ë®,ñY—®2ùË`"aCSµÔ”%eÒH’KNó;9‰)òØ„ RiìšØ­ìÊSñ¼–L›’4FY›WÉO[ÎÛrÞ–ó?9¯Wu[ãW˜¨ »6–\!¡‚±¹)?ÜdÐis` ”„U ŠdùZâñ˜à; …tÑuÝa ô§ÙÌ•+6eP$þ‰ß%­gµÍ´˜ tÈ®ˆÀª8¤& ”U\¯Š¿ºõLzPÜ7¶f KJU/,gĆ<¯J"•»Üiâ  uò–JàYAëÌY‚ܖ󶜷å|‘óàzKb.VÈ,¾1¢Ù¡‘…Ý$Šß°¸¦ Á‰ÝKf"–@|‘1Z‚ûS0£N˜TÙª–‡,hʺ —%HAñ¹!O‚Ѭ%'4ÇQÎ[(qmä1)6SÕ&i,ñsãz%` D6k°k6#ÝÚÇ6ñ¤ñׄaÛPœœfcdF䣨÷’Œ°BVÚrÞ–ó¶œï£r.ÞÇ’üú¤pq‘ø·Îí¦‰¡¨\*·K']j¤‰ i“j4Íâe÷‰±­´½¡5ušI±5RÕ9 ɪyÆ\[‚KM¤•Ñ¥¨q'’b­M1%Ò´™%UIŠ×Ê.RR¸©H^+ FÖm*É32_ªÜqŠde÷( ñg2È•ŠÆº¸´Žåu ÅØIáÂS^ۖ󶜷å|ß—óD =6!¹Xþ7ÌÏ¢6*Ö"Êš\j2"k%”¾°†¤JTP¸?"¨DР•ÉèM:­_çôBJ•æ&®“)N„&TÄÕ´0«),°‚YUˆX$&$©@_ bë#mjÚ®K*kAØ4Uȇrfoló1Y d,ÒÅ6…5–y— ¨‰ªCFÙÕNG£¶œ·å¼-çû†œÃÐ>Õäÿ'¤,j×0³Êe—x­*¾!Ås€„ºGçXŽ»¥m.oBSKHÜP–L˜´@¹as$•&+Å#Ó4ˆNZƒšâo$Åê”–Z¦‹m™jCMMÒtà3i¸r `¹n[Åw*­ZºWê,,¬¨b|šš®Ü)_ÖXom9oËy[Î÷A9—¿³LÚbtKÑNÓº‘\}ÆVpSéUœVxMq4#™bp­ôäÉÔ1)¡® !ŠU}àe6ÅŠ¥6œ»Ò?‰ÎIñ±$ЇVzW'%-­M÷Ò]o‚áTÄ¥SË€´É±Áý—”áۖ󶜷å|–sQ¶UHqMYŠi3%%ÍšU|CzVä:1VamÀ€PE7$%ô%â•I] Tð‡"­d ”4ñ:9žB&@L!)˜ˆ Â"?P£J%ZeýÒfà*QÂ4pŠ:­8vl£*#›dúI›"éân¨Jž©²‹µÙãr&´(;  IëJk[oËy[ÎÛrþ'$ç²…Ž7V,±@ihêT²¤Pš&ò*d,ÑÅ£ÂâÕ,Åæƒ_L+0&mQƒfK¦Ñh†i’Ž[õ!ž\”äU¹ÀDÁ% ò‘ÖzÓ<›TîXLÏ3Wþ·®dÆ­KúÆ}F¦ç«4p¹ÜEå¶3u~254iËy[ÎÛr¾ïʹü²f»ÒE'D®Õ˜ÿ±ë$´¥À„”5©-IhM'?_|†X&A$RÌ9ñ½X‚ #"A*ƒP€-Äž/%\°aÞ,¢C‰.¶„r!ݦÈ:W¬¡E"+ܨ‘±ŒD¦ŸHU’ ÈA¦¹<~A*ŸØ°Æ*P N"e‰8©GÅ œ´ˆƒ„°ÁžXі󶜷åüOPέ€\Ë !4DUj0*ˆI)+VÍAÕÑ ’Ð…äk u±Œ4ýmUœ ׌JõµÚÅ‘au¦‰c±JH‹›EB<ËeÅÆ¥Z#j¡C P”±’®•¤j½4Â:<²f˜É©á°Kª©•yMí4“ê…(n‘ûj`8ÛrÞ–ó¶œïCr.礈‰@Ñ#V™ÞC–¬T¶@ ð}`Ép )˜/t•‰Êhö9ŽÍIWϨÉbŒ¹¿4ñ%†¢q‚ªŽV kkÔ(Á%Ä ®8Uü }|IŠUÆxBánei̬jD¡ _¸>r}ª<> ¸‚ÄMKnyE¬ X‘&"ª2Å#ÊÚb›‘5.9˜äPÚ0´ =òÌm9oËy[ÎÿôåÜJáZPúîM¸"h?4ÈI² E¡ÉËàP\Q¦D^ÄËD4(Ir]f’*6‘`V¯ŽN‘¦¦fõrV£Áåiæ ê’*K9!æ•ä®cSƯÁ}ÊA0Y;Jm^´È4.,]¬MF}ŠŒ%!ÛZe1±ÉjJ°ÚbŒ¦áJ·©6v­ËLoËy[ÎÛr¾ïʹ“À0Ú˜– µ'uŠ ‡®þUS<¯ºKZª<>N°28M $Á5·†YEÆ!•ûI¡i³æþ:Ð RñœvP 8¡ÛL4‹¦½‡Ü8BjÚÅLŠc0æÎËÿð÷ÿ{÷Ž"›q¦"ô¯E8t¿•¿§×H´×kóiEH¦2>ݼù5l¤4…9¦ù®ž ùuZ¯×ƒgä{±A Ѧ®úík=”Ól~m9oËy[ÎÿDäÜj¾!¸®Kccãu0SÞgn¢=5>b ‰Gr‡p¼ÿkS³ðïPÒ¨F“ŒýßDÓ™—?6ŽºOˆƒç²ÿ[pxoÿûÀ1áOty±,óÑ|„kä‡ü¹sFø\(ÜCÁï"4äèõþóž×TÆÂ1øÀKÆŸ‘q Ïž  ElBäyÍùˆã \G w7{7×!#‡|Ü7âÚ çÆ>op“w¸É/áüÃ÷Íç…caŸ¯„2Z4ù !Opã÷Au¯Ô*‘®Ô^/²P4ÛàÕ`<ÒEhaYb=¤Iê2Ñ\'mJ¸_À$È!…ã iÂT[ÎÛrÞ–ó}\΃g.w""ض­Ó:L.´n1ñßœRs‡á3¤ÐžÐ‚Ëî¿Ë§_Òó“Ü@*·$kž©£³I+fƒ†ÚŠ{Êä†4Í¡·æT]q&š³Áõ‹xUÇ“IôOZw¤ÕVÞ·å¼-çm9ß圅`'PN&''i|| ¡u®_pÓk*nNñïö«ýÚxB·QNU.^¹ã”÷lËyûÕ–ó}LÎ=ÏCÿº»»E`¦ÎÎNtvuQBü$iДðyRü É h5n’¤ S‹÷J«ëÆ®û;)¦„”t@ ú›Ö¤•{aŠc&Øtï[±8ÒÜÏÄüæÛ*O§‘‰4ë@)ø5-ÍÛrÞ–ó¶œïCrnÙ#ÁB‡œߊƑFÛf˜kÓÜŸ[Üt8Å}§ÓÂÒXŒtI IãMUŸšB l5Yˆ[dÔ$š§¡…nÃLkáñy$MÝ6M‘·Zåï4|>•Ä6nñú¶œ·å¼-çûœ§‚~M¡M§Õ<’b­º#ÒB\r ÏN£¹§ù}ÚŒ] ÒÆÅS{+®iîÁ ëM-ð¥©Ð--O´*SáëT5¸¯Ñ’å¶œ·å¼-çúrEŠcÿùäg&ÂOY$Òe8°Ÿ¥‰°ípÚÈ$?Ž ú&47rM)H ò&ƒK"?³1¨Æç®b3ñ3˜B³N±1¸ÆÃÜÊOŒà<‹xËþÝý|Yn 0ùÏæ€ìÿžý¡øw ÒøiÐ(f“6¨ÜHÉ»õøc£èL bÿ?DÄ &KDÜüªù ³¿œ"ý}º€„dKRp*7%âP7ž*-W¸f¢ì…HH>í)\L5)\gb"Ž0]@ZnR–õ 29Üø²‘b*Б|‚øÿm"9 sS›kÞä29é$œUsˆä³Gc ÁºqøÞ_»&DaÚosâ!ôšDtö™>ìW¸†MŽRË0nýÃÛS[ÎÿLåœ}ütjŽÆtð´Z;ÿzXè­zˆ|ÙE˜ñ/5\+øçzë¸U·|«^§´ôlÙB;æˆèy )È«(O$‹ÄM¡ÑËÂBŽ …ž›ÛNcY5 ŸËI§ðñ7ùpŸ · eÓ‚p«÷÷÷à¶¢‘„›¬/Øhá}…½VÜ Ë‚·S‘˜Dnn1Á&Éa£‚æ÷á;ÿ„â¥8Üæ/‰%©ÖR!GÜÜäň' ø»Èýß6—@¶°c# ˆ¿ËìßÈÇ“¤àx-è쮹 Ç—p)PpX)@‹6ÆàßÁÀHÐL¢Gn0â`زÎRP{Ð(hÞÁ"ÕXØfHiÅ…d V…ƒ%‘è_Å‚BÒÜï‰ÄsB­-çrNMÉ#Žm«Žˆ©X¨IYèI±ð¤züäC“€zÝq]PØš +.¶í¼†pÌëQ‡ÃóŒ!—€­=·›/Z‚Z肉Q­C>16Š ÷†p—¡ ž2Ò(‰E £©ÚûŠu M5wêD¡U"¨ÞâL›{~pjˆ¿ˆÐ¥©¡ V—D3ÁR !xC5»a”ºzäî]#Dv-¦ÖßTáCõßÿEhA6 2ÅqG,Ì`Ã÷7÷¸ ËÙßä© -Ù\KÑàmÒD’GŠZ8¢%éµJ±ƒá¦Ð¡yjû%‘ÕÌ>Rù­B êuY°pâë)0 5y3´zÃÍÀ?Hq"jDÛ(:ÈæØ›¸8xthI k!d:b†vlˆðEžæQ@ŠƒÚrþç$çÌ€c[ذ»FÿõøjÞ´c¥ò¿–¤¦x̘3=w¿ÏÈQÝõB§—mMT®ÙÂϯß.ïLirZkRdšÄºdsŸAYG-˜ƒ#†§QÆfe ]¸K¢†(©ªþ·ëF< Dônž"ƒ¸7çÎRÓ†È$ªµ’Žœ$».bZ¯t–vCæ Ë®¦è®˜e"ñ}¿³à2ÉEûŒÅ Žjƒ8/i¹B«IäšPåžËQïn¸iE¶@Yd¥Ö÷Ó“¼y† ½ià “ÎúèÊ>qÁ' y ‹"ÁšØþYÐ< Bó4p°sS§h2è±eŠœ)Ty \Q!pJÈÍ> kNÒ´˜£GYÃ%qñ):öP!j°Çm ‚†¶m9ÿ—sÛvŒ×ñÀ/ŸÁ‡ÌÂÅï}+{ž'{RRõOq}+õûiî¡ýŒ°,Â#O®Áù {ÆQ<ÔëÀe†E„ªKxâ¹°[Á’óOfHÍ[¦èBŸjR\Ú$ÑÄ&6¶e¡P,ÑÝÿñ;Îem,<¸/²–RRI»# Íq4h0/‡Þ%Q·ö _Èý2ÜØ#A´hèÄÆ} ˜xM_#X²&|õ´; 7˜ Êê{â„9ê—ˆ1œ0Ÿæ‰ž¾¦ëòŽs9)7Ißç,w`xSàþä¦úÀb Øç?ØÝp¹‡4ä¦-Ùä9øOjFW!ÄÃŽ¢“¡yºSÄ4‹›Ä¡{Bî{ÄU( ®6ÍXŽ)8TÍöÎMá D‹[; …îX‹M¤µbIbÚrþç"綬Û2ŽîÎ,þêÔ#y¢\'Û²XÎ{h!é+­Ë)]î:póý}­÷ÿžz$­ykGÆ1»n‰,ÀeÏ­ßÎ×]|ꮆaZt¹£—»1æmÈUHC§È¦1­¿ï9õpºûÁçù-ÃÓÈu]MRœ¨‡™>ºž¼;"ô¢²&eQn‚ä _äš2q‰ 6M˜á¦Õ¼ã+Äd)¢Ú– 5#~¢‰¡f;n>PÐæ8úüÈ&ÙLŠñ7µh£‘îÅMƒD0YÒòK1#5SȆvw·SÁ±ÈQÁfáÿAþQÏ Í?-ö!$çr4ÐJbþ…AÄ0n)&65OÐF™€®([žÜT63 Bïa¬6Ì’$Œ–Gœ ÌbÒ" §«Å‚Tâ=ÏÇ "å1é!L‘>–ÁúpŒ>áÏ’§DdwÁ’•Ù&¼/EéÝ–ó??9Áõ˜²¹NŽ$!râ!4•RÁ4÷â”›~/fDr6×Iž×Üg‚ÕêÀó<¶-+º¾S³¼9å|§úÛTëÀìÁq®¹n¬¯%È …hÌD±ÒHfoÑeªóѬƒXö±DstÄ„ŽF›O¶¢ ·%ÀÆô÷†©Fšœ fÙ,QÇtXªÇ’º)ê#Ž¢…@-E}ØÔÔÄC¿'Éã µC‰:DAþ%¤x„8Ѥwí6S»‘Ù°),Ä0¨£¹UíýsœD[:·$ñkþ0’¨F¤ò ļ¨,@SœFR+A!ú9Q¹ikS`ì XÔ$\ÊG‚ìàKû“ `e'²ž ã„Ì6H"Ö„,gRˆ0‰2!>*å<‘¦¡9EØ–ó?;9¼qì‰î)ù ´ßyžG¹Ž ²Ù <_=ó˜a;uvf`;rd²Êu-Z\’>IDATdàzîÿoïJ£ì*«ì>oª!2Çó´ˆÝÌM#6 "‚6ƒ‚Ái©™PEmPÓAé´€Ý a!M ˆ²‚»¡†XU©„Ôüî½»¼w¿ïœïÞWõ*âRµV¥ò¦ûîýî7½÷ÙG¤\FG[Y:Úʈ“9ß‘÷å=T2±àOFX)’j}ÒçŠÅ¢þ•b±èÞ¨’$‘b±˜~Ö‡$ŠÅ"ꯧÚó=©öÁ|—ÔqKû+áñ%ÿ=µ×!HlMt7û”ì¾5P:3ùMrf!êŸtÈ3póG˜¦Ã\ˆ ËæHÎ|¯ƒ.¯•UŠÉS>gaÛ^S«§,ŒH1íÈàô¡ÚD>êm•a^àlÒ‘` HZ#jíôyVFT“Ew”*›9›äTÝ–¦p1»±ÌÉÊòmíN'Î_E 5ÒžBµŸÄ}H+™ˆV‰$¯ïئõ’x"T‰(^< ž o {k/a çulÂdà‰q¾­Œs:iä±ZZZ°fõZ´¶µaÝ÷D5ª¢P(àÕW^Á+¯¼Œ¹swDWW:&w`p`û°?¢××á‹7Þ†Bûv¸ì²KÐ?0‚¿ÎŒª$ÓóD±TÂp﫸í¶eøßî-˜5·Ç¿ÿtÎnC'æ£år+V¬ÀÂ… ‘.ìP*•p×]wañâż뮻dñâňã8Ó°ÅR½¯­Ã÷¾{ŠoÛK?q:EZ°3n.ž’¸ë=5ÑPmª¾ÛBƒUi>ÄÅ&šjô¿¹YZªn‚K€UÒ¦tËhI¡dX 1ŠUíè€3h~“ùt³‰H蟡éˆW©£PœF[ô`´B̦«íL• ÁŽ+>ÑÛµsd›26ì–Þ!½¨y«O5“@Ú•UQ¹ET|°oÕtiF” íEB]¼*€”¦*©§æ¥mš6©øð€bQlº”±Ì•2ÙÈœ¸¾›±„ã¾i­B­YRobCFOŒómjœ$J´ŸþeÎs™×ZJàƒÜ'åJmãT(±~ýzÞyÇϰaì]³O­zýç ­\ùÙ¥ØgÑ©<òC0ÛµW¸]{­•"’¤áw6ÿ›"’w+éØú_zçžû TÞ±ÞsôÌ® ñ† Ï ¨V«:¢&\}õÕ(”[P*•X{¾¶l^vÙe€[n¹Å%‹èhœ°yÎ;ã<Ì=ê4ÌKžÀ?|üK¥ZÛ”@ÅqˆÔQfè²F¢ÆR#3ݲ ׂèt[ëÙ¦=“Ê#»©´bPÍ‹¦ÊMfÕ-&,r¢ŸðêÊшͳÕI¾FyÃtÆTÇ"iŽÕt ín_eð(¥§¥§Ãðƒ¢¼už²„UBKÊ:Cæ"Ó”^ñÕ’aéÐ8—V%:ÈKpœŽÉ Œ‚éFI+XRSynˆ±¹éP<êé–GCUÓkðT•Í…#ÂDlƒi6íˆkÇ4ò[ÒÒ(ÜÓ•ÑAê@ŽAŸ¶Ü¹Ir#J/D~n–EW$‰¥Ö“©MÁÄ8ß6Æy°»LR™KcQWÃ43ÒÚÚŠöI“P¬G©Å’°µ­U*• vÙuW´µµaíÚÕ˜1s†<ÿÂÿàÛ÷=,gL~;.¾âT†7á†k¿*Ͼ2Ä3?ý%9x·IØ2‡}»ÙÜñè9âP/ê’h`åÏ¡e·wáÌ“¯¿ïÝ8í¬óPAkk+ž¸ïVÜrßc˜̇弓ÄìÙ³å™û‚[ñZftò‚/}^ÞÞZÆÔiÓçœsNm1-°â¶oàÞǞǢï?bwüöÅ hïÜg9G®]µ:'¿X;¹R Øø"®üÚ7ÑÍ™XzÑe2wj¿|àW2Gzpû/ÀL“O^¼{Ξ‚(Š‚Muî5£ ŸìŽ”^[«¶Ãbö°á)í×¢3RÒ …y{x2à¨Â#zݲ °”»‡ÛÛ:ö–jþ7©7bjÜÊ”ú¹§&)uš:¥ç®F$ä†Ùh#-wÒ"Z*DWâ¶FA+KŠ 8ƒµ¡qŒWN9—©©…b†t*¤[àíSÜbF ö~¢•VÔ!Rѱ»ôå+2*ªÎAý%ì1í0u¸ž¾¢´cÙ©Pz'ª¿3í²D6fpGê+šŸÝm+9 &S®ÔÛ”¸à*Ûÿ‰ £AZQ:ýå;zxÀÁŠIñØíÄ8ߦƹ?-×ý™J2ÿÏ{ì”+-üí3Ïà‘Gç£+Wrå¯Wâ©U«ÐÑÑÁ5kÖà÷ÞƒŽŽÉÁž;c·ÎNžõ±%˜Ù:‚‹>q:†vz¾ø¹3ñƒ/ŸÇÿ¯€ÖrAgÞyé¿áë %UØ Æ¸mz˜'|ðl\uíu¼÷ÁÇ,W*xìG_À%w¬Çg/¸ñîT«#øôžàÙŸ\Šc÷ÁI'\X¾¦.¿è µÇ˯9 ¼:ß¼á«|zÙ¥¼ýé^Ni-pÖ”œsÊÇpÊÒ‹xý×®Äpû^à‡Î^‚ù'-Á§ÿñ¸è‚Ïþýž;xÜ?æIþ8>rÌŽ<í¤%‰a©6Õ•z?Ã@neó”ÿž‹A4Ó(~)aЬÚ"kÓ‰œ$€ E$woéS}DBD1Ã[2 aŒ>œñE.ú•Yk$GAÛˆºS3Sa¥·ÉPö¦A0´»¯ ÒZivújÑ­‹ÐMå¼E| hMRLF,©&q×è” ¦{ÏÿúÃJ}îmM|–{Ú¦ ÎÀ¤1µUU™`xT㹚 „iÔ¢"YGP “BoB@ßùUÌ¤Äæ†Õ_Œ%HN¬&QÂ=„—0“¨x²Øüú‰q¾MŒsÕ¡¢8F¬"½føZ}ˆ5NyÕƒLjðt¡€?þq=þî w¡\*±­½ ÕjUFª# S¦LÁóÄKÏ=ËÛî^-_ºÏ=TÅÓOÿš{Üþ#ráYÒ7؇ývL²?Š"$^—5¡a„(Š@ÖÙå¨Ê¨07,/®{ë^øo<°ìr,¿ÿ$,¿a ®ùç‡ð³ÕOaf4‚=/½'äòŸ^í…(í÷%\ù݃j·&‰P»Æ©À˯[!ûÜÁO¿]^Àï®øþàrD °}Ëf¾ç°cñíë¯Çñ‡íÍ•÷?…‡Ö¼ÄŽ[¿.+ ÀƒwÞŽ.\ŠB©‚Û—‡î¹ ûb‡ïÜÅ7z»ÑÖÖ*¬-×,Dâ(Êõ*_ \rIµz¬ˆˆ2¢Q³4½£²r5 æè̽ |0‚L¤:9åì·ƒIÎ@£æ±rþc*·DdL„˜9jßqÿ¢ìBÓÃy×δau3ne3Ô®Ci¤jæS¹UEë”eÍŠäáÊ– W÷Qô¬•€Ù”^‘PPdµl4'½¶§»ïta‹‘°…ȳÆ6uv–X'oUÜU+3…VI©zê5\ÃC*ØX¬ƒ}Keà.6ª^ÇÛ¦WàÓÞ©½EΕ¢íKÃFó–¬ú¼]ÿŸçÛÊ8OofBT«UT«Õñx”™wV« z7nÄùŸú >xòû1B ,ÀožXŸß±Q!މãI P«×=44Œ×»{qø± ð•¯|¯½ô2¦~ñ*™=£ƒþ¼1׿·ÙŸjµˆ$I4¢a>G1¢¨êt¤ox˜“'cÞ^ûã{ˆcß·{À|K°9Š1 À[¶ mÊ ” H™ÜÿûJeLmmC‚¢ rÒ¿³wßßûö5øóúPž4;Ï›ƒgÖ>ƒÞž.|ãöGpÌC÷á«W.ÁÐÅÿ"•¡!~ôü3dÉéBWÏ&\yÕ×1{ú cjÿôaRû$DqA⸊(*¹ï)ˆÔ xɺ´Äæ‚Jj…ÌŽ‚ra²udÕ07:O mHFÊ)w1qb¦98d®iŸÄi5ÒsÖ9ÃFœ+¢C™ŒÕ…q|òÙÚÐ_ٜр’LÓo âê2jœŠƒçnF@R‹e¼øË‚jLá?*ÆRV ‘LœJ?}‘>ëÃsTѵ‡MM™Õ_RÈ;ý¯h Z4é®!X*Å–wÔ0©ÞŽtwK¶èhV­BjwN#EWr±ô~i%½Ôfúþë„WT¢8GmÖ[Y|m„4q¦V®y©ˆŸÌ5h‰ú:UáÆšSÇk^‚"êœêª7†}XÝ#1éùã|›çÞHq4H¤ÍœçI £(BwW77õ ««]ûÐõç.V«¢8ÆÈȫՈ#Õ*p``IîÝ9­£¿ïâÎ;ïŒußËgŸ| •–ö± uäBíõÇIb ø)ºÿÖ=ìµ°¯µ…kÖ¬ÁNóâ¿~÷"«ÃƒxtùU”yG?úÞN~àÒ²cÊþjÙuõkèçHœ8.l``€Ðßß$ÿ®yãÏWc—ÎN¼ñêïpÿÏnEۤɬ½ÿà‹ðÞ…ïäº'Wñ„Eó±zí:¾6PäÎ;íÀ‡ï¸C}›X­V1E®Ç 0©_€(:¶ÁR[A:ÍØwd•‹ì¦‚ ?ÎÊJïJÜXæ…,bÏAID0ª–‡W“³ϸi-µNufŽ­V–úRð”»ÆtÔ ¬—²ñTA:­ª€F´Å“šCiDtùÌåD¢¸^O&Š"+…*7Üß•`©Œ¹ÌñiôÑB£ñvsAÞ]!zi›×çc¦7ÆŸ«'é2»móýõ¥Hg>§a”5/ÕÆT8öNºÜ¬ †Šº¿©~MŒªOÒ®F“ƒM›iLJ½¹¼ûtJ®# "AϪWã¨UnqØnF»âü¦Ee.)NCêÂ17&a-à4¦.´†¦ã|çNFJ"‰#$I$I!øõ>–$Ž„q,ÃCrÈ¡‡aþüù2µ£‚·Íž†YÓ;°×^{ÊÑG¿S§LÁ¼yóäm³gËŽsçJ È¡‡†êÈ  ·ÏÁu_¹«r¹,>éÜ÷äë2}§ý èïDp^˼Î$2Q¼Ÿ˜$`KRC 000$G¼s|ëܸfé¹rì±ÇaÙ“‰Ü}ó¥@ËG®½CþiîërêN“ßï.ä ƒ’‚*‰säG½`ÈQG-ð™/ß(3Ö݉cŽy/®¾éß0kß…h)$XpÔ9û¬³pÄáGaÝÛËG?~ª o·n»äLùÎ%çÊñ',–5=ÓQl›*°:&u8„ãàƒ–‚ˆ0I$I¯#‰%‰É™W!?¼ù¦ä¬sΑžînUÆ0û’’ VçêȬ”1«Ï€¦ø!aJ0¨Â–!$$ÚøÙY{•ª¥d©w ~eoáŠdxdPA`à‡I£Aq%ÍéÕLÅI¦•£|é¦rZUSJ«YûÜ¢ãqÑq‹2_ÞS»†TØžžîô/ Âú_ 6÷vŸÁHu$çúDÃìéÖmÌÞM›L›÷ôôdešAœ$9óq(гX’rpÈÙ)+…3õ¦ÓT~ÔfNB’It̸ó Â<ÒL½oÑù+~Ë'ȉ/ó·¦’ñ°¦}É3A¾Ó“µ½4à‚Z ’Ï„ùÅÕlº­ š;?WŠŽ1 Ò²Å+Þ–£Ô©L"º„§ZÄyY樉]n¬O— ¸ð6èÞ#‹XJSŠZÎáЙ׷SMl¢g‡@ðWlØÑtýQi¼Nlê‰6žý4تß/dBÂüãPÂ6üŽl¿e® ]`r‘WÏ‘ã|ç)‘Ÿ0A'„ŒªjU]^­V‘—6NåR9oƒô×ø¡^°³6 A‘$ …±µvI’@:qLX©TzÓÎ÷ÍøL’Ôˆ¾$ç¢K ÕÓe(‘gL`\høzcäÀ\V¸`LŸ¸½'¼r™´$•ÑÁ`!ðÃO$“Ç£?->qWô5½•õskÙ{5¬"Åfî¤FV¬•]U¡Ý¦©l˜ƒ“½br_M))­îÍó¤u3 ªHˆ’¤<×Ë¡ƒ²bN j%²N(û%º¸Ãæ•ÉÍ*Z3n®Jݬ"$;s›Äqp¥ªÌ%V2 g Ì”–÷À²ö;  öéo^îÏÌXÑå»T{ù±h;I`&*yÑ•Qè4ö‰qþ–ç„ \,È@ÿFÕ(›‚‘ÝóŒZM¬\*qÔ5ˆ¹{74€ÏÑà=å3¦'q,#Ã(uQå-¥"¶ô  X€ÀUoi|ü …š§{vmþ\Ç:ÿÑ^µþ{:;‹‚á‘HÚ*%†j[S>5+a1Ù½’cQ/Pö‚1;tZ»åÌ11€òÞ2Õ®DïžM% £-µçM3EÓi¥¤jY<52TÛˆ­‹%~ù ³N4Sœ^‡Ø¤dIVqY?i«é”—|&QÄ+³µ1µ¯ñ$a¤–gÒ¬Õ´%¼Öq“Jƒã'^fIu¦ÅR©¡Uñ{„"% aëj¢ÑåSC…¸Î½rgîS–ƒâçW_3pçÑwß7›ëÌ ÑàílD×ñÕYé|ØÄWWÓ^yôEÊ2>ào½_+hcq.@ÌÆ¡t;"Wtbœo;ãc½ÖLj›l‡f6þšE0TñðÓ/ãÐw—$1ˆB‡®³l )Fw!ª^¤ Pר–=›ê¬á[ {§U©2㟙“QOíM+@Òzg­R—ØjK·PP—Âr[l±Ù>³,†鸶“zµEA»Äj»êÞé<«ŠK¤jgåY!þ$‚ë…ÄClsbtT’Ù­K¦àVgéA禪M˜Ý£S:'úB›V–fàzåU® kaû˜6ð´9ìÈò­*ž6&x1uU$(Éòw© *S?UçU›jª’™Ês¡y1…D˜µpÍv@Q3¨‰61Îßâã<&0­½('.8€+×¾ˆ«^E!S¡ ½¹Åk¬HV0v©Òæ8t‚ ‰¹³:pâQódæä2£¸–ž¨ów›‚ðËÕ¯3NšÏ4Úœ¼Ù:ÇÙY>5IˆÖJIÚ¯“s&‰¥˜Jf†ž†Êêâ±UX ª7³Ä,*C› £K ÓpjM¬¬y[oN“pQcLTiS®TDWÙ/SãÙÒDN­Doú%ÆÄ©«D"o³’ÊÄ]¬ê¡H=2,‰_ïHúéɈ°u4؇Ç =¸i&½¼£Š˜)¬u‰@4þ–éñ¨m<Y%Cø7‹ÝIPyÚ„O6­ëÐTê!{É!:©JNK†¦ÕµÌ%0ÃQ&o.Õ:Këæ„$Z6î—c­¶ h_J…bÝ`s&VµD…ùÄ8«ó„ ælWÄ©GïbQF[ZÆRÀ£‰…z« ä­€Üâ8&1â„fœÇ Ù^Ý{ßwŽ@š†¼ÇжÇsýãiã±~ϰ`KR¢ €ª’Ÿ%4\ )7ÜÍHVrbеšÈ™ä±3˜‹r æ[Éçæ$Ë?¦Ç¦äñ‰æ"(sÈ%¶ÚAL р"ÍÔñÈ8&Y;Òœ…T‚`[ò*‘HþÕ©0TÂû(9Wo'väÞ ÑÀ´%s¬!W脹› š]“öÌ£‡$ÿ–(ÀßzaØõ=„Œ¿ùò J ž»˜ÒÙjPjT§Ë庲·VòÛL·‚îGºSLŒóm`œ‹‚-˜Äȹ rG O3³ŒÛ# ®«?LשÁQ¬çßoåâÛ ï/[íµš0”±kw©R©¸NVWJ“7ZÆqã¹ñv®¼s’1wwÍó#Í>–­l3i²íšåv¸•m÷—òF:¶lÅÀë~Žv|ÙŠþ$oBßO{r”ï”qŽ©­é7ã|bœOŒó·È8”Ke”J%”Ö¯ÿnüÖ è7†9'ÔˆQxƒFp›€tÆ4;hpN£Á;l¢ÃlÍcÉù;Úùv½ǤȜvBíÙÌëü îÁxŽßL{¶sïýënmßkæz›GeL¡‰6kæœ'ÆùÄ8Ÿço¡q^*•°aÃü?d/O~#7„½IEND®B`‚KCemu-0.5.1/doc/window-video.png0000644000175000017500000007235512417262523016653 0ustar glaubitzglaubitz‰PNG  IHDRô\>™L sRGB®ÎébKGDÿÿÿ ½§“ pHYsÄÄ•+ IDATxÚìÝwxÅÀñïÕtHï…ZUÅN‘¢4El(ü¬A)¢ MP¥#*6°Plˆ ( PC‡4é!ýÚþþ¹péy?ϳÜÞÌììÜnÞÝÙ]•¢(Õí©IÅg !„¢Føýó骢óTWôžÏÏVì½BòàÒZB!D µüÇ­ä&ç×EcUÅzÏçg+/=7€ )ÙÒZB!j¼äôlLfËUåÕjÔxÔu¬•åzÖ±`ÉòO­A]¥(Š5˜Ç%eÉÖ!„¢Öó”KYݽéªò7ïÐ÷:NÅ‚om*71-‹í›×ó뢱*-€½W(%]OB!jš”K9$¥erlïfºôìOh[¥òIeÓ¯?д]gÜë8ÔÊr¯Œáªûžœ¨ zúE²óŒ%2üþzÌÿåœÍg Äy®üN!„¨jS2Ùý÷/Ü}__|ݯªŒƒ§.plïf:Ü}?>—˨må\HÊ`ׯoÑÌ(«s^ð݈ò÷¼ŸÏ•8¯àóðûëY? !n¬[vpß=·UI:!jÕå¡`¾îΘ-WwvÙÛÝ…c—Ë*ˆiµ­Ü+]Е2ºÂÈ^õøè§³%¦-:ONß‹ëå¿wÐõî[­óL9iìÛ’ “‚£¦4ó¯“ÿ…ÅD\l,ÓÉÈÉâ€V§ÇÉɉöakÉ[Ø»}©&…F·´§ž½Ææ[SîyþÚƒZë‚Å”ÁÚYè;þ[›6*Ú†I'DM¡VÞµe±(×\VAÌ*©ÜŸ7m«P9t¹£Rå^YvѼ¥Í/Zn‰ÝRF.æsן)5]Áü¹ëÏ”[žUeó?»lQç»n!'1ŠC‰&¿ÑŸÆ*6®û›5q M¼5ìÝwš[ïlÎ3¶'ÄÓ ½Z!+3‡¸‹©Ìüþ(íZÖô naߎÆM@ {5ŸÏúˆ†­¹Ô͹çÙ}Ú…µ³bÌMä±)›KÜOË]Šì¿¢Æ÷ÐUU¶½ªT*k¥•;oLŸ2Ë1g]±z”W·[Ë1g=;ß^æü’Ê-¥‡^þJêÝÀúÿÖ)Ò#— LÜxé1'9­¸ñÞèöx«rùìÓMlºäKÛúvØ{Š—FÞÏmîðÚyç@—ÌêûУSΪÜËÛ±Bb\4ç.$“•gF«·ÇË/ÐÀÂA,nÝ@›†~œŒM$Ë`ÁÎщ zõP§_ :!•\£‚½£3!á笵É×éÎ[Š•U0¯¤4W›Ó$Øž’™ß׋ûôcý÷i·ô ñäEÚ>Ô€öàÐ Œ¾ã¿µ–W°Ÿ&ÅEqö|2Y3z{§bK©h; ÀÅØ³Dŧ’gFcg—?¡A¨T²=ŠÚÔC¿ör‹¦¯L¹óÆôaÄœu%<”Un¥{èï­= À«}–˜þÊϯömhM/ÄõtÁÉŸŸh>'…YŸüÍYׯ´iàHÊÉCõéLGO‡Öüƪ3®´ oN­•q‰¿ÿ“FÍ[bQ,Ä=„w«¼õHG‚]ud_ÊdÛŽC,Èå¶æ¾lÙ¶ÛzVàõñÖ÷\GKJb kÙƒ±UsFµõÇÇIMÒÅ$V}¿›¥ Çì·9›pÏlÊ*¼EÓeïÝ€ÄÝ;Izà<µÇ;{-™fwÈáT¶+9`6e3ww.éÆCÅÊ‹‹<€[Ë–Ì|ôvëhIONå÷¿"ŠìÏå· D9@Pûp^zìNêêȾ”Á¿»Ž²lwZøKPÕØC¯º3J*Wô¤K/· à–ŒKJ_^¹÷Ýs#欳æ/ÈGÌYÇ}÷ÜVf¹¥ôÐËnò®‘Ë5tq£5ëØž}’}!Šq‹÷¡jÒœP'-Š¢p69Éaù=Ñ{3hÖ¶:µ PáTÇ•†u\Q…¬¸XÂ;òZOâvïæÉ5Q4ºýN¦=p~–ßøàœ‹Í2ŸõÍ`òë°ókÎ’[ð¿!=9÷ïnÆÏÙ…½oS–¼ÆóCÚ2pÆA›}CUÊ5°òö»ü½YOwìÉ`ÆmuÖΉw.æÐX9‡Oû[qR«ˆÝµ“Kîõàâ ›¬™çO`hvð#áð!^øþ8jz=x¯mºØòÛ¡¾ƒºý¼ÚÍ‹“›·ñèhÓµ3î»6òÎñLƒœdõ¤‡®T¨Ü.wÙŽ/ÙôÏÎrzÒe—Ûå®[m‚ú•Á¼Ë]·–X‡r¯¡Œæ2W¸è÷Ÿg®>Îë‡2¦_£2Ó QÝÞîÛ• ~ûõ ®Á„éUÖí0Ó¬Ð@¯à¬ÑB{“C ½Ç“qŒÆ €Å?Ÿ#Ëdáж]ð@šujCú[{mÒðË9›·àèÁã@ æþrŽ æ­8rð% ƒŠyë•a”’÷‘Û:´±öÔoëЦÔýÈ> ˜¿îÅpk'u 'ã­œ"›áO¹¡(fþšLƒæþ½h›ïTt¯öàãïŽQ§qK‚IgÍw{x¢å=•j‡“J&¯Í?Õ¿àÏó4kÀî?÷Bçûh|Wk2þÜ…Á·±l˜¢šzè…;pV®ášË*Ø×Ê+·¬eý®2åV¤¼’Ê-1 —Ô}"ía[–ÿ!u@±Ï6ó®”:€•®«e«×ÍkkÏ0³o<ÓÓ¿óS´…æAù£Û5*Î,4¶SS_§&ÓbÁI]<¢g˜šÙçþ©S¶ùNgïbδ™e°p‹Vƒb)ÜñÎ,Ü¢, ù‹(z4­%j±( ·´o]þiDµ~º³,<“ÃȆþ<湓5´¤ƒ£†äÓ»ˆÔùÓV]<Û%³…—ÐεÐF§F…+ÆÜC•n‡LE!Ô.?Í9£…¶j'ÌÆü±5Z;s– ®ÕF§)ÜÀÍ–üG©îÞ{ By;´ @£Î/C­Va¼ü8֒ʽRIóŠ~W™rwï=P※‚kêu-­ÜzIÝw‡;|Z¶~¾x¤¥Íç¢ó/i `ý¿rXvfqýûw7£r ÌÊ£OõÀñÛ|}ÖLËz®ºêYy8‹©í\ÜÖ™é'“iìŽF¥›•AÂÅ‹„4l‚‹VÍ‘\3­4Œž´š3†ÂF´o^ìFEnã,( ¶ZÁdÌ@£w-–¯ ü+wä’¸‡ø°}u$#_kK×þ\¤?¬ŽÁ?¤Y‰upÑä¯_¸ƒ†–öj’óLÔ%½·mº ´CdÄANæYhj¯¦žNM–) ®.¦¼dTG¹ô&®KýÊÓÒ~9}AŒ½ò˜ªœSîe4T¶Ü½ûÚÔ·è ¸‚ Þ®M«R˵9οòIÑéÊ€]¬ >_ùoiJ*S&™ªr*ÊîÂ)†¯8D¦EMŸÝÚ$“ƒ§q®Ïéµÿ°+ÙHXŸ.<ÒÐÌÙ£GØ(’Ì<#úßKÔ©ù:±tS¯ôiˆ‡½;{{š7«ÇØ—zsöä± ï’æÕÕ¨ÙŸcF¥R1°‡"cétÿ­ÅþX¬5µ³²{ï2×]­÷ Nö)~H2âÜ–ç‚ÈJ:Æ/Ù®xëKÞáƒüœXvyý† %ót$‘gRè7 ½mº ´C §=+v¥ð½~œ:z–òË9½5GoÙFeª¶éÊl‹R©ëèEÓ«UT¨Üycú”8]k¹Á¼MxmÂÊ ¾+«Ü+÷ó ݶVÐ+//€ÿ£&G‘âúªãßMÂ9†-40çùvtíÛGû-,=žGã¦>¼?÷Wî¾§9]ïjGŸ~ŽèUCì…²-zì½BÈ<´ƒ)¦¦<Ú±) '·£³QÙôç?8yÕ#éÒñr·ó’æ…Ô÷cþgŒМ‡†ÞO÷´t6þ¹èrÕûO°ëVGÓÿņèÍ«ãÜ Ô|ö^õI?ð/okZñøíMY49Œô”T6þ¹Zv±IW^;8ÖÑ÷׫ÚÒçÖ[YÕYKvF&›6ídñ=Í:Èßq}zèWlh¥D· %Ü/^øD·ëWnx«–ÖrÃ[µ,w~IåVø”{ÑyeÉé6QÝÚ¶.¼Ïºmë0EÁÑ+„ì†M\…põ«O}ïüç7kVÈCçØúÏ!ròŒ((¨5:iÒ0EQð¨Ê¥˜ LÛINž TœñôòÆÃEG Ël[yþYɼ5ïW² F´:{<|ø¢Hš¢å”Eë@`ÖúŽß€gãf;i¬ùJª—wƒ¦$œ8ǸmäÍhíððñçË"éÊkh܈ƒ;#ùã·]ä™-h´z\=¼iÖÀ P$ ‹jså¨ñ‚kÒ-[6¯PÞ¢×ÁK^Ýå^YvѼ¥Í/Zn‰½¬Á+%õÐK òE¯¯Ë€q=´oYl{S;¸Ñ¼•[ Û¢w?Ü}üÊ<ºvö𡱇O©iJZfEæiÝiÔÔݦL_÷–å–]£?­ÃýKÝïJ*¯Ž—u¼lÛÀ×­e¥ÛTxøâá_ä`^‚¹¸N=ôø”Ì«¾m-!%ÃZVÑ'ºÕ–rmÚ¤àmkg/¤ûrhöc×ÔàË¿’­N!D•sr°G§U³ñçï lÚ׺•{ƒYZz&±Çþå¾Âh²•“[+˰X`ׯo ú™ó)²…!„¨5íõè´6ýúÃUåïÒ³?F“™ì"÷{×¶r…¢¯O•ócB!j¬œ<Üë:Ñ«ßÀ«ÊŸg4‘•“WëËÍ¿™ èB!j¯ä´Ì›¾Ü‚ëóÚ¦.I¬ÙðlB!D-ÕÔ%)¿‡¾vÖ@R’“¤E„BˆZ&.6†%‹ÿB-M!„BÔ~ÚÒ¾pvv‘ÖB!jÌÌŒÊt€5߯’ÖB!j®Ý{V> —•Q!„׳³K™m¹†.„BüH@B!$  !„BºB!$  !„"ŸVš@!„¨¸Ü¼\~úíg" 9%?_?î¼íî½óÔê’ûÉ‹…ˆC8|£ÉD ·ßÒ׺®Ð…BˆëíÄ©“|´h©i©Ôu«K]ºÄ^ˆeÙËùýÏŒ97w›<ѱÑ,út1碣læ¯^óO=úîê$]!„¸^ÎEŸã¹³P…ûºŸàÁ(…£²õ­Ì˜3“i¯OÁÙÉ€¨˜hfÌ™‰Á`àîûî¦aÓ†h4ÎÇœgÛæm,ý|9Y™ôéÑûšë'×Ð…Bˆr˜L&~º³ÙLïG{[ƒ9€J­¢Eët¾¿3.òÅ·+ÈÍÍ壅ó0 ôz¤Í[7ÇÎÞ­NKpƒ`<5o_oVý°šÈÇ$  !„ÕíÏþ$&6†Û;ߎ—W‰i7oLÓ°¦lýw§Îœbݯë‰Oˆ§S{ñ ð)–^§×Ñ£ôvz¶‹ÅR;º‡§ž^ÕžG!„¸‹…ßþØ€—Í[5/3mÇ{:¢ÓéXóóZ~ýã7‚‚ƒhÚ°ÔôŽNŽt¼§# ü»gÇ è£[ÖÃÃÓ‹a;.–›öâŽxxzöªlB!j•ˆCÄ'\$ü–pP•ÖÎÁŽmZqèƒÖ·¶.7O“Mp©ã¯›~»1}ä”ü>nu¹iWû€[&·ÎKNJ$9)Q¶!„5Ú®}{Ðh4„4©Pú†¡ Q¿`¿ò±FMhËPÎ=GRrÒõèÁ½ßÃM§&5r&Û.JM—wi3"SÑèÜy¯w°lB!j ‹ÅÂÁà @§×U(—z½žÀ ÀRïK/*¤QŠ¢°sÿ®ëÐ5vÁ̹ÓE12qáñRÓ_8 £¢à{组ØidëBQk$$&~)ß@ߊgRA`½@*~ÚÃÓFÃñ“ǯ@èôÎcùA{Ñ$LJ åWî‰wî-Rù’¸)æ,¾}÷UîiÛ‡ßɈ·¿!¯œÁ©‘2yø`îhÓ‚ ?ê5¦c·‡˜¾x¹¥äƒM_ñ >´ m„¯? CÃéýØK|õçIÙŠ…B €»§{¥ò¹{º“——GvfvÅ‚±F—W±‡ÏTÆ5=X¦nÃ1ts›Çï©Ûx+2…)ÍmW8%rÛÒ Ø»Ýǘ†u+rrƒ÷¿‹™ÄXçäÅç«÷F°ãŒ©Ô\¿˜@¯1ËÉ2_õ iœØ÷7'öýÍ×?fÛúÙ¸i G&¬›2gæo¶)'-ù<Û_Í¿¿cÝÈOùfÒ²5 !ÄMìbbþÀï:®u*ÝòcÞ¥´K8:;V(O·:œ>v‹bA­ª|ûo[S3iTþþÕ—¾]é÷qßÐbÔ¤ -èüæ‘Ìü#µÎW?\Åñ¨8ÎGE²êƒQ$¯/y„ü¥sŸÒãÕeíóÚû+Øuðññ9uœMß-äþÆu¹¸û3Ì9hÍ“¸k ÏÌߌJ¥¡÷¨YlÝœø‹ç9¾ïof ¿5°ñ発Gí !ÄÍ,++ ½^_©|z»üôƒ¡Ây\ê¸`6›IOO¿Êˆ|~;µŠ„=¯s<§°mÊ9ÎøÝ ¨ÔvÌzºQ…ÊúaÂ:¾µ–×ï„§“;'Oº<ù?M¿­Ä<¿¾8‡<‹ÂØßÖ3ö©hèïN«ÆÎÉÖ÷>ÄÒß>àØòÙÖ<ßþ€–#V±bâš¹£Óèð nÆÿ¦|Æ7/6`å¨ekBˆ›XNN:®Rù ÐU& kuù'ÍsssoL@×9·ez+,¦ Ƭ>kvÕX2͉É$3f?$å wnÍôpÏ —d—ºáHvñS†ìÃ%æ ¹œgù8ëÃjJ›Š.gOfÉ?!cwþé½Ü7/„73GG›`[­=7?££ãUÕµjžå®¶çÝ'óO“/¸­o, ÑSï`_‰%<áïÀ´ïÎûîô·o•˜gDóü—ÿòöæ /gHˆ “>ÜYâ÷;æNÀ¥Þ3²5 !ÄMÌÛÛ€ŒôüKµ({.–m›·±þÛõ¬ùr ¿¯ý#GÈÍ.¼ö]þÊÑñÉ ÉÚ{ˆ[v°óï?|Üæ¶¶ŒKØÙÙY_½zc:öÊë¨U*b7¾Ê«Ä¡R©yctËJ•ñàÌnlŸÐ‡w¿ÙBr¶Cv2~õ½'þ[bž¾‹ßÀA£æÈ¢'éöì~û÷I9X3Ù)?°ƒ/>™ÅÃÛXó<ôÞ#úè†Î\Á±ØL)±ÇXöÖ3<<ÿƒÞï/[³BÜÄýHMNE±(ìüg'{¶í!ñB"f“€ìÌlN9ɦŸ7‘’”b ÞZ­Œ#;þÚÁ?ÿáô±ÓÄÇÆs!æ‘"Ù¸~#§"O’”‚§§'*•êªêª­ª•¶sëÁ+õê0çl<ñ€kƒ1ôp³«T]æ1¡ë¿¼ýG ³†`Vá£ß©ßï}R×¼R,KÈãlYCßç²÷ÇyüÇË?âºm:K^<ʳ þfÍûcYóþØbi:½´Œi·È›Ý„âfà€ƒƒ‰ñ‰DŠäBÌ…RÓ FvnÙIç:_@þsÜwoÛMÂù„ó(…Ãû£( i)i´¼£ÅU×µJ_ŸúÔ;w[ÿÏ;O\Uu^ýòoæ{‚æAè5\ýñÈËsÙº¸ôòö}=6òÖ¨§¸=¼1n.ŽhÔZœêxЬÍí þ:ßmްÉÓú÷üóõû<ÔõV|Ý]ÐitÔq÷å¶®ñá7ÿðÝ´>²% !ÄMN­VÓªEÑg¢­=é²äåæqìà12321L$Ä'”̯´ç~E¡eÓ«èÚª\ñ€.Ë©è‹bJ{ÓšJãÌ q0hÜÎ`ïÆ‹ßãʼn¯oóûždñ}OÊ+„¢TmÃÛ²sÏ.²³²±··/7}ôÙü;¤‰‹¯Ð2r²sÐh4´mÕ¶fôÐ…Bˆÿš[ÚuÀÉÑ©BÏeW…ÄøDüü1™M$_L.7Åb!7'—FYGÕK@B!ª˜^§§G×î †rŸâ–™‘‰Á`àá~ðôð$6*Öæ™(¥åQ…þô»¦zJ@B!ÊÑ£kw\œ]¸”v ³Ù\bš¼¼<²2³hÑ´9íÛ´§ïÉÊÊ*óö¼¼r¼A½<;x(ÁUó˜q èB!D%øxû0üÙaX,223©[§N™éíííyêÑ'Ð÷!ŽD%;'›õêT¥õ’€.„B\µZ]n0¿’£ƒ#Ú¶¯¾úÈO"„Bü0¤ „B èB!„€.„BˆªPî 8ç"Cð…BQ‹zffk¾_%­$„BÔæz×î=¥…„BˆZ@®¡ !„Ð…B!]!„Ð…B!]!„€.„B èB!„¨BòúT!j ³ÙŒÅlFQi !n2*• µZF[¹-]ˆÆd4ËáÇIMI‘â&¢V«©S·.Íš5#$¤ZNºµµgžÀ¾½{¹·sBêÕG£ÑHÃq“0D=Ãß[þB£ÑRá¿Ð…¨A,f3"öÓ¹ë}Ô«ß@Dˆ›ŒN§£Q“P4:-Û·nÅÇÇG§Šõî¥ù„¨9E!55• ài !nbÁ¤¥¦b4+œGº5­—n±Èiv!j‰í[·`±Xª¥§n±X*50VN¹ Qƒ{ëBÙ_¥‡.„BÜD$  !„ÿrÊ]ˆHQ9å.D-ÛgË’rù™îîî5£‡îáéUêTSÔ¤ºQ¥GßZm¹SAºÚ$3ö#êø=n3ï¯/frÿaxÖuı®'awÜÏŒÏÿ”@ÔJ)))tïÞîÝ»[{è¡''%ʯ#Ä `2™Šø¢ój£#³—ÒøùϬŸ—¿pã·0÷½Où²cNªïø•™¯äÖmo³sÑPÙD­ æiiitïÞ 6TKO]®¡ !n¨)_aôK¡\Ø2‚Ñ?ûs`Ïj¿¯=nÎvè\iÛe«v$ð×W±å‚4š¨UÁ¼uëÖDFFIëÖ­«­§^åÝÃÓ‹]ßÌ¡÷=íðõÁ?8”žOŽçp¦íÍñÇ~ú˜~:èçK£ð»™þÅN›ï·,}“{Û5ÃÇÛÐvxsÙßÅ–µwå :µmН?¡í:1qÉ–biޝŸOŸ{ÚâïëGãð»™úÅžbõÝùõúu¹<½üd+5BÁuôÒ¦ÒÒlÿl:Ú4ÂÅ^S]îê?œ— 6éŽ~?‡ÎmâdoOýÖ¼¶tG±²þøx íùc¯·Ç¿Q;Æ~²Éæ{­V˶Ϧsß-Ípsv@§³·~—x’÷†õÂÃÑWŸúô{~& f›ü™q ÙªéÁã^(ŠÂ×/}KßÏçá§S«‹JçÃGŸ÷ãÛ—¾±™ÿÏÂq´m苽]~_ÿZ­¶Òid’éj¦²ö×AƒÎÂ… Ñh4h4.\Hxx8ƒ ªpÙ7´‡þè‡Gxiö×œŠ¹À©ˆô÷ÚÁ€+¬ß_Ü:®£×óØôÏ9ËŽµa¿kªõû¨uÃylöÆ.ù˜óQlX2†ˆwgøúkšó›&ÐwÆ>Æ/ÿè¸slX:ŽCï=iSÄoÓé…åôš°ŒSÑ1l[5#³0©ÈþÀ9¼ðîJNœ‹#)QŽþEí×çÝCŒúx=ñ—r¸xz½·qÏE…ûàöÉt¼€§~ÃÅô "~žÍ¡i=»)ΚæÜ÷Cxð­}Lüj+éYélýj"{§õcèçl–Õû­½Œ˜·†ó)Y 9ÖùþmuÛ«œMËàÜþ_¹Ë´Š{Ÿß`“7òƒ…4zæ5ëçEÑ—xµCéã`¼Ú¿BFtázD¯Þ:À´Õÿ’ž™Î¶US9üN›<I#DuX°`‹-B­. µjµšE‹±`Á‚*_žjÄK/(}¼€”ä¤ õ¾KSpmÝÃÓ‹ÏŽÇÐËÃÞú)ï,þõzpá8“Z7€Ïv3=ܣIJƴ¨‡Ëª}LnQx!ùðÚ Ì"úÈlÞhUý×{mÒ¤y‹Æ÷|h­Ëô¶ É}¢š Ô IDAT+3î-ìugD}AóÛ‰‰\`­ïìgà,[Ÿ¸á yy¬úö†¿<ºÜ§Oétº ©ÓéXuþz9§qv¿“ÜìüÖ‰=ÉYp€÷ºXÓ\:·Œà;ÿ&-6ÿzö°`7êüt’·[yZÓ$OãÞ™¤Fl]Öü3)<äRîºY q¸øô%+µð,Y?ß:ô¸À3¾ùϪvÔëIÎ5àPZWÃ’ƒÞÞƒ!€—ë¹ãüóIf´ð¸âoÅø¶y×Ú6I#ÄÕÚùïVn»ý®j¹+å“yÒ»O꺺•™..6†%‹WÏ ¸+ƒ9€Ö®>fcáõ‚/ã³ØÛ¢ô ~—œÃþPÛïÝš¾LNr{ ? ÍîPWÛ4¡Ã€­Ÿ?»Iê€V,,z£Ò…GGOúK05‹Éd¬Ð€7ƒ!¯ÄùÔUÛ~§ÄlL²Î[—AjÏz|T¾a0,Îßdz‰lälSŽsãÑd'¶À`xß:ï o}±z2óÖ«SùqÓ¢Ò0Y”ËåÖ+;á36[îa•»Ö:/Ø^ÃÑôLœJ~e¤1ëZû`kú•³8\ßÑfùNõ‡ïV*×|0^¶¥x‹ê*ò(%ü¯tfŽ_¸ˆ§®ì+ :•lŒ¢fQ”Š=J²´4åÍ7+p65¯öâ׋~g{}O‹m€z²¯ç¾ü}. ½qÔkÁ’ƒsokÞÈy hðÄ|›²†º0w_"Kï,y,Kâ¾pRâµË¿ J)ëQv!®mŸ-¾-={Ž`›Sîÿ¾†¨¨hêׯW¥u¸!£ÜóqdîÑÒGø=äáÀüã©6óÒŽÏÇÁã!ëçG½ùøDšMšÔãÛ|ìïÄçç³dKµñÏÃ5 Š+oþ3N|—Yfù{:ðAdŠÍ¼ÔÈpð|¤Üe}|<•o>MËú~8è4(ŠBòÑlÒÏþì4ÿÑÔv™sû³þ™1ÅÏ)Š‚ÙÀ˜!ëè?w@á #/æH³I—v|žÍr*’F&™ªcPÜÈ‘#6l8fsáöl6›6l8#GެƒâÊ3|ÞÓ,ð$ßÿ{Œ<£™ä¨Ìq¿õû‘3{±hÀÿø-"“ÅDTÄo °„>ïŒ,,デYüÐsüv æŠ4‹m—³xKžÏÆ}§È6X0æ¤spëzÆc%oLÊsûN­r ´ÍÝ<=b‘D Q+zèÕuÊݳý«lzçs&L̽Çó÷¶÷0täkšà~ øúâëL|²3ǤâÔŒGÇ~ÃŒ>AÅþ5kãJ^~a­g>C–YK@ãp¶†ý#{¢( ÇͧÞÃï—˜÷™ÿ¢þÊÙÌö,£Žž#{Bš·ãáç–ñé“lòöüïâ&2öÑ»xþîAM0r9›&>mMW‘4BTÇ)wWWWÖ®]Cß¾ýo¢(xxx°ví\]]«|û«Ô(w!Dõ*åþì /b0þ³ë9´‘?þ>É þNU^vvü Üññ§W^S!*âðÁn»ý.233JM“ššJ¿~°f͸¹¹U¨ìÏ–/«ÞQîBˆëq´ÿß°µôd\™g*ã¾—f1{ìPÂê¹’p|S‡L£ÍKklÊ®H!ªº‡~eOýǰþ¿º¶; èBÔЈ®”sºÈ÷Öíf^yèE¥àâÛ€žNáÇ—[Ø´_EÒqM»l9Û’kݺJ']ˆÿÚäõ©ÕaÐxþ4¾x *•K#DuõЯ èBÔÔºD!$ K@¢ÖÇs èBH@—€.Dm¦V«ÉÊÊ,öt)!DÍÓ$´YµÜ%f±X*ý7@º5ˆJ¥ÂÕÕ•¤¤$¼¼¼¤A„¸I%''áîîQ© .]ˆšÔ;×hhÙª;¶o£Ã­·âííƒJ%/âf¡( Ù³kmÚ¶E¯×K@¢6Òh4øùùÆý¤§§•ûU!Äè ^­ÆÍÍ–aaxxx`gï ]ˆÚJ§ÓQ¿a#ü1™Œ28Nˆ›ŒJ¥F§×áààX©|Ð…¨¡=uG''i!DÅ{÷ÒB!„t!„BH@B!„t!„BH@B!þ+d”»5!/£Ñ(÷ ‹ëêDŠîº,G¯Wö¨Kxn’ÙlÆb6_·[6U*jµ¶äXÓê#]ˆZ";;›3§O³k×0›ÍÒ(âºHtj‡Y©Þ'ªÕ*üݹ«C3rÍjûØ> Íd4ËáÇIMI©öuV«ÕÔ©[—fÍšR­NW£ë#]ˆÚÒ378Ëß[þ¢[žøùùËKZÄu3~Áf¿ùxµ.#7ÏÀ¿{ްæ= ¼ÿvR\ô¸;ö„Ø·w/÷vîBH½úh4šj­Ñh$êìþÞò† àë2kZ}$  Q‹ ¶mÝÊý½zÓ¤I(NÎÎò,wñŸbo§§ÓmÐë5lÚv€î눻c~/Ýb6s b?»ÞG½ú ®K}t:š„¢ÑiÙ¾u+>>>88:ÕÈú”Û»—ÍKˆšÃb±//o æâ?­]«¦Ä¥d“k(¼¤¤( ©©©‡\÷ú“–šŠÑh¬±õ‘ºµŒÙlF­VK07Äõzs€‹E¡è83‹ÅRí§µKë[,–bßjZ}$  !„¨`DWjÄ jÚK‰jÃK’$  !„•ôÃß³jõ·¥~?ì¥ÜÞñöëÚ»—€.„¢°'Êõ;í^›­Zý->ÚooÏbß%$$ññ'ó¸ëλ$  !„ˆ^TrJ2Íûظš7oÁsCŸÇÅťĴ999,\ô GŽÁÏן‘#Fâåå]euñöö$2ò`±ùÍšµÂÝÍž?™g ì¥éÞ­Ï<=DºBˆ*Žç5àzYuøpÞ‡xy¸Ó®];bcc™2u2S&OÅÙÙÙ&]vv6Ó¦O&$$„>}úÇó>búÔéUZŸK—²ŠÍÛ¹ó_ºuïVn¹çÎŰá÷ßxzð3×7 ¿Ò¦¯ìÜA ¾äëfCa :±æäQ:ù‘œ”Xfyž^妩 ž^Öÿëô¸ùÒ"üz|†Á=¯ëFz½ÖY!þ£tbc¢i×¶-çÎ!((‹ÉT,¨sÿ€@|ýüˆŠ:Kpp»÷ì®òúdeåpþ|2))WõÈ2󹻻Э['vìØ_eu©p@66Qk£ùîáú%~½n4š[ß¡‰CÍëôQ‹É@ÊÅ"þÝÌâi±üÇ1ü¹è…JÝŒ/AYÜÄÅÅÕº²…„ôªÖªU8'Nœ ^H0qq±€JÅ”i“™òæTÔj5Ó¦O& À @ΟÃ×Ç—'NÒ:¼uµÕ+%%ƒUß|Wáô<: ÊÏ„T8ú†ô—Ãí߇‡K¾ðÞä]<µ~‰M­iÔZ=ž é: !û>È‹·ÜÂs?=ÀÒ^A×õÀB!jr}îi‹¿¯Ãïfê{Š¥Ù²ôMîm× o?BÛuâÍe_ýŠëþa¡ ®×ˆÛ»?ÂÇkT¨ì’üóéTºu '$(„ðŽÝ˜¶bk±4;?ŸÎ}·†œŸfÊòÀ”{†ÖZs&×T,OY߉ëß?/möâsô¾¿;QÑQ¥¦‰ŠŽ¢÷ýÝöâse–u5œœœ˜å¶!ùå´}€O¿ʺ×>ºê•×ÚÕÃlŒ·Ýþ͸GîÄY§¥ŽOc^šó-1?Í(·¬Š¬ƒUmÙˆå ^±–¡ÝZã¨ÓâÝän¬™ÌÊ…Ûìöô<õ¹g= ZßËäÅ¿]Õò>™ø+C¾YLÏÖ!è´:BZ÷dñ7OóóÄ­iLXËЯÐ5,VGPXW|=ÔúýÓÇphî8r®8­«Xr7÷c¦ß!?j °ö— Ö ~eO=êŠ`¾ö— ‡Ty½hP?}ö 'OžÂÉÉ‘ÔÔRSSprräÌ™³œ>{¦Z‚9俳\¥RaQ,X®Ø–+ÛC¯ÊG´~þìB&©Z±°Xƒi€|—œÃþP7Ûrš¾LNr{`öU­¼)ï,¿õ³!ã(³&Ì`ퟻ‰ILÃtùGR©Ê?î©È:QÕ¾¸EÚ v,)q»ËïòÞcmé{kWzõíF‡ðVt¸«Mý®îÔãš”v4±Ý]CG“rðNþ¾š”ÍöFumÒÔmô<0¯þ¼ìÿ&ãþ‰gÞ=~Äÿ3Ž3þ£èïå ?ê f61™Ê¾ìáçëË÷kÖÓ¿_/zt¹——†Ì?à›ÿz;=?¬ù ?__Œ†¼«ûÛ\:äå墘-¨5jÌf fs~OÙl¶`4™PÌòòrÑj¯íim¥ÕG¥Ra2™l®_Ù¯(ÃU¶Óµt å+ãØwûL”'—£fOÙÍÓ?/+óh¯Ü Hã.â©»šÓWœ—zd!N¾Y?ÏêÙýÝÞ`ÅOshà…ƒ^ –\<¼ƒªy„¸Ê?¾À¨<µ¥ow=ß^Ë߃þæm{‰øó[>š8ŠÖ/|Î’Wn¿aõ~ü½¾Üõü<Ø53ÿ ÜØô]ô¦ü 5€EKiñÝšõ èۛɓ^ ((˜ïÖ¬' (¨Be”úW])ÿÙéYYYÌ|{!!!øûûséRºõ¶µŒŒK¡V©˜1ó-^ŸðÆ5]?/«>ù=ÿÿ¹¹9<ÿâó.÷Ûo×ðôÁÌz{ÞÞ>×7 Û{ôbˆÓHæœNçÝ—¬·t!¶AÝRÓ?êåÈÇ'Òx³¹{a =þ±MšÁþN|~>‹WB\J-ç!æOeR‹ÂrÒŽÏÇÁã¡«ÛhILüß:º½S8°ná‰4"· ƒ!“œ\‹9ÿZ»Årùš»‹ÙŒÑhÀÞÁ‘¬L#ßÿð3­öšG»_UwrèÔ[ùlÌïl¿”¶oL(3íðfñCÏñÛLQ¿1d€íÎ=|ñ–<1žûN‘m°`ÌIçàÖõŒyìnkš‘3{±hÀÿø-"úŠr–Ðç‘•‰â¤ÄŸeÓKtoGNtœÀ'= {ßüœöñÏ$e02ØÿÇ<ÜçC›":¸èX±?Ž¢ÛkEÖAˆ«ÕÎYÇç‹mw/|òŸ>ó›#N“m´`ʹġí?óÚà.Ö4ŸϺ­IÏ1åo×›Cïv[¹eÅF½›Þ“eƒžç÷ùûaôßy~ÐrxkXaÞéÇÒAÃÙ|$“ÅDìáÍ ¬ÈY<•–iÚ²xôzÖ½²„¶¦¡•·ÅÖ”xNùWÒ §   Vÿ¸ŽÕ?®#((¨RyËë—4s7wW¼½½IIMÁÙÙ…èèhb¢cˆ‰å\T4NNΤ¤¦àíí›»+o¿3“¬¬¬RË-+˜­ÏÎ;™8q“ßÅ”7G1iÒH&N΋/+&1yH7žŠIÃ-¨)¼º’é½Ë?^p»˜Fg‡»O -ZßBŸIß{RÜÛ¿®à•áShÿγdY´4 ã‘Éß1º·5ÍÜ™CôøÝ¼–˜EQ¬#Ý+²B\­ÙÓ3ø™ÎLJÌÄ¢(ÖÑèžmG²~êWL™þå¹gŸ¿Š7 ÙÖG­Qa6[ÈÉIÃlÎ?ån¶XP,ù#ßQòÛÐh0`6›±(Jþ÷—¯ó›-òò 8[,deeSÇÅFsÍ=tÕˆ—^P>úx)ÉI²% qƒe\ºÄ¼æ2úÕqþgÖ+ûâJºþÉéCËäG®Ážxãsæ¼Ò£Ñx]–7aÞ/ î߉võòCòòXõí7<û‹ †bé333™ôæ´i×–ì¬,œœœ9þ}¨ëêVf}ÆOÇС“‘‘Ž¢äi‹Å‚bÉñnQÌf3†<&³9žåò¿—ƒz^^AAÁìØqW7/†<=½^_f}JÃ’Å‹‘\Bˆ*×{ÔûŒJƬ˜ˆ?þ/{›ðg_‘†© =tKþ“â®ÇTjJ8åž››KNN¾¾þÄÆÄboï@LL )É)<<à´Z-  RF£æá‡!=ýçÎF¡×é9>oO²³³ÉÉÉ!//ïªO¹ëuv&L&YY™äæææ×ïrsr²ÉÎÉ!''‡ÜÜ<òòrÉËÍ#/7—ÜÜrssóGè™YÙ ¨*UŸÒH@BT¹ÉͼöX7 Ë㯡î6‰oG´†© ¥ÌëÌU9•U‹ËQÔ:i54j5½è…J¥æÀhÔ><w77œ©ãâ‚‹³3ŽŽx¸»1hà 9q£ÑDnÝ­åhÔêb˨h}X¿~uëx^>ÐÈ&';?€çõ\r­ÿÏÉÿœ›Knnž5À &,fHMMÃÞÎC^^%êS2y$“¢Êµ8–_Ž•†¨ý†¿>µ¤:¨Õjœœœð÷óãé'[ï ×jµØÛÛãèèˆN§³ÎËÉÑ£·³ãÑGb±XP«Õèôzìíìppp@­VW|=‹ÔçÉÇŸdÁ¢OØ¿ÿŽNZ,æüg²[.âükê`±h5ªüÃ$ÔjTZÔFaíº ØÛ9\%×Ð%  !„(ÖC¯‰uÐjµÔ©S—üÁg—}ÁÓÖ òh4œqrr²¾E¥R•˜öjêãááÁƒ}û³héµzîÔ£ ê×ÇÑÑQºBˆ* ¦#µoh%Ê?¨¸ò9èe¥-ú¼ô« šEê£Óé cî{sm.ýуŽ+&,–üÁqZ­GGÇÊ1€.„¢üÞèU]¾­êx~ãOû—SµZ]lTúµ-ãÚ×Wº5ŒF£±>“ZˆÒª?˜šL&ÔjEßM¢V«ÉÊʬò7‘•§à:{I=üšTŸ2ÏZÈÆ+DÍ¡V«ñõõãüù8i qc»èÕ<;‡¿»ú‡¼¨T*\]]IJJºn#í ¦ää$ÜÝ=l‚hM«t!j^ÏwÞÉ7p,ò¨ôÔÅéŸWc 2šLì=r†Ÿ·Ÿ¤ë­ñ©[xÚZ­ÑвU+vlßF|ü뀶êœ, ññر};Íš7³9^ÓêS9å.D ¢×ëiÒ´z;;~ùy=—-‘ .®Çö¼>ÿ—j> ¥ÂßÝ‘‡{ÞNݺθ_ñÀ6FƒŸŸ?aaaØAzzZµÐS«Õ¸¹¹Ñ2, ììjl}$  QËXÌf7nBó-¯ûu;qsûó@|µ/C¥{½ï::<œŠ¿‘G§ÓQ¿a#ü1™Œ×epœJ¥F§×áààXãë#]ˆZ&//¼¼êÕo "ÄMF§ÓѨI(–í[·âãッcÅj#ƒâ„¨AE!55• ài !nbÁ¤¥¦b4+œGº5­—n±Èiv!j‰í[·TË [t:õín%§Ü…¨Á½u!„ì¯ÒCB!n"Ð…Bˆÿ9å.D ¤(Šœr¢–í³eI¹üL ww÷šÑC÷ðô²™¼|hÖîn†O_NšI±IWÒÿË*÷¿õËøeÉ ìz ƒðò ´õ<1b?튢²m~#ýç~›ÿÂQ¸V[âTÔ¥S¿2¸Ç-xº8ààâÉ-=óÛéKÒ€B\g)))tïÞîÝ»[û èÉI‰Ö)!ö ¿9Ï£óéòìò«]¶nD¦nWóÁJŠæbÌiþú~!¶ñà«7”×Ìd2›®dÌÜÇíÃëÁ©DÆ_âR|$SôbP»;‰È4J qƒyZZiiiÕÔ¯éºJkGPÓ[™¸ükb6¼aôof¯|‚Ÿ¿ÎaõqÔkPëíñkÆCCFñÕÆ}²…‹j·oÒÓðÔÌy¾'^N:tN^ô|~?<ƒßÜ/ $Äu æ­[·&22’ÈÈHZ·n]mA½jÅ©Ô@á}³e¦Ý»rÚ6Å×ÇŸÐv˜¸dK±4Ç×ϧÏ=mñ÷õ£qøÝLýbÍ÷ž^ìüzýºÜFH€?ž^~¥.ÏÃÓ‹-K&qo»f——Ù™é+÷V¸¼-KßäÞvÍðñö#´]'Þ\öw¹ÍÑÄ^Ë—{+vPSÞº•µ‰Þa¡Œûôß2Ûºèe]ßÌ¡÷=íðõÁ?8”žOŽçp‘žZUü6¢ê\G/:•õ]Á´xuÏo_l~ûñÏsnÕ’róË$“L›ÊÚ_ Dxx8 .D£Ñ ÑhX¸p!ááá 4¨Âe_—€®˜ ÄßÍÛÏ>Šï£z›§ IDAT¯—›þü¦ ô±ñË':î–ŽãÐ{OÚ¤IÜù6^XN¯ Ë8öUÓ82k“¶\°I7pN/¼»’çâHJ¼Pærÿ(¯-Û@tÜ9~_6Ž}3úóÚ¦óå–µn8Í>ÀØ%¿s>Š KÆñîã _Sæò–,ÃçÛÓ©ßSLz{._¬ZǾ“ ÅÒUt] \ؾŒÎ÷½Éƒ‹¶ðî3+õ[=úá^šý5§b.p*b#ý½v0`ÀŠjùmDõkèï½Þwßztê7”¯·ÅÚ|¿!%—=‹åsô|ܔߤ…¸,XÀ¢E‹P« C­Z­fÑ¢E,X° Ê—§ñÒ ÊG/ %9©ÜÄ¥õíê¶dý ´sÖ[Óœv¿òÿo´ªþë½LnQ8Ê/åÈ[4¾çCkšém’ûþVfÜ[ØKΈú‚æ=¶¹ÀZæìgà\¡:ÜrÜv™Gߢͣ¹D|«ÌòÆ´¨‡Ëª}6y“O¡ÍÀ,¢Ì.s¹fCÛ6nfßáãœ>uŒ·lAiÒ›Å+?¤«¾Rëšœ”HÄW“xü£3,^³”;|lÖ¯¤KEƒÏŽÇÐËÃÞú½)ï,þõzpáx•þ6âÚòòXõí7 yt©OŸjûÐ(¦ŽyŽNmCÑ’سñ;Æ{“{–GðvÏ ìõz² †ŽØ-èõN 9ÒØBTÿnå¶Û殺»R>™÷!½ûô¡®«[™éâbcX²xqåo[³ ЉÄèH>ŸñÏ ù‘ƒ«–™÷ë„lv‡ºÚÌs |hýüÙ…LR´baÑ#•( Oú;W¸ÎË.³É0²:o•YÞwÉ9ìµmH·¦/““Ü(; kôžÜýÀ#ÜýÀ妲d³jJõû˜®Ôº®ûI^ù5€¿þþœýÕ=ôÊ` µ«Ù˜R-¿¸v&“±Ø@·;¾žU ì\¹µ×ÿXšC£.£™ý%ž:5±™9øêmCºÅZç‰Á',DUŒ×€}êÚîCWiñ cÔ¼¯x·~? ì€^‘ã³Ç/\ÄSWöÕêš*~åUþHL¥vä቟1<è6`t¥Ö5´y3Ìó?ç»ÿ·wßáQTëǿےMôBI( iŠRDTz{½"å‚‚R®bCD°!¨€ ‚W®¢?Q)"EAH ôP“JH/›Í¶ùý)›0 ïçyöÉîì™3³ïœì»çì™Ùãøw×à;Ò*ò؈ 8JÙ.%Y³Î?ÈKµ`îŽ|Ÿ’Ç¿ »R¾Gïñœã.D…ÿÏÞú?uæÌYBCC ¹Ã•ßkˆO ,¬v…îC…¼3+€¢K-7ÈÇ™…q…–¥_Xèñˆ@¾<Ÿ[¡/òæmfœXˆ³ïÀR×{ÒˉÇÓ ¯{|N^O–¸Þ¯¬ÆTÄû¥9ï8Z}X™_køcÓÙõÍd–ŽèÌßÇzÎK§á´±pOΘº®Ì1ú»Ž(þ¿ª,s²¿À±fû‚Ç£eɼ=·”ûkÞg„>9J&3ÉMnwaRÜ„ ;vV«µ`™ÕjeìØqL˜0¡rMŠ)ñ‡˜?~þ_)µô¸÷û³øÉgX ‹ÍBüþõ<Ýoqá2‹Ç³dØKlŠ>‰ÁdÜ—I쎙<¤S¹÷òÆm&ØÀÓO,bÀ{Ï•ºÞ„·z³¨ß?X¿?á†ý]BŸ·'”¸Þ¶'Ðä¡Q¬Ú´— £›ÉÀ‰}›˜Ø÷Ÿ´;¯\¯Õ¿ý?ø}Ó»lzþ!&yýÔ·)ͼ9c9‰éFl#'÷mà¹>“Ê£¿ë؈’{èEÝÚ xžï· ÃŘÍþ-«Üíz¾6§ LÓ™ŸÂÊÁL[ºƒ³!… K§3h¥ŠE/7‘7b¹Éí.$ôåË?'66–qãÆc6›1›ÍŒ7žØØX–/ÿ¼Âz™‡Üoœ§Ripó ¡c¯!lX0¸Ôuƒ|‡ï¦½Î”‘òTRµ"è7iÛ§÷+(ãÝjg­dÆÌÑ<‡AåDDóNŒ¿¨ÜoŽ_MjÀ+Owç©ÄtÜ‚0lÚ·Ì|0¨ÔõB[ÀÊä—™ùtwžJÌÀ£V¼°’7­UâzÑ¿,géÊoXðâ0^8Ÿ5©Ý ú”ŸjQî×êÞ /vy1°Ûãü#ã >›ð#׬áĘÉtm:“ “Šàðæ ¿ŠÆõ,SŒþ®c#Jî¡eɨÆÌ~k Ïí=Fž¢'¬Qk¿þ=/ ¬_°ŽÖ¹)¿n_ÊóÏ¿A“©ƒÉÉÆm{ðùŽ4qÖÊ»waÈÝÝÝ~øžÇëKÓ¦ÍP///~øá{ÜÝÝ+üÿ°L³Ü«¢âf Q]›åþÏgÇ`2™$ BTr‡b÷ÓöþŽääd[&==¾}¯\%ôûï×âááaWÝ_,[zgg¹ !îÆ§}ù=t!ªzýÆžúÚµßÜ¿SÿÛ’Ð…¨¤])æŸKBBº$t!ª2µZMnnÎ-W—BT>á ïÈYb6›­Ìï’Ð…¨DT*îî¤àãã#â•šš‚§§W™’º$t!*Sï\£!²Iþܵ“ÖmÚàëë‡J¥’ÀqP…ääKìݳ‡æ-Zààà ]ˆªH£ÑHTTbö“™™QìϨ !ªá‡zµ"£¢ðòòÂQï$ ]ˆªJ§ÓV·AÁX,f™'Ä=F¥R£sÐáää\¦õ$¡ QI{êÎ..!„ý½{ B! ]!„’Ð…B! ]!„’Ð…BˆêBf¹ Q ™òó1›Írº÷bO[­F«Óáèè( ]ˆªÌ`0púÔ)öìù“ËÉÉX­V ŠU˜@@™’¹§§5&<"¢Lê%¡ Q™zæ&ç“Îñû¶ßèþHåGZ„¨âV¯ZÁ S¦ÚUÖl6söÌi¶nù/ooüüü0™L’Ð…¨jÌ&;wì gïGiѲ•DˆjÄž«>jµZêÕG­Ñ°sçv * ]ˆªÈf³qñâ|||%BT³d®(öŸ“rù²üÚšU™Õj•av!ª_FG±ÝÚC·X,hµ·¦b­F[æI±ò®!„BÜ•zá[tt4‘QQDGGù|YIBB!îtB¿)©GGGÓ£gON:Ež=‹Lêw%¡ïøïûô¤=uB‚©G»Gðî×ÛïX ¼¼}м_Ñë!„¸Ùòù~Á+<Ú¥ õj‡R»mºôæåÖ’Ó¨wöÙ-L܃†uC ­Ûƒ'°%>Û®ºM±aSlDÇDÓ«wof̘Ajj 3fÌ WïÞDÇD”±)e¿E™úÊIÝñÑ~ú¿´€è£gˆ?¶O§ äÀÇ£é6iå]=·“¨%É !„Ø0¹¯þj`Ò{«8wšÓqûùêÝI~}“×”³äÆÒ§û<{NaÇÁSœ:¸ƒ)==óÐcʵ”ÚG¿Öó~ùå—yóÍ73æYœœœ3æYÞ|óM^~ùåÛê¡—iRÜ¥/1m£?Å|Ž¿ÃµÏ4íü$ËíȈ­y釘ÓÎïŽ>5år™ËÙ»ŽBˆ{ÏKßdå‘D:_K‰®ÔkÑ9«VP§ñSðÞ#ÄΙý—ñêðö׺†tþ*ËŽuáßïdókÍKì¡_KÒß~û-Z­¶PÒ~ê©á 2¸\‰¼\=ôÿM^K¯EïÜÌo¨ÈÁ—¹‹zñí kKí߼ܘzšS@Hx3†NzŸ³­Äuoü{ífo¥­+„âÞá¢QûœJãRpå‰<5¡Ù-ešMxŠ„ÿûªäþ¹ŠíÊLwZSpÿÆÛÍËïhBÿ<1›q-¼Š}Þ«ùXr¿(óN„w‰¡õ8Æ'rhûÚY×Òsâ»zà©)— nöÖYÚºB!îóF5eØÐilÝš<‹ «ÙÀ©ý[˜:d8ÍGÏ+(·5=Ÿ^žN·¬ïäÙ‹üôÍ”–ÑÅV¦[Y•iÈý\¾•zz]±Ïëôu±ä'”y'Žü~ý_}ž›÷_fÕ ,÷ºu !„¨~ÚNÿ/õïÀ°^« -÷oûvLms½#i±á­+b„ZçÍ’Vr>G¹­áô OèÁŽNÍD:ÔÍÆShteÚSöæL›Å[ÿ"ñr–«Ã *UùϨ»u !„¨ž6MéÉ–.¬øñY#gíæ“×^ ×”ly÷!¼´jRÌ6|oJê6s j­g‰Û°Z,¬ýß7vïS¯>}ïlB:¤ ÷§òÉýþE>Ÿºÿcœýú—iæôèKL÷,_7ºA>89hÁfÄË·V¹ΨS!Dõ4í»S¬<´‰H—"&ÅEŽ„« ½‹‡#?¥åç\h}cÚO8zt-¹‡®ÀýÙ½OFcÞMèO¾û$oÿs—c–âSÄ'”©ÿú‰6¯l-Xæ¥ÓpÚh¡ŽþúfŒ©ë ­÷i\G·=EÍ&%¤›oßΫTXÍMËí©³¸u…Bˆ«i¸Ð£a½kñÂG1Œz³}¡å1}IHŸ÷J©IÁ˜—wG÷¶LcÐ~ífóöÃi÷Ðh¾Ýv€¬<3æ¼lb·Ï?jÏ.¯'ùüÉÚå§4óbäŒå$¦±YŒœÜ·çúL*Tg¿Æ.ü‰”\VS61¿® ŸíÚŸÖ5t,Iâæ©öÔYܺB!î-o=ư¡SÙ²ÿ³õʤ¸˜Í¼8h8a½UP®ÉÔà›§ymåÒò,XòÒØ²ò5žþFÅ/FQZ]±ÙPl6Ì&SÁýo7/¿£ `È»¿°b\sÖ¼3žfµñ¯U‡.ÿ“Ýî#رq.Nêë½â‘kÖÐ6ù;º6­‹_p=úOZ@ƒñ…'Ìþe9.¿½K«ú¡ø‡4bÔ««é6ó[»ö僷žæÓ¡ðóñ-tê™=u·®Bˆ{K÷÷~azgó& $²^mj׋dà„y8t™Î/ïu/(§uiÂÿmø˜”us¸¿q]ê6¾ŸwÖ¥ðÉÆˆrÑ–’ϯ_0fè°á¬Z½ºÐ²U«W3tØðÛº°ŒjüsÏ*ó~BZjJ¹ƒ‘²÷Z?ùKölåA?'iB”SvVÍÿ€I/¼HPp°Dˆj`Þ;³yæ™1 ¹?™¬ÌÌëO:—È’Å‹+æÇY¼[á—Ù÷1ªëHÎä[äè !„7°¡`S®ÜGF²ê«•¼ûÞ{Ô à½÷ßgÕW+iYPÆöwþÚZƒ!óI<ü_Âå'Ö…BˆB”ÂÃî‘‘‘¬^µŠÚµk³zÕ*"##oû×Ö$û !„w<Ÿßš¤##³uËæ[®ë^^’Ð…¨d4 V«U!DubSŠœ¹®Q«‹\®( juÙÑåÒiBT"jµÿΟO’`Q {èöÞ22ÒñöñÁV†Ó×$¡ Q‰èhß¡¿nÚÀ±£G¤§.DuIè7}‡^ÜÍf³‘’’Âì¢}ûŽ˜òóíÞ† ¹ Q‰888Þ !ŽŽüüÓ\ZºD’ºUœ@Ÿ/[b_/[­ÆËÛ›Nt!(8Cn®$t!ª*›ÕJýúá4jYæïЄÕà=àêUãÊ’Ì%¡ QIåçç“_†¡6!„ÿB!„$t!„BHBB!„$t!„BHBB!$¡ !„BºB!$¡ !„BºBQÍȕℨÄLå¸b\M7· ùme!Ä=Э¦$…uDQéØtꡎšrmüÌw¯ÓÚ2ΦP…Ô”Ëò¢¼¼}*¬®ŠTQûUZ=^Þ>÷Uj-î>µ¸ÿ‘AÌžýo‚4Òê«üü|ŒeçŽßK-«Ñhhw{îÑ‹¬ÌL ž’ÐKwnÃd´-ßâ-ýÛLþ9‘5×.ׯÇO^ÄKëcéî%G¢‚]KøŠÕLrÂ!–¾þ =†ûßAUöƒÌú°VY?^óç;yõÙ8::–œüFÞxíeîÑKþ„¸•ë;ôe3÷0tÞ#tyg$½º¤Üß“m–d~ÉÚ*¿°æ¼øÉ×\Üþ†¯ ²Z­¥&sG½^~jUIèö3¦®ciN;¦†»S³öDºW°6ÕxK§¸žÐ÷­Š‚—·OÁr/oö|=G;·$ÈßÀz ‰C9æ›öá4 ¦ ",0€ðf ô>)f[á ¥Ôãåíþo> o·v„R.Oüƒuq™œÙ´ŒA=;D@H8 ‰#†ÂûpüÇôéÜ‚@ÿê7íÄk+öÚ¿mK^æ– ñ÷ $¢eWÞX¹ï–2¥Õ]\|K¦€b)ó¶²ÏnbÌ€‡ ¯Œo`­º<Á‡k÷Û]ÇÇöÆc]œ’¶WZ]¥µ /ov¯žGßnm ÄÛ' Ô:í9ö´Y!„¨t ýÐûïÐdÊË+NŸÞŒys–»—™šr¹PsЇ‡ynîjN&^àäþM<áó'ýú-/´nxÇ‘Zã`|"‡¶¯¡u-='n)TÆžzúÍ‹áŸo-çøéDNÇncDÄFw}‡ÿ³á3?ãðÉÎÄnePð^ú øª`½Ë»gÓåÙeôž¶”“ ‰ìüæuÏéÇËÛ.”úº‡¾w„©K7t–K_$zÖLÝ|¾Bê.’ÍBò™Þ3Ϧ“ =e϶Æ><š}¦²ëÐi.œ=ÎßOÊ/Ø]ÇÍǹ´Ñ…’¶WZ]ö´‹óöóì;+‰;›DÊå %Öiï±°§­ !ĦÿܳÊü…Ÿ–šbG'ÏD÷zQÌ?t˜NW¾~·OиñXbOlÄQ}½×RÔ÷ÍË‹züÅñDz{é –YòÏXû’//>g™.Tâ·Ú]—·ŸKàqo§‚2Öüx|ƒZ±ôX}oZÖ‹äó‡x£E]Œïí`Ö×{–ñ+hôÈ.~Rì~zyû0aÛqf6ö,X–väMš2û¦Ýu—eRÜ5®MØ|x=\tËìÙV]?Öž:G“Ö»QEìïJÛ^Yê*ª]Ì=p†§ƒ\íªÓÞ×Vž6k¯ì¬,>ýd³ßyÏ®òÓ^|ž7Þš#“ℸ‡$KdÉâÅe›—zø5Î7™UÌ´úúÌjr‰W¥2§Éí~ã#€Ö1 «9­à±)ûs¦Í⇭‘x9‹íÊé9*•ºLõ½ùÓ‘J|Râëá^è±GøX É­7o»î¢F@,ùÙÞñ=ÏŽ|‰¹ë“øüÉÚezó‡·ä‘æðØãp_³¦´éÜF.‹¢”¶½âØÛ.†ºÚ½/ö¾6{ÚšBÜieJè_ú »ãå=æ–ç|§n`ÎÏCîøÏéÑ—˜î3X¾nuƒ|prЂ͈—o­2×¥.ãò‚»Ç/\Â[W×åQÝÁºAëXƒ¦Ý†óÚxš?õ”'WlÑžmõšû3»‡ýÆÆí{‰Ù²š÷§Ž£ùØU|ñb‡;²¿¥mïvÛ…Neÿ¾TôkBˆJ‘Ð-ÆÌØo&:éâ-ç[Mçi\§#qywÒâ¥ÓpÚh¡ŽþzõÆÔu²ÃŸÆeptÛSÔÔ\gN;6ÿ®mD  _žÏåùÐe^wa\¯4º>äžqb!ξ+¤î’ø¶ý}4¡,»d`´Ÿs™¶U«éŒnúù{¨Õð)xñ˜ÝuhU*¬€½gÀ—´½âêºvQ\wêX!Ä`w×#~틸´y»È‹Èh™Û¾&SÖÆ0¥™#g,'1݈Íbää¾ <×gR…ìp¿Æ.ü‰”\VS61¿® ŸïjÐÆ-Ï’a/±)ú$“ s^&±;~dòN¥®»øÉgX ‹ÍB <ýÄ"¼÷\…Ô]šOjÌŸÄ•i[í½ÀÚß‘gÆjÊ&zóÏ8¸·+S­kèX“„ÍŽ},m{ÅÕu;í¢¸:ïä±Bˆ¿-¡4+†o?PìóÞLÌ[ ¹f m“¿£kÓºø×£ÿ¤4¿ªBvxö/Ëqùí]ZÕÅ?¤£^]M·™ßÞÕ y·šÄÆY÷³bæh‡\¿9ãæ|K£‘‹J]÷«I ˜ýtwýƒé6r6ͦ}Ë܃*¤îÒÔü _T¦m}6:ŠµïŒ§IÝZÔ oÍÌ5©|¹qA™êøà­§ùth'ü||K=m­´íW×í´‹â꼓Ǣ,4 ùFc©åòF4Z¹š³÷ª²ÍrBÜUÙYY:ËìÂj±”œøµZî¿¿Ýé!³Ü…¸‡”k–»âîªéæÆÃ=z•ér®öôæ…Õ$t!*1EQ¤·-„°‹œ#„BHBB!„$t!„BHBB!„$t!„BºB!$¡ !„BºB!$¡ !„’Ð…B! ]!„’Ð…B! ]!„¨–nùµµ£GIT„BˆJ®a£È’zÛû;J”„BˆJ.3#½ä„~s!„BT~òºB! ]!„’Ð…B! ]!„’Ð…BIèB!„„.„BIèB!„„.„BHBB!De£½Ý EáÐþýìØú‡bbHMME±Ùððô¤Ad$í»t¡Å}­Ñh4mQ-FÒÒÒÈÊÊ"ßdBQpuuÅÓÃWWW ’6'ªVB?ËÇóÞåBb" ‚ƒ‰òö¦fH*•Šlƒ„cǘ»e ®îî<3ñß´íÐA".ªô›j|Béé89;£×ë©Q£*• «ÕBvV/^ÄI¯'´vmjÖ¨!AÒæDåOèÿ÷¿ÿ±èƒiAÿÞ½qÐÞZUdh(7oÎî'˜5m:ý†å©=ƒJ¥’È‹*%##ƒ¸'puq¡Vhº"Ú;n`³)dd¤sôèQj(ÁÒæDåMè¿þü3Ÿ/ü˜¡;SÛ׷IJµšû#"¨ëçÇ×®EçàÀ§GIäE•‘••Åñ¸8|||Ðh4$Ä' Õj±Y­Ô ©…F£%)) «ÕŠÕbÁÃÓ“ÀÀ’ΟG¥R Aåns5j”<œ®V«ðôôÄÙÙYÚœ$ô²9ŸÀ‡oÏaXçÎÔòö¶{=?ww†uêÄ’/¿$ªy3¢š7/u«)‰FaQT:6:B¨cù¾‡?óÝëôŸ¶Œ³iE!5år…ÏËÛ§Âê•“Ùbáx\¾¾>¸ºº’ššŠV£¡~½z9z”ü|z'5F£‘ºuë’’rƒÁ€‡‡;$ž;‡««+5J ýuÃ/רÔèôÎøÕ!¢nÌZ½ÇÛœÕjå왳(v¬çââbw›—N’˜t‰ì\èôθyz\_w'9÷BB_2ÿC:6jT¦d~§«+=[´àãyïòñÊ¥½ŸÛ0mË·xKÿ6“NdÍãµËõ"ÇO^ÄKëcéî%G\”íì¹s¸º¸štäî›:]¡²înn(6.^ÀÑÑ//OÎÆÇYâv ~åŽb%'ý"±»v£ö e˜³„{¸Í=s–ÐÐP\\\J\GQ:„§§§]m.ùÐ.NZ|‰jÑ_o5oÈ$ùÂ9Nì!¸]WL+¿nø…î!¥Š(SàôÉ“ìßMÛððro024”ì´4öìÚUjÙe3÷0tÞ#tyg$½º¤ÜÛÜ“m–d.ÊÞS2›INNÆÃÓ£ÜuÔ¨Q“ÉDFFF©eÓRSHKKǤèix_$™gŽPÓY+âns àää„‹‹K‰·k8»ÚÜÑ 9´»ÿ>‚½]±äe“™‘Až Ü|CiÞ±Ž.n×;b^Þr`ªcBß¹õ7"‚‚Ðj4œ8ž=qq¬Ž&öìYòÍf¶<È׿ÿΟÇ ¹t‰5;wò¿;9}ñ"* < €í¿n.q[ÆÔu,ÍiÇÔpwjÖžHã Ö¦ •ñòö)rÝ—{yû`U¼¼} –{yû°çëy<Ú¹%Aþ~†DÐcøKÊ1ß´§Y0ea„„7cè¤÷I1Û X(¥/oö}ó}»µ#$8Àzty⬋Ëä̦e êÙ‘° BÂydøK1Þ‡ã?. OçúP¿i'^[±WZí]’žžŽ^¯¿­S.Uª+C¡©©©eXKAÑø`³¤¢Õ_°™ ÄÙËo›Ö³uëo8| ³íú`l¡¡ûܸܒw™Ãûþà÷Íؼi#»víáìÅÌBås/f߮ߨ²q=Û¶mçä¹ i լ͹¨U\Ê1“‹Ùb½ú~­`³Z0 dg¦´›oV­à× ¿ÜÒ¾Òޱ{ûf6o\϶í;8‘zK»KK8Êîí›Ù²q¿oß)m©2%ôØè}º»_IîGòóÞ½üGFn._nÙž¸8¬6¢£ÙKbJ _nÙ‰óç‰ONfÇ‘#Ôòöæð%nëÐûïÐdÊË;8}z3æÍ=Xæxí;îԔ˅¾ïôáaž›»š“‰8¹OøüI¿~ˆKÇ\IDAT ­Þq$†Öã8ŸÈ¡íkhg]Kω[ •±§ž~óbøç[Ë9~:‘Ó±Ûq†Ñ]äáÿlcøÌÏ8|23±[¼—~¾*XïòîÙtyv½§-ådB";¿yÃsúñò¶ Òr¬,ôzÇÛ®G¯×“•]¦ul¦‹¨55Au½‡¾mg4Vº<Ô§?özˆ‡döÏ.ôO\\oêÚòÃÄ  hH·Þýx²:ßßUÚQôŽW¶cJcwl~ ÚÒ»ß`ztk‹ñô_œÎ¶Hƒ¨Fm.²i=No]Ëî½ÑÄÊó?ÎÐÀU¯'--­„Љé«/ñÞ°º‹Â¾KÊšäÛ*æ…Ï_÷ =î ÇI§ÆÙ3„Q³—“v`^¡2 G~çÅpÕi©éWŸçæý—Äu³Ê\Ï{?J¯689hл1üÕeXŒgyç§+ËoXž}}ÝOÇ|ƨ¯~â™Gšãì Å7â–þôËŸ}]Zî]`2™ÐjnÈ[£Õ`2™ììœÛÈ˾̑¿ŽàZ+ ”ëo~]ºt e£:hmFr f|ë·Âpþ05\ìÞ— ‹ºa8ØŒdffaFO&P;\ H8O­Ö]hR/›1›<‹ŽFm“}gLÑ«.mNï]—ö÷ iúÔpT“›~‘C{¶±sO,™æ[ßdÓRS nñÇ.Ú®uÝÈÏÉ&g߯…ƒ ¸8\]¨ßµu®–Qô4º/ŒÄØsÒ–î2¶U¡Ù–®®x¸º’œyeÈ.='_wwÜœÉ2Ðiµ¸èõ¨¸r ›]½êïq¾É,8]ß=­¾>³š\â•C©Ìirû߇÷öÒ„cVóõ¦ì#Ì™6‹¶þEâå ,W‡6U*u™êxÌ»ðŒQc(}ŠXn5]*xüÅ…Òû5áÓ[†Ô4À'Òzï0EQ*¤¥_wá›U+ J;8¹âÔ˜Î-B±³®|€¶dsúXÉ)ä™L\ß5gÀ¾ ‚ÝØþãOøùyQ³¦î^>¸ê ÙWÖOÊ·bÞý3ñ»o}Ž®­1¤gKè&mN±Xqpõ ÄíV‹Z¥tt±ÑIti‚¥„}¹h²Ñ=À•üìtL–+4N¡XÛppiJ®éJ.ˆps ?3 “õJ]}Ö¼ßqtmŒ!=Wøß™Ð½}|ÈÉ˻޽¿š ƒ½½qÐé0[,ÔòöæBZ¹¹Ô àP|<ßlßN ''œéEŽÑˆ‡Gñ6¾ôv/ÆË{Ì-ÏùNÝÀœŸ‡ÜñÀÌéÑ—˜î3X¾nuƒ|prЂ͈—o­ )íãUã.á-ŸfÿX¬ÖÛ®Çb±Ü2#þf³Ü :êVLù¹d_Sqz÷²|#hý@[<Ýj ÓªA±òÍêU…†åKãÓ¨êç‘‘–JZÊâÆR3¬Qu=¯&è3hzuq Azuis×F„̦|̦+ÃínÁM1ûn¤gJ\U§Va°ÜÚ›W©œ‚ÇyV¥ÐG+eô€$ô¿5¡GµhÁ-W¾C®íçGöÕäîâèHÿöíùiï^ÖïÛGMggº4iB³:u¸”‘Aô©StlÜ€„Ë—‰jÑ¢è†h<ÁŒýf¢“.ÞrÞ¹ÕtžÆu:—7€p'-^: §ê诿 cêº Ì§qÝö55×ßØÒŽÍ¿«gD  _žÏåùP¹œãß¡F$''ßv=F£±”s‚¯¶¯«Ã™EIÈ5ñp«¦è͹r2°Ym˜²ONj9Ö½*›ùâ-uitNø…T;•-uëváÙœ<3Az § ó3±I¨¶m.úxÍ"n½ÎbÍF¥vF¥q ¨ ÈsàýÔÏÌçÆî%ç j‡ÂW©;ži*TÆœsµcè;¤L]¿]ºwþ<«•®MšðX›6ÏÕ dbŸ>ügà@žïÛ—æuê z´lÉô˜>`7Fâ.^¤Óƒ¹øµ/âÒæí"/"£qdnûšLYÀ”f^Œœ±œÄt#6‹‘“û6ð\ŸI˜~.Œ]ø)¹&¬¦lb~]Aÿ>ÞÕƒ3nñx– {‰MÑ'1˜l˜ó2‰Ýñ#“‡t’–{xzz’g4bµ–?µ) rsñòº½¯‰üµÄÆ%’–mÀb1‘™’HÌ_§ • «éÀ®}q˜-6ņ!3™Ã{*óǾC\JÍ$??Ÿ#׬áĘÉtm:“ “Šàðæ ¿ŠÆõ¼íÀÌþe9Ï{•Voÿ“\›– zQ ˜ù-û'=z׎w«Ilœµ’3GóLt•Í;1rü"i¹wƒƒ^^^dfdàéåY®:rssÐh4%~Ådˆ6Í9y,–]±XŽ.n5ê@Öß ÊµlMþ±ãü±m/f+è]ݬۖK®'ã¨Ðš$ÄæHtŠZG _Ztjƒb»2´¯s¯K›ˆdNž8@rZ&VEƒ‹»7¡uïÃ¥†;¹ÙrÚÑÝnsö|¯~­ŒÊÎ6×¾MsRRR8w,†c#¨u8¹ºá_»m†`λ2w£aƒlûƒÑŒÂõ™ïNþMhf;EÜþ?ÉÌÍGçäJ@ý¶´÷”{½thìÎWÊhõ®GÜO³ºž˜rÓå`ߪñÏ=«Ì_øI‰Ã}7JJLdìð§Ø¡¡>>eÚØå¬,>ß¼™Yó?¤q“&}Qé™ÍfböïÇ××gRSS±˜-Ô¯_Ÿ˜ýûñ÷÷Gï¤çÌé34nÔˆÔÔT2³² Äl6“t.‰ððpÜÜÜJî™yy—ú?¨RëpquA§Õ¢R]9g8?Ï€“«ÛõuUZœ]]pÔéŠ-£qÐã¤×£ÓiA±aµ˜ÈËÉ-tN»Z§ÇÙIe[(X-fŒFù&9åèn¶¹<ƒŒÌL»ÖsrrÂÇׇóv¶9µÖýÕv Q«AQ°Z-˜ò 䯟~¦qtÁÕYæê¼ŠÛ©N“#µÅf!?/ÃÕuÝð † ';7¯Ø2¢b$KdÉâÅe¿ôkP­ZL˜:•æÌ¡_»v„ùùÙµÞÅôt¾Þ¹“A£FJ2U†N§£~½zœ8y___õ¤§_$:&æjJ‡úꙇ¯^gÁÝÍ “ÉÄ…óð(õõæ7Éb{a639Y·öóòoXW±`ÈÎÄPB«ÉHŽ©ä!O›ÙHŽY†E+C›s÷p§ÔNº lV’ÎÛÝæl†œÒÏŽ°æç’™_ô6³1—LcÉ“Ûì)#*F¹NxìúÈÃäçç³pÞ<î §CÆ苙Qi±Zù3.ŽGŽ0häH!QUЇ‡uÂÂ8uú45kÖ$,, ¦ðô“zõ®\3AQ 33ƒ¤sIøûûS+8X(n»ÍyxxÜÒæ >Ã]mséiéÒæ$¡—OÇúP7¼> çÎåÃuëˆ "ÔÛ›NN¨U*rŒFRRˆ;oo^7—÷Ý'U’··7ÎÎΜ9s†„øx\\\Ð;éÑjµ¨T*, Fc>ƒFCýúõoû{s!m®*·9ùQ—*”ÐÂ6äÃeË8rð »¶mãà¾hRNŸÆjµàããCæMé?a‰³ƒŸ:-ùÏÒí…êZ¼u9}Ú5ÀY§ÆÅ«6ÿz )ѳ*4¶Éf+ >YËe“­Üõ”w?í!ß¡ !ª-‹åîO*ËÍÍ)ö9WL¦ë‰ª¸û7?^œ”MzÚÌ¿©>•JƒÉ´¸jÇ^åF‡žýéÐóÊCÅ–Ëê½éÓíþ|€ÏÏçp¸ë-1ºQ/7uáçÕÁXÍ)¥ÆÛÞØšLù,z¦%½g ã›7_àÉq¯ññ+ÃЫËvŒìÙOIèBqEá®_~´´íÝø|q÷o~lUàLz&>:u™·Wåb¯rfà««ø×Âæ(Ê»ë+î¹ÒâmolEáÙ›8öÜ9r’òÑÔ±´û¿ZæzÊÓnì!CîBˆêœÒ+í¤¸âîõxT Ÿ'åT©óÐí‰ý£ÓWo»u¹Ép­¾nÁãáþÎÌ;˜Ræ¸Ûo{b{½¼Š àZD´èÎûßÏé&—³ž²µ™'„t®P-ú„eY4ày6ì#7ߊÉÁþmß3±»J|a™Òc¿uþs4ì<Œë÷n0cÍÏåø_ëÛkm&¼_PnüÇ£YüØ`Öì8BžÉBÊ™f?û`…$t{b{sý6‹ƒ›×âèÙõ¶ê©è„.CîBˆjœÑm(6Û]Þ¤Íîç‹»ócï–ϳyö—L›1‚§£cÀ‰ˆ=añ]}ûØ+Xòå×Ì~ϧ‚CMÂ6§ï¨Å,Ù¼`}ÿN¯²ùÝ÷™ò|?ž»€K@FN™Wbüì·½±Ul6ÜÜ=®$NGW"ZtaÉÏ ÊUOyÚ=$¡ !ª}ýnÉHO+q{7>_Üýâê î4œ†ñ«îwè!­{ñFë^¼QL7®Ý¨ïD~ê;±È×^\Üíwi±½V>#=­ÄøÛ[OYÛ$t!„$t”»–ð<<½ì.›ž–*±¯ ¸Þ ±”„.„„®€í.%ôÔÔ»ËÚ*i¯º2ƾ´¸Þ ±”„.„w±‡.$ö’Ð…âŽõ%©Hì%¡ !D•¦V«ÉÍÉA­–³s+ŠÍf³+žû¿'ö’Ð…ÕŽJ¥ÂÝÝ””|||$ $55OO¯‹Äþ$t!Dõëk4D6iŸ»vÒºM|}ýP©T˜rR…ääKìݳ‡æ-Zààà ±¯„±—„.„¨v4 DEEq f?™™Ø*ëXªÂ$µ"£¢ðòòÂQï$±¯„±—„.„¨–t:auëŒÅb– Z·I¥R£sÐáää,±¯¤±—„.„¨Ö=ug „ÄþÞèÍK„BIèB!„„.„BˆŠPðzÒ¹D‰†BQE©Æ?÷¬L?B!ª¸ÿO.9qÁ¡LIEND®B`‚KCemu-0.5.1/doc/window-tape.png0000644000175000017500000013027112417262523016466 0ustar glaubitzglaubitz‰PNG  IHDRʬ]1ç›sRGB®Îé IDATxÚìwxÅúÇ?§¥÷Þ{¨¡@) Xè"E½X(‚ zm?‹ˆ±qU@ñª÷ ‚`DTl\éMZ(é='íôsö÷ÇI9顜Ïóì“ì”wgÞïÎìœ]¬§šE¯çé9gôô7$@ ø‹ñå»OËFÁÿví ¬°eÍ;2ݤsV0ëéÙÂ[@ øËñàËŸTeÕa6¡¼ë‰óÒŒ' §X#¼%aŠJ5˜Ì–KÊ«TÈñõt¹!í>>åo|ü)RµXÊ`½M$³ +Eë!’—UròÀo—”¿Câøx¸ÖµÉnº’Ý¿oæËEËì¦^%I<š‚¿2ÅeZ Õ$ÿù;wÜ=†¶áÞ-Ê:£„ß~ü–v=àãá|CÚ­‰lð¤¹ÒÄG¦£Ñë52óž(>øá¼Ý>PoX55ã@pãW\Áí?pûà‘ù¸]’c)9$ÿù;‰·ßC`•Í.@Na9ûYwñecƒÉê¸Y÷Zñý-çë «ÞŸyO”m_ üuÑ lßs¥RÁ€>‰Èdõ§ûå½ îß[8í:S}Ž‚|Ü0[.m–1ÀÇä*[ÕZq£Ù­I ¡”J‰§†EðÞ÷iõ¦­&¦q¯C§¤7°cßaT*%·÷îL&“™¤SgQ—–Ó¡m,þ>huzÎgdS\RŠÎ`@Ž g':ÄÇàáîzÓÖ»µp8)™¢’R:µ·+[CáWI‚GOPVV@»¸HÂB‚.[$OœLfÓãÑèŒL~m·÷¾¥ŽXþº}›ÞÀÈÖqçí½ÄÅ|‘×8A‹tÙ¶ªµ >»[~ÛÕ,;÷ÞÑ·EvkÚ®·¡ðÚvëJK#ÂV-’K7Ÿk0]uøÒÍçš´'¸:b‘|ú ›ÞOY¥žGO—„vœ:}–ç&ô¦C´?ï­ßOnA1&“ uq÷ hO×ø |=œ0š-äVðÉÇ$ ÷D,[Rï?ïVQæ£ÇO3kLWºµ âÕ»lek(üZˆä¾CGYð·~´‰ðࣇHÍÎ%48ð’í–•Wj-jV ®.®HH4Õ5ˆ¾ãz(eWì\Èd2›†ì¾ÿ܈FmÌzë»:åhÊî¿ï¶ÙõÖwÜ=¨O£áõÙm`DÙt¥ŸcûÿÝïÎÕ¹Ø×uYí"­ÜÉó…89:qá^ž«ë†ÇÇDÐÌó¡ÁA•¨Ñéô¨” ÂBƒˆ i´í¤gåÒ¯S˜M$bB¼8œvž ;ûþ~–¨qur¢{—¶úæ[©RJp?¥å•ÜÚÖ:*NÉ,¦²RöûQ(D„‚Éh²$Tü¾c?½{tÆÙÙ €SgΑ›_ˆ¿¯7 íãÅÅ~Ã(/ßníô-±ûþs#˜õÖwõŠrcv[<¢x{S*ÏŽŒ­7}ÍýgGÆÚÒ ®Pöîn¢“i„ù¹òÒ¤¾—iyîƒ_  ÅÙÙ‰¬ôó,|z(Y…å,úïN:´',*VÇg?":2 GôF#IÇ“¹çÖúÝß™ 7 F3“³ùü§ãÄÄÄp2Ù:­f6[øãH:=Û‡àà àà©Îçªéw_g‚ýÜ(×øö§8™•‹¿ŸÉUù´z½º[ºu&ù”5¬BcàáE›éÛ«ì:`7%׿oâ%ÕÛÇÛ‹ìÜ|"|ä¼QeO’@«7r&£ˆÿþ„ŒB© ãÂyš@§Ø\(TW²ýH:;Ndà@Væ…ッ‚8qêLƒ>ó À]¡³Õ `å Ã8r6—®ñAuÂ?þî0ÛcXßø¦ÏƒEâÇ=géÞ¶;Þ®TèŒlÚ~šCiÙD„×Ûn F……ù¼úðÝÖi©Ýg¹·O7ŸòŠJbC­7×aüë™!ùº¡Ó›Ø°=™ýg2(*.bÓãÑLŒŸ÷-+_¸ owg¦¿ùa‘Q¤ž»ÀCƒÛ3¨Çì=‘ÅÇ[ŽÓ±Ë«;¢¼r£{™Œ#¿†íV Y}"W_ú¦ìîß›Yo}gË_[ g½õƒû÷nÔn#J©‰éé²öW—²²rÚF&äëÊä»;søL.K×í§Cûxœœœ8’Æ„pT)XÿÛ ¢""ps³Ž¤\œh×ÆÚ©™Ìf’N$ó)·âÍûßìg×ÑLöˆdúè[psq`éúC„ø¹ PÈ9~.ŸoþwŠeÏÞMŸNa˜Ìf^^¹¸PoæO¹Iwwfü¼oqrv$&Ä:jJË.ÁÅÅ­NGˆŸu¥Yva9ÎÎŽÍzÞÜzK’„F«§MdÿøäN¤ —ÉèÙ!„9nåÙ\øû²ÿ!WÈxuÊmĆzóò‡¿s:£ˆ˜`oÆêHX^%‡’ϲèñÛëÍ«äØÉÓ,x´_ƒ>ûàÛ£”:©øhã!¦ŽêÎñsüßG¿[ýïâÄ€.áuÂ]yõ±þÍ;re•f¿÷ ¢ü˜?åv&N`ü¯)Q—¢.-@¥RrkbW’ÏœãowwÁÍÙC§søâç$îíOd 'Z½ŽÊJ­}ƒÑÌÓïnEg’!—Y˜?å6BüÜyï«ýü™œKl˜7÷ Jàðæc”•Uf=×F“…–ÿF\˜7ÿx´?ãïèÈ7Û¾&.Ü:âÌ)ª@¡“’YBb{gâÂ|HÏ/ÄßÃÝ£ÐèŒ|¼é±qñ¢o¹áF”R³ìÞÑÏþÙôo;ö51òkÜîýzÙ‰eM‘¼£_¯zËÐä3JƒÑÜh…kÇWï¿þÕi^¾¿-ÏŠk4½àêa±Hèt:bC½1š, é‹Î`âý¯Ž\¡Â`4SRRF×xë3§ãç ˆoÓ¦Þót>#‹qÚæÃÏûÏñûÁóÖ†{0é£o¡K\ e••t·NÕN/bç±L|=¬SeZ½‰åß$22ŠÒŠ" J488¨(-­ w[kçy.»gg**4DUuÆ9E8:8`0šéØÍ6%×;±[²6·Þ¾ügËŒF&³„Åbf×± fÝß“`7´:2Dzpÿ =›Ç±Ô<Þ\»‡ø˜(ôz}ƒñînnŒÔ®QŸ•”–èèO¨¿›íF!(П¨ˆ0ΧgÕ G&ãÞ[Bš}Ò²Õ|»ý4mb£©Ð_R Èxnü-tŠ °Þ\Tê™òú÷ÄÇFêãÀÀQLfVn:ŒÑdÍàíJ+Å¥åÄTÝĤf•ðïÍGèØ¾¹ùùÜÕÃZ¶÷¾ÚϹ|]»v¤²Rˇ›ŽŠI¯ÁÛݓٲoF…Vm+—B¥$Ä×j;§°Gg3‹IlB|˜7{N$ñæŒ;‘É`ÕOI8»{"“ËEßrÕG”…§Rg¸l[Õç«)»«v\Kì6Ç^}v›=õúú~XÙɺS2 Î¾]XMJƲÚë+Ñê®å•bC½P*äœL+`ÃöÓ¼ðPþ9mÿøäŒf ^žMF<ݬbV©5 —+ê=ïEE%ôëj]¦?¤g CzÆØÅ¨5(år‚«Ä-)5WbB<¬S ç pptFoÐrQ]]\¨Ôj‰Ž® SãììT5¢ ²(måêyK×Ûgóëm"óB“‡v¤K| ¾Î8¨6;ye899âéáÎ{Sq[ºµ ¢[k™~ÙŽuÛÏàï×`üò Ò¯kD£>stPUÕÕê·´5.ÎÎX$©ÞðŒ¬œ‡CgrðóõE£Õäió;’DDÕ>@F~NŽŽœ»Î[3îàëm§È)*·?ÀÛ•˜/’.”Ü.Ìjÿt~~¾¨”•p{UÙöžÈ¤]Ûv€ WWb¢#Q—–Ùòœ:_ˆL®Bo6äe+—R¡°•=§¨''gR2­æÃà[bˆñâtz¿N§sB;±Ðç RÈmÿ›-ÖWÂøóh³ò&öèR5û`µ!—Ë0V½V®>»5©/¬v\Kìøóh½ …ªŸYV—µ!»Ížzuî+Øñ¸m?ïD‚Ý~íð¼Ö)°êÿ¥ã¢Q_ ***èíXMœLW³xÕ.^œÔ—%OÞÁ‚O·“o0ààà@~I%Á¾n„z¢.-ÅÓÃVKAA!ÁA88¨0›M¸9;ZGNs¿®s‡åè耇§‡Ýt©Ål!.ìâ WW*+µÄtõ·vœ((,²-X9—]‚³GYÙ¹t‰ërqDéè€$I¶‹³fƒ¾”zóÊ#}háË¿ÖïcÏñl´z'0áÎŽœ<_€›«+..άýå$[÷¥’ãO×ø nMc@÷(–o8HTdxƒñ|s IŸuNhϱãÉ6A<Ÿ£ÆÉÃI’ÐéôuÂ[z² Êqrt R£%&ä¢ßCB‚xôõï1š¬ gÜÝ\qus¥o{_­77 NàÁ vö£‚½ØŸœowž­Óâ&“ WǪ¾L3F‰Ò²rü}©¨¨¤G‚ÿÅöàæŠF£%*øb¹@f³SX›ëE¡Œ õ&"ÈsÕh4.&²j‘…èS®åˆ²æôd³V§V¥¯Ö.Y©LYS¯‰qKíþyø˜]yk/æ©ËÝ:7h×nJ¶¦PÖÞj aµVï×üÛõÙÛ•ß***m+?Ïf–àïCV‰‰Å«váîâÈëSá®4àìäÄ7ÛN0}ô-T”pôØ L•Å2™Œ„&ÝÝ™LÆ/ÓØðG²mÊÑÁÁ¡Ñx¥RѤÏ$IÂ`0Øêo2[8yê ¦ÞpW—ŸGG‡zýÞ¥snéÞ™[ºw&**‹¡’ñwv`þ¿ÿ`ä ëlÛ?WYgâÁh¨a¿GGUÕχÜHJÍ`Â9sú %…¹ ìF^~!Ö6¢LÉ*ÁÕÙÉZ®‹#JI²Ø•ÝÙÅÁL¡Zƒ“ƒ7g6l?M¥Aa{Ö,¶«¿ÉeöՒ电ÓËe4ËîûϨw»\»Õ"Ù­K'ºuéTgÑPcvkj`³~R=ŠlJë ¥¸;»Tj4´¸8²ò ÁÛ˛̜\þùù.^šÜ—<ÚŸ¥ëö±/9×{u{[>xÖºÒ±¸LËÙŒbò ˉ‹õ#*"œe1©RÏÈÛÛòàÐN¨Ëµ>“Ç[“ àô™‚m# ôFÃÅŽ1³˜°ð(tz-QU•–­&"Ú‡à@ÖþrœQ··ãéq½(PWògrf‹„B.#§¨‚8¯àfµ¥–Ôû¿?eì ¼5k0%•ì9‘‰²ê6òDZÁáüy&—!=˜÷H?ü½\¨ÔÙy,ƒÏ:FLtd£ñmãc›ô™$A`€?wœæ®^q¼7û.ž^ºo¯zÃ?øæO&ßÕüóP¯ßkú/==›Ycºã¨R°ãh:©9å¶;k½ÞÀùœL¢C¼Ì›ýœ¢ ¢¢­õˆŽ 烯2éîN êͽ}â9~.ŸÿüxwO?rròm yÎe•à‚F«%*èb¹ŒF“í°?\]\HÉ,ÆÏË…œ¢ ¾Ú–LûömD_r½F”5ßÐÊT;á©ç÷Žß síìvéœ`³Û¥sB“áõÙµ ¯~×kzžºNäô.ãí¦TkN«6ô·fšG׉Vw8~2ƒÁHÇömptt´…—–•q.-Ý:•†··Å%jòó ÑêtÖ9~• Wg¢£".Îõ›ÌdfçPVVŽÉlB©TáááN ¿NNVûÇ’Nb2›éœÐ…Bɱã'1›ÍtêØ•J…$Á±¤˜-:%´G¥´Þ—åæŸ_€ÙbÆA倇‡;…EEHtIè€Bi}~xèHÝ»vºìz›Ìfróò1™L888àåéI~A!’$‘С*Œ&ùù…¨Õ¥ŒFr9îîn„…£R5ߟdeçRXT„¹êYHû¶ñÖŸîÔî Rµè<(•Êý^“Ôsç)-+ÇÛË‹è¨p»8½ÞÀ‰S§Q)•tJh_Ç~5&“‰Ì,kÙÌ î…†àTu’Ž'c4éо-ìhÒ Ìæ‹åª¶]ÝfÎOG­.ÅÑÁöíã‘Ëä⿆xº:±uË7Œÿ )YE—dÃÍÙ‘í¿lbè½÷QZ©»!í‚uµ¶Ý»^{H^߈²¾Ñeíç—âÁûµ£Cû¶õúÝÝÝ.;ÚÅyyyâååÙè]›L!'<<´Ñ»»„„öG|Htª±_¦S§uÂüð³³\']×. M¶£æÖÀ××þ•pÁ5Þ:c‘$ ÁÁvá-‰oŽÏª[Û†E’´Ý’óИßkÙ`¼ÊAeçûúìÈ ""Â,WÇŽuÏM§ûrÕg;*2"ÃE?rG”¹Å—üóüâr›­ÚoйQìÖ;¢LË)®ù¨æËrø'.kD«‚Wg'TJ9¿lù†Î½‡\’c{fð½÷a4Y¨ÔênH» ìÿeÝE¡<—],Zˆ@ pqr@¥TðÛß^Rþ;îƒÑdFSë÷Š7š]I¢ög¶Äô†@  R«ÇÇÓ•a£Æ_R~½ÑD¥VÃÛë´®J@ Ô¡H]ñ—·[ýüSÙν[wˆV!A-Ú¹ZG”›ÞOqQ!nnîÂ3@ øKRQQnû?+3ƒWþe} 7~³^xK Iîz·Ý¾²¹ @ ¸™qss¯w (^y!A#¡@¥@ B(@ B)J@ „P @ „R !”@ ¡¬…¯Ÿ?¾~þ¦Y¸ð5[º·ß~Gx[ 7Ê«exî¼y¬Xñ! üƒ™O>yS;²ú¦¡¨°à²ÒÁ_óéç9xäOLFÓU=Ž££#½{|}…R’$^xáE>ùôSÿóuüqÑ@P‡Ì¬LþïÕyÕßH¾ê|÷ãfÞ}ým¼<½®PZ,æ<û,«V­F&“ñö[oñðÓEKA½=y d0tÔPüƒü¯ê±².d±íÇm$Ÿ9MïÄ^×^(Íf3³žzšuëÖ!—Ëyï_K™8q¢h@ hX;LfÜÜÝpw¿ø=äÂüBΧžGS¡ÁÕÝ•˜61xûx7j« ¯€ ©ÐTjp÷t':>/ï‹#G7w7ë1%s‹ÊxE„Òd21}Æ ¾ýv …‚Ë—sß}cÍ“””Ć Ù±s')))h4¼¼¼èÚµ “'OæÞ{î©7ßÉ“'ùàƒeìÞ³‡¼¼<är9¡¡!ôêÕ‹&>À­·ö¾¬ôz½žU«W³qãF’“OSQQŸŸ}ûôáÉ'Ÿ¤sçN¶´µ4ÕÞ/*,hVšK=¾@ ÜLF¶ý¸ÔÓ©váv mB[úÝÙ¥RY§ÏÜöã6ÒΦمïÛ¾ŽÝ:Òg@ Å%—Iy%*õØãOðý÷ߣR©øxåG >¼É|ªVXXȯ¿þƯ¿þÆÔ©Oðú¢EvñÛwì`„‰èõz»ðÔÔs¤¦žcÍšµv¢ÓÒô999L˜øÇ¯þõ7ß°qÓ&Þ}çmxà«ÒH®÷ñàzòÛ–ßH;›†ŸÁ(UJŒ#yÙy$'%#Iƒî¾¨[7n%+= ÿ@||Qª”ôò²ó8~ÈÚ—ö»£ß%—é²GùðÃðý÷ßãèèÈþóY³D G,Yò;wl'ýÂyòrs8rø ü>úh%¿ÿþ»]žÿX€^¯çî»îbÛï¿“™‘NNv‡þ<ȲeÔ¶4½Ñh䡇&qüøq À·ß|͹Ôòrs8x`?Ï<ótÕsØçlBVTX`'¶Õû5Û“æR/7 Ù™Ù¤MÃ?ПÐÈP´•ZJ‹KÑit„E…áíëÍéã§)Ì/´åÉHË +=‹€ ‚‚lyôZ=áÑáxùxqâð Ô%êë7¢ÜúóÏŒ=š»†mv¾Ÿ·þT',<<œ™O>IpP0OLÊç«V3hÐÅ;‡“§N°|ù2<<E&»¸ +::šysçâååÅ?þ±€å+>dù²®h#¹ÞÇ‚ëIõtk@pe%eÜ9üN<¼<(S—ñýúïméNŸ8_€)É)ÈårB(S—1èÞAxùxQ^ZÎ÷ë¿G’$$Iâìɳ‡_R¹.{Dùâ /ðå—_²dÉ›WÄY÷Üs7‡² ÷ññà?ÿý/:®I;-Mÿí† Ì~æ;‘ªÉC>À®]»®x#¹ÞÇ‚ëIiq)*• …RL.ÃÃ˃oWË'ÿú„¼œb$Ú­½göìgðññáƒepî\¿ýö¿ýöžžžÌš9“§Ÿ~ÊvgÑÒôjµuÛlnzé°Ñh¼âäz_ ®'ÑñÑ$'%S\PŒ§·'×nÄÝÃò²rüƒüQ©TäfçÒ©ÇÅ•ÿQñQ¤$§Øòl^·7w7*Ê+ðòG&“QW@Ç®1.­ß¼b¿£|jÖ,TJ•íÕu½7ÞX\ïâüüƒŒŒ :uJàÙ9sèܹ3þþþ8;;#“É0™LÕ?—üðÓyøáɤ¦žãð‘Ã9r„;w’”tœ×-BoÐÛ¦ƒ[šÞÕÕ•ÒÒRRΞÁÛÛûÚßM]çã Áõ$"&‚€ ²3²ð ôC’$||)Ì-$7;—°È0»g1ñ1øøù“™c—ÇÁÉ‚œ ò ˆŒ‰$08Ì ™×W(¦OŸ†R©àÅ—^æ“O?Å`4ðÎÛoÛFlÕüïðÅêÕ„††Ö±“’’Òä±bccˆaì}÷°qã&}ì1V}¾ÊN([’¾]»vìÛ·;w6{õî•äz_ ®'r™œ¡£†òã·?’‘MnV.J¥£Ñˆ$I¨T* z×l´2¥¹\NVz9™9(•JL&‹…ðÝ;èòÊu¥+úøãóæ›KÉd¬Zµš™³žª3•X=¥êààP'¿$I,~cI‹{ÇVG”¨Õ—œ~D•8-~c -:¾³³3`}öz©i.çø@p3àæîƘIcèÖ«‹ƒÁ€\.ÇÑÑ•ƒŠŠò ÊÔev[EyŽ888 “É0 H’ÄíCngÄ„899µ.¡˜ò·¿ñÎÛo#“ÉX·nS§M³[¨Óµk{ìq9‚Á`@£Ñ°gÏ^&LœÈæÍ›ëµ{{ÿ¼õÖÛìÞ½‡ÂÂBL&Z­–ÃGŽ0uê4ºtérÉé'OžD\l,ÉÉÉ ½ën6mÚDaa!f³™²²29²eËtÇuÊ ÀêU«\aÛTšË9¾@ Ü4HpîÌ9T*ý÷£ÿÐþô½£/½û÷nt»íÎÛè?´?‰·%pþìydWàmëWí3[“'OB©Tðô3³Ù°a#ƒ‘Oþý1*•ŠWæÍcô˜ûعkwÞ9¸NÞ3¦³|ùŠ:á'Nœàĉ ÓÛÛ›7/¾äô...¬]»†‰ 99™)>ÖìúŽ=š“'O2wÞ<æÎ›g ¯ùB¦Ò\Îñàfáøáã”–”Ò¦cT*U‹ó»{¸FzZ:i)iDÇE·N¡xàP(•Ìšõ[¶laòÃóŸÏ>£W¯^üôã¼õöÛìÙ³µZ‡‡]ºtáÑ)ãÞ{ï­W(wlÿƒï6ofçΜ>}†ÒÒRœœˆŠŽf«)ë IDATÐÀL:•  ÀKNöm¿óùç«Øüýf’“OS^^Ž››±±±ôíӇѣG×)Û¬Y31|óÍ7¤gd`0.)Í¥_ nD|¼­¿w?°óήÎXÌΞ: @qA1e%e—d·ú—?mø‰6Ú “Ë(/-ÀËݳE¶d³fL“Þ[¶‚â"ëoÝÜÜÙøÍzîz·8ƒ@ ¸ª˜L&Þ]¶”£'ŽÙ~'~µËåÜšx+Ó¦ÍYÕå$©Õ”£6JÑ  õQÝaoÚ´©ÞÎûRiÊžt Vš6縭¥B( •3räH6mÚtÝì}»áÖµ®Áø™3fqë­}®Ë(ðZ!„R Z1WR$/ÅÞú¯Ö1aÂüêÄåçòÁò÷¸í¶~B(@ð×QøqêÔ±:áíÛwÆÇÛ‰–¿ŏ:ä.þöÈ”Ë.NN6Ÿ¯úœŠÊr¸ƒA5šþð‘C¬ýr înîŒ7¶mÚ ¡‚ê…-7n¼¢Ïë³Wó¸µ)+«¬¶o߆ Òä1ÏŸÏ`ëÏ?ñÈÃkqýkóÃ?àçïKTt$¿üº•ââ"î3¶Þ´{÷íåËukèÝ»7Fƒ‘U«þËÂW ¡1¢¼òö*+µdgQ\\^C,O5šÏÇÇ!C²wïá+Rþ²²2ÜÜ])--¥S§Nüó @±¬É^½zQ^^†«‹*‡K:¦J@ hÅ\ïg”µ)..gý—_7;ý¸ c¯èˆø¾1cYòÖboI´ŠeBÿ<`'–{÷îáËõkéÙ³'åee¸¹»³ÿ~¦<ò¨J@ ¸Y¨—Q£F±qãF»¸­[·0tèÐó7”¦>{5ÙØ´lMJJŠš¬ƒ··/`}‘Mc¶[Rް°0žšõ ソ”îÝ{ .UÓ¡}Ü$I„†„²vÝ«ªÕ¸¹{°wï^&NxN:_’h ¡‚VL}¢öñdzuëV¾þúëzÅrëÖ­Œ;–¡C‡Ö‰oH$›.‹Å‚ÅrQdŽ9Òd¾ï¸*>‰‹³‰e—.]Q—–Юm;ö؇F£á–·PZ¦ÆÍÕû÷3qâƒôîué¯dB)­˜úF€«W¯fìØ±Œ;¶ŽXV‹dÿþýY½zu³ì5G$Í& ?»Øµk×fÛ¸oz«)– (Q—ЦMdÈ(-UãêæÆÁ?òàć.K$…P Á 8¢trrâ믿¶‰å;ï¼ÃwÞɯ¿þÊœ9sèß¿?_ý5NNNͲ×2™ ™L†E²ØM[¶tDYßw¯”X¾³ôm:wêDnn‹D`@ ‡â¡&Ó»÷­—}!”@ÐÊ0™Œ˜LÖ—s{?_ýU=£4kÖ|Á„ ™1c†-|ðàÁ¬Yór¹ ƒA_'_CöÌf“í¸µÅÒd2Ù eKF”ÕÔWž–”£>²³³QÊåXlïi•0šL8::‘ž‘N÷îÝ…P Á͆$]\<óÕWë\€âèèÈÚµk˜8ñ~ùåÌÚµkpttl0Ocöj·®x›¨ŽÒé´L>µÙõY·n3Ly˜7þ¹„€€€f׿1öíÛËWß|E|\<%ê<<<‘$‰òò2"##Ù³w7 1rÄ(!”@p“I¥M(ÆÇúõëLéèèÈš5_ðî»ï2{öìFE²i{ö«M?ûÏg˜ÍfÞ{ïS;{ê™§¹÷î!ô¸¥CZ‹Ål}–i±T=Ó4c1›1 89»PYaä›o· P(š!‚M¯Ý»o/_}½žØ˜Ô¥jÜ\ÝHNNÆ"IÄÅÆRVVNDx8»vïB’`䈑B(àfQ®[·®IÑpttäÅ_¬Ê+51º[×ì7óìÛ·¹sg¡RªfÉ*‚’EÂ`0P\œ‹ÉlÆh4a1[°TÅ[,Ìf3f³£Á€B¡B]ZŠÙli–P6õS’}û­"EiY)..n¤žKeÜýð÷÷cùŠeD„GP^^NXX»vï$F ¿4±‚V:¢”$‰qãÆÛþ¿[M{ tõ&WÈ0›-”•«)V¢VSRµ•W”a00™L  =ƒ½Á€A_µ èôÌ ••<<ÜlBYskª5·ääÓ¬[¿ŽPÊÊJqpp"--1£ÆÐ­kWBCByü±'¸~…BIEE9ÁA!ìØ¹“ß·ýÖ¨o„P Á 3¢¼ØyùåÚ+*”5í5&Ð’$áââŠ$Iètz #:½N‡^§E¯Ó¡ÕéÐh4h4*5*+5h*+©ÔhÐh´hªö%‹DVf1Ñq(”ŠfTÃåßö¿ß¦¼¬GG22.p×лˆŒŒ"//¼¼<\]\wÿ223ËTTVį¿ý*„R n¡¼(–ãÇO¸¢BYÓ^S#9ŒFë ÔÊÊ t:º*Ôjµhµ4Z-Z­N^¯C¯Ó£×éÐé´VaÕ뀊J C¯Ó_ÖˆÒËË Me%*23³ÐáT e>yyy¸8;3|ØH²²²ÉdhµZ|}ü.I(Å3J@ h}RIõÓ/×®±ý%hÜždçâìÌæÍ¿1jä]¨Õg¬/0KUÏ"%Û³HƒÁˆÙ\õšºª7ø˜Íf,3F£‹JJÔÄÇ8¡×épsumvýk3dðPŒF#yyyŒ>‚0ë(W¯Ç ×c6[ppP!Y$üü˜8n"‡ŽÉb}F)^a'7‹NZ;ô‰<ÀÚ5k®˜éFíÕYMzp+>\ÎáÃI¸¸*±T‰¡Å:äC’Àl‹EÈ‘!!!!—K S"·H(›¾ÛŠ“ƒ3á(•ʦW½62ÂóôðàþûZŸª”Jœœœ0›Í€õwŸ ¥•R‰··7±±±¸ººâàà Þõ*7‡N^Š5_|qE¿¾Ñ˜½Ú¿_ôõõeô¨Ñ|ôï•—}ÜwÝAtt4...ÍXõÚøê]¥R‰››®®RÕêZ³mt+“ÉËå¶M©TÚÞ t©~B)­N)/ å>Äš/V_1ÓÙ“jý~Q¥RÑ©Sg–¾½Ôî9^íÿ-ë;`år¹í•w5ãÌf3J¥äryÓBIó¿4¢P(P(M¸óòn4„P AëÓI[çþÅêUWtDÙ¨½zFrr¹‡Küàñ%‹–Ä­óå"oH¡«ï@p…²ÆÏ#|è¡«ò×d2ÙFb2™ …BŽÙb¾¢+l›³U—£z$ÚÊѤPÊår‚‚‚ÉÉέU ®ZÆÖ¯úüó«ò·¸¨_$‹àééMÆ…ôk.PÅEEx{ûX…²•”£I¡T©Tô½­[Ú™ÓɶUD@ ¸F#Ê«:r2“››ËÞ½{èÕ§7:½™BAÇÎÙ·o7¹¹¹˜Læk0‚»XŽvíÛ£R9´šrÔ¦Î3JGGÂÃ#¸çÞa|ÿÝFòòò„X Á5"""’uk×\5û …oooúô½p*+Ê‘Ëå„…bH0pôðaÊÊJ¯z¿¯P(ðòô¢cÇŽøùûâàèˆL&»¾åðóÅÉÙ¹i¡prv¢]‡têÒõª|™Z õ£×ëpttºº#V‹½Á@eE¹mªQ©RChh(f³¹É·Õ\.ÕÏ$•J%ŽNÎ6­¹žåprv©7M¡ü~ÓÑR@pÃ1läh»ýóçÓ8ôç! ò›UúøúÒ£{"£¢š7¢œ<åqáq@ Ü0|þéÇvûÙYÙìݳ‡;!22ÊúÕKÕkö0MU£Uë·3ÓÒÒØ½k'*GB‚CšJƒA/fgK<€ÁM‡Ñd¢cBçåéÐ1£ÉT'¼Áekz+‚@ -¡ú3a-Y5[ýQi!”‚š?ì£wŸ~QGq¾…/6¿´D@³2Òñõhve#ÖÄ´æÛEQGq¾…/-e&=BfÆ""£‰Ž½<¡#JAkoð¢ŽWW74•Âávqî\>ö‡¦C‡¬^µŠ˜˜èÖoÇŽF­.¦mûdefÝt}\Ì#‰Ml­pû+´ÏÖRG„/þòíbÖSO1xðdgg1vì}<ÿ ­Ö/MqìÈ!**ÊxçPbãÛÐ=±å奤§»2#J77wî¼óN6lø¶Î cÝÜÜ©¨(·y‚ëvWíææÞ`º¹mÖ9\k­µŒäj—£¬¬Œ×^[Ä–-ß“••››·ÝÖ—iÓ¦1`À€+ê¯ÖÖÇÕwNòòòX¼ø ~þy+ÙÙ9¸ºº’˜˜È´iS:th³ëX»®{öìá‹/VãääDbb"K–¼yÎéÜ­f“ I² T(èУшƒ£#:­¶åBY{ÜÛÛ‹•­dêÔ'šL+\ƒÞ⢖—]¼àÝ=ìöoè¶Y_Ù¯u}Z‹ÿj•còäÉDGǰeËÂÃÂ())aûöí,^üú÷¿òåoMí¨VY²³³ô ?üð!ÁÁ”——³oÿ~V¬XÁÐ!Cš4YQ^’dû[N§ÃÃÝ¥K—²eˬX¾ì†½¦‚‚Cê|>R¥R¡P(0èõ—8õZãíêï¾ó~ô§OŸ®WýZZ÷O`P0¾~þŒ=†üü|[¼›»üo:&tÂÇ×Äž½Ø½{7«W¯¦K×nxûøÒ§o_Ž?n÷°WæÏ'*:ÿ€@~äÊË˯ù'XÄÖ:¶úÚgCíqÈлøê«¯íâÓ32ˆ‹oCii)nî¼ûî»DÇÄÈ´é3Ðét­¶ŽÕ[«ÕòäÌY‡„ÊÌY³ÐjµÍ¾6u:S§M' ˜Ø8–.]Úèñ®·/¶oßÁÂW\.Ç××—Ñ£Góã[l}Mõ“›»G‹ú¨÷?ø€¶íÚáîáÙ Öä‹…¯-â‘Gá¥_$"<¥R‰··7w ʆo¿m°nÍi7ÕÇ{óÍ·X÷åZFŒQçŽ×»¾4[(=<yÊã”—•ÚyxzÙ̼W^A©P2þ+uâj£Õjé˜Ð‰s©)¶´çÓÎáããc‹ ®n+OÇ„NlÜð-ñññäççÓ§ïm¤œ=#¦ÿ‚;z˜Þ}ú5¸³v{0pOΘÎý÷ßOjj*Æ çС?qvvÆÃÓ‹#‡`‹?uêd«¬cc×ZÛvíøaËb«–»§¤¤0løp’OjÖµÙ®}{~Ø²Åæ‹””º÷¸¥Áã]o_”––òî»Kùñ§IK;ŸŸÇã¥_ÄËË«I5ÖGNN&88¨Y~o ¾ðñõ#?/¥RiWfÛóܪ²×W·¦ÚMuÝ×®ý’å+V0dð`^~ù% E«éŸ«ýòÅ?µ{)úG®àù_¶{M]c¯°«þõêUL6€¬Ì >^¹²±w½êÝáùç¹ûž{8h ½{õ²‹Ûà¯.x•cIIh4«Ëdv¶ÜÜÜlûÕήf2™lû999ô¸%Ñ^ÝkÙüõhìü׌›ýÌ3,xõU† ÆÂ×1sÖLë3‰ª4ÁÁÁvÿçåç·š¶U_9*[~~!!!¶øòó š}mæååÛù"$$¤I?_O_8;;óòË/ñòË/!I))),_¾‚I“'óÍ×_7˜¯9}”¯¯Oƒý_kô…YYYÛ «¾–áçÐhÝšj7ÕÇ»ï¾1Üwß–-[ΓOÎä½÷þuCôÏK¿~Eì4ûw”Õû*•Še|À”G§°õ§Ÿìâ}ô1^]°€AƒâîîNEE1±qu¦ š3<® àÇ~°kWrH-¸1iìü׌:t¯ÿóŸ,\øàý÷Þ³‹¿páÑU¿£JOOÇß߿ծôl¬Þþþþvu9Þ:Êjîµ`—ÿÂ… ­ê:kªqqq,Zôqññö7W²j-¾4p _~¹ŽgžyºÉôµó6ÕnjçyðÁè˜Ð‰ýki«ïŸ“ ±Œ>‹EÂb‹d±þ/IŒæªÿ±Ž$%,°wïî:¶šýŒ²æ~›6ñ<<ùa^|é%»8V‹££ŽŽŽ\¸p9sžµ‹¯m§9a?ü0sž}–´´4ŒF#'OžäñÇŸÏëÄ3Ê&ŸQVïÏžý ,[Æœ9³Q©”vqóæ½Baa!………Ì;1cFßÏ(GÉÿÍKAA¼üs=jT³¯ÍÑ£GÛ|QPPÀÿÍÛèñ®·/FŽÅÆ›ÈÏÏÇd2‘™•Å« Ò£G[OOOΞM±Ëw)}T}vZ“/žþï|òé§,yóM.\¸€Ñh¤¢¢‚ßÿ½Éº5Õnjæ±X,ìÛ·Ÿ   VÕ?7E…ÎL¹ÎD¹ÖD™ÖD™Æ„ºÒˆºÒHI…’ ÅåzŠÊ^ùzIB)I>:…üü|»¸wß}—y¯Ì'2*šQ£ÇØ3ñ²…rÖÌ™ôìÙ“1÷%2*š©Ó¦sÏ=w ÑBÙ,¡”$ ¹\NLL ãî¿¿NÚž½zÒïöþtïq ÞÞÞ¼ðüó­Z(ƒêl’$ñÒK/âïçOÏ^½éÙ«7A¼øâ ;6_|áy<½<éÖ½·÷@Ÿ>}ZµP>;g6n oßÛ àÞ{îES©áã•+mifLŸÎà!Cl>ºÔ>ª>;­É¡¡¡ü°å{²2³6|‘Qtïq ÿþäSÖ¯û²Ñº5ÕnªóÂÜyóxû­7[Uÿ|-hp1O~^®˜ß´:ΞI¦wŸ~4;Ïä‡aô¨‘ŒmÿõóÀ `òrsnŠ:Šó-|ñW÷KíÅ<³ßû™1ÇP¦1a¶XGÄÖ¿:ƒ ‹EªîãîÈÞ½»y÷)ëoO›\Ì#ž nÔg”ÕX,Ö¬]KZZší÷_7R;× ð…ðEë@¥à¦í,BBÃç£?D&“ ¡â |!B)EM²³2MŸ•)„Rˆƒð…@¥àæ":&®U>Wu¾¾¸yý"n@Œ(@ ¸rB¹~Í*á@ ÊqLžÁ ÃçŸ~|Õl‹g”@ ¡@¥@ B(@ B)Z%¡¡¡Â ÂB(Eãà„244Ônkß¾=S¦L!==ýš6++몊põÏøñã9sæL‹ê_VVÆ+¯¼B¯^½ˆˆˆ C‡L™2…;vˆ–vHIIá±Ç£cÇŽDEEq÷Ýwóý÷ßÛ¥INN桇">>žøøxzè!N:U§= 0 Î‹7$I¢ÿþ×í¦M’$-ZDûöíéС¯¿þº]·mÛÆ¸q㈉‰¡cÇŽÌœ9“ÂÂÂfço*¾5R\\Lbbb½çäĉLœ8‘¸¸8ºwïΗ_~yEüÜÚhê¼×îÃj£V«™:u*qqqtêÔ‰·ß~»E¾¼ÛÍUQfee‘••Eff&;vì M›6<ñÄ73ªë÷çŸrë­·2sæÌÕÚ´i˜L&¾úê+ÒÒÒØ±c£FbéÒ¥BÁ®çÎcìØ±ôë×;vpúôi-ZĦM›liÒÒÒ7nC‡åСC:tˆ¡C‡2~üxÒÒÒìì9;;óË/¿Ø…mݺ—ëVÇÕ«W³wï^¶mÛÆï¿ÿΞ={X»v­-~åÊ•L›6¤¤$þøã<<<˜1cF³ó7ßyë­·˜BBBê„iµZ)**ʶo2™¤E‹I RLLŒ4mÚ4©¼¼ÜÎÆÿû_)11QŠˆˆ,%%%µ(¾æ±Ÿ}öY©M›6R›6m¤çž{NÒjµÍ¶ÕTýt:Ù¢úGFFJ’àú0cÆ iåÊ•¦yòÉ'¥eË–Õ _¶l™4sæL»óýÝwßI#GŽ´K7lØ0ióæÍõ¶‡kÁðáÃ¥;vØöwìØQ§Œ5Ñh4vm´©üMÅ·ôººÚœ9sFºõÖ[%­V[çœÌ˜1CZ»vmƒy ƒ4þ|)!!Aj×®´bÅŠÖM÷¦úò¸¸8©¤¤Ä¶_\\lWߦ|ÙÒvy5øï'+m:VTX M~å iãéó?r¤Ï¶eKŸü–)­ü%Cúpkº´tó9éM©Ò›R¤7¾9#½þÕiéµuÉÒòҤɯ|a³qìÈ!iÖŒiÒ%?£,**âý÷ß§{÷î¶°÷Þ{¤¤$¶nÝÊÑ£GqrrbÑ¢EvùöìÙæM›8uêwÝuÏ?ÿ|‹â«Y²d yyyìÚµ‹;w’••Å›o¾yI¶jSVVÆòåË騱c‹êŸ˜˜ÈóÏ?ÏÁƒÑjµbˆwÙ¹s'#FŒh4ÍŽ;=ztðÑ£G×™"¿÷Þ{),,äÀìÞ½›’’î¹çžëVÇÓ§OÓ¥KÛ~çÎ9}útƒé·oßN=š¿9ö/õºº¼úê«üýïÇÉÉ©ÞöŸŸO·n݈‹‹cêÔ©¨Õj[üÛo¿ÍéÓ§Ùºu+{÷î%''ç†õCSç½9SÍõµµæú²¥íò¦QÖÞÚ·o/%''ÛÒ$&&JgÏžµíçççK;w¶³Q\\lw×Þ¢øjºuë&¥¦¦ÚöSRR¤îÝ»7ÛVSõëÚµ«”žžÞ¢ú«ÕjiÑ¢EÒ€¤èèh)11Qš7ožÝšàê.ÆFÓ„……Õ›Æh4ÖÛÖV­Z%=òÈ#’$IÒĉ¥Õ«W7xW~- •Ìf³mßl6Kaaaõ¦MJJ’zõê%¥¤¤4;Sñ-½®®&üñ‡tÏ=÷H‹¥Þs&Í™3G*..–Š‹‹¥§Ÿ~Zš6mš-¾Gv¾i‰Ÿ[“šsÞ›Q>þøãÒœ9s¤’’©¤¤Dš={¶]}šòeKÚåM?¢¬žãÎÊÊâĉ<öØcÌ›7ÏŸ››k[èJ×®])**²³áíím÷ Èl6·(¾š‚‚"##mû‘‘‘\’­šõËÌÌd×®]ÄÄÄpüøñÕßÓÓ“—_~™mÛ¶‘ššÊš5kÐh4L›6M ÷®ÞÞÞuÚ[}ij·“êöäããS'üþûïçÈ‘#lܸ‘S§N1vìØëZGWWW*++mû¸¹¹ÕI·{÷n¦L™ÂŠ+ˆmvþæØoéuuµX°`óçÏG&“Õïââ¼yóðööÆÛÛ›ùóçó믿Úâóòòìú–ú¹µø¡9ç½)/^ŒZ­¦Gôïߟ°°0»ë¡)_6·]þ%óÔÄËË‹'Ÿ|’ƒÚÂ9xð  dff^•‚ûUÕ‰$ IDATûûÛ­8½pá~~~—mW&“Åûï¿ÏK/½DEEE³ë_ÛN\\ .dïÞ½BÅ®·Ýv[®µéׯ6l¨¾aÃn»í¶:ᎎŽ<úè£<õÔS<öØc8::^×:¶mÛ–£GÚö;FÛ¶míÒlÚ´‰™3gòñÇÓ­[·åoŽýÖBrr2£G¶[ÉYsEgûöíë½.köW.\¸d?·6;ïMáããÃ'Ÿ|Bjj*G%$$„¾}û6Û—7¢¿®‰P–••ñá‡ÚݵLš4‰çŸžóçÏc2™8uêÓ§O¿*1bóçϧ°°ÂÂB^yåFŽyÅ쇄„гgÏz;Õ†êß}÷ñÝwßQPP€Ùl&++‹E‹Ù=Ç\=ž}öY>øàV¯^MII z½žÃ‡óøãÛÒÌž=›+V°jÕ*ÊËË)//gõêÕ¬X±‚Ù³g×kwæÌ™¤§§óä“O^÷:Ž;–%K–››Knn.K–,aܸq¶ø>úˆE‹±nÝ:»gFÍÍßT|k¢æ yõjΚ«:'L˜ÀÂ… Q«Õ¨Õj,XÀàÁƒíf æÎKvv6¥¥¥ÌŸ?ÿ†ôCsÎ{s®ììl´Z-?ýôï¼óŽÝõД/o4µeK×¼[svv¦gÏž¬X±Â®CY¶lãÆ#//ØØXž~úé«Rð^x¹sçÒ§O†~Ŧ?øàƒüóŸÿdÒ¤IͪÿìÙ³ùì³ÏxñÅ)//'00þýûóÑG »ÄÄİ~ýz/^Ì¢E‹ÐjµtèÐÁn™|\\ëÖ­cÑ¢E,X°€ž={òå—_¶hªêz1iÒ$ÒÓÓ8p =ô'N´Å¿úê« 0À.ß™3gpuum2Sñ7&L 33“~ýú¡Õj4hK–,±ÅÏ™3‡… 2xð`$Iâ™gž¹aýÐÔy¯ÝUÿ_}c‘˜˜È°aÃ(++#11‘O?ý”¸¸¸fûòfj7õÎΚ1MzoÙ Š‹¬?Ný~Ó&Oy\ôº@ ¸aøüÓ6òâŠöÙïý̘áC(Ó˜0[$,KÕ_ Á„Å"Õ ÷qwdïÞݼûÔëDf¯\)Þõ*Ac¡@¥@ B(@ B)J@ „P @Ðú©÷…%%%Â3@ ˆ¥@ B(@ B)J@ „P ‚ÖJBB‚¨û_ÜB(Å…$ÍþeµÊd2\]] ãÿÙ»÷¸˜òÿà¯D÷D)KDJ–Š„r»¹•¯]©ÈwSÑfsYÖŠ]»+Ħð+,«½Øˆˆ•]¹•Kº!RèâRMW¥ËÌ|~ì·ÙŽ™š)lïçãÑ£9çs™9ŸsÎç}>眙3zôh899ASSS”/--Z•´˜‡" ×®]Cee% €Å‹s2›‘‘ܼy0lØ0¬X±ýû÷çlï8qâçIîŒ1ØÙÙ!++«E¶uÆvìØ°°0ÈÉÉÁÁÁ^^^¢Ï‹ü·nÝ‚²²2¬­­±råJhiiÉT^Zzkƒýû÷#%%ÊÊʰ²²ÂªU« ££óV˶FÒÖû«ƒIÛncé’@¯æ¹wï¶oߎ[·nAMM Ë—/ǬY³Þ½eZZRSSqáÂ|ýõר®®Æœ9s8O'¤¥<~ü...°´´ÄéÓ§‘€uëÖáÌ™3¢<ÙÙÙpuuÅĉèèhLœ8®®®ÈÎÎæÔ§¬¬ŒK—.qæEGGCEE¥Å–ñèÑ£¸qãNž<‰ˆˆ\»v ááá¢ôC‡ÁÙÙ±±±8yò$ÔÔÔ84—V^Zzkòã?bÁ‚¸téÎ;###x{{¿õ²­‘´õ^×7vp'kº¤|?†§§'ìííƒ_~ù‰‰‰í¦oiÖ©Weee 8kÖ¬Áœ9s(ñÈ£ººk×®ÅðáÃ1nÜ88p Ié;wîÄØ±c1lØ0øøø ¢¢‚ó^‡ƤI“`jjJ‘â·{÷n,Z´óæÍC—.]   SSSìØ±ƒ“ÇÉÉ öööPSSƒššìííáää„={öpê[´höïßÏ™·ÿ~,^¼¸Å–ñĉðòò‚¶¶6´µµáåå…'NˆÒCBB`mm hiiÁÇÇ·nÝ’¹¼´tøý÷ß1eʘ™™aîܹHOOo‘¶8pà&Ož uuu¨ªªÂÉÉ wïÞ¥óù|lÙ²ÖÖÖ°²²Â¡C‡d.[SSƒ/¿üRÔ7ýøãbïßZÚA–õþ¶ÁÝÝ666PRRB=ðõ×_¿Û²¾9sæ ..NbZ@@^¼xsçÎáøñãbGÒÒCBBpûöm„……áòåËPRR‚¿¿?'Orr2ššJ‘â[[ÛFóÄÅÅaÆŒbóg̘!¶Ož<EEEHJJ\¿~¥¥¥˜4iR‹-cff&ŒEÓÆÆÆxðàAƒù¯^½Š!C†È\^–ú¯]»†ÐÐPÄÅÅaÒ¤IðõõmñuÿòåK>|–––œƒ¢ÌÌL=zçÎÃóçÏe.»k×.!** áááHHH+×Û¡¡õþ&Œ=fff˜>}:BBB Di (((Àøñã1|øp¬X±eee(ëhkk£¤¤DbÚü•+WBSSšššb§¤¥‡‡‡cݺuèÞ½;TUUáíí¿þú‹“gõêÕœk¤äÝUZZŠ.]º4𧤤Dâö¢©©)¶wèÐÎÎ΢Qå¾}ûàââ‚ZîfñÊÊJΩ_TVVJÌ›žž???N.­¼,õ¯_¿:::PVV†‹‹K‹Ž¤êÎ,1‡Æš5kDó#""Dý‡ºººXÿÒXÙÓ§OcÍš5ÐÒÒ‚––¾øâ ±²­­[ï¯+-- W®\ÁÍ›7±cÇÄÅÅaûöíœý*778þ<”••±iÓ& ”u ìœx<zöì)š®ÿZ–ôüü|̘1&&&011Á¸qãPTT$¨  ÚêtéÒEl€¢¢"‰Û±RSSqæÌÜ»w}ôQ‹.£´ÀVçúõëX¶l¶mÛ†>}ú4;0Jª_CCCôZII |>¿EÛ$-- ñññ˜?>Ö¯_/š_XX]]Ýf•åñxœ²’êimíÐØzSäååadd????~\4_YY>>>ÐÐЀ††V­Z…Ë—/S ¬sìØ1Œ5Jbš¦¦&žŸŒŒ øøøPD ¹»»cß¾} Cii)jjj––ƹ›ÑÝÝDXX^¼x/^ ,, ÄÒ¥K%Öëêꊤ¤¤½‰§þ7 (((@@@fΜ)Jÿé§Ÿ°}ûvìß¿_bg)­¼´ôÖdíÚµÈÊÊŸÏGaa!~øáÎu9;;;l޼ϟ?Gyy9§‘VÖÖÖ~~~(**ÇÃ÷ßߪ·}iëýu­\¹àóùÈÉÉÁ—_~ÉùÊÕ¬Y³°uëV”••¡¬¬ ~~~7n\«k§ÙöÿÁÌ9óðÁ‡s0eúlLš&Û×W:6åMLLL ''eeeôîÝ£GÆÑ£G9ßÕ©oùò娏q#&Ož 555|òÉ'ˆ•9ÝÕÕUt—a~~>ôõõñé§ŸRD õéÓ@@@üýýQUU%úe¾}ûbß¾}ð÷÷uœæææ y+§ªÞ4{{{äääˆN;88`öìÙ¢ôºezõñµk× ¢¢"µ¼´ôÖdüøñðññAVV4440fÌlÛ¶sP´}ûvÌž=Œ1δ²Ë—/‡¯¯/lll ¦¦gggÄÄÄ´ÚíBÚz¯ë¿ë÷å÷»¥ÛØØ`õêÕÈÊÊ‚¦¦&¦NŠÏ>ûŒ(Ÿ|ˆ¥K—6xzLZ:!„"É©ãG1ÃwÀ9Ìþp Ê*ù„B!ÂŽü*VnÂT»ÿ¥3hª+">þ*v,ŸÈËÍAHppÓF”Í=ÒqssCMM üüü0a„&¥B!oÂlûÿ@(d¨ªáC(d¢*Í[”=zôÀôéÓQ]] &`Ù²eMJ'„BZÒ[”ŽŽŽpttlv:!„ò&„‡ý&6oÂT»–”„BHkÐÜS¯ôll9£££1gÎèëëÃØØK—.ųgÏd^ïÒÚº´´Ÿ~ú) ajjŠíÛ·¿»#ʼ¼<äåå!77111022Âÿûß6ÝuË“˜˜(zد rrr(ê´1>„½½=¬­­‹û÷ïcóæÍˆˆˆåyôèæÍ›‡©S§âæÍ›¸yó&¦NŠyóæáÑ£Gœú”••ñ×_qæEEE‰„Û~þùgÄÇÇãâÅ‹¸pá®^½Š_ÆÞ¶mÛ°páÂ&——µþÖ 88nnnHMMÅ¥K— ®®www‰}VÝ_{ÖØ2îÙ³®®®HNNFBBÈ黥­wim½fÍ(++ãÆˆ‰‰Avv6Ž9Ò~w™»cŒ1^aã°Cûƒ™$={ö›WUUÅúöíË™öñña ` `+W®dUUUÖQ^ý×ÕÕÕì³Ï>clÈ!l÷îÝœt>ŸÏ¾ýö[fjjÊúõëÇÜÜÜXyy9§®àà`6lØ0¦««+ó21ƘŸŸ[¶l™húÑ£GÌÉɉõïߟõíÛ—}òÉ'¬  @”~þüy6a¦§§Ç,,,ØÏ?ÿÌyŸ~ú‰YXX0===fccÃÒÒÒyó<<üðC+šŽûŒ÷ïßgVVV¬ªªJìsJ+/-½5oÏ•••œþHÚ:ª­­e6l`&&&ìý÷ßg{÷î•)­µïÓ²l›/_¾dúúúMÚ®këþýû³’’Ñtqq1›9s濺܇ö‹â¯°€-üêgvâzûéÒSöã…'lÿù\ügÛ•ÍvžÊbþ™lëñl˱ûìÛ°{ì›#él÷™‡láW?‹êHIJdËÜÝX³¯Qòx<`ذa¢y[¶lÁ³gÏ‹˜˜äååÁÏϯYõûùùÇã!>>þù'®\¹ÂIßµkRRR…ääd())aóæÍœ<‰‰‰ˆŠŠBnnn“Þûã?FLLŒhÚÙÙK–,AJJ RRR```€7ŠÒ½¼¼ðùçŸ###áááHLLäÔwõêUDDDàîÝ»˜6mV­ZEÿ· 66vv?2'&&³gÏ›?{ölÎ:[[[âÆ€¸¸8cÚ´i-¶Œ÷ïßÇàÁƒEÓƒƽ{÷8y6mÚ„•+WBQQ±Éåe©¿µnÏ—/_æôG`llŒ>}úÀÚÚ»ví‚@ ¥mß¾÷ïßǹs瀧OŸÊ”ÖÖ÷éÊÊJìÛ·cÆŒiÒzo¬­%žõrÆ;3¢|õoàÀ,==]”gèС,++K4™™ÉÌÍÍ›5¢477g>äÔU?Ý‚=xð@4ŸŸÏ† ©ëÙ³gÍ:òª­­ezzzM™ššŠ¦‡Î8Àžþøc*óQûÛЫW/&DÓ€õîÝ[4}éÒ%fkkË„B¡ÄÏ)­¼´ôÖº=§¥¥1KKK–™™)–ÆçóÙ;wØÜ¹sÙ† Dó‡ &1¿´´Ö¾O7¶mÖõ݃æô¯ÒÖ»´¶^²d [±b+))a%%%ÌÛÛû_o“V3¢¬®ÿÎ;X²d Ö¯_/J/,,„žžžhZOOsÁ·) лwoN]õ={ö cÇŽ]¼633{¯îÝ»7뽟?MMMÑô70kÖ,ôïߺºº044DQQ‘(=$$—.]‚ F…?ÿü“S_—.]8×½ø|> ÿÞ‚®]»rÖKCy$m“………œu^ÇÁÁIII8qâîܹ{{û]FUUUTTTˆ¦+** ªª*šÞ¸q#6lØ99¹f•—–޷縸8¸¸¸`Ïž=èׯŸXº¼¼<ˆ   Îu³üü|±~E–´¶¼Oçåå!==...X±bE“Ö{cmýý÷ߣ´´æææ7nz÷î-qj«š}êUCC¢ÓRЭ[7ÎM0ÙÙÙÐÒÒMwìØ/_¾M7X¿¶¶6§®Wo®ÑÑÑÁÍ›79Á»©§XòË/¿`ìØ±¢éO?ý...HLLDnn.ÒÓÓ9§ÌÌÌpðàA¤¦¦â›o¾¡S«-d̘18uê”Ô<ááábóÃÃÃ9§¢ê(((`ñâÅðòò‚««+ZtŒŒ’’"šNIIÁ€8§»f͚Źû±þ]ÒÊKKomNž< „„„ÀÌ̬ñήCÎ~«££Óà]û¥µuêêêpssí[·š´ÞkkMMMìÛ·™™™HJJB=0zôh ”åå娻w/ Dó>úè#|õÕW(,,Daa!¾úê+Î5£AƒaïÞ½xùò%ž={†Õ«W7XÿÌ™3áëë 'ª«>GGG¬\¹?ŸÏGzz:–.]Úì†xùò%ÒÒÒ°aÃüúë¯ðññ¥UUUAQQŠŠŠÈÎÎ „îîî¸ÿ>ø|>c4bl!Ÿþ9Š’’ÔÔÔ ))‰swߊ+°wï^„††¢¼¼ååå ÅÞ½{áíí-±^OOO<~ü-¾Œöööزe ž?ŽçÏŸcË–-pppxÖ§îÈúwBJ+/-½5 Æ7ß|ƒ#GŽ`È!béîîîHOOŸÏÇãÇáííéÓ§s–õË/¿ÄÓ§OQVV___™ÒÚ"///ddd€Ïç#??[¶lá\c”¶Þ¥µµž>}Šªª*œ={þþþ îOí>PÖÿžŽ¹¹9°wï^Qúš5k ­­Ñ£GcôèÑèÞ½;'nݺgÏžÅûï¿;;;‰GðuV­Z XXX`Ò¤I5j”XçeaaÀÃãY7YÔ}rÈ!ðöö†‚‚Î;Ç9í»}ûvlܸ†††°··Çˆ#8uL:®®®044ÄæÍ›±k×.ŠZ-@__¿ÿþ;.^¼+++aݺuœƒ59rgÏž…¹¹9ÌÍÍñÇà·ß~“xÚ®µY°`,,,0~üxŒ?–––˜?þ+ÿºõÿ›6n܈¼¼<Ñ÷ZëþêN!ÚÚÚÂÓÓ˜={6 87ü}þùçèß¿?&Ož KKKÎÈ»±´ÖêÕ³õ?³ –.] ØØØ ¸¸˜ÓwK[ïÒÚzøðá˜>}:LLLpèÐ!8p€3ˆjëä–¹»±€ =(âý}Ý&2â8.ZB½.!„6ã§!˜a7K4íp³?œ‚²J>B¡Pø¿ÿ U5|…Ll¾¦º"âã¯bÇò)ŸÉÍAHp0ý„!„Ò ”„BJB!„%!„B’B¡@I!„P $„BZ¿Ž’f6öÓr„B( !„B’B¡@I!„P $„BÞ@ibbòZé­Q[üÌ„ÐöL( !„7(MLL8VVVðòòBnnn›>:611©©),--1wî\ìØ±EEE-ö™^¼x-[¶`êÔ©033èQ£°|ùrÄÇÇÓÖ*ƒ‡ÂÛÛ£GÆÐ¡CñŸÿüþù''OFF–.] XXX`éÒ¥ÈÈÈÛ6ìììÀãÌgŒá£>jñ‘Uqq1&Ož,ö9cð÷÷‡••F…;wr–áuÓIëïÏÚ6ïÝ»‡ÿþ÷¿1b&L˜€ãÇ7i½7V^–÷gF”iiiHKKCjj*"##a``€+V´é¨[ž .à믿Fuu5æÌ™Ãy*ü¿éóÏ?Gmm-öïß›7o"22Ó§OÇÿýßÿQO ÅãÇáââKKKœ>} X·nΜ9#Ê“ WWWLœ8ÑÑÑˆŽŽÆÄ‰áêêŠììlN}ÊÊʸtég^tt4TTTZ|Yƒ‚‚0oÞ<±ùGÅ7pòäIDDDàÚµkcé¤u÷eiii îžžž°··GLL ~ùå$&&ʼޥ•—öþïT ¬#''---¸¹¹áÁƒ¢ù555ذa,--aii ___ÔÔÔpŽ8$IRSSƒ/¿üÇǸqãðã?rÒvî܉±cÇbذaðññ=m»®ÞÇcÒ¤I055•ºLÊÊÊ8p Ö¬Yƒ9sæ 00P”–““OOOXXXÀÜÜnnnàñx¢ô˜˜Ìœ9fff˜2e Ž;Æ©û÷ßÇ”)S`ff†¹sç"==½ÁÏqíÚ5¬X±½zõ‚¼¼<4551uêTÎòóù|lÙ²ÖÖÖ°²²Â¡C‡]nim%K[6¶ Ò–ÿß²{÷n,Z´óæÍC—.]   SSSìØ±ƒ“ÇÉÉ öööPSSƒššìííáää„={öpê[´höïßÏ™·ÿ~,^¼¸EwÚ¬¬,\¹rNNNbi'Nœ€——´µµ¡­­ ///œ8qâ¥7u{&­CPPÜÝÝacc%%%ôèÑ_ýµÌë]Zùö®Ù×(‹ŠŠŒ!C†ˆæýðÃÈÏÏÇéÓ§qúôi<}úͪ×®](**BTTÂÃÑÀI ÁíÛ·†Ë—/CII þþþœ<ÉÉÉ Cjjj“Þ{Μ9ˆ‹‹M{zzÂÑÑ111¸|ù2ôõõ±uëVQúÚµkááák×®áСCHNN ~¡¡¡ˆ‹‹Ã¤I“àëëÛà{:¾¾¾HNNFuuuƒ!33GŹsçðüùóF—[Z[ÉÒ–-ƒ´åÿ·ÄÇÇÃÖÖ¶Ñû Ÿ}öcxôè<ˆ+V`ß¾}€ÂÂB±öhl¹¥µ•,mÙØ2H[þ‹††JJJЭ[·ótéÒEEEÐÑÑ;C")ÈÚÙÙ!((gΜÁ½{÷°k×®Ýaýü€Ï® IDATü°~ýz±õój§¦¦ÖhØÜô¦nÏoSýË6íõÚØ›¢¬¬ tîܰjÕ*ØØØÈ¼Þ¥•§@Ù€Î;cñâÅ á•çååAOO——‡®]»þóf;¢ªª JJJ¢£”†hii‰ÕU_·nÝðË/¿ˆuxo±cÇ0jÔ(ÑôŠ+°jÕ*Œ3ªªª¨¨¨€¥¥%g‡ c ±±±X¿~=.^¼øÚŸCNNúúúøâ‹/`eeÅYö¼¼<ôéÓG¦z¤µÕë¶åÛZþ¦²´´ÄÙ³g±`Á‚óŒ9‘‘‘X´hg~dd$gÖQPPÀ‚ °víZ,[¶LâéÎSFF.\(ÖþuÂÀÀ·oßÆÈ‘#·o߆¡¡¡(ï릷&egdd$±‘u½K+O§^ðâÅ ôõõñé§Ÿ6k4$''eeeôîÝ£GÆÑ£G¡¥¥%ʳiÓ&lݺÞÞÞÐÑѳ³3Ξ=+JŸ8q¢è;¥}ûö êMáææ†_ý7nDEEºuë†Q£FqÚÙÝÝÛ·oÇìÙ³Ák°ƒ—µ­^·-ßäò¿Ž>}úàÀ€¿¿?ªªª0`ÀN€ëÛ·/öíÛц¹¹9BBBd¡·föööÈÉÉÁG}$:š={öK'­Wýþ¹îuÝAÔ¬Y³ðäÉLŸ>/_¾„µµ5g "m½K+/íýÛ:¹eîn, hŠx…Ÿ‚Š8ŽgÍ¥­ŽBH›qêøQ̰›%šö8‡ÙNAY%!ƒP(ü߆ª>„B&6_S]ññW±cù@^nB‚ƒé'ì!„ÆP $„B(PB!ÍÓ‘š€BH{¥¦$¡2!„B!cPê$÷¿×€P(„LÈÀ(PBy—„Ÿ:G#JB!D’I}*`:x:)(@^^^ær×ÄiH×( !„¦Ž(ëÿì!„ò.£%!„B’B¡@I!„P $„BÚ\ lì!„öƒöuj ”´ñB!Í ”ºººb’äååQ«’óàÁ,Y²ÆÆÆèÛ·/lmmqúôiNžôôt8::ÂÈÈFFFpttDzzºØö>aÂ0ÆýQ+ÆÆßb„Œ1l޼ĠAƒðÝwßq>ã… ààà€~ýúÁØØË–-Caa¡Ì奥·&o»-Ú’¬¬,ÌŸ?†††044Äüùó‘••%sÿÝœòï¿ÿ>ʆ‚`ý?BZ“‡ÂÞÞÖÖÖˆÅýû÷±yófDDDˆò>/^Ä… põêUüú믢ôàà`¸¹¹!55—.]‚ºº:ÜÝÝe./-½5yÛmÑ–¸¹¹aøðáHLLDbb"†*ö@÷Æúoiå_-ëëë‹O>ùäÝé\–¹»1Æã0^a;´?˜IÒ³gOÖúi¯¾ bƒfÌÛÛ›UWWËœÎçóÙ·ß~ËLMMY¿~ý˜››+//ç”fÆ cºººŒ¼Û<<ù„´Ê¶Ð××çôUUU¬_¿~2õß²”¯¯¦¦†YZZ²§OŸ¶ªýÿÐþ`Q«‹e‰×Xjò-v'-Eæ¿úõ¤$%²eînì­ßõóçÏ#>>غu«Ìé»víBJJ ¢¢¢œœ %%%lÞ¼™S>11QQQÈÍÍ¥!Õ;.66vvv扉‰ÁìÙ³ÅæÏž=111œy¶¶¶(,,Ä7qqq(..Æ´iÓZlïß¿Áƒ‹¦Œ{÷î5˜ÿòåË6l˜Ìåe©ÿêÕ«ˆˆˆÀÝ»w1mÚ4¬Zµª]¶…³³3–,Y‚””¤¤¤ÀÀÀ7nl•m1yòd¡¼¼eee ĤI“8yŒÑ§OX[[c×®]M*_',, VVVxï½÷hD)iÔøêŸ,#ʇЦ³²²Ø°aÃdN·°°`<Mççç³!C†pÊ?{öŒ†R„1Ƙžž«­­m4OïÞ½%æ©­­ezzzbÛñáÇ™³³3cŒ±?þ˜…††Êt„þ¶ôêÕ‹ Ñ´@ `½{÷–˜7--YZZ²ÌÌL™ËKKïÙ³'+..æŒÒê·[{j I#RSSÓVÙOŸ>e¢¾ÙÂÂBbßÈçóÙ;wØÜ¹sÙ† š\^ °1cưû÷ï·ºý¿ÕŒ(›s²wïÞœ×2§?{ö cÇŽ]<633ã\Œ€îÝ»ÓPŠøû7Š‹ŠŠ¤æyu€ÂÂBhjjŠÍwpp@RRNœ8;wîÀÞÞ¾E—QUU¢éŠŠ ¨ªªŠå‹‹‹ƒ‹‹ öìÙƒ~ýúÉ\^–ú»t鹎ËçóÛe[ܸq³fÍBÿþý¡«« CCC±í«µ´ÅgŸ}†¹sçâîÝ»¸{÷.æÌ™///±|òòò8p ‚‚‚päÈ‘&—ŒŒ„ú÷ïÿNõ-oýÔkNNŽèunn.ºuë&sºŽŽnÞ¼É ÎtŠ•4d̘18uê”Ô<ááábóÃÃÃ1f̱ù X¼x1¼¼¼àêê …]F###¤¤¤ˆ¦SRR0`ÀNž“'OÂÃÃ!!!033kRyYêo-Þv[|úé§pqqAbb"rss‘žžÞjïŠMHH€——:wîŒÎ;ÃËË wü:p–EÖòðððxçú–·(}}}ÁãñÀãñ°aÃÌš5KætGGG¬\¹?ŸÏGzzºØ\„ÔùüóψÐÐP””” ¦¦IIIøïÿ+ʳbÅ ìÝ»¡¡¡(//Gyy9BCC±wï^x{{K¬×ÓÓ?n„½½=¶lÙ‚çÏŸãùóçØ²e DéÁÁÁøæ›opäÈ 2¤É奥·&o»-ªªª ¨¨EEEdgg·ØõGYvíÚ…²²2”••! €óõ www¤§§ƒÏçãñãÇðööÆôéÓe.ÑÑÑPVVƈ#(P¾i˜8q"Fމ®]»båÊ•2§{zzÂÂÂ000€‡‡G‹ÞHAZ7}}}üþûï¸xñ"¬¬¬`dd„uëÖqnð100À‘#GpöìY˜››ÃÜÜüñ~ûí7Îi¹ÖjÁ‚°°°Àøñã1~üxXZZbþüù¢ô7"//Oô]Ϻ¿ºSŒÒÊKK—ÚbûöíØ¸q# aooߪD`` âãã1tèP :ׯ_G`` (ÝÖÖžžž000ÀìÙ³a``À¹1RZyàï›+ë½æ]"·ÌÝíAïïë6‘DZpÑ’7R¹®®n£×2¥¥B!²øé@fØýsF22â8LA'ÈËËË\Ïõ„xQ=y¹9 ¦E'„BC’Bi©@)í´*v%„B#JB!„%!„B’B¡@I!„t”4³¸¸˜Z†B¡%!„B’B¡@I!„P $„B(PŠ311¡5Eí‹­jY©_¢@I!„¦J:z"mÁÇáííÑ£GcèСøÏþƒ?ÿü““'##K—.………,,,°téRdddˆmïvvvbO´gŒá£>j±ý1XYYaÔ¨Qعs'ç3ÆÆÆbñâÅ077ÇèÑ£±fÍðx<™ËKKoMÞv[´%111pvv-«òóó9Ûó«–––bõcòäÉ·ïúe)PÒF=~ü...°´´ÄéÓ§‘€uëÖáÌ™3¢<ÙÙÙpuuÅĉèèhLœ8®®®ÈÎÎæÔ§¬¬ŒK—.qæEGGCEE¥Å–ñèÑ£¸qãNž<‰ˆˆ\»v ááá¢ôC‡ÁÙÙ±±±8yò$ÔÔÔ°jÕ*™ËKKoMÞv[´%?þø#,X€K—.áܹs022‚···(=--ó·zõjÌ;W¬ž   Ì›7Oâ{Ô•¥eF—¿ÿþ;¦L™333Ì;ééé(--…µµ5ÊÊÊ8ùKKK1nÜ8”••!''žžž°°°€¹¹9ÜÜÜ8Gy555øòË/1|øpŒ7?þø#§.@€;wbìØ±6l|||DO,¯ûl‡ƤI“`jj*:Úš9s&ÌÌÌ0eÊ;vŒ¢J;´{÷n,Z´óæÍC—.]   SSSìØ±ƒ“ÇÉÉ öööPSSƒššìííáää„={öpê[´höïßÏ™·ÿ~,^¼¸Å–ñĉðòò‚¶¶6´µµáåå…'NˆÒCBB`mm hiiÁÇÇ·nÝ’¹¼´t÷ýöØpàÀŒ7ÇÇúõëQSSÓ*ÛâÀ˜}::wî OOO8::"&&—/_†¾¾>¶nÝ*Ê»k×.!** áááHHHàÔ‚Û·o#,, —/_†’’üýý9y’““†ÔÔTÀÚµkááák×®áСCHNN¦5ßÅÇÇÃÖÖ¶Ñ€Ïç#,, ŽŽŽ€ˆˆŒ9ŠŠŠPSSƒ——®^½*ª÷ôéÓX³f ´´´ ¥¥…/¾ø‚ó¾áááX·nºwïUUUx{{㯿þâäY½z5455EÓŠŠŠ(((@qq1zôèM›6Ñšo‡JKKÑ¥K—Fó”””p¶:ššš())áî:ÀÙÙY4ªÜ·o\\\СCË]±¨¬¬äœúUQQAee¥Ä¼éééðóóãtÞÒÊËRCû~{k œ¾hÍš58}út«l‹úgÔFŒÇcÍš5béB¡€‹‹‹Ødqq±ÔM ”M¤¡¡!z­¤¤$ Œúúú044¯?ÿüfffèÑ£ )) .Ĉ#`bb‚áÇs~[–ÇãAWWW4]ÿ5äççcÆŒ¢‹ÊãÆCQQ'¶¶6gzçθzõ*æÌ™ƒiÓ¦áâÅ‹´æÛ! ±`÷ª.]ºˆm/PTT$1ÈÚÙÙ!55gΜÁ½{÷ðÑGµè2J lu®_¿ŽeË–aÛ¶mèÓ§O³£¤úÚ÷Û[[¼Úÿèêêr.µ¦¶¨“––†øøxÌŸ?ëׯK?wîôõõѯ_?Î|???¬Zµ rrrÔ‘¼É@ÙGGG>|pøða8;;‹ÒV¬X?þ.\@jj*âãã9wšiii!//O4]ÿ5tëÖ ÑÑÑœ Óu§X;Ê DLL Ö®]Û*N7ÏÒÒgÏžm4ÏÈ‘#)6?22Râ©*,X°k×®…££c‹Ÿ–200ÀíÛ·EÓ·o߆¡¡!'ÏÙ³g±jÕ*ìØ±CìEiåe©¿µxÛmñjÿóäɉg#Z555¸¸¸Hì÷íÛ'ñ{FF.\ȹ«•¾éð–å¨Q£PQQ_~ù***8p (­ºº PPP@nn®Xвµµ…ŸŸŠŠŠÀãñðý÷ßsÒ°aÃäää€Ïç###>>>~ž•+W"33|>Œ1Zóí»»;öíÛ‡°°0”––¢¦¦iiiœ»ÿÜÝÝqðàA„……áÅ‹xñâÂÂÂpðàA,]ºTb½®®®HJJjÑ›xêpPPP€‚‚`æÌ™¢ôŸ~ú Û·oÇþýû%vtÒÊKKoMÞv[Ô´ŠŠŠPTT„-[¶`úôé­²-Ö®]‹¬¬,ðù|â‡~à\þ¾©QII C‡•8­ÿW7ü­ãÛªØÑÑ7nÄÞ½{9ó7mÚ„­[·ÂÛÛ:::pvv挖/____ØØØ@MM ÎÎΈ‰‰átZuwæççC__Ÿ~úi£ŸeâĉðòòBnn.úöí+|IûЧO8pð÷÷GUU À p}ûöž}ûàïï???€¹¹9BBB8§åZ+{{{äääˆN;88`öìÙœŽ€Ø)âk×®AEEEjyiéïR[Ôm³fÍBEE¦NŠeË–µÊ¶?~<|||•• Œ3Û¶mãä Á¢E‹šýõ6ê^¿+ÁTn™» Úƒ"^áß§ "ŽãÃYs©×%„Òfœ:~3ìf‰¦##ŽÃtðtRP€¼¼¼Ìõ\OˆÕ“—›ƒà`úÁB!¤1( !„ ”„BJB!„%!„B’B¡@I!„´~p k×®Ô2„B( !„ ”„BJB!„%!„ò®ÊWÈÜÔtBÈ›ßïÞvyjKB’ByWe{9z***ˆ#èh°zðà\]]allŒ¾}ûbÚ´iˆŒŒääIOOÇ‚ пôïß ,ÀÝ»wŶ÷ñãǃ1Æ™ÏøqãZtûÑÕÕý½Š1†Í›7càÀ4h¾ýö[±ehÌë–oMmñºm•™™‰ùóçÃÐІ††˜?>233Ûd[ÔO“”GZ[H*?`À™ÓiDÙÆlÛ¶ .¤ˆÒeeeaîܹ°¶¶FLL îÝ»‡Í›7#""B”çáÇpppÀÔ©S‘˜˜ˆÄÄDL:óæÍÃÇ9õ)++ãÏ?ÿäÌ‹ŠŠ‚ŠŠJ‹.g^^òòò$¦…††">>.\@tt4âââð믿Ê\÷ë–oMmñºmµtéR >7oÞÄÍ›71tèP¸»»·ù¶”OZ[¼ZvÆ X°`Ìé(<~üÎÎÎèß¿?ôõõñÉ'Ÿ °°P”^]] ooobÈ!ؽ{7§¼´t@€o¿ý¦¦¦000ÀÒ¥KñâÅ ÎÑLpp0†Ž^½z5ø9322pñâE,Y²„¢J;´}ûvxxxÀÉÉ šššPTT„¹¹9BBB8yÜÜÜàèèuuu¨««ÃÑÑnnnð÷÷çÔçîî.¶-ÁÃãնAXXV¯^÷Þ{ï½÷V¯^ßÿ“g÷îÝú¨Ñ<111˜5k–ØüY³f!&&†3oúôé(,,Äõë×W¯^Eqq1lmm[mÜ»wC† M<÷îÝãä‰Gtt4âããQPP€mÛ¶5©|\\"""p÷î]|ðÁXµjU›Ü^¤-ëäÉ“„²²2”––"((“&Mj³mallŒ>}úÀÚÚ»ví‚@ hÒz¯sôèQŒ5 =zôhVú¿6Â~ú g£¢pêÔ)œ8qB濼§ÏÄ+[æîÆcŒWXÀx…ìÐþ`&IÏž=™¬*++™‰‰‰hÚÜÜœeee‰¦}Úègºté³µµeB¡°ÉËCÚ†Þ½{³ÚÚÚFóôêÕKbžÚÚZÖ»wo±íýðáÃÌÙÙ™1ÆØüùóYhhh«Ù~$}]]]&DÓ€õêÕ‹S¦þ¾–™™É† Ö¤òEEEœ}½~»µ¦¶xݶzòä 1bëÙ³'ëÙ³'1b§Ÿi‹mÁçóÙíÛ·ÙܹsÙW_}%s[ÔŸ?fÌvÿþ}‰õKK›íÅ1^aûö›ML 0>ŸÏjkkYMM «®ªbU/_²—/+YyY++-e¥%Ŭ¤¸ˆñXö£‡ìÛo6‰êHIJdËÜÝØQ^¿~3g΄¡¡!tuuahhˆââbQz~~>ôôôDÓ}úôá”—–þìÙ3Ñ ººº033Çãäyï½÷ýŒ7nĆ  ''GC¯vªk×®bÛ…¤<bó  ©©)6ßÞÞIII8qâîÞ½‹¹sç¶ê6PUUEEE…húÅ‹PSSãä©¿¯ééé!??¿Iåëÿ´²²2gdÒ–H[VoooØÛÛãÎ;¸sçæÎ‹Ï>û¬M·…¼¼< „   ΩUYÖ;œ:u èß¿¿Äú¥¥·¡P@Ÿ>ŸÚÚZÔÖÔ ªê%^¾¬Dee%*+*PQïrÞ[9õêææ$&&"77éééœ;¦ttt-š®ÿZ–ôîÝ»ãÆœ‹Åb•$==³fÍâÜñEw¾¶/cÆŒ»ÃõUÖÖÖ8~ü¸ØüãÇc̘1bó±xñb,_¾®®®PTTlÕm0`À$''‹¦SRRÄî>¬¿åää@[[»IåÛ iËš€åË—s®Q&$$´‹eïС„Ba“×»´kô­ý~³ÛëMTRUU%%%(**";;[ì<ýÌ™3±qãFðx<bÆ MJwttĪU«ðèÑ#ðù|ܽ{K—.mÚùj w|5v‡i{>ÿüs"44ÅÅŨ®®Æ­[·87oy{{cÏž=8|ø0ÊËËQ^^ŽÐÐPìÙ³ÞÞÞëõôôDvvv›èæÎ ???<{ö Ïž=ƒŸŸÄήðx<ðx<øúúr®ÙÊR¾½¶¬FFF Dii)JKK±k×®6{ÐàîîŽôôtðù|c™—›ƒà`ú ;B!í_à®]þøc™F’( !„´[rrr¨©©iR@ ñGi(PBiw:uìˆÛi)M*sçv:uìH’BHû7õ[ÄÇÅ!ãþ=ðùüFó2Æðüy>>|ˆ©z ñfžŸ„P+Bi³zêö„Õ¨Q¸zå "Olôwxååå¡©¥…Q£Ç gžÒeý/lB!mUß¾úèÛWÿµë¡S¯„BJB!¤y$^£|ôè!¢ÏŸGm‹†Éœ IDATmm“*K¯1 %„Òlï+dÊœWNN;vÄÄI“ÞÈ)V™哼'ˆ‹ÃØqã1xˆ­ î¹“~ß‹ÙN¥µL!¤ÙîDíÆê/ÖÉ”·¦¦)ÉIˆ»z ÑS·ç¿(¯]KÀ”¦¡OŸ¾Ð¤'v3!CyŸÖ4!„&SWê(€ÉòÓròòòj> ]ºàJL fÎz;7£ŠÊÂÂôêÕ[¦ù*c­mB!ÍŠ!M ”uzõê‚·ö¹Ä¥@ €¼¼<¾ ÉCJR"º¿×ïIø® ûßó¼!„¦bÿ‹Œ1Ñkxò$…ÏŸÁÔÌ\âOÌÉwèФ³Ÿ¯( xÉ[xñ¢ ƒ‡“ 4¢$¤žð°ß0Ûþ?¾&„üC$Å ®]5‘™q©ÉI06,1X¾M’å+Ã^ÆR““PZRŒñ“§Hmþ½p B ”„pÔß'zMù;†HŠA:u‚ùð‘¸wi)Édbú¯KÉ Œýó!ór²‘›óÞ€ÏI«¯ºV€ªº™‡úêï ½&„J:HŒA  Ð Ú::ÈÊ|€nÚÝ Óý½– ”üZ>ª««EÓZÚ:Ðë£'y¹èÞ³':ÊË£á‘(%B#JBš1¢üßÍ<¯Æ à﯂<ö úý ѳ—*^”·ðˆRÂGúÿ˜@jR"™ F§NÄÊ „t×+!’ö i¯ !ÿì¯Æ šš¤&ß‚¶Nw˜ ‚ò²Òõs5(%ß½ÚG_Ù³P[[ y £Jºë•® SíDûDC¯ !ÿÄI1¨¤¸ZZÝ`2xJKKþõÏ%(åååÁç 8·æÖ§×W Ѝ©©? »^ !„4wDYw×ë+_ÑÒê†=tQZRÜÀHT(qðöÖe·nÚÈÉyŒnZÝ,TUõ²£ºFI!¤¹#ʆp ¡¸<^!ºuÓþ÷¥…ÅH\ºtzz½abbŠŽ;ɾ4ÕimBiz üßÿò²2™òóùµHKKEvvÆ›ðïʺ§BGŸ?Û·ïˆîB’E|üUZÓ„Bší} 4ô°Lyë?=ämý ºÄ@ üýTèE‹]iByçу› !„ ”„BJB!„%!„B’B¡@I!„´~[Ó‡ …¸~í’’n½V=*ªª0êo„èÐŽ!„´“@™œ”„—U/±ü³PQQiv=¥¥¥8õ’“’0ÔÜœÖ2!„fkUí´´TL™: JŠŠðùÍþSSUÅ”) --ååå´– !„´ýeyY*++¡¤¤¾àõŸü®¬¢ŒÊÊJ¼(/ýP;!„¼ëÔ;wþwå©È¦ýBû‡3 š”_(B ˆÍ_³ÒßoÝÖèkIN?öV¿B!¤õóYýÊJ›÷À玭ma˜A(!PàÌoèõ«&MšüZ×; !„´mgΜ~­ò­.PÖÖÖ¢ªªJbZýù ½[ÀŽÐ©“m)„BÚɈ’ ß舲S§NèÔ©­iB!ÿN lê5Ǧ ¯<ÙºNýù ½~UdäIºFI!¤ýŒ(…LòÍ<«Ö|!šßÐkIÜ<–ACCƒÖ4!„¶(Õ;w†ŠŠ òŸ>…ò¸ùæee%TTTPñâäh=Bi¦Võƒ&&¦H¸–€ŠŠ 0ÆšýWQQ„k 4Ș~ÂŽBHûQÀ33ÔÔÔàÜŸçPYQÑìzTTUahh£  @w¼Bi'²C‡ii‰AÆÆ¯Uœœää:@QQ;v¤µL!¤}Ê:êêê´f!„´ŽA5!„B’B¡@I!„P $„B(PB!( !„ ”„BJB!„%!„B’B!( !„ ”„BÈkkÑEÏÈz€Ë±—‘œ–‚B^!„B!ºtéã÷ÁÚj › ¦çIÖSUU^QÊËÊPSS!BAAêjjèÚµ+ÔÔÔ¨‘h½´[¹y¹¸tå2’R“QPP¾ ÚÝ´1°ÿ@Œ5 „œ=¦]ÆR“’på¤ÝJB¡Pˆ®ššxßÔ£ÇO€¹ÅÈËËScµd ÌÌÊB`p Òî܆~ÿ¾x¯OôÔ rrr¨¬¨ÄÝÇéø#êtÓÖ†—Û2 :ìïˆg?FqI T”U ¤¬5%uÈA|eååxúì””•ÐW¯:wîL[6­—v ƒBvãÚëèݯ7zöé #=#tò ÜJ¿…c§ÂÑ[·Ó' ßÉTRR‚û÷3 ª®Š®]»6ø|MÆJŠKPRZ‚^½zA·GOÚºi½´yq×âáûíF 2Àð±Ã¡®!ù|µ5µH¼’ˆäød¸8:ãcûùÔx¯8uô(öîüV`Ì APh`›…¸–‘‹©©˜óÉÇpúôÓwv¤ž—›ƒààwDy%þ ¶ìðƒÍlèÐu$Ñ'£a1Îê]þÙ :vêˆac†¡a„ývòòòXðŸOšõ¾ZÝ´Á+,hs+©´´÷2îC[[:t@öãltìØŒ1ôêÝKtjD(âé“§èþ^w(«(ãIÞÈÉÉ¡ç{=¨wxËëEM] ¹¹¹èÞ½;:uêTo˃€/_ȇfWMôèуÖK%&%Âw³/ÆN#S£FóvRè„‘F¢Oÿ>øåÈ/——ǼÙÔˆÿó×™38´ŸŒ‡¾::æ•ïÐV _÷î8~ Šøx‘K›]ö7Ñÿÿkòyþs|ã÷-¦Î =C=ÑüšêܹuéÉéXèµP숱Û{Ý`çh‡ÃûCablòΜV©­­ÅýûwÆjjàñxPèÔ †¸s÷jkk!//Æž>}Šªª*TWWCUU=zö@nN.ÔUÕZÅC°ÿŠú“§Nk—ëE(¢ºª¹9¹èÕ»:uê¡Pˆªª*ôë‡ÂÂBTVV¢K×ÿoï¼Ã£ªò>þ™š™Ì¤gÒIH HèEiꊮH‘]¶V¢®(ÅwéV˾¬.bo(ê»êª4! %!$!!½÷ÌL¦½F†T@BçóBtïö³J³ÙÌ£Oü…áã‡3âæ‘¬ûçklX÷¿-bY[[Ëš^àûï °°­VËÈ#xp=ºGBµÚ÷®{úö½ “´×Z-·È[/¯åÍÞo·ïÕj4 4ˆ5«W}Ue—L)-(,à—Ý»0b@›e>¹áƒ†±å½-ÔU×µØI]C{öíiµ~Eyåe$ïKÂIéD“OõXQšL&JËKq÷po³ÌÙáV™LFŸ>ÑH¥Ž°««+MÆ&ªkjZ­?ãî9̸{·Ý1•JMæÉ—õ:ÄÕ`’íéÞ+OO 1›Ím¶Ñ‘.†²²ÒÖ;-¯ßçÄï÷jçrQQYÁw?~ϠуíFtïèvÿbcb°X,ôЇŠÊJ’ìoÑþÎÅl2³å«/),Èg_Ò^¦M›ÆÚµk¯ºL(ûd&‡SRuÑmÄ…†R[YIòžöûÞ´´#\?j?òÈUÇ.1Ê]{vŒ“ªíŒE*•ðì“ 9d$_oji–‰„ÐèP¶îÜÖîgét:V­ZÉŽ;ZÝž““ÃìÙ÷F@`3îšIYYó™ãí'òå—_—AäÛµÃ7ÕUU¨”ª6§g[­6ЋБÉeô‰i³œF«¡¼ƒª¬(§±¡ž°ðÊJJÐh]ìYÇéœvïÜÎÖ3Ù§Õj%3#ƒ_¶ocûÏ?’vä&³™¦¦&~Ù¾“©ÉÑTššØµc&S“Ck±X8þk;¶þÄŽ­?qüØQ,K«Ùnkï•—•’”¸›m?ý—Ä_vP—×mt‰ÇÝÝ‚ÂvÛiO—C†‘y“ÉÔîIRkZ¤û•Â|ǘæç“~ìW{?ûèýVãÜ]HLÚƒ°?jú¢ÛH$„F…²m×öÛvïÞÍÒ¥K E&“áííÍäÉ“øæë¯²$/oCÆd0xbÁÂz…Ö+œ  ‡ìêµõëéÓ—àPæÍŸÑh¼²±Ü¹ƒ¨À@ä2' IÎÈà‡ÔTŽää`4™Øž–Æ'¿üBÒ‰œØ>URÂ牉|‘˜Hvq1 Úߟ]?om÷³\]]yüñ¿pâD†Ãï}ùòD÷‰!(8„çÎ¥®¾Þ¾Ýd2±xÉ¢¢ûÉo¼yAñ~ë­Ò¯ÿux뚯»FŸ7ŸàPbúƲþõ×{ŽQ8”‚oo§îg<ͨ£øjÓWÔVÕ:l àÈÑ´NµÓwϾ‡‡y˜ôôã¤?FddK–, aÁ^zùe¬V«½üK/¿ÌC?Ô¥wmm-Nê¶O*Ì–æN±oŸ˜v×:©T*êjk;ñ‰6ûÐàYô=×Ï´™³ñôò&÷T6µµ5Œ#§Ü‰ZíÌéœl”NNøøùQYQá÷‚ü<üüðñõwÈb²OžÄh4rã-·rëí“°˜-äÎé0ã9ûÞ±£iôŽŠæŽ©Óÿ‡[Ñô89©º….‘¸»¹µ{¶§‹R©$ºO_Ò„6ê·¥ ½£ûPZRBå™aÃâ¢"ŠŠ èw]<“¦NwMè®™åᣇñ ô¹ävB8œv¸ÅûÆ%!áIöïß^¯o5C:7S:˪U«)..fò>’÷%‘Ÿ_ÀêÕkêîÝ»—]¿ì$5åeee¬YóÂ呔ܛG@ç»ØŸ‘AuCïmÛFrF«•ÿ¦¦²ýÈòÊËyoÛ6N’[ZÊîcÇööæ×Ç;ü}¬_ÿ:qç\Vxå•W9tø0Û·måøñc¨Tj–ý}™}û /¾Hzú vl߯ÁÔ ‹ /(Þ)©)lß¶•ò3£0«W¯¡¢¢œÔ”ìܱ]»v÷£¬¬ªDëÚ¹E׉„§ç?Ř‘£Ù´nÕÕ¿‰»j¨ªªj·~yy9‹/±_k8Ÿ=‰»}à ¨Õj\]]Y¼hÛÏdŸãÇG£ÑðåWÍYeVV6Û¶mgîƒvéÁmljjs¹@LL CîpA°L.£©ÉÔþgd¤ŸÀÓËËáýñƒÐºh©©®¢²¢œÂ‚|úˆÇÅŕƆz‚CB)*(@ã¬!($”¬“(έÕj¥0?ŸˆèhŒFƒC»ÅÅEô0ggg =á‘äçãì¬éÜ+•a“@Mu%Fƒž¨è>Èòn¡ËY¢¢¢ˆŠêí0 öBtñðôÄÍÃüÜœV··§…L&#&6Ž'ÒÉÎÊ"+3ƒƒ†¢vVÓÐPï0šÐ]‡ÃKËÊ:Ý_´‡³Ö™ÊŠÊïoÚô.ÁÁÁ<± ÈÞQ\7 žç-¢ºººÝö6ù%+W¬D§ÓáããÃêU«Øüå—eV®XN§C§Ó±rÅJ¾Ø¼ùŠÆ²²¼µÚþ»”Ëd<~ûí„ètTTîçGtPÞ®®¤fe‘š•…L*eþĉ$L™Âì±cЪTTVV¶úg3ï^álܸ‘wÞþ—}Û~Èš5« ÀE«eé’Åüßþcßþé§Ÿ±fuóv777V®XqAñ^¾|¹Ã\”/6o¶kàããê•+—8vIc6›/èú—D"!¢Wxsên¶t*S<;DâââÂØ±cY»öåVË%''ó÷eËHK;JCCC‹v°ìï˘2y2/¼ðóç=޳³s—ÜÍîÓ8;wê®íÅë³Þo>är¼¼¼‰4SÓoçjggªª*íûb4Ù±õ'Çö¥“ZVKEy9...”–”àæîާ§µ5Õç Éq÷𤾮›Í†J­Æh0 tr¢±±¡ÃïÔoÀ òò8~ô2™œÞ}bÐé|º….çâââzQºœ%¬W8ìÇÓ[×âøkO‹††zœT*|}ýÉÎÌ 6®?^^ÔTWÑS8wDç’²©Ô>Zr.nnn,Y²˜%Kc³Ù8™™É›o¾Éý<È—›¿h³½²²2ÂÂBÓ(,Ô~Ùæ,¡¡¡ç¼¡´´ôŠÆR"‘8DÀC«ÅC«¥ôÌ5òª3à>îî¸9;SÛØˆB.G£R!¡y©HGT”—a³ÙÈÉÉá¯O|D›ÇII‰CL/4Þþ~~Ž'Y¥¥´Õv·4Joêëê;]þ«o¿â½ÅÔ{§âåû[¦ÓP×€[w7éì µûxåË–qããqqq¡¾¾ž°3¦ pë„ ¬^½†åËW°ÿÀ^}}—ÜNJ¥Ã B‹¡ì”4Z ýãúux‚¢l#«™q÷0™LÔ×;^¶Óa)•NÜ4á¶6O‚‚C8y"á#¯'ïtqý`6™ZtzJ¥z}#Vkó÷Ó7êQ(”ö™¢R©Ôa2LSSÓyœ;ž^Þ¨UjÊËË8œD@`ƒÉ_)]ìÃΜÎËcð A¬‹=ë”ÉèËÑÇr^GÓ‘uµ5ä1xØp~M;‚Î×·S™pwAçíMC]Ã%·ÓP×€‡§g‡FÕ»7«V®$"²wûû¥Ó‘››Kxxs‘““Ûbfý¹ÛOŸ>N§»¢±ôÒé¨?gxùìï,ÈÛ¥BÉl&ØÛ›¢ÊJªˆô÷çhn.ŸíÚ…‹ZÚɉqýúQo0´K‰DB¯^½øç[oqÓÍ73zÌ\´Z|}}ùïßãïßúÚa___rrr‰ŒŒ¸¨x·ð‡:¹¹§{ÎÐk\L,å…æ9k’·ÏºÀ°@Ça»übb/q]”Á`ÀIå„““¹¹¹,HHh!x‚¬ýužLHp¸n×U¸¸¸b4´?  ¡¾ÌÌÌö¿«ÞÐîz½³ÃoU•Ô×Õ¶›1“’œDa~åe¥äæd³sûÏöá;/o¦¦& òÉäøúû·zýÇ×ßC)0™LÍþ'Žãçïo7T­Ö…Ça6›1 ¤?æPÿè‘CÔTWQSSM]m-V‹¥Ëî¥Ú] ‹‹8}f‚Q[ñìH—³hµ.‘™‘Ñi-Ìf3¿M£ß€xÂzEÐ7®‡SSì'= …‚ÚÚšnm”ýúö£¬ðÒ—fåѯ•þâŽI“زåkJKK±X,°lùräuž<ï÷5eÊd-^LYYeee<·hS§Nq(³dÉRÊËË)//gñâ%Ü9mÚ•eü@òÏ\® óõ%àŒÙiœœ˜>j&‹…RR8URBï€â#"MfQ³³íåé²2úube@@Æ gó™!çûî½— œ:u ³Ù̱cÇxpî\{ù™3ïbá³ÏRXXHMM ‹/¾ xŸÏ´©S픕•±hñ¢žc”coé“§:<?k’ïžØÂ$r3rwÃØKÚ—uë^eÉ’¥‡„2iò† ÚÊÙ¼”ˆˆpfμëÊœzy¢7êÛ‚R*øúùR][Ó®Y664âu޵Nj%´W8nîLÙÏŽ­?ñkÚ|}ýÑžÓá‡pä`*½£¢°ÙlX,-—IDDôF¡P²g×N’vÿ‚ÊIÅuñƒhjj6 >}ã(ÌÏã—í[IINÂÓËñ,Ö[çËÑ#‡Ù¹íg²NfÐ?~ЙÇ+¯Kaqùyùø´ç Ñ%0(¸Åt{Zœ8~ŒààPBB{Q_W‡‡‡'~dež $´?ÿð]·žõzÃÈë)È-À¨¿ø£6›­Íþâ©§žâ˯¾bÄÈQø2áÖÛhllä·ß¶—yü/á¦or˜õºè¹çÐét 2”ÁC†âççËsÏ>ëÐö°áøþ†ÑÄ„‡§' >sEcyý¸±db¶Xß¿?“† ³oëÀwÜÁâ»î"aòdâÃÑ·Äs3fðÜŒŒŽÅd3ú¦›:õ™šsï½÷ýë|† Æ”©Ó ᡇá·ýÑ^öoO?MTToFËÀAƒ º xŸÏ³Ï.ÄÍÝñ¹aôFõû awÕ½^Ÿûû"l8j ÃûFƒ‘ k6p÷ôY|ñÍf&Þ=‘€Ð–÷ÃÌÉÈáà/yæË~Wû{î™Ã”)S˜6mê;À3³²0[Ìxž9¬¨¨@¥t¢W¯^¤¤¤ óõA.—SXXˆ»«555xy{ã¬iŽ«¯¯§®¶–ëú·~'£ŽnÐÖv•ZJ¥F*•b±XÐ76ÚMÀÉI…F«¥®¶Æa‰Ãùíi´Z”J§3ëFΙ2.“ÉѺh‘ÉäX­VôúF4­½¾R鄳³3R™ ‹ÅBcC}»Ë).§.V«•SÙ§ ¢°¨??”J%§²O1hà@ªªª(*.& 0à’tqquC¡P8lkK Ö³Éä0‘J¥R#“Ëh¨¯G­vF­VƒDÒm'ô¬zy5•†*†Ý8Œw^z‡Õϯ$þºö3“ÉÄ·ßÌ} ÷QœWÌñýÇy÷­wÙˆºëM þçé§q®oàú>}.ªþ‘Ü\ÒÊÊxý½M×Ü=_»ü^¯=ø(<ö ¡øùµØþÑç3õÞ©­šd}m=;¾ÙÎâg_V“´Z­|ðÁ‡dŸ:Å”)“¯¨@!!!:x•Je¿¥×ë1ö5sr¹œ€€ 1™LØÎ\¶7™L”——ÕÎL:ê ÛÚnÐë1´2¤j?ñ1ZÌtm­½†úzhýºµÅb¦æ¼ˆÆsÖO55ÌùJë—ŸO`P *•Êžq :ò‹Õ¥®•áÒ¶´h¨oyÃá·rz}#z}c·î ºo.sæþ¿?¢úEñ׿-è\ˆÙdf×w¿°|É2ñ˜>`îüù<6çO{yz×LËjkù!5••ëÖ]Ó0ë2£ âÉù ¼úÆ:&Üu+þ!ÍÃSg§Ðß1ûŽV‡[k*køÏÇÿáÖ[neÄÐá—uu>¾„„„ðÎÛÿºâ?0¥BAïÞ‘œÌÌÄÇÇ¥RIiI)©ÚMò\³ÌÍÉE¡P`j2QTTD€Ÿ¿}=ŸàòérÖ,P©š×sž=v~=³ÍÝÝ]èrx{y³øoϱ|Í nœrñ#ã±ZÚŸ +‘Hh26ñÍßpç”;¯ùÇóÙO‚ƒ™¿ð^áEî1‚^¾¾ªW\UÅ'‰‰Ìºï>b¯ëMǰ˳õÕ7[xóí·ˆÏ€P([Ÿýg³Ú8~è8{·îe·0ÿÑy×äÙayy9YÙÙ¸ººâáéÑv lP]SMuU5~¾¾öéÙ¡KOæÇm?ñÒ«/;(–Á7 nó†V‹•´ýi$ïLfÚÄ©ø…ú£uÕ"—Ë©«©£8¿˜ÜŒ\4Îæ=ü8£†Ak+–ÇóÆ‹/‘{êÑ„x{ã¢V#•H¨78]^ΉÂB<¼¼xì©'ØÊdGa”]ˆÍf#õP*;wÿ¡´CTTUb6™ñöö&*²7cFaÔð‘mÞÝäZ¤®®Žªª*jjk155aµÚP*hµ.xzyâæê*΢….W-Ge÷žD9Hye‹úFÇ0zähtÙ'ú]-;’Æž;IKI¡¼¼«Õ‚·NGL¿þŒ3šë ×w¹Bn>‰D øAâ:Âàââ"žc(t¹f‰ë'ž/ù;Ñ·?úöï'ÑIÄ)ƒ@ Â(@ F)0J@ „Q @ ŒR a”@ £@¥@ Â(@ œK‹[Ø?vTDE ×,1çÝ*±…Qyƒˆ’@ ®Yjª«Ú7Êó @p-#;G×7IDAT®Q @ ŒR a”@ £@¥@ ݹ@Ð3°ÙlX­l+V›Mä #‘H™©T†D"úõPýd2¹0Jàj0I‹ÙL~^Ç~ý•ʪJ”+ŒL&ÅÕÅè˜>„††!W(Ú4K¡_÷Ö/$4 ¥R)ŒR èÉX­VŠK‹9x(•1cÇÖ+™L&s±X,ded÷/;‘Ée‡"—Ë…~=P?¹\NHH(Ò64F)ô„ŒÒb!íÐÆŽ»‰ðˆn‘‘ȈŠêƒB¦`oânü|üÚ4J¡_÷×Ï×ǵFÓjY1™G è F TWW&‚ÑÍ ¡º¦³Å,ôë±úUa2·­Ÿ0J '¥Í†ÅbÃuÝ…BÅbÁÖΡ_w×ÏŠÍfm³Œzz ivE[šù.e§>ÄXŸ“6]¯ÙøDÞ H~Ç:מ.61ãµÇ!ŒR 8`µHß>©LAhürÔnÑèkNs`G¤Á{¥%eÔÕ×à¢uÁÇW‡sÅgøùÕ:ð·:ùi«)ÏùŒ>ã¾B*S‰à „Q ‚žOAÚ*° ñ™{¢¶4‘ê_‡R±ñ.·ýÞOG1|Ø(Ô*5z}#¥e¥œü\FÉÉäÝ¿÷Ød\}F9r™‰R¶ŠàËDpÂ(Aϧ,û}úŒûŠÌ½ãê3šSÒ¸›/¿ŒP– `¬V+–3“Wœœœ ¥×ýs)=Žƒ+V`=ƒ dî}˜°!ÿ }ûa”HQQ!ï½ÿõ uŒ{#ãÇo·üÁC©|üÉG¸h]˜1c&ÑQÑ"ˆ¿b2@Ѓ°Ùl—ýÏØ‡Æ#ŽÆª4¾’NSf&·|ø¾µµ˜–¯À’“ëpÍf³a=}Ó¦÷ðn~ï= 'Npð•t«ÒÐxÄalÈ»äý’Édö×;vì ,,Ìá½+ùw9ôûîûïðÖyÇO?ÿ—/6ÞfÙ½I{ywÓFâãã åý÷7]¶ïÚQÌ/V“ÌÌL®¿þzÔj5C† !33³Ûè'ŒR 8ठ¦¡ê(•‡{£ß•ÄøüéîÝX>ÿJJ~ÿ=2™ ¹\Ž\.G&“#ûá$‡cݵÙÑ£Œé%w&Ry¸7 UGqÒ_ÜWë.\Èk¯½†¹)ý=ÚÚZ¬V+555ôë×)Øüå-Ê%íKâ“O?bذaÔÕÕ"“ÉP´s—™®¤-ýZã±ÇãøLŸ>'Ÿ|Rd” {¢ ŸCöÞÊ7f1xÉRdûöaû¿ÿ@e%²Þ½©Ø±“Ÿ–¯àoóÎÆ·ùyÅr*÷ ‰A’žŽm_2òôt=ûÿÎ${oºð9î@ÏÝÖ–¦¥¥1a„«Z‡iSïäðáÃ8)šÍ2.Ž)ûÌ2)i/Ÿ|úC‡¥®¶FKòþd&ß1¹ÍvkjjHHH 22•J…N§cêÔ©lÛ¶íwÿr"“˜˜ÈüùóQ«Õ 6Œ]»vu-Ä5J q¡C}ƒìB23D}½~˜_üJK‘EE‘UX@zV6Q÷ßÇ­¼€ôÿû–¤w6Ó7†ˆèhÌiiX%üï™êæñ”T˜èsóÂûÝѺÃöÞ7 Èåò·ÔâBô bþ¼'xmý« 8ˆêšjúÆôeÿdl6|üéG <„šêj´.®$%%1kælúõëßæçÌš5‹ððp~üñGBBB¨¬¬dÇŽ¬X±‚qãÆuú{\ÊöÖ0 ¸ººòòË/óí·ß²aÆn£¯È(c§ S¡wEÔÒÿÁ2b8¼²Éœ{(7I?•Ã-GŽÐÊT”J%J¥’þS§qË‘#O?A…Á€ôîYðÖ!ƒ‰|êous.ziˆB¡hó=…Bam±XX´h¸ºº2{ölêêêz¼‘‘ÌŸ÷©©)(•NT×TÑ'ºÉû÷ñáÇ00~ 5µÕ¨ÕÎìONfÖÌÙ 6¼Ý6wìØÁêÕ«éÕ«2™ NÇôéÓÙºu«½ŒÉdâ©§žÂßßNÇ+¯¼âÐÆ† ˆŒŒÄÙÙ™!C†pèСõë¬FkÖ¬áË/¿dêÔ©ïwT_¡Ptz¿„Q ‚K¦¨¨N‡ÍfÅ‚lÞ<HÄêU¸øú¶(ïâëKŸ7ßäpïHd> ÁÁØl6||tý®ûf2™ìÿϾ^³f ©©©$''SPP€Z­æÙgŸ½*´8k–‡B©TQU]ETTñâ©©©F¥Rs å³fÞÝ¡IŒ9’G}”¤¤$ôz}«e–-[ƱcÇØ¿?'Ož$??ßaûÎ;Ù¹s'eeeLš4‰G}´ÃÏí¬F‰„ÔÔÔ‹ª1û%ŒR \uuu¨Tjl6R©©TJ®Î‹Ø»g·Y'ê䔟72™ ©TŠÍfC¥rn3³;›žÿw1lܸ‘W_}•   \\\X¹r%[¶l¹jô8k–‡B¥RQ\\DAa*•šƒS™=ë†Ñ©¶>ÿüsBBBxä‘Gðññ!""‚„„ªªªìe>øà{<ÝÝÝY»v­Cëׯ'00FCBBB§2·Îj´víZ-ZÄÒ¥K±X,Tÿbö«3ˆk”AÂb1wéLO‰DŠDÒl”ÍY\Í·øn;Ó;[G"ùíZUS“±Eù††úVÛÑh´å;óº  €¸¸¸™IkŸÛSõ+,,D.•bµßWÖ†ÉlÆÉIÅé¼Ó 8°Sí8;«yþù¥<ÿüRl6¼öÚzfμ‹o¿ýÖ>¢Øfü´Z}›\.Ãl6w¨Sg4jj2r×]3¸ë®¼úê:æÎË?ÿùV§ëw´_"£®l¶®YK©Õj1‘J%œ}qhE5'¿û®Í:Ç>þ˜C³‘J$ •JÐëÑjµ­®[koMÛ…¼¶Ùløùù‘‘q‚úú:û_]]m7\Gyqú%%íåó/>%2²7UÕU¸ººáêêF]]-¡¡¡ìMÚÖ¯¿º¨ýŽŠŠâÅ_`÷îD‡xfggw¨Ï…èÔ‘Fç·ûç?ÿ‰Ï?ÿü¢ëwtœ‰u”ÁÕk•]ÒñûúúRZZ†D"Â",{ö×+œô'Ÿ¤®¤´Eùº’R²–-#nÐ,'±•–JKËðõõ½ìFùÀ÷3oÞ<²²²0™L=z”?ÿùÞng”£ßÞ¤½|úù§ô £º¦µÊ™ôôtާ§#—Ë©­­#$8˜Ä=‰lùzK‡íM˜p+›7o¦¤¤³ÙL^^K—.eÈ!ö2wß}7O=õ4ùùùTUUñÌ3Ï\²Qv¤Ñ¹e­V+{÷&áïïQõ…Q ×tFyù;}‹Yºâr—=dÝz,Óîļv-nîôžs?Á¯_o¡©©‰¦¦&~ýæk~9‚è§ž$ÀËÓºW±Nš„ôÿ wáßÐÔ‚Ŭ¿¬F¹`Á†ÁĉwàããËý÷?Àí·ßÞ£ïÌc³ÙHÚלI†„„RS[ƒ““Ьì,fLŸÉ¼¿ÌãÔ©S(ärêêê "qÏ.¾þ¦}³|晿ñÅ›CTT#FŒ¤ÿþ]²Qv¤ÑÙ²..®¸¹¹óÌ3ϰnÝ«\ÿr¥dÞcØ^{ã-*+ÊE/$tSšŒF>ûôæ>òؙ넗’c+Ñ—'sìÏiŒ<wƒkYÒ˜”Í¥¸¡‘_Oç”[óÓà#õf⮿7W o¼‰uëV$žžT+ì=r„¾›ú¡öŠoßEW­>ï¾ó6ï¸7wßM¿'2Øðö? ¢±±gg yyyLŸv'ƒ7g9¹9lø×ÿH“ɈÊIMAa!·N˜À¸±ãÅçõ+ÈÏã_6ˆÉ<AOz½œTþ˜¾7~MáÃóHÙp€q7Þ„Ä`Àzü8Æõ¯ã³ho?3ÁGÒ|ƒôSÙè_z [â$Z-6RvîÀýáÂGüƒc['áóîm˜ÉùTWW]Óúmß±êjëpÖ¨ÉËËeÂ-·FII 6› ³†ÓgòɧáïïO}C=~~~ü¼õgÆŽwQ{Øž>W§&#ŒR èIݬíò?ø×¤/@ã‡çu'Éw={ö$2rä(¤%%Xsr°x{a5øíaÌ6¬2¶½IH½½±x{³w_¶ñ7àyÝ^4q˜ôöý®ªªìäwµ]Óú¹»»SZZ‚BéD~~ãÇÝHHpeee˜Ífl¶æ SÎj5oŸÄ×ß|…z½/O_{ú\«F)ô°Œ„ËÜY)Ô4TÅÙ£!øsÒ0€í?ÿÌ Áƒñ˜~'øùbµZí»!‘:²iS©LÜCêÎèGŽ ÷þ¨¥ýh¨:ŠBxÙ÷ûjÓï7ß‚Éd¢¤¤„Iï £Á€Ñh¤ÉhÄb±¢T*°Ymøx{3kÆ,R›•;&NñF)\»)åå>«w œAÎþ"G½M枇›‘HuìP7$ã¬V’•‰/ggl6hÔ7PZZÊéƒhLMÁí¡8|cB-Eäˆæ7»θf³‘‹ÕÏÍÕ•éÓ¦c00›hj2¢ËQ©Tö…ø‰™\ŽB.ÇÃȈ4 J¥RÄ[¥@pÍö³—½ôŽJ oÿ²“Ÿ $~9j·hô5'È»ŠÌL©©ûÑë ›š'¥8)•¨Õ*¼n‚ØGF6ø9{ìä'0[¥øG%ˆŽû"ô“ËåhµZ4‹‹Åræ¡Ù$‰ý®IR©¹\Þ¼œD¬…Q ×pGÛ“y( ú Õy“µÿYL§«ÃÐúNfpßi˜Íg:ì3û!•HÎ<Ÿrú’Íd&/ĬÏAáÜ ×€iøÏ$¢ó¾Dýd22™¬#1F)ˆž¶Ë:C· Y¸ͺ :ê°9x†Íi‘EµuÛ;¡Ÿ@¥@ ø}’<‰™LŠÅjm7Ãb± “ÉìÞB¿ž©Ÿ0J §%àææA^îi||}D@º•xxx¶o”B¿n¯ŸT"F)ôh£”Ɉí˾}{2t8ÞÞ:d2qÊ+›‰X)//ãÀþd ˆG¡P ýzª~ññ(”Ja”AOF*•àHS\‡¤¶¶ÆáY}‚®G&“áîæNll,Þ:/”NNB¿žªŸ—*µZ¥@У3J‰¹BA¯ðp±œy&¡¸Þue5‘H$ÈårœTjû3;…~=O?•ڹݲÂ(‚žd–rr¹BCè'èBÄ ¹@ Â(@ F)ÁïŽýeA~žˆ†@ ç!™÷Ø#bÚ•@ mðÿ$æÖóÂmæIEND®B`‚KCemu-0.5.1/doc/window-module-kc85.png0000644000175000017500000010023512417262523017567 0ustar glaubitzglaubitz‰PNG  IHDROà%ÜüsRGB®Îé IDATxÚìÝwxUÛÀá_6›Þ ½B%^DDPAT ¡+¨R¢¢ˆÒ”¢"MEÑ÷C)J‘*Êë+Eš@ B¨¡ÒéÉf¾?BÖ,I6…PÏ}]s%3gæì´}æÙ3gv >ž9·ÞyÜœ–ÿßwü~"SA!„¢’Ö,xËàöiê’#ƒ&-WÀзÆÉÞB!D¥ šô`õì× J%ƒ&-WFÀä,Ù[B!D5$¥eQ )¬Ö²jCv6æµ²ÞáC_Óæʼn†ÁÇ3§±ïš¥2zÄ0b3åìB!î ÁHNÏäÔ‘ÕZ¾ië§°µ¶(•Ô¦zR3ùk×/¬žýšÎíE‘®B!Du$§g“˜šATø.žêÞ›Fu«´ü™«)ìܾ‘Æ-»`kmV+ë-Éà™—§(/yƒ¬Üü2+û\=¾øí’Î8Pæ´b%Ë„BˆGA\rGöþÆÏôÂÙÖ²Zuü}þQá»hýÄs8ݪ£¶Õ p#ñ&a¬ý·O†¾FŒâ²Ðç‹’‰%¿^*sZñøØçêiÇ…¦¬ì„ÃØØ˜Ní[Tj™Ü¼<öŒ@­6äÉÇZc` ûQÔÅ竳­%šÂêÝp´µ"êV]Å×ÙÚVoI%’ EO’¡ðæ õX¼-ºÌyoŸ&·^ă,77}‡#12RóD»–@A†§Ï‘šv“¦àä` @vN.—®^'9%œ¼uc:¶m~G Æ¥è‹l™7€”›ÙŒøä¿<Ñ®y… Æ?§¢Ø2oY9ù¼òÑžh×J Qk¨Jœ¬……Ê×U|-«Þ_w¨T=Ï?Õ¡Jõ–¬ûöeË›~{½e&…z’‚âcá/˯xúÂ_.VXŸ÷ûBuæ,[æ =3—as·äߘÓgÎ1~`;šÖw`ñº0b’)(( 59>O6¡YCgì¬MÉ×r#1ƒÿüö7Š¢`UK’Û Ÿ’Iè‚ÿñX›f\MÀÖ´@[–”–Åó×IBª"íf&>îE÷wÏ_KÁÊҼ˜~3“nEË\ˆIÁÂÜ %¢ö´dP™kjeë*®£¼z—Œï©·ŽÐ϶–ZŠêݾë/m½¡Ÿm¥{—ÇôN/«ÞrZ2*Þè·{xkÿ_°õâm-r‚‰Ú!5=ƒÆ^vœº”ˆ©‰1W/_bÞ¨.X˜1éëݪÍ1Rçcm”ǬqÏu%‰9+ös5>7{+<íGNž‚¥EMa!W¯Ý >1™ìœT*v¶uhXß ##5ùì;Nv$¦¤R¨)ÄÞÖ sâ’ÉÊÎÁÈH—» î®Îäåås ,CCo}ªÏËÏçÀáHÔFj:¶ý÷6Äîýat~¼M…Û àX×ks#ÒnfË”qÏ¢(EÍžQ—“°±²DQŠZx.]!1)…œÜ<ŒÔjìêÒ ¾'††*mËŹ‹—IM»‰¡J…‘‘mŸjt+ÉHÆÂÌŒ]ûÂônGÚÍLÚ7*j=:“Œµ¥ýûUˆ‡»%ãÎë½}þªÔ»d|OB?ÛZfB£¯Þ*·dÌßr€w{5(sþ’ãïöj _ˆ1Éh×¢è"~*:w{ &¾ÜäôlƱW7ÌÌL‰¹r‰You#&ñ&ÿ°Ÿ¦â^¯YÙ9,ÿïiê{¹clbLn~>'NFñ\{o:ö ÄÙÖ’¼| G£®³â¿'ñööæTTÑm¦=ǮЦ‰+ÆÆ†=}ƒK±©t숋½%7³òØøçiNÅÄâ`oKÔ­å²s ÅëZ^½e&e5s˜uPpò;©ûÇ_güöéqÿ5Åÿ¯œ” ,´¨oë˜Ì©+©Ì]y€^îÀ'cžbÆÿí%>/cccâS2q±³ÄÃɆԴ4l¬­ÈÊÎ&!! WgŒÐh °43 ß”ŸKeò&&ÆXÛXëÜ(Ô⣽'caaNff6ÞÍ€¢þff¦$$&é´˜Y;s=– Ÿ [2LŒQEÈJ¾ùËÛî3W’077ãï[Iƶg‰MÉá‰æ^·Ê±´° +33“¢Qüe}1×cy, (ñøëä5 P°27ѶÊ(ŠBLì Bƒ»h·O),¬p;töIL2PXá~ ôo"·eÅÛ’Qò–B¥ž¹5ñuß Äíƒ n—èKdªZoxäß:ë{{ÇÏâD£eóÀrë­t’Q2‰(/©(+é¨LBÜŸ$#“Æ^õ8w-G[bRrµ‰Æì‘]˜½b?©¦¦lØ}š±}[óFH+®=Ä¥KW¨ïZ‡AO5â·#—Q¬­¬8v.–ÖM\éÑÁ—mÎbnfJPC':6óâËÇÈÍÍÁÅÎJ›däç”H2R077#66ú.º·òòòq¨SÔÄÓɆÃÿDÓµu=zØþÛ’anÇ‘ðã:>[µÔ»Ýg¯&a[džë)…LûîObS Pªµý!¢.'aaaŽM<ŽœºN‡@žiíÍŽ£Q4pàåî\Kç§§037ãbL =ly,Àƒ£Qgxéi?GQ5……nG~AÁ¿Ë\KÁÌ̬Âý*ñEÖ‰…ks8*ž¼5‡~¢_¼Û(ú®ÿsW“‰K¼‰O{êyzðå¦^ÎÌ¥×Ô-€Ô›ÙDžcõï'pqväÌÙó¸h[22ÈÍÏÓ^PÏ_KÆÝ£9¹ÙÔ»uK!úz*žõmquqâ§?NüDcÞêß–„ÔL£n )T0Tp#)Ÿ:.•zß•Üî³W’¨c±1™™¸ºXpâÔ)|nÝ.9s% 7/¬,-YöË12²óøŒ?¯÷hNbZ6¿¾ÀÆ=gðôªOa¡†/7åÍ~­7 -i™¹9}¦CC篥àääPávää):>==Ü*ܯ_ÄÝ’Qâ-ï d Œï³ø÷›9ï]½AþÚzƒý+œ^V½wÜ’Qù$C¢€x°ø7m̨϶“——__Œ‹n7¸8;‘’žNßÉ?PÏÓŸõ¹œœÊäeûÈÎÉÀÈÈ s3x×CQT†*<=¼X½óK7EP )@­6ÂÚÚ 'û¢fý€¦¼:k+ þM04T3xæ4 ~Q© ðócЇ›Ðàßµ¡!NŽü•Àæ½[Ñj062ÆÚÚŠo·F (äß•¡ŠÍ´>[4 (ó}Wr»›6ñÅÄÄË[_$à×TwÔE¡ÁË«ëö\äÛ­Ç(Ðh062¢Nê×opë;2Ô(ÖöÚ}¤Vbc]ÔQTQüc¤6ªp; Õ† Ÿ»ü‚¢õ351©p¿J|^KÆ¿íâ>þþM+µìíý*Ê{ än×[²îÛ—-oúíõ–™dèë@UVKFY‰Çí·N¤S–x5mÒ¨ÌsÔÊÊŠ @?²:ul¨SÇFï§Cnz?Eøû7ù7ùF! Äxñ<MKMst´ÇÑÑ^§N77—Ró5 ò¯ð=WÞv+k T*ÜÝ]qww-wÛLLLðõm Sæîî¦3_e¶ÃÏOwý*³_…x[2b“3ªýk|òMm]·3gm©WgŸÿ kôäR…ò^º£þóå¬BñH°03ÅH­â_7Ø®kµêøûÐÿxæù>ä’™S+ë(,„°?Öþ›d\¼ž,gˆBqÌM1R²sûÆj-ÿT÷ÞähȺíû(j[½ŠÂí?õ.ÍB!ÄÈÌÎÅÖÆ‚‚TkùÜü2³sk}½Pt+F’ !„¢%¥f<òõ÷÷P7¶Jdóïûä¬B!Dil•XÔ’±eÞ’“°´´’=#„Bˆ*Éȸ©ý?æÚU¾]ö'eþNòæ ëdo !„¢JžîÖ]g\]Ù…B!ÊbiiUf…JvB!îI2„B!I†B!$ÉB!„$B!„’d!„B’ !„B<ÊÔ² „Bˆ‡[Ff ¾\HÔ¹3ÎëäàÈç³çK’!„BýnÞÌ`î¹\ºr•J…­½m©y INL .!¾Æ^»ÚI†½ƒöÿÉ“&ñÎ;ãôοpÑ"fÍúH;ž”˜pOwrñúÖäëÞ:…Bˆš’~3Ùóçr5æ*^Þ^¸z¸–šGS¨áÌÉ[8ŒÔF5öú5Ò'cíÚµγfÍZ9ÚB!Ä=’’šÂ¬O>æjÌUêùÔ+7Áˆ:EZJjµcccÔF5w“ãŽkrvrâü… 9r„Ö­[—9Oxx8çÎÃÙÙ™ØØX9òB!Ä]týÆu&LÿEQ°µ·EQ®_»®ÛÊ R‘—@FzFFFØ9Øio™Ô”;nÉèׯ ¿¥â§ŸÖÐÿÖ¼B!„¸{>úl6Š¢œ˜Ìå —K Ñç¢É¼™©M0î†;nÉ8pK¾ø‚M›7óñÇajjªSž››Ë¦Í›µó.^²D޾BqåäæàæéF‡.ÊçÈ#DŸ‹.³#hM¹ã–ŒÆÓ¼Y3ÒÒÒØ¾ý¿¥Ê·oÿ/©©©4oÞœFUX_BB3f̤ÃãñðôÂÃÓ‹wdæÌY$&&–»\llï0‘æ-ZâìâJ}uëV½¯ggï Ó‰µºó!„ •J…©™)vvå¦f¦w}=j¤wÇÀˆ}˜:m:»wÿI\\NNNÄÅűk×nŒéÓ»·Þ:ÒÒÒxùåWHLL$((©S¦Ð¦M>ÌÌY³8qâ$/¿ò û÷íÅÚÚ€›¼òê«$%%ѼY3¦NB«V­8rä3gÍâ›o–É‘BñÐ çàÑCäççWyÙüü|òòò011añ7¥»6\ˆ¾Hc߯¼1td¥ë¬‘GXëÖ­K×®]Ñh4¬[¿^;}Ýúõh4ºuëFݺuõÖ±üûï¹qã5â—­[éܹ3XXXÐ¥K¶ýò 6$&&†ïøA»ÜÊ+¹zõ*M›6å—_¶Ò©S'írO>ù$¿lÝZ©Û4B!Dm¶÷À>>ÿr!áÑhª´l^^žöÉ’ÜÜ\ +5$&%²ÿàþ*Õ[c¿]òâ‹ݧLŠÿqàÀ —ÿý÷ÿ0á½÷°°°(UniiÉ„÷Þ»5ïïÚé¿þö+ï33³RËYXXðÞøñrö !„xhíÜ»‹e?|‹©™)-ÚµÀÐаJ FJR *• ÿþ´ïÔ^gðöõ®özÕØ7n<ýÔS888űcÇQPˆŠŠÂÑÑ‘§žêRáògÏž C‡Çʧ¸ìÌ™³ÚiÅÿ·oß¾Âå„Bˆ‡ÍÿvýÁŠ5+155¥i³¦WiùÔäT iÔKKK²Øë±DŸ‹ÆÀÀ•JUåºk,ÉP«ÕôíÛ‡¥K¿fÍÚ5Üz<—¾}û VWü27oÞÐ{[ÅÖÖVgÞª.'„Býl>]»v-Õ‰333“ÏæÏ×Î[ì¹îÏqèÐa>›ÿ9]»v-õ£ÙÙÙÚåÊâååETTþùg™IÊ‚ åLBñÀ111ÁÈȈ€åÎu2ŠÝÛwcfn¦íO‘y3;;zôïQîré\¿z½JHË¢ªé5j$I‰ $%&TéK°†¼ú*ÎNNœ>}š={±gÏ233ÉÌÌäÏ?ÿ¤GÏžœ9s†¼úªv¹W^y777þùçzö fï¾}ÚåöìÝK=9}ú´Þäàý&òÛöídff’““CDd$C‡ cýÏ?Ë™,„B<-ÕU§NV¬ø/¾Ddd$½ûô-5½½=+W®Ð¹­aeeÅŠ~ o¿~„‡‡RúK¿FŒβeß–ùºo††²eËV¢££yùåWJ•¿ýÖ[,\´HÎ!„…âN«ê2¹¹¹˜™Üß–Œ;ѲeKöïÛËØ1cðõõÅÌÌ 333|}} ;–ýûöÒ¼Y³RË5kľ½{6t(Q·n]:uêÄwß~˜ٳË}Mþ»ý7^ýue»téªU+™:uŠœ‘B! i©iÕJ0R’мxúɧîMKFRbÂ]YÎÉɉ3>dÆŒ«T¯‹‹ Ÿ|2O˜Wå×µ··gÞÜ9Ì›;§JËVw!„÷ºõ"59•œœœ*}×…¢(¤¥¤‘——G÷§ŸåÅ~«ôº*ÙõB!ÄÃ-ófQÃv­ÚbeiUéåR“SÉÍÍ¥çs=<`’d!„â_yyy<Ñ¡#c†®òr}{öa@H¿j½®Zv½BQû8;9söü9~úÏOåΓ“Uô­žÛ=ΈW‡c``€£½ç.ž×»\VFôéGÏî=ª½Ž’d!„µPÈó!äçås#.¶Üy2Uø5òcäÐÚ[ƒ bãÖM$§¦”Ÿ¨iÙ¬Å%’d!„µ”ƒ½}•oÔó¬Ç;cÇÝ“u”>B!„$C!„’d!„B’ !„BI2„B!I†B!eå>ÂjY…¯B!„¨0ÉÈȸ Àæ ëdï!„¢æ’ €§»u—=#„Bˆ;"}2„B!I†B!$ÉB!„$5ÇÎÞá‘Øiµy;•c$„âþ“_a½íœ”˜ ;âJ„jâxÔt}B!*§Ê-vö¥†ÚpѲ³wÀÞÁ‘zõ½y²sgfΜEbb¢Î|wëÇ„ ïÓ¼EKœ]\iàÓþòÇ;úDáöó£²çKRb‚ÎñÐwÞ)ŠÂŒ3ñnàCŸ†ÌšõŠ¢”[—Bˆ4É(´kSðNJL 1!žNž`ñ¢ÅdçdÓéÉÎ\¹r宾î7x¶ûsØÛÛ³eó&®^¹Ì‘°Ã :”eß~ûОXÅçEMžåw?¬XÁ_ràÀ~öïßÇþXµjµ¼»…¢6&•‘““ÃÛãÆQ¯¾7õê{3îwÈÉÉÑùdºxÉ7iЇ§¡o¾Innn¥Ê_èу7é¼Þµk×ðóó'==]ïzYXXÀœÙ³ĵk1:t€ƒ²oï"Â’Àܹó*Uþθq|úÙgjçýô³Ï1rÖÖÖ•^Ç—fÏÞ=e–3–ÞŸÀåKÑlûe+GÖšç÷ßÿÇ€ùä“yŒ9¢ÌzvîØÉÀ*µ>ááìÞµ“Ä„øJoÃØþÛ¯\8ŽçŸ{žqï¼ûo‚3g.II‰D„eÏŸ»Ù·o¿n4g.7ÓÓ‰ŒgßÞ=>tX§|Á‚…;~œÝ»vrúô)LM͘9c¦Þu~iÐ`FŽITÔi¢NŸÂǧS§N+ÕºQ“-QQQ4oÖL;Þ,(ˆ¨¨(yw !Ä}f:z”²øË¥$'%Vj²>_0Jvœôó`ë–-4hà Àùó á䉿µó ;Œ·wQù…   áÄßÇ+Uþô3]5j$}ûôÑ–>tssó2×¹¬‹Z~~>ž^ÄÞ¸^j¾À f¼:–çž{WW×RõÍ›7— ²rå Z4o^îþrrv!æÚUÔju™û°ä¾;yò.ÎÎz×»ä4;{Ο;KݺuÈÊÊ¢¾wâboàÈÖ-›µûðüù ´m×N»¼@ Û~ÙJ½zõ¸xñ"­Û´Õ–7kÞ‚õë×ÑÐÇ€øøx:=Ù™Ó§þ)wo—••Eó-9uZﱨèxé;½JU”3âìâJ|\l¥Î!„5+æÚU¾]¶LÿÓ%ññq\ºxô´´¢ û­¯¯L NHH ^=/íx½z^Úfób^^^%þ÷$>>¾Òåï¼3Ž™3f̼yóx3tl™ †>qqqØÙÚ–Yöý÷Ë™ÿÙ|æ}ò)ÖÖÖ|üñG<Û­›¶|éÒ¯8p€ÞÀÎΖ„„\\\ÊL,JÒw±.Oq‚`nn­äz IDATNAAA‰ã¯³Kârí¸§§§Nù7h×®½nVj` wØ1s&'Nœ$33³Ìeª«¼ó΂ÌÌL¬¬Š~Ô/##KKËrëÙñûv‰BQM*• K++¼½}°wtÔ;o¹IFrR2çÎDÑÔ?ggWŒŒŒª´\¾|Yû)úÒ¥ËØÛÛëÌS²üÊ•+888Tº¼û³Ï2gÎ\fÍúˆ#GòÅKª¼£V®ZE§NÊ,kѼ9«W¯BQvìØÉ[o¿Å³ÿü£-ÿeëzS§NBÇŽ-÷5:wîš5k7îí*¯ŸZ­&++K›<%''WiyGGG}xùò•RÇèêÕ«Ú–ŒÛ;Á:99ñû·ë$H:ìufÍœÉSOuÁÊÊŠŒŒ êÕ÷¾«'|ãÆ‰bãß}—úõë£( rWWW¶nÝJHpŒ{»ì$âƒ÷'ðl÷çÈÏÏgÀ€þ¸¹¹‘““CXXX…ëêïçÇ—_~Ř1£IKKcÒä)U:úôî­Ý‡Š¢0yÊdòÞ½C˜:m: |®Ýß%½6dãÞy‡9³gãááÁÙ³gù|Á¾ÓóTLNN&¦&˜˜˜pùòe>úøcrÎ?¯½S èÏìÙsh¸¼!PÔhÐK/•;ñ/ !„¨s ü9wæ mÚµG£Ñ”ÝêQ^7ÓÓptr&;;FSå&ïÉ“&áàà@«ÖmhÕº ÎÎNLš8Qgž¶íÚòxÇ'hÞ¢%ummùàƒ÷«Tnh¨¢AïJu¬,þžŒ&Mšú曘›ðçî]¥nüÛRÒW_‚‡§3fÎäë¥_•šÇÅÙ™-[6³nÝz>ûl~™õxxxðû·s-æÏ=ÿnî4oÑ’ï¾û~^¯w,XÀoÛ£¾wº?÷<;>^¥c0qâØÔ©C³æ-èøD':tè [þÁXZXÔ¬9ïH«V­tZ¬ÞzëMÚ¶mKHï>¸{x2bä(žîy½¯¹hÑB¦N†‡§½‚ChÛ¦NùØ1cxú©§kôé’!¯¾J»¶méÐáq:txœÇÚ·gðàA„â.²´²&-5cÓrç)·ãçŽß·Òwééi5vOýö‹¾¾¾•é¤7xðË„„„ЧOo9Ú5àì¹s ø"e×c®qêä?„¨ñÑwÏû#îz’Q¨ÑODD8;wÆ«~ å âh4¢/œcÏž=ª ñôôBU ßWÚøAç.]ðªï-ñAˆŠ/œg2¼1B}/6ôxä1º<ý4õë7#/D 044ÄÇ·1†j#îß“£fµ2?v+>xK|¢&cDCßF¨ÕjþÚ¿ï¾Åˆ»ÞñSQRR’ñô¬§Ö³gOù+Ù¿Gרº{x’š–B~AA­ „Т𒂧W=¹*qKø‘C5V—»‡'ii©÷-Fèý©÷²~¾µªòrsY·v ¡o¿ƒ¢(ôìÙ“­[·ÊY$Y‘áa´lݎ©ï‹E èѳ'6uêÖº}‘—›Ëúuk }û91„(‘d´lÝ®Æê[²ðs^èÑã®Äˆ;ú©÷»A ñ¨*nÉBˆGÅ=O2$ЊG•$ØBˆGÍ={xVQEaË–-wü,¼Z­¦ –Þƒ®©ízX÷ÁìW¯^lÙ²Eç=¡OAAjµZv\<”ß·Q•ízX÷¨}1âž·dôêÕë¾_È…¸J&‰ŒŒÄßߟÈÈHÙq÷øB.DmA“&Mˆˆˆxx“Œ¤¤$ƒšagïpWíÝÊüî$A ,õ AQ$5’`GFFÒ­[7Ο?O·nÝj4Ѱ³wÐw‹¢(̘1ï>4ðiȬYÕšOÕw²žøùù•š6m* Œ¨Ñã™gžáüùó<óÌ35šhÔtŒ¸£$cÞ¼Oxíµ!Uz÷êÕK{뤢!..Ž… Ò¢E éÅuÝëÀÌÌŒmÛ¶éLß²e æææw¼^UY¾ä¼-Z´`Ñ¢EÄÅÅÝ—ý"Cå†Í›7ë\€Êš'""‚îÝ»3mÚ4ÒÒÒ˜6mÝ»w'""Bï¹PÙà‘”˜ îV¢ñÊüuð ØÏýûØà«V­®ñ׉gÁ‚4kÖì þææælÛ¶­Ô+‹ûø&Íš5cáÂ…ÄÇÇËÕù!I0ºuëÆ‡~Hff&~ø!ݺu«‘DãnĈj'gÏže×îݼ1jT•–Û¼y³ÞòÜÜ\6lØ@pp0~~~;vŒO?ýTï¯W¯K–,оÜgòäɸººbmmÍ Aƒ¸yóßGkŒŒŒtþ_¶l>>>˜››ÓªU+Ž?®wýÆ_j}>ýôSÞ{ï=i999Œ9;;;ììì5j999:Û9lØ0lllpwwgþüù:Ë—\O}ÓŠ_?22’¦M›ÂÆÉËË“wã&88¸Ây&OžÌœ9s3f æææŒ3†9sæ0yòä :-‘w)ÑX³f-S&OÂÙÙggg¦LžÄOk~ª‘ºsssùùçŸéÑ£5"22²Ô{§¤ððpÜÝÝY´h‘6>Lœ8GGGÌÍÍ8p N|(ÙÚ```À×_M½zõ066¦yóæ;vLïúM˜0yóæÝöalï¿ÿ~©ø0|øplll°±±aĈ¥âÃk¯½†……ÎÎÎ¥bNY­"嵔̟?Ÿˆˆ|}}éÙ³'6løP‹Mœ8‘yóæй¹9¡¡¡Ì›7‰'>1¢ÚIÆ´éÓùàƒ÷155­‘@ÆØ±cñòòâ›o¾¡wïÞDGG³|ùrºtéRæ2¿þú+/¼ð‹/&44€¹sçAXX111˜ššêÝù{öìaÏž=$$$̨ ’¦Þ½{ÏÁƒµË'%%¢»¦MãÆœ>}šS§NqõêU¦OŸ®-Ÿ>}:‰‰‰œ;wŽððpvïÞ]íƒØ¥K–/_Î¥K— ᫯¾ÂÓÓ“ÐÐPÂÂÂä]ù€¨(Á†¢'P† Ñm2dÈ=™RV𸛉FTT”NëBPPQQgî¨ÎÇ3zôhÜÜÜXºt)}ûöåêÕ«¬X±‚§žzªÌe¶mÛF÷îÝùòË/yë­·˜={6áááDDD‡™™Y© ¤?ÿü“’’BHH#FŒÐ»ž}úô!>>ž¿þúK»|RR½{÷Ö™oÊ”)\¿~sçÎqöìY®\¹ÂÔ©SµåS§N%!!èèhŽ?ή]»ª½ïžzê)V¬XÁµk×èÝ»7_|ñ®®®Œ3†Ã‡Ë³–ùõ×_:t¨Î´¡C‡ò믿>˜1"tô(EQ%)1AgX»z…’›“SjzRb‚²áçõJ‹-”Ä„x%)1AÊœ/)1A¹sMYôùgŠF£QòóóËÅÓÓSÙ»w¯ÞùŠç]¼x±âêêªýd^•:2åççSPO¿~ýX¿~}©ò]»vñã« &00—^z‘^½‚±°0/³¾ >祗^$ ÀŸÜÜ›cbbðóó+ÕŒXrž’ÿ[X˜kÇ Uè”—n®Í¡ÿ~̘1ƒU«Vò÷ßóÓO?j—)þ‡««‹vÜÕÕ…¸¸8íxll,..Î:å·¯[Y롯<33“Í›7³zõœƒ&((¼¼\øÐ¸qãRñ¡ä<%ÿ·´´ÐޫՆè”ß.//—_ÈôéÓY¹rÇgýúuÚeŠÿÆÅÅáîî¦www#..N;‹››«NùíëVÖzè+ÏÈÈ`Ӧͬ\¹’“'Oзo_~Yïöˆû«¬cSÛbDµn—œ:uŠç_è¡Óµâ攢NjëÖ­+³óZëÖ­X°`gÏžaèÐר°a#¾¾¾Œ1‚Ý»w—êè¶}ûv6nÜÄÂ… uÊœ9s&Š›7ÓµCzzZ™&Kþ_™Î—ÅeÆÆÆ¼ñÆ(†ÁèÑo`ll\jYGGG.]º¤ŽŽÆÁÁA;îää¤S~éÒ%åÕj5™™YÚñ¤¤¤r×}÷îÝŒ1‚† }Ù´i3Ç¿ÎÙ³gX°àsZµj).¡oß~vüìÓ§+V¬Ð™¶bÅ úôéS펟úš;õ5“VWãÆ‰,ÑwáØñã¥.ìåŇò†6mZ³xñb.^¼È믿ÎÏ?ÿŒ··7C‡c×®]¥öÇŽ°aÃæÏÿ¼T|¸xñ99ÙÚ!;;«ÆãØ1c:tcÇŽ-7>DGGkÇ/^¼X*>”,ŽŽ.#>dV*>ìÚµ‹¡C‡áíÝ€72räH.^¼È¢E‹hݺ•¼7ÀA_ŒèÕ+˜ï¿ÿ^gÚ÷ßO¯^ÁdŒ¨V’Q²÷iñ‹W´ŠR´Ãúõë¯wçÌúõë?Š¿¿?'N,µÃ\]]Ù¾ý7~øaŸ}6_[6tèPBCßäâÅ‹äççsòäI† R£ADQÆGrro¿ýv™å½{÷f„÷‰'>>ž÷Þ› s¡èÛ·/|0‘„„âãã™0á}åýýýY´hYYYÄÄÄhï)—õZ“&M" €ÈÈÖ­[K¯^½´M†gX·nm…äÃ?dêÔi|ýõ×deeñõ×_3uê4>üðÃ;zº¤¬ r7 €ú3{önÄÆr#6–Ù³çðâÀ•Š ÆÆÆôîÂÆ8~ü8L˜0¡ÌøðÇÿãûï¿ç“O>Ñ– þ:£GæÂ… äççsâÄI~¹ÆãÃøñïróf:ï¾ûN™å}ûöeüøñÚøðî»ïÒ¯_?myÿþý™0a‚6>Œ?^gù€€,X@ff&111Œ3¶Üuÿý÷ äĉ¿Ù°ágBB‚%>Ôâ$cÖ¬™Lš4™/¿üŠÌÌL¾üò+&MšÌ¬Y3Èq¿Œ«hc×®]SéíààÀ˜1c8pà@™ofggg~ýukÖ¬aÞ¼y·.þoÓ¾};^x¡NNÎ 6Œ^x¡ÆƒHEåS§NÅÑÑ  f5ÃÅÅ™)S¦hË'OžD:6øùùÑ®]{üqå—,Y̶mÛpssç™gºòÄO”»îû÷ïgôèÑØÛÛËôú÷Pa dӦ̞=''gfϞæMµßÏr'°‘âán$C^}•vmÛÒ¡Ããtèð8µoÏàÁƒî¨%£¼øÊáÇË¿ÿþ_~üñGfÏžƒ¢(¼ûî»´oÿÝ»?‡­­¯¾ú*={ö¸çñáçãè舟Ÿ~~~¸¸¸0}ú4mù´iS©S§¾¾hÙ²;ê¾ÿ¿úêK¶ný''g:wî“Ov*wÝ:ÄØ±c%><$IFPP¿ü²•>ú;;{>úè#~ùe+AAAdŒ¸g¿Â:|Ôäåå1pà@Ö¬Y#7ÛÄ#ëüÙ(Z¶nGZZj¹ó?~œ×^ÊòåÿGPPÞú~ø¿ÿÔú_a9zŒ|M¾·œþç-[·#++³ÜyŽ;Æ+¯¼ÂŠ+*ü®˜ÿ,ûæ¾ý ë½ýí’ÂB~úñG”ú‰k!j“/¾ÄšŸ~ü÷=¡ç}ÀáCQ«ÕÄû¥8>!¨TŒ $üèÑ>FÜ»®¨·î¹¾øÒKüôãröˆGÎO?®.Õª¡¡á£ó#W ζ Q…件Lj{×’qëžë«WK0¤—^Ä?®®ty¤‚)Šì!ª˜dÔ÷ôvI¡¢0hÐ`V¯^%gxä¬Z½ŠÂA£P.ª¥âƒ‚‡*FÜ“§KT*……EŸTV­ZÉ AƒPEþÊßGòoÉ ë kwR©(,,”§ d¡O—T=FÜ×qן.ÉÏËãÿýNó–-qpp”ÔTˆ”˜˜À±ˆH:t耕M­[ÿü¼<þøãwZ¶j³³‹P!jX\\áGéðØÝ‰÷ýéCCC9ø×_´mÛ{GT*9òBÜI3j¡BbB.Ž°Ã‡jÞü¾Åˆ»žd¨ qvq% €c‘¤§¥¡‘GÕ„¸ã‹s›:øùûcog‡©™Y­ÜŽâøàèOdD¸Ä!j ™5ë#¯%¯¨|ç΄„ôÆÍÝŸ†¾Œõ U^ÏâÁ»/¿ò*—/_¾+éò†ê¸å¤Ä„R¯«o;*:~eÕ'„B’ŒJ]âùçä /ZLvN6žìÌ•+W´óü°b<ÈûÙ¿û`ÕªÕ•.ÿjé׌3š3Q§9ø×¬­­1bdµ.œ‰ ñ>tF|ymèлv.¾¨Þ>^[éÛ†ŠŽŸBqG}2,,, `ÎìÙ <ˆ9sæjËÖ¬YËäÉ“pqvÆÅٙɓ'ñÓš5•.ßðózž~úi,--qppàçs8,¬Ô'íÊ000ÀÁÁñï¾KTԽ˗œ¶cÇ:<ÞgWš5oÁÊ•«ªÕʱté×aïàý¨Ì¬YѨqÜ=ÅÚÚš?þˆg»u+•ÀT”ì¸8;ëŒß¸qƒvíÚëL300(wy//¯ÿ{_¥ºnýšPÙãWlÇïÛåÝ&„•J…¥•ÞÞ>Ø;:V/ÉHNJæÜ™(šúàì슑‘‘ÞŠV®ZE§N´ã7&òØ1žèØ€cÇÓ¸qãJ—lÚ´™)S§²jÕJ¦ùê¨S§o¾ÊÂE‹þÝxµš¬¬,ÌÍÍ‹¶99Yg™Í›³zõ*EaÇŽ¼õö[<ûÏ?•J,*jõùý¿Ûqqq©Ôü—/_ÆÛÛ€+W®h[5ªSWM©Ìñ+)¸Oyg !ÄC °°Ä„xŽE†clj‚µµMÕ“Œ çÏâ„«›;99Ùääd—ú„œ••ÅùóX³v [¶leûo¿jË èÏìÙsh¸¼!³gÏaÐK/Uºü«¯–òͲelÚ¸__ß2×±*ß'‘žžÎwßýí4??¾üò+ÆŒMZZ“&OÑYføˆŒ÷]êׯ¢(hjä½6dãÞy‡9³gãááÁÙ³gù|Á¾ûöÛ2çŸ:u‹ݪ™2e*}ûô©v]5¥¢ãw»ŒŒ›òÎBˆ‡„¹…þœ;s†6íÚ£Ñhª–dÜLOÃÑÉ™ììl 5: †½X˜›S¯~}ºtîÌŸ»wé|Âòê«\¾t™׎<¨ÒåS§õ9hÿXÝOõ—¢õ6Ëßž„³°° mÛ¶|÷Ý¿ß ðÖÛoñÙüù¸¸¸ð曡lݺU[ÞýÙî¼úê¢/]ÂÇLJ¯—~U#ç­·ÞdÑâÅ„ôîCll,>>>¼ûÎ;åÎß¶][ïø™™™ôìÙ“>x¿ÚuUEÉýWüqRWÑñBñp³´²&-5cS²³2ËœÇ tô(eñ—KINÒý2­¿o'¤ïÒÓÓôöµßÝü†Ñ{ýí¥B!î¿o'¸OÿR­Õ1×®òí²eú;~*Š" Æ#”hÀÝùZq!„&ùíqWZ¤õB!„ü «B!$ÉB!„$B!„$C!„B’ !„BÔ÷ìéEQ(,Ô h )TÙóBÔ U¨ kÿƒb…š4šB‰B<4ñáž¼²¢(h ¸võ*§þù‡ä”d9úBÜ!•J…µ ›4ÁÃË ccãZ»-ùùùÄ\»Æ©“'%>ñŇ{“dŸODd;wÆ«~ å,âh4¢/œcÏž=ª ñôôBU ßW… ñDD„K|â!‹ê{µ±Ç#Ñåé§©_¿}!j€¡¡!>¾1Tqpÿ~œ0³°¨•ÁPâƒg|¸'?E!%%OÏzrä…"Ž®±¯ìw÷ð$5-…ü‚‚Z¹/$>ñðƇ{Ö¤°°CCCéÔ%ÄmØ;~«Õ·:LÖÚý ñAˆ‡3>È#¬B!„$C!„µÇ=}xVQ”kU«ÕÔÒ{Ð5µ]ë>x”Tô~(((@­V?2ûBâƒÄñpŇG²%ãQ Ú¢v‹ŒŒÄßߟÈÈHÙ„¨•ñ¡ÚIÆÙsçxuÈkø4ôÅÅÕ§Ÿ~†­[·ÖŠƒs'Ù½Z­&00°T†©(  DnݺqþüyºuëV£ÄÎÞA;Ü-çÏ_ Oß~xxzááéEŸ¾ý8þ‚ĉâ‹ÕJ2.\¸Hpp0:=AØáC\Š¾È¼ysÙ¸is…Ë7‰Vvˆ‹‹cáÂ…´hÑBgzuꪉÀÌÌŒmÛ¶éLß²e æææw¼^UY¾ä¼-Z´`Ñ¢EÄÅÅÝ—ý"CÕsyÇ:""‚îÝ»3mÚ4ÒÒÒ˜6mÝ»w'""¢Âú*@’´ÃÝJ4^þ:mÚ´æä‰¿9yâoZ¶lÁðÃ%}ùè IDAT>H|á‹ÕJ2>ùäÞ }“¡¯½†­­-&&&´lÙ’ï—ÿ_¨ÜÜ\6lØ@pp0~~~;vŒO?ý´Üù#""¨W¯K–,оÜgòäɸººbmmÍ Aƒ¸yó¦v~###ÿ—-[†æææ´jÕŠãÇë]¿ñãÇ—ZŸO?ý”÷Þ{OgZNN#GŽÄÎÎ;;;FENNŽÎv6 ÜÝÝ™?¾Îò%×Sß´â׌Œ¤iÓ¦„„„°qãFòòò$寅&OžÌœ9s3f æææŒ3†9sæ0yòä;þ„’”˜ 3ín%çÎçí·ÞÂÆÆÞ7ŽsçÎK|ø ±øP­$cï¾}×øÎ cìØ±xyyñÍ7ßлwo¢££Y¾|9]ºt)s™_ý•^xÅ‹ Àܹs‰ˆˆ ,,Œ˜˜LMM™8qb¹¯»gÏöìÙCBBÁÁÁŒ5JïzöîÝ›øøx<¨]>))‰ù¦M›Æ78}ú4§NâêÕ«LŸ>][>}út9wîáááìÞ½»Úû®K—.,_¾œK—.ÂW_}…§§'¡¡¡„……É;³Ùºu+C† Ñ™6dÈ;ºYV¹›‰F×®]Y¼x éé餥¥±hñbžyæ‰Ä# BGR¹”ä¤D‚¿o'¸O22n–ZÈÉÙ…˜kW+}1/7—uk×0ö­q–ÿ… FFFxzz²jÕ*Ú·o¯·N###/^ÌܹsÙ°a­ZµÒ–ùøøðÛo¿áëë @\\-[¶äÚµkÚeóóóµÿÇÅÅakk @VVvvvdgg—ûºùùù|÷ÝwüöÛolܸ‘矞޽{3lØ0º½¼¼Ø¹s'>>>·>Ýã™gžáÒ¥KÔ«W;wÒ AmyÓ¦MuÖ­øÿÛ_¿¼ò’öïßÏË/¿Ìµk×ôÎ'î½ã‘GiÙº]õþÿjÉ"zôì‰MºU"•)¯ª7nÐý¹ç¹zõ*lßþ.ÎÎ$>ˆ‡(>”—+Ä\»Ê·Ë–UïV[[[“pvvªÒrùùù”2ïÚµ‹\Mpp0¼ôÒ‹ôꌅ…y™ó/Xð9/½ô"þäæþÛ̃ŸŸŸn6e` 3OÉÿ-,̵ㆆ* tÊK7×æÐ¿?f̘ÁªU+ùûï¿ùé§µËÿ‹‹ÃÕÕE;îêêB\\œv<66gòÛ×­¬õÐWž™™ÉæÍ›Y½úGNžH|P|¨Öí’':v¬fÓŒþÎ.­[·bÁ‚œ={†¡C_cÆøúú2bÄvïÞ]ª#ËöíÛÙ¸q .Ô)svvæÌ™(nÞL×ééievˆ*ùe:W—óÆ£>|£G¿±±q©e¹té’v<::í¸“““Nyñ'˜âqµZMff–v<))©Üuß½{7#FŒ aC_6mÚÌðá¯söì,øœV­ZJgªZÔ±«OŸ>¬X±BgÚŠ+èÓ§Oµ;vékò¬éV €C‡ñθq:}2:$ñA⃠X|¨V’1aÂ-ZÄ?¬ %%…ÜÜ\"""òÚPý!D©\Ïhccc‚ƒƒY¿~ááGñ÷÷gâĉ¥vš««+Û·ÿ{wUÙ>pü;²ƒ²¯â†š æ®õVúVji¢–¥¾•Kæ¦æ¾©¯fjnYf–IVZše¾Ù^æ‚b‚(""+Û0s~˜ós”Dûs]ç‚™ç\#ñAâƒLµ,>”kàgYÝØ5bÔh¹mJ >.–¶í;‘‘‘^ô௨(†ÆúõŸÐªU«b—·á“‹Øu?“ø Dõweàgy)Š‚b4Ê+Hˆ›ÇD1ÇCËÀ@ìC«ÕÖŠãFâƒ5/>TíPT…2]º¢6œX‹£ÑhjÏ1#ñAˆªöJŠ!ÊDjU[H|¢ÆÅ‡*ÿ¸Ä(AD9$>Q“ãC•%jµ£QÞ©QÙïT #¦Z·ƒÄ!jf|¨’$C¥RáèèÈ…ógqqq•Wލõ||ýHJ¼R)ËJMI¦nÝz¨UêjÙ„¨¹ñ¡J’ FC`Ë–„íÛGÇŽpvqE­VÉ+Iˆ 0®&'q0ü­Û´AgaQ-÷Câƒ57>TI’¡Öhp÷ð$00Ñdfd`[Õ„¨ðÉÙÑÁ‘8;9aieU-÷Câƒ57>TÙ˜ NGÆ ñòò¢ À€¢H¢Â'h•­N‹¥•uµÞ‰BÔÌøP¥w—h´:¬µ:éy!„Ä!jC¢#M „Bˆ»¡J¯d  F¹MMˆJ¢R©ÐhÔ¨5Új¿/„¨yñ¡ÊÖ¬×ëI¸x‘˜èhRÓR¥÷…¨ µZƒ½Íš7ǧ~},ªéÝ%„¨¹ñ¡J’ £Á@rr‡èÚµ+õ4ªö_$Ľf08sê$»víB£Õàë[u5<®$>Qsヶªv6*ò0Ýœ Iï Q 4 ý›¡ÑêÛ³7W7¬llªe0”ø DÍŒU2ðSQÒÒRñõõ“žˆøû*Uå|á”·/éiè ªe[H|¢æÆ‡*“a4k×ÏV QÊl…b­öŸ“Õ÷»%$>Q3ãƒÜÂ*„BI2„BQ}TéͳŠRy?å¬Õj)¨¦ŸAWÖ~ÕÔ6¨MJ: Ðjµµ¦-äã’û/Ή¡®­˜÷»ÈÈHˆŒŒ”ÆÛDµŒJ2RRRhÙª5NÎ.Õªs*’ÁkµZZ¶lyG†©( r‹J Ý»w'>>žîÝ»Wj qrv1MwóØ[oÍ¥a£Æ4jÜ„yóæWø*EYŽ=EQ˜>}:ÎÎθ¸¸0sæL³z%•ÇÅÅÑ£Gìíí±··§GÄÅÅÝW'ûÂÖ!W'$>Üoñ¡BIÆ¢Eï0tè2Ÿ²L‰‰‰,_¾œ6mÚ˜=_žeUÆ`eeÅŽ;Ìžÿî»ï°¶¶®ðv•¥þ­ó¶iÓ†+V˜˜xOÚE¦²÷sQ}AÏž= !##ƒzöìIDDD‰Ë+MI¹šlšîV¢±!4”}aaìÛ»‡½{v³gï^6nü¼Bñ¡,ÇÞG}Ä_ýETT‡æÏ?ÿä“O>)uùÀéܹ3çÎãܹstèÐAƒÝ•ã¸*bŽØ>™$>T(Ɉ‹‹ã÷?þ`ô¨Q• òòòغu+AAA´hтdzxñâ"爈ÀÏÏU«V7¾ÜgæÌ™xzzbooÏàÁƒÉÊÊ2ͯÓéÌþ_»v-7ÆÚÚšvíÚUìöMš4éŽíY¼x1“'O6{.77—‘#Gâää„““£F"77×l?‡ŽƒƒÞÞÞ,]ºÔ¬þ­ÛYÜs7×É<@ß¾}ùæ›oÈÏÏ—”¿š9s& .dìØ±X[[3vìX.\ÈÌ™3+ü%åj²ùÕÈ»”hlÚ´™Y3gàî»;³fÎàËM_Vx¹¥=öBCC™7ožžžxzz2oÞ<6lØPêò'N0uêTqttdúôéœ8q¢TÇâ튋]»veóæÍfóŸ?___222øñÇiÕªÖÖÖ4nܘO>ùÄlÝ:îŽxv“^¯gÒ¤Ixxxàââ²eËJ?…ćʌåN2BÞ|“iÓ¦biiYiÎk¯½FýúõùðÃéׯgΜaýúõtëÖ­Ð:ÿûßÿèÕ«+W®$88€·ß~›ˆˆÂÃÃIHHÀÒÒ’éÓ§¹Þ]»v±k×.’““ bT ‰S¿~ýHJJ",,ÌT?%%…¾}ûš·QH—/_æøñãÄÄÄpáÂÞ|óMSù›o¾ÉÕ«W9yò$‡â?þ(wÛuëÖõë×söìYúöíËû￯¯/ÁÁÁ„‡‡Ë‘Ylß¾!C̯2„íÛ·Wj¹›‰Fll,­[·6=nÕª±±'*¼ÜÒ{111´mÛÖô¸M›6ÄÄÄ”ºüé§ŸfñâÅdddžžÎ;ï¼ÃSO=U¾XYL˜>}:óçÏÇhüÿï0˜?>ÁÁÁ8880tèPÞ|óMÒÒÒøý÷ßÙ¿¿)¸ù÷æÿ·›;w.111ׯ_Çæ–¯0¶µµåÚµk^ni½k×®™Å;;;³«™%•/]º”O?ýÔ4f#44”wß}×lEÜoW\xòÉ'±µµ5=Žç—_~aìØ±À‡®\¹Brr2¾¾¾¬]»¶ÔmµqãFSttt¼ãJiQñSH|¨Ôí-O¥Ù!o²øEeþÚS½^OAAÑæï¿ÿÎ_|NPP-[¶dРôé„u¡ó/[ö.ƒ $00€¼¼ÿÿ"!!-Z˜Í«R©Ìæ¹õkÓcFMAAYùíòòr0à9Þzë-6nüŒ#GŽðå—_˜êÜü›˜˜ˆ§§‡é±§§‰‰‰¦ÇW®\ÁÃÃݬüöm+l;Š+¿~ý:ß~û-ŸþÑÑÑôë×Áƒ»?âÞ)¬_Šº-­:ÝÎjccÃõë×±³³+ô¤^žøP–cÏÆÆ†ÔÔÓú333±µµ-uùСC8ðÓ»û•+W2dȾÿ~{™û¶¤80iÒ$fÏžMŸ>ÏÂøñ¯£Ñ¨ÉËËeãÆÏX´ho½õö,ZôO=Õ³TñáòåËfë-mü*S¹®dÄÄÄðt¯Þf#PKw9¥øÁ.íÛ·cÙ²eÄÅ`ذ¡lÝú þþþ¼úê«üñÇw dÙ¹s'ß|³åË—›•¹»»sâD,YY™¦)33£ÐAO·þ_šAQ7Ë,,,=z#F¼Ê˜1£±°°¸£®««+gÏž5=>sæ ...¦ÇnnnfågÏž5«¯Õj¹~=Ûô8%%¥Èmÿã?xõÕWiÒÄŸmÛ¾eĈWˆ‹;Á²eïÒ®][LUvõïߟÐÐP³çBCCéß¿¹vwɳ¸K¥åÕ¬Y3³+‚QQQ4kÖ´Bñ¡,Ç^óæÍ9tèÙ`¹æÍ›—º|ß¾}Lš4ÉtwɤI“Ø·o_¹V–žzª'„„¼É:t¨Ù€îÍ›7söì/^Bppp©c—»»;gΜ)rûŠŠŸ2I|¨ÌøP®$ãÖѧ7W^šP”Òh¶°° ((ˆ¯¿þŠC‡þ& €éÓ§ßÑhžžžìÜù6„²dÉRSÙ°aÃÇéÓ§ÑëõDGG3dÈJM2Ea„ ¤¦¦0~üøBËûõëÇ”)SIJJ"))‰É“§˜½ž}öY¦M›Nrr2IIIL™2Õ¬~@@+V¬ ;;›„„^ýõ"·}ÆŒÁW_m¦OŸ>¦à+Sõ "sæÌaöìÖ¬YCvv6kÖ¬aöìæÌ™S¡Ñã…’»‘`<ÿüþ»`!W®\áÊ•+üwÁB¾0°Bñ¡,ÇÞÀ™;w—.]âÒ¥KÌ;Áƒ•º¼Y³¦,]º”ôôtÒÓÓY²d‰Y¢( vvö¥ÚÖ’âÀÍ«+V¬`Ê”Éèt:SÙСC9~ü8ùùù(Š‘‚‚S™ƒƒqqqE®wР¼ñÆ$.^L ==©S§•*~Ê$ñ¡2ãCWÙÛÅÅ…±cDzwïÞB&wwwþ÷¿lÚ´‰E‹ý€ÆÓ¹s'zõê››;ǧW¯^•žd”T>{öl\]]hÕª5­ZµÆÃÃY³f™ÊgΜ££-Z´ S§Î<üðÃfõW­ZÉŽ;ðòòæ‰'žä‘G)rÛ÷ìÙØ1cpvv–ƒ´š‘–-[²mÛ7,X°77w,Xȶmߘ¾#¢"·¨Ý $7§»‘` yùe:uìH—‡¾1uîÌþ3¸R®d”¦|èÐ!tî܉:Ò¡CGºté‹/¾Xêò>úˆ={öâïï¿¿?aaûY·î£rʼn’•(h4j5jÄÀÍžê©§<ø?¸»{ÂG­5•Ì#<н½C¡ë:u*M›úÓ¥K[âíí]ªø)“ćʌªà1£”•«? 5åªYÁ¯?í$¨ÿ®]˪ðJòóòøjó&FŒ-·U ÄÇÅÒ¶}'22Ò‹œ'**Š¡C‡±~ý'´jÕªØåmøäcz?ó Žu«][Ô´øpýúuš4ñçÒ¥„R×8pýû÷çÙgûËÁ!ªU|(*WH¸xÖ®½¿]b4Ê+Hˆ›ÇD1ÇCËÀ@ìC«ÕÖŠã¦&ăÁ@è†PZµjUª}1|¶q#§OŸ¦oP‰¢ÆÅ‡ªŠªP¦K7BÔ†kq4Mí9fj@|pusÇßߟ>x¿Tûâä삯¯/Ÿ|¼•J%ñQÔ¸øPµW2_Y¢,A¤VµE ˆÉI‰eêÛ[?ó–ׂ¨‰ñ¡Ê?.1Ê$„‰„¨Éñ¡Ê’ µZÑ(W2„¨ìw*ƒFS­ÛAâƒ53>TI’¡R©pttäÂù³¸¸¸Ê+GÔz>¾~$%^©”e¥¦$S·n=Ô*uµl ‰BÔÜøP%I†F£!°eKÂöí£cÇN8»¸¢V«ä•$D W““8~€ÖmÚ ³°¨–û!ñAˆšª$ÉPk4¸{xÈáÈ2320È­ZBTøäìèàH‹€œœ°´²ª–û!ñAˆšªlL†N§£aÆxyyQP`@Q$ˆQá´JV§ÅÒʺZï‡Ä!jf|¨Ò»K4ZÖZô¼B⃵!Ñ)²@­Æ`0H !„âF£µZ]¾$ÃÎÞô´T¹¥L!„wÈÈHÇÎÞ¡|IF£Æþú;œ´ÔT¹¢!„BàÆŒ”«ÉÄD¡i³fÅÔ.rLF=§zø7mΙÓñd¤§c”ÑÞB!D­§V«±µ³£yó<<½ÈÍÍ-{’àìâ‚›‡u,êÔ®jB!D± yyyÅ~ÚQâÝ%†‚² ¤5…BQ&ji!„BH’!„BI2„B!I†B!„$B!„$C!„’d!„BH’aÆÉÙEzQ!„$C!„’d#11‘)S¦ò`›¶¸{xÒ¨q<ÿ¿üòkm¨›WLn¿r"WR„BˆJJ2._¾LžOáììÌwßnãÂùs ?ÀðaÃXûÑG5¶¡R®&›ýB!D%' ß~›—^|‘)S&ãëë‹N§£^½ztïþ$_µÙìþ¬!°e+œ]\‹|×ësNÎ.¬ÿôSZ?ØwO{¬+G££Måyùù¼Œ·/Íš?Àª÷Þ3[Vnn.cƾf*_¹j•Ùò óæÍ§iÓfxyûðʈ\»v­Øm>{îƒÿßú~xzz1àùç¹zõêW7䊆BQÁ$ã·_ã…ž/Õ¼‡"ñÇï¿q59©ÔËß»w/;ø§OÅóôÓO3aÂÄÿOp,$åj ‡##Øý×.vïÞmVwÁ‚…dffrøp${öìæÀþfåË–-çpTüñ;'bciiÉ[oͽs›ÿøÝ´Íƒ fÔ¨‘Ĉ%6ö87fÖ¬Ùw\Ý+B!„9Uð˜QÊÊÕšrµTÜÜ=H¸x­V[èÕˆ›'['g¢£âáîn6ßí'ã[Ÿsrv!þduëÖ ''¿ I¼r€€À–|¿ý;4hÀ©S§èб“©~@`Kvìø¿úõ8sæ íÚw0•·~° [¾þŠÆœœÌ¿y”Øã1¦õ‹>Šû-Û|»œœZ·~'b‹Ü'!„¢6K¸xÖ®-þ§Þ“’9{ú™<Þ½'NNõHNNÆÃãÐÄâVÅœ¬‹r3Á°²²¢à–Ÿ™OJJÂ×××ô¸þ?ÉÄ­å>ÞÞ¦Ç>>>få—/_¦c§ÎæY–Jeöøö#<ü oÍ}‹#GŽ’]h[ýúÓNyu !„¨±Ôj5¶vv4lØgW×bç-2ÉHMIåä‰XÄÝÝN@×®ÝØ´i3&Œ/ó†iµZrrr°²²º±ŽÔÔ2Õwuuåüùó¦+çÏŸ7+wqqáÂÅ‹¦+.\0¿ ãæÆO?î4KJ2løpæÍË¿ÿÝ ;;;®]»†_ƒ†EÎÔ€¼…BÔXF£‘«ÉIŽ<„…eìíÊždœŠ# °ž^Þäææ››ƒJ¥bÚÔ)ôèùz½žçŸ€——¹¹¹„‡‡—¸a-Z´à½÷VóÚkcIOOgÆÌ™eÚ±þýú1kÖlV¬\ŠÂŒæõûõëËìÙ!,_¶ À4v⦡C†0aÂD¾½ooââNòî²wYWÌ]1¹¹¹XZÖ¡Ž¥%çΟgþüùfåÄÇÇ›>‚¹v-K^B!j4k[ròÄ :têŒÁ`(üªGQ ÈÊÌÀÕÍœœ ƒé#~úq'.òÔÓ½ðòöáÁ6mY·îc¶nùºØZ¾|?üð~ Òó©§ù׿þU¦š1c:ŽŽ´jÕš‡þ=üyùôéØÚØÐ²U+º<ôíÚµ3]xýõqtêÔ‘¾}ûáíãË«#GòôSO»Î•+–3kÖl|||éÓ'ˆŽ:š•¿6v,Ýþý¸Ü]"„¢V±µ³'#= ‹:–EÎSäÀÏ_ÚIßgŸ'33£Ø1÷³“'Oòü /q輄BˆJöëO; ê?àŽ«ø7~{ «¢(Õ.Á˜9kééé$%%1{vO=õ”¼ „Bˆ{ Æýv‰¯/:v¤]û8880}Ú4ée!„âÐÖ´9òUFŽ|UzV!„¸ÇäWX…B!I†B!$ÉB!„$B!„•¯J~  FE‘–¢¨T*45jMõÃ-ñAˆšªlÍz½ž„‹‰‰Ž&5-Uz_ˆ R«Õ8Ø;Ьys|ê×Ç¢Úî‹Ä!jf|¨’$Ãh0œœDDÄ!ºvíJýÐh4ò*¢ gNd×®]h´|}룮†Ç•Ä!jn|ÐVÕÎFE¦ÛãÓ A#é}!*F£¡±34Za{öàæê†•Mµ †„¨™ñ¡J~*ŠBZZ*¾¾~ÒóB¨´¯ì÷öñ%=# }AAµl ‰BÔÜøPec2ŒF#Fu qÛ ¶Â±VûÏ€Icµm‰BÔÌø ·° !„B’ !„BTUzó¬¢(r9TˆÛމâ ÕjkM[H|¨Äà®ÕRPMÇ鈚äJ†÷©ÈÈHˆŒŒ”ÆBTËøPî$#îäI^2”ÆMüñðôâñÇŸ`ûöíμ[¶lyGö¦( f›¢(LŸ>ggg\\\˜9s¦Y½;wÒµkWlllpuueРA$$$˜­ëö©¬®^½Jƒ ÊIU¿,íPXÞœyòÉ'‰‰‰¹c¾%K–P§N–,YR¡~w/€tïÞøøxºwï^©ÄÉÙÅ4Ý-§N¢ÿ³Ïáíã‹·/ýŸ}ŽS§NÝ7ñá§Ÿ~â‰'žÀÖÖWWW^zé%’’’ŠõêÕ+Ó¶jµZt:õêÕ£m۶̘1ƒäädyq—¡ EõêòÓñè£~`?gÏœfÑ¢·ùfÛ·¥ºüSÔ`eeÅŽ;Ìžÿî»ï°¶¶6«ÿÑGñ×_ÅáÇùóÏ?ùä“OLåK—.eܸq\”ÌW‚ IDAT¼x‘øøxxþùçÍÖ¥×ëͦⶭ°iΜ9Œ9²Äý*ký²´CamxsΞ=Ë£>Ê‹/¾h6Á``Íš5,]º”?üƒÁPië—©tSqÇCDD={ö$$$„ŒŒ BBBèÙ³'%.¯4$åj²iº[‰Æðá¯Ð¡C{ŽEåXôQÚ¶mÃ+¯Œ¸oâòe˘8q"—/_æèÑ£ØÛÛ3xð`Sùí±aÉ’%¼òÊ+eê_½^O~~>çÏŸgݺudggÓ¶m[Ξ=[e¯±ê~ŒH|¨þñ¡\IÆ;ï¼Ã¸àq :”zõêQ§NÚ¶m˧ë?©ðMš4‰Å‹›=·xñb&Ožlö\hh(óæÍÃÓÓOOOæÍ›Ç† Lå¿üò AAA8::bggÇøñã9|øp©¶aìØ±fËøôÓO;v¬éqll,?ÿü3¯¿þz¡ËÐétÅ®£¤ú¥m‡â888ðÆopüøq³çüñGêÖ­ËØ±cqrrâ§Ÿ~º+ëå3sæL.\ÈØ±c±¶¶fìØ±,\¸™3gVøJÊUówÒw+ш;y’ñãÇãààpãu8q"q'OÞ7ñaçÎôèÑÃt%cÑ¢EìÛ·¯ÐuæççóÞ{ï1nܸ2ã7ÙØØÐºuk–-[ÆÐ¡CyóÍ7Meƒ™3gâééiJt²²²HMMÅÃô´4³e¥¦¦âååEZZZ‘u “››ËÈ‘#qrrÂÉɉQ£F‘››k¶/K–,ÁËË ^yåòòòÌÊ?üðCš4i‚ ­ZµbïÞ½„††Ò¼ys¬­­i×®ÑÑÑ%îÛ­Ë\»v-76ÕŠŠ2k[NWêv–øpƇr%íÞMPPÐ]iÀ~ýú‘””DXX»ví"%%…¾}ûšÍCÛ¶mMÛ´iSèÇׯ_gÕªUtëÖÍìy777¬­­yàX´hƒ€eË–±aþþúk¾úê+BCCY¾|¹©î”)S˜3g–––åÚÏ’ê—¶Š“‘‘Á’%KhÕª•ÙókÖ¬1%L£Gæƒ>¸+ëå³}ûv† böÜ!C*ôqdaän&Ý»?ÉÊ+ÉÌÌ$##ƒå+Vðä“OÜ—ñà×_¥S§N…–mܸ‘G}//¯ oÿ°aÃøí·ßLß~ûm"""'!!KKK¦OŸN½zõèׯëÖ­3«¿nÝ:^xáêÖ­[dÝ„„„pùòeŽ?NLL .\0KvvïÞMdd$'Ož$))‰9s昕ÿöÛoüþûï$''3pà@z÷îÍÎ;ùù矹zõ*Ï>û,£F*qßnµk×.víÚErr2AAA¦úz½Þ쪬¨Æñ!xÌ(EQ%åj²Ù´ùóP%/7÷ŽçS®&+Z­VI¼r¹Ð²Â¦Ë •ï.Q ƒ¢×닜E¯×+|ðÒ»woE¯×+O>ù¤²fͳr½^¯¨Õj%//Ïô8//OÑh4….P\]]•ØØØ;Êsss•ˆˆå±ÇSÆgzþâÅ‹ŠŸŸŸ2eÊÅÏÏO¹xñ¢©lçÎJûöí•üüü;¶«4SIõËÒEíïÍÉÃÃC‰7•ÇÅÅ)...JVV–¢×땬¬,ÅÅÅE9yòd¥¬_¦ÒM‡‡)Š¢TÚòV¼»D9Wä1{Œ–T^Ö)úèÅÇÇÇô:ôññQŽE½ïâƒ^¯WþþûoÅÏÏO‰‰‰¹£,//OiÒ¤‰rôèÑ2õGQÇHvv¶¢ÓéLëׯ¯;vÌ,¹)z½^‰ŽŽV|}}•œœE¯×+999Jýúõ•S§N•X÷ömðôôTŽ?nz£xyy™Í{k|<~ü¸âíímV~åÊÓ㌌ŒBŸÓjµ¥Ú·›ËLLL,²~mŽ3Õ)>•+9¡¥”kdM½zõ¸z5ww·2ÕÓëõŸ•æåå2`Às¼õÖ[lÜøGŽáË/¿ //×T~ódjj vvvdffbkkk*¿éÚµ,²²²X½ú}† ÆÏ?ßùÑ€¿>þxmÚ´eÁ‚ÿàèèÀÀ/°páÛ,Xð_LËž4iË—/#??Ïl»ËrÉ·¤ú¥m‡Â\»–…¢(œ={–Ñ£Çnê«Õ«W“œœlj·›V¯~ùóçWÊúEéÖŽEÝ–VngûZ0Ï??€1£Gßx}½ÿ>cƾÆ7[·ÜWña÷îݼúêH>ûì3|}}î(ߺu+Mš4¦A¿2¿æ ›ÿÂ… 899™ÊhÑ¢…Ù<*•м¼\üüêÓ¬Y3¾új3ýû÷gË–-tìØ77Wòòr‹­{û6$&&âééazìééAbb¢Ù¼î¦Çî\¹rŬÜÖÖÆôX£Qú\AAA©öíÿ?J².²¾Ä™šÊõqÉ#ÿúW9/Í”n ……£GbĈW3f4w jÞ¼9‡2 Ó¼yóB—kkk˸qÁfóß>©T*ŒF£éñ‘#G ýŒ/¾øœ÷Þ[Í©S§LeÇŽã‰'žÄÖÖ[[»6»Rê)©~YÚ¡¨6ðóócݺ˜0aYYYäääðùçŸsìX4YY™¦):ú(7~NNNN…×/SÅvõïߟÐÐP³çBCCéß¿¹vwɳ¸K¥åµ?,Œ‰'šÉØÿÏG÷K|زe Æ gãÆ´mÛ¦Ðu.]ú.&L¨´A‹Ÿ~º®]3=vwwçĉX³ã133ÃT>fÌV¯~EQX½ú}Æ .uÝ[·ÁÕÕÕlÀé™3gpqq1›÷ÖòsçÎáêêZìþ”ô\Y¶¯°çjsœ©Iñ¡\IÆ”)SX±b6„’––F^^ :¬ø¢Pês„ ¤¦¦0~üøBËÈܹó¸té—.]bîÜy <ÈT>bÄ«ÄÆÆ¢×ë¹rå sçΣC‡ö¦ò¡C‡rìØ1ôz=§OŸfԨѡ( ׯ_gĈWY·î#zõêŲeïòÒK/‘¢(dff˜M7Þ)e˜í‹}‘ûYRý²´CI¾§§';wb󿝨²e íÚµÃÇÇÇl___|ðA¶nÝZáõËTñ 2gÎfÏaÍš5dgg³fÍfÏaΜ9=^X ¹ @Ó¦MY¾|9dddðî²e4kÞü¾‰«V­bÖ¬Ùlßþ>غÐõýôÓOXYYѱcÇBË‹;ÆoÝ–ììlŽbÊ”©„††šn§U…aÆ<ŽÓ§O£×뉎ŽfÈ!¦ònݺ’••Ň~ˆ­­éÞÒÔ½uúõëÇ”)SIJJ"))‰É“§˜”¦M›Nrr2ÉÉÉL:çž{®BIFY¶¯°çˆ‹‹“øPÍãC¹®­4jÔmÛ¾aþðÖܹäääТE Æ¿Vªw*ÅšÒ•:„³gÏСCÇ5ݪ гg† ʉ'¨[·.O<ñ8ëׯ7•÷îÝ›áÃ_áĉ¸ººÐ·o_fÏ1°‘#_¥K—.(ŠB=8uê4o¼ñ«W¯.õv—åÖ¡Âîý/o;Ý^öòË/3gÎ[¨ÕjfΜQhÝáÇóÎ;ï0pàÀ ¯_Pî~hÙ²%Û¶}CŸ>ALž<…ºuëòÝwßúeu{ ¹ À‡®aò”©¬\¹ €öíÛ³öÃ5÷M|˜1cæ?ÛÕÁ¬þ¥K ØüósØK—.åõ×_/Ó±v+{{T*ÖÖÖ4hЀÇÿ7»wÿeº‚0aÂx–/_N¯^½¹rå Mš4fòäÉfË=z4ãÇgëÖ-fÏ—¦îÍÿgÏžÍäÉ“hÕª5}û1kÖ,³y;uêDÇŽ¸ví}û1cÆôB—UÚ¸W–í+¬þ¸qÁ<òÈ£\¿~ŒŒt‰Õ4>¨‚ÇŒRV®þ€Ô”«f¿þ´“ þ¸v-«Â+ÉÏËã«Í›1j4ùùùrfµ^|\,mÛw*6xFEE1tè0Ö¯ÿäŽ;„n·á“éýÌ388Ö­vm!ñáÞst¬Kzzš4„ć2+*WH¸xÖ®½¿]b4Ê+Hˆ›ÇD1ÇCËÀ@ìC«ÕÖŠãFâÃýûZÊ«j‡¢*r™]ˆÛO¬ÅÑh4µç˜‘øp_¿…ćû>ÉP_YB»Ä‡ûMÊÕdi{‰5 ÉPŒòBÂDމBÔäøPeI†Z­Æh”w*BTö;ƒÁˆF£©Öí ñAˆšª$ÉP©T8::ráüY\\\å•#j=_?’¯TʲRS’©[·j•ºZ¶…Ä!jn|¨’$C£Ñز%aûöѱc'œ]\Q«UòJ¢ŒF…«ÉI ?@ë6mÐYXTËýø DÍU’d¨5Ü=< äpd™äv)!*|rvtp¤E@ÎNNXZYUËýø DÍU6&C§ÓѰaC¼¼¼((0 (D„¨ð Z¥F«Óbie]­÷Câƒ53>TéÝ%­k­Nz^!ñAˆÚèH!„B’ !„BTÿ$C­Vc0¤…„Bq£ÑˆZ­._’agï@zZª|9ŽB!î‘‘Ž½Cù’ŒFý9ôw8i©©rEC!„À+)W“‰‰>BÓfÍŠ½å¼È»Kê9ÕÿisΜŽ'#=£Ü·.„BÔzjµ[;;š7ÀÃÓ‹ÜÜܲ'Î..¸yxPÇ¢NíúÉi!„BË`0——Wì§%~O†¡ €ì‚iM!„B”‰ÜÂ*„BI2„B!I†B!$ÉB!„$C!„ÕÄw—‰–VB!D™5  ø$£S—I+ !„¢Ì2ÒÓŠO2nŸA!„¢ R©èØ †¯~9Œ»K=|n›G~ !jW’¤§§QßÏOã>ãíëKzF:†‚Bû-/_ϼ¤¡î3-ý½ÉÉ×SØ0I2„µ+ÉP ƒ|DrÒét ”BÎV7Ÿ“Hî?ZmÑ©„|\"„¨Õ G¬…¤øOI>ó9y×NSǶ!. ãÚx ªÄ:µ§_¹³¤ú$ ÒBqw ¹ÄþѵFGýçaåДœŒœý{Ñ{æºó’“ɺ–€­®n.X§|…»û5ê·ùÿ:.äêÙ¯hÖuj¥4®$C!j³„£ À˜GÃΫ‰ß÷*™I{I?Ö”õ'°{êIšLö§SLJ°²´ ''›¤ä$N~­!ñÇp. ›†c‹pì]¢q—µÄï}…„£ ði=WWH’!„µYòéÏhÖuña#±w}„3Ÿ{q}ï:/Y‚‡·7oŒF#†:Ö©S_Ÿú46‚„Gº9>†Gà=¡ña#ñkÿ.±ô•$£”._¾Dèg¡\»žE×ÇþM·®ÝŠ?òp_nú;[; x¦þM¥+H~ !j%EQîú”wý6uÈN;Jä²Xòããéþù¸ef¢Ÿ7ÃÙsfã EÁxþ<ú ¡¸O„†’{â‘ËbÉN;ŠMÝò®_¨ðvi4Óÿþù'~~~fÏÝË©2ûí‡?àìâD@@¿üú[¶~]ä¼aûÃøtÃz|ðAêׯÏgŸm¸kûXR[—·/âããyøá‡±²²¢]»vÄÇÇßó~“$C!î’:6>\O‹&5ª 9»÷ÓíÝwQïÙƒáë-˜ˆzçN4 Z­­V‹F£Eó㨢¢0îÞƒ&:šn‹“½k/©QM¸žMŸrmËíß;qÓ´iÓX¹r%5®ý3331dddÈ߇þfë7[î˜oÿýlÚü;v$++FƒÎÂâ¾Ø‡¢ú­0cÆŒáÉ'Ÿ$%%…ðÆoÈ• !„¨©\¾Èé°‰\]Šv³CÐ8€²ãšŠ¦IRþÜÅ/óæóñúu|¼~¿ÎŸGêÞ}h›7G‹r ml,m§Ï å“xN‡Mĥዥ> ÝZVTqôèQzôèQ#Û¿¿g‰ŠŠ¢ŽE‰F@:h–hìßƦÍ_СC²23±±±%ü`8AϹ܌Œ &NœHãÆ±´´ÄÅÅ…~ýúñûï¿Wú>”%ùÛ»w/ãÆÃÊÊŠN:±{÷î{Ÿ$IBÔF¥½<_-¦÷ V×ÅÝÓ“‚w6BRN]J öÔiü‡ ¥çÓ½ˆÝñ=û?^OóšÓ¨iS ŽŨRáñŸÁX>ÑÄ=Íž˜vÇv·E•Ý|>77­V[mn -K¿y{{3.x<+W-§M›¶¤g¤ó@ó8øw8Š¢àåéÅ—›¿ }»öd¤§ckgÏþýûøÂ`[¹žÒ°aC~þùg|}}IMMåÏ?ÿdþüùtíÚµÔûQ‘òÂäææbooÏ’%KøþûïY»ví=ïW¹’!„w+Àj,ɱˆÈ ;Á²¥¨^üWóòˆ=s–îGŽÐ²o?,,,°°° e¿þt?r„ã±'HÉÍE=h L±};OšBžË‹å¾}U§ÓùœN§3ýo0˜9s&žžžØÛÛ3xð`²²²ªm4nÔ˜qÁ㉈8„…EÒ3ÒhÖ´áðù—ió`22Ó±²²æ`x8_L§ŽŠ]æŸþÉÂ… iРž{î9~ûí7ÓŒàà`N:…^¯'::š—_rß$åé·°ýalþz3 üüHÏHÇÊÒšØØXŽÇÆ¢ÕjÉÌÌÂ×LJ½ûöòíwß–¸¼=z²uëV)((àÂ… „„„о}{Ó<ƒ bÒ¤É\¼x‘´´4¦NZá$£¤¾¹u^£ÑHXXîîîwÔ?}út‰õ%ÉBˆ ]ɸû'LCAV)97÷MT+Vaèÿ,K—âåàH“ÿï]:sì»oÉÏÏ'??ŸcÛ¿ã×.i:é <œÑ¯XޱOÔï¾Ë¹iS°¹¶ CAÎ]M2&L˜@§NéÝû\]Ý6l8½zõª–ßø©( ûܸ‚áë[ŸŒÌ êÔ±äÔéS xî‚ÇsæÌtZ-YYYx{{³wßn¾Û^|¢1uê¶lÙJ»víprræñÇŸàúõl6løÔ4Ï´iSñ÷÷§sç.´lÙooï '%õÍÍyíììqppdÊ”©¬\¹òŽúO?Ý«Øú•™d¨‚ÇŒRV®þ€Ô”«u„5^~^_mÞĈQcþq÷$Æü—œ«áļ|”.íÚᘛ‹19uóæX¼:‚+׳9vâ8glhœS@ÀÃÿÂÕÁžÜÕïcüí7Tõê‘®ÓvälÄʹn̬±ýóéÇëèýÌ388Ö5{þèÅ|¶þ´EÁO—ºßNœˆcíº5x{{“µµ .\à¹þÏҮݫgÏeíGâåéE¾>Ë:V$\ºDÏ=èúX79`JiÖš_èß½ Þ7¾)5áâ>Z»V~ !jíµŒ»þEEiç¿äÇ¥‘ÁZû7]ÿý8ªÜ\ŒÇ“·ê=\gÎÄ«w¯ƒªnüXÚ™Óä,^Œ²w*[[WWíúÇ‘ÍiØù]b~ëƒkó8Þv".JzzZ­ì·?þü ²2³°¶±âÂ…sôèþõëû‘˜˜ˆ¢(ØXÛ0à¹Ø´ù <<<¸výîîîüúÛ¯<öh×rmaqýR³ú¢d’d!jgŠ¡pד }N6u¨×ê$º>̾}{éÒå!Ô‰‰ÏžÅàì„1/P™N F%l?jgg Î΄ØÒí_Ôk†MÝô9 ¦íNKK-å¾*µ²ßIJJDgQ‡‹èÖõßøúø’œœLAAŠrcP­µ•½{õá»íÛpuu%''§zÎån·âú¥&õ…$BQÌ;bîrÀ×Yyq=-ëºø÷àdnkþøõWÚ¶kGÝçžw7ŒF£i3T*ÀÅMÿ~¤îÝGÄ®]ätéL“áX©¹žÎÊë®owMé·'ŸèŽ^¯'11‘>½ŸÁÓÓ›¼Ü\òòòÈÏËÃ`0ba¡C1*¸:;3pÀ@"G‚bä™Þ}jy;K’!„zK|·ßU:x àìÁ‰4~hñû^ÅoÀ^Ò[t`ïÚp¬­tøžŠÇÕÕ kk²s®“””ÄùȿɎ8„븵ø+ÕC4î¼–ø½¯àà5 Ö½.o¿9ØÛó\ÿçÈÍÍ%//ŸüüÔB!D¥û?gŒåm^Ë´ÆIEND®B`‚KCemu-0.5.1/doc/kcemurc.sample0000644000175000017500000002630212417262523016355 0ustar glaubitzglaubitz# # KCemu -- the KC 85/3 and KC 85/4 Emulator # Copyright (C) 1997-1998 Torsten Paul # # $Id: kcemurc.sample,v 1.5 2002/10/31 16:40:01 torsten_paul Exp $ # # # KCemu Konfigurationsdatei ($HOME/.kcemurc) # ############################################################################## # # Tape File, das beim Starten des Emulators ausgewählt wird. # # Befindet sich die Datei im Datenverzeichnis des Emulators # (Wenn nicht anders angegeben ist das /usr/local/share/KCemu) # reicht der Dateiname, ansonsten muß ein absoluter Dateiname # angegeben werden, also einer, der mit einem / beginnt # (z.B. /home/tp/kc/Tape.kct) # # Werte: # Tape File: files.kct ############################################################################## # # Liste von Tape Files, die im Tape Fenster direkt auswählbar sind # (sozusagen Tape File Bookmarks :) # # Die Zahlen müssen in Hex angegeben werden, sprich nach der 00000009 # kommt erstmal 0000000A. # # Werte: # Tape File List_00000000: /home/tp/projects/KCemu/PRG/files.kct Tape File List_00000001: /home/tp/projects/KCemu/PRG/test.kct Tape File List_00000002: /home/tp/projects/KCemu/PRG/wordpro.kct Tape File List_00000003: /home/tp/projects/KCemu/PRG/kc87.kct Tape File List_00000004: /home/tp/projects/KCemu/PRG/basic.kct Tape File List_00000005: /home/tp/projects/KCemu-TMP/z9001/z9001-b.kct Tape File List_00000006: /home/tp/projects/KCemu-TMP/z9001/z9001-c.kct Tape File List_00000007: /tmp/x.kct ############################################################################## # # KC-Modell, welches emuliert wird, wenn nichts explizit auf der # Kommandozeile angegeben wurde. # Es kann sowohl die Nummer als auch der Name angegeben werden, # wobei über die Namen auch spezielle Varianten eines KC-Modells # zur Emulation gewählt werden können. Über die Nummer wird die # Variante gewählt, die mit einem * gekennzeichnet ist (Der Stern # gehört dabei natürlich _nicht_ zum Namen der Variante). # # Die aktuelle Liste kann mit dem Aufruf 'kcemu -v' ausgegeben werden. # # Werte: 0 = z1013*, z1013.01, z1013.12, z1013.16, z1013.64, # z1013.a2, z1013.rb, z1013.surl, z1013.bl4 # 1 = z9001, z9001.10, z9001.11, kc85/1* # 2 = hc900, hc-900, kc85/2* # 3 = kc85/3* # 4 = kc85/4* # 7= kc87, kc87.10, kc87.11*, kc87.20, kc87.21 # 8 = lc80* # 9 = bic, k1505, a5105* # # Default ist bei unbekannten Werten kc85/4. # Default KC Model: 4 ############################################################################## # # Skalierung des Fensters, in dem der Emulator läuft. Erlaubte Werte # sind 1, 2 und 3. # Display Scale: 1 ############################################################################## # # Anzeige mit Screen-Effekten bei vergrößerter Darstellung # (Scanline-Effekt bei doppelter Größe und Antialiasing bei # dreifacher Größe) # # Werte: 0 = aus # 1 = an # Display Effect: 1 ############################################################################## # # Emulation des Bildschirmflimmerns beim Zugriff auf den Bildwiederhol- # speicher beim KC 85/2 und KC 85/3. # # Achtung: Das Einschalten dieses Effektes bremst die Emulation erheblich, # insbesondere bei vergrößerter Darstellung! # # Werte: 0 = aus # 1 = an # IRM Memory Access: 1 ############################################################################## # # Debugging für die Grafik-Darstellung ein-/ausschalten # (funktioniert nur ohne Skalierung!) # # Werte: 0 = aus # 1 = an # Display Debug: 0 ############################################################################## # # Einschalten der Emulation des V24-Moduls über die serielle # Schnittstelle (Die Emulation ist nicht vollständig und ziemlich # fehlerbehaftet, daher sollte diese Option normalerweise auf # "aus" stehen) # # Werte: 0 = aus # 1 = an # Enable V24-Module: 0 ############################################################################## # # Device, das von der Emulation des V24-Moduls benutzt wird # # Werte: /dev/ttyS0 = 1. serielle Schnittstelle # /dev/ttyS1 = 2. serielle Schnittstelle # ... # FIFO = benutzt Fifo im /tmp Verzeichnis # SOCKET = benutzt Socket im /tmp Verzeichnis # V24-Device: /dev/ttyS0 ############################################################################## # # Geschwindigkeit für die serielle Schnittstelle # # Werte: 9600 # 19200 # V24-Baudrate: 19200 ############################################################################## # # Joystick Device # # Wird hier kein Device angegeben werden die folgenden Gerätedateien # auf Verfügbarkeit geprüft und die erste lesbare ausgewählt: # # /dev/input/js0 # /dev/input/js1 # /dev/input/js2 # /dev/input/js3 # /dev/js0 # /dev/js1 # /dev/js2 # /dev/js3 # #Joystick Device: /dev/input/js0 ############################################################################## # # Module, die beim Start des Emulators eingelegt sein sollen # # Die Zahlen müssen in Hex angegeben werden, sprich nach der 00000009 # kommt erstmal 0000000A. # # Werte: (kc85/2-4) # M001 Digital I/O # M003 V24-Modul # M006 Basic-Modul für KC85/2 (Einsprung mit JUMP x) # M008 Joystick Modul # M011 64k RAM # M012 Texor # M022 Expander RAM (16k) # M026 Forth # M027 Development # M032 256k Segmented RAM # M034 512k Segmented RAM # M035 1M Segmented RAM # M035x4 4M RAM # M036 128k Segmented RAM # M900 WordPro '86 (KC85/3) # M901 WordPro '86 (KC85/4) # # (kc85/1, kc87) # RAM4 RAM Modul (16k/4000h) für KC85/1 # RAM8 RAM Modul (16k/8000h) für KC85/1 # IRMX IRM Color Expansion für KC85/1, KC87 # BASIC BASIC Modul # PLOTTER Plotter Modul # ZM30 ROM Modul mit Zusatzmonitor # EDAS ROM Modul mit Editor/Assembler # IDAS ROM Modul mit Interpretativen Dialogassembler # BITEX ROM Modul mit Textverarbeitung # ZSID ROM Modul mit Zusatzmonitor # R80 ROM Modul mit Reassembler # XY4131 Plotter-Emulation (noch unvollständig!) # CPM-Z9-BOOT ROM Modul mit CP/M Bootlader # CPM-Z9-FLOPPY Floppy-Modul für Z9001 CP/M # CPM-Z9-RAM64 RAM Modul für Z9001 CP/M # # (z1013) # RAMFLOPPY 256k RAM Floppy (max. 2 Module gleichzeitig) # FDC_SCHNEIDER Floppy Modul für Z1013 CP/M # FDC_KRAMER # GDC Modul mit Graphic Chip für 80x25 Zeichen # RTC20 Uhr-Modul (Ports 20h-2fh) # RTC70 Uhr-Modul (Ports 70h-7fh) # # (lc80) # RAM2400 RAM Modul 2400h-27ffh # RAM2800 RAM Modul 2800h-2fffh # RAM3000 RAM Modul 3000h-3fffh # RAM4000 RAM Modul 4000h-7fffh # RAM8000 RAM Modul 8000h-ffffh # #Module_00000000: M011 #Module_00000001: M011 ############################################################################## # # Selbst definierbare ROM-Module # (zur Zeit nur ROM-Module KC85/2-5, Groesse 1k bis max. 16k in 1k Schritten) # # Kürzel für den Modul, kann beim Start des Emulators als Wert für den # Parameter -M übergeben werden # Custom ROM Module_00000000: CAOS24 # Name des Moduls der in der Modul-Liste angezeigt wird (optional, # wenn nicht gesetzt wird das Kürzel benutzt) # Custom ROM Module (Name)_00000000: CAOS 2.4 # Strukturbyte des Moduls (optional, default is 0xfb) # Custom ROM Module (Id)_00000000: 0xfb # Größe des Moduls (optional, default ist 8k, es können Werte zwischen # 1k und 16k in Schritten von 1k angegeben werden) # Custom ROM Module (Size)_00000000: 0x4000 # Filename mit dem Inhalt des ROM-Moduls # Custom ROM Module (File)_00000000: /tmp/roms/caos24.rom ############################################################################## # # (relativ) exakte Unterstützung des Blinkes # # Wird zur Zeit nur für KC85/4 unterstützt und benötigt relativ viel # Rechenleistung, z.B. bei Digger, zeigt aber dafür das Farbscrolling # in den Diamanten... # # Werte: 0 = aus # 1 = an # Full Flash Support: 1 ############################################################################## # # Finetuning für den Farbscroll-Effekt # # Werte: Default ist 50 # Flash Offset: 50 ############################################################################## # # Anzahl der zu überspringenden Frames bei der Anzeige (für langsame # Rechner) # # Werte: 0 = alle Frames anzeigen # 1 = jedes 2. Frame anzeigen # 2 = jedes 3. Frame anzeigen # ... # Frame Skip: 0 ############################################################################## # # Aktivierung der Emulation des Floppy Disk Systems # # Werte: 0 = aus # 1 = an # Floppy Disk Basis: 1 # Einschalten des 2. Floppy ROMs auf der Moduladresse F8 # Die Versionen der jeweiligen ROMs auf Adresse F8 und FC # ist abhängig von der Version des emulierten KCs. # #Enable Second Floppy ROM: 1 # Tauschen der Floppy ROMs der Adressen F8 und FC # # Default (sprich ohne Tausch) der Modul-Versionen ist: # # KC85/2 KC85/3 KC85/4 KC85/5 # Adresse FC V2.0 V2.0 V2.0 V3.1 # Adresse F8 V3.1 V3.1 V3.1 V2.0 # # Das Tauschen der Versionen funktioniert auch wenn der # Modul auf F8 nicht aktiviert ist. Dann wird lediglich # die Version des FC Moduls modifiziert. # # Ok, ok. Die komplizierte Logik kommt nur daher, daß # sich das so am leichtesten einbauen ließ. Eine schönere # Variante gibt's vielleicht später mal ;-). # #Swap Floppy ROMs: 1 ############################################################################## # # In den emulierten Diskettenlaufwerken eingelegte Disketten # Das Floppy-System unterstützt maximal 4 Diskettenlaufwerke. # # Werte: # Floppy Disk 1: /home/tp/projects/KCemu/DISK/microdos.dump Floppy Disk 2: /home/tp/projects/KCemu/DISK/caos.dump ############################################################################## # # Definition der Image-Files für die GIDE-Emulation. Falls die # Dateien nicht existieren werden sie beim Schreibzugriff erzeugt. # Dabei ist zu beachten, daß der Directory-Bereich mit e5h initialisiert # werden muß damit das Anlegen von Dateien funktioniert. # # Als Festplatten sind zur Zeit festgelegt: # # Master: Seagate ST-157A (42MB), C/H/S = 560/6/26 # Slave: MyZ80 Hard Disk Emulation (8MB), C/H/S = 128/1/32 # # Um mit MyZ80 Files kompatibel zu sein, erfolgt im Augenblick der Zugriff # auf die Image-Dateien immer mit einem Offset von 0x100, d.h. die ersten # 256 Bytes werden nicht benutzt. # Hard Disk 0: /tmp/hd0.img Hard Disk 1: /tmp/hd1.img ############################################################################## # # Anzahl der zu emulierenden Bus-Treiber-Aufsätze # (es werden maximal 4 Aufsätze emuliert) # # Werte: 0 - 4 # Busdrivers: 1 ############################################################################## # # Soundunterstützung # (funktioniert noch nicht - sollte ausgeschaltet sein!) # # Werte: 0 = aus # 1 = an # Enable Sound: 0 ############################################################################## # # Farbeinstellung # (entspricht den Werten im Konfigurations-Menü * 100) # Foreground Saturation: 55 Foreground Brightness: 85 Background Saturation: 50 Background Brightness: 60 Black Value: 10 White Value: 90 ############################################################################## # # Laden eines Programmes beim Start des Emulators # (Nur zum debuggen - funktioniert nur mit gepatchtem System-ROM, # da der normale System-ROM beim Power-On-Reset den Speicher komplett # löscht!) # Load On Init: /home/tp/projects/KCemu/test/a.out KCemu-0.5.1/doc/sys-a5105.jpg0000644000175000017500000002725412417262523015601 0ustar glaubitzglaubitzÿØÿàJFIFHHÿÛC  !"$"$ÿÛCÿÀ,á"ÿÄÿÄT !1A"Qa‘2q’¡±Ñ#BRS‚Áá3br“$45CTƒ¢²%DFc”ÂÒð&EUñs„£³âÿÄÿÄ(!1Q"2Aa3ðq#ÿÚ ?Õ¢su ž²¥Jç³j%äð;m7C☄4ÊnOÖ›i+`•ðQQ ñ°ÌÖ {ÿÜ õ’ŒsÿÜ)ýe“é æÙI½ …Ì?ìµVƒ[8x˜ü†ÄcXQá_®œ1|0ÿ¯Aë……y‡èÝX>kþ*2ií®ÏW qè~ixØy ÿʘyáW®¾Q£<*¡?|/;sèíýZ-Çæÿ4ÌÔðšÑýßæŒfHñêc¦/\' ˜ ¢õ‚óLØg<6´v“6<ªZÆÿvŒXdzfþ¦ùž°K½ŒÿXÏYy‰vÊ:Á÷ Pü8&¨µÁÀ'L2=89Žàà|Å:Ú/7u&PTíåsIƒá‘[%-ó0'd9£ÇÏ„±›H¡i¿&ÁpSGµþêÍÒÔØýX^½¶*& fw#¡§§)™Ü«yWG… Âd‚Ûªð?úNüS†-á4p®+þ ßአ-NÎå;!ˆ¸`º­Aåü'á+ß/†°g¹=ˆíW„(oG;ÇíS9}W -¬t éjz*®jjs§‹³¹5ªx ¼ í¬çðöÔêwÑøTÆ£wòŒ.[θÏOOö-îUµX}—¦Ãµ·PÐÖ¡åôþcùN á¯IñVxXÀ$¶þš®Ï¢´µÛ9Í}æHOl-ø**íŠÙ©n†DÓÖÂæûŠVVe®¶Û;‹ÈØ)kš%q°dÊO™]HÖ½¶!®iW È6¿`©è°ù1 "IXèFwFç^àq±â Öx%Ç¥Åð# TŽ’¦™Å®qæÝ2“Úu„ˆaÜHøú²Ýäcê‹ØŽû+]Šoúb½ÝQ°{ÐvÍ9\SÿΆƖ²»s´Õ­áس™¼MI·Âšö¿@WªE ²B4%>ɯò ìM ƒæì\ºÇ±r«3Ë¥Ô‘ÄH·CbË·˜':F°[‡`\‡Eˆ• “e“Úù3V0FM²kÚµY$›W]£±g¶®˜6¢£‹VZïØ^—ȃgnÐáÞôD`|µXÛYùTC s†q9GüÊPü˜ÅS¸Ú&ÎüWO¦þµf:ÿ6yføižW‹ˆZ÷ŸC,=¤/J9`¶=÷„Ý œ"˜‘§[ؽ"kuwg&¢Ü’žVSpÑ6™œŒ-h´‰ƒ0¾¡OJ ‰  h<•,@€¶Š!±°Ñƒa”÷+\73NƆƒtfMÍheÖçf°†Ç ìÐk­öжJ¹:G˜â¸nYm—@-ÁTUQ†‹é{Q†º)rqXšèÀ'N M.P“fb¢™½J¶¢—‰²ÑT°\ÙWT¶ü¬°’4Fzze[WOe¡¨b®«f§E”‹Fzx”òÄápæBóor>›hkèˆkµszòæø¯X’?+N!yGƒØÝ„ŒI£@Ó(>µ’LÛMnzÜNùé…Äló’~È2òW»®{{¬¦9ªªÇPˆ…Êëc‡ÌÖ?® û‚Cª¤’nç¿+X¢Xðápn Vf%ÝG‚dR˜¤Ê|ƒìY§Lº´X]2CÑHÚš÷t«DC~ÅÉ.¹^ÄQÀM'”" ¥ ÕÂåhÐ$a.qì\†çe’¡ÚpÀøä?D+ƒ[r³\ç VIȺÊ5>-—‘W…Iž¨¸ëª’±Æ:ªçð>(þdãã#^7RâÏÉ& FŸÈüËoLîeêHÄø,vûjöŠoªØãöÿü¯K…º…åžß¼¯Ú IÕÒÆ}¯^­KcQÛ§Għått<–©˜0úP/ukD—UPV”O x2°Ù¡ý®y|£A—tÒÛZËɰÚÛ‡ZßÁ\bÙÑP]Ò:sŽIPô§‹d]<&Ë‚mÆëͱpÒMŽŠëÄ Î ¼žÒ³uÓÎåS¨ª!¼•uº®Ÿš2¡Ú f7à¹Û4H q²¯©mÕŒÈ)‡”™¤JɪòMžk¢ð¡ˆ[@gp>—_ð^Æöê¼»€~ŸâSž ¬k{ïðYeGNœnÍíÝSZmýcs5¡Øð>L™ÿZwûÖs¹}e¸øË‡sZ´ûßôÖ’Cþ2¯S”k Ûw¾üUÒf½ŠRÂnG®cï³ ÍÔ(|– h$-§ÉR•碑ìip‘žK¸Ž¢¢$´žЍ½èRWº›ö—(î- Ëy”œÀs¹‹•g}5¾ƒMÉëR>ó>ÃÈÕÈlG!t—wÀ*=µe°¸­ÊAîZA“(ò[ïT›f/…Ç…:«ØÊÓù#)ƒ’+:ÇÁM•u¯ýï{”XpµLnë¸÷'âÂï«t.õ~“úÑ>§ä`¼¸øÖ8:ݽë×`â¼oÀ[òã8Ü7ú§¹Ä~+Ø!+gÉÁ>K(]Á •tN².'ªLȲ†Du,ÙOQˆ†JC¸­‰h¾‚¬´Ž—¥_;s°ˆéob $ÝbÛ7QRš‚lÚu-#©D8–UuW^*²¢[ê½jg¿>hy$?X.vRBLûñ(YjtC½Ë6ËDS$º©årW(eĆN+Íð4í.ï¤q8ÀóZKû—¢Èî:¯,ØùMFÙ⎭ÒFŠÆQºÿ¨ìÑuðÞaG¡RO:‰ û¾ [²MË€R޶—w’Ã_j 8¹òŸi[M—n\„¹iö-§ÉPà0f }…È7 )r“4t\‰ŒYÎó¨ä­.è¼Üv ¢Í®`Ô@ëR>&–¹ümoÉ@÷–Ïh[ÍœÆiq¬6ÚYZìíØ¬w0Bè—gŸ¨$OS6NÕ^Ç•+d*L‹Ȥlª½²'‰S~óµq“µ¾]¾@¦—è…ß&™P.z‰ïíPJc¤N†‡Èô,Ï]$ˆYžQC3k|[c+H62ô‘ø] டÅö* ›ìò=È÷¨<3b¬–:Lï%2o$ku#“G´­¾ÍSš-™¥¦p³£§ =¦Ú•|#} ë“θÚ8õÙzDZDËpÊœ7XiãÝ}¡zHm˜s Y>N¥Á#z×[B$ÈÝÈ©Zx›&„:Ùšª±H4m†­{\;Õ‰°v—>r™R7Ñå&†J å]ž¯í]ê…ȶ…`]ÜÑ-oG™ 3c`k:o<‡$¬iâãw+1‹+­Ò×6 ·h™þ‚¨ë°>Õi#s9¬· J‹>Pζh¦_Tvhóø™Ëµaö9$í>5Nð4Õ¾“ÿ™Ík!|M7q³¼öÿ䦵Ì{r¿Vž£b;AäTú}£Ekn샢¦Äh䥪¯ŽAg9/5Å<bt5O¨Ùú¹ÛݬåsGVm/ì^¬@ øŸÛr×zEˆîMsE“üOÉu)QÌà™äMÿÄj &!%¿dKñR·köæ(€ºÜw´¥¿€^­a¯E§ûÏÉ4´}›Š> ³]½yŒ>1øô›¤}º®?T~k[ú̇÷e?è2@׎•4oóÊß‚øU+ÍÝ…R¿ÎXWˆz&1¾ͺX#ýþIÿø³ã‚ËüAðZ—`Xk¾DMøÁFì &ÿ Ñ÷GðG· ð™‡xZŠÚ`²ÿ|Oð´ò:#½2þKV0 0è >èÓ›a­=ˆ݉xLT¾±ú¬"&þô„þ9¼&íšGIGÝ'ñ^ŒÌ.‘žFLß0ÊfÆJßÝs>(¸”´O&~Øí¥_ê\à(i¯øŒ‡nñnŒ•Œq¸Ø—Þ&÷ mè^»‘ç3¸}£>)~wû;€ýöüRÉ´‘ˆØí‡¦Ãef!‰^ª¶ä¶î DîNÜyßKi¡[DZÍà¦vðnë·âºäy@4|·¹'´þKvh¢‘0øõGûD`ëûAz(à°D/ªÇ)#ŒfÉ&ñÝ€k~ûw­á¸ä£ìÓèS¡ºàSs×ÕJ.žÞ¨šî´û‹qT!l:—&zW"‡câŽ8›Äv¤|ÍqÊrFRyOs’ÉŽVÆÆñÕ`Q,D2<Õ‘ºpwƒ¢~Š&(rŒÏ9ÛÉ6i˜Û‹]…Ú&JD­x1½ÖoXY™©ë·Žp„  rØí5WVˆÛäB-é÷üPÏn)ö°_â¯eŒê…{,MÂѶSœ‹;;ÿyåBi ‹VDÐzíªŠVÊÁˆã¯uÙXæ³­ÌJìO¾VV´¼ð»4DÏeUMçtï}â, coω(äuA­­Ú[ÿ;§î*xêöñ¨§>‚§kÑ4‚“Ac"Ÿw•4Ô]?Êï I„¤éXâ­Ñ@渂ç‘Ô¨$j³taBøA¿šfYS#Pò7¯Ulø¸險Éq*Ìc©[‡9Ï2Ä'‹Uñ§hæ“qnT¤N&j8‹NRܧ¨è¦ ëWAg´;Î/Ã`>I{|Çâ«$K‹*X¸v+#†‘äËÞÔ×aÒ}«}UJH—UH9¡&WŽÂÞxÌ=_Í7äx¯Ó‘îö#$ ,ÌOÕîKCFíîùí7Ô7 ƒ Ë»$e Z, >td7T6ÝVR²ÊÏÅæSÅ0ј±ŠLQ‰e8ëS2 s)d‹»zŠÍ60ø4Þ/X˜þ‹¿••F”–uYsÔHô¤-ÓŠæ¨VI3&‘§GŸJš:¡ôÂéÌ®ÌSBe—ŒD¹Vf=½Ë“°¢Ë1:4{†.6ìR—‹4£&ÜMÏRç³j)Ž8Ëœ š.JÍ]ÕI;¾™Òü‚¸Æœñ! ³|àÐO">@,kC$.m´ ,§4åEÆ4¬ -²‰Í%hIõŸê¨ßKn2z‰d€Í½Š'1i€ÍþóÔQ?Ÿ®Oá”ò@gbníh€ÏÈ¿øE0àU<³z…VHEí&Exp:®¯ð”ß‘j‡!ÜSÉE6T™UÁÁꆖoqø&"¤ro·àžH(©,ìM,ìV§ ¨ýjO’êxt;ÓÉ Š’ÎÄÝßZ·ù.§ö;Ò; ©êg¬žHTTÂáV‡ ªú­ï\0ª¯¨ßY ¢¹¬ F·Nñ…Õ}Aë'Œ6§êY!€†%Èù6¦Þ@ï]òuHú½„YáuzF—5¥ìè»]Oj%ò hUaôÓÃP7‘‘´q‡QV†n´NÄЄõ8¦æý§§9šhšZz•"X—=oï\»!\˜‘S½çS`¦ka‹€Éâž~¨SG#Ô‹®Svfö«0},înÄpó--)´gΩ¶­’‰„"Aî*Öׄ° æØÍÁø¦ÖáøtøœSÁRNâûÒÐÞ–ùÙ[—^Gíé]6ÖaÑT>ÅS˜Œxqè¶ÛÇ´ž>N£·±b¼!Þ:Ý­éáôSiûÜeÙ1¼NÆÛ½¢ÃåãõšÅ×8µþü®lÛÓmVQS;P×ÏW5#.Ñlñ]}xi§à¡¦Úü&¦žšxÅFJšiªYv"#g_^=Acp׌Ҹ»õ{QXÍO[l«pKü™³íúØ~+sÓñÇýûlô96¿e9Μ0aÌÄMãþ¥ÆÃÓØŸUµ8M1«Ë ñC–Ì&Æo"Þ{¯4˜ß #‡þJ‹—SÊ+9Ÿ´w×ú ÿˆ'âûô³ÑŽÐa­”Ædxp¬m¬?­"ày»SaÚ.jŠx#Ûʉ姈d:¾0K‡°ê³Ñ27VK¸!ÎùqŽ–ç øeB7;v‹è†ß­qZãví}Ê|h3fž›j°Jˆ)憰–TSÉSݸ^8ÍžxieÒmN ;ª]–&Ñ6¹ÎÝ»HÁü=œ{š`ŒÉ³¸DûÆ]»9ˆ—9‡I¦þd>:K6w·ÐÙ:(ûÜUxctº=q¸îék¢ñÆæ c$ª¸#v×´¹¤’-À¢¯q²gý ¢ôȱ؆f?Â3‡Ñ¦Ô·üWÏð՘廩d•½À§Õ‹ÉîIì}h6ÛdÏ ôÌÆÙl™ÿh0ÏMC~+äiª¤t…̦‘&ài¢ŒÕH ¼R…¢ôÑ!ëS¤}€6³eÓ¿âYñJv£eHþÂâYñ_)Qa³ÕQ²§ç€’öµºíÖ•ØDÁÖsª™­?ó*^‘2’}YúI²çÉÇ0£ÿܳâœÜg£ql0ù§gÅ|…ŠQÔRT°Pø, Îå½n… 7†‰…þ8ÚÒn^ÖåóÛN¤°axLÓKúi&–#sÑt×ÞMÊ~UT,åXl·¥¶k7djÞ4ú%Âé»Fìcs7Ã#:rtš~+Ô`qÓˆ@Áh‡†æ:S¸ÝÌãϯŠJœ–˜ä¢µ1A£1é2xÇ ÷§å† ÂcO–,'ÂMcb{†ñ‘’`—ïp^­­×Ø41aæçÅIhñG ª™+ÎÐ:Mw Ý-Éý˜Ù—›œ ôRÇÿJ¨kF*ˆž›lù(µÝ©–=«ëS²{,ô,?þ?‚c¶?e סÿ‡gÁiüˆôO†GÎ8~/GO†ÓÓHÙ cNl­æI?ŠyÇ(s ¶_KÑ.ؽ“p·È”ÁgÁ1Û²GÿE¥þ~ ¿–‰ð3ç‰k¨çx|r€2g %1ÕäØMú ì.Èž857¨> ‡`¶<›üüÉÿ.= ÀÏš1°ÉD;·5ö&öÖÜÓÞ ) .Ãá1Øø¬nïh?ŠôcÏjÔѲjHé¡hlq´5£¨a­¬µƺZn/r½äšçž­1x–¡cviåvš¹O•Ö¸KOâk.I] /mŸcØÅ %0“û¤ÝJÇlZTí îºÐž ÝÍGÕ+•¥‡Ùû'Ae»‹¤6¨'q¦Él`$—+Ùc¢âÄéryÌlH!gâ‰ÚD^ö²0[f8¶æüÈWu·‚'Ê ò‚@U04ˆ®MÜu%g«ô8ðVâUïÜiÝQ»l$';ù N–CK$ÖI’YË›zZ9æÙ˜#7ø±Í‡sAÆÛØË‰‚,¥2b¶7–Œÿpïú“¶¾Ìé?¢ºHñãƒ'¨ÊfkIú6é8éÜ‘ŒÄŒŒj×Híz˜8râU‰“æhÏ÷D~) ؈þ®ŒëõHFL1E[ŠîšçK8véÏxËÏ\­qOaÅ ¨]Òh¶sÄpà‡Œb#=ûÄ~ W^Û!¤q=SúSÉ‹ æâ¹œ™¡·hÔ[^JÍŠMCìfs/»HúHƒ‹Ö4=¦‚maÑ')óéuñªŒŒ! ÝÇ+º]œU,…í eV*æFã3s^HÝ-{M“_WŠnóI;%·cü•;±÷óÂâá¥ñMvдyXTcï;⟻¡lDúÌJ7Ki®Y®ìjðNñÜK9iœXOº¾ìuh俤peq8dvznø¡¶{M‡Ä?½ru.ƒÚ#‰8Gó çÈ4-¾ž›$ùSÉ™¯iqƒzkcbß8A¿mp¶êê[²G& ºÀùмrâÿ‚u.…·e‰Åk†ð‰Xæ³#³dâ×}/B˜Vâ¥á¹ãxZN^ÍPí¹À£“¥ÀfwÁ1ûy³í½é&У?ºŠ—A·e£ñöµí¤–Ä}§.äSè6ì=øÍc^æ—Cf½€¸4Û+¸;(ºBºxä9¡cãycšXM1céUqí^ !ÊÊ) ô;ù"©1zj© )÷OuÉ9î M:àj‹Œ=»È ôJçõ††“5ì=)ô ñÑ4ï¬lA“¹Œn{hÞ‰¸ó‚ŒX²AEƒ¬¦–²ƒŸ©€VÄ cctoÍ£‰½ÇÁÞ›RÙ¾SŠš¸£y‘ù´c…¬žþÂŒ² ,íI»íCbMž˜Ó6*ˆ¤{æcÖºä4ñw˜)±Hç£Â¦ž9¢–f0½Œc®_ml4Ôd‰  Ž`\Ú*–ÄùY½ˆéð6áÞ…Á㯭£Š­ïlaì¹c‹uæ-¦ˆÅ†H Æ?ì&˜š¡¡‹¬ªž6¹­m<mœe¦£^Î 7UÒb’бÍiŽ6Kœ»C˜‘kõôJx±d‰·C¬&AêîQâbõ´Ôl-.©Î¯£K[}O$¸¤uôQÎö5ÅÒÇßËpmûÈF,2Bšvž!É $GŒqŸºWO‰Raµr5ŽÜ±ÒX:ù€¹·ru.%<"lƒ#ÚØsÂ)…¢P@xÁ û0á´§4î&']jZÀ#9šZH®kˆ>ïbJfâ•UÇþO.íúÅ¡ÀöñéÓ¡Ÿ%Ñÿc¦þø&ü“EýŠ›øcàˆk1Š¿ÝæÂÙoq¨."ÞÅ%H©¤ž(êc°”:Æãˆ¶žßbtÂÐ+0º&ê(éÇ÷cà¤e ps ‰®hK 穯}=‘‰8r$Á Xî±aø§LVÛ#x°Ý\ÄC£‚.42o3±ÌÊæ¹Ì"üÁ!XáOÍ Œñg¹k¤éÐ¥¾äò37*6èlmtH d,VôEæ‹“ü]Ýg¹rjÜlœÔUdPI3¸5¥Å9ÚhA ³hæËFØZzR¼@Ôþ žN‘KvgÁs‰{ÏIĹǴ¡èçˆI;¤¥’\Ò›9®Ñ·°O¥ORöE’ž i'Ìm•ÔðG©âsZÑs߆§½s¤\™\ 5;U,°ÆÓRzÞíýc½-iluÔ{Ù%tFLï¶Ð5®üKT<íâX‹™”ÔUähC+-ëfïVmÔÓ>ºZf»wú:obOÙ Ÿ$®±'QWá³ÃJeŽBIÂÀ ëìÇaÆM6ô™#¸‘­Ðò¥¦Ä"Ä)ƒ™@#†xÚç 8iÊÜ;T54˜\xA¥ÈØlÇ3e’} 4U2¾jØ€Šg1¹²¾×"ö¸¦ÑE‡ÃUXkjŸÓ™`hsYfŽë¿z|2Ñ᫬¨¦$UÔ 2iv´7¼{Sÿ“œ_å7јÙ„2㤠7±=…¹´Ôtµ'ĤŒúRf'…¼ÉÕ쥒jà«{)›#Cœ-ÐÊmÄuÙ6¦j,XQM3™ $mC^O–,z=œŠLfª‡ë0újWï\ÓÜêœ[¡7:ABäÅ ¦v,8MK¼b<™Z€…Ô̧™‘WÚI®tÌë~^Å+k°Ê`ÊgRÈù÷eÍkN® °>ð‚ÂŽ…aö­kþr¡îiálï%­=ºçJ¶ ±øE-t4ϯ®¸DÖM­Îc˽%4QÉW&!ˆ5“<Â\oóZÛ³ðM¢ñ1‹Ö×ÉM4p½¬fGu¶÷p×PAÅ,²aµøµM4˜£ä¾ÝµÀi~»€˜â‘OŠÊÙ+¯‡>™†7X3ÛÑdêêvMSHÚlG=+Üøêr趇ÐE½)1–áØ•éhCÛ4SÆI<Zàâ;‚.I0pçRK¼{ ‹0tº€EFcñ¾v>3‘§RÌÃ7>«¢$£‚*yc§Åɤk‹ õÍnZòMÆPaÔÕ—™ƒxún·beXu(«ž¨¸B&t±»ê4‹›úoèL,“¦ŒÒÃ=U{bšF4½ŽÔµÇ—,1ÕKWz£¾e;ºÈo{¸\·‡“oj–(°ùqé¥c¥1vÛØß1±îRb†¤¥}>ô^\.:Xƒon^ô ~Hq<ÐÓËUJâʦDCKM‹‡¾’ô3v&}fW= –¹Ü`º´Áø“Lã5;ãp“KëËOI]‰³•‘ yˆ}<ì¹äÞDwrk‚[Üì=†6¿=ËËÎw“|Î_Ód} ²U‹ù.Ðú?z†²:ESs&tns涆ζQÒ=φ7=¥Ž \"ü‘ºvQ¡-7±K“[„´ßÓ±æ×"ÇÎ¥-¶…u-̈lïû ”ÙîË“ø>üVch'bŽk|˜—Òu?‚ÐÌñ n‘ç+Z '±cÁt¡Ò¼t¥q{½%rj½¨ÒƒV5ÒFÊfŽ”¯ÏÌûRTKˆÑÑKQ<¹™ $´ )Ý \öHnÃvH¶–M¬§T²ÓL÷¾)ZXöç:ƒÄ(@í•)— 2¤²¥à 3“œ5Ê·©ª­šfÑÆæ»{˺°=)͇#@h`272 NÇ–¼4¶àŽƒø!7`Ò«©®Â0ø‹£‰ÑµÌ†6‹EÉ ÊYcªùE˜”ð4ÉOc,ÂRA7íèûÑñÉY"šW–²FH-n-p#—XR>j’ÒÝë¬E¸ì[•ñ>m Â ¨}&XöÊÀ6:àû”‚¶HÜ×RÜ9¤‡$6& ¡†Ž)_º…»E캑"®¨ ]ê6ƒ~ˆ0êYè0ø(á¤&8Âæl:Ôt´’ÓTUÌÊ2]U(‘÷a"᡺w"ür³íÀxåoÚ÷ß )i$“†½ÔŽÞCâkr¤8‚n=Ò›ŠRB™°KI‘­•’‚Æ[V¸8{¬Ž• ß8õ:º·ŽfŸ¸ØoÑ#˜æº…¶p ô  §vODÊ1#```sÙ©·2Œ…aÒìõ?4¾=WÏ!û‡âØoÐ+)ª«'mcU(”‡7Fœ¡¶×ô¨æ¦k±xqIgG ¢É—¢àH7>kõfkêÿ`}ÓñHkêÏ8½RŸì7èÏâõ”ÕÑGt4ÃTÒ÷1·-,p¸·Qºªú †Ë‡Š ¾X -òn×\\x¢è·MW)l$ÔJ$=§DÂþ”É÷c0ba¼P¾<¶:æ-#ºÇ½=ƒr* iè¨i ¨¦Í&Q7 ¹óÙKŠ–TÐ>(iZ$¸s w#Ú˜žò²˜Bv‘¸èà/JF·+l°HcXXÛ“t㊮¦xéÍCfp\Ç”ñóåim,TtF†Z¢Ö±ìžMàú:G}Ï¥@ßÉͧ0ó4‚AÌ º»@N…ì–0æ:áÂà£MS¿³Æ€£†H[&ð¶Î•Îho I {PÆ™qËw:#ô†açæ­m×už§~æf¼}_Î9þ+HsC† ‹…¾“µDK’<§¨.OôåËQÇä¶8aÔ€ì$_تÚaólîVø¶Y0éÚØÝrÃceDgˆ egzçšÜM„´F«bvHÏõmö¡YQÿXÞõ0•¤hæ÷¨¤+d†8¾Í½å&êqò›¼éô¹‡XJdÅÜÓÛõâHiéþÌúÉ €s 7ƒ­ƒ&q¦§úŽõÿ$†šž÷Èÿ[ò\e 퇓ũº¤õ‚_¥ë”8LÞŽK·¨¤<˜ãIMõåÉIÄ.©½¬ÈÜÜÃZ9#ÐŒ]N‹Gsga=Eªœ·ñŒl;°ï,ßQÕn¾Õér4Ø…U§°´[Š*=›[34ÚfHË£tdòêµãh_¸–™›³ÁÀðø¯C…­cƒZ4N®‚)"9š.8aðyX†½• 1 é8ºã7Èó'”ÔØÌŸ7áé¼ùõŸ·NË=¾O½‚×T}íØ÷/ G§¶6UVE›­í_e’<üHÄ×Ýz¡tw¥Þî.¸ü°¬üÜaoåV(qŠ%$Nû¾úã–Ñe‹N³¥ÛþûºwlS0M—‚“§®!]'¿Aú»æÍtˆ¾w1ñ©HÏÎ… r…jµ-#‚íªÂç·1…cQÚ²7Í0í·2•Wže™;ï¥Ù²öB*yômAË\V~n0VYTÎÓÝÚ[Un᲋®kjzÑr&N¡„D—Ÿ4¿ØrÓärùÓ¿ØrÓly•i÷£•¾ë“­‘çâe˜õî ;J°có~lŒâ-É“7ЦC8Fl‰ºžj(¥"23²›ŒOÖ_D‹Æö‘< ·1ù±(/åy¾Ë£,cçÝÕ>Zœ’r;v‰DRP†©r¿žÒ¿Ä2&,Ü\l?Ì•»u÷á‚r',ÜŒÞ]Ÿ(qº±rM´8Íô›ýêü¾hóM£·ó¶.5ênˆ5ñÙ[-á-ÉÁÊwaWš/š:à̉ëx}b´u~ßøæ‰Cš^†zu|ðT—8Kr§ˆøè»¸“ˆÌ\=äJ¼üð¨zÏÁ£€È ?\»L'5j׫ij îÆ%#G+Bå䌺Á àç,7X¯K‡ÖÅÊÊŸfl™’ä·š ëÒ¡uÁ9ËŠ½Œ#×Ò ‘H •+QÃÝ¡Aµ ’J ¶×´¾/®EÅ#K§/VÞñã§‘ž£\éÿÚ®åV¸v”¯.Zìcþ~åo³y°?®GÅ#=W¥JºÁÁ¨åªhRãpéÖ¤fåB€ή5P«V-øÕt4šHÅËüù+Iáý³ä<•t }7î' K£‡R¥†_@ܾvѪsl_-β—[tykÊýzJLX¸Ùh’.©\«[œðÙ¦€É‚Œ._øõäAËÛšµ?¾}¡”ÙI˜ÿûqË-‘õtíj÷ïŠvž œÛø7ÖÜtCdÓfPHEd¦§aÃú=hÞ‚(àÞÅsðnÒ?ÛuÜÈJËÀ¡Ïaùé´ ÷žCÇ Z;ïl¸Œ‡¶AW9’â“°é¯ãÐ6 Ç›Íýᣖ"!6kÖC”‚+gN´’:µoeP–±ÛÆNí[YtÜE—Ë?_Y±—q¿fKlšï Q‘•K—ncÙŸ7P§i}ùçxÁöfn¹Šß@-gž™þ(‡µlŒ—;×G²ÒÒ°ïàYüt!mú­ŠWÑcœ¶î"fl…ÀšJ¤&&aÝúqU †—˜‚«Ù2LÝa¾j(E=n݉ÁÎC—±õ`²AkÛ0^-Íî9{µê<™:†Z® Ä\> —ðpÌ}®\åHMLÆö½§ñe)ÎqE÷q–O‹…Z†¦ËÍOlÆ’ž±å͕ۣS[LX¸¹`ý¢ sÂÂÍèÑ©m‰åZÝÇiI¦-÷qækØ®%æ BV̼½ô$$!áUË!Š"n%æbV„°âD:6o…T@µ«‚\Ý Š"2£¯BhÚÓ{û úØ1ŒÜx žè€Ÿn?áo,ºíb°ÍW|Ó1kÑf8ø…cÙ¸FûroÜþç¦-< •o–‹À«/7ǰ9g b'1Ñ·b²ïÐ1ƒ×Ÿh HÎtA6)˜±ð_\IÊE½†MðùÈpÔvNÅ„IëŒöLÅ» 6!EcØâœÜPÀûßmE²^‰~Cº`dß'á#üÅ÷]POˆ²*^E½‰™_þ§ºáX<&£_lasÎ VLÃìYC¤”âǶâÏÛÙ¨W×{vÀ™˜0í·b‰¬ã-‘qïj™ö§hì-9O¦ŽÁ­6Ú úú#þÒyŒûò2Ò¤Ž0´‹M]K•ÙÇYX·' û’w8b¦eXr¹Ýžlc< 'ÍnO¶1ºfû85Z}‰\t~þëOÖ^Á;CC1å™%.o æ‚Dü½õ,âÜê B))ØÏ ½ˆúJ)à–V@K¤x×¢Ó1m´`韷‘©pîÐQàéþhØ%©Ÿ0X~Ñ_·ÞÏ^Ð(¯ø¯Û¨ÞΞ F@áèQÐàÖ¢ñ¶mYÚ¶Š´(ÎÆú:Lû m[E¢F 9Ö¬=‡Qpã¡ðjŒÜTÃ/þç-ø7nŠ0¹ÿ;U0ýÛu—áÜHŦuÇ1²q'4íÑ É‚Vb]¼ŠZôçmø5jŒË§/‡ÂÑ¢þr%@M™5¸ž È=îÞ‹Ã’UÛÞ0÷ í_áXY{þ̤N“çÉ’c¸~W‚7GùÿvÎÁá¨TüþëqPCF?ÝOÛñÇ]áµó>Mw’IpS# ØAŠ@…‚µ´xæL׉h¨ÊK°Ìj0O¡ò†¨Ï0˜vG# µ\Qxtbni´–Däm¢è»šÀx§´ Šhݲ™U·MÆú8[·l†Ü´ÜÕ(0iLw4ôw†Z!+¸Í‘Ê]1×`»Z­eÅ·{>G@¤B Ü Í9W(éH‡uñ*ê–F@k™¢øè¢E j¹cþö;˜Ù«.>™Ð¢(àÁýxüñ÷qœKÕ˜ü@ÇÚóg6qš8O–Cª^D„J8“£G¤B‰Ä šœ 6õa”B&-ø]/äý ã±g,Z·U‹¦™4¯ ©TíÃ?ƒ4VnaƦgM¹ÇNœ1úÁS~Ÿgþ¾š*×â[uÇö"|/x{¡±Áë¢Óc/4€‚ßÅó¶u»~ùŸcx3[ƒ…ÃBñÜ‹OÁé·X}KÆõÜà¦ÄÏç3ñA Œj%¢QwÈ$"r2Ó‹ºA!p‘Kq!G&Ž2¼õþZÜÔ< ª@ËM‹U*K¾¾•_@Þd)dR:m:dJ·bëå—_øD[Z —sõÚ=|ôAÞíîÒ%[±ývtPbãÜ&¿¿fl¿«¤HÌÕ¡Ò Py´9ñÈÔp–dY/K¶©ö©sGÏ`ÔáSð­zuðVÿŒÙCfí7YFiÎ_iΓ%Çà"“â|ŽÍeÏ¡$ ʇ1´•[u‰‰[_‹>ý~¸|~.+ܵ!1s«^Òy°¶Ü§Îìoчò“g‹È&&Ë5¸…/|rŠþNŒùI1ÿuáÿKª,UýS”CÌuŒ_q‚ý‡õ˜ œ½ç:¸±éŽ&jÑ¿ž ÒãÖÅ 8uî2rµ2¨3î\¿ŠÚ¾j|¿+0©VŽ1&ª *Wwºº›nK×dfv.Ük¨Ñ÷™a¥Z?W«Cfv®Ý—›÷¥50q‘eS2ûróûOåa. ظík‘Â\òZœ›æCRb#BDT‚è{QX¶t"""ËÈMÍpvvatˆè±•‘‘n}â€ë×0zDôØêÞ«·õ‰³¤‰ˆª+gg—Žìã$"²'''‘M‘3Dd 4 6oÝ‚¤äÊyà—§ú=Õr¹õi‰“ˆlÂêõ¿bçÞ]¥Jd¥¡×ë!Š"õÈÄIDöéÚëP9ªàZõR¶—š’Šk7®•j]öq‘°Ÿ'´1q1q‘=ÒétB A'@.“A.“C.“UØk©D ½^(Õ¾Ú}§‡§ 1!ž5ÈŽÉå 889À«–$ÉáyóÆ3¯ˆ×™YYÉJ×v,sâÌO\%aR#"KH$Èd2ƒ×Eç—ëkié'oÕ‰ˆªêV­J"z\°ÅID6A§ÓBÔ ÈHN‡  ÑI ÏÕWØk)¤ôúªmqšur;Vý¶»Áµ; “(áU'z<ƒ)Ó_E}Çâ»RðÁO| ¶.›‹oÙŒ3W£­“!!.Úpa!«ç¿¯݆2P3 }ž‡&= µLR¬ìäK{ðÅ·+°óÐqÜM‚ tF&è3d¦Ží•Tb|_âñÏêϰðû58u5 ¹r„EvÄkïÌÅЖž¬ýD¥¤P(ᤠ^h`¥l/1)ÒBý©6™8›õQdŠÑWOã·«§±yíNì>±!ŽÆwçç×;ã¿k¯¼–HŠQö§ÿt›o¼Ž¿s+çÇž“Ñ8±z’AÓúìO3ÐwÊrdþ*‚&WOîÇÕ“û±zÃ(Ú²5åÅîæwû`ô’c…¦$áôþxýð.hÿ=ƒáõ8äoÕ-äáéeô'_ýv1ɯ8ræ î?ˆÅý»×°ÿ•x¾•'²ãbÔûÇL–ýÖ†¼öÉ8yù&â‘[l™I&cò—kpåN4îß¹„µ_NBM…wwÌÅøÝ÷ –K»ý#žšü´ª`Lÿ|Žž½ŒbqÿÎìZ÷ú×@챕²ð¬Ñ}»üÞ˜÷#N\¾‰¸Øhœ9°φׄ KÇG¯mf"bâ,?Ƕ,ÅØÁÝР–;äR88¹¡QÛ>X´~àîæÿ3¹î“óÿœÿôG]OHL,ÓîãMxgDxª•pP{¢ëˆØòq;À¶ –Û:n!rSÿÞ‚©/> (äR8¨ÝѬó`|ÿ÷€ËËÝNßÅÛðáØ¾¨çé™L‰€†ðÙº)—²F• Ðäj Õj¡Óé Óé*ì5D”ú¯<+íSõäË{ðå’Ÿ°çŸÓ¸‹Ì-DñÑ^kÒþ1¹îGCë›Ýþ¬aAŦ {˜Ö™÷ÿà Àâ‹)€ybP°EÿÏMÙct;súÔ.6ÍÉk0€‰Ðæ\cÍ'*%N½ GZJ!•I¡×é‘““S!¯õz=Á†?Š=¸­/4ìS,úN£K59¯‘“Âì6;)‹MS:5Î;!¹QÓ.gkä=Rª$¢ 1:ÝOi¤3Y¢|¸Ž–µŸ¨””JTŽ*„E„UÊöâbã “•.VJâœýÊ7ÈÔ hþâ»øpôÓ©ëÎNK%õðô)û§h²4hîl˜<5YòÒáQ+±®ƒ׳µØv;-•¬­DdµJéãÜœ” X="ÚEÃÃU ùïû<8ôQ¹lãÃu·ŠM»µn@íÿèý án€Iswóì‘í¶8[9+q 5¯|ò3>÷ êy©‘…½[~Âô÷W–Ë6ÏèOUK1¦;¸ ÿlþ¯Ì8 è9÷Ñž,}Ó[OÂ…%#Ñ3î Lzy0Z6nwg%r2Ruó*ŽÚ‡Íë~ÅÚݧXCˆ*‰N§‡©Åƒ{ T*!‘J "4M…¼Ödk WÚpç¼ÝÐ~ú_Øÿõd´úz²Á¼FÏ…ØÕ˼…O×À[ã‡`þxÃéµ»OÇ·]ý ^»Ô}K£0`Ü8±á[ŒØð-k,‘-ÜþʤP9«àíï …R©T A Õh+äõí·!“ÚðàÃÆ®ÄfÇO1ÙZœ¼ P'¤)¼ðÞÛ ^å8G.ÝIÝÉøfÍvÜŠËBMÿèóü8|^•²=…ƒ¢ê¾ŽdéÃ=Úx›G¼mU–”]x™‘ï‹‘ï[¶ß*¯Œ{ï3Œ{¯|Ž“9!zŒZÇ ‘ Þª™““›ƒÜ¸\Û 5ÝkB!W@£Õ %9¥B^§§¤Cîlãù "*‰£ÊîµÜѵO×JÙ^|b<Í[u"²c…ÿ»²H$LœDD•‚·êDdÜ=Üqÿî}œ?y¾rnÕÄ£ALœDd¿†ö‚/—|‰[vVÊö¼¼¼0ðéLœDd¿ü||1oæ\»ØWöq1q1q1qÙ3³9;s¸[""‹gFF:`ãú5Œ‘¥-Îî½z3BDDE°“ˆˆ‰“ˆˆ‰“ˆˆ‰“ˆˆ‰“ˆˆ‰“ˆˆ˜8‰ˆ˜8‰ˆ˜8‰ˆ˜8‰ˆ˜8‰ˆˆ‰“ˆ¨Z&ÎI‘­pO£79_¯‰Fx@®fëÊ}Ûž^Õ¾<ÇX™ñ*<Ÿ±­žuÏ.çSðæ¦»&çßÝüdmæ!Ä‘cÏ 1qêúç?øÜäüÏfÅ‹ ºñl’ÍILˆg˜8«†\Œ™uöà›»éÅæeÜ[‚º.˜R¿`ß÷3ѹECøxû!´EÌüa±wô#«â™nmQ·–?<½ü æøyº4ƒ¯?B[tÁ{ËöÛÞ•-ß §æð÷õCpÓŽøà§ã—ÿϳÑ)2>>~å½­3¶®©VHÑuþºý:µ@-_ø× Eï‘Óp>Ck°Ž%ÇHÓ‚4wŽò—õðô*øaÝcâ,“^ŸöDz·÷›¾úDÎxw6Çðg0uÙ߈ºÛ–MÁéOG`ü–(ƒu†-<×>ýWoG#!>p× ˜sÓ–oÇÝèÛØöýÛ8÷ÙHƒõâÌE—×–£ïŒpýn­ùæÁûûbÌ–ïïIºà<ÞY¹QÑw°ãǸ¸hd±ã1¶®¥žûò^_°×£bpýô òúC†¬(˜oÉ1RÅ*éå·Nâ ~X÷l“dÂ믉_}»I‰ ¶½§¢=ƒ#±äÂ:äõeê5QhT¿¶\¿ˆ`•SՃ˚“˜ÕÈýÑ­ÒùÙˆ–‰»¼;.8s /×r6(þÝ&P®>a°nÒ…ÜéË‚ üQó ä|~s:?z'O¿óŸ:Œ¨K‹K,ZD œ×œÀû •ñcw|T¾©u=<½ŒÞòžîáé…•W¢Ð×CU0_—{ þõžB\Ì‹‘¬kEš»E·ö™:׬{¶!ú^–-] ‹>M‰‹Ã­ב––Z%;Û½Wo@¢Ä'Ã<ðß5·±ydÀ oAÑv>‚Uy‡±.1§Bk¬[3ì¿ÈNl `AÁ´‘þÎŶ±:. ÇBÝ × }À—¯WÆd yH|WôÝG"°¸Äò×Ägáx°aùnÁ¯”oj]K®¸ w„^›dñ1îܶµòoy¤R8»¸ °~xy{Ûl4¨‹fú.KJ¬æÎ‘)¬{U_ ŽÏÜÉII¸zù"E4…¯ŸärE•\FF:Oz'ŸøâÈåX0û^úóKš«¯sK§+1±ðT”ÜÃa¬|ãíý2¬[šF»™ùÏ ~¶ÒÏ« HˆÃé“'ààà×5l¶V%Ö½ª­ƒV'Îë×® ¢i$|ýü‘››‹œœœ*;@•G_¼¬žˆ…7RñšâØ"týúr°‡#¾¹’Œ÷ ݤ\ùŽƒÍ÷Ñx9áÛ«)˜þhÝä+ß,3Ê_U÷31©®õC&?ëéˆÅ×Sñ^Ø£qêµÅ–Ý*d¸™£C}Õ£Ó•“ø‡õýkfŽ1dÓÊæ¤V£q“¦¸võ Z·m½^o³u°¢É%èÈŠLgÝ«Ú:X¬•j®Àô´4xyû 77z½®Ê+Ö˜Ú`å”íØ7í{4w†Á¼‰ŸôÅ’!cñ÷é»Ð :Ü9ý7^² ýçM4[îøEC±tðð÷™¨Bë.5\fé,{avœ¼Ž,mv*ÎÜ‚)Ã;š/á ,òvœ¿ CÔ¹xuèR‹Žyj3¼ôî D%ç@Ðåàú‰mx½ÿ[VÇÎ’c¬*Î..HMI†Ré`óu°"µrQ`Å©hEÏë^•ÖA«§ P(f3pe èµÚ£30ù@=h0¯î€oðó¤F˜ûrOøû çËó1ùg|Ó¯¶Ùrkuÿ¿Ïh‚¹/u‡¿omô3ÞúÉ`Ï–oaûœ'ðÓ¬1hX Á‘?=Â_Zb¶üÚO}Žß&…᣺Áß·6º¿ô1Œ_ ‰LevÝ—Ö®EÛ¸ßѵi|`è[ß lÂ/VÇÎ’c¬Ê~&A “Él¾V¤/>yßè/oƒ¾RÖ½ª­ƒÅz:Ì}ª¾sÛV<3øÙ*oJWGYV!¸Ó.D_YÉ`”P×XY÷ªºæËÿTù¨D½Æ/À™Û‰Ð‹:Ä\>„ÉC?FäkSbݳ3üãîJôÑzLú$ÎßI‚‹o}<õÜlüþfc†X÷˜8É”Öçc×ðé ±îÙ9Þª1q1q1q1q1qZÏšqX¬-¯,c¸”ÇP1œ±2uYWñjǼ°pk&ë ë [œÏÅYZ¹É'1²C/h‡|Ÿ§t³›ý¶µm²²VÆ6í.qVÅCO+z›YöaP»¨ñÊj,ŸØ‘™uu-NãÌŸbé;ˆ¹±TŠÊ¸³ ý"BñöÿX¼/…Ç‚Éÿߨ˜0¥‘výô~âÔŸºßkktKÆQ*íX6%S““xßL}þ~¨Ò #ÞZ„í£çö¤ßÞqÏöBH½xû×AË.ƒðå†Ó+ÖAÖA[©ƒU’8-?ÅKÇRÉsø}$æ†IDATtí1—ìç£ÛY½/% SªVÄé_еókhùÁøzLK£ËX:ŽRiDzL5òäKÈj5çîDáüµh§ß€>oî.˜ÿF¯1pé?‡ÏßDÌí+øíó HØ2¹BbÅ:È:hKu°ÜžŽdÍ8,–ŽŸbjÜ–üß-K%1!§y#¾º‰¥¿G{_Ç‚å˲/eí{98g(º|p_lÛƒç"Ü.gé8J¥ËÆÔX3ÆšÔ Ž˜;{A¾>Øp㚨&ÑšX•õéH¬ƒ¬ƒUóY5æP±wë"ã¿X;‹¥ã§˜céX*[æŽÄ¤­µ°wÿ*ÔR>k¯<öe÷Žm%ŽYb*^ _ý?luœŠ§ŸêŒôu;ðJ;ŸbëZ:ŽRiDzŒ5£I¿ˆù3æ`ÓžcˆŠONÆåÑMÊW#[à©ÈÎ0ð)´nÖm:uC¸¿ºL±bd´‡:huâ,ñ_,?¥tmèâ“BÃBÿÍ*¬;8ÿíPîûÒwÀ “c–˜‹Wä‹ °×ÅÝw@úÊݘԣ¶…[Ë-dÆÆš™ßûœêù.Vü±Aµ¼à¨”B<¼íßÓ þ‘öbûã8µ{5MÈ7~ÁÊ·;”*V¬ƒ¬ƒöR­>Sùã¿ø× €V«CFFºÕ˜Í?¥¬òÇR)ÌØX*!ÞÁá5SðèNøhãÕ2íKþ˜0…eeeŒYRø Ò–Ä+dàû8¸ê ,Õ³×_6˜—?ŽRa–Ž£dn¿KòÝÕ¬x÷E4ôË«°’.Ul¹ÚM;cÌø)øjÙj;³[-u¬XYí¥Z8Ëcü—²ŒŸbPŽc©ø¶‹ý;>ÃŽI=0eÕÉRï‹©1aãc–X¯:ÝßÄ¡ßßǺ‰Ý1iʼn‚éeGÉÒý6fˆŸo|û'25ÐkÒqjçOÚßðö³ýs“±aÿ¤dk¡×¤ã䮿 tkWêX±²ÚK´:q–Çø/e?ÅàÆÊ±TÜžÁ¶Ã?ãêüûÕÞRí‹©1aãc–X/ï¶c±Ûg8ð~?Œù2¯ó»,ã(YºßÆÌݺ꽟¡ep]øÖ ÇèÙ«ÑmÖzƒe¾ ŸN@“ Ú¨Ò ³Ö&bÕöoJ+ÖAÖA{©ƒVªnëã¿TõX*ö¯ªdi¬XYm%VÕfÌ!Ž¥B¬ƒTÙì~è Ž¥B¬ƒÄÄi%Ž¥B¬ƒTÙøt$""&N""&N""&΢Òoíĸ!ÝQ?À¾ ÐuÈëØyÛ²¯N~dTI*Ë6lMiÅT¬¼|ëWëxUdLÿùc&¾ø 7¨ oß4nÓo¾¹BéëjuŽWu¹f«.ñ²÷k¶Êßµ¼”Åó·TéA›hvýF½Çâ £ðd³`È4I8¹gfê€ ßÀ¬îµÊe¶¤ÜŽEÔàÿEaþÙ·Ç(¦…?ÜPtÁ#ÝJUW‡xU‡k¶Ê§‡BŠxŸ"A4ñ*<Ì®¿ÿ§Bl(½ðD¿±X®E£>ïaÖ•Ëe¶¤¼Ž%ñ¸ø.Z:++lSLâQ‡¸Ûç°dæXôµg}Þêºú8Ä«:\³U~«ÞÝÍ[’rŠMÏIÚ·Òí\#ðeä$o¯ÐmØ{¼¶OÛ„þ ž©´sò8Ä9¼#1cÙ<Ø÷A©êêc/;¾f«uB1xÜ<8ôø;>éTªºú8ÔÁêpÍÚÄ—Í\ê÷Àwë{”¸ÌÝMSQç™Ŧ7ì1 +zŒ*—mØ‹²Ä ¾8ó±ŠWEÆÔÒúgí²Õ¹V‡kÖn¾¥ûõG'0aW ãŘ2^LœZtþ6k"ãŘ2^6•#"bâ$"bâ$"bâ$"bâ$"zŒØåCÓÓÒŒNwsw‡^§ãYe¼SÆ‹‰Ó˜Ë›¶jÖ`¤¥¦²–2^Œ)ãÅÄiJç'Ÿ@v®Ù¹Zœ=sŠ5“ñbL¯JÁ>N""&N""&N""&N""&N""&N""bâ$"bâ$"bâ$"bâ$"bâ$""&N""&N""&N""&N""&N""&N""bâ$"bâ$"bâ$"bâ$"bâ$""&N""&N""&N""&N""&N""&N""bâ$"bâ$"bâ$"bâ$"bâ$""r†€È2‚ àô©S¸pá<²²²¡]+˜¡ÌŸ'''4jÔÍ"#!•²mÂÄIô;zä2³²ðÒK/ÃQíA èh4¹ôQ€^/ #= ‡„F«AÛ¶í8Þª=¾Îœ9ž½zÁÙÕ‰÷Ÿ$ïIÞÿ*GG´jÕׯ]Czz:Ç'ÑãÍÅÅ¢ äµ6‚^N A¯‡^ ×ë!èõprrBff&Æ'1q1qU<öq•Òô©SŠM{{ú †‰“ˆL™·`!½999oÕ‰ˆˆ-N"Þª'oÕ‰·êDDlqñV˜8‰ˆ·êLœ6ô"²/Õùšµ›ÄÉGzÙ—ê|ÍÚM“Œô"²/Õùšµ«>N>Ò‹ªR^½Ê€££“Ùe333¡V«û˜U×k–€D  ÁÖ¿þBFZZ‰Ëeeeáøñc j™LÆÀUCüTÈB­[·ÁéS§°jÕŠ[Gjµáá ¥RÉÀ1q=¾¤R)š·hàd¤§cã†õèÞ£'d2är9þüc ^{c2ÒÓ!“ÉàààÀ'§má—©ª¸¸¸¢™Lµ“dr9är9d2jÔ¨ CTí¯Y»Mœüò1¯Ù*»ûàé$"â­:ñšeâä­:oÕy«NDÄ[u6û‰ˆ·êlö¯YÞª1q1q1q–£üGz‰,ËGzñšeâéEdoªó5k7Ÿªó‘^ÖáMÄk–‰“ô²Çh"^³¼U/àââggç‚Gz©Õj¨Õê‚Gz¹¸¸ÀÉÉ鱿MçMÄk–-N*U…åMDlq1q1qU{ìã|LðiRDLœd%>MŠˆ·êDDlqoÕ‰˜8‰·êD¼U'""¶8y«ÎÀ1qoÕ‰x«NDÄÄIDÄÄIDÄÄIÕÇh"bâ$+qŒ&¢ŠÃOÕ«)ŽÑDÄÄIÖÞJpŒ&"&N*@ Æ{‘ÉåËåã½H""ë& '''''1q1q1q1q1q''''''1q1q1q1q1q''''''™$·çÿã-<ƒŒcÊxÙ~â”J¥¡JwÚÍÝS¦Í°¹` ‚©TÊx•2V¬ƒ¬ƒöR­Nœ.®®HNJ„ƒJUe¬×é–šjs•655.®®ŒW)cÅ:È:h/uÐêtÛ 8'ŽErRR•¿‹ÙÒ;WbB.ž;‹°†ÐëõŒW)bÅ:È:h/uÐêgMww„6 ÇÍëךšÂñðVÈÙÅ EÀϯrss¯RÄŠuuÐ^ê Ü’ ´‡§'||}¡P(!“ÉøvŸ;¢×C£É-öÆx™UIýM¬ƒ¬ƒU]­Nœ¦úGt:t:£o!Æ«d%õ7±²Vu,öfnnöPE²¤¿‰uªºZÝâdÿU$Kú›X©ªë Õ‰“ý#TLõͱ’­ÔA«'Àþªz¬ƒd3­T†€ˆˆ‰“ˆˆ‰“ˆˆ‰“ˆˆ‰“ˆˆ‰“ˆˆ˜8‰ˆ˜8‰ˆ˜8‰ˆ˜8‰ˆ˜8‰ˆ¨Øßª_ºxžQ!"*¤axã’gÛ'žd”ˆˆ IMI.9q]€ˆˆ ±“ˆˆ‰“ˆˆ‰“ˆˆ‰“ˆˆ‰“ˆè1"g¨<èõzz=DQd0ÊH"‘@*•B&7y nÆiž-@`ìËÞ’”H଒"ÐK ¹”‰“*N«Etô=œ?ÉII HY.\©®5j aƨ[·ä E‰ËŸÊAJz»„ø¤4&Ï2&M/wWth†lMj«˜8©âZšqqq8yâ:w톺õ9|ohµZܹuû÷í…L&Cí:uMÆóV‚iÙØ´óvmŠ'›ÃAÉKº´rrµØwü*6ï>Ž=ZãV‚žJ&N*‚^3§O¡k÷¨XŸ)#…B!¡)ä8|ð |||àè¤6ºlJ¦€½G/bX¯æèØ"„Á+#•ƒ½Ú7‚R!Ãî£ѧs ÀÓDë”ᢲEÉÉɨ]§.ƒQŽê %9Z­Öô›–("!) m"ø†UžÚ5 2ÛíÁ'•½Õ)Édü`¨Éår‚`6¦‚(B©”³o³YO&N"ûoöçýPå½±1Dvž7þPåa''UÍÝ¢X©?ù}ª–Ì7õ»(Џ¾z:B}k@.—›-³²,޽ šÿÑçbËÿ½‡~š Ž— Ü\\P?´ žûÏlþç¦ee"\”V-cÉò…´—ðöó]èåwwOt<—2´V•Q?LœD%óÆW˜¹û´Z-t:]ߪ—ô³ñµ6˜}@ÄÔ¯ÇŨd$ÄÇâÀ–•ÔÂ?¿ÝÓ¢2D ·+—/ü³|@/öy¯Å!æÎEü§ÑE zþ7«Ê(sØÇIÕ^I ñŸ4 ö6ô²÷ö¾ÙËýÍ5—q$î8¼ùm%ü4ÅM1ä•·a]/©hñ2)9V•=÷x<öl ?• ‚6þ-†"ö› ç­:ñv½xõxHÓpdûÿðJÏ04ï5ÇSr –ûúµe½éw íØ*¥Í1uñ^ƒÎ€¯þ^ŽÞm RHáè^£ç¯FÒé¹fû8]ŒÑ¿íÁú´€£R¯°nøaû|¬xåÝbËÇéôX²tâ5B±c±´sûÉ>N²~ÄÊÿp%33Ãä<µÚMnÁkS¿}½4:ɽëá«"åI$2h4Km2özKc/qE»^ƒÑ®×à¼%daíìþx®ÏB\Ü;ð¿8¢†¶HŒ ëå*5œ/ €^›h0ÍØï+bÒ‘2 ߉­VóÁò_¾ÜÏÎ~æMÅ€q³ðùŒápxØÌ³´Kö³´˜8©œú7Qérin{…ç›ú½èk½ÜJN…—BjõöªŠ ¢tr)qÄ wÆ›KZB'´öÌ•gj^áéÆ~DàìýDx‰mÑå;|ø7Žÿç2â¯`ÉûÐå¿nu9Öì?oÕ©JnmõÃ!S¿{=º–?FgØÕ÷8!Š”ø3læÿ ÑŸ®Í¼ ™ªþ£å|œðÕùD“åäµTKžnê÷~jü/:³Äý|´¼~þuÜ´æýú;nÿ1­”åX6ÝØrLœTi-N{Oœ—¿‰%ÏN¶ãW‘™«‡&+§÷mÄ›CÛÙlâD@4óïÀâñhõÔ‹øuÇ1¤äh¡×fâÚÉm˜Ë¡‡(èK\äð–XñË|7ýyLI”®¨Ú }_\Œ/^hZ°¾wû™Ø4ï ¼?ýY¼u-jßPŒxóSƒòMmËÔ2ù¿{D¾‰ÍþŒf¿„7N]E¶ÄÁÍ:bäëß[¾¶_ÞwkåJg4ˆìŒ/7~YªrÌí'û8é±êãLIN*q{…ç›úÝT9Gâ§Ž#í¦3ïö²ä} hÞï5ïƒ÷L4Y ¯Ö÷¿XÛ÷¿E¶‘·ÄÝè8£Û*<ÝÔïP«ý,m?ÂÈ1.7:Îä2Ö”SÒ~2q’-ôpVZb©éîañ²ÉI‰Õ>öÄrùÀ£^€O‰óoß‹eEgâ¤ònqVÖÃt,O*Ás*Ë+ö7£<ö±dâ¤Êosòª²ÌY·ŸÄÄI•~í2qVÙ­º(B‚‰“ì‰T*EfF¤R~»­Ü’¡ XO‰D‚ôŒ (ä’¹¼huzH$&Nª8‰nnnHHH€——RNàîîQbò”J$ðrwÁÙë±hêÇ •“³×cáíîi É“‰“ÊÖÚ”ÉиIü{øZµioo³ïÖdš(Šˆ‹‹Åñ£GÙ¼9”J¥Éek8IÑ©u86ì8 Va~PÈØê/uKS/àÄåì>~ƒz´AMµŒ‰“*†L&ƒŸŸ?"""pæÔi¤¦¦@ØßVê7"©5kÖDãˆxxxÀAåhrÙzJ¤ç8a`6Øô"v¹Æ~æ2Þ=ùx¸b`6puvD=O'U…BÀ ð¯NË‹·Ì° ¥ŽŽNf’,Q[…[qRôéÜ‚_*7.‰®ŽRz+K\މ“Ê­åé¤V3•}¡2s‘SÅĈˆ˜8‰ˆ˜8‰ˆlFAgô½(FƒˆÈ’ ¯¿Æâˆˆ¬ðÿî²[+ ƇIEND®B`‚KCemu-0.5.1/doc/window-module-z1013.png0000644000175000017500000005634212417262523017604 0ustar glaubitzglaubitz‰PNG  IHDRé‰o´ sRGB®Îé IDATxÚìwTW‡”–.°”¥ªˆ°Ô$&vck4öN¢FM¬±ÅŠ “Ïš˜{ìšc¯X°‚"*HYz‡e™ïÜq–-°‹‹¾Ï9s`æÎ½3sgÞ¹wîîΣ÷Ã’…øzÆ,^'$bÆê ‚¨voœ¦Wv™¡ḭ̀¹;úz:ÕA¼~÷3ûøR¯\›»“™<~ !-j‹x§¤fæ¡XRR©¼†ú°µ2­‘åŽ= 0xÞNfïÒ/ô@ï‡% q9Μ™<~ âSréê t"@Ó²r~ë¿JåoÔªl,ÍÊTM*W”‘‹kçNbÿ_êqº» C¢Ä»%-+)9ˆ¼szôC}×Zjåò*ÿ>‚-:l,ù5²Ü·AY½.Ãç3CFNB^¡Xn!S?÷ÀÅræÈ]&E6 Ô!)-·.ý…Oºô…£y¥Êxð4‘wΡÕ'ŸÃáM5­\HHÉFè¿Þ>“*jD¥iA=KƒqÓŸ±r—Iç§~îÁκK^~®†Þƒ‘‘:´m®RžÂ¢"\º~††ø´]+èéivŸ¤å9Ú˜CRR¹ž½"ß”%½NkZ¹œgVUºº Ãà«^µ!§žË]·ì²ªv ‹pùfxñk©Ñ@Õ—)¬¤„©rYÒëP^¹þwU¥rzvj¯V¹²e—Í[Ñò²åÊ ÒA% Ð 'c*\Oº|ÃÉ¥å©r¡F>‰ÂñUƒ•[ˆ1+O¡‰OD<‰ÆÌÁ~hT[€ƒ¡H¥¡¸¸i"ôÿ´!šÖs„­¥ Ä’$¤äàç¿€aXÔ@•=nHNÏEÐúЮuS¼NÁƤ˜MKÍÌäµg8A¬™Ù¹ðt)}~z— sS¥ç,+;uKó<‹O‡™©0ÐäP†žìE_Å‚õôôØ2**wÓÌ> Ë >Qn?”•{úÜ5¶Ü àèѱÂåòÊ­ %U~ÐÓz×aÿ_"Fn—Xddå »- <6&ÆFxõ"«&v„Ÿ‡¹[ΣÄÐx<Útªÿ&HÓ`ÆçãÜåP…Ç‘™‹¶õK{/OãÓ`in†b‰âz}÷-iÕË-»¾:ånšÙAÁ'äÞ•«vK k?|Ó·®Üõeç¿é[—]¿²Aê×¼4Ÿ‹àbg†9ÃÛ#-+3< '¡3ø|Ä¿ŒÅÒ¯»!>%?üvê׃‹G]äå`çߨíî#c#ŠÅxø(Ÿ·­ƒÃÑÆEb nG¾Æ®¿¡N:,íÆI$%¸xï%Z7ÂÈÈ·#›˜û7†“9²óŠpäBÂã!°³Aä›|ù…ÅøbÉQ´lÖ‘¥ËròŠðå'ѾM3\¼z‹mû~{Ú·RxÜÏ_g ¶Ð¾uíqùA¾ÖúzzˆyŽºÎµù2–fÈË/Dä“'è÷i´õn ;+>²ó‹pýQœ‹„wÃúÈÉÉ…(é5¾ê× Þµ(*–à^t"œí,ÙV1;+]éqXYš£®séúY\:ŒMvÿq…õêåUOí@•í:W½%…L‹Wq¹Ò ’`òÖWVn—~ >Áæ/œAÁ'Ð¥ƒŸÂrÕ~&Uå™S“ϤYYÙ¨ïîSú@nk†=#,*„¢QÃz011Á“§Ï1ø³F0æààááæsóÒÏ™Lù&hàUz1K$xø8‹F„:ÂZØt8WïÇá³î˜Ðæ¦FØpð.„v}<ŠIÆá øé›hçë‚b‰s·‡§s-|?ú ïу ßu„µÞU:LMÍ_P¡]éÝë”lðùÆ*=×=îCçÃ1kX;øÖ±‡¡>Z4pÂæ£·1´«oéÐý‹ðÍlù$ +&v„µ… Ö‡1ÉèÚª.Æõi ¾~9}FŒà Î‹%˜ùãY¤dæaÔçMP[hÍvwU9ެ¬·]ägñéÈÊcñè+¬×܇O£z:ûL*K§Ûpæÿ»|SI‹§¸ÜN·áªl€vú¸Ü}PúLZ$–(<à²éÒùå<ÁÜÀú˜éï©p}uº¨ë\ ââtm]EÅØtèÜÝ]¡oÀC‘X‚ôô,4­çx#B=//¹ÛŒ}ŸÖ‡§‹ þ Á¹Û¥£ÎÿÝ~ŽI-ÑÄÓY¹¹h^¯´›ùäe*®<ˆƒ­¥Ié Ta1þwä6ÜÝ=™“ ¥çÁȈ‡ÌÌøÕ/½hc^§Ã”ÏGNN<Þ|BjŒŒP$–À¯U3ôýöÀ¯U³rû*{ÜI BÃ_ãuJ6š7pB[_ðÏÍpŒëÓ ­9c;˜Ú¯%¬ÍM°fïuÀÐ îñ]Z×Azv>2s QÇYñqð Á3-A- >ò ÄHHÏÁèMÖkzf–Ú×ì3^nAQ•ŸI¥ÛWV®¢m•MS§\UÊ“W®ÊÝÝ/21t[éé ÜnêèÚºº¶®ÃIeäÁP_No.ȇϒajfŠ:BË7ÏÄ"óQXTOáÛ ÙÌÔ¹ùù¨íTûͲ ðù&oZ G¶266f÷«u˦Öµìq?‹OG ôpÿizøyBRÂ`ó‘Û¨ëlöbÆ&ÆHOÏ„Ÿ àÆ£8Ô©W’¦&¼771À­ ÷£QÏ«>ÒÓ2àåbö¢¨íd­ð8ôôõQÇñm+Š=|ÜÔMa½ñÔî²òÞ¦¤Déqpê$> @‰ÒzmìÓPíǽ º*¾Y_7z2ÝG=%Ý]E7u˽ö€³¿eŽ¤Ú¢Yã Ëåtƒeƒ´ì$„Ò”ÎËþUô«î”““ËŽpFÇ¥Ã^`ƒøôb¬üý*,L±|BGXob‚Ãç#“Z"']„û£87 Ã:ÕG~n ‹`ia{щ€Þí½`Ì3@-K3|Ú¢Œù f¦f(,,€“­¤bq±L¦ÃÔ”¼¼|Ôv’íš ¨H ués°›ƒbbž£k+wÔsµyÛ’ãÖû8¾jޝ„[wî+=î¨W©°±¶Âëô,ÜqÞ|CCöy0òE*ÌÌLaem[á¯K+ZÕÁãÇ‘pµáaxÆx•”…}gÃÁ7å#&>ÐÎ×Ož<ÁÐÎÞœR$%%JC\\ü6O\:ø|¾Òz­Ìù××ã‡:Ï¥e××׃JånšÙGîTÕr¥Ú¬‰/š5ñ-7@¥¨\ÙøSé#ië©,(Ë©úϹyy¨ïö¶%µ±¢–u-Ä%$bÅ®«˜3¢=é€ nâfd2Šö߀ÿ'õñã7=”~—2úU’R²áY×n®øéè] Ï-DßOêcX7_ddç#,* {Î<„“£=žD=…Û’æ P\Ä^OãÒàâê‚Â|x¼é>·Ú6:9`ß¿àÿI|=° D¹¸™I }=$¤æÀÓÚI¥z‘=©°¶ÂÈȹ9¹:™áax8<ßtwŸ¼L…³«;,Ìͱíä=ääapŒíÝ )™ù8sóŽ\|7÷Ú()‘à§#·ñU`+LÔ™¹…¸ñI ôñ4.¥ÇQPÄpÜ\•ÖkeÎEŸgV4[Ñ' o[¦ê/·Ic¶Ü&}”.—W®Ú£»êgUFx}5ÀÄàÓ(*û¡ŒŒJ»‹NŽHÏÊ€y‡n.ð¬[/Ò20oÛeä¿ùÑ:ǃ™)uëx”Þé ôáæêŽ=ÿEcóÑ»(–ÃÐKK 8ìJ»e¾ðåÒ(–HÐØ§! ñÅ’ãH$ðõnCž!|½½1lÑQHJJàëÓ†p°àZ¤Ç.€¤D#ž,--°ýÄ]0 Ðħô ôѼ©/;hÔ¼©¯Üz‘=îF ½`ll0óE _ïFÜ}2,=uîî8x1ÛOÜC±D#ÖÖV¨]»î›ÏH ÁXÚ±udhh+ËÒ&†aàëÓJ뤢ã–"oŸôôõáâ"„‹‹°Âc366†—W]Nš‹‹3g=UŽÃÛ›»ªÔke[ÒÄ´œJ“œ–]á7ƒjJ¹œ:‘þ æyBZ¹Ä1yC«4þ³é^„:˜ñMÀ3ÔÇ¿Fc¿®•*ãÁÐ¥gˆ‹K›_P#Ë-}fBÿ=ð6Hc^§ÑBè¦&Fàà¿ÓG*•¿S~KWæóÈšV.àìOÕèß„n›_+3ôòT©ü…âbäæÖør=ÕŽ¢ºIÍÈùàË•>ï6°HÁ±3—éª ¤EJiKz|Õ ¤¥¦ÌÍ-¨fâ‘““Íþ÷ Û·]€Üß;|j‹ Þ»õà̪º"AÚÅÜÜBn©OUCº )APAAJ¤APAAJ5Cª‚PœÜ¬ÿi"£Ÿ(]×A`uË×RDu‘ƒ•V"öå èëëÃÆÎ¦Ü:%%%HK)ýÉg’(ùÝ·¤¶vöÿysçbÆŒé ×ß°q#–.]ÆÎ§¦ˆªµ’¥û«Éíj£LB÷ÈÊÎÂòµ+ñ*þÜë¸CèZþ-’ žý7222ЬY3Ô¯__iy"‘‹/Aû>†«›;\ÝÜÑþ£±dÉR¤¤¤T˜/11 ß~7Íš·€£“µëÔ…¿NœPüòc[;g¬²ëïúúú0á›ÀV`[ádÂ7Ñú~häévðàA»wûìG@€?'mÿýì:Ê»wƒ)Œ‘‘‘ˆŒŒÄ¾ýû±ß>4iÒ˜“þàÁC  Djj*»L,ãò•+¸|å &LOWQcÑHöïß ~óç/ )) ¥J¤¤$œ;wFFFè߯ŸÂ22331|ø¤¤¤ I“ÆX0>Z·.5bß¼yK–.ÅÇ0|Ä\¹| ––¥Ö³ìœŒøòK¤¦¦¢YÓ¦X°`>Z¶lYÚ¹u K–.ÅÖ­ÛèL*s'ì®ß¾±X¬v^±XŒ¢¢"#dkùG»gÏcÐÀ«&žP}Ý]¨U«ºví ‰D‚ƒ¼ÕüãH$tëÖ µjÕRXÆÎ_EBBêׯ“'Nà³Ï>ƒ™™ÌÌÌбcGœ:yõêÕC||<~ýí76ßï»~Ç«W¯Ð¨Q#œ‚ÇÑ“ÇpèÄaðù|Ôöª ±XÌ>ä U”ZaÞ‚7îÔñª===äææ²1‘*JÅ‹g/ §§;äd©ÿm~Á~ð Aؼy >ÂY¦ ÈÈÈ@zz:ùw¤§§³ëÊvƒ322‘‘;;;¹ùÒÒ*ÿ ââbºŠßc~Ý» g/œäçç#ü~8'=þe<þªø·zzz(..FTxT…é¶[•+­©|}}ðða©±qc_x{{«”·^½z¸uë®]»†¾}ûÊ]çÊ•«///vYƒõqãÆM\»v }úÈW¶_»v½Âíòù|äçç#++‹1–åÙ³gt%¿ÇD?‹‚¾¾>Ú~ZþqIR,Aª(é©é%‰À7å³ßÉÍÉÊ ß6v6°w²‡™yùq”˜¨$Ä%T)@5¤¥-ç`<|8Ÿý_Uºwï†[·naMðZtíÚµÜ Pnn.‚×®eוòyÏqãÆM¯]‡®]»–ûÆS~~>›OîîŒÄ… äùúõèJ~166ǃosß ×‰|‰ó§ÏƒoÊgŸ's³sa+°Eï½+Ì—“•ƒ×¯^«5%¿™aâÄ HM!5E¤Ö—F~ù%Þ}úââÅ‹ÈÍÍEnn..\¸€Þ}úàÉ“'prrÂÈ/¿dó1ÎÎÎxüø1úôõǥ˗Ù|/]BïÞ}¡ðæß~7>ÜÜ\ànXFƒ?¢+™x§è̾­­­±k×oR4= .#!©âwoåêçÀ»¾7&ŒÏvU¿4 GNEZFzÅÁ¥gˆM›W)@)H‰ÚÝWðpóÀŒ©Ó«eé™” t R‚  %‚‚” (H ‚  %B.~c®Æ×ž‚¨Æ ÍÉ)}gбévBW[ÒÎÝzPÍ=“AAJ¤AP*”„)A5/H“““1{ö·hÖ¼9„¨ëY ¿gϾ·%m±Ë¶ÜÔ’:¤ èÖ½;ìììpüØq¼zù·Bob̘1ضíýõ€J_:F/#t>HW¬\‰ÃG`öìYps+}¦ ºuíŠ?ä´0›7ooã&°ØWØêÈ.³µ`篿¢i³ÒúÓO?ÃÃGØô¢"L ‚‹«4l„M?þÈ)«  “§LeÓC6mâ”/‘H°té2Ô¯ßÎ.®;nrrrîsì‹6ì ¸¹{@(tÆÀAƒX¹lëJ-*¡3AzöìΟ?‡'‘011ÁâÅKîóСÃ0qâD=‰Ddd<==1þ‚r­+µ°„¶Ð š<‘ ùi3ÒRSTÊààè„ø¸Wl+"½Xmíxüè!9땽˜e—ÙÚ ð4:ŠÕæççãv$%&||ãä‰ã¨]»6€R™Rë6~l~߯8uê$<ÜÝÏŸ?GËV­Ùô¦ÍšãÐáéé ‰Døø“ˆŒ¯pŸË’ŸŸ¦M›áÉ“È ‰ 4A|Ü+lß¶Mñ;ŽR’“óY™¥oìîÜ­lll ‰àää$70eQt±W„¬g”ÏçsÔƒÉÉÉpsscçÝߣlº«‹ ;ïêêZîyºמUö¨e÷94ô/YŒ"//OnNOãÌiººå]X}}˜[X NOØÙÛ+\·Â MOOÓ'áðöi G!x< cÇŽØ¿ÿ¦OŸ¦öŽ"??Ÿ5¦©ë µ··ÇË—/Ù–ôåË—œt@€WqqlKúêÕ+n/ÀÁgþ>͹Á(cô˜1Xºd :uê äääÀ£vÅjuÿþé $”RRR‚Q2î…Ý‘‰1,-­ÔÒ§QQðmÜNBg °°ôÝ£ß};Ý{|±XŒAƒÁÙYˆÂÂBܼªtǼ½½ñã?aêÔ)ÈÈÈÀÜyóÔ:°þýúaþüز`ÌËÍ߯_,Xˆ ë×ûì(eÔÈ‘˜>}V¬\WDEEcÝúuر}{…Û,((€‰‰1ŒMLðâåK,[¶Œ“nee…§OŸ²]h鯈B¦ffðñmŒè'OÐÚ¯-$‰zGÙY™88¡  €“ÙÕÕgþ>¸ø8|Þ³'œ]\Ñ´YsìØ±‡ý¡p§6lX¿þú µë Çç=ññÇ«uPsçΕµ5š4iŠö}Œöµç¦Ï™s334nÒíÚ·GË–-Ù|ýõWðókƒ€€~pquÃø Ðóóž ·²qæÏ_WW7ôíë6­ÛpÒ§N™‚Ž:Óè.Q)Ì-,‘™‘#cõŽÎž9 ÿþktËAƒãî;t5:KE±&8zï¾8oþ|ddd 99 ,ÄçŸNWQ³™Þ·rsuCë6mвUkXYYaÎwßÑY&j4ïfb„ñ˜0a¬,­Ð aC¸º»ÃÈȈ‚Ts-¨"Q2îÞ½ƒÏ>û îµëÂÀÀ€*†P ‰D‚çÏ¢qñâEÀÍÍúU¼Ž(He*÷~Ø=tìܵk×¥ !*…<½ÀÀ‡ëW®ÀÁÞ|3³ªµÎT­¥0 ƒôô4¸¹y°ËúôéC? ¿woßTø[aupquCFf:Ä2¿‡®ô3îûü{u(*,ÄÁû4m†AŸ>}pâÄ º{}@„Ý E‹V~())ÑHÇæ  IDATy?n\Þ}úÀʺ–Âõ>¸/Øk ÐiKª«PÖÐG|87d8Rçå^š~Ã0`Ç'Ÿ•rÞëTS©IÇÑ·o_?~œs (¢¸¸˜ó">jIßá‰#> dTéskX|||¦ÛAjk'@»ö•»ã0 ƒ¶íÚëÌ«Dž={†þáâêW7ôˆgÏžUéÄ9s]ºt¹¹9ìíí1bÄ$''sZ²SYŸ3ÿüÃYvúôi˜ššêLå3­[·ÂãGñøÑC´hÑcÇŽS©ËÛ·o_¶ë+;­_¿3fÌ@BB>|KKK 6ŒMJ¿¹$;ÉæŠŠ‚¿¿?Ƈׯ_ãòå˸rå '¿¼íÊ›d·‹:`øðáœu$ ¶lÙ‚µk×bëÖ­H$åÊàóù8uêgùñãÇÙs©ÊöË«:Çñ®§cÇŽqnRòÖ¹{÷.zôè… "33 .D=p÷î]…õóNƒô«  „„„p–m Ù„¯¿úг¬°°Ó¦O‡Gí:ð¨]Ó§Ï@aaáÛt%êej EDEGcÚ´i°²²‚••¾™1QÑÑ*å=vì˜Üå§OŸF÷îÝÙ–tÕªU¸víšÊõ¶dÉ,X°055…››vìØ!wÝ»wïÂÃÛ6mRZ®••¾ùæDDDp–ÿý÷ߨU«¦L™[[[œ9s¦\Þ™3gbÍš5œekÖ¬Á¬Y³4r‘`„ °µµ…­­-&Nœˆ‚‚6Çã!88ÎÎΰ²²Âرc9׈¢ôÏ>û àlïåË—pssCæ›÷E+Ãßß_é:óæÍÊ+0eʘššbÊ”)X±bæ©ùÆËj ÒÞ½{A$JAhè-¥zˆ´´4ôêÅ}ûÞ?,GbB"nß Å­Ð›ˆ‹Ãòå+ØteꈪЭ[W„l AVV233±aãFtíÚEc'Ξ= ???Î2˜šš¢Q£FXµjçm‹çÏŸGbb"ÜÜÜ`ee…!C† ==½\¹þù'zõê…)ÝÌÌL£I“&œå[¶lÁ”)S“&MÂæÍ›Ëåíׯ’““qýúuÀÅ‹‘ššŠ€€œ‡… "!!Ç«W¯ðý÷ßsÖ¹|ù2ÂÂÂääd,Z´H¥ô9sæ`Ù²eœÏ6—-[†   XYYUé†\vxäÈ‘œe#Gެž‘á É†a˜Ôg:°gSXPPnyjŠˆÀ¤¦ˆ˜uëÖ2Ý»wgRSDLÇŽŸ1ëׯ㤧¦ˆGGGæVèMv>ôæ ÆÉɉwrrbnß å¤Ëæ—ý_Þ2yéÒéÑÃŒ««+€À¸ºº2=”»nB|³q]0#‘H±X¬ÒtûömÆÃà /—VPPÀܽ{—ùôÓO™¯¾úŠ]n``ÀŒ5ŠIJJb’’’˜#F0dÓ0!!!ŒP(d®_¿®pûÒã’NNNNÌÓ§OÙô¨¨(F 0ÙÙÙŒX,f²³³@ÀDGGsÊ‹ÅÌæÍ›™Þ½{3b±˜éÚµ+³eËNº*Û—]Wö¡PÈDDD°óááጳ³3gÝÈÈHv>""‚qqqQ9½eË–Ì®]»8i™™™*ŸÇž={–žÏÐë Ã0*çS6m\ÌÄ<ªðúTkîÝe‚&Odª4º;xð`„……áð‘#xü8ƒ•9‰D"ŽÂÝÝ"ÑÛL”©#ªÂ”©A4h bž=E̳§80“§LU˜G,£°°}úôFaaA…ÓÙ³ÿ" ¿þú+ÜÜ\Ë¥‹áåU?ÿ¼¿ýö»ÜÔÔK—.™™)ÌÌLñÃËð矲é°~ý: :¾¾> ÷(}wvv>|€ºuë"44”Mÿé§Ÿ ‰`aa ˆD"üôÓœ2 0p` nݺ…Ý»ǃ8€“®hû²SÙr ””¡Ð‰ ””ÄY×ÉÉ‘wrrDbb¢Êé3gÎÄÒ¥K‘——‹… bÚ´¯a` ¯°îd§ö³Û©èxsssÔZ.[Þ;ýÆØÈãÇÃäÉS0aÂxËùYŽ@ àè ^¼x;;;v^ªŽ}ž(;‚˜ŸŸÏΫ£¦¸qý:f̘Áy&½ñ¦K§`Ø ÃààÁƒ:t£GÁîݻѢEs…ƒzzz())aç}||ä®#;Øpúôi9r6lP:p$ýëáá;¶cúôéÈÎÎF~~>öìÙƒÇ!;;‹=zˆÝ»÷ ??ŸS†‘‘&MšˆqãÆcòäI022R:¤jš½½=bccÙùçÏŸC pÖ•MñâìííUNÿüó022ÂÂ…ßãæÍ›5j”ZG*8êß¿?víÚÅY¶k×.ôïß_wޤLûúk$%&”0’à¹sç!%%)))˜3w.úõ{û¬#UG¤¤¦"%%¥œ:Bª¦ÈÏÏGBB¾™9Så}«_¿>6lØ€ÌÌLdffbÝúõhа¡’‘ÝÒ“8PnÅoÚ´ óç/À‰ÇѬYÓré£FÂãÇ!‹ƒ‰'ÁßߟMÿâ‹a˜;wÒÓÓ‘žžŽï¾›ƒîÝ»sN¬P(ÄéÓá·ßv!8x­ÊA" Ѷ­8ˆC‡¡eË–puuå¬ãææ†fÍšáðáÃåʘ>}:ÒÒR1mÚ4µQQZ¿~ý0{ö·HNNFrr2f͚͹¸à»ïæ@$A$áÛo¿C`` Zé3gÎÄÆ1{ö,ðx<µ‚ôàÁJƒtÑ¢EX°`!¶lÙ‚¼¼F;)7’^–ß~ùY#¿‚¡}Ëù"SR‚}{÷‚ÑÐO–ê]I]W”^RR‚ßwïFLL üûVêœ 2û÷íUi_ûúâæë044¬¶ëƒ‚´|o Ã`ÈСطw/ÕG5Þ+“nk'€››~ùy;§.ûöî)×ÝU„Aµþø‚‚´ü)†ÁÞ={èÕDjŠHa]+J—ýTeÏ×Сðwïž*—CAZwô†Á°a_`ÏžÝT!»÷ìF‰L`–èXÒOÕd+C_%%¥-éîÝ¿³_œ§¿Æ_θD§âb‰ÆÞ6I£»oáßΠY‹ìéŽET‰”îÝ Cûöía¡ä;Ä4º«"ðmÜׯ]C›6~°ØC__*†P‹’)¢dÜ ½‰¦Í›ƒG/ÇÖ`W×ÀŽNBøúúâ^Ø]defBBÁ•¸Ù[[YÃÛÇv¶¶0áó)H5 ÇC:uàììŒâb †‚”¨Ä _O†$ª©µ\¹¤>$ª ©µˆ<õ!ña¡«êCjIe»¼%%Õþ3$B7oØU,CÃ7Uÿ¬ZR‚Ðq(H BÇ!õ¡œ®Î»ìî’úP÷»»¤>$†Ô‡Zh‘ËNµëT©LRB­c}ߔԇ&5EÄ™–-]Š/GŒP¹ËKêÃC}Xö‡Ô‡Õ¨>”¥¨¨ÛwlÇĉªTa¤>T]Wª©µ¤>”åÀƒhß¾=œœœ4Z.©•£ëêCU õ¡–Ô‡ÒI”œÄÔ­[—¹~íj…ëúðÃU²çSGÕ‡UzÒ”rüø Ôóô„———ÒuÅb1Š‹ÅJ×»|ù2ÆŸ€ßÿU–Eª>lÞ¼–/ÿ8êÃÒžÆ24hГ¿¬úP99Ù`±±±˜4i2BCCáèèõ¡,?ýô#–-[&óHRª>\¼x1«>Ü·o/Ga¨hûÜÇ›‚rÿ˪pÔ‡R¤jCéÿRµ¡*é3gÎÄ‚ зoŸrêÃÊ /_E»TÇÇ1ïµú}VÞ¸_U`}“3l¤t€Ô‡ï—úP•#RjI}ÿž= ¾)mÚ´V-DÅ£’¤>|ÿÔ‡ª)©µ¤>,Í¿_©0ð¢jKJêÃ÷O}¨J’úP(«>$ªRÒ˱ÕBª>$ª¹Þß¡úP}!õ¡N\- ß“¾£›ceÒ5¡>Tw_H}øÎc”¡ ­fÞµúPÝ ­n(H圠 Òš RÝEV}HP×»*H$%{Û$éôôô`mmW/cI}øâêæä¤D”•–*B­Z6Ð×Ó§ Õ¤>$4ÒU&õ¡»º¤>$4t³'õ¡!õ!¡‘>©µ|'$õ!¡kAOU@º µ¤eüI}HTRjRUîš’úP›-(©‰ªCêC-W.©‰ªBêC-BêC‚Ô‡5¡ËKêC¤>$‚‚” (HµŽ: MË¡tÙU²|ùrh¬kû¥Ñ«V­Â† 8ïeÖ6¤>Ô?Æ€Àpus‡·/öìÙ[å ¯"ÝŸtžÇãÁÆÆ-Z´Àܹs9oì—‰ÀÀ@ØÛÛÃÔÔmÚ´ÁáÇ+ÜîÑ£GñÑGÁÓÓ“]–™™‰3fÀÓÓ&&&èׯÎ;§u¯m‰°——üüüªÇÇRj…gÏžaذ/0òˈz‰3ŸÆ›7ªÔåëþÄb1ŠŠŠðòåKìØ±yyyhÑ¢ç ìÑÑÑèܹ3:uê„ððp¤¥¥!$$¨p»§NBß¾}9ˆ ‚¢¢"üûï¿ÈÉÉÁãÇ1xð`,[¶LåîØ»V VµŒÀÀ@œ\\\°©Ì>k 3334mÚëׯǨQ£8±%K–`Ö¬Y¬ÐØØ­[·.§ð“åöíÛhÛ¶-gÙ… °bÅ xxxÀÀÀøï¿ÿØuÄb1fΜ '''¬_¿žSƶmÛàéé SSS´lÙ÷ïßgÓx<žÂt‰D‚yóæA(²žÖììlN~Ùë`̘1°²²‚‹‹ Ö®]ËÙUÊÚ¸q#j×®ÍùªŸŸBCCµ~>I}¨%õá¥Ë—‘œœŒFÞ>pquÃè1c‘‘Qí-úèÑ£9sîÜ9ªUFRR9ËÚµk‡I“&áÆ>—-Y²ááá¸u뢣£ÇI¿xñ".^¼‘HLœ8Qåô•+WâîÝ» E||..Žqpp[ÎÎÎ}axx8']•²^¼x!·nù|¾FT…¤>|CuªMMM±xÑ"X[[–-]‚&M›)Ì£ŠúPÝŸ,¯^½‚­­-›fccƒøø¸r-£"w™q,\¸ .`ŸuCBB0hÐ œûìSvþÓO;àÈ‘£j j4kÖ¡¡¡ ·]¯^=¬ZµW¯^e—;::âùóç*ï¯ì2e鎎Žxò$’£VÌÊÊ”»®ƒƒgð,66¶ÒeÉN¡¡¡hÑ¢¥ÖŽH}¨%õáÐ!C±ðûï‘‘‘ŒŒ Ì_°ݺvU2²«ËX^^îݻٳ¿Å®]»0oÞ<6mΜ9X·n~ùe'ÒÒÒPPP€Û·oã‹/¾¨°ì=ºãÈ‘#e–}ŽÃ‡ )) ÅÅÅxõ* .D«V­Øu†‚o¾™‰¸¸xdddàÛo¿ÓXŽ=AA_!&&b±=ÂÈ‘#å®;`ÀV_˜œœŒÙ³¿­tY²ÓÑ£GÑ£Gw­)©µ¤>6l(„B!Z·i߯ÈËËÅêÕ«´Ú’ZZZÁÊÊuêÔŤI“`ll„Ë—/q<¡uêÔÁ‰Çqöì¿hܸ œ]ðÍ73Þ•ûôéƒ7nàÙ³gì²o¿Ã‡¡eËV°³ sçÎÈËËů¿î”Yç[Ô¯ï…víÚÁ×·1\\\4¤Ó§OCÛ¶~èÕ«71fÌôêÕKîºóæÍ…µµ¼½½áç×}ôQ¥Ë’NOŸ>ÅÍ›7ѳg/­)©u€š >\·n=nß¾½{÷€††V­Zaúôi)Ô‡5]VNŸöué>Òû€{vÿ®•ú õ¡ÎG)©éFMêCQ6Q’UMçO©?lH}¨ÃúÐTKJêC-@êC‚Ô‡:© t•I}¨Å®.© ÝìI}¨EH}Hhä†OêC-ß I}HèZÐS„nC-iÙRU„Ô‡Z„Ô‡D•»¦¤>Ôf JêC¢êúPË•KêC¢ªúP‹ú õaMèò’ú© ‚  %ˆ÷ ìîÚÚ š"Òøºªvu¨»KÝ]ETÇ»v©%%ˆJBêC-´Èe'M˜˜ˆ   xzz‚ÏçC  gÏž8}ú4gà@[Ĩ¨(tïÞ–––°´´D÷îÝŦŸ9s]ºt¹¹9ìíí1bÄ$''—Û7ÙÉÆÆFåüÒwÛÙÙA °ïþ”Ô‡Z 5EÄ™ÔéòÊ›âââо}{œ={™™™ˆˆˆÀ¤I“°iÓ¦jÑ 2mÛ¶Å‹/ðâÅ ´nÝC‡eÓׯ_3f !!>d-e²¦jÙ)88cÇŽU9ÿöíÛqéÒ%Ü¿÷îÝÃ… ðË/¿è´%½&«+-lúå矙6mZs–·lÙ’ÙùË/‰Òëø8føð/ ÆÂ‚1|8ó:>îmúëxfÈÁ ŸÏg³hÑ÷6)J«¬°iäÈ‘ÌÒ¥K•ÊzP¼iÞ¼y̰aÃØù!C†0k×®U[Þ”““ÃÎggg+”eff2ÆÆÆrÓrss&66Våü~~~Ì?ÿüÃÎÿóÏ?L»ví4&:zW“"aS—.]˜íÛ·s–mß¾éÒ¥‹Ö…Mïµú<ëyÁÑIˆÖmü°aÃH$’*•wæÌ >¼Òù5¡AìÙ³'Ö¬YƒÌÌLddd`õêÕøüóÏ+\ÿìÙ³ðóó“›¶{÷ntèÐÎÎÎ*çG‹-ØùæÍ›#<<ü½îê¾Kõa¥‡¨ôõõ1uêl ÁžÝ¿cÃÆ š }}nÜ>r'Og%M+W¬@_ÿ,^¼pèðaNúŠåËѺŸÆºº@éWþ"#Ÿ`î¼y¥¤à‡eË*]¦H$‚ƒƒg™¬,W,VldsrrBjjêÛ}LM…@ Þ³òÚµkÑ¡C,^¼@©‰îÒ¥Kr×½ÿ>¾ùæüõ×_åÒJJJŒ#GŽT¸-yùsrr`nnÎÎ[XXp„¿ïåÇ ŒæVÇ(ï{­>”b``oïFؾm+üÚ¶S¤ÊÔ‡¶¶¶xõê%„B¡ÌE[zš›[T‹qÔ¨Q2d0‚‚‚!!!9r$«;”rùòeŒ?¿ÿþ;ÜÜ\ËíÏáÇQ¯ž'j×ö»¯å733CZZ*,,,YYY077ר~ð]BêÃjTÊkýK”¾·HñàBçΰgÏ¥2§Š 4¡A¼vífΜɎîΜ9×®]ã¬sèÐ!Œ=»wïF‹Íå–³ví:LŸ>]nš¢ü 6Ä;w8ƒ* 6|¯ŽH}¨%õá¸qãââb<ÅÔ©AèÓ§·’‘]Å£»sçÎŶmÛ±|ù ÄÆÆB,#''gÏž­0H5­AlР>Ö®]Ë*ƒƒƒ9A²iÓ&ÌŸ¿'NG³fMå–qæÌðù|´iÓ¦\š²üC† Á’%Kñúõk¼~ýK–,ŰaCßë %õ¡–Ô‡½zõ„‰áìâŠÞ½ûÀ³ž'V¯ªšúÐÅÅgÏþ‹¸¸WèÚµ+ìíàí탭[·áر£Õ¢Aܾ};®\¹ ///xyyáúõرc»ÌdâââЪUkXZZ±SNNŽL+º_ýu7"ÅùG‰¶mýкu´nÝíÚµÃðáÃßë %õ¡PÔ‡„v!õa A—Õ‡D5]¤>Ôõ3DêCºQ“úPÇc”~CAJV5?A¤>ü°!õ¡CêCBS-)©µ© Rê8¤>$4ÒU&õ¡»º¤>$4t³'õ¡!õ!¡‘>©µ|'$õ!¡kAOU@º µ¤eüI}HTRjRUîš’úP›-(©‰ªCêC-W.©‰ªBêC-BêC‚Ô‡5¡ËKêC¤>$‚‚” (HµŽ:b%MË¡tñYË—/G@@@Ñ—ôQB“ÓÅ‹áááÁ–­lþþþX¹r¥Ú/"“Äb±Z/6£–ô='77!!!X½z5U†fÏž«8@³jÕ*lذó.gu õ¡–HMMCã&M5²_²º@kkktíÚ•õ ÈS J')êj=Š>úžžžZ­#UÞ®L™¨ %¢²m>zôÝ»wW¹ @Ï^½`k'`Ÿc•?Ϫ6Àرc;¦OŸŽììl¥1•Ñ6kÖ¡¡¡åÊŽeç_¼x{{{vÞÞÞž“þüùs…û¦Î NEÊDeJDeÛÍÎÎb'U·Y¶LUŽ-44-Z´$õ¡”w©>LMq&é2ÅÝK¨5 * Ѷ­8¨ôb©Œæ°Gî8räH¹²¿ûnD"D"¾ýö;²éýúõÃìÙß"99ÉÉɘ5k6çb’·Î(„IDAToVVVˆŠŠR Š”‰Ê”ˆ•½9(Úfe‚ôèÑ£èÑ£;©¥¼KõaåPÿ£Š/¿ü;wîTº^e4‡}úôÁ7ðìÙ3NÙ~~~hÓÆÞÞ>°±©…¹sç°é ,€½½Mš4E“&Máääˆùóç+Ü·¯¾ Â'Ÿt€¥¥•’V´be¢2%beƒTÑ6Õ Ò§OŸâæÍ›èÙ³©kº¬>\·n=nß¾½{÷¬­k!##„ú : ­ZµÂôéÓÊ¥‘ú°† ‹êÃéÓ¾.Ý7™ý"=c娳ûw¥õGêCÒš¡>¤ß¼¾»º%õá;QÝ6¥¦ˆ(H?  ©œDêÃRê0¤>$4Õ’’úP ú õ¡ŽCêCB#]eRj±«KêCBC7{RjR¹á“úPËwBRºôT¡ÛPKZöÁŸÔ‡D!õ¡!õ!Qå®)©µÙ‚’ú¨:¤>Ôrå’ú¨*¤>Ô"¤>$H}Xº¼¤>$@êC‚ (H âýB'»»¶v¥oõ«Ìºªvu4ÕÝ544TÙöU£.5Ž«&Ö²ó_ïÚ¥–´†¡{úPÃü{ö,z÷î¡Ðžõ¼0vÜ8µ ´>†††ì«&Ëž___ºT!@I}¨a~üñ'Lœ8á¸v6¨ÑcTîòª:%%%aÆ hÞ¼y¥ß ¯i!ŸÏÇ©S§8Ë?Ξmkå­Û¼yslܸIII:i"WtþI}¨%õáñcGѳgOXYYÁÜÜ“'Oƒ4Rq………8|ø0üýýáíí{÷îaÍš5®÷î]xxx`Ó¦MJ¿<1oÞ<…BXZZbذa¹‘¬¤‰Çã©­ œ9sf¹ýY³f fÍšÅY¦L“XXXˆ1cÆÀÊÊ ...X»v-'¿<™TEúÄ5kÖ ,, 5B@@Ž9¢sï8®RjQ}(%//[¶nE‡O>©R9¡¡¡˜:u*ÜÝݱuëVôë×ÏŸ?ÇÎ;ѱcG¹yþüóOôêÕ !!! ¬\¹wïÞEhh(âããabb‚9sæT¸]u•ýúõCrr2®_¿ÎæOMME@@g=ešÄï¿ÿ)))ˆŽŽÆ;wpþüùJ×]ÇŽ±sçNÄÆÆ" ÿûßÿàææ†   µ}¡ÕÍ»T"hòD†a&5EÄ™ìÙÅ”[žš"b0©)"fݺµL÷îÝ™ÔÓ±ãgÌúõë8é©)"ÆÑÑ‘¹z“½yƒqrrb眜˜Û·B9é²ùeÿ—·L^º¼õ0vvvœmÉN ñqÌÆuÁŒD"aÄbq…ÆÍ͹té’Âõ¤ë†„„0B¡¹~ý:'ÍÝÝyüø1;Ç888pòÊþŸ””ÄÎgff2††† ·+‹™Í›73½{÷fÄb1ÓµkWfË–-åÊ …LDD;Î8;;³óÎÎÎLdd$'½ì¾U´ýŠÒe§óçÏ3...J׫Žévèu†a•·q]0ó4JéõYQ¬=¸w— š<‘y¯Õ‡RRSDÈÎÎÆÖ­ÛôN:YáºÊÔ‡çÎÃÞ½{àïïÆcèÐ!èÛ×ffòŸÅׯ_‡¡C‡À×ׇ£Ô‹‡··7g]===Î:ª*åwÇ 0p` /^ŒÝ»ǃ°oß^6ªšÄÄÄDŽfQ(t*·oòöCQznn.Ž;†={öâÑ£Gèׯ† ¦²zQÛú°Õ‡²XXX`êÔ)¸{÷®²a#…ƒ ­ZµÄúõëõ£GÂáÃGàåå…ñãÇãüùóåNŸ>#GŽbÆ œ4GGGâäß´)§N‚³³ ºtéŠOÞ ÌÉÛÖ•+W0yòdØÙÙÕ¸`H}¨è²ú¨H}XCÐEõ!QÍשuý ‘VnÔ¤>Ôñ%a)YÕtþ‘úðÆԇ: © Mµ¤¤>Ô¤>$H}¨ãúÐHW™Ô‡Zìê’úÐÐÍžÔ‡Z„Ô‡„Fnø¤>ÔòÔ‡„®=UAè6Ô’–}ð'õ!QEH}¨EH}HT¹kJêCm¶ ¤>$ª©µ\¹¤>$ª ©µ© RÖ„./© ú  R‚x¿ õ¡œ®©5w\¤>¤–ôý½{’ùL'!õ¡†ùï¿sð衳 <ëyaâÄIHII©©u3@I}¨aþ·y3¦N™‚è¨'¸qý,--1vÜx•»¼¤>$õ!©¡]õááC sçN033ƒ/^„Л75Rq¤>,¿ŸŠ–I·OêÃj Òš¦>€ .(ÕL(ƒÔ‡¤>”BêC ªSSDÌ… çww7&ôæ R’úÔ‡²è‚úðêÕ«˜$õaµ©ÿ÷¿ÍX´x1Ž9Œ¦M›ª”‡Ô‡¤>$õa5ª,\ˆ¸¸8ö³[é”››[é–”Ô‡¤>$õá;‚Ô‡©k¤>$H}¨ógˆÔ‡t£&õ¡ŽÇ( ›(Hɪ¦ó'ˆÔ‡6¤>ÔaH}Hhª%%õ¡ õ!AêC‡Ô‡„FºÊ¤>ÔbW—Ô‡„†nö¤>Ô"¤>$4rÃ'õ¡–>$t-è© B·¡–´ìƒ?©‰*BêC-BêC¢Ê]SRj³%õ!QuH}¨åÊ%õ!QUH}¨EH}Hú°&tyI}H€Ô‡APÄû©åtuH}¨¹ã"õ!µ¤ïïÝ“Ìg: ©µÔ*K§š©u3@I}¨RSDjw‡I}HêCRV“úP›ú°ü~*Z&Ý>©«1Hk¢úPúÔ‡RH}¨aõ¡²õH}HêCR¾á]¨ÕÔ‡¤>$õa5«Õ‡Ô‡¤>$õaµ©+¢¤>$õ!©«O}(û9iÙÿ+Û’’úÔ‡¤>|Gú õa Ô‡©uþ ‘únÔ¤>Ôñ%a)YÕtþ‘úðÆԇ: © Mµ¤¤>Ô¤>$H}¨ãúÐHW™Ô‡Zìê’úÐÐÍžÔ‡Z„Ô‡„Fnø¤>ÔòÔ‡„®}… úúH$TC¡ÕgØèëëW.H-,­‘žöÿöÎ=.Ê:ßãïgž™a†á*Ìp.¢¸i`€{ «ÕÖK­&Iæi·¶²Î‹^EnZcçefí–•z¶í°uì®f–®{Ú¶tÓM.‚‚**àй 3Ã\žóB! ÈEG}ޯ׼^ózæ÷{æ7¿Ïó™ßåù=ߟ|;BFfinnÂÝÃsp&ˆŒbßÞ<äUFfZÐú³u*9ÀØqã.:IÙï˜t”Ï(¢ÆFs¼¢Œæ¦&òL§ŒÌð3 ÜÜÝ‰ŽŽ% 0¨Gð·›ÀW¯Ç/ µ‹¼‘‘ŒÌ`·Û±X,í­^rv×n³Ñ~n• #sÍ´ºrÈÈÈ&•‘‘‘M*##›TFFF6©ŒŒL_ôšÝ=|¨D®™«HôøØ‹›41ùgr-ÉÈ\Eš›/nÒ ÈÈÈÈcRÙ¤22²IeddFˆAGf$ ‡ÃŽdwÈqjAAT PˆBßAÔ'´[äøÂΣ¸¹(¥¤¯ç¿•ƒ5¨Ýf£ª²’CÒÐØ ×ôUFx¸{26z¡¡a(Uª^Fu8”ÖØ9QUCÑá“X¬V¹âœµ’ŸŒ £½Ãñªá1©ÃáàûÚï)Ü_À/nJØèða ,38ìv;ååÇØý¯]ˆJ‘ààÐ^;PW6:8}¦ž}%üÛŒ⢂å°¥WI’ØSr‚O¿.D­RâîâK°rZR»âý¸5åvÂ#"äšvŠ–T$*j*QENÖnü þ½LzÎ,‘°œßÎN nŒQ®4'¦$ÆF-Š|úÍ~üõ£¾ Í &Ž$ ©©‘а0¹– cHMÍMØì¶>u³tX$W”“1!ʈ©ÃJ_Óƒ3©$a·Ûå.®¢R©°Ûí}FÑè:&wq¥²+9îî• ©"Q[öuÇ?Ær®·pô£`ˆü cžëk¬sõu“;{v3¥ßþ…¨"tâ‹h=Çbj>‰½+)Éúš6ßTjkêh=¿•¹»›;?=®õŸâïŽÐI?ä©*~™³'>e\Ê(D¬¾ŒlÒá ºx%8,„'ý‰²ìGh©Í¢éàdê×ÁýW¿dÌï£H¼e ZMçž&S;µuµÛ$RóU•.Å+&Ã"“3)ËúÕÅ+ ¾i¹¬¾ŒlÒá ®âCÆ¥|AYΣx~ÎñƒhËÚMÒk¯`4b7ãp8°ŸŸ(qqq!$8”Ñ>LõÏS(\±ûÏS1>AYΣ„%¼Né·¿–M:@Μ9Í~À¹¶VRn½©)S/š¾pë7|‚»›;©©ó5V®Ä!2¤e’$øËÒV‰Î;–öÆb ß(¥£¬Œi‚_K ÖW`?q²ÇøJ’$§Na}ÿü;>øó‘#¾QJ{c1:ïX,m•C.WWˆSI’عs'aaa=Ž]Í×pêöåß¿ÄWïCll,ßlÿŸmÞÔoÚœÜÞ{'N$44”?|Ä~ã¥êz°Z”••1eÊ´Z-ñññ”••]uÝœ~í®‹.˜¶ÆŠÆ`ú.—©¯¿Žb÷nì›>ƒšÿ;¢(¢T*Q*•ˆ¢ñ«¯ŠŠp|·±¤„©¯¾Jû®,ŠÆÐÖX‚‹.x3p}w<–.]Êš5k°]‡¡O[ZZp8477ÇÞ}{Ùüùg½ÒåîÉeÃÆO¸å–[hmmAÅaÙ›sxfNÞa|üñÇ™6mõõõ¤¦¦òôÓO_Û-é•@¾Šœ ή+'þ?—!îÙƒô·ÿƒ†Ä1c¨ß¹‹o^\Á»ëÞáÝuï°}Å‹4de£ŒŽF(-EÚ“‡²´”›Ÿ}Žúÿ-£"'}øÂ‹øãÏú3aqq1Ó§O¿.»ZsçÜCQQ.j—N£ÆÆ²w_~£æææ°aã'Lž<™Ö–t:7òòó¸{öÝýž·¹¹™ŒŒ "##Ñh4èõzæÌ™Ã?ÿùÏaÿ —ó癕•ÅO>ž¢¢¢Kê6Pm^yå>ÿüsæÌ™Óãø¥ò«Tª—ëº1iç ãôz=’ä@ ALO§(a/¯ÄÝϯWzw??ƽõEc"{ ‚ƒ‘$ ƒAÏ™3g†µlÖóO’X­Öî÷¯¼ò äååQ]]V«åÙgŸ½¦»½]F-*ÚZ­¡±©‘¨¨(&Þ4‘ææ&4-{÷í%mþ}—4(@rr2=ö¹¹¹˜L¦>Ó,_¾œC‡‘ŸŸÏ±cǨªªêñù®]»ØµkuuuÜ}÷Ý,Z´è’ß{¡6¦OmA   `PùS®kÞ¤­­­h4Z$IB¡P P(8©÷!æ¾ý扚1ƒãþ¾ˆ¢ˆB¡@’$4×~[´®–ðÂ×`X·no¾ù&F£www^zé%¶lÙrÍO»Œº¿h?†ï¿?Cõéj4-……,H»ŸÄĤkÓ¦M„„„°hÑ" dddÐØøCŒ­>ú¨»½¼¼XµjUs¬]»–   t:ìß¿@Ú¬^½º[›•+Wö©ÍªU«xî¹çX¶lYÍ”’0å±1©Ýn»¢3š‚ @Ý;#[­t.ï¿…ëÊ#?ŒQ::,½Ò·µëó<:[ôy_]]Mlll¯æ¾¾÷j0ÝNŸ>R¡Àѽ>XÂj³áâ¢áTå)&Mš4 ó¸ºjyá…e¼ðÂ2$IâèÑ£¬Y³–ùóïeÛ¶mÝ=(£1¨ßzssÓu¦TŠØl¶KêS]]MLLÌEµéè°pゥÜ{o*«W¯æá‡æí·ÿ<àü—*×mI%éÊÜ+ussÃlnG¡èzŽ9´¾‰c_~ÙožCë×aî4± €B!`2µãææÖçý©‹Ý»ºœ÷’$áïïÏÑ£G8w®µûÕÚÚâD÷I§[nn›>ÛHdä›ñððÄÃÓÖÖBCCÉÉÍfËÖ/UÞ¨¨(þøÇ?°{wVz¬¨¨¸¤.—£Ï¥´¹ð¼<ð›6mtþK]_Wà>镹èüüü¨­­ëŒ4pú öìbG‡SúôÓ´ÖÔöJßZSKùòåÄÞœ€ýè1¤Ú³€@mm~~~#nÒ‡zôôtÊË˱Z­”””ðÀ¿q“F·œÜ6nÚÈè°0šš›Ðj\)--åpi)J¥’––VB‚ƒÉÊÎbËÖ-—<ßôéw²yófjjj°ÙlTVV²lÙ2ºÓÜwß},^ü{ªªªhlldÉ’%C6i—6}jóã´‡ƒœœüýý•ß)Lz%.8»Í„¶þ#N.aõZìsïÁ¶jAž^ŒYx?Û““8¸u tttpð¯[ÙžœÄØÅOèã‹uõ›8îº Åë¯sré3èÎmÀn3¨IŸzê)“˜5k6ƒ>ø3gμ&WI’DîžÎ4$$”æ–f\\4”W”“:o>éÿžÎñãÇQ)•´¶¶b4ÉÊþŽ­½¸Q—,y†Ï>ÛL||<>>¾Ü~û´µµóþûïu§Yºt QQQ$%%3aÂŒFãMڥ͌3ûÔ¦+­»»žž^<óÌÖ¬YsÙù‡Ó¤Bú㋤5ú3 õgl΋…O7nàáEŸŽ5‡^Ât6C“—ÙŒ£®Et4êGæû¶v9ÌqO]çä†ÉFìO†ÁÓóŸÞ±c¨Q4©Tä8Àø÷ãÐúNÆoüó\¯¼÷î;Ìš=O/ïÇ‹«:Øülþ>cÀº9r”ÌwÞÆh4ÒÞÞŽ««ŽÊÊJæÍ½‡øøÎVïÄÉdþå ¢ÃjA㢥úôiîœ>”[§"30þãío˜;-™8cçJ­êªJþ’™9Ôö#¿˜¡ñÔzÆß¶•Ó¦³/s/)·ÝŽ`6ã8|ËÚÿÆðüóÍšy~2Iè\l¼Ó«¯"ee#¸¹! ìÛµ¯G£ OzC;îÂý^\ÈýÑt]Eö¸nßîÜA@@­-­¸ê´TVždú´_FMM ’$¡sÕ‘:o>6~B@@çÚÎáïïÏöÛ¹õ)ƒ*áÅtiºÁvY⊣‘xØjªFç˨Ÿ£2å§dgg‘œ<EM Ž'°ûúà°˜ùáAn ‡("åä¢ðõÅîëKΞ\¤©?cÔOrÐyÇb5Uw—»q€‘¯§‡¤/G7///jkkP©]¨ªªfjÊm„‡PWW‡ÍfC’:'å\µZfͼ‹­ýƒÁ€ÉdÂg”ï ëíbºÜh¬¹%e„+L¥ ¢­±Wï8B à˜ù&¾Ý¾›ããñžwøûáp8º‹!€^8w YÙìÚ…)9‰1 UÄÑÖX‚J4âåvö–t ¿ÿ—wLÃjµRSSÃ]³fhÄb6c±Xè°X°Û¨Õ*$‡„Á×—´Ô4 ö‚ä`ö¬»nðzv“^µ»žA©œÈÏ rÊ;”e?BXjM1“ÉÊÌÃU«"¤¼ ƒÁ«+’í¦6jkk9U¸—ö‚}x>‹_Ì7h…)D&u>ôí”zc‡¹ Ý<=<˜7wf³‹¥ƒŽ *¥FÓ}“_D¥•R‰··7èt:Ôjµ¦åFèîúFeP™¿Š¼' ùQø”“·®¤¬L¢  “ÉŒ¥£s"ÄE­F«Õàs;Ä,J&,þ¹î<yObs(ˆÊ¸¡/žËÕM©Tâææ†N×€În·ŸÐÞŽ Ý«À J¥²;(·lPg0é˜8BPJÒ¤±xjÃcR…BA ±ÒÒÒÜã™;™+(Šxyzƒ¯Þµ‹K¯4ÁÞ Ú:|¸ÙÎWyÇÙšuT®8'ÀE­äæ¸ >½vTÒ˜T©R1:<œ   î½GäqÎÕC„N]”J\4Úîgn/üsçZ•?¡~HÈHΡݛۘ´Û¨JJ¥J®åk…BÁh_¹‹{Mi&WŒŒsÓÝ’VWUʵ!#ãŒÝáôÇɃ'æÿlÃU;v]IEND®B`‚KCemu-0.5.1/doc/sys-z9001.jpg0000644000175000017500000002201612417262523015620 0ustar glaubitzglaubitzÿØÿàJFIFHHÿÛC  !"$"$ÿÛCÿÀ´,"ÿÄÿÄB!1AQ"aq‘2B¡±Ñ#3RrÁðCb‚D’¢á$%&²ñSÿÄÿÄ#!1AQ2aq"ÿÚ ?ŠèçF9£’VRò¡µ8Ð9¥·ÑY‘5(A($€–PD€A¨À@ ‚ÉÔhÀÊV$%„0Œ#¡F9(Ä~ÝêK‹Z7 {ªË…ÒÝB÷IWY C³žù*òó!cuS†û!…޹}"Y)²Ú©Ãøó8YÊϤ;ÅkŒvÚÆ"{¿D¦_íIïk7sš©L6¶ï,e\p8- ®JãÄ×'殩Ík¹‡»aþÑÉHÿ1GšŠ²ÓŒêÓ€?ýt6ëYn6 ¤¹qºš¦Ð74×—=ÿà üÆßŠÜYu‹¸ÔmügWç”zQíŒî ˜Pq½êGh§h®ð²ãÿn0µ–;Ýêbç]¬í¦‹O“D€¼ŸV“°ø©³]žöÑh¢Úî4×(_53‰Èc{\0Zá̦€K‚$áM¸Qx!$„°ˆ„5Û®2ßDÍ( pª< ºGÕ¥6fÎO´h©ÏGóNÉpÜnŒqÜÿº7ËPsNz¦¼ð;pKT–=Žnr«ñR­äÒQ7’$†üÒÀXÅÐ,",D6¥„@%5P AJ¢ÀJj ò¢žXiÀ5Å<Œ ÏÍÑY›‡pÕ¦¶´Õ<}ØŸÄà,ÕÏé:S–ÛmÌ`èù¨ûàa9½´tÀ£ÖÜ(h™ª®®úÞâW>1âì‰.2FÃ÷bòÁQK<²8ºIâz¸å\ñ_”û»5Ïé ‡©2Ø¥–©ã¤LÛæp³?¥ Çå´Ä::WÂç¹Ê0¹âĽªæåÅ×úòD· ZÓ÷còÁRºI$qsÞçÌ“”­ õÂKÝ>Ó›žÝÕÉ"@sÏemK~¸S´1®…ÌþÇà…§‡/×L:ŠÓ9ŒïâÊ<6c¾]Ïà´”_GÍŒ‡^oÆþ4ÔïmGÜtê;¨ÏÉ„íS¢ªâkŒ¬xPm‚XßÔ•šŽõ{~i©ë+2~Þþã²èTV®¶àÐÚS(Æ%©>!=°Û{}¡ê¦M_S3C|RŒÇåôùŒz½½—>_“ŒýbçŽÞØê.¬UÒãKDÞ¬añú^ªæ“‡ørˆõYk¤ÝRìßÊ0;lz=¦÷.çžóí¶}šÑÕ’'ï¸ÿÎî$ôXeù乄‡_W$qˆ dTÑ á‘0>\ñËÔíÉ=o˜èÜâHÜdäúï×ß¹=“0ÑÔO´qœwíùLžd+*+;¢{d’MÛ÷@ÛûþýV6Úµ}H³ñ.¹Š+€Ò÷šÉ[ÈžÙ{­p vîlð@èK&dnŒÃ€ÁPEºz?=¦­ÔãŸ'ž#ðæß[៩±¢¨c¾šgîô®¤<¼fùá?îéñ]A4SFÙ"‘²1Ã!Í9i2-"Œ’Ž Jp„Ñ”yÁÝÁÝT¤49¹Âu»€Sl`òJc°í%i…ÕÚo#{†QLàã¡Ø”íÀU–2”ªXÆw<Êt’ÖáH‚)$kIú,VCZ–²Yt³Ðçë—ZXÈæÖ¿[¾Mʤ®ãë;\))ªjÞ”» i?Ÿà—cq¦ O6 'NÏ'`¹e×é*øýM¡¢§¡føs[­Ø÷;|VVçÄ7«™&¶åQ0?t¼†‡/’¹…©¹;]Êûa¶}ríN9²3­ÞÛrY‹ŸÒ]² ²Ýoš¥Ûáò»H÷ÀÿÂå%ÄÉ%öwþªçŠ|§Úµ×_¤>"¬ÔØ&ŽŽ3÷an1ñ;¬uÖ©Ò™'š¢g¸î]—ñ)'ŸÑÎzçñÿ¹Œyæ¸ÔG–Q7Ü7LG s/’F÷O%b% œ{òø¢‰’ÔL"†9'‘Çf±¥Çàó9.i¸P~ÔѸnž-¼âÚïÕimGÜMpg‹%#-ðã.–­ú˹ MCôÃöóÿº]*n3GƒN<6iÕ§¹Èå¸YçåÆ|ªc\ÀLÓ'†#Èy07$ü•ý«ƒø¢æá¶šHzËTíøçø.™E-²ÚÀË¢’Ÿ8Ñ&œ¹ù˜uðá‘¿"j+ª*&gÊ6,`àA-Û¦¦êaõ ¿&ü*xÙª£»}9÷{’wçxi†–ÀÜóÆHϺ¿·RY-@„Y)ãcJ5ÈOlžG!Íç±ÇtŒ´Œda?‰t{{±+¹|œ³©ãá—|´IðrÃ/.U¤ÆDšŠê™·}K‹yê‡V9rÒïú”bF0ZZ1‚ÑÌsÛÜaÃÝK½Ç1«'n€‚r=.ý/S©lõRà–¹îíMýöi÷AÊÊÕiXA'jÎÄ7¯>^ù 3£§–c†4¼ž­ëž£ß$æoðœi©l”ñ`ÉçÇNŸ.Ý>žšDÑäè½ÊAœ¦²Nü:gOžß|›Û{:[e583QJvâÛe#ŒP9Õ3 ´F3º¡©ºßî{3M '¶ïNc°ÕWÜ((#.¨¨Ž0:eg긢j‚Yk£sÇ/O+UWõ JPjkfÖáÎIŸú©trÓÕÒ ¨¥cãwÙp-& Ú-Duµ ºãX÷´ó‡KU í¶§ÇIOWâÆN2æcÌ~IËŒRU5´¢"Ȇî”?ÌO÷è“Ef¤Ž6ÈØ˜XOïsŸ‰æž¬¼6Ãø}7žíúi©.Tuc”x2;mn×{GÙ1-A+§µTIn”œÍâw»ß,*½®•í€É(Sp>ŠÖÙW[`yL`nן(øôU©Üsò/uÖï-ꈈÇüÕ0.ÝÍæßÅ\ÑVRÖÂ&¤¨ŽhÏÞc²¡S\)*@ÚÇ„ì}Šƒ[ôΜÕÐK%º¨ÿ™NpîÞEû6‰ÍGr½Û<·:1]ÿ˜¥`?ÔÏÑ\Úît(õÑT²\}¦òs}ÁÜ*”&‚ÃPÛbÂ6­%M€ÇäoÌ'ií9ÔÞ}QµÙÈU2×e¦OŽêª(xrzŠg–I©­ÈØà× ÿˆ.ŒÁ-Lî‡$èñŸ’ëÿJ ÇÔ;?5Ã*¢’9IŽ'IqÏä´ñó—kX«a“ï`ú§ÃÎG¢Í¶XÜtçK¿…ÛüRËË@Wë u|Døâqó0g¿UYÁãi¨Ù>êè°Ñ\ùpÔ©¸YÉÊyô­ßCˆô;„Óà‘£$PUŽ‚[•HŽª¾ž×ûÒ‡8þ<.•hà>¤c'­©šîò†_ˆÏ¨õ+,¼¾½ªc·!¤‚z¹„4tóTÊ~äL.'äµv¯£ž#¬aš±´öºp59ÕÜ7¾‘ýJë4Õ´0øÊzHÇ Æù,Ý⢮:÷ºI$—@50´œåœ¥Œ|pÏ¢ÊþE¼Eº‡øNÚáþ#YQuœ<0° â2Üã|YÉ æžíGnƒM¢×MAÁ‘€âÀtÈ y‡ðU"&·ÿNd> §2þ[·‚Aü®òƒîQ‰$ýï†<\™|06ñ噃ÑÃqßr²Ë;{TÇI••Óɉgt³1úZ3€e`Èô$g~Gn’!~†67'T.>ÎË1ëºCÊ8ä"lœÆ3ªžOQŸ/©S)¨åªÙ´ïlrjË0ûÈÿ®‡¦p£jFÙÝãk·ØïÍ’|rp4¿$‚Ìäœo£Íæ÷Ñ =œ¯é8rY2ê§3':¶ò¸¶þ È8 Žªæ–×INCƒ Þ:Ÿ¹ÈØ|mždsÊ[ ¥5²ªwe‘:<œí¾“_ö»qœ×+zKY‡LàäÖîÏ>™ mÈà‚¯è`/s#cG]€YÛÏZhK£æ¢aɬÝ#]SÑSSŒE[޽vä£\®öëteõ51³ÆV&²ûÄWp| s÷Ïߺ –7S+].y½þQýú*˜Ò[Wñ¬õ.1Y¨Ÿ)åâ8`*z˜.•î]+exqýÔ íŸÕ&é{¶Y¡t5ç#S Ô;ŸÑVVÜ8‚ëE ¬ zI™’÷­˜ÛéËe¤ñý—²åÆÏh„%§€†§ ’ª$âiêî‚ÝDøó©¾<îé¶7N§­ ®¯–cXXÝeç˨ Ξ]=“·® ¶[iãlmm|çf€#Pîw¹'ÂP)8záYQ'üA;êã~Ý2ÆØl¦ÇqµÙcuº‰îª™€¹”ñ ¹Œïê ÖÓñö(gŠqELæµÆ¸‡çÝXÅg³Z.35´g9Ïæz޹ö ìpÝζâÙ]GõR˜Ø~Ño®U”°E#™¨œ³v€â1ðYŠþ!®ªÑ–ÞfŽMÅKšàÍ9øn«-Šª–éþ%Sp’ªW4·.ÃOĢϰ»|‚)øž÷g k~)3‰«‰\tchÚ0>J oÛ)«â¡tŽ’yZÆçNy¬ËHs¤…Á’9ºu€3…7”ÛIC󌌶&}£ïÙ9Eu¬iv†š•Ž: šxy6iZé ÁyÙªŽ0èèLsJòM.`íuæ1¥µÐº™Î?›éñBºÓA^[TÑ¢^l¨Ú_ÿP檭–zš™ÝS<Ò¿›ŸýÑRQÓÑDc§Œ08娿Or¦Ù?Ð­Ž¦ýkÙá·ja×fLÑù;ð*ÚÑx¡¹—2¹³0~ÒZö{‚‘. œpoÓSu²0<gÄês°ÜÏÀ'“ìô¾nRIÎáâõû-fR§LŸÒÏT`}öö\\…Ú¾“›ÿÃêOg3ÿ°\\ÖØ]FyvfXc”bHÚñêwÐcx&téw™¿ª˜F ^3ÉiìZT½•~ö-`}è÷ü9¦ÄÍuM3¢˜H6®´¤>žñ#£asNC±ºaeEU,²²)ž\:sѸ»Æ¡}Ý—ÀrßVŸÐþarÖׇ‹QÃש\)ë2t,ƒý'Ÿëð\Ÿ“ŽîÛx¯tܨWˆ¤}3j atôÎñchæì}¦üZHø…qCBꘛ3^ß ã-p9ÈV´ôE¹n£Ü®>šmÏa¦°En–@Ýô²n=Xí¶Üê®(lÓ¸K3ƒK\ç·qâ4`JÞí{v# …®§£¥§ýÌ `Ô^4žxíŸNå:÷±.sƒ@æJ­¥QC`£§S†’Ýpw,õnydl­bŠ8›†4 €'©ÇsÕQ^øºÑl:q$Íò²u|SÄ¢cµÓxNÚݲZ´Ûë•Ö‚ß}ULlÆäguºq长 5#çw ümýüÕ$v1$á×J¹jçÎ|6ïŒõôüÄÐÛíðÆß* 烖‚ãÛ%\Àn)꡽ܿmw¯tû¶“é¶ÿß%.’Ùo¢¤3±±Ã§wI8ä;žÊ‹‰øÞj ¹m¶ú!5S¤<åÀ|07þ÷EqáÚþ&Žš¾jϪ aišÇ÷±ß+Y„§Û}%Þøª’ÐÖ³A¯3\OcÚZþÃæ ¾;÷Ûb¨‚ðÍd¶hÁ˜t#ôZ E²šÓge=o„Ø©ÉÒù<÷ä ³ˆ-î§­‡)þ·U˜±¬Ã]“Ï=¼*ŸÑ¤Ù8v’’ØÈîtñ<ÀIJZì ç9è7»u%%LFIqž d¸ ž`õÑVZá¾^jê)¸…òÇD~X tàŒ@þú«û/[¬o2ÀíÃI2I>üÑÀPREyâH§¤¼Lú\×ÇmÒq¾AÏ0®¬ÖZ[$¬sØ)Çí žwÏR~ wÒ¶èË}¶™Õo2h|ƒf·|dwQYÃ÷¹®ì¸\«[Zì2&œ7IîOD_ì$$޶Jš€I;©’V "\yŽýù«¹¼ Ffs©ý"o3î‘5Lž [O ŸÌü2¥ÐÚŸQ'Šá¤ow_e-ž´H$¬hÓØ^vgPÕ®Ë3‘€‘ɼÇǺ³¥¥†š=1·Üže:å!£d``¦hán^wè;¤WV¶ YîýÍ××½ï,ˆ—¼ýáýw-.M¦ÕÕ™fÐNÿÂ:2…¦¸sŽJª´S¾"e¹{»ï…DÃRí-h•8庭hìU2dµî§7% –àöI¥¤»S¼ÇòRÃF:-fÑtËý&FOÖ9ûÂâXß ÒôqWPOG8Ìr°±ßÁ.ÖçÐÜg¤™ºd‰å¤N«¯˜Øª-FÉ÷BG-Óda\¥¢@õ@#jT¥`°­(j ’ÓT™3G/G¡VáUq{.›K\ørf³WFíü2ìµÃ»OOï+¨ðýú‚õKãQL €óÆíœÏqýW¢­t 0LßÇ%„òõ¡S館¡‘·MKÀaûMÙÌôpíø‡“ÃóŽnù«eïEÊß-²IxƸ݇4÷ )ÂsIqk)nne5_ ã³$ý¢ÙêÏUËe´aààê;cõÈÃRâsâ?|ÿ~ªÉ¬† Ö—20vØ-+°æ–¸0ª®6¸åaÒÀöóÐáœ{')íG]s·F~­ P|îÛ-n¦³ÝaÀW*ªï¬\®-©k]åc\G—> ãÙo"´QÃ1—ÂÜtžCàŽ{µ¶óºw¸ycŒnUL®0Y*5p¶QÒš‹‹àºpçÍŒ‘ÛÕg®œBøìQK”N«cÞcÖØ‰‘ÜsÏ©Ù*ùÃPqM\uÒWTB4º ˆpNjχ­L°PÉŽ‚*vùµ}IÏ.Ÿª©byf8zоóKUoâ:©žù\$cD¾hùçÀöô+Acáª;$Î’•á±–áÁíûêM3‹­•wgZí`ÏRæ;D¤b2à Æyþ 2ûgU]¡¯»ÉQáÃ0-Ž'uèpäªîö^8¤‚âÊ e+ëdñ4½À᣾;¨7޾]®ª­®lôÍ“TPÄâß/±Ø-C,6†FéÅ0yÜæ´7žý>Uq/RÙh)Ž‚µÒ´ˆœ\ݶÜõöDçõêÞ{u®(-T4ñµ$„|IÙR^ø–VPÅÿÒšá&X&kIldt>¾ÿŠ­¡·Ü¸¾ÞÙ/R@èå:Y@»lG~‹WÃÖVZiMi‹9n=sº\Oì36û+x–ž*«ÅL’VB $kNÌã-Çå²ÖZmÂ’•”®{•¾PÑŽÊÆVÓÑÇâÔ¸0Miß ë5²16Vòis½T\ùÑ넉ê)©<Œh¨Ÿ–‘öGºŽ ž±äÎÐ÷<ýÞJu°¼êlaŒêã×Ù\ÓÓÇpÆàõ=J‹~Í_l´ENÀeóc“3¯!·$ f¦¢:veç~ƒ©ShãÞÖ4¹Ç*{Èipc´GÕÇ™Pî—-³+°>ë¨du7 5;ËNË;–—!STÍY!ŠCz•co d-Ôà »§é)c§`O¦§|Ç‚G~GjèÔQÆä•wn¥ñàîãÍ;EFȶî<Ê–Öz-1Å6‰äœðXw jXÊéÆ3´ÀÂæŸK–|UEw…‡KƉ°9ÈŸ†ßº>;5ôϦ©g‰¹ŒáTºMŽä‡z.‘yú:kšémue®éÛú‡%ƒºÛë-•&šºðIÐ8lïcÈ­;è•®²AI÷$å9KF’‚74H`ŽkIS`ÀOSTMM(’–»—¡tÀJZDՍРˆ×H58Ë ÎÏþOÓåÙ_ðŸVÚÚ;}E+NþÜ~ÝÇ¡X¶’AÁ Í•P×4E^tJPþÏî=yû¨ÏÅ2œ+´îVÛ…%Ê‘µ4S¶hÈ´òô=Š••ÂmÕ÷^®ÓÈX¾3˜åoõ ¨p§P^Ø"qõ˜Þ'µü§¯æ¸sñÜZ˵õM\9ÃK{Ÿè£{5d6öË8v—ÈþšŽp¯(í¬—wnL‚án˜Û^¥/)\€ŽÀHr)ddm.{ƒ@î©n7"ö¸FtF9»º‹OIu×ÄK"ßߠY»•ĵÄk”õèZº÷Èÿ›;œuRm¶Ì$»¹g–K‘ŠŽYåñê2rs…¡†6µ˜`$¶0ц€²‰õ'fgº™6}¤¥’¡ØhÛ©WÔp2„mçºzÜóXµÇÚKciå²V‚=RƒKã’ßYÚFd0Ô¼z!§Ñ\%n®‰(ÜÇ“Ëe ío¢¹ÒšjúhçˆôpåêE8"À)—n]ÄG51Md©³Ÿ1ÁöýV¶–ª‚ Ó×SKM(û²7ö=W¢4án¢¸@a­¦ŠxÏG·?þ-fi¸ý<÷É;.Ä?FÌ:¦±ÔøgŸ1Ë~æ>+t¶×Úç0Ü)%§vv.W{E\›é6ý¢ŒÐ!(tÊ©l*>¨ÑeÁZL“beiŽ3ìÓ» ݾ­= TôÆ *è¥tƒCgF}GOu’z–¢Zy|HŸ¤ò=ˆìGPžXÌ»ØÜð>w¢dg&Ô Ü?˜u÷çîºE5D50²jyY,okšr áAx×J5ÝÝwòþŸ.Éþâ;•‚¤ˆ\çEŸÚA'Ù?¡\~Of{w2˜¨“s=ªá®%·_ažOp<ð¼ù‡·qê®—=šZ–jÃ({£Î>Éæ°è˜«®¤¢!ÕNsZA éÛÛ+@à àú(U4AÃö`ü%9~Í–}βí# ¢V€}§´GôSív¨á?³a|‡›Žä«:+c![bi98æJ²Œ¸c@š\CÙŠj&G‡I‡;·@¥"Ê"@%+É¢WVÃJ̸åÝ+•Ù±“?™ýO@³uõâ7=åòý”Úr'\®ÀÉPý-èÕI$Õòøl¬Ï.Þé0ÃQ]6©3§¿æ=•í# ` wY\šHnÝoŽ‚w=Õ“@–ï° ÞÙm/ijŒ7˜ot¤=‘k·™Ï‰ "1ø«ø¢kÐ hh hZãŽÑh%5ž¨ÀJ |qgh¡d}ZHBÂ-ýå SQ8<,Ô`Ф¹©{#ÀOcHZ›Ô£ÔÎáLsG ™|Xß9HÉ,èà£ÖSÒÕÀè*¡Šxͯh!KÐ;’N–ù+„ç|AôsG6©¬ÕV?C©‡ØóŠÀÝìWkKËkh¤cù˜~!z±ŸÂ>I†20XÒ¢Öy>ÓqúyÇ¢®áá;=Ú×S2 ¾ì±44ç׿Årî&áK‘åÒFf§é3GDz¼ë¤Þ;P‚#)DIU»û]È…4M [Du¾YÃg÷wЬiK#žê·¾)ké ²ªÝRÉX÷1ÀêŽXݱõ-÷ ñë_¢ŽôC]ɵl˜t÷X:j½ 1HÑ$$îÇ~c±EQH4éI’!Ì}æ{þ«'‡sqxçöïqÈÉ×Ææ½ŽiÈ!++‹p¿\,‚g¥Ïšž^Ç¡]RÃ}·Þ©¼Z9|ÀyãvÎo¸þ«“,,kµ®QeT •ÎV©;4º‰ã‚2ù\ÏÜn’Te±Ÿ.ýÕu¹ò¸ÉPý³³U%EdµoÄ—r¨ÿðü‹U"eeÇŽ Ï~ÿÞá*Ýn|®Íœg`yŸSðKµÛ\Ò$—Kžw>êò&–·¢Ê徚HL0²6à1Ð)°¼†´džAQ>I2â´–Ûc)ôÈò]'à ´Õ²Öر,û¿ ì­šÔRÀZã‹;@5, ‚9eoŒE+"ÔÀ-! ’äEÈ"Š ²ôZŠ„yHôG«ÑN”Pæ– l;Ñw¢z-œr›ÔŒ;Ñsº&Ÿ û©Ý~ˆõÂ!c›Ñ%Ç;)ŽÜr ‰#Ï-•BÑ‚š‘­{ ^Ðæˆ#)oÔ×nKŠ© âµ\ ¥¤Šs¿y õoè¹õ÷…®ö‡9ÓS™¡æÅæoDzíç%!àƒÉoŽwç–wðó¿-ˆÂ,®ÇÄi¹‡HÈ…4ç1€}ÇUÍ8‡‡.Vy¸s啃-?¢¹&_­M¶v©§©æ’ âyk‚ŒÜŽi`¥«)îTš—A+L¡¾CFZïnÉu¯¡¨mE-Kã•»‡3 ¤gÊ}”3Ícž1x×U°qMuÒÓ™bk%k‹KÛ¶¡ßU•>n”O;{“…ÖÆÐYà‰øn–eÞçršp}t€‘O^»/?;%oŒ¦@š¾]ÉÁÏÀÿ¨ø…qAEVÚŽä÷GINØÙ€0¥´ea•¹5œ„€Si£|Ï ¹%5n£’¦@Æާ²ÕPÒEKk]Ô÷Nb["ÙFÚfê 3ÙO))¡i"m8 îø’@K lqE£ÕÍæk"(ϲ$|ÑUZ C(‘$Q"G’€‡’”2ˆ n%6G„hF‹ª4£ †’ˆ”h ö‡J4±¸ÝMI#)Ê*µÄ„“ºŸ$Ûò*; szl´•6#“’ÆY#ö»b2 ˜àFØIÒIتÑ0÷Þ¥©s¦·¸SÈN|3öOè²uœ)p¦qSHÌrsF¦Ÿ’ìì…ç“ “ ;þðtáç²k.c,¼{æpó…KL>¬Ô²TÜbý“\âØiâ¾ ¶Ýêügæ¿€oî¡ÁÃáì d`ûÍÜ.O'“­Ólq³¶v:Iª^1Ãz4+(iÛ@ÙZýU€cªS)™žY\Wñò¼·÷‘^ÖFÊ}¶Ý5T€5¸hæîÊÊßjtïÌ-©!hà§Šƒ#hvOø4^è”t‘ÓD#Œc¹î¤i)â"ücØÓZœ Ft Lh€JA Ö’$2‹% ú S! JN¤3²`d¢%æì€"PE”EÅÏdçDLƈ ‚a¨ ¤B𠂩Р: A ‰Ù`  ˆ@XÓ‚6±£pA8)@±É˜&¡Ö~õ©Èy\Ù~õ¤ýaRSÍûÈšO|`¡OGOòDßsº-6”‘°8AÆÉA4àÂ2‚ ÂIë„LAžHÙ¢ÎB$AÑ; ‚¨ ꌠ‚)ÇÿÙKCemu-0.5.1/doc/Makefile.am0000644000175000017500000000242212417262523015552 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in IMAGES = \ sys-a5105.jpg \ sys-kc855.jpg \ sys-kc85.jpg \ sys-lc80.jpg \ sys-poly880.jpg \ sys-z1013.jpg \ sys-z9001.jpg \ sys-xy4131.jpg \ window-audio.png \ window-colors.png \ window-disk.png \ window-module-kc85.png \ window-module-z1013.png \ window-module-z9001.png \ window-tape.png \ window-profile-1.png \ window-profile-2.png \ window-profile-3.png \ window-profile-4.png \ window-profile-5.png \ window-savemem.png \ window-select-profile.png \ window-profile-1_small.png \ window-profile-2_small.png \ window-profile-3_small.png \ window-profile-4_small.png \ window-profile-5_small.png \ window-savemem_small.png \ window-select-profile_small.png \ window-plotter-1.png \ window-plotter-1_small.png \ window-plotter-2.png \ window-plotter-2_small.png \ window-screenshot.png \ window-video.png \ window-keyboard-kc85.png \ window-keyboard-kc85_small.png \ window-keyboard-lc80.png \ window-keyboard-poly880.png \ window-keyboard-poly880_small.png \ window-keyboard-z9001.png \ window-keyboard-z9001_small.png \ kcemu.png docdir = $(pkgdatadir)/doc doc_DATA = \ kcemurc.sample \ kcemu-help.xml \ $(IMAGES) EXTRA_DIST = $(pkgdata_DATA) kcemurc.sample kcemu-help.xml.in $(IMAGES) KCemu-0.5.1/doc/window-profile-4_small.png0000644000175000017500000026436512417262523020542 0ustar glaubitzglaubitz‰PNG  IHDRôGWˆ¾QsRGB®Îé IDATxÚì½wœTåõøÿ¾múle ,,¤HQAŠ hTD±¡âÇBl`‹šª±&j4ÆÞ“&¶¨Q#ÖØ½¡"6–^Ø2»;}nýýqg‡-3³³ –ïçw¯}í2sïÓÎó<§Ÿ#|ÆõÂS÷üŸ X'ÏݯªÿÀ×-,pÀpÀ~PzñdÃÖͳ7.[úêë-AˆZ–kþù·>½ËèÑû;¦HÓ´^5é€8à€ìb.€išÈа²Ób ]G‘EV|õu|ÕêU¯<ñ—sŽŽºàÖ§Ž:ê˜# KÖCmaÙë  ©I,ËÂ,%mÅ2M¼bA@K%QÕ$‚à}pÀØ™òùÚÍM¬úêcdEÁ²¬nO˜†A ¤‚ &SS4Û"Qq鿟ü·ŽÒŠOŠ¢ðß¿`ÅŠ/P&NÝ.E0pÈþrå€o 6ŠPkY–ðø‹yù_÷pÞµrÉI{RTVÅQg_Åß®]—½Æ)¿¼…KOžÁÍKW!¢(:XpÀœôR@7-Cõ/C×M¶6µQQÀ%K$Uƒ–p Ã4 ø<ù݆É÷­ü²,Pd™Í­`……×í¢¬È‡n=ö/"šnðíªUx$ƒ’Òr¶44Q\T„ÛãaÓÆŒ;Qpy8PØ™%¦­›˜8~,ñDŠhê[¨í_ޮĒ*ªªSQdÄÈѬª{AÚËÐ䃆ɖeš¦Iˆ.LÓD7tJ+j¸üÔ™ô<šKî~†æm-„ë©0„±Sög΂sÓjÃtØoÈ-”[4mÛÂîËù`ÍV´T’}Ç–òåÆ&R–3ÕÆ#ËqËk·…iiõP\À´,LËnCLDÃÚ.ð é?¬öï- Ó©ýy$±Ãߘ¦e·)I¬Û´•Iµ.‚>7’(P·¹­I*û•¢éÛ™ I´Ïy»5¯ÝÆW¿i#¿;~2Ÿ¯j`éÛ+¹éü9<ûÎw|¹º{~u§þéfì1ŽX<‚€$€i9÷…äÃ4‘dÓÐA”Y»f £úûøzÕ&† @Kc=ýм4µ@°(ˆ,)€…ašèº†LÚ›½ýÀ¦…eYÔ¯ûŽÊA#™?FàÆgV bš3:Mבe—}‘8à€Ý@ECav^ÊîcjxìW¹å¼Ù<÷þÚTÆ”8xÚxîú÷r$IdXÿ"B)h‰$·4R]¬ÐW1¤ ¿—HófÜá¤IIÀ©«„S"555464 è1|%H&㘉¼%ý1Mƒh¨i‚Á¦i‘Ò4D#Á‚Ù{ð«»Þ@Ó-n:w®ùÇ{lÚ”@0bø|>Ü.…¦˜„lÆ(Ê4…U\r4Mc¿Iý)/ ðÖçŸ,.áòû^§nk‚‹ŽÛƒ÷Wl$ R·j-A‘xJ'¦»8 ÊÖ8Ûòt 1ÍI¦I4çøƒgðêGkxý“o¸á¼Ù<üÒ—¬jL, f8üvÁ:£/7,Ó– hŽ œÀÅ÷= @J("iùh‰¤$?»ùr¶5…1 --I8?ÎóÓõGšBmLYEcK”ÀÝÏ|Áú6 ¯lrê!ã¹õÉÏ(­@¿ê¬od·ÞÂâyã‰%TNš3Žé#,[þ לu†–pä¾£ùÓ™{ãwÃü}Çpþüñ|øÅJFT¹¸úôýørå:‚rŠ«ÏØŸõ›¶²aãf®[<‡•«ÖâRd Ó$O2¤:À¦†6Â)‰Ö躎® *—¸æ¬Ñ?@c(ÂðrƒÓ ÀÇìNM@cKC3C”²¥)‚"‰Œäçº%sØÚfÒÈJ>¯kÀEœóçG7L™6œ¹S*Y¿i’(8ûÃùq~²ý˜¢`kÞTUg—]váÜ¿ü‡©ãqÝ9³ùÛÒÏøf‹Á€Ê24ÝÈhì ËÈe[[g‘LéÈ’H$ÔÀ¢ ›‰)ýâÎÜWdrä>üÃ<î½ú\Þ½ÀÜ€ÁDå(Öè³QHa9ü¶tͰH¥’ èâ)5ÛâŒQ…$(ŠÂÖV%I ßÇÊUk¸ãüYÔmj¥_‰M7Ù{â ž}ç;LÓâ±7VrÚÏ\†ÁË›¨­,fò¨jÂÑ8†Wóægëp»\ÔV³jc3¢$1jÔ.ÌÿýR¦LC¨-†(Š´†ãÌVLEi€=†;¤_¬ÚFÝ–{OÄçu[xñ³fúDÎ8bιéUt%ȇ+62kò –~°]7øn[˜oêS8¥„¿®§ªÜÏ­°jSˆ_8Ͱ( zˆ§4ö4„;–~MMÿ ’ªîlè’dû§`A8žDÓ JƒnDA@Õ º<Ègë¶R€ Ùæ0Ã$™Ò°, ™4…7-Ó( 4Q¯½ÉkŸ™µÿïù¨ÞÇgW\B4 ¿½xãFxùõ&jËeEtEJ ËÉAã€À’ Ú šnpÅïò?sÆrÍ¢©üöoPSæ@MÖljD²’TUUa*Š"sÇSOêljŒ°©1ÆÞ±¥9‚$Jì2¸œwWÔãsËŒÖå«›À²˜0¢’Ûþõ1­á8‡W°nk+‡5«V2vX ÃHÌB׌4Œ—>XÍŠu!¾ÝØ Š¯ßÇ Ê }½…êÊRôH#õ¡8¥Å3vϳï¯!èuQYæçãïPdXäÝ/73jP9IU£©5FUY€Ëî{“u[ZY»¥G_ýšq£‡K$Ap2]8à@g0-Q°°}h·làŽ âï/®àÏÖsûE‡" K?ÚÂÈaƒìÐqÁVÏÈ`Ë÷¦ia ¢$²¾M$X©ÐjqðÏÚ"^Š‚_¯S3TfSk‚„àÃ2L,¿8èNÒ£±$» T5ü"ž|o3ótƒû.ÚŸ n}'ßø†ËOžÊw뛨(ñó·—WQ\ÒçÞù–‹ŽŸÎºúVÂq•†Èfj+|èºA¨-Lmu ÷<»ƒQƒúñÏW¿¡¢_ ß®kà„Ùã¨.[ÃèÁýxÿ«M¬ÝØÈ—ÍæÙwWòv]ŒÒ"/¢( %ãŒXνK—S1 QPd‰úåß2b`9¾òw?ZE/o|º†+OžŠf¼õùz¾ØÀã©, °a[–a0¬¦Œ»žþ”1C*H¥4’¦Â£¯¬àŒy»Q·±™hRãƒïZÓ.7X‚Íæ€]î A°°i´€®¸½®yàm6Ed†Á¥÷¼NqÀEqQ`{4Jš~[€0uîbkÁ)KhŽȲİš8/Ü2—·‚æ¹ÿчÎ.âÙ—ÃŒéfí•e_„¹å/sxqó½{š1-GBwÀîê3‰¦æáH”¡ƒ¥mê­4551¤v ‰”FK(„"‹X‚ÄÀÕ‚@¨¥¶¶V$IÄë RÙ¯”­[Hi*ƒjjøæ»:†ŒËåâÛ•u ®„ßïes}‰x”@ @k[˜Ê~ý¨¨(盕«). RUQž–Òm/õºÕë6´Y’i—$‰ïV®fàÀþø¼^šš[ˆE#ˆ‚H°¸„Òâ¦i²rÕj Äçóðíw«\[C"‘¤µ-ÌðaChm  5#I"ò²R'„Ír è‚}gl^Kyy9 lU{2¥áó¸Ð Ð Eñù,ÿðU¦ís0­mm$ › wÊš"²,£¸e/äb¿é^I“é{øy÷£å¥ï~#à5Ùeú$3o& „•»dã·- Y–$ÉN²H’ˆKQH¦TAÀ¥È6µ,TUË<£Èöçšn`†ÀElißë&‘T±, ¯×M*¥bšŠ,#ˆa Iª¦£ë:^Ý0Ðu#“ÝѲ,¼7Éô¸:ŽÙëq“Rm‡W, I’P ,P5 ûãöçì¾ÛÛ’DY–H¤ÿnŸ_×þpÀl2:ù½|ùÙ‡”õŽ™fÀ;ž[I–iÚ¶‰Úšþx‚¥¨ªJ*‘D˜rØbëøÓΡ¡ME‘%LT!ˆK±hOé®kŠb{¦*²€e ºŽ›˜ãç€=v:I¦VÚ¾ãíJèr}žíýŽÏ´ÿ¿ó3d•Œ»¾›ïólãÉ5ŽŽý囇8ý\–—YõÕ2$9{êWÃЩ¬ªÁ,'O J$K<&›·…hŽêH’XˆV…¸¬‚ìspÀ؉°µ±OÑ`Œy^DA`kDC mÉ0ð˜r­kûŽö ‚(B:žÍpÀøá¡°2‚àËø†­›C1}&Å2´­LÁãõ9àpÀpà' ªš"•L!Iu+ÈvÀº¦‰aH¼úÊ3ø|~Ìtl›8à€8ð’âÛ7eÊžÓIªšaÚ‰e:B"§ªº?&NBUUgÕpÀpà'–eQT\Âk/¿d›ÊÓ w§ú¶{2™BÓ‚î€8à€?4ÁîèÝÞµL¹eY$‰nðݺ•&ê¢(ô)Ô$ãq·ßËö]Oýä åéú~×ð¡oÇv{3ŸlïöÔFÇùõuì¹ÖÅÁ¹ƒsçΜÿp8oÿLQdI&‹aYn—¢O$:½/Šb·(3¹Éu]¼\·sùÞéi³æj¿ÐÚ•‹É…஋škäbjr·cÙÚ̆ØlkÕulùÖ$ßaͯœí’èiLΜ;8wpîàüûÁ¹eY(²B[¸»þz7ß­«C–%Ê‚¥Ì=x.3§Í@×õ¼ë"ʵ躎¦i¨ªŠªªèºžI#Ù.(k†ªª†Ñ©}A0MMÓúÌ%:à€8àÀOÚéZJMñû?^†á±Øç€½?yW¢zŒkn¼– ›6öHÿäB:3M“@ €ËåêFÀ‰D¯m.îÑãñàr¹UU‘$ ]×I&“x<¼^­­mˆ¢¸Ãê£BǶ£ïîÌ Y=µU¨êng}÷}¯k6N×Á¹ƒsçÎÿ¯á rß%P¤z@o¼ô&#†Œà ™s˜zÞjÔJ¥ò¶Q„Þ¯¢‚ŸŸ~:ŠËùq¹=‰444 ËrŸÝÎGíå­·Þbà Z—›SN9•=§MãÊ+¯¢¸¸˜’’þö·¿áöøèWQéxßà¤rps~<Ðt5ë×RÕ¿ÊV­‹œ} ,d@õV|󪪦 «ï:@*™bÊ”=¸÷ž{ii ±aÃFN?ã V¯^Ík¯¾’“ÃÊFÀ;r8¦i¢ë:G},Gu$‹-bäˆì·ÿ¸=ît»¶—Ÿ¢(=¶¹C›=Ïzš_oòbçû~GÇÐ×¹ÙÙ±ñŠóBŸïø;WnqçΜ;8ÿç`Ó8I’0-EV¨PÅý>@YY)Ÿ¯ø‚Uk×póµ72xÐ`tÝÜ1‚®j@I“'jnbêÔ©ì¹çTÆŒG}}=ÕÕÕ”÷«  ãr¹p¹Ý€@sS#Š¢à÷ûÓe“‰‰xÜ.ö¢(—L&¸÷ž{ðù¨©$uuu€EcCåå嘦…®ëÆäñxðù|¢–I<Ϩè Ùt…n–®ÏåòRÌçÀÑW˾lì|sì ãÕÓ˜­n} •ÇÜÑCÚÛ÷œ;8wpîàü§Žs—âb̨ѼõñÛì1}j‡Ô²ò›:ÚŒ0†×`˜&Ç'‘H ŠÙ Ú™˜¦iØvíx>þøfí·ûì³7÷Ý{ë7làò+®à“O?å™§ŸbôèQÜu眽x wÜ~;ŠKaꔩÌ;â 3{ýä’’b®¿þz~Ùå\pþùüæ×¿æ«¯¿æÌ³Î¢¥µ…s–,é$©wtºÈѱŸ\Ÿget² °cxB.î/Û3=…6äSoåŠq,d³ç ·ÈÇÎ’m ùBrò…Šd õȇçΜ;8ÿ)ã¼]2W5•Ë®¹‚™ÏDM©¼¾ôu‚®«šê¨í_ËÕ¿½’5{t@ï‘ ·¿XTTÄsÏ=ßiåýÊy衇(MtMÓøÙáóÌ3Ki 5SZVÎôéÓÙgŸ}xë­7 ·µQT\ÌŒ3øÙÏáÍ·Þb·ÝvcáÂ…œ½x óæNqq1`ñx<ç˜Ö­[ÇW^ÅgË–1iòäÌç³gÏföìƒ8ýç§cšfºlï’t}®§¹â(s-z>î8×ÍÇqwü¾'î1ÛÁë:–ž¼J³µÝ“Šª7k˜­Í®Ÿ’tÂÁ¹ƒsçÎê8o–ÿ‡Ë˜8s"Š¢ðÚ3¯qû·ð°°EÑ×TDAܱ°µöE‰F£L2…G}„ÆÆFÜnÕÕUÙÄ×ç³Ë¸|òÉ´¶„H©*j*É|ÀsÏ.¥%Â4MBÍÍì7k‡åË¿dêÔ©âJ¥H&“‚Ey9Îï¾[‰aÌ9è 4MED à]—Çp¹\½N>ðCsq½M>ð}rî…ØÞúšp¢· v6çîàÜÁ¹ƒsç?œ{<DAD7tdYæ·—]BÍè XÃÃ÷<Ä-×ÝŒÇí!™Jfú²³ÂõÂW°SœiZø~† AQQQ&<§uúvG·§[Jº@ Ðirn ƒ ~ï@Ó5.¾èB‘’(¥ ÈZ$S)Eé–û¶޲§,Kù¸ÂB2Òg¡cÈ×W>ûN>OÒžR*v;Œtí'»³Losôäýº3eœ;8wpîàü‡À¹(ŠxÜn>[þ‘X„]FŒæGþA €qÇñÀíð§+®¥´¤ð˙÷ÆW¡W½ƒoD'uD×$/턽}"ýû÷ç™g–²ï¬ýغ¥žââbêV®$™L2xpm7ÏõB ªª €¹sç2fì8ñ’(âJ3 ÍM=æÔ-tÓe{®¶ Q}õzó^®Ô‚…pò¹ÆœmS Û» ôb.}9°}]CçΜ;8ÿ±pnY²,ÓØÔÈŸn¾¤‘$ Òòh+º®qì)Çòà]ré…¿£f@ ªªfèjosðËìt°'ØÎ]üò⋹ð¢‹6|Ç{,«V­â˜c£¤¤„ƒ:ˆx<ž±u “'MbÏ©SÙsÚtûç£L:•¶p˜§Ÿ~š²²RŽ_p<±X¬G.®/œ__6[_b:wdÜ]¹Ë¾Ä—ö:ò`'gNÚkáàÜÁ¹ƒsç?&Î%IBÓ4®¹é:LqI±ý¹(Q÷mwÿùn®üÍåŒ5š”šÊ"$>ÇâÚZ[‰D"dð®j[ÅÝ^rUâñ8§Ÿ¾ˆmÛ¶qî¹çqî¹ç0~üxÞ|ó ,Ëê¤7Íí-766‹Æ2Þ‹‰D"“Û=óì³KY´èçrèa™wYáž{ïÆ²ÌNˆ)¤`A!Ìž­|j›žTaùìE]ß/Äy$—Š.ÛæÍçt“¯½lë\P‚‹ÇØ›ÃêàÜÁ¹ƒsç?%œû|>{òqB­!Œ:ƒhKÝÐÙ÷ }6rÛê·Ñ¯¢Âö`§gGÉ"è‚ ÐÚâoû+–eÑÚBJᎃoiiá³eŸRUe§­kL2™âŠË/cñâ³Óñ"•••X–•±|úÉÇ””gúûrùøý~Âá0 žÈ¡‡JkKEQþóQ¶mÛF*•B’$Š‹‹ñù|Ä㉜Õv mȧVÉv8³qlY‘K»©¿çІ|}çC¡‡­/œ}® ÛÓ¸ó†³ôàdÒÓXs]VΜ;8wpþcãܲ,LÃ$‘L0bÈætÆçªþH¸%LIy `€ÕkV3°C®öBpÞg Ý4MÊÊÊÒR´™“ó4hPÖÅŠÆbøý~ü~ZŠ×º!`ðàÁ$u“êêêN}ø|>|>_¦ÿv‡¼¢¢¢NãI¥RYÃAòq]=Ùžòq¼…„/tC|ÇBCzâÜûÎRG[ˆ_B¾Í×­¿ôaïIb)ô3çΜ;8ÿ©à\¢±( ;Ÿ×‹ªihª†KVØZ¿•ªþUÄãq@'ÚZÎû,¡çÚù¸…®Þ}'X¨3G¾Ð‰žÚú±%ôÌwí¬½K>‹ÓÍǹæ gékä|ö¶|j¯|Î6½M8‘ W½©“ìàÜÁ¹ƒsç?ÎÛÍʪªòÎ{ïðá²øò›øƒ~FESS22“wD*•êD+{ÂyŸúÿŸ`g8µtçÚ, ÷ uÀÁ¹Îø¿‚óö>]Š‹µÖñÊ›¯²ç^{âúY·v- -\þËßc˜†MÌa{8Y Ï=Ÿí¤¯ïôæûl*©Ž¹†{GOZ…ÞÎ'×êË:õe»Jù8élœ;8wpîàÜÁù÷ƒóD2ÁIÇÈ´)Óxý­×iimaâð ºäJŠKìr©=Œ=WêØBÐ{ë”QÈ;…}OFϑϕo8?DI¾¾”ÛëqÍ '?ØU\./ÍÞ8Ö88wpîàÜÁ¹ƒóÂp.ñD‚ÁƒjY|úÙ†-‘Çâñ 1ÏE¬wXånXM§*6½y®gí_…gñéünïó*Rè;=…Œô¸&½l³7áΜ;8wpîàüûÁ¹ 膞 ÿîʈõ¦Í\N{Y ºÛí¡¨¨UUqÀpÀ~:`aáv{º©+䮄iš¬_»–Ö–†a:n8à€8ðM×;9Ñu“Ð].t°­¯wÖËøQ$D—"ýè÷e¦›è¦#à8ðÓ;'í‰Õ²t˲H%“ßãáØ9N Ý, I–;9ìì~s9=ˆbº|ëد3ŸÂçÓ¾õÅ…$Ë=9Ê~ÿ €¡ë躎ËíþI…;išŠ…fóc®$À¦­Í<ðÂrÂqý‡Jž•˜ûÎCmMU&ö÷u=«ª†iêßcü_Q3WšœëRŒÇb™Üé½ß–"¯YQ2§T4U%™Lö1&Ð>Ln· ÅíéDt$Ibë–zÕ!uªV#ŠñXÝÐûtyZXˆ‚€×ëC”$LÓÜžÖÏ4 ‡Û(/ï—)»ÝãÑ"÷™~X–…$Iøüþ퉥1¯Ï‹(vžaÄbQJKËÓµæwî|dIÂÛq>üÄÐ c§Î§ËÆæÛo¾¦%ÊÌåÇ¢V–eRVVNeU«êVbf‡ýýãBÍÀAH’Äúuë~´u²,ðû\¼ú­Îþ3'3¨ºËøqhœ( lØÒÌ?^^Æ!ã×%;•‹Þ™¢– TKÍÀAÝ“­ÜÖÛª]=µ×Óç¹{å{®Ð±Z7½¯sîižùÚéi,…Œ¡·Uê:jÓ³:ÅmX¿ŽD"’!Æ}‘– ‹3fÜx[ 46ncÅ_â/ öù<‚@¸­•1ãÆÒ¿M'¤& $Yîô™(I|ýåršššq{<;tâ"‘03fî…ÛíéämØ^î.³¸‚}iðÞ{ˆ¢„ØËjrçšJ%q»]ì1eOû3Q`Å—_ …l§ˆ˜O4aÆ^{ár¹»ÌGë6Ó4ùà½w‘äܵæ Çãf÷=¦f>ûrùrZ[Zq¹Ý;6Ÿh„™3÷Fq¹:íI’øæ«øÆŒ·Ó´D;ÂQoÞ´‰O>úˆýfÏF–䟀@fﯾü’X$ÂŒ½÷Á2Íe\‚ ¢&ã,ýâ#FÔ”Ñ ÷yÏí8µ6 ”çU‹1ãvER<|C0-‹åË–!+ ••Uݪ#—{¾Lq]ÿŸ7—{ÂÖµýB u×gz“)® r}Êåދ쀅dêë+λ9ŵ†BºÎžÓgìð&ÝR¿™­[ê>r©D‚¯W|Í!‡ÏóC„TUåÙ?MUUÿΓºK9¡¦&Âч9‡ç³aý:–ö93÷ÞUÓrndEQøâ³Ï2l8ãÆïºÃý¾ûöY¿v-ÃFޤ©¡x<ÁáGìø|Ö­]ÃòÏ?gÆÌ½ºÌ‡nóùlÙ§ 9Š1cÇíp¿o¿õ&ׯgÈðá4nÝJ2¥2÷ˆ#w¸Ý5«W±ü‹Ï™>c&jº^€M@%B¡fFŒMkK(SðÇ„ŠŠ ÁšªME~4‚Õõ":l+–A*™ ‘HìôìZ…’Q—"ã–E$IÀí’wd‚€®kȲÒ'ß Ypˆ¡µ Iâ÷…† Æê_ب IDATº:jjfúË=‘,8—{—¶zz–KZþIårÏ;/|¯ùûsJèÉT ¯Ï¡¨šŠk!²éÉ:|n™&¥¥elڸѮ¦ÇãA×uDQ@Äü†¦evûØ•–À CG–•¼HÇã”g),ÓQ¥í`™]Ò4 Õæ½wÞFèáòE‘Ö¶V&LÞ-§-º7Ò\õ€l\·Q°UÓåýúeOoÀ4M ‡ᅦ(‰ åC[k+»ï15ï|,Ëvd2óDQ©îߟ-õ›‘h,FEEEïðÝÆaš&µƒ‡ðÉGÚMëÖ–eš=ï¹LÓD×u{Mºdú1Á0 ÝÖo ;0.˲p¹\†‘¯'SY*›¼jY.ÉÂ%‚K„áÁ,Ó¤¤´„h$‚×çÍT}´ T*"¸¤t}ñûÕiFÔ*°õ;ªzÞYØòÅBǶ³µl…ª¹wä<äTe÷2Þ=/ó™KÍÔ¾Ù- v«#¦7¶( Ûh¡“ôÓµÚNÇÿ ‚ˆ¦©|ýÍ×9„‘#Gáõúr”«³ ÎykfáÛ EKk+§~ß}·’+/¿œcš˜V3g6_/ ¨¾HzºÔ;ºœ…L3ëß±üÄVf|…îÓ43U“²m@I±,{.ºn ŠBŽv¬N·Ììó‘$‰–¯§¥-–éÓ4-*ÊL_‹n$·Ž•ø²µgšf'ûzG¸7òÎp‹j_Ó41- ¡ËØw”h¸\.\.‘H¤à¶,ËBH:Ó23ëcš¦Í$¥qo¦³\å%‚ŠÂʺ:JKJ(..îtöÜn7ò ãÆŽÍ9WSqɲ,"Év!Œ²²2 Ó ­­ Q$™ŠÊ¶Ô7¦ÏOö±TÕ”³ßÌé¼ööûüóᇙ;o>±X´`M,Ûc±÷…€™)ºa¥™±ËžêÈ uö3÷JûÜQLßV^f¸Ûr¡vÚÞ<ŸÍ½3‰äŽâ\Ec )òRèøóÙã³P)t :Ò¾\)q{ƒ9ç••Þ¤­­­¨šJ ØþX&¦¥“Š'% ÃÐq»Ý‚„(ˆq:o¾õÕÕýñx<™ BÀ>8¡–|øì`Ÿóºª#:.Ú?~„·Þ~›úú-üñÊß3jäH>ùä~ý»ßñèc±ëøñœ±hktR}õæÒïéÖ·,‹h4JQqQÄYÈJFvìÒ/,7r7n218âpî‚™8mT^¢neJ¶ùœó§¥ ZKRU±%‘m[x÷ņ‰(Kݽ\ÚÓÌ0G^¯—h4Jss3.—‹ÊÊÊŒScÌaú2ß1‚nØ„Ó43²ce&·ÛÝg Œ(Š,_¾œ¯¿þ†O8žx<^0ã+ZiFÃ00Óû^×u¼²Œªë¸Uב%)ïZù¼^}äQfÍÚ—éÓ¦ubnËJK¹êÊ«yèÁ¿gˆ·±`¡H’ eåeüúâ ())á·—^A$fóæMÌ™5÷>üŒp8L¿~ýlmR[†®#J"%%¥d% ¨Ð K¡¸¸Ó4ikkE@  "ˆ¢(ÑÚÚ’^Y°%tÓ0°L ; IÂï÷³mÛ6<Á`H$BSs3EEEü~dY& µP]]…(¦Icc#¦iâõú(--ÉyË4ò—žög.;mOÞzJsšXõf\=µYH{½uHëÚWOvÿž| m§'æ£7k_èÚÊ9éyúÒÕ Ò’Ò´c›=]K¥= %**‹µ’HD0q»ýyTY%eUU©­­åÝ÷ÞF–$IÂ4LücvϧŸ~¼ST,V—Ëîâßü– ãÇòË Î%¥¦xñÅ™{ø\N:é$N=å$Š‹KˆÅ¢œÑEÜrãÔô¯ÆìÃì»?û;’$qaú‚r»=üö׿CÓ´„ÂÊJ|whMú~“îdm3®|I9×þý>Ó& ÉFØ“]­ú÷+¢¬_këC45‡=¸œþý‚½›éW`;ñ4M¼Ë—ÉíwÜI0@UUªª«¸ö ¥¥5ƒ‡@ @"‘H3³¶³àÒgŸ#‹±è´SihhÀçóáñx0M“H$‚,Ëø|¾í&¬dǃ D"‘ shk;ÒÚ—´\^VÆY‹—ðé§Ëxåå—H¥TŠ‹‹$ 9’‡ñz½ø¼^Q •R3Ÿy½ÞÌ8ÆÇ»ïNKK EÁ ²¢`š&©TŠd2I Àår¡ª*±X,³†¦ Øú9ÓD–e>þøæ} «W}‡ˆ€®ëŒµ ÿøûýì7k·YQH¥RÄb1Á&ŒÁ`ÒÒRAÀï÷‡1M“@ €eÙ*p[² ™¼ÖíÙ)\2È2Ȳ€Ï'²aÃZÖ¯·Ø°~5C‡ çÖ›¥¹¹A4ñùÝÜvó 466pþ…ãv{°¸â÷¿aì¸qhšŠËÖ¯eßY³¨¯ßÌ×_CYyg->—Ö–^xþßl©¯'‘HpÞ¿D$ÙKûúü~Ž9v}ü1wÝy;OüëIî»çn>øðCî¾ûJJJˆÆbüêâ‹I¥’üñÚ먬¨ ÔÒÂÿþõ>þðÇkX¿~ÅÅEL2…SO=™H$º]s³“TÌ=©Ì º ‘J³µ•­ï\Ïö6Åj6ÍG×wòÙÐ{’Ü{*ÛÚ/÷lLUO&ŒÞà¼ý-1ï%›^°ö Ç4Lt]C×Rø|¥ø¥èº†Ç¤¸¸Q”дdæÎÊn‡·,‹@ @ ÀïóãøñyýõVÆ®g]Tø}·clÛÖÀ‘ó§9"‰RÞ¯œéÓ¦±eK=šªã÷ù™0~"#‡¥®®ÎVCö‰x槨¨˜ÓN]”±¥æÞD]Ö¯€\Ìq½T[Yú4 Û.}ñ_žck ÚT²Š .¾ù?|YWÜ!ê §uÉ–§X7 Ôt6$QP5Í0;=gxaµô@ À}ý+'t"=ü?ô ç.YÂÍ·ÜÆ /¼ˆßï'sîyçóÍ·ßrèÜy:wß}÷wÝ}77üùFnøóôë×|ˆÙÌ OÂ0 >üè#Ž>æ8N8ñ$Ž>æ8þõä“·àx:øÖ¯ß‡­)ØÎdH’Äê5kP5“N:‘çŸþý«¸ýŽ;Y|Î9Ì>è`/9¿ßÏÃ<Ê^ûîÇŒ™ûpþ¿`РA<öØãÌ9èg»àxR©ï½ÿ>7þå&ÊËËøÝï/ãÐÃçøòÔÓÿ¦¨¨ˆË¯¸’YûÀï/¿Y’2¶nËê` 0M‘0ó?œ;ÁC†pÛm·sÌÑGÅE‘ó.øÌ>ˆ›o¾ÛŽ–8ýŒ³8èàCxîùç©TËyç_@k[Á@€?^s-+WÖÙŒeÑÒâ¨cc¿góÚk¯#¥UÒ¦iâÊHè ^‡y‡ÁóKŸaýšU$âQößÿ¼.×ýá*†Æ‚ãŽçêË/e@e)—þöWŒ9KaíÚ5(Àí·ÞDÀ-rù%¿eበP]Í]·ÝLÀçå¢ ÎeΜ9¹öWQUQŽˆ…$€"ÙĶý.¬®®æ¡ÿÁ+¯¾ÆCÿø;.—‹{ï½ëÿtwßu'·Üô†Æ¿ŸYÊÙgÉ?{œÝ&Oæ“O>E×uN8~K/æ”Sþ‡H$šññȧ•éY#×{)¾7Ï÷Ö$ ôªÀIoÚ.„(÷¦Ílþ"?Ë·fÛÿ΂Wh=öÞj*²ÑU1ßÅÝ~¸­ôýo¦¥:Ã4Ð Í–@Û'!ˆ¨jI’mû[× UÈrѦûÐÓI6t£ý·Ñɰk«tå>ÛBº×\n7ªª3vì8ÆÏÜCç/¹‰‹.¼ˆýöÛ×ÇwuulkØÖIØ[Ž©]Bo¿$IÊü´3*áp8cs¹\HÒv“Åvbeå$‡ícêØv¾ŸŒj¯O‡Î×v|R¸æ¯¯ñéêÜÁ"’IÕ›[©П³®YʺÍMȲÜÉnhYÛ·ƒÅN/Ë2²,gž0 +£1Òt3«îq»ìç:Œ'oj™ôZZ[9÷œ%Üÿì¿ß~œ~ÆYÄãqŽ;öX~䊂An½ívÎ:ó n¸áFÎ>ó }ø!<_t!—]z ¿þÕ/ùôÓe¼óùú«Ì?òHn¹õVþ>Ÿ—gþý‹ÆC=¿Ÿz’?\}·Üv¥¥¥‚Õ.‘™¦‰Ëåâ‰=ÉûïÏQóçóÄ¿ž$ÒÖÖÆøqãùèƒ÷¨¨¨ä¹çŸçÔSNæË埳ÿþ³8唓ùì³Ïxå•WyíÕÿpòI'qßo¤¤¸Axñ¥ÿà÷ùx÷·XSƒ À¿ÿý >Ÿ—O>þW^}5ãhjf {=‰Ó§OcãÆ|üñǬ¬[Å^{í…(IüãÁ7n¾ÿ.kÖ­cÕê5Ü{ß_ÙoÖ,^|á9üþ‚±XcÊ”=Xpܱ¬ZµŠ'Ÿ~Š3Î<UU3öó^Ý1]ˆA§€Ÿ,áºs Üü °3æÜg}O~Ô‹óá< =C:u+s)*Š—d"ŠËåÍ\®±hIR2„+ÿ¢tpN%”tl³(I蚎x½>êV­Ä4 t]g[Ã6Žœ7Ÿââ’>ËÉíc:rÞ\®¿ñ/œò? I&蚆ª©444OÄY¿~uu«iµ°Çî“Ñ4-M0ú®ÞV…7ðÅò/E¯ÇK$F–eêëëyçÝ· ‡#ˆ¢À”=¦RRR’qB³r’v›k"‘àwÞÞvLD!#„ëºÎÈ‘£5rTf>}9‰²Ë¥pï¿ÞçÙ÷×1pÈ@"15mƒX¿5LuE%'\ú/ž¼~ÕåAô T:2 Š"ñö²ÕlÜÚFIÀE[$FYšP i;o[[Œþû‘¸móžÀøž+'™v¾UUI¥R <˜»ï¼ƒX<Î×ß|Ãyçÿ‚g—þ›‰'råÕWÓÜÜLMM 7ßt#¹éfî¼ën~ó›_ÑÔØD8fëÖ­Äãq–}ö9Çw<±XŒ?žÆÆF&OžÌæÍ›).*bòäI¶Mµ¸UUÑ4m{"ÓDUS¤R)Eá7Þ$Xäɧž¢©¹™ÿ¾ý6º®³ÛäI¬Y³†ªªJ’É$š¦±hÑÏ™8q#‡gÍÚu|¾|9ÇŸ°H4ÊQó$±UÜ›7mfܸ±¬Y³–™3fÐ ‹Æxíõ7™=ç`AàðÃç’HÄÑu£Ó¸:jJæÌ™ÃÑÇ.à—]ˆ…홿qãF;ì06nÜȘ]v¡±±Í›6qÈÏfÓ¦MLŸ¶'áp]×0MMÓPS©´ÓɆ›øËÍ·D4ì9’+®¸‚±cvá­ÿ¾@0¤¹¹ÝÐÙR¿¹Ó…8e)Üÿß‹eŸ.£­¥ÃбLÐÕRÚô%¦÷"šRQ5•h4Ên»Màþû`îÜÈÅbXD£Q4MK›b¼<ð÷9òˆywܱ\÷§ëyãÍ7ÙoÖ,&L˜€×ëåê?ü>ú˜=÷œšlzÊçSˆÊ·ÐïrÕÚ£ï…ıľ76êy/g;õBqžÛ†ÞÎ1¶ÿë–ÖNbLÓ ÜÖ@ XžQ*²°]2íA`¶ØžfT× L3ŰaÃ(+-#•JR]]Í{LÁëõRWWG$éAï*©Ì+îäºë®Ev¹±°=fÃm­ˆ¢@[Kˆ–¶0Ó¦ÍÄãñvÈlgõ•Ø®Ö~fé3 :Ç…ÅÏþsâñ8‡r(›7oF’%êêê°,‹Ÿ|Èvõ›•ߪ®n%+¾þ’Óg’J%‘H$L<ž@Lþ<~ä!®¼üª wËh9\ ÿxîS®¾ÿ]ÆŽeèH’€®Ûû¦$à!•Ò0ÓO»7ï>•EN·Kæ—7ÿ‡a#S9°–H,e3|¢@[4‰¯¨Œ«^ÆWß®ãæ_ÌAt£0Ü[–E0ä±Ç'žL2yÒD6oÞŒßï'‘ˆó?'-äÀ9sß=wãõzyôŸqì±Çðö;ïòæ›o2e)|ôñÇ„B!ªª*™>mOÎ;÷š››imkCUm›¶$I¨šJKK‹½ÇuH8Œ lWg·kI<KŸ}ŽÉ“'qËÍ7‘ˆÇyý7xäÑbš&Ñh Y’‰ÅbÔ ÀÿÞ?‘H„]ÇïÊÚuë)//cæŒi,9{1ÑX”ú-[QU•¶¶6æÌ>?^s-C‡åÖÛnç´SOaĈáLš8 Î?>ú8ìv<ãí{$•JÑÜÜÌqÇMiI1“&M䡇E×4öš9“;%gŸÅ+¯¼Êa‡ÂŒ™3¹åÖÛ9û¬3¸ë®»™;÷0jkkyèáG˜3{6=üç,YL[[‘H”9³dpm-³<€§žy]×Óý[¸$A„ö°oŸÏ‹ª&9rþ‘üÏÿœ”‘¸ãñ87ßt3¿¸à|Z[ÛØo¿YÌœ1+®¸‚Ù³`×]'PZZš!òK–,fÎì0 ƒ3Ï<‹ÚÚx=^DdIÄëõ¤Ï—mGW$Òº‰a$Iþö×{9ô°ÃijnfÑi§²Ë˜Ñ\qåÕ1ïpÞÿàCöš9ÛM]Ý*V­ZEý–-”óüó/ :•|ðÁ‡Ì›7Ïž·ÕyR˜ÏI>oOjêÞ¼×[f¿·Ä=_ÔÎQß¼§¹çŒ>êå{;:†¼ýä"è‚`o\UU1 £“D±½ ææ-¸ÜnZ[P\.Ô”†K¶0u5»½;ý[US¸Ý.’É—™3÷Æ¥¸3mƒ­vknnbåÊïPSC*•²%i5‰$ûÓÒh!¶ûrÒôô»’L4¡ººšâ —²ÒrDQ`ùò/A€’¢2ZBÍL?US3ãµ¼{ãÙ,dÔn‚ ¢( ›>üÀŽ¡ª««™>}_ý‘HQ’hhØÆÔ)SQUÛñÐ0ä´bGÂd ijG¶7ïÚµëˆEcs… Š8\]×)J_fªšê“þL×5R);ô&•J’H$ùÅq»“J©<ñßµ 1ŒdÒ6ÅèšN…;ÁQû$š¨áóo72 ß(ô”ަitCÌ´D¨i©”Å”1Õ˜~6‰H4i{tÇ=ÑiÏv°WG£Q<ðž}îyü ú÷Àµ×üH$J8aÖ¬}™:u MMMÌÚwþñàC³è´ÓÐ4÷ÞŸ·þû_Ž>ê(Î>û,øû?ðz½œ´ðDZZ[3±ÎýúõcΜÙÄãqÜn7óçI[[8£Ún·UK’„,IœxÂñ|ýõ׌1‚±7RZRJUU%‰d’=vßòòr\.ß|ûwÞu»ï¾;'žp<ç,9‡‡~EQX¸ðñÓöÜ“¡C‡pê©§ðÄÿbŸ}ö&‰0qâDb±87Üp##G`Ï=§vÖÚX¶ÊÝ0tFŽÉ€þH$“ì²Ë.¤R*vÝA€I“&ÑÒÚÆƒ=ÂEþ‚`0Èì ‘ˆóØãOpÕUW‚e±øì³xà¿óâK/qÕ—Û6ä ˆÅb,Y|6?þ×]sæÌÎh¥LÓD‘Úÿ…B!üq"ᆦÓjÁÂâÙ¥ÏÒÖÖÆÀšþóÒ@MÕˆF¢Lœ8eË–Ùaw¢H¨9Ä+/¿B¨9ÄȼyólU~<¦iÜyç´¶¶àR\üóÑ …Ó¦>—$Ú!k‚ˆ®ëœxÂñl©ßÂÝwÝÉÿþïýÔoÙÂ9‹ó‹/ñÐÃ0f—]¨¬¬àÈ#à©§žæ¡‡aþ‘G0zôhª*«øçãóñÇŸpé%—P•ް€ìy7z›d¤§ i¹» i/_b™BˆPOµØ ­ëÞ—Ä2…:äf[ï\k—Ëñ¯P[®÷ûšLHîÉæÜO-Hb'Â, âvù0 Eñ ‰2ÉdŒ`PÄj/éÖ ÑÛ!™L2e÷)<öÄ£¶zh…(-)ÁæÐ«ªª3ö%!íaoši.¶Wœ›…eÚ…š¾¼¼/eåe <„†Æ&¢Ñ¢(SZZB"‘À#º:8bïmÎí}F£Ž9úX¢±(¢( ¹âÊË9è ƒi ·qÉo/% !¥CaÚ“nˆb{N€Vg«ÃZX:ÆãÒK.íÐØ]ª·°ðûüD£‘>s¾]Ïœ¿¦ea¾¶ÚN‰)ØÝ‡"IæOÊâ{ƒ™Â0,âIYQ²:Éul7K2mB-W.šÁ¯ï~›]ÆŒ ™´¥k¿W¡q[#;‰sv¥-GJ_¶Ù6¿ lÏo÷ab¶©â„ãàv»Ñ4D"Η+VpË-·qÞ¹ç¤ã·¡¤¤„K/ù†a ‡‘$‘‹/üºaÐÚÚBE¿r.ûý¥X–I8!0¸¶–T*EYi {ÍœI2™Äår1göl›qK'ßig2¢Ñ(³gH*•ÌÌÁ0 >è LÃ@7 R©ãÇÃ0L èϾûîƒ( ¤’)ššš(-µÇiYáp˜¢`55PUo¿ý–éÓ§ñ÷¿?Èos(¡PˆñãÇ2}úž¨)•h,f3é–ˆiÍøfÈàÁˆ¢fêíc7zô(ZZZ8`ÿý˜{Ø¡„Ãa’É$–erØ¡‡rôQóI&“¨ª†¦iœ}öYé¼ÉdŠÃ;”d2I<cÁ‚cq»ÝD£±íý˜ŠdŸ{[J·CÉìp¹v¥HKk³\Ê2 …š0ÓɈlƒæ¦ÆŒS«KQh 5¡( ºa íEA nMï±hmkÉøg €"¥ãñE›Q?üð¹´…mæìôÓljD"|ÐlޝŸ#F¦+‰YãR\¸\îí¡O¦Ù;µö¦-µ ¨®âég–2sú¼>‰D¯Çƒ"˸\nÊÊËxñå×ÙuÜ8$AÜnvúˆÅ4Óé4;ƒ¡é”——sÝŸ®a䈑¨©TöÄ-Y׿34J IDATÒÊ™ä¥WcëË;éù´{-'IR© -16Õ‡ˆÆÄâ)šÛ´EbDÂaR¸ÝvHžeš`v×Ü´›Q,ËÊøm¨ªJK³Æ û¥nC#X‹ÅæúÅnIz¶;aåS,©qÑqmb“Ðq¹”í*ÍÚŠ\*w[Â’é?` jJýÉB©¬ì¿Ãi¿0`Ð>.˲(*.Fëà[ˆ4µ#çú¿šJ1qÒnDcÑï˜wê_ ­’wȹù÷Jã¶mŠŠõuõûŒ~×îM<£0ªvçNJËÊÌŠa·ÇÃÆõ¨î_Ý}x=QdÛ¶mäåå#f0H±•õÚuk<¸&4£;«¡U«VЯªÚè£N#ªªÒ¯ªŠU+WpÄ‘SÍ ïî(’p$®]»2dªªRT\Ìú ë4hn·»Û÷:+W¬ *Ûû©®fåŠL9âȸZ7î'f÷îÝ 6 UUñù||üñÇô8·ËÕ]‹®ë¬üì3ªªªQ2ÜOü‚!Y•lº~ÛT}¥™Úl’7ÙþÙì›ìßñßYÞ%–ô<*ÓÛó(“®Évž§[ìÚ:ŸÐíñ0¨f0{vÕ޶Éä~åF¾´´œÊ>ýƒˆ¢Äø XñÙg¬Zµ¢G˜ì……Œ{X§¼¾ˆÖù&½yyŒ=š–.!£wo$$‰òòrFvX¢7­w4Q…â÷ûyó× ÚÅnž×n·S3deå娪Š7/Q£F±ôý÷ xÎÜOEE5#GtŠÄÒ$ÜÏ Aƒøý¼ùú?£ÔŸÝ¿Ÿ!C‡RRVf¤tò 1bKßû9Ѓû©¬¬¤fèÔ,<÷Îí!ÉŒw&c™ ­b²>ÞT‹€T¿çBÑhD5¢2K,±$¥(Q ¯Î)°XêIêaD/–¾Î†Â5×~õÔ=®ˆ+//q&"ô0× ‡  V&]Sq¹ÝL;æØ.$¹ú–FëSr (2¥ee„â2EÓ(¯¨dFß¾&ÑLwÅ0Ì.^F òóóMìk³x 9j4£ÇŒéáy_UU©¨ìCß~ýÊýˆ¢D^^þ@Ÿ¸û5z c;¬îGK¸ŸÊ>}éWU•ḱÝx¹m6 Q”ˆ/¶Pãø»31&€Èˆ"Y~9ÛÕ|²EAç žŽ:]D ö»(Šü~vîØf@ÿ –I·Ä’T“Ùf³Ñ¯ª_I‰é3Ææ£¦iìÚUKÃþzsîçz|00. ŒÇëÍØËŸÍGAg’‰LçKRËö©®1¶o$aÇŽm 2 ŸÏ×kXØ–XòMA ‡B¬^µ‚’ÒÒ.¿ïݽ £›ÞmTšÙ¾m ‡›V‹YESÍ󌺀Qd–——¬È½5ÃKrQLÜúë7°¯n£ÇŒES R £gZ' ñÖ›oðSNMÁÅÞÕ«Mfà“­‚ÓåÕS±U¥2ÖÉÀI2]C¦\@ÀïÇåtQQ^E'³æ²%ßh'Û,`ÎDŸœl_»ÍFUušš)++7£|¢(R__DZǟH(ìö<Ò²²röì®M¨íéÉys%7’šÉ8jœ§[z L"±øØ^OæyF=vâXAT®¯G/Âår£i*@Û(ÙüÝ~–X mܰž£ª ž(¾e–‹7ˆ²¢à+)eÃþôïl’µL9ôL4ŠÙ6¤#ÉÈæ=ò.×%¤žü1 ¦ƒU CU³f»%‡n¡/à÷wàñæáˆ?‰¢h RF§ƒ¥¼’ uè;6k:^Éf3Î’@rÇ¢‚ñç‹§&Îä¤3Ú ÛgôÐc$ªŠ'/Ï 84E&§ü6›DKKßþöw¸ïÞ{3f +W®bÆõÌ:ÿ|‚Q²K,é–t£‰aÁÇŠWÞû÷¿éÛ¯Š>UUDT5ŠÛßɺeðÐ;‡¿²Ý§ËDËf2öB›Jª<|Ü ÞJ,4#8J J†C§¸Ìã¥×¬¦Ç¤išeÔ-94U 1o[Ešššhll4ßñââb***ÌâbC¥D9¢dc©ÕÎÆ\UvíÞEQa1ùfˆ>†ZY»³—ËÏW—Ȭ3DQLÙ&£1ï2÷3³­mkï/YÂo¼‰Ãáà¼óÎ¥¦¦YQh(ãa5íwür.wÞy'ƒkjøÃSO1qâDÖoØÄ7uYE:–t'l•Ì (²Ìòe1hÈPêëö¡ìPèÓ§/zŠIÔy…ìr¹E¿ßÀòw{<477gÌS¥óœ¬A4ÊJKihlD×uJKKijjJ¹ow]Œ{¼=ï´{G›6¬ã˜ãNà×^eÆ·¿CGGGRäYþ±qñÆ\S8p#G6ZÄlñjS–ñ?øàƒ\ðƒ °ÛíÌ™3‡çž}ÖhÒu¶mÛÆ1ÇîÚZ¶oß΄ X·nÍM„‚A.½ôRÞ}÷]$ÉPr$ÂêÏW3|ÄpŠ‹ŠŒ¼¦†·¤‡ }Ø8ŠŠ‹ðù|475ŵ²¥¿œN'o¼ñmííüèG—ð‡ÅO²té<üðCQÒª"ÓÜÜlÂ#ˆø;Ú ƒàpºPä­­5¨ÏçA¤­µ…‚Â"Î;ï\žþ/Ìž}O=õGö××!Š"EEEH6;Á`0¸×;×tÊ&½ê&À3‹ìÝ]Ëð£PU§Ó‰$ÙŒð¤Í†,ËØív$IBQU¡ °¯ÇkäãI²¡(2jTéØ%0A–eÌæMéׯŸµp·äÐ,öõ7ñX¡PˆP(Œ®é8êêê¢é »ÝN{[ÆGQ”´Åt±pyŒç£°°]»wSŸOCC ã+ö±uÛ6$IBÕT$ɆÝá0CòråÉÏâp8X¾|ƒj†PYÑ'Î7¨¼_üëóL˜8‰¶–lv{ZWEL¶q»Üüqœ~ÆŒ;Ž`0Èì‹Äõ×_Ï{ÿymÛ¶ñËfóâ‹/qÉ/¥£½Í›7ó·—_fýúõÌšu>}*+E‘P(ÀW\Á¿þý/®¼òJöíÛgœ)J.b}¬O6Ÿd’_P``„Ã&™‡¢Èi¨H bGG‡ƒÅO>Á;ÿú <‚ªª<ùäbÎ:óL~¿p!ùùù(ŠÌ­·ÝÆ9çœÃ'Ÿ|B~~>ÿûß™ù½ï±hÑcˆ¢ˆ×ãáÖ[ocÖ¬óhlläý÷ßãå—_áûßÿ>Ÿ,ÿ˜gŸ}ŽSN9…ÆÆF X°àwœyæ™|ú駦½ÿþŒ¿¦%xíÙö¸Çi9Š9öŽö Š#á(ô¯Àþú:¶nÞ„Ãî`×Îü÷ƒ¥ÔíÛ‹Ãn§±¡`0ÀŽ­[Ù±m -}úº}¦G¾aíZ–ÿ÷#ü÷¸Ó‰ª*•²É§«[ësÐ> ”´qß Q 1_q ¥¥e”–”Eç³b´Ž™ÇÉà£Ç¼iMÃëõÒ§²’ööv§¡³XàˆÉÂv‡'/æþûÚ/Ö0`à@É/(àÞ{îeÇŽ<µx1‘H„—/§°°—_þ¼÷Þû¼ðÂK´¶¶²ø‰ÇÙ¸q#¡PˆÛïø%Ï=÷,ùùù¸\.n¿ã—Œ7–Gy„ŸÿüfŽ=ö8FŽÁã-b„ Lž<™Ç[Dß¾}Y´è1t]ç…¿þ…ß/\DSSš¦±gÏ$›-m(?›°¿ @“Ñã>š¦awÚ ’QbßÞ=ìܾ‘£ÇP·o€ŸãN8‰¦ÆF‚Á ûëÈËËgçÎíØ.¦y4Û¶lÁf·³~Ýù|L™z4[¶l2ùЉrÉëfŽõ±>ë“Èâuà_𮣍2…QP˜O~A¥e¥ÈJ""¥ž"¢'ÄìyÜüRU•üü|***ðHv6» U×Ñt$¤¼²Iÿ™é=‘ɲkà?³ti[C×ÐT£Ò½ ?ŸG÷;@@Qlv 9BÕ4‚ÁáP˜`0H à§®®EQ#2Š,£¨*áHI’e™ÓN;#¦L¡­­­GLa–ü…Õâ,³(Š475óüsÏš…":z´ÎX·´¶1a„Œï˜ÈŠbÔè$:bÊ|ðAŽž6¶¶v*+*9óÌ3¸ñÆ›8åÔÓ¸ÿþß`·Û™5ë<Ž;~:]ôCÜ/ïüëV­ZÅÂß/dý†õÑë)((@ŒÌàñxX²t ûöíão/ÿÍ›7†ÖnçÁ‡¢nß^ìÑjÝtyöÔÆ^@Ó ®úÎ…4¢(G#þ>_ñ'~ëÛø;:hØ¿Ÿ––fþýö[øÛÛ>b”‰Æ(Šƒk†ÐÒÒ„d“p8œÔï«#°mËf:ÚÛp:]´w´¡¨ ¢hÜH Ž%YDQŒæÆ1Ñ-UATDdYFÓ4"‘0áp]'5c·;eÙH/Å<ö$¢¨ ²,'ü.·MQ‘‘QUEU(+)E×´(wâœLYeŸFßu§ÅÖ%â.ìß¿Ÿ™3gRXXhVñµ¶¶¢k:­­müä²K¹~î\žþyZZ[9lì8š››QU£= ­½ EQhlhäòËÊ›o½Å’÷—ÐÐØÀ€þ(//·rl–tËû”P¨•F2ø°i4·úÑtYV ˪ª¡¨-îöGüHBúw¬¥µ•yónFŽÈœ{Þ,þöÒ‹,\´ˆÆ¦&>øàCæ^=Á`ööv~ó›_£iß=ýt>ýô3Ž<âæÏ¿…±‡Æ.¾˜áÆó³Ÿ]ÁQGOãÝwÿ}ÀˆFQ UUÅãõ k:5ƒkøÞYgqîy³øï?Äét¢ª*|ê)fÍ:¶¶¶´9t9MS4ªªbw8hmi6##GÆÒ÷þø ‡cw88xC†£¥¹ÉhûÑ¢¶®!G"Æ¿£×˨чá+)¥aÿ~ÁrDŽóÐ54ͪ“±äè‡hWE,š§k­­­ü~D#m D]ÓÉÏË£­­ÖÖV<‘JjÐ….ÂØ\Û¾³6 h%#+2.§‹ºúzt]§¸¸UÕæb65¹üŒ]êöícÁ‚¸Ýns…ß°¿žÅ‹ŸÄápÄ#ðÄã³gφJcÃ~ýÝïÈËËC×u¸ÿ~Ün7W\q9Ьpß=÷°yËŠ éÓ§OFv/K,I÷K(„C!Á º®ލ„eEU‰È(aDAO¨Ò4¢ÂBZ[[¹äÇ?Æívså•s¸õÖ[¸êê«9jêT†Ê„ ãq8œüä'?¥¡±‘ÿwç„CAÞzë-nž7óÎ;—P(ă>Àµ×]Çõso`úôã9ö˜i̾è"FŽÁ²eÿå²K/eäÈQüãÕW¹ùæŸsó¼yüú7÷3yÒ$n½õTUåíwÞæ¢Ù³Ñõ6D1C;[ 3ˆØ©÷UÓ4 ‹Ø½{C† ÅnwP^QÉþúzvnßFÿÙ¶e3o¿ñO<^/㟈ÝáˆâK¸¢-@§ UU2l8Ö¯%à÷Sì+eøˆ‘ÔíÛKAAá kÑnÉ!XìÇW¢Ç>eeh¥¥Qk·;á}t8 ]×3ÀYÇ3&;kkQÆÙlv*Ê+Ù·o/.§Ó¬+,,@Óbó3½“" ªÆ"9™Þ11E ~æ™§ë {t¼üšš1%“Tç§¢¡LåEX(t–tGöS3d‚æö?~Ä‘S§ÒÐÜ®CXVGTU#¢hÈ‘cËC|gêp‚a‡ÃÁ²>`úIߢ©±Áð>£mkBiÊívãõzijj¢¤¤U‘ ‡Ã„B¡(yƒ@[k ‘H„ÂÂBì'áPŽŽt]Ççó!J6"á mmíx½^Ü/ ûq¹\xóòiinBQŠ ±9œ(r„¶¶6 u•{6±ïZ[ZØ__ÏÐ#‡B‰ÛkÁ`_I Š¢¢ëFDÍëÍ# ŸŸ´·µ6› US‘p8­„· qº\F¼ªøill ªº?íí)–XÒû!÷æ¦FJJËP‡ÃÁ¦M›L/ÙÀªHô::ü‘——Gccv»½ ôë'/cÒ”# üH’…ƒ­§¹¹QE‘ªª*$I¢­½úº:;‘ˆÌàÁƒÍylw8ظn-#GAQdDQ겸XñÙ§lÚ´§ÓE|Î\E?œý#Zš›à¬Á¨Øÿ`É{L9ò(¶lÞ,c@Óiª†( i{ç:ÿ;Üe¦m,±$[q8œÈŠŒCLºˆî–×k“$‰P(D @’$꣡³X¡— Ô×Õ™½¨¢(ÒÒÒb *FQ©A ¡¡!©ª££ƒÖÖV‡º·Û톊Û?–Ÿkhh0'lgŠÅlÂïqþyJXIO^Á`0¸¦­­Õü»±±ÁT$€é‰ÄÎËÍ ‚@(4B™mqEÅ>ÚZ[³ڱĒ^óÐãÚÖdYÆWRBcCCRD5!Zcâq»p»ÝѺ±4mkqsIÓ´èü4êJJKKðûýhšŽÍf´¶677c³Ù"Tf!ÅI"‘cÇgâä)Fø¿>”Óá àdU“b‹¿t§Ó…-º·H-ù*I±¯„p(„Óëì5E_è3ÜF­+[_¼¡-â=i£O[J0¬ñÛ‚`MD'yì·øcv>G6Æ}ü¾Zͯµx·äË2ðùùeÜNÉ‘·DÓ4ŠŠŠp:ˆ¢çͺ$/// (cC’Ä￞~þ¨ŠJ$ÜžtÛ` ÐEפ5è±–}¸”P(=Àx2¼Á\¡XÕì–ô†È²ÌÈQ£)ðºzuòÇ{¹©"Q½áTÇê-ØÖT𲙪Ü;C¿&›üÛÈZFÜ’CmÀ5MK¨)Ñ¢ØíÙF·ÒÂDë‰ó-Ê”l៰¸‹€¥š¯õ€áÙ§¿×Lœ¶hMÓ?qR·©SUUÅ›—ÀþúzTM£¸¸§Óe`¹ X´¬–ôh¡ zÕ`$#gI·úí r#'¤=f®ä,]o,Sk›%–|s zaQ‘(«bw°ây"’YôTé«L‹ÙÇ×H†èæ<Ï&"—À‡îv{VÙ>”X˜î¯/ý•7Þ~Y•% ?Ĉ¡#¸ög×â+ñå|lK,‰™ÃáÐ!QÝ1ê©&Z×üvæøW¶a÷d ›$¡Ê ªªEÃtÖ|³äoÖ£ç¹*ÃöÉr„¼ü¼Dƒ¬ë8v::üØíöÏ#]Ó1ãb>›yžÙC樂²mlóææffýp®--0ëòYlß´ßù³t6×ÿäzN=åT³(Õª$á{ºÊûd«£ØyRU §{8ÙPifº¦lFH3À=¡ÒÌöúSíŸÉФ;O²í²y†é:%þ×/ÝÝÎíõâÍËcÓÆõIk,±Ä’xC«!Ùí””–…Ì9¥jýfÛÖ͸\Nzì’#JËË ,ùµ+½¡’ô\®ë|÷{ß%¿<ŸH0ÂÄ£&2qÚDÞzé-V~´’c¾u GL?‚‡‘P¨g‘A›MB²Ù‘#‘^ÑËéŽaËUÁÆ”FÌßÿÐýT©äØ“¥¨´ˆ@G€7_|“÷^£gÍÄiéhëàû?ú>?þ0Gq¤iˆEQä¿ø­­­pÒI'q 'tñâc×ñðótéRTUM0æ©<Âææf<¯¼ò gžyfÚb¤îrc'ÛïËäÆîüïLVɼõ\ŠÂ²é‘îN‘Y²gq°<_÷17½‹¨!OW±n‰%– ‡SÚƒH$Òãy¤i:Zœ1ÏFÏd£ÛÓt1j¤ßxã 4M£©É€Ô¢ 3¢(2}útŠŠŠL¥ GøÏòÿpþåçÓÞÚN$áå?¾LÐdê‰S™xôDQÀf·¡©ƒ*xù•—9çûç˜7¶zõj^}õUjkkùãÿÈÊ•+¹îºëøøã©««ã»ßý.ìØ±ƒW_}•ÓO?7²råJÆÇðáÃÙµk^¯—ââbñz½Øl6Âá0=ôMMMœvÚi&ìl¦ÐtOCÞSyx= ¹÷ÆþÙx = ¹wç·Þòf{#7öU«TÅK²Õé&RïhˆÞ – i‘VMƒ#‡ûí·yíµ×xôÑGihh ¬¬Œ'Ÿ|’­[·rê©§&ôÑ~øÑ‡”õ)C‘  ãö¸4láp·×Íâû3mÆ4D¿ýX±fç|ÿ4Í(ÚÉ‹VÆ÷éÓ‡ùóçsñÅðâ‹/²mÛ6†ÊÝwßÍÕW_m2Ý|úé§üûßÿfÚ´i<ñÄ\{íµ¼úê« :”3f°dÉTUÅå2ZœÜn76›-«*Á\A=zí©1KâÍ6ž‹W›‹§{0<ëÞI’ضmK”Mɪ·ÄK¾ú¢©J©[m=­‡zˆ°lÙ2n¹åÞxã òòòøä“Oºxc{÷íÅ“ïAUT$›Dí–Zê÷Ô Gرyï¾ö..—‹ç=(‰¸\.ö7îçî;îŽÁK]qº£ ôO<ñ'tuuu<ýôÓÜ|óÍTVV2}út‚Á }ôííí,_¾œââbÜn7^¯×$®÷ù| 6ŒY³f!ŠbZ–ª/UñVª>æTߥú½3Gº"·TÞp6†9UØ7Äh¦kOvŒL©Œd%Éîå`†ÜUUaøˆQXÍ”–XbÉ×FG{fý€¢S¹öÚk¹ÿþû™1cÕÕÕ,^¼UUMd«˜#‡eD›H¨=ÄŽ-;wä8Êû–cwØÎi IDATq¹]Ôï©gÒ±“سsÛ6lã”SO1 ·hnÇc\ˆÍÆÖ­[MÅ]RRÂI'ÄÀ™:u*``Þ¼þúë¼ÿþûÜzë­,X°Àl‡kbHoß¾Aƒ™Æ! EëdÌ_fëw6‚ X®áîTaúlÑÀÒUŠgãegyˆ?^¦„lŽßùú2=‹Þb¯ÜK,±äë# ÉÓôXõùõ×_OUUçž{.ªª&x·±ôäÃ'óÀã——ÇoÀðÆÓw@_TU¥ß€~:,¾1#Æàˆ ¦´&ᢖ,YÂ5×\C Àår1þ|î¼óNî¸ã\.ÅÅÅŒ;–ÖÖV†ÊŸþô'®½öZêêêèׯgœq³gÏæÿøÛ·oç†n  â÷û9þøã™1c .¤¦¦&%¡L*£“ÎKµŠâ¾žEq1\öoò¤·0,±$³hš–F‰QäÓžèƒBõPˆ-•2PU•sÏ=×Ìu'»á¢â"Æ Ƕ-ÛÐ5¢’"ƒ?VÕÐ5}Ç“çá’.á™GžA¨üü¾Ÿ'(èõë× …$)Á‹4hO=õáp§Ó‰®ëüë_ÿB×u†ÊsÏ=gþ“_|1á»Xx¾¦¦†³Ï>;A§Â›Î6äžÎPäBª‘̧»†L†0ƒ–‹Mu=é4é~Ou¿©JCrÁ'ÈÚµ×~„„Jš\Ò*²,S¿o(B£%–X’ÜÒÚmvÊ++q¹ÝâpšØ|knj ±aªlÜ.å}°Ûm'{'dº©Û³òÐcO‘,¬ûûš+®á¢+.âôžÎÿ÷•U•øÊ|TVW¢DlvmÍmä—äsÆÉgPQ^azü1å3´±ïcŠ-öïX¸?Ö{Þù·+–¢( ßÅúѳñ¢s §ƒÍdØ“…®Sí“MÈ=WO,][¶ÇË6äž.Äÿe†Ü¿cN7Æ\Ó4¶oÝB^a!ýDG·lº%–¤ð¾C¡ [·nfÜ„ÃQd%A7556R__Ç š²CyLvŽÆÆjk·3bÔ˜¤-rô¢n·e뉥ò.*++¹÷¶{¹nþuL;e}*Xöî2FŒA[KÏ>ö,—]t?<ÿ‡ ¹x]×Í~òd"ž©*¶mì÷Ø~ñ×Ô¹7=¾Ðn·'´«õFÈ=[4ÕB"›{:oº³QÈ&•jÿlVˆÉ ù2…ÜsñjSÿ`÷îö¡ÕÇÜßÞŽ(‰Œ9šP(hsKþ,s·úÂt ØçCUUš𕔚¤.’$±»v'Gu´IüÒ¹¤¥ee¬øt9šªvé¢ê‰nÏÚ çÒC¬iãÇç•g_á®ûîâýåïã)òðÆ‹o°cÃô°ÎÓ‹žfÊÄ) áûLýÌ™`@3…Á³1>_è×T× $Ç‚~Í>Jñ•óm“™Æ@Õ5ADU£XÔR÷–|ù%)gîê:6›H$Üå7YU%‘pȈôvó  4 M×zežç„åžIAu–XH;??Ÿ{p8Ì–­[/–)-)¥_ß~q7%þOctU%›´ÃÁ2¢–$}PÝG†ÑIQ³Ä’o’ˆ¢HSS#^oÞ¼\ò>Gu4¡P1Ù¸Š"Á@»Ã”–µÍngík(+¯ÀWR‚¦ªXbÉAwœLvÁtÏÞ½¸\Ns^ìØ¹“aÆ GÁÀ4ºµRÎ#]×%‰º}û…Ã465ѯ_?Ün7Z´.lïÞ½ü4]¥ºº?v›Í8¶žÁ˜ r8Ìž={PU¥‹QRRJQqqR'7+ƒžMq&o½óßá`+{víäÿÝyv§M‘APT™P( ªŠ¢i¨ªJ8Âår“_PÄØ SºÕÆ”m®=›ýrmñêI‹S.mÝFd*vì­1ÏA/[¤»ƒÑ‡®ë:^¯—»ï¹‡áÇó­“O& âv» ‡œšÓé$‰˜PÂ{÷îÅét²lÙÇŒ?Y–q¹\èºN8N(àŒÙŠ1!êð&ô¸Ðäî]µôé[ÍFp:]ƒA„(ö„ ЧCôzZ[[¨¬ì‹¦kˆ‚€ ˆhºf†EIBˆ*9¡_U5;wl§¤´Ô ÷[rÈ"¡ç´ 1@1»ÝÆÆLLHM×q»ÝÔÔÔ FE…4]Î#]Ó°ÙlÈíí¸=njwºš<¯—Ý{vX*Ñ9Õ·¥S|üu;>Yþ1íííF¹Rbb·ÛYù¯·ùáìÑÖÚšPžSÛZ¶#•rª}ÜÞ<>ûlž|}ûT"°eËÜîÆŒLss ’$¢j}*+ùÇ«¯ò쟟£ÿ áä'´¯ ­oñÀ±ïâ¯#–?‰ý¦F« c+:³ (züØï© ø’-’=—T!Ù\Z˜Òy¼é*ÂÓœŠ1O)H·¸J÷¬–‡®iuuu,]²”eÿ]Æéßý.Š¢ðÉ'Ÿ0aÂDQdÅŠŒ9·ÛÍ[ÿ÷ô©¬DG' sÄSLïüÅ—^¢¨¨ˆO89¡¶¶¯×KaaaÒ÷â`Œùõ.ã"­-- ®jT¿G7D´úý”–•ÓÑÑNcC¥eåx< ò Ð4•öövZš›)+/Çét!JMü~**+‘$ ǃª*(²Ü…1ÑKއ®w2œÑ­¦£©:mvÜn7’Ó–`74U#–Oç¢ëË«š†ÏçC–e:::p»=ìÙ½§ÓE8l8¡T÷ïæ1Òè"Qd}§q……E]~ß¹c{Z𛬠z6 5&wWÅ®áòæó£¶v'¨*MÍÍHv;'Ÿ|2Ç<º®#¬X±‚ 7çu¡¨J‚±Ž¯®åìˆ&œN'^¯· Å«ßïG×u ME×ÒÒ@QQQLùÖÖV<¹Jç¡gÓãžÊ#Í).îzüw©Î—lßTû÷Ö˜gº†lîï`zyº®SZZÊoy„;î¸eË>柯¿Î™gžÅ?ûŸ¯Z…Íîà†oä_ï¼Ã£þžuëÖ1nÜ8>þx9.·—óp[·nå²Ë.¥²¢‚;v²}ûv®ºêjîºç¦LžÌŒ3P匹ù»~ #þ8±HB8B%B¡ Ÿ~ü1“œJ àgÓÆ ®ÂÖ-›}ØXÖ¯[Ë”#âó•ïQ^^I±ÏÇ«W3iÊìÙUK[[å•lÞ´‘á#Fb³ÙÐ4]W-/Ý’ƒ.‚ùŽ%Ö{ÄÝeeeôí×%J),Ë2ëׯÃãöÄÙäæBÌC›GªªRQQ®ëtüØmv‘0v‡ÀOuu5N‡ãÀ¼Œ»¦”‘Jݰm¡Pˆ‚‚ö$ËçÑã¶µd† ©¢©´55±iófD4‚NbAR(Â[o½Å§Ÿ}JU¿*¦=/¾XCcC#º¦ˆsQ™1cï¼ó_|ñ7ß|3 .Äétò‹_üÇCGG\pÇ{¬Ù‡þÔSOñþûï#IÇgîܹLœ8‘3Ï<“ÚÚZî¼óNúöí ÀìÙ³yæ™gxòÉ'yüñÇY³fYH”«‡ž.WüM Oýº·­‰¢HG{;O?ý Á@-[·¢kgžy¾bŸ¹]ii)Þ¼|þú ,_þ1 ð‹/—ÀÆ›xì±ÇQä'ž4ƒ«®ºšù¿ø‚ éă|°Ç<横b.$bÛ‹¢ˆ¢ª(ŠB0`é{ÿáøNBEÖ®^…4쯧¡¾ŽH8Œd“l6l6&M& °«v.·‡í[·P^Ù‡æ¦Fj·ocÌØq„C!tMEŠò†Öµä«r×TÌ÷]ÕŒw\ÕTdU¡µµMÓÑu »ÝanF÷SUÕR"ÆhššÑõòòrÚ6oFŽÂº†B!*++q8]jj¥k¡h*ç)Ûôc¯Åå*Š¢£‹6®š3E–Q=vÜvKÿïß|ºâ3‚þ çÍ:ÃFÆqÇÇM7ÝDCC“™ƒèÛ·/µµµüêW¿âå—_F’$æÎ˵×^ËðáÃèèèH8ï³Ï>ËÛo¿ À·¿ýmæÎKqq1?ÿùÏM®w€Ï?ÿœ‰'pà 7°ÿ~ƒ6ÊàÖno½°Ý)¸²¼£ôb·ÛyíµrÁ~ÀYg‰Ûíæç7Ï#ŠU €‘?onj¢ØWBkk›¹(0Þmcõß°¿WvxïÞ½x½^“|èPŒyü÷†¢RLÏ#ÆÿÞÖÒ‚ÍnÃårÓ¯ºšÖ1¨fº¥åTW÷§ªz…… Š,‰Íü¼(Jôé[E^~Õý¢iápØÌ¿ÇØ-±ä zè1dPtMU düÜÒÔÔhò”¨ªJKK ­mm8TUA²%3…‚¹ŽO‰¢Hmm-²¬ é:š¦b³Ùسg’(šPåñ¶ YÛ\wë†Òí×+=壪 9L[[}ûöAUÐN?ó ¾X·9"sÅåW Ù% ¼ùèºN¿Ê²„coܸ‘›o¾™çŸÞ|@;vì`øðáD"l6›rɼyó8ùä“q8\tÑE\yå•üá`ݺuL™2… /¼Õ«W3dÈs¿XÛCoâ¯jÛÚ—¹`ù²ÚÖìv;Ï?ÿ<÷Ýw/eeeÆûñà ¹íöÛùży9u*“&Nbýúõø;ÚøÅ¼y|ç;§0f̶oß@ ààœsÎæ¸cEV~ùË;…‹qÄGpÊ·¿’cÅwÚÖú¢‘>ãoM×ñxó¨ß_OUU5Š"3|Ä(>Xò[7o¤zÀ6oÜÀ®ÛÑu‰“DS5„¨ç#Fq®UUA–#Ô Ɔuk›dcÜ„‰´µ¶àt8£t¹wQXbIwBîz'½«ë:.‡g™MÕ°IýúöM¨+inn! Æ7½"OHkI’D]}=­m­ØmvYÆãñÒÑÑŽÃá`çÎôïßG\Ø=“§-FWŒM4U×J·=ôl«Ü3UÇ_˜¦©hrÄ@óá@C}{{;sæÌáç7ÝÄ)3NF*+*øïÒ¥¨º–p+UUUŒ;–E‹ñ“Ÿü8@¿*I’¹ŠŠ/ÈyöÙgY¼x1.—‹ë®»ŽY³fqöÙg›Ç<ýôÓ¹ð Yµj×]w]§p‹–Ò3]Õrw™Ò2yÚ‹îºÃ¶–îåè1Ï%¿žêYL¶µŽŽ/~Ò\=‡B!N:é$¦OŸŽÝnçè£à¾ûî% sÔQGòÚkÿ@Ótxà~öóÁÒ%46ìçâÙsî9çb‹†§¸ý¶ÛŒêï¨÷~(Æ<>‡Þ¹(NSUJËÊhØ¿US™0q2--ÍÔ Š×›G$fȰáx<^ì¡`€á#G G˜0q2ápYŽ0ú°qhš†ËífÔ˜qx<$›`ÀO[[C‡¤££ã+ƒaÉ7?äN'­i…E…Ȳlzå±N°Ù¤„@{Þi!ÐLSc#‡ƒp8Luu5n·›}u†h·IìܹӤï6çyŽ®ºYÓt Yöчû|q×#àt:ñûýFWO<ôLù¾\«ÜE% ãt8q:¨ªfVÿy]nÆs$}¦ŽGÙ¸‹ª!5l“B¿ØŽ—‡klläÆo䦛nâ®»îbÞ¼yÌœ9“믿žk®¹†/¾ø»ÝΉ'žh^G0d×®]¸\.“/ý‘GaæÌ™|øá‡TWW°sçN*++œŒ¦Q__Omm-Än·g Uûu«rOWiÞ“1φø$S•ûA]ÙGÃÂñ|1PY–ޛ͆,+fT( a³ÙˆDäèÿ#Ñ(ÔµXî<žlèPU¹ëÑ­¢"IÕý È2²,›!ʶ¶Vó:[ZšÍmZ[[ö¶6S9¶µÛË‘0MÑŠyQ”0pP—ܽ%–t£77TUÅãñ°}ûQˆªª,\¸€N8 PUUÅï~÷;–,YÂÑGmÞÃo~ó&MšÄ¢E‹˜;w®™gÏ&\Üù¹¤ )§3‚© î²A$ËfìÒåh{k̳mëKu¿‡Â ÄüÄ®+֪ع2ö[üuÅ ÅÈb¿'+;Øcž*D×Yy 9ÁøkµuRÉÞ+óoQÄw9ªŒ,cnÉ—%ªªRVVFEEEó/˜Ž[úÙ’ø«ªª”––"Š¢‰IaÔÏyyŸ¯¯×ƒÃá0y È&“žE‡ŠòФsGUUÂáP÷ÉY²Qü¹xb­† „Ãá "ËÛZˆD4¨6‘Žæý„4ÁdO];ã?œwß{'!Œ~þùç›að˜áVU•©S§2uêÔ¤çöx<ÌŸ??ážFÍ]wÝe~·uëVN>ùdóx7ÝtSÎÏ¡·ÂGÙž§·ð×s©²ÎeÌs ¹~ÙFàP/&º7æÆÌÏjûŒ¡ÄƒÛh‰%‡J4U‹b¶®v¬ð-Û9¯§sŸõݼíE×5M×̸ØB7VDC85÷MB¯/ӥ۲ѶÞTDéò UÕƒ°9œ|¾èöî®§ªO9.I#ß[Ь«èùøÚ=[hjÚÏš5°üÓ•ØlRÈK|3æ]¤ëOÚiÄŠåâÏÓ]c“­‚N·ÚÊ4€{Ü{Ú¶v0Æ<EmªHAªTÀÁ4¬ÙF ¾ncžhü-ãjÉ7[t]Ç›—‡"Ë\Ré@’[g[®›áúÎ6#U„,¾šý@Ÿ¹žØòž…îËd{Ré‰Å¥Êè|Ã^oã'Éú5OQZZŒ®ƒl@ˆ¨2^—“pPgãúzvìØÅYgžEAAAÂÊ%›®lB›ñáÆxÔ¹d!ãƒýšê~²-JwŒLûwú5Û1O÷‚~Šâ2ð¯ã˜9{!ª€4˘[ò?!1R nGæâÅã(I(²bò¡w[ÏDý!!ÐSÝžµ‡ž+°Lüöéö±ÛmŒ5Šz„[n¹…­[· ÑTcŽ„(/+ç¼ófqó¼ùäåå¥U¸éŠ…’}—Pu÷}26¸Lzw€eÒ=»L ‘lBG¹xèÙìßcžìRå⥇žéÙ~]ÇÜíñ¢é:µ;wàñzÁ²é–X’bÝÍÍMT÷£ª*}úV±~íTD‹¥»{Ž ?€ÃåD’$Eì5ÝžµAOWÝÝð¨®ë¸œ.†Ö à‰'ÿñfºÐÝ¥0=!“é-#’*´Ü›ê¸¹„Ð3y¹xª= ‰§ó´ÓÝßÁöпic‹8 1’Ö–f‚¡¥´-±$õDC’$F6Îôð㿲òrŠŠ‹hnjêæºØØ+¿ ŸòÊ>„£€UÉRg=Ñí z¶KµbHÕ2 pØ%4 d9‚ªéèQH>£ØM‹vhŠJiy…ÙS®g(*ÈEAæjüÓµ¨¥[5eÂVO¶(ÉÔ^–íâ©;†½7Ç<—ãwgL{gB÷`Ì3<«/cÌ㯩¤´ A±\tK,Iã>£'´©v§ËMUuÿC×5"qÆ<•ÚÝœ³AOu©¶KæQ ‚@{{ÁŽz"áÁˆ†ª„‰Èj$LX‰ FÂ(²B0$ íwÂÉ 4¤Ç >U8´7À/2…m³%ÉöZEvoŒù×AD›Ä7µÁÊXxXœä–X’I2q$ƒmÍUl¶ÞCYOW/`Ë´HUŒ–ΣI–WÍÏwñ¯ÀeWÜ@Y™P(B($ÒÖê]‰[Ó”——³øñ úU 4Q}rõà2Ýäê­g*ÜJåuÞ.›Jñl<äîFÕ˜w×c.ŠìÛ³Û*³ÄK¾6¢i•}ú¦t lÙÄî*àÄßD[Z˜:u ²a_]yª‡úýMÜòãã©kéÀa“•¿¾³§ËÎK¯¼Â¤#¥¤Äg¢nÅúÐãyÑS­°R¿Î1cOÏÏ¥ž.ä0<ã\"½½èí1ÏÕ¸jêi}úUYÂK,ùÚˆ€€¢È¹{èÝ5)¿ÓUtMgÏî½4µ4 …ˆÈ*ÇŒĶÝû9û¸1D" o²‰qCÊYµµÓ…(‰¦GõÈ#0gÎÀ@‹›9s&C† áõ×_çÕW_¥¢¢‚«¯¾Úhü”––n¿ývTUeîܹ 0€ùóçSWWGkk+<ðUUU‚ÀâÅ‹¹à‚ øíoËúõë9çœs8ùä“SçõÄ(gcÓµsuÀ%ÓxõÖ˜§Ã¹Ïf»CA.#›øÎ–Xb‰%_£ž¦#ËÖ“ƒæ¢puMCSu‚¡ rDÅß.SXèä?+¶2ù¨Ãyjå~Agw‹Îg«¶QQæc_}½Áu•×_9sæ0gÎ&OžÌ!CøóŸÿ̆ x衇X³f k×®eÚ´iæ>—\r >ø .—‹K.¹„üã¬\¹’×^{-ÁÀÔÕÕ±uëVÖ®]ËØ±c™3g7Þx#>ŸI“&£s0ŒV¶yûî2¿åz½_U’=Eï©%–XbÉ×Uz„—Îsìüªj¨ºÎ¶í{˜<¥?ýûä¹?}ÊèI#QOù)§"‡B4½ûoÊkw£´µ†Îãr¹¸ë®»8í´ÓøÖ·¾eùgžy†H$¤I“€D¶µ‘#G²oß>œN'Æ  ¹¹™sÏ=—ââbî»ï> X½z5düøñæùbÄ-¹>ƒžºLáôtEk¹2åõ4,ž.§ŸìúÒátç9öÔ¨';wÀ„º;¦Ù’ÒdS¨("‰"mmmF› V»%–¤Q)..BGD×µ„ù%Š"²¡­µ­Gçp8äD;º2PeSœ³‡žŽÁ+K¥eM%0jx1g3ÊcŸ=‘ÿù1ç =›QŸ8PU‘5¼¼·uýúôEQ5â¡uêëëY½z57Üpƒù](Úk› ^t„ <üðÃ8N&Ož À|À–-[¸üòËyöÙgY¹r%'žx¢¹ß“O>‰Ãá`Ò¤IfÈ=“RNIx“ŒÂ4Ó w¾·l+èÓœTŒg=ó\#¹¼È‡2šñusÝjÃúõÔ×í£¨Ø—¸™þÊô]ô?É¾ë ¯)¤úîË:O–ÇL{žoú3²ÆÜ`ð6XÓ¾XÓÁQѨn¼òü,ûðCJJËèîÊXZ[Z(**ä°±ã»ÌùÞÒíY{èÙV† ÆòåËMc½ÿ~ÊÊÊÌY°`ï¾û.'žx"—_~9›7ofÈ!ÔÔÔÐÑÑÀš5k˜;w.O=õ^¯—K.¹Ä|¨Ý Q÷àM¶qo{®ßô ðžÜ^6¸uÌSlÛÑÑN}}=§qmmí†×!Šhªmwl’Y`ªªª °+þTUMבDÑ,8UTM5"_ë&ݬÉD—p$¢”ê< ªJ—󨪊Úå<𦂠`K8D)IèÑó躎(IHIÎ#Fy¥»\» ¢jª‘âKwž.ÏHB’Dt@UŒcJRúóhZ’±P5T-óXè±cª¢$š<ÙéÇâ›=抢…Ò6[nc.Š„C!êöíeÓ†õŒ=&ÊžN§“—.å¸N¤´´¬ÇsøÍ¾FsSEÅÅᣳ™ç9ôl˜§r%·Ðt] ³ê‹Ý,xá}òñò‹kÈó­å•µÃ!Øñûýüø™K)tЕÄÛihhÀçóñØcqÁðè£róÍ73þ|yä~ö³ŸQVv`®ºê*Î:ë,$Iâ¼óÎà•W^aÍš5nºé&ššš(**àÅ_äꫯæÂ /ä™gžá¾ûîcôèÑiyΓ=ƒl‘Ò³ó﹄^rñÒ³…í¡I.D$™žEï{èŠe)fAw`z1ó IDAT}Ì㽕¸s(²‚Çã! òÜsÏrÚi§‡QÅTº6› ›Í†ª*Ȳ¡ í6R”òQ–e4ME’lfÿ¬¢(&¼Ýn7ùäcÜçv»= m©˜JñÀyT¼#ö]ì<1Þh›Íf*FyÚ³=OŒê¶;ç‰q8ärI’Ð4­[ç±Ùlˆ¢˜ÓyEAÓ4l6›is9Ïÿ˜›]’rs¿ßOU¿~,¯Ý™PS#Š"~¥¥eȲœ±W=SXß›ŸO(D|)¹N²ç=òÐs1"éŒEss ýªª9lÌhDÍŦu!&ŒŽÝá$ ‘eÝÈû!&<UQ ’ú¨²zóÍ7Ñ4ªª*^ýuS>ôÐCI ®ëœuÖYœuÖYšÆÜ¹sé‚ ˜1cgŸ}6gŸ}vB;\.Æ%8Ôî@±v¾¿î½î´½å:æéj*2mw(qÜÓ1}Ç<Ö›1cUUVkž%ßlijlAÀç+Éi¿p8ÌÊ•+{‘Ë%Ê– ‹Zwu{VXîÙäS3aÔöé7ê˜7ï ¼È­„C á–f§ ͤI“œ öý´ìÈÂÅb‹Õت-~õ#U‰…Rb+ÄÎ×[=ÆB?ñ|¹v»sÎ9‡âââ¸ðj7¶ÚMvOé(Z“y°ÙæNÒíÛ™`&—¼s&èÁÞóLEq©Ù°õV;›ç?!}ÅÅ446v¡ÙýªyÌChiiF–es¥/D÷ùJyÝB&1BÖ’¹ ¶€,ɤÓEIðbUUaÿþFA@Ó4JKK°Ûí]t^| [Ý)IÍÍÍ ö"þ·öövN§3-Â\*â°tdUɘ@³öÐ{5̸Y'žt*úÓÓÜpómLœ4]Sqçç#ªdÜ6;ï°œ5k6¢ŒÊöØñb<–‰[Å„pIçIÌÈÇÿ[èºNyyyBec¼"É„¹m!Å}=‘âb×ÿ~aG#Çæp8‡Ã Û»\.zøaæÌ™CsssÒwN×u‡n´Ûí¦aMwŸ±÷Ûét‰DLE“ê¹fzN±ûص«–åŸ|LII š®¡kºj¬¨¬dÒá“£Õ½bÎ0¿É”RºkËfÁ(I ,àÊ+¯4ð¹Dš²ùä“\yå•Ȳl.¼c{çk‰'ÙuÅ/’Õ¸¤32Ö<ÿræy®º=™È²Ì”)£Ù»wýúÖðþ’Ïùù¼kÐuÑonnåØcNàç_hæÜ³•½{÷áóù%~€k®º‡ÃÁªU«xéå=z7lBVd\º+mmQüÜ_·ö >ûôì‡ù¬Ün7o¾—ïÍ<GG‚S›³AÏÕ“JçIèºNEy?<ÿ"4|åÕ477£jêâw]Çår3`ÀFŽ‘SH9“›é:»ã)öF^¥·WÖÙTYg ÛôÖ˜j;q8¼ûŸÿðÒß^æì³g²ní:|ðAžþã)--eÞ¼y´¶¶`³Ùhnn6Ñ=·¹0¤°°p8LKK •••xóò¹rÎU¼ð׿0hÐ n¹õ~yÇôï?€üüµ q8H’dhµ··›Å£1cÚÖÖ†Ïç |‡’#  ‡Ã¸\.¼^/µµµ\~ùåœwÞyÜ~ûíÜ{ï½&¼‡Á`üü|òóóÍÈZgïD’$ü~?š¦‘ŸŸO$A–e Ìp½ßï7 ¤â1)¬yþõœç¹èv#¥$ÐÔÔLcS Ë–­£°°(jcTUaâÄlÛ¶-ëçÁ›ù½™<øÐȲ‚Çíâw¿_À1GËˉ‘#GòÙŠ•œ}ÖÙi®Ø1ÒyÕ67nàÂÙ?"//ßüþÍ7ßâ¯/¼À‰ÇO3I3ÕueÕ‡ž*×—‰N4q% ‚(Â1ÇLëÖê6ÛÕiªS®6‚šÞót¡¸LÏðP,t]]çŒ3NçâÙ³‘e™#<‚_ýêN~ùË;¸ì'?aÑÂ…\pÁ…”””àóùxø·¿%VÖ÷frÅå?eêÔ©\~ù8]N Ì•?»‚-[¶põ5×p÷]w±úóÕÜzëmÜqÇí 6Œ+®øN§“¸ßô4"‘555\vÙ¥<õÔ’ÒRf_4› .ø‡~xÖc ÕÙívÂÕôØuM#¢¨TTT p»þ½wêÎlïÀ.»KY ‚`GŠ=*j¢&ÑÄ׆bóóªQ£¢FLì‰Æ‰Š½cÅ*uYX¶·i·¿Ü™ËÌ2uYxÕwŽŸù°ÎÜòÜçÜçœç´ß¦M›Æ¯~õ+ÆŽËwÞ‰asÌ1,]ºEQp8Ù—þ‡ºŽã+’,¡jfÒÛêÕ«Ð5Y‘©¬¬B¶‡‰¢­èdÖy´§YÓ4.½ä7üî¦q»]äçç³fõjŽ=æ8¦ï7I !ж„1þxäõx¸í¶Û(*.áÒK/å§?ý)ûÛß3z4ï¼ùZÚ:0eúPíšäP?[77sá…—àp:@×ÑtPFÐ5TMCÕttE¢´¬Œ¢¢&M–2•¨â­;ó|»bÎ2½Ö`±Û‡ªÆ}Wìêwe=ºa¸Ýnr<^*N^}õUjFŽ$ !É2ã'ìÁ¢nà¹çŸgÅŠÏyî¹çÂ縬خ?`ýºõ<òè£Ì=î8òò èëë#ð“ãñÐÓÓC¿ÏGAAÁPˆÍ›7óÄãO0yòd¦N™b ”H½®Çã1•`f©—••Yõ³éòÜ0tdYB’Bhš¸Ñ5#üŸé}4ë•uC ¶H"Qnn1¬tUK¡Úík¼N§ÓR¶……¸Ý.$I" röÙçððÃG×5&MšÄ7.âõ×_§¡¡Á:ÞápZ÷ˆÛí ð[ß…Bf‚bnn®õ]ee¥õ·Ãa·6‘y‰œ¯(²iDdéG¢h37…NŠ"ãp81 I’èîêÁåvÓßïãåeËp¹\Aš›Ûõtv¶o?âʳv]–¥kÛãñðñÇ p8ÌÐS^~ï/Ÿ)S¦`Ř‚( VNJBý¨(Ìšu(gýô§¼øâ‹TWW3gΜðùé÷œ°ï®‰Ïñä²|ùrZZ;(*, ­½` @cóVö]ÎÚ-ˆ”äzXµ±•¢|/õcG3¢f,…… Ý×Ñ»¨ÈBèÖŽ.ˆ€ct«ÔLÜÕYú~“Myê©§1tÖÖ6Þy÷î½çZÛÚlkÙÊ£>ƤIùðís}ôQfLŸÁï]x!KZÂô1ûññ'Ÿà÷õSW7Š… ¯cáÂk3f 7Ýt—ýæ7üä„hÜÐÈȑլZµŠ¾¾>JKKÑu§ÓÉêÕ«YòÐC,_þ!ÿ~þyŽ3‡óΛÏi§žÊ”)S2Ú´ªª†,ËfðNÀÊä°0¶onLÀ 'S¦ìÉUW]…ªªÜzë­üò——P]]E^ž©P»»»­Ktvv…¼ §§‡òòr~ò“©««åî»ïaÖ¬™hšÎSO=ŨQu¬Zõ5'žx" |ûí·pÀþüú׿¦¨¨È²º‹ŠŠ¸ùæ› lذ!|¯Në¾Q›ßþùçÜuןùè£9ãŒ3,¨ëÙò·¦…¾=G=ÚŠÞºÅOYéhÞ|kì¿°‡‡>ì°½xîù×øæ›oñxrR¼±zNNŸ~ö)>þååtuvãÊqcè:Š,qûä’_^“ðš â9BŠ¢0yòdÞ}÷]&MšÄ³Ï>;¨ùH«=Ñ÷™):ÁæDU¾ùæú}ýhºÁäºröjÉÏr º®óñ×͈v[»ýtuu£ëZLjDa‡B!DQÄí63 [ZZÈÉÉ¡( ­©AE‘ŽŽt]§¢¢"¼ÛY‚¡²²ÒrÇ)Š‚ËåÂï÷ÓÛÛËðáÃÓ~Ötçlgæ4ke:¾èó†žç;Ž+Ý$”ÿõ†J–e9äDÑTWWó«_ýÃ0ðz½\{Í5äååqÒI'ÑÔÔÄ_x€žî.î»o1Á@€ÇŒ­[[ØgŸ½ÉËËåóÏ?çŒÓÏ@Q~wã"–-[F__—^z Ë–-C×uêêjYpÍ–ð³9†Q£FÅde»\.¦M›Æ¬™³Ìw<àÒK.±j^Óå¹躆ªjˆâöÍkôñ‘ìðˆF¬•P(È¢E‹xùåe”——…­r;¿þõ¥|ñÅ—\vÙeèºÆÃÿ=ìZ¹ë®?c·ÛP™ë¯¿‡ÃÁM7ý7kÖ¬% `³Ùhhh ³óü~wßý+éîÿxE‘¸îºëX¶ìÊˢ3çX4MeÉ’%¼öÚkŒ×ÀñÇ¢ÈÜwßb´°+uÉ’%&ħ®óøã°ÿþû3sæLÆk`Ö¬™øý¾ᚥéáÜ!ê—$‰sΞKwwn— HOO§Õ|EUzØcBýv£/|¾÷ú†e艢ÈêÕkxèoK¨¨¨`ã¦Mœzò)̘±?·ßñGzzº Iwß{7ýüÂpV½©‡’–Æ æF{ëÖ-ÔÅï¿77—¾Þ^<^/Á`ÐX =d¥”™ˆºŠ®Èƒ!4]CÀnéèñÓÔÜŠ×10X³®•Žî^ÃŽ ÆLÃGÁ믿Ί+øíoËý÷ßOoo/×^{-¥¥¥ôööròÉ'óãÿز8î»ï>>ýôSÇgÁ‚̘1ƒÓN;M›6±páBËu÷Ë_þ’‹.ºˆ;î¸ƒŠŠ B¡×_½µIø|évŠd¯ŒZÕ&É>MW9 χàYv¥ ðx<Ì™s¬µè"n2§ÓImm-¡PˆÉ“'1uê$IBÓ4äççSTTD__#GŽdôèÑÔ¦ËåâÄOD–e Ã`îܹ(ŠB0¢¤¸˜ã?Þ‚¬Œ¼GŠ¢P]]M]]%˜ü~?#FŒHk‡¿ƒÕ-Øí6$9„ÓédذaaK$¼IÒ Ü9nËÕíÅRU•#<Âú®££ƒ±cÇR[[‹‚AÆ·Î;v,º®#Ë2µµµèºÎ¸qã˜0a‚• …8àÀÁJD’$‰úúzdÙ¬Ù?üˆÃÐuC× …B¸ÝnŽ?á´0´§,ËÔ××[ ™Æ7XO˜0E‘éééa„=¨­­%X¼ÍÒ—¢=®…E…ÜwߣØÃ†š ‚ˆ€€ hš¡‹L›6‹ö¶ö†n)t·;‡å¾ÛåfË–-Ìšy(EEŬX±‚£Ž<š§ÿõ}ý}lذÎÎ.Koè)Ö¯,IxÐA|ñÅç|ûÍ*sjÞMÓ˜6}úe˜+ôxH`éçD5‡šŠ.ÐÕÝEQ±‹ÂÂ|¶4÷ 9sícÇ¢É jÕÿ;.A§½£+&󯪪Šõë×sÛm·ñüófÒÑo~ó,X@]]`–ËDÓÓO?ÍË/¿ ÀQG@AAçž{.‚ PZZj¹ê&NœÈž{îÉC=ÀâÅ‹ùðÃ9òÈ#[CIÚaf ,“h¾“¡º¥#ì“)Òdd;Ãó´ÊKâÜkw*ûˆ’ˆÇ«ÈÿGãT¬sŽVȳe£Ai"¿Eo.´¨&ÑïM*žˆæÆŸÃGðêkËpº\±ï  (*55µ(²d–¹EÝK +JMUyþ¹gQ›k=GïoU×Q$)QÏmÍoÔ¹rhÇy‘¬çD÷UuÝkÀïÛÁ#‘¥¨2 !ºŽß×ϧAwwOLH)úÅ7t³ÆÛn·±¥¹9©å©†1t€ßÇá‡A?£G¦²¢’––TEÅåv1û¨Ù¬ø|•”o—ºž0).²áôæærØáGšk<&‹„ÈdY"à÷[ n¥ÐS%$eZ¶¦i*š®ÐÖÖŤú**¼4®íÄèGÚ¸‰º™G I[_ÙïÙ“VæÛ¯µzõj.\Èc=f¹›››©««C—Dj"´`Á~üããt:­îiW^y%K—.åË/¿d=ö`þüù|õÕWŒ=Ahkk㬳΢¢¢‚ .¸ eÏïDó’ Œ!XH²²µdnìDmOÓ©·OVJ7Xž§S.“¬dn(ðêSÇß„¸›‹LCß)ž‡}‡ºn + e¥eœyúÙ žß =ƒÁ„ •𦑓“ó½°r#`‰³ôC´Îõ˜Í›©€¡(Œ—ì] …B…›è¸(—»aäz½œ?ÿ||>?Á`€â¢"³«[÷ ¾¾»Ýn …žHowûøúûS?æ¿C`¡§ëÚMtŽ®ëøzýÌ>|4‹~q4}ý!&N(å‰7³°âl>ûËrDAä†êùÌò?A7UScša9’}÷Ý—;3K.¹¯× `uωÜ+’øàƒòôÓOãv»9ÿüó™7o³g϶®yì±Ç2þ|¾øâ «}jyy9/½ô7ÝtË—/·jYÓñD¤‚ŒLf'Ò©út'³rSá¢gŠž.Ï3¾HuÍ]¡ÔÓE¹ú¾ñ\ktUS‘e9 aÂ44âcû\.ó»°A“¬?óÀóã]3åw;ÜgûÈõ]yŸðÍ„°•f ê>ì8—î{¬a à]wÃÐwŸï9ÏÁ,ot»s,s\"žcÖ~;ÂàC Ì+©:z^6›h ES4>|t( –J:¹éz0“–­ ¥…®j*6»Á3ÿþ@`ĈBž}þ+jÊ«8ÿ¹‹hömFê rÎ~çrä„£x»é-tU)§okkã׿þ5×]w×]w‹-âä“Oæ’K.á¿ø«V­ÂëõrØa‡ÅŒã‹/¾Àív›Y¿Àí·ßΜ9sxÿý÷=z4[¶l¡²²’wß}—žžêêêØ¼y³Å´]a¡g ,³+-ôt\僖ɜgwXèñ¼»ÃBßÕ<#…$ü>?ÿøç?Ñ5§Ë‰Ëé 2»:\n7¢ ’B(²b%ššñwÙ ä¸Ý8&F}H ¡ë:n—‡ÓażUUÅétárEîBVdn—ÑföŸ–eQÂ÷q„Kì$ Ì’5§Ã‰¢*H!3߯ír™˜ºiU)ª‚+܃p‚¬,Ë8ìÜn¢Í†’ÙÂëwØÈá牔+ÚvtM#2ó#\nÎ0ôf(hÞÇétâoxB¡Š¢b³™sd³ÙI’i!àÎ ßG‘‘BÒöG‡]3ç(’ca–üC!EÁépâr»PHBQÄð}ì6’$#É’y·‡Ã¢È„$ C×q…¿ÓüÐTíÿ Ïs<9æó„ïσ¡]]]:kRX/Äuè'Ø`¬žJ¼2â–Ä …lO[¡§Ûm-QâT\µ¦Z¥ k×o£ik}¾~6Ù7 Jh²ŠÃp²äÝ())Áà9‹Xå‹-âÉ'Ÿ¤©©‰£>šŠŠ ž|òI*++9âˆ#bÎY¼x1ùË_Ð4Å‹0{öl{ì1FŒÁwÜÁo¼ÁšÈuûì³?þ8Ÿ}ö\p'N´vhɺ‚¥ƒVï¸tj: :•…žHAfÒm-ž'C:±þ]i¡g:ßßž{½^ü>¢(pÐA?ŠÃö€b|Á#Xr'Žv$´—(dbÝ! kï»pŸt¾‹ù^ØŽ×õý¸O–çɾ³ÙlôõõñÞ»ï˜'QXŠ¢PU]ÍG-gÏ=§bƒ 9™óÛÞÖFÀï'?¿ iV¦²=#—{2m"7A²õùC4ŒÇ‹ÿLH’ñuw!ìëE³ÛÑB]Ä™£ ½xÅ:þóê,]×9á„,÷żyó¬ßÞ{ïÍÞ{ïwÌ.—ËB­ŠŒ»¾¾ž… Zßmݺ•Ã?Ü:þœsΉ  ,{IÕV4]÷`]Ä™º“Ó}i†šç©®ý]NXJ­ú]å¹Ýá`¯½÷á³O>Æçó ñ¤»ƒe»ë>YúÍóH©è˜1c¨¨¶C¥Çø {ðÕ—_ðò‹Kw*‡$''‡ ÷ ÇãÙéFTƒ²ÐS¹Z3µz Ã`Ĉ\?vó§;o£©q3#«†¡ãÌq¢k6‡›j°~Cíí[èé[ÃWŸ=ª)Ctg§d-åRõ*þ]×9ýôÓî‚Õ°f„ÝÝV4™å<”ekCýŒß%ú>ò<’)Ÿ—ŸÏÌC²`HYÊRªu£…û©ÇË%š2u/öÞ{ŸÚk†ŽªjiU@í¬LØé~èñÚŒ«nï=›ÃÔ}ö§iÃcvCÑD¢`CÒe =.l¢›Ö­>š6má´SO%¿  &© ÚïxÂ4‘rŠt’Ї0—ÊuOy¦rϦry§ºo¼˜k¦.ìDJj(yžiw°ÿ«²µLŽù®ó<Þ\‘u)Šf¹sx9hš†¦ëñßË”a=cëßf7Ñætȹ¦Øí6 ݈¹_4„ïë…ôÂÆñŽ‹'WÄti¼ÏÀ›%êVµýK C×iÙÒºõëhoo§µ­ƒi ÃYßÜʬÉ#ÙoLJ0ĤQeôûƒxÂÐÈ-·Ü‚(ŠØl6®¿þzÖ®]‹Ífã™gžáÜsÏ媫®¢½½=FØuttpá…rÁ°nÝ:l6—]vgŸ}6ÇwÍÍÍV¯Û»îºËúûá‡æ¶Ûn‹ÙD$RBç%ÑÜÅðÉæ4ѵ1=_¢¿O·TkHxžà·”ÝÂÒ,Ÿ3[p†„‚t]#“ÚëD¸ìèÈh0‰È±^¯7¦Yî⹅{=žGIëc„¸ ‰Æop,6µ‰Ž‰ù„ç.r}²Ÿìg7} 7_Ezº»Y³z5ëÖ®eõêÕtvvâ´ÛEÑúÑïi²t7«áËö2¶æM›ðûüØ¢ @Q€-›·ÐÙÙiU¶¤º~d¢(âr¹â|LHßr¹§ã¶ÎÔmh:šfd ¿O¡ ßÅ[_4²ïûò·U½lõÛøìËF*ÊŠiim‹©|óÍ7¹üòËùùÏÎÌ™3;v,?ü0ÍÍÍ<ðÀ¬ZµŠuëÖQVVfsÞyçqÿý÷ãv»9å”SXºt)kÖ¬áßÿþwÌøZZZØ´iëÖ­ã›o¾aóæÍ–•°ÉÔ*2Ëg7ÐPó|wŒ!Ffx/§ÓI^~¥Bûûú$‰@0Èo¼ÁQGeõÔÈÍÍeæ¬Cyï½÷hkÝÓŸ8Âs]×)))¡§§]×),,Äçó%EšŠÌŸ×ëÅã º»º¬çÌ܆›NÅÜÃçó±fõ7xð!¼¼ôfq$Ÿ/®Êf³ÑÚÚJAAv‡#å6Én³ñõª•2¼ªÊlP‘5 ³´«eV”#Û~ :6QdËÖ­‚€Õ4%//×€– ìsë_›(²µe+в­…µ”¢¢"«+hSS‚(âøñx=8ΚéÄ“_¢(âëïçóŸ…[5Ö=uMgdM cë¢ – “â2­Ch­Æ;GÓttàqãV¦íWCMM->ü {ì=uÒT{,j(D×+¯PÞ¸ µ¿9Љ‰Øívn¸áN=õT>ø`^~ùeyä$IbÒ¤I;¸É§NʪU«p¹\Lœ8€þþ~N<ñD ¸å–[(..fåÊ•444p×]wqùå—sÍ5×$tãêÐã“iz:c,Ï=C¢ñeŠh§:…E¸Ü2’¢áp8ÐÒT~N§“O?ý”³Ï9—êêjJKJ˜7ïdŽ;î8TU¥¡¡Y–),,Àfw øÃí9Ý–r·Ùlô÷÷SXXˆÝáÄïëÇ››Ç/ñ þ|×]\wÝB.ÿ¯ÿ2Š¢˜‚ÄC(Àï÷[›·ÛÍwÜÁóÿ~â¢"î¸ýv ‹ ÉËËC’ÌféðL°”y¬e/ˆ"[·l¦~\º®ãt:±Ûí&¦µÝŽ¢(Øívìv;ªª¢i^¯ÇŽÇ›Ø×ªªZ˜×§AQYQ¨5šuk×0lĈlv}–v›²ÝÑ´]…¤¡†Û墥¥%°ÛíôööR__ªªæ9É6ÆáëjšF~^>[·n%//ö¶6ŠŠŠhll {§tDцÃáŒãânäN'Ÿ|ü#ª«)¯¨Œé—ãñðÜ3O3yÊTúzz°;€0¸:ôLZi¦RvŠ¡ðûÙsb)'ÏšŒ¦i8Oµñø³Ë9³á4Æ~à@×¾Y_ÂÛŒ6UÓc&¡³³“Õ«Wsùå—[ßE:E[KÑ÷7n<ò.—‹ñãÇ[–>˜Ö.ºè"žxâ V¬XÁܹsùðé­­eĈ;¸\ã=çPÖ¡'êÆ•èü]Q‡>T<ßuèv›æ¦&|>²¢P];—'/-A Š"ùío¯ãœsÎ¥­µ•‹.¾]7˜9ó>ýì3êëÇrÿýåwÞáÔSOá裎B–MÅú¯=ƒ œ~ÆÜ{Ï=¼õÖ[üú7—2¬rKzˆæÍÍܸh‹ßÇ'‚W3cÆ ž}ö9þùÔ?9ýôÓ™5k¿ßz«ª«yÿý÷XùÕWüü yõµ×xô‘‡™2e Æ KÚ^56Žå’ ' ¾þ~ ŠP$ ÃÐèìì à÷3jô¶lÞ̶­[¨YCEe%}½=8Z·µ Û¶m£¦®Ž¢¢bl6kW¯Æ×ßǘúqfÇ,§ 㬩*†®›ÙÇYÊÒ.UèQv´.2³êš)¿ ÃÍUY& `·Ù¢Üö)lô¨6¨¹¹¹T”WÐÚÖŠ×륣½ƒÎölv; * µ5µ±ëÏH%K‚¡ £F¡4Ê»!·ËmöTOÃc'&R8k·ÓýÄËô@5!ôþ vQÄåpÐëïçØÉÇôõsíçpõ­çÐ?†‰Õ“É!TMéúÓŸX°`×^{-wÝuv»K.¹„aÆYçü×ýsæÌÁf³qÖYgYnúo¼EQX¸p!”””pÌ1ÇpÌ1ÇXñ÷ÚÚZTUñ${ÎtRu/K…&Ïå=Xej¡§ËóDsz7Ùq‰,tÃ0Âq**šn@”WE ÿ(YÎÀÀn·ãp8±+³Ë’(Š8NÆOUUG=›ßþö:¾üòKþtןyó71t7Þ|ƒmÛZyå•WX¹r%ªªâr:©¨(7{i»Ý”••‘——Ç'Ÿ|›o¾ÉìÙǰnýzæÌ™Ãرc·?‹ÓÉ‹/½Ä’%ñ·¿=Ķ–­\s͵ø}ý„B¡”<7Ð EUbÜôFX‰Ë²Œ"+ü>>ÿôfq$~¿ŸöÖ6zz»yûWéëí¥~ÜxKÐØl6ÆŒGoO76» §ËEkK ~¿ŸM7Ò×Óƒs7~_?š¦"ˆ¦%d gg)K»ŠDQ4×®`¶<5 USUEQÑuI’eÉZ’$Y}Þ#!¤DÞ$USÍÞôQ¿ ‚`&ÇnkE +yUS)/5­ëxá1MÓv@éÈöLÛ*I =jXäæ]]ÝT×Ô°÷^SqØœ4­“˜¶ï$ì'¡`ÀLXÐÍU bÿÚihÊö‰Öu^xMÓ¨¨¨à…^°îqë­·&T&³gÏföìÙÛ7ºÎ¥—^süŸþô';ì0kyŽxMÓ,ë?IMŠëjX:qø¡ˆ¡Ë=ÏÓÅrOnHó8v£®‡@wW…Å¥ô÷õ…cO6™šFAA9/’$ñ‹_þ’y'Ï£»»€P(Äo~ókÆgÔ¨Ñlذɓ&qÚé§rñÅñ—¿ÜMuU5s;Žy§œÊG-'??ÝÐÉËËC´ÙÑtœœv;åååœrÊ<®¸âJ¾^µÒtQ‡+(Ün7ÿüçS¼þÆüë™gPAxù¥—5ªŽ’’’´xýlÑ!#M3s z»{pç¸ñxs7~<ï¿ó6“§LÅî°SW7šÑcëéíéÆáp˜c [;Š,›ÿ¯›%žîã÷˜Dqq ]„‚AdYÆ0@DtC‡!jj‘¥,%•aá1MÓÌÒc]§¯¯¿ÏO§ÍF0$à÷…+– <}}}ôööâñxÌ¤ç¸ ÝÌo‰Ihà©© ÝÐ1TEQp»Ülk݆afBÞ€µ—i÷Ædádç –{*8Õª‘£Y·žK/½€üÜ|ô€)¤"õö ºÜèþ ]šÎ°µÑ½e$>r?ްeÙ‰E”«¢(VŠHGA,÷x´BˆX_‘ãu]7³p‡ÃÁ™gžI^^^L©ÎÀšãD“š1®w’ùw!†>TûìÔ=÷ä¿þ•×^{ ¯wŽåAJ+†Ž±Cí«®ëä²uëfFƒÍfcØð´·µ³qÃzFÖÖ±aÝZ–ýçr<¦î½¯™Ý.8N„ðºq8hªÊØqãøvÕJ?…EÅ4Œßƒ¶Ömäåå[ñʬuž¥]C7bbË‘OiI)%Å%†™êõäÄ(Y·ËeYôÉËÐ¥i›š›‘eQl6ÊËÊhmmÅív›Éw`é“d!¿í2Óô&z½Þ¸2Zŧ{Reÿ“¹sŒ{ï{]×b3ìÒt½¦r-ô?þ¿»qûLÛ]×ðäæ!ê2Š 9o¿û1_®ü8œÎ\™¢Á%C‘K……žHYeêRÊßwFX¦  ÏS…’y„­¯·—]àú‡ÞgúŒttû0 É*²¢¡j:²ª£È!&—‡øÑ¤8Ý^Efå—_pÐ!³èêì°Jù…‘m>>ŸI’°Ùlx=zûú(..F´Ùñûú ƒÓÞÞNAA¢ ÐÛ×Gaa!§ U‘éííÅår‘›—OOw¢(’_Pˆ¯¿`0H^^ÒÓÓ³HKJË¢¬ööv …B;¸ñÍ}oOímmŒmh@ …b~Óu€ßOIYšªæf×ëÍ% yyya¨æ>kŽ"!§P(„ÃáÀn· q¹Ý¦ëQÓñû}´··1rd->_JÁ“¥, •˽»«“’Ò24UÅát²víZJJŠ­ämH gAA!¹¹¹tvvàp8v€~ýä£ÙgÚt¿e ¶··ÓÕÕ…Íf潌¨ªÆn³Ñ××G[[N§YV5j”¦u8¬ùækÆï1UUE[ÌÚp:|úÉÇlÜØˆÛãi´ÙlôôôðÓsæÓÓÝc`F Ò÷Þy‹iÓ÷gýºµ©±ÜÓ…OóŒüÝÚÖ†ŠÊ-7ÿŽe¯¾BWW½mm¨ª)XU¢¦v8õõUì9e:'Ï›‡;'g§C"×í@—ñ`,ÁdÊ(Y¼8Yó’t6F™(âty8”%ÅE ]Ý‚ºnXa×t)åp:±ÛlQÖ¼(šÞ­ÜÜ\‡åLeE¯Y–*|s]¦–‹;COd¥%sWë† ‘·ï¾û¤%Œ’)àt&k°ýÐS…R%4 Ö%ŸI }°Vn",÷¡äyº.÷dÇîL?tö¶V KÊèèhß!iî‡Èó˜9Jø“(G!Õ»ê¼y³”¥±Ðu]‹Ád×u=a4•3’™ÏFlU‰¦iä¸Ý;lö®Áh˜¡iálÄ»^2“v–{"q:î×x7‹¤íwwn¡´¼Òœ%-„¤€ !k2r(„¦ªH’ФÈlkiaú‡š 9 ,ät­“T.÷t¯™(É+ž5ó}t¹%Ïër*YÃ0YSKŸ/ÀðÕ¬[³†DHM»šçñvÖ»”çÂàʳ”¥ï£BÏ/(DŒeòÎÇlL…Äž¾x½(Òñˆm¿¾³AH$CÓâJF·¦¬ÀUd›75qö9?Çåvši4_@B04TMCÓ U¢¼¼‚ââ2&ïµß ¦¡¨³Jìò]1îdÊ`°í<¿oÊAÖ®]MŰjš7„ÿ'<7GìÚ£ó´pým:1·,eéûN;ÓÚÔ¬fR°ÛcA©0Àépô¬Ê©FáæH"Ä»N†ë<™T =UŒ3Þ÷îœ\>üècúýAlv­mm„‚A64ma¿†a¬ÙÜ(@Iž‡/Öm¥(¿‘ÇŸ|‚5c)**°2Ó±ÖZ˜Éº^ o:.ÑtŸ9š‰ÂMçZi¹cÓøm(x>ØMD2oFÚ»oÝ aÂDº»{=f,7Äu«íì|ïJž ‘ÅžÏ=^/9/k׬ΨKS–²ôÿÒÂ÷*/)-E IÛÛlëÕµu¬_¿Ç»S,Ë””–$DxÌ:ÏH¡'C¨üNEG´; ƒ¬lÞ„ÏïCÕt¦Œ®`BÝ0Ο»?º¦óÁÊ&`SG?½½ý†nm^€U«×ÛÛ‹Óé´€6n܈×륲²2¦ó•(ŠlÞ¼M Ãò…ÏmooÇ0 jjjp¹\ÖõÝn7MMMhšFnn®…:—êÙ;gƒvIåîÉäÜd®Ý¡è7ØXøÎÔ¡ ¢À×_}ÉðêÖ­]NR32ž—ïÏ#ÇÖ…®iÈi”ºe)Kÿµ¹iÝçx<–27Âøë‚ ŸŸÏ”©{ Ùÿ¤ÃfÇér#ËRÚø$™Èö” =úé‚–¤–AWÑ™P(„¦ëº€Óî`kG/%9º„¬ÞÐÆÖönDÁA(ˆñDÌž=›7ß|“åË—sóÍ7sÿý÷ÓÝÝÍÂ… ©©©¡³³“¹sç2sæL+ ÷Ïþ3k×®Åáp——Çõ×_ÏÁÌ\@SS—]v†ÁUW™˜ÛË—/gôèÑŒ3†ÓN;-iIZ2 ”D E‰•ÒiR/^;ÅÛù %ÏÓE¹‹7wC³ó6˜0q]Ý=ŒSOÓÆ;Xè™ôdÿ>ðܲ.T3!ÈaÏZèYÊRJ Z’&ó*ŠŠ}ÖQ´2OGN¤#ÛÓVè™B¿F—¸}*(º@gW%¥9”•¹Ø¸¡­°éG³Ù2®U‘1Ö¯GþÛC8uŽÎî0·I#GŽä›o¾áÞ{ïåÙgŸLt­E‹QUUlᄀÿüç?¼øâ‹Ö†ÌÖ—Gu‡ƒŠŠ >ÿüs¦M›Fww73gÎdÊ”)ì¹çžÖ|$ȉ6B»º}j¢Áî€~MÅó¡‚~, ¢Àêo¾¦bx5ÖǵÐ3u·ÿPxž¥,e‰¤kx(JgSÉ;»ÎÓVèƒÉè‹gñEFÕT4M¡³£›)ã+)+÷見@7ʺ&Ft8ª$ÑòÒ+ûzqxs­ÆñúöÛoY´h?þ8š¦a³Ùؼy3UUUȲŒÝn·ê#tÍ5×pÀàt:¹è¢‹¸ñÆùä“Oøì³Ï¨©©á /䫯¾bøðáÌž=›eË–ññÇs×]wñÇ?þ1Æ/™µ–Ê»O`'‡ðÜõЯ‰Æ0?G:šE¿:šþ¾Ç—ðÔC­\3ìl>üó[‚À £Îgfðå jjŒ ®­­åÀäþç¸âŠ+3ˆQ䑨9À=÷ÜÃ+¯¼‚Ëåâ´ÓN㤓NbæÌ™œ|òÉ{ì±\xá…|þùçyä‘sÊ)§àõzyûí·c𻤴 w*ZHËõ<”;Ç¡ÎàO÷N÷^; o‹À–æM•–ÓÖÚš0†žé&ö»ÌóÈï[·l¡¯¯‡ÃIÖXÏR–K‰Ò¸†ñÛ‘Âë-è÷ÓØ¸—ËÇ"Ý{HRˆ¢ÂbFŒivvKÏbЛ‡T‚&•É/£<žµ¡j*v›Î3/|AŸª« ù×s_1²|ç|¾>¦í·?¢ÍBY­ž¥,í(‹Ì5õõʯðû}x½¹’¢(Šljjd\ÃJËËÍløÁ¬#TEaŧcEÔ$r SÙž±…ž‰;6URœ¡ª˜Vóú ­lÚÒF ä§¥·P „&«8 .€²ÒRŒ`?W_}5 ,à¹çž£¹¹™Ã;ŒÊÊJ^~ùe† ÆÁ3Æ{î¹Çjƒzï½÷pâ‰'òÔSOQUUÅ-·Ü«¯¾Ê~ô#f̘ÁÓO?ÍÛo¿Íïÿ{ªªª’öú ÊV:®—dÖc&.óTIq»’çé^?ÓßÓ¥@ ˆ+Ç‹,Éqk²3 -|xÁZw8]¢@0à'k¢gé‡N¢ „`wnAa!@ "ZDüEEÅøúûwªÖÝåtáp8MóÊöA)ôt“oYkêJŒ_Ïß¼IVðuw¡kìëA·;ÐB~]Äé‘Ð^rÅó/>oÁáéºÎÑGmäwÜq€ Å7iÒ$&Mšwü‡ÃŠGÆ]WWÇå—_n}×ÙÙÉGaê©§Z¿E»ïÓ±¤2íñŽe›îú`-ô]ÉóT×ßUîvsc,áæ,zæýˆS¡ ~ynûš¥,ýà•¹(ÒÞÖŠÇãÅã ׋Ç{÷%«&”CfÃÝÐãí¶_3Îofk–ÔЙÊö´z:îÒdM5âíB†ÉÁ3äö?þkV¯§®fè:.‡U ¡š®±jåZZ[·Ðãû’Õ«VZM/"`÷‚ X1§ã¾¥7oÞ¼„ZÅ”B7Þœ ¶9Ë@æ¦Ûè$Õµ›=Xž§3æTÏ·³ÍY¼^³9‹×›;¨ûÇ£‚‚º»»±Ùlß9žG\|Á²ÃºÀLÐ1­x'Š,›ü ÉjØ‹À-M IDATtMCÏn&²´›hoY$Ä«ªá7Þˆi9o¹$îZ{]#lÑkV×5#f툢ˆ¦ëˆaä·Ø>í©•y¢¦K™@l‹éLR´qàgà÷ωþØ™²×~äz\8].n78ìØ9v;Eù^rÜùô÷ÊlÙØÈüsÏ%¿ ÀRªéº •ÄS>¢(¢ëzÊÒ£x®‘tž9Ù1‹§`Íq¼ñ¥ú¤;ö¡ày¢q%zîxîêTÏœÊBoooÅ0 :;;&µDÚšleê EÍétò÷‡¦  Àzgâm#追nd<ñæ#¹(Œ¿©i#v»¦Æ ˆ6[båÞD§»¥²ÙílÝÜLH’²û,ýß(uÃÀf·³©¹™ÆÆFš6m¤qc#7’ãvc³Ù°ÛíV+d(äDë Z™÷öõÒ¸q#›7oÙ~®a`E|>Öo0ÉÂmYSÛj(“¤™Œn6-·3*[K¶SHfY$²þ"ÿz½fLŸÎAÈ¢E‹ØÐØh–èæ„ÉŠDYi9gžu.W\u•‰}K|¬ÞtãÀé¸7^?•»³íS㹩SAÒîLírª±gbégÂódó’l®†"ƒß0 ªGÖÒï 0|øÖ­YMtR‹(ŠC!>}ï=  òÙk¯½e™ÎÎN}ô1®»n!íííÖñ.—‹»ÿr7çž;Eé´”¯ªª–ÉápÐØØHee%.—‹ææfŠ‹‹q¹\Öæ1ÆèiêïïgÅŠ3eÊB¡PLÈ'­ö»q„EdüÛ¶µ Éñxi\¿žúñèéêB {"–ˆ 8œNÖ|û Õ5µV?öÈoD{¾"¨Œá»oÚØHÄ=Pd9¿ÏÒîµÐÃÿjªJqq1’ÂívÓÞÞÁW_}e¡À)ŠBIq1Æ C7’ÇÞ c{ƒD¿ßËéD×Uššš¨9Qéëï§¥e+yyyø}~3›Ýáˆò”Å&§FËK»ÝÁºµkøàƒ÷bÚ0G(/?Ÿ~r2~¿/e{ªÉJå"LV?;0ÚápPY9øÓŸïJɬˆ0K¦R)•T±ËxV|"¥šÎü¤ON–Q>Øøi&îôtÎßYžÇ»^²çÌ<&œ_Q`]¤9ËÆFìš³8N–.ý‹ï[ÌœcçÐÑÙÁM¿¿™‡ü+eee\à tv´“›ë%âv»ÑuÝ*“ôz½1Ø¡PǃǛË?;‚þýùùù;ŒáoK÷p×c¼wi·OM·¥hº‰F‘›ýx›s矇®©,]º”ÿû¿¹öšk¸ð¢‹X||vúhšNýرüñöÛ­EzÒÉó8íÔS9êÈ#9wþ|Áûï¿?gÿô§|õÕWœð“¹óŽÛyÿƒ˜ÞùüÏþÀž{Næ‚ ~F{G;ÕÕÕÜ.‰´Ùl(ŠÂâÅ÷R\RJÀïãØ9s¸êê«ùÙÏΙgœÁÔ©S“ò!f1@ë;I’ÈñxP9l< ¬øìSÊË+¨9’Ï>ýp¹ÝLÞs Ÿ~ü“§Lå£å˜IÂíñ0a‰ü>V}õv»’²2ª«Gbw8Ð4 ƒøÉ¤YÊÒ.ÐèÛ}S‘zøý—d‰²ÒRªªªÐ43¦ Y·~žOÔññK;…n÷° ¢¦¦†¦¦&+dµuë¼Þ\úûû)).¡¸¸(&\G ™ifÈ*à÷Y½J"”iuÎNÕ¡§²ˆ£ëïïÅ××Êê•› Èš"!+ È!$YB•BȪŠRðû}€ÀÑÇϨ1õI•yª"ýDÊ;ž…¾»k’ã]#Ñ3Æ›ódÊoWÕ¡gÂód›¬ds˜ê¥M×BÿzåW ›³D’Á|~?Á€Ÿîîn9äî¸óNÓÒÎñÐÔÔD0äÁÿŠ$IèšJoo/óæÍãª+¯à™³øÙ0wî\N:éDŽž} W_uGq8Ï>ûœ©øO:‘[o¹…¼¼ü€† ÉÏÏçí7_§¶v”)ÄÂm"Õl¦}–v§….D[躡™ï¼=}=ºYåv»£\à±ç'»þ@¬¶¶–õë×c³Ûq8øü>JJJ())F ƒÇ$Z‹qå›a à ÆC¹K›³ÄÄòrxåÅå<ú¥ÔÕDS5k#I’™D6%¼Þ\V~ù%åå•T¬Ãn·%t—§“a‰…žî߉j’ÓàO5w©êžc¡ïŽæ,©v‘é6;Ùiĺèæ,cã7gÁ0pظ\.JKKù裨®ªF’$$YfÒä=¹òÊ+¸é¦ßÓßßÏÃù$[67söÙçðÊ«¯R%ЍªWHÄ·ÐÍkɲŒ,ËÖïš®c·Ûéï3;jšŽnèäxtMÇçó…±Tlöxïªo—e9ÆÛ$†c鲬`o à»»›\¯7ÎÚ4Ë«… ¼“ƒžDT?ð}\¼¸o¼Ø¨¬éŒ3ŠÖmÛèéëæõ×_ãý÷ßcòä‰ì?c:ûì½ì¿?3|0Å¥E<¿t)½½½VíydL‘@¤Ej¼qÄS`ÑÇG}x /Þ'ÑÜÄùOtÌÀë'²î]#Ú:NÆ—xçTCÍóTcHwŽÅØÓ±ÐW³ Q´Ñ¸>~s×ßxƒgŸ}–{ï]Ì5×.äÊ+¯ µµ•P0HËÖ-¼ñÆyÔ‘4onÀãñðÐCqæYgñÉ'óÓ³Î"//—“N:‰ÜÜ\~?Ç çž{ïÅï÷S]UŃ.aó–-Ì>úh† «ä¸9s1|~¿A¬¾×^»Ç{ŒÛ︃ýö›ÀåW\ÁŠ+ÒâùÑ¿ÐË.w==fœ(ì³ï~|±â3º::(-/Ãn·ãñ˜¹]èšiq+Š‚a ?E–^Ux<^úûûéïëC–el¢m{]–²´,ôèuyç~?6›ö¶VúûúÉËÍÅ“ã!×›ËèQuˆ¢`)ôd¹î‚ÊUæ›·lÁn·¡È2²¬€a * ›6mŠ7Ê„sô"¹2ÑŸ„ ?ÁúÚ©zªEl\OG–$þð‡›)(, è àñz°;üö·×sèa‡RYQI__Ë^^F(dÞ‰sDÁŠ%Üxã,\¸0QãÎ9çêëëyâ‰'xá…(//çŠ+®ˆé‰¾mÛ6®¹æ4MãÊ+¯düøñüìg?Ãç33½^/÷ÜsªªîPº4˜øo&1ôTñëÁÄÐÓáY24¢LñÕÓ ¤ ë¤óÛ`š³ŒSOŸÏOuœæ,Š¢pðAÑÕÙEss3¥¥¥<ýÏ`³Û ƒ\rÉ%0}ú Ö®[ËCK–Ð×ÛÃþp3»%>ÈæÍ[˜5k&^¯‡–/gæ!‡ ( ¿ûÝïxòÉ'éèèà²Ë.ã‰'§¯¯=ö˜ÀÅ_Ì«¯¾Êĉ“¨««CÓÌ3Q9õ´Syû­·™1}:Gq½=Ýœ}öÙT”—§ÅóèºaYX›ÖÒ²2¶4o&?¿€ÑõãP5•† {`·ÙÈñz±Ùì(²LõÈZ¼Þ\ªFŽDÆÔ³æ¬¶n‚(P^QI(Ä0 ÆÖ7àp8XýÍ×T×Ô ‡(KYJCëlO ÿ¡iÕÕÕ(ŠlYåJØjPUüü¼íÞA#•KûµƒÁ ÍÍÍ8Nååå³acc¸¼LeóæÍŒ1"Á¦#^X× ‰ƒA3%ò}XïI¡PüµŸnR\*·iäâÿûßéíí¥»»Û Ûíà„N`̘1– ÑU)¤ð‹_ü’ÆuëP†b“5¾zíCçå—^fþyó¹á†¸zÁÕÌ;ùdZ;:Т:F}ôÑGœ{î¹Ì;—úúz|ðA:;;yä‘GX³f MMMTVVZçœþù<öØc¸ÝnæÌ™Ã‹/¾È=÷܃(ЬX±‚wÞyg+~g65é›ÌM½3HjéÞ0ç' ¤ʈwn¢ç ¤¸ææM—–ÓºmÇæ,Zãý n*H²Œ¢(äççq饗Ðu‹.ºI’ðùüÔŒÉÅ]d¹ò"Ï®( õcÇ2)솅ñ¸úz«Ô-]^nÏÌ%&Vèv»¿ÇÄpXËKOw7‡A ¸\.rrrÐužžnòó èèh§°¨˜®ÎNA /?Ÿžî.@°ºTIRˆ`0À˜úqääxÂ90YÊÒnPç‚aYØïm¤ §%ÓÅÈFWW^˜ ±yyù)öe)KíêêBDB¡EEE¸\.ú}>ÊËÊhÙ¶ C7èï÷!Ë2‡#fShÍJ’ÄŒ~ħÈò÷ß9NÓ4&NÞ›-u’©=]…O‰äåå±`Á–.]J(¢  €G}”—^z‰_ýêW1ÇkšŽ†A~~>Ç?]–±Ù¶Ï Ýpùyùüç?ÿá©>…ªªhªÊðòÒƵpáB~ö³Ÿ±ß~ûðÚk¯ñè£ …¨¯¯·¬‘HÌcÿý÷çí·ßÆív³×^{Y»,¯×Ë“O>ÉÅ_lyÒµlSeÜDzIG Æ’*‹8SÁ`6ƒÝè ʇAii™Ùœ¥pÇæ,‘ð‹ßï{UUE1&ÁJԓ˲lÕ¡ûÂÏÈù>ßv¥¹GÄZˆ¾gôû‰•G‡,Ô×Mwž"¥k1ž ‚Á€5–í×Ðc\~ÃSz¨E´{0"p"ÇkªJ_6»=K»Ùå¾ýoUU6l’$íàìŽÆhˆ”›êºi= )ÖQä]/))!$Iàv»-¬›ÍFYi)½½½äç»p8Û½°0@ÞèºNaa!sO8qG¬ Ì|¿Ï‡(¦ÎIÉË}  9þøã)))ášk®á…^`Ù²e¬\¹’?þ8&Î  èªlB¼4]G×áÎ;—'Ÿ|’¼üŸÅhwæ™gæ™çôó;ìܹÓî&K—.åå—_àË_þ2_|1¢(r÷ÝwóÃþ0m1Š)ËŤ ¹±s ±b[Õí_èzƒYóBó+V¨ZÝÖªª« …ûðù|i1´ÁÌñßiÍÓÇ, Öýa +2†n„J ¿ÉÒ”ôJåªÏLf3ó Ñ¥)ñ °¦|•@Cî¶–¯ô*ùwRY¸p!K—.eÞ¼y9`L ú"a$ÅBËÒõ~ Þ4 .¸ôÜ µTôĨÛ@ä±GèÞ¼5IE"÷ß?gŸ}6?ÿùϹꪫøéOÊo~ó—^z©]RV«ÕãŽ;AX²d ---(ŠBcccšòQH æÂ*ÏeIç+yË%< ]#› NÜ<_ÙZ!'sÞÅþ|×i÷}2ÿÂÂA.^ñùw_ódlI —è‹N¦iâõúPÕøø‡ ôÇÕ3~L«5ë°1R0Í=ÃÛó ôb3¥S…ú>û쓘¥»»‡ñãÇóÔ3/°uóF CC×A74«y¼) Ç⨂‰¡ø|n$¥¿9„a<ñÄèºNUUO>ù¤}Ó·ÞzkNe䨣Žâ¨£ŽJû­©©‰[n¹ÅŽ}z¨Å¤á ÏBÖa¡9dû7Ÿ@Ê…1_¬ÎçÊœÉ'¼ ûì©léb“óþÖ ¬¬ŒX4Foo/n·›’L/Ñ€X· XÍÁòK®ôôô0múô´ÄSÃЩªªfËæÍ446m –($’DeIF´ãíE ôbi¶£¹¬Aß4±[·rÔQ ñ¹Ë1úÂhšŽ ¢* F8J·!b*˜B=;ÇóÒò×%Ù¾†ªªvæ ªªH’d'%»ÑȲ<à$Ý­É.;©ÙùÐär)'¹,Ôb\­Ùžo®öxųké’Å®y>+¾`O!A:XÓp4{RŽ rÍ“ç~VkNŽ5p8Lœ2Åê|fµ JT¢YV¹$IŒŸ0g™Ëj(”²×ÆŽŸ@gG;Ö¯ë·à‡°—‡Âô™³í„ÚA•*çáíÂ`ËÖŠµ” %þ$bÑ¢£hoïæúë¯c¿ýçc:.¯ÑPQu·âäÕåï²rÕ:Àz¸e®2ûɾ¶IÁü>YÇ›k>‡cÀw#•‰[(á­X‹s0™êñFsüP²âóÌ>k—ðP›‡Øóÿ ×<ÛÜ“cyÜöÚ{ßR¶y‰JTXªÓ×AÅì|­äž•$‰¦‰“˜:}Æð.a˜„á´DñBÉÓCåQE%ÅåëVV´Ð::;PM•_ÜyO>ý4]»» û·£jVG'U2¶q4Ó§ã€ç䯟lcïær7 V8 r/_–û`Ï-fì¡ ò|8ñùZ“滟a­ù•Á¸˜FR!ûw_ó~w¡A(,ÅÐKT¢"HE„Ë9uOõõõ‰D†Íc2‘5G‚·-Ð[&SlÖôèÚÑ|óÔ31º±“ƒý°« MÄ¡83f ãÇpó…á`{‚ï)aKø ÕºŠÒUhnŸÆšV¸åR6>Oôy^ódϨôÐS‰a—¨DÙ7¿æ ›õ‡i‡wdæûP •Áðö…~ÍuN¶Î\{Í›wœ$$f®Ž^…Jˆ21Ï‹mÂ2Øö©ùûPa[ó5áH½·äïÃY£¡‚É fÍó[L¢Øžì_È5E¢}}ìhÝfØ”š’—¨D9I‘eÆŽÃW^‘V #$êÛwîÚNgG‡Câ>r¹\Œ72WYÁ*¢Áðö¢cè…Znæcùjló5ÚÈκ ëøþÿ|Ÿ›î¼ Óm²ò¹•8'›Z61kú,Ž?æøõïƒu9w¾ÅhOCžƒ}¶ù•áXáŸÖš‚ýS]srbR {ÍÁ*‘q8œŒ?H8Üc]¢}QsÒ;øÍŽÏëeܸñtwí¦¦¶Öv‹¢HÛ®rØÄÕøp cÇŽ£«£Ýnëº'y»üy\ äÄ—=½ŒŸyêºjοì|ä2™jw5Õ£ªYúÐR&ÍœÄÛ¾MEy‹]TTFq6Ë8›u•Ï œÏª¬ö6!?Ô¤´bÆÉõ’äšßž®ÿO¦áä'F ÆzÒ#P¢}q7 }Ñ>dY±*ŸË’ý DCˆ$©'ÐL Ã@jňÝA^3RyH#.ÐGÊ‚ÊpŸ4‚¬ÈH‚ʦ1¬]±–º±u´ïlgƼ¨1§ÃÉÇë>fÑ¡‹Òη@òË@ €®ëŒ5 €uëÖ¡( S¦L ¨¶mÛF(bÖ¬Y‚ÀæÍ› 'zëz<&L˜&Àzzzؾ};MMMø|>š››­¶“)ÝæRŸ“ „ÃaœNçŒqAðûý8ÜnwŠû§ººº!á¹gû­­­¶¶6¼^¯=OQ …BlÙ²…ÆÆFªªª.£Ýø|¾DÇ2KXtwwS[[;ü®hÿfIqƒU”>Ëù—­}á­sQ$ÐÛ‹ÇãEöx,>&IH¢h{ÃtðpJrÜüJ€…ÅžŠ?!K’%ì³t@”¥ÕF*ü«ùé5°s1‚ÌD¶ÌO¶ß2Ñr…ä/ɯ¼îJVn^‰7hin¡»«›šúZ7·2ªfž[7mE@àå^æÊë®L<;ë:§Ÿ~:‚ °aþùÍoÒÙÙI,ãœsÎaÙ²eüéOâ¾ûî³1éEQäþûïçöÛoç±Ç³»°½þúë<ýôÓ,[¶ŒSO=MÓlaíµ×òÜsÏqÑE±aÃV¯^ÍâŋٱcGÖ{¸ýöÛY³fÍ€ç pæ™gò½ï}Ï^þóŸi-a“‹š+é,µV&sOþ{ôÑGóî»ïrï½÷rË-· Š"}ôßÿþ÷yî¹ç¸üòËyõÕWX¸paßÒ¥Kí9ªª{Í‹ùmOXÁ¹Þ_Ànº:°: ¦6^Èæ+ô~ç»ÏBcdÛci»¿¥TÚÇ4MDQÂ4 Ó!Û±dæEdù=ÛñiÜJŸÒçÓø&¢ ¦s~?›6mbËæÍlܸ‘žînäD.Ö€ò± .´û’x<¾úÕ¯ñâK/ÑÑÞ–n”|†aP]]ßï·Û"†B!»<³˜gUU]C÷w¡0™‘”+‘¾Ÿ¬[ËÁ‡-âÅçŸåð/E$Î @#JÝ»wãñzQäÂŽ&¥: Kø|>L,%sûöH’„šà¦iâñxl¥½€}n$Ib×κÁŽ;=z4åååè†$´¶¶b`€2— ‡¢Ø Èrñ·ä¿áPˆõëÖ¢ézš‚aè ŒŸ0Ó4 ZèCv¹ d0îG·ÇÍ{À?—ÿ€X4† ýA.¼áB¸ç Ý`ÝGëpy\˜˜yБÔÖÖÚB3 òï|‡×^{ÍwýúõÌ›7X,†ÃáÀÈn½õV<ð@|>ÿõ_ÿ…Çã±Ç»çž{øÕ¯~•Õ…nš&¿ùÍoøÅ/~a …0pQ9ãŒ3E‘ææf–-[†$I,\¸+¯¼Òê±XŒÓN;ûî»ÎÎN=ôPüq®¿þzî¾ûnêêê8ꨣxá…¸ãŽ;llû#Ž8°úÀŸþùD"–,YÂ<@Å̯ IDATWWŠ¢P]]ͪU«8묳Xµj·Ür `õíöz½6ÄnrÞš¦qê©§òÄOPQQÁñÇÏ/ùËœnÝ¡¬ù§M‡ƒU«VñÝïžK]]£ëFsÖÿ7‹-"‹á+/Ç0 ;Ô‰Dp±‰wÔíF’$Âá0åå>Î2BÁ ^_9W^y·Ýv·Ývç{.¢(¢i—ÛM$¦¯¯o@hWWxo,Ã0(//'ÛÊg¶gšö¼maž®É ¢ÈÎÛ™4e*˜sR1ÑÓ]–e$QBÓµ4²ˆ«Ì…nè¶"¨išíN”iÄãq&LœÄ–ÍÔÕ×',“•hχ•ì×<ų¤ªª¥Œ‹"Î2‡Õ.;‘S"Š"Ý’ÄÔiÓ¬ fž~èf¿'N7 vµµPQYÉÖ–KVH"‚ fxÀ’|RÈÁ‹œ,íUÊ+GQŸÆ,++ãÅÿÉŒY³ ôú‘e%/_• YGƒiØ‘ÍRÏ7V®ú_A˜0nšª1fìe>zç#Ö}¸Ó4™ƒÓ§Ï"‹Ú &ÐÛK8büø&::Úißµ“†±ã¨®®!‹‹EéêêD:::;~åååH’Ķ–-ƒA&NšŒÃá Ìé´ú*hZÚ¾*Q‰öœ@ǶhÍ„û<¹- ÝÄPU¼>/f™µTU%[‚Âv¥S0†n§S^^ަiìÞ½ÛM{{]]]€æFišÐd‰¡Äþ+¦-w(báa‹¨®®pÜ›o¼ž¿Éí ÏCÏ´°²}RËÌÏWožmŒlÿÿȲG˜¬$²ÓO?#<’³Ï>›P(Äe—]ÆE]Ä›o¾É²eËøë_ÿšÖŒ¾±±‘gžy†—_~Ù¶Xî¿ÿ~Î8ã ›Imܸ‘[o½]×Y°`ßøÆ7ضm»víBEvìØAss3o¾ù&»wïNrñD€îînü~?ªªÚ®ðäBLÓäÎ;ïä‘G±Â øÁ3Î8ƒ9sæðÃþ¯× Àœ9søóŸÿÌ#<ÂÖ­[­—àÍ7¹à‚ 8äCüêW¿²cáÁ`€}öÙ‡p8Ìúõë9í´Ó¸øâ‹ùàƒøéOÊh t€{ï½—ûî»/m>#±æ™ï]æq{ÊÊ—$‰H$B ·¯×ËŸþøG–þi)¢(rß}eÆfîûë_¹âG—óλï É…_ø÷Ü{/|0½ÿ~Ö®]Ç%—^Âíw܉×ëeêÔ©œõßÿMcCsfÏæÔÅ‹™ØÔÄk¯½Î²'Ÿäꫯâþû ¹¹ÙVâÜn7>ø ³ç̦©i"ñx —ËÅÛo½•`¹Ÿë€çh ýÝSbnº®áp:0LQ”èéÞÍú×0¡i"ÝÝ]tv´3oŸù´íÚ‰ªÆÙÞº·ÛCó'ë‰ÆâL>ƒæOÖ!Ë2›6n@D¦ÏœÅÆæ  KßzÏÅœy¥Oé3’Ÿ~i,¤x0L“¸§²ª’†ÆêÆÔ2º®–ú†zb±hš±læ(&’ò !òX1ã ‚À—ý=ÿ‡®ö.ªj«(¯,gîþsÑ5‡ÓÁ¦õ›¨ª©"qÒ‘'¥wÅWðo|ƒqãÆÑÚÚÊÌ™3¹í¶ÛxòÉ'q»Ýœ|òÉi–úO~ò~øaÖ¯_Ï]wÝe»¿Ï9ç*++íù=šãŽ;Ž@ Àe—]ÆŽ;ذa.—‹úúzÞxã Ž:ê(vìØß罹¦&-n pê©§ÒØØØÇI±T/»ì2AÀívÛVΕWZIßûÞ÷xæ™gxòÉ'm ýºë®ãÑGeìØ±Lš4ɾO<ñûí·wÞy§í:O6²¹êª«ì9]~ùåôöörì±ÇR__Ï›o¾É‘GÉ¡‡ Àµ×^k[ÿÉù$¿Kín7œ5/ôÛAŠÃjø£( ñx§ÃA,C–e\.'6Q]]Íyçk| `²jÕjn¼ùf^yù0 þñÌ?èñûY»v-¯¾öº®SQQΜ9sðz½ŒªªbÆŒTWW³üå¬X±‚ /ºˆ?üˆã;މ'F‰F£<øÐßxê©'9ý´Óq8ìÞ½›o¼‘P(D,Ë‹&×ÿþhšj',&õÜdÇBMU‰„ü÷ö[|é+GFißµ‹`0Àûï¾Íî®N¦N›¢€,ÉÌœ=›@o/’$áp–±sûv**GÑÙÑNgG;û컀p$le‹‚Ý ±D%Ú“$ˆ"º¦AÂúÐt Q³B\º®[ÍWT-ᕉ«*]GÓ4TUE×ôœx º®¡i*¢Øÿ.kšFEE]]]¨Ä1 UÓ¨=Úv÷g*†¡ʃí)RˆŸæ¡ïéVš¹ÎM~wú7N§³³“å+—3qúDËEºf³÷MóÇÍÔŽ©ÅWácGëŽ?âx¾uú·l Ú0 ;ì0;I)ii†A}}=çž{nVKÇ0 /^œvN§“8 í>ÊË-† ðï|'m¬Ì1r¹’“çg >Ó49äCl 2y‹-²?æ˜cÒÆomm¥££ƒ5kÖpôÑG0iÒ$.¹ä’´±“qÓ49üðÃíçU__O}}=º®3þ|æÏŸok£¢(rÄGØ!äù_úÒ—ìÌæ|P¦Å®yæsÚã%Wɶªj\n—\z'~¿ßÒº®¿žÆ†FæìµÍÍÍÌ;—ã;–«®º’[o½Ñ£Gs Çsêi§óÞ»ïP9jº¦SYY‰ JhšŠÏçCVFUŽâ¤OàGW\ÉšÕ«p»ÝvE‚$ID£QNùú)¼¾|9UUUüúž{xíÕW7nÅ?ÓZ;#£¬FQôúý8Êœ¸=&OÊ{o¿Åì¹{!J&Ldâ”)„œÎ2ÛÍgb‹Yq|Ã41 gYÓfÎbÔ¨QôúýÄâ1ⱘ•ˆ$ˆée;%*Ñ"1±…~eÁ`p8ŒCQˆÇb‚[68 ½½½ôööRVæÂ0t$1›(%oFZe›(Š´´´ ë†i¢éN‡“]»ÚÀ´*aô”÷ߺ®Y´P.-çóªË=— 5ŸûµÐ¹™ÿNž4™¸Çï÷Ó½£›Ú: ɧ¦®† k6àïõ£éš?O —Th½T!”ü>WÉO¾¢|åD©Ÿl×ȵÉ7õdž/BÚýd+Y?~<|0Ç{,çž{nÖr±Ì9$çšz\ê³Ê,CÊv~¦We8kþi»ÜM nôh~xñÅ,Z´ˆS¾±˜©S¦pæ™g‡)K´‹/¾„…‡Êyç XM.úáÅAî¼ón¹åfžXö$ ,àç?¿‹` À©§.fÒäÉlÚ´‘S/æà… y饗X²ä;lß±ƒý,ફ¯AÓt[ÑŠÇãüë_ÿâÑÇ㔯n¸žx,Ê#gYý.—;;/ÍR±’3¼ùõ7ó»?`:£ëÆݨ#Wßç|.÷bÜ ™ç>ÿÂóttvpâ±'rÙO.ìÚ¾‹³O:›¾hcDzèE’pò%[e+©*&|PÌïÅ<³\(k¹ÜÌù2É3ï)×~¨ÍB>‹5Ï×K\½~œ²Àu~“:ˆ®ž¦ ѸF\ÕÑtƒ¸f Æ£ì5:ÊWšN_LÅápðÎ[opÄ‘GÓ½»ËV\E±ÊNtK°Æb1¢Ñ(’$QVV–È`·Â Ñh”¾¾>***èî¢Ã0ˆD"”——#Ëš¦ q:x½zzüH’„Ïç# Çñz½8Ý0ìr¶äý&­êŠŠ Âá0¦iâõz‰ÅbvžE6¯Of ngGSgÌ –Rr—|7½½ÔÕ×£'ÆSU¯×K¤¯Ï¶.¬*‘ºnà,sÅPú"dE±²þÃaœÎ2<^¦ áPˆ];·3aâ$ú’%*Ñžv¹ =Ý»©®±Œ=EQhnn¦¶¶&±gÄ1l+ -ŒÏWޝÜÇî®NE¡¶vtôëûï¾Ã‚ý$ Û ÎÝÝÝtuu!K†i2nÜ8ŠBwO]»wãPTUeÒ¤I¶A$+ Ö­eæì9Ü÷¦iâp8yû­7èììÄãõ¤MW–eZ[·qÎ’ïâïéD¦( o¼þ*ûx0›66§»Ü ÓjÆN* DþôÂôÿÏv|¶ã —œ®qô‘GÛßôã[¸ûž_rø1Gpò 'Ûß«šåjÑ3Ü9¯]Ìœ 1¤¡œ—ùœL3ÿ¹ƒy^¦™â&2‡ô¼?ó5Ï3¾(ŒlÓ°d‚â®]»lW’$ë=Òu²,ÓÓÓƒ‘bE‘îînE±“ %I²kÎEQ´3]ƒÁ ‡]×ioo·Ïƒ¶k0cN ]I’$‰@ `Ï% ¦yiò)‡©öy®°EUu ±hÔŠu'Îñûý¶2ÜÕÕi•ö$橉Ò4AÑT5O(9}D"a{~ucꉄÃvÍ}‰Jôim¡¦ß®¬dçÎ6kÏd s ÓÀUV†Ûí²ÐÞò•­‘ÍckÉÊÚÚZúúú‡#–qà+§7‘g2X˺xº•Ø#ñxŒûï®éi®úäq‡ñ%¢}}6¿(Ë]éóSj’ר­®æÆkoHYƪ—\J¾ùˆ— HºÏœNgÚwý¨M²­!§þžü;5áK’¤´ã2Çu8ö&LäÙ¼/ÉÐGªI%ÆÌBš7+õÙ ˆ“¬0ÓÝ—L°LRÒ‹Pæ%úl»ZUYIMuuî}€•ŸŠíP %3ÜEAVd ÝH(çÖï><G?º[!£Ðö¬êFZ4•RK[ )膉" üèO«qÊúçÑ[fšÈ;7¯Ä[Y‡¯²]S)ÁQýgP8jð#j˜5Öóùe(#„å>"Mò$îIwxÉÕ^¢O›ŒD#¢ä»g$°Û‹Ù?ýÀ4BNó?½ôS·‘43q!œÎþÐgZ‚¯™þ5é!,–¿äGŠKÜ‹SqȺñùзdÅI´/ŒP9z<«_ù’ÖLÏF‰ûŸ‡,»Pœne.t-NIºqIs˜VËZ«™¥Ø¦7#)ðGbÎÈ 9Y¢}¡¬rÓ¤¼¼5ï1˜wÞÈdÇ[O"Cf†¯2«Grå#¥öJ°Ç7ÓÏÉÕr¹Ð>Ï—¸ˆª‰ò­Ï~¡DI¡«­…­þYc–ÍE6Z3n ÁÞ«^þ=•qbñ2&íÿ¼£m¬Û}ñHÕ¬ÒaAææ(”È'@}lÒç`4ïTïI14C/!µ•è?ƒ¤D˜hhÞ0]Ó‘=ò‘îP;v=,E>ñQÒª?†ºÏó õô¤8ÃÄ4P3÷YXçNw;7¾GãX7ež1´oßLooÓ¬ §«—º1Nê'ìé¢kû:*j›ˆG6µ Ži¸’Õ/7¦!‰NE"®DbV¬ÏS&“‰'Šj†‰Û)ãPD‚ÍèOš¨p+i ëÄ4§"árH@°OEÓMÊ=JV$±¸Ž, ˆböR/M7G­yº²$ÐV­¢€·¬ÿŒª†)sH`šè&„£ånå a©YïäÈÞÇ`ÁŠéŸ-û?ó»BU2€l@®¤8—ǃÃédó¦fœN'%#½D%ʵÿ-k;3qòdâ)àMº®3vBÍÖ'*Z†~h4Jy—B´aïó¢e¬ÎeŸ½«Nr”±iå3ôu¯fã®FUWÒ0¾žÝ~t]'Ò4u;·î »³¹ìu¶H"ãfŠjœ²p,O¿»“¸fpòÁãhÞä£Í=8£†SF¡ê&/®lgÇî>¤D µÓ!°ä°I¸¯¯íäƒ=œ±hõ£ÊPuE¹÷ÙM(’•IîEŽÝ¿ £=lÜâ…ÚP5ƒÓÏÄ:¿ynqÕð<ûâ: gÕÐÒ¦+€ ‰iÌmª`áÌt^_ÓÁÆ]!®8e&}qPTã±7Z1 IøÒ^£Qd¸jÝ“S©ò9øþ±S¸ë‰Op9¤Ï’6L^syèÂ<[9c¾sò(eYl©b6èÇ\®½ÌEQdò”©ÄbQf¸D%*QvËYÅ.ûd諲²’ªê*B‰Š–¡’¢(x¼>[aÈ 5˜}^”@7LÓ-æùYiM¢H4$°ýu¦ÌaÔÒÕÖÅ'«?¡¦®†÷^}{Ï`ýªõTŒª`ú^3ÐØ¾í B spº½ÄUú*}q³œDkW„•[zØz“ê<üî¹ø\ ãkÝVÉ›"ÒV¹èÈé<ñÖvvv÷qñ ÓÙ´3Äãoµ¢j&U^‹æZuŠ¢`•Èyʶ´…XöövŽÜ»Ž…³jxeU~q3gÑ„Ç)kiV’…1¬Såu°½+‚žs$×P× fŒõ1ob%¿{n#.‡Ìô±>²@go”_=ÝÌÁ3k8á€F~÷ü&ά!‰3{B¢(R±QÆгÏä:ª¼ËëbšŸéšŽŒ…nŒ¨}^lûßÁXè¹ÆÌ[bVàïl×/då[õ¸g‰k—¨D(©øf¤†nâõú†ÉkÈ*̇³Ï‹jŸj$Üퟥ5'˜&‚ c j\%ÚÃãóàp:ذz¦N yM3“¦OÂYæ$ átʘ¦Œ(90tK€Y–òÖnëå½ Ý¨ºÁüÉUüáùM8‰HLcÕ?EB×MIdݶ^¦7ú¨)wÒæSudIDCç ™5¬nñcš ëV‚VGO”öž¨ÅD ð‡â`Zc‰‚eÅ[µßm<©ÞKT5(w+4T¹pÊ"á˜ÆÎÝ}È’@(¢rÀôj~m+Š$¢j+6õPéVˆkqMgó®ͨ!Ó˜ÒàãŸ+v1k|·ø™=¾‚O¶Eذ#ˆ(XJÄÂBaê/Ñú"%S&Ê9Kù¡%*QQ$™)û&s/T fÎk V@‚–ŸS “Ú[ö³bG¦Ž(+TOü/V¿ucÆÖ!I"j\Åíusæ÷Ïäž›ï!Å1 ƒŽ]]LÚÿ»8ÊQ™ÓTiÇ Ã$nê”9DjË<¾­ŸKF7L´„Œj9¯o™Ì‹µárJÄ"jÂEœþîàè}¸æ´¹¦É;ëºØÑA×-F@¶²0kÜìÚ±<†‰,‰¼³¾‹Wã’(Ø¥^ tÃsÍtä3Üá`‰A”¨D%ú·¢d9jÖ꘯Ÿx¼ùëßü‡dråƒ[(“EôϘû Äú´~ðÜea0&Noâãë˜6g*›ÖobƼ´4·XØÒf5õ³OÆU>ÓÐ.ê²D™e%‹È’@L5l„C‘$Ám†ILµ’¯I@‘-!Wuœ)í8U7qÈ¡> E¶\øEB‘¢1ݾ†S‘¬k¤ÝÄT#{ÙZÂ’k†mU+²€,ŠÄTëžLÓ*»èÄ™<ñæ6ºCq¢)÷›¤ä3`ä ÛÏŒ‚}:?U‰,Læ¹ÙŽÉìS¿uËf$E¦¼¼ò‹±ø%*Ñžðb "ñX”›Ùkï½ÑT-mööúÙ¾½•ÆÆ±Ã2üþ"ÛÃL6#у]Ö>ÏÇ'RºÆçG ›š†£¬‚ þÓÙQÆöÕËØ¶i%±¸Âø}Ï¢ÌSm1,SO´}ýOÓ0ÿ“Üb{ÆÕ–K€ï)è×lcçB‰Êu~¾1ÂÁ †i°ï¼}‰«ñ’Û½D%ÊCb¢eqOw7••U†åñ”D‰Ö­-Ìßï”D·Ä¡î¥ñšXñþ» œ—üµäÅìóâ,tºCQ\éó“-€™xÀA\ã¿D¨g&Ž2/}¦‹p¯D±dˆ|Á©7¢¢p× |VõP _‹i¾’M¸¥C[®14CG%tC·Ú™–^}±Íl»³ÙPÞuA×q8ˈÇcé%ç‚@\Uq8Ä¢ÑaõEDI’ó6uì>Ï ,#– øÜcf {@6š$0ÖÅþü,!sÂI´4ë_APUÕrµ )fš01a•SÏø"UƒºQʈÌ '9.óÜlî°¡Œ_ìùY7µ™îÖ(é¹%úB[Ø¢HWgO¢­©EšÉºáÌ=#d—xÖ8ÉsM[þô‡¶È3™@—åz¹º¹ eŸÄrZÎÑó÷à£7 ùwà­ƒ•¡ Ôh”¸#¢kѨF,c×Î],<ôHd‡«ôÖ–€P 7«ë}ÈY¨f~¡šMH'7¸cséºNuu~oÞ ™/V–y^1J}LŠò›a(ŠB<Çáp&¬¡ègPèúŠ¢ ëºm1•¨D{šLÓDEA´ólâªJ8¶÷˜ÛíFQ” âr¹­$º”¾ç¢ …e‡Ã‘ö[!^“+\WŒU>@ +ý‡îˆGƒ¬]·K.;—» Ó4m¢ IDATÑ#º¤¡:¦ª£Å LÅ Ú¥ab=·WÔ°÷‚ƒJh^%²jõ ¢ àp8p8  S@7ÑÀDÇÔå¢ÜL²"S^Qi†AOOOAךišTTT²nÂÚÚZ.½ô2®¾ú*t]G’$û7Ã0¨¨¨ ··×§···¨kz=œ.7½þ4M+JW13,M×Y¿n-{í½¾ÿ{í35³BVYH×uÑ‚1¶­‘œÏRaÃúõÔÖÕá+/OxÖJB½D{˜/Ø2ËzÛeYfKK ’$&<Â&íÌœ9ÓNH«)‹iíjbÅÛ;;;…˜fcÇŽEQLÃ@’e:;;ñûýÀ¸ñã‘%© J lMU Üò¦iàñz)+s¥eá-ЇÂhsuJýG™‡?ú·âÃçö°k{}£‚ø·ˆchº†1*ŽÑ¬ ÏÖé|g7÷=x?c›¦1jTeB  –ùj”Ùã¹:n ¥7v¡ß‹í}]¨ë×H­ÙžXó\÷íÚƒÑ@Ez#q>Z½žh,n)† ÄÀd•Bgo˜Y55ù]S²Ä®]»øñµ×"K2•\yÅK›Oà¤ÜLåå>~øaŽ?þx¢Ñ¨/$¼\"­\i[òIn‡zˆÓN=]×yðÁ‡8唯‡íkˆ¢h_7ù¬¼^/þío¼óö;\rÉÅTWWÛó2R­€ƒ#Ù11Åå.Š";wl§²r‡“@ —ËE,Ú‡”Ù!)‰š$Ùb&ŒS›y,JYá­·ßFUUN?í4«-o,†ÓédåÊ•H’ÄܹsÑ4p8ÌÊ•+™*+G!^Ÿ]Ól¾P²ÏKôiôLÁi5ÐÒÑTP°‡Ã$É)е‹x\…bÜáÉM]Ó¨­©!‹‹Åq:ËhmmÅëñðx<A“àU¶Ë>÷5$Ib{k+'}ýø|å~ÿþ£]R^ÐàÎCT%áúøOgh˜1•¨AðêÈÒ /bX±6¾ÆëeÈ{kÄžQê4Âþ0f "Êé§Ÿn+ɺۋ/¾˜§žzŠW_}•›nº©ßU(|ðÁ\sÍ5¼ýöÛ\xá…´µµ‡¹à‚ xùå—¹üòËs –¡Æ‹=¯PJ{½=5×ÁŽ‘OÙÈ6÷bÊ7R©L¨©ðP]á¦*ñUn}ªÊ]TúÊ…Y“‰˜×œÙs˜?>³fÍB–e~ó›ßòècç\Ê>ˆ×ëå¿Ï:‹ÕkÖðË_ÞÍÖ­[éë‹ðâ‹/Q^^ÎÅ_Â%—^ÊÓO?Ã%—\jßOee%×þô§¼ùÖ[<ùÔSÜ~Ç´µµÇyá…hkk#‹óÏþ I’xÿý¸þúXþÆ›üäÚŸØÖ7€¦i4662cú Ä„SQ9НŸrнrùÛSžªÆ)s¹0 QÑ ÷Þy Ó0PÕ8¯^E,ã“õëE‰Õ}„$Ë|ðî»lÚØL(dÍꕈ¢Hgg›7…Ù¸±Ùv»ë W{ÒËPú”>{òÓúMêÄ{Ç©]Ëœ9³™1c:3fNgò”É„ÂAK>Ùçfç©Þ®äÒuÆÆFŠB\‹#I2Á`€2WÁPƆù$Çs @QQU•矞•+W²×^{¥ WA\‚Þm\-•ħûa½ᬠ¬UË@>,Fônb½†ú‚ÿÔ µ_ ×ÔÔ¤]ÿá‡f¿ýöãŒ3Πñ¼õÖ[œuÖYvØaüö·¿eÛ¶m¬Y³†%K–°hÑ"n¿ývV­ZeÏs$ÝꟆë»Ð˜ÅÖEïÉùî‰{ÌԜӮcg­ …&FEE%W]} ÿxöY¼^ûÛÃüáäÇ?¾†H8ÂwÜɹ瞇(ˆ8N–üϦMŸÁÞóöæö;›o¼™³fóí³Ï¦£½ €@ À%_Ìo¾ÉäI“¸îú¸é¦›™uîÑ¿þõ¯\z饜|òÉ,\¸€sÎ9‡?þ˜Y³fY±·„¥®éZH%xˆŸ²÷«®îÃ|Ï‹ùgÂü(æ‡äcBh¦·jöiš‘Æ˜3“Ö­[Ç·¾õ-;ŽhF<ÿüó9æ˜c¸õÖ[©®®æÜsÏåé§ŸæðÃ`Ô¨Qøýþ¬¨¡XȪ +6†žmŒbÃCñDÊÂÌ6v¾z¾ã« ¥<¬»»›Ûoÿ_¾ùÍ3Á4¸\.ÆÔÕ«Üóë_ùÃ~O[[ßÿþ÷ycùrü½½¶ðÔuH$@4¥^µº¦†Å‹OåìoŸMC}=±˜ÕÖ7ިׅCiFumm •••üügwâóùÒÞg™ _¹ÊÊJ¼Ýñ8¡P—Ë•õÙ©ªš¶_ Ã@–e‚¢( +2Uµµ´íÚI}C#š®ãñø(¯¨`Þ¾ ¨®©eíÇ«®>MU †‚¶µ`˜&^¯²²2:t‚ ‹FÑ Ý.9ÝSøÕ%*‘ÍOD=·ôT隆®k„Ã|>Á`ÎÎNË+¥D£Qâ1•`0ˆ,Ë蚆$g…š®¡jbÊ»,IVþW1dÃ4%™¶¶]8%kœ[ìfäeÅâZårÏ0³Þ6ù÷Ï~ö3~ýë_óÇ?þ‘ãŽ;ŽsÎ9‡Y³fYÚRJVž©ëèr ã ãì.Ì|§÷€ÇÄÜä@˜!¾LFï40E uh¦–¦9%¯™LDjlldãÆvÂ\fÓ¥K—rþùçóì³Ï²Ï>û°råJêêêì¸g$Áívg½¿\Ï$Ÿ‹9óï\c6)¬Ð8ÃÑê²ÅϳÍ?ß8ÙÜ胮C=o8¤i­ÛZ ‡‚ttt Š"ßÿÞ÷øó_þÂ?žý¯½ö‡k¯ý ýëýÔT× ë æÏçØc!è¥ÌUÆO~úS/^Lyy95µ£éí  ©*M›xñÅ—xþùçÙ¹s'ÆçŒ3NÓ`Ö¬Ùœt≴µµqõUWòÊ+¯ðgŸãɧž²,ƒðù|üùOKù¿ÿû?ùéu<úØcT×ÔräQ_°â|î•;—ÛCWW'¢$¡k:s÷Ú›¶¶6¶¶laì¸qôööðɺµ¬[»†žînŒâJ<³¸gÒ”©lmÙ̆OÖ±~ÝÇDûú…B8¢ –ÊÖJôé™èÙ•Œª¬ c õc];šú1uLž4¯×M$±x^ñS Qéêê¢k÷n$ÉòHË¢Œ‹!‰--[QUmp÷ –@;^(~^f^ËÏ4Mxà/^ÌÕW_ÍAd—뤧éªÅÜ&£?åÄ–2L§(HhË|D£!tUÂÔEäQšª§¹)ÚÛÛùè£èêêÂáp°dÉÎ>ûl[0¿÷Þ{\sÍ5hš†,Ë455ñì³ÏâõzY·n't'žx"×^{-§vk×®å‚ .Øc·öDr]>‹x¤çýE.ŒÅbüq˜¦I,C–eúúú8ýôÓXtø"¢}}Œ?žîînî¼ó¶oßNcc#áp„›nº‘-[¶à+¯@S5~q×]øý½L:O7>ò0½½½üìÎ;iiiÁçóqÑEѽ»‹ßÿþwlÛÖJww7?ÿÙlݺY–™6m¿üÅ/hkk£¡¡EQlÞ××ÇÁÌ‚ Ðu¯×K¯¿‡_x‡CÉX@a„³®ëÔŽMû®]ÔÖÖ2oßùƒ¦MŸËåÆ0 &O™†CqPær¡i*S§Ï@×4æí3US‰ÇãÌš=Lðz}TL¯Äépât¹ˆÇ¢tu¶3yÚtÂáÐ µ”¨D…ø•aÔÕÕ¡ªqDQÂ0ô4¥WœNgÿ9y­åôœ¦@ @GGN§“h4Jcc#^¯—í;vЉ I"Û¶m¥©©)ÝPK‹×¼H™Ëņõëé®Ý0t¹\ôE"EwO”cæ,º®óðÃÛß§ZÊv2ª"‰2ª#¡ö阘øD‘pU#VOvI–M!Íå~ÓM7ñþûïÛ.Ã;Œßÿþ÷<þøãƒA–,Yb»DLÓ䨣ŽÂçó±zõj.¹ä&MšÀW\Áòå˹í¶ÛÒb-ÒlîL+{°Im¹\,ÅhkƒQFò• fÍ‹mh2˜F$…žÅPÂy_þ7[òzñxœêª*›1$=?&L°3 Ãþ;ÒׇÃá`ܸ±hš†(Џ\.«¶TÓ;vlÚsE‘¦¦ öu'L˜`»¨N§=nR˜'CIÉRµäwº®§ ò4Ï Ù{2Ȳ̤©SÑ5 Ã0‡,Á‰„m <Ò!ÒAEdY¦§§Y–éõû­p‚(â÷÷$Ü—:¡pˆP8„(ŠLš2 Q­¬ø’…^¢OK §ìa]×q–•±eKK¢«f*\?ßQ)Ýn•» yG7më<”Ø3Ñh”Ñ£k1 ¿¿—Šò 4U¥/ÑáPU5Eî÷À€‹$ùV,ãCcË–-tt´¥»êuƒ£¿ú5tMG̰à‡d¡ã"•$ÉffI7{&ãj&S§Oåoü C7ù»ˆÇ "þL‡-%dJÈ®0ˆ½8Ô©<¼ìoȲd?”/ùËisHÆ/^œUè†ÁȘ掙>}:Ó§OÏ*TR;W ç¹ ÅÒ.Ö•^LŒ¥ØyFêTH`çS †‚g^HÉÌ3HSæɸxªP+1í¡°cw™¿§Æ$ß½ÔïR÷J1ï]æÞPI’…ÉeR_Â͘9$¥æ d»—þ9šöÞO’êa“•(]ꌩ«£nôè!¨9ÄyâgMÓ¨­­µ-gQÑ4ÍN²«®®&‰àt:Q¹oŸ¦i"Ë ³fÍκw4MK+5´@Ï%äò•%7v®ä¦ººŽ<ú8î¸ýVÞoÓ¦LÄ4 Êœeèá†qÝdýëØ±³•`d9­-[lk<Ûõ“7˜+œ­Æ:WÝu.@”\ 3ùTRs®Ä¯\à8ÅÌ!lh1‚9W2]1€;…ÆÉ3Z().—`lÛPü†»æ‚ Ð××7 öõY­yÚýç¨[)ü‚|Œ°äj/ѧI†®÷×”§x·ŠW賘Ï=õ®««³iRÝñ‚ Ø9Yia€,nýl{d@ùiž[ }jþ¸D1Ó©Îj¥GUfΙGOWåå–KÓÓt‹Ç©Tdjjkéìè éæòË/§¼¼Ü®iÍvbæ’‘ &^\lü:ŸÐ̶ƒrN ½ØëûL2…ÏHä"|šÂ`$Ö<Ó¢ý¼¬¹i–„k‰þ3ÈåvÛ–òPöŽ&§Âš a¥zryó²)f*¢Y/*ÏR\.¡Z†µ¢¢œ£:šÿ:ò+Ü|Ë-´´´‹FmæWãÔÖÔòíïœÇ…^4ÀÏ'0sYR¹Ê¤rYFÅ*ù¬ÍÁŠ|ŠJ1€ý…”˜áœ?Ü5Ï6^±ŠÙ`ãâÉ»ÑÖ< ;Y*+Ñ9N´<Öm>Éfb¶0Q²cìÃÙKIxŒÔ¯#±Ï-ÐkÝ´fD‰r_9¢(rûíwä_SU¤|l1.áBM¡yÕzÛâp2„‹É¬/æÅ©5ÿ´,ÄOË;ðy_s—ÛM\UioÛ‰Çã-µO-Q‰r*õ®ûîÝ»™»×<ÛòNZá£ëÆðɺµ4Œmd8Û¾·×$ÉH²œ×­>XÞ>(—{6‹'WÿÖ­%sœ“:n¦=óÚ²¢dµZV|¸‚ñãÆ§¡ÆåŠeçk’Ë’,6{»Øk®çTèùæ‹ã² [ÈúÉ5Ïç-öþö¤ðEZs°2ÙgÌœEWg;ÝÝ»K\»D%ÊÃdYbæì9ö· Œ©¯§¼¢œ®ÎÎa]Çét0sÖb à©|žåÁðöµÐ‡KI0˜\Â7yƒ¡PˆÞ@/ Üy÷|°þô˜Îm×Þ†Ë颼¼<¥CÍã%K–„Ï‘¢‚uèÅ|?87‡Pô1›·l憟Ý@o¸—ÃæFó¶fêÇÖð¸ñ¶ h<Ї[®¹Å®÷Žu·' 1-|`¡± Å¿“e~ÅdKæ»f²üÊápØíFû»ÔuH-×Jœ{O ÿÏÚg~¹ò≲•¨DÅóš4¾ƒåz×õ¾‘†TÅSŒenʟLJ›L@xuù«È>™©3¦òaó‡´µYE÷þ.?šCcÒÔI.+WýÙ‡© ¹j§ õíÎö]rÜÔï3“%r%zeK|ÊÌœLZ¸K–,¡×Æ O' x’z¹ò 2½"'t’  2«/ulAxøá‡ùÚ×¾FOO't?þ8?þ8‹/æ¾ûîã_ÿúWÚñ}ô?úÑÒî±D#l¡§2Ž”÷¼ô)}JŸÜŸÔÆFi ˜ØPÆCþЯ ìi¥¨:ô\ßer…Z&­¹§Ÿ}šWÞz…öÎv‚UA'4âïò£Æ-ʦ†&Z·´âßíç‘§Á4MN8ö»A˵×^Ë7Þhaí&’ëZ[[¹ùæ›éîîæ+_ù K–,Ik s÷ÝwóÒK/1wî\®¿þzDQäÑGåÿý¿ÿÇ©§žÊ7¿ùͰ¶¢(òÌ3Ïp×]wáóù8üðù袋laúé§sÙe—±ß~û!_ùÊW¸÷Þ{™aÒ¤I,[¶Œ!C†ðÆo0räHêëëyçw¸ï¾û¨¯¯góæÍ8Îv}ùàƒ¸îºë8räsæÌ¡¨¨ˆ[n¹…±cDzråJºuëÆ<ÀÿüÏÿðÒK/ñ /0xð`yän¹å.\Èßþö7Î:ë,&OžÌ¬Y³X°`«W¯fùòåÜ~ûíÇœ`ÕÕÕ¼øâ‹˜L&.»ì2æÍ›ÇæÍ›ùË_þÂÖ­[E‘/¾ø‚²²2æÍ›GAA[·neÅŠœvÚi\zé¥\tÑE¬X±‚«®ºêÄ—vÃhX© ×~‰\hÏåtr¸üƒ‡#--Mçå:éI=-¸\.¾ùz ¹yyí2& @ù¡2’RR>rT‡ÞaÁ/å7Ô׳{×ròrq:að»jM0ÄZ b%‰“›(ƒnËh2’dKÂírãrº0[ÍdçeS²½„¾ƒû²ç»=œÒïŒ&#Í ÍˆF‘$k’æšÚ2ÀÄ®¸â 222p»Ý\pÁš„ 0`ÀV®\ɪU«Ø±cW_}5›6mbòäÉL™2…¯¾úŠÓN;혾Ûl6>øà @uuµfÏ_½z5?þ8O?ý4ûöí£wïÞŒ=Q)//gÕªU\pÁ¬ôÙÐÁƒéÕ«n·›ñãÇkjýÔÔTrssY¿~=>ú(à«8'Ë27näÅ_ô;r¤ðå—_r÷ÝwûÆÔo箫«£¾¾ž›nº‰{ï½—wß}·£\¨cˆ¢(\|ñÅ€¯ IAA½{÷¦W¯^Ü}÷Ý,\¸³ÙÌu×]Çúõë™3go¿ý6kÖ¬áÉ'Ÿä±Ç#33“‰'RTTÄÇó¢ L´‚CÑ^ Hs¾#É„¢…^†;7Ô|J‡‹ÕJZš¯Òºó¡N?j;“z4ch»²&ñ]+IݺR_o'77O3ÛŠ¢D]]‡£µ¹A;Ü¿ÔÔTÌ&3;®5(ž÷j×îäÉ“©ªªââ‹/fÑ¢EÜxãœrÊ)pÑE‘””Ę1chiiá™gžiÇ$­V+.— ðÙ‰-òm.z÷î­IÉ—_~9Ë—/§[·n€¯„k@•”÷¼üòËùÇ?þÀsÏ=Ç’,þ¬— IDAT%Kxøá‡9묳(//çöÛogõêÕ\tÑE\~ùåÜ{ï½¼óÎ;L™2…o¼€ßÿþ÷,X°€éÓ§sÛm·ijû%%%ƒÇã9†ÑÏš5‹mÛ¶qýõ×sÑE`±X´ S@‹¸ŸÉdÒ6R&“I+XðÑG1~üxM[šÈ!ÜÜ‹&1wVÝnþÆ3GþOkkkTmW´k#µ)š!ò…„ð/t·TÕ—*3Z-hUÅh0 Ä©ÄðU[ü×ê¤Ó÷¢qžŸªŠ$ŠTWW³ã»ïصs'ß}·ŠŠ ,f3’Á€Ñÿ‘D1zò {¤~p»]”îÛG½½CÀ9Úÿn)ªÂþÒR*+ŽDt~‹dr«Õ†ÍvìÇd2Å-Ô—M¿DÿâBÅ—ê.\æ´x*oER%ÄÊéÚæ–f~ûào9RwƒÁ@>=ØñÕú éǾû8t e{Ëp8ôëÕÙ¿šMA~AØ2•‘ìø±â±ƒÕêÚ½{7ƒÞ½{ÓV´*uÁÇ!jÁ‹q°÷¼ ¬ZµŠaÆ‘••uÌø„ö+ZÈZh»’$i ;\ùÎÐ¿áÆ pŸÀßàcÁöøàç.))¡¥¥…#FD÷Xó¬©ÑW“ûãåËè?p`Ä9×ÔÔ 4ÇÉdbã†uL:ïìuµÚ8F’’lx<¾Ý}kkë1¥RCûæõzIOO§©©)ì3dfe3vì–¾ÿ~;3Oàéii4øÃÓÓÓiÔb[ÔXÖ~Ȳ6‹TcC=uuuœ6t8N×QgKQhjj¤tß^ÎL’ÍÆ?NzFº¶!8v£ J@MÀS9rø0 F–=X¬6v?ƒÑˆÛåÂ`4b4ñ¸Ý¸= ºwÇb¶ {}›‡€ (0M&¢(áv»ð¸Ýô,.fÏ®]ZiIÝz¯Óq—ÐCL[Š}ikkÃér!{dŸTc£Ï·J‹ÙLee%iýûûÖG"ÏU5¨|ªìõ’••ÅÁCINN¡ÑoÚÌÊÊfÿþýšï“ÉlÆèç7B»>†oÅd2óå¦L8ël ºu?úî`³%ñÒ‚ùŒ?s‡£QL\åÍHç]gëÀ5}êt,Š…=Û÷0ãü¤§¥£¨ ’I¢ £€½ßî%/%s'{Œ]Ô`0`ô/PfX”L1´¿’$a2™ÚI˜’$iç‡:þ…ÚT‚¥•àôª)>Ð~¨Ö"ôÜàv} XJ ®[O Ãб Ü+Ø+>Ð^à˜(ŠíÒ¾Úù>Ý¡êêj^˜?Ÿ•+WòöÛÿ¡±±‘ÆÆF.ž:•éÓ§áp:1›Í¼ùæ[œyæx~x.[6Éû~ÿ EQ™7o<ø £Gâóµk}%oc³ÿÀf\z)“&M¢¼¼œE‹ÞáÓO?å¼óÎãÓOV³lùrFIKK IIIÌž3‡ñãdz~ÃmÎp˜5k&«V­bÖ¬™üù/’“Ë/y§/Ì3dÃ… U¹û?‚ àhm%99Ù¾ ”:HÉ®˜ÍföíÙÃg«WqèÐA,f3eûKikke÷ÎìÙµƒOW~ÌáòCZuªo¾úŠuŸ}B£Sa2ñ*2ŠWA l¦UUÿèŸãû }4»µ_ë){1›Ít£{·îtëÖ¬Œ,'’(݃(†¥£í¨Š‚Åb¡°{!ÍMÍXÌfšššÙ³gF£ ·Û‚@a·î¨Š‚¡z8R…ää, V«‹ÕŠÅbm'ÆC®‡Í).VaH÷ KKKã…'_8úЪÂþûÒSÒùÓïþDFFFÔûĪÓh,`¬¦h Ñ’¤„S³FË8jsM´Îy$ÍÊñÂ<žÐ¯ï;lMÒRÓøó£aíÚu˜Ì&æÎËÿüï-¼öÚ«ÔÔÔpϽ³ù÷¿ßâ‘ÿ÷¥¥ûYµòcN?c$gOœÈŠË‘$›¾ÜÌøqcùhùr®ºêj&ŸwªªbµZøô“Oyûí£ª —^z|ø!ÿ÷kaŠgŽÏçk×âhkå‘GþcÇŒåo{’K§OgÈàÁÚF2%%…´´4d›¥|È´K¦гWϰ1A=šLF ‘Ú&#N‡Œ( ì/ÝGc}=ã&LdoÉ.DQ༟]Äæhmi¥¥¹™””Tjª«8uÈPŸ6œ5Ÿ¬¢GÏ^lûz =N9…‚‚î¬]ó ÃFœáë‡ ‚( zU½»NÇÿ=k÷Iê^EÆjKÃd6jšÊÔôTªj*Q ж‰`CÜ[ jÂëõbµZ),ìÎáŠ#˜Œ&$ƒ„Göi, »wGQ•X–ù𡽴#dˆ¥O$ƒU$æoØZ8Ÿ€JDD®¹âÎx.©©©X,<¦Æ "ÕGïl>óp¿Å#…ÆÂ­íX¶óxð‹Ô所y¼}å‹‹\.'cÇŒáÒK§ãtºP¼^6lØÀUW_CcCÝ û￟aÆñ³Ÿ]À¹çMFöz©·7“(üâ¿Àl63`àjjj@§ÓÅèÑ£8çÜs±Z­lÝúoAeÜ._øžìõÒÔØ@rr2Û¾ý–uë×óؼy8Žc¢l6wÝ}7EÝ»3yòyTVá÷¿ÿuµ5!Åv|Î9n»]Øb ƒ¢£­ ì¡­µÒ½%L8ûêíu464P__OUe·›S‡ Åë•ý*L‘‚nÝi¨·û5>&êíõ¸Ývmߎ×ëÅl±ÐÔØ€ì•·Ë…”€d¡“Nµ¡Ë²_D¢(xdQ’p»=¨ª‡uTp8H’—Ë…×ëEöȈRxeµGö´‹Ô ¬7¢(âõȸUPUYöb1›‘e¹‰4Àؽ^ï1:€hëV4¾í:C<*öD$ÖΔ€ 'Ù¶ rssÛ©¶£õ7’äí9cIòáî‰ñE+”MRö{ðõѤøx®49~hÌ#aÙÕ&§ÓEQQǧ©© ‡ÃÁÙ'òøãÿG÷ÂB/ZDkK3&£‘­[·2jÔ(ÚZ[=_¾A@”D.|‰Ûo¿ï¶Gnn.N§‹´ô ~qÓÍ|±a=6›•~ý}N|.·Ñ!Íkàñx6t(C† æÊ«®fù²ÿ)rÓMÿÙgŽãŽ;îÀn·“››ËC>ȬY3ÃVæSCÊ+Š‚Ñh¤±±¤dŸÑðÓÏà³OV3lÄé˜-Šzö¢wŸ¾ÔÕÕú£|²‰âõúMŽút¤¤¦Ò»o²²³©ª¬ µ¥Ù÷< cÃ"uÒéxÙÐÿ|SŸŠ»¡¾‡ÓIUemm©È7‚(¢**YYYØíõ466’œœŒª*¬ÏBû°4Žæ 9PV¦™»dÙƒÅbÅn·£ª*999혺¡Tx¸È®Ð54ÑõNŒ%•v&l-‰ö=Ô.|ÿ={÷0çþ9Ìy~»%áÚŒ¦Êާ_áúOS´± ÇÐ"]®ýH›h!L‘ðŠÆ4(Ì£=kW“âõRЭ€=ŠeæÔ7÷‘‡¹ûž{9òù‚¯¢\UU5ãÆŽåç×_ üþ÷¿ç¢‹¦ÐÔÔ„Éh¢ÍÑÆ%Ó¦sÏ=÷`0š;f M ¼´p×]=<ðS¦\„ìq3óW¿bìØq8ÚZ™3û^&M:‡ªª*~ûÛûØúÍ7L˜0M_nÖ’ ‚@EE%;vîàãW2jôhÞxã DÉ€Ýn°áQý¦;µ]¢™ôŒLÊDURRSIKO§°Gª++(,ê‰ÛådÝšO(?xƒÑ@Rr2¢(’–žŽ øDSSSQ…â>})?x€ k×ø{˜Ì”:HfV^Ù zœ´þù~>ÁÌß\ïÞ½;§ôêE^^ÉII¤¤¤d³‘œœ„Ål&Ûïõ+=´-EQØઢ {<˜L&Š ‹p:Fjkk}Z:"Ç–»¾ƒìõbõ‡÷†üâ5AĶKý-ü+š]5V˜Àko¾ÆÎÝ;™uÛ,œ÷ †•G*™6i%ûJÔ×]uæÍÉ£>Ö9‰¨D¢©°#…†ES×Çc—Žb|~@í:Váî óxÕáá6 ÑÆ8Öœêê°5‹Åâss8ÚÝ#3+€–æ&œN§/+žÅŠËé ¹¹‹ÅBrŠ/žÿœsÎaÑ;ÿ!#3‹æ¦FYYY444`4IMKGU|»õºº:’’’°Ú’¨­©Æjµ’”œB½½Y–ÉÈÈÀ`4áq»Ú…Å ÒÒú‹È7uuuäääP__ߋƆª««é7`®>•¿—ä”dŸjPñ9¯Y­VN'¢ `ó§Onmmñ9îíÏQpº d2´X­È²ŒÓá µ¥…¼‚šOˆH~*÷z{YÙ9þ0Q{÷î!%%Ù¯!ÅöÙÁ— ,++›¤¤$êêj1äää¶ [Û¼i#gŒC[[«fÚ­¬¬ô'îR1™ÌhkHEEF£·ÛMqq±¦A6MìÞµƒA§ú"LD±½3²Ñhd÷®|õÕ–cB„Á—çäÊ«¯¥¡¾þ˜©¸ÂÖ:ZÃ;‘ó"I¢Á‹ù¢%‹øïçÿ%'?‡_ÿá×­FrÌ9¤¦¤òï÷þMŸ!}xç£w(È/àœ‰ç„U߯ÓN8;p$Ut¸s¢¥Gí|ï³]±b#GŽlçømÓ ‹€·ùâÅ‹™1c^¯·'z<6öà¿uuu<öØcÌ›7… Ò½{wÆÏc=Ƶ×^‹Õj¥¸¸X»OII MMMœqÆíbÛã1mè .xn5(t`|kª«´—ZEš››illÔ¾;NÚÚÚHOOçš«¯Âápàª8‚ÑhÄ`ðIÎtÅÕU•í"Z[[innÆ`0àp8hmmÕB(´± î“,ËTWU(%Š"F£‘ºººcB/Jèá%É ÑÖÖÖîXkk‹ÏöîßhªEï±¥ñå‚¿°E #  Xm6êëÛeQÔI§ã¯r?úoYö››ëÓ^¿þ°1Að9‡Z­6¬V«ožF ±T9ú)þÍoCC#‹…ŒŒtZZZPƒA"++»½³ÙÒN`:&‹cÈzîñxèÛ¿?ÃO?#ÒCÒÜܬùŠE[Å®°IÆ{~v»]Û ÇRã‹ñ4-—{¤—=šA?Ú¹Åá¾ïc÷‘ÝH¢ÄÁ}©ª¨"·0—²=edçfSW]Ç¡ý‡0›Ílܹ‘?þ¿?¶k'ê4Àûgào€6lØ@ZZ³gÏn÷ŒijïÞ½Œ3†›o¾™ââb¶ûÃq&L˜À7ÞHvv6~ø!—^ziØç{àHIIÁáp°k×.zôèÁo¼Á‚ xå•W4ûã 7ÜÀ_|ÁŒ3ظq#}ûöÕr¹ÀÚ¼y³¦¿ì²Ë´êhsçÎ¥¹¹™… ò§?ý‰ââb~ó›ß ª*óçÏgÞ¼yäåå1kÖ,MòÉ'IMMÕ6 .—‹?üá”””0bÄ~÷»ß…µ©pTE«g¾fÍúöíËöíÛùöÛo™9s&{öìñÙµ?þ˜½{÷2kÖ,&NœÈO<Á믿NSSÏ<ó YYYŒ1‚Í›73nÜ8ºzÞO•^"9º°áŽ ,¾ôT'Lt:^¤( i鸜Îò•¨õÙ„ð­šaȱ€Z?´…Xz€p~]Ysº$=TrI$¦;\[V›•³ÇžÍâe‹D·Ë­1ú9Íá•'^¡¡®†º¬6+^ÅËôó§“­1'9$'nYYƒ Ò¾‡æN?÷Üsyå•WX²d Š¢°bÅ þõ¯‘“ãKÝ™——ÇÎ;ÃlVV“'O&55•ŒŒ fΜ øª²Íœ9³ÙÌêÕ«¹à‚ PU•‹/¾˜Å‹³qãFî¼óN|ðÁ›f+)))šƒ†$IlÞ¼™ÆÆFrrr¨¨¨Ðм˜L&dY¦ªªŠ¼¼¼vªØêêj­K@e#Ë2sçÎEEf̘¡3™L8öïßO^^ž¶! –âÿùϲpáBÆŽË3Ï<Ãòå˱X,œ}öÙ\{íµ<ýôÓ¼üòË\|ñÅÜtÓM,^¼˜åË—sÝuב””tŒý6’ ýûˆCOtžž¹b•Ñ`Àírã É#¯“N?VJ° ú1ät8HKM=F#g±Xh°ÛIòk;Ü?EAQT$QBä.yÏ;‡Þ‘ÝBgc’ÇS’S%‘Ün¹˜-¾:Û[ÖmáóåŸ#Ë2§ž~*ªªâvº©:REnvî1ö”ÃÈÏÏgûöíÚñPg¢O>ù„áÇsÏ=÷ðÁðÊ+¯P\\Lyy¹¦NNOO×úìØUWWÇÛo¿M=x衇¨­­eåÊ• 4ˆÇœŒŒ ^ýu.¸àìv;&LàœsÎáÔSO¥GZ¥¶õìÙ“hNeëÖ­ãÍ7ßäÙgŸ|¹Âkkk),,Äãñ…\effb·ÛÉÌÌÔ˜wzz:‡«ÕªõÕl6kÿTG PUUÿûß™6mçŸ~;œ>üðC&L˜pô%ðûÔ××k!VçeYËÝž’’¢%u(++Óʯ†c†Ñæ×ñˆC?rDŠvˆt}¬ ‚–¤$2³²Ù³kgÀ‡N'tŠB©ii¤gfát8´µQQzÒ›²²RT¥YP¼ E={iyæ;ûž =e¬ëp×}ðÑôìÛËWγâ`ii|±ú ŠsøÀa Š 0 ô,`åç+™ò³)Úv­©©‰eË–ivïiÓ¦±dÉ,X@÷îÝY¿~=<òˆ&©òÏþ“¥K—²bÅ ®¸â ÆÏ-·ÜBjj*K–,á©§žàšk®áÍ7ßÔÔ臃ÊÊJzôèÁÕW_ÍÃ?Œ×ëå™gžÑ&È}÷ÝÇöíÛ5@–.]ªÙ’[ZZÚ5uêT-ZÄœ9sX¼x1üãyöÙgyçw¸øâ‹¹á†xøá‡9û쳵Š7ÜÀÿøGF­Iå7Þx#¿ýío9í´Ó4F¨•Ðà÷h´}Ê)§ðÜsÏi:X:_´hÿûßµñ \ër¹4ÜLJÆðN§¶lÙ2þô§?Å57•Ð;¦šŽ?»]´>%"¡Ç#Ý'š°Ý½€n…ÝéÙ«'^Eçæ:é} ðq]—ÃyLسÕfe؈Ó}µ :ц(xýqëñf'íH¡3ˆ‡ÞQUf"eV£¥a]òÁþùî?±Z­ÔUב_˜O[K›§ÃIrj2•‡*IÏJÇétrÕ”«¸rÆ•#Ú¶mß~û-’$áv»¹þúëE‘•+WRWWǸqã(**j×æÞ½{Ù´iƒ bذaÔÔÔðñÇsÎ9矟φ ضm·Ýv›ÖVii)999š-|Ó¦M¤§§Ó¯_?m¡®««£­­ÆÆF¬™ ß|ó C‡Õ*µ þ÷ÿ—gžy†ýû÷³ÿ~}¸f̘Ajj*Û·ogÇŽLŸ>]ÓBlݺ•}ûö1}út­Ì—_~É‘#G¸ä’K4õ#FhíF³¡ƒ/¥bii)ÔžgË–-œ~úéTTT Š"yyy|ýõ× >œC‡a³ÙÈÊÊ¢¶Ö™P^^Î믿μyó–XUZ÷xÄ¡':ÏcÍíx$ôh±ÿ±PDW·…æÐI'â`¸A…·BL%B–·Î¶íž±ÞóàóBãÐÃ2ôDmèI,KÍ/ϽðŸmýŒü‚|<¥»J9uÄ©ìݱ—ÂS 1 *;Ä¥ç^Êϯýù1Re(…«#©oÁ™èÂ]) L8­C"Éfâ‘øÂõ#žc‘6Q‰ær·Ïáîióϸt5C–Y0‘]s4¼âM&ïøGRáw´|±N:éþêj§ÒŽ,‹Å7âJ,Ó‘\îÑÒ¬ÆkC}ˆý°úËÕÔÔÔ$$ѽ°;^ÙKN~÷$5ÛçÈ0 ÿmÉæ\¯<Ú3DK±\ß;XÊ‹–€&Ü9Ñ~ ŽÃ.uºÛ‹¶¡Š&ù†K¦Ó‘\îáB²¢½áÆ-Ú}#µÑÕ/q4õu$I†.ËxeÙíÄ#+xd™Ö–VT¦\2ƒƒ†´k7Øý?‘»+Ô2ÑÌ‘â‰O&•{WbÞQUÜ÷iCÿ¾0Ôÿ>1(óNÌ´4šñ>ËÉüžë˜ë˜?˜ÇÉÐã]Õ ה”$Þ]´†9¿KAA.­­m´µ:hjnÒRU‚?Ñ>oÓ{ IDAT–šJ~·BzöêƒÅŸ)îûZÄÙ©~_”H›Ñ&IGÆñ§XÛº+1à÷Ò¥†.908aßsó“óp$Æ#ÊGÒùTß ,ÐrG"‡ÓÍðÓãv¹q´µ¡ª I6+©)Éd¤§‘’œ„ÍfÃf³‘™™ÁšÏ>§¥µEK”l·ü;ô{p˜T$Ïêà0ªÐ{Ä“º3‘ßãñŽö!žßÁ¼£÷OT‚ïˆ ©#‹@WwWa.è˜Ç=¦:æ:æ?UÌcJè±R\†Òœ9s(--åÑG¼{P<™6—‹gŸ}Ž·Þz EQp»ÝØl68€Åj!/'æ–f–/[†ÅlÒ¤I’¸ýöÛ±ÛíH’DFFÛ¶mcÉ’%dgg3mÚ4 ‹-Âåra6›¹ûî»Ù¿?>ú(D–eÎ?ÿ|ú÷ïÏóÏ?ør¸¿ð €¯”éÈ‘#ã²tvÌ"ýo2Ÿhj¨D¯™N´“/UG}¨­­¥©© «ÕŠ×ëåë­_3mÚ4>ýôST@ *t«ª*&“‰íÛ·óÑGñÐCSÓ¼}{GëΆÝ\„0ö††mÃ$wùäÞxã E9&¹,ûªˆ}³õk®ºú*2Ò3(Ù]‚Šª1ëò å¬^µ€ìì,Ün·æ()eee,[¶LS‡JÒ ^Æ ãã?fòäÉ8RRR4§½Ày&“‰/¿ü’‘#G2dÈ.¸àmZÔ$©¯ã^’Ñsw¥½+R;ëéËîo[ß·g}"¹tÌ¿?Ì;[ /Úï:æ:æ?6ÌÅXˆGä_¿~=}ô¯½ö²,kI_ÚÅ£àhm =#ƒ6§—Ç Š‚HcSN‡AD‘¶¶6Ô`˜={6Ÿ~ú)Ó§OgúôéLœ8‘ºº:A`Ú´iTVVrî¹çÒÖÖÆ=÷ÜÃâÅ‹™:u*wÜq‡6XçŸ>UUUL™2€Ã‡sùå—sÅWðÇ?þ£ÑV]M-:fÑÔÈá&p´ôŠ‘¼ùã M‹…]¤B!Ñ® }¾H×ÄRq…{Þp¿/ŠGE§cþÃažHíèhçUËê˜ë˜Ÿ ˜',¡Ç«¦¹ÿþû™={¶Vç:œ}£ºÆNß¾}™>íb$ÉWMÌã–‘ ‡Ù+£(‚(ãjsRTÔƒÚêjDQФæÿüç?ûøÞ{ïs,àÉøn0X±b…vLQmsM¥«bY¬±Š”1)Þb¢×wDõÔÕ\,;VGUä'’SÜó(O$ÌãM6ÒR:æ:æ'æbèñÔñž={6^¯WcæáÀîUÜÊÚ*Ο<›% Ñ+ãQ”–F£µµ…ZEÀK.¥œêò<–}ü±¦—$)¬÷¹ÑhDŸzÞߟÀ1Y–5FøÍãñhÿ6™L(Š¢©â%I [ä%V¢Hxj†ÇÖO>æh)UåÄ[Ï>œ+‘ûÿÐêöDòüh1÷'µ8Ñ17ÛW°o©Osó“ó¸zýr&OžŒÉd:FýOY¾x<*£y!FS3…³ÝDšìÑÎ ÷[¤d±<¾;S.±+ŠDRÅ%Z´!’óÈñ(΢cÞu˜w¦PG,Ìõ÷\Ç\Ç<>a)ª„ÏÎ@CuèPVfÓ§] @qïþ¸\.í|I”0MX,fÒÓÓ;åîºxv©ñ¨°:[b/œú*R b¬wG¤ÙhãÐÕ˜G—hc[Ô°c¨½8ŠŠ &VfRÇüÄÄ\ÏuÌuÌ;Y>5žA ÷P‰x,æççwjRÆ;ÙbÙ4Bûn÷•ÈøÄ«ö ÷l¡cšˆ]%Q5[<×wóhö¸h÷‹§‘²j÷ü•žˆ/<$!Ì9¶æ„ŽùñÃü„xÏuÌuÌOÌ ±v@I>|ÌåvÓd?LN~®¯î¹Ë‰Û£àp:ðz½¸mÈn/N·ÓÍ‘#GwÖù¤¦¥%¬ ·kŠÇ©!’ª(hÑ&z<Î ‘úÔÙñb”¨ÓEG°èˆSL¤‰-Š"G*ª FÜnÏQ™]QQQ€ÚÚ::(¡{B˜Ç©âÔ1ïæ'Ô{®c®c~‚až„m—ï®)¸".JvïbÒä‹IMKFUT</Š"£(*·EUG›“¢îÝx2¿ÓG‹)ùÇnN-Ë+2ÒŽ(ší%Rìb$@#ÕâÖ‡h/g"Þ¯Ñ^„Î`Ͷk £M\UUÉÈÈ`ÚôíöÓN§¯ìEU¼”——sðàA-9P4)DÇüÄÅ\ÏuÌuÌ»ÀË=ÒÎ'ÚŽ,F“•o¿ÛIüBh¨ªªFMS©Þo§µ¡c¶„âUi©oÅ–daŸûÿ|ýŸô(îGfFÆ15×#©óãq¤J$…a´T¤ábÃ+b4ŠHñÙ¹ÇJÀЕ˜Çz£a¬‰3t: ÚÚZq»ÝH’D[k+mmm QK Gۭ똟˜GHM"ÒšŽ¹ŽùÉŽyÜ =^ÛL<•eŽv@¯DCR¹·¦RМÊ×swÓwf9£2Xÿ«mØz™wÛ`Jß>LÝç͸<²ßz´ON§“;w2|øpŸ*ßåâ³Ï>ÓBçÎ;ï<6oÞŒÝngÒ¤IZXZSSëÖ­c̘1dddÐÐÐÀ_|¡I}cƌъ½Ä²³Ä²íÇ3vÑv¼ñÜ#QÛX¤‰Ü™±vîõÑÿ6ûþìØ¹“0cÆ ìuµ,X°›~q£ß¾®&Ôv$ÚV8êÓ§/½ô÷ýæ7\qåU˜L&A@LÀq%Ö³œl˜ó#Â<Öø„K*éüHØê˜ë˜Ÿ¬˜ÇÍÐãïãQï†T*š(šžKŸY…4ïmE0 ¨ŠŠ%ÓŒ«Îƒ #ûZ GŽhêUAðz½Z©Ó7ß|Sk³­­ŠŠ †ª©dGÅÔ©SµëW¯^ͤI“¸á†˜>}:+V¬ 55•††ìv»vmè@&Ûo†³X±‹ñ8^t¤O覭#˜âõ~–0"Üó&úFƒ?ümß~Ëu×^Ëm·ÝŠÓ録n¬cþC`{c©…#ÙCÏ—ËBÇ\Çüdž¹ËFËïC{e·ÛKpÒ¼¿†¯š1¤È™NÑ…y´”µa˳ÐwFo8W‹Û§: jvݺux½^rrrX»v-^¯—ÓO?¹sçÒ¯_?þüç?³qãF-CœÓéÔ®­¯¯'33€œœÊÊʸöÚk¹å–[(..æÞ{ïåàÁƒ1=£cMÞP;´ ïØvU=ðDïÓYÌ;Bq……pTíÔÚÒÂûï-á²ËfP__(ŠH’TÚ-ªÚ±çÓ1?ž˜w.9¿ só%æ!¾B†D'G¬|¿‘:¡xD3ì_VŽä6 !qpYCSÙ÷¯rL)F¶Ï/%÷‚ö½SI²%ÇÛÎ6ôꫯrÚi§1þ|ÆŽË /¼À/ùKN=õTþð‡?°`ÁFí“àŒF, à+ñZ[[ @MM ©©© 2€ÆÆF>ÿüs®»îº¸Æ –}&ÒõѪÅŠ½N42¯D&wW`ëþ sikkEQ_.~¯Y–µïPqä0’Áxt§N €ƒÁÕû]'tÒ餡-‰!ó‰ç·h™Ǽ^ õµ¸nv|¸P1šŒØ×Ö! #û$é×àhqR[SH’Ä×_MVVwÝu—vï›nº‰ƒòÚk¯qÚi§ñÎ;ï0gÎoøæ›oX·nv»›n¾™ŸýìgÜvÛmX­V–/_΋ ðõÖ­|²úŠŠ ùàƒùë_çuz—Ϙś‰/ÞñïŠïÇóXã˜Èóv÷n·›‘£Fóî¢wèÓ·²ìAUUÜnŠ¢"{<ÔÚíœþ¸\.¿vÈKaQŸºšŒÌL¾Ç2ë:餓NÇZ[šÉËÏG’$c¿lú%êó/.@U,V+ÇcµÙãâðáÔ,ÇhôKO~&Ÿ}\U¿jÔ—@$)ÉÆÀƒ°X,”——c±Xü ²ŠA’سg/EEEìÙSž={1b}úöAUÖ|ö-Í-´´43lØpHeekÖ¬aü™gR_€,{Ø´i••Uœyæxróòp»Üt¢¾¼NÇ‹¯_—$‰ºº:jkk5¬TÀ Iµ«ü§ª*¢(ÒÒÒBsS£>–:é¤ÓA8Çf³‘ž‘ ¨ìÛ»ç(CGQ †ãÚQRwªªª9µBÉ‚$IÒxƒÁ€ÇãÑÎx<ʨʲŒ(Š˜L&Ün·–:Ôd2!Š¢vLйùÉÁßE)h.ùæ…/Ý«7(:"T ºº]'tú±0uEXöî) R¹ -ÍÍÄH}ò¨"ºø:æ:æÇsÝ15þzç?å1Ñç þ’ÑGÇÀkáHdÀb%ð³í¼xøGêO袩JO¸„)Ñîß ü_cQï™hÿD^ŒÎ\Ð1×1?˜û)_ KQ’"Wùq®ÎxoØù«ª*¢$b6™j²'^¯·Ûñ3›Í?9Æ®ªª/ÏFÈûaèÌ ÝA&²`v´ O< ^"y;²ÀGjÿ˜þDZV%:¶Ñ˜Vg%bsóã‰yà¯Çãá`Ùêë29!T$I$''‚î…Ús0“$‰¥¥”ìÞÚÎ êÇ?0Y™Y 1I2ø‚°üsFEêùlËW8]NßÿIlqÀl2qÚðádddú­;ËÐuúžÀë¢üÍ:队,’Ç¡²¤¥g0lÄé?']Að* Û¾þ §«”äTdÙ—=Ó`0pøp9••\~õ5?¹ÔÅßnû†¯¶laô˜±Zþ§ÓÁ–-[˜tÎydøëtüT¨¶¶–Ï>YÅØqã1[,Z¨¹áû\€¹O"‰ò•DºÊf›¨”ò}.ÀÇûuÌuÌæMMœ>r4ÍÍMš³OG¤Að•RV£þ~bȼЯöíÛKæ ìv }ÿ¾}L8ûTUÕŽÿThÈiCÙ±};Š×‹d¶ª«­£°°™™?¹1ÉÎΦ[÷"jkk(,êá¼ÜƒU<±ˆHŽ.±îÑÑ‚±œj"ÕÌ ^hÃK}O™»pÇãyžXÎIñ:Å*7îÚH×ë˜ë˜ÿ˜(ªŠ¢*q×¶o7øÒI{½^ZšPUHNJA ¤ö³NUUhiiDñ*ØlIf_›?à"­¨ª/ó¶þ·À?ÅâBªÿ?ACÐïËñ=‰ í2Sj¸i ~9Ò~‡â"Ù;£Ý#ÑûÅj+RÍÝp6ÅÐ~IJ;Æò¢Œv]¼R±œ“bÝ#f½^Ç\ÇüûÄqG˜YGqˆg¼C½¿uÌuÌOXÌU5¡(Š´45`³%ÓÚÒÌ®íßa6ÙÈÈH'?/—‚ü<²³2INJa_ÉìuµXÍVÚZ[|Ì!Ü}ƒ™¦ª‚¿æƒ¢(Èn÷Qüºämé I›7É‹ _ ©©Icîߎ9Ì“O=AÉž’v¿ÅKáwàù%IЏé“$‰úúú“¶d±$I8\Ú\2¨*å5Ü:}c‡÷åÒóF#ˆŠâ=¡ü<Äp/~¨ê,Ú‡0»éÐGºW¬sCÿ&Ò·h [¤Ý8‰.Ò˜„ª_CÏ þ=\›á®&…Fës<8…Þ?Öóé˜ë˜ÿ˜k˜P©’ðǧ²W9|è0§ôé‹ÛÑFc}½¶?hkm£µ¥™â~}©«±ãp8DÁ' ‚$¡î…/%¶G–9t°Œ¦¦&JKKq{’$QU×ÄE÷¾BmC+&ƒDÉáv”ÙÙº·Çþy*Šb»q ÞÔ ƒJœvEÿ"ˆK’ |ýï#]MR wm¬ÚáÑú¯tHMñhcªv g£Œ6vÑž3ÒïñŒk¤ÇŠÖ1×1?0§“ ´âU°Z“8tàY9¹ÔUUáñx¨®¬¤¼ü0å‡Ê1ÔÖÔPv`¿ÆÜ$Iâ˰Ùlt뎪ª$%%Ñ`·3üôQõè‰ÛíÆd2a2™»`±ŽaIãÏ`4é×oåå‡éÕ³Ï=ÿ õ õ8p€—þ±€A°sç&Ÿw¾&qÍ=÷ÜÃ9çœÃÔ©Syá…0 x½^ määd’““±X,Ú±ÔÔT\.W_}5Š¢ Šb»k>ýôS>üðCÊÊʨ¨¨Ðú8/ð¾¾ †i‘ºNãçÛ  >ûº”G__Ç ÞÝùjW9ßî«àHm3{Êë9XÕHa†DŠÕ„¢ªXÌ&öíÛÇ•W^ÉYgÅï~÷;Ün7’$qíµ×b6›)++㢋.Ân·×çÓât)sóÊ)®ì• :SQ½˜ÍRÒ2HOK§NöÒÚÚFrZùùùˆ‚€€@Õá#ddf’œœŠ¢ª˜Lð{Û¬6sÑÔì` ì.ÝAffªê«=íõzéÙ«Ý {ðõæ/ñ*^ì¿¶e+CTüá~7¶²,séôKq¼ÕÆÞ}{éÖ­{ò $Q¤ø”Søvûwœ=ñlÆÛíÖæÂܹs5jO<ñË—/ÀétrÇwžžÎã?ŽÑhäå—_æ½÷Þãæ›oæšk®Áãñ`6›ùûßÿÎÃ?LKK wÞy'.—‹gŸ}–””ŠŠŠ˜={6?ü0………ˆ¢Hmm-wß}7III<õÔSȲÌ_ÿúWZ[[9tèvmlkqd O‡ÕÕ‚€ÉhäÕ¾dãž:.‚×É—ß•±ëP=Ó& TÎ\À…c°~ë^ÚNî¹çž{î9ŠŠŠxöÙgùë_ÿÊ<€Ãá ¥¥…믿ž%K–­aÐyk”›¡Çóâ…Ú# j< hèµáäxÒFFRÆj/ÖbN2‹5.ñ€íŽiGÚ½è]žoÚNsóï óÐ\UUÔ,|²,c4š0[ÍtëÕE„ÂÂ"_È—¢W×+“•“ƒÑhÀâµáq˘Œ& å‡ÒÒÒŒ×ëEÀçHæ‘=´µ¶RЭmmm‘œ’JaQ¾X÷9NŒÑ`äÛo¾fèðÓq»]‰gó ü_HܯÁãñpíÕ×ñ΢ÿ°{Ïn²³³@…òÇ9gÒ9L>ï|Ünw;[ö…^ÈSO=Mii)}úôáÊ+¯àÎ;ïäöÛï8Ú#U¥¥¥…åË—sÉ%—pùå—k}xÿý÷yøá‡™5ksçÎÅh42kÖ,þñàv»1›Íìܹ“1cÆpÏ=÷ð /°oß>fÏžÍ3Ï<ÃSO=Eii)[¶láW¿úo¼ñ.—«½?Ò]ä·!‰m.™§ÿ³Žš6Ó‡ dÏáF²RŒŒTŒÕ& ’MÅ…Ùlßw³ÑÇ>÷ìÙCß¾})**Âétò«_ýгÏ>›x€M›6qï½÷²zõj$IÂãñt™?A8wLC"7±&X,/áxSB†ªâ"-˜‘=u#/8ñ¤gL¢¥µÈGJ5Ž9þ%º°ë˜ë˜Ÿ˜·cP²§C‹_°]Ùëõú3°µcš×²Ñ„,Ë‚€,{ñ"c2ñxܘ-òò eÙïØe×¼µ=žÀ52õö:jª«‘eÙŸŠSÅh2ÑÜÜ”°šªª¾>F`_^¯ŒÇãŽ8EQàôÓÏ`ÆuH¢€ ˆ4773lèpdÙƒ,{´k].'ãǧ_¿¾lÙ²…ï¾ÛÁ7ÞÈ«¯¾Ê?~^¯/¶Ûáppë­· Iƒ¦¶¶Uõ…K™L&>üð¿Øívš››hmm ªª’·Þz‹—_~™¹sçrÿý÷³téRìv;$%%pÞyç‘––ÆÙgŸÍ_þòÜn7ƒoüêùpÌ\QÅ‹ÇãîC7ؾ﫾:È5Ó&Qz¤‘T«È¡ZÕ†6RÌ)‘T‹HQ^:³“AD–=x½2.—³Ý:;³ÙL}}=‡¢wïb\þŒvÖ&H¢ÖF—«Ü£íУ…HDJŠ´‡_\¢«_ƒó#wFý¯4Iíú5šdN:íl±sós­ŠÒá_UUDP/Í $%Ù°X,(þûVWVÒ·?û>oíÓÏÌÊÒ˜q ÜJUüzAŽ]¾k!#3“a§ŸÅj¥¶ºšÖ–fŸú?ÁþûÚQ"è˜TÅv,CP1›-ìÙ»‡ ^ /?Ÿªª*Lf3YYYÌû¿¿ðëYw“••¥mj, Ÿ|²“ÉÄÏ~v!gžy&&œ€ÍfcÏžÜn7ýúõÃë•iii!33 ‡£M§€fàÌ3Ç3þóäåå³råJ?Só…ÈÝtÓ/8㌑ÜÿýœuÖþýïc±Xùøã44Ôãt:üLÜ¥ÝOQ¼"ìÂ% ptUõµÓÙJ¡-m^Îè_ÀwœÅŸßXÏø‘ÃØ_ãdpQ2É ›I É,’lp{¼¼±â[†÷ËGTôïÏþýظñ FÃþð{¦L™ ¨ôë××_ÿ'cÇŽeÁ‚… |*.—«ÓLÝëõ¢¨Jbz¼G4É'ÑÙpçF[´âYd£]{¼b’£Y"1ÉDp‰dŽW ílL²Ž¹ŽyWc~¬9Yí`e9¨«©ÂÑÔDkK 9yyØ»—‚ÂB$ƒ#‡Ñ­°;‡öï÷Ù@zžr ŠâK2“”œ‚ÉlFñz‘¬ì\DQÄfKBE,V+^¯“Ù„,{(îÓ‡¯7‰Çã¦[÷"Íy®#‘hëTÕ· /“Éç”5ÿÅçÉÊÊæðáÃ\táêêùrÓ&ÒÒRyòé¿q×Ì_“––æ ·“e yòɧøýïOFFóç?À»ï.fæÌYdggñØcóèÙ³§_JV(**BEúöí À©§`޼ǸãŽÈ× 5+IDAT_RSSÃ7Þ¨Œ7އz?ü/ùË£x½2sçÎeÆŒËhmmåÎ;ïDúôé£1îþýû·Ó´à—ÂÃûø8ºÒ‰Í_ðœiis2 g6Oÿêþ°ð3ê½®ŽÿnÝEFªM›)63SÇöáÌ¡=hms’‘‘É{ï-áþûà‰'þÆÔ©SøùÏo@U½ôêÕ “ÉÌÒ¥K™5k?þ8™™™îo`cúæ—M¿D}þÅ (Z6¥X*Æ®xÑ£% Ñ÷Ø}èÊÅ=µ²Ž¹ŽùñÆ<ðýë¯63jÌ8Z[š„ÄTî¢$ÑÜTÛåæÈ¡Ã¤¦$㕽tïÕ ü}·X,T<ˆÃáÀér‘–‘FjZ*é9lÛú&“ ‡£Í¯ÔU‘$½N)&3+—ˉÉdÆíva2™5éÒb±bµZq»Ý´µ¶hm%J‡šê* <Õß|ÒôªUŒ3£Ùˆ4&Šªb4xlÞ_ðzeìõvΚp6Ïšˆ ¼¿ô=víÚArr ƒþø MMMZ²—ÔÔ´ví¿¸àE^}åUŠ‹‹53ÂâÅ‹©¯·––FKK ©©iÔ×ÛÉÈȤ¾ÞŽ$IÚ½\.'mmm¤g¤#ø©ÚÚZ5~à<§ÓËå"-- »ÝŽ(Ф§g`·×µ3WØl6þóÖ›œÁÏ´TÀ¢(räðaqƸ]®.±K«€$¿µ‘wוòþ#—Ð-7ÍÇõýsµ­Õ…Û#“žžÁM7ÝÄ¡C‡ÈÉÉÆl¶ÐØØÈáǹï¾ßpÙe—SWW‹$I¤§gÐÜÒŒÒImB@•ÿņ ÿ¿½kÛmÛ¢gÉ%uqjIV}‰]Ç­ƒ(Œ&®Ñ 4íS ä±(ì|@>¨ù¥ í¨Ú4N_Ф%Yr(‘¢¸ÛriR&%R–-Üy0lÁ¤vgÈ™Û,U«ØÜÚ¼þûÕäzºÓÍl®¹.\ïë YázO;¨# ¤Ì¥Ìo’Ìo5 u‚F‡X¬TqÚ>Å{³r±€ T^ƒÕ·<„/JQ[ªcà à8ì|þ•JÕ”oÈ“k«i@QUôz&!è÷Mâ…ä{=¦ù>˜Æ/‘.@bxÙý eX_¿‹?ŽŽðõWßàþö}¾x´g0Àññ1víÂ8A5½ëºh ÿ^U<ÝßÇÓƒƒ „M)EÓh@QUívŠ¢ i4 R Ãh­n^nÝkõSAËh‡ñ™ëº0 pð /»iP)8îž –r÷÷Ï›šß£Ä8‡eÛè[6žý¸ f›8úóoÿÕ¡R M£( (‹(‹h·[xþü× x’qUQ ø)±îïMõù8 ]~±€rêá,ik–јY”â$´¬q^Ä8…’Që*Qæ]CÔ°± DÊ\Êüšeë.‘¬æ\ǃðóLx̘WLéa˜~þv}ËÆÐ€€ƒ+`ÌÃ@lËŠ|¿(U£¬'Ì>›1@I{¦“NˆY[CÒõOêåæÀ‘¥ý(麬í>iz’“Ö’¥¸iZ^Mê–2—2Ÿ‡ÌCé;æ齋æÛgA¥R Åb‹~CðR<á[›èñ_Ñ3ÃÒôÑ—0kn-ÖÛ ³‰÷÷8¥›ÿ õ妭¨Ë§&]›ð±F#Ž/ãÀNÒ¶0ó~’*“*ÃÓ ªI™K™ÏKæ‘ð2ÄwLgý¶5Ž‚®úUïÑÿaÌõ½Ô„{®ç™²I|ýŸÌePT’éö¸oã|ù äNâ3‹¢¸$…r¶Psî=çwêNziÃa4óòÄŠ$)Þ8’¤ÿIÚKRÑTZï. jXÒÚÓ¢†%ñdô³qXÙ£×&]/e.e>O™€¦RôLTÓ/•oœÔÃ>Í ’«¦³³3è=èóü)—Ë0 ÜÛºw~ØÍ)„ ×ëA×ô Ù˜BAÇY÷ €›žˆ`…€kÐóÒÂ4QšÓT<ßÔQšRæRæWÕ¶öÑÖÇxýê/PM»•åeRFŒ1<ÜÝ…eY¯ÇÁg;;øý·—x÷î-òD„t;<øôA´ãsÔ——ñæŸ7xùâô‚ž+¾Ø¶BAGýÃeÿRÆ{è’.ÿ Î* —æ^I¡YIRæ·Æñð÷S«Õ°²ºâUdçêtM‡mgSLYÓõ¾{ü=š .ssÅ–ííO°X©DÆÀ8öö¾DÓhx(}9"MÓ°´T€ÄYg&}VŠL¶0MÏÛË´0I™K™ß™‡×o[ùRЂ,×ò•´_B2ꚦãîÆF.ù7„I<+Ë+«¹ç‰ Ï sá6¡—$I’¤\(pO‹çrïd¤½Nò D0ÙÂvSJ)Z­&ZMš®ç–9’$I’$IÒm¥N§ƒÿš|eå§?IEND®B`‚KCemu-0.5.1/doc/window-audio.png0000644000175000017500000005571112417262523016643 0ustar glaubitzglaubitz‰PNG  IHDR4’mÄ=lsRGB®Îé IDATxÚìÝwxTUþÇñ÷ôLz'…THBEª" "bD,Ø×¶€}›ú[×]ÛŠ»**®º«b£‹Ø@‘Þ‹´€Ô„žL&Óçþþ˜dHoð}=Ož$wîœ{ç–Ï=çÜ2ª]»vQÛãÿœ« „íØ¿þ0IU{˜¶ú?OÍü^˜öÈc²´„íÚS3ÿ«¼:m´7ØTU5´§f~¯<|ÿ½äUÈÒâ¼ÿ¿½¡¦Úµk—7̲ ̲uqž…YQ™™½›—·êýÝú 4ЯNøœOåæ—˜Y·âk^6ZU£É©(Òu&Äù¢¨ÌBAI9[W0bôxÒâBZôþýYÅ,ÿ~]ú  4Ðx^–[jä”g”[îzˆ ›£ÞB¦^›È[ß­ñ?Pï°*Õ_B´“Eål^õ—KT¨«Êøõ`[WÐÿòkéPYÆùV.@N‰M?Î=uR ±ÊYÕkÓ®ó×ÌoÖ;¬êÿ©×&zÿ¦ ‹•µ›v ×ë6¸/?þ²€‘õùômv;«ÖoC«ÕpÅþ¨Tß:¨úÌQ¡þ¸Ü­k]E†QYVÕ>}¾•[¶9ÍMEQ˜~}o~s¤Þqkk/ÍW›ÍÎêÛÑé´\>¨*8.víû’RÝÒ:Ñ!"‹ÕÆÑ¬—bµÛQ£ÂèëC·”düÎË^Q`óÎ=”••Ð¥sc¢N;ÌŽ9ÌW¯L¢Ødáþ.Ån·óÕ+“ûǹ\uùÀÓZ_µwÜ º¦$ãçgÄf·³go_½2‰ «ƒ;þñ—ºä¢ 5uµìv+§]VÕ>[_¹ß._Û¬r®qi‹Ê­^ví÷64¼v¹õš»‘ª ³×¿>ÜàxUÃ_ÿúp“åÍ0ËØ€¯^™D™Ùƽ/Cz.ìÛÿOND·¤Þœ·‰Üü"œN'%EùÜtEWz§DèƒÃå&§ œÿ~÷+Š¢pž…š¢ÀÆm;ùÛÝCIà?‹·qèD.±ÑZ]n©ÉL玞þƒÇ‹ ð÷¥°È^ïöÐÚõUË­ð[V³¾ÜB‡˜8¬Vb=Ó?”]ŒŸ¯ [°ªz@œæ‡W©TÞ2*wæ“c-cÚŒ%u棩r¿_±Î[î´K=|H£Ãë+·ZÓúÑ’½ÿ{Éáz›¥íIIY9]<;òÞ£øôd;Ê+ÇϨã/ïþŒ[ë‹Në Pgçï]CFf!/Í^CV^±áLºª;V»‚E—ÛMÖñò аX­¨ÕjÂBƒIIJ@§Óât8Y½q*•Ša—àv¹  ÂÏÏ—¼ü"*,Vt:- £½µ%»ÝÁÚMÛÑhÔ ­¬mØÖnÜŽV§eèÀ¾ÞÏõóšM\yÙ€F?fv.C{vô†@rL0Û%Fiþ4+,V~;|Œ’RµNÇÀi•V„¿¯‘¢Æþq®w¾G³²)(,Æj³£Ój‰ ¡SR<ºÉõµmûß*T*W]’ÄÔ ý™>qýßZÂBƒœæ©UÌ."Ðß9ùd<â­Ñ©Õ‚ü锇ÑèÃêõ[:¸µgú¿Éäxv.¡ÁA¤÷HkÁº…á—àçãCßônH íôË­=~KÊùä¦ÍXRox6Vn‹kh¯}u€'Ævªwüêÿ?1¶“wüshƒúzcï‘|:†ûñç)—RTfáÉ·~":&£Ñ‡ìÌ£üý‘Qd˜xáã5tKK¡cb'*,V>\º¤„Žè zl»vgpíàd†NìET¨?v‡‹-'˜½t7ÉÉÉìÍð4…\.7¿ìÈd@×ôz [öåp4·„¡7õ":ÜS…E+÷±7;—ˆðP2*ßg±9¹ýù/¹¤O/2öy†•Wع󅯹t`~Y»¹FÓnØ¥ýëýìv‡“‚‚<ž¿s´§ú¾î7®’BbL0å¦ ¬6{³¦Ù£KgòOž`úø>tOŠÀît±ã·\bý5¤Â¢B¾zeV»“[Ÿ[L…ÅFÆþýŒ¿¢ ƒ»_Bx“ÅÎúÝÇ™»"ƒî]Óê µêë+#³ÄøXâb£X¹y;S'ô'1*ˆrsz½ŽN±žƒë¡ãÅ8œNâBU¼R¹\,6² ùø»]œ((cÁ P«TÜúÜ"úõMçàáL®ë˘éÃØñ[.ÿ^°—ÃѼuëVXµãý»Æoâ³7ЧW×sÖ‡vfjhT«I5\nUàÔFõßT¹#‡ bÚŒ%Þ÷ײi3–0rØ FËmqZsúÈÚcZY™‰´„žŽÈ0?îÝ‹íry}î&ºuMÁÇLJý0ùÊntæ-ßCb|<þþžk\|>tIõì8N—‹]{2xîžËHŽ aæÂM¬Ýyœ+û%ðЗàï«çõyÛˆ @£Q³ûp Wîãí'F3¤gGœ.yïg:džð×{.gÊè^Lzv>FÉ1ž&Ô‘Åøúúa±Z‰ ÷œÅ9Q`Âh44«ï²JÆÃÜ=:£žmûsøì‡]\7$…„AXlVÊÊË›œ¦Á 'ûx3¦]…ÃáâÉ·~¢ ´‚»¯M')&ØÛä¬úÌ9…åõz2öेàÃk_¬g×á<®î߉ßéC€QÏG?ì§kjr£ëkÿ±Bü°Z­úy.  èËks6Ö™ïêëKQdRaÍÅÏGÇïÆxš¾‹Vf†©¤ˆ#V'K̤÷Hà£owàp8qºÜnkÍbÚÄD‡úãvîC'é–N·Äp®ú©ãû ÓªùyÛQNZ¸}d×f¯ÛCÙÅ|ðõºwí‚Á ;gÛzõ>)³Õ~ÚeU}ަÊmlZµ_kI¹Í)¯¾r›Ýä¼½d"·¾×ÓóOñ€:ÿ×V]ñ> žÎÍd® Sl0Zš½GòùrÕ~þxû^zp8Ïý÷.7ÁA8œ‚ü=¡c¶ØQ«5õ.‹ÂÂb†öö\Žpõ€d®P³†‘_RV­&º2vÊÃ×Ï—ä˜ÀÊ>¼|ô#6»Î1§ÂËÏ׳ÅBRtRå°ŒFŸÊÚRTµÚ’Á;_.éÝà:S…ÃÇ2™ñðü¼œB“§&–SBdˆÉ1Ál;XHRtp£ÓtØôïÀÎßrIIM£¸¨„ÔŽ¡ÞÚ™N«ñ~æœB‡“A=:°a÷q’SRp¹|}t•Áî@­©»Œ«¯/€/þ6‡ÓMN‰™ 6±ãp)¡¡ÁDV;!`ô1’uìwŒêNzJÂèuo¹Y'ËÐtì:”ǤÝéšNǽ٠MOÀátóù»q¹Ü íßìu»mááaèôÚszòKW­Ùîr{n%Ú¼ug³ÞÛ¿_zemÓS†Z­ÂQy;R}åÖ½,·Å}hUAU_€Õpí¡­¼ÜL—„DÏÙ¬ãÅDF„’]ló†Ú‹ çÅÙk(ññaáÏû˜:¡?Ýx ¯ÏÝÀÑ£™$ÅsÛˆ4¾Û| E "0 €¿åÒ¿k 7\šÊ7kàkô!=¥C{'ðö¢ØlV¢ÃNÕpÎjVŒ¯¯‘ÜÜ|’¢k6/ívÁž~»øAlÜs„«û'’zjò cóÖ5N\Ò·WÍËìvÜv3“®º€¿~ð ;~Ëõ¾>¨GGþ<åR’cBpº\MOÓÇÀáìbRâBÒ3Ž-û¹õªî5.™p»]5>³¿¿›÷žàÒ^qŒìŸÌO[2èÙ)‚)£{‘u²Œ/~ÚKRrr=vj}í;V@RBaa!u¶§Š Ë©éWž¨ªiÍ)E­QqyïÆ]žVÙG ¿?V«ý™ôHޤg§HÊ-vý¼Ÿä”N8Ž®Ûr >Aç<ÐÔ*ÎàÙHªõu5<^SaÙÚr«Â¬OzOïßÕ§ÕX¹-¾l£*´j[SÎåú6WTª†CHpÇsryiöZþ|Ç¥! ZSgÞ«¯¯ýÇ Šˆªwû1›-5NDuˆàãïv2ax7fLI~±™õ{Ž{›®{ŽäÓ1‘@«_åÑ#9ÒÓ_±¿  4jM‹×mNa9‰I‘çüR¥†®kèLdCW%œªñœýrÓ{õð–›Þ«G“Ãë+·Æðª{93O–Ôyñ¡ôI5š’Õ›“ ý®>άsÏé ß½7»ÝA÷®© ïðÒ²2Éô4¿â;LQq yyX¬VO{_§ÃÏ×HRbü©v¿ÓÅñ9”•™pºœhµ:èާü_wíÅérÑ«GW4-¿îÞ‹Ëå¢g÷.èt:~ݵ—ÛMÏ]Ñi=ǔܓùäååãr»ÐëôPPXˆ¢@znh´ž~¡m;<{êÛ»g½ŸùÐᣔ–™ &)1®f ÎfgϾýè´ZzöèÚ¬iZ¬VŽ;ŽÅjE«Õ@aQ Š¢Ð³GtZ÷3W}F—ËEö‰\JKËpº\èu:‚ƒƒˆêÙà5hÕ×W·®©øT[_µíÚÃyj¼ü‚BrOæát:Ñëõ‘—_€¢(ôèÖ½^GNîIzÄù3uBòK*˜ú¯¥tIKC]YmhéºÕjµçü,~Ÿ˾]ÈÍ“nã`va«Êð7XõãWŒºî&JÍÖó²Üª¾Ö÷r6Ö¹Y_ ­¾ÚZíæç¹¾[ [×´zç% €ô^Ýk¼DppP£G•FM\\l£G¦=N]¤ Ð³ÚÿUãôì٭ΰÈÈp"#Ãk”]g¼Þé=]¶II .^WãýÍ™¦Á` 5µSq:vŒ­1NZŸQ¥VÓ±c ;Æ4yoÎúª­{÷šã………ZcœèjwBüºgÃý™rMO>X²¨¨h¨~T ×m{¸¦ªÆ“[TÞêË6òŠLÞ²j_Ѿ”[o íHNQï­¸õ´ø}?GˆsioÆÞ}òBŒä•3où^vešˆ=ÍûYÛ?£:­š¿]H¯AW·ªŒ_7üÀÈënÂátc¶XÏËr=}l°éǹ§íð‰"ÙúÅißþ8 z‘‘á„_0ŸÍ×GN«aù÷‹Zõþ£Çãpº¨¨u½×ùV®¢PûñAòpGqaê’šRkã¿p¶u³ÅFh×›Ôª÷ÛNÌÛy_.xš³hBœç KÊ/úr«úç´] X¼lµlBˆó»&Pà©¡}õÊ$Š ð÷%#„h÷ÊËMÞ¿³gñþ{+©÷bšÅ çÉÒB´{W]ãmsGBˆöÂß? ÞŠ—ZâB!&„@B 4!„h#ZYBˆ3Ábµ—ŸO…µ»ÕŽZ­" 0Èð|¾hBˆöíÀÁßX·i=»öìâdþÉzï8ò|¥c’“HLL$5)…NÉP«Ï|QMÑb[wncÁâdÏB­VãèOL\ >Fí?DPH±ñ±8ì*̘ÊLlز‘u›Ö@Ÿž}èÛ«½zôB¯×K  !ή2Sï}ôÛÝŽ^¯'µ{*¢; Ó{¾Ç\næÐþC„G†[óMn·s¹™’ ò Xµn5¿¬]…^§gЀŒ¼â*’“%Єmïd~/ýëeò ò‰KŒ#)5©Î“{­žg”ýŒuÞ¯V«  0€¸¤8vEEœÈ:Áªµ«Yµv5Ý»tgúSñ÷÷oÕ<ž±Fì‹/½DXxaáüýïÿ8ç ¿j^š;\Ѹm;¶‘_Oç.Ié–RïcÈ-‹'ÐŒ§Ífµa*3QZ\Š¹ÜŒÍjCQtzb:Ðg` ó|E䞌=¬\û˹­¡)ŠÂ¼y§¾ƒsÞüù<ýô_Ú¤ÓOqn””x¾w$2:²Áqªjhù'óÙµuF_#—Ë…ÃáÀf±HbçD‚Cƒñõó%08§ÍÉUÃFœÛ@[³v-YYY$$xžgìØ1V¯^ͰaÃd+âaµ[½MdžØmvT*zƒžðÈp.¿úòzkrn·›ÒâRï—ÿج6ÊJÊyÅUøøø´zÏHjÎÏ·;Mšt3“&Ý\cX{SXOaA¾lB´PÕµd= ÖjµzÏXªTª¿K­VB@ çqeEž¯è×»ïiÍãi×ÐÌf3ß|ý5*•ŠI7{ÂìÕWgðíwßQ^^ÞêÎ=!DûÔX 9ìô>úÿ—–”b­°âry¾‘ÞÇèƒÑÿ@4O ­¤¨µZM—Ô.§5o§]Cûú›o(7›8p‰‰‰$&&2hÐ@Ìf3_ýuƒïkNç|cãäæžäú3}úö#*:†¤äNŒw#K–,iu™ùùùüíoÏséeC‰‹O .>K/ÊóÏÿ‚‚ÙšÅEK«Ñz›‹ ±YmÞïÀ=vè~Ù@Þ‰<Gð:´ÿk—¯ÅRá9‰`*5‹N§;·5´¹•MËÉ“&{‡Mž4™õë70gÎ\n¹å–3¾`ýu&N¤°ðÔ—•:V¯YÃê5kxàû[Uîö;˜<ù–:Á•‘‘AFF_̙Ü/¾ =½—lÝââkrúzšœ.§«Þ×Ýn·çËž žZL| qIqMžt¹\˜ËÍôéÙç´çñ´jhÇgõš5FÆë>vìŒF#k×­#++ëŒ.TSy9wÜy'………ôéÝ›E yì(™Ç޲pÁ|ÒÓ{ñŸÿ¼×ârKKK™2å HOïÅ‚ùó¼åΟ7—ž={——Ç”;î ¬¬L¶nqÑ ñ|™³Íf«÷u§Ã à½ÈV§Ó5ëJ³ÉŒ¢($Å'žÛ@›7o>Š¢0zô5œú.‚€€®»öÚ:—sœ ŸÌþ„¬¬,ºuëÆ×_/aذaøùùáççÇW\Á×K–––Öâr?üè#rrrHKKãë%K¸òÊ+½å>œo¾þš””²³³ùèãeëà¬Õ¾à·vM hñåZ¦2Ïw$žë@›;·ª¹Y÷;ö&Oö ›;ïÌžíüö»oxêÉ'j\¼WÅÏϧž|²Åå.[öxê)üüüê¼îïïÏžzªrÜe²u‹‹6Ðì6{½¯W,¨ê+k®ò2Ï×Ú%ÄÇŸö<¶ºmË–-lØ0¢££9tè0›7o¦ÿþgd¡î߀Áƒ78Î¥—iq¹hò½U¯U̓“àà O“Ójkt¼ªïÈp»ÜœÈ:ÁÉœ“”—JÇÄŽ„G†{DZTXðÀÇP÷ú³‚¢üýüë}íŒÖЪ®3›0aB½‰¬V«¹yâÄãž &“§zÒp[?4´MË­Wˆ‹‰N«#00 É@«ât:Ù¾i;£ôþétïݼœ<eòŽgµX  ÷6[÷È`î—óyö…¿òççžfûÎm[C³Ùl|¹x1o½ý6o½ýv£ã¹x1/¾ø‚÷tnsF}üýý)))¡¤¤„ðððzÇ)**jñg  ¤¤„ââb""꿬£¸¸Ø;®£Ðà0ò ó§ê²Ž#ŽÞ?~ƒû±eí’Ó’é3¨‹?[L^n‘Q‘ž@ c΂¹¬Xó3¡áôê™Î­o!µSJ‹š°­ª¡-]ºÔ{_Ws”––²téÒêú¿:cxèСz‡wéâéð_·n]ƒÓ[·n}‹?SJJJ“å®Y³€ÔÔTÙ²ÅE)6*† s…÷@íVYU Y-VŠ‹Šé;°/‡2±~¥gŸ\·bŠ[áŠk® ëHN§·ÛM`@ ½Ó{3ãï¯òÂÿýƒI7N¤kj—÷ǵ*ÐæTž xù¥½·5ôóòK/ÖxO•ªû>W®\Yï4þýï×ë~íèk˜ñÚ¿°Zëžm±X,Ìxíµ¦k®À«3^ó>1 :³Ùì-·j\!.º@‹‰ Â\Q絪¾3·ÛM~n>:Ž•ËVòí‚o½µ¶ßöýÆÿÞü?}ó¥Å¥XÌoË«KJ§Ùúiq ååå±bÅÏèt:ÆßäøãÇG§Ó±bÅÏäååÕ ?þéÏ|÷ý÷˜Íf¬V+Û¶oçž{ïeþ‚õ–wÇSˆeÏž=Œ;ŽU«Wc6›1›Íü²j7Ü0†}ûöµxAÜuçDuèÀ¾}û¸aÌX~ùåo¹+W®ä†1cØ¿?ÑÑÑÜuç²e‹‹RLT´§âPQ÷ _u•¿ÓáÄ\n¦¸°˜›vàr¹jÜ]`.7s"ëà¹5 ÀßÏ»Ý΂% yçƒYüí•ç™úÔtf¼Ù²ÊI‹ûÐ,XˆÓédô5×Öäøaaa\5bß/]ÊÂ…‹x衘>m_}µ„#GŽ0eÊuÞ÷è#ðúoÔÛ×5ûã™0q"[·nåÆë†êý÷ÿŽ÷Þ{¿EŸ+88˜Ù³?fò-·²}ûvÆß4¡Î8ááá|òÉleË¥¸¸8Às«RdTÍÇ©5jT*N‡“¤Ô$*ÌÜrß-|úŸO)/+÷^Öq݄눊bÎç Õy"H¯×c·Û±Z­¤÷èExXáá·m ­ªéXõTæð>£Z³3((ˆ¥ßÇ}÷ÝG\\:Ž†ΧŸ~³Ï>Ó`y½{§³zÕ/Ü{Ï=5Þ;lØ0>xÿ}^zñÅV­¬~ýú±fõ*¦þþ÷¤¦¦b41¤¦¦2mêTÖ¬^EŸÞ½e«­ð5úRVRß·N§Ãápàëç‹Á` óp&ãoOJ·o ÎègdýÊõÄ%ÅÕè‹ó÷÷çö›oãÒA—’–’JhHh‹/ÒUM{øAåÍ·gQTXPYh‹ÎãªQ£eí !êxáµ—8pðCG­qÍÀÆUQ©U ¸l6«í·ÓoH?zõë…Ãá`öÛ³±Z­tˆî@÷>Ý)*(bǦÜuë,úz1)RèÙ­;Ý»v'&*¦Áy¨SÙdzxÿ½÷ä;„-Ó)!™½{).(&4¢æ5Ÿzƒ³É xžZÛwP_Žþv”Í«7ãv»Ñéu„E„Ñ5½+pꮕJÍ+{™={ؽo7ß,û·ÛMŸž½¹ë¶;›]S“@B´HlŒ§æ´cóÂ#Ãé˜Ø‘°T*>FŠ ‹q»Ý¨Õjô=)ÝRHé–RoYU7´[¬Üƒû{¾_ ÷d.Dz2[Ôì”@B´ÈУ¢‹ IDAT!C‰ŒèÀ?ÿÀæm[(È+À?ПÎi1øx.ž·Ym}OÝkív¹1•™0•™0›Ì”›Ê©(¯ÀáðœåT¡ª3¨QDuˆjѼI  !Z,-%•´”TŠŠ‹øiår–-ÿ›wàèyBµ¹ÜŒ©ÌDÁÉŠ Šëþl6’“éÝ£7é={tÖæCMqÆôíÕ‡¾½úœ³éË7 !.hB 4!„@Bˆ6ÒàIy*«â<´òrÏóò/œ'KGqþ×Юºúìv;‡£Ñ¯}B´-µZV§«ñ}Š¢àv»P\nÜ•ÏkK*•çÆ$•FZ­ñ>a£½ÌG“Va±pøÐA6oÞHΉÙª„¨G||B›–¯Ñh&-­ ±ãÐô¸œNŽge±wÏŠŠ‹Úüsj4j‚HëÚ…„„D´•Ï5kóQ;ÔêšÃn';û8¿¬ü™#Gß⇬ q1X8.Ó}¼ÍÊw¹\>|ˆ5«~!(4˜è X,äæå²}Ç6†]1œÄ¤ä‘HkæãСßX³ê4Z qq ¨Tªv1Z­¶ñ@³Ûí¬[³†Q×\Ç€Aƒd«âÑh4¤¤¤¢Ukظa=nN¢Âdb׎_¹âÊ«HîÔé¬ÍGjjtë×®!*2 N×.æ£v Õ©z¹ÝnrssˆŽ‰‘-Jˆv c|j“›Ó…8MÊY8Ãמ§Ûž>¿šˆE_.dÞü¹ ¾>õái <äœÔªÎ 4!.óæÏeòä1DF†×y-/¯€·Þ™ Àe— •@B´‘‘áìÛ÷ká]»ö"4ć·Þ™é ¶†Œºúî¾ëžÓž—œœÌþd6åfW^1‚áWotüí;¶ñÅœÏ ðàæ›'“–š&&ÄÙTÕAÞž¦[Vf®3lãÆõ\=êê&Ë=z4‹e?,å®;ï>íùøîûï#1)ZFQQ!7ŸPï¸6n`ÎÜÏ4h»ƒO>ù˜¿?ÿ‚š;³ÙÀ‰…™ª…Ú¾FßÀÕW_Ɇ ÛÏÈ|”••áàGii)={ödËÖ-uB­*̈ÉT†Ÿ¯?:½^šœBˆSŠŠLÌ›³ Ùãß[úÚ¬Y³ˆgÖ¬YõŽÛm·Õ»AÔ.+##ƒ)S¦ššJjj*S¦L!##£ÙóÖV¬XÁM7ÝDRRÝ»w硇"77WR¡Í®ú~–.]ÊÒ¥KO{œæL³¡f`qqa“?UÜn÷iÏGÕOÇŽ™>íQ6oÙŒÁàCIi ݺvcó–M,X8Ÿõë×ñùœÏè×·¥%%}ýذa“n¾…ž={µh>Zh«V­âòË/?ëLíéfgg“ÍÖ­[2dS§Nmóyp»ÝÌž=›çž{ŽO>ù¤Þ§óÑG5ÑGq”I“&1jÔ(¶nÝÊÖ­[5j“&MâèÑ£çl§œ5k÷Ýw;wîdãÆtíÚ•ûï¿_Òê4½ÿþûL˜0eË–Õûú²e˘0aï¿ÿþ W·ÛÓéòÛ±cG“?m¥s§ÎLŸö(Û¶mE¯7PRZL—´.lÚ¼‘Ͼø”¾}úRZV‚ÑèËæM›¸eòm Øú[.[hUµ‡ªšRõZÅìÙ³œM›61oÞ<.»ì2¸úê«kÔFbccyçwHOO§sçÎ<þøãØíöfi@@=ôP£5´3åçŸ&((ˆ{V®\Ygœ—^z‰?üƒ6XÎk¯½Æ<Àí·ßN@@Ü~ûí<ðÀüë_ÿjÖ¼´Årž?>£G&00î¿ÿ~vïÞ-‰tš>ýôS† Vo¨U…Ù°aÃøôÓOÏX˜¹œnÜîSÖ»wï&¼ÐwU…ÚÎ;Ðë}(.)&55•>½ûPZZ‚‘-[·pËä[O+ÌZh‡ƒÍ›7sÙe—‘]£¦TÝêÕ«Y¸p!ûöícܸqL™2…åË—3oÞ<222¸þúëyê©§jv nØÀòåËÙ°aùùù¼úê«õN·6“ÉÄ;ï¼C÷îÝÛ|Ãü裸ûnÏ™Ÿ;3?ü°Î8¼òÊ+LŸ>§ÓYo9«W¯füøñu†?žÕ«W7{~Îôr®®¢¢‚>ø Þe.ZÆÇLJ xCíý÷ßçÈ‘#ÞšÛ°aÃX°`>>>§=-•J…J¥Â­¸q»•V×Ðê{ÎØ™ µ;wàããCnnÙ'²ññ1²}û6n»åv |ÚÓiöI-[¶Ð¹sgïŸÿü'!!!üîw¿ã•W^áå—_®1ìµ×^«ñžçŸžððpïß'Näé§ŸnpºÕk…‘‘‘,Y²¤Ñ¾§Úê‡psúªŽ;ÆÎ;ùàƒ;v,ÿøÇ?ÈÌÌ$>>¾Æ¸ƒfÈ!̘1ƒ?ýéOõtÔy?kuááá5ÿ™Rgz9×^ááá|õÕW’HMp: ¼NÕzT|þùgLž| ?ü°wøÈ‘#ùüóÏP«UØí¶M×årÖ;]•J…Óé¬ÑÏT½Ö\ÍŸ†æ£>'Nœ@«VãöÞ‡©àp:1|ÈÌʤoß¾g/КÛVµCÆz‡Õ^qqq5þÎÏÏotºÙÙÙ(ŠBff&O<ñ»wïö–Q»ÆXCáÖPΞ=›ÂÂB’““kŒ3{ölžyæ™:ïýãÿȘ1c>|8 ¨³| ˆŠŠª1¼  €ÐÐÐf¯¸3½œ«/“ÉÄÿû_üq-Z$©Õh3¯y÷2 ¾øâsn¹åV~üñGFŽÉ_|ŽÁ`hՙů¦ë 4ÏßV«…z ÙåÎû5wÝs'¯¼ôO"##ÏÈç߸qóÎ'¥s Å%Å¡( &S ¬ß°P;fÜÙ ´gŸ}¶M6Ь¬,+Crüøñ5˜†¦«R©HHH`æÌ™\{íµ :ÿ3>o6›ùóç³aÆ™™émÖU<2xžðÆopÿý÷óÍ7ßÔxí²Ë.cÑ¢E5ŽÔ‹-jó&^c˹vßäƒ>Èo¼!‰Õt´4; Ÿþÿþ÷¿yì±ÇZfõM÷Ã>Äårñæ›ÿ«6Ó}„ëF_M¿Kzb·—c±Úq»]ž¾6·»²ÏÍ…ÛåÂá°ãcôÅ\î`á¢oÑh4͘¿¦?ÿ†˜¿`’“))-ÁßÏŸŒŒ ÜŠBçN(+3ÇÚukQ;flÛZii)‡â’K.©Ñ_tèÐ!:‡»=÷ÜsÞæÑ_ÿúWn¼ñƧ[[tt4ýû÷gñâÅÜ~ûíg|sýꫯèÓ§O0ˆ'==%K–0qâÄ:﫺£v îñÇçÆo$00±cÇz§ñî»ï²xñâ磩šæé,g€Gy„©S§’””DQQ³fÍ¢_¿~’Wg¨†V=Ôªº"N皯ڗ/lܸ‘gž™†N«C¸OX)n»ÝNQQ.N— ‡Ã‰Ûå®ìg« 4— —ËÃnG£ÑQRZŠËånV 5uÅÆMž0‹O¤´¬__>ÄÍ'Î;³Þ&>.“ÉDÇŽY»n5 0æ†Ö…Z³N ¬Y³†Ôx:äC=ÄèÑ£ÏÈõR `øðá 8ogv}Ó­Ïm·ÝvFÎÕç£>âÎ;ï¬÷µ;ÑË4î¹çž:ͺN:1wî\–.]Jß¾}éÛ·/ßÿ=sæÌ©Ó¤=ÓZÎUý9=ô:ubäÈ‘óî»ïJb5³¦ÔÖ? iÕZ£ÂårSf*¡¨¤€’’"Š+LåeØívœN'»»Ý†ÝnÇf·c·UþØíXmv\n7fsþÞ@kÉ|TÿÉÈØÏÜys‰‰‰¥¬¬½Þ‡#GŽ0~ÜxúôîMlL,¿»ï~ŽeC£ÑR^n":*†ÕkÖ°âçå­º­Y5´úú±¦OŸÎôéÓ›ìjΰ‡~¸N¬±þ³Ú† ưaÃZÔGÖÜ×¾ûî»Ç9r$#GŽl°,•JÅgŸ}Vgx×®]› àÚåUÿÿL/g€ë¯¿žë¯¿^òé4kJ窩ëë뇢(X­6ÅSëòÔЪjvía>š 4µZMTT49'NWëÆk!DM–ŠŠ6ŸFQa!¡¡a(n7* ((„¬c™Dvˆ<«Ÿµ¨°PO µ“ù¨“_µèt:.½l(Ë–~ËýÞ³Bˆú›emõãtºÈÍÍeÆõ 2«Í†J£¡{¯îlܸŽÜÜ\œNW›ß¥P}>ºtíŠN§o7óÑd Mo0ϵ×]Ï7KsòäI 5!êŸÀÜ/>o³ò5 !!! ¹ô2bbâ0—›P«ÕÄDÅbïagçö픕•¶ùþ©Ñh ¦{÷î„G„¡7P©Tíb>š 4£]ºu£gzï6y‚¥›ÍŠÁàÓ¦ÓPÜnlv;ær“·‰¥ÕéHJN&66—ËÕæ·_Uõ™iµZ >Fo&´—ùh2ÐEÁfµa³Úd«¢±P;KûHõþ"ÏN­CÛÄmIgcžÚÃ|T'Õ/!Ä£N -4,\–Ê9<⵺ʮRÕ¸÷í´Êº–W+ËRUÞ4ÔÞæëbUTX 5´öê´6ÜZï½v‚3ù›[VSav®æKH  !$ЄBM!$ЄBM!&„hB!&„hB!&„@B 4!„@B 4!„šBH  !„šBH  !„šBM!$ЄBM!$ЄhB!&„hB!&„hB 4!„@B 4!„@BH  !„šBH  !„šBH  !$ЄBM!$ЄBM!&„hB!&„hB!&„@B 4!„@B 4!„šBH  !„šBH  !„šBM!$ЄBM!$ЄhB!&„hB!&„hB 4!„@B 4!„@B 4!„šBH  !„šBH  !$ЄBM!$ЄBM!$ЄhB!&„hB!&„@B 4!„@B 4!„@BH  !„šBH  !„šBM!$ЄBM!$ЄBM!&„hB!&„hB 4!„@B 4!„@B 4!„šBH  !„šBH  !$ЄBM!$ЄBM!$ЄhB!&„hB!&„@B 4!„@B 4!„@BH  !„šBH  !D» 4•J%e]eÉ6!eI aŠ¢HYo­m6_íu=ž“@F%ÛýÅhÃŽBjhB!&„hB 4!„@»HÈ)ú cÙËg”@“D–—,{Ùî%ÐÄùE®…hÉ*Gv©% 4!„È%ЄìBjÇhm´beg—å%Ë^MÂQÙV%ÐÄù½#È@jhhBv!$ÐD{«UI8J“SM©ËÁDMH-A–—49…Bíâ«ÆËòRÛ“@“{‘./ G90I ÉŠ•pBMv*!¤É)DÕh¥v,- 4Y±Ì‘]jÇBM©UÉÁDMj R£•mUjhBÈN%& 4Y±B 4©qÑÆ_éC“D9øJ ÉF"D{;øJšR£•¹šì B–½„šT ´ ¡Æq1ô—HŸ,/ 4!„@BH ]àÚëÓ#.†²ÚëzhBH 4qñ’Ë6ä &;•,/!$Ðä¨×Þ–—,{9˜H  ÙAå`" 4ÑÞBHjhr0‘@“+„@“ZB{[^r0‘í^MH“S–½L$Ф– !$Ë^šœBÈ@H  ©%!&;¨ÔЄ,{ 4q~d•ƒ¯š¸`j ²ƒJ8J  Ùä`"$Ðd#‘å%“‹i=ÊI!d»—@“‡²­J É‘J–—&§šõ„hB&BMªñB 4©%9˜ 4Ù©.ü€Ld»—@ÌŽ i™H ÉŠB&hRKBjh²be¾¤F{Á-{©¡ ! GÙV%ЄTœ}ÚÚŠ d©œ òAÖ]«ä7kÛ/$Ÿ" ÎHYBjhB!&„@B 4!„@BˆVªs–sßÞݲT„ç…®Ýz4hƒ† •¥$„8/”–7hµGBˆó…ô¡ !$ЄBM!Úˆ¶Þ¡Š‚ÝnÇápàv»e)Í#ŒZV§Ã`0ÈÂâLZ…ÅBöñ,öìÞE~~¾,¥³D£ÑJž½ˆ‹KÀÇè#O”âtÍa·“Ÿw’-[6Ó£{zõLG¥–'¼ž *• ³ÅÂæÍ›&0(›Í& FˆÖšÝngçöíôꕎÑèƒV«E­–®¶³%HÀ%ý°níZnr‡š-P'©Ün7…øèõè4ZôZ<úz^~Ÿ¥ßþþäËDˆ–¶r¦=ü òæÛ³¼¤3••1ç‹Ï1â*tz>öïÎzG–ÔY¶øËE<ñ‡?QVZ* Cˆ&dÏâý÷Þkø² EQ@·g¾‰¢(òs~|è÷Þ¿…g ­v¨=Î/kW±c×NòóóqºD„GÐ5¥+— ¹”®i]åëϰ²²2 )-+Ãa·ƒz½ÿBÃà ’eÞÚ@S…·Þ|ý¬ïdG3±qË&2~ÛOQI1n·› À@R’;Ó¿Ï%tIM» û—ž:wÞšy΃ìí÷ßaÓ–ÍÄ%Ç“Cj|*j³ÉÌöŒí,üzq±™úÀTz÷L—½è4™L&>ŒÅjÅ×hÄh0àïç‡ pº\˜-ì/@¯Ó‘˜”DHHˆ,´ÖÔЦN„wÞ>;5´Ì¬L>žó)û;@RjÑÉÑ$&£R©¨0Wp4+“•3WÂ]·ÞAÏZ9ïkhç8ÌÖoÚÀs/þNÝ:qÛÔÛ ¨w¼¡vÛÖnã©§ÿÀÝSîâÖ‰·ÈžÔJ99¹9z„À€b¢£Qת?__”à`L&û÷Ó1&†¸øxYx-orÂÌ7ÎN mÝÆõÌúß{tíÝ•;½_Ÿ:ãtëÓ §ÃÉÎ;yåõŒ»n 7¹ñ‚Y¿Ÿ6·g¾yN¦½mÇ6ž{á9.¿n©=SW§×1ðÊ$¤$ðùÜÏÑh4L³ìM-”ŸŸÏ±ÌcDFDàÓÄ!* 0 £9¹'Q©ÕtìØñ¼ýì?-ûž«F>»MN…©Óåí·Úv'Û²cï~ø>Wßt5IiIÞé¯X²‚Ã|ª¦ ÕiéwY?:'ðíœoP«ÕŒ»nL«¦Û3½»vno7+ù­7ß8'}hÅ¥%<û¿rÅ Wb1[øðÕÿ5k>»$qýí7ðÑÇѽK7z\`5æ¶dµZ9xè‘ôúf¿O§ÓÎñãÇ $00ð¼]¡aágüëþ¯¡¡ðæëÿnÓ¬ ¨w>x—k&^C|çSÕh»ÍÎÞí{ÉØ™ÁÜQ§ùÎØ)ã˜ÿÁ|R;¥Ð5­K«¦ßžÎ(N›þ3ß|ã¬O÷£O>¢s·NtîÞ™_ûï{´”ÆkiN§“‡ý=ƒ†bðÈ!¼ñ÷ÆêtZ—••ñò+¯ðý÷ßsâDþþþ <˜ûw—_~9aá\\·Ø9r„ €€…™w§Õj áÈáä÷î]oíÇ;®FC`p0©]ºâïpñ69=—ÀôGc曯·Ù Ìýr>Ý/é^#̪뒚Æâ¾dÜ7Ö¨©‡sÅuWðñœOxñÙ¿×Ù™ÒûôóþíïïÏÁƒøËŸÿT£Sµ=Ú›oœý0…E…|÷Ã÷L™>ÅT‰ñ‰¤¥¤5ëý.—‹.½»°cÝ6mÙÌÀþj¼~ï}÷‘”˜Äâ/Ó±c,Å%%¬Y½†3^óÚŦ¢¢‚ÒÒRbcbZ]†Ÿ¯/e¥e×{’àæ[=ëÓn·spûöìaÐKq¹\ô²mòTá¯ÿ«Í&ž›w’Í[·ÐgHŸÇyà®ûèÙ­'‹?þS‰©Îë»w¦ÂjaÛ¯õ7wnßÊÎí[ùú«/Ñéõ<ÿÚíʘöÈ£g}šk7¬#:.£Ÿ±Õe¨T*RX±úç:¯­Y³–¿þõÿHHˆG£ÑƸqcY²ä+oí¬êwÕß6›G{ŒÄ¤d“’yì±ÇkÜÁ›3g’Ö¥+ãâ™6}:6»ý¼Øé 1¨T*, ¦òrŠKJ0›Í¸…’ÒRò 0™NmïV›‚ÂB ±Z­}68¢ÂÊMeDFEa*+Å?ÀS!p»Ýôæòr.~׎¹•J…ç€wø·ß°ÙlŒ5šÑ×Ååt‘•y´Æ4-V — ÎM“o#4,œÃâ°Û1êZF]{å&ÓÙ´ªëÐÞø×kmh{öï%*.ªY}\÷M¹›>=ÓYôÑ"ÊŠk®Ä˜øö<Ðh yþ¯9¬úßÓy”[oÌŠŸ~`ùËHHˆgÆkÿBQî½÷nþóÞû¸\.ïøï¾÷>·Þ2ùŒ.éüåé§)))i´¼…‹ñâ‹/NDD/¿ô -ª1NÕëááá¼øâ ,X¸ð¼4‡ÃŽF£ñn*µš˜èh v› £F£VKyy9ååå¨T*b¢£éKd¤ç¤Öh°ÛõNcÞçÚèžPkIDATŸðÓ²ïùeÅOdϤÿ€A8+ka'²Ó«w©0—Ÿ@Nv6~¾~ž–Ó‰ôêÝ—€€@,f’’PkÿÔ;Ì`Ðóà¿c츛p8ìô¿¤F£ß}÷£F]MVVëÖ­çñyÓëfkÍxõå3Z^sœ©xz.t®ÄAAA<ûì3<ûì3(ŠÂÁƒyûw¸çÞûX´pAƒååçç“àý?!!¡Î³ùâ«]‹O^^ÞùÙ‘­Ñ Õjq8<áTÕüÓëõh4\.*•Ê‚͹Wàæ[§ ( æòr6o\OE…Vãmί\þcÍ– 70›Ë±Ùl„„†Qn2y· ³¹²OÎFpH(å&Š¢àc4b³ZÑ TT˜+›Â¾yÌv[Õ{ʼï9''Pfüó•6«1¸\Î&oåP¨Ycéëy¯ÓU£ÙÙPÿ€A—zBÏÏúó§?>Uc¼ª¿ݵ‹·ÞžÅ°X¬Þr«^¿ûÎ;xëíY\uÕþóÞL¹ýV Ã]6O<ù^›ñϳº3E„‡c6™O»³ÉLHhh“}m)))¼ôâ‹M¥#""ÈÌÌ$)Ésϱcǯ1Nõ׳²²ˆˆˆ8/L§7ÔèwªÚ~õjµÅíÆ ×c³Ûq:FÌf3ùh4Ôj5ÁAA¸].ôº†/T(.òô¯uéÖÍ×3tØ••Aiàªk®Å××·Þ÷ ,¸ÝuO èõ,–S¯Y*,ètú:wî(Õ”zCÕ{<Ã,˹;)ðäþØf ¥ÜTÞìñW¬ZÉÜÅ ×xÂ:„ÕØ™üëo6m\¿†ë×°â§e¼üâ?m`§ûËÓÿÇÄ 7ñÍ’ÅlX·š?-«VC‡^†V§ãíwÞe×î=Ü8nì_g;ÌzvëIþ‰Ó¿d"'+§Þ;7ÆŒËâÅ_‘ŸŸËå";;›¿=ÿ<—ôëW£wðàÁï»ñÆqüå/OSPP@AAþË_?¾æEÔÏ<ó¬·£üé§ŸaÂM7ˆ½ò†·?M£Væé?+.Æj³a4ñ÷ó# ‹ÕJ¹Ùì @›ÝN@PP“Ó3 SXP*ãâØºi'ŽgQŸÇ±£‡ùå矼ׄEÅIJ}ë&l6‡ƒû¼euˆŽbÇÖ-8l6öï#*:ºÑš~TT4;·mõ¾ç·ýûÎA )žÚÑ«¯¼Üf}hÉ Iägç7Ù‡¦( ËWýÌÜÅ ¸áÖˆMüÿöÎ=.ê*ïãï¹Ï0\…á6ÃE¹( ­&¢¶¢¶ÚfVš–™k—íº=…æµµ}•Kæ¥íÙËãSk¶v[³²Ú¶'µd•‹¨J†‰  r`æò{þ)BÑA¡ó~½æ5óšß9¿ß™ïwÎçwÎ÷\~Ævi¾/ûžˆƒºŒ¡]ê¸ÕjE­V£V«)?}š´U«;ÄÛ˜7—-o½Í÷ÿ¥RyÕí±`á¢^¡KKù©r¬–žo$)I§¾=EʸñŽ=óÌB>øðC’F'ldÊ-¿¦±±‘¿ýíõ¶4ÿñ»ß1aâ¤v£œÏ._ŽÁß@BâHGÈòeËÚ{TÒ(ÆŒËðá#ð0€¥K—ô AóõõÅb± IÞ^^øþè&«Óé0‚)8w}Klj€¡&¡&^­“i-–­ÖNm‚Ÿ8ŽF£!là ¼¼}8tp?»wíàë#‡ j‰ÎMÏ¾Ì 2÷¤£Õépk-GDD*•šÌ=édïý7Z–_ŒH ¹¹óÿÏ È( {Ó¿"'+ßkÐå¤eÚÂÅKX»Æ5£G ÃGðù—_à°;Úú÷©-ìú÷n¶n߯´9Óës+),áŽÉ·]Tº‡ Ç—/]Ìúõ¯²dér s;wµË/“Ë 1ñë[¦¸DtÖ¬^ÕëóÐü þ¤Ü4ž¼Ìßµƒé÷O¿¨˜Õ×Õóåö/yhμvü«ÓéäÓ~FYY9RÆ»ì:k^J»&+ü|ýxvÑ2^Xµ’‰wNbDòœg—þfk3où˜»î¼‹„ B¥.­VKDD'Š‹ñóõírqúšm6ªÎž%$$aÈnÇÐZi/­Jã .W¼ü þÌ™yÿ|ûŸœùîLÛµU*UKPyδ13€Úóµls;É7&;t˜KË8ö—Øüæ–-[ŒL.wÙužY¼”fËõ.c’Æúd*_lû‚üì|4Z ž>ž}¹{ºS\XÌo|ÀÔ›oåûîïõòö‡µŸƒááT=KMm-ÎKÜÌ$I¢¶®ŽÊÊJŒÁÁF¡^—ÕBkÙ›ÅK–±zUšK 1*a$‹…m[>"~L<ÃGG¥V1ÿã#’S⛼oÈÜ™ARÂ(fÜv‡Ë[5{ÿýU·crWÂK«Ò®éÚÒ_M¸™ð°p6üåU6¯ßLäÂp÷tG©Tb®5ó}Ù÷œúöz7=Ï-YÁ˜¤dQ‹®€€€ôz=Å%%œ>}N‡F£A¡P £eÙµ¹‹Å‚Z­fȼ½½„á.;†ÖÚå\¶Òe1´3~Ì8ŒAÁ¼ûáVŽì?BDLÆFôzär9õ|_v†¢¯O€Sâ¾»f“8<þõí,ZºœÕ/^Ûµ¦ÑQü÷Ú -`of‡âìùs8|||:8†¹Óî#1>¡m¢§àÊpww熸8Ìf3çÏ£¦u nI’Pk4xº»&„ìŠMji,Zö,/õR%‹8ˆåO/âXÑqÉ'OµæZv'Þ^^„M̺m:7 m›6ÑŸx)måuó›b‡ÆŠýÍz<<<¦pA— °ê/ôz%ÅàȨK¦éOFZ²ìYV¥­ÿJ ‡\tP@¡P€¬%ø½dùï[Þ—=+Þ]üþbÚJ$@&Wˆîœ@Ð:"ž={Ò2t(Zµæ¢‹T.2…§ÓÉáÃyüjÊ-4[­Â(ÁeÐAÐÔ A¤L˜Èþ}û8×:Â%p= …ß¾ŒŸ0SHh§³´A7 @«Ó20"‚è!1b9K/ãt:±57 1®– I’„µÉеItyAßA4¿4@ ‚&.¢C 훣Â* Oó“åy-)yœ°’@ èÔÖT_ZÐ~š@ ú "†&„  4@ ‚&BÐÁÏ¥0kp:ì8Î~¹³n_D&“¡PÈ‘+”ÂýØBÐ\€Íf£¼¬Œ£œ¯>/ r­»!r9^ž^ ‰‰!$, µZ-ü×Oý'íª·ÌTUU’›{””ÂFˆí´¯1‡ƒ’ÇIOOG¡T†¼Ÿÿõmÿ Asñóå1aÒ$Œ¹P(DFA¡T‘µw/þèôzá¿~è?1(p•‘$‰êê󄆆 c\g˜BB©©­Æf· ÿõSÿ AsE·ÓéÝ”ë•JÕèw ÿõSÿ‰.§‹[k½p*‹Þ ªä-¬õÅhÜa8ÿÈûÙUÌ#ü'¸þ‚Ö—[‚Ž& ¿º¹BE؈Ðy ÆR{Œ“Ò(Èø‚¿YTVTa®oyž‡»þÜÎýƒÀÀzÂâÈSväEΞüCR>D®Ð ã „  z—ò#ià´2hôŸ(Ê|„ºÊ j¾¾‘s›Žáñë_õL4I£Æ Óê°X©¬ªäøVŸçPú༇åàé?†Èäeü–ò#i„ ^W MлTÿ!)R”õ(žþ7Qò–‘†Œ½Œ^»– “ ‡)§Ó‰ÃÑDÕh4„†„1ðÁ‡)¿)…C+Wâ¸i¦§#(Êz”ð‘/SøÕBÐ.“3gNóæßߤ¾ÁLÊø‰LH™pÉô‡òryçÝ·ñp÷`Ö¬{=Xñ*!\„$I.YJÑûÄÒX}„C¯Ò\TÄä·Þ& ®Û +qœ<Õ.$IÎï¾Ã¶ùM›ß|“¦cÇ8ôJ!ÕGÐûÄbm(½âr)жÏéé鄇‡·ûîZ¾\á¿Ïþõ~_bccÙ±óÿxÛÖNÓfegñÆæMŒ1‚°°0þþ÷Í.û­]Ù¼§>)**b̘1èt:)**ºnü'­£Ñ‡ÐP]Àùü(,{²™ðòËÈ÷îűõ}¨¨@þ¯¡P(P*•(•J %ŠÏ?G–ŸsÏ^LX³†Æô ÎçGÑP]€FÒ³¦¾òâýE‹±aÃì—jïëÔÕÕát:©­­%..ްíƒ÷;¤ËÞ—Í»ï½Í¨Q£0›ëP(¨ºXµÐk]5e÷;kO<ñ“'OæÜ¹sÌš5‹ ˆšàÊ1 šKqV*g7 ñ÷+PìÛ‡ôé?áüyQQœÛÎŽVòú¦×x}Ókì\ùç32QÆÄ +,DÚ—ƒ²°„¥Ë8÷·"гR1 šÛí?úu&XL™2¥_ûaÆô»ÈÏÏG£Ö´ˆZl,îo'jÙÙY¼ûÞÛÜxã˜ëêÐëÝÉÙŸÃÓîèô¼µµµ¤¦¦‰V«Å`00}út¾üòË«þ.熓‘‘Á“O>‰N§#))‰={öˆÚÏ¥ÛéJ‚†-¡èÛߢëC`p0öÕ[ ²Et4'N—Sx¢˜èà–[§Pøé'd¿¾‰˜¡1D ŒýÈœ2A÷ÍA{ó*ÎÙró’å¾ÔïèìØ…ï›ššP*•}r DwËl2™xrþSlxõ¿ˆO ¦¶†¡1CÙ I’0yç½·™8’ÚšÜ=<ÉÎÎfö=sˆ‹»¡ÓëÌž=›Aƒ±cÇBBB8þ<»wïfåÊ•¤¤¤\•ßп455áééÉÚµkùä“Oظqãuã_ÑBëËP…‹çl¢WüÇè$xe²¹÷qÖj¥°ä$“æ†;§£V«Q«ÕÜ0}“æ›ÂcœkjB~ïlH} çÈD".Âj˜Ûã)*•ªÓïT*UÛg‡ÃÁòåË ÆÓÓ“9sæ`6›û¼/"#"yrþSäæD­ÖPS[ÍÁCÈÙ¿·ÞÙBüˆxjëjÐéÜØŸ“Ãì{æ4*é’çܽ{7/¾øb[ Ò`00sæLvíÚÕ–Æf³±páB‚‚‚0 ¼òÊ+íαqãF"##qss#11‘üüü.ý×]­ZµŠ>ø€éÓ§·û¾«ü*•ªÛå‚ö3ãÌ™3 $ɉŠbþ|òGÆñbÒ{0äÏ&?*ÅãCH’$áïoàÌ™3Wµl6›­íýÂçU«V‘››KNNåååhµZ–.]Ú/|qAÔòóóP«µT×T͈á#¨­­A«Õqààfßso—bœœÌã?Nvv6‹å¢ižþyŽ=Êþýû9~ü8eee펧§§“žžNUUwÜq=öX—×í®d2¹¹¹=Êß“r Aû`6›ÑjuH’„\.G.—sÊà˰{çtš'úÖ[) ôC¡P —Ë‘$ ­Ö­Ó–Ò…ÖO_=aÓ¦M¬_¿“É„‡‡iii|ôÑGýÆD-/?­VË÷ߟ¡üt9Z­ŽC‡r™3û>’’Fwë\[·n%44”G}"""HMM¥ºú‡'³mÙ²¥ÍžÞÞÞ¬[·®Ý9^}õUŒF#z½žÔÔTòòò®šÖ­[DzeËX±b‡ã²ò÷¤\"†v ±Ûm½:²'“É‘ÉZ­¥UÔ H—l9]È#“ýKin¶vHßÐPÑóèõîíÒwçsyy9Æ ëp§¿ØuûªÿNŸ>R.Çép´ÚUÂf·£Ñhù®ô;âãã»u77Ï=·‚çž[$I?~œõë7p÷Ýwóé§Ÿ´µÐÆàNíçî®o;¦T*°Ûí]ú©;>jn¶r÷ݳ¸ûîY¬_¿ž‡~˜¿þõ/ÝÎßU¹D í:C’zg.š»»;MMÈå2d­Ë0ÃÎÕpü³Ï:Ísôwˆhj<™ ärK#îîî÷s©9A—óY’$ùöÛcÔ×›Û^fsÝu8­gþËÎÎbëûïEuM5žž^xzza6×FVv&mÿ°G厊Šbõê—ÈÈÈhgÏ’’’.ýs9~êÊG?=ï¼yóغukówõ?óЮIë• @ee2™ NŸÁ‘™EìÀA.X€¹¢²CzsE%'žžØ„‘8¾=ŽTyQYYE@@€Ëí¡‡dþüùc³Ù(((`Þ¼û¯;Aë‰ÿ²²³xoë{ §¦¶ÖÂÂB¾),D©TRWg&4$„ŒÌ >ÚþQ—ç›2å¶mÛFEEv»ÒÒRV¬XÁÈ‘#ÛÒÜ{ï½,X°€²²2jjjX¼xñ ZW>úqZ§ÓIVV=Ê/M´ÐÚ^»ݹ-œzþ9dë_Å1ã.ìëÖaôò&jî}ìLÍ×Û?¢¹¹™ææf¾þx;;“G3xá‚}ý°­ÿ/œ·ßŽüå—9µdúúwqØ-.´§Ÿ~š¤¤ÑÜzëTüýxðÁ‡˜:ujŸo¡eïki™…††Q[W‹F£åDñ fͼ‡ù¿›OII *¥³ÙŒÉd"#sÛ?¾´¨-^¼˜÷ßßFBB"¾¾~Lš4‰††F6o~£-Í’%‹‰ŽÌèÑÉÄÆÆa2™®XкòÑ…´žxyy³hÑb6lØpÙù]!h²ùO<&møÓ_8î¬P¡«@³ÕÊ?Þ{—G‚ææf—^«â豜Íáè¼#$'&âÝÔ„³ª yL êGæû†F¾>ö %^-»{FZìÄŽ‡¿—'Mú3Î]» @JEÖáà ݇ÎïF†.ï·þyãõ׸mÚ4¼¼}®šÿŽû–¯ý“ÉDcc#nnzJKK™9ã.[ZS'OdãÿþÆ`#Í6+ZŽòÓ§¹eÊRÆOç ýW^VÊÿnÜ(\×B“\>Ù°ú»w:q;§ÏÁH™8 YSÎo¾Áúêã¿|9ÆÛ¦¶ÈZª—cY³)#™»;’¿?Ówãýh ƒF¿ÌÑ]·ã³ ïN*ýO©©©þYûï«Ý» Â\gÆM¯£´ôS&ÿš°°p***$ ½›žY3ïáÝ÷Þ&((ˆú†zÙ¹k'ã™Ò£2^Ê?ýÑ'ÝAš‹»œ®Äf)GïË€_§4e,™™$'A^QóäI~¾8­Mü°i£„S¡@ÊÊFîç‡ÃϬ}ÙHÆ1àYè}b±YÊÛÊ]ÝÍ'õÇ/ÇÞÞÞTVV Rk(++gBÊDBCB©ªªÂn·#I-/n:·M½íˆ¿¿?‹ß~=¶ß¥üósÝœRš pñŸJ¥3ÒP]€›O¡q¼i8_íÜIBb">3ï‚ÀœNg[1d2À`@1c:ç32ÉMOÇ’<š¨‡‚ÐÉãh¨.@¥3º¼ÜýÍ¿ºy26›ŠŠ n¿mÁÁ&¬MMX­Vš­V'jµ É)áïçÇìY³ÉÍ;’“i·Ý.ì-­¯Ô×þQ½Œ³8¹?•È1¯Q”ùá³2¨v#spÓ©=Q„¿z77$ - TVVòÝ¡4æÄë‘X†í@'Cäè– ½Œ³ÄÖÓ—é?/OOfΘISSVk3ÍÍVTJ%Z­¶m©L&C¡T¢R*ñññ!""½^Z­ö‚Öêƒëch~Ñ©”îŸKqÎS„þh îSãÓ(*’ÈÍÝÅÒ„µ5¸­Q«Ñé´øN‚a%ž¸¬-OqÎSØr‚¢SEëÿ”J%îîîèõ‡‡ÃѺ¹¦™LÖ¶ŠC.—£T*[¦Ù ž[ ­a\þg•© ¹ñ]jJßáÄþ¥ØKPêÂq¸ƒÄ¡3°Û[+Vk9ä2YëþhS°Tl£(g vËITnñ žA@Èl@&*ÙúO¡PtùÔ(ac!h}­>ôÚŸÖË4/ÓìËÊ£ ŸË€ð¹ÊÜÙr)á?´Ÿ)r¹§äâ:ÃÑÍçm ÿõ]ÿ A»Ú½@™ oooJ¿;…Áà/ rqþÜY|| —É…ÿú©ÿ„ ]e q7Ü@Vf&£F%ágðG.ï½–8g«*ÙŸ³áññ—ÜÇ_ø¯oûOÚÕîn*GÞ¡\êjkq8Â0×ø&ãíåͰØXü|}ÑêtÂýÔBÐ\€J¥bРAFìv’$*Ä5¿ÑÈä(UJ´:7á¿~ì?!h®º«(U¸)U‚Þ>a@ M „  kh‹¡•—• k‚>lþ‰éР_ðÿ°F…jíIEND®B`‚KCemu-0.5.1/doc/window-profile-3_small.png0000644000175000017500000026147112417262523020534 0ustar glaubitzglaubitz‰PNG  IHDRôGWˆ¾QsRGB®Îé IDATxÚìw˜TÕðç–é³}Ù…¥WQ@Jìbo`bA…X±%šb4–h¬±¥Xc4±ÇŽÅ,ØPQ)Ò¶M/·~Ìì°efvvÁò}ß}Ÿg–™{O{Ï9o_qÐ7Чïþ%>!ìß§®ÿÀ×llqÀpÀ¾S½xrK㆙ëÏ_°h­-D̶E@{özf‡1cö»ÓŽeº®÷ªIpÀp`;s–e¡¨ÀÎO‹˜†ªH,ý|Ybå×+_yâ–sG_ø§§>ú'³L[1ZÃÅë  k)lÛÆ¬$ a[Þ@9Bôt MK!„CôpÀp`{Êç«74³òóPTÛ¶»=a™&ŠZÆŸHCmÐ GcÒügŸzVºÛ{>r?Ý’P$¢ø|¾üx!GŒ¥²vOßs5{~2u‡óÒ#"ÔÒÈô¥_Ãpt-嬽”vF3Ìv׿é€Ûßøè{ÿªª I†a"˦iaÛªª’NkÝçê€Y–Y½a ×|Á1GÏÆ«ŠÎÇ'{žTUåï}ÊÒ¥Ÿ¢N˜ ¹]ª1`àÐ}•~¾>løhZCQEÆã/çå'ïæüëåÒ“v§¬ªŽ£Ïþ=÷]7ÏÞ•S~y;—<Ûæ¯D$Ip  ½–MSk”Aý«0 ‹Ææ0µ•\ŠLJ3i‹Ä1-‹€ÏC™ßiZ|ÛÊ/ÛUQØÐll¼nUe> Óì±!$tÃäË•+ñÈ&•ÕlÚÒLyYn‡õëÖ±ÓN;" £ÈsÀÒΤ$ š×3aÜN$’ib ØØÔÆàþÕ†I<¥¡iµ•AFŽÃÊÏ äݰM]0hx™bÛ¶©ëºŒä², Ó ²¶+NAÿ!c¸ô®çhÙÜFkÓFj e§ÉûrÀqçeÕÓrØo(,”Û4oÞÄn#ÊY´ª=b¯*ùl]3iÛ•3iT5nEfõæm!åe,ÛÆ²3mHY‚hÚ[^‘ýÃnÿݶA,äöç-¥Ë`Yv¦MYfÍúFvì"ès#K‚Â46¥èWS‰nle*d)sÎÛ­yí6¾ë×ñÛã'òÉÊ-Ì_¸œ[/8€çßúŠÏ¾ÞÂÝ¿:„Sox…铯O¤Ad–íÜ8PLËBV,ÓIaõªUŒîïcÙÊõ 4€¶¦Ô”yinƒ`YEVÓ²0 …¬7{û5-Û¶Ù¸æ+ú Åì7?·„„e™ d¦8Ý0PWæ"qÀº$I4µFØuD%»íØÀã¯/àöógò»«ØÖ7Pæ ©ã¸óÙ%ȲÄðþe´¦¡-š$ÒÖD}¹J8¡aÊA~/Ñ– ¸=>dL")‹Š€ËЈ¤%hÚ²aÄñU •J`%ÛðVôDzLb­ñWö' `Y6i]G2“7s¿ºóutÃæÖóöåÚ¾ÃúõI„Ççóáv©4Çe+NuP¡9¢á T£ë:ûìÒŸêŠo~ò!Áò ®¸÷5V4&¹èØI¼»tÁ`+WS”H¤ ↛ê2g{8à@‚n#e9iÓ²ˆÅÐt¼¿Š×>ü‚›ÎŸÉÃÿùŒ•Mi‚eÁ‡ß.Xçôå¦me¤-1“²ã¹øÞçH‹2R¶¶˜IZösßmW°¹9‚iêYIÂù8çÓõ#„ ¹5Ì.£êhj‹qÓ9ûq×sŸ²6,ãU,N=dzêc*û  ¦~ kCBQpmœsä8âI“Ë´Q/ù‚kÏÚñÃ*˜µ×n8sün˜½×Ž\0{ï}ºœ‘u.®>}>[¾† ’æê3öeíúF¾Y·ëÏ9€å+WãRLË"šH1´>Àú-a"i™P ÃÀ0LUË\{Ö~Œì ©5ʈj“ÓÙ € ² M[Z6 ’MÍQTYbÜ ?×Ï;€Æ¦»ŒêÇ'+¶à"Á³Ça˜‡LÁá“û±výfdI8ûÃù8Ÿ|ËFÍ›¦ì°ÃœwË™2vן;“ûæÌ›Lô«B7ÌœÆÎ´3¹’ÑÖÙ¤ÒŠ,mÝÂÜñHŒ¨üônÎÜKbbô^ö¿æHî¹ú<Þ¾ÐÓ êѬ2f¢’Ævømèºi“N§P‰´ÎªÍ F¬CVLTU¥1¤3` L2¥ôûX¾r½`oV¬QSáC7,ö˜0ˆçßú ˲yüõåœv° Ó4y}I3ƒû•3qt=‘X‚ñ#êyãã5¸].ו³r] ’,3zôÌþÝ|&ï²#­á8’$Š$˜>¼œÚÊ“†Øih Ÿ®ÜÌŠMqöØeŸ¬ØÄK·P8ã¨Iœ{ë 5È{K×±÷ÄAÌ_´Ã0ùjs„/6¦Ùrï-ÛH]µŸ[eåúV~uÂ4tÓ¦*è!‘ÖÙk—¡üuþ2ú×’Ò gƒ8à@åŒ 6D)tä2èFM‡úê ¯i¤2!gÌa¦E*­cÛ6 Y oÙ–-¨ 4³QƒW?²÷¾¿ãý>>¾òRb1¸ä⡌àåך\õ(KcGR¦Æ±48Ð l •4\ëC7L®|àm~zÀN\;w —Ü·ˆ†*ªd±j}²¢®®ËÔPU…¿>ý>‰”Áú¦(ë›âì1a›Z¢È’ÌCªy{éF|n…±ÃkXòu3Ø6ãGöãÏO~@(’`ˆZÖ4†ðx<¬Z¹œ†÷Ç4ÍìÈl =ÉÈAÃùÏ¢¯Yº¦•/×…@õãõûÔ/ÈûË6Q߯#ÚÀÆÖ•å‚é;ãùwWôºèWå烯¶ *0°6ÈÛŸm`ô jRšNs(N]U€Ëï}ƒ5›B¬ÞæÑË;fñd „“éÂ:ƒÀ²-$I`“ñ¡iÚô ýÅü㥥¼þñZþrÑ¡ÈB0ÿýMŒ>(:.2êy2ò½eÙXÂF’%Ö†%‚ýTBv,G½”e–­MÐ0La}(IRø°M [Ç/κ“ôX<Å®ƒ¤4 Œ§ÞÙÀ‘†É½íË…z§^ÿ‚+NžÂWk›©­ðsßË+)¯¨á…·¾ä¢ã§±fcˆHBcKtƒk}†Ik8Âàú î~~ “уjxlÁÔÖTðåš-Ì™9–úªUŒRûŸ¯gõº&ž¸|&Ï¿½œ…+âT–y‘$žJ0r`5÷Ì_Bí€ÁHB *2—|ÉÈÕ<úÊçxÜ5„$/¯´Š«Nž‚nš¼ùÉZ>ý&‰Ç%ѯ2À7›ÃئÉð†*î|æ#vZK:­“²T}e)g¹++ÖµKé,ú*”u¹±ÁN4›t¹3„°ÉÐha˜¸½®}`!ë£ Ã†ä²»_£<ࢼ,°5%K¿m@L9üû¸SæÑ7Q™á þ}û\ÞZæÌrÿ£­:³Œç_ްã(7«¿ÑXüi„Ûo9€—6ÜC¹§Ëv$tè®>“ini%1lÈ ¬M=Dss3C$™ÖikmEU$l!3p@=BZÛ„Ã!dYÂë Ò¯¦’ÆÆ-¤uA |ñÕ F ‚ËåâËå+2x~¿— ·LÄ„ÂúÕÔP[[ÍË¿¦¼,H]muVJÏx©¯øz Ç F‘ÚƒÅeYæ«å_3p`|^/AsKñXIHË+¨,`YËW®bð ø|¾üêk† n ™L G1|(¡P„ÖÖdYÂãñQ]Ué„°9à@A]dîŒ «©®®&IFÕžJëø<. Ó†i¡*>_€%ï-`êž ‡I%“‚~ì)óhŽê(ŠL@‰±ÿ¦ãxù}ûLó’LYL›äçí÷ãTWʼý~œ€×b‡i»ð¸uÑê¨Üp ¿mÛ(ŠŒ,Ë™$+€,K¸T•TZCKU2Ö¶Ñ4=÷Œªd¾× Ó43 \„ÈHû^7É”†mÛx½nÒi ˲QE‘1MY–ÑtÃ0ðzܦ‰a˜¹ì޶mãõ¸IeÇÕqÌ^›´–qxŶ‘eU•ÁM×É|Ýþ\¦ïö¶dIBQd’Ù¿Ûç×µp ŸŒe~/Ÿ}üUýG`eðŽç@Vš7¯gpC<ÁJ4M#L!&vŽ}üiç²%¬¡*2Mq©6í)Ý ÝFU3ž©ª"°mi¸‰;q8Ð#a§“djg=à;Ю„®Ð÷ùÞïøLûÿ;?C^ɸë»Å¾Ï7žBãèØ_±y8à€ùÏeue•Ÿ/FVò§~5Mƒ~u ¸‚Õ$I„€t2‰Rá±Ø°¹•–˜,Ë€do¡—S(9wÀpÀíM!'œ8à€ü€AÓÒ¤SidYfÅò$J&`ÝË´d¼ò>Ÿ+Ûæ€8à€ü€¤x‘ñM™¼û4RšŽnZ™Ä2!™LPWߟñvAÓ4gÕpÀpà¶mSV^Á«/ÿ'c*Ï‚Òêg<ØS©4ºîtpÀø® vGïö®eÊmÛ&•Lvó€ïFÐí,Q—$ѧP“œÇÝv|/ßo=õS(”§ëû]Ƕu¼ÛíÍ|ò½ÛSç××±ZçΜ;8wpþÝá¼ý;UUQd…x<ŽmÛ¸=n\ªJ"™ìô¾$Iݢ̔R&×uñ ýÝÎU{§§ÍZ¨ýR7jW.¦‚».j¡MPˆ©)4ÞŽmäk3bó­U×±[“b‡µP¼r¾K¢§198wpîàÜÁ¹ƒóoç¶m£**áH˜;ÿv_­Y¢ÈT+9ü Ã™1u:†a]©T®Å0 t]GÓ44MÃ0Œ\ɾpAyû0M4MÃ4ÍNí !°, ]×ûÌ%:à€8àÀÚéZZKó»?\Žé±Ùs¿1nâÎÄŒ8×Þ|߬_×#ýSJé̲,.—«O&“½"´…¸GǃËåB¦iȲŒa¤R)<^¯‡P(Œ$IÛ¬>*ulÛúîöÌÕS[¥ªî¶×oßöºæãtœ;8wpîàüÿ5œAî}àoª‚Ô¨ãõÿ¼ÁÈ¡#9pÆL92 H§ÓEÛ(IB¯©­åg§ŸŽêrç>.·‡ãçœÀ–-[P¥Ï‹žÉGíåÍ7ßdà Á¨.7§œr*»OÊUWýžòòr***¸ï¾ûp{|ÔÔös¼ï¿pÒ 98wÀÁ¹ßè†Îªµ«©ë_—Q­K‚ Ï>Ÿ;‘õXúÅçhš–e$ì¾KèéTšÉ“'qÏÝ÷ÐÖÖÊ7߬ãô3Îà믿æÕ¯ä°òðŽŽeY†ÁÑ?>†£žÅܹs5r$ûì»n;ÛnÆËOUÕÛܦÍ^d=ͯ7y±‹ý¾­cèëÜ2Ù¶ñ•ŠóRŸïøo¡ÜâΜ;8wpþ;Î!CãdYƲ-TE¥n@÷?øUU•|²ôSV®^Åm×ÝÌAC0 kÛº¦ëAv™8‘Ö–f¦L™Âî»OaÇÆ²qãFêëë©®©%àr¹p¹Ý€ ¥¹ UUñûýHÙ2©d’d"‘)ö¢ª”•WJ%¹çî»ñùhé+V¬lš¶l¡ºº˲1 £Ó˜<>Ÿ!É`[$‰œŠ¾”MWêféú\!/Åb}õ¸ìËÆ.6ÇÞ0^=ÙîÖ§(©<æ¶ÒÞ¾ïàÜÁ¹ƒsç?tœ»T;ŽÛ,dÒ´I :˜å_¬ lF0¢Ó²1lÉdIÊ©ÔÎ`Y&–™±k' jjj€LéǪª*„,\¸ŸÿâTVV"„Àï÷³xñÇì¹×ÞH’Dee7ÞxB’ðz½¼úêk!P ˆ‚³Î:›ÝwŸÂ¥¿½”ŠŠŠn eY6Á`矞±ãÆ!„`à Á<ôÐ誒Ëpדçg)›¡ëßù]Èž_¨|\h>n®Ø„½ÞH…Â) mæžâ¹gžf̘ÑÜyÇ_9ûœyüõ/Au©L™<…#: ÓÊ_?¹¢¢œo¼‘ß]~^p¿ùõ¯ù|Ù2Î<ë,ÚBmœ;o^'I½£ÓE¡°ˆŽýú>/£“à qùžé)´¡˜z«PŒc)›½X¸E1n´”p–|c(’S,T$_¨G1¼88wpîàÜÁùçí’¹¦k\~í•Ì8hZZãµù¯tXÙ¼‚Áýsõ%W1°a`è=ôöËÊÊxá…; ²º¦š‡zˆÊ,A×uƒ8ˆçž›O[k •UÕL›6=÷Ü“7ß|ƒH8LYy9Ó§Oçàƒá7ßd×]wåÄOäìsæqä‘GP^^N XF"‘(8¦5kÖpåU¿çãÅ‹ÙeâÄÜ÷3gÎdæÌ9ýg§cYV¶lï’t}®§…â( -z1î¸Ð-Æqwü½'î1ßÁë:–ž¼JóµÝ“Šª7k˜¯Í®ß•’tÂÁ¹ƒsçÎè8o–wÍåL˜1UUyõ¹WùËÍ"à `c#IR&d\ׄ´mak틋Ř2y2>úMMM¸Ýêëë(+Ë_Ÿ/SÆíä“O&ÔÖJZÓÐÒ)-ZÄ Ïϧ­µ˲hmiaŸ½÷Æãñ°dÉgL™2%G¼Óé4©TŠ@°¬(ÇùÕWË1M“<]×BÂ4MÚu ‰D—ËÕëäß5×Ûäß&ç^Ší­¯ 'z›Àa{sîΜ;8wpþCÁ¹ÇãA†i ( —\~) c2``ßý·_·‡T:•ë+“®ç¾’â,ËÆð3|ÄHÊÊÊr±à‰D"«ÓÏtäq{º¥¤ &çöx:¸à÷tCàâ‹~A$E–älY›T:ªªÝrß–ÂQö”e©WXJF£Rú,u Åú*fß)æIÚSJÅn‡‘®ýäw–ém΀ž¼_·§³ŒƒsçΜ8—$ ÛÍÇK>%²ÃÈ1<ðÈ? ô0vÂXøËÜpåuTVT`š™ræ½ñUèAïàÑIÑ5ÉK;aoŸHÿþýyî¹ùìµ÷>4nÚHyy9+–/'•J1dÈànžë¥@]]‡~8;î4–d"Ž,I¸²ŒBKsS9uKÝtùž+¥íRT_½Þ¼W(µ`)œ|¡1çÛT±õ° èÅ\úr`ûº†Îœ;8wpþ}áܶmE¡©¹‰n»‰”™" ÒöhÃÐ9æ”cxðι쿥a@š¦åèjosð+lwÈL°»øåÅó‹‹.bøˆá{Ì1¬\¹’Ÿs,xà$‰œ­»T˜¸Ë.ì>e »OÆã=Ê”)SG"<óÌ3TUUrüqÇÇ{äâúÂùõe³õ%¦s[ÆÝ•»ìK|i¯Ã1l¶sæ¤í±Îœ;8wpþ}â\–et]çÚ[¯gȘ!”W”g¾—dV|¹‚»þxWýæ ÆŒCZKç’KŸc‰Nq‚p(D4í ƒwU;dTÜí%W…$ N?}.›7oæ¼óÎç¼óÎ`ܸq¼ñÆëضÝI5nY[[njj"‹ç¼“Éd.·{"‘àùçç3wîÏ8äÐÃr見ÊÝ÷Ü…m[SJÁ‚R˜/˜T*Í•W\Î9çœ ˆ—èׯ¶mçì}øå¹þ>[ò)~¿ŸH$À‰'žÀ¡‡J¨­UUBðØc²yófÒé4²,S^^ŽÏç#‘H¬¶SJhC1µJ¾Ã™cË‹\ÚMý=‡6ë»ØJ=l}áì mØžÆ]4œ¥'“žÆZè²rpîàÜÁ¹ƒóïç¶mc™ÉT’‘CGrø‡1~ì8~Óˆ´E¨¨®  ðõª¯Ø!W{)8ﳄnYUUUY)Ú*Èù 4(ïbÅâqü~?~¿?+ÅëÝ0dÈ’ºE}}}§>|>>Ÿ/×»C^YYY§ñ¤Óé¼á Ÿ®žlOÅ8ÞRº!¾ˆãG)Ž!=qî} g)…£-Å/¡ØæëÖ_ö°÷$±”úƒsçΜÿPp.„ qâ±'àózÑt]Óq)*©ë_G"‘ t¢­¥à¼Ïz¡ÍQŒ[èêÝ×q‚¥:s è©­ï[BÏýÖκѻä…8Ýbœk±p–¾ÖI.fo+¦ö*ælÓÛ„ùpÕ›:ÉΜ;8wpþ}à¼Ý¬¬io½óï-~ŸÏ¾XŠ?ègôN£innFAaâλN§;ÑÊžpÞ'‚þÿl§–î\›Mé~¡88wÀÁ¹ÿ¯à¼½O—êbõ7kxåìþ£Ýñý¬Y½†¶-m\ñËßaZf†˜ ±5œ¬Ðg‚^ÌvÒ×wzó{>•TÇ\Ã=£'­BoçShõeú²Î]%bœt¾ HΜ;8wpîàüÛÁy2•ä¤cO`ê䩼öæk´…Ú˜0b<‡Î;„ŠòŠL¹ÔÆ^(uìv!è½uÊ(åÒ~'§ç(f‡*6œï¢$__Êíõ¸fPì*®—fokœ;8wpîàÜÁyi8BH&2h0çœ~6¦™‘Èã‰DŽ˜"ÖÛ¬r·K¬¦SJ›Þ¥dI°ß® ì?e &âû[#¦ab:.—û[^MÓ±,6ÆA’¤Ü•¦ºñx.wzï·¥„Àãõ¢¨jîdH’@×4R©TFÆÿÓív¡º=ˆŽ,Ë4nÚÈ ÁCI$âªÕH’ O`˜FŸ.I¼^’,cYÖÖ´~–E$¦ºº&Wv«Ç£M"–è3ý°mY–ñùý[; äí1 ¯Ï‹$užišÄã1*+«³µæ·ï|YÆÛq>9üÄ1Ls»Î§ËÆæË/–ÑÖÚš›Ë÷E!lÛ¢ªªš~uu¬\±Ó´:ìïï<.™eà)ëÏù'Mܾ͘¢.„ ­é<ùÊØÉwñJ:}áw¿>¶mSQQAÿ ¬\±<[ò[‹ B 4˜†ƒº &ÛZ¹­·U»zj¯§ï %ö*ö\©c+µnz_çÜÓ<‹µÓÓXJCo«ÔuÔ¦çuŠûfí’É$jŽ÷åPB"ž`DZã2ê!hjÚÌÒO?Ã_ìóyB ‡ØqìNôïßÐ ©ÉdYQ:}'É2Ë>[Bss ng›N\4aúŒáv{:y¶—»Ë-®È\Ú‹ÞyI’‘zYM®ÓÅ–Náv»˜4y÷Ìw’`égŸÑÚÚšqŠØ†ùÄ¢Q¦ÿèG¸\î.óÑ»ÍDz,½ó6²R¸Ö|©óñxÜì6iJî»Ï–,!ÔÂåvoÛ|bQfÌØÕåê´dYæ‹Ï—âØqìØí¦%ÚŽzÃúõ|øþûì3s&Ьü2AÀ£ðê=/3kê BáH®fÃw¯F´q«*ê‘ÜifL‹a˜ßËIBbsc#ï/z—½÷›‰ËåúVÆ!X¶Í’Å‹QT•~ýêº TßG.÷b™âºþ¿h.÷<„­kû¥ê®Ïô&S\)äú”˽ÙKÉÔ×WœwsŠ µ¶b»O›¾Í›tÓÆ 4nÚȈQ£I'“,[ºŒCŽ8Ï6VÐ4çŸ}†ººþ'%ºK9­ÍÍDbqŽ˜5{›çóÍÚ5,ùøf챚®ÜȪªòéÇ3tøÆŽÛy›û}{áÿX»z5ÃG¢yˉ$GµíóY³zK>ù„é3~Ôe>t›ÏÇ‹?bĨÑì¸ÓØmîwá›o°níZ†ŽASc#©´ÆáGÍÚævW}½’%Ÿ~´é3вõ2T¦µµ…‘cÆjkÍUü>¡¶¶–@0€®iÄÒÑ>3IÛ•¨˜<.YI•e©ï‚¨9 š$‰Îía9»_¾kMU%dª" ‡0Lë{[—ʪJÊÊ+Ðu-§ýû–Ô 1œe"B@ IDAT¯W¬ ¡a`Ž ߹܋É’s¹wi«·¡g…¤åT.÷¢±óâ[Íß_PBO¥Óx}~LÃDÓ5D¡…ȳ;~o[••U¬_·.S0-ǃaH’@©8giƒew?È®¬fšŠ¢Ez"‘ :Oa™Ž*í|Ëê²–i2hðÞyk!¢‡-I¡pˆñw-h‹î4W?`ëÖ¬FÕtuMMÞùô,ËbС¼÷î;H²zñ1„C!v›4¥è|ÚmŸV‘ƒ(Iõýû³iãz$!‹Ç©­­í~ Û8,Ëbð¡|øþ{ˆ®wk˶¬ž÷Üw–eeÕ· uÉ:õ}Jé²dã’6°-t˶-_ÎW€mÙ–EyEÉD"'‘w#踕̦Û¸>¶mãñxúlêËàJÏîßoW6`fQ»DÂÖ›5ØVÕóöÊÀVŒ(–:¶í­e+UÍÝWÜl·@ª×¾Î¯pb¶èx,Ö­LûÆ–¤Ìæs©.¢“ôÓµÚNÇÿ !¡ë˾X–ß"eÛŒ5¯×W \]rÎ[+ØN(ÚB!N;ý ll¾új9W]qÇ=)«fÎm¾^P‘½¸zº(:º‚…,+ïß¶üÄvn|¥î˲rU“òm@Y–°íÌ\ ÃÌHfyÛ±;!ܶòÏG–e-YK[8žëÓ²lj«L7Ã4‘ºõbëcYV'ûzG¸7RW±L^¥‰ÌX–…eÛˆ.cßV¢ár¹p¹\D£Ñ’Û²,+#ËSHÈ’@U]TU•ÑØØ”u–´¨¯¯%Š¢ié‚+Q^^Îu×\Á´{°Û¤Ý;íõúÕÌ:ìPþ|ç}™K(S®(U‘€ smÙ[÷«¤Ü¦µ,+ÃÀÙÄn·›wÞ}—É“& iiiɽ¼?2ûÇF+WtÃÎŽMê²§:2!ýE¤Ü½ÒŽçöùØy‰Þ»ÞØi{ó|>[ôö$’ÛJˆ )¥ÈK©ã/fÏW@¥Ô5èHû ¥Äí n¤‚WVv“FÂaÉŠªd>Š’‘è°±ld"‚–Ž“L%°,Ë2s›³§¼ñæëH’„×ç#‚ø}~ҚƢ÷mõ–èÒ¯‚>üsÏ:›9?=…ßýö×5ÕUèšV:®Ls+ó•íË4 ,ÓÄçõFÑ5 Û¡ëlÞ¼™D"TEAK§Ùܸ9w§Ú–EÓ–-lnl$ #²ÌJæc%.í÷W¾O>•m×ߊåL墳|jü®÷j!mJ¾÷òõ]¨½ŽŸbiÅÒµvb¢ ¬I1¢œO…_,§~1&#ßü·ç%t²” ¦AeEeÖ±-3COg= ejû "‘LÆX¸Ýþ—*%eMÓúèƒí¢b±»¨|/þÍ%Œ·¿¼ð<ÒZš—^z‰Ã8œ“N:‰SO9‰òò âñ\t·ß|3 ýë±ú0Û.üŽ,Ëüââ ©¨¨Àíöpɯ‹®ë;/ñݦ5±û g`Ò2’¸àŒ«žÀ_QÍuÿx‹€ÏÅÔñC †ödWk‡þ5eTÕT±zc+Í-Æ ©¦M°¤wsý ¶OËÂëñ°dÉgüå¯w Ð4ºú:®ûÃ5´µ…rx$“Ií!EóŸx<ÎÜÓNeË–-ø|><–eFQŸÏ·Õ„•JáñxBFsvÑŒ¶#K´³ªºªŠ³Î™ÇG-æ•—ÿC:­Q^^†,Ë(ÙÌH$‚×ëÅçõ"$A:­å¾óz½¹qŒ;–I»íF[[eÁ ŠªbYétšT*E Àår¡iñx|«„.Ù¨JÆIKU%ÚZ›hkkáùçžä„9ÇòÈcOÐÚÚBSÓ&ªª÷â™'Ÿàµ¯pâɧ2nçñ¸\*O<þ(+–Ecã&öŸ9“ùÏ>ÅöÜ“²²2^íeöÙw,ËD’lÁ÷Üù'¾ùf-ç]ø ‚Á`&BUØé ±«®®æ€ƒÆçóñØ#‘Nküoá[Ì9áDš6o" QUU…‚x<ަi¨ªJ0ÀåñQ]SM$áÏ·ßʦMø|>|>_Ž©¶m›òòr,ÓDVd¢ÑXÎ$’ÑeÆ‘N§ñûýüä˜ãxÿƒ¸óŽ¿ðÄ“OqïÝw±è½÷¸ë®»©¨¨ ó«‹/&Nñ‡ë®§_m-­mmüýo÷rÍ®eíÚo(//cÊäÉœzêÉD£±­š›í¤bîIe^Šz¹©4_[ùú.ôloS¬æÓ|ôƆޓäÞSÙÖ¾x¹÷dcÏÇ<ô碸„žm¬ƒ¤áN3¶$COãóUâTb:Oòò~H’Œ®§rïtP~;¼mÛ9éÜïóãøñyý9õV»½Ô4Í.*ü¾Û16oÞ¬# ¥µ•h4FuM5Ó¦NeÓ¦èšßçgü¸ Œ1Œ+V ²ªµmc%ºCYY9§:wëÅQpuY¿r1—ÄmôRylçé3Ú$qñ-/Ї°&¨ª­åâÛþËg+6¢tˆ:èi]òå)6L-› IM7ÑM«Ósv‰V;AÜû·¿qÒI'ðÐÃððCrÞ¼yÜvûŸù÷¿_Âï÷“H$8ïü øâË/9ôð#9ôð#ùꫯ¸ó®»¸é7sÓo¦¦¦†|ˆ™ÄœOÂ4MÞ{ÿ}~ü“c™sÂIüø'ÇòäSOqìqÇsàA‡°ví7¹q´‰ö1ɲÌ׫V¡é:'t/¾øoú÷¯ã/½ƒsÎ=—™Ä9óÎÅï÷óð#ò£½öaúŒ=¹àŸ3hÐ ü_pàÁsÜñ¤ÓiÞy÷]n¾åVª««øíï.çÐÃŽàøNäégž¥¬¬Œ+®¼Š½÷Ùß]qŠ,g4–",e$tY‚H8ļyçñÂüçÐu›gžüóæ‡ièüïµÌö)N?ãL®ýýÄ#aþýü|Þ|ýUŽùɱ¼ôâ‹ ØÀc<ˆžJôùxé…ù´6mFd%ù[nºêªJN;m.×\ù;|n7X&²¨2÷€mÛÔ×Õ1hà@ÞzëmTU套^bÆôé¤R)9rÖlöÝÿÞ}÷]Ü.Ë–-cÿ⤓N¤¹¹¿ßÏáGÌbøðá¼òÊ:øP;âH6oÞL8æ ƒå¬sæ±ï~ðå—_æ¢;Ú™/«óU__ÏCþ“W¼ÊCÿü.—‹{î¹—o¸ž»î¼ƒÛo½…#†óìsó9û¬3yìñ±ëĉ|øáG†ÁœãcÞ9çpÊ)?%å|<Š™õzÖȉ’žë©b[ODªd•;¢WNzÓv)D¹7m’¨{§©È‚Wj=öRªÐ×? èvÇKµ]Z·ÛmIÓ21L=#¶OBHhZYV°l«ûå/ò\´Ù>Œ¬ãŒa¶ÿkv²‰eTºJŸm!]ík.·M3Øi§±Œ;ŽÃ=‚[n¹•‹~qûì³/¯¯V¬`ó–ÍB÷zË1µKèí—€,˹O;£‰Drö7—Ë…,ËHBêB¬ì‚ä°}LÛ.öi¿”ì>i:\Û¶q¹T®ýÛ«|ôuî`©”Á×BÔèÏY×Îg͆fEéd7´í­ÛAä±ã*JÆ´Óþ„iÚ9‘nX¹XuÛ•y®ÃxЦ–ÉŽ¡-â¼sçqÿý°ï>ûpúg‘H$8ö˜cxø‘G( ùÓŸÿÂYgžÁM7ÝÌÙgžÁ£?„Çãáâ‹~Áå—]ʯõK>úh1o½ý6o¼¶€Ù³fqûŸþDÀÀçóòܳO3wîi<ôÐ#<ûôS\sõï¹ýϦ²²r+‘ÈJd–eár¹xâɧØß}9zölžxò)‚ áp˜qcÇñþ¢w¨­íÇ /¾È©§œÌgK>aß}÷æ”SNæã?æ•Wðê‚ÿròI'qÓo¦¢¼!/ýç¿ø}>Þ~ëM64 <ûìsø|^>üà=‚W,ÀåreÖ^€"$‹¬ ]¡²ª’ñ;ã‚óç1zôhúÕÕ xååÿrñ/Å®»Nä Cá믗³à•ÿrée—1~ÂΜ}Î9„Ã!ü~?YTTT (2(/ó1ÿ¹gxé¥ùÃ5¿ç¥¿ˆ¬HìLß²@dcÖ4fÍ:Šç_x‘W,`§v¤¢¢¿ßÏe¿»œ?Þxÿ~a>×]UÕÕ\}͵<öèÃ\úÛKH§3fŒx"N,åï÷ßÏsÏ>ÅÕW]ÅWýžòòL튿ÿí^þüçÛ¹åÖÛ©®®Ê1:í«lÛÆívóß—_楗^â¿ßGkk+±X Ó4:t›6mÂ0 Òégžq:×]w3¦Ogñâ™_ögžu¡p˜Ó¦ÑÔÔĘ1£ …à Ó@×ô\Ž Û²Ig÷O,c×]'pÿýpøá‡DZmˆÅb躞5Åxyà2ë¨#9öØc¸þ†yý7Øgï½?~<^¯—«¯¹†÷ßÿ€ÝwŸ’lzÊ{TŠÊ·ÔߊÙÞ·Gû½qÊ+%ŽýÛ ö¥j(¶õ½‚í”@ÔKÅyaz;LjݹœjÇ#Ë2‰„·VçÔ£ª"¶J¦=Ì6[ÓŒ†‰e¥>|8U•U¤Ó)êëë™4i2^¯—+VEûDлJ€CᎥwpýõס¸ÜØdY!!I‚p[+máS§ÎÀãñvw±ûÀJlUk?7ÿ9† †ÇãÆÆæg?û‰D‚C9” 6 +2+V¬À¶m>è­ê·"ÝJ’ÄŠËYºì3¦O›A:B‰h4B"‘DHË´°m‹‡yˆ«®øý6…»å´.•¾ðWßÿ6ãÆÀ6 dY`™}SðNëXªi§ÝËwÆÀ~e%N·Ká—·ý—ᣆÐoà`¢ñt†á“áX _YW?¼˜Ï¿\Ãm??Yfi¸·m›`0Èãÿ‹D*ÅÄ]&°aÃü~?Éd‚Ÿžt"ûp÷Þ}^¯—G{œcŽù ßz›7ÞxƒÉ“&óþÐÚÚJ]]?¦MÝóÏ;—––Bá0š–±i˲Œ¦k´µµeö¸aDb«ê¿]Kâñx˜ÿü Lœ¸ ·ßv+ÉD‚×^G} ˲ˆÅâ(²B<§aÀþ~ÿýD£Qv·3«×¬¥ººŠÓ§2ïìsˆÅclÜÔˆ¦i„Ãa˜¹?¸ö:† ÆŸþüN;õFŽÁ.Æsáçóþûä˜ÕŒ =£j·¤ Aw©ÍXMu%O<ùš¦¡È2©T’3Ï:ƒŸÍË®»îÆa‡ʘ1£9ÿ¼óøÙÏæòØc’N§ˆFÃ\rÉo8ãŒ3éׯMK#Iàóz …Z¹õ¶Û8ÿ¼óhnnaÚ´©ì¶ÛD’I)«)ØÏr ‰ÐÒÒÂ¥¿ý Ñh¿?@,#sà3™0~g¦OŸÎsóç“L¦6lÿûý‚/þY–‰D£¨ªÊ>ûìÅ)?ý)~€?úÃ0…B9/ôH8Tîí6t+ë<˜J¦¸ïo÷pèaGÐÜÒÂÜÓNe‡ÇpåUWsÔ‘Gðî¢÷øÑŒxÜnV¬XÉÊ•+Ù¸iåå¼øâ¿1Lƒ~µµ,ZôGydÆá/çÉ_šÏI1oOjêÞ¼×[f¿·Ä½XÔÎwQß¼§¹Œ>êå{Û:†¢ý"èBdT\š¦ašf'‰bk6‚––M¸ÜnBm[P].´´ŽK±± -¿½;û¯¦¥q»]¤RI</3fìKuçÚ†Œ÷jKK3Ë—Å€†ÒétF’ÖRÈŠ?+–bÉ\Tº‘}WVˆÅ¢Ô××SôRUY$ –,ù T”UÑÖÚÂøq;¡éZn¼ïÞxÜ‹œÚM UUñxÜ,zoQ&†¨¯¯gÚ´é,[ö9ÑhI–Ù²e3S&OAÓ2އ¦©d;&]ײ82d‰Õ«×Åsæ !I8\Ã0( sóé‹þÌ0tÒéLèM:"™Lñócw#Öxâ«:r8©TÆcèµî$Gï;ŠX²O¾\Ç€šÑi]×é(†XYIU×uÒi›É;ÖóÔM?á¬_¦¦¶]3³ë/H¤ ¿›ÖÖ0wýú æ¼ ÑX²öèŽ{¢Óží`¯ŽÅbì¿ÿ~<ÿ‹üë_Oпÿ®»ö¢Ñ‘h”½÷Þ‹)S&ÓÜÜÌÞ{íÉ?|ˆòòræžvº®óλïòæÿþÇ>š³Ï>‹þñO¼^/'xm¡^Ÿ—d2IMM 0“D"ÛíföìY„Ñœ ¦Ý.+Ë2Š,sœãY¶l#GŽd§u먬¨ÌI—“vÛ•êêj\._|ùwÜy'»í¶'Ì9žsçËC?Œªªœxâ’‰$SwßaÆrê©§ðÄO²çž{‰F™0añx‚›nº™Q£G²ûîSÐuYu»$!²gðàƒF–db±XîÒ™süñØØ$bqþñÀ?d -­Ïzv?ùÄ“í‹fB^ß}÷.¡0ÿú׿ˆF¢ÔTUó / ²ëñ,ó"„@‘¤,A·…ÃÌ9ïI•••´¶¶òÓ“N"óó /à‘Gã7ß¡‡B8â’ßüš»ï¹‡††~Õ•455ñ³¹§ŽDøåEóàC‘L¦8þøc‘e…#Ž8œx<Ž‚ãŽ=†P(´Õ1ûo&$Óà„9dziã&îºóþþ÷ûÙ¸içžsÿ~é?<ôð#ì¸ÃôëWˬYGñôÓÏðÐÃ0{ÖQŒ3†º~u<ö¯ñÁrÙ¥—Rׯ_®Tu¾¼½M2ÒS†´BŽ]¥´W,±L)D¨§Zì¥ÖuïKb™Rró­w¡µ+äøWª­¿Ðû}M&¤ôdsnŸ³FÙ p»|X¦‰ªz%…T*N0(a·—të†è­‹J¥˜¼ÛdâÑì-­­TVT€ÈØëêêsö%‘õ°·¬,Û+ÎÍÆ¶2ïJ’–U9{=^ªª«2d([šš‰Å¢H’BeeÉdäêà H½·9·÷‹EùÉ!!IÁ@+¯º‚<ˆp$Ì¥—\Fkk+²,ã÷ûI§ÓY ¼='@«³Ýa-lƒáÆsÙ¥—uhì.ÕÛØø}~b±hŸ9߮ΎgΞ”‰6M|õëL"‘é¾5šböÔaœsÜ`¥1M›DJCQÕ¼NrÛÄSL?˜«æNç×w-d‡G’Je¤k¿W¥is³ ǰ3áHY–rŽSù¸^Ñiü¦™1UÌ9þ8Ün7º®“L&øléRn¿ýÏœÞ¹Ùøm¨¨¨à²K‹išD#dYââ_üÃ4 …Ú¨­©æòß]†m[D"QC&NSUYÁfÌ •Jár¹8`æÌ ã–M¾ÓÎdÄb1fÎÜŸt:•›ƒištàX¦‰aš¤ÓiÆ‹iZ П½öÚI¤Siš››©¬ÌŒÓ¶m"‘eÁ2 i:_~ù%Ó¦MåÿxK~s(­­­Œ·Ӧ펖ֈÅãØv†ÙQ$!l„”‰^дt¦ð‘,ç´M©t2c.S$Bá¶Ì{|CÚB­Ù$>YQ2g»¥9·5E!Ê„ ´µµvò1É8@B&°ÆÎ®m„Ã;”T¶p”eeüOfy‰T]×8ù§'fcïchšŽ6¿þÕ/3!f¶E8æÇGϦµµÇÍÅý!$"‘ûí»/Éd!$=ôŒK6¤”ÄÃ0 Ž8âp‘ svúésI$D£Q:p&³Ž:’t:M<'™Lòã͉'ž@<'ãö¸9wÞ9A$’eúEVKÒ=¢%þ®R¿v=ûÅÔÈÅTæ…ðŠ¥Q-Fûšúµµy_R¿"ÊÅæYŠD¾M©_ _Þv§ä™ x«_eeâÛ=Ñ;:½u%çVöâH§ÓÔÖöcÎq'dl¾²ÌSO?ÁѳÌ‚W_ÁëõbZét 5›xÂÊ9˜ÙôÆ=ÍÎ:Ö´3ÍÍÍ9•¨¡xÜn**Ê1ÍŒýÞçóe.ºXŒõë¿Áëó#KR.ùGo `G·ß燬€êRñx<¨ªŠ×ëÃëMæT~"—HÅÊ­}gF!£Fo7ox=Þ’Mÿí=ƒ²õ½p<•qê2ML˲A´_z¦EJ3°Í‘X*“t¨ƒcšèÀ1¶_dím IrÄ^;ÐNðû?bdž¡¨ 6lá¼£Æ1÷¨ÝÇR™ÌtYɻ뜺H«ÑÅ¢9ÇãqÓÖÚÊi§žÌŽ;ŽéPhǤ­­µÓ% ‡r˲:ýn[ljÎ0rÞ¯©TbëEcoõ'’Éx7S×ïÚ¥8Ó4r„M²D§ó8LÓÊho$½ö܃7ÞüýâB H:F×-ZZZ:Ì+s¾A®¶™äöÜöVB# ‘Cœ*Ë +ä¼g!ûÜé º”ÎWÚþN×ç;&ä’¸‰D¼ É8¹µ_æÑh´ÞC¡¶Nû!åÌgíxûó©T‚öâ9í}µ3vnÿXÙ ”[ûD"¹$[Éd‚D6^»ÓR<ËöK®ÎC8êFô:Kè…÷ßR¿æ“ò{J£Z(l­Ôµž¾û!¦~ÍG€KaT ù4l—ԯ݉Q»”iaÛ"'Mu}®+1/¨RÉ^Üíª«öCåñxÐ4D2ªª™6–Ũ‘; ذa}ΆeÙV/ÍÙvŽÄã 6lØ€Çí¦k˜‡CÏ”JTT•–¦6Ö­[ǰaÑÜîÞ[г0¿3 X¦…ÏçÏK°»q ]£B\Šá´O]tgPlÀ0LtM#gîÏ^bº‘I¾¡ë:f6 HnÜ]/­ì¥ÙqL–eÑԚ渙;°qKˆ¾ö ¦e3gïÁÌ=r<-¡ª"cY"Çì˲EŽ ÊP“ÉS§îžcú„²æŸB‡©°s_1'ÐŽf†ö1mÝ#vïR¦‡eYÔÔÔpâœã³Že©Œ† ÃZwÜŠlwR¬ÙEöÃÖ;ªîD¾´7~{˜ƒçPt$èRÖ²Ã^/åòïI[üy;ïºä;Ï=Ôîýô¼gr{¸—¡eÛËQ­7íõ%äj{ާ7o©Z…mu”Û¿o Ε‚®\5$¡`‹<ض±leÓ´1M«h–8Û¶:%(ÉÐË2ñyýŒ9*[I̦¬¬—êÂåro }²¬Þ9¨ÙtȆe0 ¾Žgž›ÏŒi“ñú|$“ ¼ª¢àr¹©ª®â¥—_cç±c‘…´Õì úˆÅKÿ_Ï IDAT²2qì]~2uƒêêj®¿áZF…–NçOÜ’w-í‚I^z5¶¾¼“eYYUuŠt:Í–¶8ë7¶‹'‰'Ò´„“„£q¢‘iÜîLHžmY`u×Ü´›QlÛÎùmhšF[‹Îœ}‡±â›&°mæ2š ·àqgR›ºÜnTEÉì‰<¹àÛqff%iÃ0•¦5ãä µaæ"—»êR‰EcÝÌ®ªÍvtAu` RK»go±„#–e …P³aß+®b1BmmÙºo/—»¡ëhi¶–ÒZÚ©Šî@ÑýâñxËrçCéñ« ­­-ÝJ€v·ŽÛÙbv„Õ²¬nð¦aâõzyé?/vò¨Ç¶‘d™µk×0sßý±L3ç!ÜÕ·ÇífÜØ±Ì;ó êi–|þ©d"§5² ÌaÌ^?šNm¿~¹8ê^]º"¿Ê½"ÑçŸ{>Š¢ k:Ñh$ÊÔéR˪躮c{r’¾Bo/HÑEåÞQÝ%+2—ÏÙ9“ÄögœL›‰£ëI¥u$YÍõ)uKÒ#²’ª]pLñ”ÎEÇNȨL“.—ºU¥ÙA‚+¤r·ÉÄé4”T:õ­]Ƚ…úú†n%2¿W‚ÚÚzT— Ó2¿÷ põýdŠéHâû.ÿáJˆŒJ4‡œ;ÐÃ¥ÜÖÒB›·•!C‡!èY»¬išAÜC×rŽG]%p! YÁåvUåT£y.îd*É^{ìM*•쬶˪æ&Žß5›¾Òê¥S\Gµ,ËTVV2m÷)L™<]׳žð6’$rŽ=’9—鬕¢í:×Bª§HÖ©¦½fw¾uÉùü6ôm‘Zì>Hø–m#uÀ_»iÄ4ÿ{ç&E•õá·ªãôä@Î9'AE$«ˆ‚uŠˆ²Š¬º¢’Q” ëŠ( À*QE‚ˆ’% “S§JßÝUô Ý==CXVû¨‘Ͼ4tÀ%,t9T½d¦Q^0‚w^2A°X­X𙂃Áõj’‘ÀØÛÄ0ƒß"Õ”¹€ ¾àž2T 2ŸÀJe’ð ç”™R|Û`hÌÁ‚hôÈç`(ÁüÀáÈívq]ç.¾JW@ýñ(E)JQ*/Ùmv¾^ÿU1åî<†ÏÙô³$§øò]Ëd* Ü¢8qü8i*Ã1üJš5ʯ'Š9r„¸¸xÄR’¦i$&%±oÿ>êÖ­W¬hFyì»wï¤Zõ¾<ê0¤( ÕªWg÷®\sm#»<æ7×ËüAýúõQ…¤ädüz€:uêSƮ;©é|jÔ`×δ¿æÚ­óñx8yò$6DQRRRؾ};5k×&Æn/çt|Ì~×O?Q½z äóÑ4 §³È—&Õ€¢¥(ý“"Ë~%øÜ9sÉ /Æá N½ºœúãšLyìF‚(–V‘ÊUªáv¹E­Û´açO?±{÷Î ÂdOLH¤yË%üú>D´’ul\Íš5cë–Íx=žò¹âüy¸+V¤Y‹ŵií|@Y–©U»6EEE|¹fµ¯äb9ûµX,Ô«_Ÿ +¢( ±qq4mÚ”-›6áõ^Ø|*UªD½&KXt7ÅæS§NœEE|¹z•¿ôgùçS¿AR+Tð¹tâhܸ1[6nða\À|*W®L½õQÂhîºU$Ð?)XFy¥‚õêwýíBƒ£¥(ýi(x‰W‘óJj÷ï×W{ç½9 ©ˆ¢É¨mã¸`³¤×_ªQEŸ9^ða·—ÈN)³néK}ÒŠ¥t ¢H¡V’¤bÕ¾}¦[10U¶\äcÌB@É_T¶—˜‡§ÿ¦Ã•^X¿šßÕ c —v>’à’ÍG=/§µôùèÌÒ7"³Ù„(ê`'¾7CZ’ý’«þX,vïü ³ÅBÝzõ =ªSH¦ÄÚRÀ‰Ò>Áptp¡(E)Jm²X,ˆþ8+Á(æeãÛ-›°Z-4oÙš#‡ÓÐ5 lv»•ᕤ Ž,ÕÍìCÕ.¸]³ÁŒ¾©iv4UÅd2‡Õ€Ê=‹5¨„á Ö_Xä|&tÁÝ ¾ºÐ—w>Â7Að¡–©ª‚ÙlæØ±ã¤Ÿ9S¬þâ׫WߨQ.Ï4,c8Ј`5 ÎKé*¥¿`Úx࿪¦²}Û6dEº¢¥¿¼vn—‹6W]ErJjؽÒìÛc}:Z\\<’,]1i=QŠ’N¢(ø‘ÏDü•3gÎЬyKTÅWÔB–dÀ ³öË5ôêssˆZìçkÌÁ|(í9ØïÁ0˜C]¬’’øÎ;¨^«6-[¶B’dÑÜ&ˆþZ çEñ䥪燋¢?€Ñ î7ÏéøêZ@6‚à‡]6 s_†GYûÑQøÊÖO@›‘ô²Í çô±_ô~0ê:{F%ûñ·©[ƒŠ­E`…0Ï(h?Ñ5ÿß^s¿;ZU|X*¥¯¹÷£ ?¯×­åÆ›º•ÎÐ ¬êC÷ŠjQºò¤T³¿þº•Ý»vñÀˆ‡ñx<þJr .— Y–¼ÜöìÞM‡ŽCš­Ãiå!áCmưKƒ½ e0™Ldggqý]ùøãS«Vm¼^¯ôÈfóeH’Èh³Ù|Xþszmu]˜ñz<(ªŠÅbÁâ7¹èe\õs¢(âõzý¥;l6&QÄÐÕjÅb± Ë2^¯÷ü~üÅœ‚õc6›±Z­çõ£ß¯ EÞŒÙl1‚vËÛž*z®‹/ËFó•J•e‹Å× €Ç㛣(ŠF?úsŸ ´x?V«ÍTòøû |F§D?‚1vQ¢kþ'[sQ9›žŽ(ŠÄÅÇ—ºæzùÞ:àr»}B¡ƒ’Í–Pô€(±Œ ]÷SÛí1¨ª‚Óéăh2û¢Š£B”.„™‹"=@íÚuQ‡_ñW–;Z¨!É2É)©ddf„gKhß‘s(y,+˜Í¦  [Ç<ÆðÃûÐϯZµ×\sMôˆR”þDt6ý4qq 8bc#ºþË/¿46ÍõTº†®ÉPqqàO Se ·ÇVk7›MäææÓ«Wo&OšHóæÍÙµk7¿þz€!wÝ…Ë_¬ JQ*•£Ñ±à}m"¿YGÕjÕ©R­:^Eñ›Î \r]0·PJ~É{l6«¡”dÌVëù¿cüçC8÷ä'IÒµír’ÉdÂãñø@e.R¤¿vthoš¦a6›ÉËË#11ÑÐÔÇyíê×^QH€QºBÞm/f‹{LÌyÖ9¾{ý\Y,æbI];Æá`ÓæÍ<ûì³¼ð üúÛo˜-tôt_Å4íÜ߀Åjç¥ý‹ &P·^=æ/X€Wòrà׃€pÞ½Ñ#z”õ'KßnÙHÝzõÉÏËåÄÑ£>@ Ãn~sVU•ÔÔTâãã SºÅb!5­B©)j©ièzS7RÓ*&=ùz½^î¼s ©i 0$MÓHM«@JjjÐçõ%¸\.ãQ “É„¢(Åþo2™eÙø[÷1^¯·ì^“Éd çJE•¼Gn‘žÕwàx‡Ê®]» p§À#ð}\¥SU•}ûöñÈ#[¸#Ø8Íf3o¼ñ àäÉ“\ýõlÙ²…›nº “É„ä/Ël2™xàøé§ŸŠ)zDÏ %Þ “ÉÄÏ?ÿÌÊ•+ÏC µÙlåaè>'¾Édfúôé´kÛ–¶W]ÅÈ‘#ÉÍÉ!/'‡ììlvìØAll,ÙYYü´c‡Qcÿþýädgáv¹xàÈËËó¥"’×ËŽwPXXˆÕb1‚¢Gô(Û‡Pœ\.Í[¶¢Víº4nÚœ¸„?6F$Ð7*V¤ïm·ñÊ«¯’””„ÍfcÇO?Q¹reR’“Q…Ô´ ¤¦U0Ùl&5­ñññ¤¤¤hMúß±qçÌiº®eËÜtS7*T¬ˆ$I˜L&C¢úþŽ;ÆàÁƒéС£GÆjµ2bÄÚµkÇÕW_ÍÒ¥K±ÙlÜrË-L:Õ€åݶm5jÔÀjµkoðàÁtéÒ…îÝ»3xð`jÕªÅéÓ§ñz½Ü~ûítêÔ‰M›6~LA8sæ 5jÔ K—.\sÍ5̘1Q1›ÍÌ›7Î;Ó³gO¶mÛ†ÙlÆl6óÍ7ßЭ[7n¼ñF>úè#¬V+½{÷¦S§N4mÚ”fÍš1oÞùÄp¿D)J¡-ÜföíÛÇÀyì±ÇX¶l™s®¯åÖÐbì1tér}o»V-[ár¹~ï}<õÔSlܰ‘#GŽpϰá,[¶œûÿþ…ùüþûï|òé§8p€!Cî¢Jåʈ¢ˆÛíä‘Gá?_ÿ‡Ç{Œ3gÎøzò‰Ñ#’#Å'$ÇãFUU%)L)Òó ±8‹œìß·ŸÃ‡`³ÙX¾|9‡ p»Ýüýï硇FàñxE‘‚‚†ÊoÌ0ê^O6””Ž&NœDrr2·˜ÙLUUöìùÙÏT}åK³²²˜3g.II‰AqèuæPXXÈÈ‘#™2e Û¶mcÀ€;vŒü‘~ø÷ß߸vçΜ={€?þØ@Ô…#ÇÃÒ¥KÙ°aëÖ­ã‰'žà¥—^¢jÕª<ú裌;–-[¶°bÅ rss íùøñã<þøãlذï¿ÿžï¾ûŽ£G²jÕ*¾ûî;6oÞÌçŸÎ+¯¼Bff&¿ÿþ;S¦Laýúõ|óÍ7|öÙglÚ´‰5kÖ°eËš5kÆ/¿üÂ}÷Ýg_}õ½zõòíC11|ýõ× 4ˆ¯¾ú €þóŸlÞ¼™#F0~üx&L˜Àwß}Ç€xùå—}k2u*[·n¥k×®L™2…J•*qøðaÆÏO|MÓhÓ¦ ¿ýö›?ÖBŽ åÑ#à ˜µÌét2räH¾ÿþ{Ž?΢E‹Ø³gaÝñ–àM,¹‰€¯Œâûóæ1uêöþ²—Zµk㈉aÒÄIûl%&³«ÕƲåˉqÄž‡3/ŠäEU•bæùôôô¸ :#Þ³gW_}5Õ«WÇétÒ±cÇóÌôúµ Ü|óͬ\¹’;vP¥Jš7oÃÅbÁd2æüµkײjõj†nl©©©:tˆÂÂB£¯„„V¯^ÍÒ¥K™>}š¦Q·n]>üðC&O~"§«ÕÊðáÃÙ¸q#_~ù%cÆŒAUUÜn7'NdéÒ¥†àár¹ K‹ŽúxúôiªU«ÀÞ½{yçwxûwHOO/& õèу]»vùçîƒtîׯ?þø#P¡‚ÏŠÒ¿ÿ¶oßNjj*Û·oç‰'FÑ¢E žþy#ºÚl6ãt¹xüñÇyñÅILLBÓ4ŠŠŠ˜4i={ö¤}ûö´iÓ†9sæ0hÐ FM÷îÝ9xð ­Û´á…^à¾ûî3@‹rss 5I?=þÚ‚`ìKz­ ³ÙÂÚµëˆÅãñ°bÅ 6lhÔÀÐ3u"QQÎK[CSQ_¤{B|ó–Å„äu£¨ªñ1zÜ\.NgéééȲŒä•% YQðx½†é–[nášöíÉÏÏš¡¢T¦€¦@fž“ÃÒ%‹0誸i›—G›6m"zÇ 6ìzöìÅW_­åßK—Ò«OoŽ?Nß¾·ù4¾)SHOO§[÷LñŸÓ™©Ùb%66t½“Åj¸DQ¤jÕª¼øÒKœM?S"g^@‘%Ù÷I’I—Ò5Õp)X,:vìˆ,ËÜqÇí0dÈzöìÉ'Ÿ|Â矯¤S§ÎôêÕ‹ÂÂB6nØ@LL [¶lfõêÕ̘1ƒÂ‚ÌfS^¿ ý•+UáСChª‚äõ šLx½,f3v›•X‡ÝpjÈ’„,y°Z̆‹Mÿ¸=~” ¢¢$yuŸP¨(2x4ÌV‹…¢¢¶lÞÌàÁƒHJˆçž{î!??ï<ȧûþUÙ¨æõxþú¹ì¬Lî¸ãÒÒR¹ýö~<úècxÜnš·hA¿~ýøÇرTªT‘:uêP§N\.'Ž;¿ýv—ËEƒ Š “&“ˆÅ?ß:uêЮmÛbcÒƒ…5UAöz¢0¾QÂt.Ë2 àõ3jUU°ÇØмÏâ.dddп`š¼¼<4U#//Ÿ>ÀScưtéRróòhѲ999(ŠŠ¢(ää#Ë2Y™Y<üðC|ùÕWlÞ´™Ì¬LjÕ¬EÅŠ£8ÕQ*St±Á‘9ajBÝÉÉ+D<^¯¤ +*²¢’SD†·“ •*$Ȳ‚,IÜÿý;~ŒÄädˆÂáppäð!<¯á·X,¤Ÿ9Mzz:§OŸ 7'€ØNNN®ñ‘öeT¦ ¨®—““×_}Eß[o5´AãÃ×4œ.’,ѬY3&MšÌhܸ1k×®¥G8Elݺş+æ]€ûî»—Ó§Oc2™ ÁfÅŠO±Ù¬¸\nöïÞÅÊ•Ÿ3cÆ ââ㑉ƒ¿ä?ÿùš#G3~ü?INIAñç¾æååÑ©s'úÝ~ëÖÿ‡}û~aèÝCýÔ>üðC²³³˜¿`óçÏ#77—Q£žäúnÀf³ñÌ3cyüñ‘øz9ªW3iȲDÛvmY¿~=½{÷¡vÚ,[¶œþý°~ý:ºuójäååòÍ7ßpÕUW¾Çãæãÿöí¯Æd2‘‘™‰¢È,^²˜k¯½†Ü¼|œÎ"ãzY–±Ùíüúë$I"''‡ãÇOß~»æÍ›ã`Ò¤É<ñÄãä䑟X¬<´þZbè }ÿþ}T«VÅS-+rôCŽçÊOËŠ¢ZQî¸ý/^BµjÕèÓ§/¿ü/š4i‚,K˜Ì&E.»†®égÎðÖ[oc¼œ™g™7ï}#§V­ZÌ3‡S§NÑ A²23x{Ö,âââÐ4iS§Ã#<Œ,ÉLž8‘ß")1‘*Uª”ZÝ+JQ ¥¡û˜º‚ÇíÂérù|Â^¤ + ^IES<ˆ‚öÐl­š5q{<ôîÝ˨ÆW§NmdÉËäI¹ïþû1™|škaA>'¾Æíwô§uëV´nÝ €‡~˜«®jÃ7ÞH“&MPe‰5jcW\m»víhÛ¶-_}¹†³g3زy <¡û|Ý>P ›ÍÆ´iSyùåqôè1:tè@=¨Q£&YYYȲŒÝn')ÉJ­Zµp»]ÜrË-†å N:hšJNN.‹™´´ üóŸÿ$77Î;99Ù¬]»·ÛCçΩT©¯½öª1UU©^½:óç/`Æ8NúõëG5hРÙÙÙÜpà 8Æ{Ž””RSSyæ™§éÛ÷6Eá¾ûî¥cÇŽäçc±Z©Q£z±öN']»våÅ_âĉãtíÚ•_~ÙG‡6ìºuëÎsÏ=Gß¾}©\¹2o¿ý6n·‹üc,ݺu£V­Z¼õÖ[Ȳ̨QOеkWêÕ«Ço¼Á¡C‡¨R¥ š¦"Š"ÕªUõím™™˜L&ÒÒÒxüñ‘tî|=íÚ¶¥uëW8|øÉÉI4jÔ·Ûg‘¬]«IIÉÄÇÇùÎÕ®e¬[íÚµ˜?:u2²¢É(•îõl—¸Ø8fΜI=ÈÏÏgúôé´hѧÓiiª*ÀBÿ~}µÙïÍM%.>ììL?ôÜù…+‚bÌõ[i©@QŠR(ÊÊÌ ^ý†Ї?øŽk;t 3§MWö3t¯¬"{Ý´¨è¦w‡F¸<’].Hq=m-ǯaëYZZYYY˜Íf’’SÈÉÎ2Àb’’SP_ŽyFFq±±8ââ‘%Ÿ{)++‹ääd²³³‹¥-éÑñÙY>FKNNŽEo‰aÝW_Ò³wV­ZEÏž=<ô¤¤dCûÏÉÉ!55ÕðÓúL× ©©iäädÀ^ª¤¦¦‘e˜‹õëJR~~žL>F•››SìwQIHH ÐF½¢i‡»=ÆoöÏ7,‹…¸8_6€ÓYdjšFRRYYYÆ3ò™²Mìß¿³ÙLƒ °ÙlX­6¼^………X,âã}Ñê99Ù~Ó¶ù¼sýæädc±Xˆ‰‰ñgߘHHH ''Çx&: all𦒛›‹Éd"..޼¼<ã}III%++“¸¸8TUÅårçA %%•üü<6lØÀu×]WlnQŠ’ÉdâÌéS¤¥Uô•¡ö§v»}ûöqüøqn½õVòóóE»ÝÎÆ¹ñÆù÷’Åô¹åt·Íf]œAð™Ñ¼ÈD°HÜ`ÿ†û-jjRyÈjµ!ÉV1˜«üWfff1ÿµÉd"##ÃI?sÚ`º¶~æ´!˜êU……£2›Í†@˜g®·¥ß'Ër1fn|Š~ÁÂjµ ÌÈ8ëCrô§Šeddc¢(’‘q¶X{ú9³ùœé]EΞMŠ#/IEEEFÀN17€ª’ž~ÆØ„s×‹ŠŠÈÏÏ7ž¡þ|<‘  Ÿ×ÝxúsÔ^UU¥qãÆ‚€$Ix<žb9á’$qölz±ñy½ÞóÎéýêç<þÊz.¼¾î}»Ýîbs—eÙ8teD–X~N_#“ÉD·nÝp»ÝQÍnî<öK°WR?—{Í/æØE“ɰÉŠŮյuýœÝã«Y\+(C×oþþÛ-¸Ý.¸€jk>©U0•P£t1H’$š4mFB¬ý¢µYÞò©¡Ú*­|j°öƒº¢4 QHOOgãÆxŠP˜Jê°Úl˜ýÚ¤W’Ð [¨þÂj‰z ³ÙŒÕbAE¤…-tm8°P‡ÙlFV¤0…:Ì ÖÀB²ŒÙd Y@#T?Š¢„,Ô!+ ³‹ÕŠP†~ôâz?% uèÏ(\?% ux%_&‚€-°?jœÕjŪÀëñœëÇbñê$_‘,?Ñ5ÿó¬9‚@nN6ûüjb äš{½^âãQe=(Nˆ@C|Aë¶íÊ]:UQbã|¾·Œ³gQT•ää$l6»Ë] Z–5J$(º\Î‹ê² Vœ%\ŒG¨ß#‰)©„jS÷oÿ¼gwJfff@iV_YÅ@ô¼@É^+¡õ¡—¸,©i¨çŠ<è¥YÕZc°6ËÜ®©\¬~à\µ© ý”ç•­Ÿsc/?[‹‹ÖOtͯè5÷ƒXªŠê{>ô£¨*$Ä'PÀF±zè11Žb8Ó‘j9ºÙðãå³fÝ$EB4 ¸ŠÜ4nИ'}’”Ô”2·¥(2\Ç}Éû)/S/) „º¾4PZI’hÒ¬)ßmÛÆ'Ë—E-\QŠR”0›Ì´hÕ²T´,s°M©d´ziÌ<''‡!÷ Ážj'7+—„Ć<<„£¿åÛõß2à¾<5â)nîs³ÔÎüY²ïP,‚]LÐÖvIj°¶CmÒ‘Ž©4M®ôRšZ©ý3çFZ 4Üý¥1³pý».’g.Sâ¯"´èz‡Ž×áõ¸ýÚMtC‹R”þºÚ ˜M&Ìk©{¢ùB7 MÓ¸õŽ[‰¯×å¥mǶ´íÔ–¯–Å®m»èܳ3×Üx o¼õ tîÔÙ`šµÎH IDATê̽äF^rÀ‚ °uëVgZ÷…“(ŠÌ›7öíÛЗ%¯¹ÜšÞådL—zŽk.%ÍÞ—ªŸËAºæçŸeÍj³G7³(E)J>®.h¥Æê˜ËºÁê êÌxꌩT®_™ë{\ORZÎB'_.û’«7r]÷ëhÛ©-…ù…Üyß¼1ç ®½æZƒ‹¢È¸qãÈËË#!!nݺѵk×ó´x}o¼ñ[¶l1€:JÓsrrp8¬X±‚~ýú… F*omì`÷E ImìòY•ü°ûK Leé3’çt1‚Ì‚=‹K-ð\ kîë#²=JQŠR”ôs­sÁE?“^³f ªª ªª‹(ŠÜxã$%%›š×ãeøëá»(È+ÀëñòéŸâ*rÑᦴ½®-‚(`¶˜Q•Ju*ñéŠOxç@csÓkÀž8q‚>ø€]»v1zôh¶oßNzz:·Þz+YYY;vŒ•+WÒ·o_<È®]»hÕª5â?þ 66–ääd²²²ˆÅl6ãñx˜1cÙÙÙÜrË-ìli¦é 5¹—ÅôJû“ûŸ? ôBMîåùíRiÓWšëí;‹ }P¤Q܆(Eé/ÏÌÓÒÒ¨P©’T(ÛCŒ#†: ëàñxˆ‰aÞÔytêÞ‰:ëP­V5vîÝÉÀ;¨[qþÈø*UªðüóÏsï½÷°lÙ2Ž9Bƒ xíµ×xâ‰'P…øøxvìØÁ×_M§N˜;w.O>ù$+W®¤AƒtïÞÍ›7£( v»Ïdc䇖¦í…2ù—¦%_ †RfÎÄ©/¼,ZmY4ÝK¡Y_Jæþß^sÝjå,*bÛ·ÛhÙº5¢E‹R”þÂìQ4±oïÏääS¿~U )è›Kn(3fÌ V­Z|ÿý÷Œ?ž5kÖç+KXBC9}æ4ŽxЬ`2›8qègOÅëñrì÷c|óÅ7Øív–¾»Ñ䃱ËÈÊൗ^CQ•bˆR:éHOsçÎ¥[·n¤§§óá‡òì³ÏR¹ren¼ñFÀ‡ž³mÛ6 øá‡HNN6°«cccÄ)))4lØ!C†à‘l¸áç‚i÷¡Ì°áC°ûÃAì†Ó¨#a̡̾¡‚#{°6Jse”ì;Ôs½”&÷+qÍõÖm[·Òµ[wRüeL£¥(ýµ©n½z|¼t1uëÕ{Ýy>tEQxòÉ'™:u*Ý»w§FÌ›7Ï€_ ܰ’““‘<¢YÄ]àæØ¡c´º¶«VÄbµ`±söÔYÚ]ߎSÇOqä×#ô¹¹qû5½ †ÙlæðáÃÆšššJ·nݨ]»6:t0™V¯^ͦM›øç?ÿÉ[o½e¤ÃøÊ.=z”:uꛤÛí6JóYGª—ÜðK2…²š»C™l#±*c<¡ÆIàY$š}i‘´_r|¥=‹KAWÞš x½^±±F,I¤B]yÆPkÑåt³pC §¡„ɨk-ºæWÒšŸ>u’‡ƒ¤¤ä°Ïºäþ£*š¦.ñõ<†®GŸ?õÔST¯^AƒH9—¦i\}ÕÕL›3¸¸8¶®ÛJ£¨Z«*Š¢P­V5œ…NæMGãÖ¹æ¦k¨—VÏè`óæÍŒ5 §Ó‰ÝnçùçŸ`„ ¼ôÒKØív’““iÙ²%yyy4hЀE‹ñä“O’žžNµjÕ¸í¶Û>|8Ÿþ9Gåé§ŸÆårQTTD—.]èÞ½;³gϦ^½z! Ê„b:á´­hPÜ_3(NÓ4bcc)***Ætu²Ûí8ÎórYÖ8œ°p%¬yÉl•‹½æá¾‰ÒŠBûÖ¢ßù•ÿÿÙ×\(×ð%‚ Á¥²ÖC`ꊢ0hÐ Ã×lIÉI´jØŠ#‡Ž ©I©I¾bŠŠ¦j €#ÎÁýOßÏ™ Q¼ ÿ˜üb>pà€Q4!P‹®S§ ,Àãñ˜ÈÿùÏÐ4 °dÉã7–-[Vìœnž¯W¯ (Vl"T±˜Hͯ‘˜p/Älj ‘0HMÍeùðB'ÜK_šÉ=œYûr¥êÖ’T%™tÉñØív¾þúkºté‚Ëå2TfËÖ­tºî:\.×y‚@(t©Ò6 ½mýþ@ЙÀs¡p¥Kƒº-Ùn0$½À1‹¢ÈæÍ›éܹs±Ì”‹µæá¾‘pî¦P0¢ßù•ÿÿÙ×<cün#æÃQȼ˜À C%?x½ÊÀ¨GF±îÿÖѺCk¾]ÿ-û~ÚGÆé ÌV3h`¶˜ÉÏÉ'>5žÛzÜF¥Š•PÅhS’$ƒÑž×4 Y– áB§·äoFÁøçôöJ¢m3c‡ Š*ù[àË\ò(¹øÁŽ’mà½áLî¡ÆªŸHú5¿pG¸{J[ÉkC™ÜK›óÅ"ÇSŒ™L&£:X¨ Lââxfì?ˆ‹7J…êï¥,ËL˜ð ŽX_‰MUÓ°Y­œ={–S§NÁš‘ºSô=77—#GŽàñxŒoçðáÜ8qÂh£d…/A‚ÎçäÉ“;vŒãÇsâÄ 233ypüøñ ë‘žžÎ‘#G8zô(>ú¨ñí]ª5ÕVin‘èwþ¿ûÿÖ<°?Qyýõ×8p`È9EBæH%´PÒKåÊ•™ôÂ$F??šN}:Q©J%¾ÿæ{œ…N·nL~n>‹ß[̃Ãäž»î)æ‹/YÙªdß:£×ÇXŽR¿/pL%sÓóxuþ’Ò…˜e"•LC™c"1Å…“²Cùm"‰b¿PS\¸~J ‹Tb¾”hq‚ ’šF“&MhÕª%,X€ªª|üñÿ1üÞ{Ñ4•ÌŒL}u¶N'’$a±XŒ¸´4_ÐZbb"………‚@RR999$''}%&$0uêTöíߢ¨$ÄÇ3iÒDdY&>>Þ¨}nÃY°`ëׯ'99™œœ-ZDÏž=iÒ¤ ¹¹¹¤¤¤0kÖ,Z´hÁM7ÝÄ{ï½ÀG}Ä]wÝeŸÐ­W ,0RS˜9s&Ge×®]Œ?žš5kÒ¢E FŽi<ÿß~û®]»rÏ=÷ŸŸÏÌ™3INN.ßRš6‰/µdì@$~Í`Ú[ô;ÿßûÎC]ÿgYóPs™>}:»ví¢V­ZÜÿý¼ÿþûå‚J7—6¡Ò>@UUiݪ5+¯àÕɯ²é‡M8’¬Y¶†c¿Cóh|øî‡´oÛ¾˜ù¾´@…Ò`@K3•ü·'" ˜ˆ$X&ÔB½,Qèײ™"6l@rr2ßoßN›Ö­Ù´y]ºÜ€ª(ìÚµ“^|QyeÂÚµkÇæÍ[x~üxZ¶hAFF&ýû`õš5H^={õâë¯ÿƒ×ã5ú*,,ä®»î¢råÊXmvzõêI^^gÏžeúŒ,Z´˜ÌŒ³!çyòäI¾ùæ-ZdX²xçwøÛßþ@óæÍq8ìÛ·¦M›²e˺wï^Ì‚%Š"ãÇ7ÚŸ5k[¶l!66–‰'²bÅ ìv;/¾ø"éééT¨PAÈËËãùçŸgĈÅÜs«V­âµ×^#&&†¹sçR³fMZ·nM‹-8uêK–,!..ŽÎ;Ó¬Y3222øòË/yòÉ'>|8­Zµbß¾}ÌŸ?Ÿ×_ÝØÌ›.Ãû’#ñï–fÒ.Ï}¥™~#™Si׆jûbŽ¿´~"y¾‘úþõõg\óÀóEEEdgg³xñbÞ}÷]öìÙCË–-# :ŽHCØfï—¤ããã™8a"‡C‡!Ý+‘–šFµªÕ‚JÝ%Œî+ÊúÒ\¨ßúJ"Y’2x0+>]Á±cǸ¾óõœ:uÑd楽ÌêU«ðx< 8ˆ 7òÊ+¯°uËfΜIç¦nÝ|fn¿ \ÜnÏyž,MÓp8‚À矯¤V­Ú¤¤¤ #AaA~ØçrìØ17n|Þ3T·ÛMFFüñ‡Á´‡ Æ¿ÿýoš7oNÏž=9~ü¸ñ› 8£W_}•«®ºŠFиqc.\ÈðáÃY²d >ú¨ñ~T¬X‘gŸ}–uëÖQTTÄš5kp¹\L™2…-[¶pâÄ FÅòåË‘$‰… ràÀž~úi>üðC.\È?þÈ#<Â믿Î<À’%K7n ü–Q‰gŒÒŸ“„bü3..Ž—_~ÙÔu¹<û¥¹43M¤æKMÓP«ÕJÓ&MÏm˜ŠO+æ7 ×gI_F$÷”fú¹ÜLòb`¹_ÀL¤ÏáRŽ+’õŠô÷KAN§“ëoè¤I“ùúë¯Ùµ{7oûµ^Y–ILò™”½þÚÍV›šµj’’’ì_kŸÏÚl±>yUUIIIaÙòå,[¶œyïÏÁårOçÎÈÈÈ(x*à«·¬©˜Ífbìv²2}ÖÇÝîÃ[0›L x'‹•É“'ùçSD›6mx~Ü8V}ñ?îØÁ«¯¾À#Ó§O3‚ÍòóóhР>oÍ|I– æT«f-æÎƒ$IìÝû E…E¬ýê+öíßÇ¡C‡ÈÍÍ1úŠ‹‹cÚ´éÌ_0Ÿ?ø€ï¿ÿ-šsüøqfÍz›Ùï¾K–Ÿ êò»††ªiÈŠB›«Ú0}Æ Þ~ûm®¹¦=Ÿ~ú)&¼Â©Ó§ùá‡ü‡o“ÈÎöõûÎìwüBH^žo>‹/1ú˜0áeŽ=FßÛú²mÛ·htìØ÷ߟúóûï¿#šLT­Z —ˉªªx%™¬ìlŸààr‘`±’“› €Åjå³ÏV°cÇn¸¡ «W¯á»ï¶±|ùrzö쉬(üß²e<úØ£|ðÁô¹ùfž~úin¸¡ ìÇív øªÌE)J6ÝÜà¾w\UUââã™8q"'O¢IãÆ<ðÀƒ|þùJd¿Æ~Áz¤¾‘pÚzÉ¿=®MÏž=ùñÇ´jÕŠûï¿€#GŽ2räH*T¨HAA~±ôÒ(EéOÅÐöºÀì¬U«VѵëMìÙ³‡ö“`¸È0lƒ´ß¿__mö{sQU…Š•*‡ $+ñ” %óáü9üv$ªU*#pèÐ!¬VõêÕ%''“IDQUªT®Ìç+WR³fež}î%ât´À7Ý”¯ªj±ÜØ’ÁaúƒÓ L „ŸÕÛ׌²%ôD‚r*Ы¬Aq¥E›–1¤âÒ¬yø¹Hƒâôkòór±™^\°k;t 3§M·WÆ+)ÈŠŠWV‘½nZTtÓ»C#\ «ÕÊî?a¶X¨[¯~±w$ÖáÀY"W<66ÖHõJLLôkܹF HRR’$¡ª*N§³ÙLbb¢/çܯ½ÆÄÄÀ2ªª‡Ùl6Þ·ììlAÀjµy욦a·Ç°~í—ÜÐõ&L&A8÷Î&$$²,át:‰=/Ï]{És8¾˜—„ îŸ`ápÄùùùÅ\>¡ÁŒÛí>÷üüm ‚@\\¼ßJ…$I :”uëÖ£ª yyydeeóôÓcøôÓ¨ª‚¢(¬\ù93gÎdùòeÆó‰R”þÌ&÷Ó§N’œœŠÅj)¶Š¢ˆÛíÆápþtK/¦gï^è>x›Íη[6aµZhÞ²5G mrDs ‡É}¾f¥b盯—pâÄqP²sr0Y,ôèу.]º i’ÓÉÎ;ùõà¯ÄÅÚ‘¹³Œ®×}ö¢(’Íf#66ö¼¯EEEhšFbb¢±¡åúM…IIIçaÊçååáp8Œ4¹pÌ/4¡Pi¤Ráp×Ï•1*·1¦ø…®y$‘§¥ÍïR×s¡37Î0D0ðyéïŽþN*ŠB¶ß­_Ȥõw0سt»ÝAk h¨ª†(žKµÔ]øÇYätúÌó÷ΟR˜ŸžŸŸÒ ¢ÿVò=Ç>pô¶5M3î3›Í¾Ì€W^Áãqãñx0™L$''1nÜó¸Ý.¼^/1’äåí·ga·Û‹ æQŠÒŸ‘÷»’ﺢ(X,–b˜:ù\Påô¡—Ÿ7"mMUÈÏÎæ·ßGDÅe3#&Äar{ùꫯØñÓªW«N§ë:ñË/{ÉÊÌBSe✟ºwïÎúõëùå—_xöÙg™={66›qãÆáp8(,,dèС\ýõÆFº`Á6mÚ„Éd¢Q£FŒ3†¶mÛÒ¯_?Nœ8Á„ ¨Zµ*ÇgáÂ…¼ÿþûÌ™3‡½{÷"‚`W =œ¯øÏ€ñügH[+p «½´5f݈䚰L€É=ÈàO;Ø'®•²Þ‘keq½„x›6mŠÛåó‰XÌf7n„ÇíA ¨°ÛûõÃ+I¾ ÀhÖK”þ&wa«Šrþ;¯ihÁ,ª‘ÉÝ|¹&"Ëšhæñ‘#‘% Åa!ÆbeËÚ¯Ù±ó'\E.L‹f-¸¡Ë Œ;–ÌÌìb¦‡ªU«râÄ ^~ùe>ýôSL&cÆŒáÉ'Ÿ4Òn ‹õ»xñbÖ­[@¯^½3f ÉÉÉüãÿ0j½ìÙ³‡¶mÛ¾ ŒŒ _ Xônyîb2ž²^Õtþ;ëEXqÐ-ªŠVŽÀ˜+…P^1*q®¨Ä÷¥(ý™I‘eRRRQUU03S·6G°¿\†ÉF¦(2^ÉC~~>U«VA‘eÐúö»_öïCòJ<òð#˜,&bãÑ4j•+kûàÁƒ<ûì³,]ºÔ0;vŒFáõz1›Í†É]§çž{Ž=z`µZ6l=öóçÏgÿþý´oßž»ï¾›Ÿþ™úõë˜$ó/zû•š¶ößXþÛik—Bë¿ñ˲B:uضu+®».ŠÕ¥(ýÉ(Ñ4E‘Ý;w’š–æ3¿ edèåE*ÉH7#UUP%/¢Édh!àÃ9r$ÿ;–>Ý{ ‹•+Uâ»-[P4•@bõêÕiÙ²%ï¾û®‘|¯ÃpšL¦b2ô¿/^̼yó°ÛíŒ=š!C†0`À£Í¾}ûr÷Ýw³{÷nF]l.>½P¾òp‘êå­ IðZ¸1DR…)ã¿k^ÿz¨gu©ë¡GŠÄw¹ÖÜü&S³Vm$¯—õk¿:¯A”¢¥¿išFÅ iÖ¼9BÊŽiè¥ùxCù;Cu&Ë ^¯›Õ†ÍfCQT_ ¾±öZw¾–*Z#üƒêõëqÄäÆõËQ„€¨×¬¬,žyæÆŽË«¯¾ÊsÏ=Gÿþýyê©§5j¿üò ‹…›nºÉ‡Ëåâ?þÀn·õÒgΜIÿþýùöÛo©Q£Ç§råÊFTüÙ³g9qâµkׯb±D U[ÒZš_8ÿu$QâerÅ4/ÖšGR½,%/••!|¹Ö\o_Qê5h@ÃÆM¢»Y”¢%YF R91"† 2[°M>”öåSw}>ƒÃGŽPTTˆ¢ª>Ë(€ªqSÇ.¨XëÖ!Þb'öH&N“ !`Ü<ð“&MbÁ‚=z”¾}ûR¡BfÏžMÕªU>|x±1¿÷Þ{LŸ>EQ˜={6]»vå­·Þ¢zõêÌš5‹Í›7sÝu×s˜2e íÚµãÝwße̘1†Ÿ½4M7Øs eRÇCiŽá˜sYøÂIxkÍ#Ië 7ßË,Sáçr­¹uQEQ¼Ñ,JQŠRX¥+" ½´­,š@^¡“úõë`µZñJ®ü\¼^Oa!ŠY¤0'·* X]œJ/ ÕUWñÍÆõÅÌèwÝu—a×·¢(tèÐ:íÛápàúœš5kÆ«¯¾jœ;|ø0=zô0Ú;vl™ŸÃÅ2­DÚÏÅÂ_/Kd}YÖ¼¬>üÿ¶¯ør ¥=ð¹JV0‹R”¢ô×$Y– äÇ2kèåe>áü ÕkÔÁlµ±çÝ™œ>y–êU*b7©ÄǦ!i Z|E²Ê‰S‡ÈÎÎ`ïÞ­ü°cf³Éy ,‰¸ñ…Ë/9®’CUU#X.°Ÿò2›H™r8I«4M±dŽû…¦­]Š5VÆ0”Æʼ})k¤–‚˽æú;}ø÷ßùíàAI4c!JQú«’¦iTH«@Ë6mBV+ ËÐ˥䆛@ë6×r`ïÒÒ’Ñ4Ìh^E"ÖnÃãÒ8xà,ÇŽýÁíýn'!!!l2~ið©Á˜d éÈpÁæÂICú5Ô|" Š ×Fi÷—ú5Ò5ÕÞŸ!(îR­¹¦i˜ÍfN?ÎÙ̳ <$Z¤$JQŠ»vî`×O;¸ºý5†/=b†^V`™ÀëÃÝc±˜iÚ´)ÓfÌdüøñ>|·Û…ªø€2<^7+Tdðà!<ûÜóÄÅÅ…ÝpKè4ŒY«Wš†^`™pÏ®4A¤4ͯ¬z$÷_Œ56‡P¾øË©¡—ölÿ[kn6[øý·ßèÙçfTUF¹G)J2 Up,µnÓ–¥‹–º”©zYÏ—¼Æn³Ó ^æ¾??≗&p\H1™‹ÅDB™–ËÃ`Cµ[zišY4Õ 5‰‡Ó´#Áz¿Tú¹æ€vÙjÔG)JQº|d2™8vôqññ$'§”‰_išæ/Ñ"”¡GÊ(Bù©CE »ÝN¬ª ’äEQ54UóW–RÑ4_e9UVH«XÉÈ)gê,+S,+ó—®.Õª4lõ`BIiée‘ OåaìsÍËÒ~yÖôâpóò¯¹ªª¤¥¥‘™™y^AAHLL$;;;hLF$k®ÿ÷¡5’e9ê2ˆR”‚0ußw!C~½B|© =T!‘P×Ó¨A   WáY¼'.¯Š"{ðJŠ×ƒGö¢x=È’ŒË-ár‘_PÈ ]{P»Ný ÞàC™C/šZifÛH‹D:–˱Á_Œ5ÿŸ0}i*‰‰‰È²lT Ó+§eff†dF‚ ’’£=Æ[3g’™™i ?é8ÍÏǤIÉÌÈ4Ú‹‹C ‹Šðz½¥øä‹r¡Øx$I:¯Æ€×ë5"ãõqèã’$©XÆH¨úz)VK8êî©Àq”ì`ëÖ­deeÑ·oßbÐÍÁúÕÛœ_É6E)voà\¢¥ÿ5Ò|·a‰Ócg4M3ª(/zz¸ ^¥i4ÁüªññvÖ®ÞʃJjj*|ð‡bÔ¨Q$''£(Š1oQ™3g§OŸæÑG%99Q9|ø0Ÿ|ò cÆŒáôéÓ¤§§›ŸÅbaçÎ,Z´‹ÅBŸ>}¸þúë ¦?sæL @¥J•E‘)S¦ð÷¿ÿøøx, 6l //Ûn»-ÊÔ£ôç`ì‚k÷îÝÙ½{7¿ÿþ»¡h”u?/TŒ&T$+7—ÚS«VM“âI«ŠÍæ`üßoæÁ;oâ±!=qçM$%§`³[X¾b999Å6S]‹Ð¥úÀ¿@æ*U*ص%KŒ†òã_*D© IDAT͸,×^Œq•'/’5/+cþo“‰qÄòÆŒ7˜ùÖ,œN'v»ü1ãÇÿ‡Ã(ŠìÝ»—}ûöŒÝl6³k×nN?fœ;uê´¯–·(òÇÉ“çÕõŽOàƒ>¤Ft½±+?þ²,ãñxÈÊ e–§˜ô~ÿý÷ãñxøÛßþÆÖ­[˜8q"C‡¥cÇŽÜ{ï½¼üòËL›6ÍÈYýðÃyê©§ ÍVï§W¯^ÜqÇÜqÇ\wÝuìܹ“ÔÔTÞ|óM8@=xùå— íX×ÎGE­ZµèÑ£ëןɘ={6Ó¦M+&üüúë¯8NãÿóçϧeË–ôïߟ·Þz‹Ý»wc2™Ø°aË—/gÚ´iF›O?ý4ÿþ÷¿1™L¸\.&L˜À›o¾Y¬è=þ}ÏÓ…Ù~ýúñÐCñõ×_Ó§O233kŒë/”¡_ †dœÓ4UãÔÉÓüzð éééœ:N‡¦Õ9r2ƒ>íêq}Óê¨^/­êW¤ È…ÃfG4‰†¤?sæLŸvd21iÒ$~ÿýwL&«W¯æ¡‡â…^0êRë :77—Q£F1räHŽ;†(Š<ÿüó<ðÀ 8?þøÃÐ>æÍ›‡$I†f°víÚ0Ô…1åÒ˜byJŸ^J¢úè#¶oßÎŒ3¸õÖ[Ù·o_±~ï¿ÿ~FÍøñãyì±ÇصksæÌáã?¦Zµj¤§§søðaöíÛGË–-™5k«V­âÇ ëK½\yyÚ,kZÖ¥ï•îWw91b+V|ÆÛo¿Ãˆ‘Ÿ—¬Xñ}´”¥ÿ^Ê²åŸ ˆ&Ö|ù%‹/fÆôi¤¦¤––j0² Ò !àÃEI’øüóÏiwµÏBOݺuY´h!Y™ç½cªªùK,ªäçço|GN§ÓhwÖ¬Y¼ôÒK¸\.ŠŠŠxüñ‘|ôÑG̘1ƒ'žxÜ`ï¾û.³fÍÂä2u»]Œ=š—ÿõ/ìv»O86Œ!C†°`Á.\ˆÍjEQ4UÅãñpðàA^{íUDQàõɓ͛7sÇwÌ9..ޱcŸá—_ö²lÙ2bccï811‘¿ýío\{í59tˆÎ;“ž~†5kÖ°uëV~ýõ Ÿ}¶ðU<ùØcL›6•+WòЈFªª¢*Jôˆÿ[‡ª i>QU4MÃCÇŽq:¸].6h@íÚµ‘$¯q_¤*ú!Å…ò;§(*Цqäè)®n_“š5k³dÑšµk‚rUk*ö¹Éí&û›¯©xâ$r~—»X?v»W_}•[n¹…ž={L~áÂ…x½Þb‚¾A6iÒ„3gÎ`³Ùhذ!999 4ˆääd&OžLBB?ÿü3µkצuëÖFzá– õ©‡óï‡c‚á~´VÖJyeEÁ‹tÍCÍ1NÀå4ÁëíK’Dõ5IHH`ó–-LxåÜ€¡YªŠbjéÿJ’„ìÿ]/ú#In·Š}{‚ ••Åà!w1xÈ]tìмü|L¢ˆÇã!&&¦„H@–¼¨Šˆ¢(TªXÑT­6®Üp8P…””dÒÒÒxì±G_`\RR2V«…­[·ø™½OHJJDÓ|BµÕbaÜsã˜8ñ5RRRýÂ@!½ûô¦y‹æ?~œÎ:’׃b2áv»¸óÎ;‰‰q0ðÎ;ù׿^æØÑ£,]º”#G³qãF.üŠ+Ò¹s'>L^nŽÏ"áõbµÙ8{6U_|NÕjÕ;ööìÙÍÒ–2æé18E<óÌ&OžÌ°aÃÉÏϧu›6<8b]»v%%5Åp%x½nDÑUø¢ô?E&Eöï!Û„›2e*S¦L`úôé\{M{Z·i,ûö“ÙäOY+'CWÁ+c … &© N§“¦’¹­sSŸoz@[–­ÚÎÀhú£EÙûk,¡Z•ªÈŠZÌDqöìY~þùgž~úiãœo ­™¶iÓ†7Þx›Íf é>ÈC‡ñðóxñbvíÚÅM7ÝdÜ÷þûïcµZi×®Ýy@á˜T`ÿ¡¢Üƒå/kaÐB!±EANˆUñìB×¼¬šy¤‘õ›òòòÈÏËåµ×^5JñúôÝw¥OŸÞ Á}÷Ý‹"K 4ˆ›ûô¡Zõjœ>}€úõê3hÐ@’’’8sÆ –Ÿ—gô˼yóøeß~<7­Û´ÆáC‡øç /²zõj23Î_[@Õ4PêÖ«Çõ×wfðàÁ$%%‘——ËG-%3+‹;î¸_Ñçãõz˜6mš1Ÿ‚‚Bz÷îÕjÅn¡[·n¸Ýnþõ¯átº(,,äwfñÑGÿfÇŽq:ÜÚ·/)))¸ÝnTU¥Yóf|þùŒñ û÷`òäÉT®RŰ´jÕ’»ï¾‡9sÞãÚk;йsgúÜ| K–,2„—ËÅ‘£GIJNfèС<ùäh*V¬ÀsãžÃd2ã`ݺõ¬\ù™1§mÛ¾ÅãñCaa¡aÁ„($n”þ·(êi… HMMeРT®\åÿÙ;ïø¨ª´ïôLz¥$14¤‰Ô„WPŠà®àŠÊ¢ ¨Ø,»Šë²Š+¢" *Ø@@ÄŠ ºà‚JO( I&uÚmï“{ SCÀ]™çó˜Ürî9ç™{žó´ßƒÃáছ&é™0úµÑ¬ñu™:oþË(ŠLN“¦"$‚-Ò®ÿ˜óOÞ^ò2·»EϿ߉R؆.yYòý›H¢ÌcßàUpÜ]B×.XüæR2331\sÍ5<ûì³\sÍ5,^¼˜ŒŒ xàF¥ ëãÇ“­?÷¢‹.bݺu 4ˆÏ?ÿœ={öЦMFŽÉ|ÀøñãY¸p! .Äf³ñç?ÿ9¨ŽM ÐXîµÚ˜B³±yÍæ§þxÃõ­ª²«Ià‘…éÕ»7¥ŽjTÜ^ ¯(#É ^IAòºé”ãæÒÞmqyD, Û¶ü“ÙL«Ömtd@ƒÁ@uu5IIIH’„ªªX,ý˜Édâð‘#äæ6Çëõb6›),,Än·c6›ILLDUUNÅáÌ[ð/LuBÕ§åHˆ\šéTË•Õ4žú}Ò™4È=EQô]¾Ùlf̘1¤§§ë¤!Ë2&“é„E?˜@­¯uÇb6W\%صÁæ:Sy(xcó\HËÖ­ ‚ÂtZòеÿ›ä4aÜØ¿ ¨‘“Ãá@Vd‡Ïֈ͖@AAíÛ· ¹6D‹Ôφjo§BC<aMz(ÓocóütkܧKc?U<™ääzõêÅ¡ƒ‘ãþâ8ÅéŒ×ê[¶hA“fÍ#ÆNE•‡lñåS¥ýi‡ øÃú5H£‰V ­¯yÕïo(M2Úèíh|¬ÁÚ –ël~Ãùq#i‘î¤}6ÏÃ¥­EšÃÓ±ˆäCÿ-x®}W…¤ä:uîqG§8Åé÷M ×!#FRpM§¥C‚€¬(8ÊŠÈÊn ( xðˆ ¹Ýˆ²ǃ"Šx¼2^Ñ˱£ÇèÕoP€ÿ;Nqú]¿¸Ú¦ N¸k¨hqŠSœâ*Ð8¢@%§8Zòº«9RTÈÍ7ßÙbEAVTTj]^EF’}à Šè!+;›ôôL:u½ bšVcù[OE¡“ÆÜŒDj+8ÙÆÏOìW,õÖ£AÝkHVV•••Œ3†èùéóçÏçûï¿Çl6Ó¼ysî¿ÿ~z÷îÍØ±c9tè3fÌ iÓ¦€¯,ë-·Üœ9shÒ¤ n·›GyDß$Ô_´Â#Ø+–ûÂE™G+…ç0–ßR[6§šçF£‘Òã%ôèÙ+"6NqŠÓÿ> ‚@UU%³k]Éâh(##—Ç1ëÅiA2*½þqYQ(w”“ža%--…Ã…x, ¸û\Êþ³ÏFöŠHyûp¾þ:VAáxiy@=ô¼¼<öîÝËßÿþwV¬XÀÝwßÍý÷ßOË–-ôºÐ½÷Þ{|üñÇ€¯Úøj2_ýõ‚@VV÷Ö­[騱#;wÖ‹´¼øâ‹|÷Ýw\rÉ%!ç Ôø2j¾Ã¡ºE‚çŒ$|¡ΠϣðÁžõ[ËDó½þØ4$Á`YÚ¹Xxî;Žn] …óîߦ¿Õê·$ÿ¹¨?NP¨8ÅéL&ƒÁ@UeIIÉØ‚`¬„_°´àCkÚš,KÈŠHII9ÎiG“&‰ìÿ¥ £³ÏC´8ÙãáÈÚuxkk°$$Ô ó_Ûúé§Ÿ˜1co¾ù¦nN/,,¤eË–x½^L&¶z»žû￟`±X˜0a÷Þ{/~ø!?üð:t`„ lß¾Ö­[#%%%Œ7Ž&Mšpã7F¬ùj^®»&RÚZ(a®ìi4ùöáÒªÊóp˜åáRïÂ¥„ŠÝr°ÍE4® ­ˆ‹V ¤~›õÏEÃsßI­"òOUUÝ]¤ öPãÔ “O•Æo±X‚¶ïÏC‰SœˆÛ DS5F|—#¶ÍBìS_; X-F¡¦²–aƒ[óÔ=C¹á=™qßEä™ó™Ñd<ÏK“W¶1³éjk«1LH²°9묳èÑ£ÿüç?õ…C+i6›õ‰ò¯b³`ÁÞ{ï=–-[Æøj,6ŒñãÇóÌ3ϰ|ùr¶mÛF÷îÝÈÉÉaÍš5´mÛ–o¿ý6è<Ô׃ii¡æ,Ô5á°Ñƒ='X…·`f°~DÒÐO–çÁ¾GšCÿïÑX NV˜Ë²LFFF@9N‹ÅBFf–þw¨þffe3pÐ 2³²ñz½Ho^QäŠÑ£ÉÌÊÖˤjï@fV6 zûáÐü´€ÎP£ÑÈc=ÆÚµkõ2«Á>‡ƒO>ù“ÉòMû×:ÐþÖJ±»Ïãñ ( —\r &“ I’ôsªª²iÓ&î¹çž°ý‹âŸ3åSö—wïÞÍÇŒÑhÔ× ÿû,ÐëGŠûø_W§Qÿ:I–0šT–­ÜÆ”§VðòŠóøÓ_ ™ÜÜðÁ-ÜÿÍLîúðmy‹Kν”ŠÚ I 0.”””p×]wQVVÆC=À˜1c¸ãŽ;سgË—/çÓO?=¡ZͶmÛØ¶m^¯€üãìÝ»—E‹Ѻuk>LÓ¦Mùúë¯Yµj;w¨ˆää䀱ÖÏ v¼þüÔŸ§PׄÓЃ=§¾FL Å»ú·Ææy°ï‘æ0Øo/+CCÍíÙ9ÙüéŠÑ<õÔlÒÒÒ°Z­lݺ•‚‚ÒÓÓ‘e™Ì¬l2³²u“±Éd"3+»N ÷m&ÓÓÓõ/==E–I°%ðÀ`0œ”D¯^½xkÉ}Ç’“£~a &“ “ÉDII‰¾‘Õvöfƒvö·Ýn§C‡ú5þç´¹µX,tëÖµk×b2™0›Í¼úê« :‹ÅЮÆ“ÉDBB‚þ¿ÖŽ¿¢õK³šÕÖÖêmœ*¾Æ)Nÿkd2™Ø³g£Fbüøñ¬\¹³ÙÜ ª‚†h|¤Á4­˜ý޲¤—šùeï16lú™ªšj•qäøQäJ ³jáÕ¯ðÑŽ°YPë•=¾ãŽ;˜5k:tààÁƒ :”qãÆ±téRJKKé×/îÅ_dË–-|ýõ×¼øâ‹º†þæ›o"Š"sæÌaݺuú}çŸ>Çç½÷ÞãÆo¤cÇŽº¶Î?Ê—Ì·Í\Gj'ßBièá|§‚çáúéúPãid㇃m?lãÀX­VÞ}÷=ý¬×ëåÖÉ“¹ãŽÛõµÚÚZ&N˜À¼^Ðã5žþ_¤§§“Àœ9sHKKÃS·yÔúŸ’’œ>K¯^=9xà &“‰òòr^_´ˆÔÔ” óh­Ð´ßùóç3fÌ^zé%Ý"  ÈGyI’())áÖ[oåÑGÅh4RQQÁ÷ßOaa!¯½ö·Ývýë_4m¼Ë–-CUU\._|ñÕÕÕú†wâĉú}f³™pÍ5×ðꫯêm¼óÎ;˜Íf\.‹-"55U¿ìرÜ}÷ÝìÚµ “ÉàWeʼnâŸßßç×uA–e\.7Þx#6làèÑ£¼øâ‹ìرC?ôw$šÍAC|ÁÙH>ȪZ7íÚ·ååŸÃíñRã(UÀUU‰l2!»=8–Y­$ÑÐ’ÕŸ­Ö+EQøãÿ¨ ×+¯¼R÷7tïÞ]7—×ï§ÕjeÊ”)‹ë9çœÃŒ3ôcGŽaðàÁúõ×]w]€« ¾Æ©¬h´¾ÚXMÄÑÞ*—>­¨1x©íÿ† ©¤¤$† ‡~HÏ^½HNN¦k—.Mf¦NÆÿôGD¯È]wOañâÅL=šqGuU5‡`éÛK¹»î7¶ø7¹çÞûv׊¢pôèQ6mÞÄä[ná£5kðx<ìÝ»×WE)ØÕiöÕÕÕÜzëm˜LF.¹äRžþy²³}V“ÙLEEÇç¶ÛnÃl63mÚ4æÌ™ÃW_}Åßþö7®¿~«V­¢U«VÌ~úi¾üâ þþ÷¿3oÞÉG}Äc=ƃ>Èm·ÝÆSO=Å{ï½×륲²’Õ«W3zôhDQäwÞáâ‹/Æãñ››ËŠ+زe+‹/fëÖ­Lœ8‘Ë/¿QãÚzœÎ „€ø£Ñˆ ¬Y³“É„ÇãeåÊ•¸\îÅ5ZÚZ¨ëµ¿ss °°ñì?ÿÎÁýEœ•× TK‚E–1šM%•½ûrüøa*ª~fûÖm˜êv)ÚnEóký=©nu}ßþÕW_R# Vl>V{ºËІ³&4fÚZcñ· šš®?žK/ʧŸ~Æë¯¿Æ°á#Ø·?£Gà¹çžÓ7ÃëÎÿóÙgLï&³…¤¤Äž‘Íõ×Oફ®Âét"z},77—'žø+%ÅÇNˆ—$TÕhÄãvSYYAFF&“AE–0M¤¥¦2räe¼ÿÞû 2Gy«W¯¦ªªŠŠŠ ÒÓÓ¹iÒ˜Í&**ÜzË-dff2fôh-^ìÓò½L&ÇŽãî»ïfذ¡È²Âš5k˜?¾¾ÑíС:tࢋpÿôûÈÈÈ }ûöÜ÷&‚É€ª F ‚â%ÍnÅh°Q|¤†ƒ‡3öª«HIM 0yGc¢&\B '-X'Â\8A¬½PoÁÎk7šçó³7ÄlcÒ˜<È&Ú>žJ’eY–¹vܵØ€ŒÌ,½ Âãñ’`·ë/VyY)ÇŠ‹)..еح[¶PYYU7Ž_5tQiÓ¦ K—.Åá¨`ï޽̚5“²²2Ö®[ÇÁƒq:þ\ÑMá²¢˜”ÈÊ•+)))æõ×_gâĉtíÚ•‡~„£Ç޲dÉþñÏ9´hÙ’- èÓ§Ë–½ªú玗–êmU×T£ª µN§>N©.5Tû{À€‹ÈÉÉø—––ðù矓——`0päÈ–°oÝ&åÀÁƒ¬þè#UÅ+z18°ŸÉ“'“——Çøñã™õè,DQ¤ªªÒ÷ŒxU¹8ä\*ÖʲÌWŒfÉ’·ÈÉiÂÈ‘#yðÁéÐá\äºwS–¥häyx,÷XQ´‚¥0ù“Íf¥[×®ôíÙ‹Gf>Âþýûq»Ü¨Šo'âñzÈ‚Ptž IDATÉÎáškÿÂ=÷Þ‡ÕjÕµäh¬¡T¨úèõ‡2‡K‹&5-\ß#iÏÑ ÃES-kJcð<Ú´µH)~§šš5mŠÛíæ²#ôŒ‰ÜÜæH¢—¿>ñ8c¯¾£ÑÀìÙ³©©®âñÇcèÐatîÒ™víÚ0qºvíBÿþýiÙ²%Š,ѤIS}\•••L›6³ÅÊö¶ñõ×_누¯ù˜Q£FÕ耪¢ª ª*ÔEª—c2™˜:u·ß~;ûöí =-¦M›²ä­·˜4i¯¼ò wÜq;]4Y–¸óÎ;iÖ¬ééXÌfRSS‘e«ÕBzzšn¥ÒÆ pÇ·×E»Ëäçç>¼‡Þ½{‘™™Å‹/ÎC’$&Mº‘óÏïN÷îçSPp©©itéÒ…óÏ?Ÿ>}zÓ¼¹¯Ücrr999Ì›7üü³¨©©¦¼¼\°S%^ò=Ng††^z\’’’xúéÙ 8§ÓÉc=F—.©­­õÉ>}Y¢ u™:oþË(ŠLN“¦'­!…+mëÌK?‚ ½Hm»¯!&÷h ¥œÌùhëÄÇÊ£Æäy¤Ò·ÑÎ¥vMUeV“À# 7Ò«woJÕ¨*¸½^ÑWØÇ+)H^7rÜ\Ú»-.ˆÅbaÛ–ÿ`2›iÕºM@zcff&‡#`s’™™© œ´ô åeºi,-=YuXáÄÄDì‰IH¢£Á@Yy9ééé”——ë‘ÞšÐ4›ÍX,=â;))‡£BwÙøôã5ü¡ÿ=:>Ô&NQ’’’|©r^/ééTVVÔEϧàtÖ"I‰‰‰¸\.Ìf3N§³ÙŒÍf£ªªJOUËÈȤ¼¼,à=MOÏ ´ô8 $&&ÕY$¨ªŠÕjÅnOÔ­eee¤¥¥a2™QYwiØívª««RJã>ó8‰d49vôYY9`ßÚ—ÀÖ­[9pà £G_AeeeÀ»Ÿ`·óî’·¸dèP´\n«ÕƆ¯×c±˜éx^öïÛ{êeüÛs¹j±YÍ(ŠŠ(z}ÕÖdEÕòVŸåM¼^š4ËÕ…z(!k=ôpÂ'’ECV{F;¥q_(`™†ÖCo(ÏÃÕÅ ,s*_®ÒÒRÝ­ Pí˜,Ë;ª›ÚµÜõâcGõ~šL&œN§.µceeeíjMøjæþÂüWƒ{t™>É*½í’’b=¾¤¤T0š|A7ååå Ün7F£Ç£ׄlII1f³9€OÚ1·ÛMMMq>TÆêêê€qWTTè9ìÚWTTèÏØÐ ã§ßXßûP[[Kûöí騱#‡#à}ñ]«4^”{c ¢ººgÍqŽT:p‰ ²äEdÑ‹Gò"{ÝH’ŒË%âvÕPSëä¢A—вõ9§Íüz*ž¯Ôöß¿cöÑ´üjí˜†Äæ¿ñ?¦]g±X® Ûê¯u×ÿ®UQR‰.¦ þÈc K;çÿP!{Â"Rï˜6&ÿ>ùSÛøó/”§8é¤(¾T5PäÀR¨¢(êõßEQ«Šæúää>Zõ7ßz99¸\Ünµ.'5ÕµÔO:ÏÊÊbAvSró[b6!¤.ª=sxcŽ»¾o¾!í‡ÒtÃ]Ê:L³o¬~Lÿc9´}ƒO( õ”ãtòUE@@–¥¨^â8Å)Nÿ¤* ö;Š,£Ê2j0«iˆû¬¡ÇªUFw½Šªjzõî×íæXI1öD”¸ûÏ)«vb1q{D–~¶»ÝÆò•+éÙ÷"233E÷õÕǽÕrù íÿú×û×L×üõþ¿É?–q7¤¬æÉð"“{¨üÆçyä ½XΟð‹2)))ÆåöâñŠ$%§!N­ÑéTó\–2228p`mÛ¶«+Ö_ã§ß…@LJœ¨(*‚%J%¢Î ˜””©6Kd“{,&¿°B•Q…£‡â¨(Ãåv#J };°·°˜?]دWâ³Í{èÔ*›ö—`·Ú0 u‹·/ÒxÚ´i€ëꫯæì³ÏfÙ²e¬\¹’œœ¦L™Bvv¶Þ·ÒÒRf̘,ËÜsÏ=´iÓ†)S¦PVV†Ãá`îܹäçç#sçÎåÖ[oE-ZDII S¦L9!§¾ÿ8–¹ å$¢©Ök¥¶SÎó0cŒæù‘ê¡ ‚€ÇãÆårãõŠØ“1Ä Ð£éóéæ¹(z9·c'6|ó5÷@Qã¦ê8ÅéL&¡Î×ñ¼ó"‰GÌCùá¡r©eYVqºœx¼2µ5"©)V¾Ü¶ŸýzðÚÎJTŽÔùÏûi’ÁÑâ=à‹/¾`Ú´iÜtÓM 8³Ï>›E‹QXXÈË/¿ÌÎ;Ù³gŽ¢0qâD^zé%l6þóŸùðÃùùçŸY¹re@ÿŽ=Ê¡C‡Ø³g»ví¢¨¨H×Ò5ÿd¬Zici…§e÷ØÈø FÜrË-,Y²„-[¶0jÔ(¾ûî;Z´hAnnî ¿ÁÆÎÄ)ϼ~»Á„B¸à½P}ˆÄøpØòÅóh¡wcEæ øñMxÔ8jœâ'-U‹ ·Î4XC·H½GòAl:k]˜ L•µÕŒ8ïr\5Õ<8ç:D¯Ä#þFÇüNuF’¥€€ ‚‚^|ñE®¸â ^}õUš4iBûöíùæ›oèÛ·/à37kÖLïÇ‹/¾Èºuë4h·Þz+»ví¢}ûöäææê³vîÜÉ=÷ÜêU«øä“Oøî»ïøæ›o8pà-Z´ˆzœ±hk±æ©Ç"¢åQC±Þ#ÍE4È{'‹'I"­Ú´Áíñze£ I ·›å œ?•<¯{0àrÖr¸èp<_;Nq:ÃI»Ê¬‹ CÑä~2(b¡îQTEt³s÷Qæ/ÿš‚é|°b'‰é»ù`§ŒY0㬭eâëIMHÅéu¡JíTVV’””Ä«¯¾Ê„ xöÙg¹ÿþûyðÁ™;w.&“‰;fÍšé÷L:•Ë.» £Ñȸq㟙þÑGEEf̘Aii)™™™ >œáÇ>ÿ{‹-$)ÀnœÑ ¸Eª^ ¾6\'ãX5ôhyjBAïFB %H-f *F$dE À—ë¾+Š4T<Ößùéà¹A¨uÖ²ñ›ohnǺß]„ÐÖ8Å)N¿WqŽÁ`àÇw’›—O«Ö­ërÒi\ =ZÔ0m+/w_P@÷n]1-Üãá‚0™-¸]NDIBP@QUœN7}Z\€,JºÙQQV­Z…,Ë4iÒ„U«VéÏxúé§C “aÆ1lذ_7ŠÂwÞpý³Ï>ËÅ_ìuE1TUåå—_F–å  ! ñ§Æ‚ÆLØ.,÷H<Ë=˜`‹Vë=Ñ ªåå¤edQ]U…Ùd:áˆ6.âtñÀb±ðí† ¸hÙ99ñõ,NqŠmÛµçí·Þ U«Va¯3EÑúS#Á©æÕš³ZîåÎ;o$%)ÅYƒÇ-ᩬ@²ÚPj]”˰”‚±Çá³X°ø%Ìuš±Á`@’$]¸Š¢ˆÑhÄ`0è³4”ªúZVïY»^Q$IÒ‘À®½öZ’““O@ÔҞטþÔp>òÿzcñb™ûh„h(_u¬íFÃóXú©Í˜_T’’’‘ßÿᄘ¿›Æd2ár¹BAj}JJNáŽ;ïâǤ¦¦‹ÅàÞy衇YÿÕW8N½ÀIII iii$&&FÊSƒÂøÖ/ü²páB.¼ðBt!PU•cÇŽ±téRî¾ûî‹…æbòÁRþ*ؽ^oX+ƒ(Š˜Ífîºë.¾úê+}3¤m\vïÞÍ›o¾ÉsÏ=§W˜;Õ›¹8Åé¿\¤æsæÌáûï¿gÑ¢E ê'åC¥¥…ó­**èÑãü¨LŠáp$íÑ_ËWlãp2õÐñLÀF2gŸl=ô`m4Ï#EuGÃã†hÿþúñ’bÒ2³)-=4§;#3‹çžK—.]X°àEáÝ÷Þcܸ¿ ª ¥ÇëšoMMOx™L$%û6"aZZš^ï;==²²2Ò32žÓ£Çùtêt•••L¸þ:.¼ðB$IÂn·ë¥WçÅ÷¿V¯iÊÅÅÅ|öÙg\}õÕ$&&ê•Þ´Ò©õ«åæær÷ÝwŸ°ðY0]‹·ÛíÌ›7I“&0mÚ4Þzë-ŠŠŠÀšEA–}@>Z{uãµZ­zyXƒÁ€Ñh$33“ÒÒR¾ùæFŽ©÷Ëßj§89¢ù$ªªê@MÚ¼FÇáÉ'Ÿ`Ù²e\z饌9’Ù³gëfý8Åé÷OÊ™Á` %ÅA®¡žjiÕõ5ô ôH>ôH>Î`Çm I|÷ïMT׺0šÌ—”àv¹Øwð0=Û5ãç¢R d&ÛÙ¶çé)ûykér Î&==ƒÁ6°-رúiF¡ÌÙ‘LØÑøsªqÆ"p£i+èÑhÎ5Ïl.@µ†®¨´;·#G­ÛœMñ±£zfƒ?9k 8ˆ§g?ÍgŸ}Ζ­[yqþKH¢Hf–Ϭ®iÜŠªbOL¢UëDŒH›q“ÙtÓàt:¹lÄp†½“Ùˆáé®®Æn·3pÐ Ž—”Ô ÂD/Š,!¤¥¦ðÚÂWù`Å ~h\p#GŽ$3+“ÑÈòåË™>ý>(=^ÂÖ­[¹êª«p8 2˜òò2dI¢¢ÂAÏž K"M›6Áé¬Àãqc6›)=~œaÆѣGRSS™>}:ååå>·Bª/Ŧóy8rä¢è%;; €ž\€ €×ãöøªª K’ïXudÃ7_³råJ ‹Š{õUüeÜ_p9k}q4ñ•>NgF$Ñ ¸]NTÀãv³k÷núöéƒ(ŠìúñGL&#yyy¿ºÄìö¨”ª˜ê¡Ÿ\ ’‚ÁdÁír±£ð5µ5H²B—ÖM8·e3nÕEVظã p¨´šÊÊjTUÑMN§“ÄÄDÀ‡g±X°Ûí(ŠÂHLL¤iÓ¦z?5¿_QQ²,SPP ß{üøqTU¥  k]§Ó‰ÍfãàÁƒÈ²LRR’Ž:iì ³†»„s1Äzo¤|ì“5ƒ7Ô~2yè‚AàÇí?Ð<¿€=¿ü„¹.h­>UTTPS]ÅÓOÏÆív¾â=-[µä¥—æ#‰mÎn@nóæ,^´ÇÍÎ;}×WUóÕú/ùaûvöíÛW÷«ÐŸ‘––ÆÓÏ2|Äe¨ªJbRR£š§´<ÅËæï¾cãwßûj¡{%Ì&¯› "ÖÖp´¸Œ{²çH)FZäñƒ/%!!ƒÁÀàÁƒ?~<ß~û-S§Nå’K.¡¢¢‚»îº‹C‡ñÉ'Ÿ`µZiÕª•î{|î¹çX¹r%›7ofãÆ 0€ž={’––ƺuëèÖ­III¨ªÊ”)S8tèo¼ñ‡¦ªªŠN:5¨ ZC´å†úºbBg!h ž‡Óü#Ê…z†ÇãÆdøbkyùù8Ý>¬IVEU}ÿË9v‰þ½»àt¹hÖ<—û}>ÛôŒ ݇o2±X-´o×›ÍFff&FAÀjµÒ®m[.0€?þ˜ÚšZzèA<ÿ÷ÿÇ{ï¿OFFƒ_L—ÎéÞ½ ^}•sÎ9‡~}ûÒáÜöX­6:œÛ¯×‹,Ë4oÞœ·—¾Íñ’ãÌš5³n)`2iݺµnö6™ÍìÛ³‡‚zõ¼^/.—‹´ÔTúôéÃðáÃq»\XmV²²²¸á†‰lÚôoÚ¶mËE]Ä«¯.äßÿþ7#GŽÄn·“––FëÖ­ÉĮ̀3Ù«dffÑ¢EAH“›ÍJçÎça·ÛõwÂnO¤[·nôíÛ‡×^{¼Ü\n¿ýv¼^ýúõcÁ‚\pAzö¼€Î»ŸŸÏÂ…¯1hÐ@ºtéÌÙgŸÝn§OŸ>\ñ§?Ñ´iS$QÂårXÐâŸøçLø‚@uuv{bõ5×\ÍäÉ·ðÔS³ùâ‹/ÈÊÊÔ#ÝUUÅl2±sÇvÚœ}¶n¶7™L:ˆÑh$§IS*„?ºL7ÿeE&§IÓ¨¡CCÁ\3a ‚€,ºxaÞ<þöÔ?ÈÌJÀb8°¯Œ¤ì,ÚÿñOd¶m‡$z)ß»—ï_[ˆE‘9¿{W^ze!YYY:ûôéÓyòÉ'Y¸p¡îo˜:u*yyyuæCV«U^ÊG}À°aÃøðÃéÛ·/‹-Âl6“ŸŸÀ–-[رc‡ƒÔÔTºtéBçÎc«ÿµÑÌ]$íüTB¿FsÿÉòýx è?@÷Ë×ߨhÑéF£«ÕŠ,Ëx<ÒÓÓ©©©AQÒÓÓA·X,]Q‹B7›Í‚5))‰šš½/Ú±êêjŒF#iiéH’Hee¥uŸšš†ÇãÖ}æ6›ÄÄ$Ün—þ>Z,œNgP°¦8ÅéL3¹;z„ìì& pBݧÓIjjê ikv»w–.áÒ¡CunµÚØðõz,3ÏëÂþ}{ú5’¶&ɲ,RVê Kû¦dçØÙÿs9Îj➃´¾p0’ÇÃÑ5ŸâªªÄœ˜Tç{ûµÝ»w3kÖ,Þzë-=ßµ¨¨ˆ¼¼<¼^/&“IOáÑè oß¾X,n¹å}ôQ6oÞÌþó ¸ùæ›Ù¾};Í›7gذa|òÉ'lÚ´‰¹sçòÌ3Ïè°°ÁÆÙ˜¥4C õpúÉB¿†êCcð<Ôæ!Vè׆X#TU¥u›³©ª©%דּ8vô¦z>tƒÁ ̃s8'<_ó+k×K²`27 BZÂþ÷iÇ\.× )kBˆùðÿ[»Çåv#Ôý]QQ¡÷³¬¬, ßκ͆¶Pø€œ¤€gi©wþ(VþÇÊÊJx(˲~L;îöxt×…vÌY·iø_ ®ŒSœ“¿õZÃ{ð·ðŠâ 1%áå"úÐOÆüR°( ÕUµ\ú­™uûPª«ÜtlŸÉ» ‹y Ùx¾{îKA`f«èz›ô¤T$Y €­mÑ¢ýúõã©§žâž{î ¹.'Ø_ûç̾ð |úé§X­VÆŽËèÑ£8p cÆŒaĈÜ|óÍlݺ•K.¹„ŒŒ þüç?˜˜Èúõ늻Äb~nˆ)ù$cÇŽeòäÉÜxãìÞ½›ôôt¬÷Ãf³±víZl6›Þ¯Ù³gs饗²qãFÚµkÀ±cÇÈÉÉáË/¿¤¸¸˜–-[²bÅ fÏžV³W,Ú b‘Š˜ÄZð$Ò½‘lcð<šhøHÕÖN†TT2³²e™ÔÔT 8¡8K$¤HYÍs TÔº€8âZmœâô» IQÈÈÈDE¸’ „¿ëªHF«¾EÌCuwÊüªJBŽÍÞ}Å:\‚Ó]ËÑÊÜN7²W¢ZyãÛÅdge¡ÖÙ>}:÷ß?|ð………\|ñÅ4mÚ”?þ˜f͚ѿÿ€>¾ð zÔyóæpÅWðî»ï’——ÇìÙ³ùì³ÏøÃþ@ïÞ½yï½÷X¿~=ýë_ÉËË [ë;ĵPÈh‘æ4ÜÝ•µ IDAT”–‹É<Þ©æy´íÇz>Zr:]Xñz¼A}·±¸NÏ%I¢ eKþýÝ·\г·O·çhÇ)N¿Ò ÿ ‹a"ŒF3;¶o÷•SV Wl-ºâ,¡´µ`e8CigÕ.mÛŸÃk ^Àã©q”£Èપ@1™‘Ýj»E­$V¬øh…-©( C‡Õ!#5T,Y–éÔ©:u Ú³Ù¬ûε~·lÙ’iÓ¦éÇÊÊÊRb6›¹êª«LÁ“Âiká´ÎXjcÓæ¢‰EC?•<Ôþ©2·k¦-¨+΢È>>†Àg4§“ç’$QPЯÇÃÚÏ>‰4‰SœÎpRQÉÎÊ¡cÇŽ~q9Q ôh̥њj‹VóægÑà%üã™§øù§½´,ÈEÁj¶ I#™;~¡¸ø05?ðÓΘê7üK§úƒp«ŠÎ| KüÊ+¯ ¹@ÂLà©(ÎR‘ž6RÛ ‰B?žGÓçHã;Ùâ,‰‰¾â,¾œj!æçÇz}cñ\QÎiÛ–öçvˆ¯fqŠSœ%É—·!à:"°LCŠ”ÍCLtéÖ“#…EXêRË00©&<ª—ôD ¶ª+÷s¸ð®¿ž”ÔÔ<÷h¢ÀCU© ÖWƒÁP]*Ôu¡´®PsÍü;Ê)âûdÊ¢6Fašpi|áî 7¯']œåx1iÙ”••"" Òhüé§’çj]@Œ¯ö‚,{ã+Yœâ§°koÔz4ÚE¤ *!’˜h§w¯^\Ø·³fÍbßþýxÜ^ðŠ²³r¸vÜõÜsß}ƒ.tcÕü"åG×ê‘„w8 @¬ÚZ03u$HÚHãˆÅœ „ëÉð<ܼ„›«ÆˆàWU•ü³ZP]ã¤yó\ Š faø­yî­ÑhÀb±ÆW°8ÅéL−¨ƒO…[#M‘ÅH&ÂpÚr}Ðl6Ó´isàÙçæFˆæ¿'" •H¾ËPÖ„h‚¼¢éW,‚µþœÆâ3v3ŒW±ËDËó`í…oCæ1äüöhÅYì?¡8K°ßET<çDã}cñÜßtpÿ~~þù'ý™qŠSœÎPRU²³³ét^g0°#¢è‘L®¡óP÷h‹–ÓYÝnCUTDQDRTTIFEñU^SdÅ·bzÜšåæõhžL»Œ6x)X»‘·"mb"™MBõédÁi¢åQ¬y豚ࣙÃhÎÅ ,£¨´kßGEðâ,áæ "ÏÃê“á9øà‹ qäØQ.¿bLÄÒºqŠSœ~ϲÜ?öýæMlÝòº÷¸ ,ÈÌIå¡GÒˆýÏUWWRSUÌO;ŠpzedуWÑëÆãõ yÜx% [¤¶¶:ürZµ9'¬0·ˆó¡kÇÃùDOWNr(ßu4}ø­òÐcáy¸MV¸9 'TcÑÐܺ8K$þÿ<÷ t3{ÙÃÅ— Å—¢ªÆÑÕâ§ß™ŽEI‘e™îç÷`É‹}Åʹf ÷ÐX4¯H699O?ú–7Þþ–-ÏB–d}§áñxõ]‡/*yÇ?“Ó”¼³Zb2CšË£‰°ŽECö{¨œä`‹w8Ajî"å=7DC囜u’<M,ÒøN ±NQ9·c'Ê´>û6|µ³š`8­ü·â¹FŠª ¢ÖFŵó8Åé÷BF£‘ƒö“”œLzzFLkœVy4ÜŠ`ŠF†øõ…‹B÷Ê g·iÅáÃE˜,&6ÿ{36›ë®OB‚¯×‹Õj%#=#G Yñá‡\tñ022ÒuÓƒñn4ë¢å@Cê (íÉÿzÿ4!ÿÀ¸h€R"•K=Ùâ,Ñ´Jë8ædË·ÆŠÍÆÒF8 ý§];iÒü,öïÝûkVEˆöc幬(dfdPVV¦ÿýϧ¦¤Pîp迵h òPk"Ü(Š¢ã4Ȳ¶ßZ1—SEƒA/þRÿ8øòë q€œ8Å £ÑX÷.˜2Ñiîá‘e ¡€úbýO¨@ÈÅJUðz<<ùäßX¹j%o¾þE……8p€‡~„O>ý„Ý»wóÕW_1yò­¬û|iÉ)zº‘ÑhäÑGÅ`0`4™>}:?ÿü3F£‘%K–pÍ5×p÷ÝwsìØ±€…óرcL˜0ñãdzk×.ŒF#“&MâꫯfܸqÜ|ó;’tB™»pãu.,j´×Dú;Xÿb¹'ؽ±>3T[±ö!Ög5ĬպÍ9(ŠLþYg!z½'üVE!)) ›Í¦?Ãd2‘––¦[Bõ)#-»§L%##CÿíhÅO$Iâ‘™³ÈÎÎðwY,ÒÒÒHHH8AC?ÑÂAÄù3™L¼óÎ;üðÃÒêEÑ#dC]#˲^AM«æ¦ý-ËrÈûÄ:ËY³fa6›O¸ö—_~áµ×^ó%ÆËgÆ?gøGܪ üú~jø*¢(êï`CÖ¿ˆQîá4ø×_ÊÊJ‡¾0Ùl6þøÇ?Ò¦M›_«MI ·È­·ÞÆþ={›¥aôÊlÿü+DUáã53aâfΜÉôû§så˜1—–"û•‘û÷¿ÿ Àõ×_ϨQ£8çœsX°`eee,^¼˜Ÿþ™ƒÒ´iSýžn¸7ß|›ÍÆe—]ÆG}Ä /¼€Á``Ë–-|õÕWcŠ6;Ö9 6‡‘r¹LKQ‘Xï&o>&{0³t$·Gƒ4t ‘‘•Cñ±bÌfK@±_­o;ï¼û.¹¹¹ô8ÿ|DQ¤¼¼œW^YÀ¤I7ât:}ÀFõ6¨‚ `4[ذaF“ù„ñ(ŠÂ¦Í›AøUÈ&$$ðóÏ?óöÛïЫw/ú_x!’$E ÐS‡¯ÑO?ýDffæ ‘òº%A–)++ãÃ?d„ š¼ÿóÌf3 ,`ðàÁz)âü‘íÛ·så•WêÚw¨ßìÆOPAÀáp°sçN½ßþ˜qŠÓ™LþY-Z©ï­[·²gÏìv{X«[Lz0µ?XÃÉÉÉ<ù䓌9’Áƒ3f̪««yçwNÀ@—e•””F\>ŠQÝú0ªß@î¾÷<ÉIɬ^½š?üá\4à"Ž9Š»ÖyÂ3g̘Á¤I“¸ì²ËøüóÏ™6mn·›sÎ9‡ž={”¥ëÓ§ëׯgýúõtëÖ —ËW«yéÒ¥\~ùå',’áæ$b\°ÍA0³x¤¹mÌó m'Úvsn,Ÿ±ŠJVV6²,“š–Š$‰'\cOLâ¯ýO?ý4¢(b·ÛY²t)S¦N%1ÑŽÅbá—={Ø»oŸ®UÛlìÚµ›âcG±Z}y⎊ ÝŒV^^ŽÑhÔMášÙy×®ÝÌ~úiþò—q|ÿý÷x½^$I¢ªª £ÑTPúŒF#F£‘²²2^{í5¦L™rœíÙ³Gw)ýðÃ8p³ÙLFF×]w555ÔÔÔ°uëVŠŠŠ0ºF 0iÒ$æÏŸ¯·ûÔSOqï½÷êï‡ÿ}ZŸ¶lÙBii©^í°²²R·~8L&v»={ö0iÒ$vìØ¡%˜&ÿÄ?g’¦® í‘#G2vìXV¬XÁ Aƒô²Íן¬†j‘×pùå—“™™É<ÀªU«øä“Oرc›6mÒMÚý¢"#y}¯.§YQ¼^TUeÔ¨Q,]º”ä”d Z“™Í·ßn¤~p~ee%ûöí£mÛ¶¿úåëL©¦  !yyy¬Y³«ÕJnn. ŸŸB]ÚXæ ”6Ôý¡Ò±¢|‰5ß9”Å¡!}سgÇÁÀË/¿ÂÆo7¢**ýôçÖÉ“™={6›¿ÿYY™:t€«®Ë–-[%‘Þ}ú²{÷î€ DzF&ÏÞymÏiËÃÌdæÌ‡1™Lìß¿Ÿ3âÃÕ«)=^v¿üòKÞxã $I¢{÷î<øàƒu±²²²xâ‰'Ø¿?/½ô³fÍÂétràÀn¸áZµjÅÌ™3™2e —^z)“'Oæ“O>áÑG¥_¿~ˆuV°#FPYYÉáÇ9rä¹¹¹ú&ø¾ûºš0uêT Ä]wÝ…Ûí¦´´TàwÝu‹/¦ªªŠ«¯¾š… âv»iÓ¦ cÇŽeÁ‚”——Ó½{w®½öZRSSQÔè«IÅ)N¿ê2Àª¹ë®»0`¯¼ò ®¿F1¹ó…û/àŠ¢pá…b4éÚµ+:ubÙ²eº–à{¬ó-ªJÝ.¥®4¤ªªôêÙ‹÷W,§íy)Þ£ÝFê9xN¿@š¼¼<^}õUFŽÉüùóÉÏϧcÇŽ¬]»–¢( GŽÑ­‚ °`ÁÖ­[ /BƒgŸ}–;ï¼3(°G8S³ÿ|ÄÙJˆEPÖP³¤çÅÂóHýk,¾±4þŒÌLjj]$''#Jb@ºFN§“oœÄŒ3øá‡íÜ0q"÷M¿xçÝwùöÛoAUèÓ··ß~+V®â›o¾Áëñ°qƒÏÌœ™™¡›Ú³²²ð•; œ‹½ûö2pàEŒ5’n¸‘åË–‘——Ç믿FyYé‰Á†~~ìÃEE 2„‡zˆ›oº‰ôŒ ”º¢-i©©Œ;–qãÆñÒK/Q]UŲeËxâ‰'hÑ¢³fÍbÍšHMIÁårqë­“¹ï¾é 2„·Þ|“~ýú¡Ê2˜LTVVò<à /¼@YY3gÎdôèÑìܹ“?ügm-£ÇŒaРA>\ÄÛo¿CIq1㯻³ÙDZjªn#ÉÈȨ+é[”ú÷ïOÿþýù裸óÎ;Ù¿sæüÑåÂ`ŒÌÅé áþ.GEFìv; Àétb:tðÕpðx<~AsQ‰êèÓÖ‚ ÍdÖ·o_,X@çÎCÁ¨(¸œµÍ&¬V+²ü«¯* ·N¹{ólR²òšã|ïÊ÷ XèœN'‹…7ÞxƒñãÇóÌ3Ï0}út~øaæÍ›‡ÅbaÊ”)º|¥VGŒ Lœ8@7Eæææl>" ÄP¸ñ¡4épéO¡6 ‘žlsq2~ópik‘68ỢðÁžÕ˜æ{-þB–å è)hÑ›ÍƧŸ}Æ#3gâv»õû´>Iumiÿ«ª‚R×ךšýz߽ æ±-=z4öÄ$’“|þù:«’Éd:aç.I"Š"#Šrr²9|¸ˆwÞy‡‰'`0¹ùæ›8p555ôîÝ‹;w"z=x=ª02fÌÆŒv®°°iÓ¦Y¡<±*ií8µ–y¶„´Ô‡H›B¢åo ”ßRjÚX š4—ܧ­à÷h°¿Ë墶ÆÅÌ™áp8pט҅œÏ™gŽÃ4áÒK&bèçœ}Ƨ]ûv”””йSg.»ìRŽ$öîÝÛhrYÏr9«™2å&®¸òJ’ItêÔ‰äädŠŠŠø×½÷²lÙþ»€¯MUÓP…+¯¼’k®¹–Ÿ~ÚÈG}ÌI'ý…}ûöq饗R\RÂÙçœËoÌãÜsÏeñâÅ(ŠB×®]8ãŒ3¨­­Å¯ªÔ×׃ª¦áv»Ãæ½¶ñÿwß}×2<~,ôçòË/£¤¤„[n¹Y–),ìÂ¥—^ŠÛíÆív“Cyy×]w-{÷–á÷ûðûýÔ×{Ø[VNaa!ÿº÷_˜†‰ßïÇS_@úâNrq:Lh?ow ''›ÍÎ%—\BAA»víâò˯ÀïWÃ÷æX p=~œùÌs/`:¹yíZíÝÝ3hºéúémý‰G*FƒMÓQÝnTEÁðx©6DLe¦P³´¯¼1—¢ÍE¤¤¦X.ýAØ4èu « :Ȳ¼3†ìȲl¡M™y,©`c­¼ÕZa ¥û[JÏÚš¹jŽI¶¶–žÑ‚í7Ô\ßjk\Øe{_þŠ!C‡RétcšàõkøUM7ðkšßKÿ\/§ íEƒOÅf³±þûµÈŠB×nÝEÑ ©®®&==Ý =³ÛíÖ± [ºté‚ßïGQŠŠŠHIIAQÒÓÓÑu­[·’——€ÁÓÓq¹\dddXZ¾Íf£¼¼œêj'={ö°Bü^/III–­,!1‘V¾Ç‰#F! †” "6›äädjkkihh@EÒÓÓÙ½»˜ÌÌ Ù¶mš¦Ñ­[7TU¥¡ÁKB‚UUIJJBUU¼^/)))ªV]]MVVV#Ô' ( N§“¬¬,¶lÙBjj*ùùùVxÍÏ?ÿl½wff&‡;vбcGt]'99§ž¬¬LäFX?¸nãÞîq:ü4t‰²½¥dgç"ˆ¿˜zÓÓ3ø×¿þÉ÷ßÏ¢E‹,çÒ 9æ¿ù§ž~:Á8t»=/W}†Í¦ÐoÀ‘ìØ¾-6§¸–4¥˜J|š&#FŒ¡¼¼šûî»—cŽ= ÓÐILNA4TTÝÀ¡ØùtÕ7¬ß° ð7np Ö3‚±¬AÆ ý‡&­hÚ[cÚÏÐcm•ä¢%‡·X5ÎÖ Pj·iÍõ±Ô:?|ëm•Þõ`É0 RSS­…Öô˜ªª–ùÆï÷#ªªÒ¹sg«ÿA/í=z„IàAF|_¿ßOFFhºŽØè·“Þt½…UÐ3Ýår!v»AðxËJú âm-sˆµàIsÇ›Ó2[Ë€c km5¯¨5éc¨ÞÖfs~€BH4óÁ¡  `j&=Öœ)$ôoÓcÑJþ𦉥t«õ@ú×–Vp´4³Ñηt}s&š–ÚŽõX\+ÓáLQý†O}}À̽2ÌØ`ù`˜Gk®7M“Üœ\.>"&ס+n·Û’Rû—M±Ñ®];:uê¸ßÐókmMð¶ÔΣ¡m¡]ˆÐÕRß~9o­@KŒÿïaAÊ9–FÐu-Χ8ý™4ôÐïMÇ¿™Ð+Ó0"‰¡LŒæÊ§†:J èß¿Ùv‚°`´Š^-…5MIk–Ö–ÒlncoméÓh¹¾#Ý ^î‘ú~ öøÖÌysׯâx¨ûïqÎMÓÄf³áñÔ‘””ßã§?C7 rrrÂz+”"µÑç 4ôÖÂ-êh®¶sÓû‚¶Â`Z<€’=%<÷òsôìÞ“‰çOܯ¸Jså.›j‰MGc¬±hcMÛmé]#Aº±jxU+ü‹³èœÇòûŠe,¥¶ý«ÍyàaQÛTU•¾ýú±úë¯èÑ£ÍcˆSœâô£Fˆ=Æ‹‘ââb »ti©6KŒÑê-lnmQ]+R›’$±pÉB6mÙÄõ»žyÓa²þ½õØ;Ûvn£o¯¾Œ;n¿ø÷ÖBÎÛßæ˜ÅÁ0ÏÖŽms‚ÊÁhá¿ÖœÿŒýWóسa¤¥¥s̱Dz{×. ]'6w˜8Å)N>æøÓ©cÚå y\”=Hþ]¾Cã&¸xébÞXöYyY\{ëµÈ 2YŽ,²2²˜ûæ\ºöéÊ×oMZj#N“y$Í8’vÕ ÜœVÙZ ñ`Ë—ˆ–qÆ¢)7ͬw¨âÄwX.--Aƒ³ãƒ§8Å Ã0¬º Íí¹mÂÐÛJƒjÊà~Þú3²"# í ÛñÓÚŸÈëGyi9½öFõ©Ømv~Üô##NvMM ©©©øåÚZt]'##€M›6¡( Ý»wßQíÞ½›ºº:úöí‹ lß¾ǃ$I$%%ѹsç°Át:”””PXXHJJ [·nE„°js¡ã 3²Ûíûe —Ë…Íf³”——“——w@ùÜ#+++£¬¬Œääd«Ÿ¢(RWWÇŽ;((( 33UUUEJJŠU€C×uª««ÉÉÉ9øªh0§¸Ö JÓM‹§O‹SœâÛ¾•¡Çâ×R‚h×ÅšäŽ{ï ¸ªÃo°sëN²ó²ÉnŸMñöb2²3¨uÖR±·‚¤ä$þ÷ÝÿØ}ïnfÜ;³1ö…^ÈòåËÙ²e ·Ür ³fÍÂáppíµ×Ò³gOÜn7½{÷æ’K.±àú×_¯¾úм¼<ž|òIž|òI>ÿüsJKKX¼x1_ý5Zcæ®íÛ·3{öl:wî̦M›¸ãŽ;èÙ³'?üð>ø ï¾û.íÛ·ø®3gÎd„ yä‘ûiÇ'N$;;›—_~€÷ߟSN9%¢Ý¼ia™`|p¨ïA(³ þ=å”S¸þúë­ò›wÞy'ëÖ­ãÑG¥_¿~lÞ¼™K/½”#F0lØ0.¼ðBþõ¯0wî\n¿ývª««QUÕŠó?Ð9å\[3öX¿‘î‰5Ýo,×DËU š®Ç”*NqŠÓŸ›$IBhÌÊÚÜ^xÀNq±Â¶±Ú]CÏÕ{ê©tUÒ® ¦8^º»w›’í%tìÖG²ƒžý , Ó ¬¼Œ}ûö‘““@AA[·nåÿø ,Àf³q×]wqã72pàÀ0 (øÜwß}—7ß|€K.¹ÇÃe—]ÀúõëéÒ¥K`еêÎ;3gÎ P«}Ù²eôìÙ“³Î:‹¢¢"+ISç=€üü|òóó÷cÂ………äåå±víZÌÇÌĉ@êûßÏÍ7ßÌðáÃY½z5ÿþ÷¿éÓ§«W¯æ“O>áé§Ÿæë¯¿¦²²’{ï½—cŽ9ƪ¿-Iƒæê«¯`ôèÑÜyç<ñÄ<ùä“$''cš&ûÛß1bG}4º®³{÷n²³³Ù¹s'§Ÿ~zDAì@ç¼5ç•6Ý’ÿEKf‰XÞ'Ö±Z½úk<‚ Ò²å=NqŠÓŸ“cÕuƒAGMZZZcXk+z¬Nk´žÖhYŽ$Çyï¯zŸ7ŠÒírsÃý70ï©yºÁ¦u›HLJÄÄdôÐÑäääXLÓívsÕUWñÙgŸYínÞ¼™âóù°Ùlû%ÿ˜>}:C† !%%…SO=ÕJÉ)Š"O=õsæÌ‰¡›¦É3Ï<Ãþó«­ºººý6pQ¹è¢‹E‘­[·²xñb$IbذaÜqÇS÷ù|\pÁ¼úê«ìÛ·O<‘… pß}÷ñøã“——ǘ1cøðÃyøá‡­Üö£Fu௽öZêëë™4ióæÍ£²²EQÈÊÊbÆ \vÙelذiÓ¦àñxHNN¶Rìû­içŸ>‹-"--qãÆñØcEÕfdÎÓ%Å·"ÖßýÁM…EQذnyíÛs䑃ãûYœâ'*÷ícÕgŸ2rÔ(t3º›¬ÜÒÆÓš‚‘4™Öäõ½¯sÇÎhªF»í°%ØX·z›¾ß„ištëÓ Aðy}”í)£g÷ž6 ðúäÉ“yöÙgÈÍ͵êÌŸª5Ϙ1ƒ PPPÀ%—\‚ÏçÃn·óÙgŸ1pà@E Ó¤EQÄãñpÍ5×ðÐC‘ššjµÔ„›B­óæÍàÑGåŒ3Î°ìø¡i1}>=zô ¼¼œ™3gòÑG1wî\JKKyúé§q»Ý––:†Á´¥‹-bîܹ¤¥¥Q^^Àƒ>HJJ Ó§O§K—.¼òÊ+|ÿý÷¼óÎ;œvÚiòŒw ¦çôx<qÄ<ðÀ444°xñbjjjÚlΣ…ê8ôh¿õÉßíX´óÑ õH’DEE9§{ªªþ¡|â§85Oe³EQ°ÛböAÊÎÉ¡ÁÛ€ÞBr™3ÅʼnFÚcÕp¢A³óϧ[ßnø½غ|O9I)I¼ÿÎûtíÝ•}eûÈmŸ‹Ín£C×,ý`)£G¶ÐÉòòr.¼ðBdYæòË/gΜ9Üzë­ÜxãLž<™}ûöáv»™8q¢Å„ X¶l=zô@Ó4‹Á½þúë<ôÐCÖuEEEÌŸ?Ÿ©S§rôÑGŠ!x IDATóÐC±{÷nA }ûöìÙ³‡­[·òå—_ò—¿ü…ììlëýü~?6›êêj\.—µi‡æ©¯­­Å4Myä«°L}} êÕE]DNNÇwï½÷ýúõãå—_&))‰]»vðå—_2gÎvìØÁŠ+,ó`UÚ4h¯¾ú*›7oæ‚ .`Ê”)Lœ8‘%K–0dÈ‹¡<ýôÓ–ÐìO, 7Ö9š¤Dý5˜Ù¤û žÓuÝš·¦Hè¹hþ‘!ø_Í`¡¡æú,Jô[3þ¦cºO•x4Dœâ ]Äåt’œ’BBBbkµZ2¿I}{÷º÷¯gŒÃ4M’’“cÖ8¢i([ ,øÝSçá«o¾ÂÐ Jv””’„bSh×±’$a³ÛسkOÀ »²Š“†žÄÀþ­ ²cÇŽtîÜ™#Ž8‚víÚáóùèÙ³'C† áóÏ?Ç0 Î:ë,ËsÛ4MFŽɶmÛ(..榛n"55ŸÏGûöíÃ<âE¡]»vØív222p¹\lÛ¶víÚÑ®];Þ{ï=:vìHEE;w&33ó—oÔÚssséܹ3IIIû F:t sçÎȲŒÃá°Þ§°°cŽ9†;w²zõjN9å2229r$EEEtèÐM›6qþùç3lØ0–,YBçÎ3f ………a>ÁöLÓ´ÌÇ<999|ùå—üñL˜0€N:Ñ¥Kl6 ‚` ü8Ø9oéœ ø|^dQà“u%tèØ‘zo €¦膉aš¿ºF^’FŽÙhz ª^yÙ^DI"£Ñs?R¾äH¿ßhLÞ4M’““ñûýaI‚‡Ã±ß¹–œâdEa{QÝ{ö´ª’…¶ú ,ŠôüÐO°xQ(zÔÖY–ò;?’$!IÒ/)žãŸøç0ÿÔ¹k±Û¬½4¸¯„V!Œt߯ ëéÖ½»ÅÐeY¦x÷.$I"7¯.§³mʧ¶u)Íà=?õ8«Ö¯"·].¢(²eãŽ|[ÜJaB Ã`OñÆÇ—\amX¡If‚eRƒrsUÖšž?D*‘žÑœ–I£iÚ3$aÓó»wïæÝwߥ¢¢‚üü|&OžQ ߦ} 5'ÿM¿Kõ¸?RùÔ@Æü~?µµµVÉÐÔ´t*÷U4[Á/+;‡¡C‡ðÕW_S¶·Ô ƒˆÊ•W^ŲåËÙW0wäää€ðK{U•û"ŽgBb"¼·‚“O;E±5‹Ȳ̴iÓ:t(£FŠææv»Y·n]³×†a½C°”lÐôâ÷û£jØA‹3Ï<“eË–YBL°¯k×®eÁ‚̘1#nBˆÓaO&¼“ääRÓÒÃÖrP™9r¤Už8ôü¯ý—“O=•æÊ§Š±@îÍ}B¯izO¤v›»·éßn]»áWý¸\.ª÷T““—ƒ®ëdçe³eã\5.4]³ìçÁ•r‚QS¦©Ð|hXR¤üóMïô‰ôŒ¦Imš¶:MïÕ&›Þìw§N8þøãùë_ÿÊäÉ“ÃÞ+ZBƒ¦°hè»Dª|ÁÌœGšÿ¦÷µ5åääpáE1ûÑGIOOÃn³±qãFzõêeÕ9ÏÌÊ"33ÓI’ÈÊÎi\PvëZÃ0¿(Ì ;;›ë¯ÿ;Çs4#FŒ ÿþE Ìj¬P´(ŠH’„,Ë8Î0©>¸èƒÚrðìgaa¡uMð:¶6›ã?žO?ýY–Q…W_}• &`³ÙÂÚ Þ#Ë2‰‰‰È²l ÁÆ`_ƒ¹éƒ‚Ah¿âÌ=Nq ¬£]»v1vìXÎ=÷\V®\‰¢(Tb¸MâЛÓÊZr$jNc{êXdY¦b_ãÿ:ž[ÿy+ Þ*«*¹zâÕ4xèPÐaC‡…Á‰±ô·¥÷l) \kʶFsk ~múŒæÎ 4( !ˆæ`ÖœŸC$ 9’ãÖ¡šóæ€C‡Ž R¶· UUÙµ»˜N;2þÛx#TUå–[nA’$nŸ:Qñz½\ýõ}Ô`¼^/¼ø"“¯¾ŸÏÇÓÏ<Ãß&MBõûÑÆ«ª˜={6›½ee̘>›ÍFEEï½·‚sÏ=—ºººýÌe¡c!Ë2†aðÊ+¯°råJºwïÎý÷ߪªª2}út¦L™‚ËåbÚ´i´k׎Ûn»êêj~þùgEaÕªU¬Y³†üü|n¾ùf+´I’,XÀðáÃñûý|øá‡TTTPVVÆ´iÓèÖ­S¦L ¤¤„{ï½—“N:ÉêëâÅ‹9óÌ3©¯¯çÝwßeàÀ‚@II “'OfÀ€Lš4‰nݺY~<Û`œ (K¿|7 ¯×Ëe—]ƧŸ~J^^§v;v¤wïÞèºþ˽±ýa°›(¤n˜ïzÈ÷¦=ÂuºaîwÞŠöšžW5SFŸÂ%^BJJ Þ=\{޽ˆ³Î<‹‹Ï¿˜'Œ@ÕtL«HýiÚæúÜÜñ–ÎÇ2f‘úíÿhí5=ü?8±ŽwK}ø5çÜrË­ddf1eÊÍœ4j$¢$QRRÀÿû_›„„^|q.IÉ)aÞ¨¢(âr¹¨o¨ç±ÿü‡SO $ òz½¬ß°ÁÒô÷v+’âoû—_~9‚ ððÃsÿý÷[Ò½ÇãaܸqqÄØìvn½õVn»í6 yä‘G0MX°`.—‹ûî»›o¾™½{÷òüóÏ[Ú7ÀGAÇŽY½z5K–,á„N ;;~öšk®áŠ+® ¡¡3fpÝu×Yɉü~?555Vx¥ßïçµ×^#==¯×K‡xçwøë_ÿʳÏ>Ë™ãdzlÙ2EiÖþÿÄ?¦‚`¥a¢¯‚ °bÅ Ëü·téR:5f$m-B¦¡‹ ‰¿iFÄœ¬,¸çþy%ð¢Š,ÅE¿Ã€ÄCѺëê¸òŠ+8ãŒq|ôÑG<ÿüóœyæ™l-*âµK.à¹çž ¸¸˜³Ï9€§Ÿz€ä¤€3©¬(¤¤$G|Nbb"5®¶n-bÆŒìÛ·:ððÃPQ^¶Ÿ‡¸®©`˜†LC}=;wî¤cÇŽdd¤“’’Œa舢Dzz:cÇŽeÁÛo3nÜ8œÕÕ,[¶ ǃÓé$11‘I“®Âf³ár9¹á†ÈÏÏçâ‹/âÕW_ hÉPxÙÞ½ÜvÛmŒ7MÓX¾|9s_|1°Æ™£Ž:Š£Ž:ŠQ£F1õ¶[ÉÈHgРA 0€3ƦARcºbY’HLLÄïóYС"KdfdœœŒ³ªŠò²2ëù‚‡ßãth膎®i€€ê÷5¢ª&ŠM b2 DYB0MT¿ÏRbdYŽ)k¤ -H‘¦¾ôvY@ÿ=¢_¦‰lK¤tûz’ÓóHIÏ lzñ}à° ×àªQÙôíж5ÂƒÌæ¼óÏcûöíääæZ‹(!ÁNÙÞRü~? ‰I–¨­qQVVξÊJ\.?n܈»Ö½@fš&‡ƒ™?Ì•W^AMM ¢(RSSêU_0räBõs4]oôÚ7HNMæƒ>`Ïž^yåž{îy† 9Ž»îº›òò2^{íU{üqzöêI~~>C† áÿþïMt]gÍš5ìÛ·Ï‚÷êêê0M#,ìPÓµ°wܱ俿zÒhŸ¯¬¬à³Ï> d8öîÝ Àò+PU Ø]\ À‡}ˆiøU?²,±{÷.®¿þz²³s¸âŠË¹óÎ`µµ5 ĈÿÆãtx@îAôNÕ4 Ã@Ó4Î?ž7ß|ƒ¬¬lÎ9ç¦N½~ýúY»®k1enôN ücWDl²€þ»X\&²bÇÛàAõÖ“žÛ‰>yIÛŠ³H§Ë±× ˉ(v¶„DtÍOœ»ÿyI³™BÛÁîA+--††Î9ûl’’ÂBFFº¦òÀý÷3~ÂYˆ¢ÈìYà©ssß½÷2bä(y$:pñÄ‹é×ï†Nn^.¦¡“šš&4TUU±gφ ;ÁZ¤N§“ùoÏçô±c›0ôwµu§³‡ÃÁwÞ…ÏçåçŸnÔüðê«ÿeÒ¤I¼þúë\wݵœxâ‰èºÎM7ÝDnn.II$IÂáH´bÜŽÄ0¡&X¼hj£¿€aèäþ÷¿_ÏÑGEFF/¾8C7¸ì²Ë8pƒ &77‡ôô zöìÉ‘GɱÇKff6›¬ÌL{ì1ºví†ÇSGMMå`·ŸÇép!ÃøÅ™9Ê™ššÊý÷ßÏ 'œˆÏçãî»ïbРAx<ËáÕ0b3: gg>ùÌó(’ÉÌeØdãwÀÐEI¡¶ª˜]ß¿‚,x0ú#ÅäwLÇ]SË®õ¤§ùñùèzìU$§åÆ7†?³†îÓ¹bD};$qÏܶ [ËÌÌ´4ì ÍÌÌÄét"Ë2选ËéjLž"‘–ž‰¦³ªªªHJJ‘”Œê÷!IÕÕÕ¤§§ãt:ÃÂSRR¬ð8ØÖ“’’p¹\–GxBb"¬|GŒ´llM…àq]×­XxMÓHOÏ ¦&ÐVrr ò_}½MÓp8x½^E¡¾¾¾1S•·Ûm…zfffR]]f³ËÈÈ ªªŠ„„’M .—Ó4±Ûí8I˜¦Ži”´´TdÙ†aJ=z<­TÈ¡ñèqŠÓáF’$Q¶·”ììÜÆ(VÁBð¾ùævìØÁÅ_l¡xAJt8xûÍ78õôÓi.lMÞOz0‚ÒÀo«Û™”}KA Ií(/ÙNMM-¦™†³²†¼vvò ºàvVRY²‰´œBüõµÐX©ÊãÓpØ$|’(`W$üšA½/P¤$)A¦©é®Î«a&»ŒMq׫hÆ/ÉðÓJ˜œäõëø4»"‘h“wƒŠ¦›¤&)1AðùudI@#‡ziºÇè§Ã.!K5EäÙê‡W5 Ñ"Á&i¢›àñj¤:”?… «„ÚÚÅUUU–Ñ-Ȥƒ‰R‚vÞ 6©i:e{K­H‚ ƒ¬­­ ;V]]½Ÿ]<($麾߱ `©ª[lט!.( ‚@EE9²,£iõõõVâAp:–—~°^@CCƒå=¸¿ÂrR þƒÇ¼^¯Å”ƒm644XApŒ\®+ApŒ].—õZx·8ÅéÏL¡ˆ”a4¢Ž¦I]] `ðàÁ–"¶fFL»ŸÜt£0L~óÅ&Ùض~ Õ?P´×IFV:ùòqV´$Ÿ×KaΔîÚCõ¾jä„ÏÙ!‰tì; Íï¥Î«qΰ,ý¦¿fpÖñÙZêfÝv'Czgst÷ TÝä£õåì©j@X®Ý&0ixWv‰ÏÚÇwEN.Ñ™ö ¨º"‰<½bŠð$·É"=6ŸÎ¹Ií­ãÃue¨šÁÃ;Ñ%/‰gÞÛ†_5öϿΰ¾Ùì,÷PYë cú‚ PïÓè_˜Æ°>Ùè&|¾±‚¢½uÜ~Nü:u^_c&’(pÒ€\YÀ¯ÞÉ®ˆd¦Ø¸þ¯ÝytÑÏ$Ú¤ßv Ý4Û”Ÿ‡æNoÊz¬i½zø%×}p͈¢h³‰–ê4˜a¿‰™9T1c ý }fè³Bsµä BÊd÷ÛDš ŽE(CŸ `z,ølÈÉã'£QGC/…ªªªÆÙt½†»SÜ/30M1°yþVŒ(âõ¸©-ùœî½s1Œ*Ë*ùù‡ŸÉÎËæÛO¿¥÷‘½Ù¼a3iiôÐ’Ý_P—ß»#¿ªÓ>3‘¿Æå£»R\YÏúNŽí•I×¼$ž{¯ˆ”D…N9TMGTDj<*7ŽîÅ¢¯J(­n`Ê™½ØVZǯŠQ5“Ìd#úç´AD7L’v”Õ±øëF™Ç°¾Ù|²¡‚—?ÚÎÄQ…$Ù%¼þpgÃ4ñk:™É6J*ëÑõ I£ÖfлC »¤óÜ{E$ÚdzuHÁ& ì«ñ2géVŽï“Í™ÇðÜÊm ë“Mm½Ÿ#:§!Š"iE2®:?ƒºå‘™l³l6Æ\#2b”PcÆ€~¥ò©‘Ò¾6W>µñ º®Åë¡Ç)N"2 ƒÄÄD ÝÀ4áÖûãÓ‘ïkµ†n4Âí¿¥6'˜&‚ c ª_ÅÛà#)% ›ÝÆ–¶Ð¹Gg¶nÜJ×^]±'Øñ¸ë°ÛeLSF”lz€4åÎü´»†o·T£êGuËä…•Û°+õ> ;\Ø ]7Q$‘M»kèUBvª2—Ÿª#K":CûdóÃN¦ º€J*œ^ÊÞ#6ÀUç3Ж(4ƃ¿$0 “®í“ñª©…üÌD첈ǧQZÕ€, ÔÕ«×+‹·>Û…"‰¨šÁÚmNÒ ~ÍÀ¯élß[ÇÐÞÙx}ÝóSxí^úvJãÇ.Žè”ÆÏ%µÈ"lÙãFBÄŸBCÿÀim!¸¤gd°{÷Nzôè`òq{sœâô'áè&ÙÙ2ßJL·ˆ‚HuuuÀi·ùÚ,M2Å…d±ùíÞWG”²ºœÊ_=E»yH’ˆêWq$;˜xýDžú÷SÔÕÖá÷ù1 ƒŠ½•t=öjl Ihª¯q }¦ƒÕ?W&Š,¢ièÜ0LDñ{†(@m½J¿ÂtËîl&~S'Á&’“jgáîRetÃDkÜ^ÑóHNùh]‰v _½Ú‡§n˜æ&¡ê&éI†ž–¤PáòR\áA% 3ÐOU7,¡@0}¿Âtn8£9évÞýz9ivl²@µÛ‡]ùzs%WŸÖ.yI,þº„ËFw 0ò?ƒ’×ö&ôCðÛ5£V–‹•ü~?ýúõç‹UŸ³kÇN 3UÇ)N‡3 ‚€¡ëÑ¿B„¢RQº_ÕÀÉ¿%ÉbåE3à˜¾ HÈÊÊö”ñÏÉÿ$-+^ý{a&ºnÛ>“ââ/IkßC×ðúŽlO/ú‰›Æ÷aÙ·{X³µŠv:9 —Å_“œ Ð1ÇAñ¾zYÀYçç„#rxlÑföTÕ3ãŠÁˆ‚‰»AeôŽ|²¡ YŸªa“%²ÒììÞçá/G¶G3 žo Y©vT *k½Ô{5*k½4øtY ¨h-ùºWC‘ Y»ÍIq…I°+">UCamQ' ÈãÍÏv’h“螟J¹³ÍÅ5¼°r+»„a@ªCA7Lªj¼˜†‰_ÕX³µ’Yv–¹1ÍÀ1I  dò«z›ké-¥Á´°¢9t5WX¦é3"ä ˱/Iœpâp<Oœ¡Ç)Nq­›ÍŽ=!¡EEÁbèXq¿½–.`è ahPS[GYq…Ý )/-'¿S>[6n!/?Ä$*†.î3À4ÚœªÌzç'®9½'ðÞ·¥ŒÚ‘»Îïnš|º¾œ]†ÃHNP˜ÿÙ.n<³7‚vºhðé$'(¤'Û(*u#‰öÓ“ŽëMƒOãœ:±q§‹áýòXþí>ÝPÎÿ;£ý ÓÜ-“7?ÛɦÝ5È’ˆi‚½âPyÀ "ðî6Iä‹+8ep>w]ÐÃ4Y½©’=•õèz@€x`wÈv°·ª>€&²$²zs%Ÿú $Q@Õ L3`Jù£›b1´ü+Ž&D²‹GÊqéšHZ}˜P rÆq¸=NqŠk鱯Æ~×ãÐm’Éoì AÑãÝ_@À×PKñw¯àHð€)Ð¥W!?®ÝDÏ~=ضy½öfçÖhªŠjfÑþˆ³HLm‡ièuBcY@K‘%ŸjX„M‘$Á²K†‰O 8(’€"˜°_Õ±Û¤°ëTÝÄ& Ô5h(r·)Š,àõéÖ3ìŠxF“Éñ©Fä°µFMÞ¯–V­È²(âSïdšÐ¸Ç÷aÑ—»©®óã yß Ç %»ËÜ :7íHÿÎiÜ3÷˃ŽCoZ5£Ž¦…7§ñ·Ö¡.Úm®ÐPœâ§ÃMI¯œ „MÍÆ¡›†ù;q 2ILËÇ–Þ“œ´¤eç°sËNl vDI$9%™=;KèÞ§;ûJ÷PcöÇ‘ÑÍﵘb¢M²˜j¢=Àƒ¡f¢(`bZN€¡ŒÔ‘ ! X΂ !m®°+=-é—2™3ÀX=š“¡Mµg3Òë£H"v%Ĥ`b†õÑ óêGÛñ©¬cÖûãžšûƒ#·Æ!FŽ"•qýµê~š» àmh`oi)&ˆ8Å)N¤š›¦IfF&YY-†”Ëûoš¿¤ª¯ŽìÂcÙ½~ÒîMˆiG#Û¶ Š’šÀö]uµ›1¤4Ú€ê Oj3ý®›fÔÔ¶‘¬iBÓ€Ðñ‰^‹½ZoášHýlÚŸ_³ŽXÏ4#ôãOÀÌ6ŽcŽÄH[Ò¢D3o*4D»6´F½×ÛÀªUŸÓ³g/DI&ÎÑã§Ã—DQdÆõt.ìBa—.ÍætÃDã÷ÃÐMMÖFç!7aš Û(ùa1»·­ÇçWè4ø2’²›©c5Ñà †9¬ §C£GcàÍ9Å5ÇÔÆ)Àf³ñõ—_2bä(róÚÅw³8Å)Nѯ?óߘGaaaŒºÕu^mÒïÇ#Z”› |u“Øé$êœ}°%$Ó`&â©qb "T\‰ùSSM½ŠÖÆUƒšÓªcqŠ‹ÄÌ›³‘·ä×xŸÏKJjš¦í—Ë=NqŠÓ[Û.Û[J¢ÃAJJj«îÓt­1êEhž¡ Bž<¶7’px£IcŽuñÿ,¡éÆÌ–ø+ªª V!DMº4jåÄ‹«F¤j—¡’е±™‹“ø|¾ˆŒZQü~ÿÛãcxÏ`jVÀÊíþ[nTMû4!‚ð›÷/NqúÝìeªŠ½±âb[îICsÇžrTÁ!| “:×’ÓÛðÐò‚ª×‹_÷á÷zÑ5 ¯WÃç÷±·t/ÃNlKŒÿâ@]mMD>w0Œ"´zYPËÖ4-¬`KS-Ü4Ml6ß}÷ƒÆçó…”9  ~ø„1|]×-&'†$ˆˆ˜2¶ *‰$IbçΤ¦¦’žžõÚ ÓWU5ªÆ(<£YãÌ',µÚ’©aÆ 0À* ¤ÚÚZ*++éÖ­Û~çâ§ÃB÷€` MÓ¸¬°ímI‚ à÷ºùiÓn¾õ| ŠQõº¤¡:¦ª£ù LÅÀëô’ߥ=3Ó²9òè¡ñÊLq 0ÓlDpl66›‚a‚a 覀 蘺Ìd®Á¢&AæÕ’  )©i\{ÝõüôÓOxö–b³Ù¬ÅpÇÿàóÏ?§¡¡°´öªª*¶oßÎwÞÉæÍ›9ûì³7n§Ÿ~:ÕÕÕac?f̾ûî;êêê())¡¦¦†°|ùr† ÆgœAuu5Š¢°páBŽ9殹æêëë¹ãŽ;°ÙlÔÕÕqÍ5×о}š:Û IDAT{TU%%%…•+WrÚi§òÄO°gÏ«4khÒŒø'þù3Bë{QÁšš6nÜÈ’%K˜;w.|÷ÝwSoÍ^* îZºE†ah˜>¯X¬#ÛŒµÉà‘—Æç ØþYCÝ?¤\¡á)õ`†dD¹ð ùôÓOQUÕÒJ¦L™Bnn. ,\¸x]בe™ï¾ûާžzŠ2gÎfΜIJJ ÿûß0`óæÍcöìÙßí@m±Þ SŒÖV¤T£¿…¦ÞœÆÝ\ÎóX®kî½dì´¤@Òaÿ,|2-yMZvmÃàÜsÎeñ¢Å”—p̱ÇPº·Q’¹ûî{x{þ[ø|>.¿âJ>þøcþùÏñÁïSVV·~€Óé² æjg5‚(…Ùúk\Nf>4ƒÁGCZzÇ<ééé†Á9gŸM½§.jÿ$I¢´´”þýûó÷¿ÿ|‚‚‚0íÁ‚lÞ¼™ÿþ÷¿hšÆã?ÎgŸ}ÆÆ™2e Ï<ó n·Û‚Ç,XÀ;ï¼ÃO<Á}÷ÝgÁ{ œvÚi,Y²„’’.¸à¦OŸÀ£>Ê_|Á·ß~Ë­·ÞÊË/¿ÌsÏ=Ç·ß~ˇ~ȬY³0 ƒÚÚZ«o.— I’Ð4 EQxôÑGxûí·3f &L`úôéøýþ¸7œÂÂEQ$%%…Ç{ Ÿ/ L:Õ2gµv–fŸ8q"K–,aìØ±ÔÖÖ"Š"ªª²råJÖ¯_Ï€,æ£ëà— fw-‰;Óñ÷rÁfÂenøIALy¸ï㉈í5Ô¸z81Ô_zÖ >ÿ­·Þâ˜cŽá¢‹. ë_І÷ÕW_qÙe—1|øpž}öYvïÞÍÆ™4i#FŒ`æÌ™–3Ok™ÊÁ2Ó¶¸¿¥6[›«üPô÷P¼c@ƒ5Ã`éÐè­ ¨÷xsòÉÌž=›>üµk×òâ‹sð«*yíÚÆÅf˜©i餦¥‘cý“¢D|nZz:Ï¿ð"³f?B¯ž=¹æÚëhhh 99™SO;Šòò&›€ê÷¡k*ª$‘ššÂœ9O°bÅ ¦OŸÆÐ!C;ötÒ32±) ¯½þ÷ßw)))Tî«à»ï¾ãœsÎÆétqòÉ'ãr91t—ËÉ ' C×T:v(àË/¿¼›·99…}Œ7Žc=–ÔÔ¦NÊm·Ý0+¤§pôQƒ)..FUýäæL'œ0ŒÙ³gã÷yCÌ&º¦á÷y1íæk¾ý†¥K—Q´mg5+.¿oC=š®ÇVâtX$Ihª xê1÷–mEÛ8ú˜£Qý~¶nÝ‚(äçç[æ8Éáˆi=( ýµ×^ã–[nᬳÎbذa\yå•üøãôíÛÃ0,É[Ó5´:÷ .Öd!ÜÙ€ùm2æË)Gy1¿OB[‡fÒ­š †s×ÔQ`Ó¦M\rÉ%–ÍÎ0 ‹™\{íµŒ;–éÓ§“••ÅäÉ“Yºt)#GŽ lR¸\®fµË–’‰(t ³mî|´D&±š $+ZKhA,Cè±æ®;Èþ@Þ¥¦¶O›‡f>D½Ç@]]@cîØ±¯þ÷TU£°°3y¹y¼=>õ õüøÓOx k¾ý†µßÏŽ;¨­­ “Ê}>/¥{ö–šŠÓéÄ4MJJJxðßÿfö¬YTUU…¨L°*ëç>_<‘uëÖ±|ù2îºûnž|ò)vîÚɼ×_ç©§ž¦¶ÖÍßþ6‰“O>™;ÝΗ_~‰ÏçÃ]W‡ªj­Y–ñú|Ö{êϨk|ÿ§žzÒ‚ôkÝn¾øb+W¾Ï 'œ€¢Ø(++端¾dÉ’wq:«IMKcÝúõlÙò3Ï>û,žz>¿¿ªòã™ùðÃ\zé¥Ü|Ëͤ¦¦Që®Em\Óq¹8úyo1!w‡ÃÁÿø7Ýt#½zõ⢋'òöü·ÐÍQÈË"‘[b8‘˜GèÆ9kÖ,.ºè"6oÞÌ¢E‹¸ýöÛéÛ·/º®[Þ `ê:ºìÃX$a\^‰9/áB'æ²TÌm6„Sëð/–Ñm>„vêZÐia Oð¹A矂‚ŠŠŠèÚµ«%ý„nìsçÎåÚk¯åÌ3ÏdÖ¬Y¬_¿ž¼¼<ª««éÚµ+õõõ8Ž˜5ÛhŒ¶éõ‘à𦌬©#Ys¶’hcßZó@KŒ³¹9o®hmˆ&¨4úH¤ú}\uåU¨ªJ~ûöȲŒßçeòÕWã©sóèìÙÌš5I’xtölœÕUüç?2mÚtúôéÃ<€®©Ì™ó?þ#GŽäÎÜAC½‡Ë.½Õð騪ÜÇ“sæðÈ#³XõÅÌžõ6›””diÿáób`¿Œ¡§®Ó4éÞ½·Þz+¢(ÒÐPÏèÑ£IMMãµ×^eæÌ™¸Ýnþýï˜5ëQ|>×_v»3Î8ƒ‚‚|†JCCíÚµãÔSOÅï÷aš&ªêgòäÉèºF=EŸÏ˵×^c1ù‡~„ÂÂBnºéFêë=<öؘ9s&'žx"={ö@–îºëNxàAN;íT Drr2£FޤOŸ>¼ùæ›x½^ü~§³:à\ßããt81t+Zç—WÃ0Xºô]N:é/lÚ´‰ï¿ÿžÜÜÜ0È=ú:†=þìñãÌgž{ÃÐÉÍk×j&tÚ9ï¼ó˜2e C‡ cæÁ¶êj+yrÎcÜsÏÃded‚ ’.aÚ DAD«×©óÖ¡«:¦n’œ‘ÈÀþý˜÷óÉÊÊB’$†ÊÓO?Mee%6›áÇsùå—3~üxß~û-wÝu—GüÁ°bÅ ÆŽËo¼ÁwÞ‰Ýnçž{îá‚ .`Á‚<õÔSa1È‘òz7W6³9†+\ßÒý‘ÎŒ}?VF} èB¤qlîÞhãÚôšÚ¢(òÁ{+èÕ§OT+  ôéÛUõG¬¶|NJJ uuuaBUð@ff&`RUUmywgeeá÷û1M“Z·›¢–ž·¡Ap»Ý$''SWWŸž™™‰(ÉÔ¸œVÌwBBÇj;!1‘V¾Ç‰#(’(Ja 94>\’$Ð4 ŸÏGff&n·Ã0ÈÈÈ´Æ"˜GUU$IÂçó!I6›úúú°±p»ÝV_‚Çjkk‘$‰ôô CÇétZ±ôiiéøkkkq88Iø|BI^¯»ÝŽÇã K„§8®{ÙÞRrròæôýN×u<YYY¨ªvŸÃá`þÿ½Éi§Ÿn¡Öv{BóÕÖšnŒÍA²¡›¶®ëVMpÑ6ÝœuUEeTÇÇ_‡Ú cb’"¦Pï©GÕýFj40‘dÑ ÷|5kÖXöÆáÇóüóϳpáBÜn7“&M ÓÔÇŒCJJ ?üð7ß|³¥Éß~ûí¬ZµŠ3fì'x´4ѴЦ ,–Rš‘´ùh^çmÆÖCmÍœÇZФ¹ÐµhcØZ-ÿ@QØy¤cAOðо„Âã’(¢iU•ûÂÚ eÒÁˆ§Ó¹c®¯¯K2áµMÓˆøÛ ÞdÈ¢(ât:­~VUU†õÛãñòA4f¯Ó4ÍÒ‚mÖÖÖZý Rè±Ð6MÓD×uëX°O L¼6øì_}‰Sœ~d˜¦åÿ4‡®•”””°dTÖ}1V@•´c¡›oГ54VÓß«™ôèÕƒÿ›÷†nPçªÄï3¨w91m6´z/u¦„œè±›Úƒ·ÿ²,YÙ_þò—&/HrÞyçEd:†a0dȆ b3M“^½zÑ«W¯ˆL%t>˜q‰Ù8˜ÚÙ m·Eˆ•9·¤qÇ"Hø\KBV¬¿ßæ‹Xæ,Ò{Dk#’©%ì|£>n¿,üX~K‘¾G;ëõ­¹¦¥{㌡¤¨„]Ûw‘—€yýšëyùyï(¦¼¸œùKç³xéb«¾²$IÜsÏ=‚`Õfââb®¹æÎ;ï<^xáKk n’?þ8ãÇçž{î±úñöÛo3nÜ8^ýuDQÜo1‹¢È²eË=z4&Là±Ç³Ú3 ƒóÏ?Ÿo¿ýÖ‚ O>ùd¶mÛfýÿÜsÏqçw"I’UöuÍš5ôêÕ‹ôôtvìØÁ 7ÜÀøñãY¼x±ußý÷ßÏøñãY·nuì®»î⬳ÎbóæÍÖ±[o½• .¸À*Ì`³ÙZ„æ‚LdõêÕ\~ùå\xá…¬[·”À\¾|9ß|ó 7Üp&Là7Þà­·åFƒÅ=‚Ç‘G‰ÇãÁétFD"ý®~Í>Öp̃Y'­]GA¡§rß>J÷ìaoiàSºg•û*p9ÖïÖ É •c­a$%%YaŸû`Ëåâžþ“ììì0ßEQøôóÏykþ|-T{r:ai]›[ç9¹¹ÜtÓLÓ¤¼¼<âïð` EÜèD‘¬ì2³²HKK‹*ð‡>ßápp×]wsåW4¦¾MçÊ«®";;ÛJMÓDQINN&33“ýë^ªªªÂhköÎHçRSS™ô·«ÉÉÍmV n*€WTT ª·Þv9¹¹Q‚_co?uÞVkÿ÷¸ÎÛ¢¤¡7u4kià[3 ‘ T¿Ê ÉÈÏ ÷ÀÞØl6¶lÜBFNß|ú Y¹YlÞ°ŦÐ{`oÒòÒX¸r!.—Ë‚v·lÙñÖÖÖrûí·3}útÞzë-:vìÖ>ú·ÛÍ¢E‹èß¿?/¾ø"{÷îeÕªU,Y²„õë׳aƈ6à~ø¹sç²páB<ÿûßÿX±býû÷gÞ¼yaßÛo¿m}_³f %%%a}Yºt)ãÇ ´´”Ûn»E‹±téR***˜7oùùù,Z´ˆ'žx€gŸ}–~ýú±`Áyä PÃzøðá¼ôÒKL›6Íjÿã?fêÔ©lß¾½Ùж UTTðÜsÏñÆoðÀ°mÛ6Ö¬YÃŒ3x饗xþùç™>}:»víbæÌ™ØívÖ­[Ç}÷ÝÇÂ… ­±:ýôÓyÿý÷ÿ’n¤ÅØ’Sa[¬‡ Ðµ{×.¾ør;vî hÛ6жQ^QÆ'Ÿ|Â'Ÿ|Œ(JaÂ¥#1‘;î¸ÊÊJDQ$9)‰+V0÷¥—,áJQ”0ÿ Q‘eÃ0¿Q «K.Ë2.§‹Šò $IB’$dYcÜA±tÙ2’““­kE‰8^ç l-ÚŠÃáàí·€a(ŠvŸ(Šûõ9Øv°ŸÁ~Ùl6DQD’$Eóß0M¿ßÏäÉW3yòdæ<ù$v»Ýþƒ&#APÅz¿¢¢"*«*™ûÒK<ÿ ȊüA”,ÁÇf³±qãFV®\É+ÿý/’¬P´m[ãûÈac›Ð¾ßQdYF‰ì í$IlÞ¼¬6LÓ´î þ¯(²5^v»w.Äáp°uËV@Ø/—~p>C„Ç8ú~}`{{[2á¶Zs¿å:?P~y@ ½¹°°–´‹¦“k³ )6…$G~Ÿw{¢ì¼l¶þ¸•ýz°õÇ­dde ØÜ.7>Ÿ¤Ä¤0ç¸Ð)ÈÄÎ=÷\222ðûýœrÊ)a×õîÝ›ºº:>úè#~úé'N<ñD¾ùæÆŒÀرcY»vmľ;–.]ÊÇLEE…eÏÿøã¹ûî»ÿ?{ç&E•öí»ª:MÎ 2"  ¸šEQPÀüâê~èº Š¢è ® k\]TÜ5Ë»*¯™¤(HEPI’fH3L»«¾?zªèi:TÏ Ië\×ÀLÅSçwÎyòóЩS'víÚÀ€E‘}ûöñÉ'Ÿp饗’””Ôäy%%%tìØÇÃàÁƒiÛ¶­Æ¥çææ²zõj®½öZ PqÎçó±víZÆŒÓï@~øá†NBB‚¶@+++©®®æ–[ná¾ûîš–¥ 5AȲ̕W^‰ÅbÁívSPP@—.]èØ±#'NäœsÎá /äž{î!77—ûï¿‹ÅÂòå˹ýöÛY±bË—/ °°° ó¢W2;D;ÚïÑÌ'¡ö­xËDs”©¬(gÀÀA\9|$#F^͈‘£¨©mà·ß%==—ËÙäy¶„ž~ú>øàC¬V+5µµÌš5›7ß|[B"n‡¯–-cÇŽØl6$IÂår³té—`Ó¦M|üñÇX­Vî?ž71kÖ,Qbûöí¼óî»|õÕ2î`2™Yœù‡þ|µlv»ùóÿ—,`ÕêÕüë_3ÈÌÊfØ•ÃÉË/`ñâÅ|¹t)O=ý Ÿ}ö9)))<>m:›6mfÞkÿæ‹/¾Àãñpfÿ?ðk#~o¾ù–†_kìízÖy¸çE#Ò‘œ{#=ç„[çÞúMz÷B]z¸ŸHRxè=á® ÷Úá7æ¿Á©gœJN~ÙùÙàv¹™zûT\ví:¶#¯M¹mrérZ>üìC•ylÒT2xð`>þøcíª-X¬ëÖ­£[·nŒ7Ž‘#Gòé§Ÿræ™g²jÕ*¾ùæN;í4¾þúkDQÔîµÛíÜzë­Lœ8‘+®¸‚… òöÛoóùçŸóâ‹/²víZ6lØÐDõÖ¡CÆŒ¤þýû³jÕª@}n‡‡zˆ; .¸€~ýú±hÑ"A0™LôíÛ—¥K—h BïÞ½Y³fæ¬ú®P{Z=øê«¯¸îºëްÃMš4‰yóæi¦ŠhùAÀåri„FeLÖ­[G¿~ýbjsôj‡ZJÌ#i‘bÍÑpÇ#ÍïHÚ®H÷ªïH°Ùxï½w:t(úÓŸ˜3gmÚàr¹ÂJµuuL¸kmÏ?÷O\N'‰‰ ¤¤¦hêâ€#•Lbb"Ÿ~ö^ŸQ8xà+W­j⇑M}}=7Ýx#î¾›9sf³d鬶’’S™ó꫼ûÎ;Lžü gŸ}6¹¹¹Ì{í5ÚwhOûÂöükÆ @ 55•ŠŠr®½æÚ¶gÖì9ä“’œÌâÅ‹±×ב™‘É¿žŽÇœÜœzè!¦N}„nݺ²ÿ~­IÉÉ|óÍrf¾ô"7ÿénºñJËʸí¶qL™2¿ßÇãeúô0oî\f¼ðúÓÍ 8ë, LbBB˜¹®ž–¦i+RÓR±4–Š}æ©§™>ý´iÛ–ÒÒRæ½ö¹y¹$%&òÍ7ßPYQNzZÏ>û,cÇÞ¬åÝÈÉÍaôèѬ\µŠí;ð÷Gå‰'þßç¥s§Î<òÈßyeÖ,6mÚÀÀ™6m:C.¹”çÿõ<:u¢]Û¶Ì|ùe232@‘0™øô³OIMM¥]Û¶¼øÒL¸þºë˜p÷ÝÌû*K–.ÅjKÐTì-ÝÛõ¬óH×GbÆCéT8aôD^ç‘Þ)ƒi³TÕz$Î&b\nWÀi§²†í·Ó¡[ hßµ=;·î¤¶ª¿ßÃé8BÅž––ưaÃ1b_|1ÜvÛmŒ;–Q£F±xñâ&ï}Ý]8 IDAT2deee\yå•|øá‡Ü|óÍtêÔ‰‚‚.¿ür’’’8p šÝZ%’ ¸ÝnÍNüá‡æ¢K—.š”àŠ+®àæ›oàoûsçÎeäÈ‘Ü~ûíšÚ^mªª?;Õ›7¸M˜0_~ù…›nº‰Ë/¿< âµÙ4†IÕx¨Ï³X,#e±XHLL`ñâÅ <¸‰CQ¤ù‰£mMuû±æÜÃ])™Óåâºë®###ƒ‚‚rrr5jT`ÑF¨)îñx8ãÌ3ùvåJºvíJ^^žf'n°7v^k´¹Ö×ÕkfUëT__Åj£¬ìP#s¬€¢ жmúy&“'?À¹çœp8 š·‡5 ÇUI”ŽpLSëÌ×××7ÞçÓÌV½O;3Î8ƒ×ÿóoêëxñ…Üpà <¼øâ deçlà’DYéA®»öZ&?ðµ5µL™2…‚ü|ªkj4=8¯Šx Š•%ý^l ôêÕ‹>}úðÖ›o ‚(€ R×8Þj½{¿ßOZjýûÿ /¼€§ž|’C‡a2™ðû¼¸Ýn$IõC Uöv=ë<Òõ‘ìó¡t*œ0z"¯óÖ–Ð[Tm-Z†6½µÀ#=sêä©<ø÷9Pz“ÉD3z°eýº÷éή­»èÑ·Å;‹©(¯à”ާð—[þÒD>{öì#ž\JU=¦ÚÙDQäé§Ÿnr,ËÜu×]Üu×]Ú±ýû÷óì³Ïj%²,3~üxíyIIIÌ›7OûÛjµ¢(ŠFx‡ª93©c4kÖ,Ín¦(JÀ£õÿý?*++™8q"'N<¢_*S<¦sæÌirÌd2ñïÿ» ³ðÖ[oi›Óœ9s4/]u T›©Šƒ,ËÌŸ?¿Éûý~?óçÏÇï÷sõÕWkÇÞxã |>ŸÆP(Š¢i¶oßÎßÿþwMC-®2Wz´Ô`¢U‚‹Õÿh¹á£%8ì=má½÷ÞcÔèÑ\T"8PrñHß• }¹t).—‹ÚÚZœN'é™2zô(,å…f——Grr2W]uÕÕÕäççÑ»wozèoÜpýõ,-¥gÏž¸=*+«?þ.î¼s/¿ü2v»'O&##C+éX__¯ÕgW O}C½ö-uµ5LyøaF矮iÈjkÚ¤îŸÄŒ^ #=ƒ¬¬,.¹t(ã'LÐÇãaÊ”‡™úÈßùþ‡ïq: >‚ÚÚºÀû{#³ ‡£‰—¹Óé$//ó/¸€ªÊ \.r£0 I……íèÖµ £F]MiiÏ?÷OÊÊJq6ú*ÔÕ×5é/(8vn¼áFî½÷>z÷îͧŸ}ÆmãnC‘ež|ê)^š9“ÜÜ\rrrxpò<&“©Éxgˆ‹´`ô–O­« D1,]´î=zDt”©««zô< ¯×ƒÅbáç ë1™ÍtîÒUÃ1V)½ÙâÍ nþÛl6óÓ†õTUWsÊ)Ýñû}8N’’’0[,¬úv9#F^­Ißê³=Oÿ Õ±Êjµ"Š"eee¤¦¦’ ÍéÒÒR233‘e«Õ—«¨ ;;[»F–eMãRZZJJJ ÉÉÉMœ)ƒ³ª ¢×ëÕÖ:wëêêðz½šG¼êÜf2™¨­­Åáp——§Í¡²²2²²²4ÏvÇCEEYYÙX,æ&~G[^¯·‰÷¶º.Õ¾©kR]/êz-++#99Yó¡ñûýšÃ˜Å¨ i ù¦úúz™™™Ú{DQ¤ªªŠüüü&Nn¾ga±Xp¹\švËl6SQQ@NN6OÀ'¦´´ŒÌÌ íþàoµX,Úÿ꼩«¯§¡¾¼¼\Í»ßb±à÷ûÚ‹…ÔÔT ›òŠ d¿ŸÜœ\<^O“1 ÅO×…ìízÖù±Îw¼Öy¤>èÍhµÚX½r‹™ÓúœÎî¢]úR¿Æ›c»¥•zïÈa#YýÃjvlÚÁ5îañ·‹‘É"‘“’ÃÎ;i›ß–‹.¸èˆD¨Â¥=UÏ©!Á*•G›$ÁÞ´‡Csš>?8Ì$T%|}è„f<‚ÇF=ªm­K* Ÿíw$Špc¦ žê±`Æ'˜Ñ‰Äžˆ­¥àZ²|>=zö¤¬¬Œúúº€êTq8ìøëë8÷ü HLLÂÞ¨FöÍÅK=æõzuãóU¢—™™©]§2_YYYÚüfÌdY&++«É3BçUðœ þ]}ŸÕjÅjµ1¼^/6› ›Í¦9°Ê²¬ÕlP߯ÚëU‚é}¡i“ÕuŠg°©Îãñh oÔïSÇO½×æ›TS°0 ( ™™™x½^Ù!ð=!}WŸ£šÞ<o>MÖ|è·ózöÖ¬L©>¯>_uöõx<¤4†4z}Þ#ÆH gÚQ8Fi›["¡Ÿ ë¼9ýŽum‹ë¡GsŠÓZ-:--93«‘eEæý/Þ'=%ÇzLÛ b£'¶°¹•¶Â=#šÚ&Zu²p C45N´ò£zÕ5áœÏZs= #ŽwØšžk¢j Ì›2€……íÃÌ[YöãpØ›0JÁLc8F2S*q„ú¢Dº>t®Gd‡Ž†ŽK(sz}$‡`;|(Ü÷h¶ÆXš¡Hï‹4Žê}¡cú¬pöÒо‡û¶Ðñ 7¶¡˜‡öE=ʼG ï Å*Z©ß–ìí­¶v´ööcµÎ£™ªõîíºº^°ôÄÜéñˆ÷1ÁÒŠ‚‚(ˆ\?æz.:ï"RSS±Ùl÷* D"8áœZ’Ï<ܹHê™hD9ژ걫è)² —Ã<0—óm®´,0W]³âÁœG³hß©ºÛ‰Œ9q`Mz¢®óæ`þ[_çæ­¹n‚®—»Ñc߈Ç>Žû U«a.ÁêºhAþá8Êhß©7KP4*–J9šã‡ÞjI±¤x=÷G“'æÑ¸æÖRµKÌ•816—£I' æªÚVoªO=sãD[犱ΠÌ2æq©Üã‘2£ÕÆŽÄÅEóT©6)õØŽ;xõWéÒ© ·ýé6í\ðu±ê¡+.N/‡§‡kÖ㼡Ç)£9õÐ%æÑÊ6vÔ0WÙuóa®ÇAê„YçææÇó¸ú‰ÐDQäÍ÷Þdë¶­L¸}Ͼü,¦KV/!ÁšÀö]ÛéÙ½'7^{c¢Þ›jk‡G5ç™á&hk´`¯åPûXs¿)Ö$ ÷='R-ô£‚9 F½÷µ˜˜ÿV1ã•\Zr}4{K8BðáGòÅ·_Ð 6pÏÃ÷àð8°Z­¤¦¤ò¿ÿ/õB=,þ€eË—‘ª4Ö{bÙõ¨gÂ&ĉ@oü½šRvÉ’%TWW‡U›…:ñèQM«¬ ,ÐK„ŽG,Õ[0¯¬¬ä`Þ¼y,\¸ºº:~øa6oÞ¬~Q¶oßκuëš„ðézjÓ‚ZÌ­u}¬”Íy‡é"ZêÌhsWOßšó-z×¹^Ì#}g¬î´Vksóó˜ýh… IJù+ŸÏÇÖí[%½~ÚumGEi ’Ô¡ƒ‡8õôSñ¹}˜$?ýHÖL¤KJJ¦*üå—_øöÛo5b Nyy9Ë—/§¤¤D;f·ÛY¾|9õõõí¿µµµ,_¾œ+VpèС&ƒý믿jiPÕ|éj؈ TTTP\\ܤ¯µµµ¼óÎ;šÿæÍ›Y¹r%N§S»oÿþý¬ZµªIÿ‹‹‹µT¯ê±¢¢"¾ÿþ{혚pÇår…M›n2­_¿žåË—óí·ßj)l'OžÌ7ÞÈÊ•+Ù³g—]v“&MâÖ[oeåÊ•Zµ;5V¹sçÎZÅ·àzæ„®yuŒ¼ã£õ'ž*Mº×‰ŽëÂ¥áŒÄŒ…®µ–®Ùæ®óØç£' ÑSõëX”Þ4070?Þ˜Ç$èá2|îÚH€E³}D»V¬ÉŸÌ¶ÛD‰’]%”,#·].Å;ŠÉÎͦòP%{wïÅjµ²vëZ¦ücJ“÷¨©NUâ)Š"S§NåÓO?eÛ¶mLŸ>]#.*1¼ÿþûÙµkÓ¦MÓˆàÝwßÍÖ­[¹û4¡Òüœ9søì³Ïؾ};“'OÖ˜‰ââbnºé¦@q…Æëûöí˧Ÿ~ªÝ{ß}÷i}UUâ ,àÆo h)>ü>ø€Ÿ~ú‰ñãÇãr¹(..æÁdÍš5<ú裂À¶mÛxä‘GX¾|9O>ù¤–¯~úôé,]º”3fh¥4EQŒ¨Õʏ¸˜íÛ·³qãFî½÷^¯šÊ6¯ßLñŽbvoßÍygGvv¶fŸ NK©J™={öÔþVSKª“⢋.bÕªU :”'žx‚[o½•¢¢"rrrÈËË£¼¼<ìÄËÊÊbÈ!\rÉ%¬\¹’K.¹TeëÖ­V«•eË–i÷]yå•,X°€ 0vìX-·Úìv»V¶Pµu¯[·ŽÚÚZrrr8xð VäÅb±àóù(++#//O“¾:¤c —iÓ¦ñþûïóÃ?4+§ÓÉ–-[´Âê³Ôo}ë­·2d§vgŸ}6/½ô÷Üs<ð3gΤgÏž¼øâ‹ÔÖÖrå•W2{öl­( Š·8ލv¤Hs¯¹ö®X÷Å3O#T>¯§øP´”‘Ö\¼ë¨¹÷Ëu®§‘æA¬8e=¥4 Ì ÌOfÌuôÐJ6±Ê§†+]Ký­ü@Jr ¢$’×6®=»Ò­W7EáÛEßâóù8µï©tïÓüvù˜L&r³ãÓC¾UÍ}œŸŸOQQ‘v<4û×_ÍgœÁ¢E‹˜0a¯¿þ:………Ô4D¨ªªÒÒB†:ÔUVVòßÿþ—%K–УG***˜?>={öä¹çž###ƒ·ß~[{Î9çœÃÌ™3q8´oß^«Ô¦¶:°gÏÌf3’$±jÕ*^ýuþùÏ™™©å}VsVgffRUUÕ„x§§§ãt:›y5¯·J`ƒ[YY¯¼ò ëׯ?bR}þùçœsÎ9Ú1Õ/ ººZ{¯ú>ŸN:p ª§\\\¬•_ §RŠ6¿Ž†Ä¡G§§¬bðf«$cèý‘$#©ûÂõ!Ò:Š4~¡ý<ë\æÑæA´Œo-U¿˜˜Ÿ ˜ëV¹Ç“HJBoˆSðùÏF‡nðºå<–$-#ï–}GçS;³Ï~ 0™Mt(àËo¿äŠ¡Wh±uuu,\¸P³{1‚>úˆ¹sçÒ¶m[V¯^ÍôéÓ5»u»víxë­·øôÓOY²d cÆŒaðàÁŒ7ŽÔÔT>úè#^xᮿþzÞ{ï=Mît:)--¥}ûö\wÝu<þøãøý~^zé%xNž<™M›6i`|úé§š-Y-)©ž6l~ø!÷ß? ,`Ê”)Ìœ9“>ø€+¯¼’±cÇòøãsþùçkêò±cÇ2eÊ  Iå7ß|3>ø }úôÑ©Zá ИõÝ:uâåÆ:ÊÁjxAøðÃyå•W´ñRïu»Ýnê1§Ó©|—Ë¥1 .ä±ÇÓ57âÍ×\ =š¶@¯º-žì€ñæ&ˆÄ¼´d]Æ“5,ì³Zi7'kX¬1‰VJÓÀÜÀü·Ž¹ÔóÔî»2P©,©Ñ‘©%v =r ý]öˬXµŸÇǾÝûÈÌÉÚvl‹,ˤ¤¥P²«EQ¨©¬aèyCéÕ£—6`½{÷¦¸¸8P/Ýá wïÞ\vÙeTWWSSSÃUW]EZZš6`YYYôêÕ‹Ý»ws饗2`ÀDQdРAlݺ•qãÆ‘••Åš5kHHHàøƒ\ûöíéСV«•ììl²²²8ÿüóÉÎÎÖúÓ¯_?$IbðàÁäææjNi¢(Ò³gOòóóµên………üç?ÿaÈ!˜L&ú÷ïOee%N§“SN9…ÂÂB:uêDee%wÞy'’$Ѷm[Ú¶m‹ÝnçŽ;î@:vì¨UÍ7n‚ ЧO èÕ«—öÞp9¡Õ¿=={ö¤  @ûæ>}úЦMòòòèܹ3ÉÉÉÚ³Û¶mKÇŽILLÔÆuÇŽlݺ•#FàóùšdŒ57Ô¿ÝnWÀsçN²M!áj@S ““‹,²Òƒˆ’DFffXUžžyknëÉé;õôAoØQ¬¾G«àt¬Ö¹Ìõô-’Z6Zõ/sóßæ&“‰½%ÅH’Dn^>5ÕÕá˧ƛË=žò©±âƒ?üå9/³â§ääãõz)úµˆ^ýz±sËNÚujø â½\uÑUüÏ ÿs„TÚB“ÏDë›êýz,8#Þ²|ñ”ÝÓà †ë‡žcÑšî8\Æ"=ß®ïzÔg¡Ï;åSãኛ•ã9ʘÅ+9E IjN±Œæäõníu®w-èÙ(ÃÍg=YÃ Ì ÌOVÌu—OmN.÷h©;ßoÈGœzÊ©,ûaååå$ I´m׿ÏON~%;KHÍNEQNí~êRe¸~E;M5\}(¸¾w¤P‚pß­šO¸>¨Rl¸ç‡2-‘r|GK`˶ óp¡‘Ò8ªÌE´’­ÑÂeŽVv¹c–ã9JçH‹?Òš8Þy½[sÇÂ\oÿNȼÞææGsÝ6ô–¨'bM¬x6Ú‹.¸ˆÄÄD**+zñPî~ènêê)+-ãÎ?݉ì—)È/ ßý4‰:žoNÓ“2µ¹Ä'´¦ºÞ8ÎÖ jGóXÞ±ñª¤Že‹Uݨ51y`Ø–“óxT¸ñ¨rÖ:0070ÿ-`nj)‘€ˆ×¡)ܽ~ÙÏÙÎÖŽ?ûø³Ìš;‹«/¸šË.¹,ª7Ò7èµ15g"D³SESÇÄšL± èÅ&Þ…|,1?^Äú„ÅœÃÙ£ Ìã''å:7070oáeÒÃ…ÄòÊ £iPâá|D!È&Œ@bb"“qõž`b®‡8ÆRµD‹ŒõѤR½yæÃ©þõŒ½žÉ©·~vk`O¿b=3ž…×Ü ÁÀüÄļ9¥sun`þ{Á<&A'—¯ÎEý½¾¾š””dPddYÁï—ñùý(²?ÜD–ñúeY¦¶¶Ž.ÝNmêȦNLÄ£ÙKškg‰ÅÝÅ*í×OÈp O:»¥’i¼v½Üj¸gE²õÇêÇÑ ë10?q1×Ó7c˜˜ëP¹Ç[‡5R•±Ãļ†Úʬüfn¯Y!@Ð}>ü>> ¯OÆëóao°# pÅð«éѳ÷áTñÚYZK-Í<)ÎðdR¹·&æÍUÅKú±ÂŽ=æª2ï„Á„ø0?™×¹¹ù±Á\'A×» KÐÑ:Ÿ’’Äÿ}¸œûœFAA.v»‡ÝI]}·¯Ï((YÅÒRSÉoÓŽ»b³Y[Í˹5â/‡ãV<ïÔ›TáhŽÙÉÞZó~/­zcxäsv½˜˜ŸŒ˜‡kºê¡GÒù«ªï¹sç4©±®9]Îès·§Ã¢È$%&š’LFz)ÉI$&&’˜˜HffËW|Kƒ½A+-×ohópqäÁߣ†QEÊãkLôž×ãÝ­÷=-Éië\<˜7÷ùñJðͱ!5ghíñn-ÌsÝcj`n`þ{Å<¦„+õ]h»ÿþû)**âÉ'ŸŒÌ=(2^¯‡ÛÍÌ™/3þ|dYÆãñ˜˜Èž={°%ØÈËÉ£¾¡žE b³Z4é_’$þò—¿PUU…$IdddðË/¿ðÑG‘͈#0™L|øá‡¸Ýn¬V+'Nd÷îÝ<ùä“ôèÑŸÏÇ%—\B÷îÝ™5kÈá>gÎ PÊ´ÿþºì-³Hçõ&|ˆ¦†Š÷ÞXqš-]TÍñ ¾ïhÅ¡·Æx˜;Ì[³Ò—¹ùoó˜zð ô$Ü4hýúõÓRŽªÅ8‚›ÏçGDvíÜÅk¯½ÆÁƒ@ÊÕììlhSІí;¶“ŸŸ‚Buu¦‚—e™Ù³góßÿþ—÷Þ{Ûo¿¿þõ¯Z…µ?þXëÕjåÅ_ä‚ .à£>â¹çžÓ&Ù²eËšTMs8ÌŸ?Ÿùóçó裂'‘&\¤þ¡×…»/Ú¤¶ž5áÀ•Ø?Ü„Ó[@GoцhßiŒEÓ›@ÇÀüø`®÷Ùñê0070ÿ-`—Ê=V™¸à—ÖÔÔ0fÌz÷îÍwÜ$IZòP[$™8ýôÓY»v-²,c2™0›ÍTUU‘””ÄöíÛ%K…ºš*dùp–6µÐÊš5kX¸p!7ÜpC~0#ñã?2|øpihh8¢?‡+®¸‚mÛ¶ñúë¯Ó¯_?MI•Z&¯5KìErîˆTb/\BUA±Jô…öSæ¡Çb…qè)«ï­¡ŽŠGef`~ô0×[6óx–Ò4070?Ñ1KåzG«cž@mmmØk}>/u5ÕdfeѹsgºvíJEEuuu$$$à÷ûÙðÓFŒÁ7ß|ƒÈ•ÓÔwY,6mÚÄâÅ‹yôÑGµÊ_á+¸zXæ"„°×ÔÔh ƒI®¹é#MÌhjšh¶§–¦„Œ— Œå™+½bsRBÆ"Ú-)Ÿª§Ïæ­‹y¬ô™ñ;Ó€˜˜mÌuôX›ohKMMeÑ¢E|ýõ×¼ûî»È²|DrŸÏÉdâçŸ6píu×’‘žÁömÛQP4b½oÍ>–}µ €ìì,<æ()ÅÅÅ,\¸PS‡JÒj9R€ÓO?¥K—2dÈœN')))šÓžzÅbá‡~ ÿþôîÝ›K/½TcB‹šÄ#õ5ßKRˆ˜×¸µí]‘úÛRO×Xvo½ï:Öžõñä^00?v˜·´BV´óææ¿5ÌÅXÐ#ò¯^½šÅ‹óæ›oâóù´¤/MâÇ‘qÚí¤gdàp9q{=¢ˆ ˆÔÖÕárºAq8(Á":0iÒ$¾ùæFŽÉÈ‘#9ï¼ó¨¬¬DFŒAii)]t‡ƒ{ï½— 0lØ0î¸ãm°.¹äÊÊʸâŠ+Ø¿?£Gf̘1L™2³ÙV]M-:fÑÔÈá&p´ôŠ‘¼ùõÖû†]¤Ñî ý¾H÷ÄRq…ûÞpçŽVÓ£¢30?~˜Ç’ÃÙ)#©_ãQ˘˜Ÿ ˜Ç-¡ëUÓL:•I“&áóù´¢"¡x¨¼Šnݺ1rÄ•HR š˜×ãC2I8N|~²,!ˆ>Ü……í©8tQ4©ùý÷ߨÇ?þøˆcª'»ú·ÉdbÉ’%Ú1Y–5æ šJ%VŲXc)c’^N1Þû›£zjŽjNO©Âæ¨ÈOE^ç IDAT$§¸ß<æqVº:^˜ëM6ÒRææ'æÍ"èzêxOš4 ¿ß¯óp`wì| ¥e\2ämIˆ~^Y@n¨E6ÛPì TÈ~*qËû8´/…K—jêqI’ÂzŸ›ÍfA¨çû£óù|!WÏy½^íw‹Å‚,Ëš*^’¤°E^be!ŠÄè©®'¬AO>æh)ãUåè­yÎŽÏó·º=ž¼¿YÌ“Zœè˜ëÍö,EF"Dææ¿Ìut=I‚;­ÚÌcqBÏ:‡C¥UL:•ú¡(¶„L(8}~M&¾]ý=?­ß‚Oqb¶XHLLÔž¬ ‹ÅrÄûT{ð@«×ƒ¦|½jX*ÛPõT´É‹ëÔÛ¯XÏÖ»xãQKë]”ÍÃcUœ%ž÷˜GV--Ì£©w›C Ì ÌK˜Ç$èáÔÑ*’Š:´Ã•U•Ȋ̬W^â×_çàÁ2<®<^ÅïG:vhK·S:3räh† ‚Åb9Bý¡§,ŸÊh^ˆÑÔLál7‘&{´k‹”Œ –ÇwKÊ%¶Fñ‚Hª¸x‹6Dr9ÅY Ì[ó–ꈅ¹±Î Ì Ìõµ¨ºÎ@Ñ¡ºQ;”•™ÅÈWйKwÜn7²v½‚$J˜Íl6+ééé-rwŸ.U «¥%ö©¯"Å Æâ¼›#ÍF‡ÖÆ<Ò¸D«˜Ø¢„CmáÈ ‚_™Iósc˜˜·°|ªžA ÷Qñx,æçç·hRêl±l¡ý Ç}Å3>zÕ¾á¾-tL㱫īfÓsK0f‹ö<=ýˆ”P{¾ÐXé }á!qaΑ5' Ìæ'Ä:7070?1KåMµMIEáöx¨«ÚON~n î¹Û…Ç+ãt9ñûýx\|?.¯ËÃtî%¤¦¥Å­ Ç5éqjˆ¤*ŠZ´‰®Ç$RŸZšÀ@/Fñ:]4‹æ8ÅDšØ¢(rà`¢ÉŒÇã=,³Ë PQQIÏ^=ãâØãÂ\§ŠÓÀ¼e˜ŸPëÜÀÜÀüÃ<. =—¡—k ›íÛ~å‚!W’š–Œ"+x½~dÙ‡,+x=dEœ…mÛ0#¿gž5(¦ä¯7Ü"œZ$–Wd$Ž*ší%Rìb$@#ÕâÖ‡h‹3ï×h ¡%˜G³­ÅÃhWQ2221òê&ü´ËåÂïó£È~öíÛGII‰–(šb`~âbn¬ssóVðrÄùDãÈb`¶$°qóVÚç·»@YÙ!”4…C»«°×Ø1gKÈ~…†j;‰I6vyöðÖÛoѾó)dfdQs=’:_#U<) £¥" «ÔX)£9PDЇlç+Ckbk!FÃXW 3t9˜L&;I’pØí8„¨%†£qëæ'æ‘Æ#’D´f`n`~²c®› ëµÍè©,s¸2ø%j’*ɽ-•‚úT6LÛF·ñ…䜕Áê»~!±£…A·ŸFÑ÷Sùm=n¯¯Ñz¸O.—‹­[·rÆgTùn7+V¬ÐBç.¾øbÖ­[GUU\p–VWWǪU«8p ÔÔÔðÝwßiRßÀµb/±ì,±lûzÆ.Ç«çñÚÆ"Mä–”ø‹Å¹·ÔG#üjü·eëVŠ÷ì᪫¯¦º²’yóæñ§›on´¯+q½[OÒŒ“óp¶¿“s=Ra$i-š=ÕÀÜÀüdÇ<\#=0\‰½ÐsᎅW; û|xìÌmLìþO)?MÝAçÑm)zû»ÞÝhÉíŸÅg7¬¤|s5Še ýÈyóæqçw²yófÖ¯_Ïo¼ÕjÅÞ˜ZYàf̘ÁÖ­[¯×Ë=÷ÜCyy9'N`þüù¬^½Y–q:aâùþp\\<×Äú;ÜXÇsO¸{ã}§^Ìcõ!Þw…k]»vaÞk¯1ù}Í5˜ÍA@ŒÃq%Ö·œl˜óÂ<Öø„K*éúHؘ˜Ÿ¬˜ë&èzÄ{=ê`nHF@¡æ`…#sé:¡õ;íEV°eZqWz±`¦vW’IààšzUü~¿Vêô½÷ÞÓÞép88xð }ûöÕT²guÆ Óî_¶l\pcÇŽeäÈ‘,Y²„ÔÔTjjj¨ªªÒî Èxc›õÆ ÆŠ]ÔãxÑœj<¡L[s*0éõ~–0"Ü÷Æûf“™Ï?ÿœ_6näÆnàöÛoÃårÅ Y ǘÌcc,µp$»cèõárY˜˜ÿÖ07éí”Þtœíž>·à¢~·ƒÚ¢L)&²û§Óöâ~x` eÑíêBL©{”T§Ac¾jÕ*ü~?999¬\¹¿ßÏ™gžÉ´iÓp¹\<ñÄüùÏfÀ€šz^mÕÕÕdff““Ö-[7n½{÷¦®®Žûî»Ç{ŒöíÛë²ÛÄ«hÎÑÔ½z'H<ç›ûœ–bÞœ¦+Ý#‡ÕNö†>ùø#ÕÕÕˆ¢ˆ$™@¡Éæ¡4>Ûf³!Š@F3šÑŒv²6›ÕÖ¸_ê èá8ŸhöõX¶ Ù/#Za÷Â}H% ËÈè›Ê®wöaI1³iv¹—¦°ëƒR’mÉx½þ&¶¡7Þxƒ>}ú0{ölÎ>ûlæÌ™Ã_ÿúWzõêÀÃ?Ìܹs5‚n6›±Ùl@ ÄkEEåå夦¦лwojkkùöÛo¹ñÆuA,ûL¤ûcÿXŽ|ñÄA†cBâM{ØÌãeŒôuAp8ìȲÈÅï÷ãóù´¿ààÁHÒá"A ‰"·›ï¿[ƒ$I­V–ÒhF3šÑŽGE‡ÝNZFº¶Ÿ™b=ç¢eþQùý^jª+ð¸U6÷x<ô0€|@—®§àóyQÇ,+ø}>*+*r饸ÝîFíŸìœJöì!95”X.sF3šÑŒvâ¶@Ú,…Ô´4ÒÒÒµ‚d¨‘ÕY¯ÎE‘el pª\ ‚ˆÏëfÿþý—ìÃl6¤'F¦€}\Qd”FU©(Š$%%Ò£GOl6ûöíÃf³‘‘™¨ &IìØ±“ÂÂBvìØÎŽ;éׯ]»uE‘e–¯XAC} õœ~úôèуÒÒƒ,_¾œÁü#ùø|^¾ÿþ{JKËøã“›—‡ÇíÁÞNÄ,ào”Ä%I¢²²’ŠŠ +0™$Úµ+lRùOQDQ¢¡¾ŽÚÚZ_£Íh'wS=11‰Œ¬,PvíÜq˜ #ËH&ÓQíƒ(ŠQ“}ÑgEÑœÚÔP²`;´$IÚo2™ðz½Úõ‹Es@ðù|ø|>DQÄb±àñx´Ô¡‹Qµc†*öd¡ï"’$6™+*ßꊎՂa;7šÑŒö¡ëŠÜ(°ˆìܱ=Hå.4Ô×#öIÓì­|ÑŒf4£Íh'–dfÒÒÒúÑ–Ðf4£ÍhF3Z+JéA¸)Hv'99¹UCŒf4£ÍhF3ÚÑÓU¢ÞD$d{4šÑŒf4£Íh'(IoôM;BÇÞœÄ"M%[O™¼æ¼3R?‚¿'Vìs¼ïoI²—X jôÄi‡Ã«957™Œ¹ùÑÂü÷'¿ùïtd£ cL"Ì S¬#ž‹•À?ZÌr´ëš;ÁÃ%ðT¥'\”hÏoþBàeQŸoÿx&AK .˜˜·6æ¡ß(IÒïnsV#mÂUîE‹Åú»#Z~Ÿ¯× ©cCçžÕbùÝe~TE˳ÜL-y`¼œR<fs«ðèÙðâɃܜ >ÚfÕ¤ÿ„¯’Ôί—’â=TWW7žûíûõ(J 477/¶m I’Ø]´‹í¿nCiâõÛm Ë ÙYYôí×ïˆÜ’ÉDmu5+~ü—Û8þ;!èV³…Óûõ#=##P!´¥ÝhÇhR딜 uœùoá»E¡¤xiééôíwæïÆIWdYæç ëq8¤¤¤àóùI´L&ìßÏÁÒRF_w}\¹<~ mÓ/?³áÇu x6þ íÛéäÇõ?rÁ…’‘™õ»“ÊŠ –ýƒ Æb³iùàLÇrŠç9±RжDi-›m¼Rʱ܀ö7˜˜Ì¨­«åÌþ¨¯¯k¶*U à(òä#$·¦çO™÷”î§²k×2³²ðùé°M&»vî༠/BQíøï¥Ö§/›7mÄç÷71×”——Ó®m;22³~wc’•M›¶í8T~ˆÂö œ—»º)éÙ "9ºÄzFs rè©p®&mðFîúXê[=eîÂ×ó=±œ“ô:Å*7îÞH÷˜˜OÌÕD²"ë®m 6–Zn¨¯AQ 9)IU×6’sE‘ih¨EöË$&&a6[ï<Ž›´¬ÕºŽÌ0¿; ]ÅUË züŒ‰ZàéÌ3Ž'½ŠÒôýÍvŠ‹dïŒöŒxŸë]‘j)†ö#–Ý1V±h÷éuŠåœë±0kéýææÇó`éYQË<éiŸ—úºj’=»w’’š‰Ü˜&Ód2QWSEnn‹…ú†ZlÖDl ‰ÈÑBX´>L«1JdMGµ©„²,q^Å "Yñ…& ÌQ0Á w,ã¦^§¦înE®;ZZ)Y–1™L<<{1{Õ"‰"~EÁç“y÷±kñx}Hâñ`ôÈ[ò¡ñ;šêÇ` DOx‘žM;ÞŠk-UÏ6grÆ_±Œ#¼¿ Ì ÌO8Ì%°a)ñýˆ¢HC] ‰‰ÉØêùuÓf¬–D22ÒÉÏË¥ ?ì¬L’“Rص}U•$XpØ[c¸çMEFOtYöãózã×*?±X#ÇW’$Ö­ûWçÍ¡®®®It€$I8°Ÿ/<ÏöÛ›9Žp«„N’¤ˆLŸ$ITWWc2™Žš}4ɨ$I8Ý^n( ûÊk¹mäYœ}F7®ºx‚(!ËþÊÏC ·ðCUgÑ~B¯ }F´gź6ôÿxúmc ÷¬pRF¸>†J[‘® >îáî&…F볜BŸëû Ì ÌæªÜ¡p˜¾Åû#+ ²¢°ï~:uí†Çé ¶ºZãvö†z:ŸÒÊò*œN'‚(¤sA@$dõYRb{}>ö–SWWGQQ¯—¾ûކ;¢$5«Ÿá”(Z E m þÝëõòÕ²/±Ù,üë…ç(//G’¤€güîÝÌzuùù¼÷Þ;š³J´‚BñE‘1cÆPYY‰×ëÕŽ]~ùå˜Íff̘¡Æ Æ\’${ì1n½õVƇ×ëmÒïx~¢‰èŠÎùï$I”UÖqù}¯SQcAÀb’ؾ¿†-ÅUü´óP ”®Q“$Šb“q fjÔÂ`’$EÝ#âEAåâÕ¿C‚9ÅH÷D“”ÂÝ«vx´¾é•â©)mLBÕŽál”ÑÆ.ÚwF:¯g\#ý+FØÀÜÀüDÀü°ÔÕ¼NöË$$$±wϲrr©,+Ãëõr¨´”}ûösðàAJöìAöË”,%/?Ÿ}{÷a2›¨(/§xÏn¸I’Äkט˜HA›¶(ŠBRR5UUœ~f ÛwÀãñ`±X°X­­°YǧZ³ÙÌ)§œÊ¾}û騡#/Ïz‰êšjöìÙÃkÿ™KÏSOeëÖ- ¹øMâV ͽ÷ÞË…^ȰaØ3g&“ ¿ßÉdÂÔXÛ#99™äädl6›v,55·ÛÍu×]›Å&÷|óÍ7|þùç”””pàÀ­¿êuêzQÿ6™LÍÒ"µžÆ/À šL&Vl(âÉ·WѳK[Öÿº»r ¢žûª))«¥]†DJ‚YQ°Y-qÍ5×pî¹çòÐCáñx$‰n¸«ÕJqq1—_~9UUUGõû §8ÃAÊÀÜÀüÄqŠk¢râTgÊŠ«ÕFJZéiéTúüØí’ÓÒÈÏÏGÊö #3“ääTdEÁb±A£ybBb€¸hjv0I&¶m!33 ¥±ö´ßï£CÇN´+lφu?à÷ûéyZoM‹·ï¡*þpòh¸±óù|\5ò*œóìܵ“6mÚð¯Ï#‰";ubã¦ÍœÞù 4ǣͅiÓ¦qÖYgñüóϰhÑ"\.wÜqééé<÷Üs˜ÍfþýïóÑGñç?ÿ™ë¯¿¯×‹Õjå•W^áñǧ¡¡;ï¼·ÛÍÌ™3III¡°°I“&ñØcQXXˆ(ŠTTT0qâD’’’xá…ðù|<ûì³ØívJJJxùå—III‰×„Þ*joQ°˜Í¼ñÙ¬ÝQÉ¥ƒû ø]ü°¹˜_÷V3✞€Â¹§pÙÙ§²ú§8œ.&NœÈË/¿Laa!3gÎäÙgŸå‘GÁétÒÐÐÀM7ÝÄG}Dvv¶†AË­RJl‚®gá…ÚéÍôn ¡÷†Ûõ¤Œ¤õ¾X›U8É,Ö¸è+Ú7ñžÍ¡5“ô¦í4070?V˜7Q¹«NqÍØø|>f³k‚•6Û#‹Ð®]a äK–É+ÈÇï÷‘•“ƒÙlÂæOÄëña1[0™LìÛ[BCC=~¿€#™×çÅa·SЦ ‡ƒv……$§¤Ò®°=kV­ G¯Þ˜Í&~ùi§÷;·Û6?õ_!²Å8’ëõz¹áºùàÃ÷Ù¶cÙÙY À¾ýû¹ð‚ rñ%x<ž&¶ìË.»Œ^x¢¢"ºvíÊ5×\ÀwÞÉwÜѳ††/^ÌðáÃ=z´Ö‡O>ù„Çœ &0}útL&ãÇçõ×_Çãñ`µZÙºu+à¾ûîcΜ9ìÚµ‹I“&ñÒK/i}øñǹ뮻x÷Ýwq»ÝMìý‚޵Õ"{¹(àpûxñýU”;Îì݃ûkÉJ1Ó¯gg,`‘ Ù"й]6›vÀjÏ;vЭ[7 q¹\Üu×]œþù<òÈ#|ÿý÷Lš4‰eË–!Š^¯·Õü ¹cšâq¸‰5˜±¼„õ¦„ UÅEÚ0#{êFÞpô¤Õ3&ÑÒ€ÆÚä#¥¿ŒÇGÿâÝØ Ì ÌOÌ›(Ÿ·Y›_°]Ùï÷£( Ifí˜æµl¶àóù™é|~üø°XÌx½¬6yùø|¾FÇ®*Í[ÛëUïñ! P]]Eù¡Cø}?áq»*[³åç4½}÷z½Dò›÷ù¼x½žˆsPÎ<ó¬Y³ I‘úúzNï{>ŸŸÏ«Ýëv» Ì Ì'æZÿd¥Ù1¾Š¢ ˆðD¯¯©!))›ÍÖHd•–Ò­û)ïxk«D?3+K#Æj¸•"ÜÕ” Ç.APd…¬Ì,úžÙŸ„„*ÃÞPPÿÇÙÿÀ{ä:æÀ»üAÉU‚e{«ÕÆŽ;˜;wyùù”••a±ZÉÊÊâ™>Å=&’••¥156›¯¿^†ÅbaèÐËøãÿÈ9çœ @RR";vlÇëõÒ­[7ü~ dffát:´qR5ƒföìYäååóå—_6µ@ˆÜ­·ÞB¿~g2uêTÎ=÷þûßÿÅjM`éÒ%ÔÔTãr9‰¸[{ž,ûQ#ìÂ%R)º×ÒJ¡ ?è^ÀówœËï®fpÿÓÙ]îâ´Âd’m‰$«H²EÀãõóî’œqJ>¢ pê©§°gÏÖ®ýŽòðÃãŠ+† §œÒ·ß~‹Ïæµ×æÑ«W¯fioB›ßïGVäø$t½G4É'ÞÙh9žÃm&z6Ùh÷­˜ähcOL2Tl‘lÃz¥Ð–Æ$˜˜·6æG·fÆ¡ T–—ᬫÃÞÐ@N^{v];$“‰{÷Ò¦][öîÞ°ºœtèÔ Y$™IJNÁbµ"ûý‚HVv.¢(’˜˜„ ŠØðûýX¬|>/ºvcýºµø¼>Ú¶mGb£ó\s‘hëo n‹…]»v1ûÕYdee³ÿ~.¿ì ªkªùáûïIKKeÆ‹ÿâîñ÷––†,Ëø|>Úµ+dÆŒ<ôÐßÈÌÌ`öìY,X°€ñãÇ“ÍÓO?C‡¥dY³…wëÖ €^½zðÌ3Oó—¿ÜAEE7ß|3 0hÐ }ôï|þù<ýôÓøý>¦M›ÆÈ‘Wãp8¸óÎ;®]»j„»{÷îM4-¿9²oAãu-Mð"Ðàpqj‡l^¼ëBž·‚Ózv§ª²’/~ú•ŒÔDm>¦$ZvvWþØ·=v‡‹ŒŒL>ùäc¦L™ÂóÏ?ÏW cìØ±È²ŸŽ;a±Xùì³Ï˜0aÏ=÷O233[Ü_•± ]9¨‘ÕY¯ÎYÖ²)ÅR1¶ÆB–$ÄØÜc÷¡57w=jesó£¹ú÷†õë8kà ìõõq§~%‰úºj™>œ6¹iªß8Wv7¯ôô n¹åöî-!''«ÕFmm-û÷ïgòä5j4••H’Dzzõ õÈ-Ô&¨ªüïÖ¬!3=ÂصsGlº>î¦uî9Vy½Ek­¼ÞÍ-ÔÏ8˜˜ŸH˜«’—‚Ò Oñ€S\jZ:5Õ54Ø$Úl€@B‚*eɸœ®@†/“‰ŒÌ,<^^¯‡^½û––Þ¨)9¬þªÊ DIÂá°#N§A¨äv;ö††@ºZQD‘•fÏ!"©—åµ|ã8´iSÀ¦Í›9«ÿºtîÂÏ?ÿ À}ûáõx(**âô¾§ãõx5oz¿ßOeE¹/‰"׎õ×\£©°M&•划„TWW#Š"•åH&åZ¨[À¶õªŠJéPùý~*Êgc4@eE’ÉŠ¢=O–§á¨roÄ[‘å¦cÒ‚&+ .·§ËÍŸ‡tFvÛÙ¼­ˆƒû-H&f³ «ÕJ‚͆Íf£ººŠ3þ…øü$3’("6špÔïQ¿MjÇÖØkPŽt lvq½k<¥1ãÙceËŠ&EDÛPâɨu4³†5·ñd ‹º˜˜cÌÊKB¼c,c6™ñxÜäåçQS]CueuÀnÙ(Ýùý~œn‰II¤ge J"xýñz½:TFhÑV5^ºi¿…°Ys©s%Dkáóz3êÎ;çf³™ºº:2ÒÓ ²Äe—\†×ç¥M›68Ž&ø‰¢Ø$‰êLül³Ù ²Œ¢æÖoL¤¢È2RãÿÐ4×¹šl'; Nf̈!ÏP×’ÆÈÑ3è)²Òjc®ÈrÀ™Òï£Âî⪳ qºÜø¼QYFöûýÜ.W“÷«®j&5YOðø(­SH “â7,A¤w8B½)è‹+ŽËÛ†#žð£H÷Åî£'&9R_âqnjîXÅŠ6070?˜k„RË‚¿„î÷ûIHLÆnTjËÈÊ$5= ¿ßOm]­¶±¶íPˆÉ$¡(àv;INIk’w<¬ôv qD !$ ‰ÊðÈÏÏGQ2kd«L†ÄÈèI‘œ¦Éw'-XÀ£>òºS¹U±IHHÀf³‘Ú¨ÅPÇRÁ¶júÛˆÿQš3²^‚ºãµ­…•¶‚Ùl!ðw´M7¬ý3(.W¯Gm8{j¤{u'¼óìHãÙ1l­oIDAT-Ù‰Þ¦hÒO$ðHžáz2ª˜˜/Ì›¨—QßÑ<¢˜””Ú¶¦`µH^ïM¯‘e£”š¤Œãiº‰ê¨J äNÔY.X}f°Ä}2Ö—ªro C·kkmc =äRU]©à5Û$•ÆþpôR.mÍøSéjE^ʤ—uijCw͇ S ¡'„2Ѐ7VÜ˽‹/ýÛ¾f#ƒ@t7óÖwK)%Š"G‘gPZ{{`!„¥,KܪÝ2´øÄIEND®B`‚KCemu-0.5.1/doc/window-select-profile.png0000644000175000017500000016666112417262523020466 0ustar glaubitzglaubitz‰PNG  IHDRF1¨úwsRGB®Îé IDATxÚìÝw|uþÇñ×Ö”Mï „„Ð[½WAÏžˆbÅ;ˉQ‘Süé)Åv§glˆb;QTlˆ Ò‘Iè$$!½mßß›l²dCIðó|<ò€yÏww>ûïΪþóŸÿ0cÆ öìÙCµ‡ÿý™‚B!ÄEì“îT:MU» šñúràÞÜ!i !„â¢6ÿí…,k†ªNa4ãõåJuA”Sd”´„BÑ,–±;œgõX­FMx°?A¾¼óÞ"wq¤Ú³g»(Ê.¨”´…BѬ‹¢¢²JR·®<«Çwíw aAwq_RÉÆUß²ü­*mí™E† !„¢y**3QPRAúöU\rù:ŇžÑã÷g³rù—tî3€° ¿:ó¨ÆÞú„rãßîÁh±y]ÈýW$òÆ·¯ÓªÕ¾O!„¢)äU°uí {51agµŒßå¾}ý†_At­e䔳åçÏp÷®³¨ú¾©Wº  ×¿Ïð:­úöýW$ºo !þ¼¬ViRTRŠÝî 80€þ½»óóšß;b «•µ›v Õj9¸*UËÛÎm»öQi41bp_¶íN¥²ÒȈÁ}µ}CBüª_1a8œgw–+*,ôªey«}jFÊi #…®j Àkßõ:ï©Óä´œh ,+ë6ïD§Ó2|`T*°ÛìI;HIi9];µ#:2 “ÙBFæ ŠŠK1[­¨QáçïK×IZävŸú†@—I ~MR¥8ÈW&“Ü>_³ŠxäõŸYöÂ$®~ô3‚üXöÂ$Œf“ç.cøÀ¾-ª0ض;•ÞØø¨ &ÏYÆœ»F’ÌÏ}Ç€>=Ø—š~Úí³X­ Î#„pQ×za8kF߯ÜÀ•— ñ˜¿¾éÕËòV«¸ #çi ™ê¢è•oÔ;_õôW¾=Òàò„h.ÅAúþ,{ae•îxþ;zvïLÚþƒûwêvï?VH`@ f³™ ƒëBgyÅ•èuºšuU«°ÚL{yfhÔ ÏMMH //}º‰=GNri¿vÜ5¾~zÞÿi?’ycéVžº}8ÇrKyàåQÚ¸zªr +ðóñ¡¬¬ÒÝct8»˜Vñ uÖÙh²Ð1!‘§®aßÑ|Ô*ý»Æñ𠃘~“?¿¾’î‰á æ³/ý³oJ»V¡<þæ*ög’ÊÄÑÝhWɉ¼B*ŒV‚üô×ãç«¢w'Wq¡×i(*.á–¿`éê4ü þtLˆ®w½fÌ[ÍfwoŸÍîäÑù+iß:”§ïÁ¤Kº±tõhÔZ ÊL6fÝ>¬qíH­¢¬ÒÊC¯ýL×Äžº}87ŽíÎWO~A|«y‘‹?MÑ%ÃxGµ‹¢K† ðÚ»Ôà#«ÍqÚ•9õþêÛÏ~¾ŸÇ¯ëÄ#mÚù…hNœN³ÙL»V¡ØìN.íß³ÕÎë_l%!!µF‡Õæ ¸¸Œ”Ñì=’O‡Ž½¶íŒÌl®Ù‰ö­ÃøiËVmË`å¶£ÜsM_z¶¦¬²’Þ\ðýÇ Yÿ{áUW]5YìÌÿr ‰”V_lD¯×QZZÁÀN®ç‘ÅøûùQQa$±êà˜SX^Õæ``¿^îÓTûõª³®µ·[Qdb4çbðÕq×x×é¦/W§D\¸Á}°~÷Û]tëÒ™ìœ\&K¤Ud ó¿ÜFv±äî]ùis*wïEÿ®­xé› 0Ð*ÚU@æ”BXhqÁJÕ´ tz-z­Bh F³¼’JâuuÖ9**œ÷¿ß…ÍfÇîPp:lø=“©×õ'6,‹ÅJR«†ó)*.¡Mt0×îÊîƒyü~8ÿ|º‰I‰ètZÊ« £?=ã†t¤ Ôˆ¿½VÍUƒÚâϱÜRö- k玧]/“ÙLh /¡~ØNæ}¹•Ö±­©0•p²¸N‡ÁGãÎ §¸‚Û/ïÙèvtôD _®ÝOÇvm©0¹—«¯jB\|=F5…Q¥ÙÚ¨ÇÔ7ŸJ¥òú:9í©´[J®ã¦·{¸nO¨sÛcZmÅù(äsÙ‹¢Y*¯4Ò®UZšÔ£ù|µv?Þ2˜ç¦Œæé…k°9œ„a³Ûp/•&+jµÆëk¥°°˜a)®Þ„Kû'qiÿ$ûóKŒhÕjb«Ö{ŸÄßàOR\©ùè}ü°X-´«9Èüý©4™hÛ¶jZ ~~¾U="1î÷zõï›Rïkºöv|:k‚»7#§ œ×¿ØÂ®#¥øøèÝëºcáèôZŠ‹Kؽ5¿íÍ"©CN_]UgC­Ñ`¶Xˆ umGN‘«01™ÍĶ‹¨*VÊQ©ÔƒŽýýüë :¶Ùíd;Êä˺ѳC4áA~èu÷ý™yeh4ÚÆ†4˜OTdË;Äø¡éÕ1†^]÷ÿ¼åŸ­=‚V£¡ÜèzmÄˆÞ ¼ûÍN®Õ…Ð ?®ܱªpL#:*ŠÌÖK¯×¹·/-£•Z‡Åa£}Lˆ{ÿúèõ´käΧŠa)mÝŽvÈ!"<£ÉLû˜`v#_€#]Õ{¸ÆtVÛº}wÞ"¨sÔ¯OO÷4Úµ µZ…ÍËÏŠœöTšß…èn{Ý·óöu÷¸}êô¼}®îùêÿ+{å…)š§ŠŠ z·u¤e‘z¼„ç?ÜÀc·áß÷]¬÷ÖrÒjE¯×s²¸’Øð⣃))-%8(£ÉD~~!q±1èõ:;~>®Þˆ'¾¨ó)ÄÇGOPpÇé§ÃIûÖ5s *+M$¥Dº{üü|É/(ôèñ Š"ûD.=Û÷¬éñÑ£( [·ïðx¨o»Þr„7–nu¿AøúøIÛÄx=î±®>>®Su‡?×ÛFõEa³Oä2¸‡«XÚ¸7‹°`,+Q¡®§Üªõ+«¨t/3§ §³Öögàï_ç}èàÁ#üëoƒéÔ&œW—lfÓÞ˜,VnÛÆt#5#¥Qù|ús*+6¦{R$)bÔ½5#{'2ÿ«mQa´¸{”JËͬܞÁ•ƒ;0nHGü}uœ,®dÓ¾ètº×K£ÑxîßF£‰ÄØšý xdÎ3jGÙùåøúè©4šHŠól7õµ‡ÆN¢¹÷UŸÛ¾ów¢èÔÁ×ÕÅQŸ^ÉU…QͲ¼Õ>êÚ…Ñ©µ Ÿê¢§úvíëãm™ò'Íᯢ¢ÒýͬƒYÅDE†‘]lçù7èïów&PkÅÏ×—¥¿¦pÏ5}©(Îg÷ïû°Wqó%0U–`±X d×Á\Æ éˆNCh‘}’xòŽQü X,fbÃÝņküIõ³?ŒFmckŸòÅjµâ:-Õ&:˜#GŽri¿:ćÕ.z¶nßͲ&±ì…Ilݾ»ÁíN;V@Û„xúöN¦wJºvéHx¸ë›çºVàã£CQ‚CÙšz€±ý’Ø·/ø0·^žLf^Ÿþ’J\\4‹¨Pwa¢×ëël¿Ýî¨é1Ê*ÆÏß·ÎúMfwoPFN)jŠá) üux'ö9‰SQÌÇl¶Ò½M·^žŒJ¥âçmGùjMzMo•¿µ†r“«Ç¨mlŸ­JE£Ñ`¶ÚÝ=b_¯ÝOTTd£Ö j.Ep(»ƒŸ¯kÿÆÕô9NÏ üüθùøè½¶oí¡±ÓäOþšëŸºöàk§RgìÐÔ¿¡WÏôêÙÃ] Õ7¿Z…ך§Q_ׯî%j¨ª[Iu+š§J£‘NmjzŒÂ¢â %+'—ço`æä!<}Ç^ùl3›ÓObýßoüux'Þ˜~9àú½žƒ™Eä”Ó¾]‰mâ™÷Õn­´põðNÜ|YJÊMì<ÇÇ+öÅþ‡ˆu÷ÂT`±YkœYE´ŽOÄl1‘XuÀ=z¢„6mÈ‹æÓŸ÷ò×á™výòK*ÙžžƒÃ© Q«È)¬ }Hl£^µ·{ÿ±B‚#c¼Îg1[ÝëšSXAbÛ(â[óö·»¨0Y¹alwî׋‚R+6æË5ûi“ÐZƒÕf%2¤¦Ç(2&´Î2͛ǠãШ¸:ëÒ*.†~ØÍÄÑ]yqêXò‹+Ù´/Ë}*pßÑ|¢£"Ì'11‰ír¹´OkžüÛ0"Cü©4ÛXÿ{&‹ü¤ÄNž,pŸJË+ªdíîL|ô¾˜ªzÆJ+-¬ÚžAçή⧡õ²Zk¶ïHÕöM&cjö¯ÙâðÈ M|«3nG‰‰Q^ÛMcÚCc§ Ñ,{ŒªkÏäîî"¨gr÷§×^–·öîþ­´ãy%uî¼§ç$SdµO“Õ÷oíyìþLö¢h¶ö¦¦cµÚèÖ¥#>>>îé¥ee9êºîNb›Ö„††PT\ÂÉ“˜Ìf× Y?Ú&¶q?Îawu"‡²²rì;Z­Ž  @¢##ðõu-ÿ÷=©Ø’»wA£ÑòûÞT=ºuF§Ó¡(ðûž}8œNztï‚Nëúì’›—ÏÉ“ù8œô:=AA¢(г{W4Z×ø–»öÐ;¥GƒÛݵKG|km÷©j¯«V[ó{Ó‡ƒì¹”––aw8Ðët„„徆‘G¾];á£×{,³z{÷ìMÇf?ýºä’›w»ÝŽ^¯'$8˜“ù(ŠB÷®ÑëuÊÇf·sòd%%¥Xm64j5´n‹N§sŸÌ;™^O×.Q©T:œAYy9:­–n];¡®ŸÐ˜õò¶}»÷ìÃá¨Ù¿§Îs¦íH«ÕÖÛn¼µ‡ÆN¢9 6ø²âû¥\?éfežÕ2ü|Xûó2.»òZJ+Íîé6»“-?VSeä×yð})7xcT_¡T[Þ¾îÌÛõ?Ù‹B!„haþüøÝ {5eµŠš3a¶ØHß¾Š¿\5‘¢rc­}Ê©?"[·?É´AEF­oœ™6@ÆÛ=0m¨™§úvÆ)ßL3mÅ_úd…BÑ4Ì6c¯¼–Ÿ¿_JòÀKÏjéÛW1öÊk1Û§¿Ž‘·ólïú}rn[ u‘B!šH…ÑŒ¿¯žK.ŸÀÊå_žÕ2.¹|«c=×7jô•¯…B!.´J“…°`WýuÒY=Þb³Si²x¹G%…‘B!ZžÂ’Š&_fõ7Þ´ øzÅ:IY!„j \=FË^˜DQa$"„Bˆ?¥ì¬LÞy{uÍ•¯…B!þì´õÝ(é!„â¢SQQ~æ…À×K—HzB!„¸èŒ¹ìò3/ŒN÷@!„Bˆ–& ð´?2ÆH!„B #!„B)Œ„B!¼ÒJB!„hŽòòO’~ ƒŸ?;v& @ #!„Bü¹˜Ì&^k‡Ž"8$TPTPĵã'pÅØóû¥0)Œ„BѬ¼÷Ñ"ÊL¥ôÞßýf6«å¿üHçHJL’ÂH!„EQØ´í7Vü²‚¢B‚ƒ¹ì’K>x……ìKO¥÷àÞî¢@§×›Ë?/gÔБ|ýÃ7dÏ 48„±£Æ0zøh4FB!„hY}ò>Ûwï ±C"­;ÄSQ^ÁÒï¿dOêºtêBhx¨GQTÍ``ï®}¤L'©S}ÛôÅTiâ‡U?²rͯÌyb:­îœÖM¾•&„Bˆ?Ìî=¿³kïnRú§†Z£&($ˆ}z‘}Œ­;¶¡Ò¨¼>¶ðd!§ƒä~É„„… Õj ¤{ïîØ?¬X~ÎëwÎ…QxDd¿è˜X:wéÊõ“&ñÅÒ¥(ŠrAÂÿî»ï¸êªq$¶M""2ŠðˆHu>Ýöˆ3oÍð\2–ý#„-Ûê «‰m‹ZãY‚¨Õj:tëÀÑcG±Ûìug6™9~ä8É}“ÑjëžðjÓ® ¿mß|á #oìv;ùùù¬\¹Š»ïžÂ­“oÃn·ÿ¡Á/[ö ·ýíïlúí7ÊËË/Xq&„BˆÆÑjµtìÞ‘ÂüÂ:÷N?LÛmñ7ø{}¬J¥ÂG¯o>…QaA¾û//7‡íÛ·ñøÌ™èõz–/_Î;ï¼û‡†;Á~ø!:è^7ÑôNÍV²Bq*³ÙÌ?/§¢²‚Ì£™äåäáp8êÌ‚ÞGOIQ‰{š±ÒHiq)qmâ¼.»´¸”ƒûb³ÛùøóOÈ>‘}á £S+¾Ä„¦O˜çž{€%K–ü¡;`ß¾}<ôàƒ„„„œö@.„BˆóÇh2òsŸ`Ý–õèô´NhMa^!Wmä`êA,f‹Çüí:µ#ãP†ûvæÑLÚ' V×”-N§“¬cYl^»™ÃûEPd31û?s9xøPó)Œj»vÂ:ô‡î“É€¿¿¿´H!„âúßÒÏ0hßµ=áQáDÇEÓ5¥+G Dï£g˺-dÍÄétŒÙdÆd4át8ÉÏÍ'¦UŒ{yÅ…Ål]¿•²â2zôéAi‹#"*‚ø¶ñtIé« ^õÚ#uÁ £úÔD»rå*n¹u2]ºv#*:†È¨h÷|Ìš5›!C‡Ñ:¾ ­ãÛ0dè0fÏžCAaái—[ûvíéçcïž½{™={c/½Œ¶I툎‰¥S§ÎLºá¾ÿá‡Fåp¦ó¤¦¦rï½÷‘Ò«7±q­hÕ:žþ0õØ´é7yûôíGxD$;v쨳œG›é~ŽÇfάsÿŽ;ˆ¤Oß~žÛ¼gOÝmîÜ¥Ám®íÇ+˜píDÚ&µ#&6Ž”^½ùç£QPPpÆûÀb±ðîÂ…\5ní;t$&6Žî=’¹ûî)üþûž³mÊuBQcËö­D·Ž©3]§×‘Ð.þÃúSZ\ÊÎÍ;1]±­c9™s’‚B"¢#Ðh48N¦dÿÞýtêÞ‰®)]½Ž9 D­Ópøè‘3^×ó~£/¿ú €öíÚy½ÿé§gñúox½o×®]LštC(==ôôt>ùôS–|ö?’““/øN9rTi……üòËJ~ùe%wßýž}æ™&{¾µëÖqà 7b±xv?>|„ÇðÉ'Ÿzœ.9bïgd°fÍZz÷îíñ˜5«W»ÿ¿zõš:ÏU=mÔÈ‘žÛ|8ß|³ŒãÇ2ÜãJKK¹åÖÉ’œœÌŸ/!óø12ãó%Kèѽ;ùùùÜrëdÊÊÊÜË«o ðùWÔ§OþýïX¿n-™Ç‘—›Ã®;˜5ëiüýýyë­·YµjU“=߬§ga±X¸ü/á×U«ÈÊ~,㌷ùÕ×^cüøñüüóOdger,ã(‹?xŸˆˆŽ=Êk¯¿Þ¸ÍÆ-·ÜÊÞ½{9r$_.ý‚#‡‘—›Ã¶­[xðÁi8NžþH©©×E!Ä)½BZ~¾~ج¶çmKr¿dölßѮޭNKî‰\6¯ÛLtl4]{vmÔ®-f Q‘g~v¨ÉzŒNw:è²K/åwÝåõ¾aƱô‹Ï=T,zÿ}rrrèÔ©ß÷­ÇX¡Ñ£G1`@.3–ƒòþðÀÔ©tÇÿ´âÇ:Óâãã¹ÿ¾ûˆ‰åwßÍâ?bôèÑMò|©iiÌŸ?   ÷ô„„¸aÒ¤:9«Õj¶lÝŠÑhtçYÝ4tèPP~X¾œÕ«W»{V*++Ùºu†aÆ5é6_Ýu,X0ßcÚ•W^‰Ýnçö;îdÅŠŸxò‰'ÌbÉ’ÏÙµ{7W]uï/zÏãj©mÛ¶åÉ'ž $$„§ŸžÅüo2Þçm]„BÔuÅ¥—³vó::õèTçx®Ëü8ìEÁf±áp8hש£¯V«%í÷4V¯XÕb¥¢¼ÂUÀhµhuZ¯×4ÊÉÊA¯ÕŸÕoª·o¥EDD0jÔ(ÌŸÇÇ„NçýÝ3™î5¤+VðÏ3¼ 6 üóŸ3<æm¶ â ×/{ßs¶ÂÂÂxÿƒ0›Í ÎBJJ V«•7º§ÿºúWFÉÈQ#«¦Õô*mܸ «ÕJJJÊJjÌ6?ôЃ^§¬:ewìØ±F=WõéÚ‡|Ðë%än¹ùf6lØp^×E!D]W]v%‰­صyYDzÈ:–žûؼv3ëYÏŽßv°o×>öïÝÏþ}ûè=°·»èé’ÜC ìãÙ¤ïI'}O:»·îf㪬ûyÛ7m'ãP9Y9ìß³Ÿ‚<|ßCgWÃ4ÕFŸíiª””¯Ó8XÕ“1¤ÞÇâºoÿþ|§WTTðÞ¢Eü´â'ô;laaôèÓ£No“±ÂHÁɲ2²Ðit<òÀt¢#£.lat¶ ƒ×éåååú„††zÌ{¡dff2nüÕdffžv¾SJŸ‹‡z°°0Þ˜÷GŽeåÊ•¬\¹Ò}0ŸzÿýL›ö€GoÜÈ#yé¥ÿ²fÍZ~ÿ}………´iÓ†¤$Wwc›6m8~ü8{öì%9¹‡{Þ‘#F6ù67ů ”””¸_8 ±Ùlçu]„BxyïµÛ™óâ3èýt 5¸ÎÏÔ†V«eíÏkqé|ý|ÙñÛ¬V+Qqu‹­VKPHA!A$uL¢¸ ˜ç_~S§ŸÕ©4ms 100’’JJJˆˆˆ8í100ð‚®ëSO?Mff&=ºwgúôé$''‰¯¯/*• »ÝNtLìY-ût?¥rÛm“¹í¶É>|„»v²k×.Ö¯_Ïž={™ûÌ3X¬{ôQ÷üýúõ%À` 55•¼¼¼šÞ Zß69r‹Èê5«‰ŠŠ"--ƒ¾}ûxßæÝ™þðÃ$''‰ŸŸß9oóÙ×¥¥¥:xÀ], !„h>6nÞˆJ§"¡Cbƒóê}ôÄ´Š!ûx6ß|ö{ºŸ¿Q1 ÷…F„’Ð!Åÿûˆ§ûׯ«º¹†Ø¡C6lØXï<ëÖ¯ cÇt]«0üñGŒw mÜÀ¡Ó\ÜÒÏÏÀã›uµ>|¸Áço×.‰‰×^ËÜ9sXýë¯,|×õó+.þÐc>NÇà!ƒX³v­{½kÛläˆîmZ³Öuÿ!Cêtuº·ù£7n øûû7j››ZçÎX_Õ„B4/Ähhp>EQ8zð(Å…ÅôèÓ :vëHDT{wìmÔÙÐðPòÏrˆO³-Œþò×x‘ÿ¼ø¢×ÁÅF£‘_|©jÞ¿\Ðu­^?oãzEáùþ]ïcª Õ^ïùåWÎx}.¹Äõ-°â’’:÷ªºÞÒòå?²yófÔj5Çwß?|øpÔj5›7oæÇ]ƒÚ½/ª>E¦÷òƒ} msS?nÏ¿ðo***äH!š™¨ˆH,ÆÓ'±Z¬ìݱ—²’2ú îƒÕb%:.šøÄxÌF3ºv <*œí›¶S^vú!4¦J†€‹«0úÛm·MZZWÏš5k0FV¯^Í•WcÿþýÄÆÆò·Ûn» ëÚ«—kùíwÜÉ®]»°Z­˜L&6ýö7Üx#ß~ûmƒà£Íä‡åË©¬¬Äl6³cçNn¿ã>ÿâ ¯>b$/¾ø7n¢  »ÝŽÉdbç®]Ü}÷zöìYçqÕ½Cß~û-‹…””q\¡¡¡ôìÙ³Ùì^ï#ëF))®eßyç]ì¬Úf£ÑȦM osS›<ùVÚ·kGzz:—ýår–-[FAA‡ƒ²²2vîÚżyó}É%MþÜ ]¹ü\ïBˆ‹Á€>ýÉÉÎñ:\ü7Üx;wîdµëÌÎG.ö¸ŽÏ…ð¯'ÿÅ5×\Æ ¸dÌØ:÷ß{ï=ÌŸ¿Àëc˜:•e˾áèÑ£Üzëä:÷?8m¯¼újéûöísÿP®7¡¡¡¼ðüóu¦wìØ‘ØØXrrrêí 5j$;wît5¸8:vèàe›Ÿäš ײ~ÃÆœá675>ýôn¼ñ&ÒÓÓ¹ýŽ;å]H!š‘˜èþ2æ2Öþ¶Ž¤ŽI`6™)ú'Ÿô~QÁuk×0cÆ# 4°°04 Ý»wç©SY¿nÉÉ=¼>vdíÁÖ#êFµ§zµëšmÀË—ŸÕ6ŸIIIüúë*ž™;—‚F£!88˜Þ½{3õþûYUõ­=!„¼‰ã¯åÚ+'u8‹ +7°gÇLF=û÷¤g¿ž¿yvìÐ1Ú%¸o'´K ãpFMñ¢VÓ¶C[Œ€¯R¸–¹uÉ’ù×£O Óž]ßjê½S”׿- ¨Ðóz3|½t c.»\ö¦B!šÄÛ‹Þ!¿²€˜V1^ï7Mìüm'ƒF ò¸hïî­»‰oOXD˜×Ç•—R–WÊÓ3Ÿ:íó×WßdgeòÎÛo7ï#!„B\\JÊKëý5 €ô=鄆‡Öù%ƒö]Ús`ßz¿•¦Óë¨0VžóúIa$„Bˆ?LŸ”ÞäyÿU„c‡2 Æ×ß·Î}†Q¤íNóúØüœ|zvO–ÂH!„-ÇÈ!#ðÓù‘þ{:6«ë[ev»Ci‡°™ì ê?œÞKEYi»Ó°Z¬€ëW2ePVTÆ5Wýõœ×O+»H!„FÃÿMŸÉg_Îêu«1 TTT0xÀ n¹þfrrsøéן½>Öd4Ñ!©mùqå •••ôMéÃÍwO?ëkIa$„Bˆ F¯×sëõ7sóÄ1šŒøøø ÓºÆµMhKhP(ùyùDF×\çÍétr2û$7O¸‘Þ)½™0îLf“Çc›‚FB!„¸ Ôjµ×^žûî¼—ÙÿžCa^!A8 OÒ¹}gz§ô¨ºLM@“¯“FB!„hV"#"øï³/±uçVö¦î%( ˆžã“éÒ±Ëyn)Œ„BÑìè´Z÷Äà~ƒþÐç•o¥ !„BHa$„B!…‘B!„W Ž1 ””„Bñç.Œ**ÊøzéII!„î¨ó˳B!„3c$„B!…‘B!„FB!„R !„BHa$„B!…‘B!„FB!„R !„BHa$„B!…‘B!„F¢–eË–‘Ü3…ˆÈ(Â#"ˆtÿßÛm!„Bxª÷·Ò6lØÈø«¯>ã~³lC† >í<¹¹yÌøç?Y»v-F£‘   âã[³ú×_›lê €Â‚ü ð©…ˆV«¥U«VL˜p 3yŸ&yž™?N^ÞI6¬_GçÎ¥e !„g¡Þ£!CóͲeDDD°zõjE©÷oõêÕDDD4ª(x`Ú4~øáÞ|sY™ÇYúÅ´i“pQ]XOaA>©ûö2dÈ`^~ù›9³É–Ÿ—wÀ£(ª~N!„BœcaT]½·p!'NdÍš5^çY³f 'Nä½… U¬_¿€””|||HIéÉâÞàСÃDFE“HyE…û1v»Î]ºŃÙ°a#—ýårâÛ$Ð:¾ ¯»žU«Vœöô‘¢(ÌŸ¿€¾ýúGrÏ^}í5E©ó˜Å‹?¤wŸ¾ÄƵbØðüôÓÏÌ™;—nÝ{ÇÈQ£ØºuëΜٳøê«¯ë<ç»ï¾ë>%àt:yù•WHéÕ›è˜Xz¦ôâå—_Áétz<ÖÛö6tê¬1Y!„R5²8:›¢ 4$€áÃGpßýSY¼øCrrshß¾W\q••|ñÅîÇüúëjòóó;v ;tàwßͶmÛxë­79x`??ôï¼û®»§¤¾^“7æÍãÉý‹päð!n¾ù&fÏžÃüù ê¬çîÝ»Y»f5‹½Gjj*7ÞtÅEÅlþmï¿¿ˆ={örßý÷7éIKKgã†õä»z€^}õ5æÎ}†¿^}5G0~ü8æ>ó ¯¾öšÇ6žM/Ñ™d!„BHatšâèl‹"€ù æÓ­[7ŠŠŠøßÿþÇC?L¯^½ùøãO˜6í-zßý˜Ï?ÿ€{î¹€ŠŠ |||ˆ‹C­V3xð >ý䓟û½÷0ýá‡ð÷÷gÊÝw°ð½÷êÌ;sæcpÉèÑîi=ö(\:v,GŽ­Ó[sºžš¢¢"þõÔS\sÍ_ëÜÿøã3 pß~ÿƒª¶{ ~~~Ü{ï½|ðÁâsÞùg’…B!…Q=ÅÑìٳϺ(1|8k׬æ÷Ý»xé¥ Åf³1gî\z÷êŰ¡CÙ·o[¶l¡¢¢‚å?þHÝ>l˜«€˜9µZÍ%cÆß&1cÆÖ{º¯¶'NЯÿÂ#"Ij×€ÌÌÌ:óFDD ÓéÜÓ¢¢\§¸ÔjWt=íT],uîÒ•uëÖóàƒÓxþ¹çêÎîq;·ª'-2ÒUhEUý›““sÎ;ÿL²B!þ ´g2suq4þê«=ÐútZµjÅßn»!C†0pà ÊËËÝ÷M›öëÖ¯gÑ¢÷9j$F£‘)S¦¸ï¿ûî0yò­¤¥¥±nýzfÏžÃÝSî!=-µÁç}û5=6wßý|}}YøÞ{tîÒ èÏ}÷ÞÓ,wУÿü'N‡“%ŸÎü ˆ‰‰aæcñàƒÓν0jaY!„ç›jê½S”׿- ¨° Ù­œÃá c§ÎX­V~ß½‹ÐÐPÙcB!„hrÙY™¼óöÛÍ÷'AEaÅO?QRRÂ-·Ü,E‘B!Î;ms]±^½ûM¿~ýxìÑGeO !„âÏ[íÚ¹CöŽB!þPj‰@!„B #!„B)Œ„B!¤0B!„ÂH!„B #!„B)Œ„B!¤0B!„8Kõ^àñ—Ë%!„B\”Æ\vù™F ‘ä„BqÑhÏ—KþWïý þ$HBÛ$IQ!„»ÝvÚûeŒ‘B!„FB!„R !„BHa$„B!…‘B!„FB!„R !„BHa$„B!…‘B!„FB!„MC{¡W =}1!u¦›íUÿ±›O¹íšf¦Öýv\·í&÷<æêymfŒŠ‚bSP6“ìÂBî¼ó¾‹bJ~’Ÿä'ùI~’Ÿäw‘ô5ÅN17°SL€Ê¡Ì8­NÌ(‚øxñæÎzòOߨ%?ÉOò“ü$?ÉOòk&=FÕ;eÓ¦4î™z×yEqÿßátTM'Npºn:NÇ88AAqϯ8œN'S§N¥Sb,Aþ>-ºaK~’Ÿä'ùI~’ŸäwFÕî™zÓ¦MûÞoÖS³xãågÑùp1¸gê=èõzBƒB©0Vàp:p:œ(NÔ R©P V»µæAN@N‡µÚÕqh³Ù<3NWŸ¢âTj^$ ¼þêë’Ÿä'ùI~Í&?9~Hû»è #½Nÿ‡>Ÿ'f»‚JeuíôZUqK¤×é `舡Øl6JKK1›ÌXlP\ Öl6c2™¨¬¬Äl5cµZ±[íž¿TN•«q«\·ÝŸ 'Õm^ò“ü$?ɯ9å'Çi]adµYœç­·Þrÿßd2ñàƒžÓsª°`±_?V›»ÝŽF«!//ÜÜ\EÁfµ‘™‰‚‚¯Þ×=¿ÙdÆf³ðæŒ üã…/<–¹pæ$î˜ûYÍ'¥ªK~’Ÿä'ù5£üäøqaÚ_£µ°öwÁ #ó)áüç?ÿA§Ó¡×ê1YMîPîÒ³f¾3fœÕs:àhùº:?EQ(-)%++‹£GÖɯÌZæ‘ß©Þ~t¢×ÊÝ¡8êü_ò“ü$?ɯ9å'ÇóÜþfìGÝœ[€9±˨>•¦~2Ï=õÿÂÝYù=[âž^ñh`‹ÈOÛÜ5€^«Ç¦Øp:œ§}|õümàO=õ”«buvZ|híüœ'åh4šFåWýIsʾô¸]펹ŸáP,zâ&&ÏúÐõ<’Ÿä'ùI~Í´(’ãǹµ¿C/­Áïúöù©¿Íq±œ.Mõ·9X®ˆpÕQ6ߟ ©‚á—*/ qÜúµœâáþÍ>¿ Ûcd7×i¤@M¥ÚH 5ð§žzªêÃBÍyNEì––]î×ÊÏf³awØ]ç‚Ï0¿úhTÜ$?ÉOò“üši~rühšöw6ùJ¥Sy´¿ê¢ÈY«´jîù]ø1FvÐétX­5ç‰ýýü±Z­XÖ3ZÔ³Ï?[¼ÍÕ‚«GÒ×þz¡‚‚ÊaÁªRÑâUå§Ö¨q:œèuúFåWß'Íj ŸpQ¸õé%?ÉOò“üšu~rühšöw.ùNKËO{¡wаZ­ÕúK/½äQ]v<ñâ®ipq:›Ã5(¬ ¨Àë<þPª.BUu޳Å~³ V~z½žJc%E%EFüN§ú ÖýÉÁa«óæPÕ²]ÿT}»@ò“ü$?ÉOŽWûsn¡NûsniDá³Å3¿êǸë¬u»äwaÇUíœSMŸ>ÝsÂË¡VïÝmzªü¼|¯Ó7lØÀ!CÜ]¡ÅÀ¹ZùÙl6*•(NÅ£:××)«ÈÕ6áÍ7ëL;µ*ŠÂG“'×Ü'ùI~’Ÿä×Ìò“ãGÓ´¿ˆ=( À³ýÍŠ¦vóS›Ss߸Xéº-`{:ÛÓ¨t®ÁÖµÛbÉt¿‘ß…ýY»«4SiάKmÆŒõžŽ‹‹#2:’ÈèH"Â" " €K/½ƒÁàQ½*-þqM~:³ÉŒJ¥B§Ñ°páu®\Ï›ê—S¦ðå”)ÓUµº7?ûû|4y2·,^ìù†+ùI~’Ÿä׌ò“ãǹ·¿ƒ“Öz´?žÌ©ÓþœãbÝÕó0§êöœXtO»zÛªÿu:(ŠBð‹Æ“ßcdÆl»­i/hPÝ¥§Ò©Àîzcq8j.gîP`·`mñס¨ÉOq(ÍF***°Ùlî7Õ… ¯ãŽ;>¯óÈ/§Lñú‰³úÍUQ&-Zèñ‰Sò“ü$?ɯ9æ'ÇsoêþPöb™Ç5ŠÔýið¤î©ó¨ûŸòoU~êþ-'¿æñuýó|zqÖ¬Y<ñÄହÀ”Åëêœ-¹YŸ’ŸÅbÁasàt:½¾™z{s­þôéÍ’܉Ådñø¤)ùI~’Ÿä×ó“ãǹçWÝþ¼õR6…–’_3øVš¹Ñ OUÝzê9ãê`?ö¸û«–8aî³s™9sf­ç¦å«ÎÏ 6‹w½Eqâm,ÛÏy¾Ù¾9¡ê õ'ÏùªïfìÄw@›?¸œž‹“ü$?ÉOò“ãÇÅÓþü|üp*ίu&‡÷n§fœŸúBï”óÎã=ޱÂX³S¨õ¦ Tý¶‹¢`á"¸EU~N‡“ ÆãLr¢´Ú×ý«îžoŒêþ«~Sü$?ÉOòk®ùÉñãÜ꯭۟)ø|í7DÕàê's\®ŸÌñÞ tÊ<–+"0V©BÀ å„®5ü_#C|ZL~Íâëúœcq:cÆ wÕ_]íëõÞX°úbSf»Å®´ð†]“ŸÓéäï_Â{__ïìÕŸ8ÝŸ4«LùrJOKv«E7.ªó¦ ùI~’Ÿä×Üò“ãǹ·?EQPfEc«j/ºêëƒÎ‰m8âªyjçgµZ±>âï9>«…ä× ¾®oªùuÞsTûÕüª½S†ØÖ³A;ì já'‰OÍOQ&ÏýÄcoxy#õ–_õ§¥êe~ú÷O˜´pRM–’Ÿä'ùI~rü¸¨Ú_íÓ­6‡Íkûk(¿Úí¯v~Õã‹ZBû»À=F¦&[ÔŒ3xöùgé–÷¼¼‘¹sçðÜsϹþ}ÞõïÕ/od⪎-¾â÷ÌÏݨ°xñUSUÈé­QßüÁÍ®†}J£vJ~’Ÿä'ù5³üäøÑtí¯zœšÆGÞÚ_MuÞòÚŸúÂ[Ôã=ÎÕ/olÔ¼Š]þ#€µó«Ý¨nìúä9ùoŸ`sØêü5¦Ò¯ó¦Zë[’Ÿä'ùI~rü¸8Û_í^²?cûkcŒê|[â|SZþ/#{Ë/4(Ôý5K‡ÝÁ´i?b00ø°ÙlXmV|}}  ¼¼œ²²2Ô5þ~þøè|Ðjµèuz¬6«ëÿ‹Í‚N§£¢¢‚‚BÉOò“ü$¿f•Ÿ?š¶ý©4*¬v럲ý]ÐÂȤ¸~LnÖÿÍâ©9Oyžƒ¬Ê­ú·}à”_é­žÕË]ŠÃ£ËîÔ®¼ko¸Ö5Ь…7îSó+,.ôš_©Rê‘_Ö‰¬:ùS,ùI~’Ÿä×bó“ㇴ¿‹¢0*Ì;AHH0ºÄó釋3ŠMÁ¤(`Eq5ÛAåT»ºÞìf÷…©T*N› K­Û&“¹æ `VL8­NœN'v‹»ÝŽÃáÀîpPTQØ¢¶ä'ùI~’Ÿä'ùI~QatÕ_oáÝ7_":º `ÁTýkÐvE1£ØÌ „JÃŽ58„’Š¢ŽŸ ,Ðsd+|Ÿ©XB‚)5„ã«õ¥¤²”Â’B"""Ї"¸÷V*2ZS‘ÖǵSìv +аXZöu($?ÉOò“ü$?ÉOòkZª©÷NQ^›·€¢Â;~Y±œƒ†Ð6鼯ÄÄû§Ð/ÎJdL?w¥©8ͨœ*LN'j§ÚuÎÒau_û@¥R¡ØÌX*×%Ì5ŠR5®Š×ª²b3Ûp:ØÌvE¡°¼€³*¿.]ê^‡–Ü-*ùI~’Ÿä'ùI~’_ãØí6¾\ò?Æ\v¹Çôì¬LÞyûíæQ¹«´Z¿ =jÌ(pX  CRpVrèXAAÄÇÅ€ŽÏ!Ô߇€ðP¬VÈÌ<ŽÆ´PVTŽN¯cé×ß6ê¹/†Át’Ÿä'ùI~’Ÿä'ù[a¤mN;¦:•JE¨Á‹]KXX…%…”——£ÕjÑh´œÈ+ Üd!ÐχVKéÉBNVX ðÑh•ëj›Z½îOÓ¨%?ÉOò“ü$?ÉOòk‚"±¹ôM¸iÉ“Ðë}ò×£Ølj ØP[±ØTNUMˆv+f‡‚ЬN+¸zèPìV¬¸~”ÑfµQi.C­ÒPQRÎ˾¿(µä'ùI~’Ÿä'ùI~Q‘¯Ÿßà`|?_œV'µÅaF­òC¥q}ÝOåP¡`Fåð›µJbWðWûa²¹FÑ«4€¢ AJQ¡Óq"+µFsQ5fÉOò“ü$?ÉOò“ü.Ò#¯+§jÚßR¹´ä'ùI~’Ÿä'ùI~aQCAžíNú³5fÉOò“ü$?ÉOò“üΞ¶%î$!ùI~’Ÿä'$?Éï|PË.B!„ÂH!„B #!„B)Œ„B!¤0B!„ÂH!„B #!„B)Œ„B!¤0B!„ÂH!„B #!„B)Œ„B!¤0B!„¸ˆ £V­ZyÜNOO§W¯^¼õÖ[îi‡â®»î¢[·n$&&rÅWðý÷ß×»Ì#GŽpã7Ò¾}{Ú·oÏ7ÞÈ‘#G<žóÔ¿Síß¿ŸÁƒ{}Lsrêú¤¥¥Ñ«W/Þ|óMüî¼óNw~—_~9ß}÷]½Ë<|øpü>|Æù 4€_ý•믿ž¤¤$ºuëÆý÷ßOAAä×ÈüV®\É„ hÛ¶-ݺuãž{î!''Gòkd~ÕŠŠŠèׯ_³z ·„ü3sÓØ\Ï÷q¥sçÎ-²hh7uvŠ¢ðÌ3ÏÐ¥KºvíÊsÏ=‡¢(Í'©÷NQEQ ò=þ>ûx±’qä°ÒÔâââÜÿß¶m›Ò³gOåË/¿tO;r䈒’’¢|ðÁJQQ‘b±X”;v(wÝuW½Ë;v¬òâ‹/*¥¥¥Jii©ò /(—^z©×ç¬ÏÛo¿­<ú裧]ßæ öúlݺUINNöÈïðáÃJÏž=•÷ß_),,TÌf³²}ûvåÎ;ïl0¿’’¥¤¤äœó»á†”•+W*J~~¾2sæLåºë®“ü™ßĉ•~øA)))QÊËË•W^yE7nœäw†¯ß™3g*¯½öZ³z ·„üšÛ{^Säz>Ž+Þ2œ={¶Òë¢= IDATnŸŸì>üðC媫®Rrss•ÜÜ\媫®R>þøã?l{m6«òÙÇ‹ëÔ=¿ïÚ¡L½wŠrÁ £5kÖ()))ÊÚµk=î¿ï¾û”·ß~ûŒ–Ù¶m[Åb±¸o›Íf%))éŒÞn¹ååûï¿o1…Ñš5k”ž={*kÖ¬ñ¸ÿÞ{ï=«üÌf³û¶Édj²üEQŒF£’˜˜(ùC~mÛ¶•üÎ ¿(ƒ RL&S³,Œšs~-¹0ª/×óq\©Íjµ*Trrr.ºÂè|d7nÜ8eýúõîÛëׯW®¾úêfS]1Fßÿ=Ó§OgñâÅ 6Ìã¾õë×sõÕWŸÑòÆŒüyó(//§¬¬Œ7ÞxƒK.¹Äcžnݺ‘À°aÃxýõ×q8îûl6[·neèС-¢Û³:¿?üáÇ×Éoüøñg•_YY¥¥¥Ì›7ïŒò³Z­lÙ²…!C†x]þÚµkéÓ§äwùF.\جÚfKÈoöìÙ̘1___yýžE~§›¿¥¾/žãJµÏ?ÿœAƒsÑ·9Ù8p€ääd÷íäädöïßÿç>•Ö¦M›z?·iÓF±Ùlg´Ìœœ¥ÿþJ\\œ§ôïß_ÉÍÍ­3ŸÝnWRSS•‰'*O=õ”{úÆ•+¯¼òŒ+é UÙÇÇÇ×›_||üçwâÄ ¥_¿~îüúõëçõ“ÝnWöíÛ§Lœ8Qù׿þÕ¨üöìÙ£ 0@9tèäw†ùU/¯GÊ‘#G$¿Fæ·fÍåŠ+®PœNg³{ ·¤öWßü͵Çãt¹žÏãŠÃáP†ª8p@i©N÷9ÙµnÝZq8ÆÇÇÿ¹{Œ^xáf̘Áo¿ýVç¾ÐÐPŠŠŠÎhy>ø 'N$--´´4®½öZ¦M›Vg>FC—.]˜7oŸ}ö™GÆ©Ÿ0š³ÿûߧͯ°°ðŒ–÷ÐCqÝuבššJjj*'NäÁôš_×®]™7oK–,i0¿7rûí·³`ÁÚµk'ùa~ÙÙÙ¤§§ó÷¿ÿ‡~Xòkd~³fÍâ©§žB¥RÉë÷Ú_}ó·Ô÷Åóu\ùî»ïh×®:tàbt>²3 TVVºoWVVb0dðõŠ+”.]º(+V¬¨s>óÝwß=£e&&&Ö9Ÿyº1-ùùùJ§NÜ·¯¸â eÓ¦M-¦ÇHQåÇÿŸ½ó¢Úßø»-ÙTH ½¡Š(ET~ J Eé—"Š( RT¸õÒ‚ˆˆ,¨H³pUšÒB $¤÷Íö™óû#첓ÝM6!Hvù~žgžÝ9çL{眙w¾sfægÖºuköóÏ?›õQ¨‹~Uû(Ô¤_Ë–-«Õoß¾},::š]¸pô«ƒ~ ½VCÖÏp•Zu ýêVÿª–oÈkº>ÈóJ¿~ýØŸþÉ왚úÕ·v ½ÑC}*íÔ©S¬mÛ¶ì믿6¦zÀïÚµ‹3FÃΟ?_møþýû zÀ¯]»–ýßÿýŸ1æÌ™,))‰ét:–žžÎÆÇæÏŸÏc¬¤¤„µjÕÊj¨°!?•fÐ﫯¾2¦Ý¸qè_QQS«ÕìܹsÕ>ÕbÐÏðTËÚµkÙ€,êwóæM~ÅÅŬU«VL«ÕËoÙ²…uëÖ­A†–íA¿9sæ°””¦ÓéXnn.[¾|91bég£~ ¹ Ûƒ~Õ•·‡»%]Äy…1Æ~ûí7ö /0{Ç–§ÒêS»;w²çŸÞøTÚóÏ?OO¥™rõêUÍ6oÞlLKIIaS¦LaQQQ,$$„ 4ˆ:tÈê-d}ûöeÁÁÁ¬sçÎlÙ²eL¥R1Æ;tè?~¼ÅõlÈWœ®\¹Â¢££Ù¦M›zLž<Ù¨ßÀÙÁƒk¥ßõë×ù`}ûöeAAAFý”J¥Uý¬]±+ ÒÏýLË·oßžÅÆÆ²üü|ª6êg/ÆÈê_Õòörb·¦k}žWclèСfÑ){5FÕóê[;žçÙÊ•+YTT‹ŠŠb«W¯6ö lÆH4gÖ ¶~SŠ …/àûõðOèþDO„„…Ñyã7ТE L:éGú‘~¤A86z½{÷|…g öë̼O¶n¥O‚$$$ØUÇ놆½u\'ýH?‚ô#ˆê>êœ8q‚jÁ}pòäIô#ýH?‚pè#²AAdŒ‚ ‚ ÈAA1"‚ ‚ cDAAƈ ‚ ‚ŒAA#‚ ‚ 2FAAdŒ‚ ‚ ÈAA1"‚ ‚ cDAAƈ ‚ ‚ŒAAÄ?†ôa¯@rÒyøùz™¥«µzÁ¸F£»—§Ñÿ3½º»E9½ºòPC ^«6–S*U•¿ª aÒ´9±“¯ž…_“Ææú仫‰FÇîå©U‚²Zö‘Õ/%é<šXªUô3­ŽµZXö~ Ôs÷ôS(³þQû%ýH?ÒÏÁô?J;Å€»»'víøï¯z‡LQ-L‘£é÷O›"‡«Ô~I?Òôs@ýjÄȰSΜ¹ˆ)3^µy:Îä¤:½Îæòz½ æÎFXX0œåö}'Ñ`ŠH¿ºÑ„êµ_Òô#ýH¿†120eÆ«pqq·\\\ŒƒL*ü7 ‘JŒȤ2A¾ag†ª¬ûh#@îìGÀ Ÿoc_Òï>ôóóõ#ý¨ý’~¤é÷ˆë'm+áââW¹+žzº' ¨¨JeeÈÎpëB¡PA£ÕBY¡„R­„^§7:UKŽU"•˜í½þ^ˆP¯ÓR@"‘€ã8»®Ø...psqCŸ§zXÕ¯\¡„V«ƒJ©B…ª‚ô«¢Ÿ§›'z=Ùݪ~eeP©ÕP«ÕPkÔ¤_ýREàÕMá€õ¯¤aøb9µ_:þ‘~¤Ÿ]ê× Œ‘J¥‚«Ü.Rg¤ßÉDΑs¬#À¿ÏE0Žðéyƨ_ÉéÊèW÷Ó•ó>Ûî]ŽU?:þ‘~¤ß#nŒLwŠR­DAY¹@èÚºR[ª^¯w·ozR¯PU  ¬„ 3BÌÊ~ø«ñÿ˜Ìg«Í€‰ƒãÛ¼ö9´~jÚ¬þɧúWæmË1þ·„|ª?ÔÛr½úWåé•M î Ï42LúLQUCdšfÏ9Þ>=Ï ätw£!*9Ýî]Ž Ì‘#êGÇ?Ò¯¡èÇÚIP4JÞøÀšÒ¿xÈ?cBÚš±b0ﻇC|†‡x ¾½ü' ñÝnÌ<Në€8•]è'mH+£ÓêðÛ‘#‚´ÀÀ@@ff¦ñ¿aÜ4ß@nN.üüýŒ¢¤¤¤òÊÓË˼¢s û®Ùzµ™~€ß„þnv`“ù¬Ñü~MÓªš¢¾‡zM-Šm^û^?•Z]íSTQB| 0®²¾I¿R@?ÆÝòÖÞõ³@…R ^žçfÈR„¨: #SŒ¦ÈAõÓiuFýnouàh>ùÞãÎw¶›§Èßé‰&/—¡è o4~©Ø˜^¶§ Ù" -†¨©Qª¯î§áÕý´1Zô(èn®®Æñf“”h>Ye4Cw¶» ùd• ÍE_xMÑ£¢Ÿó­F\s‡3ç>É %¼!i¡‡¨C^X3ðb8÷WCÒR8y¡÷Ò fFq€È ðwG ¾LY+âF iM< K/wìú'm&ƒD)†´H Ƭ#Þ©`4EÀÜEßæÁšˆ€rQ¾Éô^"ðöSÿÄ{§÷:ojÔj—@Q®@Fz†1T5*d Ór©¾¾¾Ö¯üõ"hԼݛ¢ªú€¢\Q§0rÕG2«;©;‚~†H² þ•TÖ?CT¨ÚÈý$}*£F®Ÿ¥öÛ!&©‡" çîï h¨г=kl¿"‘Èaô3ÿjÚ®ª#ƒi2`ˆYŒ9°~œTE¾ â¶jpÉNuÖA{ÔЊPÔËêï\!묃æ€ÐÝK/‚kêÃNuԃϕ¼Î]9¨~“‚wу+¼È¡õËõ,®ë¡çôÕnßUëÈºÊ >ËA’&4U\„ìºÞnê_ƒ¹•¦R© P¨,‡øjxTuׂ‚‚ÊHž»»0Ó$Œç\ªT*”+”lëCd«~V¯2P¿²² «õO&• "E¦†É¦Þ–ClÉDpñ…‚Ûhެaû­âùL;_ׄOÏ3(<Þµ²ÝšDŒ¬éW5:e¯õÏÚñ¯*Œ1›N&M^.ƒÆZ¦£ê'g„pÐ_¯<µÉ:i¡9æ,<éEká:N ÷7Ë¡XãåzÊ´+ƒÇB%<*Q8É©ò.”G¤píÉAsNìðúiÚë!¹À*Û¯Èzýƒ“\[*6›\@ëœæòÐBœÌ ΢R°D­Ýè× Œ‘L*ƒT&…F[)\ÕþDU_e+œžƒ——ôz= …Ñ9ZHÙ ŸV[i ¿ ýÝ,bd­?QMúYÒËQõSݸI¤ñ1­–"H‚4i¥‘âvÞíg¤$ô‹|ŸÊm@ßËàD"³ÛfÖÆ¿wŸ†ñéyœžƒþ®^òŽÇ¾þކh™µþDUM‘i´È´®Z‹;´~2ò~(þ]y¬—vÔA±ÖShàßð‚â /¸//…þ²IÛ¥DÁãMá[ ¦­ÔÏ9šCÞr)|–ðP;¼~š@œHÀDºSñޏòÇà6‡¶Ÿò ¤IwÍ’P.Cæ$ƒ.LñzÁùCáþs¥Ýè÷ЭšZ£N¯ƒJ¥‚²B‰²ò²zÙѦ©ÔÜÿIÕjhuZ»¯ÔjµÊ¨Ÿêî7iî÷iŒGI?ÍÝÎÖ*• jµ …ùmHC_£šÒ é2© ’‰>Fý³Ð~-Õ¿êú+T-÷Hµßjô3ô'ª­~ªÞôãe<øRÀ‰gˆVl¹¿Œìq ôWd€„ràî–Î8èþ–Bâ&Ä€¸L×^ÔgÄ­ŸBSŒ+6o¿®K9¸Ïâà>§2Ì|`4E•b"5Àô pATfÒ~½d@ÅìF?ñÃÞ)¦'r¥Z‰ÔÔTøùûÕËü«vÆ6u«prSdª_…ªòVP]o=•·Ü,ÝŠ›¡ˆq8ý4ÆÀrwëc¥I2ÕÏR‡kk° éÕuÌv¨úg¡ýVÕÏØÿè$8yn«þ†šn=ªú™êÂ3ëm-šô¨é)CùW•ÆZÚNýe)ÄAzøü^Ù×Êé)5<þ[ q3â¦<¸1À²:è.Ê ä òâÁçJàÔ^ÍßHƒxHš2èo‰Z¿rÏ ˆ€–«¾þqþ ¢€‰îq}g$×X3DŠÊ<#ÉÀ®êìªþ=ô[iÌä‘iýÝOõšK¯MŸF³”o8°øúú×www7 áq÷a "ýÆç ´hx ˜ÃÓü]þ?™Íc‹û·„~†'4  KýЬõ5ªJÕ[‘ލ_Õö[U?S O¦Lc ¹t2{¤ßôEª~–"A¦O£5›¤DM1¤ê>Éà˜úéÀÿî§rWpà öà!­‚|Œ Šw+û1µòa*ÈG¨ Œs3žðE. òQ*ÈG« X_©1sÕÃc¬ãt(þHêðú±ðAû±†Xލ”Ám1/è×&)y›îF$yñ-@¾…‡ˆøF ÚåwóœÁÒôà?(·+ý¤{§Ü=—±i´Èô~yUdíI5Cz…¢r¹ÜaûÐj´ýLµ·Ö7Ë–¾F[Ü¿…\.‡únTÅQõSW‰•+ÊúYz\ßRZU õÏÚIݰÔ~«êgŠàeŽV¢Cþ}.Bgƒ)rtýš¼¬Lô3heŒU7¡ÉËeý\‡g?2úåN“Ãøšæ£rä5^4ŸrF~psóãè±{euz]åP8ẇë£SÿJé"µÑÈ,Ô? òi4·¥ÖŸ¨u^¢½…·ÓóÇC5F:½y”çþçY9ŸšNêZ:­}? d0E¤ßý™"ÒïŸk¿5½ÇHp“ô«sý#ýH?ÒÏNQ¥SU[ýJ¯á1éÚî” Å½Ç®­½ÒÝQn‘~V¿ÚÜJ“Lô·£ê˜{W­Tÿ¨þ‘~¤ég_úIöN±El[vŽ¥b G ‰’~ÿŒ~5>¢o¢_¥)"ýêZÿ w<šOúQû%ýH¿G.bTÝÇä8=‰Tb1Ìgº³jãTÓh9Ǩݤég'úYÒ±ê‹ ¦ˆô£úGú‘~¦1Òj“7x{{ßËÒé!•I¿@åÛ9]\\à{÷ErÊ % ‹ !‘JàââRùþ˜»ÿMËëuz£ó-W”£° Ða*õýè§RªPPTðHëgŠ­úy5ªü@¬Z­FqI1Õ?ôó|ª»ß¡óõñE‹ ¥P6iŠÂâBô½ (Êøú~tü#ýH¿Gש!¯Uã·aÙª÷Q_Pcø­´¤9Ù9Õ†äjzÓðè11Q¯I¿ûG©çH?ª¤éGú‘~ ÃåegÂ×Ç‘‘áØ½c뽓•JxŸR«©òDé»+´P z›<|÷{,†Õ©T‚žBQj×›ô»?neßo?ÒêéGú‘~¤_Ã0FC†E\ÜhîçWí$]*8 b')JÊðJK…¢™?¤*?Ø)O¾gw7Üòð³\Œòr5ŠËJáçÓŸ4êx Šô@èRºB¥×€S«Qª¬€Noß_7'ýH?Òô#ýH?Ò¯~Í™5ƒ­ß‡¢Baí×Ã?¡û=þÀWbÄ+Óñx þÍ3ºPàµzhÅÌØD­Ýû*¯ÄÒŠ³W‹¾¿bxP§åŒ; ÊÊ‘«®œáÑ}ûî™[;þº9éGú‘~¤éGú‘~¶¡×ë°wÏWxv€ð Y™·ñÉÖ­ ÃHî}ô°Ï“OÜÝ]Y¹7RÓàݸš6‡ÌI‚ëéðõô€wãÆ(S*‘™y2'dR1Š‹Já,—cïÞý6-Ûž+¶%ýž|²7ÀÃÝ•ô«ƒ~½{õxzº‘~Ô~I?Òôs ýj2FÒ†´c âH$¸»Wöl÷nÜEE…P*5p–W¾#&+ï”J \]ÅEEÈ.(‚««3¹ºU:U=™TüÈTêªúy¸»’~÷¡Ÿ§§éGí—ô#ýH¿GP¿1ziìhDEFÂIæg7ÏÊÄݬWÕ!lWõ½*ýÝ/ß½ŸY¹KñDzR“~¤éGú‘~¤éç@#‘\ ¯Ê÷#x¹K¡V»RèÝîÆùîöv¿»£œåò{;KæáýM™“+tZ ¨Ñ¸±23ﯣTfÒô#ýH?Òô#ýê—cŒvºÛ,Íôžg}† Òô#ýH?Òô#ýÈÕ$dmw’#WbÒôstýx¾òj”1Fú‘~¤éGƈN4¤éGú¤éGú= Ä´Ë ‚ ‚ ÈAA1"‚ ‚ cDAAƈ ‚ ‚ŒAA#‚ ‚ 2FAAdŒ‚ ‚ ÈAA1"‚ ‚ cD€€ ‚ŒAA£N`` BCC‰¨¨(´k×ÑÑÑèܹ3BBBÌ®Ö CUcX½z5Z·n6mÚà½÷ÞcÌæé9‚#F ,, mÛ¶ÅÌ™3‘““cW;róæÍ ÂæÍ›ÍòL·ÝšµÑ÷ÝwßèkËü¦ë…éÓ§£°°°Þ—sãÆ ¼øâ‹ˆŒŒDdd$^|ñEܸqÃæüšô®oMLIJJBtt4¶lÙb—´€€<õÔSfz1ÆÐ§O³íMMMÅÔ©SѶm[„††bàÀ8tèPƒ®£¶¬óµk×ðÄOÔI“†Ê7ЩS'¨Õj‹ù¥¥¥èÛ·/JJJ,ê4hÐ üðÃÆòåååX¶lüq„„„ M›6˜Ö­[ã_ÿú—ÝTbžç±sçN¼óÎ;صkxž7+cØ~k:T§O|||®®®fò˜˜ôîÝ ¸víV¯^ýû÷7Ø:jë:ÿñÇèÓ§O­5iÈDDDà±ÇÃ×_m1×®]ˆŽŽ†———@§ÄÄD¤¤¤˜é4cÆ èt:ìÙ³iiiHHHÀ°aÃðÑGY]‡3f k×®8wîÎ;‡èèhÌœ9³V碆ÎÍ›71räÈjµsxmæÌšÁc¬° _0|½{'KO»Áþi–,Y¶mÛf5¿yóæfiÏ?ÿø@™ûàƒ0uêTxzzâÙgŸÅ¦M›PVV†ÒÒRlÚ´ }ûö5–­)ß½ë“~ø ,À®]»ðä“OšåŸ?‡Fff¦±ŽM:—.]ÂÅ‹åË— ¦IHHÀwß}‡¤¤$ 6 ãÆÃ‘#Gðõ×_#99ƒDBÖ¯_¿ÿþ‡ÆÅ‹!—˱zõêj×ÃÏ=÷ ð×_Nœ8ââb 4HP.11/¼ð‚]ÕQ[ÖY«ÕâÏ?ÿDÏž=k­IC§}ûö6»­³oß>têÔ 6ëÔ­[7¼þúë8{ö¬ÕÛsU1´Ýòòr”••aãÆ‚¶[Ÿç¢‡Ebb"† RëéJ›†1úðÃÙÛo¿]§ˆF`` à ‚ã8TëˆQóæÍYóæÍY‡ØÍ›7íÂݧ§§³víÚ#*•еk׎edd˜•ÕëõìÊ•+,&&†-]ºÔf}Ìô ¬ÓüÊÕxAA‹e“&M2¦EGG³7îÕùÔÔTÖ¹sg‹Ó8íÝ»—1ÆØ7X—.]˜R©dŒ1vçÎÖ­[7c}êÖ­ËÎÎ6N[S¾­z×—&AAAÆè‚¥|Óu³„R©díÚµLSXX(È·”fÚF»uëÆ®_¿nÏËËc:t¨Õz˜î£]»v±‰'2Æ{ñÅY||¼Ù> b:ήê¨-ë|âÄ öÜsÏÕI{í¡hç IDATàøñãlàÀ‚´gžy†;w®V:•––²wß}—=ýôÓ,,,ŒuëÖ-]º”•””X&;;›=öØcƶûØc±œœœ:‹*ÁÁÁujö¤]DŒ>ùäܼyï¼óN¦wssCEE…q¼¢¢nnnuº·ŸœœŒI“&aþüùváîwî܉¢¢"DDD (**ÂÎ;ÍÊJ$´iÓ›6mž={꬯B¡€»»{½ÍÿŸÄбµG¨¨¨Àš5kŒyùùù‚Nÿ!!!ÈÏÏ·8ŸØØX|øá‡à8ë֭ìY³àââ˜7oFމ«W¯âêÕ«ˆ‰‰ÁܹsÓÖ”o«ÞõÅÚµk±páBœ:uÊb¾¿¿¿`ü¯¿þÂСC‰€€DFF¢¸¸XP¦qãÆ‚þ-–ÒL£Š999ÆŽÀèÔ©“Y§ãªëQ]gÿ‘#GâÂ… Ø·o’’’cVÆÛÛût¾uÔ–uþã?,FþlÑÄèÑ£$ Ž?8zô(¼½½]+<==±xñb9r7nÜÀ_|¥R‰éÓ§[fîܹˆ‰‰ARR’’’0bÄÄÆÆÖû¹èaâíí¢¢"›ê¨iÛs(mvÄ(>>žMš4Éf‡úOõ1 mðÎÞºuë– =##CEªJ~~>kÙ²e½õ1ªÍüRÿªDGG³´´4AÄ(::Úâô<ϳgžy†­\¹’=öØc‚{ë¡¡¡f}ˆLëSMù£ÑÏ?ÿÌZ·nÍ~þùç5ëܹ3Û·o+--e<ϳ²²2A9KÓÔ”ÖµkWvçÎ:ï;Kå6lØÀ‚‚‚ØÆ-æÏš5«ÚþŒ ±ŽÚ²Îƒ b'Ož¬“&öÂÏ?ÿÌ^zé%Æc£GfGŽ©µNÖ¢Ÿ!!!VóCCCÍúÑTm»ŽÐǨ.ÚÙ“6 :b´wï^8pqqqJ¥užÏÈ‘#±fÍäææ"77kÖ¬Á¨Q£lž>66ׯ_‡^¯G^^Ö¬Yƒ.]º4xg¿ÿ~tîÜAAA‚ôàà`tìØÌš5 ÉÉÉÐëõHOOǼyó0xð`›—ƒµk×"''999X»v­@ßûCá…^À²eËPPP€‚‚,]ºÔê½v‘H„W_}qqq˜;w.œœœŒy-[¶ÄÆQZZŠÒÒRlذ­Zµ²9¿&½ ÀgŸ}† X}êÇ€Z­†\.‡³³3nݺU/Oö?¯¿þ:ÒÓÓ¡×ë‘””$x¢¥.Ìž=·nÝÂ+¯¼b1Á‚ظq#âããQ\\ FƒóçÏcÚ´i ¶ŽÖ´Î%%%¸qã†ÕãWMšØ ýû÷Gvv6¾ýö[âé§Ÿ¶ªSII ´Z-.\¸ xÚ8&&D~~>8ŽÃ;wðî»ïV{ìoÙ²%6lØ€²²2”••aýúõˆŠŠª·sQC«cÖ´sxmfÄ(88Øx?ÒÒ`©ÿ¥|žçÙÊ•+YTT‹ŠŠb«W¯f<ÏÛ<ýÁƒYß¾}Ypp0ëС‹üXß¾}YPPëܹ3[¶l™±?L]ô]µj•@_[æoWãJ¥’ÍŸ?ŸµhÑ‚µhт͟?_°U§?xð ëÙ³§Y´3%%…ÅÄİððpÎFŽ)è?SS~Mz?HM®\¹Â¢££Ù¦M›¬jöÓO?±Çœ²nݺ±O?ýô¾#FDZõë׳nݺ±àà`öôÓO žü«KÄÈ–ü””6yòdÅBBBØÀÙÁƒl­i:ÄÆ_šØ ß~û- bß}÷M: 4ˆ:tH±˜2e kݺ5 b]ºtaóçÏgyyyÕj_µíž„³õ\d¤¤¤°)S¦XÕÎÞµ©)b$š3k[¿)E…ÃôëáŸÐý‰ž AæLš4 C† ÁСCI ¢AðÆo E‹˜:u*‰AVÐëuØ»ç+<;`  =+ó6>Ùº•> Bµ…çyìÞ½7oÞlð{Ö:^a;R’€ jGPP±eˈÅtmA4NžFAAdŒ‚ ‚ ÈAA1"‚ ‚ cDAAƈ ‚ ‚ŒAA#‚ ‚ 2FAAdŒ‚ ‚ È÷ÁþýûÑ¡c'ø6i ß&ß&Æÿ–Æ ‚ Âѱú­´ãÇOà…!Cj=Ãû÷£gÏÕ–©z²•ÉdðóóCïÞ½ñæ›KÐÌßÿ°N…ùu‡TÕF*•" ÇÃÂ×^ƒ³³s½,gñ’%ÈÍÍÃñÄDEEQK ‚ T1êÙ³ìß___=zŒ1«ÃÑ£Gáëëk“)2¥° …ù¸‘z“&MÄ—_~‰)S¦Ò^1Ñæê•ËèÙ³>üð#,Z¼¸Þ柛›SdX&AA1²b޶ú)bbbpìØ1‹eŽ;†˜˜lÿôÓZ™"SÜÜÜ0uÊÀ… ŒéŒ1lÞ‡®Ýƒ³æèбþ»~=cÆ2†Û=_~ù%ëÞ~þÍУg/$?nVÆÓ´ênÆ«uYÇmÛ¶o_ÙŠV®Xøþû}5Γçy|øÑGèÝ~þÍбS4>üð#ðLTTT`ûgŸºtélL߸iÞ^ºÝ»wGÚTŒûV¬X‰Í›ãÌæqòÔ)ùí7|ºí\»v sçÎä‹D¢j£3Ö¢&†ñ‚|:xînnËåuZǤ¤dœ8žˆ‚ü¼zÛUçùßÿ®ÇªU«1tȤßLà />>µ2 ‘H€¹scñúÂ…5Î3''ФIåôMïþfggß·µÙV‚ ‚phcdjŽ^2¤Ö­«C.—cܸ±Xò書xñ¢1= HºzM›6½¯epžç!‹keŽýñÆŽµZ>üC‡ ŸÔ»Ÿu¬îV];A7mÚwîÜA~~>üüüŸ_ 0Ž÷C}î‚ ‚hˆÔúþRÏž=yûV½™" 2b¿Õʘ>ý_ÿ¼³b%JKKQ®Pà×_EÌÈQµšhh(àçÇQQQ5kך•ñôô`~ nìØqP©TXµr%Æk6]}­c}1ztårãâ¶@­VcóæÍ€—Ç¿ïyÛ²­5ut¯. ‚ 6ÒºLäââR/ 7=16jÔýû÷ÃÊ+ÿ r¹Ÿnߎ¨ÖmàììŒîÝÃ+³fÖj9ÿýïGX¸ðuLš4˜?ov튔YøÚkøÏºuèÒµ€{•Jxó­·ðæ[oËòëkë‹7^<ÇcÏ7ß`s\üýý±xÑ"Ì{ÿƨm+AAÔ7¢9³f°õ›âPTX@jAñH’•yŸlÝJŸ!‚ ‚0@ƈ ‚ ‚ŒAA#‚ ‚ 2FAAdŒ‚ ‚ ÈAA1"‚ ‚ cDAAƈ ‚ ‚ŒAADý`õ#²‡öOêAÑ MšÖzYRæN{„ ˆò4 â>! _¼€ÌÛ CXDDý£1JHHÄ”©S‘™™ e…Bçêæn–F„ãÔ‚ êzü¸tá>;Eû±zôì‰Ë—/ß×45§Ü=<±mÛ§hÓ¦­qú‹/Y=Ò@ ì¿sTgcdé@gþ:ƒ„?þ@iI1cX±r%²³³qáü9œ?w·ogbåªU`Œ¡¬´PVZ‚²Ò³e˜þÿ÷þƒóç/ !áÜH½¹\Ž·ß^J†Ü=v Ç «vÚêŽ3†yÿþûïøé§qûVFŽŒÁð18|ø8xð2oßÂСC1çÕØûš¦¦ã$$$àÿûnßÊÀàÁƒ1çÕW­i †šQ}'ÑœY3ØúMq(*,dÚÿ=^ž< åe¥Æ4ÏF^ÆÆ[PP€·Þ~¥¥¥øò‹/Œù×’“Ѭ™¿qšVQQøñ‡q÷q¹ÔÔT ~þy$'%™Í³ê¸éÿ¶íÚcß÷{Ñ¢E @^^zôì…Ôë);$àÒÅóx¼Go³'Qûø"/7R©õ;ÿ¶gÒo¦¡qãÆ•J?ÿffiAÆca]¦©é8åÙÈ é7áíímu™¦ÇC‚ „LJݟo|Döã-qx}ÑÁg?ªû$ˆá|ü.LŸ1S°Œ¬ÌÛødëV[¾•&|Ùšg#/€‡‡žêÓÿù÷¿e|| ÆóòòѼyscZóæÍ‘——/(Su–ò²³³Ñ¥k7¡«‰Ì¦%¾©Ú¦½½½‘ ???«ÓØrœqww7ŽK$‹iz½þ¾¦±å8åææVí2é˜FµcíûïÖëüjý£ü¼ÜjËT-ߤIddd ìî;ÒÓÓáëë[í4–òüüšâ§D³fͪ]?‚ 웪múÉ'{cÿþý˜6mšÕiêrœ±%­¶ÓØrœªË2 ‚°L²6ßïžgày€g|寠Õqwÿãn¤¨28}ê¤ÕyÞW#K÷«¦ 2o¾õòóó‘ŸŸ%o¾…aC‡VÛoÉÒÿ &`þ‚¸yó&t:®^½ŠiÓþE÷^i ÁÁû-|í5üwý|¾s'ŠŠ‹¡ÑhpöÜ9Lš<¥ÎÇ[Òê2MMÇ©š¦oÔ¨®_O¥ú@ µì|­Ps(WëQ®Ò£L¥G™R’ J*t(VhQ¬Ð¢H¡EQyÍÙZGŒjÛ jñâEX¼x ëþ8à…çŸÇ¢EoÔ:b4göllظÃGÄ 77˜?o.]]„ƒGŒÂÂÂðÝ·ßàÝ÷ÞÃÊ•+¡TªÐ¶m[Ìžýбl]Ž3"bdËqªºégÍœ‰~ýû£¢¢¹9ÙTâ!Pcçë¼ÜR‰ ˆÎõ”d<Þ£7 òI ‚ ,ªv¾ž·þþ|”)õàxžçïþ2¨µzð<3K÷öpÂéS'ñá«ý˰¹ó5Ed‚ø'¡cA2FA1"‚ cD#‚ 2FA4@ÂÂ#©Ã1Aýø &¹ ‚ ‚ *¡ˆAA„-ÆhÏ»H!‚ ‚ ÈÀ¨—Æ“BAA4vnÿäá£AZZý¼Áˆ(õbˆ9´ƒžC¤QC±^ ­ÐqJˆ9@ʼn )Ó -= /½<•j AAöiŒÒÓSàåéŠüü"”–•@Ï$à8à´Ðp"@ÏC§×‚ctZxNÆé ãNËA«×A¯×C£¬€‹‡¾Œÿý…íI‚ ‚ ìË5mì†ÜÜBL›¹zN c؈"‘<ã!‚<ÏÝûÀ"L>"Ç*Ç]å®;òy4òô ½HA„ý#‰DŠŒŒtøøxcĈaà8Œ1ˆÅ"¨Õjètz€‹\µF‘Hdq>ÞÞÞX¹rœÝ\0eê|þ9u'‚ ÂÎŒ‘HÄ –ÊÀq<îÜÉÆ… àìì ‰T‚ ç/àÖ­[Ðh4˜9s&PVV±Xlöej77789ËÀÀãҥ˴ ‚ ‚°?c¤Õ‹ Örpr’!>>7ÓnB$A£Õ@.—C&•A,ãóÏ?GÛ¶mñüóσçyˆÅ÷ÞC)‚›6mBjê 0^ gg'Ú‹AAØŸ1ÒëTðtq—_~77ø6ñc r• ¼Z ‘³R‘Z­gΜÁ_ý…‘£FB&•!+3 ­‡899CÄë![¾ÝÈÊÊ2¦]»v cÇŽE^^–/_ŽÉ“'Ôj5¶nÝŠC‡!-- Z­¾¾¾ˆŠŠÂ_|au{222°zõjœ8qeeeðôôD=ðÖ[o!88X°–0]7‚ ‚ 1c$æ…RƒÇŸx=žx?ÿü3r²³áÜ*ÎQ!(ýê7ˆ\!‘H •J!‰­N‹o¾úÊ Ì;III˜3gxp';ǦeŸ>}'NÏóرcžyæ@yy9bbb’’‚+V`È!Éd8þ<>þøãjç9}útüý÷ßxÿý÷ƒï¾ûo¼ñnß¾Ÿ~úÉ¢ùùõ×_1a„j AA Ô;v O=õ”Í3}úàÛo¿ELL ¾ýö[ù9vì˜ÅtK¨8:ÎøÞ"k#‰P^^‘H???¨Õj8Ëáëë ÏFžp‘» "<Ç£ °zÎð"$ë¼ùæ›*#4M›65ËÏËËøúúÖZ¼µk×"-- ‹-¢E‹mÚ´Áûï¿o±¼!Z ©TJµ ‚ b[ šš£cÇŽÕÚã9ˆôZ0/ÃH$2%­V‹èèhL:ÅÅÅÐétG»6íÐÌ¿´-bbFÜ]{ª­Zµ "‘Ó§O7öû1Å`– j-ÞìÙ³qõêU¼ÿþûHMMÅš5kpõêUÌž=Û¬ìÕ«WqäÈcÔ¨QTó‚ žQUs´bÅŠZ™"iuÐq€ÈÄˈD"Ám9ÑݧÒ<<<Ð¥Käçå¡s›ö(++ƒR©„Z­‚‚U¾R£Q5ÜJ›4iÖ¯_ƦOŸn¼Ýe`РA€}ûöÕZ¼ÄÄD•}Œ\\\0bD¥a;~ü¸YYŠA„ƒ#Ss´lÙ²Z™"Pñ8Nmã1™ݾX„Ć–-[""4­ŸífƒŸ„¶L…šn¥Àðáñ}ûvÈd2Ì;;wî4æ-X°­[·ÆÚµkòòr¨Õjœ:u 'N¬v¾mÚ´|ûí·P«ÕØ»w¯ Ý@FF:„ÄÄÄP­#‚ ˆJB}úôR©„‹‹Kí\§^ËA,ÃÝÝ]ðâFƒA2Àó<ºuÐÔßrwˆ$0ž¼>I9Ðuj¸“f¤oß¾øâ‹/0aÂ,^¼eee˜={6<==qðàAlݺ;vìÀ²eË Óéàíímfpª²eˬ\¹ï¿ÿ>/^ŒFá¹çžÃÒ¥Kå6oÞ Žã0wî\ŠA„£#µ6E çÄððòB^^:N_ù±X€A€gìî(D"0žA&C¯×ƒ—ˆŒ·ÍœårèåRHEb«ßS³ôòÄîÝ»#99Ùâ¶ÄÆÆ"66¶VÛ„­[·ÖXnÍš5X³f Õ6‚ ‚pTcTÒogÀ¯‰7^~i nߺ=ƒ×ëÁ˜:]¥!ÒiÔàE0N ŽÊ>G`€Ž©ÁsZT«Ð¯Woèx˜ˆÑ^$‚ ÂþŒÑ Á£ñãàäÊáÿž­ZME)Ô* $yyP4iÜL‡ÆÃ :C”uÓÀÊ×*|CJ!m”†‚ó‘WV‚Ë7o@Y¡¤½HA„ý#0à9\¼ò'¦Mœˆ$hÛ¶%dNÎhÞ ·Ï]@óÀ@芋 S©àê僼3A,“€×rؽû<¥:ˆeç b åe ¨5Ú‹AAÔ âz‰Q‘ÑøþûðjÔj•z­7Ó V©‘w'YÙ¹ÐêtÈÊH‡žSÃY,…N¤GqiŠ(*.AîíL(KKзo_Ú‹AAÔ å©wÿó.œebŒi8N¾²¯/ã´ÐëôÐêð N è5ðá&¿< e)®^N`:tè€yóæÑ^$‚ Â~ÑÛ‹ÞàììŒÝññˆÛ‡œœ\äææT0éOmx³5c@‡öí¡Ñhðý¾} ¹›N¯ ‚ ‚°ccäìälü?vÜ8Œ7®Îó²ö¸>AADm“AAdŒ‚ ‚ 8ì÷)8ŽÃ‡ÄÇÿ@§0ü…áuz[7AAdŒìž…o-DvQ6\=\ñã±ñ{ÂïØ¶qíq‚ ‚ ×q‡õqëqæÂ0žaÊËS‰¬Ü,4 n puwE~f>þx{î…R©DTË(ÌŸ3<Q- ‚ €ô1Zºj)Î^=‹ÆÑ8¨16oߌmŸoƒØY¸i …ïø.¾.hÖ7snâµ%¯Q ‚ Â1Œ‘N§ÃÕkWáÝÔ@å£ûÍÛãüßç¡Õhï•ÓêPZ\ЍH$@#ŸF(U”¢°¨jA„HY‚ cô€ÈÍËÇqÐëõ‚ôÀÈ@åÇÓ¯§#²m$Äâ{›Ëƒ²B‰;Ùwè%‘ñˆŸÔ ‚ ìÞ­ùp æ½9N®NH¾Œ+ç® ¬¤ s’ÁIî•RUùyîžîZƒ”Ë)¸|æ2d.2¬ú`fÎ žçm:¸&''#::ü±1-55Ó¦MCÛ¶mŠAƒá‡~°ºîiiixñʼnÈÈH¼øâ‹HKK,³êeu~¿ÿþ;F…ððp´mÛsæÌAAAÙv†}ÕøôÓO›™MÆžzꩇ~²2Õ¡eË–=z4RRRÌöñøñãѲeK´lÙãÇGrr²]m'deeÕªÛÒŽj[— ..ÁÁòm– IDATÁˆ‹‹«÷öBõ ÈUðîdáÌ…3ðõG³fh×µZ¶k‰ì[Ù¸ö÷5p‡€ÐdßÊFnV.š5dÞÌDÊ冢}·ö DÓ ¦(U—âÐO‡j\îÙ³g1fÌ,]ºÓ§Oܼy#GŽDïÞ½‘˜˜ˆ””¬^½û÷ï·:Ÿ3f k×®8wîÎ;‡èèhÌœ9Sp@7–/_ޱcÇZßÖ­[1cÆ üý÷ß8vì<<<0kÖ,³“„é‰âAâââ‚_ýUvøða¸ºº6˜fVVΞ=‹=z`öìÙÆ¼ôôtŒ= ÀÙ³gqöìY 0£GFzzº]m'Q;liGµ©KÀó}:Æxxx`ܸq˜>}:>øàƒ:m'qÿ`çÎxâ‰'Šgžyþù'öìÙƒ^½z!$$ýû÷Dö uÅô·ºÊý´#KuÉ…jÔ¨&Ož ooo=z´Îíå~Û›F£ÁÂ… …¨¨(¼þúëÐh4Æ|­V‹yóæÛ[Õ—%í¬éYSÛÀ®]»Ð½{wã¾»rå Ut‚ŒQ]  ã,÷ jÔ¸Zuh…K^‚¯Ÿ/‚#‚qáä4ño‚€ËX]¡F›Öm¬.ï‡~À‚ °sçNôîÝ[—˜˜ˆ!C†ÔjýŸ}öYlÚ´ ååå(++ÃÆÑ·o_‹e¿ùæ<ñÄð÷÷·yþüñºtéòÐöÏ AƒPPP€3gÎNž<‰ââb 8PPnÆ ¸té>Œ‹/B.—cõêÕÆüµk×¢¼¼§OŸÆo¿ý†?ÿüS0ýĉ1mÚ4\ºt —.]BDDÞyç›×³¼¼›7oFÛ¶mi >|¸YÙáÇ#!!¡NÛIÔ øî»ï””„¡C‡büøñøí·ß°gÏ$''cðàÁX¸p¡Å¨ŽitçA´#Ku vìØI“&&L˜€Ï>û¬Îíå~ÛÛš5k““ƒÄÄD$$$ ++ k×®´·ÂÂBœ:u ¿üò Ž?^ç}USÛ€'N`ÿþýHJJÂÀñúë¯S%'vù£ð°ptíЧφÌU†Šò ¨*TÆ|•R77 }y(@"‘àfÊMäeçñ ®n®ðôö¯ãáíæ¡ƒ‡V{E‡öíÛ›å£qãÆµZÿ+V`È!øÏþ ÄÌÊñ<¸¸8lß¾Ýæy_¹rË—/ÇîÝ»ïë꼦´êN0b±3fÌÀ¦M›ðÙgŸaãÆ˜9s¦ ó»á ý‹/¾@³f•·:—,Y‚~ýúá½÷Þìß¿{÷î…`ùòåøå—_Wãär9-Z„îÝ»×jûš6m*о¨¨¾¾¾fÓøúú¢¨¨¨NÛIÔk×®…·wå¨Ó¦MÚ5kðþûï ÒÖ­[W/˲µUW—222pñâElÛVùbÙ!C†`ÕªU¸u낃ƒë­Ù:ý¾}ûðÝwßë÷Ê•+1räH¼ýöÛ€ï¿ÿ^¿bÅ ³ A[©©mÀ{ï½///•Ý >úè#ªäEŒî‡1#ÆP^RŽÆM£U‡Vˆê…¨ŽQ‰ ^§§çÀC…¢M›7E».íо[{´ëÒÍ‚šA­TCU®Â´‰Ó “ɬ.kÍš5X¸p!N:e–çíímv¬‰¹sç"&&IIIHJJˆ#kVîСCˆˆˆ@‹-lšïÉ“'1iÒ$ÄÅÅ!<<¼ÎÚVíãd-­:F… .`ß¾}¸zõ*FŽiV&''O>ù¤ñG§N·Âòóóh7ýgΜÁ°aÃТE  22R°/¬u8ÏÊÊBff&Nœ8ˆˆ\¾|Y°?-ÝŽ+((°h€mÙN¢~0 ÆÏûTM«ú„j]¨M;ª®.íܹ………G@@ÂÃÃQXXˆ;wÖ©U÷…-Ó Ypp°Y{ äוšÚ6£)ªÏ}G´1Z¼|16FX«0x4ò€H$2æ5nRyûìÃϰký.d¥g!(ì^ƒ‰DpuwEPx‚£‚±êß«P\RlÝ„ƒ?ü“'OÆÿþ÷?A^¯^½pðàÁZ­ûéÓ§+èctúôi³r7n´¹ŸÁðÊ+¯à“O>A§Núþqrr”)S‹©S§ÂÉÉɬLÓ¦MqöìYáÊÌÌDiLÇMÿÀôéÓ1iÒ$œ;w™™™HNNÛ2½¯¯/nß¾m¿uë–1 Mš4ä›þ©T •ê^d¾¸Øú1³¦¶MdŒê­V •Zg¹³Åü´ä4øúûB*•‚1†m[ õj*8Ž3@,†ÜCŽ›é7«]fÿþýñÙgŸaþüùسg1}Á‚ظq#âããQRR­V‹ .à_ÿú—ÕyµlÙ6l@YYÊÊʰ~ýz³Çñ9tëÖÍâ>[¶lÁ¼yóê´ÄÃÇÓÓ7nܨ¶Ìý¶#Óº´ÿ~DGG "0†(LÇŽ-Þ:¿ßzTÓô/¼ð–.]Š‚‚`éÒ¥‚þ‘C‡ÅòåËQXXhÌ7¥M›6زe T*rrrðÆoX]—šÚ6A1zщXbö諲B‰K^‚»§;üýѨq#4iÖrW9‚ƒpõüU”•šÍOS¡Aøÿ³wçáQTùÂÇ¿ÕN§³u:;Ù „} Û° ¨€ Ž 8^EQA–WÔÑqÔÁmç†í"^EÀA@EÄ˸̰(J0¬a K€$$dOÈÒ{WÕûG¤¡ÍˆÎçyúIºNÕ©S§NuÿêÔ©êø¦/=õïߟ 6ðúë¯»ïØˆgýúõlß¾СC^xá…Fd/^¼˜´´4zõêE¯^½HOOgñâÅó,Z´¨É[…/˜7oùùùîç–\x™Íf@ª¹wç\ËÀ©_¿~Lœ8‘ÄÄDf̘á1`ôÙgŸÅÏϾ}ûrË-·’’‚—×Åaq .dÞ¼y$%%1a„ƒÈ¦Üÿý¬Y³€ÄÄDÖ­[Ç—_~IJJ )))üë_ÿâ£>º¢Ë“¯kúôéŒ=ºÑvߜ㨹miåÊ•Lž<¹Þy|ðAV®\yÍëàOúaaa 4ˆAƒáÜ<ûì³FúõëÇm·ÝÆÀ=–ë­·øòË/騱#cÇŽ­·µ¹Ç¶ \ϤYOLSS—,£¼Ìóúï›6òà”G¯Û‚ïܵ“·RßÂfÄawPRX‚F£!>9½žS™§ˆˆŽ@ç­#ûd6ÉÝ’Q…œ¬ÌÕfBÂCðõóÅZmeØ€aÌxLœí_ï²²²˜4i»ví•!‚pZõÞ î{ñ‘9sR¿æžß¤ÊâBVTEù鯊ÍáBQÔ:ÓMÞìNÛÅÛ³GzäŸw–ï¼Ó:ïJ<`0±Ñ±<6û1L‘&;%º/­É²Œ¹Úì~Úµ$IØmvô>zâ;Ä#Ë2¥æòÆ+oЫG/ÑÚ®SsçÎeΜ9ØívæÍ›Çí·ß.*EAøÅ´êûŠ£ÚDáçïGXd˜Çx£üSù˜B/Þ­—GÖ‘‹PÔjµ„F„b 1!ZÁu,&&†Áƒ3xð`ŒFc½Ï©A„«Å«5^§ÓEÕù*ƒ(É/!&2† ÛÅ;&| >è zr³r‰MŒE’$,f z/=Qm¢D+¸ŽM:•©S§ŠŠA®‰Vÿ$º7^y£ÎHáéBòOæ3rÈHfO›âð˜d bÔ°QäŸÌ§ðt!ÞNoÞ~ýmÑAApójíàççGê[©ÓTUÅ×Û—óeç11W›ÁOyœéSÅ-£‚ ‚ Ôï†üíI’XôÖ"R’S(Í.%.$ŽÔ·RÅO5‚ ‚Ð(¯uÃüüü˜3sŽØÃ‚ ‚ 4›èBAAøI£=FË¿>+jHA„ë‚á׌.ù=ÎVGUdNfì ÷d:±è˜2·hU‚ ‚ \n`Ôz#£ò*0ùQ^ø=_­KcÌóÅAár£ëTE&}ÛjŠÎFUTº),‡µ„víÛàëï‹Å\Èñ[9™ñ .‡Sxý†?Œ!@´AAšŒ®ÿÈèÛÍÿ–’:E ª*‡w¯Å?(¿Ç|N»…#»×Ó¾k;´Ú`*J‹ùÏ'o0ú¿ŠV ‚ BÓÑõ~)M‘]TŸ¢c÷v@íó‹;Æ’yðFÓÅ!ZN‡“ªŠ*zü¦»ûYF¦P#eç°ÔT`ð -A„f™uG;mɾîó¼žÖ'Ú‰pF×wák*Kq¹d\.^^7%©SÇ'*®öwвOfÓ¾k’ÇUUÅb¶PUQŒÞ`D’$ÑAh–_â³ñjä9{L;Rÿ/ûWÛAÔñM]¿{õÇ¿Ëù¢LŒAŽ8†¤‘ˆMˆ%0(·oo¬+:‡Ý ?v›œ¬ìV;AAún²êÇð{_B’ê>ÖéÿÝÏqÆý>4À›q¿‰dß©Jö®Àä¯c`G1!tZ‰Òj{³*9Y`®·ì&?ú†\{—ܹrÛ—Qavº×ùs—²/sêͯm˜Þ‰F¢‚}pÊ*Ùž;ZŽÅ.{lÇ—nOsü¼šÒT}\Z»K!·ÄʶCeXËàÍïúF°rëYþßñ”W;Y½#¯Îº& ‹!Ø_×âmZ½—†ß$›HˆðÅß ÅéRÉ/³q »Š³¥ÖËj§Wö…§^Óܧ¬‘]MÚ‰Šë¢¿z`t}ºú|™$vŠ 6! §ÃÉéc§)8[@Rç$bâ£)È-@Mlí ì¼3yT”UØ1__w~…y%del'©û­ÖC“žßõàÛ#å˯ ÈOÇï´a÷‰óüû`)N—J˜Ñ›>‰FNœ«?0Ý;œS…þoo1½ŒJ çŸßæðÍž0) Fü|´ î”#{OUòyz1:­DÿAŒêÆ'» Ýó\ÈóÉßÅ_Ö~mî2Í­ åñÕkùmç`níÊéEîôØPrJ¬îõ:e…øp_NYÜó$Fúât)âÌì&0ºw8çÍN>ÞU@µÕ…NKl¨ýÚ‘[b½æŸY¿FÑ…cF§•0ùëèÀý¿fÝ÷稲¸®é6Ô·ìt ÞÚ-§KåÝorÚ5„Î19[-zŒD`t}îÕÒs§ðô\­óÖ‘Ü=™ÊòJ¥"¡cÅÅH’D§ž8²ïA!AtëÓ­N~&?Jò2IìvKƒõÐ6ÌÀí)áük_±Çño:±çäyž©tO+(·±¹ÜÖhÊ'*•ÚúÝ}¼‚”c½õ­ÕHôˆdýÎs îOv\<›t·GÊxbt»翜ýÚÜeš[ò3Û\l;\ÊÔm=Öjàpnµ{Úž¬óôI2rªðbpÕ')ˆô¬óÜÙ'Bœ™ÝàbB|Øœ^ä„-vÇók8þÓ Êœ»Ü?ÀÛŸŸÀè[Û;êƒF#q¶ÔÊWûKܽ©sîJà?¥ôm„¿^KYµ“¯SRép·õ%9ʇKaï©JöÛœüw)£w‚ƒo~ºÉ<›:.•¢óvŠÎÛ±;e$›ør_±{}¶½]¸/¿íŒÉOG]f÷‰ çT×É/"HÏ]ý"Ø“UÉþÓ•H êL×¶è´Nšù÷ÁR.¥Þzn¨î˧>ÄNÁtŠõG#Iì>Qá®›9w%ðÝÑrz'ñöÒp<¿†ÿd”º?CçÜ•ÀÖŒRz'áï£å¼ÙÉ–ä§£_‡  ^”U;ùr1¥U6s© e7ðî7¹ØœµeÝ~¸”»úEr8·ªÞ²7µO/Ý/\:írËßX7Y‘14†Ó‡äúÓ‚$wOfïνDÆDâàÇ]èØ£#áQáõ.c®¶bjÓ§ÁíMjãǰ®!lÜUHq¥Ý#-.ÌÀŽ#e-ª«Ó…ú$±ÿ§Kq)‰FNYêÍ£SŒ?y¥Vª­Í?#Œ õå\¹­Á2ý’=FÍ­KÓUÅsšV#âÖ½Åîi'ΙØ)˜6&Εۈ 5àã­áäO½P".º±+·1¼{(ûÏTQRiÇ%{îð¿o:ÍScøû&Ï/Ÿ±ý#Ø–QÆ{ŠÐj$t4ñÛ.!üë§ÞÚ A×GßžÃî”éÄðaüsGmïíÀŽ& ÞZwÏÁ¨”0öÖœü#ƒô¬Þ‘õ§`©©<[r fdWó_C£=§Ÿþ•Æ¿–rºÐ‚¯^Ë€d‡²«=æKˆôåöža|} Ô}ÒÑ¿ƒ‰ð =k¶çcw*ÜÒ-„Á‚ùOFi½õÜPÝ7–Oý'U&B¼Y³=‡Ka@²Éc»¢C|Xµ­örúí½Âl⻣å{™Ã ¬ßy«C¦w¢‘q¿‰$»ØÊ†ï ÜÓ†÷cíO=ó—–·[Û#ý.®O’PÕ‹u©ªµÃ(ÚGÍÙ§Mõ²µ´üÍ©á&ê12†ÄÒ‘SÇŽ`4ù`®6c5_ìűZ¬øø1îÁqµ_´Z-gNœ¡¸ UQA_?_MX-.\._z¸µÁíÓ'œ/Ò‹(:_·ÈÇ[ƒÅ&·¨®¶e”rßo£ØÑ@•ÅÅÚoóëä!Iµ½"Ÿí.lvþáF=úóÉ—Ýcôô¸Ä:Óžëyvµð³Sõ.ÛÜú¸nÐkÚ%„œb‹{Z¤É‡²j¶KÆN(ŠÊž“çéÛÞÈgiVú¶7²çäy”ŸÎŽDÑmÓîBúµ71²g(F_‡LÖ93»Ž•»Ïêëk+ÿsñgœÀÎ#e<:Ò³wòßK°9jóØs²‚ß$¹Ó;Æø³î»s˜mµ'&[3J™2<ÎÞœü·*Ãb»xbÓTž-ù<®±¹0è4iþwÉ*~z-o U'_í/öX¶G| ý;ñiZ…OøºÆðÉ稲ԎyüöH“oåßK-Ëϧ5'ŸKuŽõgÃ÷çßv¨´Îçæ…:Ûv¨” ƒ¢øöH™;ý›ý%îñV{³Î3¨S0ÿ>à9m@GSr¶ 3Ð#>uß]ì•?Sdæ·]BØq¸¶ ¿í‚ÎKjp5gŸ6Ug—Sþ¦êDø%£ë¸àí{Žæ»Ï¡ªUDD…áŸèï¾³¬¼¤œS™§]2­s™ð¨pâ;Ä»£Õl¥´¨ŒÊóvúxIëÕàö~s „‘=Ã±Ø É+³z¤Ù >z f›Üì²êΑ³ÕìÉ:@ߤ FõgÃ÷ç<æKŽò§¼ÆAYµ£YùƆÝ;œÍ?R^ã¼ìýú·Ÿ=ÏŒK¬3­!Í­ Á—Ã¥]låë%îrµ 3Slõ(§ έf`Ç`’cü Ô³1­Ð=‹nl6§Â·GËøöhí‡~p€Ž¾IAÜÙ/Òã¸ùy;ˆ öah—ƒ¼Ñi5õÎgu\ ¬²ŠF’Üé~z/Î[œî÷çÍ.囓µÍ³··©<Ÿ¹äÄäÒ㮾6î§×bu(uŽ€M?2 ÙÄ€Ž&N…­‡ÊÞÞÞXÌ~sËo.鉑ðõ÷%ÎßEQسõßó2zC`½ëÚ“UA•Åɸþ‘lN/äĹwÚ™"3‰‘¾¤Ÿlþ 1!>¬ýö¬ûZðŽ#%<3®}úîÛ>ˆ/÷5k?tŽ `xp6|ŸOA…«½_›»Lsëcþ†ã ¦Å…øOF±Ç:/üÿãÉrîèÎöÃ¥XìÎVÑV…«¯ ÜÅ¿öÚyz\R½íä‚ßõàß‹9UhÆîTÐë4u޵úÚÎ…i56o 5µ''ÁþÞé—“Sy6tlÔWÎ΂8]d®w}9Å.rŠk¡¤6~ŒéÉÑÍÇþ­Ú–ËÃb©±¹H;~ñòKUfåÖœF/ß7Vg-ɇŸ½Dyuý'u—Ö™Éß³Mnö~¬ošŸ^Ë]ý"ø<½€’J[yÖïÌ»¤wÍHv±¹ÁÏ™¦ö©¢ª(Š‚SV~Úmòµ´üÍ©“›Õ§>ª3í–ÛÇ6{yMS]·×ãËåt ©Žzƒ"€ÓÇNŠ——ªªÒ¾K{²Žf!Ëu{14 F“/•¥yõ®ëB=ϯfý÷ùÜÙ7’îmÝé;—2°c0½âøè4h¤Ú»×~? ªÁò—TÚØ1½—½—†ƒ)®´{Ì“é‡Ó¥p¶ÄRo/LHvÿ߯½‰[»‡ñáŽ\Ε[­»ËÙ¯-Y¦9õÑX~z†oΖZëÿûÌ2l8ΙeW´MâÕº^ ‹¥SŒ?¾z- `ðâ–n¡ä—]l'6§L°¿Îc9/­„SVpº‚|½¸£w„G{©¯í\:íHn#z„aðÖàë­aDÏ0ôËÉ¿©<›:½4AzFô §G¼‘‡Kêo\ÿ6„x£‘jDzh$Éc¾J‹“UÛréod`Ç`wÚÞSÜÑ;‚ ?/$ ,Л»Ó¦Ñz®oZSùüü•‘]Éí=à ðÑ¢÷Ò0¢G˜Gy/Ô™Á»6ípnU³÷c}Ó& Šæû̲z?cÇô‰ ÀG‹V¢üÒ9„o”6øÜÔ>-:o§^ -£[Øë›ÖTܨ¯æ¸gÂ÷û{õ»ß3rÌ=Ü6úî«x)í:í“Óhu¸d EQ<Úh1[È:’EdL$A¸œ.ô>z||}ˆMˆåèþ£Ä%Äa 6zž©TZ Žir°rN±…ÕÛr¹ï·±ôZv+§¬ÚÁêm¹ÜÒ-Œ[{„¡Ój(:oç‡c @Þ˜vŽÑ½#Ø1€¼R+wó˜P§Fó¸´\#zÖ*Ÿ6ÊsПœpßòÒ½ÝÓ_œXûÿ_×kv7·-4·>ʯ]˜/¹%äŸ ®½œ©ÂãÛ#¥ôM2qGïHô:-ÕV§‹Ì|üÃÅãf×±rÑo/»moþ±=#˜0PG•ÕÉ®cåtŽ lö Øm‡JÓ'’Ùw&aw*ì:^FRwúåäßTž ¹pÜ:\ 5NNÖ°âë3u.[_Èçx~ Ecò×QVåà³´suÊUeq±jk.“n‰C’$¾;RÊ÷™e ìÂCã0xQZí`çѲFë¹¾iMåós;—2¢G8Þ|û³ysK¬<~{Þ:‰£g«Ù~¨¤Eƒ›>-:Ä@tˆ»úµq§](ûÙ+o‡·†³%VÖïÌwß v9íä‹ôB~×7’!]B¨¶¸øþXb®¨üÍ©áòH³ž˜¦¦.YFy™ç@·/6m$Ûwðu[ðÂìß½†èØv%…%h4â“ãÑûèÉ:zŠÈ˜tÞ:²Of“Ü-EQÈÉÊÁ\m&$<_?_ÊKkŒèIÇþDk¸ŒéIi•ƒÝ'Ä‚ ÔúË:ñÊG™¢"DÐβ“;Ç^ìš“ú5÷ün$U²R{Érúµõ^J«MW1x³;moÏé1O~ÞYV¼óNë}òuDÛø†³ëóÄ´ #±S¢ûÒš,˘«Íî§]K’„ÝfGï£'¾C<²,SQZÁ™ùô1“ШdqWÓu"!ÒÝ'ÊÅþ¡Õ|‰:¹¾Ü3á(ŠŠÍáBQTwÀÔ\­ú·Ò aøøúæ1ýÔ±³‡™Üïãã8y8‹®}ºµ·ï‡F„RyÞÁ/Xt=WŸ5– IDAT^Gþûó,Q ‚ ´ºï#Q'7ŽVÛc i´xB©¬¨Âhª½£ìlv!’W0ÿ‹w6ø|ð6xs23›¤Žm‘$ ‹Ù‚éÁ*¢nA„ëØË• ê¤Ù®ô®´Vô¼í öÿggs‘e™6‰ƒhÛ3ûVzɃ®} ø˜ºpxÿèt:´Þôù¤ŠAáòË^Jk õ6ÐgôS?è°ÚµT”ž'(Ĉ¹ÚLMµ‹î#î¡Cßß·ºmAáÚhõ=F é}ûSœÚ·‰#ŽG¯Û® ‚D‘ ‚ 7[`¤ÕùСÿ½tècl ‚ ¿z`$*HA°`rwQC‚ ‚ \V½·û× Œ~ §OgaB$ÀâÒ ‘­8d—¬A²Û°¢¢qÙp8Á)[ÐÈ`•%°Û¨q*x©vNgçó_N­DA„ÖegŸ (À@eU Õ5Õ(h‘eUvâ—ŠÓå@VeœNŠìÙ‰K—SÁérâr:qØ,xûX»æ]F޾›±'AAh]Qx°ee• 5žâ¢BdUFR%jùÙ)»Ðh4(ªJí`iEQP¨}(*§ƒ^½RøÓ ö¢ ‚ ­/0Òj½((8Gqq!?<™¢â"jjÌ8œÕNª‹ÌÔh+±9¬8.TUÁY© **’Q—„\©¢õ×pèP¾<2õ>ø`µØ“‚ ‚ ´®ÀH’T$­­É©%ûD.²ÖEaNR¼íÝ.›½pšðµT‚;«‘´*®O}Qµ2^“-(™^xýàªUÈÈ8,ö¢ ‚ ­/0r¸$.l§"sÆÿÒÔ8 4£žÖ‚ÝIòB­’ÐN®ÁU ¸$´ã-"#giðêêB#9qV^ï-ö¢ ‚ W…æZ®Ìå´¢‘(N[p j¨ ¢IÑ"}„dõmmðDò.=ÊNšN2ÚN ¶¯¼qåiÐ&(¨6ZTﺢ££‰ŽŽn´ú(]»v%66–®]»ò裒››ë1ß'Ÿ|Â!Ch×®C† aãÆ¢Å ‚ ‚Œ~Z™.¹v­Î|TƒªQἄZ¥¢eÔÚ0Ó‚š-¡5H¨Z5OB=+2jŠZ®âÄŹ‚ÂË*KUUãÆãí·ßæ`ïÞ½œ8q‚E‹áíÝx/Ôã?Ζ-[xöÙg9qâÏ=÷[¶lá±ÇsϳuëVfÏžÍСCÉÌÌdèС̚5‹;vˆV'‚ ­50Ú±c’$5ûÕØ¿Õ%áRÁ©µc= àu$YãB­–P¿ð¤‡«‘RK‘ÚºPó$¼ž®BÓÖ‰ú/Ö÷½‘ *rŽ„ýKŠjª«/kÃ.\ÈáÇùãÿȃ>ˆÑhÄ`00hÐ >øàƒF—=qâ&LÀ`00~üxNž<éžgÅŠ<üðà zè!TUeùòå¢Õ ‚ Bk Œ†ÊöíÛ eûöí¨ªZçuiúСCÌK’¸p€ îÈD[©‹iÖy¨Ò"+(©F”û" Ø…dÒ LÆk´Íí6¤ö.+ø=cG–AUì—ýûg[¶làî»ïnñ²#FŒ`Æ X­V6lØÀÈ‘#Ýóû¬ÅËîܹ¨;Æèûï¿wÏÓ£GòòòÈÏÏ÷˜.‚ B+Œ. Ž^~ùåEVEF‘m¨È5ÍW Ⱦ.Øk€]íÝh*HÞ Z$œ»¼°Ú­¨þ2Ž3àØ£Aõùé'C\—)íé§Ÿ¦S§N¼õÖ[¬Y³†êêj¬V+iii<ôÐC.Û©S' öv|«ÕʧŸ~ @çÎÝóLZû·+W®Äjµ²råJ$Iò¸sMA„ëËe=àqèСX, CË¢0ÙŽâTp¹h$ ZCíï¢©ŠŠ¢—QU­F‹N£C–edŒ;Iƒ¢(xéµ(Š‚FÒàÀQ{)­‰£úže”ŸŸÑhdóæÍ,_¾œ•+WòòË/ãp80™LtéÒ¥Ñ<—/_Î+¯¼Â믿Οþô'‚‚‚3f ùË_ÜóÜvÛmü÷ÿ7ÿøÇ?X½z5±±±¤¦¦2lØ0ÑêAáF Œ€E.Yƒ¿?>_jj,µ—Ì/v‡ SN§“Šó•xi5È.·7  I@EVdŒAA ‚Fª¿ÓëÂ¥«¦¶áÉ'ŸäÉ'ŸlÑvÄÆÆºoÇoÌøñãÝ—ÙAA¸£Ë‘}6c@ï,YL~þ)\ªÕåBQ8µÅl3ФEƒŒÃYû4H›Ýª„Kµ"ËNlÕ QQ‘Ø6TI{QA„ÖÝqç½üë_Ÿ#KÕ ú[6'vóylV;šâjBC‘²s°øVT˜‡-,›ÝFµÅJX»J´§(=BiuG²Oc1[Ä^A¡õF#GŽáà‘yô¡i iéÒ¥:o=ÑQm8{ ƒ¨˜œ•çqZ­ø…P¼Å!óÑGû©©t¢ÑĪªTWÕÔö& ‚ ‚ \šk½B­VKǤ^lÜø9AF#6« —ÃAÎ™ÓØ¬6ŠÏ_P„Ãé$?'—lC¯ñÂ)¹¨¨,¦¼&‡òŠóÍÃRyžÛn»MìEAA® ¯_c¥ þ¶½NäÿºY–PQjÇ )^¨²—Ó…Ã(*vÙ.;!²Ê”'Qc©äèáDÆ´¥{÷îÌ™3GìEAAZo`ôÒŸ^µög2>\³†eÿ³ŒÂÂ"ŠŠ kg¸d<õ…'[«*tïÖ »ÝÎÆÏ>£mÛ¶?Mƒ¯AAhÅ‘Þ[ïþÿþàþ¸ì¼$I{QA„«B#ª@AAF‚ ‚ ¼nÔ “e™-_máÛï¿¥g÷žÜs×=—õ´nAAD`ÔêýñÅ?RP^€o€/[vlaÛwÛxwñ»b ‚ ‚pãF²,“º,•=ö **<øI Iä倯¿/%y%lÞ²™O7ŠÅb¡c‡Ž<5ë)ŒFÑ AAn€1Fyõ/ì=º—à˜`‚cƒYúÞRÞýà]4zÏM«©©aùÊåB „LJs¦ð ÏüùÑAA¸1#§ÓÉÑãG1…›€Ú[÷£¢Øh?»ãâ|'••´íØ­V €1ÄHeM%eåe¢\e©©©L™2åº)Ottô5_ç®]»èÛ·¯{ÝM½oªŒ?ü0‹/ë:ók´­_s½‚ £ë\Qq²,ãr¹<¦Ç$ÅP^Tî~Ÿ}2›¤.Ih47WUU,f ç Ή‡D^E‹…+VðÒK/ÝÔõð׿þ•W_}•üüüf½oÊ‹/¾Èòå˱Z­¢‘ ‚ ˆÀ¨®7Þ~ƒ9/ÌÁÛ×›cŽqdߪÎW óÖáíãÕb­ýy»ÿ@ì6;'ŸàðžÃè :^ýû«Lr:Š¢\Ö™YVVS§N¥K—.´k׎ѣGóÅ_48ÿ©S§¸ï¾ûHJJ"))‰ûî»S§NylóçϧS§NtîÜ™ ´(p‹ŽŽv¿Ú·oϽ÷Þˉ'êÌ·téRbccYºti½y 6¬ÎzUUeèСÖÉ–-[èß¿?ñññîiÛ¶mcâĉ$$$Ð¥KfΜIiii³·ùJÓ MmÓ±cǸõÖ[›ý¾)‰‰‰ôéÓ‡¯¿þú¦ì•ièÕZüÒÇ}KêR„00Ê?—Ïž{ˆlI›¶mèÚ§+ºv  ·€ã‡Ž#Ë2Ñí¢)È- (¿ˆ6±mÈ;“ljÃ'ˆiC·¾ÝˆIˆ!<6œJ[%_üë‹—ãôéÓŒ?ž!C†ðÝwßqüøqæÏŸÏ¦M›\fúôéôéÓ‡½{÷²wï^zõêÅO<áN_³f iiilÛ¶­[·²k×.Ö®]Û²úÉÏ'??Ÿ½{÷2`ÀfΜ鑮( «V­bÞ¼y¬^½ºÞ Ð`0ðÍ7ßxLûꫯðõõmtÝß|ó £Gö˜öÎ;ï0mÚ4:ÄŽ; lÑ6_iú/¡©m²Ûíètºf¿oŽ»îºë¦ Œ.´ç ½k?ß\‹ã^„›80Ê<–‰V¯õ˜¦óÖ‘Ü=™ÈèH¥B–eŠ ŠÉËÎÃKçÅ‘}G4ÝútÃ×ßóËÝ7Зý÷·¸ .dÆŒLž<™àà`ôz=)))¬X±¢Ñ¦™3gb41Ìž=›¬¬,wú† xî¹çˆŒŒ$22’çž{Žõë×_V=2}úô:=F[·n%((ˆ)S¦`2™Ø¶m[eŸxâ‰:½IK–,aÆŒ®óàÁƒôîÝÛcÚÚµk¹õÖ[ñóó#44”—^z‰ôôôfo󕦬ZµŠ~ýúѶm[FŽÉáǯ¨ 6¶M—Žº´g£¡÷Í-cJJ û÷ïŸZ—ÈÉÉᡇ¢}ûöÄÇÇsÿý÷{ôÜEGG³téRºwïNRRO=õv»Ý.Ë2 , [·n$&&2}útjjj.«—Åét2wî\ºuëF§NøŸÿùŸkrÜgddлwoÞ}÷ÝFËÑP»áŒâPåú»™ÁF’»'“ñc¡¡Ä%Æq`×Â"Èn[ÿ‡Íl£s§Î-.ÇÎ;¹ë®»Z´ÌðáÃY²d UUUTVV²dÉn»í6wúñãÇéÑ£‡û}÷îÝ9~üøeÕSUUK—.¥K—.Ó?øàzè!&OžÌÊ•+ë,;fÌJKKÝ_ö?üðÜqÇ®³¤¤„ˆˆˆFçùöÛo=‚§¦¶ùJÓ¡v°ó¦M›ÈÌÌdÔ¨Q<ûì³WµM^ºM õl4ô¾¹eŒŠŠ¢¨¨H|j]bòäÉL:•ŒŒ Ýc{}TUÅË«áfuøða^~ùe>üðÃfoó•¦,X°“©öîÅéÓ§óü㪵Çú¶érü’e¼Qmß¾Ýý¿Á`àù矧_¿~u޹ÐÐP÷ÿ'Nä…^p÷üýóŸÿ$** €?ÿùÏ >œ×^{ͽ|sƒˆ?þ˜uëÖ¹óš7oÞ/zÜ¿ÿþû,Z´ˆÕ«WÓ³gÏf•C„´Çà¿ÿÈP}¾šà°`’»'Ó±GG:öèHÛ¤¶¸œ.d—Œªª˜kÌ„G…ÓµwWºõíF×Þ]iۛņµÚÊ£=Úâñ&“‰²²–Ýî?gÎ&L˜ÀÑ£G9zô(ãÇçÉ'Ÿt§ûùùa6›Ýïkjjð÷÷oÑ:òóóÉËËãûï¿'!!Áã’̪U«(//'11‘èèh)//gÕªUuò™0aà³Ï>#33“ñãÇ7¹îððp3åKýðÃL™2…eË–‘˜˜Øìm¾Òô ûêÒ/PY– ,›{¹¡¡mºM•ñܹs„‡‡‹O­K¤§§3nÜ8’’’ˆŽŽ&))‰ŠŠ y. øãââ(..v¿/,,tßPMÏž=[|L_PTTDÛ¶m¯ÙqÿÎ;ï0a ¨©r‚pFÏÏ}žà˜`â“ã 0 I’;-8,¸öŒêí÷Yºšüì|bãcÝé’$áëïKlB,qãxõ­W©8_Ñâ2 <¸Ñ;Ðê³{÷nfÏží1Ö`÷îÝîôääd<è~Ÿ‘‘Arrr‹Ë&IíÚµcÑ¢E<ÿüóÔÔÔ`³ÙX¿~=iii—uvíÚźuë°ÙlyèõzyäfÏžÍÔ©SÑëõM®·GìÛ·¯ÎôM›61sæLV¬XA¯^½<ÒšÚæ+Mo©æîml›~ ûöí»&ëiM¦M›ÆÃ?̾}ûÈËËãØ±cuîæÊÍÍuÿöìYÂÂÂÜï#""سgÇ>ÏËË»¬²DDD““sÍŽûO>ù„/¾ø¢ÎXÀÆÊ! 9¬6+zŸú¿¨O;Mhd(^^^¨ªJû.íÉ:šUo/F£Á'À‡3ÙgZ\ާŸ~šÅ‹³fÍ***°Ûíìß¿ŸG}´Áe:tèÀâÅ‹©¬¬¤²²’E‹y|Ž?ž7ß|“ÂÂB yóÍ7™8qbæŠŠŠ¢_¿~lܸ‘M›6‘’’Blll3ê=zxtí_0sæLrss›t}Áˆ#êä³|ùræÏŸÏºuë<ÆQ4w›¯4ý—ÐÔ6ý6oÞ̈#ħÖ%l6>>>èõzrssë;6oÞ<ÊÊÊ(++cîܹÜ}÷Ýî´I“&ñì³Ï’Ëå"33“éÓ§_Öñ6aÂ^|ñEÎ;Gee%/¿üò/zÜGEEñÉ'ŸðÑG±hÑ¢f•#00Ðcз 7H`äííV£­s›¹Ål!ãÇ üý‰Œ‰Äl$¬M>¾>Ä&ÄrtÿQ*Ë+ëäg7ÛIˆOhp} =?%!!õë׳mÛ6Hrr2/¼ðcÇŽm0¯Å‹“––FJJ )))¤§§{<ÑxÒ¤Iôë×[n¹…[n¹…þýûsß}÷¹ÓÓÓÓéÛ·o‹êëþûïçÃ?dåÊ•Lž<¹Þy|ðÁza·Ô˜1cHOOçÌ™‹æ+¯¼B~~>Æ ó¨Ã —šÚæ+Mÿ%4µMWÛéÓ§Ù³g£FŸZ—X¸p!sçÎ%))‰ &Ô{l\hýû÷Çd2ñÌ3Ïxþýúõcâĉ$&&2cƌˮ㧞zŠöíÛ3bÄ àÈ\éqßÈÈH>þøc>þøcÞ~ûí&Ë1mÚ4F-îJ„FH³ž˜¦¦.YFyY©G›6òà”G¯Û‚ïܵ“·RßÂfÄawPRX‚F£!>9½žS™§ˆˆŽ@ç­#ûd6ÉÝ’Q…œ¬ÌÕfBÂCðõóÅZmeØ€aÌxlF«Øa&LàÉ'ŸdРA×m-ZÄþýûyï½÷Äv•L™2…”””:Ϥ-îÀ„Ȫ÷VpçØ‹½¾sR¿æžß¤ÊâBVTEù鯊ÍáBQÔ:ÓMÞìNÛÅÛ³GzäŸw–ï¼Ó:ïJ<`0±Ñ±<6û1L‘&;%º/­É²Œ¹Úì~Úµ$IØmvô>zâ;Ä#Ë2¥æòÆ+oЫGë·±aÆ뾌³fÍGïU&‚LA„k£UÿVZT›(üüý‹ óo”*SèÅ;|âãÈ:rñººV«%4"Sˆ‰ˆðÑ AAhý‘N§#*"Êýi%ù%ÄDÆx<ÝÚÇàƒÞ '7+×}ÇŠÅlAï¥'ªM”h‚pƒ—ÑA¸©#€7^y£ÎHáéBòOæ3rÈHfO›âð˜d bÔ°QäŸÌ§ðt!ÞNoÞ~ýmÑAApójíàççGê[©ÓTUÅ×Û—óeç11W›ÁOyœéS§‹½.‚ B½47âFI’Ä¢·‘’œBiv)q!q¤¾•ÚäÏY‚ ‚psóºQ7ÌÏÏ93çˆ=,‚ B³‰.AA ‚ ‚ xºa/¥É²Ì–¯¶ðí÷ßÒ³{Oî¹ë ƒØã‚ ‚ Ü|Ñ_ü#åøø²eǶ}·w¿+ö¸ ‚ 7n`$Ë2©ËRÙs`ª¢òȃ”D~Q>áqáøúûR’WÂæ-›ùtó§X,:vèÈS³žÂh­@Aàcô—WÿÂÞ£{ Ž &86˜¥ï-åÝÞE£÷Ü´šš–¯\Ž!Ô@x|8g ÏðÌŸŸ-@A„#0r:=~Sxíï¢I’DTBûíÇaw\œÏᤲ¢’¶Û¢Õj0†©¬©¤¬¼L´‚«,55•)S¦\7å‰ŽŽ¾æëܵk}ûöu¯»©÷M•ñá‡fñâÅ¢q]‡ûZ]7ŠŠ‹e—Ëå1=&)†ò¢r÷ûì“Ù$uIòxÀ£ªªXÌΜsÿ~špå, +V¬à¥—^º©ëá¯ý+¯¾úªû·ºšzß”_|‘åË—cµZE#AQ]o¼ýs^˜ƒ·¯7ÇãȾ#î“ÕyëðöñÆj±ârºpØøú`·Ù9qø‡÷FgÐñêß_eú“ÓQå²Î@³²²˜:u*]ºt¡]»vŒ=š/¾ø¢ÁùO:Å}÷ÝGRRIIIÜwß}œ:uÊ#`›?>:u¢sçÎ,X° E[tt´ûÕ¾}{î½÷^Nœ8Qg¾¥K—ËÒ¥KëÍcذauÖ«ª*C‡m´N¶lÙBÿþý‰wOÛ¶m'N$!!.]º0sæLJKK›½ÍWšþKõLüü•œœìN?vì·Þzk³ß7%11‘>}úðõ×_ß´VÇŽã }ûö´oßžx€ÌÌÌ_­<õµ /AD`tMåŸËgÏ=D¶‹¤MÛ6tíÓ•];P[ÀñCÇ‘e™èvÑäP”_D›Ø6äÉãÄáÄ´‹¡[ßnÄ$ÄN¥­’/þõE‹ËqúôiÆÏ!Cøî»ï8~ü8óçÏgÓ¦M .3}útúôéÃÞ½{Ù»w/½zõâ‰'žp§¯Y³†´´4¶mÛÆÖ­[Ùµkk×®mYýä瓟ŸÏÞ½{0`3gÎôHW…U«V1oÞœ×^{­Eåݾ}»ûƒÁÀóÏ?O¿~ýê|„††ºÿŸ8q"/¼ðÂU-‡ 7IÀ~ÿ¡ú|5ÁaÁ$wO¦cŽtìÑ‘¶Imq9]È.UU1ט §kï®tëÛ®½»Ò&¶ 6‹ kµ•Gz´Åã=L&ee-»ÝΜ9L˜0£GrôèQÆÏ“O>éN÷óóÃl6»ß×ÔÔàïïߢuäçç“——Ç÷ßOBB‚Ç¥‚U«VQ^^Nbb"ÑÑÑ$&&R^^ΪU«êä3aÂ8ÀgŸ}Fff&ãÇorÝáááÔ›öÃ?0eÊ–-[Fbbb³·ùJÓ/ì«K¿¨dYn4°lî ÚÍ›7“˜˜Hûöí¯¸M7UÆsçÎ~S~P™L&JJJêL/))!88¸EõØXzaa¡ûƒèèhzöìÙâc ==qãÆ‘””Dtt4IIITTTxÌsé‰H\\ÅÅÅW½‚ ÜDÑósŸ'8&˜øäxŒH’äN «ý |ÿí÷Yºšüì|bãcÝé’$áëïKlB,qãxõ­W©8_Ñâ2 <¸Ñ;Ðê³{÷nfÏží1Æh÷îÝîôääd<è~Ÿ‘‘áq·SsI’D»víX´hÏ?ÿ<555Øl6Ö¯_OZZšÇe]»v±nÝ:l6›Gz½žGy„Ù³g3uêTôz}“ëíÑ£ûöí«3}Ó¦MÌœ9“+VЫW/´¦¶ùJÓ[ª%ƒh›3îêjÙ·o_º»Y 2„7Ö™¾qãF|ÕÖÁž={<Ú@^^^‹ó™6m?ü0ûöí#//cÇŽÕ¹S277×ýÿÙ³g=zÄ®V9A¸I#‡ÃÕfEïSÿõéc§ ÅËË UUiߥ=YG³êí%Ðh4øøp&»åw¶<ýôÓ,^¼˜5kÖPQQÝngÿþý<úè£ .Ó¡C/^Lee%•••,Z´ÈãK|üøñ¼ùæ›RXXÈ›o¾Éĉëôh4WTTýúõcãÆlÚ´‰””bcc뜹öèÑÃã’Û3gÎ$77·Ù_þ#FŒ¨“ÏòåË™?>ëÖ­ó ÔÜm¾Òô_Êþó }ûö½&í~óæÍŒ1â¦ü š3gË–-cõêÕTWWS]]Íš5kX¶lsæÌ¹jë™4iÏ>û,ÙÙÙ¸\.233™>}z‹ó±Ùløøø ×ëÉÍÍ­wLÛ¼yó(++£¬¬Œ¹sçzŒ¡ºZåá& Œ¼½½Ñj´un3·˜-dü˜ ?‘1‘ƒ„µ ÃÇׇ؄XŽî?Jeyeüìf; ñ ®¯¡ç”$$$°~ýz¶mÛÆÀINNæ…^`ìØ± æµxñbÒÒÒHII!%%…ôôt'Oš4‰~ýúqË-·pË-·Ð¿î»ï>wzzzz‹¿ˆï¿ÿ~>üðCV®\ÉäÉ“ëçÁ¬wvK3†ôôt[¨_yåòóó6l˜G^¸üÕÔ6_iú/eÑ¢Eø%>}š={ö0jÔ¨›òƒ*))‰uëÖñå—_Ò«W/zõêÅ–-[øè£<.Ë^©™3gÒ¯_?&NœHbb"3f̸¬:_¸p!sçÎ%))‰ &Ô{Ì^h³ýû÷Çd2ñÌ3Ï\õr‚ÐrÒ¬'¦©©K–Q^Vê‘ðŦ<8åÑë¶à;wíä­Ô·0†qØ”– ÑhˆOŽGï£çTæ)"¢#ÐyëÈ>™Mr·dE!'+sµ™ð|ý|±V[6`3›Ñ*vØ„ xòÉ'4hÐu[ÆE‹±ÿþ«2 Y¨5eÊRRRê<“Jh¢££ÅóŽá2¬zowŽ½Ø»:'õkîùÝHª,.dEEQ”ŸþªØ.E­3ÝàÍî´]¼={¤GÞùygYñÎ;­ó®4€ÁËc³Ãi"±S¢ûÒš,˘«Íî§]K’„ÝfGï£'¾C<²,SQZAaN!o¼ò½z´žq6l¸îË8kÖ,qô^e"ÈA¸6Zõo¥Eµ‰ÂÏß°È0ñFù§ò1…^¼ó$.1ެ#¢¨Õj Åb""sîÂô¦~IÓ«µWƯ¼ÁósŸ§àt²,sçíw2è7ƒxùÍ—=æ 2ñÛþ¿åë­_ãååEhp(o¾þ¦hM‚ ‚Њ}ºùêþ†d«ŒüüüH}+Õcšªªøzûr¾ì<Æ`#æj3¸àñ)3}ª¸åUAn·µ5Ó­{tÞÞhµÚf/—¾;­Á4ÍXQ’$±è­E¤$§Pš]J\H©o¥6ùs‚ ‚ ÜܼnÔ óóócÎÌ9b ‚ ‚Ðl¢ EAAF‚ ‚ ž®ù¥´Ó§ŽaB¥v,ÅæD£‘p:edYÁáp «*ªË†Ó ²lE’ÁâRÁåÀátár¹ÈÉÉáþÉ‹=(‚ Bë Œ²³O` ²ªšš3òOêVU§Ó…ª‚ÝáUÆåt!Ë.TÙ‰KÖàt9PU«Õ†ìráãc`íš÷¹}ô]‡„ˆ=)‚ Bë ŒÂL¾”•U0âŽñœ;WµýFh4Pû`&©¶+ UQQY­ý¡XUQÝN'½Sz2cú#ø‹½(‚ Bë Œ´Z/ )**á‘)“())Æb±a·ÛqØTU×Pc®Áa·ãp8pÉ2ªZ)²‚¢(HRmuàà!üyô±ÇX¹ò±'AAh]‘F$ :/Þ-Y§rÐJŠŠ‹PUÐh48œdWm@$Ë2*µ—Ú.ô¹\.TUÅÇG*IÊ8$ö¢ ‚ W'V¹–+³;eœ.‡ÓNqYv›‚ÂBªª«)//Çf³q¾âùä† B»ví2d7nlr?·}ûvxà’““‰‹‹£o߾̙3‡sçΉ–(‚ 7[`ärºp:eü|}Ù»gÇçÓO?åìÙ³  yóÍ7IIIá/ù 6›ÐÐPdY&®mC‡%::š¶mÛ¢ÑHØ ùiÌÑÏåçç×y½ôÒK„……Õ;oC¶nÝÊìÙ³:t(™™™ :”Y³f±cÇŽåó¿ÿû¿<þøã8p€ŒŒ &NœÈúõë™2eŠh‰‚ ‚У;v IR³_?þ{wE•ï}üSUÝ餳/„aЫ(È6¢¸ Ž¸€ëˆ ˆ22£€È\xTæ*²HTq. ¨<\QôÊŒF@ö%„%@BBÙºÓKUÝ? -! càïýz•˜®ªSÝçT¨/uNö Fº¸\.Ž*îºë.JJJ8zô(ëÖ­#$$„¢¢"¬V+EEE¼ÿþû4mÎ×k¾fåÊ•äææ²ÿ~ ÃÀë­âÀCõú K—.åÅ_$<<œ¥K—6¨’æÏŸÀÿøG‚‚‚xä‘G0M“yóæ5¨œE‹Ñ«W/‚‚‚ˆˆˆàÉ'Ÿ ;;[ÎD!„¢)£Þ½{óõ×_Ã×_]=úgËÙë{÷î}þƒ© ^]Çb±°}ûv&NœÈ„ °ÛíØívt]'88ǃÝn <<Ó4±Û¹ýöÛiÙ²%mÚ´Á4MTÝÐëüŸ}öãÆ#((ˆE‹Ѿ}ûUÒÖ­[|Ýc§ÿܶmÛW¼ÓédáÂ…ÜrË-r& !„—€z=•Ö»wo–/_ÎàÁƒY¾|¹_øÉÌ̬ñõÀËÇ㡬´”I“&±fÍî¼óN>ýôSBBB ''‡>}úøº¤, n·›Aƒd Â0 JKObU^“ê¹Î/33“Ñ£Gc±Xx÷ÝwéÞ½{ƒ+©¬¬ ›Íæ÷giiéUúÙã’““?~¼œ‰B!Ä% ÞcŒÎG§»ËŠÐÝ^7ªª±ñ»„††rï½÷Ë|@dd$>ú(Ï>û,Ç'66–Í›7³{Ïn–-]Fç.Y¸p!GŽäb¦ï?5ûá‡6lº®3gή¿þú ª¤°°0 º ðì?O¿ÞPyyyìÙ³‡qãÆqøðaF-g¢BÑ”‚ÑÏÃÑ /¼Ð°P¸Ý^t4‹Æ¶­[yøá‡¹ï¾ûX²d •••„……qË-· ( ‹…­[·²iÓ&¢££;v,kÖ¬©îf3MÜÏysÑîÝ»y衇¨ªªbúôé 8ð‚+©K—.äææú‚ÍÙ¯_ˆÐÐPFŽ ü{]rB!„ø•‚ÑÙáhòäÉ E@õW|x]xuÍb!®Eq-âÐ ˆˆTUE×u’’’|ã—,V †aàp8 Âf³¡ë:†Q=—Ñù 2„ÒÒR¦L™Â½÷ÞûoUÒc=À{gÓéä½÷ÞCQFŒÑ rzè!Ö¯_Ó餼¼œ9sæpõÕWË™(„B\.hæëÞ½{û‚JC˜ºÝc`ê:ªªâõz}_óáÕ«g´Ö4 UQ1Ã4p:œ(T?ñfš&ªªrz\‘¡PóÓú¾§Ú&OžÌäÉ“ÏYöcõ5Íktö6ýû÷göìÙ¼öÚk,Z´ˆ¤¤$222èÓ§Oû¯œx€3f°eË à 11‘áÇ3vìX9…Bˆ¦Œ€‡¢ê £Š=ØNyE%§ ™˜(Š‚Ûí&*2 ·ÇCII «ÛC€Í ¦‚¦ix=@!"*óT`ªImó ]ȶƒfðàÁÿV9 `À€rÖ !„—[0ºŽ&24”¹³8š¯×ƒašÕㅪܨ UNºi€ n SÑp¹LLÓƒ‚ ¯W§¢¬Š„ø Ýs¾FB!„—v0ºõ¶»YõùJtÕÉõ=¯Ååváp8pW”ã.)Ńwft3LSÁv4—Òæ-NMé¡Yj„ìáø¶nœ<Á¶}û¨t8¤…BÑô‚ÀÀoeëÎMŒ6hß6kPñ ‰ùa ‰É xÆíª"("Š‚-Û°Z5t¯—>ÜNéI–€8M…ò²2§´¢B!~êÅ> ¦i´Oû-_AHX$— ÛÅ¡ƒp¹ªÈÏ=Ê‘£Gñz½äçÄëuc1<†AIY%¹?q’üC‡¨,)á÷¿ÿ½´¢B!~–_ã /ÏøZÜ7Ýô¢º¡V?kf¸ðxt<Ó0ðx<膎£ªŠ‡‡¡ÜUÅŽm»HHL¦K—.<ýôÓÒŠB!„hºÁhâ¸ç›-€%K3oÞ< )(,@ÁSÁäÔ“ø ˜¦Éµ=®¥Ê墬¬Œ?þ˜ääd zB!D“ F§¿k àþûàþû¸à²Î÷¸¾B!DC©RB!„Œ„B!üX.צë:Ÿ¯þœoÖC×Î]ùà?\ÐlÝB!„`Ôä=;éYòOäcµóyæç¬Y»†wÞxGZ\!„—o0ÒuŒ¹ü°åLÃdØCÃHk•F^a±É±ØCìåñé矲âÓ8ÚµmÇŸŸú3áaár!„¸ ÆýçKÿÉ»~$*1Ѝ¤(æ¼;‡wþþªÍÿ£UTT0ï½yÅ›ËÁ‚ƒ<3ñ9„Bqy#Çî¬]DÆFÕîÇ·Šgóö͸]î3Û¹=”–”Ò²]K4M <:œÒŠRŠOËY „Bˆ¦Œ ¢ë:^¯×ïõÄ´DNžðýœ“CZÇ4TõÌÇ5MG¥ƒ£ùGe’H!„B4í`ôʬWûüXììÙ²‡?í¤ìdÖ+8N¼/n—›°\U.öîØËŽv` ²òÒÌ—õô( èñ8‰‰‰¤¤¤––F»víèÔ©]»v¥[·n¾Ù·OKHHð-?gš&S§N¥}ûötèпýíoç²ÚöÿꫯøÃþ@jj*;vdÔ¨Qäçç×»¾j*³6ûöíã±Ç£cÇŽ¤¤¤0pà@V­ZUã{m×®?þ8ÅÅÅ~ëûôésÎg4M“Þ½{7øý!„ŒÎ#ïh?lù¸”8Z´lA§+;ѶS[ò瓵= ]×IHI ÿp>…y…´Hj@îÁ\öîØKbJ"W\u‰­‰MŠ¥´ª”Uÿ»ªÆcåææ’““þ}ûسg;vì`óæÍôíÛ—™3gú¿¯¼<òòòj,gñâÅlܸ‘5kÖð¯ý‹ 6°téÒzïÿÖ[o1|øp¶lÙÂwß}ç #áÀ <˜^½z±víZ²²²˜:u*+W®¬ñý®[·Ž€€Æç·>((ˆþóŸ~¯­^½»Ý.¿yB!$ýRvïÙfÓü^³XIïœN\Bۿߎ®ëË?FnN.«…?íDQ®¸ò ì!þf{˜Í[7×ûø“&M¢C‡ <¸Þû|ôÑGŒ?ž¸¸8âââ?~<~øaƒö8p ááá„„„0bÄvìØÑ(õ;cÆ FÍÃ?LTT6›nݺ1þü·‰‰á…^ 33Óïõ'žx‚9sæø½öæ›o2zôhùÍB!Áè—Ò*µ¦^ó¸ ð¨pÒ;§³mÓ6bšÇÜ:™-¶Ð,® -kª¬¢Cûõ:öÔ©S‰ŽŽfذa zÏYYYtéÒÅ÷sçÎÉÊʺ Ïïp8X°`={öl”ú]·nƒ jÐ>5}gÝ-·ÜÂñãÇùþûïøöÛo)))áæ›o–ß§k«¦íj{í|Ýv%%%DGG×û=óâ‹/rýõ×û§nUeäȑ̙3‡… òÆo0jÔ(¿AðB!Ä…ÊË/ /¿@‚À}wÝÇwßGùÉrbâbiâ»kq¢èûwïG÷ꨚJeE%±ñ±¤¶Mª;++F¯Ò7zV«µÖãÍŸ?Ÿœœ^{íµ z¿ÁÁÁTVV TÏ«Òð“ /òòrÞyçþüç?ó?ÿó?çÝîç¡è|Aèç"##)..¦yóæõ i!!!\ýõ¼òÊ+çls÷Ýw3cÆ >þøcvïÞÍÂ… å7Y!Ä/füsÏcšæ™Å0ªÿÄÄëñžzÝð­//+cñâE—_0znÊsD%Fa ´³.ªYûwïgᬅà¨tpMßk|ëEÁbÇbÇ0 ^zõ%Î]HdDdÇZ²d 6làí·ß®±Ë¨>ÒÓÓÙºu«¯ûkÛ¶m¤§§_PY¡¡¡Œ9’ŒŒŒF©Ûž={²jÕª:» ë´l6Æ c̘1Œ?›Í&¿ÅB!~Q†a`æ©? ÃÀ4 \.×9ëêÒ$û4Ün7Î*g¡àÀžÄÄÅ`±X0M“6Û°o×>t]?·T•ÀÐ@欱¬+VðÉ'Ÿ0gÎ,– Ï‘ƒfÚ´iPPPÀ´iÓ¸çž{ê½ÿ˜1cÈÎÎÆëõrìØ1¦M›F÷îÝ¥~ÿò—¿ðÆo°xñbJJJp¹\lÞ¼™áÇ_PyO>ù$‡–A×B!.yMòŽQ@@šªa†ßxG¥ƒ};÷—GhD(^[ @{ I­’صyÉ­’ òÿ~4W¥‹V©­j<ÖÓO?®ë´nݺλ&gá9ýÿ§×?øàƒ>|˜¾}ûðÀ0dÈ¿²jÛÿ†n`Ô¨QìÝ»—ˆˆúõëÇ[o½Õ(õÛªU+>üðC^~ùe¦NŠÓé¤C‡<ñÄò#„B‚Ñ¥h̨1¼šñ*áÍÂq»Ü¡ª*éÓ±ÚØ¿{?-’Z` °’“CúétìÖ‘Cûqäà¢c£±Ûq–;ù}ïßQãq>\ï÷T[×’¢(Lš4‰I“&]Ðþ·Ýv·ÝvÛ×W}ÇÖ¦M,XpÁåý»ë…Bˆ†úxåJz^wg®é%%%¬_¿ž7ÝT¯2šìãA={ô$ã• ‚­Û·¦]—vØmèºNey%!a!Øm(Š‚«Ê…ªª¤¶M¥}×öX¬*`âÓ=Bºx„Bˆ¦îÿø· ĉ'|¡èž{ïã_ÿZSï2šôsÓñ-â  ¦Y\3¿ñFyûóˆŒ93:¹u2ûvîóý¬i1ÍcˆŒŽ¤yls9“„BˆËÀ¯¿NçÎéׯ“þúWn¼i :vdÚ´W~ÁÈjµß<Þ÷iEyE$Æ%úÍnˆ-ÈÆá}‡}ßÝå¨t`³Øˆo/g’BqPU•7ßxƒk¯»ŽŒŒ×éÑ£3fLoÐüyM~¦½W^x…pk8 ÈËÎc@¯Œ9ÃíÿH^Dx7õ¹‰¼ì< à `Ö˳ä,B!.³pôÆë¯óÖÜ9Ìš9£Á“ [šz“ñªÿ|>¦ib°s²ø$áQáT–W‚ôqF=6JÎ!„â2GC‡õÍcÔ }/Ç Q…×_}néÝ8žsœäèd2^ͯ¢B!.³ë½ÛínÐ>^¯·ÖÉš-—ke3öɱrÖ!„—)«ÅÂÎÛèÜåwõÞg×®íXk™°Yn¡!„¢Iºñ¦›Ù¸aÙ{³ðz½µnk……ä俯›n>ïvµÞ1úïwçK­ !„â’ŸOk¯åÛõëYõé'5~õ×iš¦Mk¯%>!¾áÁèÖÛï”B!Ä%-%%•””Ô_¬<éJB!„`$„B!ÁH!„¢F©!„h<¦ib:¦n`œúJ"qiRP4UÕjëFÚ¶i¶¯¦©¨šE‚‘BüZ¡H÷zÉ=r„];wr¢ä„TÊ%LÓTÂBÃIoߎ–-S°X­ç GÒ¶M‹ªª„‡…Ó®}{’Z¶$ @‚‘B\l†aPp¬€Í[~¢wŸ~¤¤¶BÓ4©˜K”®ëìߟͺo2Ñ,II-±œg"@iۦ׶÷g“™YݶÉÉ-QÏÓ^Œ„¢‘˜ºÎö-ÛèÓ÷÷´jÝZ*ä§im۶êYÙ°~q±qç FÒ¶M¯mÓÚ¶C³XÙ°nÍc›\ã¶2øZ!+'O–Ð2%E*£ ILNædéI¼ºWÚörkÛ¤dN––à©e–l FBÑXÁÈ4Ñu]ºXš«ÕŠ®ë˜µ ¨–¶mÊmk`šÆy·‘®4!„¸H!©¡ŽoÜÈÑÏ>£xm&%[·áq8QT•ˆöéD÷ìEó¾ýH¼ã¨ãé)ѸmfÊi— FBq‰ñVV²yìÓä-ÿˆ¤ä’cøâ–+ Š ÇSé¤ìØ J¾û';>^NÖôi\³d)ÁÒ¥#`Ù—ÛÈøp^ÃÓÄ4Á¤:àÝxu[¦>~ƒ#!„¿¾cß|Æ¡CˆÑèuóUXõ*Tg;‡Ê±Ú‰#ªu­º¶!gË^¾èÒ™.¯L#mäH©@QwðÖ f.[Ï‹#úhC7¼&”9¼ü×»ÿ+ÁH!į¯lï^ÖÞv+;%Ñ,%óð^LG X4MAQW)¦³C71,A¤´mGL‹h~üE &õÁ¥"Å9²s‹i…ª*¾®¿ðà@2·Æm(¸¼àÒúwMâ·Þ3(ÁH!™išuŽC1 ƒ ÷ÞCZj,QÍBñîü‹j¢ZTMA=ŽPÀЫË2ÝNô]?—J—.)|?æ)š÷ëGP|ü…],¼µ<­S×ú_üu‘×XmûkûטüΗ¬;âÌ{5M <¸½&<^¨r{På7=nJžJBˆKÀžéÓáX>ñ©-ðîÏB1 TT 4‹‚v:(©§î )`æ 8ÄFrB$ß=$wŒ„/û0wÅ&fø-N×™€y:ø&x Ð ð º'KËóõ&ÁH!~e†ËÅŽ)SHo~ôxÜÏ\ŠýíÕë¿Cd,¶y_øÊû¾—ôƒ{iÙ6‰òí[)Z»ö¼Çš>}:6›éÓ§KÅ_ÆUþôÚgü¸·€±ô÷_©TÏÃd˜ÕaÈ­Cye¦»œŽ)15–·ÎüOç IDATcÇn½õV"""ˆˆˆàÖ[oeûöí~Ûü|2ÌíÛ·“””ÄÌ™3›TÝIWšB4ú¿Ükïn)Ù¶À;ö ô#YX¬Õÿ¢Wcâ°\qêëŸãúÓ-è¥E‹eÖ*Ô–m1¶| fõÓáGQavŽoÜHLÏžç0Ã`Þ¼y̘1ƒŒŒ ÆŽ‹ªªç¼×º>ËÅ®»¦Ü¶¿†¼¢2žœ¹Šv­Ô/›µz®¥+ã·ÝØYŸ i 7\Õ† öãxiÅ9õ¾oß> À”)SX²d |ð7Þx#™™™¤¥¥Ó^7ndðàÁ¼úê« 2¤IuÍÉ#!„ø••üø#¡v†Ãià[JŸºý`jJ[l³?ÛÔΊôœ,*Ç=€a˜˜§£¼‚P»•âµßÔxœ/¾ø‚ÈÈHFMTT«W¯>g›éÓ§“@xx8ÇÇårÕ{½ÕjeöìÙ¤¦¦ú¾¤S×užþyâãã ãþûï§¼üLwÇãá™gž¡E‹4kÖŒY³fùïí·ß&-- »ÝÎUW]Å–-[|ëê*ÛjµÖºÿåhÓ®\~i×vëÀu¿kKv~&ðæ„{˜7ñüõ^M¹—§eå+ð×þÈÚ¹3yX?*œ.tÝ@UýçÅzñÅ;v,Ç',,Œ°°0†Îرcy饗Îy_~ù%wß}7ÿûß2dH“«C FBñ+;¾nv‹‚^Q^p C7Ñ‹ (6ÐŽ‚dúBQňèÇŽaè`§–Ê ì!vNüøcÇyë­·5j#GŽdîܹçl³víZ6oÞLvv6………L™2¥Aë7mÚĦM›p»«»_~ùe~úé'6mÚD^^AAA<÷Üs¾í_xávíÚÅ÷ßOvv6¹¹¹~åeff’™™IQQ·ß~»ïý×§ìºö¿Ü,^½•ÿ|g w¼Žøæ1ì;Za˜ì:\JVn){sKÉÎ;ɾ£¥ìÍ-aï‘bvåPP\NQIY‡ 1MP~6aèW_}UcÀ2d_}õ•ßk+V¬`Ĉ¬\¹’þýû7ÉzTžzb¤™ñæ\N—¿„âäv¹øðƒeŒót­] _÷íKDþA¢mÀÉ"ß kÍ¢ ZÀšÞ‰ˆekQl˜n¥C{¡ïÝY†¼&ú©Å°ãIàû÷2¸²Òï gÏž8p€ÀÀ@ªªªhÕªëׯ'55Õw‡e÷îݾ®‘ììl ÀÁƒë½þСCÄŸõT\ZZŸ}öéééÒ½{w_JMMeõêÕ´mÛöœz±Z­€Ãá ::§ÓY¯²ëÚ¿6s^ŸÍmƒùoµíÅ2qÞ—ìÍ+ãÖ¾WRá2(­ô`P P±Y¬*XT°h&š‚Uƒ€SKJ|U%'¿˜ˆP;cf®âËŒG}eRQQqÎ"¯×Khh¨¯>­V+‹…÷ߟ;ï¼ó’ý½<_ÛæåaþÛoË#!„hlºî­õ±óˆ=¨XœETp¦nV?¦ ¨1q„N_ä EJ€i‹8ùÈMè……Õw–ôê;L¦ÕFEi9amÛàvûwÍ™3‡¢¢"BCCÏy}êÔ3Ý! ñ¾}â)((ð+«®õ11Ñ~?çååÑ©S'ÿ‘+Šo›üü|Îy¿§…„ûÖY,^¯×÷s]e×µÿÅhÛ‹¥Êí À£›¸u‹®bºuJ+½(˜XT“ «B U!Ъúþß4LP!Ðf¥ ¸œ–q~uEnî¿À pôèQ¢£ýÛûõ×39r$ááaô¬aœ[S ]iBÑÈLóÌ Ýš–ˆîÝ©ÐÁ´Úª'nÔ«ï™±Dþ÷XZ¥ãÝŸEñ]=ñîÏÂÒ*ð…_`FÄVß)òV‡#¬A”•:ˆèq­_ùN§“%K–°sç**Ê}ËŽÛY¼x1N§Ów×ãàÁƒ¾ýrrrˆõ`\×úŸ¶¸¸8öîÍò;nyy™ßúÔX/5•wöku•]×þµ-¿TÛ^¬å¿Fôå†î‰|ði&V¼$GÛ©pêäWQZé¥ÊmàÕ9k1ñž Õºa`µ¨„±ôŸÛèeª_Ù½{÷aÙ²eçsÙ²eôéÓǯÎ|ðAæÎÃ}÷ aÕªU—DÝ4´m% !DãG£Zÿ¢ÿ]W*J˪»Æ°øºÆbæ¼µu:ž}Y»oU;·slÈ<û³°¶N'ê­Ït£yÁ°Ré…¨«¯ö+ÿ£–sÕUW’œœì÷zË–-éÖíw,_þÿ}Œçž{Ž¢¢"ŠŠŠ˜0a÷Üs·ß¥®õ?ÿlÆ=ÊSO=Åþýûñx<ìØ±ƒ‡~Ä·~èС<óÌ³äææRRRÂøñãëlê*ûb£ºÚöb.ßt_¬¥ ¨˜v‰¡hªBÿ.qô¾¢9×uhÎÕíbéÞ&–.­céÒŒ´¤U^¶í/àåÅßdåÎ^íüÊ0a³gg°`ÁJKK)--åÝwßeöìŒÛëæ›ofÙ²¥Œõ‹-nrÁHºÒ„¢ÑïÕþr`‹„¦¥Q˜ŒØ˜æè¹˜&x§ê§M{t0ÆñBP€ü ß@³yKÑ‹£{ªk+áÑT–;(­pÓ§·ßñæÏ›‰Ÿ¯ñ= 6ŒiÓ¦1thõàÚk®¹†ÿø«©¬¬äŽ;î`âĉ~ûÕµþçÇ;v,³f½Æm· "??Ÿ6mÚðì³Ïú¶›0a<“&ý•=®LÆWkyg¿VWÙuí1Úöb»¦Csÿ2gÞü’¥)\Û5 Ägg.¯q{E¨° b¸·_zuI>öÎlÓ¦MŸ|²’É“'3qâóôèq +W~LZZëë»G¬Zõ)wÝ5˜ãÇ‹øÓŸþÔd~_eðµB4’Ót‡|Ï©Iϧ";›µ½®§}| Vg9T–ûf·VÕê¯ñ=,džéÂ1 @³¢Æ'±óP!mþö_$Ý?T*ÿßôÞ‚wê5øº>mûk¨¬ò0iþ׸ ;ûwç¥y+É|ý!iØZÚV_ !ÄÅ»gTç]…à´4ÚLOÎk¯‘Ö,PÑËKQ0TóœG¨«ïTv´˜Xòò‹±wîBâÐs'Ó‹8ÏÅýl'O–H35RÛþì6 ÓG÷ç­bÁŠÌê0çvcšÕçÒéEUÕsέ†ž;—Ûù#ÁH!ûÒiÖ¯û&õÉ'Éÿb5Y;w’L`l ŒâãÕ_¢˜((§/Å j¨QÑVŽS©Yè0õ%¼^/š¦ù•[Rr¢ïÑ”†jͽX ÃÀãñ ë:^¯—ûz§Ò"ÂÊÜOË)..öm§(*ªª iš¦a±XÐ4 «Õê7z}ÎËíü‘`$„á®u\8<ÇŽ#èÅ(]ò>»ßŸ8{Í"cÑ,*xܘn7ŠÕŠj³aPRVAÎÉ”wé‚õ‘GÈ)9‰sÿ~Z´hAHHˆTû%Ò¶‹×ëÅãñø–Ó?wIfü:Prâ†a ª*šÅ‚åT:=ÿÕjÅÐuΠ׿%Œ„â"ÜV0댪\.ªª\¸z^Gq³f”/^ÌÑœ#([,„iÝI©ÇƒáñPľèڅ憎ÓéÀé¬B9õíéâÒhÛ‹åì.²Ÿw—¥Ä…bº¯+MU5_7ÚÏ·UUõ7}þH0BˆÆ¿vÖy¡ $!>‹¦¡i*6›&S|ÏþýXÁ^P@EXŽæÍñ&%bŽ¡YD8‘‘ÄÄDÓ²e qqÍ `t µíÅ FÕw~ ÷x½^t]G׫ƒÑéî3MÓP5 íT:Ý…ö[?w$ !Dc_<ë9@×jµ’˜˜Hbb"n·›ÊÊJUUUT¹\¸].EÁjµb³Ù°Ù Án·û¾´U.l—fÛ^lg³ÏÚCžœ7Œ„ââ\=|ѱZ­DDD!µË¬m…#!„øMRMSÑOíMƒ®ëhšVëcìÒ¶—oÛJ0BˆÆ F@xx$G&¶y¬THq¢¸˜ÈȨڃ‘´íeÛ¶Œ„¢±‚‘¦Ñ±sG¾ûî[®úkˆ‰i†¦ÉWT^ºw Ž/â‡ï7ѵëï°Z¤mƒm+ÁH!‰ªªÄÇ%àîäfëæÍ”••¢ëºTÌ%JÓ4"Â#èØ±#1Í¢ °Ù¤mƒm+ÁH!‰¢(X¬VR[µ"!!Á÷¸´ŒI¹tÛKQ, ¶À ¿ ¥m;m+ÁH!;Y¬X,V© i[ÑH‡¨B!„#!„B FB!„5ò1ÊË="µ!„Bˆß4å©'FÊz!„BàÿûlÝ´äIEND®B`‚KCemu-0.5.1/doc/window-disk.png0000644000175000017500000006477112417262523016502 0ustar glaubitzglaubitz‰PNG  IHDRdÊ`¯üsRGB®Îé IDATxÚìwxTUúÇ?Ó2“RIOH(•"°4)®H3@PìkCQŠ»ºûS» kWt×])«‚€ˆ´„z‘&- é=S?&R& &<Ÿç¹O&çœûžsÏÜùÞ÷¾÷œsUWҩʽ3>TA£ñ¯Æ«ª¦iåªö>ðò7 À”禉Þ‚Fdú_)ï?;Ü&̪ô´T|e2ùñGHÍ.½%š„¬¼b,’|Mûj5j|<]nH»¾æÿû?6QV¥¥^æ¡.T&?þ(—2‹ÄÙ!šTŒ³ó‹8º{Ó5íßñ¶Áx{¸VÏÉnFn;~^ËûÏWU YTü,Iv~ ™¹…ßû3ƒïKûÐV ÚÿÄ…6ýø-n€·‡ó i·"ª!÷¿¤L|è)Šf»Fžùsýp®Òÿ€Ý´r*æ =Ò³ ÙýëüiÈ(Z{»]“ƒ§R9¾÷gnûÓŸ (³q£ÙHÍ,`׆¥h¯zÇ5)Ï›r—Ux?üþœÝ´òÿŸùs„íàzÙ°% €!ý{ÕYÖh2ñëÎ}hµÜ~*•è¿–JùwÓÚÛ I¾¶»sowŽ—Ù*פÍnE´õ W(ŠÂ³#"øàgí–­š&Âuc4šØš¼NËŸzÝ‚J‹Ä¡c¿‘›W@ÇöQøyPRjäÜ…ËdçäQj2¡F…³‹ŽmÛàáîzCwŦN«ÅÝÍ•Ðà|½¯Þ nü5™Õ³&0ê…¥Üñ§žµŠñ‘£ÇY=kÅ¥fxc5êuë5‹òþCÇÉÊÉ#6¦­í{¨-]Ð0Ô¾YV®ÛV¹æØ³ûý¦íõ²s×à> ²[ÑvÕ}kJ¯j×® ˵h¹Ï[{¦ÆråéóÖž©ÓžÀ*JÇOœdõ¬ äyôÿѵsŽøçzÑ1Ò–í"-#‹ÅBnv÷ ˆ!®mk|< ˜%™ÔÌB¾úá Š¢à~ƒˆrÅã.G’ KLœ½œÃÚí¿ñÛ™¢"Ck=Ïì‘_PDT°UÌϦæâê삂µœŠŸ`ÊØ8ºµkͬ…ÛIËÈÆß·Ué‚kñUõú^ëk«ÜFMv?|~d­6¦¼·¦Z;ê²ûãÏ;lv§¼·†;Ý^kº=»5xÈuôÔ»ÛØ>Ï]sÆnXCP?ró éîÀÑs™ôN\øý³ž„«³Ž|¶Yë‚NkÆCgâõiÃ9~>‹·¿ÙÆ…+ùûº3áŽN”šÜ<µ( H²Ì…‹©\É̦¤´µZ·m#ÃÑé´X̶&ïC¥RàçCfN.²$ãë퉫« W2²).)E§ÓHHPkL&3ÛwíG£QÓ¯Ìã4™ÍlOÞV§¥_Ïî¶ãÚ¼mûö¨ó¸÷HåÕÿŠV«¦mˆ7Oßs/=Øwwž‘·§‡Í3.·YRjäôÙ ääåc±X0è øùH^A½Û[=ÖÓ—rpws%#+‡£'Î Ë2í¢"jíWg?efç’•“G›2q?})‡ôì‹x{y’[=½m›0[û×jSÐòõÛ­Z¾!v?|~$SÞ[cWük³Û``ÎêÓÌe·|ÅÿgŒŠ²•Ô,Ƚº[ïèÙ B|]ùûý}ÈÎ/áù6Œ³³KçÏñúsø”YÀ›ÿÝFÇöm ‰ˆ¢¸¤”ÿ¬;FdxNz'Œf3‡çϽÛÐo\Z{»a2Kì9~™oÖ¦M›6=n½—$™-)çé„““†=ÇR9—–K¿{ºèëFA±‰o9ÆÑKiøùzs¼l¿£…I¯}ǭݺpü˜5­°ØÄƒo®¥OÏnlÙ¾»Rx¡ŸÛj=îã糈 &,$´+™|¸|³Ÿ¾ƒ ƒ;ñ÷϶ð»ê<«gM ÔdáÞ™«(.-åÂïçxhXgb£üquv"3·ˆ_SγõÈ ŠJ‰ ¶: g.åPPTD —†Ä™£ÑjÔ|±z§.§q%=£Æ~òõ÷Ç]SZɃÿâ…¤ü–F\ÛÖÕÒç¯ÙÏæ}ѧ­]›íÚµ¢\K Ù12<Ùší– ¦=1µW¾.»Cú÷bÊ{klûWâ)ï­aHÿ^µÚmp ¹>1bCnùù´ï @kW¸³ ûO¦1oé.:Æ´Å`0pâÔYvD¯Ó°lÓ"ÂÂps³Ž_tq6СU|,’Ä¡#Ç™ùH_ÚµâÕ»Ø~à"o ç©1·âæâļeûòu@£QsøÌVþrŒgÜÉí±!X$‰|±™èàVüó‘?qÿ]˜ðò·œõ´ * \ÎÁÅÅ•’ÒR‚|­Oˆ/gà쬯×s…ªÇ}ò|înV/8Àχ»ÎìçNqI)mìÞnjV!Îz=GŽŸâµGúÜŠ|ö3'.dÑ&°ñƒ:’^DrZ&Ñ!W½×þ]‚xø®®dç—òÎÂí”XtäæçÕÚO}{€<ƒŽÏWíã‰ÑÝ9|&ƒÿûügkŸ»Ð5´Zº«³ž×þÒ¿V›;¶'}3Æ+2¸_åç›¶&×áÉÖnwp¿ž•D¹¢î×ÓnêŒ!›ÌR­\5¿üÿ·–ŸàãÚóüèèZË *ß¾”––Ü ³Efh(JM>\±›ððPÔ&³DNN>qm8|&ƒ¶íÚÙí×s.1~@{¢C¼ùi×~ÞsÎz¢í9ËScn¥ktùEEtok œ8ŸÅ¶ƒñ)›)Tb´ðÉ·{ ¯0 €ŒœbœœtäåÒ«½UäÎ\ÎÁÅÙ™ÂÂb"ÊÄ=5«½“&³D¯ÛºÙ ½nëV­­[QàÄ…,:Åøc2KH g½ÖÖ•FEUôS3 ÑœÈÉÍ#,À€qƒ:rà·tžNçÝÅ;‰ ÁÃʼnVîÎX$™‘}Û1¤GŽœÍàÝE;  Äœ_Xg?åäå ÷#ØÏÍvjàGDXçÎ_ª–ŽJÅ]·ÕiSüj!•š®ÛVy×e·¶ºªæ5Än}ìÙ³[ïŤÜqÜûE¬õŸœx€jÿWJ«HN< ½–‹³ÎEÅD{¡Õ¨9z6ƒï~=Á “nçí'1ó«-˜%/OÌ3žnVÑ,*1¡Vkì~OYY9ô‹³ Ú£ C{´©”Ÿ‘[ŒV­&°LD¾‚‹« m‚<ÊbØ8é1šŒD]_WŠJJˆ Œ,KËÅÙÙPæ!·¶yÈz½ÞÖ®·ÆÕx>U<î éùȨQ©ÕÈŠBn~>#ü8x*½““­½©Y89éñ÷óåǤSŒìÛŽníZÓ­µ vaÁÆ´+‹íZ$™!=Ú (ðÕÚýø´ÆÃÃÓg/ÔÙOz']ÙñYë>›š‹‹³3²¢ØM¿p)µ^6ÅCîêè4jÛgI¶NEÞ½÷@½ö½í–®Ö»=µÕ†Z­Â\6ٞ݊ØK«š×»»÷°ûÀ°<¦\ÞÖšìÖ;dáÜG! ÓaÛÿéG:Wú¿jzúë­hùgå°8 íQXXH÷H_N]Ìæèù\ÞY°ïïÃì§óê¿åŠÉ„““WrŠôq#4À“ܼ<<=Ü).)!##‹ ÀÖ89é$ nÎz«çøÒŠjW^½Þ OJaY’‰ñ¶µÁÕÕ…¢¢ÚÄù•y€VñÍÈ̲=Ä:s9g.]N£kt׫²Þ EQl?¦Š'`MÇ}ü|&î®®H’L~A!ç/\dòSƒ$™%›Žâäädkoj¦µµZÅâ GYŸ|šÎmüˆkÛšÞCÐ=‚¿ÝMt0~Üy /7o‰àÅûûð×7âæâ\¯~êÒ9†ƒ‡Û„÷\j.?E¡´ÔX-½¾6E¯v¹âm}½FC”•/×HU…€ªŽEm¢ßP»{÷¬ÔÞªõÊEù–n]j´[)”QQ«n·\lËÿ¯ø·¶¸³Øªo……E¶‘¿]ÌÁßÏ›K9ÞY°w=o=1w­ gƒ•›ðÔ˜[)ÌÉàÀÁ#Xв¹op{JŠr1Mx¸»“ò[w÷i‡^§¡•‡+niÃËÄÕÅ£±”@w› ›Í– ‚œƒ‹‹3ÅÅ%DV O0™ÌøyYãÖažœ9s–¡·…Ó6Ôûª‡ì¤g÷Þ¬ž5Õ³&°{ï:ûÄù,22s8zô(®ªbÞxl¡þžÌY’„¢uÆb1Wj¯Ñd¢s˜÷ßÙ•Jņ=gùnËq[¼X£Ñ؆¼º”Ãg«÷qò|þ­\ùë½·sìä)ÜÝÝêì'EQ0™L¶c¶H2G¤¸¸Ønº«‹K½lŠ­ú¦VU†đ«–W«¨—ÝŸiw»^»åbÜ­k,ݺÆV{xX›ÝŠZ[¯aoå^q]\]…`7®T\Lû°«²·­¼Zq15·¿ÙÎßèÃÌGû3oi2Éǯ`Z’Äè?µç£wÖ9õ¿]È&=³€è(_"ÂBùø»}Ü_ddÔŸÚsß°Xr JØ2EëØÚŸ'Ohó 1šMWìb6!¡”Kˆô²yÈa‘Þ°xÃaFÿ©ÏïIFn{§"É µŠÔ¬B¢½ëõÝW<îgî¹§ÇÞJ©I";¿„Ãg®0wi2ƒ;þ~~¤¦^±µ75«ÖÁ¡ì=™ÆÐ[Bxù¡~øy¹PTjfÛÁ |³î  ²=Ð;s)‡°°PÞ^¸÷žBç6~<|g–o9]g?) øû±jë †÷ŒæƒiÃxnÞz¼[yÙMÿhå^^»MAr…Nªi$D%³3^øêŒº¦³ÛµKg›Ý®]:×™nÏn½CU=â†"nÓìÓ¹cž|ïGL&3bÚáäd½ål@N~>ñÿ·€ˆ°¢£"ù=;—ÿûb+%¥¥ÖX–N‡«‹3Qm"¬Wnš°ÐpmúO¿Û‡E² Õêððp'ÀÏ×zÛÛ‘__ƒE’èÒ9Fˤ×V#I±: Õi‰íÔ‰ûf~‡$ËÄvŽA«ÑàïÇŽã¬úu ’,á¤sÂÃÃùkö¡(еsGÔ5ÝãbmôºÇÅÚýî+wÙi‰F­B§ÓáææJ€ z½uÄFÅöÆvê€N§CããÇ».‘øÓQLf3µww7B‚CÕñØ;?b¶˜éÓƒ^>4ÜVŸ¯¯7aa!H©Ö~R… ÀÖïMeÑO‡‘Êâ|1íÛâíl°›î飫Ӧ :G-”Çd;wîX¯}«Æk ÑØv+Ú®ºoMéUíÖû¡^m²=‘®_2j¦cL{»ýäîîN×.*åyyyâååYëÕ\¥Q\ëU¿s瘫Kb+ü_^&6¶cµ4_üý}+Ù ¬V.®kç:¿÷ŠÇ]—‡Ò¹Jû4 ØÝ¯S§öUÊk«õs}ú °[¬(5Ö_›ûrZvá5{»’]`³UuFÝb·RŸ”¯öv65»Zæ£Å÷^W‡å’(Î:@`Wg:­š ߯¤K¯¡×dã`ÒO ¹ëÌ™¢’ÒÒ.€,î K¯ ò™ËÙâ MŠ‹Á V濽¦ýß9³E¢¸ÊxßÍ®¢PuùMqk%š–¢#Þž®Œ=ášö7š-•ox»` ‡AÍJVnáÞny|ZÛÁ=“Uë·Š³B š‘î™Vyõ¬ dgeŠ‚fàÒÅ Ìÿâ—«3õ@мԸH«››»è@ p0…… d€U+—‰Þsǰ;.ȵí(‚†áææ^«£+bÈ@ÐB‚,B@Pñ*\@pSc‘,œ>s‹ÅÜ$õ "Ã#Q«îï A7-¥ÆR^œùw22›vâ[t›hþùÂË e!Èà¦eï}ddfŠ›‡[“Ô™“™Ã©3§øýÂïD†G A€’â|ü}ðöõ®÷~……Þwc©‘¨öQ„D„4¨Þ´ËiÞŒSÄC=@ ¨Â‘”#8éðöõæÜ©s”•4I½B  EE 4 :½ŽÂÂÂ&©÷ºC>¾~ÕÒ¬/­t#00˜èÓ§wß=ooï:ídefà¨69–@ 4Õzñâ!›Ífrrr8zô(+¿ý–é3fÐ¥k3g¾ŠÑh¼©¾(_?»¥†–‡=Ô«èʲLQQ/^dÿþý¬Z½†Ÿþ™?úˆII¬X±w77Ñû@ÐØ²Z­ÆÝݘ˜î½÷^–-]ÂêU«ðññaÏž=¼ð‹v]„ä& OŸÛY¸àÔj5K—.åÈ‘#¢÷Á Aù;ïnAèÑ£cF`ùò•òj‹³=z”É“Ÿ&®[wƒ‚  ¥GÏžLyöYvîLªwýyyy 6_?Z²lùòJùF£‘/¿úŠwßMtÛv´ ¢slžxâIÃéÓgHL\\¯PGVV÷ÄÇsèÐaôz=_~9Ÿ?ßyu­çÔÔT&ÞËáÇ+í—ššÊŠ•+Yµz5sߟý÷ÞÛ(ýÒÜõ ‚«tŠëÄݰX,„G…ãâêróyÈqqqœ={¶^å_-™qçðálþùg.^8OêåKìÛ»‡?þˆÞ½{Õi#==‘£FsèÐa\]]Y¼8±’›Íf&MºŸÃ‡3`À¾]¹‚3§O‘ž–ʞݻ˜:õ9dYfúŒçm‚Y5æ]þÅôú”¹ÖúAãap6Ó%†˜.1øø6Ù°·&÷ËÇ"çææÖ«üÑcÇøä“ñð𰥇‡‡N„ µîéÒ%ÆŒËéÓgðôôdé’ÅÜvÛm•Ê,[¶œ”1b_ÿçß•âE‘‘‘¼üÒKxyy1sæ«|òég|òñGí“æ®_ X±X,œÊßÿþ"ƒ¡Þv9R뺭ZµbÖ;u ¼^¯çß_}Éóý+ß|³€|Í›KBB...,^œÈĉ÷rüøqyô/õnߨ1c8zô(/½ü2/½ü²-½âĺÊ\OýÀ1DÇD“²+…öÛc,5òãÊ‘eW:wëÌ©c§ðôÇÙŹå rE4 îîîÒ¡C{úöíËÝ#FàããÓ`[[ÝšµkÙ¶m'Nœ$//gƒˆÈH ÈOø×””–ÐÀ@Ο?ÓœÀY™-ÆÃb,¸Þ°Å¨Q£lŸË·uëÖ±nݺjéõ)SÑ^]uWÜj äädÕ¹•#Ër­mnH{Ê·ž2•Ý{v£×ÈÍË¥cLGvïÙÅŠ•ËÙ¹s‰KqK÷[ÈËÍÅÙÅ•¤¤$&ŒŸHll—kjùWWWºt‰åí·ÞbÒ¤ûxûíwìz˜7n¤Oß~´ "®[w,Xh×^JÊ:ÇváóÏ¿¬+^ý Úwˆ!$4Œ¿<ö……•ìûøúUú\5­.;Žð ‚–ΪU«ª¥ÍŸ?ŸøøxÖ¯_owŸõë×ᮂ IDATÏüùóëe¯! Y–±X¤ ¿ý”:·Æ&:*šg§Leß¾½89éÉÍË¡CûìÚ̢ŠéÞ­;yù¹8;»°{×.&&ÜG¯žŽ[Á¡SÈîŸ4‰-¿n±›7ùégxñ…¿ñû¹³üoí[|¦ò—ÿ˜={O<ñ8sçÎ#åÀ6ÿ¼‰cÇŽb08óÚ«¯U #Tôdí¥Õe§9Âß|ó ½{÷&""‚Aƒ±k×.–-[Fß¾} gèС?~¼Ò>åX,fΜIll,111|þùç•ÊÍŸ?Ÿ[o½•ŒF#ýë_éС:tàoû›mͰ®¹1mÚ4¢££‰‹‹ãÓO?­ÔÞºöÿùçŸ4háááôìÙ“ÄÄĽ®º*§½´kí»O>ù„®]»ÍôéÓ1™L8A=ztµ´… Ò¿»¢\.Æýû÷gáÂ…õ²×1–,2²|UãââêÜlÂÕˆ³_ËEùÀœœ ääæÐ®];ºÅu#//ƒÁ™={÷01á^‡Š±Ã9 €ìì»yƒôôt²²² á_óæUÊÿò«¯˜>c‹'òç;¯¾ízá¢E¼óÎÛáîæÆ+/¿Äÿ¾ÿ¾Áms”ª!keëÖ­¬\¹’cÇŽ1zôhî¿ÿ~6mÚIJeË8~ü8#FŒà¯ý«Ý}çÌ™ÃÉ“'ùé§ŸHNN&5µò²žûöícýúõ\¼x€Y³f‘––ƶmÛØºu+—.]böìÙ¶ò³gÏ&++‹¤¤$6lØÀöíÛ+Ù«kÿçž{Ž3fðÛo¿ñí·ß²oß¾»®º«ï’’’Ø´iIIIdddðî»ï ¹ìw¹bÅ ›(ÏŸ?ŸsçÎÙ<çþýû³bÅ ƒÃë _¯(§HÁ`0––ʥ˗0œÙ¿÷MœD¯^½^¯CGY¤§§ããím7ïë¯ÿÜ÷æ0kö»xxxðæ›o0|Ø0[þ§Ÿ~FBºwëVi¿ÔÔÔj~-_„£ì8ŠÙ³gÓªU+{ì1fÍšÅ;ï¼S)mΜ9v÷]¾|9Ë–-#00€™3gVÊŸ9s&>>>•~8+W®´=p}ýõ×7n/¿ü2ß}÷]¥ü×^{~ýúÕ{ƒÁÀ•+WÈÊÊ"88˜÷Þ{¯Æã®«®Æê»×^{­RãÆãÿþïÿnz¶XÌX,ÖEmâãDZbÅòê^™ZEbâ"&2yòd[ú!CHL\„Z­Âd2VÛ¯&{‘$‹­þª¿=‹ÅR)¾ZÑ®/öÚu-í±Çå˗ѪÕȶu(Ì z½óÎÓ½{÷–-È Ênìѽ[7-Zˆ¢(lܸ‰ç¦>Çð#Glùk׬fÔèÑxyy1å™g*yÝë×ýhŸëñÞaÇQ”‹€³³³Ý´šNœ+W®Vë±V$33³Rù°°0233mÿgddZ)¿!ûÏŸ?Ÿyóæ1gÎ<<µÙ³Wõ‹……ò¬ÒÒžxê‰z×Ò¥kxè‘™õölüýýܵ‘œœÄò•ËiÝ–œÜ<<@PPkÖ¬aÌè1X,¦M ÀÃ=Ä´éÓyû­· åäÉ“¼?w._–=dðôôä·S§hm³e/­.;×Bs³ö÷÷çüùó´iÓ¦^å}}}¹páeKž?¾’íççW)ÿÂ… Ú?..ޝ¿þEQؼy33fÌ`ÿ~ûcDëªK«ÕRRRbÚœœ‡ôYÅ:/^¼XixæM.É67n<Ë—/«±¤^¯'1qsçÎeÚ´iµŠq}ìU­à?_ÿI’øàƒWÉg§>Ç]wå–[c1™ ))5!Ë’5Ö,Ëe1g Y’0›Mœ](*4³òÛïÑh4 ÉP÷¨‡¤ä$–¯XFT›6äæåâæêÆñãÇ‘…è¨(òó  eûŽí( Œ9ªùÙÇוJ…«‹ ‘‘ 8_6ÿŒŸŸý‘w¿“|ˆ³çÎÍgŸ~R­L`ëÖ¬^½ŠÑcÆ"Y$ž~Ï=÷,ÿúàÆŒ½‡´´4¢££™1ýê[žyúiî|…EE6q´—V—šŽ±êç–0 nܸq¼ôÒKÌ™3WWWÞÿýja‹ŠŒ9’W^y…÷߀W^y…Q£®žD£GfæÌ™Ì™3EQxå•W´ÿäÉ“™:uj…‹meï´âêºêêØ±#Ÿ}öO>ù$yyyÕò¯•ò:þùÏ2f̘?œ‡¼lÙÒ:ÅH¯×óâ‹/–í[{ÙúØ«:ì+99™—^š‚N«CHŠUlÙúîÉìì4,’„ÙlA–ä²8s™ K’$c6™Ðhtäæå!Irƒ¹®ahÉ»¬bA^~..nœ>sšñãðóóå“O?&,4Œ‚‚BBBؾc+ 0ònLjò5=Ô+Á™q…ß?Ç–_6óϾRMŒ+Š×رcHJÚIzZ*Û·meРAv˰sÇvž~FY|KÍ´©SIÙ¿´ÔËlÛú+cÆ\½M˜>}¿ÿ~®’ {iuÙ©í8+n5_S2cÆ Ú¶mËwÜA¯^½ìŽL¨È‹/¾ˆŸŸ}úô¡OŸ>ð /Øòÿö·¿áééI=&“ ‹Å‚ÙdÂd2b2™0šL˜Œe›ÉD©Ñ„$ËãááfäúC®y,òñã'Xºl)AAÁäççáädàìÙ³Œ=–nqqóØ_ç÷ó¿£Ñh),, °u[·mãçÍ›2Y5eò“ÊJvV&ÇRŸÏ‡ÌcÚŒ¿\6MÐôüQg9~0w=ùT“ ñûï¿¿bò”gÉÏËÀd4²lé’jõ¿ð÷xôÑx òP«×kõ­#.ä²…äMFI²¦Ée%ky£ÑHhhIIðòòã‘GÁIçT­=w‰§W«ZÛS‘Ï¿øŒÂ¢BŠ‹ŠqquæòåË ög:wêl›ˆ¢V«¹tù2K–&ˆÉdÂÙÙ…¬¬LÞ¨e-‹ªí©Ê¥‹˜ÿÅâ!Á!d¡( &$8ÔC®h¯¾©““f³u¤CQQ!¥¥¥”––RRZJII %%Å—”PRRBi©£±c©ci)¥¥%”––b4–¢…EÅ€ c©Ñ!²——ÅEE蜜¸xñú",4ŒŒŒ ÒÓÓIO¿Bzz:.ÎÎÜ=b—.]B¥RQRR‚·¯CöªŽûõññaÌè1|þå×]ÿÀ჉ŒŒÄÅÅ¥£,j=¢ÕjqssÃÕU)Õ!Ù¼v•J…Z­¶mZ­Ö6¹ÌQý*Y ¸©ùª ß{ß$-t˜éúØSªŒûÕétÄÆvaÞœy•â«U?˲ XGG•Oµ®˜'IZ­Ôjuý™úÇt5Mïõsô2 B‚›[m¢±hᇠH½ìÙñHÕj5NZнÁ¢¨4ß[§ëƒeÑÈh4ÛÕ^ h®…¢(ÜwߤFùk‘¤jž¤J¥B£Q#É’CGvÔg³X,h4šJkÕ´´öAnŽ«ZMëÖ¤^¾,:CÐ,”Û„aÁ‚oåovV&ÞÞ>•àéÙŠ ¿ŸorÌÎÊ¢U+ïÊ‚ÜÂÚ#¹ÐétôéÛõë¾çä‰ã¶'µAÓ…,Oh$I&=-¤;èÙ»7¦ kd«4:uéDròÒÒÒ°X¤&ðD%ÒÒÒHJÚI‡˜t&‹´´öÔ„ˆ!7"Nz=¡¡aüù®üoÍ*ÒÓÓ…( šŒ°°p–.Nl4û†V^­¸½o?‚‚ƒ).*ªtwÔ:Sgöï'??¯ÑÏ}Fƒ—§:uÂ×Ï'½¾Å¶Gr3ap6СcGb»Æ5ê[‚ªFôõëA–­‹ýTc°Ælµ:‘mÚŒ$I žµÖPÊGchµZôçJ¿·–Ö!ÈÍxËhúi!hzQ.-m¶º­b¤C«Õµˆ¾hií±‡pÙ … <äÆw‘1™L˜Íf1üMpÓ¡V«Ñêt5†FdÉb[“¢©¼`FZ£½!Ú#¹‰).)áÌéSìÞLêåTÑ!‚&#,,¼Qík4¼¼¼hß!†àà ΆJBg6›¹tñ"G&;'»I.žžtˆ‰!4<¼Úä“–Ö!ÈMŒÙdâÒ¥‹lùe3ƒ‡ #44L<Ø4+—/eÊÔéf_’$Ξ9ÍÖ_ÁËË OŒeCßdI"#ã ûöíeàÀ„GFÕ9 Ù!í9ý[¶lA£ÕŽº¬Î–Ö!ÈÍ€ÉdbǶm ~=zõ"¸©Ðh4D·m‡F£!yçNî?Þ&È’$q` ƒî¸ƒÈȨ¦kO»h´:vnÛF€ÎeËr¶´öÔèU‹Óªñe™´´Tƒ‚DgnZBBÃÈÎΪt÷§( 99Ù„…E4K{rór0Wx·cKkäfB’$¦ÜÔèt:»“,dYnô°@Íí‘Q¹E·G„,‚? ͽºYK[]­%¯ö&Y 4)ß~·’eË—Ö˜ÿÌä)ôî}{³x³BÁŠeË—’0ßjyW®dòÑ'зo?!È@ÐØøûûrìØÁjé11]ðneà£O>´ sM :œ‡zÄamJM½Ì7 ¾¡°¨€3hà ZËïOÙÇâ%‰¸»¹3~|íÛµ¿9ÙÇ×¬Ì q– ¦±йžúó󋪥%'ïdè°¡uÚ=wîëZÇC>ì°öüðãøúùΆëÉÎÎâž±ñvË&%'±di"½zõÂl2³`Áyýµ7[¶ ¡5QTTÀåËYdgTåcµîçííÎСIJÚïÐöäççãæîJ^^±±±ìÙ» š(—‹qÏž=)(ÈÇÕÅ ƒ^IuM‚ìãëXçi»¹¹Πƒ˜<ù)|}¯Æ…šBŒí‰¾#.›6mâ£>f×îÝ8;;sÇàÁ¼þúkøùù‰_’@à@²³ X¶dE½ËOˆo¯ÿž±ñÌ~ïn»õ6«(wîÌž½»+‰rRÒN–,[L=(ÈÏÇÍÝ]»vñÈC:¤ ×<@6+3ƒÌŒ+9|ˆþõ%¥%ô0óçÏß'É'Ÿ~ÆÓOOæÄñcìܱü ñëܰa {ÛºuëX·nÝu—iHý5…rr²êÜÊ‘eÙaí)ßBBBxvÊTvïÙ^o 7/—Ž1Ù½g+V.gçÎ$.YÄ-Ýo!/7gW’’’˜0~"±±]®¹=är\]]éÒ%–·ßz‹I“îãí·ß©æIlܸ‘>}ûÑ:0ˆ¸nÝY°ÀþëÃSRÐ9¶ Ÿþ`XñúëoоC !¡aüå±Ç((,¬dßÇׯÒçªiuÙ±ÇÊ˹ãŽ;pssÃÏÏ™3ÿIò®]vï‚•ùóçÏúõëíæ¯_¿žøøxæÏŸïð‹„,ËX,R…ß~J[cͳS¦²oß^œœôäæåС}víNfÑâ…tïÖ¼ü\œ]ؽkî£WOÇ-‹àÐ)d÷OšÄ–_·ØÍ›üô3¼øÂßøýÜYþ·v->SùËÿ‰ Ìž=‹'žx€¹sç‘rà›ÞıcG1œyíÕ×*…D²23*}®šV—úðË–-Üvë­â,¸©X¸p!ýû÷·+ÊåbÜ¿.\èp1–,2²|UãââêÜlÂÕˆ³_ËEùÀœœ ääæÐ®];ºÅu#//ƒÁ™={÷01á^‡Š18ø¡^@@ÙÙ9vó ééédee¿æÍ«”ÿåW_1wî</N¤{·nWO˜E‹X¾|AeëA¼òòKô0wßݰï:ì:tˆ—^z™eK—V Û72ƒ+VO||<ï¿ÿ>C† aÆ LŸ>þýû³bÅ ƒÃê,µ‘¬T^—¸>ðÀƒ+ÙilQ~ÞºÄÆ’––Š,+ø°ÿ>&Ýû½zõvx½äôôt|¼½íæ}ýõ˜óÞfÍ~Þ|ó †fËÿôÓÏHH˜PIŒRSS«øµ|×jgÛöí<ýô3üçß_%~Á‚ ‹ÅŒ¥ŽEmÔj‰‰‹HH˜ÈäÉ“méC† !1qjµ “ÉèÐúU*‹¥’ Wô€ëKCÛUŸþ(çòåËhÕjä²÷ï‚ÙbA¯7pþÂyºwïÞ²yAÙí=ºwëÆ¢E Q…7ñÜÔç~äˆ-íšÕŒ=///¦<óL%¯{ýº ¼n。v¾ûn/½ü2 . Û5œ,As£(õ[»A¯×³xq"'Þˆ 2d‹'¢×ë¯kDCmõ[Ùú¹´´„'žªÿCó¥K×ðÐ#2ëíÙøûû;´?’““X¾r9m£Û’“›ƒ‡‡'Š¢PPOxx8;“v £FŽnY‚\\\Ì©S§Y²t «W¯áǾ·[î±Ççù3ˆŒŒDQ”JÁ|€   Ö¬YØÑc°X,L›:€‡zˆiÓ§óö[oÊÉ“'yî\¾,{ÈàééÉo§NÑ6:ÚfË^Z]vªòÉ'Ÿòù_ðÝ·+i×®Ý2bœµàäz ª^¯'1qsçÎeÚ´i×-ÆöêÿÏ×ÿA’$>øàß•DòÙ©Ïq×C¹åÖXL¦BJJMȲd5ËrYÌYB–$ÌfgŠ Í¬üö{4MÚYw$%'±|Å2¢Ú´!7/7W7Ž?ެ(DGE‘Ÿ_@Xh(ÛwlGQ`ÔÈQÍ/È>¾~¨T*\]\ˆˆŒdÐÀü²ùçÇéÞ9üN|ð!Ξ;Gtt4Ÿ}úIµ2­[³zõ*F‹d‘xþù<÷ܳüëƒ3öÒÒÒˆŽŽfÆô«oAxæé§¹cðÙÄÑ^Z]vªòò+¯Ðûö>•Ò?w777ñ;ÜTrEQ~ñÅËöU^rr2/½4V‡ «Ø*²õÝ“ÙÙiX$ ³Ù‚,ÉÈeù²,#I’$c6™Ðhtäæå!Irƒ¹®þHÞeã°°òòópqqãô™ÓŒ—€ŸŸ/Ÿ|ú1a¡aÂö[…‘w;F”¯IëëV,7vìÆŽSg¹€€vîØ^!¾¥fÚÔ©6¹*Ó§Ocúôiu¦ÕeçZŽQxÇ‚›ÉCnŠúÕ’$SR’‹$YCR™ ˲ Š‚¬(˜M&$IBVk¾T&ȲŒÑhÂM–)**ÆÃÃÍaò‰'Yºl)!!!äççáââÊÙ³gwO<ÝââP…Çþò8_Ìÿœà ` lÄÖmÛpsscà€A×Ý[båtà¦ö•&Ùê[¿‹‹+Š¢PZjÄd2SZZб´ci ÆÒRJJK)..¦¸¸˜¢âbŠŠŠ).*¢¨¸˜ââŠËþWd…KSiF«¹æöTÜ6ÿ²‰ÀÀ@ ò Ðë¸páw†Nxxéé餧§ãêâÊøq \¸xµZCaQ!­[·f㦙"V{DÈ¢ÉêwrrÂl¶`±X(--T¶DyˆÂ"ɘ&$YAQÊÒ+„,L&# PXTŒ—— c©VwÝýáååÅ•+éèœô\¼x‰AFFF†í¤Z­ÂÅÙ™»GŒbõšïð÷÷§¤¤o_‡ô³dà&YÐÌ!‹Šõ»8;³ví&FNnîIë$I)‹+6á5™Ìe¯=RPdkž$IȲ„Ù,!K““KÛ6Œ¥¥¸ÕñòÐúôÇÐ!Ã0›Í¤§§3êî‘…X½w£“ш$É89éPd__&ŽŸÈ¾”ý ÈÖ²d@P·þ(-¦þûﻟO?û„ýûáâªE.]Ù꺖ŔA–5€ jµ*-jYA£QX½f='gÂÂBÑjµõ?ÆZúÃÓÃq÷Œ³†QŒ&L&#:­ƒÁ`{g J¥B£Õ¢ÓjiÕªQQQ¸ººâää$úäC›0×İ¡Ãyø¡GÖ¦ÔÔË|³à ‹ 8`0ƒªµüþ”},^’ˆ»›;ãÇ'о]û›C}|ýÈÊÌg©@à`”f~…SmõççW_(9y'C‡ ­Óî¹sXÿÓ:zða‡µç‡À×χˆÈp6l\Ovv÷Œ·[6)9‰%KéÕ«f“™ þË믽ٲY­@ ¨‰¢¢._Î";» ‚(«u?oow†HRÒ~‡¶'??7wWòòòˆeÏÞ=ÕD¹\Œ{öìIAA>®.nõZë¸ÑÙÇ×°ÎÕvss#""œA1yòSøú^ 5…Û}G\6lØÈ~ÀÞ½ûpqqaÀ€þ¼þÚkŠ_’@à@²³ X¶dE½ËOˆo¯ÿž±ñÌ~ïn»õ6«(wîÌž½»+‰rRÒN–,[L=(ÈÏÇÍÝ]»vñÈC6Ÿ WÛ¢¢"NŸ>Ãâ%‹é?` ?þð=a7Á~’©M IDATëŠ>þøcž|â úöí‹Z£aþóyø‘GY÷ãâ$¸áÂ5±~ýz† v]e®¥þªé99YuÚjÕʰŽq¾–pLmû„„„ð씩|ðá<ºw¿…ܼ\:Ætd÷ž](ŠBpP0‹—&Z;77w’’’˜˜p±±]r‘¸î ®®®téËÛo½Å¤I÷ñöÛïTó¤6nÜHŸ¾ýhD\·î,X°Ð®½””tŽíÂçŸX'V¼þú´ïCHhyì1 +Ù÷ñõ«ô¹jZ]vì±jÕwÜu×]xzzâîæÆSO=É¡C‡ìÞ)7*óçÏ'>>Þ&ºöÄ8>>žùóç;ü"!Ë2‹Tá·ŸRçÖØDGEó씩ìÛ·''=¹y9thß]»“Y´x!Ý»u'/?ggvïÚÅÄ„ûèÕÓqË"8t Ùý“&±å×-vó&?ý /¾ð7~?w–ÿ­]c‹ÏTþòbBB³gÏâ‰'`îÜy¤8ÀæŸ7qìØQ g^{õµJ^zVfF¥ÏUÓê²Sw¬«ˆÏ¿ø‚?ý©Ÿø n*.\HÿþýíŠr¹÷ïߟ… :\Œ%‹Œ,_丸¸:7›p5âì×rQ>p ''9¹9´k׎nqÝÈËËÅ`pfÏÞ=LL¸×¡b|]! {c7Ï`0žžNVV!!!ükÞ¼Jù_~õsçÎcñâDºwëvõ„Y´ˆåË—T¶Ä+/¿Dÿy÷ÝÙ ;ñ®ÑN¹ìççÇßÿÏnØF ¸Q1 ¬X±‚øøxâããyÿý÷2d6l`úôéôïߟ+V`0V§J¥B¥R!+•×I®@¯^½^¯C9==oo»y_ýæ¼7‡Y³ßÅÃÃ7ß|ƒábRŸ~ú *‰1@jjjµ¿–/âZídefPPPÀçŸÁ³Ï=ÇÿÖ®¿bÁ ƒÅbÆb©}QµZEbâ"&2yòd[ú!CHL\„Z­Âd2:´~•J…Åb©$È=àúÒÐvI’¥Îþ(çòåËhÕjdÛ: f‹½ÞÀù çéÞ½{Ëäe·?öèÞ­‹-DQ6nÜÄsSŸcø‘#¶üµkV3jôh¼¼¼˜òÌ3•¼îõë~¼îÑ ×cÇÝݧŸžÌûsçŠ_¸à†BQê·†‚^¯gñâD&N¼— 60dÈ/ND¯×_×êÚê· ²õsii O<õD½í.]juŒzäAf½=‡öGrrËW.§mt[rrsðððDQ ò ggÒ@aÔÈÑ-K‹‹‹9uê4K–.aõê5üøÃ÷vË=öøãü{ç_E•÷ÿ÷™{sKH!½“B', * >ÁµÐD–]. ÁŸ²M?u±"ŠkC÷Á‚ÁöGPXI)ŠH/†@n =¹¹mfž?nˆRH#{ޯ׼r3sæœsÏ÷Îg¾óSš;—ÄÄDt]¯ÌˆŽŽfíÚµL?¯×˜ٳ¸ãöÛ™“žÎSóçÇÞ½{yaáBÞªyÉȾýûé™’R›W}ûËçLfμŸÙ³$))‰¢¢"þùÊ+\G–åfÔ³ñöÈÎÉfÕêHNJ¢´¬›?»wïFÓuR’“)/¯ >.ŽŒÌ tÆÝ8®ã9$4 ƒÁ€Íj¥Gb"#ÓÒØðÝ·„…ÕßóàÚ±×rÛm·sèðaRRRxýµWÏJÉš5Ÿ0~ÂDT¯ÊCÍåÁà¥E‹˜0q¤¤¤07ý·Uþtÿý\=êj*«ªjű¾}ås&cÆ\Ãﺛ={ǫ̈Q£xë­7Åõ-è’ò颭²]/dÑÖå›L&<_O§ÓjC§B^UÃãr£j:º^³ÿ´…ÛíB*«p9]ãy·GPP……vŒ&?ŽÍgdÚ(âãâ9qâDí HI2`µX¸áúq¬Yû1áááTWWÒ=´UÚY²@ÐÅCtpÈâôò­ Ÿ~ºžñãÆRZº×7HDÕkbÅz­ðºÝžše˜ttÍwLUU4MÅãQÑT())¥g’—Ó‰Íb¦çÓ׌ƒÇãÁn·3î†‰ŽŽõyï.n— UÕ0™ŒèšNxh(Ó§Ngëöm k¾²d@иþè¦ü[gÜÊk¯¿Ê¶m?aµ)h5¢«ù\ך˜2hš HÐÑÑ‘$ ’¦#Ë:kÖ~Ùd!>>EQšþÏB `ʤ)¾0ŠËÛí¨(˜ÍæÚ5 ²¢`T‚ƒƒINNÆf³a2™„‡,ÓÞùŒòCBB˜0~o¼µø¼óN;ŠÄÄD¬Vk«¼ÔPl6½&D¢ÖzíƒI’j7EQj—µV Aº´"wp/‹3Ê7¤¦äÅ/ÖyáuægMó­-IRíPëÓ©ªŠ¢(X­V$Ijº 7ã%Ër£ëúµvÛ Aº¶wª—z§DÖÔJº7[õη ¶ävD–åÚ»½@ÐCª¦ÕëIJ’tÖBíA}õ1 Ȳ„ª©í_UE–å&Í#¹ ‘$‰ÈÈ(Ž;F\˜´_páQíp´yÅE'éÞ=¤Žãa0 "ï×#„……·ëw..:Ippw$ÃoÃ, @``0yG~%<¢½ëSDpp÷& ²Ò†F.»ü ¾þêsöîÙ]û¦V h¿AÛ QU {AÙ™™\:|8n—«Î“aêÀdefb/(ø­ [;Õ§O¿¾uÖ¹3È2ýö'''“‚‚¼^µÍëãõªEŸ¾}1Ó¹ 1ùùÏﯻžÏÖ~‚Ýn¢,h7âãX¹|Y›å/Ë2ÁAÁŒ¸ü ¢cbpTý¶Š´$ËDFE“ššÊöm[)/+CmãÐ,ËÑÀBCB0[,užV£#cpp³cÛ6ÊËËÚüZ¬­Oÿþ„†…`òó‚Üј-fúôëGêïµé*Á™¸\.üš 烦ù&û9]ŒOBLJJ"&&¦Æ#mûw)’AB1*˜-Ö:û ŠÑHbM}TUmÑš|ÍáTïEQð3[štý An‡GF—Ó…Ëé!hQv:;´|Y1bmâ°æ¶Æ'ŽF”NRŸzo(â'+á!·½‹ŒÛíÆãñˆîo‚.‡$I(Fc½¡ß ]Õ|C£ÛÁ6YB’ÎîfÖÙê#¹pTWsðÀ~6oÎáø±ã¢AíF||BÛ†#d™   z÷éKLL,f‹¹Îh;Õëåh^»~þ™â’â6ÿ¾²,Ð-Þ}ûÐÅh¬3¯3ÕGràq»ÉÏ?ÊÆ ß1jôâââÅ‹=A»ñ᪕̚Þfù«ªÊ¡ƒøþß " 0WM×7MÓ((,`Ûö­\yÕHz$&5: ¹5êsàÀ>6ý{#²"—€¢(²>B;·ÛMæ¦MŒ{— &DÐ¥e™”ž½e™œ¬,&MZ+ȺªòÓö¹*íj’’“Û­>½zõÁ(ÉÊØDdxd­v¶ú4?«¶CÓ4 Ž-CÐe‰‹§¸¸¨ÎÓŸ”––УGû×'>žÒ²R¼ª·ÓÖGr¡ªªSº4F£ñ¬A¾‘sj›‡ÎUŸÓûw¶úˆ…@ðJGÏnÖQå7Tng«d@Ða|ôñ‡|°jeƒÇÿ4sÇèo¶£‚,Ú•V­dÚ´ =ëXaáIþùêË\~ùB ­ å—_~Ÿ¹¯±|bïÞ½|ûÝwÜwï½ç|R.TÞ|óM&Ož\+ºõ‰ñäÉ“yóÍ7[ý&¡i^¯zÚµ¿½Ñ­­IINáY³ÙºõL&?JËJèÓ»¹›sxùR† BYy)‹•͹¹LŸ6ƒa—¶Þ´­:„ìÖ[naã¿7Ö{læýbÞ#säð!>ûtmm|¦®ñÿ‡›¦MãÙgŸáž{î`áÂÙ¾cß}»ž_~Ù…Ùláñÿÿx/½èä‰:ŸÏÜ×X> ñèc1oÞ#˜Ífqå º$K—.åÊ+¯¬W”O‰ñ•W^ÉÒ¥K[]ŒU¯†¦ý&ȃ jt«®6ýzJ”wìØŽÉd¦¤´„^½z1xÐ`ÊÊJ1›-lùa Ó§Ýܪb|^!‹úˆˆˆ ¸¸¤Þcf³»ÝNQQ±±±¼ôâ‹uŽ¿õ¯±pá‹,_¾Œ!ƒÿöƒyÿ}V­ú€èšù ýû߸òª4ž{îÙæýðš™Ï† (**fÒĉ†m‚ ³ÙÌêÕ«™ÆsÏ>Ó¦Fگ׃×{îIm$ÉÀ²eï3mÚtfΜY»ôèÑ,[ö>’dÀínÙdªê­·|ƒÁ€×ë­#ȧ{ÀM¥¹õj¨>õqìØ1IB«‡BÇãõâçgæ×¼_2dHçä÷jêcÈàÁ¼ÿþRt]gݺõ<8ûAÆþüsíñO×®aÜøñ1ëOªãuýÕ—DEE·÷Þœ|víÚÅu×ßPgŸèÆ'¸ÐÐõ¦Í¡àççÇòå˘>ýf¾ùæFÍòåËðóó;¯—Uç*ß'ȾÏNg5÷ÜwO“ó]¹òSn¿ó6žyêYÂÃÃ[µ=rr²Yõá*z¦ô¤¤´„€€@t]§¢¢œ„„²²3q7Žï\‚ìp8Ø¿ÿ+V®`Íšµ|ùÅçõ¦»ëî»yhî\Ñu½N0 ::šµk×2aü¼^/sfÏàŽÛogNz:OÍŸO\\{÷îå…… y«æ%C`` ûöï§gJJm^õík,ŸÆÂmݽN h#In² úùù±lÙû,\¸9s朷×Wþ’·— ª*‹ýw‘|`öƒ\wí5\44·»’j§MS}±fM«‰9«hªŠÇãÆl±RUéáÃ>G–åfÔ³ñöÈÎÉfÕêHNJ¢´¬›?»wïFÓuR’“)/¯ >.ŽŒÌ tÆÝ8®ã9$4 ƒÁ€Íj¥Gb"#ÓÒØðÝ·„…ÕßóàÚ±×rÛm·sèðaRRRxýµWÏJÉš5Ÿ0~ÂDT¯ÊCÍåÁà¥E‹˜0q¤¤¤07ý·Uþtÿý\=êj*«ªjű¾}å#ü'{ȧ‹ò¼yójÎÕ[¡üº˜““Ãßþ6 £bĨºOluÍ·ödqq^UÅãñ¢©ZÍqMÓPUUÕð¸ÝȲ‘Ò²2TUk– 7ÖU.'×'Æññ=(+/ÃjõçÀÁL2°°P^}íâã⩨¨ 66–ŒÌïohQn‘ 7Õ+<=Ýĉ˜8qB£é"""ÈÊÌ8-¾%1göìZùLÒÓçž>§Ñ}åÓ’ï,¼cAWòÛㆠÉTU£ººUõ…,ÔAÖ4 tM×ñ¸Ý¨ªŠ¦ë¾ãj k.—M£ªÊA@€3¹áÍž={YùÁJbcc)//ÃjµqèÐ!¦LšÌàAƒÐu»þx7‹ß|ƒ˜è*++ˆŠŒæûM›ð÷÷'íª‘çÝ^bæt K{Èz»lÝNmV« ]×q:]¸ÝœN'.§—³—ÓIµÓ‰ÃáÀápPåpPUåÀQUE•ÃÃQ£æ]ÓÉ?zœ¤ÄdEnq}Nß¾Û°ž¨¨(*Ê+ðó3‘—w„±cƒлݎÝnÇfµ1uÊ4òŽæ!I2•U•DFF²nýº¶O+…,A× Y´uù&“ Ç×ÓÁét†ÚÄ©…WÕð¸Ü¨šŽ®×ì?-dáv»ÐÊ*AA\NFÅxÞíDa¡£É£Gó™6Šø¸xNœ8QûR’ X-n¸~kÖ~Lxx8ÕÕÕ„tm•v‚,tñºbHÝò­ Ÿ~ºžñãÆRZº×7HDÕkbÅz­ðºÝTµfx´æ;¦ª*š¦âñ¨h*”””Ò3ÉŒËéÄßf;ïö¸fô<v»q7ÜHtt¬Ï{w¹p»\¨ª†ÉdD×tÂCC™>u:[·o]óÅ… ‚Æõ§ùŒGö[gÜÊk¯¿Ê¶m?aµ)h5¢«ù\ך˜2hš HÐÑÑ‘$ ’¦#Ë:kÖ~Ùd!>>EQšþÏB `ʤ)¾0ŠËÛí¨(˜ÍæÚ5 ²¢`T‚ƒƒINNÆf³a2™„‡,ÓãÎõR/$$„ ã'ðÆ[‹Ï;ï´±£HLLÄjµ¶ÊK=EQð÷÷ÇfÓkB$j­×n0$©vS¥vàXkµ±d K+r ò7£ÑHjê@^\ðb^g~Ö4 ðõŽ:5Ôúôcªª¢( V«I’š.È͸AɲÜèº~­Ý¶B‚®­Ç²8»|I’0µÒ„îÍE½ãWá‚ÜȲ\{·ºbÈBÕ´³¾‡hŒNFl\<¥e%x¼^a¿.j?!È‚³{5M<ævBŒFcÍ‹:Mد‹ÚO„,çô¶Ú¡ ÷¿Í‰Cïãª<ˆŸa‰3O¹0´â9Â~‚ÎdAÇy⪓ÝßM@’$ ~K`oªËöpxË|vfüU¡S)´Ÿ ¢²€nþÝÃZô‘‘•$ ù휣?=ÅÉÃÐ'íc$Ù,W Y hù?ÍÍEÒðWØŸy7å…”þ| EKöÐí÷×ÐóÿöbØ¥—a1[¨®vPx¢}«dì_å’wç<‚úç~)#³?ãäÿ4Ÿ¸A‹ÆAšÃ‰ƒïÑ'ícögÝC@øqèýª261üù牊ECÓ4TÕ÷ÄÏÏø¸+üÿJcÛ“O¢þ×Tbç$³?ëz\ü»¿› ¹™?~Œwß{—ʪ Ò®ÅÈ´‘çL¿mûV–¯XF7ÿnL:Þ½z‹Fl%ÄK=A½èºÞ曫*[ð%?±mánÜû÷3æýeD”—ãyâIÔÃGêÄAu]GûõW<ï¼K$0úÝwqîÙö…»q”ü„-x®ª¼ó®—,˵Ÿ7nÜH=êìëÈ­-ì÷Å—_€øfÝ׬þpUƒi³²³xû% <˜„„Þ{ï6û®µyKm²ÿ~.»ì2, C‡eÿþýÆ~B†Ÿ-Žª’ïèIõ÷ÙŒ|á¤M›PW­»éË/‘eEQPYV¿ú ÃŽhßoBÞ¹“‘Ï=‡ccÅ;zRU²?[\Ë•ú~øa-Z„÷]•.tÊËËÑ4²²2RSSÙòÃ>ühõYé²s²Y±r—^z)åȲŒ±‘Qƒíö¨¯4ýaæÌ™Œ3†¢¢"¦NÊܹs…‡,„%ÝÊÁ¬tN.9Àп?Šœ“ƒþÙçP\ŒÜ³'E6òÍOò¯%oñ¯%o±îÉ'(ÎÈDéÛÃîÝè9¹(»wsÑŸÿBÑïç`V:aI·6ùB=ýXC‚»sçNÆŽÛ¥í0iâdvìØŸÉÏ'ʰå‡ÍuD9;;‹+—qÉ%—PQ^ŽÍæOîæ\Æß8¾Á|ËÊÊHOO'%%³ÙLXX'NäÛo¿mõïМfFF<ð‹…aÆñý÷ßw[ˆ²àœ½mITÿyìßûG,—÷Ù¥PXˆÜ«Žå³ûÀAzÝy×^w=»?û”ì-¡o¿¾$÷î÷§ŸÐ ¢n™yôHìEúŒžwV½Ïõ=:vj¿ÓéDQ” ² YSë˳f³èå2ä"JËJé×·›·ä¢ë:1Ñ1,_¹Œ‹‡^LYi)þÝÈÎÎfú´¤¦l°œéÓ§“””Ä7ß|C\\ÅÅÅlذ'Ÿ|’´´´Vù-±‹Óé$ €çŸžO?ý”Å‹wû YÐq?>ÙLuÀtz=úÿP‡ƒ… 0Üz '].v:̘dà„‰˜L&L&'NbÌ?òËî=9H7O‡ôÙh%塇q…ÝÚâ.oF£±Á}F£±ö³ªªüõ¯%::š€€f̘AEEÅo‹”ä˜5›­[Àdò£´¬„>½û»9‡÷—/eÈà!”•—b±XÙœ›Ëôi3vé°sæ¹aÞzê©Ú|XXS¦Laýúõµi<=ôQQQ„……±páÂ:y,^¼˜””¬V+C‡eÇŽÚÁAm IDAT¯©6zúé§ù裘8qbýo4›\/!È‚ Šãdž®kèññȳf±ãâ!$?5Ÿng¥ïAŸW_eGÏäû8t]'<<ŒãÇ·jÝ<OíßSŸŸ~úi¶nÝJnn.ùùù˜Ífþüç?w [œå;¶c2™))-¡W¯^ 4˜²²RÌf [~ØÂôi77*Æ#FŒà¾ûî#;;›êêêzÓ<þøãìÚµ‹Í›7³oß>Ž=ZçøÆÙ¸q#'Nœ`üøñÜ{ï½–ÛT ¶nÝÚ¢ó[R/!È‚NOEEf³]ב$ I’8Bÿ›g4xN¯ë®ãPd(²,#Iº®c6[ôTOy¸gn-aÉ’%¼ôÒKÄÆÆÒ­[7æÏŸÏ'Ÿ|ÒeìqJ”·ïØŽÙl¦ à8ùÇò1›-lÛ¶•ÓoaذáMÊkÕªUÄÇÇsÏ=÷Nrr2ééé””ü¶²ýÒ¥KkÛ3((ˆ ÔÉãå—_&&&›ÍFzz:Û·oo5-X°€¿üå/<ú裨ªÚ¬ó[R¯¦ bÈ‚zñz=íÚ³À`0|‚ìóJÝ€~NÏõÔ9Ão±D·ÛuVúªªÊzó±Ùüë¤oÊçüü|ú÷ï–§U_¹ªýŽ;†"IhªZÓ®:¯??3¿æýÊ!Cš”Õjá±Çå±ÇE×uöíÛÇK/-⦛nâ³Ï>­}BЉ‰n°ýüýmµÇEÆëõ6j§¦ØÈívqÓMS¹é¦©¼ôÒKÜu×]¼þúkM>¿±z YЪèzûôEö÷÷Çét I 5ÓP$•²ï‹/ô“€ÂÂDDD´¹ ÿáw2kÖ,<ˆÇãaçÎÜvÛíN[b¿¬ì,V®ZIb”–•b1[Ù½{7¿ìÞ¢(”—WGFfŸ¬ù¤ÑüÆŽ½–?ü»ÝŽ×ë%//G}”‹/¾¸6ÍÍ7ßÌܹs9zô(¥¥¥<òÈ#ç-ÈÙèô´š¦‘••Eddd‹Î‚,è2²ê­ÆR´”#?†á¥—Q'MÆ»`1Aô¼õÖÎÏk>Áívãv»ùyíÖNï‡æŠç¥ÑÆCzáŽÌ{[å Tou› òœ9s6l8×]w=ááÜyç¸þúë/x9;ÇçÇÇ'PV^†ŸŸ™0uÊ4fÝ?‹C‡aT***ˆ%#ó{Ö¬=·(?òÈ#¬^ý!]4”P®¾újªª¼óÎÛµiæÍ{„^½z3|ø H%66ö¼¹1JÛ­[A<üð#,Z´¨Ùç·… fͼW_ôÊk*$ÀírñÁÊÜ}ßLÜnw›–eßõªOæ²ë¶Ÿ1t(AN'Ú‰H}ûbºû. ªü¼çúVWH©ö2àò+ ÀùÊ«hë×cèÞR£‘¬¤ß;©XB/!¢ß_»¬}Þþ×[Üpã·šýöìÙËâ·^'66‡ÃÕj#//)“&3t¨Ï›=|ä0‹ß|ƒ˜èÜf? ùÇŽqíØ±¤]5R\8çi¿ü£y¼¹x±x©'hÈÃÒÛ¼³|ɯËé7j Çî™Å‹·6êj N'Ú/¿àzùŸ„ÿõ¯ÄÜp}Í‹>ƒo¢¡C©~î9ôŒL þþèááü°qA÷ô%iø ìZ?Žð¾ ¨Ñ:“ÒÒ’ÿhû}·a=QQQT”W`µYÈË;ÂØ1¿'!¡v»]×±YmL2+—EeU%‘‘‘¬[¿Ž«®LkQÏeŸ®h“¦ YpÎGÞ¶ÄS-xÝ·¼´ËÉÌÌ`ĈËìv´Ã‡QCCÐ\N~›t^G“eô¬l¤ÐPÔÐP²r²ÑG^A÷ßea €§:¿¶Þ%M\q¹+NäÞûQXhÇhòãèÑ|F¦">.ž'NàõzÑuß‹S«Å ×cÍÚ §ººšî¡-n¿sÙç?ur}!È‚†. ßU݆-1T•ìÄœJü¢ØçÄwëÖqÑСO™ ‘hšV[ ƒ Cž4‘âŒL¶nÜHõˆáôüC)•ª’-1m^ï®f¿kFÁãñ`·ÛwÃDGÇâr:q¹\¸].TUÃd2¢k:á¡¡LŸ:­Û·®qã ãD{ A´ÏõܶZ`ÌToN'å²·ØŸy7=¦fPÚÿ2çbµ‰?°ŸððlV+ºŽê* ùuÛ[ ðîDôÿ‹á2R†û&¨Œ™*–.j¦ý˜2i N§—ËÛí¨(˜ÍæÚƒYQ0* ÁÁÁ$''c³Ù0™L¢½… Úþznûrh¯tò6ßÊÁÜÙÄŸ¶„Ó‘«æ³¿ÎÖ­›©®vâªy9åg2a±˜ ¹úß;‚CÿR{ÎÁÜÙx5‰¨^éB Z`?EQð÷÷ÇfÓQUUUkP1 µ£(%IBQ_7Eĺ}BítE·½ c0wÉ Jó–s`óŸñ8¡Xzà1ž¡ý&áõÖCM=$ƒ¡f~ä±TÛ?dî<¼Õ‡1Z ˆžDDÜtÀ Dâ<í'Ër£«V‹6‚,hßë¹Ý.ºÀØéÆNoÖ9–·Ò½Ç­gÕ¹¡áÖÂ~!È‚ I’ÐtM\Ð UÓõ\…ý.lû AÔ" ‘÷ëÂÂÂEƒt"Š‹NÜÉ ûuQû AÔA–eR$+3“K/FhX8’d ÓhšÎÉ…lÎÍaÐ!ç\ÇNØï¶ŸdAÝÇ]Y&2*šÔÔT¶oÛJyYª¦‰†éà›dP`ý 4$³Å"ì×Eí'YpF£‘¤¤$bbbðzUt]\Ð~£4H(F³Å*ì×…í'YPÿ]]1bUŒ¢!„ýí)Ü¢ @²@ „ Aç£6†œ4O´†@ t †Y3ïÃy ð¿‚øé–L~[IEND®B`‚KCemu-0.5.1/doc/sys-poly880.jpg0000644000175000017500000016243612417262523016273 0ustar glaubitzglaubitzÿØÿàJFIFHHÿá¢%ExifMM* ž¼ ÌÖÞ(1æ2ö‡i€Ä¥v …ÚKONICA MINOLTA DIGITAL CAMERAKONICA MINOLTA DiMAGE Z3HHDiMAGE Z3 v1.022006:03:18 12:44:17PrintIM0250. ' '—'°''^'‹'Ë'å'"‚š‚&ˆ"ˆ'È0220.B‘’ V’ ^’f’’’ ’ n’v’|ö~’†@…t 0100  à ¨ …¼¤¤¤¤…´¤#¤¤¤¤ ¤ ¤  2006:03:18 12:44:172006:03:18 12:44:17ÿÿÿù ÿÿÿù ,dÜpTMLT0`€Êd€  t€@ ˆƒ÷‰±b  … …¨¯¯¯¯¶ÿmmnmmø{bV>•¡¹>!›ùzø´¨QrÃ¥D(TH©²ßÚ"¤£3€¥ýVn1ÌCvªÐìÙÃ=ÄÜË .Ö N¿"VT$¬!›TÌùz¬Cø´Ý=”—5„‘ÝPÈÒ¥t ½íO£Ð¢‡¨QÞYrlÊÃ¥¦àP à 537¥˜´ãY4AÍD(_TH8•©²ŽÚ/›£†»›&c¿Ó›„J…#úå–ßÚ#O"¤/-£ƒæ„¿„¡ÏzT*G`Û4 ¨4N 3€2‰€3ƒ€3ðàd~¨ƒ¥ýÊeVnøe1ÌjÜýƒ+þ«ÁAWóów¦ð9íCve$ªË©Ð퀯œA9—®"ÿÆc—÷Ý™ì¢ùÓì$[Ùï]=îI¬i#uVyßöté>ÃWÇÝ/ÁŽÄÜçeËư .Ö µ×E6€¡x×àr˜TêyE ¸eN¿uA€ðÔÁZYV%R"þV˜ Ý=ªãŽÐúC2ËËÚ;L¤L¿v32(Ð`°lÄ@tØb†î†ÂÈ£Ö""Ý•$=ªZ´¡dA>°¡®8â¶ÚÌ̾¾Ž8ãŽ-ØÐú—ZC2d¢ L>Dž³28âùnÇ©$yBË xËÚ…î;Li: >pˆ*(jÕTªª—.h¤Lú ¿vt¢32\Ô{d>’Œ$’Äì"bÅÐ(hÐØˆ ¸d`x°æþ¸~bL$8Ìll†Ä@"Ö”nP$N$àrt˜Ø.bFî¤x^&f6þ€†¬îR†l´Žj*†XpX- Xa¹Ñ ˜Z>- >{¹Ñ ¹Vc c m ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ>>IUamy…‘©µ¹¹õõ>DP\ht€Œ˜£¯¸¹óõdÿÿÿÿÿÿðÿÿÿîÿÿÿçÿÿÿÞVX_hpT$ ˆ[O$$  ˆˆ[[PO p024108"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿmmnmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ  mmnm]cœâyí(^ˆ¢¤‘y>}ô^#R'‚ÚÜóq õ°   óïa0¹p?ÿ?ÿÿóÿýÿüÿüÿöÿÿÿüÿüÿ÷ÿüÿüÿöÿüÿüÿõ ÿýÿÿÿýÿöÿÿÿýÿÿÿýÿ÷ÿÿÿýÿÿÿýÿùÿýÿÿÿýÿþ ÿÿÿýÿÿÿýÿÿÿýÿýÿ÷ÿýÿý ÿõÿýÿýÿùÿýÿýÿþÿýÿýÿýÿýÿýÿý ÿýÿý ÿýÿý ÿýÿýÿýÿýÿùÿýÿý ÿñÿýÿý ÿêÿýÿüÿæÿüÿüÿçÿüÿüÿèÿüÿüÿþÿêÿüÿüÿþÿîÿüÿûÿòÿûÿûÿûÿûÿûÿúÿûÿûÿ÷ÿûÿûÿôÿûÿüÿòÿüÿüÿñÿüÿüÿðÿüÿüÿð ÿüÿüÿïÿüÿüÿìÿüÿüÿîÿøÿüÿüÿñÿñÿüÿüÿôÿïÿüÿüÿõÿîÿüÿüÿòÿìÿüÿüÿóÿðÿûÿûÿøÿøÿûÿûÿüÿûÿûÿûÿûÿûÿûÿüÿüÿûÿüÿüÿüÿýÿýÿüÿÿÿùÿûÿûÿüÿûÿûÿûÿüÿûÿûÿø ÿûÿüÿñ ÿüÿüÿë ÿüÿüÿçÿüÿüÿç ÿüÿüÿéÿüÿüÿêÿüÿüÿî ÿüÿüÿñÿüÿüÿöÿþÿüÿüÿûÿúÿüÿüÿþÿõÿüÿüÿüÿóÿüÿüÿùÿòÿüÿüÿ÷ÿôÿüÿüÿõÿúÿüÿüÿïÿüÿüÿê ÿüÿÿÿüÿçÿÿÿüÿÿÿüÿçÿüÿÿÿüÿéÿÿÿüÿÿÿüÿñÿÿÿýÿÿÿýÿôÿýÿÿÿýÿþÿýÿÿÿýÿýÿÿÿý ÿýÿÿÿýÿÿÿýÿÿÿýÿýÿýÿýÿþÿýÿýÿýÿýÿýÿýÿýÿýÿÿÿýÿýÿÿÿýÿýÿýÿýÿýÿüÿýÿý ÿûÿýÿøÿýÿ÷ÿýÿûÿýÿýÿýÿüÿüÿüÿüÿùÿ÷ÿýÿüÿûÿõÿüÿüÿýÿôÿüÿüÿýÿñÿýÿüÿúÿñÿüÿüÿúÿñÿüÿüÿôÿõÿûÿûÿïÿöÿüÿûÿöÿûÿûÿûÿþÿûÿûÿþÿûÿûÿûÿüÿüÿüÿüÿüÿÿÿüÿüÿýÿüÿüÿùÿüÿýÿöÿýÿýÿ÷ÿýÿýÿöÿýÿýÿõÿüÿüÿýÿ÷ÿóÿýÿýÿúÿìÿýÿüÿûÿãÿüÿüÿÞÿýÿü ÿßÿüÿü ÿçÿüÿûÿñÿûÿûÿûÿûÿûÿûÿû ÿûÿû ÿûÿü ÿüÿü ÿüÿüÿüÿüÿ÷ ÿüÿüÿðÿüÿüÿëÿøÿüÿüÿãÿôÿüÿüÿÛÿòÿüÿüÿÔÿñÿüÿüÿÒÿòÿüÿüÿÓÿôÿüÿüÿÑÿýÿüÿûÿÑ ÿüÿÿÿüÿÔÿüÿÿÿüÿÚÿüÿÿÿüÿâÿÿÿüÿÿÿüÿéÿÿÿüÿÿÿüÿïÿÿÿüÿþÿüÿ÷ÿûÿÿÿüÿþÿüÿþÿõÿÿÿüÿÿÿüÿôÿÿÿüÿÿÿüÿùÿÿÿüÿÿÿüÿþÿÿÿüÿÿÿüÿÿÿüÿÿÿüÿÿÿüÿÿÿüÿÿÿüÿÿÿüÿÿÿüÿÿÿüÿÿ ÿÿÿüÿÿÿü ÿüÿÿÿüÿÿÿüÿüÿÿÿüÿüÿüÿý ÿüÿý ÿýÿýÿýÿýÿýÿý ÿýÿýÿýÿý ÿýÿý ÿþÿýÿýÿýÿýÿýÿþÿýÿýÿúÿýÿý ÿùÿýÿýÿÿÿýÿýÿýÿýÿýÿý ÿýÿý'ÿýÿý+ÿýÿý/ÿýÿþ-ÿþÿþ* ÿþÿþ)ÿþÿþ(ÿþÿþ&ÿþÿþÿþÿþ ÿþÿþ ÿþÿþ ÿþÿþÿýÿþÿþÿöÿùÿþÿþÿóÿñÿþÿþÿîÿéÿþÿýÿëÿáÿýÿýÿîÿßÿýÿýÿ÷ÿåÿýÿüÿøÿêÿüÿüÿõÿóÿüÿüÿþÿÿÿüÿü ÿûÿüÿüÿü#ÿüÿý*ÿýÿý+ÿýÿý&ÿþÿþÿþÿþÿþÿþÿþÿþ ÿôÿþÿþÿìÿþÿþÿéÿýÿýÿöÿêÿýÿýÿéÿðÿýÿýÿÝÿøÿýÿýÿÔÿÿÿýÿýÿÏÿýÿýÿÐÿþÿýÿÐÿýÿýÿÐÿýÿýÿØÿýÿýÿÞÿýÿýÿäÿýÿýÿëÿýÿýÿòÿýÿýÿüÿýÿý ÿýÿýÿýÿýÿýÿý "ÿýÿþ #ÿþÿþÿþÿþ ÿþÿþÿþÿþÿöÿþÿþÿùÿíÿþÿþÿðÿçÿþÿþÿçÿãÿþÿýÿáÿèÿýÿýÿÛÿïÿýÿýÿ×ÿùÿýÿýÿÕÿýÿýÿÕ ÿýÿýÿÚ ÿýÿýÿæ ÿýÿÿÿýÿò ÿýÿÿÿýÿú ÿýÿÿÿý ÿýÿÿÿý ÿýÿý ÿýÿýÿýÿý ÿþÿþ ÿþÿþÿþÿþÿþ ÿþÿþÿýÿþÿþÿúÿûÿýÿþÿùÿôÿþÿþÿöÿñÿþÿýÿôÿñÿýÿýÿöÿõÿýÿýÿõÿùÿþÿýÿñÿùÿýÿýÿòÿùÿþÿýÿòÿ÷ÿýÿýÿïÿ÷ÿýÿýÿðÿøÿýÿýÿòÿúÿýÿýÿÿ ÿÿ ÿÿÿÿ ÿÿÿÿ ÿüÿöÿÿÿòÿÿÿÿ ÿòÿÿÿÿ ÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿüÿÿÿÿÿõÿÿÿÿÿôÿýÿÿÿÿÿòÿùÿÿÿîÿóÿÿÿÿÿìÿìÿÿÿÿÿêÿìÿÿÿÿÿåÿíÿþÿþÿãÿõÿÿÿþÿâÿþÿÿÿþÿáÿÿÿþÿÿÿþÿáÿþÿÿÿþÿàÿÿÿÿÿÿÿÿÿãÿÿÿÿÿþÿÿÿëÿþÿÿÿþÿÿÿõÿÿÿÿÿþÿÿÿü ÿÿÿÿÿþÿÿÿÿÿÿÿþÿÿÿþÿÿÿþÿÿ ÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿÿÿÿÿÿÿýÿÿÿÿÿþÿÿÿÿÿý ÿÿÿÿÿûÿþÿÿÿýÿõÿÿÿòÿÿÿÿÿñÿÿÿÿÿñÿÿÿóÿÿÿÿÿöÿÿÿÿ€€®®® üóóüü üøøþ_ @ƒhPhP_P_P_@VKA 6AB=C9 # & 66666 A @Z oE ++++0v»Áº6%,¸,¸0ÿÿ"œÿÿ .#+3;CKS äĤ„|þ&.¹±‘qQ1)QYaiqy“‹kK+ -5=EMU]§Ÿ_?6ĵ½ÅÍÕÝå‰aA!ùiK›CaVÄð;ÍAÄ!0%ð!`%àÿÿþÀÿÿþt’œ«D`/ˆífMHÍÿÿ/áÿÿ ÿÿÁ¸ÇÁ©ƒûœìaûwwXYh€€€€€€€€€€€€®®®ª'3%6pTït£+a Aÿº{_ €£®®®«®®®¬¯£[zwofqs~ƒŠ”Ž}’”^³¯V%v\²¾O =YR4i/©½B)+%)S£–€FW*–¹3+0. +=ZYJ%T2ÿPP-+ M4”/û¾Åd*:><>:4.*L8‰°GÔÉ^n¶ª¡¤’cpp9DFƒb\Œ>QWrLSZddb:;0€%$1|^+!).'Q4/w)ìS:+0FM>±;%18_.A‹+d(>G5†/,[Pw=÷¥'v&06" 'jgj5Œ\%;/C;8M)v›¶l¬¸–vUTVfwŒ‚vq}Œ‡én¡£š˜–¥´ÃÎлºÛßÁƒêy<,$"¥ƒýüu4+!&CeY3‘Cò÷fKOF)3eǬ–SpAÝñVTZR34IqiS)!qLÖ$WlUQ1""!! eK˵ÇÅÔäs/DEBMF?51&^HÂÇÛìèÞmù±|\NÍlotATW·$Ó ~{;¹ží_dpuypDH=®: N›u'7JR7_-&A<5ÉgJ-bžª^ÝYE<G{+˜ã|…+pUŽžR®33if( Ê‘)…Bgm8C$,•v}dѽs'B2I?;V1¤¿Þª‹ÈÔ°‡bck‚•© ‰™¦§¡–Wqmf]ikux}‡€tp‚„tW¤¤O mT¥±G <UO4a,œ°;"#'Oš{CQ&‰­+"'&):TUG$N-‚õIH$#H0‚‰@¹¾a*:?==93.*H4§XÐÅ[Juuszˆdut9@Bz€o–“@6FSKRXddc:8-x&)uY-!&$N1,q#ðüO7+$067¦3/5Z+f,“Ž,`*2.|. *XLr@òž~'r #)&bdb*’‚W%9.A:7J(m–¯‹f¨´’sRPQ`p†{pkx‡=QIZSLHT[c^\fTMFLO?7Il8 G1P†+  @c\='HH‹#)M•‘{JE9‹.9RZO)C5õˆK=;¦áK«­V"(%$!!C0BÊ\À²S'43.47<:8!@?@8¦Ž…? &,##%*%&8*FEr3aG0 M.(FQ; @&(,š//08\ëOŒ…*i  q/,Y2œqçƒo)s!!)?]ˆpcF"<2EA<Q'BYkQ‡pfURGUbok`bcl]®®®® Oˆ[" R980100†@†H(†PÍHHÿØÿàJFIFÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ“Ä"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ëG· ]¿ÞcBH–ç1®M0“ŠW-Í|u)Ôœ’»>ŠQŠF5ż~(Ô–]¯ç”ç¡ýk¡K¨Ý>˜®_ üW‘Çò(%ÔwRyÿ·¢ ¼n…È öka©;6ßc–“›ÒÇf·é»nášqÕHPKdã‚8®Mm!g_ÈU)|aoûàŸdŠÂÐó6埑éGRQ NH?Åž*A{ËUüëÈæñÑçË„v³gñ¶¢så˜SÓŠQ û’ù—cÛÅÌmÒAùÐóFÊ2럭x¯Šu‰–MÚŒ1BÀƒ­0xÇYòðŸ÷éµþÊ¥Ýÿ_#¬3ÛV\q¼ÆžYrÃó¯6Öÿ[úÄ)ÿðœëašÿlédÓîÇõ†{!~õ¦:’+ȓǺ²ñåÛ7ÕøÔ£â¦>õ­›À[ÿŠ©yL{²–$õ‹wb›$SéÈ¦Ë §(Çæ6Þ8Ô.ÌtûSåÆdaæàuêiƒâ$½N_ø äJÍå=¥ý}å,JÜôÁ.ä(ü¦gefh& ·ïsŠà‡Ä›ýe„£ýÙóý*(üg§¬„‹[¤FÎåWÔ<¦]ËX˜o«Ø“‘Ó5-Ôêéû¶jóȼm¥ Ûå^¢ú§úÔ£ÆÚiåg¹O÷¡_éPòÊ›&?oN÷;èâQÐ:Šæo´;ù³".”æ;¨N×CõÌ8‡fc¿|gÖüÒ­Új¨8™e…Âíù€ÍQ­OÞOaª°–Œ‹þ WDÔ °×d¾Xo`H?Ú÷®†ãS·†"Ó\Æ£å…fÞèë®i­ Ô‡aåqÕOb=ëD¶ˆÞɧj±#ÝÚüªä}äì~˜¥Ò­+ZK{uæ§%èËÓ^K}+Mm ’EœfŠ­{âØ¬îšÞÎØK|o Ÿj*•)µ¤õó+ÚE}£¹<óK n.}ŸÒÔöã÷R ýkŸÖŠ Üg-âUXá~Û?Jó8õ9mÙÕ“Ç¥zŒ¥Û Üýã^x!q^½9nßR%Ò·A%½2ò\š©#îxаnsÒº!JW»9jb"ôF¨à \P:WKme š=Åɳ•Œ$ âM£æÎß—fOç]9Îlm°vôÎ8¤®ƒBE¿ÕE”ÛšØe¶ªdþ{ŸÎ´/´8mu[HXf9šBÂAP8?/<ú WŽ>ŒWU¬hööFå”Ã$£Ë*ʽòJŒÿõ«>ïû>×÷¶y². “ÛžxÚ? gƒM5iÖ{·’à¨%Ü’x'š‚Hž"®22(¦æ•† _­Dr²(;†GB)Ò{J +ÅNwÉúÕI$#8b>¢= ks*[¼ #œ†dÏކ»NdÒ§A‚ÑL>„b¼õ´jÞ¢»OKûíBõ_ò'üj*/tÒ“÷‘ØYÃs4'í¯?‚1øšã|`M¼‹P†úgr<™Ï;O¸­«ý]í&–pe$Žz(õ5Ãë%ÄS;HÒžìz~¼¼,&§y;#³×+HSs œ£_lÑ\Ò»cœ“ëÇõ¢½/dŽm#éRØnÛþ=Iõb!ÿ׬ÇzÕ€mÓÓýÂ3ÿÖ¯/_¼rìN²÷R<ïÆÒà…'©®IW+]åÍúGïX1pµ×hŽ£LtÓ«C”(¹|¦t±nRdÕöX¢˜2ÄúŠÝuéTn”=s]$ù’9q\­‘'ß_­k\ÛÛŸ>oí%Y·1ò6¶zãéY( uÇ\×fmÑ´)™ì¬^óÌݽG—Œ“œçvkÒ<Äniž °ºÔEÔ­t®fä©W'3Žjî­à‹GS’í®. waò¨³^£,²ë’\ƒšó‚´¢4,pIíÍ^Ô¼ýW]3ÊþD—Ë"\£jñót;Ò°îvZׄ`Õ¦Š_´ÏD (=;Õ-sÂ0K§Û<‘ýž-¬V,™:ryäÖ'ˆg¾Ôï ¸±ÜmŠ`ÀõÉàÓ5Ûëéô«Ef–±Å°2ËŸ0åG8Bg‚+©ð»|Bñ’Û¸üAük˜àV׃æò|Y`{32~jiOTʆ­l§;¹'q ŽFkQ_ÜJ1Æá]n¹/ú¨ÿé\Π˜È\àyQ›öÚ½™èÎ?»ÐâÂð8ýõ¢¯Ú4"Üoˆ1Éäýh¯QËSÊPÐ÷¢y«·w¢ÚÈsºƒòÍRQ—ZÛðü)uâKl‚IH#9ÀÇõ¯.‡2—ž‡¯ˆ’›èxç‰.>ÓªîÎ@ª ÐWÓß|=¯e®ì&?òÚ‘¿Nã\&£ðUƒÓ5E+Ù'LÌ…z2ÂÊ+ÝÔΖ>“ø´<¡h'Þ» !°?4PH=RQýjð>ºN>Ê£þÚ¯ø×3„“³Gj« +¦s MQº9Ûõ®ßþö¸ã”¼¿á\ÿ‰¼9{á÷¶[¶¼àJùg=+z|èæÄN. &d-ÆÛo$EàûüÜ|ßO¥H·×…Ê£}å€~¢ªÒŠôO0¹e¨Ëe;̱Ã!q†Y£§œô5;ëSIsÿf´_,å¬XFÈÁȬÌQ@·쳘ȳ²‡c‡ýÌ;7ëƒÍ%βn-ac`xb*ØÎzæ²è ÓH§bŠaZaZ”Ša¤"")ÑwŸ;~ÜlëžÔ¤TmÅ "nµoE—É×ôçô¹AùœUG¦Å!Šâ)T‘[ò4ž¨ê$ùnPú‚?_þ½sG÷€ÿ*ìõ›E¼1ä œcÜ ã^_ˆÎmCR)Ÿ±±9p®+âK3Ã¥´€‡;ò¤çv½Y"eP¡ÕG8ÝŸç^{ñ*çΗMŒ#Wê~•0½ö4÷zJç!¥B—…AIÁ­ñ£Aÿ<ãÿ¾ døz?6ýÀ`¤!ä¶?Zë…Ÿ<].2<áÜg?Ò¸q•œjY3º†U!Ì‘˜š=›`œžGZzèVLFm°Yr:Ö²DÇx†Yå¨ïHåÁOs°wgÓÚ¸%ˆ©ÒOï7ú¯,o5ù'A²Ïü{7>ç×6ƒd ÝnÃî{V¬3HKnnqÈ žÿäÔÆw'‰ëßÖ¥âjÅÚïï.³0dÐl—#É ä– dSÃÐcˆW>‚Sþ»)’xš0Ç{}Ò}OzcéΓL‹¨oX—;”dÁ8àú)ª†&£ÞvûÿCž¯²‹÷QÎɠª[Ëz™OøTi¡Ù¸y {ÍnÅcw5ñ²[„´¼àqÇ=ùý*m.&¸7dž,ŒpSŒñÓ½tûJ–w©Òýv2¼ VÑ N$]ÕBûHŠ÷ÆìzZëåÒ®È Â6Éü 1Ôä þ¿¡¬RØÛõ¬Üu>Ÿ:uæÞ“¸{Dq“ÇåH9f«K÷ ô«—œÎ ÷RAò‘í^¬kS{˜%ÓíeþòFßš×”øÒâi |þ¼¸ÿž×ŽÕçåѵ8øÇ£;»›ÈmäÛ#Æs´>¦«K¨Z8¹‹8é¼U–V7ŽFuüjôQ4X{t|ƒ€yÏ®Ez·±ä{>n§­ÝÄ×#¡ú0¬Ÿ´ÇŸ¾¿cøæ´ìRU7JÁ¶€3È㊼ÖV…Î-aází_ʹjUÔ맃ÓrÃÝFúÅÇÖ¼óÇS /í@92ZžÃNšïíRàW#ÈV7‰úEšŸá¶Z¨;±{.F™_Fšní±Yqšß[­#zÿ¥qÜœdqÚ¸ÜÑYUÃ*’潎Êuù#Ëʙۮ©d»qv»F8È©×RÓœHMðR0QAóÈ>œW ¬]ÔqÄYÝ£¹‹S´\îºB}KZj–dÿÇÄ}?½^~ÇŠ[xçºfX”1Q“ÈœòúkÞ”¬Lg);E]ž‹ õ„»–KÔŒm8!ª8§±†Ù‚jŒ¢c‰Qdê=ýk„ûöæ_#‘ŒüÿãBÙ^¹ AÈ;OÌ:þu’ÁÒ[UÓähéÕ{Ógö«RÆãûYÄÉ„F2rWëQ"éöó;ê*º.U•ú種!l/L{ŒsüC·^õŸe{ªÜyP™dÆp~5PÁ'u¿‘N,w1ÝBÈsª2bO3OâÏ_­gêÓÛ¿žßl¹Þ[9éYC ó|¿°Ûwczôüë#S´ºÒ® 7p˜ä8$+XàR—79Ÿ2þQ—ÛDe äóTx5cl›rèWÞ£u®è$•“&¥9ÁÚjÇ£ømüÏ YîÆëù5yî«=ü×enî¬Ì¸p~µÞø0ïð¼KýÙ%_ë\Šá×/b ϸŒuÎ (|m_á¦U}GSpŽ.&UeÈÛ+zã×ÚŠ’Å¡kD ¹=óýh­tì`®Öç´ßN ·‘ÿçœÿçò®Óàä^_Ãûsýù]«ÎüC?—¥ê Ÿ»o·óÿõצü*FÀÖ‘‘€£#ñÿZâÁ«B+ÈìÅê™Õ ĤǸŒ1ÏùÍQ½Ùå¶ä”¼ã?7äjä°HÒ3Grñî9 ("³oí®ÌD¥ðSï8ýkÐi³ÌH­Ï&ñ¬°rij8DbXÜ Z™µk(Ì.i\nËã½'ˆô)õ üÍz§`8Û:ò{ÖXðÜžO•ö¥+þçÿ^¸å ½OBám (¯®m–E‚vDv%€ïY~%?ñ0€z[¥umávQÿCþøÿë×)â¥òõ¿/9ÛÒ´¦µ3œÔš±š3Å6‚q[vhÏÜÑšü§éVô6a,øPFÐNN;Õ'?!«:)”M1ËÀA»~k—ü&v`ïѾ®þt…¢¿ÇÿÖ¥Œ¸–Cä¯úÎ2ýñQ«Ü ™aƹÅ:38–BVdã$õÀ¯£êtdˆòy80Nð¿?=yíIàWGÕã! ë yùóü±DFm™+;˜I㚇Á•%ÈÙ Ò»p?oúîxùª³‡õØõO!¤`¢0&?ÖõéÞ¼·â$L5˜Õ£Ù˜F>}ÙäשáÀ_øõíë¸à×™|HIþÞVò¶˜ˆ_,“П_­wÀòäìaK§ÜÇl$tM¸ù?•gºŒVª^O>œ»¢‡kGœäç¬ÖaãR)ûD^7K5*nöÐíüs¡L‡øoHü -qž6Ëñ ‡yþ•×xñgzž“Æß˜Çô®â=j&#ïD?BjãüFsTÖ‘ÌÚß-´E ùÎKETŵ‘ËÌÏ`ñ\¸Ò¯‡÷Þ8ÿQþ½ßÂ0‹ Y P¸Nƒò¯ñ™–Ößþ{ߪþµôFˆ¡tkP:lÏë\Ô#k/#¯ýß™i«3Q—lMëZ’Ì‘©,qøV©©"#mÃNºœùQçÆƒ›8{ößv櫸¡sz;¶ÅÆÏj‰/#`À"‚Çýjáu®ö;–¥¹B^yoŠÎ|C?²/ò®åu¶»K‰Hv¹9B8hç¯>•Áxšc7ˆ.à(ãè+zm܇[¿Ã= [JÔX¢vI]ñ£gVµÎøïJ›G½°·¹Ku­·¹‚5E9vÇÝàã¦}ª…¦¥®2ifâÞ3„af̘w O"ªêÛ:„è÷ÿk¸—¥,çà{dþµ²33Fjh¬nçÌŠÞGBÛAUÏ>Ÿ¨§>ñeX¬¡Û;Wiç'‡4¬çä?J³£³£M"2€0Í)±»Y–&µHÝ¡çuí¯…Û¼sBXa£XÎ2:Ö5àçZŠE9c33¹i#à(áO?­K˜I'Ïw÷O\zˆMJfg†Ø![lyÁ¥kBØî•vy‡Ñã8â¼×‚¬ûÚÍ(.æÄk:ƒ‡%Øca?Ö°íu ô}Kí¢4ŠH!ÚiWS»RpéÉÏܪÄï$·$œšèÂá§MËžÚœ8ìe:öäèuøûTž4o*Õ@þ,àþµ…â]rç[òÞâ8—ËR–¤uüj’©ŒaXœâ¬E2­´ð¼É怰å0{WT Ów1ÄÕ¡:qTÕŸR 8î?³â>|e|¿»åóLæ˜Â¥ŒÉ+ÈÁ` Ÿ•4ŠÝž>”áÍÍÔé¼ÛMúÿ³~¦ºj×DÔÜ}¯L–I¢Ê†i1ßÚ¹?œ\Þ¯¬ü›ÿ¯]ô$O¼ý׳õåã«Nм[ N3V‘Ͷ‡¡«`iI÷Ͳ֬N@$Q^o×ëw:þ­K°ÿÚGo¬è¡ÝUMñåŽWºéMÓ$ B¹Ïn+Ê§Ðæ–BnÝ'ç*\à¥k)×Ùmã¼q ®À«(éé^Ôq4ou#Ì9J*,éõØÂæ$»„‘× r·ÚÕ­À!îTö[Ê©Üh22On$îOÖÔJèC±À.çô©sö›HÒœc¢4žòɘŸ7Ÿ÷ »µº‰@Ü:’Mg.‡£ÎêbÝ–çò«ÇÁmìWÓ¸þMYò%öE³G+7†´ï7Ì‹u§Zãü@Të×B7»€ >‚½aü„cɾIdÿͺð•nb Ÿ½,Œ2~¤×E9ÙêîsÎ çí}u¡Ëö(n –4bå¢9W  ŸL S[Ä3 t†(cŒGÅRÙUaÈëϯ5Ü·€ôVäÿ¿¿ýz‹þ-›j¼™ôóke4gÉ#‡‹\‘<¦xc’XÁEs‘ò’Iw<ûý*ä,¹¶X£†Dpñ9%G~}û×N| ¢gj#ÛΣÀš+t»ûü?ÂŽt’8÷׿š2%DiñtØ­Ô8ÿõš˜x–q†X£e¾n¼3n<}k¬ÿ„G?òõ'ýýáRGð÷I»<ì}¤áG´Cä‘ÈizõÅ´²ÇEþ“.Is€3ïI®_ÏqtðÎ!ߌÌÑ«ŽŸ€ÚÿÂ·ÓÆ{œ¾?ž¿tæ8icþÿÿZ—´AÉ#ÌsNêCáÆš£-ÀòcúS—À0lm—>žuO¶ˆÕ9YK^Ÿÿf„?圧þiÂþÜUc èóO­Ú#öR<Ç<E,3»Ü,m‚ˆA;ùè+ÔbðV“$&UÓÆÁÝ¥aÿ³SaðŽ‘p̶öp3)ÁÌÁüM?j™.›]N'Â\jSúgÿÐ’»{™£(›œ|±&G§Ê*Ä> šßsZEi a´°~qßù f¥mkhV_´:"¯˜§åRÏädwü«ÏÆû:±³•Žœ;”Šâé‘\ÝÙ‰ ÓîfqÑx4WE¤I~Úz3ZÉ0nU¡e @3Å£Mh£˜åRwÜà|u<ͪ†WÚªp3Àé\ÊÝ\'ܸ•~ŽEW~'B7÷ý©¨¯ ¨]í3@ú•öÒ íÁ†R­WO*ì$Xµñ­o*´W²+/CÁÇæ+¬Ó¼a¯È£~¢íõD?ÒŠ+ž¬cØ«'¹ÓØøƒT˜¯™uŸøÿ…t–·\¦'!Ç\Q\VØ™EXóŸŠšö©£é¶Ñé×l&yw˜À ~sß…xÔ÷÷’XA#ÝNÒ<’îc!Ë}Þ¦Š+ÙÀ¥ÉsÎÄ7s)ó÷Ûó¦ùŽ:;~tQ]§:byòŽ’¿ýôjXo®âÝÜʹë‡4QRÑWg Xx‡W]fK/íͱ•‡–͸{g§á]ö‰4‚ ûÎíÍÎÚ4Q^?G¡êáu†¥­oR½HB­Ã…=Fk¸Ö5uKDŽé²¶GÒŠ+›“zö‘¼ôZy~fŽs4ž|¯#3±äžj{"ºcF…ÏÌU-õâŠ+Z²jÉ>€’i¶kÞÜ̲0¬h®§TB%`HÝžù4QYÒÙ¿A4i[jW‹À¸lVt±ö‹å2üç=袹ñ))»w4‡Àv¿Ù¶¸Q£ÈÉÈÈ õÀ QE´[±ÂÏÿÙÿÛC  !"$"$ÿÛCÿÀá,"ÿÄ ÿÄZ !1A"Qaq2‘¡±ÁÑ#BR$3rÂ4Sbsƒ’“¢áâ%56CEt‚„²³ÃÒÓðñ£DFcu…”ãÿÄÿÄ8!1AQ"2aq‘¡±ÁÑð#3Rá4BSñ‚ÿÚ ?±Ú—˜É•ê‹Å?u±”G.SØVó?ÎFÂÍ£‡#œyNÇ7-è…¼“©WQ AiÅæ¢LW!8Òu¥6”¸ÜÂ8KÎ3”ó¿qƒU,©[ë×J­O©&hhªzÒû)ífÿ¾èÒ`­¨¨—;«¡Ï˜UõÛ¸šmG¹ZlJÓ[°D£ÁC¶ŒªQ¦Ò{’"¼¡b)™¹fW.‚¶‹i!k^à|M"¥1ö’×¥Á“˜ªVV5âà`‰” ­ ¢lr"—S}Cª¦’{œGÃ9T¦3}î  Àdÿ`õNß·ö£EO¶Öy´žÅB†t!ÖâR;I°€'fùã,²¤»oŒ:~ ·á-¶ŽÎ<;ú}Æß˜;õHgoíø#Fçâs6àPíñØxŸµ’õ‰V™v˜N··=p ÄsH¸eÅ·T˜p1[¸˜“>)„þœ—÷_¢î”Þ_`ð kÓ 3¸Û£¬J`tb¤©+’úòã$üaVëác@ÒÏrÇÎÞÍÍÁã×蕵måðDivã{ÇKHR-Ù-ÕÖv`zÿ®5—P’¯&&ÝŸù†Ÿg'ýÍõú%éMà u¥’5„ÛZ‹v$ÄzqÔ?j‘§gõÇb§ÏÉ€‘OTppóþ‚­¼ANWš÷¹ؾ¦g¹²·ïŒULäÄöõ­ð„šid)R®\v/û1½ž«[ÍHÚ¸øƒä¦ÆI–m}yŽ}¹†N„Ú³Wm8rÓ î BË®° C’sÐ>q°J¾CÌ.lí/‚áN%VQ6¼9x‡Ø:ÄTÅJMGóSIÁƒñ†ß†Yh)(⼂>q Â*ÆE¾¡M¾aÑ9}SRëÌÚÕËW^A³‡QÿŒói¨‘:ܲ$€Q%%j_wÙ5Sª´µ$É6B•™6=âПƒÕ5Ö?}‡YÈU™˜T«Rp¥¸ƒ¡×xfi¤+êæÚ¾ç­o|I·Yú®“2ÊÃ&þø¡TbÃäšDw»Jp÷åsIB…ÐÆ$ÒÐCkBE…´ˆ‰É^!Z¦XƤübY™¹gÕ˜hß±bÚiÅöš|ŠYܬPV!¡ÑªªrV±Mbi¥h¤õÓࡨ€—ðö,èéãXÁT¨à瘦¼s9>#_eq)â$‚;¡ eC‚¬ª:wÁ4õÁÕ"í:ƒ¢I dÃk>* tŸJÄó)2érFnÖS.¨oÌA¸œqÄ…f7çŸLXZU‰¡ŠðÀ N!Y¦¥ÛÐ/µiŸh‰læªxT.RY¹š‹¬Ú‰iæGxììðÖÕØ\5q‰© ¹‚tA —ÂýÜÃÀóVdìÂ’3jŠú³QhÏ®î¦ã¾®wW•Âá7 Ê´6ÔÚ©xZBZQ(šO”¨°éd[ÅÙº/ ‡j2ˆI`¤‰¼JšëRí…:‘øå·'é.•¤()Ô‹[ìƒpƒŠz/.Ú!¥dAW%’š{L,¤©GÔ-ï1´Âÿ&ˆ¿™þl­Nàª|7:š<úèÓjú…’©Už@›”|}pV©¤'@@€L~@Á‘@Ý ÁåôìNÿ2ú®âE¼{âÂF† ÚãõIÅ3÷nì>ŠÈv¨Ûw¹O¢#¦ñ<»-`œ«<é'6QÜb&eò»•*çÆóGírG“XòQ° „©^H‰šÇó&é—e(¦_UáªÉ'O\JØZ˜^QLî/©Ìƒ™ô ~õ"!fªnºIqõ¨ždÄb­¡Þ̨**°±;# uR’ä-9—e\Þæ'jR4V¨RRU/(Ÿ{7”ËpJx6Û^q"?'@ã–‘tAP™ZÊöGª:)M¼Ñ§tkCß”-—‰Úi !÷’zެx*8´Fs޲äéôy“Ó)ðtÂÈ®V‘æUçÓá0±ñˆèß„&ÈäºêY8Ÿ6z˜‚ªŸ µüádcLZ±PøÍ,ûÌAs+ÃHM†òK´y£ÊewÍaÙÚë÷L¬’Ò—sº’½H¶‡Ä{m±ˆÄô“æÖ–I–Ͻ0)sb/aÙC7mâ]ã¸jŽ”ñ¢<ê“Kñ–oà˜vÇKØ¥±gôÙ#ÜDWÇÃHáV†îc<ï¤U†ÿJõY„)ªq¸µÐûF7Òüè@K´YEØjBÈŠ¾3Ñ 4ñž Ý&QÅZÍt¾‘~.iDö?·ôc¿Ùb˜áúÚ“ºâM½‚*XÕõ†ôX¢®QÅ[Ké+,ýe&h~ŽSñ„ŸÇ8YäHT[¿ÚJ§ô¢©&þ&k³‡&„¤±ä©{Œ•dëƒm¯ÙiYÀ' É8•kRjôªâŒµ̉„¤«*Î[kööˆ-“q÷i²Áç œISJQ7&Ú‹žz§: š ã6ÔlZ{úŠ>ð"ÚªT¥È¸âе‘7ÕsPþÌU┥ðº6 œ‘ôUp{‘<­&YRÁN'1¶±QcjÀ¸¾^½O»T‰×r¼.%ÜíðçoÙòø¦ ÀòIVeZ;)ãb}Ÿ`þ阶§†féîyÊGšÙë\j7kE.ÃI0&Fç‘DÕÞxȱîEò5I1EUAòÛ(m?Zn,’7ײ*ŒAks•7¥L¦RLuZJ‘r >Ñì¿dS±Ff’Œ?<ë™C•æÎ™ÊtMü…»„m._²,Æ39Ö¸:x ÅcåŒp<|W«À°°ŽM‰ŽÎ÷Ž©ßXÅ1[þIiókûÉ’âõ„:„²Ý½¦ ¤¶?t|z€¼ ãeÙn+°ZþˆÙ»¡¼ÿê µCŠ¢zK|»4Xú“œ'T6Œb¥ ŠÃ„ëc¼;r‚â“vÑdé`¸ÝC<ìĶŽ—‘åë!àðÑÄ…GH˜S@ްÐò´GÍÒeܹAS*?woTI¾ý¡cÍ3£Í`Ür?T“¬ùÊr‘¢‡ªªŸU—'ÉæR´ö^ÞÃq³3“í=•nÌ ¨Á°#²$dÎË‚ŠjÍÈüƧl¤ ©#ÄDmQ*òEÜ…m¼aŸSýgž$Ü€-cm:…L´ÚQQåÇH[bJ­›l—hnEJuYHî…ÚBœq(BJ”£`3 4›&SÖ†ç˜Z‰JÁ&ÝðZ„.Å=ýI\½Ç.:>pµ>˜§æÛi×Ziµß¯$\ åÞÀ…ȃìäÔÞÔŒ56Õ)’§¦&X_)ΠA¶¦Ù½Iì^œDÚœx t-é…8[—h¡´ ,-ÎܧdU Ë33,¤L´ÚòR¤€¥ [/­‰†StÉÙfx¯K­-æ Ïk‹…ût>¨³ú$jAX}^WNLëªZø(\‘} õw°9o–×±ßckDoH´m”ë’/M)smzQlÀJí`­îs{;a¡Ü‹E®Í¯kþ ›·ð*ùCg$¦Ú€ä»Èv×Ȥ«o´]x~X¥¹-˜14™—Tãâ”ò×|ÊÊ3£B5®{§Ù¦S1Œ¼´Û¢bŸ/.¦ÔãÍ)9Ò €%6$xn!®¹Í² TœÊA¼»½ýC§¨32”Vên8ÉmjBr‹ß¬’E®,tØ›\_x-¨¿…C­9L—¡,$”.p:TNé&ÉÓC¬WÏ<êSŠ-‚JPTl ì¹”™‰Ç*¼H®‘R I2ou…ÇW[r†ÓRSR¹ Ä»¬…ß)Z on˦ئ‹PH›méŽ@>’!E‚Xsê‚È‹Ÿ7]á79Á2„.º¾0‰©58 ‰°µýØ$€8m8”™bµ°âRP«ŒÝ÷hY ºRAµÅá hÖÉÌܬ̪’‰–eJ’II#·^PÙKMìT/¶ð¼ÔÓóKL<§Wk£óN´•*ê]ò‹éߤpºW[‚_ˆ’mpOŒh«³XŽRÐ'Z)qJ!Õ$‚-©øè{¡ÖLºšÁ3FWR]½‡–4PØcÑ5&‘ƘZ‚N\® ·öÇ—ØxËL50. n%cÐo£«XS‰óW,HôXü"·fÔd «,=Öw¼.é“à4EÄ c\W-LiÀ·†{y ÜÄ _>ÁòIšaZ “õ„¶…eZüªmÃÖQÔ$÷|ã5G‡´ØÉåÝÌò Ö¢ ‹ì}ÿ(:·<¶1c“Å@ Žº³wéðŸŒ3Φ.–ïd•Y7ïð†8½•·4 ºÚs¶ÀÄkWR3õþÚ•–þ²5ñµ®® 2÷“¬V=#¹’AÎ]S´mkFÀœT]g9ʨ,9RyDý£dÒð߈2µnJ¡ê)¹׺ÊÂ6] ¦ÍöðŽJd< “Êâ3…®ÑÝÔቂ“½Ä òRt"þˆ“[:è=0“Œë´9®MsÕR“+4S|5|ÈãH¢°ÌÊY Uì`¹öÆñ4ÁA͵ˆ÷Å<ï4QWK幬F D¾H5¦VR@RõóROÂ"´KáaýÓY‰I“êeqwÁR»5ÌBË.!ŠŒëm¼,´¥dŽÃÚ"v™‡k¸¯ µ5&Ës —›u:ã¨l€RÞQu}szÌ-NĘþ^A–e¥æL«iJ|ŽéXJr¤;ô‹ïCÑ©88±]ü —ægÖê,€m`«õÒAבùC\M²OhÍtI€ñ•&¾Úª>Å(!k(DòxjY”¯^]ÑÒ6Ç5üâe¥g&©aйt®m*Hä«ó>1dtu°æ$œzbgÒóm-Ò_l‘{ç½ †UÞ‘°•¥9Fzb ‡XZÛYKY€QÜ‹uíììÒ×eeÑîÄìáj’ki™Lâ³&_;ÀªÙn×ïsçÎ*ê†Ç33Ê›š¤M¸ê†Rx@‚<‘~aŒCGÄIŠÌ„ûê–“ImÞ+YnQe“kk¦†Û‹ÀâºOÀåYEUä§@äΠ vvô ¥$qAøÃ='„)sTŠ3¦¦8b`4Îu\ •,meQZMa|A,Úß~‰Qi´¥­RË Hɶ‘éÌAY¡Ò赉º— Ng'ÎÉVt•'@.4x¯åñ~–˜žš^"ne—.¡.X]Õ¢´Õ#{©#A´ s‡¶iÕU¸†ƒP!U@òu4‡?l +`<󾧼"fAzZàÜM=¿è·Dî&£´Ûm*}Ù,Òí0B’-eÛ@{>0%§$ç䛘”|>햱Ĺ$sâv )® Üq—Ã* )l¨ß˜Ç-«I”å £-ÿÑ7ö˜Ú[It$%EÆÔÙÌ ¬E¹Bo8›p[åÕZ¹ßsêŽpºŽö\Õ†t­’ ¹6 ¦5~ /¾Q ºl´d)dv¶ÚÂM¤¥´¤î8à,,šMܰÇRy ¬%C/›Ûp~PîmTã!,™d<&EøêYê­aëöDvPKèÌ—FI#As t) ³m´ä›ˆ.)$øê>¹"N0ã*+qe%$$ÚÂÇ–¾0äžPî ?ò+—µAìNÓÞ3˜:•6:üzx'¼©¿ë09æŸôFy_F”'Ž¡ ŸôTSðªEÀFÒ± ³K\E¸YâIQQ„äºRr‚¥9JÞ'ê –¦M¼Õ}q9õް™uT’<‚rWB0eªƨIi+¶¼@?¢`a-¤,·´b¼¾€; ³$™d(쿾D›4Û‰”uàP:Áv§¦6…¡fªAtįp:á±¹ÓR]žeæX¿®,ÞúÃü6áFTvI*1æÔ1ï*Þd-„§f2{‘,ÿY3ŠíXHôX|" éaâÜ›¿¢bШN¥©©j±q£ß{Ÿ”R½0OñPB´"Ѭĵ8 ‡¶Ì$ªªKSs®±&ѲDFÉ‹$oÛ*¾‡NÈŠLʳŒX'i61ÑÚûÃt•éÚaÚÊUÕ†—Ž^Ñ™íá-g”( ¥"ê ½½1TgÅB$V­ô¹ˆÊª®„߈6–ûÖ +,"w‚f‘¦‘)†™Ÿz®ÛTÒ<¥IRP 3fºH)µî ·8iJnUéæZœ˜òv®»™o”Cé•HHVfš‘š\Ì¥”†ŸJlly€mðó²Ë.® DÖ$cTi³F}uî"L¢›`äi´”‚}6<¢¥ÄÎT”¶›¨-¢P¥€–Ù åVk.âÀÞãœHRñsôæPÒLÀB‚Ÿ• : N{Ÿ;ØžÁ•YÑ6G]RηYJ*'´Ç¸æ¬,%‰i8“ ÒdßY–sÊ_˜|'e«0ÊV‘”$$ÞÞ˜Æ2Ó³;P¬H¢R¤ôåá®áw* 6¹…$!Öªá5Rä“UªËÍK4[O’¹Ã 9ʯæ›ïÝ˲â‰êa†hÓSS ñÒêøÄ©BÀßR÷÷ö §#™qŠð­£N¦P)¥e..eJIOœ/¨%±r- ØZðþi¬NiŽIÍ¥bWŠe’è.q2ùYHß»ç ÔpSª}×±-u•Ì(©Ä²ê‚5¶™x}ß!Ù“zS¸¹Oþ}r¦P³åkÌ\'/œM¯~ûo šì‘5jz­\ôšVŽó4¹wši3 N6¥}ZI²ll Ú×ß¾*gÓ‘Å$­ƒsøI*K‡VÞQRVê^ (p¤Ý7¹è¬&”•¾áN©*$V®*Z³&¹É†f%Ÿ“SfU„ë4ÚH!¤… ®5xBb\Êá÷PóŒ2‚„¡ä¬‘•W=R{½q¨àhTÒW 1Á….#‚˜DÔ™ŽNŸøŽÊHÁßS’Ë“¤p«ÞÑÙñÉ„\“;“¬rL>§NI°ËÓ,–Û}9šUÁÌ4>â ·Ôvä4®±5ÊÍî_]L©þŒÖme¦œ@¯ÖŠó‹›èäö|7[“½òL-úIòÄSæÕ59³Ó¬DÐERlmwIõ›ÀìÒ½0QŒ¬å‡œ„¨$@´Ò¯¥£ö‘+‡zÒm €‚±±R%8jmC®,«hF¼â>—<§°„64@¹<ÌMô‚-Gl‘»Ãܨ“$J¶-öGº4Ô’Ó‚y¬å[vj—²T®Vå)‹-q„XC>pêVâ]DnTb0†íU´ò¹ôZj£hŠÊ»5:JŸE¤0_š[JXF` s:r1Vô½…±m,UèÓRí^Á̹‘ü¡qí‹ÿ¢™dÍô˜ìØX>E()·5\ûŒ]/´ÓÍ)§›C¨YIP¸#¼FÝ”,šï'5E6(êW4\Y|Îeµ RAï‡I´{‡ô'€qwE3ðlµâÉ¿èù¾Èª±Ñ’¤Ú”ºzVa„L ¶¯ ‹ƒìˆ&ä·4}>5Nñgx¯<#¼Þ;‹&±ÐH4Ò¯î:&>Ó3#ÔMý8öÅ­-Hrƒ;˜r¿º+ä†F³U´u0È.×ïC &üá%X’D#bŧ¿š"GGÅß2†ÿ¥IO¼ÃC]É+¤g4ïdEÕÅóëEšž‰q»Äf¥¶Ýùªa¿€þðc ÏKJUÐÚVêxˆ-¯0#o„Hü ¶¶V˜œC@l@žq ;czöÆgVÆ£ú£#`#frÕû£wŒ¶¿(צ9rߌ½µŒðmËÆ9*èˆÖ»Æ#®9rÑŽHñŽˆ´jׄH¹sŽM»lc³¾ñÉœr䚀î„Ô!ExG6Ö¤IØc“ ‘ ª"ÜÌÄÃÍ6ÛÏ-Ä4œ¨ 7Ê;3^ç²'²pCW]&v‹[èØÿåÕéKê¶›XÇÄELw‹èé0gQÑéiÞŸ™ˆåB¤„ÙáãðS=.¡ö˜ô Nd܈±1M5™ÕJ©Å,e HËÜoñˆ¬7*–ŠËè;Dgå¤{¤$+±( ²ªºFœi2ŒJxŠ_i¥€#ãRÎ!ÖR¤h¶½¢tšsbÂAÊËyEȼAH¼ÛM¸Tkèmð1yMLc£Š ª©Ç‚öÊN¢0°Ã]¤¨Ã4XŸDv…+ð‚@û {õŒ^ÛÎ]È-Eiê~Žn¼MЦ÷J&C)=™R‘qÚ(Ï¢JÒõ»8HÍ5SyÄ÷ŒÃú¢óôÌXúãy}Á%{G¼[AQP ’ara ©`û+iV)X) óqU®kƈv³ZAiA§rÂç*¯Þ"¼š¬“2á-$ë÷ ¯aT:’Z.!) ʆÔPÛïÝÊÑYT0³‰RÜZò6Ú@»™To¹åÛÛUÉFR>¡£+ù)áXåÂOò¡DÖ]Oò -8M‹¤‰÷–¤\&£Kòì…fb`8&s,¸ ʴܬXöþöä@›£7Õ=þH©Ê³§ÍCb(ï¥ ÎLÎÑp$]¥§Nãýqb7†dQSI¨:·¸¹Ë|t VÖå©]ý&Ðë&„Ë©Ùâ5¿Ý‰"k6²I·>[w²¦ÆÑ/N¢ É4LÖk€ o´Cëkʼnƒ£E–¶Pœ÷UÓ{‹˜f!; ˆ9¦È˜™¶l‡E¯åÂݼ3Ýó…¥ðªÞQCsˆQ0éžNSICJRT tÜip}±ÓÒÊÊòZKW=d‘Ëm?ï¶(ÝŠOÁߢ$Ò–›0TÙL§ù40Tñ]ƒéþA‹RÊ[¯äHSè•vŽý¡w¥TÃÒëR™R\a*PBï•]‡°öøã5#ü‡¢!˜{žÂñ ïUª°TøÙÐu¶«åø—RµÂþ-_(³ÄŠË8•Ë–ÝJÎRõ”’‘}{.tÌ1÷U •9. ÊSeK˜ Æ×_Ýäoã õE®\=;þˆ‘‚J@9y…XR½Çûµ|£GÔÇ/ýµ|¢ÏE5òÛoõ LÉh‚þ§¼‹íc¿ïc!0™e¯ên&ƒa<~µ´7µüÝÆm¡çŸ˜ôú¥ü `mó ­Vª$ì‘âtr¬'TNÈý|¢Ë¨I†æædæšC­%ÐÌ“ËB׿|rŠm9(”@9 4R…ÁôÂþ?0ÖÞ_ÊZ-Û‹N¡V ÃA§ SÜ~P‹˜r¦‘«'Ûs”Šu’ƒ.›*äê¢tï¿y†ÓÔ©6Ú D“Î…«)á ·ó´‰¼ÿÏå@iÕhh+Ÿ©„ÕCŸp=±b´£(Ê’‰9ä¶ óš$l9q–¦šo‰›ª ROn¶0÷cs4æÑd‚œ*±U¡É´^ß|C'©SÉ^^'m5¼Yn²e…!*ÌŒÂÅK÷Â.¸fUÒ Pâ/$áxcëaeÝsUC­¸•[]ÆýS)AJ)ÙCpE­•&&ÞM•¢ÈöÀ¼ý“Qpiß0O½à…{vJl}°]Ћü”dQ}iÔD«õ`QQ5ѳÞOÒE ÀmwÊ?”’>13ÇT®i³^…¬ƒÃ@û¯¨zÇõ@?J¸•Xw¥Ét…ML«†ÍƉÒäŸ;­þmÿÞ¾‚=¢*Žž%&¢SæÐ»°ËÅ."ÜÔ47ô\ @ °Å±ÝU2¹éš„ÛÏÎ<]uZ•áÍ¡‹+ <¬×±Ú. âØ‹œ¹+Üh60”ãâXTæ‰Ñ†‰þJaiq™ÔŽÕÅîðp…~lwpúWßL§x-­{² Çú4òð7”©²–Ò·˜ý¥)@û„_kÑ1V}$Dî×Ô]>"ÑxØÛB:¡d+ù‡¹k18[å›'Hm2z¦ V:R4PØŽª–™]Û;vÀ•‰w3¥Æ¤ªàƒb bç,Ë—<¢¼â[^ø¦&’tÕ²´X/Ǥ ?´?ŠLrf)ÉI,J uò[hHPˆ’á*Þ0¹ac˜Z‹„¼Ó¤®]µæͨçÏbP4äÚE'ô˜ŸµŠBR’†Vm~ÓËîõIGtðñsȤ6Zþµ’š×\'¶®IkŽJ»$mx³ð}1oѤ\T»ëk0o3cLÊÕ#¿c¤UêÖþø²¨oÔ£I³*ãé l¥…(o|Œ‡€o?‘WX^ëzw­.àˆ@u¦Þur“M‰IŽç@rmé¹¼áʤ&dûfNdy9aHJIç³s¿tDy]yÏ5éƒÅP¾d“sÚuïöö'ª/.ié•$¨6¬Š7íÖü´FYì—ü¬|þù«²úõ‘o¿¿»É½)8Ó“ò'îÓ!ávþÁžÁß Î¡Öh8ÊÛC¬q›RÑbAní½±Ã3³NÌ8Ñv|,#"³ªÝ]­©ÛOdrüÊÔâ›sË,·{µ“µ€ôÀ›.½ˆÏþ}ûÓêW´ˆšv’nªe¹€Êš`¥däUˆ_°û!ԲȗF–†+™L¶S;×HR.4±‡2Ê´³}¶´t­³@µ•iyT躠¤‹èN±‹p…hL7&å&üã«‹Ÿ” Z—xë깩˽=.Ìœ¹úé‡ÐÒoÌ•¤ áì'6ÅFJQª‹.¦l,‡2­!ÌH"ö>¨qåOÉ–æå˜KïK¼—[B´ƒ€†TÚ½EU¯/­ËNÔYq’øÎ’Sp£{{ ê7Ô1®1#k“lµå—ËÀ’òû„COKÌ8ÛŒL¶Ô˜œâ¦àÉ·ÚÞäi ©Tª­I§\“!ImÆÛUþòÍ’=‘>š¼²êʘ Í )™Få[Ko 8ØF]sbN]tæa®¬Láú““‚R¢S˜¶ÔÂP•Øß*ô9‡ª“¶ù4¼kìç¥ÆG]G.* ȇ¦šž—˜y‡ šYBˆ‹ƒc,PªOÑTLÔºB/H!e°¬…[[ÎÓ{Âz¶Û3L5å-±4¢§[JÀJüEõ‰‡ëï+ ¦ŽÕ:iµ*úÑÃ?Yœ®ßxíáUTJA·.ÌiÄØ÷ò¿ŠBdQ3ô*Œ¬‹S&m••pÁi³#ˆ’¤_@5ú q%vÒ óL½wò+‚¥Y+Aë$Ü ®;DÕ±•3 ȦÎ)¶mkCŽ…$$ ©ìXÅÓ¬ÔZCTútË-¤©dº¤•)jX'n@iè ©¨s˜%{ö}ÜyéöW5Ò_5_â1œ˜U…Êͽ04?+¿j>?×x•´™÷›Q0ná5¸s‰l¯„h0ò ÷Á$Ú¦«7‡XeÞ0¢?{dždŸ ⬡ç“ÍË?· ä«Ôoð‹K]CuêjƨšßFпhˆ©ê|­NšìŒãIu‡’R´žÈ–¨ŒÊtçÊŸf±Wãœ}9‡*©’jA‡ZJ”H&ñ^Ö9ÆÍV¯{XÛ»D-ˆº ¨76µRgy‚nù)ZGf‚ÇÙÉôAP[7™©2Û—óP‚¡ëÒ$Yéjq÷CnSdšyËZ­ì:›éZbUõ2)’}¶ÝQIð¸eê-eY³I{ýW¢¥Tæs²W¨^úN{Éú5šM쩇G\p‚¢rÊ>£É³íÓã½6=“ R¥/bìâ  $üÄfpZ+ó*ú½Ýeêþƒ¥„§E´6€·äÉ>È$¯LLKÊ¥R­¡Ç”´¡ Y²I*Sý3äøŽ×Ý–L=®qì¢Z *ãe ?×ÁÙ #[֕ÿæ£UW©2@™¡¼REó°êV®ÐÎsÉ6…ùD­B_)±Ï,«Uàg;A·%Ï @e(pX߯ÆÔÙZ^y§Ð¦óeN\Ù¹l/íÙCÑXåVbüg‡Õ.µ åEÁS+zD'P–lŠ‹J=×ƒŽ‘ž—4Y鼓)ü‰Iá­•4'kÝ¢è¶ÿ N•¦ç…dœ…VÖž Ü›hƒ !sš4üh¢•ÿ|ñŒsPÒHUM¥õTH¥,.mÐÐHZR²eλÚ)ìlŸ)ǯ¥–ÉD%) ‘s`;'/:"†±£R¬eâš+‹KM϶¥¨„€/©>ˆ¨úe{‹ŠZæ.¶Ÿ‘zXÉqà>TÞì©6»H€þ”—Ÿ¨}Ö’=LÚ¹Cº ¡ ¡ŽpYGÅâFE2ª– FT…]7½†œü}p$£­ÆÑÉ7ލ¦díÙxÉXSUËJý¸Š°&ú@DÓê}ùB§¬ê! \éÈášÇÌL­J\•³%(9P,†Ç°E~ñ—Öü"˜ZÀåÞˆv)RàAv¨ýê].—º’T,z¾Ÿ½©]$1!PLërh[ÉIHâ²›c¡;Åf …ã/}aÁi^ çÞ™ |Ñ;iªÀwÈ)M”´ [R[þÔtÞ7B 6ç–߯ “Ë)„v LFwóL’²G¸¹Ú•e~;È$äsÕþ;S‰¥vý«RúŠ’.¥læ:S®&ù±â"'`”w±¿šá4‡0ÇNé“+$ôºå‹œ@zÅ;F¤:C£1"üºåŠËƒEíØ™ºAŒm3%D„Ü‘¸ sìݾ¹ç¯$þ“//Enþ?Ó Ÿ“uo{å7‡3}"Q’fXKå-ªåYN£ÕÈy`Žªµ=°YPóH=âû;Bã|ùꓤJŠßé ;1,ã2œ0زӗE{!¥cQ&æÔó R@ꄘ© ÁˆìÔK.ó 0¬ör„]—za«yË%l·ŽhI“ )‹¸p²ƒ·d7®cŠ,ãÉr]’È €â°Bf. eÜ6ߪtMgiJB€=¢Ðáìõ vÕÏšî˜ò-`ˆku¦&§ ¬ê’<ÞÁh©¸}¥¤m{éhj©°•q~ÈQGTú"Ò Xâ7‚ÅÎÍ$à´3ž‚L?R{Œ4MØP·(+Šˆè½A(ç”ÉSßýÚNþ´ÿ\Rý-0‘ˆéï«*$*Nd‚ “˜€AÐëaö_ á§·Í&ÊOŽDÅcÓŸYT¹Æ¬‚ê·xùÀ0›H:qx ðU5b]RóE*(9Ò•Œ»j/¤eNQ¦Á—uKCŒ!ÛpHÔzá §œy@¸¢¢”„‹òh#à Úu=ÂV\#cÉJ‹ÚÊ­qzÂdä¦>y¨¥>µðŠï¦uñjØfDÝRˆô¤ŒÕS ÒNîL$z1[ô€ç•t­‡¤ípÚ[¸ï+?!| lÓ4ø­EQ¼–ï ÜØQ¾§7Ù,tn¨Tä¨mIJ’²«©7 ?8^ŒŽ"Mu„`„*f¢ÁB²„%kWV÷Ú{cSM #>r{×n)ò™rƒls¾ãìéõ'_/“*}e´¡á¶Ç{wD´È™Î‚—š± $)³½¼b ©Ô•«äQA*)°¿…*XÆj¦éAçQF¨L®Mñ0©2Ú“JH܌ݱSôH\J§¬Ó„‘™²ö˜´:]›šE¤…³.] á’BMíöEùÅ+ƒ±+T$¼Û²ŠŽE¬¼¶µþqW0.&Êîk«Y—ž/º ´Ø #­™:xÅ_WžC=#®}ô-(iñ™&Ù€ÐU7ŠÐË.>ì’JRGUê6‘]ÕçQQ«¿8Ã⨨$›Û²!‰§;©åpÉV1%:­ä²’ª™qÃ4…’â@oIj¾1™uÁT ÔªrΧXéY±œñìÊ=u3Cn«©qtÀžJç^b5Ý'œr ’éKhc/$‘©Ò2úÇ.]\Ú7²nc‹ëxÀ¨å×]oÌþl›Â€›éM›6a äóq¹;¬û éг!4\¹c}ü¢¾ÂíñkòÍçZ.ª ŽÐqÁ%©œ³“C† ¬w.ÑÒ/~â·~ΆšP2œÊ0µJJp2ðÅû9zùÂ,²EZ|4YJ@Óm#RŒ-¶%’'¦@Z@#M»£„ʸjseÉ÷Ç ë E¼"¬d]ÖøóZ wݓنŠD—"áôߟ#¦qHšZÓtÔIì´ELK¸ä¼ºÑP™Êã©(ƒctãñ\aº¤âVçum°îÛÛ­ñæšö00.ü5—6㤖¹F]J\%Cµ é¹dúãÔt¥ÉÉ6Í= eRé9ÀÚG•iL2ø’†à΀«%DÈÚ=U†’Ò)­&¬ô¹-‹$@õˆÜHNÈ^dÆ!%.Ô¤Ìÿ“H´û…i*In˜­ú{“B°ÃoªM¶LÂ@)PB¯·¢-‰i4!o¿1U}:&îÙ0Ør´V>I¹ø¥å ÕffLÊ>©INRHV· K\$g¬œÉÉyò—Õ«j/t“I*A*HƧ³?X :òÙê“™6øÁ R//*·Ù¨L-HMò’#ÕÔUÆÊ€Çò[ -Á¸Qi½ù!W}¡¤Ê ^ýPÝÔÞúEÝ–«÷£7¸áׯ|‰ËÑ%? éþ_ûŠÂù76¤úÅþOÑ™º.NüÝOþê¾qÓÃð´Òíù¹Ä¯ÐA¹LëÍV¥Öà yVWU$´.£4eÜJ¨ó Ì’ Iåã8Ma8‚_1ä¯t _Ve¨¸m­xÊbîñvß!Ín½ž£ 'Ü‘§O>%™Q¦¾®¨Ë¨„‘:ù«>SN™9œÉ9Go~ÐæY\IIk8v:Gm¸SS0)ÎÊHïÔÅY-Ý_5¦Ü}””üó¥–¦L·gRn›t&œm*Z©¯©gu ·L µMm!Yò8’O`¼;FWS¥@œ sÜæìäܳæ¹âíü`‚¯Â !*Ižª´#]Œz« ñ*UNÑž}iF‹F[lyz¦Òš¬L¨¤‹>»ƒË¬cÓ8"}nÐió ÔÓA»-%C´ÆÙÙÄÒ¼À7óÞ;þjm©©™‰·£Nò„© R£³­´tää˘9öEjY´<ÚÔöddH€IÜÁôõY¢úeåê °ó‚˜uµ":Zug£ê«nÏ4ú²7q˜|âë $ÓuæªECðum…ðTù]ÒNê‚ÙªázQÖÕD›m%² Æ^®›ø@!Xj½ â””„½¹:3-ð²®#j+ƒr4ç ü2 ‡‰3ñU5ÒVÐ Ä l÷…±¼"àÒ(i¬[H1K{«{¡wú<™GîUû*øÃÞ™eËØ6¤«‹eÁëЃ‡ñRµ/÷'3úÛGÊ1ufµƒgeå[ν"¨ à?4ø£˜&ÝËÈ.¹Ò5kA£Ýc@á½ ôëö”‘ñ„ÇF¸Äëø_ΣçoX8ª}̇FŸ%èÉå•×—cù¶RŸeâèʃ=Ò…fop¹¶Çòž¿êĜӥ‹çìýhßÐÚP»QœVÎÔ÷§2ûB*!e˜à´veÞ+ÙÐÝCS#"ð,«Ù¶£ß6Iêã·B€ì‚‰·BR`^½Re„!¶ca¥á8h] “Šª±bʦçxƒÁmv£$ëè9ÇX&è:…^Ü»¢+Ë©å QX°±Õ™·dSÉUw•ÄxY oEÏ8Û‚ÚÄô´Ä£é%°…¥òÀ}o Î;,)“ y2Ám<†Âœ)Ì.°ocÙÙ‹ô _C±`N½Ë'•d±ç,XsbÊ¡Ÿ(XöÅüínÓLñ©s,‡ÐKJqÔ-µcq•jíÞ<û‰ââj“ÃLó+U‡ŒNâo’ÑÝ®~ ÖGÒæhLGµq†”ĘuT‘5/OiyÒêXmv]ÝJÁQ$› ƒ}ʯÈG‹iÕ¹Y: “nA)žKœF§@Z’ í›@:×ä"E=%c„1mp¯¹ÿ4bsOÊÚ¢Ÿ¤ÝSbš5žRe%©S–ä%*˜}@jI6½®O(©‰ÓM¢O×jÕùÄÎV*SSï¥ reÕ8 IµÏ-O®"‰¶äÕ¼ÄFßÜ^6ÿÄ-—.$B3@–î!d.-é…¥ËsM*až3)X+nöÎÔ_•áÉ(),.ÃSt¡ô¤!GÓÍIIºÓäË©®¯œGÖf)¨­ù}S‚Ê›m(å­Ö°º¬/Þ~¢+‹Ê´ªM2Jl#qnÈ ®¥©’]¨ÆYqZ¬+¦‚ É„ß-}위€”•Q**H 71Ô½6@U_Gd Ïl@J×§a ªNYe Åj¿º:MrpNÄœ·Y%ÃóL¥æÐâTãc@ £[üb8"‘„—-=‰ÑV@ÖÁÚ•²Bî2ÛõI&f¥<“Û†‡E²š{i$Í7Žqb)µ ФʪE¤- m PY¸äØ©¹° ØG¡Q$$¾Ÿý#󃙱^m‰ÒTË 1¼lš+Í‘Ö˧€ŽT›CJ¸%ct¯Éq?À¬zR¡ú±h#×)’2­IÌ2‰E±|¹ V|Ä{ÚÖ”U] š…i¿¿*ʽEÁñ‹"e ] EÔ‹¥!iU¹u¯ñŠVà•Å +OÖlü빿s±¶Ñ=ŒéO,ޢݻ®DCÍbšMú³y¼QøETÕwÑ_AF[¨IOLº¥%`Ôuà€J|a“®¼Pš  6Ê]6?‰iª^.ßÁ/å +H+g\þe(¯.'5b#!>§!Õ1zkE£¶Ó²)ïÿ¬X“xºÌ“Ó¦¾­µ*ÊqZ¬—Ôä ½÷ÒðOI~»I›ˆù|T?ì?G@²êUxdOD˜}#­;UWƒÍøps$¿(yçYS?h¤›úïʨÒ%)Á¤Ë2T用ŸI±&0Ùï·¯Á)¦oÝU¢¬6?ÇÕOúÃôᎎ°Ó)ê¦uD}é„üƒ-u…y;ìªQ„æu e´æQÑ( ý#è°E!Ši!;$È_<àXúF‘1­nÀvÞ½ÆþJ#¶Çª«)”Z] kš§J}w ·u¼T¬¤‚@Øn‘Ë”aúkîá™™·ÃMÊ.y ©ÇТߘ»“nÂSé‹&F½G~å2ÒhîÈ wו8‘(‡ÀEò¡>hôELøÜ‚ïDLtÏq d!ÉÒhsíLËå­¡ Õ/6R„žJ@¿Xwµ°eTTè©›\ê ”²,T[[«nVìŠÎ‰‡§f渴ü‰±¹eÀxkÿ—ÄAãiÂim(¯áé¹Yô€”˸°¯ß6,¡ß¼Wº ÖqË»æ8øÝ,ìlCgЬzqþ÷Ÿ¶"£ç^Înï’–§ü|œl󌌋ç!RkÚ¹´ddDå+Rch]o®22#~‰ãUÛ*UÏXïÛô*ã¬}q‘Ú"#ÑYxYJêêys‹C —~B22)æM“D¾1ý§5ÿÚf}èÕÒLã×7ëÈȺÁ4?|Õv=ÿh¿ÃÌ{Ûˆi>225C²©]ÚMÎñÉÚ22”$Îñ¨ÈÈDõ£¼a?ð2©þ/þíèÈȆNÉOU1ÑÑ?‡Æ¿dÅóƒ?57þt¯÷MÆFFGí;Ãæ“ ýãò(¹Í@N*ý°¨ÈÈÏê³+T·—h¦(Œ3Ž â–þ%—èoñb„kO“ÉT"ÞÝF¶ã ÉË7³>ÉuPB΍ƒjà(­ÄûÔ‚Ø ŽwúƤ˟&_3(ÅŽ1ì}#ŽiƒLŒÇÒÄRíaÍÓ®ÀbO7#ä“C}°D*ÛÄ…s@mïÆ1œÕ¡¨ªNhD8O±IÈ€k2ÛÅK+*"Œ³1ÀßRê:’>ì6 !öúü?f¯c$¦>ÑOÓÁÊi{ƒ‘T[ öK]Òïh »‰®$™œ®îHè1çÀ¦€È†kóŸbߺí‹tE­ÇÓF3»}WñL[2&Ÿuúà Ž =ÞGŽ‚ºFGêҽέJNáï ókóJÅ-ä>ÁÅCæê*Êd£ìÐÒX鯲jZd2K¬å`Ôn°n®»…?ª¼š!g¡Y;3K3y»U±ÐIs’J$òÉDØÕ7k´8 ‰ ºht+á´i÷?­‘V­t½>·Þh”2ÛÛ2ˆ¢…}»iØá§Äïªïè*[¥Ú",—²ØÈdÓྎûqñLQêX˜.µ="ü®V1ÂÀ§ïcöQMBïÓµkGÚa3Ê1×oÑ_ÝS]j,Tå"oé-_×ÓB*mòû:äCÅ’n’ì“¶‘VK9ûG5ö€ÜgR•>Hk¹`¶»—ÖU¿pb§¶¹½Ó2c qð#‘QÇ’o‰2‡,^Pyº½~aÓæôÅHšf»z[cŸÚ¦KÒÅ?Qdò#‘D×U–^}UÓŽ— ¦›g,™d¸¤,éÿ'÷wn¡q°y -yÙO¶oHô‰¤ÆVÆ)›M$ÌI4/µ‚„Kÿ ¡Æ$JS~6%Å®kZL^c xõIQ¸{ ñ¯TÍÅzµ|G/«ýŒzH#µúxýiõjÍ·ltàAw{ ÍÄ`sRE–@£©àU/AнMëId½µÓ64¹þ…VNÛÚ)úrcúw¦Ý[Â]”ÆGšnFOåE‡ãkY5->Me»qd˃,ƒú†ªIÚË93›‚=èk1ô¿ããwŸ ?ñÐùf’;MfóŸ°Ñ[×i¨¸’ãŸq¬„NÿOK·7 ˆÝAü:ÈPÕ6èÖÓ¶Z`#mЩ$í–œËÅÊçßHoÙP‹‘tHþ‡ùÔmÙ¼ úIÁýÏó¤ÿŽÇîÆõä6^ö’Òe;'LÿJ–»E¨Ç>•p‹*±aÐ7¶ª·gÊŽ.3ýOóªZ•…‹,W“\™w|ÜCi¦âÑÆ S“+iÙW@qü1)&ŸÎ¹Œ$N­!ón,[Ûh÷¶ª½Äz±ŒÿÕW5^ÉGi¥[ÞÚ]™„­´«Ç°.rsTj´±ÌÔ¥è/O“eÆ,,×¶hC]Ü,²ŸÔVÎ(…®³mŒŽ%ò³ñ£Ü‘‘ÝãÏu}:EÊòU?µJ–:ŽØ:Ÿ6ù4Ò–¥}YAo<ÔqjÂ3Ä£ë¬ÝôÛ¿E´(lù·}²>Óï¤GB¤üÖlóRå2kªG¬ãàjÃk2.%…b)6ïõr15b $y{ Î_Èh¥ðß[Jìlöš¨>Ÿu»õQøÔ/­îפÎϬóèÚ£YYC Ï$Ž:­«ÈÖ) žž¿ùÑäÒ)F4û*:)±ÈêŒ$ܯV£Ö˜§IGÕ—¬3}y®Æªö3Ò¿†½Æõôg½I_~vÈ:0¢º.¼RUŠå†|g†ËSìn~£]Ç¡á¹ã‘êš?ã&¶ÉÚ·v‘¿éÚ¬>Ž[u×5™Ê« Í㸻’æ[ˆ˜p˸¯Æ¸ÌùÜn&ϵLþ×fl'ÍŽ;I$ת–ƒ,“[0–e8Íz¡ÉŽN,¥sɉÊ0µcNÜÇ皎qêÕ,*Oá_Dû4Öïf–Ð £Ô%ˆé{éMŒìÙÁ'=)ÓPm;mÝ P’ß$°ÛŒÓ0r™~诵?k쯸O?²»î?ykÝȬ´ñ†Ï?²‹è.rTõëõЀƒÌQMQ'É Ž3h2yCÇæ41µÀv#¼ BÞÏm­VKY'eV‰z=’º\DS|–À98󣚎§¥Ün-Áa€-Ÿ³í¡pj\ ã$àÓfsØÔ/«Û)èO¸Ö›Úx÷h–ÖØù¥1Tøô¯¶:&m¢ÂL*—Là¤Øz£ Î|ü*õ÷£ QeYäúÀŸ²·%ÉŽ£fo-œ×7‹kf;²Å™{Æyúª³K„PÜsÍ4ê‘I.\…“ËzqøRüú|’îÑ^GŸ4™%Ht[³ä¶ÃaÔÑ‚ànpwÆ“5¸À¼Ï*bÓ‘ãfIe2EÈT9ÂÕ-sM•äY"õ†1Ål)K€2&ãÈÔ1E4þ/d“n\+¥[¸"lP 81‚sRiv³!’Ix.rIÜZ:’c‡}èÌg`Wû+Aµ0´+-²¨ŽA»ãY;ÊðåUAç“ZâZZFÎÁQ€VÀøÓ Iîà¿|–ì±*4×/ôa–>ÿ*¡wqª[6.a·¶?±+ß!eu§´Ð6¥tÇ7Mú‹ì>†HÑHn}*íš`Fƒ*ÙëQfÉ4éæ›M‡j”ù³äzË£(‰Y3ôálð£–ÓÅs ÉSâ)[VÓÄ2;ÚKÞ¢ãçPaI>¸Ð/L7ŸU¶H¾GÀÖbÊߩҷcjк¼SB3´’Ã=E^Ôl‘´('IÃ6ì(>¯°æ¥eÞ1çÅr2›x˜äÅ1LÕ±|C^2NÊA¹fêõYì~BÍÇ€¯W…¬þæ[Æ 9cLþvŸºªLÞ†¬igùP϶½Ö©n ܰÚÀã‘@šÖBïD¿;“êq€8ÇŽs×ê¢7í‡xæ€õ±ãG…pɳ3–^N*2¾#¤|0Áè~ÚÕ{ÙÍ6É Ræ縸$/x7,kœt>êt¥B¡ ÌË,­£šb²¾ÅŸ “ä3E{7+¯$,Ë$[ñŸ¶Ú¥Ä1ÛÛGU%Š ºcøöÕ>ÎZÁ'¤\Kİ õñÏÙK’¸ØÈ­³¡à-´ò,¢Nb“û?så¦Rçqàgšî^Ð÷}äio¸tÎÿò¯››F€rH¡Æ:™:CÔVV £Í0(³¡CÏå\5ú[@®‘†îzäf§…whÓ¿îÕ; ó§ÝiЕDdïY¥Q¹›<<=‚Ÿ“´hG7'=Ìô×7vÓËœ³Cn»|Ï•S´Õ Üâ [g’gú( ’OºHº·f; Âú¯”šŒeF:ƒŸn+‘Í>âë´MwåŒ2Ùê%BU‰`á†*W7½D÷¡¦FYeÛÓ°¹è2¦ª"Õ’[pÃp…¹ö㎵ÝÍœ Ú°$JÇÖñÈôðæ®öã´sö—\žm@G¾/š^áNÅU'ó9¨tñ Gn¤zfŠJ"H;Vر=¼ÊëÝ¡OS''õÄ3:E(—$á›À{†)®x"“qæí›>ˆéŒPd©q‹½ïTä^´.»O¹4–œ÷^2…$å9ÏÀTZìª7ÕPZµãïgž]ËÆ •j+È5Ì軀ÂäœgË4¹%{Yl4ye‡­Õ`[¥Ã}8kÐÓìÙG W?UÖ¬¤>Ìœœž1Í=^é¦ûAH”|àEe÷]8µ‰ôò]DØÓQ ±Üaà#?1ÓƒVfÓ{È»ëï¢ëô–€+=»tW ¹Ç‡"­XÝYÙÞwXLÊq‘áÅH¦¤¶d=Éã”$òbõôôÿ¿RÔNRÃ,²F„d*Œ‚ÞªQî¹»ÇÑ »ãL±v‹J»ˆC¨Å$2ʼ°(äû¼h̃D $:­´båD¨·MÝ3&|2:}Ét݈ž©A·–5úíîsj¹D-ä+íÔE{=,§ MpY}Ý3E×H‚Ì}¨A"ÿ»¶må½›º ‡´®$Ñrˆ¨UyU{v:}ÏK|“]ˆ;*Ÿ7&<…z®ö2$S3Ò½^±®´‹#Øf}ApîÍ=Ðäg¹SøVGò¯¤iÚdÖXÚÅnIJ‘… 1ãŠÖ4 ´ÖÎu‰d‰v·vI Ï^|OZÌ~[´°­ÜAßz¸Æqžqœgë¢z“±Œ…b®åîû¼¶À~ŽN+±.e«äúùnÇ™öSGg»cu¤iÒiÒB—vLIçf”ŒÇökÝçîSêÅ)5ÊdÔàÔcAcèéçcßヌä‘ì…Ô±K,6­qn:H½îC€ ‰"}ÑFéH£:4Í,„Þ$ž´¬Š£ÀèMÎvû—d‘‚±uYHýgãÝGûy¤Á‘_YËt²tu;îó÷æ†ÛÙÉr;¨‡8É>W]›ˆe<•f? 2YÂF±¥Ú霻¸Y5ðcMŽÑ®8,3ðÅ"èó%ưÈIšÝIöJ€y#à¦ÍVÓôû›ˆÂ´‹ÒJ°<`Tt}2Ò43ÃÞq†äxùU›ã²j×$X/$¦£Ãà¯Ü+[ÀHÿgÀÉ rzf—’d´,Λy>º¸tøxÓ¾³¢ÚI¦HýäÛáŒì†äùRÍõ„W"Q$¥JÆ,1“„<óž?&ÍÖÏQËjH†]ZÆä† -C X¹ý¢IëöQ{-Z¬=±€ ‚7ùnÁðüiutîëg®O©ŒiÛ@Ðmu!’’YJ3\Å&!$ñæŒÖ¨F*“I¾dˆm]oî»›a#\È¢Œ¿œçPÍ5À»ŽÞÊ`®ªØrÛGÒ#<ÿó\[i—:~­ ö—+Û'Ñei .¹ç¼_u[y…Ý´Ö匪=fŒ,O³Î—&”mŒ[|z’ê$“¾ô4³1¢£¢6yn#Ã8¡±]¢^D"Gyw ¡x9£-d ²EšRZV,É»8¡¦ÊÚ)÷¢Ì70>°PF@ú©JJu8—­^lÞŸwú{….m¥½A:E £*[ßÓꦽ4|Ähà }Ô"Õ­®m\E!‡Rpzž•jÊíìì lÐÉ*©fr£ž0:{ª¹Ãràó1Ëkäù«èPÝÊe„ˆç=N8o}/ÍÙb™,˜þô/€hÒërºäˆIþùÔöŠxÄvçÞó¯?&™KžßcÔÃñ ã[{¯©k³ºe®• ž9.‡+%ëïU>{G_‰Féeºº’êöV¸¹“éÈÿ` ÈRÜ«¹{¸c0ÛvÁá¿ÅFMõåÌà[Åf±q“ ~>¦æ™‡ÕÀ­F©å~/ø%˜÷l„@ð= uª’Ý™ÜNNõüj# FØÅ¼0ÜÉœ<'ŠïQoÿ 1<üâþ4çdªI¾“¨Á³œ3êתO“}¾‡qý_º½^²ºÒÈÕq(G±?–»ru (/M²~»Ì8"²•ûT—WÑÐuî¦cõ§ç_K–6ˆa*0]Zä)g‘ÔRË:g¡­_ÓåfžÖ}£;¼)=ô9Áçî¬Æ©“–ÞžF¾‡O#EF‰6zý•÷ô$ÃÆŽÀÚÁˆÉä~ºmì„hñNÜçƒADȧéŠ1¢ÆÖk /מF¶‡Š/pÛÙû|Ü˳îÏßUt-ù.ff·m‚F$äqÏ‘5w³Rz$­<À’< g#‘ì§.­£‰‹{™¸½£rcYxgÍJÖ ÒêËU­n5`® ŽFGÑ&‚ö^é­ôs4«ßw’¯€F<ûsC5 ßÒ÷Osqó×:¡‘ÁÈ ÇìÆ1î¡ö7×–ª!˜8‡  ã®å?qª–x(¸m²Hi&§=MlÚ¶˜ín¡ZEuÛœôÈëA;E¨GqekÖ™³Z ˆíp¥³Žž]2=æˆv{[-»·$ Ì}ÅŽ í„k¨jqIB£î8ÏÐ,ÛIÑèE&Õ“I \[Z»ÛɈÆàÈC6sÐäôöS5…ÚÚEs%¯}j’Æ#˜»d²ޤùu>ÁÖ 0*ˆÃDXTßi¯——úŒ¨‘–hÎØ†IÁàp:ÿ5U<“q’*Ôéá§™¥‘¶¹žKeS–E8Ú¾lGë{>êíw4ð¼–÷·Š…õ‰ò|wƒ3™ìõ*]ÔsôA8úþª¬\È …g©!H$ññþ>== :$H§©ÝêQ¿ÌÍ4Š:±”ýÙ wšö©nÈ$wõóŒ»ÆŽ,b{ Ó:¥Ë ª+ØãÈöR§i’æ*ø;‹1çË•1jOŽÇd‹‚ú– íùºVÞòF{¾¼yT?¥µ=Ù;¿²(K;+z¹Zû¤±<€x`Õ6ùW_¾ŒŽó>̨«ºµÅä»(sûQŒ}ÔVR#ÁΠüªÍÕ¢ÙÙÚ½á‘wEꢎO¬y÷PÙ–Ýá…¢—'$¶@øaMMU"—å4þÏÙÌáeš8â\ãs7“Çô®5 cÑ® Vb#•FO¾iüXZ Œ˜—îSµQÿÜ“×+÷㦔Iã&䃿'ÍŸuz¾WX¾|BÇ8äYòѶôð?ËþUXÿÚ}5<­$#âËùV­§Ù¬cS¸/e*¿þ¼²ÀXçëþUõ9<§ŸÆê]…ˆïí!‰Xœ. î‰çꪷ7úqmÆÉÿÈ?• ¿Óâï]I›‚z0ü©/W+ùbßhý£ÏJ\n\*г@:¦‘$[sàÑøW/¬èàä*ˬӾ¥ÎàyU˜È ›„RxÃu¢éɃÔH~mSH‘]•ª`·ÍôçUÌz†—1;?åÿ•#ˆ™r‹u߀B޼Õif•TÄÕ(^ê·k›¨Åü}ÀßÛF¥tÚuî5eR]»I¢×²W>ªç':Ô w<Ùî^V¶‚[ü+aíOɯg´~Ïêw–È}*y^5’RÝ@óÂlõ­ãt·b¹l·‘öy ì¸ò¥òû›.4ü]ƒV÷Îèï ‘T>H÷Ó†£q±{æ!° õÿ*@]Zxeiši7°äçƒÇN”^ÓPšM²HÅ‹¨Æ|8Í&PËfø(dzQ%ñ3D°º3-ÂîÏÌÈè4Щ¹@ÄòëÏZ‡³Ò»ÏrqœÛK€R¿Î­@#ïƒ%º€9Éé¿ßäE7µgj´ù4³Ù“»VGm"º¤Ì0à‰ mÅT¼kY’OÞ·d*±ã’s×>êóJ0ˆ<&òFsœ(=O˜ Z”’%…ü7±°N20Üü8­n¸—4ɨZ÷Ë"¬é±°uq¸ƒ¼ž¼qìª6¶w»ZûÑ’U±í û àÒZ…ÌkóD€9à·³Ûìûk¯ÓwŠÉs×k0óöû~ÊnÙ ß@µ°Ñ‘âï#µ‘C‚ÛÞ<¸8of8&¨Ío¦ä(´´_PrÇ”õóÉ÷Қ꺓.ñ<„qÞ·çì¯G{¨Ç+J‰Xm._“Ç¿ÙGSötgÓôù&r’["±$(AÉ㯶¹º²·Œ–³Gc5Ç€ñϲ•ÿKÞµÂJÒt.yÀçó¢úN³ww?s+) ìö{è%W!ÆPµGÛ’d@ÓÜ™Ê.ÕÞÙÀÍ ‘PÅù±Î?Sóuž×ºV|ŽwñT%2"Û¿nzçî$}ÕêõWù;b°\ `mO¸×«äõ¿ß#Ñ¡ê=RðæP|'?ᬟå åî¾Q!3F±•°Aµ[wë·ŽhšN¥éÊäÆiÇ5–ööoÿ2¤ú6‘¯ÚOã_IÕŽX)ÅðÈ¥ŠX¦á%ÊjbV‘N³ÍwM»ý)9>3Áó´‰fæOx43St7I»DÿxÖÚ íràοEÞn9óS¦ª5öëO¼¸‘^}ò°õG€šçã~Ñœq5,j¤½IìŒ";‹•VGH%'-»>¡ãâ½¥ÈÒÀŽ ¶à9ƒîû~ßh2è-Ä“Mw‰¹òõOå@,´FÃU–Òd烷œCš¢ B4€Ôj2ê&¥•Û.ì{ô,Ö> ÿÇ“;E¦Ï%„‚(YÙÚHñéõàÖ™{umj°Ì…‹6rdŽü>TËoŸmu$r$S–P~^ýãõŸms§È¾{8°¾Dþi8Î3ìüÇÖ*ÓïdÛLžÃíüÔkQ7:y9ôŒƒ‘™1Ž1ìP¨µÈæ³Ç$Ž7/ Ïw_‹ñ>tΠ®‰™z Þqèòƒœci÷~5jž&G6ÒŒHøV‚ë½ë÷6q)ýVÜùàõú]k-³ŸBƒÛëIþ*嚎èÊApŽH†AáÊš%ÙødôöfŒàŒr½2@öyÓ¹{p1èQ|?ø½¦º¶dĶ«ÈÊ Wn9óÒ‰OrfÖ,êöÒ¤›“€¨ð¡nsjû ÏS·?h§ÍJÊ7u_ r:f—õ] ÷£Ú¡(þ²®rWžŸeJÕK‚«´kúT1þ±” .°¨ å*¯kH: ÏŸ«ýáTô«•†nÞ5@¨‘üàfs·žõ@ã^¨{ Ì‘MOƽ_-­®¼E ·e ôyXø·áYwof?é6ô~ÌúükMìÑbç÷ÿY'l%ï¾Rµf€±¯Õ׳¤ãMuœêf}šoõ§ÝKºÖ¥²õG’þ&ŒOŸœœD»5¡Ø_ØÜ\ßÇÞ:Í´m¸q÷U5|EsÀ›ª;ÈÎáô…´ÖU#à :ã=Wb˜õ®ÊZCª¼6ª±Ûª)än%ˆ?‡ßK7Ö1ÚÌÈV3ŽCcøò¡ƒé¹+°Ö•}Ï€ßI—oLž~ʼ“E$."l°'ŒpGßJ¶MX8 ‡QÇ>ÌÑø#ÍÇu±Gj¯’̫dzœŸgÀÖÎj Ø+rÚZ´nïK’DyÆî'Ùüp2j {“!“‚bh''<¯Lxz£Ÿo¾<ñήqÃ(Èb7g>9/»Zjvk©#º¬‰h…6†V9 dg¯ž<¼Î}ޝrý¥Ü Ø¡;z‚ùŸÞû+¡'vÌ÷l,y<`©'<Cg»Ðä¹3HÃ1p»ôõ›8¢Úޝ¦j6Öp÷‹Û¦ÅîaUÏNO­ÉéEm jÊ®7ÈÉé ±É r…[Õ}R‚æâÜDyÌs ä…}¤rÙüsýÕºØH,¤“ýr£ïP2ª»0>| ŒÇ2[Þ(÷5äIÐÑúrÏÇ÷ôܾ2ìŠV1ÌÃ#k›h縜Ãß&à¡TI>VZïgub4L»³»å‰É'ƾH~Õº±¿²e[¸=ˆËŸ¬Ur³rr¸øÖ)FJÓ;­²-Mr 9¢¶Ú„gcdiO†îôâÑGçÕ@IãÜ*ÁôëG) (ê¸ ýX¢Þ“Û`¼‘cõÕê2gx$ô>_ÇñíŠßRŠDU•1 …·€I>T§·Ð”’êŒAûzQ¨â´:[´S,‚CºmÈ7#dà/#"IIñÉÊQhiÑç¶{ÈÛ¾£“"à øÑ]dìüêØ>ºœƒ‘Övj®/¶û·}¢À8R cʽœ ´ðû!z‡z‰ÿ¿ÙòyS““ðuüêî‡Ú›]"ÎKimÖc$›ÃwáHè<)zî>ê] ¥sÏ…ZÑ»½g5ãݬ*¯· žOÂŽMºMvêݪôýA®“¹(d <øxP¹¦ÊGy f;p$^9ÇŸ¶¸Ô{úeã[Ç'|ÁFàg^ÒisDµîâ,ŽÞ«ªàóÔÊ™dç ‰øŠÙ:ì.›~#‘ͨAY±ã€OOVÕl$’xŽàå¸ žF9Ï4[I—1ŒneeóÁ¨ã–Þm‘³wŒ[»v톲›"}¤úV¤±£=³*Iå;‡#dsÓ‚>ÊŸJѵV»ùâýÚíó°7xóâi¸¤RûÅ|¢í]‡?¹UµXÔéÒG36ÜT³gpèv ÑÊj…Ã6)ë6÷²/xŽldc²‡2Îé6æè{Þ§'Ûçšt· køG…£Q ´aˆ>j…”×wÁ Ó6¤)µ[sƒK„šUAÎîÈûgvúÌï îÜ+ÀëǦ ]N^æ=DÚ„f&€¬gœù×7W §…†Â$»mÆhŽ 1n¨xþ<°¼ÓµÒ½Ô‘ß´AŒFt#¾sŒí# WpÛaÂ’¦¶\_2©Ê«~ª²øœ6wµy§Oé– cšA´3¨eÈä•–×8å"DzTüê|rv…É;ab'¶Òt[yPFL-qypìpO— *§dLÝê×Ñ¡&Þmàãal ox-Wîµ»ËÝ.+K› 5Þ(–¸,½èUà îÇOeSìýåގת-¬.a»Iò©Sƒ‘чAºƒ/ëÞÝ¿ø÷µÕQOP½¹»(n®%¸`8i±ãD&²±M1nVŽK­€µ¨‰ÁúXÅSÔ!¹¸®œ0FãpX¤]€geŽ|j¹Šb«'¯Î/çNèM¨×Çÿ¦1v%‡³º…Ì—ÿ£{É–î@bA±Q·žx¢=¡ˆÞvÓN±Øó< “ëJ@›Ÿ<ž´@Ô®ôí éòØi×w¦eÊ2ŒF20ãÀ¹© ¿Õ×´#Y0Á5ÖòíºDÚÙ#¼…E“E¨yòeKÞ¿ /¯§7þ…mvÂwÚ½Ýî­Ér÷Á=ÌpÛ†|¤–Ú¯WÎk“ë˃Ќ-XéÙåþCn<ó÷Ö?{›¶¨eÅìÝ?û[_g“m¥±#ŒdÖC¡·¤v´2õßu#}nÕí¥Zx¯¢ýdwžoêÿbÄÐ;H7)õóÏÛO½„kHû8mÚò(%k‚Ç|€6ÜøTSÙÅ»x éÈ¡Ãtýã@dúF2GŽz =?n{9S´‚¯Ö MzhÖH)WNA;iþOH™Ù2àS¡I)¼’EÜ9V' t?`®½Ô‡Yn8}ÿ¸S¶&îÌŽu@6ż™Èc2ýÍGTeXþïâ*Ü’Pî#;r_#Ž+¿JAq¸c;¨gF©9sG¡·g»aõ¹ÀøRΤ·L‘…™Õgõ\ì#x û)ÏIÚ*“´Ä“ž€û=´BEY6e”q½~°>=:õž„väû#4ïgH¿”·w¸d°ðþ•w¦ê÷Ò\"«ä‚XzÍæ:û)ÆâÚ&f=Üx‹åÒ®ºÄ!¸Y-ípÊÃ"-Œ¾¸#!òú³æhÛƒM$.1šk‘UÔ.–U –_›g`o¶©&£¨Þ.åÜIÀÉçí§a¤ÖŒe‘Q²T¿‰ã©ç¦>5GS´¶†ìC RM)°³dp„Éñ4 ¤ƒ’r— ]Óu«Û‰e†êRéÝŸ¦|F<ýßmw¤ö’ò 2]3¼F¶ïXHèÇ9 Ž~ß¿;‹S%µ´p¤üîðK’§Ž:}u#I=•‚ÖâÖÉJ9™eŽM³¶âz69|}Õ÷aCÑ0uö´ðY %‰ƒ#"iLy·¶…þ¸``¸ÇŸ|ÿE®¼Ú|Ù™]HâGß‘ìàb¡·˜,¹ÉÇ@(±E5ȼÓjT‹é®\l;¢¹ ä%sÿº£ý9zw · 0pD|?Z .^žUá öýTÞœEu$Oy¬O< u6I=G›ø×k¯^**Æ.NÞÀ>yªÝà=Aúy]qãõí‘;©"Òv†õNvOÿ1ÿÅEl»Yç΀‡_#õWk(ψ÷ŠÕsÈÍ D×}2ß¼ie·à, ÈóÈ☠» sl±±›$%œ„'“åãYå‘,-V!¸–lŸÓ’|)šÓQjÑÇ YiÈÿV??!ñëÑYÉÐük|7 ³[ «€pïýê·­\ʽšxŒ®Ë¸ àg¯ÝAlu8n-¸+ (',|Éöš'©Ú göÖ§m¼œ Фì6‘§ßÙ–¿ƒ½(‹·Ùœ×¨ŸÉòbÆCìQ÷ת=N³&<®*©} pO› iÂ躱Æ÷Ú»þÔ¤ÿÔÕ·Ù6Û(¼–1÷VòzÛÒùë~ÓWdãP)ÜäÿïpõÌŽPˆÆ\œí¡ñ°9,sÍ`mÝ(\ÓL¥›¿˜.ì}#ŠtÕ.^”1`“R;(PÜí‚ÁHÊ&>ãP‡ 25äÑ “Ÿ*7yƒáµ+…=H!ºUPT‰åË,•G FÆbsúœý´TåÁX†OOTƒäFh÷u,¶Œq,ÁŠ¸ÜŒqւ걨eô‰%WÎ7la¸xxRæ‡E—,·Ç ºÁl7ÝàÈéíú©žÙ¾jB@Èp¥{[xšß(ÓdnÉelžÏÆŽZ\+[ÌPú¦@F|³]Ÿ'"ÚÌcyqŽ=bƒ?Ù¨åvb½ËDäðwHƒêÃÚùXjÏ·ÈU+†Ù-àq àrwð röƒSiñÝÉà P­—^9«O±7yoÉȬÊ~°ilIóá =ÈNÑ×fqþuJÒ5š÷Š;ÐGCêúÄfº=Ì“âƒ× œ?w;Wbf s¸r0jÂ-ÌH“¢IÝ€¨[-´y Ÿ“{Ù¬…ùïJmǰsR4kŽƒ¬@ã9$4Šý«‹fžÇ+‚Ê…/Õ@ìWrŒôÈûªßhq×"ªØ&qâ>ê~Á>£Ì~Žì¯É/fõNÎé÷·"ᄌ…dm²2Fxâ‰ÿ¡îÈ™™î‚ÃÄ„ÎNçŽ8 ÐÞÈü¬ö{Oìægt× 5¼ y,ÿ)Ý—•ï—ê Þ{È–Ç(ƒŒôÇ­Uq±*.‰Sä·°æ7qwpU1»çÇ鯡|ßÀüå×ÜØlô[XÊh,Щ‹2ã;‰ÀÆÞq×9Ï»Ô唨ÉY<1o1pqÏ•0i«‹;Qÿ–¿uRí*bøñ+÷ÓÞ÷#rHfìâÊ_êýÕ꟰£3{×îêù½eõ¤X|[ŒGõqXOÉáÛmt}‹øÖË«^w:UëŽ;¸¾¥5ŠüŸ+M«miçÇS^ÖUqI ƒó60M8Xõç ª±LÛ)…-œ2gﯚŒ¦ºË,ùQ C¥æÔ¦pYÕðz‡?•c·îk•Œò¿x‹¸t.0>ÝÄ{ç mcRKq´R›kÓ¦y“ä$ÅMi¯™ÍÇF\gvIäÂ/s- w ÛÆ®pÈ»r$<“åí¥ÝTGŠ©+§9õ°Ã`Š=m¨-ÒŽBs¸òç9Ùƅ¿“qV‰ãL“”=û=†¶jŽ‹²xLml?”Hç'n†ü×R¾æsì žP-ÕGðäñSm•e‘å (/€“ùU{»K÷ lQê äì>~ßZ°h;ûNý?“ŵHäNJ÷Žý…þÑ÷Û0´ŒÛ‡ÒŒvW±šïh,Γ§¼ÐT¹e@O½ˆÍWù@’Òi•¬T À`1Ï\{±[¿È{˜>M-Ø1BÓ°Ü0qÈó"ªÓ+‰69–’î×þ“ÿ÷Çþ*ëývÇÿÚGüø¿Å_¡ÒùÄ»Y¤r=` ¨Ú6žO<øT]Îö÷ %f(ŸKbœu#5NÁ<ŸGɇlsÿ„ùñÿоŸ“×ãÿ óãÿ~‡†ösc#Yœ0Nð"a[=1»Ú+©®çô!"HT´˜mFXÆ}•»L?;¢þØþ“ÿú"ÿ|o“.×EHt’vóÄÑ“õ¯ÓZd¦âÙ\îlþ±Ç<û*Ó¯ª}ÕÕFoàÆW{ÒPÎqÀ!#'ÛT­dqmw#Ÿø8g˜{Z> >´“tÏíŸ* z±åBõ*sÓÌÆ½uI¨þÏÇè«“óû7Ë"¢ÞÖ=ÃwvçKµ@.–¤}#*ƒîäþݸƯgìµ?z×Îןû®!ç:ýƬ|ÄŸ ]‹µ›ÆWû¢½]v?›I³àTÒ+ÕòÚÅóä^» ¤f^Ìë "ÎcÿA¬«äÖUŽt-Óî5©öÑ»žÇëdxÚ:ýceß&Q¬—>1´}Í^ëî„_…†;u<&ÁJ°,\p4‘dþ‘q2cMÊvO^¿Ñ{Uf‘in«ýò®ìc8ò¬Ê[[ë ùQ-Ë/Ð$•9ê1×Ï5‘Ým´ ¤•2KÔxVpЮØÉ Æ!Óåì©¶£Ã ]ÄòH@<“û>Ú£r×’ÀÀZœ0ö{Ÿ´WpI|±*µ«`p:?kØkyÛõ;ÁM"V‡X"ª "¨n€sÇ?U2½•­ò†š0¤Ã0_.¸LxŠXÐÓëjóÂbF‰”36ѹçÝNêê~œîçiç*|žTQ4tY]tèQ6Ʊ(çõ×Çú”A%ÁC•½Ï=j•ÌÑÄs󤃸dsÎCšé’ÈUQv™gsi¡RK€š°/h·›ërþmãú»º´Û6¦¡d&õ3áë㟅X¼†I®­Â©v6ñ•9ÇFy©M½Ã‰tã¹½qùÒ¤ÕŒŒ]Å©k²ÈPÚïëúÝÞsÓξAj^m,0•»Þ$þû <ªÍ£-ß)4iú¸|ó€<öU±vP›|¯–ó>Ïmb—&´è_hYÂìŽXÎW9ê08¯H{¹¥E(r>ÓDö§MŒIss$­&ôƒœc?] d/hÉmª ö µÒLC'Æ¿K|„•äÚдm&e~Ï~wíN-­º<’ÂÊX !9û@¯Ð¿#!É®ž\æW9P§>Ú³Må#Ïç4(Ú#$iè¦?Xõ‡Ê¬Û’6q Œ±ä2àšÝÂvLNä.Èç¯L†nñ÷RnaÃí\úª‘Tݤ•ÈÞP(ÜO»Î¹Ó¼c=ÐQ»Ý:;Ghû©7vÕÏ_éWÆî ¢CÝLO2\Ÿ¶¸Ê Á°F»d&1Šíþ‰÷PÛkØ lvÓp¹>þjxïÖgØ!™sâ@Çß\qù´J¯–U-ó»KqëŸ0~Ì{ÇŠâ,`ÇÌa¶ž2 ç[Ç÷sï¦~ÐqhI8Hy<}6ýáåí÷_E“t{ ¥6x#GÚGº¤ÔgãôS‡Éùý›dJLÛý!þð®;`3§[ýBýÆ¥Œc]„yZÿ_üÎÐêÜj¿FO:;&vÚMý1ýÑ^®»01i(ÿÌüz¾SXþ|¾ç » =¿S±ã7јsYOÉhìéÀÖ¥ò‹p?ì6ºÜ}}®£ñ¬¯ä¼ÿ/\~ÏàkèeæDÑòHxí@Q`ÇúÕûè=í«K,®B€}P]°Ú?Ñ®ÓÆ’X‘Š!‘rGQJöê/ÃiH™ÀÁøðhäùhàÚEÄ)(•¹8ÀGÖ*WŽ'%Š'ŸAüy}žÀz-)}ÆKV>eÔø“÷šú¿êäyû†Œ.IBŽqüu H6|ŠÒ6Tù¥1œ„aõñŒ|G¿ÆˆÆ#2Ä?¤ÅãT¢–ݱ&åÀä|؇,ro‘šeØ„„º©õÁ=:ýÛô6‹#¸°myN_À}R¾%e”42J¾4Ôd—ÉW¡:}™$÷ò óÄ‘ÿŠ¡’ÎÖØ‰ÄÓ7vAà£`øg A âp,û½2L1uÛ#FH#Õ(áÅ.þy ÍOª§9#8òÇÛLš„Ï›ú.ÉPÄ£{8Ü©°Æx9:ÞX»‹W‘U¶¨°éë¹ãê¤É&57AÙþOî­ôÙ剒P¼®  $žy Ø®ÈÜö…‹Àc3–v 'ÕÎNhœ]´k6H.. C.ce#—§J—Aí :ÂM§¼(%¡8= ó\Ò¾ æ¹ëú«¥êÖÚK³|â‡QwúÄpqœqãí£w}½Òl^ë;™Þ"Ï8äbzø [½}KPW¸»Ý,x+¶U@ðTZhõ¾ÐYz^ZEÁ~èí/Ž™9ûcÛLÔ¦#vç¿ôÄÂ@»ÿYHlk÷ÖÙÕ^h_':|v¨=y\ÜF:šÍ»iawioÜ\‰P¶šÒ»-­ØÙ|šép_iÉv{×Ù¹AÁõ¹æ™Ö>Š*Z”¥ËÛÔfÐ;{¨ÜišÄ±†6±oÎâAÀ>cŽ”¿ÙÏ•}SPÕíl¤·Fï\(+)È÷ŒsÓÙÖ™û¯irÚ_Çm¤,hÈ¢T1 Wt˦v:×M»kñÙí>ˆo‰ã`J`{©ØäÚæVf¾†V±Ãjö}ÌË´_*º¶Ÿ¯Ý[,qwQ>0Y<}hÇj~T5-/MÓ¤ŠÒ%{È‹úÌ}NCãÖ›¤ìÕ¶¿{ú@v{M™È’IH äqåì5gXÑ£ÕXiË¢XO%¢íNø F¼ •î$•ËàK³ùQÔnû+yªú*Öí³‰V<}]j“o”ËþÒvt»ÛXº;‰W8Å8K¥Á¦ië¦.…b‘]›q·»v$ ž? ¹ÙžËC¥»ÎÚ.ipŽúÜ.ìbŽ2ç¸2Oocó޹Ξ¬¹æ7'ð7·<{ð)n Üjû7mBg?»î4{´%SJƒp´LpqûmÓ?€Ï·Ì=“±¼‰Fð¥W¦ì}ŽÙð¤j?³ñú‡úÿ?³mOü}=–¿ûª>ÖzÖÖCŸçî5xZ¨½[­Í¼ÅÝíðÆsõÕ^Яy ò›?eY\AøÕÙ¾-¦ÇûÃ÷ õ|ìáÅ´ßýÃ÷ õ|¦®ºÒ¿sÑ]„ßÝ4ƒ×dWÃID?­"çìÍg_&©}¹ØP2O¸×=·í…Þ££1áŠ8]ÖFeÎN3îçìª}ƒ`È>Kø×·)Õ1J4Í´’‰ì;»wI$.0¡&”Ô¼‘lîÃK},Qò8Þ7r†Ÿ!C⫾ë˜JFáøQ)oäZŽÞk.ÜSŸéʦ·3Cna6{“$ó'ž28÷Uyy–îÜb@õ¸û*kvH­œ4Ð<ƒ,]ʼnÆ#§˜%eÛ}»GòȾjV‘™¦( ²¨°Îþ?Œ ¶Ò;²¨Xwy@ãá\M4„å&²ÚŠ ÖømÍÔάä8P£#< ãÑn‚: 9·ÒO5*NDo½íÆHîãB1,yÕ;ë–ôiâ™­Ön•UR¤uÎ+¹¨±™2Áu4ªPB0ÁéœÕÓÝííµ¶äù ÒT¶`E¢Ép%’9Š´d8>±$ôðÆûhµ˜xmmIJG¼(ÛëF ç®ã@öÚ^£æ›ô.“òÚ,“#B(žF Ù…ëœóŒxõ¡:/f=?ºc,d$|¹\ñ“ÀãL¦oVÉ­^ጠ(B2° ¾©ã?¬ S¶»{-ò[0F Ž€Œ1Ç>Ð+”}_p_°Yѯ¬õ›}9JwˆKê(ÆÜœdž™#×yØK½;M’ú!o#¢d„VÊò<9Ï•'j—×Ú½ôòfÞò"‡T Ià€g§•íku+­:âêBލìÌ:ã#q9Î(fÒ´"îÅÜ­ÒÚÃé1ì]üz…~ð+Fìõ÷g ù/Ò†½ ™DŽ#)»$î>^ÊÆµ÷%—Ÿ:Øt;³š‡É~ŠuBK #•ÈtǬw0ƳŸ…7ð$ §(eßí…Ô{ tûÑ¥G,…±ß««åG8ÆïJÑbÕnñ?¤Ø\Gi)ÔcœÖgòs¤öZÇO½k=Q¯;Ò ’À˜ð—Çê­>-zÖéfFI`c.¤Ï_ r[]*.Ie{çmýJÚmýˆ×NÓ¤6Œì]ò8>8çÏ5éuIVúàÙiï5î0øÀññäW¬u‹[CµªI$%˜—ØÄ'9Çžk›RÒÖò{›h¤’êA†EF9ç¯ãÆ»šô\ö$Ôõ%Ýmév2wÙR‰ÆCgŽsçW4ëËéíæÖm€NF0GÖ|jþ¡a/£Kr²+¡ Ÿ6Û³œãÉæ¯Zjkwiq¶9¶wFËÇÄQG¸2ì~[íïÑ}!› ×o"?w²@ÚŒgnxAœgËÇaþ÷¸Ó§h·ºqq¸ £ŸÞj“qý¼±–1¤‹œƒ4Göþa+òo?ª¾ÁCµ0YaÏNð~5À½s©z0†M‚!!›õO8Ûïñ¯—R÷‘ÄÄcçT²Å½¶"8äZ Ûo/Lw‡ÇØ+ÕÎþ¡ÉËšõ|®­üùýÙ|Wü§Ú/õªvŠö1özG¹Ú#ëÇý³Ù½ø˜F9 Wµ3›¤7„ycFÃÀš·Ñ¨ óÍRA2HóH ÁÀtöÐY/Ri8]ýz}õ¸–èð'#ØùÓP€õzæ[c.örAÀäò<é^êG¥ÓçúunÏSÔd[¼ÌË! †ooºœ ýEõãm,yݬÁr*U<õ?Á¯]M§BÙ’0» ¹cnížðcÕLn#é7°P½Bþò;œE(àÓÏ­.ÝÂ5·–6C¦ÆùŒ8'õgÇúÕÅû[¹lÆØãs 9ÆzœóIâûQðsîUËÞM 2H¤Ž>²OãFã&»§Ì¡‘-–2Ž…9À>cÓÅW‡^–اŠ"«xù¶ÕŠnð¬ŸHd²§äÆ…laųF Ì]¦¸1ÿ(2K&âÅÛq'˜þ঻ÿ´¯Ý°îI$Ðþ̃ïqA£“fqƒŸ1SFÄöCž‡ÝE±Ô‘~ï´·ÞYÊë¸A?{ë9åxéûµJMeJî’Êœ"¨ï ƒ_Ý#Æ¢¼cöGJ©78ÇÄÐKBY$UÖ.="4qkIÞmÜ…¹økg°ì½®¹òY¡Hº”v“ÄîÌ».ÃŽEbúа°„ž†cª¶«>Ä_ëÿ&½œ“MžÙX£ö~³ :Ø.8FIø±¯äç±¶º5ì—:´S™™v2 ž¼øæµ5Õ´ûèn!Y£`ӆDždÿ'Ý„½Ñ¬5ÔîìVY™;µŽ]ÀœçË­k² 1í¤‰d¶BË€WS)ÛàÆÕ.JšEæŸaÚ ¨œïcÀ’O<Ô2jn›u{ß©3`wyÎ|>º¹¥Gamh‘Ë-«8'-‘Ï5^ÎÒÒÛS¹ŸÒ-ÚTRGªA?u?c-[äëT¸Ó®žÒåîQ;–­¸Ã9ÅY‹W¶¿ÒîžÝÕˆ#5_Q·´¹º³. ^å²ÊXa†OçV¯§¶eàŠH™»–8R<S¾À¶¨üòVݬ¬;ó0oGØF:Ÿ:ù6ë˜;íÄÛÈdz¯­k[ÿïã_Pm.®_1¢2ð&XˆpKhð9µ€þý,‰0ÔzÉšM<xû):TÞd7/tEÝhpÒo¾½Rh8[2[ö›ï¯W‘ªŠy§÷fÅðɽ¢”Û±0ëSv~á`’]ǯvš5}N‘qÌ |Ñ--Ñãžf`÷$¹2\ÅŒºd‰"»¼íÆ|pyª³h6ìΣs“Þõû(´·zt°[ˆ;¨ä@{Çùã*¼­l˘³íjÝî< éîå”Ó@ÓBŒíàÿ½ÿ*û‰§ÂÍ$B#.=BÓp§=~ú—d$Ÿå0ÿj¾÷0ãùÌ?ڢ곺(ž8£†Ñô/;>T© @Þ>üU)¬¬oDFâ&y—!ˆõF7.1×V(•³éô#éyŠê( ‰‹5Ôd{´±L' î ý§ÇrÃÕçÖ<¤çë«éÙÍ9Á›’IÂn 1rAÆ1Wáô$ÁÆO–銰&µÿ}?¤(Ôþ <@PÐ-Qd€¾Ö-Ê È½ì©g´×›j@¸ s™ Œäž¤ù>ø€J íOûhÿ´+Ò5Œ«‰%Cî|WJiœ±ý¬2m6ðr˜ƒçüdÕ­;IѽT¿¶q.àQâ‘O ‚ y~yïá}»¯\à`|ñüëç¥Ûãñÿç΃wÔ5ô&™Ù¨æWk{‡PÁŒe“ ÎqÜ èùu{HNÛwoPçÖÆ$q§T¼·ñ¼ùçó¯¦æÍ—tç=s9üè¿PÒ¯Cí¹B²­&v/ÑðúÏä†Þ)~Mô^õáþ›V)ÚÍ&ÏY°Ž{ÄŠD8.åàñ׎´ßØÎÙêœÐíô³ú:x`#elO>|š£’TO’r´¹l-¿ÜGýšûèŸðñdVX~T5 }4{äc^)ú‘é˜?®ôÝñ÷§#Tô_øh°+Þ…kÿöe_é3Tý$Ì?p~Su\ãþéþÄŸwR>çtäk"Ê×þì «ª[[Å¥Þ´pƇ¸~U@ýSY‡úMÕ?oJÿŸâªšŸÊ«{e5¿¦iÐ T¡d·r@<¦»©sºSö:ÙÙÿÝU¥v jxï,RÚžä3G¦Bœ WǞźL²jEÏ#qìU‚.I€îu5I.óc0 6Üàùâž4ÆŒv|2’Nô4·mgbº”wYÜSçÆÍ© ùm,­I*ŒV8ð=r=Mš.3M£rò[²ÖBãII‘–oïõ&&£«Dž‹§ß5²ÆÌpT‚}ÕêNMœÜ½Øò\žoî>abvõPä{*{ Wb¿ª£Ätª÷Ÿ@òMVBV#*÷…z Z©†ãɳð© Ë T9$àf†¡"ØԌԺQ-t€ôÏã]Ñ‹îoò¦‡+.ËêP¤¨öá[¦XþUpv+S=%¶ã÷åL-cOCÅ4Ùój“Ç^*ØèqUòA/‰gN¸2>Òh·]Ÿ²K›Ù!dv lIÉÌ{)r×S[™„p$!Çf´o•¨é,-\•‰äÉÛ×ÇßCô.ÓO‡m´*¤õcÉ?‡68AÒ==.|¹cnQi7’ #»_a&¦5ï´_Ú?•ŒúÄ•fx=*Z/¶.ûŒ<8?¼*†m6îÖ9 k»£pi°Þc»h’xL2¨eañIsL'V…uÑoníʦ]ø‚{ÈõåD´9]Ì‘¹Ü#m ž¸£,Nð¾+¶Ñª{•¡Lh—¹Çy}çò®—B½-ŽòûÏåM2(VÍD¬VCãï¬ ;@^‚~v"k¨t ÉIùèUW–cœLr“zž9ªú»5­8‚A½ÀêÇÛEØžÔµÒn®û©b(§°pÞê±úìLðŒ{ 4D‹[@P8¨‰xf¹£SbòèwnØÇœgèšî=è·ó¨³ýL*Ûw0<×Å¢ïÎ|kÎ]•Ünâ N2Süê 4 ¥gê2«l8¦¨x›Ÿ“šŠSë°ðŠ€Mجt+²FÙã'8ú&¥^Ï_Äðóì4Ï Ž¾5*œóð®Q5±j= ó}Äcàhž•eqk.áqÉÄ}~Ú$€4˜>ÜÃcŒxøÑ«\Ø·ÏéîšGi¥Ài$>êõW®ÕÈϾ½FÛ‘ÿÙKCemu-0.5.1/doc/window-profile-5_small.png0000644000175000017500000022707312417262523020536 0ustar glaubitzglaubitz‰PNG  IHDRôGWˆ¾QsRGB®Îé IDATxÚìwxÕ¹ÿ?gÊöU—eY’ån\(&î&€c:¡C€K @( )7P’{II¨ „BI#¡%ä† ´€ÁܶeÉê«í;3ç÷Çì®VÒîj%›à{ó}ž},ïΜ9ç¼gÎ[Î[ÄQŸ¿Eü龯âB6Î9~i]}ãói*8pàÀƒ+Ä®ÜÕºcÙ¶wžxöõ­Rˆ°”" „<ùª;ÿ¼Ïôé‡Íš9£,•J¨I8pàÀÁ`æ,ËBÓ=€ÌÏ‹˜†®)¬úàÃ膞ùþøpÊÕwþé”SN;É”šÑÕÒ¼¾©d)%þ`%ÑpÒ²ðÊBJÄI&ãá0}8pà`Oêç›wt°áƒ·Ðt)å+,Ó$PQË~ûÍ¡¡6hõö…•'{ô1m§N8tâ¤)‡§,Õè …4Ÿ/Àš/Ó8y•µãøÓO¿ÃÁÇŸG]ã$ž~øNz:[Y¼ü Æ4L"•Œ;sïÀAiï¨-lþ›A¸üúÅ蟯늢`&ªª`šRZèºN"‘:V„ªªlÞ±‹–-«9ý”“ñêbàë“~Ÿt]ço¼ÇªUï¡ï¿¿âvéÆ¸Æ ‡icÆ5¾0qÒ4ºzúÐ4¿œ¿ÿñ>®üî#\{îʪê8å ßæþï^Îûo>Çù_½ƒëÎ[ÌíOl@¢(8(È/†%iï꣩¾ ðhí襶2€KS‰'MºCLË"àóPæwcš·ñKJÐ5í= A"ñº]T•ù0LsØç ¡2LÖlØ€G5©¨¬fç®ÊËÊp{¾„‚e™ T/ÿ,)Ã@Ó\öFâÀƒ!P…ö®N®äS3øÝ ÏrÇ•ËxêµMìêM2»Q娅³¹ç±•¨ªÂ¤ú2ºÐÝ#ÔÝÎØrÞhS ð{éëÜÛãCÅ$·¨¸±Œ$¡„BCCí»v!Œ¾ŠqÄãQ¬X7ÞŠz,Ë$ÜÕ‚¿²ž`0€eI©ŠãÌesùÚ=/2$·]q7ÿúŸlßC˜|>n—NGDE³"T5:BI\jR©K¨§º"ÀKïþ‹`y7üìyַƸ挹¼¶jÁ`õ6STˆ& "†›Æqu¶ÀYäaè%-I›–E8嬣óì››xþ_«¹õÊe<ô·÷ÙО XÌJøÅ:k/7¥ek:Ã&eûñ•Ÿ= @B”—>ºÃ& ÕÏý·ß@[GÓL¥5 çã|œÏà‚Ž®^˜ZG{w˜[/;œ{­½*^Íâ‚cfsç£+¨3Žš±líQš†Ûèæ²g‰%9÷ÈY,šà•«¹ùÒÃÙob'2ï_òiün8ù\uòlÞxoSê\|ç⥼¿n A-Áw>[··òѶ|ï²#Y·a3.]ô,ú¢q&Œ °}W/¡„JO ÃÀ0LšªUn¾ôp¦ÔhïêcrµÉ…ÇÌàêÓ>EC ÅÎ]LWÉÎŽ>tUav“Ÿï]~$­í!˜:†w×ïÂE”«NžaZ³p2ÇÏÃÖím¨ŠpÖ‡óq>ù>–D¶å-™4ØgŸ}¸âGÿÃüYM|ï‹Ë¸ÿ‰¬Þi2nL)ÃÌZìLi+äšm­“ÄšªÐ×µ‹‹öÛAt²Bå{÷qÉ! sú~Æÿu"?ýμzµ‡#&ûë§°ÉX†NéÈÛ AÊ”$qÆÕA4‘bS[”©SêP5]×iíI1®Q%OôûX·a?¾êPÖoÂGʰøôþM<ùÊZ,Kò»ÖqáÑ.LÓä…•ŒSΜic …£ì7y,/®Ø‚Ûåb|]9¶u¢¨*Ó¦íÃÉßz‚yÌ «7‚¢(ô„¢,žTNme€¹“ÌœPÃ{ÚX¿3§hâÝõ;yzE'5…Ïf._¼íY =È«¶qèœ&žx}+†a²¶-Äê–GÌ«à[¨«öãsëlØÞÅ×Î^DÊ”T=D)9`?~âCêk‰' g8p0ªjû§ !“2L*ƒn!H¦`lu[Z©Œ@¨öq˜iO¤R¢‘æð–´°¤ *ÐAKêEž[äÐþś->VÜx-á0|ã+˜5=Àߟï`|Õ#¬ ŸH™A:9h8 Äcãk}¤ “ù*ÿqäLn¾h>߸ÿuª<èŠÅ¦íí¨2N]]–™D×5~ü§7‰Æ ¶·÷±½=§÷obggª¢²Os5¯®jÁçÖ˜5©†•;@Jö›2†»þø=¡(ûO®eKk‡MÖ1sR=¦i¦{&1R1¦4Mâo¯odÕ–.ÖlëÝ×ï£iL7?ÜÉØ1•}í´tE©,,Þw6O¾¶‰ ×Ř*?o­Ý…®AcmWßßÁ´¦jâÉ=êª\ÿ³Ù²³‡Í;{yäÙ™5}"‘X„“éƒXÒBQÛ‡¦}çGüøËËùÕÓ«xaÅVî¾æXT!xâÍLÔd‡Ž Û< ­ß[–ÄEUØÚ«£Ó#Ë8êhAoŸ—² Ê‡[£4LÔØÞ#&|HÓBjàøÅ9p0”¥‡#ql O¦ðÊxôŸ;8Ñ0ùÙ5‡qõÏóè «¹á¼ù¬ÝÚAm…Ÿûÿ¾òŠžze לµˆ--=„¢Ivõí`|­Ã0éê 1~l÷=¹É´¦~ûìjjk*X³eŸ]6‹±U›˜Þ\Ãklgó¶vþpý2ž|u/¯PYæEQ©x”)Õüô‰•ÔŽ"º¦Ò²r S«yä™ð¸kèQ¼¼ðö&n:o>)Óä¥w·òÞG1<.…1•>jëEš&“ª¸çÏo3cB-‰DЏ¥óÈ3«øü‰²~['áxŠ××ö¤]n$HáD³9p0hÏBbóha˜¸½nþåËlïÓ˜8i ×Ý÷<ååeþh”4ÿ–€˜üeòÌó/§3b¢i*“¢üõŽù¸¼µ|öä <ÒűËÊxòï!fLu³ù£$ï¼âŽÉÓ;~J¹§K:ºCÍg*]„úÂLlnJŸ©÷ÐÑÑÁ„ñÄ)º»ºÐ5)TÇEAWw/½½=¨ª‚×dLM%­­»H¤’454°zíz&OlÆår±fÝzšÇ7á÷{ÙѲ‹X4L  §7Ęšjk«Y½n#åeAêj«ÓZºí¥¾~ã&M¦jd‚ÅUUeíº46ÖãózA::»‰„ûP„B°¼‚Êò–e±nÃ&Æ75âóyX³v#ÍãˆÅâôô†˜?V:¶Í8p°iñÂöM™·`ñdŠ”iÙ‰er‹E©[Ï~û@2™tfÍ8Ø‹ ¥¤¬¼‚çþþ7û¨< m(×·=Øãñ©”ÃÐ8pàÀƒ7ÃÎõn\¦\JI<â?„¡Ë4SW1ªP“¬Çݼ/ßoÃ=§P(Ïàû‡ínsÛÉxòÝ;\¹ãmß Í‹Cs‡æÍš;4ÿ÷Ñ<ó®ëhªF$AJ‰ÛãÆ¥ëDc±÷+Š2$ÊL+epƒ'¯Ðß©¢Ø=Ã-ÖBí—ºPK1…îyÍ'é:4whîÐÜ¡ùÿ5šA~öËŸ¨ 2v\/üíE¦L˜Âò%G2ÿÊy4Œk ‘Hm£$ ½¦¶–Ï]|1ºËý¸ÜÎúìÙìÚµ MÓF=év>j//½ôMãÑ]nÎ?ÿ,\ÈM7}›òòr***¸ÿþûq{|ÔÔŽq¼ï?8鄚;phîà“CÊH±iëfêêëlÓº"¸ú WrΙç0nì8V­þ€d2™$äè5t€D<Á¼ysùé}?¥»»‹>ÚÆÅŸÿ<7nä¹gŸ)(aåc๎eY†Á)§žÎ)§œÄE]ÄÔ)SXzØá¸=ît»¶—Ÿ®ëö¹[‹½È†ßHòbû}wû0Ú±ÙÙ½þ•JóR¯Ïý·Pnq‡æÍš;4ÿßNs°yœªªXÒB×têÆÕñÀo~IUU%ï®z ›7qûwHsS3†aíCO¦RA˜3‡®ÎæÏŸÏ‚ó™1s---Œ;–êšZÂ}!\..·tv´£ë:~¿%]¦1‹‹Fíb/ºNYyñxŒŸÞw>€d"ÎúõëIû®]TWWcYÃ0ôÉãñàóùŠ Ò"fMô¥,ºRËàë y)sà­Çåhv±1ŽDð®ÏrÈ3EIå1w÷%éýÍš;4wh¾·ÓÜ¥»˜1m:/½õ2sÍeü„ñ¬[½ž^3Ä¸É ˜–Å䉓‰Åb(J~(¥>L–eb™ö¹v4¥¦¦°K?VUU!„àå—_æK_þ2•••!ðûý¼óÎ >äPE¡²²Š[n¹¡(x½^ž{îy„hš†?DÁ¥—~ æsí7¯¥¢¢bÈDY–$ òä“O2köl„46çÁB×µl†»áâ†oä_o¿ÍãþÓ§O㞟ü˜/\v9?¾ûnt—Îüyó9ñ3ŸÁ´ò×O®¨(ç–[ná[×ßÀÕW]Å~ýë|ðá‡\ré¥t÷tóÅË/ ©ç:] ‹È}N¡ïó :y˜žPHúËwÍp¡ ÅÌ[…bKYìÅÂ-ŠI£¥„³äëC±œb¡"ùB=ŠÑÅ¡¹Cs‡æÍ÷fšg4ód*Éõ7ßÈ’£–L$yþ‰ç ºlèXÏøúñ|ç7ÑØÐ8¬ú° =scYYO=õ—¬®©æÁ¤2ÍÐS©GŸp?þÝ]TVU³hÑ">ø`^zéEB½½”•—³xñbŽ>ú^|é%<ð@Î9ç¾pÙåœxâ ”——–F öiË–-ÜxÓ·YñÎ;0gNöûeË–±lÙr.þÜÅX–•.;²äƒ¯.@¡8ÊB“^L:.ô“¸sNzÌ÷â îËp^¥ùÚÎD5’9Ì׿àïJI:áÐÜ¡¹Cs‡æ{;Í3Êò·þëzö_²?º®óÜãÏq÷ï$à ‘(Šb‡Œ§’(BÙ½°µÌ¤„ÃaæÏ›Ç#ðqJ½6áÄH8ìiÉÝ¡¹Cs‡æÍ÷š{<¡`˜š¦ñ믥az#ãxè¾¹ã{·ãq{ˆ'âÙgÙYá†á+Ù)β$þ€ŸI“§PVV–F£i›¾ý Û3$%] 08·Ç ã‚?2¤Œ_¹æË„úúP5]@VO$Ðu}HîÛR$Êá²,“ KÉhTÊ3KíC±g;ß)æI:\JÅ!/#ƒŸ“ßYf¤9†ó~Ý“Î2Íš;4whþï ¹¢(xÜnV¬|¾HûL™Î/þ5ú³öŸÅ/ïþ%ß¿ñ»TVT`šv9ó‘ø*Œˆ¡çøF 0G Nò’aì™Ô××óøãOpÈ¡KiÝÙByy9ë×­#ÓÜ<~ˆçz)¨««àøãgÆÌYÄ¢TEÁ•:;ڇͩ[ê¢Ëw])m—bú Fr_¡Ô‚¥Hò…úœoQ DÿË.bcÍ ;Ú9thîÐÜ¡¹CóOŠæRJ4M£½£ïß~+q3N0¤û‘ #ÅéçŸÎoîù ×}ù›4Œk ™LfùêHsðkìqØÌH_ýÊWøò5×0iò$Î8ýt6lØÀi§ŸAEEË—/'fϺKÅœ`Áüù,X¸ˆßýöæÏŸOo(ÄŸÿügªª*9ë̳ˆD"ÃJq£‘üF³ØFÓ¹;ý,]Ž&¾tÄáRÂΜ´'æÂ¡¹Cs‡æÍ?Iš«ªJ*•âæÛ¾GóôfÊ+Êíï•õkÖsïîå¦ÿ¼éÓ¦“H&ò(É¥±D§8AoO}}}9:ø`³ƒmâΔ\BF¹øâ‹hkkãŠ+®äŠ+®`öìÙ¼øâ H)˜Æ-«¿åööv"áHÖ{1‹es»G£Qž|ò .ºèssìqÙ{tM羟ދ”Ö”R° æ OÈ×F1³Íp¦°bçEƒï/Åy¤‰.ßâ-ætS¬½|ó\R‚‹û8’—Õ¡¹Cs‡æÍ÷&šû|>~÷èïéêéÂ\oîc˜‡,?„IS'ÑÖÒFMm­íÁÎðŽ’»ÅÐ…ôtwqÿý?GJIOwjš çv¾»»›ï¼M]¶.Ó™x<Á7\Ïe—}!¯0f̤”Ùs€·ÿõåÙ罿ò=ü~?¡P€sÎ9›c;–žî.t]GÁoûmmm$ TU¥¼¼ŸÏG4+Xm§”Іbf•|/g>‰-/qÉõÚPìÙÅúPêË6ɾЂ®ßEÃY†q2®¯…6+‡æÍš;4ÿ¤i.¥Ä2-bñS&LáøåDZ߬Ù|ûÖÿ&Ô¢¢º‚@0ÀÆMiÌÉÕ^ ÍG­¡[–EUUUZ‹¶ J>MMMy'+‰à÷ûñûýi->5„ÍÍÍ9šºÅرc<Ãçóáóù²ÏÏ8ä••• èO"‘ÈRLêî쩘Ä[JøÂÂqü(Å1d8É}´á,¥H´¥ø%[|Cž—~Ù‡ÓXJýΡ¹Cs‡æÍ÷š !GœsÆÙø¼^’©©d —¦ÓÚÒJ]}Ñh”@ 0€·–BóQkè…G1ia°w_îKuæ(:1\[Ÿ´†žý-#º1²ä…$Ýb’k±p–ÑÖI.vÞVÌìUÌÙf¤ 'òÑj$u’š;4whîÐü“ yæX9™LòÊ?_áwÞäýÕ«ðýL›9ŽŽ44æì{‰Db¯Žæ£bèÿ?aO8µ •Ú$¥û…:phîÀ¡¹ƒÿ+4Ï<Ó¥»ØüÑžyñY´ÐÏ–Í[èÞÕÍ _ý¦eÚÌ\ˆþp²Q`Ô ½ØÙÉhïÉïùLR¹¹†‡ëÇpV…‘ާÐÍR§ŒRî)íw²vŽbçPźóï(É7šr{ÃΔGbŠ+ä¥9LJæÍš;4wh^Í…Dc1š›ÆsÙÅ_À4m<f™y!f½Û&wYb5RªØŒäºR®µÿ)=‹ÏÀ{Gž‡¸ÔP‘Rï.ddØ9a›# ßphîÐÜ¡¹Cs‡æÍ…¦‘ ÿ,ˆ¤ÍBN{yºÛí¡¬¬œd2‰8pà`ïDâv{†˜+´Á„eYlݼ™žî.LÓrÜ<8pàÀƒ½)ÃàD7DCw¹\¾ü(Û^ïÌ—þ¿×†À¥©hêÇ¿#ZIÙt%¯ÍLbµ¼ ]JI"ß3ÎâßÈ!%ª¦ p0øwAQÒå[KL\0òiü÷µ;Üxþ7/}]w¡jÚp޲?˜†a¸Üî½*Ü)•JÚ Lw}¢ó#-I2™@Ó´O–f4!yþ͵üÏ[[±>Æ~!˜ÞXÎYËfaZü{ÿ|œüGÒÐ…hªJ$Á0Qn6¶Ÿ¦ÏçCQU,˲ÝüX,–Íæ6:¾-q¹Ýx½Þ^š®Óº³…¦ñˆF#ªÕ %ápÓ2wk<^¯Ý¥x®eY„B½TW×dËÁö{™t¼‘H˜ÊÊêt­y”´y'Z èM©ãQN9ÝÌs#»AŸL<¨×çC×õü§B°fõ‡twueióIq)%•UUŒ©«cãúu˜¦•³Î>Y446¡ª*[·lùÄæIJp¹4&NšÊ®]­iš)ŸH_qéæí•Ï~8šª|l˜žþçû<÷ÖfŽýô>Äâ©ÝªXV,IËhªÁ¤Y¡Ä^Å®+µo¥ÖM혇g±v†ëK)})Ís­éCº¦ª|ðÁ´ïjËÖ--úB½,^r¯ÝNGGm­-»Õ®‚X4BÓø TTVf5ÉLUÓ†zË–Í$q4Mß­ñÄcQfÌÚw@5)e¶Ü]vr…@J‹×ÿùOEEa5¹Ü±&qÜnsç-°¿S«ÞŸ®®.Û)b74Öp_‹:—Ë=h<©!ãI&Slذ6G_õxŒT ]×™:}R©RJ6oÞˆ‘L¢î.}â1fÍÚoÈf¢ª*«?X…?`ƬY{,´eôkX¡eÇvÞ~ó –q$ª¦ñÉ+c6óþàý÷‰ôõ±øÓ#-‹OÂx „B"çŸÿøS¦MgƬ}?±¾èšÊó¯ÈÄ˜ÑøÇc—H¤óg6óê[+qiQRÎG?‰\îÅ2Å þÑ\îyÛàöKeÔƒ¯I¦¸R2È*—û²–’©o´4×k1ôöörÂI§ìö"ݾí#Þ[±‚OrÑh”¶Ö8wngÔÒ¶ ‘H˜U+ßel}=}}}ýåWÅ@-GAWgÒ²˜¿pIÁgšÀÁ^ËŽm´îlaâä)Äc±‚÷èºÎ{+V0aÒdfÍÞw·çñÕ—ÿÁÖÍ›™4u*»vÆ8á3'ïv»[6obå»ï²xÉA$S©Üe0Ĥ³í£-46ާ©yB¶šÝhºeY¬Zù±x ·ËMGû.TEáÀ…Kúk.v½}ô­m;ߟ]ॄ~Åã |þ†‘"•ôúMj‘Ö¸•´yÙ2Í!Ï•–Eee-;v [¿]Qzz{Øoλ}­( cÇcÛ–Í(BD¨®©IÏùè79˲hjžÀ¯ýEU U\ˆ GÂL«šI$.ž@aQMUUü‰xÛC,Ç(#™JbFÞñ‹!ÛýбK)©¨ª¢½½-/}¤”HËBe¯8›”RfÇ« Ê:õIÂ4MLÃÄlX#ŸËåÂ4ͼ´òx<ÙÊRùW†ª*»ÕÜçÅs„¼‘¡ q«ØŒVùøŽ!¤¦"P™·Dõî®·Ý5=ï© lŘb©}ÛÓV¶RÍÜ»ó>h0oª×ÑŽOË»!çÔX³f5‰D"­A)èºÇÝËÕ†îÑV”ššiH9E©ÎÞŸO‚ÈÕî,)‰äÙçcÜùÌÕrž)"mÎô† ª*š®‰DXµj‘H„)S¦P__¦(vHÀ ºT³ŸH Ã1Õ\ÆU°°‚eå}Áw/?±Ìö¯”µc×éµR)˜ªIäI–eå¿Nfú/®·<}P„ ··7ÍøÒ©´- eeÁÏ™ñˆl[ƒçDz¬¬¿@–ɧ? ¹X&¯Ò*{,–eaI‰°¬aµ‰‘Àårár¹èëë+¹-)¥-Ü"±¤•˲ì÷0]1ËJg¹*jªÖuÖ­_OeEåååö·ÛÍ[ÿú³fÎ,8Ö\ %3G™õ*%»hô­Ün7ÿ|í5æÍK0¤³³UUKÚ4-E ¤Ä¥)hª}Ž/%TTVÚí( 555twwc&åøýñ¸]jZJIEe^¯B¸/IOOeee”WØÇeѨIWgŠª`Yݶ7½dÄÌn$ç´#¹>ßYôžd’»Ëˆ )¥ÈK©ý/vŸ¯€J©s+{J¥’o³"kªTxgÅÛ¬^³׃×ãÃã¸\muÒ|ŒØ– èí¸­¿EÊV;B¨y7Adÿ†®( ]]¨ª‚®ë¸\:ºKÇår¡ëöYjOO­5§_ììg¤²ÌټӃ߶};ï¼ý6+ß{©S¦pÀþû3{ÖL¶lÞÄ;ï¼ÍêÕ«³f[iYý÷ÊÒ7ýáv})¥½á*bæ,ò²‘ÝÛôKËœG °™ç O¦¥>\MWW·½aZÖÐk‘C6_ÈÛ®ªªlظ‰ööNÚÚÚhkkgW{7mFUU{“϶Kñu‘fžÒ²°L·Ë…‘J±«­žîn4Uµ-3ék }LÓÄ2Œa¯îcY¦Í8ÓýÉôK©d2+Žæ#€•+Wòë_ÿŸ×;‚>YHÓ´çÊ4³#•BÓ4Q…À0ŒaçÊçõòÈÃðá‡f…­Ì§ª²’oßôRÉ$©d2_L )-¤•¾×41Òó.2B†¶Æ0}©¬¨à+×|•1µµ|ñŠ+©©®*øÜ¡ý0AZ¸T¦¦‰[×ùÆ5W1eüŒD‚sÏ8™pon]ãÛ×}¥‹—ð¥Ë.&‰ «*_½ò ¼`·Ýr3ãêÇðà/μýögásøÞ·¯§¶º UJtš"Ðòðó\Sl¡O>“íàߊåL®½|füÜ¿ß[Ìü_èÙ…ÚËýsH+–®5—š“bL9Ÿ ¿XNýbBF¾ñ³›4/¨¡çn¸}}!–,>ˆ@ `FtbEà ÿEOp^”DÇWéhûaV@‘‡—Ä>,ËÂãñÒÕÝ•ö‚·7vUU ËH$Yík€¶'Gcõ’Y“WS^VÆäÉ“0-É®¶6¶lÙBcc# 躎iš¬Y³†éûìƒÛí¶7¥›Y Kfªªòå¯\MEEn·‡o|ý›¤R©šÌË|wGòÍÕ’G¤™Jb(m!X³n=šîb[K ŠªP^^noˆh7t3žÌ#<¸\.4]#7H¥Rx½^\.}(óÎ#leº ŸyZ^‡•+ßçîÿ„`0@2™¤nlßýïÿ¢»»'K‡@ @,K¯}ÛYð‰'Ÿ"‰pÑ…°k×.|>˲èëëCÓ4|>_ΑOǃ‚¾¾>LÓì·ÎH²Â¢eYTWUqée—óöÛïðÌßÿF"‘¤¼¼Ì¶&¥C2C¡^¯Ÿ×‹P‰D2û×ëÍöcö¬YÌýÔ§èîî¦,DÓu,Ë"‘HÇ ¸\.’É$‘tä‚”Kˆ´ƒ–…¦i¼õÖ¿8ùÔÓØ¸a- 63Ÿ:m~ý«Xzè¡xÜn4]'‘H‰DB  ƒTVV"„Àï÷ …°,‹@ €”•XÒŽ¶Ù¼ÖÙì”™(iÓ¬ººš#:ŸÏÇo~D"É?^~…Ïž}ím;éé顪ª !‘H„d2‰®ë\Õ5Õ„B!îºã6vîlÅçóáóù²Bµ”2»^UM¥¯/Œa(š&PU¢HtM°yÓz"1ƒÿ8ûT¾wëhžÐÄ—_Ê’%Ÿæ»·ÜÂ+/ÿ„É}?¹ƒçÈý÷ßÇ%_¸Œ×^}™V½ËSOÿ uD’Ý]Ýè.[C×,ÐÔ=cbÎd^Šy¹­4_[ùž]èÚ‘¦Xlaéúpšûpe[Gãå>Ü{>áa$4…4ô|:›Db&†‘Àˆý }žÀØl|iÅq×Üʸé]¸Ô}I…GÒ‡”JÉÚ²%%Š¢¢**ªªØÿ*jZB–ýZ˜e ÑG¢Uæ2×D"Á˜º1$IR©$ºK§¢²‚xßï'rÅ•W±zÍŽ=þDŽ=þDÖ®]Ë=÷ÞË­?ø!·þà‡ÔÔÔð›ß<ȲåGñÙsÎÅ4MÞxóMN=ítÎ>ç\N=í þøÇG9ã¬Ï²üècغuk¶ö1J¿¡ª*7m"™Jqî¹gó—¿ü•úú:îþñO¸ì‹_dÙò£¸ìò/â÷ûyèáG8è¥,^r0W]ý%šššøÝï~Ï‘Ëæô3Ï"‘HðÏ×^ã‡?ºêê*¾ù­ë9ö¸8ëìsøÓŸ£¬¬Œn¼‰C—ηn¸MU³gÝúdúê qâ 'ðãßCó„ Üu×Ýœvê)D#QEáÊ«¿ÄáË–sûíwàqÛÑþR–u Oýå/ŒoÏ•W]MOo/Á@€ÿ¾ù»¬[·Þl¤¤»»‹SN?ƒ¥G,ã¹çžGU”þù±úMîRJÆÖÕÑÔØÈ+¯¼Š®ë<ýôÓ,Y¼˜xé3Üqç]ü~¼^ýùQ.ºè|èa{ôü×·oâλ²2Ë,3gé–eár¹øÃåˆÃ㔓Oæ|”` Hoo/³gÍæÍ×ÿImížúË_¸àüóxå»vØ¡œþy¬X±‚gžy–çžýÎ;÷\nýÁ©(¯@ÁÓûü>¯¾ò =ö8>Ÿ—½õÁ3Ï>‹Ëåêgž¤ßA)‰Åb,Z´mÛ¶ñÖ[o±ný:è Uå׿ù ³fÍâ×^eÓ–-lظ‰Ÿþìç,=ôPžþëSøý„€H$šõ‰Åâi³~yy9×}ëz®¿îZžýûÿpÇw!ÒfôL?úó/@"™ä¤“>ÓOý…gž}–™3gPQQŽßïçºo]Ïnù>}ê ¾û½ïSU]Íwþëf~ûÈC\ûÍoHØÇ‘h„p_¿xàìQ¾sÓMÜpÓ·)/·kWüâç?ã®»îàG·ÝAuu•íÔ*%ºŠ*P®«tuv¤óOT¡*ö÷ë‹ÇãBUH“òòrvìØÎÚ5ÒÛÓM<åê/}‰ï¼Ík¯½Æ;ÿz‹÷Þ{]×PÓí«%:Þ 5QïÞqÜwÌü7ûyî‰1ö¼=ç¤úc½±ÍóšÜ mã¦e"$`%ÐjŽ&¶óû¸&}6+D·_ŒR5™ŠƒV‘v`Q ©›YÆœ1×"2Ž•vˆRˆEctvtØÙë jkkÑ4-G»‰2j3 Ó4©­­eÓ¦464Úg™ÒÞÀ‰8¦e‹Ål³]"IYYYÚ<š,FA4)%º®³mÛG¼·ò=EÁëñÒ ¡i---¼òêË„B}(Š`ÞÜùTTTô?·ÀK’Nb±¯¼ò2VÆáP¦½Ã‘U Ã`êÔiL›:-ÿ=ª93¯iÛ·ï »»׃i˜Yfˆ'Ñ].Ö¬[ÇŒ}¦ãJ'|ÉJqbÈÙD¶O½=½$’I4U%e¸sÈ-¥$eìÜÙjo jªª†µ Ø™Ç’$“I‰ÍÍÍÜû“‰Fùpõj®¼êK<ùÄcì¿ÿþÜôïÐÙÙICC·ßöC~tÛíüäž{ùÏÿüí„B!Z[[‰F¢¬xw§q&‘H„³Ï:‹öö-kI0LƒTÒ¦•ièª ã䞊Ǚ7o>·|ÿVN8î~û»?0¾©‰` Àó/¼ÈaKeõêµTVUñÔsöÙgsÚ©§ðµ¯}V­"‰2¶~,ãêÇÚGl96ª°Mîr¦ðR™Úpç´ÅœÌFÛþHœòJ‰cÿ8˜}©ŠÝ½Os&.¡­Rh®”ÂÌí—ÜDJeUašµaŸ+÷¬«ÀLl@A8\ªNª³ S`~™s2Ó2ðøÛñãO<ŽÇDò¹Ï}Žh4Ê1ÇËŽ;ˆÆ"¬xwo¾õÆÀЫ"ÏS…õë×±êÃ÷©¨¨ÀëõàóûH¶Gmo_/ÝÝÝ„B½<ôðƒýç·£´ÒçZ9ZZv²uû4]³±ôYµí¡ØN^BáÝ÷Þ'žN'œÑ¦Ev3?nÜ´™í-;q{ܤŒ‰63W5•v´°vÃFŒ”™µ6 ÷âgè ùÝï~Ï/~õkÖ­_ÏŽ;ðûýÄbQþãÜs¸çÞŸrÚ©§âõzùÓŸãôÓOãð#çÅ_¢¦¦†5k×ÒÕÕŘº1,˜?Ÿo|ýk|éê«p{Ü$“ö™¶ªª$SIº»»m‹aÐ !DÎ1ý!UO<ùsœÃ_ž|‚Gÿð{¾}ãõ<üÈo1 ƒp8‚¦jD"Àܹséèh瘣&éã ÎgÁ‚Ìœ9ƒys?…´L»}…¼Nq¥ž/÷ÛhK‰Ždñ‘h‘#Ä=Yß|4¿? Ù}Gÿ¦ÎÜgúÇ‚-%ª*áp˜h4¸†¤”lÚ´‘ªÊª´iÓ´‚ à‘Dwž»a.‘ÖþjvvN£ºú’I ÓHaI‹µ«W3}Ÿ$“IÚ;vQ7vñx )%¡Pˆ@ ˆÛíÁãñÚajJœpggGv£I&“HKfSÈîli¡i|3‰DÂ6½* ÝÝ]ÔÖŽÉ~'„ ÜƲL|@Ö”F GÂi{šf§ºÍ˜Å“É$>¯Ë’TWW§¥tÓ6‘÷öP7¶žT*™ÌD"N0X–= ×4-›·PŸ6qfLª+ß>ü€7²yó&:;;illä­·Þdûöí´wt°sg ûÎޗƆR©–eÑÑÑN4fܸzzºI¦’ÔÕÕ‘L&±,‹®î.ž{î9ÚZ[Ù¸i›7m¢eçN:::hoo§½½ÖÖV~?ôib±hz<ë×­eÚô霵’É@ÓLÇI+*­­-T×Ô`öY«aØu}}^ª¢ÐÝÛ‹®é†A*edµîŠò2|ž´€–ŽKõöàñúp»Ý„z{A<^F*…ašYg¦]»ÚÑu»M˲ã¶MÓDJHÄã475RSSM*•ÂL{A÷õ…3fLZÙãˆÍ›6RU]‘ΡÞÜÜ̺uëùÇ?^Ʋ$_ºúJ¤„]íí´íÚÅç.ºîînêëÇòÈo‡¦ª\xÁùTUU±zõz{{™7w.S¦Ná7=ĶmÛ9ü°ÃÐ]:55ÕÔÔÔ ŠŠ ÆÕ×cš&Á`ñMã³™;ÚÛ©ª®¶û·y3Ë–A¨·—žžjjjGÂLŸ6qãêñx½hªÊ¸qãBaëGñÚk¯!¥dÁ‚ùL:‡~˜M›6sćáÒ]”——sÀûQ]SÃ_ÿú4“&MBÓuŽ:j9‡_üâ—¸Ü: æÏ°÷twQU]“ŽW©­©¡ªºŠêêjLÓBS5ªª*™7o xê©¿ò¹‹.¤±±‘)S&‹Eyñ¥pÚi§2®¾žC9„•+W²fíZN:ñDš›› 466°dñbÞ}÷={ü >õ©W_Ÿ -ŒF£ À“^?º¦3iÒDÜn7••6ÖuãÇ7±xñ"^{ý þò׿²háB*+ËY´hÏ>÷š¦³té¡Lž< —ËÅ´iÓØoßýøSšÑ/[v^—`Y¦ÆF ÃÀï÷3aB3©TŠp8LyE%•åÁtx™ÅùçOWgÕ5Õ\rÉ%vêa—3Î8ƒ‹?1§zº¦áv¹¸à‚ ¸ä’K8îØãˆF£444pá…rñÅ3oî¼ì~•±$µìÜÉä MÙ°Ùњ‡Ëâ¶;©_K9ûiJבôc$¡a#±‡´åb–RýJžE¡»«³€É}wv2™BSÕ´÷«Ä4æ (Ôòýˆ†6bù@՚ذ!ʬ™õÄã![‹+"ÙX–EY°Œ–Û³O¥Ó‚fàv¹m-OJDnáûÑæ öz´$ª®àÒu¼^/ÉD2íÕ*Ð5ÍÑQv/yKÆ”¯(’p¸ÓN=p$Œ¢(An¼é–/?ŠÞP/×~ã:ºººìÄ+~6醢d<DÎXúÛ–Ò`ÒÄI\wíu9C'I"ñûü„Ã}£—|e:=M¯±cǤ§UÒÞÑi“¼À6ñ×VW1¾±Ã4û5­±é¹ô±™_€ñMãØòÑv‚~?fÚ+\‚d"ÁرuÔÔT,Æ“G"9‚l¦eaš¶…á³g‰Ûí&•J‹EyÕ*î¸ã.®¼â‹éøm›!_wí71M“¾¾ªªð•/ Ã4éé馶¦šë¯»)-B¡>ÍãÇ“H$¨ª¬à %KˆÇã¸\.Ž\¶Œ¾>ûXÅJ9Y–E8fÙ²#H$ú‹"™¦ÉQË—Ûac¦I"‘`öìY˜¦Å¸qõrÈÁ(Š OÐÑÑAe¥ÝÏŒ \,£¡aÉdŠ5kÖ°hÑB~õ«ßðÿ<–®®.fϞɢE H&’„#;DLÚy&lrØBÛ„æfE¤ ì)ž>}ÝÝÝ~ØRŽ?îXB¡PÚ cqܱÇrê)'ÇI&í„N_øÂ¥(ŠB2™ OpÜqÇljF#œyæé¸ÝnÂáHö9™8x{­[„B¡ì=¶àiûŸœtâ Dã1R©$çýÇ9éØû0Éd !$_ÿÚW1 KZôöörê)'ÓÕÕ…Çãæ+×| !B¡‡v±X!Ž=öB¡šª"¨ŠDÒAwO.—m™êìì@Ó4„=½ÝYÇZMUº»»leAQP5 Ó4Òʊ탢¨i³;i ]Éï'óI¤~¬}3#3™bTÅÒ¨s€mê×RðhR¿æëûpó=\RµÑÐ\+d(Îl¾–e!‘.œAÖÃØ0fBb"°)C V6ÿëðc5}ëºN]ÝØ¬ØÖ¶“úúqtt´g?˜f¦p£ŽE—ƒ¼¨3Ì2ãÙ«(MëwË˜Ý Ë ÛÎY£`‚¹cÍÀïód ½x<t]ÇëõáõƲÏÎ+ãáO ²7aûÿÞóã£MI3™£É†™ó‚¥%y£§ÒZõpf¿Á߆AUU©”Éö´I\; lìØ:êëÆd™y!SßÐÒpM8Ü—p<7Ý]]\xÁy̘1=§ÐŽIww×€M¢§·'»±[–5àwð&¶•þ/öo4ÒÊ9Ò‚X,2Ä‹hðw™.Ó4²ŒMP[ÐÊí‡iZ˜¦¢¤8äàOóâKÿàš/_MSS#‰D‚TÊ¢³³3g\™õm¥él¥™zj°ûKÖ:¥(‚x<šf‚ý›X4! pÜ …zÐ%d7áp8L8ÎÙ¬@d|lÒ ]²÷äúErÚéK'©Ê½¦§§{Àsû3Jzzz\G³~<™gY2mrý‰=ÌF piZvãÔU²Çeö=¾K ½ö=ьخ)ù5ÂÝIýº'LÀÃ1ÉbÙè†K™:ÒïöÆÔ¯ùp)‚J! }·S¿æ¾¹VZ‹M¥R˜†š¾ÕÎØdÚ´¥"¥Ë2‰ÇÃX–mÎ,$Í‘ãáÜÏ2f]+kÊ%­ç Á`0ÍÜãC’ÃŒæü×4Mâ¹&®oûÜP)¡($ b±˜ó; sQ1­T°L ŸÏŸ—a‘@ó\#eʹ펜¡‹œèYøÜLf‡LÈ¡5ôú|WžžJ¥¨­­"‘LÐÞÑ RR]]EݘڬI]p²,âY›þ”ޱXœ… ¤o!”!9ëŽc¨­¨ðúCþÎ8<Ì^'‡¹·iá~X–EMM ç|ö¬´cYܶäÐ?w팅«Ý=g,5wwn4†eY%oþÃõ¥øõrˆÓ©@’›"›|+ã " ó’pÀ½CoÖTdd¡e{ÊQm´füRC®ödF¢ñ–jUØ]G¹=ñûîм †žÉòÇQ5ÇÛ¯éfzú3];iE,–±•–’×´ZÙKp¹Üøý,ÃÕ4Í6g‰hQç‰áw½þ{Ý.­;[©ªªBQíP+EQBAQ@×½´··úùÃ(œ=2²DN½Ú¬ö–2¨®®æ{ß¿™©S¦’L$ò?#ïsåèú3¸ÝQE¦vË IDATéèýû”•ÉœfÙIWâñFÚ× •20R†afM…Lヿ³²ÉVl߉ښjb±HIݘZ’‰$BÙ6•”Üuf¦5iÃ0÷Šêãšn;¹õôtc{Gíy™v€„Ãôôtc¤ŒO¬/Š¢Ð— é#K÷¼G˜"õö°2 1»SAL8ë9÷æ¶…èîì$žˆãTDwPl/öx<ƒeYW+ƈ¤”TWVñò+ÿè7é ÖNÿi™¶ãW®†.…UP£È»ù* ;w¶ähcÑUéð$9Šƒô\ïì@ @sóxZvî$Ô×gÇ×gù¤Ý~mm UUU¸\®Ñ9sˆü&÷ B}!®üâ•hšF*™¢¯/” `"bhu³œ4¦£ÅH5t‘;?¹s!BÆÆqÙ<¶©Rðû0sò~¸W ‘Oò˜“ì ¦iÒ0®>kÆ9[š¦ò›Ü%¶c\SÓ„ô&¹wl“cÇ6 `{ ›÷Š~×hÓ華–Á˜1õŒklÌ Û-AÓt¦Ï˜™=×wà Ø¦ÜÝÙI··‹æ ó3ô̘1=î»ï~444 …H$⤠ӎ+5­lFVÝ¥S,c̘1Îh Yä3š¦Ie&ö:þ@ѳbŒHfö}º®S^^n§zô½NÙdæè‘ä§gÖu#ǰ+)..Ró¾£)¥ääöíÙMZzF£‰úÕ2t÷ï£IV6‰0$IÍòóÙ´qg÷íçuK×§WAÀåvsèÐ!Ú´iƒ$I¤¥§³mû6 °Z­õü)xý7l ?¿yÈ:ñÁÊ?++›}{vÓ²àŒz%úßG”¼ùëÍ[¶ò¦.¦¦²ß^RRR1Œõão~÷ïÛKVvS5 ;”Ò¯©©®}ž§8Å)N@’DY–1hñ:zbR;uæûµßúj ×ËüC§Ó“E§.]¼9˜=­ÛpìÈa¶k€e III´?«#‡#àLK@–ä:îØÄ¤$ Z·áÐÁ¸=îúzÁtYYÙäääápÔ·ÖÕ3òãýŠ¢HËV­¨®®fÙÒ%ÞR“õ|Y£ÑHë6mÈÊÎF’$“’8묳øvõj/ßûø¡v›æäÒÂ|ÑÅèð•Éô{È“R’éÞ£·{>Š…¯þp †:J.§—Ë…Á ¤uQÆ"B9ôµ.ÂP ÁG/áÚ WK9œ $L"=nž"åÏ a¢¼#õ¥UjU*Ñ=‚yçyœçtž‡"C õd¶XŽÁh¨¶@0 !•ˆKlX­ €Åj­3¾Ì&YF¯7ÔaÛã¡;AÀšP»Hô`©û³h0Ò¡F£6@„˜›6šBö—àË9~—ÓÕà~F#F“)`¯÷D‰Ìs?Ô­Aoàð‘Ã;züÈÅÈh4iݺZ£u¸>êk­…+¦ªÏXÛ‹¡-҆㉖TÕúXkqžÇyþGçyD…îO“eYMóÒJŠo‹Y–¨©©!ÁjE§7xÏœã„85D™ëtìØ¾V­Î@’D|xø’$ùóŽÿØ=¢HzF&Å%Å‘³!Îüê°jïGÑ3úêÀßø}$Ë)’ i)q<ÎÄ_…0œpŠö^á¾óC4ët:µæB¤yÓ2‡á¾Ób†³ÖÂybNϵÞÉÒkÏ#={"гh=SŽóüÄð<²…î P’%o©Q|g“²èÁérEdœÁ §¼¼‚aÃ.æ©'ÿI§NظqÛ·oãúnÀQS×Jqª?ùñ ü¨„¾({o‰ŽU+¿$¯Y>¹ÍòqK’å"sø ’øëøŸÝn»ŽTn1XˆèõzÌf³Zä%x±¯ÅÍØŽN§#--ÒÒRE!!!Á[ï»Â[ÇÛb±¨Å‡b-¤í“’’°Ùlj¹a-®@ŸV«³Ù¬ÖONNFQd*+½ES¬V«X\.—üêÞh4’˜ ¦tVWWc±XHLLTa–+**Ô‹½^‡$ÉX,µ]‡ÃQ'H)ð=ÒÓÓU~‰¢HEEÅñÌb;Oæ6­ÏyjK0ʳ å¹wpäµVÿ3ôP룾z¸w©ï:ÿ=yÕå Ö„V¯YÃÒ¥Ë0™L\wÝ(Z·nGk•¡ Ü)M~d2³fÍâŒÖ­ysÁzöìɶí;À¤®Æ*X§ÓÈB÷þpê\=~\÷=g´nCQá1DHn^JÄ=lm‹ÃjMà½÷ÞcÇÎdgesóÍ7©Š*”{-T5¤àÖ´´Tžþ&NšŒ¢(=r³Ù¬*„¤¤$>úè¿ÜxÓM(ŠÂ±£G0™LÇ“‚ rƒûÔét”••ñâ‹/1nÜ?U«VQ\RÂ5#Gb±zÞ?Æ„ ¨®®éJ DB TVÁ÷ À””®¼ê*~ùe 3¦Oçæ›o¢ºººŽ€ öF¾MÆÏ?ÿÌo¿ýÆÍ7ߌN§ãƒÿ›êª*®¹æRRRøúë¯YûÝwè oŸ>¸|›¯áPΫ¯¾FEEƒ‡ æì>}øùçŸYùÍ7Øív5þö·Ñäçç£×ëÙ²e %%%$''³bÅJô=\p½zö¤ªªJ}oÿxýU çÌ™‹ÍVFMƒ-[pûßþæ+©¨S$7u}K,ý×çùHnâX”f(k:8P8Öb;ZΚÃÕüˆ$Wß¹<•x® ›Šz½çž{Ž^={Ò³GÆŽK¹Í†Ýf£¬¬Œõëד˜˜HYi)?¯_¾ô­ß~û [Y)N‡ƒÛo¿»ÝŽ^ïmÞãv³þ§õTUUa2Uœøø'þÑú E‡ƒN]ºÒ²Õ´?«I))>Ô9-Й©©©Ì˜ùÏ<û×ÅÏ?ÿŒÇãA–e>ŒÓédÆ Øív¼¸‰‰”––òË/[ÐétFôz=V«•]»v±k÷nªªª¹ôÒKùbùr*ìå˜L&víÚÍæ_~A’$L&#ƒ¾Žmå·`<¨Þ €ÝngóæÍ^0ž¯rš1s&›6mB–ežøç“L™2•»vQa/çË/¾`äÈ‘”——S\\LII Û¶mS“’’¨ªªbãÆ8>Œ(ŠX,JJJظq#ÕÕÕµ½ÑhäÈ‘#|þù|ð†¿Ø»¹°Ùøå—_¼…|^‡cÇŽQVVÆæÍ›1ȲLbR2Ÿ}ö9wÝ}Ö„Dî»ï~n¾ù/˜˜Èرc™2u*}ûö%¿y>Ë–-#1)Iuñ[,VzôìÉÞ}ûhß¾çž{Û¶mcõš5Üÿt&ŒÏÈ‘#Uë:%5§žú?^zyK—-£OŸ>ä7kÆÅçý>PyZk“(Š˜ÍfÆO˜@·nݸñÆ8§ÿ9¸Bx)C¥LEKõЦò}}ÛÑÚnãc‘+‰Å:-JYkª™–êp§*ÏC(ôãÂÅj±rþùçqÙå—ÓµKW·Üz“&MbÕ7«Ø»w/ùë-|øáGŒþÛíTUV°k×.þûñÇl۶믿ܜt:Ng wÝu_¯øš{cǼ 2Н¸Hüÿhù„¢ä”’’’q¹œ>E—‚è+«ª%GÑh2óúuòã?ñô3O“””„$ItîÒ•i÷ÞÇÒeËèѳŸ~ú)©©©¼¹`#F\Ê{ÿz!C‡R]]ƒ(z¸òÊ«˜}©©©|¼h ºˆþû_ž{.¥¥eüôÓO|ðÁ¿9zô(ÇŽÅh4òá>$%5ÁC†ðõ×_óͪU´ïp|ðcÇþƒ ]HZZ+V¬ k·î|²x1ÓgÌ s—®8NæÎ}‘¾ýÏá›oV1sæÔÔ¯rh±Xظq#‹-býúŸùôÓO2d(óß|“¾ýúc³Ùؼy3guìÄË/ÏcåÊoŽ{™„Äš4iÂ}÷Þ˧Ÿ}Ʊ£G8p [¶laÞ+¯òÉ¢E 8箽æì1JKK½ÞßÙíôï×—!C†x“/ýòþû§³lù2¬¾rÇÅE…üoÝ:Þ]¸™3f0pàn½m4yyy¬\±«ÕZÇÊ  óç¿És³gS]]U+cB‹2Ц¢µ¡U …{}”Xàÿ#•Iec¡¥Lhc)³Xß?Ü„;{?ÕxÕå®îÄMFÞ˜?ßë²Úº…–­Z‘`µòä?Ÿ¤UAwßuÍz”~ýÏaâÄ ;vŒAƒñì3Oc³ÙHMMÁ#ŠXÌf>ÿìs$Q¢OŸ>lݺ•Å‹sÇwP?WS=j KÚ}ëÇEY’°X4)·•1÷ŹL:)S§2úoãŹs¸é¦›˜4qݺ÷ ;+‹[n½êkGq÷Ý÷póM7qé%—ðÊ+¯òÉâOhÛ¦ Ë¿øÑãö–ÖëUÅçWÔW]}sæÎeÅ×+ÈÌ̬3½ÁÈÆ ÈjÒ„Þ½{sÓM7b0š˜2e*Ý»wcÄðáÌ™3—ÿû¿§¹÷Þi¼ò꫼0g]xß}ÿ=?òŠ,‘€ÅjÅböžÏ|àAB¿þý1MÜrëmŒ}O?ý ;¶oã­·Þ&!!;v zöêÉuת¥ô***¸üŠ+˜:e*$%%…‡z '‘™™É;ï¼ËС^e;k֣깾ÿ¬]'è(,,äŸO>É»ï,$-- §ÓIee%yyy”••a4q8jP¡Áw2kÖ£ŒýÇ8rrrèß¿?;väð‘#|øŸÓ«W/ný7.¾x8?ü°ŽÏ>ûœ-Z`¶˜©ªª"--iS§²gÏ/þDð+keÀšš}äaFÍçŸÎÀsÏã‡uÿ£mÛ¶H’52œÛXK@Y}]ÀÑú‹ÔF¸hðú ¨Åò. ý¾1<‘RÔ´]ü^<ªÐeYEF–¼‘î)Éɼôâ‹€70Ä`Ôãq;‘d‡Ãé 0qzLjjª),,DE˜ÏK.¹„³ûô¡¢¢¢A•Ââtú*tN‡­ÌÆûォ/ ¤@¹ÝN÷îÝ£þÆdY¦y~>_|ñ²$Ò«wæÏ“»îºËkýù«Ü>7¼ÿ£Ñˆ$Ë,Zô1Ú·g×®]ÇרµÜýÔ»ÏÙœÞyüå¯ñ¹u=!7å¶2>ùdëÖýÀãO<Ά ©¨¨ðm x<-ú˜Í›sôèÑÚÏÚíªWBðY®Þ£­ãsPU]UëÝýc~×~yy9<ð#F ç½÷ÞóZÿG£×ëÕˆyY}ÊÝ®>ëoÇ.è:ƒÒÒÒZñ’$‘——Çüùo0lØÅØ+*3æ.rrrXùÍ7 v1¢Ç­(z-qo:í½÷ÞÇ÷ß­¥o¿þ‚ÀâÅ‹1bz½‹5;︃Q×]‚Ž·Þ~›‘#¯Æl6STTÌW\‰^¯§¨ð()É)”Ùlu,,ÿÃøñã±Z­üíö;¸ýŽ;9tèíÛ·Wç*\ðS¸e-nâH)L±TGŒÐ)õ*T;ÁãÖ¢ø£§746 \n|´ÍŽ–¿#¹ÏOUž‡Tè¾ü3Š‹‹¹úê«IMMUÀv»EV°Û+¸óŽÛ™4y2ï¿ÿ>åv;»tÅf³!IÞTœŠJo”iiI)cÆüeË—³fõJJKhÙ¢%ÙÙÙñà¸8ÕkWªGä ¾gtˆÍ^…¸Ün„(Ɉ’ŒÝZM±» ½95#3“o¼‘ÊÊ*Z¶lÍfcÖ£P^^ÀÜ9sIMMaá;ï²ðí·p»œ¼9ÿ {ü Ò32(**Ä<ê:ÈðáÃ9ÿ‚AtêÔ‘1ÿ»ªä Zqèða¶þú+N§Ë‹\ð~þóùÿ{úi_¾½™®]º È¯Ì›ÇÔiÓXùÍ*ÊJK>übºwïÀu£F1gÎ tïÞ>ø€I'ò̳Ïâñx³SÜîãýHê˜Þ~k½åVgSR^…¢(¸Ü.„(I¸=2’è¢kS7CûµÃéòxÁh6üŒÁhäŒÖmÔjk‚ àr¹8VXˆËé$;;›ÌÌL¹yÍØµsÇŽ#??ŸŒô Ü7&“‰²²2Ž9JVV²³³½Þ+ƒ}ûö£( ­Zµ¤ººšŠŠ rrrP…={ö’’@bb¢×Ó`³‘““£FûÓÙvî܉^o uë3E“É„ÝnçСC¤¥¥Ñ¬Y3Ün7UUUá,‡À´©P.¸@`˜h–Jàÿƒû lG§Óáp8?~n‡ß~û‰Æsã7ÖŠæ†áo;”…éݽÁïnnƒ…c¸¹ lßl6³ù—_p:œôîÝ«–eŽG¡ÆnžÃ‡D²ª"YžÑŒVe§/¼¾÷…SÌáz¬çÔõQèZò¾µ`»G‚y=UyJ¡wНBšN/Ä”/Ú=qŠ“V2™ÌxD¦óTC(HÀû+ÚËmu}úÐÉñÚÐkC-½“©˜Nô;6Ö»Ä,s*ÓçŠâ1™LqOZœâÔHäñ¡¦6Ö’Š´Î ± ØÀ\TNÇ3³Ÿ!§Mç9—´&iÔTÕ°ìÃe¬Z²ŠsŸCÏ=©ª¨âšÛ®áùמ§ïÙ}UE¬Óé˜>}:v»””.ºè" TÇŠ÷ãùçŸçÛo¿E’¤ZÊ<œEh³ÙHHH`Ñ¢E\qÅ'¤f®Vx@-÷4FÍÜàÿG ¼e­7väúŸ„KÓ:‘Êït湟ª«ªø~Ó¦ÇÆ)NqòEµn݆fÍ›× oŒuQ¡ë|JzéҥȲLYYz½Þ[öЇluÁ––¦ 5·ËÍ7?~à cn Ò^‰Ûåæã·>ÆQí ß…ýèyNO€Áh@–dš4åãEsí5תÂí—_~añâÅ:½—1Å¥Å<ñðH²¤‚Y’¿Ìâ믿ÎE]Daa!o¿ý6÷Ýw999\pÁ8¾ÿþ{*++ùñÇIOOWËi&&&"Š"Š¢‘‘Á™gžÉõ×__ 1J«ÐÓ‚÷«%3’" ìʲ‹´k‹%w8œK¼>ÅBµ Æs¤@»éró¼®·AV¼•ävîÜɰaÃÈÍÍ›XqŠSmÙ¼‘N]º¡-Ž–/_ÎàÁƒñHÍ¿h)sš\î~’$‰ &ðÌ3Ï0xð`š7oÎüùó‘$¯l0==˃ΠÃYédÿîýtíÛ•ì¼lŒ&#«…¢#Eô:·Gaïö½ 1Ü«¸u^ÅàˆÁÀž={Ô—ÉÌÌ䢋.¢U«VôëדÉÀ’%KX½z5<ðsçÎUÝþšÊûöí£  @§Ó©…D;¿ÔºS ¹NHGs©Dƒ?Ô™ÍýZ”¦PÊ/Z‚–öá’Ìèö8ÏC·ëp8|¸örT7`C¯…ÛLÆûÑÞOcµy²úù#òÂ`0 ɲ,#‰"B€ íT3 ÇSµ•ëW–1šLµÊ {ÙdÕÛ©æCD…î>Ÿ4iùùùŒ5 I’jY·þ3èÞ=zóìkÏ’””ÄÚ/×Ò®s;òZæ!IÍZ6 ¦ª†ùÏ̧}·öœ}áÙ´nÒZí`Íš5Œ?žšš, 3fÌ`Ö¬Y<üðÃX,ÒÓÓéÒ¥‹Z¹mÛ¶¼óÎ;L˜0ÂÂBš5kÆå—_Î-·Ü§Ÿ~ʾ}û˜2e ‡ƒêêjÎ?ÿ|̼yóhݺµ¦òƒñ 8m–ù9(N–e0 (Š¢ºÕ@AQP]’N§ïXÉï‚óºôDu\V«I’T÷ÖßÅ©ì)3 *z,Ç0y-ÞO|ŽN…~¼×½èвN¨hP&$Iªµ!åÖ?’$±æë¯8tð€ºîA !!EQzñpL&sý,t¿²•$‰Q£F©gÝ¡JKO£ë™]Ù»{/Ь–™æÝÕK2Ь€ I Œž2š…s"¹%î}êÞZ¶mÛ6K:Њ.((`Á‚¸\.õ¼â믿FQÚ¶mË{ï½§~ç§?ü°Ö5¿{¾uëÖŒ9R¬`«*’‚ŠV §¾g¡ÑÜÖáÆ Åµ«ÕÕ‹‚ 7žHŠ+šË=’[ûd¤Z,V¯^Æ HHLà̶m4h$%%±qãFÖ¬YÃÈ‘#ÉÌÌÄd2ñÃ?òÃ?0jÔµ¤¤¤ I ,]º”¦M›Ò¥sgµÖ¹¾…ým…(Ûx"yØ¿Á`@¯×£ÓéXµjçwžŠjs§8>ä—]Þ¿ ååå4oÞœ;3§Ÿ~Z­‘à7‚áσe ÝnÇétpϸ‰H’ˆ¢x7 <ò={tgïÞ=têÔ¥Ö Gºp_ø•x°Bóü;öñwçËÿ|I·~Ýøî«ïøõç_)>ZŒÁd F¶ ’3“¹|Èå4ÍnŠ$Ij›þ ¿»?ðEEQT7‚ ¨Qðwþ ¾æo/Ô„ïÂ" ©P•˜©?ÁŠ=Ô'.q4ŠP}„jCË'”’ 5á>‘ž‰6¶à{#LDzçÆ ¤äîŸ>3ÏlKZZË¿ø’¿C“ÌL¶oßÎÃ23™ÌjÛƒ;3>úˆ¦M›"K²z^M&êÂíäÃ¥õrrrxòÁ'ùèhÓ¹ ­ÏjÍŽ-;ØóÛ’¨©®áÝWßåÒA—ò—þ¢žÅZƒ£ÑXË‚½^¯Z þ{ýëF |Ûñ?ïy£Ñ¶Fn U®Fs¨ïCÍIðî+ø -.øÙh}o¢•± 5ŽP5¾C!Ôøƒß%RáÆêý‚{'²ä®¿ïô´4.1‚Ç3{ölÒÓÓùñ§Ÿøï?fÒÄ ÜtÓÍtî܉;wò¯÷ßgæŒéÜrË­ä7ÏgëÖ­$&&òü /0sæ o4¬(âñxqÉ¥¤gd"Ëò‚çê¼ ‰"’$y½piiÜsÏ=,X°€;eË–©QËqŠÓéLGå½÷Þ£k×®<ñÄôïßÑ·v€Zûp^\ƒÁ@ii)Ÿ,^ŒÁ`àË/¿déÒ¥lÚ´‰”””¦^.÷XrˆeY¦[×n,zw?õ8«\MBZK?\ÊþíûQ\ o¿ò6}zö©å¾– 4š¼¾î#Ehù¾±¡_Ã!HNú56÷³¬È¸=DQ¤²ÂÎgPZZJee%©©©¸œÌf3.— »ÝNjj*·£Ñ¬\¹’öíÛ3lèP–.YŠÞ`Äh4òé§‹±••Öªf¦™ç¬ç“ÁsªS Mž<»Ý΀˜;w.Æ S•~œâtzyÜEÆåtÒ§O\.'¢è=¦ö*qPoÚ!át“oÍét:DQdÆôéìÙ½›7ß|“ xå“|Ü:×rôfhÈ9°0Š¢œœÌ?gý—ËÅî=»ñÜê¡Ifšå5S©w:btŸ²¿Q ‘êÕÏ)Çs’SR½A(V+?­ÿ‰óÎ;—ôŒt:DŸ³ûRVVFBB"Mš4áà¡CœÕ±v{ùù͘vï}ìÞ½‹Å‹?eÓ¦MÌœ9ƒÁ@bBB­™' N/êò\@–%<·¯\ê¹Ýß3n¼»½‚êê*Uˆ¼jqŠÓŸ[NʾàY—ÓIBBŸþ‚ 0|øL&™|€iS§âr»0Mˆ¢—˺Ҩo ºÝ.òóóùiýzò›5£}ûö 4HÕ¯±PD =÷¥?JØd2qV‡³ÔïDI¬å¥`A0à‡ÖtœPU_åUáÞ°­óp"Ç¥…_Z¿?Tn·óÀÌ™ˆ¢Èƒ)hÕŠ:`µZ¹ûî{X·nÅÅ%´iÓšÛn½•qã'ðÅ_ Iiii¼öê+¸ÝnŽ9ÂC?LNNGeøˆKøá‡(.*¬u”tªó\VôzBÀ±€G)/·sàÀ~ÊÊÊÔMº£À‰Sœþ¨$+ÇâdEÁíñлOo®½f‡᫯¾¢OŸÞŒF\n7²¼G s4uüèË âc6™Ø¹s'?üø£zÿ<^ë:¯wq–PÂÄïNìL¯Óû\ó ¶²#ddf2²Ç…KÉåÂ#z€$уÛ%âò¸)-)¥ÿ¹CÔ<¾X*EsGR"§jX}Æp*!Åi­uü{5r[ï,|›½ûöa6™ÈÍÍ¥mÛ¶Øl6š6mÊË/¿ÄöíÛéÕ«.—wýâÜ9ìÞ½›^½z!Ë2.— Y–ÉÈÈàÑGÁf³a2™X¸ðmìå¶Z;ì?Ͻ…Œ¾Z þæÞzk¿þú+—]v)wÝuUU•Qšâ§?•…€É Ë2n·«ÅÊ’%ŸÓµk7ÆŒù;'N¤¬¬L•‹½9ÄÑT ‘š’’‚Çíâå_ðÆ”éõÌ{éü®ö˯¼ªN„{T¤¸Pî¸X~(eêÿÛå°säЛõOŒf3²èA(yp:] Iˆ¾Èt—Ó‰Åb%9%.ÝûÔ+IëY»–çbMñÒ’‡n,Zo¸èéúð(T?Ås-hjZ[Áû=J¹¹¹4kvüX¨²²½^Ûí&--~ýú©Yn·›ÌÌL²²²ÔkE‚¬V«ºÍjÒ¤VVÆ©Îs8~Rçv{c úôéÃèÑ·át:¼•Tƒüü&®ÐãtÚX貌((EQÙ¼yŠ¢PZZªb¹‚€ËíF¡n”{ Œ4šM\3ê FC]CTQ¨ªªRƒëê(b ÷Œ51‰ŸÞ@Bry¹9ìÞ½«5…NÎÀf+G¯×!É2¹99|ºx1ïþë=Z´#%%YMG Lqó»òýB¨„ägDàwéqð³þöƒS"(E²6C óàkZÒÂY¼¡‚þÂHi9¿nLž‡²#m®"ÍÕ‰´ÒÓCñEEzâxôxàµH< w*ò<€Ëˆ¢Hæßÿþ€ôôtªªª|ŠÞ—êq:mÉë‘’k¥Dû©¢²/;0•ÚétI„)Š‚NÐQ^n +ëü:J‹L4Ds k‰de(2–ÄdV®xƒ€$Qf³¡72d矾wç_SÆ ؾc;I‰DI¬«çWâþ3{NGYYf³™ÄÄÄ:%^«««Q…T_ް¢(”——Þ´œ`Ly»Ý^ A,’…®,œEª5,w´¦Pφ{¾±xm ZÞïd(óX¼8fž{U¹ Ëír#I"M23©ª¬<>&Ÿi+>«Â﯂Çt-T›u¯©-7j?‘Æ®¥o›B­”¢×O´9ÒÆ‹“ÕÏŸ‘ç’$áv¹q»Ü¸\Nô:}Ø~$YÆ ×{×y-ΦÞXîZwø1§0Éeeìܵ 2³]Jz§›åË—³þçõä7ËgÀ9غu ¥%¥(²èEœóÑàÁƒùꫯغu+÷ÝwóæÍÃl63}út¨ªªâ¦›nâÜsÏõêX°`«W¯F¯×Ó®];&OžLÏž=¹âŠ+8xð ³fÍ"//€[n¹…… òÆoðÚk¯±eË5‡=V =ÒYñŸ¡|êŸ!míd”Oý#ñÜ ×S^^΀ùàƒSYY¥)¸Ý.DQÄ`0`2™¼ŠßíF=‚³Ù„^¯Çãñàv{Ýñf³ ƒÁ€(ЏÝndYÁd2a4e·Û[Ëh4b4šp¹¼mêõÌfo?ǃ ˜Íæ ~¼ F£Q”|ýH¾~Œ(Š‚Ë·A1Œ˜L^< ÿ5N‡ÉdF¯÷¾¿“ÉŒÁ ÇãñxÜ>ð“ŠÏíriëÇ;Gþ~LêqÎñ~jÏQp?n·Û7G&L&£ ZT›áúñ¨G#±ò"ÎóP<÷VJ+[û­Š»‰ç’$1tØPJKJ0›-aÓ¨ÃÉ¡PGm1c¹Ÿ(EEgàcÇ"z´n 'àøqŒn|Àm_Sjy‚ûAmódõƒõë¤õãí,j?*/ÅwÆŽ!ú hSs?§+Ï•›ûýx½]E…ÅìØþ]»v­Øv"Ö¹ád 2Iq{\TTT——‹$Š \vÅålýíWù$ ,`ß¾}\vÙedee1oÞ<òòò¸å–[jùÕW_å¹çžC’$æÍ›À Aƒ˜;w®(äÅY³f çœsŽúO?ý4½zõâ•W^aòäÉê9{4«'Ô¼„s)GR‚á,ÇH‚:$¾Hg7Ås­i}áÞ÷dËhñ.œ.<÷ž :!„؉SœâÔa²HSc­sMz4!‹%`¯ª¡M›L&nGE9n·Œ«ª É £ÊVŒSLŽVÒµGV®úª–ý†nP'Ư¸%I¢_¿~ôë×/dß Ì˜1£Ö;uìØ‘Ç\½¶gφ ¢¶7mÚ´˜ç¡±Ü3Zûi,üõX¢¬cáy¬ç¹¿·‹÷dn&êÏså„ñ\öïÛË®»âB8NqjœNjj*=zõ®ã;ëÜÐXB!Ü`ý×ò›`0™ÙüÊŽ."?7‹^&9± EBIN¡Z”9xd7eeÅlÙ²–×oÄ`Ð×yñ+ø@`˜HyÁÁã V4²,«Árµê×ÖSÙhБR²¢YŠÁùÎ Ma:<V‰d5†­Ë}«VOÁéÂsA¨°Û9xð#G]—ÃqŠS#Ñÿ¾_ËÎmÛèЩSHôÈú®sÍ =– ¸H@Á311…nÝû²mËš4IGQÀc@pK-f\…ÛŠØ¿ÿW^q¥·lP½l­ %œÀ $?2\¨2—‘,ÍÆ€~ ÷>Z¤"µíùúB¿jåy¸öþ AqFžƒP)ßS?GSœj“N§§¬¬„ôôŒ˜ ¢Î]º±|ÉgtêÚµÖºjè:׬Ðc– •늌FguÏΞÃÌ™3Ù³g/N§YòæºÜN²³²¹îºë¹ïþ$%%E¸‘‚B] ´¯‡ªÍB¯ÈH¤¹‹¶‰fùÅj­iy¾1xêÂÅŸL =ÚÜžn<÷»ýé ñ(÷8Å)X¡ Ü¿&M²TK[ƒÕ€"ûÀ#xì¢ Óš‹S=ôX¯ßc1[hÛº-¯¿ñfÔ¹ÆÌ§RL¦±”H8×r}„m¸vcq§F³c±TêdiGz¿m¡ÇyŽæàÈ8Å)NÔ*ƸFkŒÔ’aÞCb:¨å>\x9Ø{ì¯f(èêŠ4X&šk/”+;\Ô°ÓYƒÉ¨G–Áãq#É Š¬¨€÷ÞòÞ E‰&ÙMÕœòH®ÎXd¬Ê?RºR¤sh8Û¡6%ÑR´nžê#ä“ç±´_ž6I’Dff&:½w85TVV’žž†ÁhFÝØlåµâ6šde«Ï—ÛÊÔ" ©©©Œ&$уÍfC–e²²›RS]EMM ‹…ĤdµFúIá¹â­«‚öŸFÜnwÌ5Ýã§?#ù-íÀBMF£‘U«VÑ£Gky¹ÔãâËÏív³téçAeÇuȾöÁC†’‘‘Y ¥Þ ]kþ[¨sÕÀ¿+++pTávÕàpËH¢ ·G@r»p‰n$· Ñ#âpzpÔTSQYÅyƒ†Ðª Mƒ|¤TÆh[ËœÄ:õ鯱¨1xþG ÌÌL&MžÌºu먩q0mêT®¾ú*zø¾ùæú÷ëÏý÷ß§º×ÒRS̘>ÔÔT.»ôRþò׿0üâ‹Ñëõ,ÿâ ^}õ5²ˆÊJo=q-Ì4¯jEŽØÉh42iÒ$žyæ™Ê>Nq:­•»oûhÑ"®»î:zôèÁŠ+BÖþˆÔ†×ˆH窑£j}wÞyç1uÊdŽ9BVVSd9º¬0DÛñ‡ F‹dņòù''[øbÉZî¸k YY8nœN—ƒ {5(b€ ÈÎÎfþkMi–ß ƒA_/ .ØM¬Öz´À­pVwð}Z"ŵXÈõõ4œ,ž×w‘œ,Òé üôÓO¬ýö[ª««±X,¼õÖ[ˆß~»–Gy˜·Þ~›¿ßqUÕÕH²ŒÛåbÕêÕØ¿kGâÿ[Ç=wßMÛ3Û²bÅ×¼ñÆÜwßý¼;w檫®¢C‡>|­bÕ E!ÖW`ÔþNGiy9ýúõÁãqs¬°$)¢â2fþí| Ë«0ôxD‰µ³ÅÈG‹Ñ«ï¹dff øjÍú­ƒÀ3‹pîÀp‚ÐïB ¼æ¿¤Íå",ãX<å½hlžÇªÜ/Å`4Y²d)ÕÕUtïÞŽ:ñÓúŸùü³Ï(**bÀ9pûŠ*èt:*«ªøñ‡ulܸ‘3Î8ëìvîdî‹/räð!îüûFŒ@AAmÏlË÷ßÑd¢UË–Þb@999œÙ¶mH…~²y®/ÿ¿/¿ü2=ôË–-cÖc1cútÜnwµ§8ýéɧdY¦S§Î,Z´§ÓIÿþýyûí·ñˆ"zƒÁW65zsf³™½{÷róÍ7³páB{ì1Z´hÁÃ?ÌÖ­[b’£†Æ}Ï⊄"+9|”²òRœN'nÄÀ.ì=\ÌÈó:áv‹|ùÓNº¶ÉfÓž"Ìtz*LçÌ™ÃØ±c/ZÜÕW_M›6mX²d ‹/¦iÓ¦Œ7ŽŒŒ U¡”——óÐC!I“'O¦e˖̘1ƒÂÂBìv;Ï>û,ùùù‚Àüùó¹é¦›xá…ضm×^{-C† œ×¥¬E)FJçª/€K4~5Ï#ažk¹ïd—ï¿ÿžªª*òòòÈÉÉáðáC¬]»–ýû÷“™™¡*\NGee%k¿ûŽ… 2cútœŽõÌÌïjóß_n+gâ„ \s͵:ï¾³ÁC†pÇ·#ÕÕÕ§ϽíÊ’„èñ`0Ðùî¿þúë¸óÎ;1ƒéÓq»]ô†¸€ÓiA:_p›"IÞ0Q %9É[ÚÕíFôxÈÎÊÂát௢îÅr÷ P7+Å¿†EQ¤Y³fìØµÞ½{SRRªU«¼ :ÆØCCb,BE‘edIÁátàqKTWzHM5ó͆=ôî߃‹…Ãå ?oÚKÓ¬ Ž!X/K–,aìØ±Œ;–Þ½{Ó¦Mþõ¯±}ûvfϞ͖-[øõ×_0`€úÌèÑ£yî¹ç°X,Œ=šO?ý”7òÙgŸÕ¤………ìÙ³‡_ý•.]º0vìX¦NJFF½zõ:!JçD(-­çöõ­ëxO´bn()(Ìzì1œŽL&/¾ødÊ”©Ì›÷2Ÿ¾„É“'QYY‰(zhÕ²%ãÇOàcÇrÑàÁ\~ùåd5iÂòåË:t߬\IJJªº“7[¬ôìÙ…¤ät:ï¼oÙ²…ÄÄDrssÕ Á©ÀsE–ñˆ<¢ VÕ;që­·²uë¯üðÃ:IQ=q—{œN+Ë\Q$YÆãñ””Ä'Ÿ|ÂêÕk˜={6ìg̘»øï?Âáp¨GRbPÙÔ`òׇŸ7ïe®¿þzZµjE‹-¢Æ/5ªB× èâ¿&I2’¢°wßz÷iA‹­xïõtìÕ©G7²‡ÀãtR¶rÙ#VTâr8kõc±Xxüñǹä’K:tlœž IDAT¨ªä.\ˆÛí¦W¯^@íjk:tàØ±c˜ÍfÎ<óLl6£F"==§žzŠ””~ùåZµjE·nÝÔþü…[bƒ†*ºh®ÕHAk±VÊk¨[<Òùn¨ñE ¨Ï<6ô÷k4©¬°«gèW_}ãÆ£oß³ÉišÃœ9/PUU¥Z°B@•ÀË/»œ÷Þ{gŸ}†qã'ððÛ›Ëc³fy¯f3Š,2eÊdL& c2™øâ‹/iÖ,‘#Gâr¹Nž+¾û‚7žK=èØñ,,«o)ètq…§ÓƒE®õwuu5—]v?þø=zô@–eÞ|óMD§–÷QŽ ýÿ¯¬¬Äívñâ‹sÙ·wŸ·Þ‰$a++C§ê¸îcÊC%@´"¦…;õÈ555œÕ.ËžåucìɇŸÿÀµmGrÖO&$Iǖ퉬ڳ—f¹yˆ’L`¼QQ¿üò S¦LQ¯9Î:B*ðïîÝ»óüóÏc6›éÝÛ‹§»víZvïÞ͘1cx÷ÝwÙ¸q#^x¡úÜo¼Éd¢W¯^ªË=œÐ w&Îr •¿Îõª-ŠSë&"\ų†òýt1•••˜L&$IÂb±ðî;ï Óë‘eYUæ‚ PUUÅgŸ}JIq‚ 0zôm¸\.ÞYø¶ãQUUEIq_ý¥¥ejêÚË—Q\TÈ„ ã‘e—ËuÊðœen2™8rä° îôì³Ï`µZÕ<Û²²Rõ}ã§Óü¿uïQ™ÊÊJžxâq,3—^z)íÚ©nÐý2=p#j}¦¥¥Ñ®}>ýäct::½žýûv£V«•ÏÇårj’©šóÐ,dE Ñ#"‹2R¬È2H¸¸¼ËÕÝ >{;¢GbÖ%Ó¡YŠEˆ’X+º¯  €^xË/¿œwÞy‡ŒŒ Î<óL~üñGUY“••¥ ©¹sç²råJ.¼ðBÆŒî]»hÓ¦ ­[·Vö–-[˜"ôk$÷\¬Å-dEB‘\lÚz˜¹ÿYM«‚ >þp I¿²è×ÿb¼Bîo o'Õ’B«E¬ý%%%dddðꫯrÓM7ñÒK/qß}÷1cÆ æÌ™ÀÝwßMVV–úÌ?þñ®¼òJôz=×]ç-:±hÑ"¶lÙBMM Ó¦M£¬¬Œ´´4>üðCƧF>õÔStìØ1bÍëPs á+R›ÁßGÚåÅj Gz¾±xîz8´hsq"ȯœç% *x¼9¦i,~Å8æHm>[/ž{oЬªµòßf±Xؼy36[Çk9D´Ç•yœN7ò ùÿrªººÚý´6"YèkÐétªÞæ°÷ Ô ®«—…‹‰¤,l¶ršå7§s§Žèd ;sÒ½[;Œ&3N‡·Çƒ x'£ºÆI¯=D!¥kÙ²eȲL~~>K–,Q'söìÙ!¢(\yå•\y啵ÑäÉ“k Ò¹sç2xð`FŽÉÈ‘#k¥ÃÅ¢\bC­/,§ìp­ãlh‰ÓH<Sí¾“‰ã©êÛéÆs% I9zä0z½>§8"”˜„ÛíEF‘mª„X·²¬ÔúBKÊú®sMXîZÎSÃûÿÎmÖŠæ-[rÿýãIILÁSeÇåq•ÛÍäje²Á\‚`,¦üp+æÍI ÛQU GEµ¨Š$Iê®È`0Ô“¿Âß*˲šZd4¹öÚkIOO¼‡þsBI’¼©;ùéá&=ØêeÁj©PªÍà{CÍu,ç©áÎÀ›çÑ‚âÂm´T!jøn;<Cñætà¹Õjåà¡C‚€ÙlÆl6Ç¥xœâ@yùÍ‘D‹5!úy–om>|ˆ””T5c+\lUCÖyT ½1Qü@0.¼hï¼ó6Sî{ž½º£ÈÖädt’Vƒ‘ÕkdË–(¸Tן¿=}@} õì Þø•|àwþ¢(dgg«ã÷Ÿj f 7/q¤¸†)Ú“çB‹­ÀŸçYM°:À×_}…A¯'¿§8ÕµÁÍkC'xQCùë¼µ!ïw"æ,Ö¶ê‹ãÝX9îÝÆÉÈGóü8I²Ìî];±&XUx×8Å)Nõ\»xÓ¤wnÿ.]{¨ 4½ÎOº…`MHâÿûG KHOK¥¨¸GM {¡Gëlv.A'@fR[÷’ž’È™m[Ó¬e[ÒÒRú2ý‡ ý÷ÿ˜è81~d¯ÀR©±¸.ã§?¶¡¨@‚ `+-%11‘Ž»"Šž€kâ§ÓaÁ( Foõ4!z¤»oe‘””̱Â#4oÞ2,Ôó µÐ#½…;ÿ‹N2‚Þ„èñðÛo¿QYU‰$+t)ȦGûüýêȲ̿DgÐsÄVMY™ Y–TëϧӉN§Ãb± GÅjµ’žž®ŽË¯°KJJe™¦M›^TžÒÒRrrrTD/ǃÙl¦ºº»ÝN^^žæwÕ:g ™S-mÅ:¾ÀçŸçuÇ¥©âWˆô¹µ¡jè|ÿÑyÄîö¸1[,¾Òb\€Ç)NÊÒhd×ÎmœÑ—Ë©–޼ikb¥e%‚®^k5Ú:ÙB׬5Ê\‘=n'’,ƒ"`Ðë()¯fÿÁB7 ;vRb³#(\NG­]ÐСCY±b6làÁäµ×^Ãn·3cÆ š4i‚ÝnçÚk¯åüóÏWóÓ_}õUÖ¯_Ñh$//û￟~ýúqà 7pàÀfΜINNcÇŽå®»îböìÙ4mÚ§ÓÉC=¤n‚ßOk…°ÆöŠ©Tm„hH­Ê±QxÞïòûmÆ£§Jþž<÷ãÀû7¹Áó`A§8Å©69NИŒ"è5­áH韸*áÖ¨$Iš³½ Ñz4‘pèÁ×% <²@™­Œô 3ii)>XŽËdÅÙÿbö¶m‹äö æï¡æí·1 2Å%eµê¡ççç³{÷nžyæ/^ Àĉ¹ÿþû)((|3è£>bùòå\|ñŤ¦¦rÛm·!Mš4`ãÆtêÔ‰®]»²`Á^yåÖ­[ǰaÃÂÎA¸÷¯ÈH¸ùŽ„ð©J› ™¨!<×¢DBõu²•½±Àq$Aÿ8üÊÒ¿Øü÷lE±Vq—PsàG8 ÇÇXyPQQÛí&++KE=lÏÝŠ¼T|ÇPhˆœ7›Í¸]®¸«>NJ \3а¶|2A’eY®ýûW”:»ã`] ‰"‡ŽU+¯©3Z·©#?bVèÑ’bM[“$IöPTTFç3ÛÓ´i"{w–¢¯©Äµïƒ†þ?{ç&U‘ýýϽ·ÓäÀ$†$+Š HTPA]Q_EWÌÓêšuduÅÀ®Ê⢫?ÔYê ˜@Q0 9ç!L»oxÿèé¶§§Ãíž!Úõ<óÌL÷ Uõ­ªSçÔ9߃âv³oÑb“ÉÈžö—¿ü…ùóç³zõjN8án¾ùfÖ¬YC—.]ÊÊJ®»î: ¹õÖ[cæüŽÔ/ÑHWÂ]+„)Ú ˆ”öTO¼}´°ªD1–à'ZxF´°¶.ªª’ššŠÍfCERSS›åX­V )))|é¢(ÎÁüß¹\®¨˜?7Þ°µp˜›L&–,YÂÖ­Û?îQ­Ö6ÃÜŸMCkÚäçtEÕoz¦Édbõ¯+9áÄ“ð6åƒN–d9Æ$z Í[ÀgŠÿåÇt*-£]~>²7Èÿ$ŒÂºñ·Ûí¬XñýNéïã‰o’y¢(°·¼œ”ÔT:w>.@ažPØš?–ƺxÚìŒ:§ OÞu>V½ÏãÝéåL(¼_^ùQ™Xr3gÛß%+-Y‘›Y*:uêDÿþýyùå—¹çž{HKK|œìÁÎmþÎôéÓùðñX,ÜrË-Œ3†Q£Fžyá…róÍ7³jÕª@úÔ‚‚.\È3Ï<Ã?üÀ Aƒt["båõަGÌѸ͛iS14½p6^î`½˜ÇCv¢Gsmk!íòò9ãŒ3ÈÈHGöÊtëÖ§Ÿ~ EQ¸ãŽ?ÑÐЀÓåäš«¯áÚë®ãÆodýúõ,ûn) lÛ¶SNíO]m ªª’Û.Ш«­EU}™™ò 9û¬³øjÑ"ìßGjj*™Y¾Ì~ õx<rss©®®XŒªªªHOO'%5 U‘©¯¯GÓ4²³³‘ Fœ;&³™œÜŒf íÌfj›|BRSSIIMCöz¨««ó±THFª"SWWç«W~>UUU-L}~ÍCÓ4L&3sgÈ©’—_€Édbù²ï8©o?PUÌMǃÛåâÄ>'ûr©Í€Çãñ9›&ÅA²3ò\ûíA`åO?b0Ù¼i]5ÜÜ\Ô&a¯ýøNÓ4<9¹¹ô;åÔïÜž·•½{÷4³F+b¤Å.”>5ô'øºPz€¬ÈHç®âç?áOVð·É_#\Ü2çOŒûn"÷͘+ÿËyÇÿz{=ªÜ|!¨¬¬ä¾û¦†¿þõ¯\~ùåÜsÏ=lݺ•Ù³góÅ_´È1½jÕ*V­Z…ÇãàÅ_dÛ¶m̘1ƒ.]º°wï^ŠŠŠXºt)óæÍcݺu”——“‘‘Ѭ­¡t²á>íŸÐ~ŠtM4m-Ü{B5²pZb$ìBW[cîïX}nìéÑ8[c>3™ŒÌŸÿ)Ÿ}þ9kÖ®A&MšÄgœÎì9søø£øèã©«­!Åb¡[·®,X¸Üvy¼ñÆÿ1xð ¼^/˾ÿžaÆqá…±wï^DQ$//ü}2ËW¬`èСäççóÕW_qÎÈ‘œvÚiü²r%¹¹¹\}õ5ä’››Ëå—!¿ éÓ§sÚi§qã7ár¹0›ÍŒ½åVÈO?ýDFz:Ÿ}öøÃyŒ5 §ÓIZZÿ÷¾ûxðAòòòøðùõö;:t(×]=š¦‘_PȈ‘#ÉÏÏÇ xm/M‹•¦i(ªBûÅØ¬VœN'šæÓÐÍf3ª¦òÓòXòõ"jª«1[,¬ø~’$ñò¥¬]µ’o¾ú’ššj_øN)?ù“ü9Z‚7½¢ p`ÿ>òòóé×ÿ4N0ˆ}å{š€îCã7ûWxȉú.ŸµKŒhíÔ%Ð#i[-¦éÖÈ4E†¦è±-Û°ìÇÍ4Ú¬ì®-g_Õ~”£fâÍ¥ÓY°vS ZÈÑ _+òÉ'9á„صkçŸ>×]wï½÷ÕÕÕ Úœîµ×^cåÊ•,]º”×^{ €Q£F1kÖ,¼^//½ô‹/Üwê©§RUUå[o½•Þ½{À‰v>I“ޤêý?Öó#áz_´3êpÏn Ì£ÕAàPœ«k\1f çw.ݺu'+;‡ïXε×^˾½å N=õ6mÚ„Çëáê«®födzùù§ÉÊÊ¢gÏždffððÃaÊK/òÆÿFQDQ¤¦¦†ûxÁƒ³téRl6V«•Ï¿ø‚eß-噿=ƒ(ؾ}»o2J»vï`Ò³ÏñÍ׋yøá‡HOOçɧžbèÐ!,úêK,K 9Ñ‚ }Éh^ã Ö®]ËšµkY±b;–0sæLdE4–.]Jî=xÿƒøãe—át:›ÙùEzpçȲLÏãO`ËÆ H’o¡2M¬_³šî½ŽgĹç³cÛV ’„ÛíÂl¶`³Ú8ù”Ó8ã̳ٺi))©¾³ÅdI–£[GoöŸ¢(´oßâŽ%Ø­VPUúžr*Š,ÿæ¯iZ[®W :ÅE3ц{p¬3¼F»‹ž½zðÆkÿÄåö`««MÀÙØ€b0 ¸Ü8TSŠEk Mì̧_~ÈŠ¦ª*£G×1cÆ:õ”SNá”SN [g³ÙÌ<ЬCºwï΄ ŸíÛ·sÎ9'pý7ÞØlçªñÇJ+ª×į‰Xï}‘béãÑvÛóXÏ>¼ÝUUåÙg'±jÕ*æÎ @zz:õõõH’„Á`Àn³‘’’‚×ëå”SúñÎ;ïpÛm·óÉ'søÓwRUUÍG}È£<ŠËíæŸ7v›Õw殩»3N?¬ìlÖ­_ïëQSIò÷·Þz“óþp>%%>Á¼qã&zðAêêêèß¿?ÿ}÷]Îyv›•^Ç÷bó–ÍÔ74ðÕW_qÆgàõz˜8q"›6ndÔùçckl W¯žìر‡ÍÊm·ßAeÅfÎ6Šªàv»ƒÒƒ(Jdçä°}ëÖÀ\°YmlÝ´‘ëÖb0HŒ&TÅwÌ–žŽ(Xí¶€CËåB2b§œL–d9B‹_ö(ŠoŽH®†LfsÓÜ6P»àØ_ÜM–á¶:*Œ¶nŠñî âуÿ/..eèðì*ßÍŠ?as:±9mH)&QC2$mÛwñãŠuÌþü3~þe•/cSšÿ·ßQ'8¥j,M2”¿Ýÿ£( W_}5ݺu «•† s½¦xvUmýŒx, ó£¥X­V²³³9ÿüóÉÎÉáý÷ßãž»ïæ¦›Çâp8øøãYùë*úœÜ—††Fjjjxì±ñüõ¯èPÜ»ÝNjj*Ÿ~ú)o¿ý§ôëÇ‚ HMMEÓ4ŒF#‡ƒÚÚZ2³²yêé¿1kÖ;ü}ò ØívŸYÍãåו¿°pÁÖ¬YÀÏ?ÿÌ7ß|CUUëÖ®áÌ3‡óÜó/PSSç `6™ihlÀh4âñx°Ymt.ëÌYgç³… ˜òòËäµk‡ËíÆj³a4™pº\¸ÝnRÓ3¸æš«ÉËËkIñÚl.,+(ŠLAa‡ƒššj4U%;7‡’Ò2N9mí‹K°Ûm¨šO —e/jÓF–½àgÈJšl“?Ç€ÉÝ?ž|Q.kV­DEöîÝÃþ½å˜L¦&ôXk§æxÀd67‹ôjUØš³g¸”¡žÏþßFc }OÌ®í³ "š*¢ˆ¢ áV=d§š‘D ûlìÚ½—«®¼’̬¬f&o=*œI<’V(IR€!NC[´çEs.Ó“S]Ï{ó'bŠ·ãkKÌu‘šè¬ãÁ*Šìå²K/õ±¤ÕÕqûm·ñÅ—_rùåcP…qãÆSÔ¾=Óÿï d›óÎ=‡ÔÔTÒÓÓ)..ÆëqsÁ ( N;±co¡g¯ž\ýõØl¶À؟ﺓ›nº™>xŸ×^{•?ß}7§œr ¾ë.Ü.'¯¼ò O?ý7 Äý÷߇¦*t.+ã .`ô%—СCî¸ýv¦¾ò “ž}Ž¿>ö Œ¼^/ùyy 8€.]ŽcÌWpýõ7б¤#?ôÇ÷:ž¬¬L¼^/ÇuîLv¶Ï!ï¸&¯Ù– A›]™¢öíQ¯×Kûp»œ ”–GUEöí%¯ A),ò][Ô¾Š¢ Ë2Eí;4[Ü’%YŽZƒ{ LÍ÷·,ˤgdÐ¥[w¾þòsŠ‹;Òû侨›¢fšm„È·Åb¡ººš¯…×ã xÈ ‚@Åôé{2Š¢ïÈJ¸ôâ‹´WÿýªªPPX×¢¬'”+ø:·ÇÍŠ¤˜Ì<1ñ vìØËéBS}!2n›‚üú÷?•‡ÿòf³9jçFÊÜO&µhágÑ4ñXakzú.V¸—^¡¨';Z"÷·扲 …û®±¡³Aà‰·¾gà AT×YÑ4pyd<^_¬"{\œXàâƒzàt{1™L¬Zù £‘ãºt ÐýªªJvv6 ]ZZõõõ>Á‘ ªBu“yFF‡£upff&6› I’ÈÊÎA‘½ÔÕÕ5óJõ{žWWUb2™ÈÌÊFöz@Ó¨oðiÙYÙ9x=¾p¸úúzÒÒRIMËÀåt`·ÛQU•¬¬,Lf õuµ˜y—Ë…Á`Àd2a³Ù0›Ídfe£© µµµX,TUÅãñ`2™E‡ÃANN6õõ Í,_ûÊËÑ(,l¢È Cp¸ŒÅbÁëõ¢( F£“ÉŒ¬È¸].ŒF#Š¢ I²üÛýÁ±þÉ’,Gk1 ìÙ³‹=§®¶6`öGz¤§gàt:ZÄ’»].ëéÚµ{ Ä5x}SU °Y­Íà44Ì&9¹ípØí-ÖX³Ù²¥ßb2é}ÒÉìØ¾-2õ«?–Æ*@Í&3¥%¥üë_¯ê:³ˆdòŽ¥éEÓ£µ3VÌw¸gGØÑÎ#Y¢}|¤:$¶ÖÖ˜ëI¯E¤-‹$I4444ÛMûcÏÝn7.We33˜µ)Þ;p^%ŠÍ€,ËTWU†í‡Ã'”EQÄëõ®ó?#ø^½œN‡ßg@c€äÆÿ|Y–‘eI’š=ßO‘ìÿÛå!IR3aÞ¼Ói–D"Ô$ït:}àõzñx<Íþ÷Ï[IfmK–cUCÞØ œNGØõ-–üE©I9È {M°ÆsÓQuo#’‘àç9v,f#ªªùø¢U MQQ5µÉ¬®¢ª€ {<¶/nSI³Ž'z¤{ãÍLu°‰e"è±J´e>ôD1æT/±ÌÁ,þ±¥'/x8Ì‚ÉbŸ1=†ë›Ð|ð½Áým¬DË“<_¢qÍGìcQz6€É’,ÇŒ@TEE£+sáî‹%g[F› KAÒ-ÐÛ²ø´›¶*ö5Ôáôª(²¯W@ñzpË YVp:½¸œ6lvgž}»t?dÙÎÆ{’™ÚŽü]w›c”Åìh+®hÒÔ“%Y’ÅWd¯—vyù464èÖ˜sJ‹-Ôc):zÖª¸ò¡Ç£Á†–ŒŒÌ[Âw=BAA.N§—ˉÝéÀfµtž——Çôü"ŠK:c4JøL‘5¦x’aè /km»[hm$f6Ö{4r™p–€Ö´;ž{bÕ?žïÃ>_ô%)D Tí µã÷€yFf&;wì 3+;0Y’%Y~+‹%]¥c&ö ¤SIÀ¥­çyL¯Ö¢ïz‘úF+õÇãrq ²‚Ô4 ÔŠÜÅYÔX˜ .·—÷¾ü•ÔT ³çÎeÀ3i×.Að™Þýïþõ;áDêœÐN½>8gzðYªßlò§Ý‰¤Õl ñ˜Ü#yà·=æ±äâù¾Åˆ%*++pº<¸=^Ò3²ăkt:Ô˜GÎÓÔ¶˜kšFjZe]Žcoùn<žäÙw²$K+W DA¤}q1ÙÙ¹¸\ΰÇm‰ÎsÝ=ôazë¨BSÐT•ý{÷SW_ƒÓåÂ+« é]ʶ=\zÆ x<2_þ´•ËgõŽJRÍDIlZ¼E^xázè!žxâ‰@üøÇÌܹs)((à ???P·êêj&L˜€¢(<üðÃtíÚ•x€ššêêê˜:u*%%%‚ÀÔ©S¹ë®»3fPYYÉ<Ð,¬-´ƒãu ‹åô¦÷¬;Üw‰dí:¨˜Gi£ž÷Çâr·Û…ÓéÂãñ’š–‡@×SçÃ…¹æûâ·É~0ÌŒL ûõ"»I–dI–Ö—Ëæ-Ö‚VÌó¸z¢Ž.=–EÑp8¸= v›—¬L3߬ÚAÿ¡ýy{]û쿬Þ0Ù&ð IDATAa~.û+*›¥†üúë¯y衇¸ýöÛ9묳èÖ­3fÌ`Ïž=¼ñƬ[·Ž­[·’ŸŸ¸gìØ±¼þúëX,®¸â æÏŸÏæÍ›¬`þ²ÿ~vïÞ ÀÖ­[Ù°aååå-Ý¢¯VÚVZá!ÙO¶1懢͈±F~01çcîÇPQ¬ÖÆ$£[²$KAà óƒ1Ï£ž¡ëõxç¡ZEEÕ4vìÜÇiJ)--ã?qÂ)½O< /Dv¹¨ýâ vìF¶Zñ¸\Íl0˜8q"W^y%Æ à³Ï>cæÌ™¸ÝnN<ñÄ€ö›6úöí˺uë0›ÍôîÝð±ƒ]vÙedeeñ /››ËÚµkéÙ³'S§N塇büøñaµâXñëñx‹Çòr×#$‰×sk1Ô†HõÓ[Q5•¬ìÌn¯/.Z‰c~Ä[çcsÿ}¢(b2™’ŽœÉ’,úVTU‰º/—e9ì5­çººž°H´ðy5‡ÝNŸÞy\~öI(Š‚éJ‰ÿÎþk{^E·ï¨ªÀ†míøvÇŠÛw@VT‚OjjjØ´iSÀìrS;)¿·GÌœ9³ÙL¯^½š>ø2¬ýéOâÝwßeåÊ•\|ñÅ,_¾œ²²2Š‹‹›ÅÓêMŸºÀë)ô™‡3½­0?qèÉÀž]»°Ùlx¼^JʺaNÍHH;§Ç*æ‚ ÐP_Ïwß-ÁnóY$5õdI–HEQTò òñx¼-拦Á ѳg/Š‹KüÑ„r<ó¼M5ô¸M²/ÙƒÃîÄ ŠD‘»• Oº§ÍÊc/݈×#óÌ…ÏÒ»äDö;ö"+2Á*--åµ×^ã²Ë.ãÍ7ߤ°°^½zñÝwß1dÈÀg:oß¾} ¯½ö‹/àì³Ïæ®»îbÆ ôêÕ‹ââbœN'ëÖ­ãá‡fÞ¼y|þùç,_¾œï¾ûŽ;wRVV¦»ñhkñÆ©Ç#ôb;]<˜G«$§-]ã(xHÉ^ŽëÚ—Û‹Ç£ Hd5Ýn|–ƒhBþXÅ\E\N'Ÿ-\ÀÀÁCÈÊÊnº.¹h'K²D*))©Ì;››n¾µ‰1RlR…ÑÓŸ- ;'—ôôôfGÈcž·JC´H†»GÕT¯‹u÷óïÙK)-ËaÎ'ëHËÙÈœu FÁˆÃngìÆ’•’…ÃãD“›?§¡¡ôôtÞ|óMn¾ùf¦L™Â¸qãxì±Ç˜:u*ƒ{öíÛîyðÁ¹è¢‹$‰ë®»ð™éŸzê)¼^/&L ººšvíÚpÁpÁ¾ó÷²²² —žvêñFŒ•½,¿z´g´£x5t½˜GêƒH”¼Ñ®‹&`MF2ŠªAUEiú[Uˆáø¦§ÍÇ2æ‚ °g÷n 9©ÏÉÉ•:Y’EgIMIELF£ï¸ªé¸Wöz1 ?ólV®ü™¡COÇn·‡Í… 4fk]Óçz‰¶Úä =k˜¿µµu””–rJ¿¾%»¶º9­ÿ‰Œ&\N^YFPAÕ4ƒËNCñÊÎQU•yóæ¡( ………Ì›7/ðŽÉ“'G&£FbÔ¨Q¿m,T•{ï½·ÙõS¦LaäÈ‘M&%ÐŽ7ÞxEQ)\õì ¢ikñ0ÅéÑø"™sã±°Ä˯óhÚn¼Lqúc4ƒ»@]m-Ù¹yX1 -ŒÇzý"Z‹¹ÿY–ÉËË£ºº:°A§ëàôÂZÐu§…SvBgèÑnŒt]¤…±c§.tê¼{uÌôLT‡ ·KÆÝPl¶ ÚÔ*"˜ªAª¤no'¦Ï|cÓÂçç¼ö W¯×HPñ[îfƒÁÐBëñôû¯WU5iÊh4ríµ×’‘‘Ñ,þܿ狧ñÄ{ží¼ôH8Om+Ìõž¡·4ëËP§ÃÈLNn.²¢ž™é³²„lÌü OŒ&s“S¨©©‰©‰û²³³©¯¯oæÁî>“ÉĆ 8mÀ.¾øbfÏžCÅý-ÆêáÄ<Ì iüz¬-‰Z‚ôX>â!—Òc¥‰UÏÖZebYdZC¬—"»µÏû=`<ü\&ç4}îiʾøì³“øñǹ÷Þ{yñÅ`µY£n¬½^/ŸÎûÄ—"(NÝl2¡( 纀̌L]m4$2P£]Yˆ‰ ~ÿýï,ÿ$§žv ªªšž¨zðÊb4òíÒY½v#àK$a±XÏÞ¥ø»_‡ Ø÷×Å¿pçgÂÒ4œœœ°ÁûáÌìñ œxK"![­-‰˜Ûõ`ž[[󷻜NL–4¼bf§¬ÌL^|ñ%–,]ŠÑh¤¤¤#ãÇCÌf3n·Û÷wS.q³ÙŒÁ`Àãñ‘‘Á³Ï=Ç£Ž£âÀ~ÒÓÓcÑáp’’‚$I¸ÝnL&k׮㴩¨ð%NIIIAQ”ÇÅb $SQU•”””€àöz½ R›‘½-˜ë­[[‡u&çyóÐúüïÿcÑ¢Eôë×±cÇ„zp9°ÿO<þ8CO?K.ÍÇ}ä3±«Í»CÛÑØÐ@jZ:×Ý8¶Ùwc®¸‚믽†=»wÓ§O_¼^OÌvˆz*èØ±GÓ**+‘‘yáÙ§ÉÉLGP5*+©:PGõ*¶ïØAiY.=‚§ž|’M›6aII‰ÈÔ–ÈÎ2ÚÑB"š`°£“ž>ˆ´ûÓB•=ªN Ûs½}vÐLaøÒ£ªªâKª¶Ì'l4[øxöl¦ýëžô §ÊŸï¾›¬¬,~Y¹£ÑˆªªüøÓOdee±fíZ^}í5vîÜÉæÍ›y饗ù¿7ÞÀb±ðÃòå,_±‚wß{¼ü|¾ÿá^ý ‘e™ãï°4-ûî;Þ{ïýÀ¸6™L|òÉ\Þ{ÿ}QD’$–-ûž ²déRœN'[¶lÅh4êv–‰óx¾#s”ΉÖ!9ÏŸ˜TWWc³ÙøûßÿŽ,˼òÊ+Í4tŸuO¥¸¸§Ökc õ\tÑ…>ºŽ¡ÔD æ·&6Œ´ÔTºtéâ3Àël‚AOGÄ^G3@aA×^ésL+-ëBCCC“†òÛõf³™â⎴ïXÚªÁ«-±€×sœèóõ\«·‰Nv½X¶óDâÓ#S½ÆAM‹Fzz²êû©X,q¹\8ÚµkGEEÿûß™3{6à± å³… ¸ïÞûxê©'yÿƒ¸õ–[HMM%++“¬ìn¼ñ&®¼â †Ÿ9œOçÊÜyóqöÙLxloÿç?Ürëm¬Y³†íÛ·±hñ"xê©§˜f$ƒÓÏP~S:}ç÷ÖÆFÝø4è*B€-ªÍ&7 *^TÙã[UM0Œì«n ]ª‘ÕlÚ^ɾª:ш×íÂÐÄ^euÊ<~Uƽ½šþÝs9·_{Þùz'¹™&.<­˜Z«›4‹Õ;êY»»£$âöªœÛ¯ˆ‚, ŠªâòªÌX¼“ñcNfɺ*r3Ì|ùk ¢ pÑÀbÔ9é\˜FUƒ›ª7K×Wc1‰Él’‡[ ¿†~|ï©­«§K×î,[ú-F“©ÅD–$ ƒ¡¥&ŽÛ X`ó„røÿ—BîZ,‰Ä«*¼ýYТåd'z(Íl³óa1z¢½dBz„P,ª[½N|á cõG,ÁîÙ‘P$R¤h¬±ÁÂÑ·5æ‰<ï÷Šy°u¯…•Ì?oŠª*fÌø^¯—Ú¦ˆ-ðü)lV+6«5b[õZ+ ¡š´/v·­wë*^YCVjkki—ŸB~¾™ÛkP²³pŸ>н=z"{=hÛ¶áyû-Lª‚ÝÚ@º"£©¾X¾Z«›Þ¥™œ~B>¯ÌیˣpýˆÎÌ]^Nyµ“A"Å,! ¾¶¸=2½K³xì?«QT¿]ßEñ öµ»PTÊz'FƒHIA*;ØH³ØXneO•]•v ¢€ªhIÓûa.ZœÇ@‚(°iÃz ;”°cû6LA»ßDÍpGBúÔpuh êW ÈÉÉaCÓùž0©xB˜ =MÔ¤¯ãV[šÓãm»~jãÖõK[³'1oþ½(‰ˆ‚@ŠÅ‚(úȤDA -5 ضe+ùùùȲ7ò31¦¥#nêWMÕд¶wŒÐ4YñR]SÇÉÇ‘_ʎ͵8¬ux·î¢Ëç »Ýì_øÎÆŒiéMfHÇ´¢jå¤p~ÿb^ž½‘ô#ªª‘“fbǹfTUC–Uül¸“ļ{™|s_dUcñꤙ%f_NI^ òÓ¨±zXøó~:ä¦Ð`÷²fG=Ç—fRšŸÊð yÉ.ÜÞ6Þá$K&÷øÙµºtíF£ÍNÇN8°†3ô#!}j$mao-õkØ:¨*…EEtïÞ7^›–ÜÀ&K²è(¢ Ðhmä“Oæ4å<šÙ¦EQ¢¨}{º÷è‰ÃnoaõkÍ<)ÐUCQÕ6wŠSUPe[£?ŒèÂSwŸµÑEï^íøß[ŒoËÿù ‚ 0ñ¸[8Ëù>9éY(ŠìKÑT§ê›Ë­\2¸„¾Û €Ó£`1IxdYÑ@£QMÃî’~b!“?\WQ¹íün|·¾Š_¶úøº­Ž}³Œw¿Ùɲõ•\wVg¯>@ûÜn…_¶Ö`2HȲ‚۫н8¯â;J°9<\1¬ŒÕ;êèÒ¡}5N$Q##ÅÈ–ò†œP@fª‘ª'uÎá½ow¢ª*ÞäúvX‹,+M2Fß`×Ðh——‡WQÈÊÊbÏ®-âУ%›ˆ¦9ë‰IŽE++qM¼Inâ9ߌ–Èírãp8Žêð¥dI–C+Ó£¯IÁ¾6ÑËÄ;Ïcjèªæ7¹·mƒ5MAj:'ض½‚Ý{+q¸ììo¨Äåp¡xdLš™w~ð‘|äçåò[f+‹Iâ“ö›nâýow1øø|Úe˜øyK-õ6'vΡÁîaÃîzŒ’¯óRÍÞü|+ÃO*D¦¾…T³å›ª9­{µ6Ó?Û©ÝóØTÞ@ŠÉÀæòFúwÏ£GqﻓŠ:gÓó’÷p–Dü:'æ”4–'s¬|щ$êˆvo4OïDhm“˜'1?–0¬¡7…¬iËÝ xq¸ ³}/T¥‘´´dEEDD͈[ðÐÎl¤2- ʇ-›·Òsà-ihªwØ’~ÍOÃbô™Ôµ¤ð>r5ôxÃÖ¨ªª ;7Ÿššê°ñÕ‘´=Úx´.Ú5ᾋ´óEÔONëH‰:Z“¤¤­uDr Ô{«7¦;‰yócó°]$ñà-ÊF³ƒ©+Ƽž|¹p:5ûQ¼îÀù¨Wv“–žK»^#{Ë•ˆ’U‘9¨•òsò$ØèïÐ4’NeXm:t(fïžÝÍœâ"%Öˆ¤Í´6•f( F,³¤Ó|:ü .Ên—³Å—RS¼(ª†¦¨hš‚¢¨hšHÂátº((ê¡k“å÷X¬ º…º¦jôìÕ›ºúðÉY¢™Õb¥·Ôtš8#MÔHNt­%§‰Vÿhíåh¯9VOêý.Ö{¢™K£™†“˜'1?Ú1irWTí ÄŸJ’HCC¶†Jì+ÇáQ=.¼²€×íÂíuãu»ðÊ2n—»Í††À¨ /¡[÷ÈJ’©í÷^DQô£ë$øDõk#'g‰vVv0ãÐ#cê©Ã¡ˆC¦ýEÒŽbiÓã9Ü‚ÎüÍû9‰yó£ó˜Ýçåî›u︀ì¬4}¶œwÞŸOçÎPd¥É{Ün7J ÐØç•¼võj:´oOiÙq RÔ0"=»œDwqñ´3‘]\´{ÝÅÅS÷¶È(SZ<}$ñù94KÎÒ­;Ë–4OÎm·éïHqèáðжyˆ4Þbź'¢­ŠD±Æ¡Þd'‘©"Ñí¶F[KbžÄühÇ<¦@ÔYÑÎYB?‹éQTºu=޽{Ë1˜ ü´â', 7Þx))©x<Ìf3¹99ìÛ·‡OæÏçÌ‘£ÈÍÍ d R›(@¥¦ó÷°éìB:.xW|½ÿóPê¾hαÎSâIÔmÇ«çñžEÈ­Iëk竉¦Ô£¡oÚ°ŽÂر­er–pg~Çæ‘¨ŽVÌõh…‘´µH–˜$æIÌÌu ôxµÕp/oÑ1šŠÇíæ¹çž%+; §ÍAjZ*£‘Ç‚#GPTXDcc#Ÿö9.—“1—]7’$‰§žzŠ &ðè£rã7Ò½{wÞ}÷]æÍ›GAA?ü0EEEw8p€ñãÇ£( ùË_èÕ«·Ýv6› I’HKKcÚ´iȲÜlcËù -4ôXÚq"ºÌ¢±%rÞ•Hâ×Ðãî¾ä,Ýi´Ù) “œEo[ŽF̵cs=fæhž×±´µ$æI̵µÝ W“ ÷Âÿüç?444PçÏûªiX,FM×®]Se·ËË]wý™[·âmŸäQXóÕ¼šÊg ?ãæ±73qâD÷(c.¿œŠêjY¼wÅŠÜtÓM\|ñÅtïÞéÓ§SSSÃÌ™3Ù¼y3»ví¢¨¨(pÏ-·Ü¬Y³°X,\tÑE,X°€iÓ¦!Š"+W®dÉ’%ÍÚ”¨ >^ów¬ØÅD\<ïOä~=±•ñħFkok}9öìÙMn^*0M͘æ¢Å¾&1?T˜kÍŽøbÅGÓ:#-|‘ß$1Ob~,bnÐ[©p/ÊÈÈ`ܸqÌŸ?—ËEVVï¼ó .äî»ïnv½¢¨(hdffrá%£zø²,£È2 òZÔk„ ÜvÛm 0€¯¾úŠwÞy—ËE÷îÝ[˜ÐÌ·ß~‹Åb¡_¿~8NÒÒÒxï½÷¸óÎ;½š­že¤e,so¼ ·ÕN9Þ]d"=ÑÉHÑÐÈËË÷%gÉÎbÏîèÉY’˜Ì} |<Ä&zÞxä$æIÌÌýEÔ38ÂUPÓ4.¹äfÍšÅøñã0`»wïfíÚµüøã˜šü÷õ d[ IDATzUŸg»ªi86‡UQ¸øâ‹©ª®B@ ´¬”Ab$B}Ûؾ};=zô|æñx|;“0¤!;vdáÂ…,X°€¼<ß!%%…={|üî%%%sùxû ÜùL,J$Ò½d ‰Ð&B{éÑ("ã!½ˆ‡ê0Ñb³Y‘$ —Ë…$Å—p$‰ù‘…y¼c"Þö'1Ob~´až@d šòÀžqÆ<úè£ôíÛ—™3gòñÇ£(J@Cì\dY–ÑšBã|4³¾ŸbL1Óã¤ÞÈ.Rª…¬î¥x„ gµŽ;òæ›orå•WrïÞ½Y´hƒUU)//oÊôéÓùç?ÿÉäÉ“™7ož¯Ñ¢È”)SøóŸÿ•ô ¸Í±²âè5oÅòZl­‰-Üû1eGzF[Õ/ÞØDJn»vȲLFF^ÙŸ†ŸÄüˆÂ<Þ1‘ÈJbžÄühÂ<.“{4÷|ÿÿ¾Ø`•!C†0}útúôé0w·¸§ÃŽd4`6›QšbËA@SUîzà~R;ä“Uç&¯c~@íö]Í:×áp`2™xçw¸á†øÇ?þÁ£>Êã?Ϋ¯¾ŠÉdâ cÇŽ{ÆÇ…^ˆ Œ;€;wb4)..x½ÇÚé³X<ÊávY±Îtbñ1·æ<-Z8K¬Zo=#Ú»ÛÚ|ï÷¿PE—pó# óxÏ,õ¦¨LbžÄüXÃ<ª@×{æ,Ôûöí5x¿¶¶ŽN:1wþ—ìÚ¾U•QPTMUAPܼ‚†êUÉÈHE2J…XUUfÏž¢(äææòÉ'Ÿ=iÒ¤ˆ›‘‘#G2räÈfß•••ñÌ3Ï ªjDaÞš$‰LªHƒ@o"¥î‹ôüH<Äz'f´³«ÐÉ+ÑA¬”‡ƒìH¯s^óËy,ºÎ` [4<£…=%1Ob~4b®[ ëYHƒ¿ ÕÈÃÕ©¬;wíbäÈ!d¤f¢:íȲ‚×jÅk4¢Ú]Ôª"š± M¨¤n_'-ýCÓÙ§(Šx½Þ}§×ëE’$DQDQŸ& †àõúÌ­ƒ!P×Pa®7¯n´k¤nÇnPë͆íÿh;àXBR/æÑv÷±HôLB=¦¿ÖMÓZäsÿ½‡ sôj=Am<Ú0×Ké³°ZTó$æÇ"æ±Lîz…@¤ @‹]„¦1lØH**j™8ñ úŸv šª’ž¨zñ**©F3ß,]ÁªÕŸ³›%Åx‡Á`¼Ëïç·ÄÖÇÔDûüYðõ­ÕôôÚÖ Óˆý§6Ïõ‰xËÆÓgKXën'q¥XoYÿÈy¬ºÞ­³Çæ‘4˜f˜$1Ob~ a·@~‘^– °Ÿ •U•x5//M~–OæÍ£º¦{}9^YCV¼^‹ èѽ„‡3úÒÑX,–¨æ†xÞ€þhŸG#^ˆWëM•o–ŸH™†ôdøi3ÌÜ„ÄcbjË Ùï óЕâHÆ<9Ï“˜'1×âãr÷ñ\¯iù\=æ4 °ãqX­VTUõ‡4íDLFEEEtêTÒÌXo®àƒ% "MŠDµëD6]±êv(0wÐG\„Ž r,a®'‰á‘€yrž'1Ob®ó6¥~tO¸Œ='xbÔçøCß"y3Æ:k všˆ‡¨?Þ{ÑO”Ú/Vâ•мºGbr–H}-C´é`ö$æG6æ‘>KÎó$æIÌÐÐã5wÆ"ðïzŸ$I2ÿçå{Ëù÷[ÿ¦{×î\3æšÉU¢¥Á‹”`>¼»´ÐçÆjk¬¤ÑYkyÎ#½ó``®g|é鋃©m2Ì}/;,˜ëIƒy¤aO²¡#vž'1Ob~ˆ07$ºFÊŸ«÷=Ï”$‰?ù˜ ›7pç-wòôä§ÑR5V-\…ÙhfÛÎmßãx.uQ‹ø÷¸MQ­¬¯sJ"“*Þ¾6˜[k–:˜Á~H1×aõLbžXÞí#vž'1Ob~0WDŽÀâ¯øœysøïüÿ²§qw0eÅô 8ÿó6mÙ„Áh@$ŠÊЍÜW‰Á` b_=ûôDÐÌ&3ë6¬kqCCCà³ÆÆÆ@F8€ 6°uëÖ°‚j÷îݬ_¿>pïöíÛY³f ëׯg×®]-„p]]kÖ¬Ájµä–-[ÏDìo·Û‘e9¬¦¾¾‡ÃÑLàVTTĵãŽåzàÀ~ýõ×fõ›ÍÆš5k¨­­ \[SSƒÇã ÔGQªªªÚÄåhsŠÓc<\õ?”G‡óDÇÅ¡èû$æIÌ$ÌÅH= ý ÷]¨³B$hÏóWö‘'aÕöU¨•[vR[]K^û<ölßCN^uìÚ¶ Å?/æ‘'i2uøÞså•W"›7oæê«¯¦ªª ·ÛÍM7ÝÄœ9sxóÍ7™1cF€“^EÞyçžþy>üðÃ@¶%K–0oÞ<æÌ™Ã˜1c‚xûöíL˜0… rÏ=÷°yófÖ¬YÃå—_ÎÞ½{öàùçŸgíÚµaµãk®¹†?ýéO<>ÿüóf)aƒ­ á, Š¢´>””àÜsÏeÅŠL›6gžyQùõ×_¹óÎ;Y¸p!=ôß|ó C† iÆÆ7}úô@‚¯×ÛjÌõ|w0&…žñú}¸ö„šÃbïhíŒõŒpu ®S¤þ3ñ¾ó`ÌóxÞ ƒÐóÓhý Û$æIÌVÌÕ„⢙g£…èyžÃî º¾š¢â"4Õ÷ù¾Ýû°6X)ß^NI—RÓSéÞ»»õMS9Pq€ªª*òóó(..fË–-<úè£|øá‡˜L&ÆÏ=÷ÜCŸ>}‚9¸¾sçÎåÝwßàÚk¯Ån·sýõ×°jÕ*:wîìë´&R›ÒÒR¦N ørµÏŸ?ŸîÝ»3zôh¶nÝÚL«…æi];tè@‡š aI’(++£°°_~ù…~ýú±hÑ"®¹æÖ¯_Ïĉñx<ÜÿýœqÆ,_¾œ¿ýíoôêÕ‹åË—óõ×_3mÚ4~øáª««yâ‰'èß¿`#"IýúõãÖ[o`ĈŒ7ŽþóŸ¼òÊ+¤§§£i·Ür Æ ãÔSOEQvïÞM^^;wîäüóÏhzOóDÏ—Z{¬küêù>g™X~±žn—OǺÿPÎs½ïŠåèí1ÖYsó$æG+æºz¢j¬³h½ tjZ*NÀçK?Àír#Öz+w?y7³þ5 UQÙðëRÒRÐÐ1hùùù¡iµZ¹ùæ›ùöÛoÏݸq#}úôÁívc2™Z°ÅMš4‰’‘‘ÁyçGZZZàyÿú׿˜:ujXMMÓxõÕWy饗ϲÙl-€E‘«®º QÙ²e sæÌA’$† Â#<ên·›+®¸‚3fPUUÅé§ŸÎÇ Àĉ™2e ………Œ9’/¿ü’^x!Àmæ™g¾<ðwÜq‡ƒ±cÇ2kÖ,ª««1´k׎իWsýõ׳zõjžyæìv;éééŠ]½eYf̘1Ìž=›¬¬,.ºè"^~ùe]æ§£Ád®'ã^[´§­60ÑÌ“zž/kàÁšçmaºMÔ¯$‰yócsCkB4Ç®X "Å ‚@iI)²W¦¨c&‹ _—ÿʆ•Ð4.½º n—›{нk÷¦‡6m RS¹ãŽ;¸í¶Ûxíµ×((( ¾¾žìììÀ{‚µægŸ}–?üââb®½öZÜn7f³™o¿ý–>}ú`4›iÒ¢(b·Û¹ýöÛyî¹çÈÌÌ <ϯ ‡î*gÍšÀ‹/¾È…^H×®]m÷?×ívÓ­[7***xþùçùꫯ˜>}:ûöícÚ´iX­Ö€–܇™™™Ìž=›éÓ§“••EEEO?ý4Lš4‰Î;óöÛo³råJ>úè#þð‡?,~¾|UU‚þ„Nà©§žÂét2gΜ€B[`)Üä`Ç¡Gë‘8žãI@k®Dâÿ÷®H;u½t’Ñ2D®yæ‰$шå\šÄ<‰ù±„yÔ3ôp íC‚¯ ç5ÍÛ<ôáþþ`Ît9¾ F“OS¬ØWAZFŸô9™Ù™T¨Àd6Ññ¸ŽÌûb^S/ø~UTTpå•W2bÄn¸ál6>ø ÷ÜsË–-cΜ9Ìœ93-Îo¦Ÿ?>‹/F–倀{çw¸êª«ÂzëÖ­Lš4 EQ8õÔSùãÿÈîݻٿ?¢(²wï^¶lÙ²e˨©©i6ø=G}mm-õõõx½Þ€)Ü\cc#š¦1yòd>øàß1„ÃÀUW]EïÞ½¹÷Þ{IOO|9áßzë->øàvíÚÀ²e˸뮻:t(L:5pnµZèÛ·/v»7rÅWpß}÷ñóÏ?óøã3pàÀ€@˜6m3fÌhVŸ¶À/ìêÎt}Nìèì’’JKK9á„(**ÂívÓ½{wÈ’%KPU•Ñ£Gc2™ >œmÛ¶±gÏî½÷^233q»Ý´oß> Iû5Ø¢¢"Ìf3999Ô×׳mÛ6ŠŠŠ(**báÂ…”””PYYIii)¹¹¹¿ux“Ö^PP@ii)iii-ïØ±#¥¥¥ RSSí)++£ÿþìܹ“åË—sî¹ç’““ÃðáÃÙºu+;vdÆ Œ3†!C†ðÉ'ŸPZZÊÈ‘#)++kæ3àž¦icˆÁƒ“ŸŸÏ²eËz¾'FQO¬b4ám—ª·¿õì$æÑH$ÚºŒ8ô6Ã<‚ãK$Ìõj$G#æ±<³™yžÄ<‰yœ˜Ç¥¡ls§žw„š€sss™8~b@ˆÇw 6±ßKÑcš:T˜' ¾3µC€Eó$æIÌ-Ìc†­é5_&bòŒej§u®Z½ŠšÚšÀùo¨vz¤ ¤¶âûm =÷ ˜'¹Ü“˜ëmWrž'1Ob®SCo h±<cíä‚Í ¢(âõx±Ú¬äææ2eÚ–­Z†  L~|2i©i¤g¤c0"žMGŠŒÔŽ#‰M(‘:I Rñb~('o¬q‘ÄüÈÀçÌóœ§ÎáÅ_Ô|½Õ68Àé§ŸÎG}DBBo¿ý6ûÛß8ûì³9pà€!VPP@mmí! VE–/_Îܹsyÿý÷yå•W(**Âçóѽ{wfΜɘ1cxðÁøæ›ohÛ¶-6là‡~Ðâ¶ôÑGìØ±C“XDbg–÷H`ù¬Q€†xŠÜõúc6~#Î]/³‘DÇj¾­Ú×ë£Ñí˜Iœô3½ùÕ#^ææÇ æQÐdq¹]$$$ ©®¬&9%™¶íÛ²å·-—{[Öm¡Mf’’“¨ª¬"’àM 11Q#!!‡zˆaÆqóÍ7ðïÿ›'Ÿ|ŸÏGZZçŸ~#ù!CøïÿËâÅ‹ÉÍÍ%!!ŸÏÀ›o¾É%—\¢]EQèܹ3çw^}Ÿ].-¿9@ 8$D« ¬\¹’7²wï^Ö®]Ë?üÀæÍ›-¤þóŸüïÿþ/@¯×Ëðá骪"!!€3Î8ƒââb¾ýö[† ÀÅ_ÌÂ… ),,Äçóqî¹çâ”ÃWâÅxØ•L4U'ês§[˜‹-i€áDí¶ÿ¹«7RYQIUEUU$%'qÃ7šžJUE•å•T”U°mÝ6Æ]7ǃÒ0 ±aúvíªÕ_WWÔû·‡»½©%++‹_~ù…+Vh÷½^/µµµäååqê©§6Jp¢êºÕ¼å]t‘¦w‰^V¬XÁ²eËØ½{7k×®eùòålÚ´©PuuuZ¾vµž””-ZÄý÷ßϵ×^Ëøñãú¬g)))TUU1vìX-ZÄSO=Å]wÝ¥IZò¢vÜÖbŸÛ#ép81w\˜ÌÌí½×$+w+ A£È@zÏF>7kö,zÔ —äÒ2”íÛ½Go”´Œ4zõë…"ס¥e¤ñéçŸ2àäõ¡~…z‚:wî\FŽÉäÉ“9ûì³:t(o¾ù&üãØ´i½zõÒÚ1csçÎàŠ+® ¦¦†¤¤$^}õUíI’¨ªªbÏž=ôìÙ“·Þz —ËÅäÉ“¯U«Vdee5 Ã*Ë2þóŸú”¤—]v]ºtÑÄâ*1bÄžþy&L˜À¯¿þJ=û¬VßwôèѬ[·Ž””C¬ŒÜ@Ž$æVù›KìnT·Ù8Í,X£ Á9WV £>XíÙ£s»×"Ũfóá`î`~¬`Õ Ý,ÏnS,žõÚÑ»È!™òÒr6®ÙH—]ÈÌÎä¸DZyÝf*Ê*eŸÏ§Œ#Ëüùóyýõ×Y²d ·ÝveeeŒ;–k®¹†]»v5š¤¿ýíoŒ=šQ£F1dÈ’’’¨©©a×®]œzê©Ú‰|÷îÝÌš5‹={ö0a¾úê+.¸à,X Ò}ôÑG 6ŒeË–5ò«WÛ ƒZNñð{²,så•W’””Ä•W^ÉÕW_ÍÖ­[q¹\¸Ýní]€Õ«WÓ«W/ >¥«¢(\~ùå<ú裚tÁj®õˆæ‘ÀÜ®Žèp>¢ÑýÛR-žÌ[¢Å³ƒ¹ƒyKÁ\ww0w0?F0‰ GQ«ç ur ùÛ¶1æòëHl8a‡jB®!YFö‡úC(_I-Ù]³yºm'zf“OhFb’x$±’:X¥ê‹¶/‡Ã23^˜7gÿê ÝÈ ÈŠ@HD™JÈeº‰V„½çŒ0°|ãˆcnsŒ-ó¸íssócs+‚m–—ÈÁEN²Ç›ÌªÕ¿äJ!%)™½»öQ›^IYAu•>‚¡ rºy×ñ!öÿXÌ{³þE§.=IOo­Yz›YSFrEF‘’b%ìÑt˜¤X>XqâѾm;ñ¼9Dc¢5~Ö¬Ý@­Ï@($’dYAVŠÊªé›™·€ƒù‘Áæ*V_d 5¼Š IDAT¤P"{Ó XŸWNPò£t­AØ– 7Ò˜Z8âY~”*Ä^jŠë4-¿ ìÙ³‡:Òæºuëðûýüñx½ÞF÷÷íÛÇŽ;èÙ³'­[· ¼¼œ-[¶pòÉ'k®fMY ñæ6£áã%½ˆ¦vüÚc Pd§øBƒ:VÓ©³?l¤zÑXCsU•~R“ý„”ØÚw0oY˜7Wq0w0?Ö0cÕ(-Ü;üçÿk9ˆâ P'Ö ´ áJVµB¬vׇC —€ë¤ ¾…n„¬ ÕeÕ(ÈZ»×^{­ÆH¨V÷ÝwóçÏgÉ’%<þøã '¶ú 0?ÿü3?ü0?üðãÇgß¾}TWWs×]wñõ×_3iÒ$Sn4Vàšº°­¸àx‰¿â!â1ó¥·ëŠm²ƒ—@fZ2iI´iøIOK"=5‰6©I´NI@”ƒÞ¢ßæ-óh£µ§—ÜÁÜÁüXÃÜÕ”Ýpà |úé§ >œŠŠ DQ$ðù石fÍú÷ï¯u>¿å;*HÌo¿WlLB¸©Ö»À5ØGÝ ‰ˆÙAÿM¢,·9p gff6jÿÃ?ä´ÓNãºë®kÔ?Õíûï¿ç¦›nbðàÁLŸ>;v°nÝ:n½õVÎ=÷\ž~úi~ýõW­ŸÑrUMÕÁÇC‡oV§]ÉæìosŒвê9V-0ƒÐ,˜8˜9Ì£«ƒ¹ƒù±ŽyÜOèï¿ÿ>ãÆã®»îbáÂ…ÌŸ?Ÿ:ðÛo¿Ñ¿ÿF¡Mƒ¡ Áª•g—¡IWÔBPDy'!Ê/ɸN‘û‘ú+(]ƒÈA¹Ñ‡9<¼)À† 8p 52AËwÜÁO<Á%—\Âwß}Çé§ŸN~~>999¤§§SVVfÈuÚ‰é«H©©Ñ„Œô_Çr)«¾Å*ús0o¹˜®¨aææÇæ¢U§¬2û<ûì³¼üò˼ù曌9’[n¹…¾}û …ùˆ+¡!—yž„ü‡"”™)×–B²‚²ÍƒÐ·ÿ'.Bd1H`•`£ƒ–Ú¦µcÇŽlݺU3˜Sõáêso½õwÜq‹-âä“OfÍš5deeQRR ¥GÕŸV\°Ñœa¥3±ª'Ö¼ºz›Â,„Q=Fâ®X¤>‡Ó‚ÖÁ¼ec­ˆÓΩÈÁÜÁüXÄܶÈÝÊßNQfΜÉUW]ÅC=Ä™gž©%) . ëPv¸ÍOˆù (^Q~’B]]¡€„q¥Ë¡F‚ÓÂÂBV¯^MQQ‡[o½•?üáaþé§Ÿxøá‡ ƒ¸\.ºté¢E‹hÕª6l`̘1Œ=š)S¦pÍ5×°~ýzîºë®f‹JÖñ°„Œóc±4exv¬t›ó8ñXÀÜž¯ƒ¹ƒù±‡¹)A·ÃÑ„7 …øðõëá'eu°¡@It}Tû«Ô†PPHS¨©®!ò#ÈÔû£ ¹\ˆŠ@øýñÇgåÊ•Zâ•Áƒ3cÆ æÎKee%·Þz+€Öþ°aÃHIIaíÚµL˜0nݺ0yòd–.]ÊSO=Õˆñ°Ë5¹ÅEn’h Ìü)­8µh˜;®ц„Œ–ã6 Yi5±ˆ¸Ìß#]»Ìõ>Œ‡ óƒ°3Ò£s»á/#À†?°ÏææÇ*æ1ÅEvF’$-µgdnõߺ Bn¯\þ=ómäLUY~ŸLMY)ŠÇC°¦Ž*E•X b9ž@.~òo\.I›¨!C†4êƒ,˸\.®ºê*]ðeYfàÀ 8P»§( ½zõ¢W¯^ºàD.ަˆqcå,íæÌmŠd!×£g&f2‹Ólö\,¢¼h™ó–¹Ù3FFBzíõÉÁÜÁüXÂÜe§CfÑ„ÂÓ’ê-õשּׁ ½h$Ï<ý$+ZEÏ]Q™o¡ê ä øC ÞÀî=;©¬YÊÎüíÚi\¯}•y0Òéù^ùce0Ó[@fχ·cTÝ…iÔ½p‚v#™Fˆs³°†Fóo÷í[,ú&ó£s;úÑH#';FGææÇæ–'ôh¢ é F÷”^ Ï 'RZTDjZj½¼ŠâÁç÷ÓÚí"³m[ìß¿¦„I“&‘ššªY±ëµa§/fœj4z$»úk'‚TüuVÍ¥s0?ò˜7t&±°ÌÌFÌm‰Üíp=Vƒ çvÒÒR¹hØE\<ôBþöÄäççã««ÓŒü?m3ÛróÿÄøñ÷r7›T#Ë(åžÇd—0ãB£Y@fŒŠYþ`³  ñz¿©˜ëÕg—1‹–3mŠÞÝÁüÈbnøÎ>w0w0·:ùÛ&èÑr=V†$J¤¦¤"Š"O?ýŒiýÁ@©!|¬Q‘§cWÇ-W×'Ħ%°c}i7Wp<0?\'îÃ%p0?²˜;ûÜÁÜÁܸ~W4'=ýI$q5{'¼ÞH1zdÛ.·[—›YõË*:çtn5ÎNª¿ÈgŒ8L»Vvt/zuéì#çÊL¿cÅMZ½kÅ•ÆóhN˜½×\ €ƒyËÅÜn„0gŸ;˜ÿ1ë ½©E c¥§©ªª¢¼¢œŽ:ò÷þÎÏ&ä ñÔ”§Hô&’ššÚ(gúÑ^ÔqƒA$IŠ»®JõÑG?n·[ópˆìwx<•‹ þã§8Å)N‰O±ôC·s=šb§õ™¼íyL}v*åÕå >e0[vl!»S6eL{jÁ ’ÝÉ<ñðtêÔ©Éâ’æH€k$%Õº?šº¬ôbª›Ÿ͸EAE<n·[»§^ ÇA}Þ®HÌì$ïÒ0oJÿb㯸ñ®ÃÊ79^q¼ÌÌÌ”["—!Ëõ Y–,]‚+ÅEnï\~Ùò ûöí ¬¨Œ 'H·Ün‰«Ö¬Ðb¹«ïMT¸A…ÝŒAáõ†_o+RÂY—žB-j†85^ý­·ÞJyy¹nŸÔùáã°Ê@¤JEÆŒƒ øý~Û'ñȹ?üK/½”ÒÒRÆŒÃܹs™;w.W]uï½÷_~ùe£çW¯^Í<ÐhŒN9ÂÒ gÌr Ñê#nv=ÎI%>fmˆ¢È‚E øæûoصuydfeÖ‹yýü~?Y²Ø¹}'…; ùhÁG|²à$IB–e$IbÊ”)‚ ål;wò§?ý‰«®ºŠ7ÞxC;µª„ñ…^ÐBêý˜={6—]vÿú׿EQ#¼áDráÂ… :”1cÆðüóÏkõɲÌÕW_ÍO?ý¤‰ /¼ðB¶mÛ¦ýýúë¯óÐC!I¡P—ËÅÊ•+éÕ«­[·fûöíŒ?žÑ£GóÉ'ŸhïM:•Ñ£G³zõjíÚÃ?Ìå—_ÎÆµk'Näšk®aûöíÀÁxÇ”ø‡ñü‘?üá\{íµ¬^½€Ù³góŸÿü‡+V0~üxÆŒìY³øðÃñù|´jÕªórÒI'Q]]Mii©®ôAo]ŽÐ”vÝ1›²Oš²â‘³ÚðžÂÛç±`Ï›ææÇ æQŸÐ# ͬ&>ôÜ#þsÍ%½C:½OìÇãaóºÍ¤·MgÅ’d´Ë`ã¯q{Üô>±7iYiÌý|.eeešhwóæÍZý‚ PQQÁäÉ“yòÉ'ùðõŒkjùꫯ¨¬¬dÞ¼yôë×7ß|“½{÷²téR>ýôSÖ¬Yï¿þª«^»v-o½õsçÎ¥ººš¯¿þ€E‹ѯ_?fΜ©=[ZZÊìÙ³µßW®\É®]»õeÁ‚Œ=€={ö0iÒ$æÍ›Ç‚ Ø¿?3gΤC‡Ì›7_|€éÓ§s '0gÎþþ÷¿ðÿ÷ <˜·ß~›'žxB«ñâÅ<ðÀäå噺O¨eÿþý¼þúëÌš5‹iÓ¦±mÛ6V®\ÉSO=ÅÛo¿ÍŒ3xòÉ')((àé§ŸÆëõ²zõj{ì1æÎ«ÍÕ¥—^Ê_|qtœdt6c4Yáâaí>2ÚS±ø/îóCönlû¼9ç"Öùw0w0?š0Š ›¹…™5imh·Ãá“èö¸INJÆïóSY^‰7ÑKfV&[~ÛBî ¹lùm éé¸=n*Ë*ñù|$'&72ŽS {8;v,éééøý~.ºè¢FÏõîÝ›ªª*¾úê+Ö¯_Ï9çœÃŠ+6lÇgÕªUº}OJJbÁ‚,^¼˜ýû÷kúüÅ‹óÈ#еkW¶mÛÀgœ(ŠìÚµ‹O?ý”‹.ºˆäääFõíØ±ƒ.]ºà÷û4h;v 55•víÚ±|ùr®¾új >ã\0äÇdìØ± þþiüôÓO\vÙe$&&jzîââbJKK¹ù曹ÿþûÆii#U²,3räH<>ŸììlºwïN—.]¸ï¾û8çœs¸à‚ ¸÷Þ{i×®“&MÂãñ°dÉn¿ýv¾ýö[–,Y@NNN#æÅ(åá‘ Úf¿›©OÂ¥fõè¹ü˜ùœêõA/JU,»îŸºõ¢Ú‰}ŸGûm±ª3Z—%sócsK‚éÀù£>c¯Wï^ø;‘uDNÔmÿs›Öl¢¦ª†ºš:jkjIn•ÌU·^Ejz*µ5µÔV×R]YMÞoyŒ»~n·ÛPG¤ZbÃA#®ðÉòz½”••‘——Gaa!III­Ÿ¢(j„/\T¯Š±wïÞÍš5k(++#77—¼¼<æÏŸÏÝwßÍ¿þõ/íT^XXÈ„ xâ‰'øê«¯¸âŠ+¨¨¨hÔW¯×‹ßï×ú+Š"÷Üs#FŒÀï÷k–êª?r-\O®ö=%%…+®¸‚>}ú’’Ò³õë×sÁ0kÖ¬Cbò×ÕÕqûí·3yòd­¯×KFF$&&âõzòòrî¾ûnÚ·oÏe—]F~~¾V‡žÑ\øÑ[7ÍeggFÚ*èÝtIÑ[ãzá#í¤(¶²•°û®Ñ)äHís;˜¥l6ú`zÕã`î`~4có ]ïÇèùŽÞsz?‘~÷ƒwé}roÚ¶oKfûL²s²ñÕù˜rûêªëèÔ¥Y²hסÝOèΜs•qÐêzРA|òÉ'Zª.X%~+W®$77—qãÆ1zôhæÏŸÏ)§œÂ²eËøæ›o8á„øúë¯EQ{·ººš[n¹…ûî»ádzhÑ"Þÿ}.\È /¼À?þÈ/¿ü¢õI’$Ž;î8ÆŽ« Òi§Æ²eËp¹\øý~|ðAî¸ãÎ?ÿ| ÀgŸ}¦1.—‹O<‘/¿ü@cúõëÇ÷ß4 o+Ò ¯OŸ>|õÕW\sÍ5Üþýû™8q"o¼ñ†¦ª0ËÈ'uuuS¡2&+W®dÀ€–Ò»'ˆ¦s#)’ÕÕ»n´¾NDFïµaĹÛí¿ÞØä>·ƒ¹ÑóFŒYäXôˆ—ƒ¹ƒù±‚¹m‚9YñàâŒ8ÃàþÔùê…B”—±yífŽË=Žìœl:÷èÌÖ [)/)' QS[sˆˆ=--#F0jÔ(†Jvv6·Ýv7Þx#W\qŸþy£v‡ Faa!#GŽdΜ9ÜtÓMtíÚ•ììl.½ôR’““8p UUUšÞZ%’‰‰‰ø|>MO…ëÈ‘#µÓ®ZB¡W^y%o¿ý6/¿ü2óæÍcêÔ© <˜]»vñ§?ý‰Å‹s饗rå•Wpÿý÷3{öl†ÎM7ÝÀC=ÄŒ3=z4·ß~»&¶W‹*êÇ.BèÇϯ¿þÊ 7ÜÀ¥—^ @BB‚Æ0©µ>Ç£1R‡¤¤$>ÿüs ¤I "9a½µ×\'ôÈs88w½gÌN4÷iíHîs;˜=o¤«µJ¥é`î`~,a®K»¯}™òÚëo Ë!Úeµ×årbÉŽmT Èë•U•üåÿý…=Å{p¹\tîÑ™õ«ÖÓ³_O¶mØFŸûP°µ€ÚÚZzvéÉÄ»&’Ý>[›ŒHo–âÏÈ[–åCêÙ´i.—‹îݻҖY–ºð몥|8H¡P¨‘ÁÝW_}ÅI'DFFÆ!óÙ/3—µÈvUOU”oáHýWoÔzÔï…® ÷æÍ›©ªªbÀ€†ónµÎ*Êë¿ül½úô1\så€@Ÿ¾'øñx<¬ùe.·›nÝ{hApâ…ÉLhV¯Ñßf±§›šyËè¾å>"¥`‚ý>wæ-;cÕûè:˜;˜­˜{½ ,_ú-›úŸÄö¼mö"Åé‰W­BöE#úÔ`J«Np:‹^Lv‡l¶oÞNbR"¢(’’–BþÖ|º÷îN~^>çžy®FÌÕu0ltÒôx<(ŠB0Ô"–EZ¬«ïˆ¢ˆ$Iš›šJ¬DQ<$ºJŒU71EQ´“{xµ/áÁ]ÔñªD0|1©¹ßÕö5ƒA·[Óç«u©×蚢(¸\®Cnx»F¸ˆ¢¨¹þ…Ï¥%NWxÝáó¡FˆëÙ³§åfnIÅnÈE;é^co4ïÙùˆÄeŸ#´S„÷ysÎ…ÑGßÁÜÁüXÂ<*º™•`¼|æ¬Âè£Iزn —_x9­ÓZ#+2’G";=›­k·’•’Åó‡¢ãq¹\¸ÝnÜn·FÌAЮëp%IÂãñ4:aJ’¤=)Æ /X—ËÕ(¼ªzŠWÛäþ"Ÿ oGí“:–pC¼ð¿Ãûù~x$·ð¼õ*Cc†aä\ªu©}?éª×DQlöUmÇHbÑK´9Ùã½¢­ÃÌ}&ž.L/Q<â=ÿææGæz¥ÉùÐÍ '츘ù@§¥¥1ý¹éEÍŠÌGÿùˆÖ)­yìÁÇHOO·Æ,gn´>„výïÍræše-Òã0Íü$ÍÒšadÄñ5ævFi·5;Ϙ%ŠæfëêhÃ<𽦿Úçææ-s[Ý.Xv|îŒÄ:fm…? QP‘kÇ^Ës‡ššJBB@@›-\£ºMg®wÏÎ)Ôh¬Vsg§v7›Q›-s»}‡¨«¹1WhPA:˜ì˜ùð¶ä}î`î`~80·MÐír7Vœ`´©áô¸Uœ­^k×®]#ѶY8J³qÚdÆAÙ1Ò0;©Z…dµââ¬ð³ÒûiÌ͸æxн抃yã:>ðvC}ÚY-mŸ;˜;˜77æQ‰Ü£9ešåÌ5ââ¬,û ±5· lÙº…×ß}î]»sÛnÓî…?g•ýpqqv9<;\³'nÇ#¡©y’'æFõ7Wi6ÌUvÝÁ¼I˜7%7öaßçææ‡ó¨zK(¢(òÏYÿdæ Œ¿}<ϼü ®_,ÿ‚Do"›·m¦o¯¾\õõºîU±œØâm¬Kz 4%ÜmMµÈo꘬©ÞxZ’A\³`Ž‚}[`§8˜;ÅÁ$T©U;Fœ¢ÎÍLŒeÀÊ5"ܽM¾øâ JKKuÅfzA"¬°P­Í?þøcÍ/r>¬DoáD¼¸¸˜x€7ÞxƒE‹QQQÁÃ?Ìo¿ý¦%~Q6oÞÌÊ•+¹ðÙ]vrÓ„\ÌñzÞ*e,mØ9]˜…Î4[»vúËXìîs»˜Óª;ñÊcí`î`Þ’1·$èÍå.`¥ó 'VÁ` ›7€¡@ˆN=:Q´¯QÙ¿w?½OêMÐÄ%¹Xýëjjjjé;vè†*üõ×_ùî»ï4bÎX²d ;vìЮUWW³dÉ*++ õ¿ååå,Y²„o¿ý–ýû÷7šì7jaPÕxéjŒxA(**¢   Q_ËËËù׿þ¥YñÿöÛo,]º”ÚÚZí½Ý»w³lÙ²Fý/((ÐB½ª×òòòX±b…víµ×^êãªë…MÔ[L«V­bÉ’%|÷ÝwZÛÉ“'sýõ׳téRòóó¹ä’K˜8q"·Ür K—.ղݩQáºuë¦e|S}Óí® [ëê0YÇ›õ'š,M¶÷‰çôÂp1c‘{­©{6Ö}n}ßÜ%ËN֯ÑzÓÁÜÁüHcnIÐõ'R?v­`fº³gÕÉšüÿ&³iÏ&$QbǶî-¤]§vl) ³]&Åû‹Ù¹}'^¯—7üÈ#{¤Q;j¨S•xŠ¢È”)S˜?>›6mâñÇ׈‹J 'MšÄ¶mÛ˜6mšFï¹ç6lØÀ=÷Ü£…q<ÍOŸ> °yóf&Ož¬1Üpà ¼úê«Úó'žx"óçÏ×Þ½ÿþûµ¾ª"ñ?þ˜ë¯¿¾^J1g³gÏfõêÕÜ}÷ÝÔÕÕQPPÀ_þò¾ÿþ{þú׿"›6mâÑGeÉ’%<ùä“Z¼úÇœ/¿ü’çž{@ËS®úŠ›Y´ª¸°yófÖ®]Ë„ Ø»w/'žx"œvÚi”””н{wAÐÚQ ].Æ cùòåüîí.àæ"ÎѬS£øËfûEo½˜í£ð ®2*vÜŒöT4ñùϭÇCÔÄÈ®”ƒ¹ƒù±€¹^qÙá¢#4õ\[SKyu9í²Ú!Ë2Ù9ÙìÛµ{°o÷>²;e“Ö&^ýz …P…’ý%‘™™  ý«–ï¿ÿž´´4&NœØhŒªËÛÖ­[8p ·Ür ݺucݺu„B!Î9çnºé&233Y¸p!cÆŒÑߣ>JJJ µµµlܸ‘Î;3sæLf̘Á;ï¼£EV»ñÆùᇸüòËùñÇÉÍÍÕb¹«‹aåÊ•\~ùå„B!®¸â ®¸â ¦M›Fee%o¼ñ=öݺuã@Q^{í5ž~úi²²²?~¼vî¹çHMMÕ˜ŸÏÇÃ?ÌæÍ›0`>ø ®N]ÅQ–eÆŒÀ’%KÈÍÍeݺu¬]»–»ï¾›-[¶Ô‡cýòK¶nÝÊøñã9÷ÜsùÇ?þÁûï¿OEE/¾ø" 0€•+WrÖYg5;‡}¸uoq×ѵ‰Csïs«>Ä+z–ƒ¹ƒùïsÓä,u‚aê<½Àøfº «$‰I‰œwæylß´Ûv°ií&ÊKË©­©eÒÿN"RV\Æo«~£`KÛ7oçÜÓÏ%33SÓφçøVO™}ûöÕþVÓª‹bÈ!,[¶Œ‹/¾˜'žx‚[n¹…¼¼<Ú¶m @VVÐ]x 6Œ /¼¥K—rá…õYÙrssñz½,^¼X{oäÈ‘|üñÇ|üñÇÜxãTWW7êkuu5)))Ȳ¬éºW®\Iyy9mÛ¶eïÞ½Z’ÇC0¤°°¬¬,íô °ÿ~-Kø¼L›6>úˆŸ~ú©Ñ\ÕÖÖ²~ýzŠ‹‹.0BÿÞ{ï1lØ0N8áÎ<óL^|ñEî½÷^xà^zé%úöíË /¼@yy9#GŽäµ×^Ó’Ò@}ò–ššS=’ÑÚ‹Ußeõ^4ëÔ(¡Bø};ɇÌRPí¹h÷Q¬ïÎ}n§FëÀÊOÙN*Msó£sÛ=2L§UŠ=½ÔuVâ³ô{)­R%‘¬ŽYôèÛƒÜãsQ…ï>ûŽ`0Hï{Ó«/ÚwjËå¢]fƒzÄXÕ¬_íÛ·'//O»Çý믿æä“Oæ³Ï>cüøñ¼óÎ;äääPVV¦‰“[·n}¨ÅÅÅ|øá‡|ñÅôéÓ‡¢¢">øàúöí˳Ï>Kzz:ï¿ÿ¾VÏ9çœÃK/½DMM ;wÖ2µ©å¸ãŽ#??·Û$I,[¶ŒwÞy‡¿ÿýï´iÓ†¢¢"M¥ ImÚ´¡¤¤¤ñnݺ5µµµˆ¼×ëÕ~W³£©¥°°W^y…U«V²¨.\È9眣]SíJKKµvÕqƒAºvíZcc¢2UjúU=‘’ÙújއQœ´Šá;«”Œ‘ïH‰ûôú`´¬RiÉ}ns³u`4'ñ¿:˜;˜ ˜Û¹GÈŽH®‹SøýŸ/à¸ÜãøêÓyîݱ—´ô4~XüÝzwcwþn²s²q¹]d—Í¿û/Ã/®ùVTT°hÑ"Mï=jÔ(æÍ›ÇŒ3èØ±#Ë—/çñÇ×ôÖ:uâ½÷Þcþüù|ñÅŒ;–Aƒ1nÜ8RSS™7oÏ?ÿ<×^{-³fÍÒÄèµµµìÛ·Î;sÍ5×0uêTB¡/¾ø¢F<'OžÌºuë40æÏŸ¯é’«ªª-Â#F0gÎ&MšÄÇÌ#<ÂK/½ÄìÙ³9r$7Þx#S§Nå¼óÎÓÄå7Þx#<ògœq†v*¿é¦›øË_þBÿþý5BªæJ4fEm»k×®¼üòËS®cŸ3g¯¼òŠ6_ê»>ŸOÃM½V[[«üºº:©X´h=ö˜­µm¤¸XOèfÒ»â¶h¢F›ÀˆyiʾŒ&j˜n]qÚç±D ³š³TšææÇ:æRßÞ½þ:bäe(ŠBrƒ!SSôÑd«1  ‡d¾Ú IDAT]ö-A]ÛwѦmP c—ŽÈ²LJZ ;¶í@Qʊ˸øÜ‹9¾ÏñÚ„õëׂ‚‚ú|é55ôë×K.¹„ÒÒRÊÊÊ3f iiiÚ„eddpüñdz}ûv.ºè"Î8ã DQ䬳ÎbÆ Œ7ŽŒŒ ¾ÿþ{9õÔS5à:wîÌqLJ×ë%33“ŒŒ Î;ï<233µþ 0I’4híÚµÓŒÒDQ¤oß¾´oß^ËÜ–““ÃÛo¿Í°aÃp¹\œvÚi×§ŠíÙ“œœºvíJqq1wÞy'’$ѱcG:vìHuu5wÜq‚ Ð¥K233 …BŒ7Aèß¿?ÙÙÙüñZ»‘:ôð¿ý~?}ûö%;;[sÿþýéСYYYtëÖV­ZiuwìØ‘.]º””¤Íë–-[ذa£F" 6Šhµ6Ô¿}¾ºzËý­[ÉlP…èmÔzI@Û¶íåz¤pß^DI"½M]Q^,™™"¯Û‰h4N»i#›Â¼ØI÷x¸ö¹ÌíôÍH,k”ºÓÁÜÁüXÁÜår±sG’$Ñ.«=e¥¥úùУånÆEÈ?|à/O™oWKûìöò6æqü€ãÙº~+ºvªPÁNÆ Ãÿ\÷?‡œ*#‹^q£¾©Öï‘×"sŸåÙ5ãèŒæÎê=³~عf¶ÑìpÇF9Ó­Æ¡×w;â³Èúš#z4\qL1žMæ,Ú““Y^æh“eÄ×;ÞûÜî^°ó¡Ô[Ïv¢†9˜;˜­˜Û·K,w;Iãõ:k϶wÏÞ,þi1 YH¦c§Ž„‚!Ú¶oËŽ­;HÍLEQz÷ê}È©R¯_f÷ÍDCê3áù½ÃSšÅìÕ{Æì^¸~xªÓF†L‹Q ³6Vº+Ìõ\5ŒÂ8ªÌ…YÊV3w™æŠ.wØb<›Äp6ÚüF{âHÇõŽç>·ÂÜnÿZd\osófÆÜ¶½)â‰¦æ— ¯cÈùCHJJ¢¨¸ˆ‹‡^Ì=ÞCeU%…û ¹ów"‡d²Ûg3àäÚ‰:šÁÇRì„L•ø„׫æM6BSÚl.Ì­¬c£IÎb•Ý(ž˜GT¨ëÒr´`7QnsísócsWS0"Zƒ&½wCrˆ3Ï8S»þÌÔgxuÆ«\~þå\rá%¦b\£1ØÕ1ŲÌôTfâ«Åd•hÀ.6ÑnäÉù‘"Ö-sFr0žX•ûÜÁÜÁ¼‰ß(—.ÄÊ*OÏGÏhR¢á|D!L'Œ@RRï¨qõpbn‡8Z‰ZÌü­Æiv*µg^Oôogîí,N;zîxaM¿¬êŒfãÅúAp0o™˜Ç’:×Ùçæ¿Ì- z4±|íp.êï••¥¤¤´EF–B!™`(„"‡êƒ›È2Œ"Ë”—WÐ=·wcC6å`@˜p"n¦/‰UÏbÅÝY¥ö‹ÅRoãÙg7õd­žÆ.·ªW—‘®ßªÍåÖã`Þr1·Ó7gŸ;˜;˜Û¹G›‡Õ(ËØAb^Fyñ–~³_ ˆ¬POЃABÁ A L ¤ºª…á—]NŸ¾ýq§ŠVÏ/±Œ™zÀÈÏðh¹ÇóXEq‡S‡~¸0‡Ã¹*Ìk1˜#€æGó>w0w0?<˜Û$èv?‚á'h³Î§¤$3wÎ&ýeÙÙí¨®®¡¦º–ŠÊ ü>?`PP¢Š¥¥¦Ò¾C'ŽëÒƒ„oܬœãáy$ ·¢iÓnP…朳£½Äs»—¸¾¨oÜ‚0h±ûÅÁÜÁühÄ\¯ØÊ‡n$óWEß3fÌh”c[¯ÔÖù9¹ÿ ø}~jkjP™ä¤DRSZ‘Þ:”VÉ$%%‘””D›6é,ùö;ªª«´$!f±~#sœëù‘‡Gu£2Šãk5'vïÛ±î¶ÛNSbš[Ý‹óXëö‹)–@¼ç;^˜ æ¶çÔÁÜÁü÷йå Ý*ô]d™4iyyy<ùä“ÆÜƒ"©ñùx饗ùàƒe¿ßORRùùù$$&Õ6‹ÊªJ>[´ˆ¯G;ýK’ÄŸþô'JJJ$‰ôôt~ýõWæÍ›Gff&£FÂår1gÎ|>^¯—ûî»íÛ·óä“OÒ§O‚Á ^x!½zõâÕW_êc¸OŸ>¨OezÚi§ÙÒ4uÎŒîÛ ø`&†Šö]+?ͦnªX,dÃßk.?ôxÌ·ƒùáÃ<ž™¾ÌÌÌ-Oèá Ø ¸ÖYg1`À-䨚Œ#¼ƒ!AdÛÖm¼ùæ›ìÝ»¨¹š™™IUU²;°yËfÚ·o‚Bii…&‚—e™×^{?üY³fqûí·óç?ÿY˰öÉ'Ÿhýñz½¼ð œþùÌ›7gŸ}V[d‹/n”5­¦¦†>ø€>ø€¿þõ¯@}£gÀ?ò9½÷Ì­ØvÔèoØ_oÁÙM c7iƒÙxŒæøp»tÌ ævëŽ6Q‡ƒ¹ƒù±€yT"w«4qá–••1vìXúõëÇwÜ$IZžòH]$¹8餓øñÇ‘e—Ë…Ûí¦¤¤„ääd6oÞ\Ÿ²TQ¨(+A–FiS­|ÿý÷,Z´ˆë®»®‘?œ‘øù矹ì²ËHJJ¢ªªêþøý~†ΦM›xçw0`€& 0%E¦É‹gŠ=#ã£{z}ˆY¥è‹ì§Ì#¯Y¹qØIhÕ÷xˆ£¢™9˜7ævÓfÉTšææ-ó¨Dîшw´<扉”——ë> ¨(+¥MFݺu£GQQQAbb"¡Pˆ_Vÿ¨Q£øæ›oP¹!sšÚ–Çãaݺu|þùçüõ¯Õ2éMVx>t]æ"‚°—••i ƒ“\¬á¦™˜ÆL÷ÔÔÑrV–©Vác iE´›’>ÕNŸÌ㋹UøÌh¯µÄ0 ææÍ¹m‚nõñ,©©©|öÙg|ýõ×Ìœ9Y–‰C †p¹\¬Yý W_s5é­ÓÙ¼i3 ŠF¬w}¿‹Å_- 33¿ß¯J ‚@AA‹-ÒDã‘'i5)ÀI'Ä—_~ɰaè­­%%%E3ÚSŸóx<üôÓOœvÚiôë׋.ºHc"“šDsê‹ÝJR0Œko}—Q›jéj¥÷¶ÛÖᶬ&ö‚ƒùáü©²Ìî;˜;˜k˜‹V°sä_¾|9Ÿþ9ÿüç? ƒZЗFþãÈÔVWÐ:=šºZ|?‚(""åÔÕÖ!"‚(RSSƒ~D&NœÈ7ß|ÃèÑ£=z4çž{.ÅÅÅ‚À¨Q£Ø·oC† ¡¦¦† &ðñÇ3bÄî¸ãm².¼ðB >|8»wïæÊ+¯dìØ±<òÈ#¸Ýn]q™X&rÎÌÄÈz Ø,¼¢‘5¿Ý|¿fØ%0{/r|FïX‰¸ôÆ«w¯¹Šƒù‘ÃÜêD¨§§4¿F#–u0w0?0ú„nWL3eÊ&NœH0Ô’ŠDpÿrss=j$’TŸM,à"¹$jkk †‚Ȳ„ ñÕÔ‘“Ó™¢ýûEA;5ôÑG†}üä“O¹¦Z²«»\.¾øâ íš,Ës`&R±ÊXf5WF“ìrŠÑ¾‹è)ÑœT…±ˆÈ[’QÜ1y”™®ŽævƒÄÃ@ÊÁÜÁühÀ<&‚n'÷ĉ …B1×»K·žì+*äÂa甌 äªrdwJuE²@ˆb|ò.öïÊbÑ—_jâqI’t­ÏÝn7‚ Ô‹çú£^ ƒ!Wïíwǃ,Ëš(^’$Ý$/VQˆŒ;9Ãí¸5؉Çl¢1ZQŽÝœÇzz¬hê?ÒâöhⳘ7µhé˜Ûö~Š4"DææÇæ¶ º áVuæVœÐÀÓÏaÿ¾¦L™Âg @Qq¡P ‘ärñÝò¬^µž R‹Ûã!))I«#\9çöT{øD«Ï…ƒ¦|»b +‘m¤xÊlñXqvûeU·ÝÍXÚuWr–hÚs07-6æfâÝX‚ƒ¹ƒù±„¹%A×c˜M”‘ˆ:²ÃÅ%ÅÈŠÌ«¯¼È»ï¼ÃÞ½…øëªð”PEèr\Gr{vcôè+6lçñ‡´|v,*ͬÍÄLzº£ÅnöŒÞ=£`VßMI—äF¢¸h“64GróøaÞ”DV˜;ûÜÁÜÁÜ^1=¡Ûá ¢µCm2=j ݺ÷Âçó!kÏ+H¢„Ûí!!ÁKëÖ­›d ÷ž.ÕŽ«©)öôÄWF>ˆVœw,§Y³yˆ7æFób6W–Ø¢èΡ¶qdAŒ.ͤƒyËÄÜÙçææMLŸjg’ôÅbûöí›´(í.6+Fdÿô¸¯hæÇ®ØWol‘s^%Z1›÷›‚¹™>ά>;ý0ŠF¨Õ/4dzž{HT˜shÎ óæÃ¼EìssóˆyT"w3ц™(ÀHDáóû©(ÙMÛöíêóžûêðdjëj …BøëjúCÔüøëüìÙ³‡³_HjZZÔâ =®ÉŽQƒ‘¨È 4³…nÇĨOM ``£h.bÁ"££…-Š"{ö"ºÜøýƒgvYAAAŠŠŠé{|ߨ8ö¨0·)ât0oæ-jŸ;˜;˜·0Ì£:¡›qv¹¦ðˆøØ¼i#çIjZ+Y!!ËAdY!à÷#+  P[SGNÇ<×¾§œ~–åÉß®»…žXÄÊ*Òˆ£2Ó½ù.j”‹×¬f›3ëW³ÐÌÍtkVsh¶pE!==Q£/oÄO×ÕÕ †Pä»víbÇŽZp ³SˆƒyËÅÜÙçææq°r7â|Ì82+ÜžDÖþ¶Îí;Aµ@aá~”4…ýÛK¨.«Æ)!‡ªJ«IJN`›?Ÿ÷ÞÎÝzÒ&=ýœëFâ|;†TÑ„04 Eªç«¨ªUD3 #ÈX8w« ñÄÜj#šÍ¡ÕÂUÝ ëjkq¹\ÔÔTã÷û‘$‰šêjjjj@LS ›qëæ-s£ù0:ÑDsZs0w0?Ú1·MÐíêfìd–9ØBeÉÅ´»-•ìÊT~™¶‰Ü»sh{z:Ëïú•¤.κýò>ÜMñw•øÁ]èÁ>ÕÕÕ±aÃN>ùäzQ¾ÏÇ·ß~«¹Î :€•+WRRRÂù矯¹¥UTT°lÙ2Hzz:eeeüðÃÚ©oàÀZ²+=‹•nßÎÜ™q¼vêˆV7f´›’âÏŠsoª†þn®ÿgý† äç3æòË)-.æ7Þà7ÝÔ _W¢jÛNÐŒ£s=ÝßÑŒ¹S¡ÑiÍLŸê`î`~´c®WD£ õRìE¦˜Ó»y]í€ â¯öãîàbûÛûX=e Ý®ìHÞû{Ø6s7¢K¤Ýi,¸n)~+E‘ê]Ù"ùÆopçwòÛo¿°jÕ*Þ}÷]¼^/Õ ¡e¡> ÜsÏ=dž @ À½÷Þ˸ï¾ûøàƒX¾|9²,S[[«kÀÍøõ¸¸hž±ú[o®£yGïÝhÛ´‹¹U¢mK¯ôèÑ7Þ|“É<À•W]…ÛíAÄ( W¬Ær´aÎ1„¹Õüè1zÞ[só£sÛÝÎñÞŽx œ’PD(Û[AÎèvô߉ʭÕEVHhãÅWÀƒ›òmUH.½{öhâUA…BZªÓY³fimÖÔÔ°wï^N<ñDM${úé§3bÄíýÅ‹sþùçsã72zôh¾øâ RSS)++£¤¤D{7r"£õm¶ë3hå»hÇð"–l<‘L[,˜ìZ¿šŒÐo´ãp»Ü,\¸_×®åúë®ãöÛo£®®ÎÒeM v0?˜[Ï£•XØHïù¼^, sóc s—ÝNÙ Çi¨÷ ñûýø„:*·×PžW…+ÅEæi­é8´-?=°žì!ä^žƒ+UbçÇ…õ¢Ó°9_¶l¡Pˆ¶mÛ²téRB¡§œr Ó¦M£®®Ž'žx‚?þñœqÆšx^-¥¥¥´iÓ€¶mÛ²~ýzÆG¿~ý¨¨¨àþûïç±Ç£sçζô6VsefŒa&îµ»@¢¹k=MÅ<–b+Ü#ÅNÕUU|úÉJCÝ ˆb} §8Å)N9ZK‚7¡á{iƒ ëq>fúu+Ý„’½°}Ñ.$¿ ‰‹ I?1•mÿÚ…'Åͺ×òhwQ Ûfï£UB+P#Ýлï¾Kÿþýyíµ×8óÌ3™>}:þóŸ9þøãxøá‡™1c†FÐÝn7 @}Š×¢¢"8@jj*ýúõ ¼¼œï¾ûŽë¯¿ÞÖXégŒÞ·"þV†|ÑøAê1!ц=l æÑ2Fvˆº ÔÔT#Ër},þPˆ`0¨ý-{÷îA’& RIñû|¬øá{$IŠ[ZJ§8Å)N9EEjª«IKo­}Ï\VÄÇÎ=³È?êµP(@Yiþ:?ënÜ7%K‹¬?Iÿ»€Úª:Š$Iâ—_~!##ƒ{î¹G«ûæ›ofÇŽüóŸÿ¤ÿþÌž=›I“`Íš5,[¶Œ’’n¾å.¾øbn¿ývùì³Ïx}Æ ~Y½š¯MNN',XÈ3σš$±eËVrrrزe3[¶leÀ€ôÈí"Ë,ùö[ª*«¨ªªä¤“N¦OŸ>ìÛ·—%K–0èì³ÉnŸM0`ÅŠìÛWÈÙg¢]V~ŸçðÖW°@¨á$.IÅÅÅiX (€Ë%Ñ©SN£ÌŠ¢ ŠU•”——;ø:Å)N9º‹ROГ’’IÏÈEaÛÖ- :²Œär5kDQ4 öqHŸE3jS]ÉÂõÐ’$ix—ËE О÷x<šB0$ "Š"¿ß¯…õx<ˆ¢¨]sD±G }‘$±ÑZQùÖP˜wD¤@ݹSœâ”c„®+rÃEdë–Ía"wA ª²‹ØGM©ŽósNqŠSœâ§´¬“Mýa&-­5¡CoîºSœâ§8Å)N‰ã)=ìî ;»ÓªU«¸º 9Å)NqŠSœâ”æ=¦«D½Ñ‘ÜH÷è§8Å)NqŠSZ(Io°M;DÆK`‘F›øbÛI“K›Fý•ïs´í7%Ø‹U€;~ÚzxÅ‚Q¬ÁdÌÌ› sÇ0Õ~¾óßóœ8k…†”ÑçÀeõáˆf¬ø›ù,›=g'€¿Q"?šFYzô¦˜ÕþB}c¦uFÀ?šÑ”„ ææÍyýGª>&µ(IÆ™GŽÍ¯3!9¤»~EA”D¼ïïíìI(Àïî1¯×û»#슢ÔÇوخ¦T-Í3Ö,xÑÄAŽåoÔþ!ý·ñ­Švn͈VSOÄææÍ‰¹úo `GA>e¥¥¿›˜Š’$Ò¶mÙ;iãV1“$‰ü¼<6oÚ„ÒÈ êØŸ˜Œ6œ8àd$ÉUï„Õ°fDQ¤¼¬”o^E¯®~ÿ.Xðz<ô?ùdÒÓÛÔ»[7• ;å0gó‹æˆäÌ•“Ç΂|ÒZ§sÒ€S~7Fº‚ ’e~ýeu¾RZ¥ ÖGÏt¹\ìÞ½‹½ûöqå5×FËãX(k]êŸæŒgjñCêêjùùçŸ9ÿ‚¡¤7äéø½”¢¢"¾ýú+Îsó#¹vST‘*QÿÔ‹ìvïÜM×¹økk(/-Õøƒšêª«*éÖ3—â%ÔÖÖ"ˆBýé\$ Y­‹úØ`; ¨¨¨ // ÀŠ–SU](I1õSÿG±”Z¨§põ÷@ ÀW‹ÿKB‚‡ÿ{þY8€$IH’ÄöíÛyõõWiŸÝžY³þ@0ld=þ‰—(ŠŒ;–ââb€víÒK/ÅívóÜsÏi‰±Â1—$‰Ç{Œ[n¹…qãÆõ;š£ÓhøÕXê5û‘$‰Ââ .½ÿŠÊªAð¸$6ï.c}A «·î'Ôg=k˜“ðy gjÔÄ`’$™~#¢ÅAäâÕ¿#Â9E£wÌNJzïZå7ë›ÝÓA49ÅÍæ$R쨧£4›;³qÝ·3¯F¿[ù;˜;˜·ÌiâZÉ$&&³3?ŸŒ¶í(.,$°ß>víÚÍÞ½{Ù‘Ÿ’9°wYíÛ³kç.\n7EP¿]#n’$ñÓß“””Dv‡Ž(ŠBrr2e%%œ|Êéät>¿ßÇãÁãñÆácm¡IÖ±gp»ÝôìÙ›]»vÓå¸.¼üê‹”–•’ŸŸÏ›oÏ oïÞlذžaC/ÔNÜ*¡™0a\p#FŒ`úôé¸\.B¡.— WCnV­ZѪU+´k©©©ø|>®¹ædYFÅFï|óÍ7,\¸‚‚öîÝ«õW}NÝ/êß.—+&)Rü$~õÌ ËåâÛ_òxòýeôíÞ‘Uw±vÛ^öU²eW); Ëé”.‘’èAV¼¶mÛÆUW]ÅàÁƒyðÁñûýH’Äu×]‡×률 €K/½”’’’fŸcçH9˜;˜·(£¸Fg¯(Å™²ÂëM %-Öi­)†¨®®¡UZíÛ·G wï!½MZµJEV<žh° OJLª'.š˜\’‹MyëiÓ&¥!÷t(â¸.]èØ©3¿¬ü‰¢OßÞ!me„ˆ_ï¶Þ܃AÆŒCí5lݶ•:ðÏýIéÖµ+k×ýÆyçžÇYg Âï÷kkaÚ´iœ~úéüãÿà³Ï> ®®Ž;֭[óì³Ïâv»yë­·øä“O¸å–[¸öÚk x½^^yå¦NJUUwÞy'>Ÿ—^z‰””rrr˜8q"S§N¥S§Nˆ¢HQQ÷ÝwÉÉÉ<ÿüóƒAžy檫«Ù¹s§ö®µ¶ØX³¸Zð¸Ý¼»à'~ÜRÌEƒú#„êøé·6î,eÔ9}…Á'dsÉ™½Y¾z+5µuL˜0—_~™œœ^zé%žyæ}ôQjkk©ªªâ†n`Þ¼ydffj4]¥Xt;/Rïh4©v> ‘ïê}í„4Zµgõ±Ò;™YÍ‹°ÌÆpH;‚Ðh£ÇÃ=ÉnØNsóÃ…yä\Q”>|Á`·Ûƒ7ÑK‡.‘EèÔ)§ÞåK–ÉÊnO($£m[Ün ¡$þ ·—ËÅ®;¨ªª$ !PoH¨©®&»Cjjj蔓C«”T:åtæ‡eßÑûøp»Ü¬]ó 'ž| ~¿/úh~êÿ…èí×]s=³ç|Ħ-›ÈÌÌvíÞÍç_À°¡â÷ûé²/¹äžþòòòèÑ£Ïñ«B ‰IDATW]uwÞy'úÓ{¤(TUUñÙgŸqÙe—qå•Wj}øôÓO™:u*ãÇgÚ´i¸ÝnÆÏÛo¿ßïÇëõ²aÃÀ„ ˜>}:Û¶mcâĉ¼øâ‹<ÿüóäååñóÏ?s×]w1sæL|>_#}¿Ñ”q²ÛD_>ZÆSúõaËîr2RÜ èÛDx$håèÖ)“uÛöàuדÏ-[¶››KNNuuuÜu×]œwÞy<ú裬X±‚û￟ŋ#I@ nöz昮h n¬˜••°Ý‘¢8£¦±¥®ñÇNP;sbÔê#oþÒÔ9ŠþEûaw0w0o ˜7"PÁ@L¿p½r(jˆÀæÖ®iVËnÁ`AC„âñ¸ üxÈjŸM0l0ì*Ѭµõ ¥%ÅØ¿Ÿ`0ØŠSÁíñPYYµš¢(õ}4 _¡P@Ào¸EQà”SNåûï—!‰‚ RYYÉI'žL0  hïú|u 4ˆž=sùùçŸùí·õÜtÓM¼ûî»äçç3hÐY„Bõ¾ÝµµµÜvÛ8$Iâ„N ¨èŠRï.åñxX¸ð?”””PYYAuu ……ûøàƒxë­·˜6mS¦Laþüù”””P^^Nrr2C‡%--óÎ;§žz ¿ßËU?ªx^˜ËŠŒ,‡üM#èë¶íá«U;¸vÔùäí)'5QdgQ-û]5¤xRDRDr²Z“àuáq‰ƒB¡ >_]£ï:w^¯—ÒÒRvîÜI÷îÝð5D´k²4Aµ6â.r7ãÐÍ’BDsJ2úë\Ìůáñ‘›"~µ{1»Ú¿š¬ôN§MMöá`î`~$1×ú'Ë1ûø*Š‚ €€,‡¨,+#99‰„„ä†z÷ïÛGn¯ž í×[k«D¿MF†FŒUw+En0Ð 3ìªÒÛ´á¤SN%!1‘¢ýû©®ª¬ÿGÙÿúvd³€"×»J¼Þ¶lÝÂŒÓÉjßžÂÂB<^/<ý÷§¸wü}dddhLMBB_½ÇÃÅ_ÂÙgŸÍ9ç  ))‰-[6ã÷ûéÙ³'¡Pªª*Ú´É ¶¶F›'U2pöÙƒxíµWÉÊjÏÿûߢVï"wóÍàÔSOcÊ”) |ÿþ÷¿IHHäË/¿ ¬¬”ººÚ"îÓê“媇^` •¢+J};MÍZUâÔ^ÙüãŽÁ<1s9ƒN;‰íê8!§­$’<É^‘V ÄÌ/ÖrrÏöˆ‚Bï^½Ø¾=Ÿü3ÎÈÃ?Äðá#…ž={òþûïqæ™g2cÆœpÂñø|¾&õP(„¬ÈÑÐíž8ÌN>ÑúÈê=köѲó‘5{·¹|’Íæ,Ÿd ŒDŒtÃvO¡MõIv0w07懪“•3ËAñBj+*¨®ª¢mVù[·’Ýéÿ·wn1RÝuÿœë\v™Ë^€î…]¶‹´]-H )`L¬bI£EèS%ħРO6A{I0H(ØõÁ>ÙĤ¤}ëC­MµmÚbÄ µ`ºYh™ÛÎîÎåÌÌ9LJsaf™™™XÈœßÃfg2çœÿÿ÷ûŸÿïþý!É2×&'dòêU+šÏ1²z5†aÌtu/Cõù0tAéí[Ž(Šƒ]¢ˆ?@×uTŸJ©Tdl|œ?ü€b±ÀÀà°[<׊!R±Î4-cd>¿TÕ*Ê:}æ½½}LMMñý“šNñÁûï‡8ùò ~~à„Ãa«Ý®Tbhhˆ“'Ç¡C‡ˆF£œ>} €sçÎràÀAúúz9zô###¶—l0<<Œ(ЬY³€‰‰‡8vì(Ï<óSb±{÷îL¶lÙ‹/¾Ào¼É‘#¿E×K>|˜'ŸÜE&“aÿþý‚Àøø¸«¸×®][iÁö«×XÝX„ñW¾fæ²yéãåŸ}›_ýþ/|õ¡µ$ Þüä2ÑPÐ]Ë‚>vnçÑu«ÈdóD£=œ?ÿgž{îy^zé;w>ÎÓOÿÓÔEU}\¸pƒrüøqzzz=^ǰœÿæ»~ð„yêÌ+`.šÒB!Æv¼èõ@B¼Í}á1´sso$¬ìÉÜ“ùí–¹óùã>dÓ#[ÈÌÍ"Í…ÜEIbv&EA+pmrŠÐ²nô’Îàè(Øc÷ûý\ÿüsr¹yM#  ‡ˆDûùÇ'¡ª*¹\ÖêšH’Ìèê1zzûд<ªê£PÐPUŸë]úý…BlfÎ}V³T,‰Ýø’œ°Ç€åM¿õ›ÙŒâSËxb˜&Š,sôØt½D2•dÛÖo±}ÛvLàõ ç¹|ù_tw/C–ežÿõ ÌÌ̸`/¡P¸âùg^9ëx•±±17pöìYR©$áp˜¹¹9B¡0©T’h´‡T*‰$Iî½4-O6›% ØTÙlÆÍá;¿ËçshšF8&™L"Š"‘H”d2Q‘®ƒüéµ?òØw¿çB‹¢Èµ©)¦Ói6lÜHAÓÚ’—6IP‰ã¯ýsï^áõß<ÁÀò°¥õíµšÍhŠ%"‘(ûöícrr’þþ>|>?étš©©)ž}ö—ìÚõ#‰8’$‰D™›ÅXd4Á åÿí½÷è‰Dà³ÿ~ºp½1ë¦=×Ü)\ï;AíÂõnõ ŽføàÉÜ“ùÝ$s×[­…ƒºÀŽ\*•…#L§¦™Ëäúý€@ àxYù\ÞBø’e¢=½ŠŠÅ_{˜p8bGJoÈ’k2G”$²Ù ‚ Ëe+$ŸÍfÈdæÜSÀÌE¤ ¨^¶Cÿ‚QÊî㟗.±éßäþ±û¹xñ"__·b¡À•+WX¿n=ÅBÑ­¦×uD<æößK¢ÈS»wóÔž=n[–eñ¢$!©T QIÄcH²L<s[ݬܺÕê' ÉxÂ5:œït]'‹abº}Ù‰xI–Á4Ýû•Ÿ V3änÏß4Œ–ù=Ÿ Ó$¯iäò?ùΆ–áÒ¿¯p}JE’eEÆçóðûñûý¤RINž<áO¦‰$Šˆv Ç™iÏM²ùØŽ½óÖÊ–gitcmæhÌf6Ņвêyõ6”fµn'jX«ch5¬îâÉÜ“ù–yUwIh–ÇЬP(h¬X¹‚éÔ4©DÊÊ[ÚÞ®ëä´<Á®."½QDI„‚5žb±È_ÞÒtæôKWŽ[¨Š2x»ŒKÓ´—9¯P°T,²{×¶o½¢(ÌÌÌDl…,±ã±KEÈå²òE±ŒÄ)&,¿·¢(`˜¶¾ ¤bR™ñRŽuÀM°“›`6b…BçÝÃùß1Ì:v醟ÛÂcðŠ)õñLžn&—×( ˜˜¢†ac hù|ÅóR5Ùë)çÙžc€jÍY^ÈBl–QU‹c„ÆúŠêåmÅàh¦ý¨ÖuͶû4Ò“\k,Í7µÊ«…z†=™{2_ ™»ŠÒvÌM̦ûÐu]'ì&“±Nj‹ööŠ„ÑuôLÚÝXG†‘e ÓMËѽ,\;^Õ{»q,ÔBhåÑ«ËcåÊ•˜¦I4usíNÄÀáM#Éåà0ó^¢(˜UQ_뽫̷·ƒ~¿ŸÅpxé¬ò[þ¶¦Ç›ÖŒÑ¨BŸÿ6›[«êm•›Ù‚õ¹Þ¦[5ÿYÖ—ÛhEmµ|j­k¼ ªÒ¨Æ—z`'¶0Õó~jU„ת oQÍ“¹'ó¥’yExç­)Å®®Ý¶fâS%»ê½ò7†¡Û^jå=×K™²©¹í¿†n JBSFj¹Ç}/ž/ï†Ü…êŒiGQ\-šåÚj¡æ’+ôF<§jVw­—¶<ŒfVyyªŠÔÚx«ÔúM­¹Ô*šjÔ»k5¬ÖØE «Å“ùßÕÃÊžm­ë=™{2_J™(’L6“AVÔEåêaoå ’ÛM³³³¨>Õíóvø ‰Çb¬YuÓØíl6‹ª¨·dc|>•Ù™YÀ‚¿íž8Á r¸®B¥8J³•Šç»õ(MOæžÌoWÛÚÐÈ(Ÿ}údE¹'=ÊŤŒ ÃàáõëÉçó.¯‹Å"NLðî_ßá‹/®ÓI$3é4k¾²¦²ãÁ4éíïçêÿ®òÎÛo£úԎ⋦iø|*½}ýö;$Ö÷Ð=ZüBlW®‘{Õ ÍzäÉüžq<ìùD£Q–¯XnUdwÔUQÑ´‚ël:§¬©ªG·n#‹£zG±ell5¡p¸Ò00L6lØH"³Pú:ˆE¡§§×>rl¶(ôvmd^ Së¼]L “'sOæwƒÌËǯå;kƒv(¯çíMÚ.!)Sꊢrßà`Gò¥Ú!LÎZé_¾¢ãyâ¥ÐM á^<„Þ#<ò¨#6pkïȹ óÚë<ž€ ˆ8*ÛÑݲ,Ë$“ ’‰8Šªv,s<òÈ#<òè^¥t:ÍÿýÙ ¹AÌ4-IEND®B`‚KCemu-0.5.1/doc/sys-kc855.jpg0000644000175000017500000003073512417262523015703 0ustar glaubitzglaubitzÿØÿàJFIFHHÿÛC  !"$"$ÿÛCÿÀá,"ÿÄ ÿÄT!1A2Qaq‘"’¡±ÁÑÒBRS‚ƒ#345CDTr„“”ÂáEbcsð$%U¢²â6ÓãÿÄÿÄ*!1QAað"2¡áq±ÑÿÚ ?z#„å} ¥n€œÈ£Í„ONLU¡dÜê`œ((P¼,µa[ ¢L5/%+¨óCwž}Ì’vÌ \6¸ù×Ùk%¸y¯œq3rä\8žøŠâ/¨¹Ä“æ±/árÿ:žøè™d踈âz#¡˜75‰pûGEyŒoåãÜT&5ÍbgŽlï=Æ;Ç6>7š!x¨TcXš¶~4m<ñÅt@âã›ÛIP²ÎH¾¢ x³aCyŒt©#ãøæÚ7­=ñ÷AùEwÀÚthêü£ÄÞÚ>Z{àm$è¡ß|cÿ>ç–`&>}ß(Æ18H;ã–Ï(ƒãùç|£.?¹ÕùQ¬ “öŽãÔ¸¨sããù„cf:A™‰–<‘ð©‘£ža×'íapÄ››µ¸ãð¹­8Ò`€™æ ¬„A¹“ùC ±Py wÇGœF1"ö¬•ø³×qˆuM aÄŸ!C¦2Ü/c«¼CÔØ^ØÓ|MØ\ÃYÆBÛ a€D°«+déº5ˆà TRuI´9C£d\ç :|(Ê¢”•-FÀrL&a=ñcÀL²þ B@ X‚`ÎXcq£R°Þ_O¼µñMƒ¸¸/é…Ž˜GÆgµÑ³‰H@nˆ)Ú9·–Ú§¥R´›)%Ô‚6±Ã›)3§QA47Á¶Ó$ÿ¨#ŸL—券;S§’m=+ûÔûaºêR'I¹sõƒÛŠoÈ­¤V>˜ù)?HAMbÿ{ñdTü¡ÑöOÓS5,(ÙúB*©7䓨—‚¸hÓ_2c†7º]g²,Èy…iő٠ÑÏa=ÑEÓ·ä›®—‚¢hóŸ£9Ý4™Áù«žL]SÅe÷4ù0²Éâ[òD:édüŠú˜ðPÍ*sôW|˜)¦MÍœòcCC,XkÈí™yB3–gÈˤ—"÷qàË6h~n±Ù2#ò îm©I"3”`ý™‘§‘ø@†ìåÈ;¸ðcJ`jÊû Š“xjÊû£vj™N×ÀÙò8n“L'ð6‡dÑË“wqàóÿƒ8ÞÕT»Ÿ!]ÑèQD¥dÛϤÇMFriò•íƒÙËwpàó±—_Í«º àëùº=pýß-^ØEXr‹¾I>Z½°;Irnî{,/䫺 Y_É=Ñ¿9†è„þ<µ{a«¸j‹ú|£µŸ#w0àÂK*æ0RÒ¹ŒmÎáº5ò”L4{ÒR2–HìȦ˜{ˆÑlï [è1­®ƒLQ6a9…>Èlí œ/÷ù)öBºA΃2¢›AHÏúFšå›ú:|‘ì†ë¢ÓÀüЮ”ƒ™g OA0]’wF†º5<›x:<ð’¨ÔëË£Ïí…q’8²†ÒÖʶmÎ7™¥Ì¶èRo²¿“ÆN9x2;϶9ð?"–ÂO8&ãÏ {†ähûâ‡DbâNIø3€¥EI"ÙÃb!âî„’³ ª-ÞãÈ›C¶&'Ù Žxƒ;I%'Q”f íés©‰ì½ŒM/þ+_ª —º%pŠÃX‚UÃ|‰6 %]bÊSû‘®¾cż%¸ì¶>¯6Z@¨?k+vÙa½SfÙ±:?esÙ:á–HMp•[PxË¡SwZJU˜¾‡=ñ>‡I;›¬WJÄ$¼ÁT¾Û•¡Ëêì„“;3Â]òÌ2E¢.j`t ÇM¸ªÜcÒŠŠ{œÕªæE%­ÇŸçQÿ†Ln™wË0<.fß„½å˜Žø ƒ•PùGÙÒJJ…Pþ§ôŠ^'65J‰yÔ‰ÇJ¬ʸҢ÷–¯l-+\ªÑÆÔfJ¡+7ôæ@ÕC·úÁ“G™Ô¾Slî`9Sk@ᨙ2kõ]±ÅOM7m@y]ú§âVRšÄò€Þ—UËT‹¦aµÛü¼ý0Ø&yZL§±¿ë$ö3mn[Œ±J®TQ} }VôÄ”ž2Å%öÇÙ GeK)…{c>u‰Å¶úVƒfÒ]œn¥*ÛªQh¬|Q”6­ϡò•!79Ú$TWé³²ÊBvf9nX‰™w›V‹Iê0L?B‰{ÛXE¥ j!]wà 9k ¬›o… ­¬&²4¼a»„ˆAâm”,åó†î‘Î!Fºyá”ÁÔC·Ô9á„Á¶2$ÙJ'š ñ\íFNŸµI‘3“kPJy)çR³ÓÚ"]Å€u†Î¯\á.Q"“K­â÷ésOPÛDÊ&Ó-X£Œo-¥êm¾ÜÛïR±]zq¶æ$ø¤€¤ø™ß•ãÞÉÙÓ=m}‹4û|rx×±½Ð«Œð …xtâ2¸î…”—"Š·ÙF!ÙQUÑšoyw®qÓk òÖ-2¸ü£/8…6µ¶¤b’F„BLË8ÃÅjœ˜xZÛ Ùé “˜S«ZjS 7 XuD*4ö/ItÁs„v­anç8â›:`ˆÜM1Ä&_™K·˜Ã6Ö—´˜Ô”¶Â·%w†´å]å”ìj±[Ž\HP±ˆiÙM§É±‰²D ° ®D]¢  ‡ôUå”>X†*ÒRŽÍBY\Î§Ó -˜ñÜØtöG‘¸{@o…J½‡(´®öÓ¬K—BMò"0ž0J§‹\¯K¿.™Je^éRRv.‹é©¨ÝZn}º .bçö¼«&¤»Õ쎎+J„ÈùJ÷cÖ<Ë«u@i_µµ|èü‰új÷c§ƒ(Õ±mÒ©§•O•=l§Ù Ó›Z¡b¼H·”k° "“JßM“ýÂ} ¤ÒG÷\—ðéöBá]0``â`*•JÓàÉáÓì‚*™Kñl˜êe#Õ”¨Ij鉘dí:›¤˜H;L‘ÜÆÏê¨A‰”5uP®LdF½N”>:ŸXõÄ{ôùo—7Ù6àþh—yPÂ`ëœ#“NS%Ïå'?‹wÞ„¦±ó“Å»ïD©ÍÑFj·.'Zœbkiõ*\4†÷Ï¿¬Â]”[Ús[ž›´,úL4z@§4ÍͧH‡n©>âæœu)È6qIo½µ7õG6d“÷Y›ÿ®³ëˆN£NÖ-&¯r8É»º¡4´{°ê£÷øÓþ?$ûXÓ‘•~•üccù¡ãX¿ â×igªu¯z*G‚ &­˜X=Ø)àc ¬ø¦`}4û°Ê¤½üþÅtׯŸÑ|—Åx`ÚÕ™ú³(>ƒ’د Ûñ´·bÁŒ¼ð%‡T2yñô‡²8x ¡¯“4àì‡U%ñ~Ät£ñþ}œU‡NbªÇy‡ âzŽU&OiŒ`ðHV“‹ò¬pÿgúqäÎ/Éþ°Ù’ø¿`ËÇú7â*:¹3íÿd*+Ô¥ ¦Û=†0ƒýŸ%>,êüŸý ‡û> f‰Õÿ¿¥1ü_³e¯ôoB±NV“H‚ª« GáM÷Æ ÿÇ÷Ó÷ºƒƒé[ù §€zŠrMQñõŸûFÆþ#e¯ŒÝ\©Èœ¼-‘ôÄ"äü™Òi“ôÄaÊà>´ŽMflu>¯lð7ˆ›Ò¿POTÂàf?ˆ9kãFÒää¹9L4~˜†³äØ>ß”#WØ©{Ä•DõM; «ƒÈnÜj<¡ ÝyöZOldgƒìvŽN+«ÿç²p? ÓÔûf}0®5 §óCTqi'"˜AÌÆVQ—«pŠŽN*ípL&¬3ÂZ98ã×ÅŸL.?ïüC×ùÿMöÚYeÐÞØñ…¯Ÿ8æ1ºdïTš¤Å´ÙÚô»D&¦ã9Bè¬T—9µn,‚ÚJyôÖ& uqoÛýY‰Iû(—¢e9kÛâ©WN,*kàç¶/Æm¶Ñ¿5¡'ÄH”>V‘½HHˆçš/'‰žKÕgp›$õï…e…¶ODC'5‹æI‰¦Å’ ÑÔw¸„U¬³x*ÓãG\YÍ-aEÊ Š7]„*Òtˆ4i•J óÂ¨Ž¥¼Ø“m%Ä…æ/ÂÒt öÇ“±lJ‚(ÇTa%˜hŠÀL˜â”9ĨsÅ¢I†QŽG/¼Z$¤(’ é„’aD˜ª$Å‘ ç”7D,ÙÎ(‰±Ò :dÃ&Îpé£DØœínNB£%O|9ÆÎ(¥¢âߤöÌ2 Cˆ(ZB Çô̪6RÊæ~AÛ˜å¯Nþ½h‰²Q0 ËtAµT¨•ª:ÂwáÏ?Õ‡òs©H­„„Ü(ªàžm5…ªÔei’j›s‹i$ ì’nz,ÓͼÊiAHZB’Fðt0&fa¥30Óo6®R { 3˜Z¤YKjq’P‘ªNäõssuFíJ„Vb-êÙi$™'WbE’´\å|®bGoi U­q{sFh!a»§8Uà ׬+ r!kºM-a ùye)%@8° …Íú²=Æ&9«×𖬺ûµ)0·ÂC„¼±pJÈt¸yfjÔÆ¾û=.‹€¯À2 {=@ÃEÖéž4T¥6¶6‹Éö¸ëlá•b‰Oranš:Þp´ãöÊ”ØM¶/~M‰o×p†5L³òInf>èK›iJæ ¤›|bF„Ž»À´GDË:tÓ¼T¬ô«îZû-º•sØQf ©Ô©PDü¬„Ò±oŠH¹<ú™1#+:©‡ƒ)0Í7q œFVðR#…vB¥+m@¤iÍ )YÞZ¼S‘h”a3΄›„8@°íÁc”FIŸq@ò–Ož%šAè‰Ók[5©Ä*ư9ÃS`ad9âÅbìM Œ‹›˜ri6¸„·S,ºju–Õd ’›œ€‡4ö¨óRÍÌ*I K‰ OÜ“¡Îûá•w§¢$‘œrἚ:1Y ø Àû”G :„2h}Jc‘Ѭ´.6àª)Ñž¤Z˜£È¨¥É]ΤºPï‡Ôœá”8`Åègð~[£ªm^ôè­íŽ5sm§åµŸB¡öøé‡X—‘^àj(Ò?¥LŸÚ]÷£¿Iß)™âÝ÷¡Ä Ã'%ä’Ây3sö•IŽ;%Ä´§F`‹›-*>q ˜FoðG¿Pú!”çÈŽ~ËE´¹Z}²á²¸«¨ô]9ÃÔ˸2Ubs±,ûÁ2²³3î̵¶¶ Ú7#dätߘóCµÏ\tT›¬BœT¯qÚcøâxý}ÈpÚÂOãy¾ÖÛ÷b*MW™L˜i}@]5eŸÖe'ÑhâgÕÆ)±&’7:ÍþB!A¼’’H6‡]DÅt OøcÛ šÕ rßÿÒgVI«ÓWÒܲ–<΃ã ùF µI†îeÀ½¼y&ÌÄÕ¿ÉÙ?ž\ÌØ†I+ê”=f!¶õ1ÒMµ0;‰pÞ#÷fçÇ’WÓPõoáµ8–d”NŸñ*ÿ²+œÀ—Í5϶#*ònÖ3¡‡n;T±ÿƒ“þ)_þpÍçê¢J¯râ:Š)‰š‹¬LL%„ܶÂ6–¬ííî„™LÌ‹S{6—[8›-7±D]¿DÒã7&*6ÎR_²`û°ÝÉ™Á¬ˆ?ªè‡ MIÀ™y`“˜ ˜ öø°‰Lën¤>ÃA Ëi·vìzrØ·bùrJãeNM_:sÝ‹G¶fæ?é³>S~ô=PÎ:@l(d©·ÿé³^S~üÂ9.Fa´ïR”‹å ÷ÃZš¶$W3j>c›+’…ÔR9;d§ªñ*3lD-<“1—4L$ˆ"“ ± ÞÙBŠ„ÈÎ+rc 2¼uÅRñĈã%«LN$|WÚÌöˆU¬OŠd‘ÿ†Ké¹,»ùŒ/À1¯&¡GŸn]®)ål¡…'±]I &vX­?N˜àöm¼M*ìÚäfeÒÚËe’M:n9=„ðømoLJ²„$]jSŠrI‰aJZ”¼œ~‘?³7Ë‹ª=‘ß³)0 SVÉteÑèŠq^ Yh§pDÐ hIxvMÔ&¦¢,m0=‘УMœîUQ<ŒBQ°›—ì˜Aõ«Æô¥$x<IJóÚ}>£…poH^iu?¼È'Úž®K¾xeBôœe-­åˆèzËb¹G÷Džtªþ¨ÏGTõr¦Tž¤ƒë€x'‘ø³«ýÐ÷ åÀ• =8‚ACWZ`½OÞéb2§8)e9·6á?éüÐÁ„ÀäN¾ž£o\l˜ƒ:~`Vé‡ó”ˆT¤ÝaÄ6ð%I ÊÓÁ½MŠ”Úzž#×Zà÷~J¹<ŸÚV=q²bZF Üܨ xC^X…U9.G“ÕœfIàó6qøý©Ïl*îÅ6sM›n/:a¦”· Ææ™¦NŠ'è˜7ƒ¡=Æ2eà¼\’@¬L«˜í¬ú¡3„q˜ÌTæOa>¨ Šä9Ì×É玤8à%¶Ô  ®4Œ8g¶nÝFfÿééxCO&¤ÿî[÷`ªQä.´¸5²ÛÃV—äÁVBã^¸¯Jâù÷-¹Bq¤ƒ’‹÷¿fÌ6¯Vfg“Ä–Ã-ŒÊorzÌsUšŠÔ½8ÝiYºH‰DœˆˆÊP C^¸JoéCKsŠ" LÁLRâ™,· •ÆRÊdæ¾À¤˜™‘ánP¤&j–â?QW{jŽà»”ÉSõBwáÕ¤¤Ò¥sæE¢Žpà–‹ÉaàŸÈâ*\Ä̃Km-¼R ¡c{$ÃÞ8é< YyqªØ+iÚ*n- x:£HPš›nI°Ën¬(¦ù^Ñ;ФÕSÃ5)vTãòÎ!œ¶ŠM¼ö‰;b+®g“¦«3ŽÔ2¥-!jÚ ¡N G_©UåŸS/­m¸œŠT›œ¥Lѱ‚VdÞd’¡møÙk V•(§ÒdÃî\]jX:ógØbpâa\©ʃÙ‚¦4vÝWöÄeÕòä˜æ×B‡d6Á±2až¬žKävŸl.Þ/­ Y3KìR½±_ÚyîŽñ‰ç…ä±§ׯ“Ó êuC× £b$ÿyNÿ¡]´Œ!Ô¹§y÷’îѸJNͲÎúÞ rÝOÇÇš}ob©u6›¡*˜p— ŽBÚiç'ƒ±N!™«JOMcÃfe J:ëË.EÅ‚Js½³#²)ŒR埦‰¦æNŠ…Ñ’…òå^Ýž—yìK"„¥E ™h&ÜåB _SÚ¯=2”Ë™f’èS‰ÝVÙAÕCŸtbü1bºí;TZ¥W—.™šZåx°J¶ˆ77XË›ª6™ul¡ éhóö‡Kð—>PJRóMmt„úÀ…HfÂ5Ã*@Ÿs«ŠlúD9o†lH-µ6¥~Îß²(24÷Þ§­Æø…%{Ô“´lm¹^äѬ£†Êêl ›]l Bˆá¾°9M¶zÙ‘øºåÊðnkáʧayYcÖÉ÷ èáÊwEIIþå^ôc)MÉ…–ÂRÝÏ5õsXؾÞ“ãHÊv6¿z:xk¸ñ¤e»¡ëŒY(Ú!)Ì“`!ßÁ5 ~ ³ÕcÆÀÿ i„ºªKi l¨)!]F/|bfñ³Œº™"üµ¶ÒÁZ¶ ¸²Š‘»q;ãËõAQBZDêÞ ¹‡H-<Ñ´ÿeðã¿Í8nUÄ‚yÉÛ0“Z\¤¶6U°Õþô&SM|Ú;„8 Ä$ÃÌÖŠKó³l„ ¥ iI$vóÆË#»tDº$TÛwÉ šÐÀ¨®ÌSe¼A„=T@‘cŠAâÍÖ<\Ô-™ñA9Âãèb^^§1.P²µ°´… $oVG-wÜÂ8¡Ó,¥^Q‚Ç:¼£ (4Ùšk53Qvx©WJ—ZÖÌž¸‘'(ŒŠ Ši$|o(ÅoH°DÅ‚U´Hƒx³x®ãeÚE çq>…D'³¹H‘ ´†Û(Q: a9EK¤˜QĨ®dR»D°I½u88|Ld±×.¤wíwƒVaô´œH”)FÀloͯghŠL=%P˜•+Xi­/ckÃF­9l€éԎ캫‚ù_‰Œ© úÀ=qÆø4™eô»/ŠhÅI7vþ¨¡xLÇί¾…L_7ß Š ù4tpi?73.©êíl¡^0iÝ•ß=­£^àóIá©Ú¢´‡[˜XS‹\ÖÙ$ ’°Î<×3=NðÉ À™T°R|%3 ÉV9ÚÚ FûÀñÂ3Nñ,08¤2”ò¹óóDª> Ó\—Õ=4r€þ«€úm¹2ð9ÈLv)ô#W« é _›˜ðÇ 8Æ[ÚKZf£¸gæ0âuÇP„¥–ÂÜZ¶R °ë'tsÉ ×4ïè=íûÐ’¦^ýcÊG½(«“œ´§ñúÇXSä)3 †Ö•X€­ zA‰bL®„2è9ÉL'Û ™£låßFþˆz¨Lˆ› Ú7¶øú¥{"¼ÛÒMØ(+ŒÈ)%'!žG¬E˜ëÖV;ˆI€HÒ±“œ\´‘e^Ðs¶GŠ‚{!ã°Œ*Ü3‚«œB„(ò²=0R‘ÏÿlÖåÛ@É B„%".“¤p•(Ä®=ƒ—MÆèa=Šäd],>—T±®Êrôô²T|lú!٧ˈl“ÎÚ}b.ÂÉ?-аÖ¬O&z4å)ÄTÙo%*÷¸Ï.Ȉ¨a'g”•Mb$¼Sr6…­}cRªb\-:ô‹ËxC*(ZL²Hj91Rœ®a? X –Ro‘ˆí¥'-,qUŽnRM r Sø¥rà” 9b~ŠmU4›µTJŸË4Îà÷³&W?ñ‘냃ùiTýyöŰz%òRÌ­yD³$,6œwÖ˜,í2·=.™y¼Q%0ÊU´”-ã`sç1zL–sI¹qÕ1ÿ´*Š&s“:ßcãÛàý™§Ø”á-^“Û4‘)Øn­'6‰–*Tu­7°ð¤n-ÏÓB0Æpx³ÝΦoДn™µŸ¬È8eÁ±"ˆªn(u—I¥¹´Ú)¸·Ê‹ àÆi:•Z¼Ü´Ú v]´‹%Y  wöÅ8&”¾LÁò¿¤:—àòœø°šô¯úB¼KÀÑišŒ½Ržl”L$óXÈxeàùêíN{Ó'R󥤑(;jRR‘ß¼L#‚F”oá¤$ó[Ùî %›ÓîŽÄÂ)Xv®ŒtKW£øØJgÂRò¥óîÙÖÖÎû¯ (,â %]Š’(Sn-’HB™UÁÝ1²½Á’Â//R^×J¶«ƒš¨ûÝD÷Ûù¢ŸrÕ¾¹Hs׸Å-Ì5:£rµ­÷Ž÷h2¸B¨¡$+ Î&ãô…úÇûEÌð{ˆS÷ºŠ¿zG® p&+O&¦¿âUê0¹PàlésþÙ~æ™VÓÔ)Å€-eL“ßqþÈÂ3úŒÃ³SÏÍwƸ¥ÚÚ\ÞÑ·«ciStþÒä$¼Œ³kW[Ë>¨hÂ1ÙÔrÜÃ,¯›Xì‹«øwÁåÓ1. æÈãIBù@tDiËÂX´jBúóôˆ*pŽ#$ñ¬·ÚÂ~ñé6ÌžfAº½i¹ =.ëËtx¤ÎwµóÒ=À•~ƒ‚¼£,©i—fVéBµÀ ÷EZOb‰7ƒ²ia‡R,‰FR¡Û³x’K< ”íþ­¯dJsOB°µ4ã<…)EAVŒè+ þ“Ö”Bœ~>íË+®ÞØ•ÒòV×ð^TÛ æò­ :•¥\cj%[Ò£’‡ª)>“«KëÔ¨;5,pu2MHß°•ßÿ8W‡”2mx-;Rã.Ô»%øÊ±·|8eNy!+ÞÊ+_ â 3¤û½°œÅc¥nutƒí„kÚKÑi&*8¥AufS{”§1Ú`É®Wº—3MK$ipmrbbn|ÌÌ¢s$ˆæ¨õÂ^;\“mäØ ‘.‹eâR£ÍS ’ P6¯­ ¦×äˆâàø§²9µmA€â–¯¿Í %½˜îØIË3ÑHuôFålY]ét<â7K‚¡ºúúrå($ëh™6Î]áôoDg˜¸Dq¶qTëm6¦¦8ò^VÑ‘ß ÓIm¤­MÓŸIVE}v_ŠS˜½‰ÙwsCi\9NCÉÿ–)€“´¹¸Ù°èä9¡]†DˆY+JZ Q²AµÉµíÝ[M|Ú<‘ Ÿ£È9>Ôò›_„4n•‡/®¢ö:˜z¨›)–ÊJvØEX270Ëj°C†Ã˜Eµ|“ÕD$øtÚùÝ wÄ¥º)˜t‡Qºâ % B‰$ àÅ)X±º1‚xª(Á 9ƒ)é$Av.A½/ãk‘ÕÞmã öA ¢4¿ds\èÂF­Õ­+š:Í‹iê dBvº4’°¡e'""bI°"#ÞkeÕ Úˆ‘HÊ ó[d¬^2±)FäDò/™P üZ¸«éµl¼ñåù‰šô½MÉç Ûs¨pí:  °«çŸX=Ñë> ÃW(´çfÄÛ²«˜‡TÒJ»íx¼*$sΛ{ ðÊææ°ý>b}NK¡O-e‹åº$ø¤‘šAìÄ9.“Å#mÉ$ôtz#²k™uÕ%ÙRÒ@ñUµ{ù£bÌxæ½]{Oªi÷ØrVaim¤¬ 6 Fýñ¸ðRàÄ"J¡T–\¶V¦S÷@•¤Y*8f‹R|LNÓ™uÝë±é­µÐkÌ!ô¼²$Kr¬¥2è !6áÝìÑÍ5¡5ž£€(«ûå"A]rè>¨y+J¦2Ðmšt£h%,¤D"š˜%RsàŸ‹—F°öFa3M•¥·ck,`\6Ô„ÿ—ý؃MQ©³rË—˜’aÆ\NÊÐS’‡L8hXÄÁ¹š* àרÿõùq~e¬zàªà·+Z c©÷=è²Ti,ÎÎÊN—^Cò¤–ÂVB þPß•6ÓM•>Ke$&ÄØöné‡R&âRÜà—¨ßàu$ôL¹ïCgxÀ«7ø9äõL+Û¦êR.Ì&]Ž5|””NDïê=ÐèàÂfnð-‚’Ó‰ê{úCG8ÁgO„‡SãÝQV„Ô5Î6 a2GøÁÈËÂji¿ù¨÷!¡àC íݪM'õÑîÆ•[§552—8”«$ç¯YõD[”f¶O'ZrÞ*’£‘ç…•[iaãJþJþà–ƒI©åL=>²‚‰¶Ðâ3ßb5‹«2K0–eÞa¶P„°R9€Z0°¦¹¸ÉWȃ¾ñÕt0‚¢ÉižÝ1/ÚÉ÷¡=úL·îïÁXj®šÜÛ³rë§))ðvR‹-Þ1'~ÿé¼Ó-%çIram¶ÙU³ÎçÑ 'b‰­3¶ü&_÷ß„T™ßŸ—?RGóAÜ•gd–çŸJ÷«<(……¶7ôtã©G.R&FõûbâiRjüš<ì„×F’ù–üìƒÜÇ€>ž\•4czrU´). ê@Yäõ‚}'ÕE‘ù†ÐUPéçóf¼˜uÔG†.D¹DÙ½+ãSõk?ËìÖŠu[¿º_²&W@¦þŠÏ“ +ÓOæŒù?Ö|}ƒ"^ˆ¿²ú¿*ïîÌs첊t}BüâÑ$pÝ7|£>Oõ‚5M?š2>‰öÆÏ‰²eè‹~¿B|(.e-;+iC˜‹ç JÔ0óñŒÍ°•Zß|OTK/M½¼¡Ø`¿b”Óù³~lè›*cSZ¥'Y?HBJ¨ÓU¤Óg¨ÃÓ…)€þ Žó8N›ó#¼À͈rä0ðÉ1š_I„]2ïml<¤…r‚7Ä‹˜>š±n'¹Fý…È$’„žƒàšðG±$ËOS10«ÙN(ŽïT<*O<àù@9K€Þ”J¶ÃŽ× åä6ŸyŸ²ÒMÊÁÕRn$Y&ýqg–¡²ÂF`tÂÉ—m£÷¤u‘xGaâ™PðI­RÉPê‚ñ3 å2´ùâîVŠ@꛲Àß?0…°J`Jô)$óðE«2Eú ¢ÊìÞzÓ Õ!ŸÞÐ{ãjkNx:`@Ždt éÖTŒ|q0 A@ 5‚Ð A1Á ¦ :­&žZºà@Œö2Ø   1‚`!ŒÂž\pÀP§”`n0 Fac»û @‚ha-ý A©‚žTŒ‚+Ct‚žH €jžQ‡Afr{a3º"³ÿÙKCemu-0.5.1/doc/kcemu-help.xml.in0000644000175000017500000013255412417262523016711 0ustar glaubitzglaubitz

KCemu @VERSION@ (c) 1997-2010 Torsten Paul <Torsten.Paul@gmx.de>

Inhaltsverzeichnis 1. Allgemeines zum Emulator 1.1. Über KCemu 1.2. Lizenz 1.3. Kommandozeilenparameter 1.4. Tastenbedienung 2. Emulierte Systeme 2.1. KC85/1, KC87 2.2. KC85/2-4 2.3. KC85/5 2.4. Z1013 2.5. LC 80 2.6. Polycomputer 880 2.7. BIC / A5105 2.8. Kramer-Microcomputer 2.9. PC/M / Mugler-PC 2.10. VCS 80 2.11. C-80 3. Funktionen 3.1. Profile 3.2. Kassettenverwaltung 3.3. Diskettenverwaltung 3.4. Modulverwaltung 3.5. Abspielen von Sound-Dateien 3.6. Speichern von Memory-Bereichen 3.7. Vinculum USB 3.8. Plotter 3.9. Screenshot 3.10. Video 3.11. Farbeinstellung 3.12. Tastatur

1.1. Über KCemu KCemu begann als Emulator für die KC85 Heimcomputer Serie des VEB Mikroelektronik Mühlhausen. Inzwischen ist eine ganze Reihe weiterer Systeme hinzugekommen. Zur Zeit können die folgenden System emuliert werden: - KC85/1, KC87 - KC85/2-4 - KC85/5 - Z1013 - LC 80 - Polycomputer 880 - BIC / A5105 - Kramer-Micro-Computer - PC/M / Mugler-PC - VCS 80 - C-80

1.2. Lizenz KCemu @VERSION@, Copyright (c) 1997-2010 Torsten Paul. Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2 der Lizenz oder (wenn Sie es wünschen) jeder späteren Version. Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE JEDE GEWÄHRLEISTUNG - sogar ohne die implizite Gewährleistung der MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License. Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

1.3. Kommandozeilenparameter Es stehen die folgenden Kommandozeilenparameter zur Verfügung: -0 Starten mit Z1013 Profil -1 Starten mit Z9001 / KC 85/1 Profil -2 Starten mit KC 85/2 Profil -3 Starten mit KC 85/3 Profil -4 Starten mit KC 85/4 Profil -5 Starten mit KC 85/5 Profil -6 Starten mit Poly-880 Profil -7 Starten mit KC 87 Profil -8 Starten mit LC 80 Profil -9 Starten mit BIC/A5105 Profil -a --autostart Automatischer Start des angegebenen Programms (KC 85/3 - /5) -A --address Startadresse für das automatisch zu startende Programm -d --datadir: Setzen des Daten-Verzeichnisses (für ROM-Images) -E --effects Anzeige mit Screen-Effekten bei vergrößerter Darstellung -f --floppy Aktivieren eines Disketten-Images beim Start -F --fullscreen Start im Vollbild-Modus (wenn durch GUI unterstützt) -h --help diese Hilfe anzeigen -H --home Überschreiben der Einstellung für das Homeverzeichnis -l --localedir Setzen des Locale-Verzeichnisses für die Sprachanpassung -L --license Anzeige der Lizenz -M --modules Modul(e) für die ersten Steckplätze definieren -MM022,M011,.. Einstellungen der Konfigurationsdatei werden überschrieben -M+M022,M011,.. zusätzliche Module zu denen aus der Konfigurationsdatei -o --debug-output: Debug-Ausgabe in Datei umleiten -p --profile: Start mit dem angegebenen Profil -P --select-profile: Start mit Fenster zur Profil-Auswahl -s --scale Vergrößerung der Anzeige (erlaubt sind die Werte 1, 2 und 3) -t --tape Aktivieren eines Tape-Archives beim Start -v --version Anzeige der KCemu Version und Konfiguration -V --viewlist Ausführliche Liste der emulierten Typen -W --warranty Anzeige des Haftungsausschlusses

1.4. Tastenbedienung Der Emulator kann über die folgenden Tastenkombinationen gesteuert werden: ALT + 1 Zoom x 1 ALT + 2 Zoom x 2 ALT + 3 Zoom x 3 ALT + A Menü "Ansicht" (nur deutsche Version) ALT + C Konfiguration der Farbeinstellung ALT + D Diskette... ALT + E Menü "Emulator" ALT + G Maximale Geschwindigkeit ein/aus ALT + H Menü "Hilfe" ALT + I Information über CPU / PIO / CTC ALT + K Tastatur ALT + L Laden... ALT + M Module... ALT + O Menü "Optionen" ALT + P Einschalten (Power On) ALT + Q (ALT-F4) Emulator beenden ALT + R Reset ALT + T Kassette (Tape) ALT + U Audio... ALT + V Menü "View" (nur englische Version)

2. Emulierte Systeme Im Folgenden werden die emulierbaren Systeme vorgestellt. Dabei gibt es bei einigen Systemen verschiedene Varianten die sich z.B. durch Speicherausbau oder Systemprogramme unterscheiden. Die fett dargestellten Namen können als Parameter für den Kommandozeilenschalter -e benutzt werden, um die Emulation der aufgelisteten System-Variante zu starten. Alternativ kann dieser Name in der Konfigurationsdatei für die Eigenschaft "Default KC Model" eingetragen werden. Wird keine oder eine ungültige Angabe gemacht, wird ein KC85/4 emuliert.

2.1. KC85/1, KC87 Die Heimcomputer KC85/1 (früherer Name Z9001) und KC87 wurden vom VEB Robotron-Meßelektronik "Otto Schön" Dresden hergestellt. Foto: KC87 Die folgenden Varianten können emuliert werden: * kc85/1 (z9001, z9001.10) Z9001 mit Schwarz/Weiß Anzeige und 16k RAM, ohne internes BASIC. * z9001.11 Wie Z9001.10 aber mit Farberweiterung. * kc87.10 Wie KC87.11 aber ohne Farberweiterung. * kc87.11 (kc87) Nachfolger des Z9001 mit eingebautem 10k BASIC ROM und standardmäßig eingebauter Farberweiterung. * kc87.20 Wie KC87.20, aber ohne Farberweiterung. * kc87.21 Neue Serie des KC87, das BASIC wurde um einige Befehle z.B. zur Ansteuerung von Plottern erweitert.

2.2. KC85/2-4 Die Heimcomputer KC85/2 (früherer Name HC-900), KC85/3 und KC85/4 wurden vom VEB Mikroelektronik Mühlhausen hergestellt. Foto: KC85/4 Parameter für die Emulation: * kc85/2 (hc900, hc-900) KC85/2 mit 16k RAM und 8k System ROM mit HC-CAOS 2.2. BASIC muß als zusätzlicher Modul gesteckt werden. * kc85/3 KC85/3 mit 16k RAM, 8k System ROM mit HC-CAOS 3.1 und bereits eingebautem 8k BASIC ROM. * kc85/4 KC85/4 mit 64k RAM, auf 64k erweitertem Bildschirmspeicher, 12k System ROM mit HC-CAOS 4.2 und 8k BASIC ROM. Zusätzlich zum Grundgerät werden einige Erweiterungen unterstützt. So wird das Floppy-System (D004) emuliert, wodurch es unter anderem möglich ist, verschiedene für den KC85/4 verfügbare CP/M Systeme zu nutzen. Darunter sowohl das dem D004 beiliegende, speziell für den KC85 angepaßte MicroDOS als auch das auf dem weit verbreiteten ZDDOS/ZSDOS basierende ML-DOS. Die GIDE Schnittstelle zum Anschluß einer IDE-Festplatte oder CF-Karte wird soweit emuliert, daß der Zugriff mit ML-DOS möglich ist. Aktiviert werden kann die GIDE Schnittstelle zur Zeit nur in der Konfigurationsdatei (per Parameter Hard Disk 0 für die erste Festplatte im Format einer Seagate ST-157A mit 42MB, C/H/S = 560/6/26 und Parameter Hard Disk 1 für eine zweite Festplatte im Dateiformat des MyZ80 CP/M-Emulators mit 8MB, C/H/S = 128/1/32).

2.3. KC85/5 Den KC85/5 hat es offiziell nie gegeben. Dies ist ein umgebauter KC85/4 bei dem sowohl der RAM auf 256k als auch der ROM auf 48k (16k System ROM, 8k BASIC ROM and 24k User ROM) erweitert wurde. Zusätzlich kommt ein verbessertes System-Programm zum Einsatz (HC-CAOS 4.4) welches den nun verfügbaren Speicher verwalten kann und auch sonst einige nützliche Dinge mitbringt. Typischerweise kommt ein derartig aufgerüstetes Basis-System nicht allein zum Einsatz sondern in Verbindung mit einem Floppy-System in dem sogar in einigen Fällen eine Schnittstelle für IDE-Festplatten eingebaut wurde. Foto: KC85/5 mit Bustreiber (D002) und Floppy-System (D004) Parameter für die Emulation: * kc85/5 KC85/5 mit 256k RAM, 16k System ROM mit HC-CAOS 4.4, 8k BASIC ROM und 24k User-ROM. Der User-ROM enthält die Programmpakete KC-Debugger (Testmonitor und Reassembler), EDAS 1.6 und KC-Forth. Für den KC85/5 wird auch die Emulation des Floppy-Systems (D004) verändert indem als System-ROM der Floppy die Version 3.1 zum Einsatz kommt (im Gegensatz zur Originalen Version die die Nummer 2.0 trägt). In dieser Kombination (HC-CAOS 4.4 und D004 3.1) ist es möglich das System direkt von Diskette oder Festplatte zu starten.

2.4. Z1013 Der Z1013 ist ein Bausatz der vom VEB Robotron Riesa produziert wurde. Geliefert wurde eine bestückte Grundplatine und eine Folienflachtastatur die selbst angelötet werden mußte. Ein Trafo für Spannungsversorgung mußte auch erst beschafft werden bevor es losgehen konnte. Foto: Z1013 ohne die berüchtigte Folienflachtastatur Vom Z1013 gab es bereits ab Werk eine ganze Reihe von Versionen mit unterschiedlichen Systemparametern. Durch die Bastelfreude der Besitzer sind dazu noch viele Erweiterungen und System-Programme dazugekommen. Parameter für die Emulation (die MHz Angaben entsprechen denen der realen Systeme, die Emulation beachtet diese noch nicht korrekt): * z1013.01 Z1013 mit 16k RAM und 2k ROM mit System 2.02. Die CPU läuft mit 1MHz. * z1013.12 Z1013 mit 1k sRAM und 2k ROM mit System 2.02. Die CPU läuft mit 2MHz. (Diese Version war wohl als Steuermodul für die Industrie gedacht.) * z1013.16 Z1013 mit 16k RAM und 2k ROM mit System 2.02. Die CPU läuft mit 2MHz. * z1013.64 (z1013) Z1013 mit 64k RAM und 2x2k ROM. Die CPU läuft mit 2MHz. Der System ROM enthält sowohl das System 2.02 als auch Version A.2. Genutzt wird System 2.02. * z1013.a2 Identisch mit dem z1013.64, es wird jedoch das System A.2 geladen die eine erweiterte Tastatur mit 8x8 Matrix unterstützt. * z1013.rb Z1013 mit 64k RAM und 4k ROM. Das System ist erweitert und nennt sich 2.028 RB. Unterstützt wird eine angeschlossene K7659 Tastatur. * z1013.surl Z1013 mit 64k RAM und 4k ROM. Der ROM enthält den "Super Ur-Lader 5.0" der beliebige Dateien von Kassette als System-Monitor laden kann. Es wird eine Hardware-Modifikation (Port 04h) unterstützt die es dem Urlader erlaubt den System-ROM komplett abzuschalten, so daß der komplette Adressraum aus RAM besteht. * z1013.bl4 Z1013 mit 64k RAM und 4k ROM. Der ROM enthält den Bootlader BL4 der System-Monitore von Diskette laden oder ein an den Z1013 angepaßtes CP/M System starten kann.

2.5. LC80 VEB Mikroelektronik Erfurt Foto: Ein betriebsbereiter LC80 Vom LC80 existieren 2 Varianten mit unterschiedlicher ROM-Bestückung. Die Eine besitzt 2 1k-ROMs (U505) an den Adressen 0000h und 0800h. Die Andere ist mit einem 2k-EPROM (U2716) bestückt, wodurch der Monitor in einem zusammenhängenden Speicherbereich von 0000h - 07ffh liegt. Das Monitorprogramm unterscheidet sich dabei lediglich um einige an die unterschiedlichen Adressbereiche angepasste Sprungbefehle. Ein funktionaler Unterschied besteht nicht. Parameter für die Emulation: * lc80, lc80.1k LC80 mit 1k RAM und 2 x 1k ROM (0000h-03ffh, 0800h-0bffh). * lc80.2k LC80 mit 1k RAM und 1 x 2k ROM (0000h-07ffh).

2.6. Polycomputer 880 VEB Polytechnik Karl-Marx-Stadt Foto: Ein Poly880 in seinem Koffer Parameter für die Emulation: * poly880 Poly 880 mit 2 x 1k ROM (0000h-03ffh, 1000h-13ffh), optional können zusätzliche ROM-Dateien an die 2 freien ROM-Plätze geladen werden (poly880c.rom: 2000h-23ffh, poly880d.rom: 3000h-33ffh). * poly880.sc1 Poly 880 mit modifiziertem SC1-ROM. Im Adressbereich 0000h-0fffh befindet sich ein 4k großer, an die Hardware des Poly 880 angepasster ROM des Schachcomputers SC1.

2.7. BIC / A5105 VEB Robotron-Meßelektronik "Otto Schön" Dresden Foto: A5105 Komplettsystem

2.8. Kramer-Microcomputer Dieser Computer wurde im Buch "Praktische Microcomputertechnik" von M. Kramer vorgestellt und war als erweiterbares System konzipiert.

2.9. PC/M / Mugler-PC Der PC/M wurde als CP/M-fähiger Selbstbaucomputer in einer Artikelreihe der Zeitschrift "Funkamateur" von A. Mugler und H. Mathes vorgestellt.

2.10. VCS 80 Für Lern- und Testzwecke entwickeltes minimales Mikrorechnersystem. Industielle Vorbilder sind der LC80 und der Polycomputer 880. Ziel waren vor allem minimale Bauelementekosten um den Nachbau für den Amateur zu ermöglichen. Vorgestellt wurde der VCS80 von Eckhard Schiller in der Zeitschrift "radio fernsehen elektronik" (rfe) Ausgabe 3/1983.

2.11. C-80 Von Dipl.-Ing. Joachim Czepa entwickelter Einplatinencomputer mit 8-stelliger 7-Segmentanzeige und Schnittstelle für Kassettenrecorder. Vorgestellt wurde das System in der "Schaltungssammlung für den Amateur, 4. Lieferung 1986", Blatt 6-13 bis 6-18.

3.1. Profile System Im "System"-Tab wird angegeben wie das Profil heißt und welches System emuliert werden soll. Zusätzlich kann ein Kommentar eingegeben werden, der das System kurz beschreibt. Dieser Kommentar wird auch angezeigt, wenn der Emulator mit dem Profilauswahl-Fenster gestartet wird. Anzeige Der Tab mit den Eigenschaften für die Bildschirmdarstellung erlaubt es die folgenden Einstellungen vorzunehmen: Skalierung Anzeigeskalierung des Hauptfensters. Bei einem Wert von 1 entspricht ein Pixel auf dem Bildschirm des emulierten Systems auch genau einem Pixel im emulierten System. Es ist möglich die Darstellung auf das doppelte oder das dreifache zu vergrößern. Effekte Das Einschalten der Effekte hat nur bei einer Einstellung der Skalierung von >1 Auswirkungen. Bei der Skalierung auf doppelte Größe wird dann ein sogenannter Scanline-Effekt erzeugt, bei dem jede 2. Bildschirmzeile etwas abgedunkelt wird. Wird die Skalierung auf dreifache Größe eingestellt, erfolgt eine Filterung des Bildes die eine etwas unscharfe Darstellung zur Folge hat. IRM Zugriff Wird diese Option eingeschaltet, werden bei der Emulation eines KC 85/2 bzw. KC 85/3 die Darstellungsfehler durch den Zugriff auf den Bildwiederholspeicher (IRM) simuliert. Debug Diese Option dient lediglich der Fehlersuche und hat bei einer Skalierungseinstellung von 1 zur Folge, dass der für die Anzeige benutzte Caching-Algorithmus sichtbar gemacht wird. Das erfolgt dadurch, dass veränderte Bildschirmbereiche für kurze Zeit heller dargestellt werden als normal. Diese Option sollte deshalb im Normalfall ausgeschaltet bleiben. Module Im Tab "Module" können die Module angegeben werden, die beim Start des Emulators mit dem jeweiligen Profil automatisch geladen werden sollen. Medien KC85 Dieser Tab enthält spezielle Einstellungen für die Emulation der KC85 Serie aus Mühlhausen (KC85/2-5). D004 Einschalten dieser Option aktiviert die Emulation des D004 Floppy Basis Devices. Dieses ist notwendig für die Nutzung von Disketten oder Festplatten (über GIDE) am KC85. Außerdem enthält das D004 die Hardware um CP/M Systeme auf dem KC laufen lassen zu können. F8 ROM Der im D004 eingebaute System-ROM liegt normalerweise im Modul-Schacht FC. Eine kleine Modifikation der D004 Hauptplatine ermöglicht den Einsatz eines erweiterten ROMs. Dadurch können 2 unterschiedliche Versionen der D004 Software genutzt werden. Wird diese Option eingeschaltet, wird der Zugriff auf den zweiten System-ROM freigeschaltet. Bustreiber Diese Option gibt an, wie viele D002 Bustreiber emuliert werden sollen. Maximalwert für den Emulator sind 4 Geräte.

3.2. Kassettenverwaltung Zur Nachbildung eines Kassettenlaufwerkes werden spezielle Archiv-Dateien benutzt. Diese können ein oder mehrere Programme enthalten. Angezeigt werden der Name im Archiv (der nicht mit dem Dateinamen übereinstimmen muß den der KC verwendet) sowie einige Eigenschaften der Dateien: Das Öffnen und Schließen von Archivdateien erfolgt mit den beiten Knöpfen rechts oben. Ist keine Datei geöffnet, sind alle Knöpfe außer dem Öffnen-Knopf inaktiv. Das Anlegen von neuen, leeren Archivdateien geschieht auch über den Öffnen-Knopf und der Angabe einer Datei, die noch nicht existiert. Wird die Nachfrage ob die nicht existierende Datei angelegt werden soll mit Ja beantwortet, wird ein neues leeres Archiv angelegt. Um dem Archiv neue Dateien hinzuzufügen, muß der Menüpunkt Datei Hinzufügen im Kontextmenü gewählt werden. Das Laden von Dateien kann auf 2 Arten erfolgen: 1.) Mit Doppelclick auf die Datei oder über die Menüpunkte Datei Ausführen bzw. Datei Laden wobei ein Doppelclick dem Menüpunkt Datei Ausführen entspricht. Bei Datei Laden wird der Inhalt der Datei einfach in den Speicher des Systems kopiert. Da dies sozusagen ohne Wissen des emulierten Systems geschieht, funktioniert diese Vorgehensweise nicht in allen Fällen ohne Probleme. Bei Dateien vom Typ COM, also direkt ausführbaren Programmen treten normalerweise keine Probleme auf. Bei BASIC Dateien funktioniert das leider nicht so ohne weiteres. Man kann sich behelfen, indem man den BASIC-Interpreter mit BYE verläßt, die Datei in den Speicher lädt und danach mit REBASIC (oder auch WBASIC, je nach System) zum BASIC zurückkehrt. Bei Datei Ausführen wird wie der Name schon andeutet versucht die Datei nicht nur in den Speicher zu laden sondern auch gleich zu Starten. Das funktioniert nur für Dateien vom Typ COM. 2.) Laden per Kassetten-Emulation. Dazu muß wie beim realen KC vorgegangen werden: - Datei im Kassetten-Fenster selektieren - Im emulierten System LOAD (oder CLOAD o.ä.) eingeben - Mit Play das Abspielen der Datei starten - Im emulierten System evtl. mit ENTER bestätigen - Warten - Bei größeren Programmen noch länger Warten - Evtl. Programm starten (z.B. per RUN bei BASIC Programmen) Das Laden dauert im Normalfall genau so lange wie das Laden von Kassette beim echten System. Es ist jedoch möglich dies etwas zu beschleunigen. Dazu kann im Menü Konfiguration der Punkt Maximale Geschwindigkeit ausgewählt werden. Dann wird die Emulation nicht mehr auf die Geschwindigkeit des Original-Systems gebremst und läuft je nach PC auf dem der Emulator läuft um ein vielfaches schneller als das Original. Achtung: Nicht vergessen die Geschwindigkeits-Bremse wieder einzuschalten, sonst sind die Monster in einigen Spielen ziemlich schnell ;-).

3.3. Diskettenverwaltung Die Diskettenverwaltung bietet die Möglichkeit bis zu 4 Diskettenlaufwerke mit virtuellen Disketten zu bestücken. Die Daten können dabei in unterschiedlicher Form vorliegen: 1. Disketten-Dump Dieses Format stammt vom Programm Anadisk der Firma Sydex. Die Datei enhält einfach 1:1 die Daten der Diskette mit ein paar Zusatzinformationen zu Sektor-Nummern und Blockgrößen. Da die Daten unkomprimiert vorliegen sind die Dateien (bei gleicher Formattierung der Original-Diskette) immer gleich groß. Für eine 2-seitige KC-Diskette mit 80 Spuren mit je 5 Sektoren zu 1024 Byte ist die Dump-Datei genau 825600 Bytes groß. Werden Disketten auf Basis einer solchen Datei emuliert, sind diese im Emulator auch schreibbar. 2. Teledisk-Image Das Teledisk Format stammt vom gleichnamigen Programm welches auch von der Firma Sydex stammt. Es ist zur Archivierung von Disketten gedacht und unterstützt 2 Komprimierungsverfahren. Es sollte möglich sein alle mit Teledisk erzeugten Images im Emulator zu nutzen, aufgrund des nicht offen gelegten Formates kann es jedoch bei einigen Dateien zu Problemen kommen. Das Schreiben auf Disketten die auf einem Teledisk-Image basieren ist derzeit nicht möglich. 3. Dateien in einem Verzeichnis Es ist möglich eine Auswahl an Dateien in ein Verzeichnis zu kopieren und dieses dann dem Emulator als Diskette zu übergeben. Dazu muß im Öffnen-Dialog in das entsprechende Verzeichnis gewechselt werden und es darf kein Dateiname im Öffnen-Dialog angegeben sein. Nach der Auswahl des Verzeichnisses wird eine virtuelle Diskette mit den vorhandenen Dateien erstellt. Liegen in diesem Verzeichnis mehr Dateien als auf die Diskette passen, werden einige Dateien ignoriert. Das Format der virtuellen Diskette entspricht dem KC-Format mit 2 Seiten, 80 Spuren mit 5 Sektoren zu 1024 Byte. Das Inhaltsverzeichnis wird so angelegt, daß 2 Spuren als Systemspuren zu reservieren sind. Wird im Verzeichnis eine spezielle Datei mit dem Namen @boot.sys gefunden, wird der Inhalt der Datei in die Systemspuren übernommen. Diese Datei ist im Normalfall 20480 Byte groß. Beschreiben einer solchen virtuellen Diskette ist nur eingeschränkt möglich. Es werden lediglich Schreibzugriffe auf die Systemspur in die Datei @boot.sys umgelenkt soweit diese vorhanden ist.

3.4. Modulverwaltung Je nach emuliertem System steht eine Auswahl an Modulen bereit die das System um die verschiedensten Funktionen erweitern. - Module für den KC85/1, KC87 - Module für den KC85/2 - KC85/5 - Module für den Z1013 Module für den KC85/1, KC87 RAM-Module - 16k RAM (ab Adresse 4000h) - 16k RAM (ab Adresse 8000h) Software-Module - ZM30 - EDAS - IDAS / ZM - BITEX sonstige Module - 192k RAM/EPROM Modul Ein von Lutz Elßner entwickelter und im "Funkamateur" vorgestellter Modul mit 32k RAM und 160k ROM. - KC-Pascal Modul Der Pascal Modul ist im Gegensatz zu den "normalen" ROM-Modulen nicht 10k sondern 32k groß und belegt den Adressraum zwischen 4000h und bfffh. Dadurch kann er nicht zusammen mit zusätzlichen RAM-Modulen betrieben werden. - Mega-ROM Modul Entworfen von Alexander Schön besitzt der Modul 2,5MB ROM und enthält durch die in der Modul-Verwaltungssoftware eingebaute Komprimierungsfunktion in der vorliegenden Version 3.5MB an Daten in 311 Dateien! Mit dabei u.a. auch ein an den Modul angepaßtes Mini-CP/M welches auf 2 im ROM befindliche ROM-Floppies zugreifen kann. - 128k ROM Bank Dieser Modul von Ulrich Zander enthält eine Auswahl an nützlichen Programmen, erfordert aber ein leicht verändertes System-ROM und ist zur Zeit nicht ohne weiteres im Emulator nutzbar. - Plotter XY4131 Nur unter Linux verfügbar ist dieser Modul der keinem realen Modul entspricht sondern einen am I/O Port des KC87 angeschlossenen Kleinplotter XY4131 nachbildet. Alle an den Plotter übertragenen Befehle werden umgewandelt und in eine PostScript Datei geschrieben. - CPM-Z9 BOOT, CPM-Z9 64k RAM und CPM-Z9 Floppy Diese 3 Module sind nur sinnvoll in der Kombination aller drei Module nutzbar und stellen eine CP/M-fähige Erweiterung des KC87 dar die durch das "Zentralinstitut für Kernforschung" in Rossendorf etwickelt wurde. Nach Auswahl aller drei Module wird nach einem Reset des KC87 nicht mehr der übliche Prompt angezeigt. Jetzt meldet sich der KC87 mit CP/M-System. Nach dem Einlegen der CPM-Z9 System-Diskette kann durch Eingabe von BOOT und betätigen mit der ENTER-Taste das CP/M System von Diskette geladen und gestartet. Über die Auswahlbox "IRM Color Expansion" kann eingestellt werden, ob das emulierte System über die im Gerät eingebaute Farberweiterung verfügen soll oder nicht. Module für den KC85/2 - KC85/5 RAM-Module - M022: Expander RAM (16k) - M011: 64k RAM - M036: 128k Segmented RAM - M032: 256k Segmented RAM - M034: 512k Segmented RAM - M035: 1M Segmented RAM Software-Module - M012: Texor - M026: Forth - M027: Development - M900: WordPro '86 (KC85/3) - M901: WordPro '86 (KC85/4) sonstige Module - M001: Digital In/Out Die eigentliche Funktion des Moduls als Ein-/Ausgabe Schnittstelle ist zwar nicht nutzbar, es werden aber die im Modul enthaltenen Schnittstellenschaltkreise PIO (U855D) und CTC (U857D) emuliert. So kann z.B. der CTC als Zähler genutzt werden. - M006: BASIC Dieser Modul steht nur im KC85/2 und KC85/3 Modus zur Verfügung, da er nur für diese Systeme einsetzbar ist. Sinnvoll ist er eigentlich nur für den KC85/2, da dieser kein eingebautes BASIC besitzt. Eine Besonderheit dieses Modules ist, daß er nicht nur das BASIC selbst enthält, sondern auch ein komplettes System (HC9001-CAOS, es gibt auch Module die sich mit HC-CAOS 2.2 melden). Deshalb kann der Modul nicht einfach per SWITCH eingeschaltet werden, sondern muß mit JUMP initialisiert werden (z.B. JUMP 8, wenn er im Schacht 8 steckt. - M008: Joystick Der Joystick-Modul enthält keine Modulsteuerung und ist daher auch ohne SWITCH Anweisung immer aktiv. In der Windows-Version des Emulators ist dieser Modul nicht nutzbar. - M035x4: 4MB RAM Dieser RAM-Module besteht logisch aus 4 x M035 Modulen, die alle 4 Moduladressen eines Modulschachtes belegen. Normalerweise wird nur jede 4. Moduladresse genutzt (8, C, 10, 14, 18, ...), steckt dieser Modul z.B. in Schacht 8, existieren auf den Moduladressen 8, 9, A und B jeweils ein M035 Modul mit 1MB. Achtung: Bei Verwendung des originalen Floppy-Systems mit D004 ROM Version 2.0 (läßt sich im MENU per "J FC FF" anzeigen) tritt bei Nutzung des 4MB-Modules in Verbindung mit MicroDOS ein Überlauf bei der Berechnung des verfügbaren Speichers auf. Dadurch ist für MicroDOS trotz des des 4MB Moduls kein zusätzlicher Speicher sichtbar. Dies kann durch Verwendung von 3 einzelnen 1MB Modulen (M035) umgangen werden. Oder es wird die neue D004-ROM-Version der KC85/5 Emulation genutzt (Version 3.1) bei der dieser Fehler beseitigt wurde. Zusätzlich ist es möglich in der Konfigurationsdatei eigene ROM-Module zu definieren. Module für den Z1013 sonstige Module - 256k RAM-Floppy Es können maximal 2 RAM-Floppy Module genutzt werden. Intern wird der erste an Port 98h und der zweite an port 58h verwaltet. - FDC (Schneider) Floppy-Erweiterung (vom Computer Club Jena?) - GDC 82720 Erweiterte Bildschirmdarstellung mit 80-Zeichen pro Zeile - RTC (Port 20h-2fh), RTC (Port 70h-7fh) Echtzeituhr, es werden Datum und Uhrzeit des Systems übernommen auf dem der Emulator läuft. Die beiden Module unterscheiden sich nur durch die Portadresse unter der sie im Z1013 System angesprochen werden. Um das CP/M von der Diskette "z1013gdc.dump" zu starten, muß die Z1013 Variante mit den Bootlader BL4 gestartet werden. Dann sollten folgende Module ausgewählt sein: GDC 82720, FDC (Schneider), RTC (port 70h-7fh) und 2 mal 256k RAM-Floppy. Nach einem Reset muß sich der Bootlader mit der Auswahl Z1013: Z CP/M: C melden. Nach drücken der C Taste wird das CP/M von Diskette gestartet.

3.5. Abspielen von Sound-Dateien Diese Funktion ermöglicht es vorhandene Sound-Dateien abzuspielen die z.B. von Kassette aufgenommen wurden und nun im WAV (oder einem anderen unterstützten) Format vorliegen. Die Anzahl der unterstützten Formate hängt von den bei der Übersetzung des Emulators aktivierten Audio-Module ab. Beim Öffnen einer Datei wird von allen Modulen in einer vorgegebenen Reihenfolge versucht die Datei zu öffen. Ist das erfolgreich, dann wird der entsprechende Modul zum Lesen und Abspielen der Datei genutzt. Liste aller möglichen Module in der Reihenfolge in der sie beim Öffnen einer Datei aufgerufen werden: OSS - Lädt keine Datei sondern direkt von der Soundkarte. Dieser Modul ist nur unter Linux verfügbar und wird aktiviert indem im Dialog zum Öffnen der Datei die spezielle Gerätedatei "/dev/dsp" ausgewählt wird. ALSA - Analog zu OSS, es wird jedoch ein anderer Sound-Treiber benutzt. Als Dateiname muß "/dev/snd" angegeben werden. FLAC - Modul zum Lesen von verlustfrei komprimierten Sound-Dateien im FLAC-Format. SNDFILE - Dieser Modul nutzt die Bibliothek libsndfile (http://www.mega-nerd.com/libsndfile/) und kennt alle Formate die von dieser Bibliothek unterstützt werden. AUDIOFILE - Dieser Modul basiert auf der Bibliothek libaudiofile (http://www.68k.org/~michael/audiofile/) und unterstützt daher alle Formate dieser Bibliothek. WAV - Ein unabhängig von externen Bibliotheken und daher immer im Emulator verfügbarer Modul zum Lesen von WAV Dateien. Dieser Modul ist sehr einfach gehalten und kann nur eine begrenzte Anzahl von WAV-Dateien mindestens aber Mono-Dateien mit 8 oder 16 Bit Samples und beliebiger Sample-Frequenz. OggVorbis - Modul zum Lesen von komprimierten OGG Dateien. Da die Komprimierung Verlustbehaftet ist, kann es bei sehr stark Komprimierten Dateien zu Lesefehlern kommen, da nicht mehr das beim Aufnehmen vorhanden Signal generiert werden kann. MP3 - Modul zum Lesen von komprimierten MP3 Dateien mit der Bibliothek libmp3lame. Dieses Format komprimiert wie das OGG-Format verlustbehaftet, daher gelten die gleichen Einschränkungen bei starker Komprimierung. RAW - Dieser Modul behandelt alle übergebenen Dateien als wären sie unkomprimierte Sound-Dateien mit dem Format 44100kHz, 8bit, Mono.

3.6. Speichern von Memory-Bereichen Zusammenhängende Bereiche des Hauptspeichers können auf einfache Art und Weise als Datei gespeichert werden. Dabei ist zu beachten, dass immer der aktuell von der CPU sichtbare Speicher angezeigt bzw. in die Datei geschrieben wird. Der im Fenster angezeigte Speicherinhalt ist statisch auch wenn die Emulation weiterläuft. Über den Button "Aktualisieren" kann aber erneut der aktuelle Speicherinhalt geladen werden, ohne das Fenster zu verlassen. Die beiden Toggle-Buttons hinter den Adressangaben schalten das automatische Scrolling der Speicheranzeige zu den jeweils angegebenen Adressen ein bzw. aus.

3.7. Vinculum USB Emuliert wird die Schnittstelle zum VDIP1 Modul der Firma FTDI. Dieser bietet die Möglichkeit auf einfache Art und Weise USB Massenspeicher-Geräte (vorrangig USB-Sticks) am KC anzuschließen. Die auf dem Modul enthaltene Firmware übernimmt dabei die komplette Verwaltung des angeschlossenen USB-Sticks und bietet dem KC den Zugriff auf die gespeicherten Dateien bzw. erlaubt es Dateien auf dem USB-Stick abzulegen. Notwendig für die Nutzung der emulierten USB-Schnittstelle ist das aktivieren des "Vinculum USB" Moduls, der eine spezielle Form des Digital-I/O Moduls M001 nachbildet, basierend auf der Schaltung, die Mario Leubner auf den Web-Seiten des "KC85 Labors" vorgestellt hat. Dort finden sich auch weitere Hinweise und Programme für die Nutzung des Moduls (http://www.kc85.susowa.homeftp.net/). Der zusätzlich vorhandene ROM-Modul mit der CAOS Terminal-Software erlaubt einen einfachen Zugriff auf die Funktionen des Moduls. Verfügbar sind 3 Versionen der Terminal-Software: - Version 1.2 - Version 2.0 für CAOS 4.2 - Version 2.0 für CAOS 4.4 Version 1.2 unterstützt noch nicht die Funktionen zur Nutzung der Zeitstempel für Dateien. Version 2.0 existiert in 2 Varianten. Die speziell für CAOS 4.4 erweiterte Variante, erlaubt es bei einigen Kommandos den Dateinamen direkt anzugeben (also z.B. DIR B*.*, statt DIR <ENTER> mit nachfolgender Abfrage der Maske). Welche Dateien sichtbar sein sollen, kann über den Menüpunkt "Emulator / Vinculum USB" festgelegt werden. Die Auswahl eines Verzeichnisses wirkt wie das Stecken eines USB-Sticks mit den Daten unterhalb dieses Verzeichnisses.

3.8. Plotter Das Plotter-Fenster zeigt die Ausgabe eines emulierten Klein-Plotters XY4131. Dazu muss in der KC85/1 bzw. KC87 Emulation der Plotter-Modul ausgewählt und die entsprechende Treiber-Software (Plotter-BASIC und GRPLOT.COM) geladen sein. GRPLOT.COM befindet sich auf der zum Plotter mitgelieferten Programmkassette R0114. Außerdem werden 2 RAM-Module benötigt, da der Treiber GRPLOT.COM im Speicherbereich des 2. RAM-Modules (8000h-BFFFh) läuft. Das Plotter-Fenster mit den Ausgaben... ...dieses kleinen BASIC Programmes Über die Einstellungen auf der rechten Seite des Fensters können die Eigenschaften beim Plotten eingestellt werden. Stiftfarbe Bestimmt die Farbe mit der gezeichnet wird. Änderungen an dieser Einstellung wirken sich sofort aus. Papierfarbe Bestimmt die Hintergrundfarbe, also sozusagen die Farbe des Papiers auf dem gezeichnet. Diese Einstellung wird nur beim Löschen des Zeichenbereiches übernommen. Nullpunkt X und Nullpunkt Y Bestimmen die Position der Koordinate 0,0 des Zeichenbereiches in Bezug auf die obere linke Ecke des Papiers (in Millimeter). Damit kann der Zeichenbereich verschoben werden. Auch diese Einstellung wird erst beim Löschen des Zeichenbereiches übernommen. Linienbreite Dicke des Stiftes (in Millimeter) mit dem gezeichnet wird. Änderungen an dieser Einstellung wirken sich sofort aus. Zeichenbereich Anzeige des Zeichenbereiches. Es wird ein dünner grüner Rahmen um den möglichen Zeichenbereich (180 x 255 Millimeter) des Plotters angezeigt. (Achtung: Das Einschalten dieser Option verlangsamt die Bilddarstellung erheblich!) Stift anzeigen Anzeige der Stiftposition mit einem kleinen Fadenkreuz. (Achtung: Das Einschalten dieser Option verlangsamt die Bilddarstellung erheblich!) Refresh Definiert alle wieviel Millisekunden die Darstellung des Zeichenbereiches erfolgen soll. Umso höher dieser Wert, desto seltener wird der Zeichenbereich angezeigt was aber die benötigte Rechenleistung verringert. In PDF-Datei plotten Hier kann eine Datei angelegt werden, in die die folgenden Ausgaben auf dem Plotter geschrieben werden. Für die Ausgabe in eine PDF-Datei hat die Funktion "Zeichenbereich" löschen den zusätzlichen Effekt, dass eine neue Seite erzeugt wird. Dadurch können mehrere Zeichungen in eine PDF-Datei ausgegeben werden. Speichern Über den Button "Speichern" kann die aktuell angezeigte Zeichnung als PNG Datei gespeichert werden. Die PNG Datei hat dabei eine Auflösung von 2100 x 2970 Bildpunkten, was einer A4-Seite mit 10 Pixeln pro Millimeter entspricht. Der Kleinplotter XY 4131 Einige technische Daten des Plotters: Papierformat A4 Effektive Zeichenfläche 255mm x 180mm Raster 2550 x 1800 Schritte Minimale Schrittweite 0,1 mm Zeichengeschwindigkeit 100 mm/s Abmessungen 396 mm x 177 mm x 82 mm Masse 3 kg

3.9. Screenshot Screenshots der Bildschirmausgabe des emulierten Systems können in verschiedenen Formaten gespeichert werden. Die zur Verfügung stehenden Formate sind abhängig vom (Host-) System auf dem der Emulator läuft, aber normalerweise stehen die folgenden Formate zur Verfügung. - PNG - JPEG - TIFF - BMP Das Screenshot-Fenster Der aktuelle Bildschirminhalt wird beim Öffnen des Screenshot-Fensters und beim Drücken des Buttons "Screenshot" übernommen und angezeigt. Soll nur ein Ausschnitt des Bildschirminhaltes gespeichert werden, kann mit Hilfe der Eingabefelder "Links"/"Rechts"/"Oben"/"Unten" jeweils eine bestimmte Anzahl an Pixelzeilen abgeschnitten werden. Der ausgewählte Bereich wird dabei durch eine schwarz/weiß gestrichelte Linie dargestellt. Zum Speichern muss dann das gewünschte Format und der Dateiname ausgewählt werden. Durch Drücken des Buttons "Speichern" wird der angezeigte Bildschirminhalt bzw. -ausschnitt in der Datei abgespeichert.

3.10. Video Zusätzlich zur Ausgabe im Emulator-Fenster kann der Bildschirminhalt des emulierten Systems auch in eine Video-Datei geschrieben werden. Das Video-Fenster Möglich sind dabei die folgenden Video-Formate - Theora/Ogg Ein lizenzfreies Video-Format der Xiph.org Foundation. Dieses Format können aktuelle Versionen des Firefox Internet Browsers (ab Version 3.5) ohne zusätzliche Software abspielen. - AVI Das "Audio Video Interleave" Format ist ein weit verbreitetes, von Microsoft definiertes Container Format welches verschiedene Typen von Ton- und Video-Spuren erlaubt. KCemu nutzt als Videoformat "DivX MPEG-4 Version 5". - MPEG 4 Video-Format nach MPEG-Standard. - Dirac Lizenzfreies Video-Format entwickelt von der BBC Research Abteilung der BBC (British Broadcasting Corporation). Dirac ist die Referenz- Implementierung des Video-Formates. - Schroedinger Optimierte aber zum Teil noch experimentelle Implementierung des von der BBC entwickelten Dirac Video-Formates. - GIF (animiert) Das Grafikformat GIF erlaubt nicht nur die Speicherung von einem einzelnen Bild, sondern von mehreren Bildern in einer Datei. Durch eine Erweiterung, die ursprünglich von Web-Browsern eingeführt wurde, ist es möglich kleinere Videos im GIF Format zu speichern. Bei Einstellung von 50 Bildern pro Sekunde wird die erzeugte GIF Datei optimiert, indem doppelte Bilder nicht gespeichert werden. Bei Einstellung von weniger als 50 Bildern pro Sekunde ist diese Optimierung derzeit nicht möglich. - VNC Hier erfolgt die Ausgabe des Videos nicht in eine Datei, sondern der Emulator kann so die Rolle eines VNC Servers übernehmen. Das bedeutet, das die Bildschirmausgabe des emulierten Systems von einem anderen Rechner per VNC-Client angezeigt werden kann (Vergleichbar mit Remote-Desktop für Windows). Welche dieser Formate verfügbar sind, hängt von der Installation ab, normalerweise sollte mindestens "Theora/Ogg" verfügbar sein.

3.11. Farbeinstellung Zur Farbeinstellung können die Werte Helligkeit und Kontrast verändert werden. Bei einigen Systemen wie KC85/2 bis KC85/5 und BIC / A5105 können dabei Vordergrund und Hintergrundfarbe getrennt eingestellt werden. Bei allen anderen Systemen wirkt sich nur die Einstellung der Fordergrund- Farbe aus. Die Farbeinstellung

3.12. Tastatur Für einige der Systeme kann die Tastatureingabe zusätzlich über ein spezielles Fenster erfolgen. Im Fenster wird ein Abbild der zum System gehörenden Tastatur angezeigt. Durch Anklicken der gewünschten Taste mit der Maus wird das entsprechende Zeichen an das emulierte System übergeben. Dabei lassen sich auch Shift + Taste und CTRL + Taste eingeben, indem das Anklicken der Taste mit der rechten bzw. mittleren Maustaste erfolgt. Wird ein KC85/4 emuliert, ergibt sich folgendes Beispiel: Linke Maustaste + [M] : M Rechte Maustaste + [M] : m Mittlere Maustaste + [M] : CTRL+M (entspricht Enter Taste) Tastatur KC85/4 Der Screenshot der LC 80 Tastatur zeigt auch die für einige Tasten verfügbaren Kürzel auf der PC-Tastatur. Im Beispiel befindet sich der Mauszeiger des PCs gerade über der ADR Taste. In der Fusszeile des Fensters wird nun angezeigt, dass die Eingabe der ADR Taste auch über die F1 Taste der PC-Tastatur erreichen lässt. Tastatur LC 80 Tastatur Z9001, KC87 Tastatur Polycomputer 880

KCemu-0.5.1/doc/window-profile-1.png0000644000175000017500000021576412417262523017346 0ustar glaubitzglaubitz‰PNG  IHDR(jªJ…sRGB®Îé IDATxÚìÝuœTÕûÀñÏÚîd6X–\:„/Ò6*6¨ŠX`! `ýlTPQÄ–”]¶;¦îïÙvØY¶—ž·¯ûrçÖœsærç@>öU`ü=c¤´„B!„ êݹðóœG• Ê𱯪öÀ$%«HJK!„BáRfnf‹µVÇê´‚ü<öu`ÞG;‚EUUGpr<£PJ[!„BqÆà$+¯ë~¯Õñm»$Ð×ˤ¤ç²êùyÎ£Š®üήƣ!„B!@V^19$oøƒÃ¯!1: FÇï>šÍï?/¤u×Kôõ¨°2øÖ§Ô›îGQ©ÉåIî¿4†·—rz ¸\gW~›B!„âüp2«€uÿ,¥ßà+ ô®Õ9¶îK!yÃtïw)aåΑ’‘ÏËçãhA9Sã‰}Û„ËlÈ쟹\g}ÿ¥1Ž×B!Dc2MìÚ{¬œ\Ìf ~>ÞôèÒžå¯`ðŽ(5ùgõFt:-ý{wGQ¤Ü„¢:ì÷Ëð@o,ÖÚõ¾ ô!¹ì\®brŠz†EåËcxkÉA—ûž¾Nº‹ !„k¥¥Fþ]» ½^G¿^]Q0›-lÛµ—œÜ|Ú&Æ@qI)‡Žž +;—£ žî´MˆÃ×ÇëœÌ÷é_t~>Þ´IˆÃËË£^‚“ä={sYI-Ãðt׳÷X“f/gÑŒ¸òñùúz°hÆ •˜¸í…EôëÕM‚!„¨M¹›¥µ\€òÓï+¸l`§ý+[o?—«˜Á XÏP؃“7~çHR>ßåY¬*{fñÞ÷ë ‹ˆÆË³nAÊî}‡¸}xzµbÞâMü´j>žË(>ÒÖgzÿñl¼<½PQ‘¯-!„¨šR>@)»qþüÇ*fOÀ„™‹~Iï3®/.ë™”êܘº"Îñ÷ë‹8m“»BT-'¯€Ö-‚Øy(w7Gbƽ—àå¡gÊûbÕy¢×™ðÕyþáa$Édú§+8š–Gd°7 jG‰QÅÛO‡ª‚Åjåè±Ò2²(.)A£ÑèOBl ôzf“™×nDQÂB‚ÈÈÎÁj±臗—'iéY— ×ëhÕŒ¨ˆpÀÖ±ò¿Mhµú–µ0M&V®Ý„N¯£oÏ.Ž|ý¹â?ü¯G•ùÞ¸;…iýƒ¢( êËý×uçë{ðìG+éÔ.±,­LFv^îîtéØ³Ù¡£ÇÉÈ̦¤Ôˆ^§#$(€øØæhµÒ2³èœ`Kÿ¿[ŽÐ¶Mdå3éíßh‰‡‡;Çâù‡r<#ŸÿomˆŠ‰§¨¸„ÙEl‹( nJM&¶mOæÒ‹âè{}áÞMÖ'ŸàÓ_¶ÇÎäd͸‹ÅÊߛУMƒ–õ»R8”šCßk“hìM~‘‘…íbçñTB‚I.;®¸ÔÌ-Ï}O·ÎI$ï²­+(2rû‹?Ò§ggþ^¹Î©ûÔÅ}ºŸ1ßÉG2‰iItd8­ÛÄý×u'&Ü‚Â"6mÛnK«UåŸÍ‡éÞ&‚ãéù<ÿÉj4Š…kú·æ¢vÝöó ¿ØÈêíǘÿG2íÚ$²nÓV>œ</=Ÿ>}%«ÊøW—²hÆ ”ÍŒšúù…ÄGÚ~pÛ,7O76mÙQi¶j• AŠB”)ßÖ^ÿ|q/&Ì\ìHNL&Ì\Ìà‹{Uˆ…ªZPΠT5ÆDÆ !DÕòòòIlÑ€ð /nžÄ¦=©¼1ÿ?Ú¶IÀÝÝÝûr〶¸éµ|óûbš7ÇÛÛ6W¼§‡;­[Ù*×f‹…m;’™:úÄE0{Á¬ÜrŒ][0îênx{xã›Dû ÕjØ~ íâ‰ÃéÝ! ³Å”¹Ò22€gG÷ãÖáIÜðôBÜ=܈‹°µ2<‘§§Å%%DÛf[9‘‘‡‡[µÆ$žžï݇3ññö¡¤¤_/ÛºNfbÐëO¥U£`4Yxðõe”˜@«Q™~ï%øû¸3ë«Õl;ÆîñÜ=¢3>>ùu7 q1¼½`ÏŽîÇáÔ\xý ¡¹­å&%³77òò -(ûg“WlbÚ辕–áÛ ·Ð¾m‚\¼BAå-(ûöt RÊ'ûötÙÚRå£ÉrÆÄœ¾Ýþú¥ow3åúD&]ÕòŒû !Ä…ÎjU)))!>2“ÙÊñ”ÍÌþn-ZD£Ñê1š,dgçÑ)! €íÒIhÕÊå=õÐÑãŒìŸH˨@~ýï¬?Àïë2îêntlF^a!]lôÝG2Y±õAeOí-.5óîÂõ´hCnA&éÙE zrs è•h«Ä8‘§‡EÄ”)™¸ Mzuïìè>Õ«{ç i-ŸoUUÙs4“¢’T¼ÜõÜ=ÂÖMlá_Éøùûäå>øq3íÚ´æxJ*×õ!2ćw®çx¶™¤ömùuíNîÑ™m#™õõZ|¼½ˆ ³r)ùøàO„ŸZ¶®½A‡A§àãAQ‰‰”ìFïxÆ2ÌÎÍ“ï4!„(S~ Ja‰±ZÇT¶Ÿ¢(.ï¯gìâuKÎõŒšÛÁö"û:€ ¯Ö•—}Ÿû+Ÿ¢B”É/,">ÒVÃ΃é|ÿÏn¿¥7Ód©þÉbÅßϓلŸ·-ˆ(,6¢Ñh]Þ£33³éÛ©CzÄ1¤GœÓöôœ"t ÍÊ‚ŠmûÓðôò$.€‡Ò1¸yPj,¥eÄ©`ÄËÓ“Ââbb›Å–­ËÁÃý¬ÅÖMëDF>nnnŽtõèÖ©Òï’òùøjÚ5˜ÌVR2ò™ýÝl>‹››Á‘Ö»SBoБC¯öQ¬Ù~Œ¸„,VOw}Y eB£ÕRRZJh€-)Y¶ª¸¤„fñÁeAU>Š¢q U¡o§æg,C7ƒ^&~Bˆ2ú²{9ØÆ@Ú­Û°¥Bë œ“Ò½kGÇ:­ÆvFÁd±V ¸j^ñè£Ön»ãõÉí^Ÿ¾þä[ó½ýou»ÜÐ…®  €.±¶Êò¾cYì<’ÃËŸ­ä‰[ûðÊ}™öÑ?¤ Ò² iäMt˜9¹¹øùúPT\Lzz&ÍÂ1ôX,f¼=ܸþ©ï*ü åæfÀ×Ïש[–Õb¥eT # ^^ž×)€ƒeÁHzF&q‘§‚ßPŽŸH¥cËŽe•ýÜÜ ¨ªÊº [œ¾|*Ë÷òÿðö‚uŽ/&w77ÂBCˆ‰fÿÁ#Nius³u!³X¬x¸Ù¾®ì>~"•ÞlA˪íÇô÷£´ÔHh€­&µ,}y…Žs¦d`µ–Ëÿñ,ÀZe&µo#Ý–…¢Œâ¢‹×†M[‚“ÓÉÛƒ”®“Ê”SçRk;Åx¸ H\,Õ9§B\xJ!­[İ÷X6¡!Ï.u)/½„—>]AŽ»; þÜÅý×ugÜÕÝxcþ:Bl„?7LdéºÃ¨ª¾>>lÞ›J÷6\ѧKVîÁÓÃŽ aôíÔ‚wn¦´´„fA>ŽJ¿Éd. dãééAjj:±Íœ»s&BümÝ¥š‡ù±vÇA†t!!:ðTáĺ [œÈwë’tÆ|ï:œAl‹h‚‚*|_8§µ7w?TUÅÏ߇u;OÐ')šÁÝãøm}2âC¸uxGOæñÕo;‰‹cß¾C„x:(ƒÁ‹ÒÒL§ü›Í–S-(Dzñð𨲠å»L!NÑ”$ïb\É„™‹éܱƒãïòKÅY¼¨*@©­:Ý©©}- ÇO¤’››‡ÙbÁ ×ãïïGxX¨ã(NåÛ67ƒÁéœöünÛžŒÉ|*-Õ)C!„6~^î,ûi#o¸™}Ç3kuo7þY¾ˆ¡—]Kna‰c½Élå¿åó«÷W-(®ZSNïî%ƒ …ÂYÛ6‰.ï‘>>>tLjç´Íßß¿ ç(œ¢Õéò½ìûµo߯±NE¥C¹×ö}:th[a]hh0¡¡ÁN猌lVa¿NÛWyϯ,ß§kï"mŠFCTTQQg,Wïsú9ÛµsÞ§:e(„¢ì~\Ö‚’šUಋWu¤eå;ÎUãç ¯T8Tn†®â•phnŠWžÚÇþúÐi3y¯ÕSnìB!„Bœ/JL_v-ËZ@R¯!µ:Gò†?|Ùµ”˜,5ƒòÇ—uËÄ'B!„Bœ7 ŠJðt70pø5üþóÂZcàðk(5š)ªäù(Õ~’¼B!„B—èçÅåWÝP«ãKMf ‹K]lQ$@B!„BÔ\fNA½ŸÓ>¾E×Ú'ƒ–ý+¥,„B!„8«ZûdØZP͸¬Ì )!„B!ÄYqüØQæÍý …B!„¢©ÐU¶ÁÛÛGJG!„BQï òk ü°à)=!„B!D½4txÍ”3(„B!„5åíísƆƒ"„B!„h2$@B!„BH€"„B!„ !„B!ê…ÅbÁjµÖë9uR¬B!„Bˆê2üüÛ/ü»ziéi(ŠBhP“:3tЂƒ$@B!„B4¼¬ì,^œù9y¹„E†Ñ6²-ƒÂ‚BV¬[ɲ?eÜè{éÕ½§(B!„Bˆ†ST\Ä 3_­B~=ÐéN…zƒ“ÑDnN.³ç¾Mû6íðöö–E!„BÑ0¾ýþ;ŠJŠéÚ»+†âÂbN;AVzùyùøùú2°ß%ôìÖ£ÖÁ‰(B!„Bˆ*Fþ^ùñmâÑhlól­[¹³ÙÌÃ.§kÇ.ÄÇÚVuP‚‚C*žT§#00:0räõ\{Í5(ŠÒè¹dÉÞŸ3‡íÛwPPP€ªªdf¤;Òœ™‘^i~\mB!„âBtìÄ1J¥øú;ÖÅ&ÄròøIF^}}½&v 2ͰÙl&--ßÿ±cïå¶ÛnÇl67j!.Z´ˆÛ︓իןŸªªre !„BQ &“­.¯7èë‚CƒÉËËcÿýŽuYÙYüö×ï<öìü½òŸZ½W½uñ*ßâ`6›9vì ,dæ¬Y,ýùgæÍû€qãîm´B|÷½÷x䑇¹oüxüýýåÊB!„¢¼¼<().ÁËÛ /||}X´t1­Z&°nãz9„N§Ãd2‘›—[«÷jNGLL '>Âôé/ðÍ·ß4j!îܹ€‡|°Bp’™‘.]¸„B!„¨¦ˆðü|}IOu®C‡„‡°iÛfÿ²“b¦c·Ž$uK ©}RÓ PÊ»öškØ·o£bQQQY´ç%W”B!„u Ñh çоC9ÖÇ´Œá¢‹/¢Wÿ^$´MÀ?ÈŸƒ{Ò%©31Ñ-jõ^gm¯òƒÑÿýw>ùäÿذq™¨ªJzÚIÒÓÓy÷Ý÷øuùrŽ9@óæÍ:dãÇ#88Øåy+{]Õ ù3)--å³Ï?ç‡~ 9y7Ó§woî»ï>’’:ÈÕ+„B!Î;ß|ÿ-{÷ï%84˜Mk6Ñ®s;Ç€y/Š‹ŠÙŸ¼,pç-wÔú½<@Y¸ð{âãã\nŸ:u³ß~Ûå¶M›7sã7‘‘‘á´>99™ääd¾úúk¾þê+:vLjð%%%…oÅöíÛ+¬ÿnÁ~X´ˆ×_›Å¨Q£ä B!„çe¿ÿÊ¢¥‹tÅ bZÆð뿲qÍF‚B‚ @UU ò HKM#*"Šg¦¾Äþº.ãNL&·Ür+Û·o§ÿþ,\ðöïãdj ë×ýÇC=ˆÕj呉“*0B!„Bœ«V¬YÉgó?çÿGBë ò HOM§më¶ôéÖ7 ˜ŠLÄEÇ2ážûyé™êœ@=¶ ¸zŠÝÐ!C¸çž»]në×·/ ¾û¶ÂÜÉò )))$&&òãâÅNcI.¹äzôèÁ ÁCØ»w/ŸüßÿñÀ„ öÁ|óÍ·lÞ²…Ë/¿œO>þÈé™.±±±<ýÔSøûû3uê4Þ}ï}Þ}çm¹š…B!Ä9mã–|ðé‡tëÓ]:Ÿ—Ï’o–×"–Gœ„^§o÷m°Y¼BBB0`ï¾û_|ñ9z½ë Lœ4Ñåƒ]–-û€Ç}Ôå@wooo{ôѲ}—5至ð{[7µ‡z¨ÒNÞróͬ\¹R®f!„BqNÛ½w³ç¼Më­ézQWŠ ‹øé»Ÿ á‘ûn°àè9(5Ñ©cG—ë÷ìÙ@Ÿ>½+=Ö¾m÷î= úÙ»m :Ô±ÎþàÇÓÿòäI¹¢…B!Ä9ëè±c¼úÖLZ´Œ¡ÏÀ>˜Œ&~^ø3îzw{àQÜÝÝôýug»¼½½]®ÏÏÏ  ò>lNû6”œœÀ6¶¦*&“I®j!„BqN:™v’—^ŸNhD(.€Ålá—ïÁXbäù)Óðõñið4èšjáøøø““Cvv6!!®Ç·dgg;ömH^^^äææ²oïž3LB!„Bœ JJKXµv5GŽ ªY$Ñ‘ÑÌý¿yxûz3èŠAü±ôr³r™6ùY%mM6@IHH`ݺu¬ZµŠ+¯¼Òå>+VØÆ{´jÕªAÓÒºukÖ®]ËŠ+¸âŠ+äŠB!„笿VüÍß|‰ÙbÆ?ЃÞÀ›þ#7;777®¹õô=ÿüú'Ÿ`òÃÞhéÓ4Õ‚6Ì6ÞãÕ™³(..®°½°°™³f9íÛPF”%/Ïx…‚‚¹ª…B!Ä9é§åKùèó‰hÁE.¢}—ö´êЊ®u¥{Ÿîè :~úî'V,_Áž{xxüƒÄÇÅ7j›l€rÇí·Æ®]»¸bÄ•üý÷ßRXXÈ_ýÅ#F°{÷nš5kÆ·ßÞ i¹í¶[iOrr2C‡ gÑ¢Eddd`±XÈËËcÓæÍ¼óλ\2p \õB!„¢IJÞ»›¯¾ýš];Ð<®9Z­Ö1Ñ€Ÿ]zuÁb±°sëN¸ç~Úµi×èél²]¼üýýùôÓÿãÆ›F±iÓ&®¹öº ûóÙgŸâëëÛ iñôô䫯¾ä¦›F‘œœÌè1wÉ.„B!Î)_~ûÍ"›áàOFZ'38qô¾~¾tëÓ ½^Ob»D6®ÙHpHÈYI§®)b×®]Yñï?¼ûî{üº|9GÚñDGG3tÈî»o|¥èë[\\þùŸ~ú?.ù‘ääÝäççãííM||<}z÷æê«¯–+_!„B49EÅEì?¸€´Ô4, ñ±ñtIêÌÆ­›(.*ÆÃÓÿ@¼½½Ù´y-¢šŸ{JmŸRÝã˜6m*Ó¦M­·ó×v›§§'÷Þ;–{ï+W¹B!„8gØË‘˜Ðоõ¥kÇ.øúúbµZ¹÷‘ñd¦euªÞëåIvnöYI«N>.!„B!Îoa¡a|1ï³ ë5 ];uaûîNŠÅjAQÎÎpu|\B!„B\x¬V+»ö$“¼;™¬Œ,ÇÇ­+ù¹ùDGE•tI ŠB!„“ÉĶÛX·y=6m¤°¨??Ú$ ×ëH9ž‚‚B¯®=%@B!„B4œ—_›Aò¾ÝøøIPhcp<@NV‡öâ¶›nÅËË묤Qºx !„BqyÍHÛ*Ü hµZŒ¥Fr²rسc›ÿÛÌåÃ.£ÿÿ.>ki”!„B!.‰ ­xkÆüøËOü»ê_JJKÛ¢#£yx܃téÔ嬦Q!„B!. AAÜ1ê6n¿éV²²³ÈËÏ#$(ooï&‘> P„B!„¸)ŠBP`AAM*]2E!„B!ŠB!„BH€"„B!„h²ªƒâíí#¥$„B!„8»JAA>?,øFJI!„Bqv€AC‡K !„B!ŒAB!„B4ò!Ä9eÓžþ•ÌáÔìó2Z†¨P?®éߚέšÉ.„B!„hª’gðÉÏ[þ¿NÜŠV«E9Ïòh±Z9|<Z¥´˜nâäƒB!ŠªªF,&VUEUÕMŒ¢(h­^^¯G£ÑTHÕjAµX±6pZìéQE«A£Ñ¢(•W…víÜN¯Þ}ÉÍÉ>cyJúë/ýRžNyÚ}½|;WèBltV«Õj9ïnÊZ⢂1°߯܊1÷(¹9¹çõ‘F£àãëKË„DöíÝ}^åYò×4Ó.µ@!εEUUJŠ‹ÉÎÎædê òóóáÆ¡ÁËË‹ððƒ‚1¸•UU±˜Í;z”;v•Õð­_?Û´¦E‹tz}µ*Q••§¤¿þÒ/åya–ç±´â¢BAµ¢Мoí'§Ä6 âë¬|Ú¶ïOPpZ­ö¼Í«Õj%#=ÍÖ£Z­tîÞƒà ?RIþ$õ•Ö-Ö£Óë ’š çR€b2™ÈÏÏãØ±#´ëDp#|AZ­VRSN¼k'¾þ¾ø¸ûb,-=µ--•M›7rqÿKˆ‰kðôX,öïßËŠþF«ÓÝNWû¼Iúë-ýRžfy*Xq3h0›ÍçýÍY«UPPñôô¤¸¨ð¼Ï¯§§mÛ·gwò.<==(*,üIþ,­mÚ·'yÇz÷í'5A!Î¥Ål4râø1:tèHphV«¥Q*¡aáh {÷ì¡o¿G€¢Z,lÛ¼•þßH-­ZµF¯Õ³zå ÂCÃk]!•ô×oú¥¾¾œ·y–ü5­´æåå"„8Ç«ªRPP@`PV‹¹ÁÇŸ”@A~>J¹æaÈÉɦELL£RTóæä,ÍÁl©}€&é¯ßôKy^˜å©ÓØÎßž]òÛ˜÷Þ¦@m„ñŽ’?ÉŸ=­Bˆs,@± ˜µ¢Ñê0›Mš(VWáUU±X,g¥¶^¯Çb±Ôéf&é¯ßôKy^˜å©ÓÚ‘«ÈœtÚ ³u¾çYò'„µ PÊÝj †7ÛÍI­ð·R6V©Óãsù¦[“óüñ×_L||²Óº—_xž¡ƒéoŒò¿®‡ ½Œ5ÿ­cé/¿ðãOKë~Z´«Å‚Ÿ¯? -[Ñ®m{Þ}ïÒNåúQ·pÝ5Wsõˆ´mÓZ®è Äë_¬àù«su&ßÙÿ,ÑV®Ñ׉`ESî^1ñÊú¿ailÏ1p5{i^^¯Ï|™åË~&%å^ÞÞôìÙ›;FßEŸ¾×­rÄá™g'@i‚ŽcâZrèÀ¾†«àž¥<×ä}ë’Æ³¿óõóB\HJ%<==QUÕif/UµVXJKŠðóCQr²SqssÃl2 ×éQU+ŠRýÞ7m^‡¢±·ÞhÑjµŽ¾õEƒF«¡e\«&÷AüöÇŸ<:y Ï?ó$W\: ??róòÁ ï¾÷kV¯¥}‡v\ÝHn¼ñF~ûí7n¾e¤¥¥qówòÞì·èÕ£{“ËÛ}Æ“••‰F£!8$˜7_›-ÿòê`þ²-|ùËf÷ëÄíÂ×ËûFö:;v¶=3¥°°„¢bÛ¬{:G7X…]««‹e¸1´hËü?ENv6«V­`ö›³èwñÅu~oíY÷RU Êܹóxeæ,›4‘{î¹»ÑÒupÿÞý•ÜÕ¹cãHhÙ’e¿,uúQKUU† ξ}û9¸o½¿o}ìÛÔòw¶>¿òéß½{7·Ýq'wÃÝw`ÿþÌœ5‹5k×RXXDëÖ­7ö†fK÷Áƒ<3u6l k×.<7õYbccïáêZBœ{ªüÊU+Y4ZíiëT¬ªm)*Ê£¸¸€’’"¼}ƒAQP_ÿ0ŒÆR¬V3ÆÒ",V«ã¸ÓϦŸ«ÅQ‰Ð騲e ›6oaÓ¦MlܰÑñÿ 7 Óé«<×™Î_7nWË£“§0ûµ´JHÀb1SPPÈáÃùná7lX¿‘””ý°˜Y¯Í¤¸¸˜6mÚ„‡‡íÛµç¡ûÇ2nÂg-ýgZ233xéÅ錾s 'SOÖêõ™žúXÎVyþñß>¦ô]Ú·¢Ôª¡kÇ>Y¼žO—llôò0[TG#kùÅd¶Öè|Õ®°km-(Š‹eÕÊ<ùì³´ˆ‰A§×ˆ«®æ»~DÑ(\{Õå,^ô½Ó1'N§kÇvääó矿3°b£ÃéÕ½_}ù9ŠF!*Üö ·¨ð ¢ÂƒÇZU+/¿ô<Û'Ò26Šñ÷ÞEaQc{TxŸ}ú1½{v!®y3öïúukùö›¯èÛ»±Ñá ÔŸää].ó£hÇ yW‹Åbáó/¿ä©'§ðÅW_9&8×—Ê®ww~ÿã§õ¿.ÿ :ßjz½žÏùk¨ÏÏþ÷†¹å¶;˜òÄÜ5f4ªªrðàAnºùúôîÍï¿-gÛ–ML›ú ‹—,qwÿ„éÚ¥ «WþËê•ÿÒ©cG&<ðÓ{Ø·ÇiiŒû¸â,(¶ˆA­rQ­*¨VŠ sðöÀÏ/ÿ0´­cð÷Ãß? Ÿ JŠòP­P­ÏYÛ_u:zöìÉE={qÑE9-}z÷±u-k¢bcãIKOÃÝÝšG· ""‚á—#::šK 66–äädZ¶";' ½^Oóèøûù5ý‹M£‘qu°yw Î\BR»xЬ ‡Næq<£ˆNZòÆ+ùáÏž&‹Õâø»|GM{€Ò- EA –î=zòøÄ‡Ù´nÆââ ÛzøÞ˜õ*ŠÕêX÷ƬW¸ûž±øúòÐýãxô±'Øwà?,ú‰MÖ¡RÓl-D©iY¤¦e9Ž}ûר¶e Ëû“í;’ñp÷`úsÓÛVüý7ßÿ°„ä=¸æšë¸õ¦øã·å|·àvï=ȈWòø¤‡\æG[®ÅÕò×_ãçëÇm·Þ‚¿¿?ÿýÓö¸–­øâË/é{ñÛ´ãò+®dÇŽNÛO_ìÛÌf3¯¼:“n=zѶ}|ˆ‚‚§cí3ñÑÇhס#=zõfÎÜy5:WM*¸÷Ü}7ïÏ™ë´~Μ¹Œ½ç§ãJJJ˜<åI’:u!©S¦<ù%%%Ží¥¥¥<úØŽ4Ï7Ïéøòéwµ®ü¾g#U½gMòWÏÚvõ§Uë¶¶ëhçÎZ(ÿ®XÁ¸ñ÷ñÚ¬W¹âŠËÛßxs6cï¹›Q£nÂßϽ^OǤ$Þ™ý–cŸýpïØ{ðññÁÇLJñãîeÿµ„ça JùÅÖrbŪª¸yøŸŸUå1yy¸yx9ޝn JUÌf3k×®eõÚ5¬^½ÚiY¹jež]ÑÐ<<<èÚ¥˜ÍfÂÃɉc@ÿKß8Lbb"]»vÅÍݸØxâc[rððA²²³äj>8–ÅS¿£uB ps'»Ð„‚BjV!éyFÚ·‹cÚœßùmí¾FM—ÙRnªârŠÉÒPŠ‚FQÑh¨°|òŸͤ‰Ò&1žn]’xæé)äåå ÑÀÀñòòbÑ¢…h4pèà~þúóîºûn4pww'=í$ÙÙ4oÅo¾å8·-Àv^¾úòs¦Ïx™¨¨H|}}xú™gøié§cf½þ:ÑÑ‘x{{2öÞ{)(ÈçÕ™³œÖmÙ¼Ùe~4šS³x¹Z>ÿâKn¹åfTUåæQ£øìó/*T¾Ö¬ùù_Ɇukõ´cû¾=ÉŽåÅžã’ýÛÞ}ï}¶oßÎâ²võJÜÝܘñÊ«.+‚¯½þùùùüýçï,]²˜uë×;m¯ê\5©à2˜ÌÌL6l°µ®Y³–ìœl†”ÍjhßwÖk¯sòd¿/_Æo¿.ãø‰¼öúNiÎÊÊâ¯?~cÉâE¬Z½ÆéxWi¨lûÙÈ_UïY“üUç³^³æ?¾ùú+6mXg»Žž|ºVùûù—e<1ùI>˜;—Þ]ä´}ÕêU\zéð3ôçý9sÉËË#77—÷çÌ¥ÿ‹Þ£k·$¶iÇ ÁCyïý9˜Íf P„8/[PpÕbr*’°µœ”.l¯¥Å.¶Ù‹Ù|ÚþÕoA©êFS“”¦Ô¥§m›6üüËrŽ;J\l< -[J|\<‘QôëÛŸÁƒ†ré°KéÑ­'AAìÙ·›7±}ûrsrñõõi’]¼âu9×¹ÖÅëdf>£žœOó¨p<}}ÈÊ7žúõHÉ,$¯ØBëÖ±L|í'Vn>Ôh]¼,Vç)ÄOoA©÷.^e-(Š‹Åßߟ§Ÿy–W®æÈ±|óíŠŠŠ¸{ÌhÇ>?2‘Y3_ÅjµòÊ+3¸ÿñòòBQ>þäSþúëO.é1=ºuá×eËÇÞ/%%…Þ½zHhp íÛ¶&#=Ý阠  Çk///—ëÌf³Ëü(ŠRi Êá#Gغm—_v)ªªrÙ¥ÃÙºmGŽu*Ó©Ï>MXh(Œ}';wíªp®+WòÅ—_ñÚ¬™Žuß~ûÏ<ýaa¶ÉP&MœÈ²_uY ]òÓR¦<ñ80å‰'œ¶Wu®šTpEaÌèÑÌ™;UUyÎ\î3ÆQÞö}\òO>9™ÀÀ@‚‚yú©'ùqÉOŽí‹\“SNmêÉ)µPÎFþªzÏšä¯:Ÿõ´©ÏŠ»»;cF®u ʃ=ÌSS&Ó¶m› Û³³s 8ã}â©)“ùî»tîÚ.Ýz°`ÁBž~rŠcûÞÝ»X÷ß¶oÝÌ[o½ÁŠ+™þò P„8Õ©¿“ëà nî^åa0¸ãê‘ÏùyÜÜû××TÃ:­žõë×;¦7V4 ªUEÑ(h ÿû__Ǿ³^¥ÂñÑQÍyýþAÜtÃõ|ÿÃ"úôîÉ‘£‡Ù·o/(Š‚Åb¡  cÙä……E¤¥$?¿VÇÉÔTVý·®»F®èóLAQ)£žœ¿Ÿ/!dZ7íR2 iäEBËæŒ›¾ˆO¦]GçĈzK‡ÑäúAЧ–µ\ËŠ­ëW©±b‹¥N§E«QjùïÛ6iXUG+ŠB«V­xé¥é´Œuì?|øp^žþ"/<ÿë×ýÇÛo¿ãØÖ¥K¾øâ+TUå·ß–óЃ0lX²‹ðË&,,œ_–-£Y³ÊËY©Ã:{~M¦ŠÊýüó/ÈÊÊ¢}R§ ë'M|ÄñÚËËËq¼N§Ãl6;oßþý<;õ9>œ7ƒÁàØ–zò$C†]Z¡LËkÿ;#=ÐPÇë°°P§íÕ9×é*Ûf2™¸âòËxköÛü°h1É»w3û­7ûÛÿŸ™‘Axx¸ãu³ðp222œÒæ´ýô÷u•WÛÏFþªzÏšä¯:é÷ôô,wÙ&ž©Mþ¦M}†)O=ݺuuÚæïïÏÉ“' ©ô¼>þ#F\Á·ßÀÇŸü“{œçÍ­°o|\¯Ì˜ÎeW\ÉcN’/!λE­ˆ¨åþû Yõ´-ªýQ.N©b¶XÐ+ZÀ hëí× NGï>½Ñjl³xi4Z¬V‹mF/Æi„«i‰ÏÖô×ÊÓSŸã¡‰“¸îškèÖµ+ii©˜Íf iÖ¬»vî"##__Ìf ÆR#k¶l ¨ FÃć9«ÓýÆ““]a½}|Œ¢(øùú1ê–+|ðö[ï6Jzª£!ÒSS&³…1ÓbAGTT89…Æ3ϲ)-ZDrdz øzú ´‰ ­—´|ðÃ:^ÿ|EYë…m»A‡¹\€¢”«f—š¬¸tt¼áÍSÁŒU%:̯_¾‰Ð@ïÚýû.kAqß\qÅåŒ3†Þ½ûDjj ³gϦ[·n§öW&NœÈ˜1cxóÍ·pw38Ž¿ë®»˜4iqqq(ØúæÛóóócÿ¾½$$œš%èÎ;ï䑇æå—_&::š={v3kÖk|øá‡Ž}\¥³ºëìù=ýÞXZZʢŋùõ—¥DFF:Ö;vœ›n¾™ûï››[¥?"Ù×effñàƒóÂóÓhÖ¬™Ó¾!!!|ùÅg„…†Vú£”ýï à N?NTTTY:Ž9m¯Î¹ª÷ã—m½^¯ç–›GñÄä)<øÀýèõz§_îíi:vô(Í›7àÈÑ£:¶;m?zÔ9ÍZ­–ââbÜÝm?¤åääTšÿ³‘¿ªÞ³ªüÕ4ýgºŽj’¿«¯º ?îàA^záy èïØÖ«gO~Yö+·Ü\ùóÉ6lØÈ»oÏÆ`°ý»½çî»èÕû•¾Ÿ¢(e3ŠJk‰ç_€REôbÿw¯(å{f)ån*¹9'm_òþ¡ŽÖ«ÕZÖAõøÐ5­NËkÿCQ4hÊ}ë÷íÛפØíص­ÉM?õë=ôvÃ×Ó€¢€AçAx³F=ù _½™ØÈ€:§güõ½8t"‡U[ß½^‡U…üb“ó¯e2rŠhÛ®•m6* ++‡ì¬l>{ad­ƒ{…]QÊ=z¥œÇ{ŒyóæñÈ#ŸŸOxx8 àã?vÚ_«ÕϨQ79­¿ôÒáÜ~ûma¼„‚‚²³mAïÃ?Ä›o¾ÉUW]Ijj* Lœ8Ñ霮ÒYÝu•(Kþ…:á´-22‚vmÛñó/¿påˆUV,'<ð wÝ5šÎ:UØï†‘×1uê4&?ñ88p€9ó>`æ+3*œgø°a¼òêL¦N}Öö#Ï+3¶Wç\5©ÀŒ}'cFßYiEzØÐ¡LŸñ /<7 €éÓg0|ذSi¾t83^™ÉóÏMEUU^ž1ÃéøÄÄD>úøî¼ãvòòòxyÆ«•¾×ÙÈ_UïYUþjšþú PTU¥ÿ‹™ýÖ<øÐÃLš8‘«®´]«ãÇßËwŽÆ`00dð <<<ؽg}ô ¯¿f»¦âãâ˜÷Á‡ÜzËÍüß§ŸÑ²eKÇû=úØÜsÏ]ÄÅÆrâÄ ¦¿<ƒÁƒK€"Äù ˜-fŒF£ó:³¹¬«€ù´›‘íA ¢Õ¹‘‘nûÕÆÞ+3ã„í—Wo ÑiõeÏ@©þ€Z‹Åìôì• ÒêèÛ·¯íY(ósP4§eÓ¦Mh ŠFᢋz;Ö¥ VàU¦_¯ÇÛÇ›nÝ»‘šz’¨ÈHŽ;Faa!‡¦y‹hÚµíÌÒ¥?“˜˜ÈÁƒéÚ¹oÐtW7ýªªrüøq§õô¿íÁéé¿ Ö&ýÕMªÚƒhµ, vîƒ\>=qT•þÙó×ò×úý¨*dmØáÈKžå»ôœªÕz¹ëÙ²eW…šî˜ißñÉÔ« ö©syNÛŸ{_ZÌCLjjE±Ñ‚Ó”réÉ-4’[h$È×Ò’b2Ò2˜ÿÒHBüÝëT®:}|GÅ}¿~Ó¯_ÕÏ;™?ÿžxb²Ó”ã×^{×^{Ëc&NœÄĉÎÝD4-?üWÒr™Sëuåó{úuùÕ×_sßøq.+]#G^Çœ¹óqÅUV,·lÝÊ–­[yò©gÛ¶mÙÀè;ïä#>aÌ]÷–žNLL cï¹Ëe÷þûÆ3í¹4x(^^^Üró(V¬\éØ^sÕ´_ÕqL¸Ÿ_z™á—ÙÊaÈàÁL¸ÿ¾Si?žçžžAC†áååŷ߯?ÿ®p»óì³ÓxÎ\ÂBC=úN~]¾ÜeþÏFþªzϪòWÓô×g€Ð¥sg>œ7qãï#++‹;ï¸æÑÑ|0w.oÍ~›×^ƒ’’[µâÎ;ïp÷òô—xñ¥é|øÑÇtêØ‘Ó_tl4ðb2û÷ ((ˆaC‡ðÀ„û%@â| P* \ÌæJÇ ØV+ܼÊýªªbpótTÍf ¶‰4kÖz¢ªg¾1FFTÿq]tES¼h«ý%Q×_ÆÏt~½^V«ÅÛÛ›°0•„V ààÏ‘#GñóóÃ`0`±X}{K‘ýuCÿ²_Yú}}|™<å —ëÇŒ¹ EQøàƒyäåç9  «U¹Ÿ1=¾~LžòD…2)?èÙFSëôÔWúïÙƒûGöpZ×~äÛNƒÒU§1V,V•íßÜW«ŠOuÊS£À[^ÊÍO~Çñ#'‹ ÇhQ+ívæçe ¤¸˜´Ô4>þZ4ó«s™ÚÆ (Ôf‹ÕjåÓÏ>ãàÁ\wí5hš<ûsPœ”/>¯ô3½¸_?.î×UUÙºyc…}ʯۺyc¥×‰m°ö©_ñOß^þô©Ï¸<¯Á ç…çŸã…çŸsl»ãöÛÛ['&2ÿë/ƒ¿ë¯s™ÿ³‘¿ªÞ³ªüÕä\U]GµÍ_BBK~[¾ÌiÿØØGk‰«óÅÆÆðÁ¼9•n|°M…ªÕêÐëõ‡‘‘‘ANN.`ë›®×ë*þ•~€™¯Îr¹~ì¸{é*,*ä£>®S%ºÚéyefƒ‡ÆøR«Ùl2Õ™5«!Óã¦×òá3WqýóI9žJH³0ì3 —¿â¼ÜuKKÈ8™Æ¼§FЪyP½”§NSv©ÅåH‹ÍùøãÑhÏgòTõ$ù¦âÕ™³{ÏÝM&fΚ嘲¸iÿÛ;{$BQ×¥ZW+eÁ‰­;MùØF£Õc±Xj}ãsuóëÔ±3:v®°þÝ÷ßæñG§°3y[Ù-­¢ÁªZÏB Šsú­VÛ¾¢¢"§ýJKmÝ` ^^^øúúâàWÖ¢q @´Z[ÚSRR. b´’þê²· 5Ô4½çòyMÒï<(ýÔqöçŽÔµ,ª“_/Ÿ<{#'KZªBPH0(GÐà¦×b4–’–Î[“†“Ô²þZ£teoS›ð;/7çÜ»AÛ²&."¢W\y5F£‘þ÷cü¸±uL÷ù^Á•ü !DW]>NÍ#n­$89½Û‡Rn]Ýæ!¯ª‹T¥­ÁôÃÙÅËl6S\\LzzºÓ~ÅÅÅNi±ÏZ¢×Ÿê7ïëëWÌØZ_ÒÓÓÑh4áááÑ(é¯.­V‹N§sdg;=M'@¡ö-(åþ4™-õ TïáAÞ|øÔn}ö,(¢¢¢Õ*˜MFò2ÒxùþÁôlY¯Ÿm¼Â…â\iAuÓŒºéÆ ßu ”Ïëê»äO!ê œéÆs*àpþå¤ò×¶¿kÛzrêµPj0ýpcvñ2›-“™i{¼}þxûô–g’——‹——ÕöëyJJ žžžx{{WëøÆ,G¨ª(õa)RTTtjÆ:­¶Æå\“ôX­V£|˜4ª3¿X‡Å7Òülî¾²ý’Â),,t¤¡¶é9æj=±çWÉŸäO!J¬ÖÓ[Pœƒê½¶Wª¬µÐ]~p~ 2Zƒé‡ià”òçW­V´Z-nIíÚ2ïãO6¨?f“™ððf””–››ët†#GЯ_?<==HÏÈfÏþƒ4ŠÂÛË w77[^,5/ÿȈHÞ|ë ¬V+þþþ¶ñõ–>µ?¯ÿ*¯~{`±XSzÛ”R“­Ùv­šL&¬§±¥%%ŽîtªN‡jµ¢Óé$=ö¥gb£·ä£Ÿ’¹uH+†v‹ ¤¸V‹®,(©}z„(’?ÉŸB”*”%êÞu£7±ZŽ]©Éôà zs=-ýö1%AA\wõ•,Z²”¥¿þAXX(mÉÏ˳u‰ÒhèÚ¥›íIÃnddesxëòróHˆ§g·.4k¯¯/nnn —‡Z”ÿäÇ'7\Ÿãƒä]¥ßÞ…ªüb±Zñõ4väp¥§òõ48‚~ûq¦fåSƒôسÙÌ¥=£ˆñ$).ÈñEQ° Ô-=.”––\P7é];v\p_Lç{ž%MÇÏKKMPˆ³@£ÑàççG|«D‚ƒC*4VTcša*<ÐÎÍÍÀÑcGê”07ƒ¡V•Õšvééѽg¦öððhÔ.^z½FCpPZ–;o½…›·°aËfÖmØD^~¾S—.°Oñtw'44”þ}zsQ¯žxzxàããƒc¶¬ÆH¨ßŸw]¼Eq|†ö.QŠ¢°à¥Ë±ª*jÙDªªžzžLY+ ¶\‹…N§«ñµP“ôXV‹^¯GUUz¶ó¨÷ô¸âãëG~^îq¿ùöÑò-&„â¼c±XH;™ÊêÿбKWk ¸ˆxƒ°X­˜M&[_ô²A%ªZù ]¶ j•mYe¥ÆºŠNjŸDRû¤V0@qñs­V‹§§'ƒ??_ÂÃùtØP´ZcÖ1{eÔþÚjµ–uµ±¢(¶‡¥ét:ÇóF,@ibƒÒÕs||eéW½^^¯w´T”oÉ(ÿ5ûuQ~±ÿQÓ²ij驌}2‰ó]Vf†|‹ !„8/¹¹¹‘ض-{ví¢gï>5 P\UXEAWÖ¿¼Î´šVXÎñ_Ì+K¿F£Á`08¦nÔ2=—Ëÿ<½*ü{«á¸Z—ISKB!Î[>>¾äädWX¯;S%DÓ ƒ­ÏT™±VßbkiÐ`±Z½²cL_—©q%ýõ›~)O)O!„BœÛ´Z­ãQ Õ P4Š‚··7éiéxzy6jb‹ ‹ñöñAµ–j6øùpôðBÃB5=Y™™Ö­B*é¯×ôKyJy !„âüTé4\Z½žˆÈhöïßCA~>ªjmðĨª•‚ü|öïßCë6m()-=UÒji—ÔŽµkW‘ššZî9, ·˜ÍRSSY³f5­Û´A¯¯}÷+Iý¦_ÊSÊS!„ç§J[Pôz=~þþ´JlÍ¡û)((pÙS¯Ñ’Fƒ··7mÚ¶'0(”‚|ǯª†ˆðHŒílÙ´‰¼¼Ü:>‘¾jZ­?ÚµkGpH7·:åMÒ_é—ò”òB!Ä ØmûúùÝ¥ÎÏ<©Õj¥Ôht N l`®^Ol\‘‘‘ŽY„²¿¼}F"N‡›»Gžû"é¯ßôKyJyŠF¦ªFû§·^ IDATÛB­V)!„œ)ŽÐéõ¸ÕòÇG]UˆÒ’RJKJ=c®ú£Û*3zt:}“û Ú´mO®‹Y$ý {Hy^å)ξ¢âbìßǺukI9‘""„Â%­VKhX(=zô¢eËV¸{¸×øO£Bˆ31?~Œ¿ÿú“ƒ‡Ý\Z¼„B¸dµZ9zô¿/_F@` ±±q”–Ö¬±£B€,%+„¨•Ó,xèÐA6nØHzzÚÓjµÑ¥kbbb¥ ›£ÑȪ+:ì2zôê%"„⌢›7'<¼‹~XÈ}¨{€bû2*•’BÔɉã'X³z5¡E‹´Z-jÙSçUTÌ&sÙ8+³…°zÕ* z7""#¤›«ÕJjj Í"äsBQ=-bbHM9Q«wi£B4ˆe¿,¥g¯^ÄÅÅ£( ³³ÙŒÉdÂd4RRRLqqEEE””FLLs–ý²T ¯ ²X,Ò­K!DµiµÚZÏê²E= OBœ_Lf3íÚ'Õ蘶m;°mÛ)Ék¯Í¢°°ðôòvlkŒ÷—EYêw©np²uó&rr²HlÓ–¬¬ îßß AJfF:™é¬ûo-n7ydbÎWZZŠ^_»Xøðᇞ÷_&6làÆoä™gžaìØ±>>Œ?Þiû¹ZuËÞž+VàææÆã?î´ýŸþ¡_¿~Ž×üöÛoNû,[¶ OOO©å!ÎÏ//oÇÒ¬Y·Ür+éééuúµuÇŽ <Øñº  ßé—XùEZYο”­›7RPÇ€AC‰OhE—î=ÉÏÏåÈÁ vƒ 楗^äÏ?ÿtj¹xï½÷éÔ‘à²nf¥¥¥<ôðÃÿÏÞÇEQÿÍ.°" *xß’WijY^™™i™–šZŠ'Z¿R3¯2o+ñèô[Všvª}˾]’÷^xኂܰ×ìüþ@7V@Q¡ÄÞÏÇc°3ŸýÌìggg罟‹5kQ£f-""&ÚÇl¿ZÓqµVæfk?,˜Ïû|ÈÉ“'‹Ms6.ŽQ=¤AAÁôòI‡_ù}ýüùhÕ*Z†…Ì}í;°sç.Ö¬YK«Öm¨D§N‰‰9jŽªªÌžý:õêÕ'¸j5†Avvv™ÔâDEE1|øp–.]JŸ>}ìë-ZDxx8Ï>û,>>>¸¸¸Ð¢E Þ{ï½ëÖ0Œ;///¼¼¼?~<±±±E¦µX,|ôÑGŒ1¢ØüÖ¬YÃ<€‡‡~~~L›6={öü#_¸7[~~~Ìš5‹-[¶\7@ gÙ²ei–-[ÆèÑ£å.Gq÷(hÚ_ •IvV&¢ÿÄ`paÜØqŽinr18;9½ýÚýË"‹,wþRUißñT«ÍfÃI¯§aã¦ãâb(³‹œ¢(…íß¿ß~û•”+H¾ñÆÙ»g7{vïâBüæÌyÓ^S°Væfy{{³xÑBFŽ Çb±™æé§2rä œ8~ŒcÇŽÊ«¯NsH³eK7làô©XžèÛ—'ŸzŠÿýü?¾ýækΜ>EïÞ½‰˜8Ñž~É’·ˆ>p€ß~û•ãÇŽâêêÊÌ™³J½|¿ÿþ{&MšÄ'Ÿ|B‡Ž%lݺ•Þ½{ßT~]ºtaÙ²edee‘™™Idd¤Cóº‚Ö¯_O»ví¨R¥ÊMSaaaÿÈǵç¯ÅbaÏž=´oßÞ¾®G¤¤¤°wï^vìØAZZÝ»w—»!ÄÝYƒR𱟟óçÍãç_~±¯«àéÅÒÈHêÕ¯§—7𦑗—Çè1c &0(˜1cÇ’——gOPÁÓ‹ ž^öuEíÏjµòÚôéÔ¨Y ÿÊ 2„¬¬,ùÅZYÊa J•À 4›Ía³³3®®®e69lJj*S_FÇŽÖ¿>{6~¾¾öÇ_}ý5s漟ŸþþþÌ}óM¾úúëR;Žûî»íÛ3wÞü"·oß¶•:àêꊗ—Ó^}Õ¡Ö`ÉâEãææÆÈ‘/Í ÖEGGÛÓúÙgÌ›û&AAAT¨Pé¯½ÆÆM›ò,ŽþáááÌœ9“&MšÚ–––F¥J•n*¿Y³f±víZêׯOƒ X·n³gÏ.”Îf³±bÅ ‡æ_7räÈf̘Áüùóoùõ^Ûÿ¥¸uE¹ÙòHMMeúôéßÞ½{ ÅËËë¯/rŽ‘#GÚkQ"##5j”Ì[#„øw(oD >Þ»g/DE‘‘ž†¦iÌš=›„„¢ÿÜÏŸû÷qþüf¿þ:𦑙‘@fF:™é…öQðÿ òçŸÑüñG§bOâêêÊ´i¯É ¡,²”ÓNò—«Í±î¹§99Ù,Y¼È1Xºæ÷K—.bÂ¥K¥;J×”)“ùí·ßعsW¡m»wï¡ç#P­z¾~þT­VÔË—Ò¼±uss+rÕjµ?NHH MÛvö²¨ß a¡Îá¥aÞ¼y¼ôÒKìܹ³Ð6._ó:nd„ <ñÄ=z”£GÒ·o_Æ_(ݦM›¨]»6uêÔ)Q¾;vì`èС¬X±‚ZµjÝòë½¶LqëŠRÒò¸èÜwß}äææ2oÞ<‡ ‚Í»®êß¿?ÑÑÑ|ûí·ÄÄÄЯ_?¹ÃBÜ]J±¿F¦¤ðÊäÉtîÜÉaýœ9sðóó³?þòË/™7÷Müýý©\¹2 æÏãË/¿¼éƒûä“Õ,\0Ÿà+¿Îœ1ƒ 7Ê»&D9ñO/W›c=sšÿ¬Z…¿ÿõûZøûûsîÜ9û㸸8‡kZipqqaÅòeDLœX¨/ÈsÆ1|ØpŽ>DÊ¥dΞ9}ÛeÀáCíe‘šrÉÞ¤­4=õÔS,Y²„çž{ŽŸ~úÉa[ûöíÙx“×ì]»v1~üx‡>(»vê"##KÜÇbÆ Œ=š÷ߟæÍ›ÿcŸ‡’–ÇÕ@çØ±c¼÷Þ{çoqŠ‹‹ Æ cüøñ >¹ !Ê­"çA1›Í½¼+àééI§ŽY¸`C_ßJ““/d_Drò%‡4×m „ÝÓÊ!¢(…ž+„·£OŸÇ˜2e*K—¾Àä)Sxüñ>¥¾Ÿzõê1tÈ^~e²Ãz£Ñˆ««ƒ«+qçÎñúë¯ßö¾†BDÄDÞœû&ÕªVåĉ“,^²˜Þÿ¯kw)ÍçòðójÕ*† Æk¯½Fÿþý˜4i?þ8ƒGywwwbbbX¾|y±ÃëÖ­ËÒ¥Kíßß}÷ÝBÃÿú미¹¹ÑªU«"ó¶×d¼÷Þ{|ðÁ|ñÅ%®m)+·ReddpêÔ)î¹çž"·3†1cÆÈZqw(×þrw)9éºi®MïïïO\\5kÖàìÙ³øùù]÷9Em ¨Ìÿý/×=>!ÄiþÜ9åâ8_:•ÿ{ùeû"½{?ÊÔ)SÊd_#F §ÿ“O:¬{çí·xõÕiœ2”ÀÀ@ÆŒÍ7ß|{[û?~ï¼ó}ú=vÓÊàÁƒ™8isÞxƒªU«ròäI–,y‹÷Þ{WÞ9!îpÇ̵y¼×ÃØl6Ø4[þÿš†Ù¢^ù?¿³óÕõ°kçŽÛÚïjŠÚîêêÊ;o¿Í;o¿]¢ç||½ýµMQÖ¯[ç°®GôèÑ£P s½|n´N§Ó1aÂ&L˜pËeu#×ÞÄ7hЀýû÷;¬«S§|ðA‰ó¬S§ëׯ¿nšo¾ù¦ÄÇU’@ãv‚‘›}îÊãzùÕ¼ëFûÿ;æwBˆr Lžü “'O¡u›¶<Ú«¯¼òòM(cÇŒaid$÷}‚¤¤$j×®ÍĈ Rƒ"D9’mTQm6›íÊ_ £ÙŠÍ¦Zïã)íæ…(ÎüÁ°aä „ÿÎ¥ ¤Ä„›ÞîêêÊ’%‹Y²dq‰žSðqÁÿu:ãÇcü¸qòN !„øWÛ¾}»‚âß H …B!„B!„w$½^횉6…Bˆâ¨ªŠ^¯—E!DéÓétT©HÂÅ‹T«^] D!Ä Å=K•À [úqK!Äm«Y+”¤Ä\]]¥0îBÎÎÎÜ×¾›üžŠ>©Zç–BqwSU•S±'ùrý<öx_Ì&Sé(B!ÄU.ÕªU§GÏGØ´á[’’’PUU F!D!z½ž€€º÷èI­ZµÉÍÉ)EjP„BäêæJý† iÒ¬9:N D!D±l6³ù–‚“"”uŸ¯–RBÜ’.]»K!Ü¥4MÃd4a2š¤0„B”©BJÿ§Ÿ‘RBÜ’Ë©)RB!„(ÝåïvôøQŽ?FbR"š¦áïçO½ºõhܰ±4#B!„B”²—››Ëê5«ùâ«/ÈÈÌ r`e<½~>D®Œ¤Zp5:Ýß©ÌuÇŽŒ7Ž‹/Ûù—J>BñO°X,deeráÂ95iŠŸŸ¿LÔ(„¢H6›FRB>ž .ð矲xñbŒF#=ôçÏŸ/ñ1›L&œåÌBˆ+×q›Í†^ï$Á‰BÜ…¢÷ïÅÕÕ­TóÔëõØl¶[zn‘Ê–-[P¥ÄË–-[ŠÝÁ¡#‡0™MV,´Í7À—ZõkQÑ·" š7`Ìô1´ïÚMÓÈÉÊ)”ÞÇÏ/o/¶ïÚ~ÃæîîNãÆ™={6 `þüùömªª2gΚ4iBíÚµ5jÙÙÙÀ_µ0ÁÁÁöÿãââ2duêÔ¡fÍš 8””¿&¤»š® ë­+˜·B”£P4Yd‘EYîºå¯_¤Ê&ßÒP:vìÈï¿ÿŽŸŸ¿ÿþ;Ú•!% .·wìØ±øåð!*UvèorÕ]HIL¡QËF$Å'93‹ÙB¹Ö¬\ÃÒK¹wÑá9þÁþ:|è¦^äÓO?ÍüaüÎ;ïpèÐ!6oÞÌpuuå7Þ°7¿Š·ÿ?xð`†ÎÁƒ9pàµk×fÆŒ7]ØEå-„å,D‘EYd‘å.[Ê꫊íƒÒ±cG¾üòKžxâ ¾üòK‡ dË–-E®/JRr®î®…¿ä4˜ý1´{°›¿ÚÌ}ÝÀÊ9+ª†6­ÙäÜóŒÞw˜qáãJü"+W®LZZšýñš5køüóÏ `Ê”)téÒ…7ß|³ÈçÿþûïöÿÝÜܘ'תS»©É©ë¢~ˆBUU~üaœœó! 8€zMê‘x!‘  r²r8¼ï0Ÿ-ÿŒ§^xŠukÐù‘Îüï«ÿQïÑz7Üo^^§NbݺulÚ´‰ï¾ûξí™gžáÿþïÿ˜={6U«VåäÉ“¼óÎ;¬X±¢È¼ŒF#®®® Î;Çܹs¶7lØ+V0jÔ(ÒÓÓ™>}z±ÇåååEll,¡¡¡ò!¢ dff2wÞ<~øá.^L B… ´k׎çG çþûï¿­¼}ýüIM¹ôïŽOŠXÿ㦠t{äÑïAûwï"¤fmjÖ® @vv±Ç‘š’ŠªZñôô¢FíP¯4µ½VNv61‡‘‘žß<×»¢ 7ÁãÊœš5jòí7ßRµj0iéélýc+ .ºíEßÅ˲̌tÒÒ.½o/õ6¦ný˜LFÒ.§²gçBëÔ%¬U[ ®®d¤§s,æ0ÕªWÇj±ÊïÀþ}V¡]ûûqrrâıˆ¦]ûØl6ºõì…—wE{úÇŽ’——k?!„·r™/|¿pþ'Ž¥S—‡qww'==ÝÛ·û#Óíº©yPn68prr¢ßþÙw“Ñ„ÕR²ˆÝ<Ü1€½ìåȾ#t}¨+Þ^ÞE¦¿::Ö… 8yò$ÿûßÿ˜:uªCp Óé;v,»wï&..Ž_ý•Þ½{;äSP·nÝØ±cçÏŸg÷îÝ<÷Üsi7nÌæÍ›9wî»wïfðàÁÛ þ?~üxNž<)Á‰edëÖmLŸþ!!ÕÑëõøùúòØc½Ù°!¿õ‘Gzñõ7ß8^|/\ a£ÆdffòóÏ¿p_ûT ¢y‹–¬^ý)_{rõïÕÿ!¿¯ÜìÙ¯S¯^}‚«Vcøˆöa˯¦ÿhÕ*Z†…Ì}í;°sç.Ö¬YK«Öm¨D§N‰‰9êpL÷q‡…(ÅŽÒréR2Ñû÷Ѭeuë7 //“ÉDìÉÔªJÃÆMÑéuäææàäìD³–a8;»™gNN6š4G¯×a4æ\­:™™¸¹{ØÓdd¤“‘‘ÎåË©?Cµš˜L&‘GYd‘…ÒÅ˪ڸxá<÷wî‚Á`Àl6ãîîÁ=mî%þü9®LFñÒý_hÏ}ž¸q$œOÀàj rPeΞ8[¢çVðª@½¦õèñdí9Äøðñr&„(VëÖ­‰ˆ˜Èž={0 ÷›8q" ,t˜:œW^~™¸¸³lÚ¸½ûöØ›v¥¦\rhæµdÉ[D8Ào¿ýÊñcGquueæÌYûܲ%Š6púT,OôíË“O=Åÿ~þß~ó5gNŸ¢wïÞDLœX~Y£Øqî/œ‹#æÐAZµnCHZäædc1›AÓ¸œ’BHš˜Œy˜M&4› 4 Õj%7'»È<ý*pòø12321›Lœ‰=‰_å€üAW®I›pá•*ùR±bELÆ<™Ï@Yd‘¥”æAÑëÚÜÛgT«Õ¾¾BZ·»÷若yyy1õÿ¦²yÝf2.gжs[öþ±—­›·rxïa.Æ]Dµ=Z×Ùgqswcç/;ýüh«Ê˜¢XŸ|üªU«Æ„ˆ‰ÔªJ³æ-˜2u*ééùÍ~x 3öZ”Ó§Oó믿ñüˆ¸ºº‘””HjJ U«Våí·Þºîþ>ýì3æÍ}“   *T¨Àô×^cã¦Mi–,^Dpp0nnnŒùÙÙÙ,\°Àa]tt´ÃsÊ[_—Û·Ò°qSƒ«’“…ÕúWM¹ÅbÁ£‚'f³¹Äùի߀³§cùíçÍüú¿Í\Œ?O³f-°\ÓLÓ4Ξ9Mºõ±Z­2Ó½B”2›ÍV䨺ªªÞòLñ7âôw½¸]{püäqÖ|¸†îý»Ó÷¹¾d¦e’žšÎÅsùïºÿòÜÄçÐéc¦¿ìÀj±Ò¹Cg,g‰⺼½½™6íU¦M{MÓˆeÙòå<7l8_õ%“&F0cæ,ú<ösçÎcÜØ±ö&¬ÿg .bÞüxyzòÆœ7èÖµk±ûKHH MÛv뮆¼à0çW÷síº‚7ôw*«j-6ÈkÕ†îG¯×Û;²Û¿hœœ0›M˜L¦ïëðh*T¡Ió–èt:N‹á@ô~7mæð…˜”˜ˆ››¾þþd¤§•ÊÐôBñou3?$•%§¿sgc"¨P…y‹æQ¯i=ZÝߊ:!„Ô Áb¶°'jm:· 7;—½Q{¹|é2£FŒbäð‘rÖ!nŠ¢(Ô©S‡7çÌ¡Ví¿FÎëÖ­sÞ|“Ù³_gÏÞ=DF.µokÑ¢Ÿ}ö)š¦ñó/¿0nÜxºÅ)vlþñ‡[^®iZ±55k‡bU­DïßKƒFMð)€U¬äËù¸8*ùú–ø×¶ŒŒtîëØUµ’•™ƒŸeŽÁÓË›ô´¿†r?w–†cµZËE'„wöeÞño³Ù8°õ6ÆÍý¯¾èYYYœ:qœæa­(‹²t÷ Ðo߬ý†*ÞUøäOøú£¯ùãÇ?°ÙlìÞ²›ß6þƆÕXµxnŠ_¬þ‚Q#FÉĈBˆyôÑÞ|ûíw\ºt UU‰gæ¬YÜæ¸LŒ˜ÈÒÈH&Mœ„‹‹‹}ÛˆÏsüøq, š¦¡ªÝôz{{ë°¿¡C†1‘3gÏbµZ‰‰9Êð+ÍÅnÇÚIþz¼½+Ò¬eÇb“r)Ù¾¾FÍš?z„¤¤DÌf3ªª’‘™Á‘CŠÍËÝ݃ӱ'HOKÃl6wö4îïUjJ zŽªÕBòû²!„(Ý@A§£ZHÑû÷›— @fV&‡¢÷Z·®®†2Ù¯Ó?ñbkÖ¨ÉÛ ÞærÚe¶ü±…#G”@‹æ-¨â[…V·¢Óý¨ì_YÎ !ÄMyé¥yÿƒ™ôâ‹dee@çÎøè£ÒéõzjÕªÅSO=é°¾{î<;xgÏž%44”•+VÚ·=šìBNNŽ½ÈøñãxçwèÓçq eRr{Ò¡ IDATyèð~ òûôy´œBˆRÑ¡C:tèpÃt_¬[Ç+¯¼Œ““ãeðñ>}x¼OÑפ‰#˜81ÂaN§c„ L˜0¡ÈçÕÙ½$ëÊS'ùŽtqxìêæÊ½îǧ’/99ÙäæäàêæF½¸§U[\ EÁb±SL͇‡‡Mš·ÀËËgÌf‹C0Ó¼å=Tòõ%'[jO„¢,ùúùÑ QŽ:À=­Ûâëç_fÁÉ? !ÄßÍf³ñégŸqæÌú<ö˜ÈMÐ(¾JbÂE‡Ç‹…ä¤D‡uV‹…´ýGnÄj±p95åºiRSRäBˆÒºÎ_§–¼’¯/í;vÆÝÃÜÜœ2= P„ÿ*þ•¨^½~ð:N D!„(!EQÈËÍ-óý”«åôé£T ðA תC§æaV5¬ªÅd$ ÕˆÙ5 yª&#ÙNš‰ÓgãyúÙár– ñ/TÞæ¹£Ü ŠBˆr~™¿C®ñå&@9{ö½Ü¹té2™éX5}þx÷ª“ª€Õ†ÅjFÕT,f 6ÕŠ¦Z°Ø@5«˜­¬V+¦ÜÜ<+²æÓy¸ûcøúúÊÙ(„B!Ä¢Ü(•+y””ʈQ/aUÍØ«Q´üê&›fCAÁfSÅ:´™Öò»»º3°_/¼½<å Bˆº^!„wÁu^jPnŽ^ïD\ÜY|}}èÛ·ªjCÓ4t:£ÑˆÅ’?W›«+F“©ØyS|||˜=ûu n >Œ?^-g£B\‡¢(ùýu$8Bˆ»RÍZ¡$%&”z¾·Ú׳Ü(Š¢¡srFUm\¼˜@tt4ƒ½“žè?£9wî&“‰Q£FLff&:Î!Ô4 \ ÎhØ8x𰜑Bq£/E¡B… \J¾„»‡»ˆBˆÊËÍ¥‚§'6›íî PÌV£YÅÅÅ™O?ý”3§Ï èLf®®®8;9£ÓéøøãiÔ¨½zõÂf³9Dn Ë–-#6öšÍ ƒÁEÎ!„¸½³3AÁÕ8uê5kÖÆ£‚Š"#  !„(ZvvgNÅÒ¤Y Ì&ÓÝ X-yx¹¹°fÍZ<<Üðó÷CÓ4\óœ±Í(NŠ‚ÙlfïÞ½ìÙ³‡~ýûáìäLü…xLf›6mÀÅÅ€b³¢×Ý ,88˜øøxûã£GòôÓOó /0räHbcc™;w.;vì ''‡ 0zôhyä‘"óWf—>}ú4O<ñÌŸ?Ž9Š+Š PFE×®]Y¹r%ï¾û.ááálÞ¼¹ÄAFTT;v,”¾¨àF!JóËÆÅÅ/o/ªU«Ž"óÇ!„¸›Í†Ål¾¥à¤\(yV“ÙJHõj4iÒ„*Uª ª*:ƒ3Š‹3.Í:³ù§Ÿˆ%33‹ÅB»6íXüÖb\ ùMÀâ/Æp¥à²³²nŒ7Ž¥K—rÿý÷Û×/Z´ˆÑ£G3xð`ûº–-[òþûï›Wll,7nÄ`00nÜ8Þ}÷Ý›*ƒ¨¨(  g½âo§( &£ “Ñ$…!„¢L•›ŸÁÕŒªY1[,äææ¢×ë1 8k z“ÕfãÉ'Ÿ¤}ûödeeáææÆþýûiÒ¤ ¡¡¡„ÔáÞ{ï¥ÿþ¸¸0çå\w(µï¿ÿžI“&±zõj‡à`ëÖ­<úè£7uü]ºtaÙ²edff’‘‘Á²eËxðÁÒ4jÔˆ:tèÀÒ¥Kóçy¹Âl6³{÷nî»ï>9k…B!Ä]«üÔ ¨*‹Å>ïÉUWC EQÈÊÊBQ0\ øùùáåí…›«µkÕfÛÖm¤¤¦`U¯N¤R´Q£F±råJš4iRh[ZZÚMOð8sæLz÷îÍ¢E‹€üfY6l°o¿Ú\KUUŽ?ÎôéÓIIIaæÌ™ìÛ·:uêàíí-g­B!„¸k•›ͦ¢XÍhb MÓPŰ˜ÍfZ´hÁðáÃIKKÃb±P«V-7lL`•@Ì&3O<Ñ÷Ê+WÐ(¾eþüù¼ôÒKìܹ³Ð6RSSoêø#""èׯ111ÄÄÄðÄO0a„Béôz= 6dÙ²e¬[·Î¾>**ªPMŽB!„w›ò3ŠÙ‚E¥@L¡(ŠC3-åÊ(^žžž„……±}Û6ú>ò(ÇΜÂl6ãâìL¶–?¡£Éd¼î¤cO=õ>>><÷Üs,Y²„®]»Ú·µoßžM›61lذÿ®]»øøãú 4hРøÈQ§s%'**ŠiÓ¦É+„øGhš†Í¦¢©6l2a£B”+Š¢ ×ëÐéËÇ­ùiâeSQUc¡:«µ'×ö'iѤ)ÛcÑ5¯E¨fʆ^S¨Ù¥ObÎÌãzM¼ºvíʪU«6lééé<ùä“Lš4‰¾}ûb0èÙ³'îîîÄÄİ|ùòb;Ê×­[—ÈÈH†À{ï½G½zõìÛÃÃÃ7n¡¡¡\¸piÓ¦ÙGKOOçÔ©S„……É'Lñ'ªÕÊ…óç‰9r„Ëi—¥P„¢œÐétx{yS¿Aª…„àârçÏX~†VMXÍjþØÊ*8LÀX0Pü¡ÍZµiìfõ©\%× UPôz4ÀËæŠïÑD,-üئMÖ­[Ç AƒHMM%<<œZµj±nÝ:æÎËo¼A^^ 6$<<¼Ø|"##™2e Ë—/ ,,ŒÈÈHûöîÝ»3fÌNœ8¿¿?½zõâå—_`Û¶m´nÝggg‡< /|õ™EQÚl6‰É‰ü½ŸŽ FÍZèõz)!„(TUåÌ©“lÙ²½“žêÕCÐÝá×ðò3Q£ªÃ³bE’““Ù¸iªU%¿DCü& ùͶͦá¬è°Z­Øôн9—ÁÕ««NŠÎ!¨)èÚ›ü† ²ÿ~‡uuêÔáÃ?,ññשS‡õë×»½W¯^ôêÕ«ÈmÅõ?‘`DñwÐT•CÑéÔ¹ µ®L.+„¢|Ðëõ„Ö­ÞÉ™[·P97 PJÃÙóqøûðìÓOqþÜI¬š›ÕЦY°Xò‹ÉˆMÑ£©f,6òû¤ E3bSÍä¤åñPûXl4¥|´£ŽŠŠº©þ.BÜ9”›L­H‘݉ žžFHRBQNU­VôŒt¬ªõŽ?Ör ôxäIþûß ¸¸«tëٳт)'cž }r2Ùþþpæ,&Op2 $Äc¬\£1ì¼<üB2pò>MÊŸ-IÎLçð™Säæä–‹×¾cÇùT !þ¹EÓPU½^Ýù£„B”ҽ߶(ÚÞÛ¡ØÖ>·tÓï䄪ªåâ:îTžÞ¬®]{ràÈnF  ŠžFêâìb 8(óû£ ªZKÚe,yy¸Wô%yïtÎzlf•Ï>û“ì :çýäiY™ÙM2#²B!„ø÷(Š®<¨^¯§~h ¾ùf½½1汚ÍÄ91ÏHòÅâ’0[,ÄÇŪ1蜰(VÒ2’¹œÇå´t’Î_ 7#½ÐLîB!„Bˆ–Sy;à9 ç`pÖñÌÓ}PU [~_›šjÆj±b¶6 “j« _Uã¹gŸ!;7ƒ˜Ã'¨R5„¦M›!g€B!„E0›L˜Íæ׺(Š‚«›NN·b”»eÚ+SAƒÁÀgŸ~ÊŠ•+HLL"))1?Aò»:S¼¦AÓ&M0™L|óí·„„„\Y/m©…¢¤4M“ë¦BüÍ×Ýë‰%44´ì³™ƒ°mkÔƒ ''Z·mǃ]ºbÌ»½~Þå.@1¸ìÿ4ˆƒÝr^¥ÙñHq÷òõó'5å’„Bˆ;ƪU«5j+V¬`èСe íܱ鳿àêêZdš´´4¾ýö[ Àë3§Ñ½Ç#óno¿:y{…w‹†a4‹Ü–‘‘A‡û;’žž~Óù–fpâëçוûµUù‡¢Zµj,^¼Ø¾îرcôë×Ê•+ãîîNÛ¶mùꫯŠÍóĉtëÖ ///¼¼¼èÖ­'NœpØçµK¥J•ŠÍoóæÍ<ôÐCT¨PÊ•+óì³Ï’œœ\èu\]„âNNÆŽKóæÍ;v,«V­*³}©ªZlprþüy}ôQ^}õUöïߪª¥²O P„w6mÚòùš5E_ÌÿóÂÂZR±bE)¨[tµ‰×µKÁm;vì [·nÌ›7ˆˆ4MãĉtéÒ…|˜˜._¾ÌÛo¿Í_|QlžO?ý4íÚµ#..ޏ¸8Z·nÍÀíÛ-‹Ã²páB†^l~K–,aâĉ$$$pèÐ!¼¼¼ò+˜çõ^«,²È"Ëß±\ïºûÑG1yòd~ÿýwvìØÁï¿ÿÎäÉ“ùè£JœoiÈÊÊbРAœ9s†©S§rï½÷–ZÞå*@9}ú(æœDL9‰˜sIÏH&ór)—Î’˜xޤ¸œ;ιSˆ=v€£Gvpüà¢ÿÜIôÎßÙúǯìŒúÏ?ù@î4„¸ M?ž+V`³ÙÖ›Íf>üð#ÆŒÃÙ³g8p!!5 ®Jÿ'ŸâÒ¥¿jH|ýüY±b%Mš6ÃÏ¿²}ÝU%yþªÿü‡æ-ZR%0ˆN;sèÐ!‡||ýüòTU•Ù³_§^ýT­Vá#F•íðÊCÍËÏ?ÿL¿~ýøøã0`€}ýìÙ³y饗xá…ðõõÅ`0кuk¾øâ‹bó:vì/¿ü2+V¤bÅŠLž<™cÇŽ™Öl6³lÙ2ÆWl~?üðݺu³× Ì›7í۷ˇFQ®FV­ZÅ÷ßOXXaaa|ÿý÷¬ZµªØV¥!''Çáñ¬Y³ˆå•W^!<<¼T÷Un”³gOPÑÓŒÌlâ/&pîb2I ñ\LHâbB2ɸ”Drbç.‘”@JR “S¸”˜ÄÅK)\¾”Ä… qqucͧšš*gºw‘fÍšRƒ7:¬ÿúë¯iÙ²%¡¡µyzà ^ùÇŽåØÑBCk3mÚké÷íßÇo¿þBÊ¥äBû(Éó·mÛÆÿýžS±'éÙ£''5KM¹äÐllÉ’·ˆ>p€ß~ý…£GcpuucÖÌYåªì¿þúkžþy¾ûî»BC¸ÿúë¯ôë×ï¦òëÙ³' , ##ƒôôtæÏŸO=ŠL»zõj:vìHppðMSmÛ¶•¢\quu%**Š–-[:¬oÙ²%QQQÅ6ź]Ÿ|ò <ðçÏŸ`×®]¬Y³†û￟1cÆ”úþÊMCÛÊ•>ž¾}ûòå—_2}út sçÎ-“}•›E¯w"!á"Éɉ :˜¤ä$²³s0[̘Mf²²²ÈÎÉ&//E³‘k";ψNÓð¯äŽÅlæÙÐét>öçÝ»w3sÖ,:l¯®¾vD¿À*UŠÍ¿$Ï¿œ¸»»cµZ¯{Ì ´mÛÎaÝ8Ê jµbµZŠÜ¶ô·9r$Þ^^´oŸÃ¶J•*q1þU®S®×znèP xбW~™{géR†ÂÆÒ}ùÕW„††R»VM̦7mˆúãžþ>]ý 5Bªûœ’ä%„eíN¹=ûì³L™2…víò¿¯lŸºã_ (І¢wB§×£)púô4M#1)EQÐëô˜ÍfΟOâ‡wF²+æÛA¯(D¾Ø—N##IÉÈÃÍà‚‹ÁM±qðàa9ó…¸ M˜0ž¥K#éо=‘Ë–3nÜØ¿n|‡ gö¬Y<øàxzz’MšµJ~ã|›Ï/J@@›üÀÀÀ;º\54lÅt²ôÌ3øTòå©X±b={þÕ«S§N|õõ7Œ5²ÄûÚ¶};ëÖ¯Ã`ÈZþÅ_¤jÕj…ö¿hÑb.\XìqôÕW_1yòÖ®]CË–-¯û›Ì÷"„¸\{-2ôêÕ‹ мysûúèèh^zé%6nÜXfͼ®)“'O`ĈeöºËM³UÁlÕÐT•ä¤d’“’9wþ&“ £ÑHNn‹…U3òÚ?áì¤gúЇ™üìƒ<'<<œO?ýÔ¾}òäWX¼x1}ô©©—1ìÙ³—Aƒž)6Ïúõë³hÑ"ÒÒÒHKKcáÂ…4lØÀ!ÍæÍ›qss£mÛ6EæáééeÿéÒ¥L›ö6|G‹-n8ÊŒ"$‹,²Ü‰£x žyæ{¬ûöíGÓ4öíÛÏcõá™gžÁ`0”é(^Ï>û,o¾ù&mÚ´¡fÍš X-yèT3ªMÃj±¢ètŠ4PÈÿ_Q¬ª ߊ\œQ5 Õ~ÞèUSóß 4«½®è&×v´œFQ£F ºwï~Ýö̧NbÀ€„††Ê€8uê”Ã>¯]®uüøq{µÚo¿ýFÿþý©U«5b̘1¤¤¤È©ä77n,ãÆg̘ÑÛÞ~û-¦M{jÕCèýXÚ´n}SyßîóÇŒM—»8ãÇ£M›6ôy¼/U«UçùFÒ³GÏ;®\5Þзk׎70kÖlÞzëm4M£V­ZlØð?ÿü3Í›7#8¸*/¾ø"?þx±_¢ï¿ÿÛ¶m£^½úÔ«WŸ;wòþûï;¤Y´h1ãÇ+Q 1eÊTΟ?O«V­ñòò¶/YYYö4W×öÿåFIYd¹Ó†4h3gΤ[·ntìØ‰nݺ1sæL T&à ëõz‡ÑÁž}öY‡{â‚?àéõúRù¾)7M¼t6°¨ (›—‹ÍfÃl±¢Sû°¢#^_Cÿ®÷°}ÿ ~ÙyÕ¦R¿º/SVl$/7/¯ äåY1ÛT.&$Þp¿{÷îeذa̘1ƒ>}úpúôižxâ """˜?>9r„+VðÈ#™Ï¨Q£èÚµ«ý }÷Ýw góæÍö4ñññ×=–¨¨(:vìÀ{ï½ÇÈ‘#iÓ¦ yyy,^¼˜ððpÖ­['w§Býûõ£#Gõìуž×ŒU°šº¨Îè×Ýîó'NŒ`âÄÇë›NGÄ„ DL˜Pìë¹3:Éý—žžæ°¾Q£F=cÿr¨[·.«W¯.²V¦(uëÖeÆ ×MÿÃÿ½n+==íº5CťѤ©—âýa¨˜fµƒ&DðÖ[K4h`™\¯E¡M»{ycÖk7ìOéääDÛ{ï+•>”å&@ɳ*¨6°Z­dff’›kÄÃÝ™ÌLƒŠ¢`³Zypè@Ò+Q¥Ic<¬V½ž¤øî¯Æo¿%39 › ÙYY7 ÆÇÒ¥K¹ÿþûíë-ZÄèÑ£·Àš“Ñyxx0mÚ46l(Ÿd!D~QÊ »BÜ  äžØ®];jÕªUf×f7w7ìò0Ý{””ûûöí£N:x{{ÊûðáÃLŸ>Ï>ûL>ÉBˆ2ý¢”E!îœånUnͦ¢Ó¬˜Œf&»ÖõƒÈ5Z@/O‹þŧëÿàéÖ0±örËBѹ¡î!¥m-úzòJÐ4Å¿éóçÏ祗^¢R¥J…föññ!55•€€€DDýúõãùçŸòû L˜0µk×^©êiذ!Ë–-s˜¤,**Ê¡™ÙUÛ·og„ ¼ûî»Ô®][>ÉBˆ2ü¢”&^B!Š(vŠÙ‚Ùª6öí=G ‹;ñ 89é ¬ìɾCgsÿXš7a×Å=¼µým<\*–›Fçx¦å ªøT!Ç”ƒM³a²˜ó¿m‹ñÔSOáããÃsÏ=Ç’%KèÚµ«}[ûöíÙ´iÆ +ññïÚµ‹?þØ¡Jƒ ŠM¯Óéìÿ¯(Ó¦MsHóÝwß1sæLV­ZE³fÍäS,„(óE+p]BQÆ—Ýé5·ü4ñ²©¨V#NNÎ|ûã!Öÿ'õnLV¦…<Ž·§+ë’ÖòùÏÐ4 '½—2“IOOg¯æKE†¶Ê;[ÞÉí×kâеkWV­ZŰaÃHOOçÉ'Ÿ`Ò¤IôíÛƒÁ@Ïž=qww'&&†åË—ÛQ¾nݺDFF2|øp ®zõêÙ·‡‡‡3nÜ8BCC¹páÓ¦M³–žžÎ©S§ú˜¼ûî»|øá‡|ñÅÔ©SG>ÁBˆ2£( z½Õ¦J ŠBü êÖkÀåÔÒ>BUUôz}©Œ²%Ê:Õ„ÍbÃj5ãææ‚-ËF«°êlÛ~OOÐk8ë]p×;cµZ1«fT³Š—›Ç’qø|þ¬ñn®nج¶}ѶiÓ†uëÖ1hÐ RSS §V­Z¬[·Ž¹sçòÆo——GÆ /6ŸÈÈH¦L™ÂòåË sèðÞ½{wÆŒÉ'ð÷÷§W¯^¼üòËlÛ¶Ö­[ãììlO?kÖ, †æ‚Nœ8‡‡‡|²…¥ ÞÞ>œ;Gå€ÊR BQ]NMÅǧ’(¥Éªêp­PW7w²²rQ€I¿ î®ä™LøøTÄh5’–ž“^‡jUqvvÁà䊇‹UU±¨V¼+Vü‰‹pí|$ 6dÿþýëêԩÇ~Xâã¯S§ëׯ/v{¯^½èÕ«W‘ÛŠêr£9S„¢Ô½žFM±k×vZµn‹ŸŸ?z½N F!ÊUµ‘’r‰½{vÓ¼y œ]$@)-gÏÇáíéÉ{Ë"‰?…UÓMÅf³`6i( ss°)zt¨˜-* Ãh2¦`ÕòPU Æ,AAU0šhJùhªuSý]„¢4ét:‚ªcnlæÀŸ’™™ªªR0BQèõz*zW¤Q£Føùûâr¥?´(¥ Ç#OòÃP•,Úw¼³Ñ‚)'cž ]ò%²ýüPÎÆaòô½%ñFÿªMF²róð¯‘Þë)Ñ-IÉÊäÈÙÓäæä–‹×¾cÇùt !þ1Š¢àäìLÍZµFUUrX!ÊÑ5\Qœœœ0¸º¡ÓÝù5àNå©€~¸'ŽìfÄ‘ èiÔ¨.Î.‚ƒ9} ªU±d¤cÉËý¢/ÉîGç¬ÇfVY»öO²3,蜧idefç×®!„(Yâ䌓“³†Bˆ2U®ëõxO" IDATzꇶà›o6PÑÛcž«ÙLÜ™ÓóŒ$_L >! ³ÅB|ÜY¬ªƒÎ ‹b%-#™ËÙq\NK'éür3Ò Íä.„B!„øg9•·ž³pgÏ<ÝUUаå÷%±9¡©f¬+f+`Ó0©f°šðU5ž{ö²s3ˆ9|‚*UChÚ´)r!„B!Ê­›öÊTÐÀ`0ðÙ§Ÿ²bå “HJJÌOP IôÕ™â5 š6i‚Édâ›o¿%$$äÊzi?-„B!„(·Áàò×È bà A·œWyZ!„B P„Bˆ6}÷‚Bˆ›öHï> !„(Ï>7B A!D‰}òÑû·ô¼r œ>}”ª>h€äZuèÔ<̪†UÕ¡˜Œä¡¡³1[À¢æ¢S!OUÀd$ÛbÃI3qúlˆBÜåÊÍLòŠ¢¡èÐéõh œ>}†¤¤$Ž=Êé3§¹|ù2ÙYÙœ=s‘åcôãíhß´š×bËòѸ8)dçæa±Xp18£)6<,g€BÜ„‘#GbµZY¿~=gΜá?þà±Çã­·Þú×”A||<.\àÏ?ÿdñâÅFzè!Ο?/'H)›ú(_}õðW Cpp°ý€¸¸8† B:u¨Y³&$%%ž=88˜O>ù„Ö­[ÂÃ?ÌáÃýˆd2™ˆˆˆ 44”fÍš±|¹ãûY’üß{ï=î¹çªV­Z¢püÛ3I&Ig¸¯pHV@@\…AA‚B@ dqý¡° ‚ˆš„K…uÅ V×3œá&Ž ¹¯¹º»~Df’p¹ë&ò~žgfªª«»kŠÉ¼ÓU]Ý=ïí¡C‡¼¶¹øqÞ_|Áܹs #,,Œyóæ]2@¹Ü{zaÝå¥]ëñ_ªM„¿ãEwÛ±. S¡»u4«†E³€Ò皦¡&5«aóóÅP ÄzµB±h†2JWW t7VKù 5^üvèÐ!:tèàõ!’’BTT‘‘‘4mÚ”¾}û²qãÆ ?55•#FADD#FŒ 55õŠ> Ï;|ø0ݺuàË/¿dðàÁ4kÖŒÈÈH&MšÄ™3g¤G q;vpß¡Ì{j“'GKƒütîÜ™Ç{Œ;wb·ÛËäŸ^”žžî5ÔèÁ$**Š}ûö±wï^Z´hÁܹs½¶Ý²e ëׯçСCüùÏæ±Çóä½øâ‹dgg³uëV¾øâ ~øá¯m¯¤þÝ»w³yófN:uEu^x€ï¾û®Ü¼iÓ¦ñ—¿ü…#GްnÝ:’’’Ê”ù׿þÅÈ‘#Y°`QQ¥w™|õÕWÙ¿?›7ofïÞ½øûû3þü Û¹¢¶¿T=åY´h‡fóæÍlݺµÌß–­[·òÕW_±uëVÎ;ÇÂ… ½ò¿ûî;>øà:Ä Aƒ5j_}õï¿ÿ>ÉÉÉôïßßë½=¼ééé¼ð Üyçž<¥T¹ +òŸxO¯öø¯¤M„WéÑè‰J)¥²³Î©ì¬sª²ÊÏ<¦¾ýê3Z]õïß_5kÞLÕ®SWÕ­®êÕ«§ÂÃÃUxx¸BóSÃþ|‹|[GÕ÷–vª÷ÍmÕø=T@`‹ Q¾¾¾jåë ªiÓ&åî«~ýúžç;vìPíÛ·W~ø¡'-55UýñTÿûßUvv¶r8*))IEEEUxüwÝu—Z¸p¡ÊËËSyyyêùçŸW½{÷.wŸY±b…úë_ÿª”RjÈ!ê“O>Qyyyª°°P½üòËjÀ€Jˆÿ¥óŸ#ÙYçÔ˜9o«vd©|{F­úú´zãËSjÅ¿Nªe›O¨—?>ª^ZŸª^\—¢žÿàˆZ°ö°zæýdµä“cjÌœ·½ê¹ð±úïo”ÙÏÅ@egSüs­ª[·Žúðƒzå§Ÿ:©F¥‚ƒƒUpp°3f´J?uÒkû_|A5iÒDùùù©6mÚ¨M?Vñq¯ª-š+___Õ®ÝÔw‰ßþªm23ΪéÓ¦©Zµj©€€5hн*-í˜W ¾¨5jäÙþ›¯¿òä]ø8¿MÒÎêÏ}ú¨jAAÊf³©^½z©äC½ê|æé§Uýúõ•¦ieÚìR7ßX¡”R*//OÍŸ?_ÝvÛmªY³fªsçÎjöìÙ*77÷ª>ÏJJJÔþð¯mrrr¼ò5jäyݱcGuôèQÏë”””Kî§¼úÏœ9ãUæjë¼Ô¹¹\.Õ¸qãrËÝtÓMjåÊ•*==½ÜúV®\©:tè vïÞí•×¹sgõóÏ?{^gffªöíÛ_òXÊK»\=ëÔ©“JII©ðü/l³ÔÔTÕ©S'¯üììl¯÷¡¼´ ßÛó¾ýö[Õ»woUXXèI›0a‚š1c†ÊÍÍU¹¹¹*&&¦Üm¯ô=½\›]Ëñ_®M„¸ž½ùÆŠKþm9uò¸Zý÷7<¯÷íÙ¥ž¨ªÌ»®a˜ ë:””8 ôÅí6€Ò ‹Ê0è5v$y7ÞNµ 3©õÈc„Oy’Œ[îåÖ‡'Þ´1ºîÀ4 ¨°ð’ûLLL$**Џ¸8 äõëÒäÉ“yðÁ©Q£6›Ž;òÚk/F“’’”)S %44”©S§’’’rUm˜˜È­·Þ ÀÚµkéÛ·/¡¡¡T«V‡~Øk8„׳?þ˜©Ó¦óî;ïÒ³gO¯¼ žåìÙ³ìØ¾íÛ¶rêT:Ï>ûœW™o¿Mäã ëIMù™!÷ÝÇýÃGð¯/¾`݇r45…÷ $fFì¯Úfñâ—Ù³w/_õ%‡Äß?€§æ=åUç?üÀ§Ÿl"5ågîîw·gûì¬sžÏ?x`ä(™øÉɇH>tˆˆÌž=ǫΤ]I|ýÕ—d˼¦¶ eÖ¬Y|ýõפ¦¦òÎ;ïPRRÂĉ/{5ëÞ{ï%""‚ Ann®W™°°0Ïó€€ Ãð¼ÎÌ̤qãÆž×Mš4¹êúÃÃý^_®ÎK]ѾXff&5jÔ(7ïµ×^ãÛo¿¥wïÞtëÖÏ?ÿÜ+ÅŠ :”o¼Ñ+ýìÙ³ôìÙÓs 7Þx#ÙÙÙWýž]m=eÚâB¶YãÆÉÌôîK¶C@@@¹i¾·GŽaÖ¬Y¼ñÆT«VÍ“þÜsÏ‘——G§NèÙ³' 6¬°¯ä=½×rü—k!ÄÕ©:“ä ºéFÓ4 ‹ q¹ ¾ÔŸqã;“›oÇbѰøø ¢\…„Ö #¨F0!u¨ìGQq5k¢te*”î*÷Òñy›6m"66–·ÞzËœ÷ý÷ßsÏ=÷\Õñßyç$$$PPP@~~> ôêÕË«Ldd$Mš4¡GÄÅÅy}º\.¶oßΟþô§2u—””ðÆoн{wéÑBQfÁügøãÛ—ÉûàÙÿÌ|j×®M:uxvÁ>øðC¯2‹_ZDƒ  ä‘G¦¨¨ˆ…/¾è•¶gÏž_µÍê·ßæ¹çž¥~ýúW«ÆœÙO²qÓ&¯:_|áêÕ«GPP“'G³ÿþKž÷?|Ï­=z@HHO>ñ_óW™§Ÿ~šZµjy¥]ä\Õ粦ÁÓO?ÍÖ­[/YvâĉŒ;–]»vqêÔ)’““/ù|±:uêpâÄ Ïë Ÿ_ký—«ó¡G—óÎ;ïxîbv±o¼‘¿ÿýïìß¿Ÿgžy¦Ìð >ø€7–™/Q·n]vîÜéu燧]«­§nݺ?~¼Âü ÛéäɓԮýëæCeeeÅâÅ‹=óƒ. Þxã RSSÙ»w/õë×/÷ïà•¾§V«ÕkhbNNÎä3ç?Ý&BH€REØ ÝíÆ­ëäçÆò—¶±û‡tÚ4¬MAM™ßô/|Žçoë&0ßÀ÷lE[p<) ?¦2qé&¥ëÑ—oÒ¤IÌ›7víÚ•ÉËÍͽêÏOì»á†hÛ¶-ï¿ÿ>O=õ”ן~ú‰£G²|ùr½ò“’’hÙ²%¡¡¡e~ákÙ²%+V¬`Þ¼yÒ£…^Z´ˆé13øñÇ-eòÎ;GÓ¦ÿþUµiÓ&œ;w®Ì—¢óËMÓuýWmsæÌn¾¹5kÕ¦f­ÚÜÐ6²Ìq\xE¡¼}^lûöíÜÝ¿?›4¥f­Ú4jܤÌ/åõ.ºŠpµî»ï>6lØÀ¹sç0 ƒôôtæÏŸOÇŽ=eBBBÊ\!v8øûûc³Ù8qâD™/é—sï½÷2oÞ<²³³ÉÊÊâoûÛ¯®ÿru^öï’ÝΘ3gï¾û.3gÎ,·\tt4GŽÁív£”*óë{ýúõùàƒxï½÷ˆ‹‹ó¤=šÇ{Œ´´4t]çСCLš4é’í\^Úåê¹ØÐ¡CyòÉ'9}ú4ùùùeÚå|›egg3wî\¯×bìØ±L™2…Î;—É‹åôéÓØív>ûì3^zé%bbbÊü¼Ò÷´mÛ¶,]º»ÝΙ3gxüñÇÿ#Ÿ9ÿé6B”*B™¥ãt¸ˆú'–,Ì“±½˜ó—»X•0Œ÷Dr:'ƒÎ :ñt‹)ôÿÚŸÁ;jrOb ãroâÉ›c1ÎO’W&ŠŠ]{á…˜9sf¹¿ †……]õeö˜˜†ÊÁƒ9xð C† aúôéeÊY­VÚ¶mKBBkÖ¬ñ¤_8¼ëâ_ø’““;v,3fÌ-0räÄŽÊè1cøô³Ï¼òj×®íõëpZÚñ2W~ uëÖåÀþ}žaZÙYç®yØÕyãÆG5>Šû÷‘u.“´cG¯ê*Å•~–­_¿žž={Ò´iSˆÝngùòåž2'N¤oß¾^_-ZÄܹs‰ˆˆ`èСå~½”™3gJ—.]¸ãŽ;<7 ù5õ_®ÎŠ4hЀ† Ò¾}{bbb°Ùl|þùç4jÔ¨Üò}úô!**ŠˆˆæÏŸï„œÎ?ÿùOþùϲxñb¦L™B—.]6l-Z´`òäÉüùϾd;——v¹z.6cÆ Z¶lÉ]wÝE·nÝÊ qëÒ¥ ·ß~;]»v%,,Œ¿üå/¿ªOíÚµ‹˜˜˜r‡ÔuîÜ™þýûÓ®];Þ|óMV®\IDDÄ5¿§ç×ðiݺ5¼äÕ˜«ñŸn!®wÚ£ÑÕ« KÉÉ.½cšµ*å?¼‡}ÉG¸çÞáŒyýoiCú™|||¬Ô«Ìÿ-Û@¯:ƒhß nÃÍË?¾B_5rKr¹½émŒî8Š‘oޤØYLaI!‹^œÏü/’“[îŸôôt6oÞLLL ‹/¦OŸ>žüÉ“'Ó±cGÆÅÇ߬Y3’““±Ùlž_ûn¸áŽ;Vnù¬¬,þô§?yîVr÷Ýw3{öln¾ùæ ÉkÛ¶m…õ ñ[8ÿ9óêç Ї‚7†©0Mó——Žiª2é5‚mlÝú#‹§ö.·þO7n`äƒã¼ös±šµj{†,mÙ²•1>ÈSóæ2bÄžœ=›ÔÔT^}å•ÒÿÏS¥uëV<ýËË ·/¯ÎòÒ®e›Å‹_fÛöm<»`5âÈ‘#¼´x1¯ÿ2—írÛ7oÁæÍŸÑò‚/k-[ñꫯÐëŽ;8sæ Ï̟Ϻu]ò8/•~¡ë×1fÜéä×¹ßó"œÒ&BüçýcåkôXñE»½„o¾ü‚¾ýK§N¤Ÿ:Ék+VT¡!^¦¡;ðññå£Ïöóàï²ýä 6ï=ÂðØwÈ9«³fÿ{<þÉã<ùÙ“äç’–u”ã§±óØ6ØÈØ®c1• €Ò—âuþW¯U«VËûï¿ïI%>>žÕ«W“››‹Óéd÷îÝL˜PñïV­ZO~~>ùùùÄÅÅѺukO~tt4ÉÉÉèºNZZ111ôïß(]I755•N:yÊO:•Ÿþ]×ÉÌÌä…^ðÊB@·n7óѺyfþââãxbÖ,j×®ÍM»pSç.„‡×eÖÿýßo~lÓ¦M¥k×® | 5æáG&rw¿»¯xû)“'sg¯;½ÖCyå•—™={7aགྷèÚ¥‹t!„UŽOU9P‹áÄt›èº‹€?ÌB“ÎóÃÇö«Â×êG Õ]×q. —AH@É™É8Yz‡«ÿÒ;r˜ºyECºvíÊš5k5jÙÙÙDGGÓ¼ysÖ¬YÃsÏ=Çüùó=W/¢£+^g!>>žY³fy&AvêÔ‰ø_¾0ôíÛ—)S¦päÈj׮̀øë_ÿ ”ÞɧK—.øúúzÊßu×]Lš4‰#GŽP½zuî¸ã¯uZ„¸^]|% 22’Ÿü{ry@@¯¾òŠç Êå¶¿’´kÙÆb±3}:1å õ¼’íg̈aÆ ï±øw÷ëÇÝýúy¥]øÃIEWI®u’¼Bq](ºaÁ¿Z5ü),,Abg¬‹Iµ@ìN'aaÕqèróòñ±Z0t__?l>þùY1 ·¡Z½:(Jz,ÇÅ—jÛ¶mË®]»¼ÒZ¶lÉo¼qÅÇß²eKÖ®][aþ€0`@¹yåÍ?¹Ty!„â¿A†2I›!ÊÒN'48˜ ñ¤§§¢+ ˜¦éÆåTh8JŠ15+ \n°àp:AièÊŽa¸qšÔ¯ŽÃå@iªJœ{bbâUÍwB!„B”ÿ²~ýïçÓO7`h…tïy+.‡gq»Kæ9ŠjÕBK;Ž38¬6´³§pÔnˆÃé °ÄNí¦ùXCRÉÚÓ‘¬Â~J;JIqI•8÷-[¶HOB!„ T6½{ßÍÞŸ¶3ᡉ Y‰Œl…¯ŸõëqrÏ>ê7lˆ;?·ÝN`õšdîÞ…Å׊é2xï½Ýå»±øîÅ®…E¥WW„B!„•†¥*¬Õj¥MDÖ­Û@õÐPvºËÅñcGqØdž>Cú™ \n7éÇÓÐ 6‹nM'7?“œ¢ãääæ‘qò%ùyeVrB!„BüoùTµ^°p6_ £„ah(ÌÒ¹$¦Êp¡»u\:`*œ† t'5 Ÿ1£)*Éçà#„7lâY`K!„B!Ê5›ýø Àf³ñöêÕ,]¶”³g3ÈÈ8[Zà‚yïçWŠW Ú·k‡ÓédÝGѤI“_Ò•ô!„B!$@¹v6?›çùÈQ£9jÔ5×¥išô!„B!*‹4B!„B!„B!„¸H•âuôè!Ö CP¢[°v\†B7,hNvÝË n£‹vC§ƒ"·‰rr4-ÆDÉ»/„B!„(×&-íÕƒÈ/(¢°¨+†a  7.ÐnÝ…¡ ÜnÓÐÁp£› »MܺÝíÆå(ÁÏ?€wW¿Nテ¨Y³¦ô!„B!$@¹:uj‘ÏBfÆY e ) 4°hnCÇb±`*e”ÞË4MLLL]a±j`*\n:tdÚć – „B!„(WÏjõáÌ™ÓdfžeìØÉÈÌ ¨¨—Û…Ë颰°¢â"ìv;š2)*qRdw`QŠÚ5q»LLeb±XØ·oÁÁŒÏ›o¾%½@!„B P®Ž¦)4««¥ÁÑ£ÇPJq6ã,š¦aµXq¹\œ<™Á§¯NdÛÁü°ÿVM#þ/÷qÛÄx²òíØüð³ù¢4“}ûHB!„B”«çÒ5\ºB™™dfdbwÚ½[T°jîHæ¼þ9÷ÞÉ߯öÆ0Mz?ºŒ˜nãËí‡ù2éÊ4ÐÝ`³ùIâ7ôáÚ÷ʤÝÞg 4ŒB!<ªÌm†u·‹áÂ0º[G³jX4 (Ð(}®iºaR³z6?_ ¥0L¨W+‹¦a(£4 Q t7VKù 56hÐÀëõ¡C‡èСË–-󤥤¤Edd$M›6¥oß¾lܸ±ÂãOMMeĈDDDÁˆ#HMMõÚçÅ‹>|˜nݺy¥åääйsçrË QÙ :œ{ﻟ?¸Þw¦WßAÒ(B!„¨šŠÅ·š%öLÓÄåÖ9Å4M”RLxæ]Bmü¸ëÏ­ÚÌsÿ”6k2kéÇlþá'üý|QJá2 NŸ9{Ùýîܹ“áÇ3gÎ&NœÀÑ£G2d=zôà»ï¾ãðáÃÌŸ?Ÿõë×WXϤI“¸é¦›HJJ"))‰:íU&==Ýëq±ÄÄDzöìé•¶páBÆŒ#=Y!„Bü.T™!^v]Ã0A×u ()qèKA›ÍMÓ0u^cG’W§>áíþ@®£Y­d¤ŸáÖfØûÑGdf”4^rŸ‰‰‰L:•¸¸8n½õVOú¢E‹˜ø '­cÇŽ¼öÚkÖ•’’ÂÇŒÍf`êÔ©,_¾üªÚ 11‘#Fx^ÿüóÏ|óÍ7|õÕW<÷ÜsÒ›E¥'C¼„Bñ» P4Ã…nºÑ4ÂâB\nƒ„%Ùºåñ ?R3,||ÐQ®BBë„áv8ð±Ùpds2¥€Àš5É?}e*”îòž¿r‘M›61wî\Þzë-Úµkç•÷ý÷ß3gΜ«:þ;3„„¢¢¢PJñúë¯Ó«W/¯2‘‘‘Ѹqc† Ftt4V«—ËÅöíÛ‰÷”ê©§˜9s&þþþÒ“E•0xèpLSáp阦Â0¦iJÃ!„¢ê(vÃ@w»që:ù9…D„‡±ü¥m˜¦I›†µI=“Mp/Ç7ý‹ˆŽ7oàSâÆ7Àß³Em=ÀñýIV ÆYRŒK7)]¾|“&MbÙ²ee‚€ÜÜÜ«^àqÞ¼y 8E‹¥sN6lØàÉ??¤Ë0 >Ìßþö7²²²˜7oIII´lÙ’ÐÐP ôjJNN÷Þ{¯ôb!„B!ÊoM™¥ãt¸ˆú'º´©O‰Ã B‚m,ú{"«×~Ç]î`F‹)”|]ˆf @ÜÜDÖÍͺÿ~8?I^™(*¾‚ò /0sæLjÔ¨ÁÍ7ßì•Fvv6uëÖ½â㉉aèС<üðÃ,_¾œéÓ§óÞ{ÞC^¬V+mÛ¶%!!ž={z”ÄÄD¯afóæÍãÙgŸEÓ4éÅ¢Ê!^B!„øÝ(šËKW€IÒÎÔó $ýL>>>VêÕ &iÿ1¦Üú(í´cÛé¼üã+ùU#·$—Û›ÞÆèŽ£ §ØYŒ©Lœn\bˆ×ðáà cܸq,^¼˜>}úxòºwïÎÆ?~üÿ¶mÛxóÍ7½æ Üpà –·X,^C_™={¶çurr2ƒyß©AƒåN®¢²!^B!„øÝ(vÓÀÐøøøòÑgûY»i7÷ü…n>ûì0¡Áþ¬Éxwö¾R «ç 2ÉËËc§ "̯:c»ŽåÕo_@éŠK ñèÓ§«V­büøñäååqÿý÷Ë}÷݇Ífãî»ï&00ƒ²dÉ’ 'Ê·jÕŠøøx¢¢¢X±b­[·öäGGG3uêT"""8uê³gϦÿþäå呚šJ§N<å/D$8B!„ ü†,†Óm¢ë.ü0 M:wjÌ?#8ج _«V_t]Çe¸0\!!$g&sàdéªñþ˜ºyÉIòçuíÚ•5kÖ0jÔ(²³³‰ŽŽ¦yóæ¬Y³`>)´ IDAT†çž{Žùóçc·ÛiÛ¶m™Û_(>>žY³f±dÉ:uêä5á½oß¾L™2…#GŽP»vm À_ÿúW~øáºt邯¯¯ôX!„B!Je ü«UÃ? ÂÂ4 vÆz°˜T ôÇîtV‡î 7/«C7ðõõÃæãOŸÃ0p:¡Õ«ƒ¢t¡Çr\|%¢mÛ¶ìÚµË+­eË–¼ñÆW|ü-[¶díÚµæ0€”›wñü“+9f!ªºï¾ýš>}ûSRRìy.„B P*´“Ç fEB<éé©èʦiºq9šŽ’bLÍŠ—Û,8œNPº²cn…&õë‡ãp9Pšª瞘˜xUó]„ø=¸0 ‘àD!„¥Òé×ÿ~>ýt†VH÷ž·âr¸qçá°;±dž£¨V-´´ã8ƒƒÀjC;{ Gí†8œ KìÔnš5$•¬=É*,à§´£”—T‰sß²e‹ôTqÝ))).÷¹B!$@©4z÷¾›½?mgÂCA³Ù _? ê×ãäž}ÔoØw~n»Àê5Éܽ ‹¯ÓeðÞ{»)ÊwcñÝ‹]) ŠJ¯®!*%â%„B\Ÿ,Ué`­V+m":°nݪ‡†â°;Ð].Ž;ŠÃî óôÒÏdàr»I?ž†n8°Y|pk:¹ù™ä''7Œ“§(ÉÏ+³’»¢ò!^B!Äõɧªð‚… °ùZýÀ CCa–Î%1}P† Ý­ãÒSá4\ ;©i(ÆMQI>!¼aÚ·oOLLŒô!*)â%„BH€R%Ì~ü P`³Ùx{õj–.[ÊÙ³ddœ--pÁ¼÷ó+Å+íÛµÃét²î£hÒ¤É/éJz€•” ñB!$@©l~6Ïó‘£F1rÔ¨k®KÓ4éBTR2ÄK!„E!* â%„B\Ÿ,ÒBˆÊè»o¿&00¨Ìs!„Bü¾U©+(G¢aÝ0 %º‹aÇe(tÂæt`GaѸÜà6J°`74p:(r›ø('GÓÒy`L”¼ûBTb2ÄK!„¥RKK;Bõàò Š(,*ÄÄŠa(ÃËt…[wa(·[Ç4t0Üè&èn·îFw»q9JðóàÝÕ¯Ó»ï jÖ¬)½@ˆJH†x !„ Tjuj‘ÏBfÆY e ) 4°hnCÇb±`*e”ÞË4MLLL]a±j`*\n:tdÚć – D%%wñB!$@©Ô¬VΜ9MfæYÆŽ}ŒÌ ŠŠŠq¹]¸œ. )*.Ân·£)“¢'Ev¥¨]#·ËÄT&‹…}ûöÌø¨ñ¼ùæ[Ò „¨„dˆ—B!J¥¦i ÍêƒÅjEipôè1”RœÍ8‹¦iX-V\.'Ofðé«Ùvð?ì?†UÓˆÿË}Ü61ž¬|;6?ül¾(Ídß¾Ò„¨¤dˆ—Bq}ª2wñré.]¡ ƒÌŒL2329qòN§‡ÃAqI1n·›UsG2çõÏñõ±ò·±½ù¿1½èýè2b¸;:µ¤ÄéÄ0 t7Øl~Ò„¨¤ä.^B!„(•šî¶c1\¦BwëhV ‹f¥Ï5MC7LjVÂæç‹¡† õj…bÑ4 e”®¯@én¬–òjlР×ëC‡Ñ¡C–-[æIKII!**ŠÈÈHš6mJß¾}Ù¸qc…ÇŸššÊˆ#ˆˆˆ ""‚#FššêµÏ‹;|ø0ݺu»âòBTe2ÄK!„¸>U™!^Üh”ØK0M—[Ç¢ihZé„x€ ϼ˰>7ñã®#|¹õ' Ó MãšÌZú1ö;!!Õ°Ûu\¦Áé3g/»ß;w2~üxæÎË Aƒ8zô(C† !&&†^x   ~úé'–.]Jÿþ呚4i}úôñ9Ë—/'::šÍ›7{ʤ§§_òXéٳ痢*“!^B!„(•š]×0LÐu‚‚JJúRPàÄfóAÓ4L]§×Ø‘äÕ©Ox»?¤ëhV+ég¸µY'ö~ô™˜^6 ˜:u*qqqÜzë­žôE‹1yòd|ðAOZÇŽyíµ×*¬+%%…?þ›ÍÀÔ©SY¾|ùUµAbb"#FŒ^+® r/!„âúTe†xi† Ýt£i…Å…¸Ü _êϸñÉÍ·c±hX||ÐQ®BBë„T#˜:aT ö£¨¸€Àš5Qº2Jw•÷ªÀ¦M›ˆå­·Þò N¾ÿþ{î¹çž«:þ;3„„ ÈÏÏ'!!^½zy•‰ŒŒ¤I“&ôèу¸¸8 Ãðä¹\.¶oßΟþô§+*/DU'C¼„BˆëSÕ¹‚bèn7n]'?§ˆð0–¿´ Ó4iÓ°6©g² òåø¦Ññfò |JÜøøà{¶ˆ¢­8¾?‰ÀjÁ8KŠqé&¥ëÑ—oÒ¤I,[¶ŒvíÚ•ÉËÍͽêçÍ›ÇÀY´hP:‡dÆ žüóõ ÃàðáÃüío#++‹yóæ””DË–- ½¢òBTu2ÄK!„¸>U™+(Ê4°(§ÃEìÔ?±dá`žŒíÅœ¿ÜŪ„a ¼'’Ó9tnЉ§[L¡ÿ×þ ÞQ“{—{OÞ‹p~’¼2QT|å…^`æÌ™lݺµL^XXÙÙÙWuü111 :”ƒrðàA† ÂôéÓË”³Z­´mÛ–„„Ö¬YãIOLL,s%çRå…¨êä.^B!Äõ©ê¬ƒârãÒ`’´óõüI?“•zu‚IÚŒ)·>JûíØvz/ÿø A~ÕÈ-Éåö¦·1ºã(ÂÃÂ)vc*§ÛU¬T`øðá„……1nÜ8/^LŸ>}ùùùÄÅÅѺukO~tt4ÉÉÉèºNZZ111ž;‚åå呚šJ§N®¨¼¿%%Åž¡]>B!„(•ã@ '¦ÛD×]øaU:wjŒÍf!8ج __?BC²¡i†Ë $ „äÌd±˜g?{Ö ˜ºyÉIòçuíÚ•5kÖðüóϳdÉš7oΚ5køú믹å–[hݺ5O<ñ¬°žøøx¶nÝJÇŽ騱#;vì >>Þ“ß·o_¦L™BóæÍ¹ï¾ûhÑ¢Ï<ó ?üð]ºtÁ××÷ŠÊ ñ{ C¼„BˆëS•â¥ü«UÃ? ÂÂ4 vÆz°˜T ôÇîtV‡î 7/«C7ðõõÃæãOŸÃ0p:¡Õ«ƒ¢t¡Çr\¼¾HÛ¶mÙµk—WZË–-yã7®øø[¶lÉÚµk+Ì0` (7¯¼ù'—*/Äï ñB!$@©ÔÒN'48˜ ñ¤§§¢+ ˜¦éÆåTh8JŠ15+ \n°àp:AièÊŽa¸qšÔ¯ŽÃå@iªJœ{bbâUÍwâ÷@îâ%„BH€R©õë?Ÿ~ºC+¤{Ï[q9Ü8‹ópØX2ÏQT«ZÚqœÁA`µ¡=…£vCN…%vj7ÍÇ’JÖžŽdðSÚQJŠKªÄ¹oÙ²Ezª¸îÈBB!„(•^ïÞw³÷§íLxh"hV"#[áëg£AýzœÜ³ú âÎÏÃm·X½&™»wañµbº Þ{o7Eùn,¾{±+EaAQéÕ!D¥$C¼„B P*=«ÕJ›ˆ¬[·±cÂaw ¡qüØQ\nƒÌÓg(q9©@îñ44L‚m¡hNró3),*À‚/……eVrBT2ÄK!„¥JX°p6_ £„ah(ÌÒ¹$¦Êp¡»u\:`*œ† t'5 Ÿ1£)*Éçà#„7lBûö퉉‰‘ D%%C¼„B Pª„Ù? l6o¯^ÍÒeK9{6ƒŒŒ³¥.˜÷~~¥x¥ }»v8NÖ}ôMš4ù%]I¢’’!^B!„(U‚ÍÏæy>rÔ(FŽuÍuiš&=@ˆJJ†x !„×'‹4¢2’……B P„¢Ò!^B!Äõ©J ñ:zô 놡 (Ñ-X ;.C¡4§; ‹îÀå·Q‚Å»¡ÓA‘ÛÄG99š–Îc¢äÝ¢“!^B!„(•ZZÚª‡rî\ùyèÊŠa`¸pè&nÝ…¡ Ü.7¦¡£ 7n —Kw£ë:Î’b‚«óîê7èÝ÷^jÖ¬)½@ˆJHîâ%„BH€R©Õ©DFF6&ÍD7\x.£¨ÒÉî¦2ÑÐ0MÐj}†={ö`³Ù°úXÙ³{'NœÀét2iÒ$4h@AA‹Åk­¥AAAøÙ|Q˜ìÛw@z€•” ñB!$@©Ô\º†ÃeàççËêÕ«9vôšEÃérâïï¯/‹…7ß|“ÈÈH €išX,ÿ¾Q™†FBB))©(Ó›ÍOz€•” ñB!$@©Ôt·?Þ}÷=‚‚¨U»J)üí¾˜šÍ‚¦ár¹Ø¹s';vì`è°¡øúø’~*§ËÉÆð󳡙:VKùÃÀ4h@zzºçurr2#FŒ`âĉ<òÈ#¤¤¤ðüóÏóã?R\\LÛ¶m™ù„ž={zò¾ýö[úõëÇ‚ .œØ ·ÛíY÷ä¼ó!†¦i¢iuëÖÅáp`ó·Q«V-BBCð Eóüðýdeg¡çR)_tt4K—.¥]»veòrss©Q£ÆUµÃSO=ÅÀY¸p! 6dÆ eÊ™¦ÉÒ¥KY¹r¥ôNq]“»x !„×§ßdÊ´iÓX°`ýúõãÛo¿½êà@™šîB]S(¥Ð4Ͱ¸\.:tè@TT¹¹¹¸Ýnš7oÎÚþzáõp9] rß/g®¡¨ø ÊóÏ?ÏÌ™3Ùºuk™¼°°0rrr®ª ¦OŸÎ!C8tè‡â¾ûî+÷¼7nÜH‹-hÙ²¥ôNq]“!^B!„(¿YòÔSO]Up ¹Ü¸ Ð.ˆ)4Mó.¦ýr¯àà`:uêĹÌL:¶mGAA%%%8vŠT邎N§.1Äkøðá,^¼˜qãÆñùçŸ{åuïÞ?þøªÎÛ¶mL›6BBB˜6mÛ¶m+S.>>žÉ“'KÏ×=â%„B\Ÿ~ÓÛ ŸF¦OŸ~Ù9'³›†á(sÍãüÕ“‹ç“thמΦ`¹±9ÊDGaUÍîìA½Ó?ã*°s©!^½{÷fÕªUŒ?ž9sæ0lØ0bccšÅ+¨¹Ð…‹4Üpà ìÚµË+­eË–¼þúëW|ü-[¶díÚµ—,#·B!„ Ti'S·vcÎÉ?£+ ¦®£”·»40q;˜še¸p»MLJ礠À­˜†‹â\;wuïÛt£4%=@!„B P®^¿þ÷óÉ'ð 4øóÝýp9Ü8‹óqØX33)ª]Ž¥á Ú™tu–NŒ·Û©Õ$ŸÐ£díîHfAŽ¥RR\"=@!„B P®MŸ>w³÷§íLxh"hV"#[áëg£AýzœÜµ‡ú âÎÍÁm·X½&™;w`ñµbº Þ~{7Eùn,¾»°+EaA§Sz€B!„•ˆ¥*¬Õj¥MDÖ­Û@õÐPvºËÅñcGqØdž>Cú™ \n7éÇÓÐ 6‹nM'7?“œ¢ãääæ‘qò%ùy®ä.„B!„øßð©j¼`ál¾F?0ÃÐP˜¥sIL”áBwë¸tÀT8 èNjŠqcFST’ÏÁGoØ„öíÛ#=@!„B P®ÝìÇŸ6›·W¯fé²¥œ=›AFÆÙÒÌ{?¿R¼Rо];œN'ë>úˆ&Mšü’.“ä…B!„åW°ùÙ<ÏGŽÅÈQ£®¹®Šn3,„B!„øß°H!„B!$@B!„Bˆ‹øH”eŸlþ„űý ¾g0Ò0B!„BH€òÛ›ùäLÎäœ!08O¾ý„¯¿ûš×ã_—†B!„B”ÿÃ0xué«ìܳe*ÆODóÒ3Ò©Ó¸Õ9wêò1~ü!%%%´iՆΠ4$TzB!„ÿA×õ”9ÏÌ!é`5Ö F£,Y¹„×ß|‹Í»YŠŠŠXþ÷åÔ  N³:;{Œ¿Ìú‹ô!„B!$@ùÏp»Ý<|°:a@é-‡ë7¯Ïîý»q9]ÿ.çr“Ÿ›O“6M°Z­„Ö %¿(ŸìœléAB!„BH€òëedf`º®{¥7ŒhHNFŽçuÚÏiDDF`±ü»©”R”—púÌiYìQ!„B P~ç?OÌ1øú‘¼'™ŸvýDA^¾~¾øùûa/±£»u\NÕBªàt89ràvÀ7À—g^z†IÓ'ašf¹ûiР×ëääd:tèÀòåË=i)))L˜0ÈÈHš6mJ¿~ýØ´iS…Ç~ôèQFŒADDŒ1‚£GzíóâG›6m*¬ï믿fذa4oÞœÈÈH}ôQ²²²ÊœÇùÇÕºšm4hÀí·ß^&èSJqÛm·]Óþÿ“.l‡V­Zqÿý÷säÈ‘2ïñèÑ£iÕª­ZµbôèÑ$''W©óB!„å7”~:{vÞ4œzMêñ‡›þ@«?´ẩ3ÞÃ0hдgNœ!#=ƒzêpêØ)Ž8Bæ i×¹ ›7¤N£:ä;òÙøéÆËî7))‰áÇ3gÎyäŽ;ÆÐ¡CéÑ£ßÿ=GŽaþüù¬_¿¾Âz&NœÈM7ÝÄ®]»Øµk:t`Ò¤Iÿ>¿ôt¯Çܹs9rd…õ­X±‚‰'²ÿ~¾ýö[‚ƒƒ‰ŽŽön³_êú-ðÅ_x¥mÞ¼™ÀÀÀÊÑ~i‹¤¤$n¹å¦L™âÉKKKãþûï§OŸ>$%%‘””DŸ>}¸ÿþûIKK«Rç)„B!ÊoäPò!¬6«Wš¯Ÿ/­Û·&¼A8ûwìÇ0 2Ïdr*í>¾>ü´ë'4‹F»›ÚXÍû d`H »÷î¾ä>‰ŠŠ"..ŽAƒyÒ-ZDtt4cÆŒ!,, ???:tèÀŠ+*¬+%%…G}”BBB˜6m)))å–u»Ý¬\¹’ &TXß»ï¾ËwÜAPPµjÕböìÙìØ±ãöþDGG“à•–ÀäÉ“½Ò ÃàÙgŸ¥}ûö´hÑ‚I“&QTTäÉw8L›6ˆˆn¼ñF–,Yâueâøñã<ôÐC´jÕŠfÍš1jÔ¨2WŽ.%88˜I“&y]AY´h<ò£F"88˜àà`FÅ#<ÂK/½tMç)„B!Êï\ófÍQFùóFBk„Òº}kömßG­ºµhÜ¢1{¶ì¡vxm4)Ø£ØAÛÚV¸¿M›6Ë?þñzôèá•÷ý÷ß3pàÀ«:þ;3„„ )(( >>ž^½z•[víÚµtëÖððð+®?11‘N:ýÏÞŸ~ýú‘••ÅÎ;زe ¹¹¹ôíÛ׫\\\ûöícóæÍìÝ»æÏŸïÉá…(,,dÛ¶m|ùå—lß¾Ýkû‡zˆ &°oß>öíÛG‹-˜7oÞgaa!K–,!22Ò“öÝwß1xðà2eÌwß}wMç)„Bq½¹îÖAiÞ¬97µ¿‰m»¶áèKqa1öb»'ß^b'(8ˆ{ÇÜ €Õj娑cdžÉD™ 4 $$,Ómƽýï­pÑÑÑ,]º”víÚ•ÉËÍÍ¥FWuüO=õdáÂ…4lØ 6”)gš&K—.eåÊ•W\÷O?ýÄܹsyûí·¯¹}Ë›?qqÚ¥†‹Y,&NœHBB«V­">>žI“&yݤJ¯ü¼óÎ;Ô«W:oÖ¬YÜu×]<û쳬_¿ž?üš5k0wî\þõ¯y¶ÿúë¯=ÏýýýyüñÇéÚµëU_:u¼Ú>''‡Zµj•Ù¦V­Zäää\Óy !„BH€r~ßp¶íØFa^!µÂkQ­E54M+ý’y.‡ÔC©ºÅj¡¸¨˜:õëЬU3 t"³½ØNvf6†Ãà±Éáëë[ᾞþyfΜI5¸ù曽òÂÂÂÈÉÉ¡N:W|ìÓ§OgÈ!žy,Ë–-cÚ´i¼÷Þ{^å6nÜH‹-hÙ²åÕ»e˦M›ÆŠ+hÞ¼ù5·íÅÁGƒ ®zþʰaÃX´h}ôdÕªUeÊœ={–[o½Õ+íü{pîÜ96lèy}ás€;w2þ|8@III™í/ D.<þôôt”Rœ8q‚ØØX8@£F<ïgVVV™+VYYYå¢WržB!„×›ëòçÚÿ›ûÔhXƒf­›ìõÅ´FíÒ/’«¯â­Wß"=-FÍy} ¬H£æhܦ1ϼø ¹y¹CdzxñbÆÇçŸî•×½{w>þøã«:ömÛ¶1mÚ4¯9(Û¶m+S.>>þŠç3lذɓ'óÚk¯qã7þÏß???ÆÏ´iÓˆŠŠÂÏϯL™:uê””äuC€S§NyòkÕªåõúÂç<òcÇŽe×®]œ:uŠääd¯»j]XïÅ4M£I“&ÄÅÅ1kÖ,ÏÜ—îÝ»óᇖ)ÿá‡Ò½{÷k:O!„B P~ç\.v‡›¿­Üü£ÉG©^ ”R´ŒlIÊÁ Ã(Ûx þÁþK;vÉ}öîÝ›U«V1cÆ Ö¬YãI%>>žÕ«W“——‡ËåbÏž=<üðÃÖÕªU+âââ(((   €W_}µÌm„¿úê+èܹs¹u\xu`ÅŠ<óÌ3¼ÿþûüñ¬4ïÓ”)S8~üx…AÖèÑ£™9s&ÇG×u’““½îf6pà@žzê)rrrÈÉÉaîܹ^Û;l66›pãü IDAT'NðØc]õ1Ö«WÎ;óÑG0cÆ –-[ÆêÕ«),,¤°°Õ«W³lÙ2bbb®é<…B!$@ùóóóÃj±–Y»¤¤¸„}Û÷Q-¤á à ­Jízµñô§QóFÜ}üœü2õ9‹4ovù!Q]»veíÚµ<÷Üs,]º€fÍš±f;ùæºuëF«V­xâ‰'.9q>>>ž­[·Ò¡C:tèÀŽ;ˆ÷*WæVÁ™7oéééžõ7Î?Š‹‹½šóA͵®‡òß`ºté°aÃhÑ¢“'Oöš`þØcDçιýöÛ騱#>>ÿѸhÑ"æÍ›GDDC‡­0˜»œ‘#G²zõjZ´hÁûï¿ÏgŸ}FÇŽ騱#Ÿ~ú)ï½÷Þ¯6'„Bq=Ñž¨^MXJNvé-VkÔ¬õ»?éï·|Ï‹¯¾HhíP\NçΞÃb±Ð¬u3lþ6R¥R·A]|ý|Iû9ÖíZcš&ÇSŽS\XLÍ:5 Ä^hç¶n·1ùaùõ»²KIIaôèÑlÙ²Eã¿èüç@Ì«Ÿ3x@ JܦÂ4Í_þU8\:¦©Ê¤×¶±uë,žÚ»Üú?ݸ‘ŽóÚøml\¿Ž1ã&HC!„¸bÿXùýª0ßn/á›/¿ oÿ{H?u’×V¬¸>'ÉwïÖF ñðÔ‡ £Å -#¹÷Ü{Ï2'ã¼sϹ‡¸Ä¸àvFNe;¿^Ñl6“Ø3‘¸„8z&õ”tKKKcäÈ‘Œ9‡ÃÁƒ>("„Bq޳\¨·Z­¤ôL¡µ¹•˜Ø¤%§Ñäýú©\ááØ"lT—U“ž“Ž¢(¸]nl)½R¤æL™Â”)S¤!„B!Î#ôªpO<ö«ƒºŠ:œ{\{ùµL»wº?t}¬#–ëF_‡s¯“ºŠ:Âa<ýøÓÒ{„B!„8Í,råív; ž\²Ï0 "Ã"i>ÔŒ#Þ«Í*übò/(œR(=F!„Bˆ3È$MJQ>¹üÜ|V$#!ƒO.Àd’¦B!„âL³HÍn·3cê i!„B!Î2¹- „B!„8guåÿZ"­"„8)Ó~”$ „BˆÓ †4Š¡kÔìùœúª-Ä%÷%sÀXÂÂ¥a„B!„8ë ¡lúpam$'ÙqµnbÃ?7ñý±¿“Þ"„B!ÄYP. [(†®Qº~Mõ¥ºAÖE7—êazew,‰«½–ª’O¨Ý»-à%*>“þ—N ,‚QC’Ø^ÙÜéõ&ŒÊ¤¤º•×>®à‡ƒz0aT& ÞÙÀo_ÞrüÈ=ˆ‰´ó}90‘Ov4°¯Þ…Õbâê‹z2á‡,ù ~ÇГê]=§«íq¤<öp 7^œÂO.MãÕÕ•Áô>½¢Ùs -˜¯_ÕéŸÍ®ý­Ácf8ðô ¢Ï !„BœOL}™ü.¿Zöã°…ÔÙf%7/—äÔd¶oØŽ¦i4Ô6PSYƒÅjaç—;QL CF NñQ´Ôïé4¯#íÙ§W·]™ÅòOªØ\ÞL¿ú¢d>ÞVÏÚÝqyUTM§ºÑÅ««ö³üIŽpVm­ÃãSñøT>ÚZGGx§Çš¸l@"Ÿîl8æõ^ø œÝ5­øížÿ“Ì$ûqëÓWwÎéJ{|ózížÅëjè›r¾)Qìu¶ÿx{=£†$…3zHo¯¿ úüÙ| !„Bœå»ý²Ç¦àr:m G¼ƒÜ¼\¶ýg‰=ÉÈÉ`ËÚ-ôHîAjfj§ç¸Ú)1T5¸ŽYŸî¶wwÎéJ{tv½oî3) ½{F±÷@{0mû¾f¢Â-dô°cÕ3ŠH›™íûš/ˆ>6_B!„§ê‚âeKÁ•Þ’=Ä'Dàjsáqy‚é·{´›n¿ ³Ù̾=ûh¨mÀÐ P ÒIL\ .W¯/œ¼ü‘Çl·[¯ÈâÕUû¨9è>º,áÚ=n}±+^[ÃÔ÷ãÚüdšÚý½»ç¨ü`Ô$^þwE—ßÓ”øÆ~/•%ÿ,;æ9'ºÖ“w ;jßüÉ…l?ø—Í¿7]l#e°‡[¸ñ’Ô¯¿#Céì44{ñø¾žC£o«gt^/XÁyI|¼­ýwd„B!Ä9 \Rs¯dûªš•Vz¦ô *'*ø$®Ã‡)ßUަj˜Ì&\í.’R’Èê—ü2ëqyh¬?DËa/ý.-Àd>v3¾ñY5ãGfàòªì«kIsyUìáÚlá6²úe¡iM›(/­!ûû“qôì{A´Ùù ºƒ·ÕÉû!„Bñ P.ïvaöÂ##é‘Ü#dÙ®jzÄ·3r2Ø»£ŒÁ#Nì™HS“°È8tyôÕ-ÒB!„ß½åÂøÆ­˜Ì˜ÂâhijÅ@õ¾:Tb‰ˆÒƒÇ…G„Æž]ûèÛ¿7Š¢àv¹ñzlö™,„B!„(§Gö÷'S¾î%jªªÐ4¸´‹IÍHÓž$&}}\Xx4Fd?¶nÚL˜Õ–hr.»G‚!„B!Ît€r! ß7[Âé7²ð¨­Æc¢é`3± \m.Z[ ¸øzÒßxÁ¶•B!„ÿ•傟`¬@ŸÜË’Pµ©”ÈØ4²/Š"m#„B!ÄYPdØ&‹´¼›¤]„B!„øï(Ò(B!„Bˆs$@y~ú¤U„'åð¡ƒÒB!„8½ʹ¬¢bi=ã0p«&Lš¿f j&Ÿ&Õ‹?ÍI¦€ÏK{@Çbø¨¨tò?·O‘w_!„B PNNeåb£#him§­½ 3š¦ahü T?š¡¨èš ZU5 P¨~¯›°ð–/{kÇü„„„éB!„BH€Ò=Iñvjáêë h¨¯C34CLŠB@S1™Lè†zǤv]×ÑéØFtÀϰaùü÷Þ#&Zz€B!„ tŸÙl¡¶ö uÜyç$êêiowáøñ·h«wÑnnÁë÷ð«†N EÇÐ ‡ª‚Öb`Ž2±}û6"££¹kÊ]¼òÊ«Ò „8ƒ¢Ã-h†¡ëhºA¸Õ„ahzè~yF‡B!ΛEQ ³“Ù„0S¹§ͬRWU’åÇüÿ».,`TàÆ6³úf$†YÃ2ɾ˂å‹0 ³Î¶m;¤q½ùîÒB!„øn(~UÁ¯àU(OÞÁ¾¨Ý(;Ã12üp™ £Â ¾płѪ`žÔŽÚ¨ æ7$hhe&,ƒULJ€@+ØlaÒ„8C®Êt1$o(Ö°0Ìfs—ÏÛ°~4žBq3/ULš=`àoÇHT1é&HÐPt3ʱ( ˜;‚†úÑÖÚÐ?‹À4@Ã<@ÇûAj s¶ŽáU1›”NóJMM=nYÊÊʘ2e ƒ ¢wïÞŒ3†÷Þ{ï˜Ç———3aÂúôéCŸ>}˜0aåååÁtÃ0˜;w. `àÀÌ›7O†B!„ œÓÕAÕ:JpªÐ†É€f£ÕÀph `f0*Ì †YǨQ0ö+€†Ñn`6 r ¶®Û娨¨   €Ë/¿œO?ý”ÒÒRæÎKqqñ1Ï),,dĈlÚ´‰M›61lØ0î»ï¾`ú²eËX·n«W¯fÕªU¬]»–åË—KïB!„ œNkÖ¬AQ”.¿Ö¬YsÌkyTÕ€€Ù‡g‹Žeg šIÅhS0Þ‹ ”;ÛPDÉT1j,¿jÅ”Àø0ÏKa(Z•‚ïŸVt´·µu»NO=õ÷ß?“&M">>›ÍF~~>K–,9æ9eeeL:‡ÃÃá`Ú´i”••ÓW®\ÉÌ™3INN&99™™3g²bÅ éB!„B”ÓiÔ¨Q|üñÇ$&&òñÇcÆQ¯o¦5ê˜×R4?*~0Aíõ»0·XÁmBy ZÍ(ñ:úú„ž¯¢Ä™Ð§¤bãÇô#/J_Ýö_ûÐ40tßI £úì³Ï;vl·Î¹úê«Y´h­­­´´´°hÑ"®ºêª`zii)C‡ nçååQZZ*½S!„B\pÎø$ùQ£FñÆoPPPÀo¼„¬Y³¦Óýñhªª¢éJ¬_›V%QÁð˜Áe Ä~µæI8(1£½”0µ*àW00A"èè´#ëÑwOSSS·wœ={6ãÆã©§ž:渼óÎ;Át—Ë…ÝnnGEEÑÞÞ.½S!„B\pÎÊ”o)G†qu'80t %@óðe–GÁ0Æß#P~Û#ÛÁeÂЧë£ü²m“ï¿Â.S±Oõà}ÃŒ‚®êœÌª qqq:t¨[ç̘1ƒñãÇSRRBII LŸ>=˜n·Ûq¹\Áíööv¢¢¢¤w !„B PÎFòØcu+8PüüÀÐñÿ5Ï ·(ðvl ‡}a`1Pã Š£1v†¡¾ÿKÏßMx×ûÿš0L:>¿Nbˆ×È‘#ûĮά_¿žiÓ¦…ÌAY¿~}0=77—­[···mÛFnn®ôN!„BqÁ9«ë  RF}Â9'ßæÑ5tÍ‹¡€fÒ0Ö…£Z ˆT1oŠèx¼°¥#æPÂÀp+ÖZðhnˆ‚À>04J¸^0Ô“âõ«_ýŠŸýìgØl6n¸á"##)))añâÅÇœ(߯_?ŠŠŠ˜2e Ï?ÿ|HRPPÀüùóéÓ§óçÏç–[n‘Þ)„B!$@9AŠÛí&""¢[ç™4z@GUý˜æº¡cèºMÃ0 Ì&3V“MÓÐL~|˜º®c±™Ñu“b¿cˆ×qî t¶ŠÓé$;;›+Vðøã3wî\< ylð·ñðóxñb†NQQQ0ý¶Ûn£ººš+®¸€‰'2aÂéB!„B”³¡»Á €ª™Š"<"’övwÇP.Ý@GÇb²àóûˆ‹%ÐÔÜ‚ÅlBS5¬aa€Ž¢˜M×pÄÆ‚&¥ónN§ó¸eéÛ·/ùË_º\ö¾}û²råÊc¦+ŠÂ¬Y³˜5k–ôH!„B!Êù rŽèhž_T„ÓYŽj˜0TÝt Öòº]èŠþ@ǪŽ^Ÿ Õð i¼m:))Éxý^ EVkB!„B”“pý?çÿxMicä¨â÷ð¹šñz|˜iOLD©¬Âm³ ¥®o4¼>/mn=z·`Ž)çà–|¶µ²³²·Ë-=@!„B PNε×ÞÀÖÿáî;îÅÌ Aý°†ÙHMéÅþ-ÛHIK#ÐÒLÀã!26†Í_b²šÑýûÛfÚ[˜¬[ñm­íwW„B!„ç ÓùTX³ÙLÿ>Ãxë­wˆu8ðz¼¨~?Uû*ðz¼4¨ÅY[?ÀYU‰ªy±™,•¦–·Wq¸©™úý5¸[šCVsB!„Bü÷YηÏû?ó°YMÜö??AÓ ô޹$ºCó£Tü* ø4?¨>4ƒÉ·ßF»»…’{HNË$//3fHB!„B”“÷ÈoØl6^[¶Œgÿü,uuõÔ××uðyïGVŠ7 È2ŸÏÇ[o¿MffæWûe’¼B!„ œ[˜-øó­'rëĉ'}-EQ¤!„Bq1I!„B!$@B!„Bˆo±HMÓ4Þÿà}>ùü.Ê»ˆŸŽý)Ò0B!„BH€rö=8ëAj×ÉûkÞgõ§«y¡èi!„B!$@9s4McÁ³ ظe#†np×íwÑ'»Îz'IIDFEÒXÓÈ»ï¿Ë›ï¾‰Ûí¦¿þüò_âˆqHB!„â4º ç ü~ÎïÙT²‰ø´xâÓãYüâb^xåL¶Ðfiooç¹—Ÿ#"1‚¤¬$öÕíã×ÿZzB!„ œ@€’Òâ’‎G§d§°yûfü>ÿ×Çù´4µÙ?³Ù €#ÁAK{ ‡’tš-X°€É“'Ÿ3åIMM=ëy®]»–‹/¾8˜÷‰¶OTÆ;3¢¢"é\B!„å\VßP¦i¨ª²?­O‡ë·+÷VÒgPL¦¯›Ê0 Ü.7jÈb§‘ÛífÉ’%<òÈ#t;üá`Μ98Î.mŸÈ¬Y³xî¹çðx<ÒÉ„B!ʹ艧Ÿ`ÆïfÆî-»ÙùåNZ›[°†Y Ããö Tü>?Q1Qø¼>öìØÃŽ;°FX™ó§9N/D×õNó9Ñ_¶ËÊʘ2e ƒ ¢wïÞŒ3†÷Þ{ï˜Ç———3aÂúôéCŸ>}˜0aååå!Óܹs0`dÞ¼yÝ  RSSƒ¯¾}ûòóŸÿœ={öuÜâÅ‹IOOgñâÅ^côèÑGåk£F:n›¼ÿþû|ï{ß#+++¸oõêÕÜ|óÍdgg3hÐ ¦NÊÁƒ»\çSM?NT§Ý»wså•WvyûDrrr1bÿú׿äO!„ œkœœlܲ‘äÞÉôÊìÅàƒé7¸µÕµ”n/EÓ4R{§R[]K½³ž^齨ÙWÞ{HëÆ‹‡–FRz-ÞÞûÇ{Ý.GEE\~ùå|úé§”––2wî\Š‹‹yNaa!#FŒ`Ó¦MlÚ´‰aÆqß}÷Ó—-[ƺuëX½z5«V­bíÚµ,_¾¼{íãtât:Ù´i—^z)S§N I×u¥K—2{öl^}õÕNƒ³ˆˆ>üðÃ}|ð‘‘‘ÇÍûÃ?d̘1!ûžþyî½÷^¶oßΚ5kˆ‰‰éVO5ýL8Q|>V«µËÛ]1vìX P„B!ʹh×î]˜mæ}Ö0+¹y¹$§&³}Ãv4M£¡¶šÊ,V ;¿Ü‰bR2b‘Q¡_²#c"Ù¼us·ËñÔSOqÿý÷3iÒ$âãã±Ùläçç³dÉ’cžSVVÆÔ©Sq88¦M›FYYY0}åʕ̜9“ääd’““™9s&+V¬8©vЉ‰¡°°ð¨;(«V­"66–É“'ÇêÕ«:÷¾ûî;êîÊ¢E‹¸ÿþû›çÖ­[>|xȾåË—så•Wb·ÛILLä‘GaÆ ]®ó©¦,]º”K.¹„ÌÌL®½öZvìØqJ}ðxuúæ¼’#¯ãmwµŒùùùlÞ¼Y>ñ„B!ʹ&;+Cë|#ÞAn^.Ûþ³Äž‰däd°eíz$÷ 5³ó¡I^——v»Ÿ}öcÇŽíÖ9W_}5‹-¢µµ•––-ZÄUW]L/--eèСÁí¼¼ bNTçSM‡ŽIéÅÅÅìÚµ‹ë®»Žßüæ7§µO~³NG敹“u¢í®–1%%…úúzùÄB!Ä9ï‚[%;+›y#Xÿåz¬‘V\m.<®¯'{ÜìÑvnºý&Ìf3ûö죡¶C7@H{$1q1è8{7ÝxS·ËÑÔÔDBBB·Î™={6ãÆã©§ž:þŠþÎ;ïÓ].v»=¸E{{{·òøæ_å“’’B®_UUÅ–-[‚wyÆÇœ9s¨®®&##ãë¨×dâÞ{ïeñâżôÒKQXXò Î†Årì.¹cÇ}ôQ^{íµ.×ùTÓæÍ›G\\ÇÓÞ yæ™gN[ì¬N'ãL–Q!„âlº 'Éßò³[@ƒ¶æ6â{Ä“›—Kÿ¡ýé?´?™}2Q*šªa®vI)I >˜!aððÁôJï…×íÅÓæáî;îîö|€¸¸8êÞcŠg̘Áøñã)))¡¤¤„‚‚¦OŸL·Ûí¸\®àv{{;QQQÝÊÃétRSSÃçŸNvvvÈP¡¥K—røðarrrHMM%''‡Ã‡³téÒ£®3~üx¶lÙÂÛo¿Í®]»(((8aÞIIIÔÖÖvšöÅ_0yòdž}öYrrrº\çSM?ò^¦iÇ ð¾=üêXŽU§“q¢28p€¤¤$ùÄB!„(碇þ÷!âÓÖ° ý IDATâÉÊÍ"Ú¢(Á´øñ¼ôôK¼ºàUœ•Nҳ҃銢Izv:ý3˜óäšš›º]†‘#G÷‰]Y¿~=Ó¦M ™ƒ²~ýú`znn.[·n noÛ¶ÜÜÜn—MQz÷îÍÂ… y衇hooÇëõ²bÅ Ö­[2ÜhíÚµ¼þúëx½ÞkØl6îºë.¦M›Æ”)S°Ùl'ÌwèС|ùå—Gí/..fêÔ©,Y²„aÆ…¤¨Î§šÞ]ߊu,ǫәðå—_ž•|„B!$@é&¿ßÇëÁÞùæŠÝ$&'b±X0 ƒ¾ƒúRVRÖé_ÍM&áÑáì«Ü×írüêW¿¢¨¨ˆeË–ÑÔÔ„ÏçcóæÍÜ}÷ÝÇ<§_¿~ÑÒÒBKK . ù2]PPÀüùó©««£®®ŽùóçsóÍ7‡\£; ¦¤¤pÉ%—ðÖ[oQ\\L~~>ééé!Çddd0tèС`GL:•êêêNŽ?âšk®9ê:Ï=÷sçÎåõ×_™+ÒÕ:Ÿjú™p¢: ï¾û.×\s|â !„âœwÁÍA Ãl2£ëzÈœ·ËMÙÎ2’Ó’‰ŽF ¨ØÂm„G†“žNÉæ2²3pÄ;B®çsùÈÎÊ>f~N§“ììlV¬XÁã?Îܹsñx< 80äq³ßVTTÄÃ?|BÖðáÃCV¿í¶Û¨®®æŠ+®`âĉL˜0!˜¾aÃ.¾øânµ×­·ÞÊÿøGEáÁìô˜Ûo¿gžy政Øßpà ̞=›}ûö×Byì±Ç=ztȱ{öìÁn·Ÿ°Î§š~&œ¨N§[EE7ndÑ¢Eò‰'„BˆsžòÀ}÷ =ËáC ÅÅ'$~ç+ýÙÚÏxrÁ“8z8ðûü4Ö5b2™ÈÊÍÂn£|W9=S{b ³R¹·’Ü!¹èºNUY®6 I DÚ#ñ´y}éhî¿çþó¢ÞãÇgúôéüà?8g˸páB6oÞÌ‹/¾(¿§ÉäÉ“ÉÏÏ?jM›3áÈçÀ{Åo1$o(Ö°0Ìfs—¯±aý:n÷“NÓþñÞ;Ü:irH>âìx¯ø-nŸ|·4„Bˆ.[úâ’cþ?ÀãqóñGÿfÌO¶uÖìgÉóÏ_xwPF^:’ôÔtî™vqÉqä È ùÒ4 W›+¸z¼¢(ø¼>lá6²úe¡iM›¨«ªã‰Çž`ØÐóg\ÿÊ•+Ïù2>ðÀòÛ|šI°'„Bˆó‰éB­xJ¯ìQvz$÷™â,w—øõ‘2r2(Ûùõbˆf³™Äž‰Ä%ÄÑ3©§ô !„B!$@9uV«•”ž)´6·÷5:IKN Y-><"[„ê²j £cG·ËÍb#¥WŠô !„B!$@9=žxì Vuu8÷:¹öòk™vï4t¿r\¬#–ëF_‡s¯“ºŠ:Âa<ýøÓÒ{„B!„8Í,råív; ž\²Ï0 "Ã"i>ÔŒ#Þ«Í*übò/(œR(=F!„Bˆ3È$MJQ>¹üÜ|V$#!ƒO.y$±B!„â̰HÍn·3cê i!„B!Î2¹- „B!„E!„B!¾M†xuBÓ4Þÿà}>ùü.Ê»ˆŸŽý)Ò0B!„BH€rö=8ëAj×ÉûkÞgõ§«y¡èi!„B!$@9s4McÁ³ ظe#†np×íwÑ'»Îz'IIDFEÒXÓÈ»ï¿Ë›ï¾‰Ûí¦¿þüò_âˆqHB!„â4º ç ü~ÎïÙT²‰ø´xâÓãYüâb^xåL¶Ðfiooç¹—Ÿ#"1‚¤¬$öÕíã×ÿZzB!„ œ@€’Òâ’‎õOR²Sؼ}3~ŸÿëãüZšZÈ쟉ÙlÀ‘à ¥½…C‡I:Í,XÀäɓϙò¤¦¦žõ<×®]ËÅ_ÌûDÛ'*ãwÞIQQ‘t.!„BH€r.«o¨GÓ4TU ÙŸÖ'Ãõ‡ƒÛ•{+é3¨OÈB†aàv¹9P{Ã0¤&n·›%K–ðÈ#\Ðíð‡?ü9sæàt:»´}"³fÍâ¹çžÃãñH'B!„(ç¢'ž~‚¿›AXd»·ìfç—;imnÀf%,< ÛƒPñûüDÅDàóúسc;6îÀaeΟæP8½]×;ÍçDÙ.++cÊ”) 4ˆÞ½{3fÌÞ{ï½c_^^΄ èÓ§}úôa„ ”——‡NsçÎeÀ€ 8yóæu+€JMM ¾úöíËÏþsöìÙsÔq‹/&==Å‹wzÑ£G•¯aŒ5ê¸mòþûïó½ï}¬¬¬à¾Õ«WsóÍ7“Í Aƒ˜:u*ìrO5ýLøf;yåææÓwïÞÍ•W^ÙåíÉÉÉaĈüë_ÿ’Oæ9………Œ1‚M›6±iÓ&† Æ}÷ÝL_¶lëÖ­cõêÕ¬ZµŠµkײ|ùòîµÓ‰ÓédÓ¦M\zé¥L:5$]×u–.]ÊìÙ³yõÕW; Î"""øðÃCö}ðÁDFF7ï?ü1cÆ„ì{þùç¹÷Þ{Ù¾};kÖ¬!&&¦[u>Õô3Ò¿jã#¯G}”‰'Ó}>V«µËÛ]1vìX P„B!ʹh×î]˜mæ}Ö0+¹y¹$§&³}Ãv4M£¡¶šÊ,V ;¿Ü‰bR2b‘Q¡_²#c"Ù¼us·ËñÔSOqÿý÷3iÒ$âãã±Ùläçç³dÉ’cžSVVÆÔ©Sq88¦M›FYYY0}åʕ̜9“ääd’““™9s&+V¬8©vЉ‰¡°°ð¨;(«V­"66–É“'ÇêÕ«:÷¾ûî;êîÊ¢E‹¸ÿþû›çÖ­[>|xȾåË—så•Wb·ÛILLä‘GaÆ ]®ó©¦,]º”K.¹„ÌÌL®½öZvìØqÚú£ßïçÅ_dÊ”)!óJ޼޷ÝÕ2æçç³yófùÄB!„(çšì¬l ­ó!<Žx¹y¹lûÏ6{&’‘“Á–µ[è‘܃ÔÌ·&y]^Øír|öÙgŒ;¶[ç\}õÕ,Z´ˆÖÖVZZZX´hW]uU0½´´”¡C‡·óòò(--=©vjmmeñâÅ 4(dÿ+¯¼ÂwÜÀ¤I“xùå—:÷†nààÁƒÁ@â‹/¾ ©©‰ë¯¿þ¸y666Ò³gÏãóÉ'Ÿ„1'ªó©¦CǤôââbvíÚÅu×]Ço~ó›ÓÖßxã .»ì2zõê¸Swd^É7ï°o»«eLII¡¾¾^>ñ„BqλàÖAÉÎÊfDÞÖ¹k¤W› ëëÉ÷{´›n¿ ³Ù̾=ûh¨mÀÐ P ÒIL\ z@'ÎÇM7ÞÔír455‘ЭsfϞ͸qãxê©§€Ž¿¢¿óÎ;Át—Ë…ÝnnGEEÑÞÞÞ­<¾ùWù¤¤¤ëWUU±eË–à]žqãÆ1gΪ««ÉÈÈø:ê5™¸÷Þ{Y¼x1/½ôEEE†Õt€yóæ×ñ´·ÂÂBžyæ™ÓÒu]çÙgŸåÅ_<åk©2 !„Bœmä$ù[~v hÐÖÜF|xróré?´?ý‡ö'³O&j@ES5 ÃÀÕî")%‰ÁÃ3äâ! >˜^é½ðº½xÚ<Ü}ÇÝݞǡCÝ{LñŒ3?~<%%%”””PPPÀôéÓƒév»—ËÜnoo'**ª[y8NjjjøüóÏÉÎÎ*´téR>LNN©©©äääpøða–.]zÔuÆÏ–-[xûí·Ùµk'Ì;))‰ÚÚÚNÓ¾øâ &OžÌ³Ï>KNNN—ë|ªéGÞ«#"""Ð4í¸Þ·‡_Ë»ï¾KNN}ûö=å>}¢28p€¤¤$ùÄB!„(碇þ÷!âÓâÉÊÍ"Ú¢(Á´øñ¼ôôK¼ºàUœ•Nҳ҃銢Izv:ý3˜óäšš›º]†‘#G÷‰]Y¿~=Ó¦M ™ƒ²~ýú`znn.[·n noÛ¶-äéP]¥( ½{÷fáÂ…<ôÐC´··ãõzY±bëÖ­ n´víZ^ýu¼^oÈ5l6wÝuÓ¦McÊ”)Øl¶æ;tèP¾üòË£ö3uêT–,Y°aÃBÒNTçSMï®oÅ:ž®ÌË9]¾üòË£ÚN!„B”s€ßïÇãõ` ïü sÅî “±X,†AßA})+)ëô¯æ&“‰ðèpöUîëv9~õ«_QTTIJeËhjjÂçó±yófî¾ûîcžÓ¯_?ŠŠŠhii¡¥¥…… †|™.((`þüùÔÕÕQWWÇüùó¹ùæ›C®Ñ…SRR¸ä’Kxë­·(..&??Ÿôôôc222:thÈP°#¦NJuuu—¿„_sÍ5G]ç¹çžcîܹ¼þúë!sEºZçSM?S>úè#"""¸øâ‹ÏJ¿÷Ýw¹æškäO!„ç¼ nJXXf“]×CæD¸]nÊv–‘œ–Ltl4j@Ån#<2œôìtJ6—‘#Þr=ŸËGvVö1óë, p:dgg³bÅ üqæÎ‹ÇãaàÀ!Ðý¶¢¢"~øáಆ²Bøm·ÝFuu5W\q'Nd„ Áô 6tû ñ­·ÞÊÿøGEáÁìô˜Ûo¿gžy政Øßpà ̞=›}ûö×Byì±Ç=ztȱ{öìÁn·Ÿ°Î§š~¦,\¸ð¸ïõéTQQÁÆY´h‘|â !„✧?u˜L&²r³°…Û(ßUNÏÔžXìTî­$wH.º®SUV…«ÍEBR‘öH}:?øÁÎÙ2.\¸Í›7Ÿ–‰ã¢ÃäÉ“ÉÏÏ?jM›3áÈçÀ{Åo1$o(Ö°0Ìfs—¯±aý:n÷“NÓþñÞ;Ü:irH>âìx¯ø-nŸ|·4„Bˆ.[úâ’cþ?ÀãqóñGÿfÌO¶uÖìgÉóÏ_xwPF^:’ôÔtî™vqÉqä È ùÒ4 W›+¸z¼¢(ø¼>lá6²úe¡iM›¨«ªã‰Çž`ØÐóg\ÿÊ•+Ïù2>ðÀòÛ|šI°'„Bˆó‰éB­xJ¯ìQvz$÷™â,w—øõ‘2r2(Ûùõbˆf³™Äž‰Ä%ÄÑ3©§ô !„B!$@9uV«•”ž)´6·÷5:IKN Y-><"[„ê²j £cG·ËÍb#¥WŠô !„B!$@9=žxì Vuu8÷:¹öòk™vï4t¿r\¬#–ëF_‡s¯“ºŠ:Âa<ýøÓÒ{„B!„8Í,råív; ž\²Ï0 "Ã"i>ÔŒ#Þ«Í*übò/(œR(=F!„Bˆ3È$MJQ>¹üÜ|V$#!ƒO.y$±B!„â̰HÍn·3cê i!„B!Î2¹- „B!„E!„B!¾í¼âUQ^BjÏ8 :抸½L&…@@CÓtü~?ša`¨^Ð4ŠnÕÕ? ¢ª*UUUÜ:éòî !„B!ÊÉ©¬ÜClt-­m´·»ÐtM70 ƒ@@Å0Àç÷ƒ¡¡T4MÅШš‰€êÇ0 </šªÁòe/ñ£1c‰OH^ „B!„(ÝÓ#.’C‡š¸æú¨ƒŽû(˜L º¡£tÜZÁÐ t]C3:Ö31t#øo `xþEÜ_xÑÑQÒ„B!„¥ûÌf µuuÔ×7r×äÛhllÀíöâóùðû´¶µÓîjÇïóá÷ûQ5-¸ò»®é躎¢t3[¶n'&:Š»ï¹‡—_~EzB!„b€²fÍFuRçš@1aµX 3™)+¯Â¬˜¨o¨Ç0Àd2áøÑÔŽÀDÓ4 :†€¹ƒ¢ª*†anÃP¶oÛ.=@!„BˆsÈY}Š×èÑ£Y³fÍIë hT ÀGáCø¼>jëêhmkãðáÃx½^š›š‰Ååra ³ÑÚÖ Û6~¿ÃÐÑTŸO#,<\z€B!„j€PPPpRAŠöÕ]¯ÏGfï,-ZĆ ÈÉÎaãÆÁhÙ²eŒ7ŽÆƒ¼øÂ‹Œ¹~ ))),_¾œY³f¡i:º&T ]í4¯´´4z÷îMŸ>}èß¿?ƒ梋."??ŸŒŒŒcSSSƒ¯o3 ƒ¹sç2`Àȼyó‚ÃκrþG}ÄOúS²²²4h………ÔÖÖJ¯B!„ œ.o¼ñÆI)j@%аGF²iãF®¾újÞ|óMöïßODDuuuÌŸ?Ÿüü|~ÿûßãõzILLDÓ42235j©©©dffb2)ø`újNÊ·ÕÔÔPYYIYY»wïfÇŽlÞ¼™+®¸‚?ýéO!Ç:NœNg§×Y¶lëÖ­cõêÕ¬ZµŠµkײ|ùò.Ÿÿç?ÿ™»ï¾›-[¶°~ýzú÷ïÏ/~!GB!„ œ6£F:© EÕtÀçóáv{ùÙÏ~FSSà³Ï>#**ŠÆÆF¬V+üõ¯¥gRO>^ý1ÅÅÅÔÔÔP^^Ž®ë¨ª—ŠŠª.ç?kÖ,HAAA—ÏY¹r%3gÎ$99™äädfΜɊ+ºuþ˜1cp8DEEqÏ=÷°cÇéµB!„B”ÿvb2)¨š†Åbaûöí<üðÃüö·¿%22’ÈÈH4MÃn·ˆŒŒÀáp`‘öHÆGff&}ûöÅ0 L?š®u)ï¹sç’À]wÝÕ­z–––2tèÐàv^^¥¥¥'Õfn·›¿üå/Œ9Rz­B!„øÎú¯=fxÔ¨Q<ðÀŒ=—Ë *ŽÅãóhmiaÖ¬Y¬^½šŸüä'¼ûî»DEEFee%£G™²X,øý~ÆŽK„-]×iiiF×u¼ªAÇZ*Ç÷ôÓOãõzùÝï~×í:º\.ìv{p;**Šööön_çÈü”„„Š‹‹¥× !„Bˆï,Ó+ã5kÖ°páB>þøã'h~tÕÉdfÝúuDGGóóŸÿœ¤¤$^ýuâââ˜ø wß}7IIIlÞ¼™]»wñ·å#oh/½ôû÷×`Fð?ǶdÉ*++yì±ÇNªŽv»—ËÜnoo'*ªû‹C:NvïÞÍwÞÉ/ùKéµB!„â;ë¿reÍš5ðÆoty]¿_EÓÁl1³mëV&}øoRRRxíµ×ˆŠŠ"&&†n¸ÔÔT, [·n% HHH`ÆŒDFFâõzñÇO^{í5Ö®]ËóÏ?\à±»rssÙºukpXÖ¶mÛÈÍÍ=©kEGGsï½÷²`ÁéµB!„â;ë¬ßA9™à@×54Õ‡ªi˜-’{%“Ü+M׈Åd2¡iééé‹3«]×q»ÝDDD`³ÙÐ4 ]ïX åXÞ|óMÞyç/^ŒÅrò1\AAóçϧ®®.ø”±›o¾¹ËçO›6½{÷¢ª* ÌŸ?ŸáÇK¯B!„ßYgýÊÉ'†æG 蚆ÉdBUUt]GQT­c…x³ÙŒI1¡+:º¡ãq{PPP¥cb¼ÉÄ‘y'º¦Ã1nŒLŸ>MÓÈÉÉé4ý›þæú%G~>’~Ûm·Q]]ÍW\Àĉ™0aBȵŽwþ5×\Caa!{öì!66–+¯¼’?ÿùÏÒk…B!„(§ËÉ'…™ˆ¨h"í‘´µ»82‘ÄÀ@Qü~?ñqñøššš°X-üÂlV0Ìf3j (ÄÆÇb|¸t¦ºººËå:Ö&Š¢0kÖ,fÍšuRçÿøÇ?æÇ?þ±ôR!„B!Ê™ðñÇŸTpP±¿š¸èhž]ð4j ªtÃÃÀïõc²XðzÜh†ø> ÅŒÏg`|¨ªF{«—Ô”Tt-€"ï¿B!„n€r²Á À?Ï{<üpäeøü>Ün7þö6üM-âQËK1z` ¶5´ôìõÕÂŽzdµBÔnn˧®ù0ÛÊÊp¹ÝÒ„B!„¸P”S5æG7²uç(¼ë~ `@¿\¬a¤¤¦±ãÒ2R ì«ÆïóOÝ–mX­f4UåõÛiivc ÛÇPhkmÅíöHB!„âb:Ÿ k6›Ðg+ßx“¨˜8Ü>¿ª}ø|^jk°ÿÀTU¥¶rªêÇb(t¦Ö:šÚk8x¸™Úª*\MM\}õÕÒ„B!„8‡Xη?þÔ<ÂÍaL¼¥ÍP1šnêx6—î#Ðt ]' én¯—Iÿ36Ÿ—ÛJHMË`èСLŸ>]z€B!„ œ¼‡ó;@Áf ãµ×–ñÜsÏQWWO]}  _=AXÃ0¸ìÒËðú|´¶¶òöÛo“‘‘t¤ !„B!$@9i6›-øó­·NäÖ['žôµNv…x!„B!Ä™a’&B!„BH€"„B!„ßr^ ñª(ÛIjrBÇêñ€[5aÒ<TM¿ß‡¦i€ß@Ó¼(¸UT?þ€ŠªªTUUqë¤_È»/Ä䬭ÃY[' !„Bˆïf€R¹o7±1‘´´¶ÒÞÞŽ†MÓ0T?­c»ÏçÔ€Š¦ú14U3Pý†ÇãESUÂÃ#X¾ì%~4f,ñ Ò „8Cf>ô; Ãøú¥ëÿb Ô¯öëÁô¶ÖV–-{UN!„åÜ×#>ŠC‡š¸æú¨ƒŽ c2uŒRÓ ÅC7Ðu ÍÐ0t#øo `xþEÜ_xÑÑQÒ„8Ãt]G×;ýüÙÐñù|G¥ !„Bœ7ŠÙl¡¶¶Ž†úƒÜ5ù6p»½ø}>¼>?íínÚÚÛðù|ü~TM >FX×:¾üyj×–­Û‰‰Žâî{îáå—_‘^ „B!„(ÝcR 0™ ³bUMìø|ŠI¡¾¶k¬›#ŒVg;~—Ãs”‚ÙnÂÐ \tt,3Öh áá6 Eaû¶íÒ„B!„¥û|ªB@3ð´zhNnbàë)à‚‹â{³í‰2*þæä²ÅCˆƒ9ÒÌîg«ØóZf»ÂO>Ùjb׋û(}© MÑðù4ÂÂÃ¥q–3räHGp_ss3Ÿ}öc®»Nè<°ôÅ%ÒB!$@9B x@  «–c¡úo øûA<‡¼Œzu‡6¶°ùÑ=Œ˜×Ÿš5ÒðyÖX —==„ǯÇçò“7­/½løø0¡bèêqó\¼x1üãy衇¸ï¾ûBÒRSS:Þétó˜o§†Á¼yóX¶lŠ¢0qâDzè¡à0´®\_ˆóÉ|ÀãO<Á;ÅÅÄÆ:hjjfüø›2dˆ(çÇýDA!ÄYqÞ¬ƒ¢jÍ@1æWñ7ðµøñ·ªèL º5í6•@»J¿ X}“ŠbRøÏvÐ^ïÀÓqV’×u¥K—2{öl^}õÕN'ð:Î×±Ò;³lÙ2Ö­[ÇêÕ«Yµjk×®eùòåݺ¾ç“¢¢"òòò}ÅÌzä~tÝu <˜ùóŸÆB!Äù tüðhr¶rÑÿöaôßòùñ?àðŽ6üMàÓº€ŽÇ ·iXìfL&†f`‹ Ãd1aªê¥¢¢ê˜ù­ZµŠØØX&OžL\\«W¯>­õY¹r%3gÎ$99™äädfΜɊ+¤GŠïî‡ÉÄ¢¢"~ðƒ°`ÁB.½ôRžzêÿŸÄ'„Bq^(&“‚¦ª˜Ì&ˆ2X[¸ƒw¯üŒ×.ù=.Ž%¼GzÀ@Wu4¯Ž00GšQ0p«¨ _³ŒŽ»#¦€M׎™ß+¯¼ÂwÜÀ¤I“xùå—:fРAdffrùå—³pᯉìšÒÒR†ÜÎËË£´´ô´]_ˆs5H)Z¸??û,Oÿé) N„Bq”ófŠÇã! ði~Ün7)c1‡YÐ<ªKÃߪ’ï v`4þfßá{^¬æû “yc/<-úNHç?svâöxUƒ#k©|[UU[¶laÉ’Ž ¡ãÆcΜ9TWW“‘‘ü¿öî<>ªò^üøçl³d&Éd%dDQDQ+.½²\‹ ØVe‰–zÛûr½U‹Öê«ÅÖö×ë¥ÕŠþ¨Jk]ª^Ðêô¶·WP©E"Zÿ»GwNIDAT‹T6ABB¶Y²Ìr–ß‘˜…€ IàûÎë¼^'3ÏYæùÎ$ÏwÎó<çóñ –e±eËî»ï>ùÉO~Ò¯×ÓÖÖ†ÏçKþî÷ûimmMþþe÷/Ä`NR®¹¦2y!„Bˆ.m…¡t²¶e£«*»WîÅå¢dF>c®/eóÿÛE´>Fñ%ù´Uwë's´Ý«ó×ÛHé7ó9õÆQl}ñ3Â{ZÇœž”gŸ}–ææfÊËË)**¢¼¼œææfž}öÙne5McìØ±,^¼ø°ºhù|>ÚÚÚ’¿·¶¶â÷ûÚþ…hŠ¢Çk˲’Eô–ÜÈ•D!„âø`YV½)†Ì”Dúí8¦ƒc9¸2 ´4W–Îÿ~· ‹ *ž4±hœx"Ñc~FyñÅ©ªª¢¤¤$ùøîÝ»¹üòËùÁ~€§‡é‰UU=¬oƒÇŒÃƹð øè£3fLŸ 3ù¶Y %†®³yÓß7þŒ~o³ùãMzï–,šÐu]*X!„â"‘0@ÖÐMP,+eư,GwHîÃÁA×tTGÁ1¼y.PlË&‘HÐÞÖŽ'Ã…iv”·-Û¶±Ìž§^¾|9&Lè’œ”––2~üxV¬XÁ¬Y³¸å–[¸í¶Û¨¨¨ ¦¦†ýèGLŸ>½ß¯çꫯfáÂ…TTT°páBæÌ™“|þËî_ˆ6í²ËXýÖ›x½i”ŽÖÇxÇq¨¯ßÇÎ;™vÙe½–;é”Søëê·=æd24M“ŠB!†˲ƒlÛò ã'œ5tÇŠc%lËBSµÎ+%¶ƒe[8jçÌ\š£a¨¦eâ8±h¬óʃi£:êþm—MlËÞŸÌtõôÓOs×]wõxßþö·yøá‡™5k—^z)ßûÞ÷غu+yyy̘1ƒùóçw)ð½L¬[2wî\vïÞÍäÉ“øÖ·¾Eeee²|ö/Ä`V8¼óÏ¿5ïþ•×^[Þg×,MÓÈÎÉáü .¤pxa¯å,N=}<;¶naÓG!¹ª(„B Aªª’™™É©§ïñ Šrë-79,~Œæ¦F©-!„B!Ä€ØSSÍo–,AæøB!„B ’ !„B!$AB!„Bˆ/ê6Hþ›7I­!„B!މSÆžÖw‚2ñü¯J- !„B!މP°¥ïå‹„B!„âX‘1(B!„BIP„B!„B!„B!„$(B!„B! ŠB!„bÈÐ¥ „BˆÔp‡x<Ž•H`;ŽãH¥ EQPÍ00 UU?Û¶p,7(â§Š¦¢ªŠ¢HüŽÓøI‚"„B¤(9‰vtÐÒÒB}]-‘HD*e€©ªŠÏ磠 ìœ\\nW¯$Çq°L“šêj6ü1Í-ÍRLÓT2Ò3sÊÉ”•@7 ‰ßq?IP„BˆH$D"ajjvsê¸ÓÉÍÍCÓ4©˜dÛ6u{kùä›ÉdîÉ ‹õ^v_nXÏE“¦0bä(‰ß³,‹;¶ñ׿¬FÓ5JJÊÐu]âwÆO!„"ÌxœÚ=5Œ7žÜüaض…išR1,Xª¢²mëV¾úO…½&(Žeñ÷ 1iò?3ª¼\*nÐ4“N:C3X»æ¯äôÚÀ•ø íøI‚"„B¤€í8´¶¶’“ƒm™2þdÉÊ΢5Aéc Šƒ-”!6È—–ücÓ2%~Çiü$AB!R s€®ªé˜fB*dQ5Û¶?˲¤[Ð d–eõ™ôKü†vü$AB!R›ªÀ1ºzÒÞ¡=ÚŽ•H iž4Ò|éG}›1ÙC7.¿¡?IP„BˆÔ§()ÿGßÒ¼EU r0 ƒD"A(ØD0B7<Äã1LÓêüç¯k¸\nL3ŠÛåê²M8ÜBG´¬ìüCNã*„8z–®üˆG^\‹iÛà888ûÿzL;÷$þïŸ0u! ŠB‘êì$Åßආƒà8drhnj ‹&hlh$Maq6®¬@²»‹eYÄã1öT7±·¥†œ¼0.Ûí!;'æ¦}´†ƒ¤g$~B¦eóÐÒ5üô†©øûl¶oßž²×ðÅ%ñ;–˪vðŸýE9h,†ã`;°!n:$,‡„é'Peо–TÄO!„"Õ)Š“ÚEU5ñÑö(­á0#ËËi ‡ 64`ÆãD‚A@9è'ÜÒBG[m¡Ѷ6F–— …ˆ¶GIÄc¨ªvDçò§×–þ;žžŽÃ'›?æ´qg0sεÉÇtIp8ŒmÛ„B!ÆÇû€—_ùC·rUïU±tÙ œ{î¹D"a4MÃp¹Å»µ·ûRôä–[naÚ´i4551kÖ,î¼óNù¸2a‚Ç^YÇ¢ߥ#öù4»ÛÓËÓV°l†"'\=I‚"„B¤>EIéâõúhnn¤±¡‰â#hkm%ÔÒ‚iY¸<BÁ ;wîbwu5»««Ùµs'áp·×KG4J[k+ÑŽŠËÊhlh¢¹¹¯××åz}E¯Ç?ø¹K¦_AzFf—«Ð‰P\VFG4J82WPÇUW^ÍÆq»ÜIÊi§ñÁßÞï’¤TU­eé²øÊW¾B$Æçó³îýu|ãŠoôºßP(ÄwÜAEE‡¼¼<®¼òJÞ|óÍ£þçf¢kÖ¬á¶ÛnÃëõ2qâDÞyçù°÷¡=šàö‡ÿ›¿m­cÞ·¦v}Ré|_ÚNgR· ÒʼnG8uDnûûøã™>}:@€@ ÀôéÓÙ´iSŸ ç¦M›())ᡇÔu%cP„Bˆ”f'©ŸfØïÏ`ß¾:üéx\nêkk1&n‡ŽŽ(ímm”•";'€æ¦&>Ûñ)þôtÒ¼^:Ú;À¬¼<222I$dgçu;L¡`çpðsÝÊì¿'…aèt´· Áö/~ÅÅÅÜvë÷yäч™0á,‚¡ cOËû¬ÃqŠ ‹øÏe/pÎÙç ñ§gPUUEåœk7îô^SYYɨQ£xã7())¡¹¹™·ß~›ŸýìgLž<ù¨¼†#™Š7’‘‘Á/ùK^{í5–,Y2(§ô ç´§!Ì÷z“Ë‹¹bÊÜFç„g÷×]ÊÍûÕ 4MáâsFs÷Ü)4†Z»½Ž;vpñÅóãÿ˜çŸ€eË–ñµ¯}¿üå/”——w{ýUUU\}õÕüâ¿ ²²rPO¿, ŠB1Ä)Š‚®»(.-ÅëõRTVF8$ ÑÞÖÆ¸ 0ŒÏÿåçäæ’‘àïë×ãr¹ÈÊÉ!=3—ÛMaI1G<Åðÿü÷k\rùŒn¼øÂs\rù Çaë–OØS]e&È+θq§£éC»iRQ^‘LRÆ?ƒ`¨…“ǜ̺÷ߣ½½³Ï:›P8ˆß—ÎûëÖQYy-ÏØç>ß~ûm–-[†ßï //™3g2sæÌd™D"Á=÷ÜÃóÏ?išÜ{ï½Ì›7/ùü’%KX¸p!µµµŒ;–'Ÿ|’ñãÇw;Ö馡s¶· ðÔSOÑÚÚÊŒ3xüñÇIOïzŸœx€-[¶ÝåñCmo‹/î×y eë6×pï+™váœ2ª€m{[?"“ÅwÏBWA×\¸ ·®âuøÓÜ( 4…Ú±,Uíúy¼ÿþû™7o×_}ò±ë¯¿žP(ÄOúSž~úé.åW®\Éw¾óžyæ¦N:èëLºx !„)Ôy%õƒN£Ñ.·ƒƒá6È-†îqSTVŠ®w­ëeå£P œaù¶u¹:Õ÷2¨µ¯¯Ö32]ŸvÙtf]3—Y×Ì%#3ÀŽí[ ‡‚Lžz1W\9ÇÃöíÛz=Æ@ ²þ2IÊÆp¹<´[8餓8óŒ3 …‚x<^>øÛTιæÉ ÀùçŸÏÍ7ßLUU=–¹ÿþûÙ¼y3ï¿ÿ>Û¶m£¦¦¦Ëó«W¯fõêÕ444ðo|ƒ›nºéÇ}àX¿~=ëÖ­cÏž=x<î¹çžäõë×ÑöGr^CÉsÞȂ߾ÅÌK/ pX.Ûk[±m‡Í»Cl© ±µ&Ķ=A¶×†ØZÓÂÖê&6画®)BCK+[>«Çqèö…ÁªU«¨¬¬ìv¼ÊÊJV­ZÕå±W^y…n¸+V ‰äD!„â8aZfçÀv@élШ*yùù½n“•¢ªû? Ð9£“iõ<áÅ~ÏŸÿøz·åp„‚-„‚-ÔTW3þ̳ð¥û‰F;9ªœÚšj<ïqIʆðx<ÔÕíeOí</~¸žk+¿Åĉçõk_/½ô¥¥¥ÜxãäççS^^ÎwÜAKKËç áçžcÑ¢ExðÁ»ìãÑG¥¨¨ŸÏÇwÜÁ† yܧžz*¹Ïôôt~þóŸóꫯv+÷àƒrï½÷²`Á,Ë:¬í伆Š{ŸXÉ«kv0gÆE$0ØÕÐÑùéTUUl§sP¼e;˜¶ƒeuιç8 k*±„Iš»ë•ÅÆÆF† Öí˜Ã† £±±±Ëc×^{->ø gžyæ©;éâ%„B¤8qˆÇã©?NÂLpVÛ¶1Çî­»–ã8˜ ˲°m;yeáÀv_4ëš¹½&.@—mµ‹Fyó?wo˜ñP|ðÄÏLÖÀñƒÕÖÖ¢«*¶eí¯[‡„iâv{Ø]½› &ôk?ii^î»o÷Ý·Çqضm‹=ÂìÙ³yýõÎîs{÷¨x<Öã>ü~_ò9]×0M³KÙžÖ÷ìÙé§žÚe?Š¢t+;{ö,fϞŢE‹¸þúëyüñÇú½ý¡Îk ã÷eEã pÀ–CܲÑ-'nj3QpÐU¯¡à1<†š\wlTð¸ êš"”ºÔKvv655Õv{Ïåäät)ûè£pã7’™™É…^ ŠB!ŽÑ?t]ö­äÝâ°m‚--d}alÀ ¨%/Цi¡ëZ¯ÇiØWTÎ×írsñ¥—ãMKÔõz ‹Þázï½*^zù%FWŒ¦%ØBFF&Žã‰„)++cmÕ»€Ã×û˜½«7£GfáÂÿ ¸¸$ynìܹ“ŠŠŠ^“Ѿëi½  €7ß\Õ­ÜÛv×]wåå<öدhû¾;Öñ;þý†É<ý§XöÚjfLHiN»öµÑKàÖØŸ”(˜*ûSK˶IÓ 2}^{eSÏÙåuLš4‰¥K—1oÞ÷»séÒeLš4©KÙ¹sç’ÃìÙ³yâ‰'¸üòËýß3éâ%„B¤´…{lÆT.±h HÄb´E"ø|i|¶s'‰D¢[ùD"Ážêj233ˆ¶·cÆãàt^Ù0\®/5åPëŽãPX\Ìûï­¥z÷gÔ×íeçŽí¼µê öÕ× ²1(‡¿ïµUkYöÒ2FŽA0ÄëIã“O>áŸ|‚®ë„ÃJKJXóî^]þê!÷wÉ%—òòË/S__išTWW³`ÁÎ9çœd™k®¹†;3šš‚Á óçÏïòZ{zý‡Zÿ×ý.·Þz+Ÿ~ú)‰D‚M›6qÝuÿÒcYÛ¶Y»v-G´}_ëøÍåºKÆq÷µyåÞ¡®¡‰“‹ÓÑT…©ã ¸hÜ0.;ŒsOÎç¬ÑùŒ/Ïgìˆ<*Jriš|´£Žžû ~¯Á7¿zr—ýÞsÏÝ,Z´ˆ'Ÿ|’p8L8æw¿û‹-âî»»Çþ²Ë.eÙ²¥Ü|óÍ<÷ÜsƒþFrE!„ê9ã`&¢ìÙÝH  ¥±—ÛMî°aäçç³iÃJGŽL^Iiinf÷Η–àr¹h¨«£-!“Css3œ,Ç9♼ú£¤lu{kÙ°þbÑ(Þ´4Fª #3ÐëTÆS·‡÷ ü{ëªxé/RZ:‚P8DZšŸŸî`ÖÌ9äååòëÇSZRJ$¡¸¸˜5ï¾8\1ãë½îsþüù,Y²„Ûoÿ>‘H„‚‚aL™2•gžy:ynwß=ŸþðGœwÞù8ŽÃüùÿç°®Tô´>oÞ<~õ«‡¹üòéÔÕÕ1zôhîºë®ne322Q…‘#GòÈ#öö}×±Ž_*L[Äcw^ʯ¤94‚óϨÀvஇþÐcyEì /E¹Ìž2–¯Ž/ÝŸh}^¦¢¢‚+V°`Áî¹ç^Î;ï<–/_Nyyyu|Þyçñúë¯sÕUWÑÐÐÀí·ß>hÿ¦)·Þr“óÈâÇhnj”¿ðB!ÄQ ‡ùpýL¹xíí)=V[k˜D"ή»È Àq0M×Kΰa˜‰­­­8ûUQdeáÒuöÕ×Ó ¡é:7Q>Ãpáógt9ΰ‚áÔ×ííñ~®?ëø|~¼iiƒóM³ó¦‘ÑŽ”Çgíšw˜þõo…z|>‹ñâ²¥Üpó-ýC´eËV–üöqŠ‹‹ioo'-ÍGuu53¯ºš³Ïî¼Ú±ë³],ùÍOÄð¸½ì©­åÒK.aò¤)òÁé§§Ÿü-3®¸‚Ì@ÖQ‹_ªµEüð7o³5¾9õ,~öÄrV?úm‰ßAöÔTó›%Kä ŠB1Ôut´“—_@k¤•¦†&rss±‡hG {÷RP\LVNNòŠˆã8Äc1êkki‹DP5 Ý0hjj"7?—¬ì\öÕ%”Õo®ì×y\4基$!½­'mm­´µµÚº=œ.Eo½½ŠáÇ GHóy©®þŒK¦]FYÙêëëq_šY3ç°tÙ >œÖ¶V X¹j%“.š|Dç襑 ¶œÐŸc1­t¥¹u~ùoSyüÕõ<ùÊêÎD*O^­<°¨É™õ?ÞÇKì%AB!RÛBJyɲLtÝ…ÛãÆŸžNsS3YÙÙ˜‰±h UÓ±,û‹§Ek8‚®ëh†Ass þôtÜ7ºî²ÌäyÿÓä© /ì×¹Ôí­=ÞÂ×ïøöí«Çp¹©©ÙÔÉS)-)¥¡¡Ó4qPU…4¯—Ó¿ÎòÿE~~>ädçñû¤¥¥¹Ïú þñð:°m›D"eY˜¦Éœ‹F2<`ðØkššš’åEEU4MCÓ´ÎϦ¦aªªö+ÞÇKì%AB!†8UÓH$↋ì¼l,˦±±‘@f&Y99†ÁÁ}Ø¥s:ß@v6‘p˜¦¦&Ò|>²ó²QPH$⨚v\'‡ÑÄ…~6ô¾vñ4‰õõõ|}Æ‹F‰ÅbÄc1,ËÆå2pl‡üÜ\*gU²~ÇàØcPNðdb ã— ¦i’H$’ËßÇ—ú˜åXZš›±mUUÑt}Bbº®c¶eár¹ºÎÐwœ“E!„⼞4‚-dçäÓÜÔ@fV:^¯‡Æ†FLÛ&-#·Ûlà˜¦E,#  GÈÍËÅå1PPÈÎÉ£¹i^OšTl²}Û¿nfF3¯šI4%‹Ç0tÇ“¼¡¢(hºŽ¡ëdeeQ^^ŽÏçõæ41pñK…ƒ»n}±׈‚tlÛJvñRU-Ù½ë‹eUU=¡Þ’ !„©lƒ’7ÍO(ÔDsK, à ‘HàÏôÓÞÑA(ì¼ãþóP•În$^9ùÙdr’Û4·4`;6Þ4¿4˜aÿ½û_º®ã÷ûñù,ËJÞÓ²¬.MUUÑu½Ë¸ 1ðñKE‚âr¹:¯„Øvr1M3ùþp'Ù­KÓ4TMC;è}r"¾?$AB!†8EQr‰v´ÑÒÒˆmš¨šŽÇíÁïï¼Aà›7Êþíâ±Zš±-U×ñº½xÒ}R©e˜GÚ8<Ðàì{÷’˜ Öøm'.—«Ÿ§b¾?$AB!RÙ>:†ßàº=i¸³k–ÇëÃãõI£¨÷ö­Ô‡ÄOH‚"„BžyG ½Ø¨ªŠíØÒÀd,Ûî×€q‰ßП$(B!DŠÀ~¿ŸÆ}ûð¦É€óÁ¤£½z:¶m÷Z¦³Û\€êÝŸ‘——/•6ˆ475’••ª¨¿ã4~’ !„)`EE¥lß¶…‘åøýéR)ƒ@kk„;¶3nü™Äc±^ËišÆ¸ÓOgí»ïrî¹ÉÍËGU©ÀdÛ ûxÝ{œ1aFã8$~C;~’ !„)àr»ÉÈÌääSÆòéöí´¶µöù½H=UUñûüŒ=m9¹¹´·µõ^VÓ(^ȸqãØðáz¡–Äo@išF 3À©§FnN¯WâwœÆO!„"E<^ ‹Kd<Ê aÛ6‰x¼ÏääÃ05jEEE˜¦…ãHwÀ“LEE7t<Þ4‰ßq?IP„Bˆq‡X4F,“Ê¢4Ý M7¤"$~âX&2RB!„BIP„B!„B!„B!Ä`•ƒ²§¦ZjC!„B1 ”[o¹In¯)„B!„þ?hûê×’À‹ÔIEND®B`‚KCemu-0.5.1/doc/window-profile-1_small.png0000644000175000017500000022526012417262523020526 0ustar glaubitzglaubitz‰PNG  IHDRôGWˆ¾QsRGB®Îé IDATxÚì½uœ\Õýÿÿ¼6>«ÙìÆ=!BâÁˆ A ÁФPH°"5Ú`ÅjX¡´X)J€BqŠ  @6J|evÇg®þþ¸³“•™ÙÙMïçw_Ç>vwæÞcïsÎ[Îûý>¼³nž¼ûR|‚`õ0fu¯¾¯ZX áÀ8øN!táɺ[goþxùËïm²!fYB@¬üþ©½FŒ˜5zÔÈMÓºT¤8pà`0sLÓDV<€•› `è:Š,òù«k×­}éñ[Ï=ZXxáïŸ\¸ðGÇ–¬‡ÂÙë  ©),ËÂ,'kÆ2M¼RA@K§PÕ‚à0}8pà`Oêç¶6°ö‹ÈŠ‚eYž0 ƒ@YcÇN OUÐ Gcâò?ñoyà¾G4hðЃ5SÒ›#Ùç ðÕÊ7é;d4åU½yòžë8`þ©T÷ÌóüžæÆLŸ{<=û FSSÎØ;pPܵ…íöÓN·¾‡vÑýúEFEtÝ@’D ÃIJLE!V;öÕy!I¶Ö±mã—·p^Eh»|2ëIQþ÷þ§|þù§(ãÆ‰n—¢÷î;p–ܳwß× N¨9Š,Kxü¥¼ø¯»9ÿúG¹ì”)”TT³ðœk¹ïú¥|öÁ+œvé\~êtn_¾AEÑ¡‚yù¥€nZÔ‡¢ôëU®›ìhSUÀ%K¤Tƒ¦HÃ4 ø<”øÝ†É·mü²,Pd™­õÍ`……×í¢¢Ä‡nÖ/"šnðÕÚµx$ƒ²òJ¶×5PZR‚ÛãaËæÍŒ5Qp y·&EI aÇÆE"™&–€mõMôïU‰®ÄS*ªªSUdè°¬­} AÚËÐäÞý—È–eš¦Iˆ.LÓD7tÊ«úpÕé3è5`—Ýõ4;›Õo£ª÷@FMšÅœEçĕéˆßäWÊ-vngß!¥¼·~Z:Å£ÊùlsiË™3qX%nYbÃÎMÍJK˜–…iÙeˆ†hX»^!ó‡Õò½e `Z µEÏåhú.¡BíuÞrš×rÆ·mËf~}Â>Y[Çò7×pÛsxæ­¯ùl]wÿü0N¿ñ%¦OM<‘A@À´œýƒ|0LI–1 D™ ë×3¼—Õk·0°_ošê·Ñ£ÄKCK‚È’X¦‰®kÈd¼Ù[¬aZX–Ŷ_Ó³ß0Œ¸åéµ ˆ˜¦‚Äô¹'¢é:²ì²7t€(ŠÔ‡"ì3¤œ}Göá±×^æŽógóì»ë© «Œé+1oêîü÷*$Idp¯BihŠ&‰4ÕSSªN¨R€ßK´q+n ƒHʤ,àÆÔU"i‘>}úP_W‡ Çñ•õ&•J`&›ð–õÂ4 b¡møË{ 0M‹´¦!IÍžÈÏï| M·¸í¼Y,ûû;lÙ’D0âø|>Ü.…†¸„lÆ© Ê4DT\J4Mcæø^T–xã“ ––qÕ½¯R»#ÉÅÇOäÝÏ7 ©]»ª H"­×Ýôí]m[œéáÀA†n!f$iÃ4‰Åœ0o:/°žW?ü’›ÏŸÍÃ/|ÆÚú4Á’`VÂoQ¬³örÃ2m­Æ˜AIß±\rï3¤…R–¦˜AZòsßíW±³!‚ahMÂùq~œŸö?‚ Ð 3~X5õM1n^r0w=ý)›Â^ÙäôÃÆðû'VRÞ³7=jú²©YDeÜzKŽC<©rÊœÑLàãU_²ììƒ;¨ŒcÁ?Ý¿8’ ŒáýO×0´ÚÅugÎä³5 Êi®;k›¶ìà›Í[¹aÉ֬݀K‘1L“h"ÅÀš[êÂDÒÍIÐu]7èW)±ììƒÚ+@}(ÊJƒ3À…?Ú—>íu ê]Îö†(Š$2¦ŸŸ–ÎaG}„ñÃzòIm.\°` ºarØÔ!ÌŸÔ“M[v"‰‚3?œç'×i! ¶åMUuöÚk/λõ¿LÝÎÍ}ËWòåvƒÞ=+Ðt#k±3,[!—mkE*­#K"ÑP‹Çn%1D¤üÓ»ùé"¢÷rÈoŽâžëÎãí =Ì ŒS²^ŸBË‘·8èͰH§Sôîiõ; Z$(ŠÂŽfÞ}%’) ßÇšµëùÓQ»¥™e>4Ýdÿqýxæ­¯1M‹Ç^[Ǻ0 ƒ×V5пg)†×‰%;¤†×WnÄírÑ¿º”µ›%‰áÃ÷bÁË™4~$¡pQiŽ$˜>¸”ªò5°Ÿ®ÝIíö8ûïÇ'µÛy~e#="g=‘so{] òþç›9hB?–¿· ]7øzg„/·¥9dRï¯ÞFu¥Ÿ[aí–??išaQôHk8~ Z¾š>½ªH©º3A8hI²ýS° ’H¡éåA7¢  jPSd寔' Höq˜a’JkX–…L†Ã›–‰i Tئ½Î++ƒ4ë >ØæcåÕ—‹Á¯.Èè^|µþòyì(J”8–“ƒÆƒ6°€TR§•M7¸ú·ùñœQ,[<™_Ý÷}*<(¢Éú-õHVŠêêjLCEQdþôä$R:[ê£l©³ÿ¸~loŒ"‰{ ¨äíÏ·ásËŒ܃UëÀ²;´'ø× š# Æ ©bãŽf<ë×®aÔà^†‘i™…®%Úo0/¼·ŽÏ7†øjs3(~¼~ýzù`õvjz–£GëØJP^*0}ï1<óîz‚^=+ü¬øºE†¾UAÞþl+ÃûU’R5šãTW¸òÞ×Ù¸½™ ÛÃ<úòjFD<™ÁÉtáÀA[˜–‰( XØ>4õÛ¿áOÍåoÏÎk+7ñÇ‹G–°aƒûÙ¡ã‚mžÁÖïMÓÂ,DIdSX$ØS¡Ù*aÞ¡ᨗ’ ÄêM ú ’ÙÒœ$)ø° KÇ/΃Ž,=O±O¿)UÃ(á‰w¶r”npïų¸ð÷¯òÄk_rÕ©“ùzSUe~î{q-¥e=xö­¯¸ø„ilÜÖL$¡RÝJÿ*ºn Gè_SÆÝϬBÀ`x¿üãå/©êQÆWë8qöhj*Ö3b@Þýb 6×óø•³yæí5¼Y§¼Ä‹( h©CûVrÏòUTõî((²Ä¶U_1´o%¾ôwšE/¯}´žkNŒf¼ñÉ&>ý&‰Ç%Ò³<À7;ÃX†Áà>ÜùÔGŒXE:­‘2}ésÎ:jj77Ki¼÷usÆåÆKp¢Ù8h·g‚…Í£tÝÀí °ì7Ù•4x(—ßý*¥¥%]Ñ(þmÂäùK¬E§-¥1n ˃û$øÏ“qy«8qA¿>âðÙ%<ób„‘ÃÜløFåãO#Üqëžßz¥žFLËÑÐ8èh>“hh ‰Æ4 _æL½™††öïK2­Ñ ¡È"– Ñ·w ‚ j 7#I"^_ž=ÊÙ±£Ž´¦Ò¯O¾üº–!ƒàr¹øjM-ú÷Ãï÷²u[ÉDŒ@ @s8BÏ=¨ªªäË5ë(- R]U™ÑÒm/õÚu<¨?²$Ó,.I_¯YGß¾½ðy½ 446E‘`iå¥LÓdÍÚõôïןÏÃW_¯c@ÿ>$“)šÃ† Hss„P¨Iñx|TV”;!läUÐ{ÏØºÊÊJ’ئöTZÃçq¡  &Š,âóXõþËL=`Íá0©dÒfèÇŸ¶”†¨†,Kä‡l_Ä‹¸˜9ÍK2e2m¢Ÿ·?ˆSY.ñöq^“½¦ç1óvBÈ1¹;pKÞ¶,dYB’$;É I".E!•V—"Û Ö²PU-ûŒ"ÛŸkºavA°µ}¯›dJŲ,¼^7é´ŠiZ(²Œ,K†$I¨šŽ®ëx=ntÃ@×lvG˲ðzܤ2íjÝf¯ÇMZµ^±,$IBQ$°@Õ4ì[ž³ën)KEdY"™ù»¥íëwàÀA.Jü^>[ù>½†`fðÖë@’evn¡Ÿ^x‚娪J:™B˜tÄë„3Î¥.¬¢È&ªÄ¥X´¤t×5 E±=SYÀ² ]ÇMÜqˆsà SÆNÍÔÊxÀ·^ í]¾Ïs½ßú™–ÿÛ>CN͸ý»…>ÏÕž|íh]_¡~8pà ÷º¬,²ö‹‘äÜ©_ C§gu\ÁJ‰$‚éd¹Ìc²ugˆÆ˜Ž$I€…hÕQŒËŠ!È;wàÀö vÔ7ã)€‘'Ï‹(ìˆjh¡íYSCîïÚÉ#<‚„ ЉgsàÀ|÷(î Aðe|ÝŽ-È¡¸Îa™Fæ¬LÁãõ9à8pàÀƒ0T5M:•F’$j×$‘í€uLÃxù¥§ñùü˜™Ø68pàÀÁH‹lß”IS¦‘R54ôË´F2™ º¦cÇGUUgÔ8pàÀƒ,Ë¢¤´ŒW^|Á>*Ï@îÈõmöT*¦9 Ý8ø®vkïöö×”[–E*™ìàß¡[¦.ŠB·BM²w{ð½\ßuVO¾Pžöï·ÚÝö¶.·+ýÉõnge´î_wÛžo\š;4whîÐÜ¡ùwGó–ÏEA–dâñ8–eáö¸q) ‰d²Íû¢(vˆ2“‹é\ûÁË÷w‹TQèÎ&k¾ò‹¨í¥˜|n?¨ù&A>¡&_{[—‘«Ì\„Í5VíÛVhL -Ö|ñʹ6‰ÎÚäÐÜ¡¹Cs‡æÍ¿š[–…"+„#aîüË]|½±Y–¨–3Þ|fLŽ®ëÇE,VjÑuMÓPUUUÑu=›F²;RPÎ: UU1 £Mù‚ `š&š¦u[JtàÀ~ˆháki5Í¿½ÃcqÀÁû1fÂÞÄô8Ën¹žo¶lî”ÿÉÅTfš&@—ËÕ'“É.1Ú|Ò£ÇãÁår!ªª"Iº®“J¥ðx}z÷!N,£( ½GU?9óL—;ûãr{8áÄ“¨««C–ånºÚËo¼Aß~ýQ\nN;ít¦LÊ5×\Kii)eeeÜwß}¸=>zTõt¼ï¿8鄚;phîàûƒ¦k¬ß´ê^Õ¶i]¸ðœó9yÑÉô®éÍç_~ªªAÂ꾆N¥™4i"÷Ü}MM!¾ùf3gžuëÖ­ã•—_Ê+aåbà­%Ó4Ñu…ÇÇ…ǰxñb† ÊÌYãö¸3åÚ^~Š¢tZænMö}è¬]É‹]èûÝmCwûfd÷ÚW,Í‹}¾õï|¹Åš;4whîÐüÿušƒÍã$I´LY¡ºw5}ð**ÊùäóOY»a=·_ ú @×ÍÝc誦?a¡Æ&OžÌ”)“9j4Û¶m£¦¦†ÊUÄ¢\..·hl¨GQü~?bæšÆT2I2‘°/{QJJËH¥’Üs÷ÝøüÔtŠÚÚZÀ¢¾®ŽÊÊJLÓB×õ6mòx<ø|>QË$‘HdMôÅLºb'Kûçòy)ràè®Çew&v¡>vEðê¬ÍV‡:…¢®ÇÜÝEÚÕ÷š;4whîÐü‡Ns—âbäð¼±âM&N›HÿýYóe-a#Bï!}0L“!ƒ†L&ÅÜ‹­LLÓÀ4ìsíD"A=ûêÇŠŠ AàÍ7ßäg]Dyy9‚ à÷ûùøã•pàAˆ¢Hyy7Ýt3‚(âõzyå•WY–ñ‚‚ÀÙgŸÃ”)“¹ì×—QVVÖa LÓ" òÌ3Ï0zÌA o¿þ<ôÐÃ(ŠœÍp×™çg1“¡ýß¹ïV¬øƒfÎä€öçÞ{îfÓ7ßpÕÕWóáGñôSO2bÄpîüóŸ8gÉRþôÇ?¢¸&OšÌQGaæ¾?¹¬¬”›nº‰+®¼Š /¸€_þâ|±z5?=ûlšš›8wéÒ6šzk§‹|a­ëÉ÷yNA'[‡'ä“þr=ÓYhC!óV¾Çb&{¡p‹BÒh1á,¹ÚP($§P¨H®PBtqhîÐÜ¡¹Có2Í[4sUS¹rÙÕ̘75­òêòW º¬m¨¥¯þ\÷«kèÛ§o§è2ô–KJJxöÙçÚ4²²G%=ô冮i‡9§Ÿ^NS¨‘òŠJ¦M›ÆÀo¼N$¦¤´”éÓ§s衇ñúo°Ï>ûpòÉ'sÎ’¥uÔ‘”–––H$ò¶iãÆ\}͵¬üøcÆO˜ý|öìÙÌž=—3r&¦if®ƒíZòöÏu–@ _e¾A/$ç[°…$îÖßw&=æZxíÛÒ™Wi®²;3Que s•Ùþ³b’N84whîÐÜ¡ùæ-Êò¿¹’q3Æ¡( ¯<ý ¼å÷|,,DQ´CÆ5Qw/l­ePb±“'MâÑG¡¾¾·ÛCMM5%%6óõùìkÜN=õTš›B¤U5â½÷ÞãÙg–Ó aš&¡ÆFft‡U«>còäÉYæN§I¥R‚%%ί¿^ƒaÌ™;MSÃ0h±%$q\.W—“|×R\W“|›’{1goÝM8ÑÕ{ZrwhîÐÜ¡¹Có Í=¢ ¢:²,ó«+/£Ïˆ¾ôîÛ‡‡ï~ˆ;n¸ÛC*ÊÖeg…ë<„¯h§8Ó´ðü 2”’’’l,x"‘ÈØôíŠÀW_OyY†a_gÞ_….1ôV¾mÌ퓼´0ö–ŽôêÕ‹§Ÿ^ÎÍdÇöm”––R»f ©TŠúwð\/ÕÕÕÌŸ?Ÿ‘£F“LÄ‘DWFPhl¨ï4§n±“.×sÅ”]Œé«+èÊ{ùR #Éçks®I% ìZ삀Ѕ¾tgÁvw š;4whîÐüû¢¹eYȲL}C=7Þ~3)#E0¤éÑft]ã¸ÓŽãÁ;äò‹~MŸÞ}PU5ËW»šƒ_fÃî`‹tqé%—pÑÅ3xÈ`Ž?î8Ö®]ËŽ;ž²²2æÎK"‘Èžu‹ ãÇ3eòd¦LÆcÿx”É“'ŽDxê©§¨¨(ç„E'Ç;•âº#ùug²u'¦swÚÝ^ºìN|i—Ã1, öpæ¤=1Íš;4whþ}Ò\’$4McÙm70`ÄJËJíÏE‰Ú¯j¹ëwwqÍ/¯bÄð¤Õt%¹ø>é'nn&¶ÒÁÛ›lwË•«‚ H$8óÌÅìܹ“óÎ;ŸóÎ;€1cÆðúë¯aYVÓ¸iî*¹¾¾žx,žõ^L&“ÙÜî‰D‚gžYÎâÅ?á°ÃȾ£È wßs–e¶!L1CÀ\á ¹Ê(d¶éÌV輨ýûÅ8ä3Ñåš¼…œn •—kœ‹JpQd»²Xš;4whîÐü‡DsŸÏÇcOü“Ps£Ö ÖC7tœ{ ƒ‡ fç¶ô¨ª²=ØéÜQr·º 47…¸ï¾¿`YÍM!¤ nÝø¦¦&V~üÕÕvÚº–ƤRi®¾êJ–,9'/Ò³gO,ËÊž|ôá ÊÊJ³õ}¶êSü~?‘H€“O>‰Ã8œæ¦Š¢ ÿøÇ£ìܹ“t:$I”––âóùH$’yoÛ)&´¡Y%×âÌ%±å$.-Gý‡6ª»PŠ]lÝ‘ìóMØÎÚ]0œ¥'“ÎÚšo³rhîÐÜ¡¹Cóï›æ–ea&ÉT’¡‡2îŒ=†koþ-‘¦e•e‚Ö­_GßV¹Ú‹¡y·5tÓ4©¨¨ÈhÑf^ɧ_¿~9+ã÷ûñûý-^ë@€´ÒÔMjjjÚÔáóùðù|Ùú[òJJJÚ´'Nç )$uuvöTHâ-&|¡á 8~ãÒ™äÞÝp–b$Úbü M¾õe{gK±Ÿ94whîÐÜ¡ù…æ‚ ‹Ç8ùø“ðy½¨š†¦j¸d…ÛvPÝ«šD"A hÃ[‹¡y·5ô|“£´ÐÞ»¯u‹uæ(:ÑYYß·†žý®Et£kÉòIº…$×Bá,ݽ'¹Ðy[!³W!g›®&œÈE«®Ü“ìÐÜ¡¹Cs‡æßÍ[Ž•UUå­wÞâý?à³/?Çô3|Ôp‘™°÷xÒét^ÙÍ»ÅÐÿÿ„=áÔÒQj³(Þ/ÔCsÍü_¡yK.Åņo6òÒë/3e¿)øƒ~6nØHS]W]z†iØÌ\v…“uÝfè…ÎNºûNW¾Ïe’jk¸³vtfUèjòM îŒSwƹ½&PH’ΕÉ¡¹Cs‡æÍš;4O¦’œrüIL4•Wßx•¦æ&Æ ËáK£¬´Ì¾.µ“¶çK»GzW2Šy§¸ïÉÚ9 CjÎwq%_w®ÛëtÌ ¯<ØS\>/Í®8Ö84whîÐÜ¡¹Cóâh.‰d’ýú³äÌs0 [#'YfžYï¶ÉÝ*ò6bn±éÊsÅ‹OÛw»ž‡¸ØP‘bßé,d¤Ó1éb™] ßphîÐÜ¡¹Cs‡æßÍA@7ôløw{A¬+eæsÚËÉÐÝn%%¥¨ªŠ8pàà‡ ·ÛÓÁ\!·— LÓdÓ† 47…0 ÓqópàÀ~€Ðt½] ÝårqðÜy¶½Þ/ÿ'¤Y—"}WY+;o“ªn`˜Î:sàÀA÷÷¶–Äj9ºeY¤S©oq#Û3N , I–Û8ìézó9=ˆbæúÖï°^§?Å÷Gš’iîæ£ê÷ÎÔM *.~DQÌ.9ߦ˜ˆÇ³¹Ó»>--D<^/²¢dW†( hªJ*•êæÂ°7>·Û…âö´a:’$±cû6úõH"os[( $â tCïV¬¨……(x½>DIÂ4Í]iýL“H$Leeìu°»<-±D·÷"˲$ Ÿß¿+±¢´'ú#âõyŶý1 ƒxqtÃØ£ýi×-sïò™4aÃTcÖ÷ÇÔ-$µ›ëxà?ŸrèÑxªÍÄß'úôí‡$IlÚ¸1KóïÃzárÉ <Œºº4…B™»"¾¶X”••Ñ«wÖÖ®ÉÜù-Œ‹‚(з_úôí×A1ÙݛۺzkWgåuöy¾Ä^…ž+¶mÅÞ›ÞÝ>wÖÏBåtÖ–bÚÐÕ[êZ[Ós:Å}³i#Éd%ËŒ»£-A"ž`äè1¶9@¨¯ßÉçŸ~†¿$Øíõ ‘p3#G¢W¯>mˆšL&‘d¹Íg¢$±ú³U444âöxvkÅE£¦ÏØ·ÛÓÆÛ°åº»ìà –eòÞ;ï Šbo“kÝ×t:…Ûíbâ¤)ög¢ÀçŸ}F(²"v£?±h”éûí‡Ëån×­CLÓä½wÞF’óß5_l<7ûNœœýì³U«hnjÆåvï^bQfÌØÅåj3$Q¤¾9ÁèÁÕÔ7F$‘ï#ú÷à…7tö7C‘Äï[#³™ÔŸ}F<eúþ`™æ÷¢( ‚H:âÿý¡ÃG0rôÞß[[DAdçŽ|ðÞ»tðl\.×·ÒÓ²XõñÇÈŠBÏžÕªï#—{¡Lqíÿ/˜Ë=ck_~±Œºý3]ÉWL¹nårïBvÀb2õu—æœâšC! ]gÊ´é»=I·oÛÊŽíÛ2l8éd’ÕŸ¯æ°#³[ŒTUå™?Euu¯¶è 9‡ˆÄâyÌ‚ÝîÏ7›6²jå'ÌØTMË;‘EáÓ•+8x£Çì½Ûõ¾ýæÿØ´aƒ‡ £¡®ŽD"É‘Gï~6nXϪO>aúŒýÚõ‡ýYùñG 6œ‘£Fïv½o¾ñ:›7mbà!ÔïØA*­2ÿècv»ÜõëÖ²êÓO˜6}jæ¾€–á’dQÀí³— }Ÿ$·" ë‘x YúþÛdYƒæóUŸ’N%I&“ß²‰9¿È#Ë  B×U¢‘p›<×ß5Ê+Ê))-CÓÔ¬õïÛ2M 2˜uµµôéÓ§‘õ IDAT7Ëпï\î…˜dѹÜÛ•ÕÕг|Úò*—{ÁØyá[ÍߟWCO¥Óx}~ Ý@ÕT„|‘ËNÖêsË4)/¯`ËæÍöÝè€ax<t]GA,¼aX`Z²+£†Ž,+‰žH$¨Ìq±Lk“v®…e¶HÓ0è×ï¼õ&B' ZEšÃÍŒ°OÞ³è¢5Q¤¦wo6oÜ€(ئéÊ=rö§+0M“~òþ»ï J"h…Ûnnf߉“ öDz@…cס?½z±}ÛDA$SUUÕ5ú@‡v˜¦Iÿùðƒ÷m‹H+ \’…"K%¾w¸DP${ÌìµðÃ835 C7lQè~»,ËÂåraFNºz<žìÍR¹­ ë:’$îV;Z××Ý£>Ó4Ñu-3¿=ZY€‘D­"[WÆ`wMÏ{*[!¦XlÛö”/VWÍÜ»³òš²»ï^ù˰‹AÇc±7Á´LlQv9ÑBö^ô²¬6íMSYýåêÜ'R–ŰaÃñz}y®«³ŠÎykæ[ESs3gœy_½†k®ºŠã.@̘™³“¯‹ TÈ5m­]Þ‹L3çß½üÄV¶}ÅÎÓ4³·&嚀’$f”ˆ®ˆyÌȦiµ!¸eæî$I¼·jMáx¶NÓ´¨ª0yLtÃ@lÇÔs¸$Y‘e!3Ö&¥¥eøý ºÍÍ4U¥°=Õf ‚ ’H$vkc—d—dÏ1Ó´0;Õ&º$0¸\¸\.¢ÑhÑeY–… ŠXX˜–™ÕLÓ´…¤ íÍL–«BP…5µµ”—•QZZÚfí¹ÝnV|ø!£GÊÛ×ÖŠiš˜Ö®ù*ˆbvÒ¶i[¸ÝnÞy÷]&MœH0¤±±ÑV2º¸di%˜ÙK7¬Œð/¶bíSƒ¶õ³ûJK?[úcåP$ºÂìºrNÛ•çsEïI&¹»Œ8ߥ1Å\òRlû Ççº@¥Ø1hÍû ­ƒbi#ç•3“´¹¹US »¾ÂËÄ´tÒ‰¢$a:n·A±(Içõ7^£¦¦'»AØ›\¨)Ä{ï¿ÇÁ³é¶s^{sDëAûûÃðÆ›o²mÛv~{Í 6Œ?ü_üú×<úØcì=f g-^Lß>½Û˜¾º"mwvÖfY±XŒ’Ò’N˜s Ù‹¿C¹øQ±º2à 2s€£öç-šÁ!S‡dêVަäêϹ7.gà þ¤T YÙ¹½Ž·X‚a˜ˆ²ÔQÐËÅ`$Ûä.‹’$ Ë–]}9ï¿ÿeeåœtÊi>ÿ(âñ8º¦  ‰Çc”••ñx‚W¼O:•bQ__Çã%  i:áp—Ë…ÇãA–e,Ó$ hnnή Y—d3 Ë4°ÛÜÌäv»»mE‘U«V±zõ—œtâ $‰¢—hÙ–i˜™y¯ë:^YFÕu\Š‚ªëÈ’Tpþù¼^}äQ:è@¦MÚF¸­(/çÚk®ã¡ÿ–eþÚ‚í‡b™‚-К&ºa ‰"¢ `˜&²$‘Ö4:óÇ//+ã’‹/åËÕŸ³øÌ³øÓî ®®>¯õ§C[ ÃÓÌ 3†a€$á÷ûÙ¹s'‡`0H4¥¡±‘’’~?²,‹Å…š¨©©Î¶½¾¾Ó4ñz}”——e™¼e™Kgk>ß9mg7¼u–æ´³êJ»:+³˜òºêÖ¾®ÎÎý;ó (¶œÎ„®Œ}±c+çåç™MW7tÊËÊ3Žmvgt-ñ€–¨êÙx¼™d2†€‰ÛíÏ»©¶lã-®ª*ýû÷çíwÞD–$IÂ4Lü#÷ÃG­Ø#&«ÝfwÉ/ÅØ1£¸ôÂóH«ižþyæ9ŸSN9…ÓO;…ÒÒ2âñ\|1wÜr }zÕ`v£ –•ÿI’¸è’ )++Ãíöð«_üMÓòh>VNæ»[cbu#T*Ϲ’Í´κæqüe•\ÿ··ø\L;0oagçj-èÕ£„ŠlØ¢¡1ˆ•ôê,êÝ] Üfž² ’ÕÕ\xÞyLš<…e7Ýȶ­[yõÕ—yóWèÕ»7}úöEQ\<üàý,üÑñ\så/Ÿ]òsþøû[5†‡C·èD¾þêKþrÏ]Œ³7§œz:_®þ‚¯¾\Íg«>¥ªgO{·Þ¼ ¯Ï˹ç]ˆ¦Û4–dEÓØ¥¡WVTpö’¥|ôÑǼôâ ¤ÓiJKK‘$ 9’‰Dðz½ø¼^Q V³Ÿy½^LÓ$2fôh&î»/MMM”ƒÈŠ‚iš¤ÓiR©@—Ë…ªªÄãñìš‚`ÛçLY–Y±âCû#Ö­ý]×6|/þþ·¿2ó ƒð¸ÝÈŠB:&#d¡`0Hyy9‚ à÷û‰D"˜¦I À²LÊÊË2š­H0ÈæµÎf§l‰"±LLÓ¤²²’9óÅçóñG"Vùß›oqâI'S¿s;ÍÍÍTTT ñxUUQ…` €Ë㣲G%‘H„?ÜqÛ·ïÀçóáóÙÖ¿h4ŠeY”––b’,Æ2í-2{LÒé4~¿Ÿ·ˆV¬àÎ?ÿ‘Çÿõ÷Þ}ï½ÿ>wÝu7eeeÄâq~~É%¤Ó)~{ý ô¬ª"ÔÔÄý¹—ßüv›6}Cii “'MâôÓO%í²^í!sg&ób”®b´Ò\eåª;ß³]M±šËòÑþBgèiî]ÛÚ/÷\BUgG]¡yË[bÁM63`Y³—aŸ%éZŸ¯ ]×ðx‚”–öD%4-•}§mƒrŸÃ[–E  à÷ùñüø¼þ¬y+{®gíLøÝ?ÇØ¹³ŽcŽ:’ÆPˆh4FeJ¦MÊöíÛÐT¿ÏÏØ1ã6dµµµ¶²[̳ð;%%¥œqúâ]GÞIÔnüŠÈÅ\”´ÑÅøg+G†a""—Üú,;âV*ªª¸äöÿòYí6[SíÐÎÎó·ü­j&’(¨šf˜mž³:ݰ,ÙN.#‹`j{ï½7¯¿ö >øw¾Ù¸‘ŧŸŠ[‘¹ù†ßÒ«GO=þ–apéÏÎcÔ¨QvØá|ôÁûÌ›;ƒ>˜8úÛ¹åÆë¹ä’Kil¨ã™§ž  såe¿â„N¢~çNŽ=f>G}4"pÇm¿£ª¢Â¶4ö1€‘Ñ>%IbݺõhšÆ)§œÄsÏý‡^½jøãŸþÌ’sÏcÎÜCY²ô\ü~??ò(û8“é3à‚ F¿~ýxì±2gî¡·èÒé4ï¼û.·Üz••üúŠ+9üˆ#9ᤓyò©SRRÂUW_ÃA3披®B–¤ìY·Õ¢¡›6#D#uä‘üéOw2`à@þð‡?ò£c’ˆ'E‘ó/üÏžËí·ßÇmGKœyÖÙÌwÏ>÷ýûõçü .¤9&ðÛe׳fM­­áZMM!w<3™Í+¯¼ŠÔb’6M,s×ÞcY5ÕÕôëÛ—·ÞzEQxþùç™1}:©TŠ;vpÔ1 ˜uÈÞ}÷]Ü.«W¯æ9ó8唓ihhÀï÷3ÿÈc&ðᇡë:'ž°ˆ¥K–pÚi?&e´s³ U¦s‹\×µø®<ßÕã ¡Kœt¥ìb˜rWÊÌå§Ñú³Bc¶ëïÜ!xÅÞÇÞUKE.¾*Ú¸[·•ÙÿÍŒVg˜º¡ÙhK'UM"I²}þÖ~ƒrl´™:t]·Œ–ßF›31Û¤+wû,¤ýùšËíFUuF͘Ñc˜ø‘Üzëm\|ÑÅÌœ9 ×Ç×µµì¬ÛÙÆØU‰©ECoÙ$IÊþ´*‘H${þær¹¤]G»˜••—¶´©uÙ…~²¦½nYÚ2\ÛñIaÙ_^á£uM¸ƒ%¤R:ë¶6SÕ»g/[ÎÆ­ È²ÜæÜвvM!Ç9½,ËȲœ}Â0¬¬ÅHÓÍl¬ºÇí²ŸkÕ!Ï|VDÛßC"‘fÎ:ë,ÎüÉ™„B <üÐ߸ì×—1gö, Ýà½Vð ÿᤓObáÂ…<ñ¯òЃcÿý÷' лw/zõªfÛ¶-¼ñ¿×¹ô’‹xþ¹çX±â},,Î=ÿ|Æì=ŠãŽ?Ž™3g1mÚTÎX¼˜Ú5_áq‰H™¶("¶YÙ2q¹\<þÄ}ø÷¿ŸÆçóòáŠ÷xé嗳ަfF53Ì4™L2mÚT6oÞÌŠ+XS»–ýöÛQ’øûƒ2zôhÞ÷mÖoÜÈÚuë¹çÞ¿0ó ƒxþ?Ïâ÷ˆÇY?d2•YßPZZÊåW\É•—_ÆË/þ—;~ÿA@Ó´l;ZÓ5­ªsÌÑ<óìs¼ôòËŒ5’²²Rü~?—_q%¿»éFþóìr®¿áF**+¹î7ËøÇ£sÙ¯E:m;øÆqbÑ(÷ÿõ¯<ýï'¸îšk¸êšk)-µï®¸ÿ/÷ò‡?ÜÁ­·ÝAeeEFбڴÅívóß_äùçŸçûï# ‹Å0 ƒ°}ûvt]'NñÓ³ÎäúëodÆôé|üñJ&MšÈ¢ãcíÚµ<ñÔ“œõÓsPU5{~Þ¥=¦3hð³›W¸î™n¾Sì‰>w›Ç@÷s[táÅB4/p†žåF­˜º•5?)Š—T2†ËåÍn®ñXIR²Œ«ð ´rN%”Ll³(I蚎x½>j×®Á4 t]ggÝNŽ9j¥¥eÝÖ“[ÚtÌQó¹é–[9íÇ'“J%Ñ5 US©««#‘L°iÓ7ÔÖ®£1ÔÄÄ}' iZf1wß¼­( ›7ç«>EE¼/ÑHY–Ù¶mo½ý&‘HQ˜4q2eeeY'4+Ï"i9sM&“¼õÖ›»"2Ži‚(d•p]×6l8Ç Ïö§;  5Sv¹îù×»<óîFúìK4®"d˜Õ¦jªzrâåÿ≛QSD7Ì‚Gö8I¼ùñ:6ïSpŽÆ©ÈlèBæœ7ŽóŸÿ}A4a'¾Ypð˜Â!8€K¶¥W;A—·þ÷? Àþû]D2¥2cúT®_ö[Î=w)§œtK—.¥¢¼”šš^<û̳Üwÿ},û͵L›>ªŠÏã­(ì¿ÿüãÑGØYWÏŽ;Ù´i#Z:`®iöy¼i¢k*Rƽ^ÌôÅ%C:­’L¦P…×^{`I O<ù$¼ùæ›èºÎ>Ƴ~ýª««I¦’hšÆâÅg2nÜ8† Âú ùdÕ*N8ñd¢± C$j›¸·nÙÊèÑ£X¿~3¦O§1"‹óÊ«¯3{Î<AàÈ#ç“L&Ðu;rÀ2MT5ÝÆR2gÎŽ=n—^|Vf7oÞÌGÁæÍ›¹×^Ô××±uË;t[¶laÚÔ)D"tÝfК¦! ¦Ó§;“o6oáÖÛï 1`ÀÒªŠ–‰P0tK´ó<¤U•d2É>&ðç?ßÅo~»Œ—_|?½€›¾aÙ 7 G>|8©TUU)//ÇÐuª«{’L¥0tMÓøbõ—üôì%4‡Ã̘6úúzFŒžµ$膎¦jÙ–i‘VUTU%‹±Ï>øë_`þü#ˆÇãXÄb14MÃçóáñxyàorÌÑGqüñÇqÃ7ñÚë¯3ó ƒ;v,^¯—ë~ó>ø`S¦LÎ*6åó)Æä[ìwùîÚ»ïÅı̾+gÔ»ó^ÞrŠ`êÅÒ<ÿz‹ÄˆÕö:ÕVŽG¦i ×VfÍ£Š,ìÒL;Q˜-v¥ÕuÓL3xð`*Ê+H§SÔÔÔ0qâ$¼^/µµµDcÑn1ôöàÀþøóçæ†®Gv¹±$™H¸Q7…h G˜:u·U¸‹Õ Qb—YûéåO3hÐ <7?ùÉOH$vØálݺI–¨­­Å²,wØ.ó›Uت¶v Ÿ¯þŒéÓfN§‘h4B"‘DLÃÞ<~ä!®¹êÚ=Óër)üýÙ¸î¯o3fÌ,CG’tÝž7eé´†©ø˜vƽ¼~×ôíYRÔât»d.½ý¿ 6€ž}û§mOÇRøJ*¸îáùâ«Üþ³9H¢€n&ƒ"‚(‚(€,‰ˆ"\rñElݺ¿ßÏï~÷;‰ãÇ£¤$ÈOÏþ)±h”íÛ¶0cÆÏðx<ÜvÛíø|^®ºò ê¹üòË™5s&S¦LEQd®»î:\ŠŒÇãF,YÂãõ Šv¯'C3»ŠHÆ1ÊËògže„ Üqûm$ ^}í5yô˜¦I,G–$âñ8}z÷æþû ²÷˜1lظ‰ÊÊ fLŸÊÒs–‹Çض}ªª‡™3û~»ìz ÄïÿðGÎ8ý4†Âøqc¹ð‚óùàƒYaµõo™#étšÆÆFŽÿѱ”—•2~ü8zøQtMc¿3øÓŸïdé9góÒK/sÄá‡1}Æ îøý9ç쳸óλ˜?ÿú÷ïÏC?œٳyèáG8wéÂá0ÑhŒ9³a@ÿþÌ>ä`ž|úit]oc!l±@$¡±±‘Ë~ýK¢Ñ(~€X,F<gîœÙŒ»7Ó§OçéåËI&S 4ˆûïÿ+`€?^‰$ID¢QEaæÌ9íÇ?ÆïðáG¢ë:ÍÍÍY/ôH8b{ôgÌà-gè¦ib©dŠûþr‡q$ ,>ãtö9‚«¯¹Ž£:’wß{ŸýfÌÀãvS[»–µkײmûvÊJKyî¹ÿ :=«ªxï½÷9ꨣì~g=ù‹ó9)tÆÛ™™º+ïuUØï*s/µó]ÜoÞYßóFuñ½ÝmCÁzò1tA°c¿UUÅ0li¶%¥é®L,·ãr»inªCq¹PÓ.ÙÂÔÕÜçݙߪšÆív‘J%ñx¼Ì˜±?.Å-l³[cckÖ|Mï>}H§Ó¶&­¦dF-ælÄÞœ4=ó®$‹E©©©¡4襢¼QXµê3 ¬¤‚¦P#cÇŒBÕÔl{mï®$”²f7AQÇÍ{ï¿gÇP555L›6Õ«¿ "Juu;™üë_ÿÊ> Gðù|Üzë­,Y²2cvè¼CY¸p!шí<µjÕ*4M# qÊÉ'sÖYg¶v&3gÎ$‹3jä(®_¶Œp8LEy÷ßwM¡&$ÑöW$Ó´%Y’8ñÄX½z5C‡eÔæ-”—•eµË‰ûîCee%.—‹/¿þŠ?ßy'ûî»/'xç.=—‡~EQ8ùäI&’L2…Aƒrúé§ñøãÿâ€ö'2nÜ8âñ7ß| ÆeÊ”Ém­6–mr7 aÆѻWo’©{íµé´Êؽ÷F`üøñ45‡yð¡G¸ø¢Ÿ ™}ÈÁ$“ ûçã\{í5`Y,9çlxào<ÿ \{õUöò¢EÄãq–.9‡þóqn¸éfæÌ™µJeÏ«-Û—¦9æÄE‹2¾'%”—— …øñ)§‡ùÙ…ðÈ£ÿàw·ÜÊá‡F8Ü̯~ù î¾çúôéõ×\M}}=?Y|áH„K/¾„zˆd2Å '$Éyäü¬cߢ㣹¹9;?[~Û!™:'xÛ·mç®;ÿÌý÷ÿ•mÛ·sî’%üçùxèáG¹×^ôìYÅ1ÇÍ“O>ÅC?‚cŽfĈT÷¬æÿü'+V|Èå—]FuÏžYgÀ\y7ºšd¤³ iù»Š)¯Pb™b˜Pgw±{¯{wËë›k¼ó]>Ç¿bÏúó½ßÝdBrggÎ-ñÔ‚$¶aÌ"n—Ó0P’(“JÅ E¬–+Ý:z× ¤R)&í;‰ÇÔ6¡åee ØÞžÕÕ5Ùó%!ãaoš)¶K’›…eÚ…šÙ¼¼/• 0ºúb±(¢(S^^F2™Ä#ºZ9b×Ïœ[êŒÅ¢üèØãˆÅcˆ¢H0äêk®bîÜy„#a.ûÕå„B!¤L(LKÒ QlÉ ÐêÔÙj5–ÎàAƒ¹ü²Ë[4vÔê-,ü>?±X´Û’o{gÇŸ.˜ˆiY˜†Áƒ¯¬CÌØ’ M±`ê –,ÚÌ4†a‘H©ÈŠ’ÓI®u¹‘xŠ©cûsÍâéüâ®7ÙkäPR){ƒ÷{êwÖsñqãY4go‘’$fÏ|óI½Šh×# ¢$b˜:M¡FÌÌ3•\wíµlظ /¼5B’D4-Mcƒßr®ßØP(ŠÈ²LZM‘HIJßÛ©síÛ S'K#I2–e7gÏü°½ÜM“X,ÆìÙ‡N§²}0 ƒysç`ºaN§3f4†aÒ»w/<ðDQ JÓÐÐ@yy—_ök,Ë"‰P,¡OŸÞ¨ªÆW_}Å´iSùÛßäW¿<œP(Ę1£˜6m jZ%gÎò-@ÌhÈ&º®3pÀDQÈõvÓGŒ@SSÏšÉü#'‰J¥°,“#?œc. •J¡ªš¦qÎ9ggBòÒ¤RiŽ8âpR©‰DœE‹ŽÃív‹Å³õ´ÄÁÛsÝ$‰dßÉZ#Ž9êH©$š¦rêOÎÄÞÇPU A°øÅÏ/ÅÐuLË$sì„B!<7—\ü3A$‰pð¬Y$“ Aäðóý[D¡ƒ° Ø‚ú‘GÎ'‰ØN€g.&‘HF™7w6Ç}TÖë?™Lrì± 9ù䓈ÇãÄãqÜ7ç.]b[ "‘ŒÐo[6wy¹fÐßUê×ök¿¹É<Ÿ^¡4ª…˜bwS¿c6ïNê×|L¹P?‹ÑÈw+õkþÍÛj“üÃÞ€wùÕ™¦‡Üâ‰ÞÚé­=;o CI§ÓTUõäÄE'Ùg¾’ÄO>ÎÂÇòò+/áõz1L“t:…’ÉgfMp]qO³¬]D*•¢¡¡I’P5]Óñ¸Ý”••böù½Ïç³7ºXŒ-[¾Áëó#‰"BMÕ­M†-ðûüñP\ EQðz}x½É¬ÉOÈ&R1³cßVP03›0Yá¤Ø#‡Ö¿». ìz/Oaš6C7LÓ¡eÓ3LRªŽe¤ˆÄRvÒ¡ŒpØÆy-Ã$LsWÙŽ$9òÀ½…\ûàGŒÜk²"³ukç=†ÅGïK8–²3ÓeL¡íûÔ:lM‘2^·€qÊ[9Þ577sÅ•WÚýjn²Ã3}qµº`¬]ÿ[’ µþ^ ›ýIDQÊü- JrvM™cË2H&ã,Ní?kÑâ CÏ26A ÃtLššBÙ~†i[oDØŸ×ßø_t!ýúõ%N£i&­6¿–µmfÖ·™aêZ9_ËX®DQ •Jd˜à®M,‘Œ“HÄÛ8îD"á6tI$âÙM8‹e­Y§ÉÌqŸ`í£–wZ[ßâ­Ê‰F£6Áææ¦6õÆã±ìñY‹Þò|*•Èìf¶.{ ›Y!ÇnKÛöG"‘l’­d2‘ûoé{<ËÔKöž‡p¸¹Ó³‡Ý×Ðó1Œî¦~Í¥åw–F5_ØZ±!j}öCLýš‹#¨äóiØ#©_;2£-ÓIJ„¬6Õþ¹öÌ<¯I%³q·˜®Z•ÇãAUUÉŠ¢ Ë2¢i2lèÞ¶nÝ’=Ã2-³‹ÇÙV–‘Äã ¶nÝŠÇí¦}˜‡ èš}U¢¬(4Ö7±yóf Œèvwý½åü/§3Šƒìóùs2ìh{Á¨“—B4íC: ( ëšª’=îÏlbšnbè¶yÝ0MÄVÙö:˜3›fë6™¦I}(Í¢Ù{±­®™¿¿ú †iqâAýY|ÔX›c(²„i Ya¯P–-E²É~¬ö ÁŽhn Ù7Âå µ#ÿ%[-ªk!7‹vy|,l!Ãl3G¬‚¤ùiù½išôèу“O’É^E–q¹ÜTTVðü‹¯²~C IDAT÷èÑH‚¸ëØAèF"Ó̤Ól CÓ©¬¬ä†—1lè0Ôt:wâ–œciåMòÒ¥¶uçLZ¼–“Éétšº¦8[¶…ˆÅ“ÄiÃIÂÑ8ÑH„´n·’g™¦}!xûùfîš-~ªªÒÔ¨qâ¬AÔ~S–ÅâÆ³u[·ÚÔåv£È²='rä ï( »òîµ–Z'õ)t™B¡›¢èä6©ÖiÓ©4ÍMM»ïOÁÂnc<£¹¹ ]Ó¿·¶ˆ¢H´%¤S ƒÐû]BVd{Lšš0-³[Wü¹MÙ~Bi•¦ÆFÒjÚ¹ÝAÁùbg(,É rg/)ŠL(ÔØá P!Çf ŠhÆjšf‡xC7ðz½<ÿÂsm¼m±,DIbӦ̞uˆ’²]n󮘾=n7cFféOÏâ±'ždÕ_“J¶˜Ú,Û© #=”÷›NUÏžÙ8ê.mºBn“{ "ÑçŸ{>²,£©Ñh$2ÔFbϘèÚcKòºCSjaR’,qå‰{#`bZ~;–ذ˜0¼†TZC””lb‡$=»œ°òµ)žÒ¸øøq6³Iê¸\Ê.“f+kE>“{KûQ((w&ñçû¿˜sÅö¿Óé4öH2™üÁm½{÷ÛítË{Õ5½3Þåßÿ=ñ={öúNÆDÈ0¶IÞaç Ï•ú; ””0`ÀÀ =sžf@·GG×Ô¬ãQ{ \dIÆÕ*ÿt>íÑÌÃà’©$î©T2cÂlkæœ0öÿcï¼ã¤¨ïÿÿœÙ~½pp‡€tŽJµ , üb‹Kb¡‰`Á(hLTŒ¢b@4‰ŠÁDì Š £H“Þ¸^¶Lûý±7Ãî±eöî@ð;ïÇc··S>mæýþ¼ë«;Žšò•j‚Aq¡&j›ÍFff&ýÎëCŸsÏ5rcƒnÁ(ú" "6»Í0¿êÂÈŒ´öX£™žÊk‚jA0оD:/š½>égZ4|½Ö·Þ®îQ…[®êf#Š"Šª&ÍíZxÕ¯ã¼JO‹<>Qñx<8ÎZÂZÀfkRØÄãàQÌášrÀ#臶Ù~y¸5MÓÈÌÊ"û4€rô¾X¢äã§Òˆrº ïYtZ‹tTUá»o¾&?¿yÐ]ùa 71:l6ö¤˜ ð¡‘ úÿA¨±B Å 8V ‹‡ª›& Ó¥`fÈ'ŽGN'‚¦àHåúB5I3el#qÑDMàÐà7³š2 Pp!Ü#&pþ‰ãÑ¿‹¢ˆ¤€QxPƒãÊLlßvpL‘}’úFÇVr‚¿1‚8–˜ÒN§WQŒ’ÆYd‘Eu!]É5@ŸjŸ’’Ê‘Â#dfó]ë¶£ FíÛ»—F99F»')‰m[¶Òü¬æu/¯'ŠìÚµ‹””TÄ8IÓ4Ò32Ø´ygŸÝ𤤤zí†Ö­[K³üæF%«Xfùù¬+XËy}ûÞuaúþ@€ýû÷Ó¦ME!#3“-[·ÐªU+<OÇk×’ov<Í›S°v-}Îë²A«Ãxü~8@ûvíP…¬¬,~øáÎjÙÛ]W鈦i¬YC~~ó`u6”h±òm£å•ÆK³‰tßH×›¹6ÒÿÆN¼ „Xd‘E§«¥(vꜽöÉž¤$Zµ>›ƒû÷áבn5h†oÔ¨1¹M›áózEÝ{ô`íš5¬[·¶^5ÙÓÓÒ9§k—Z~ý`E´ÚƒLNI¡sçάüú+~Ý´4MÃf³Ñ¸qc:wé®Mk'4‘e™-[RUUŇË>@U”:·ëp8hݦ 9£( É))têÔ‰¯W¬–ç¬Çxš4iBëŽjYt7aãiÕªÕUU|øÁÿPÕú§MÛ¶dçä]:©itèЯ—¬9PñäææÒºmš{íôH»öùõUŒ”Ç+à.Òq3Q½z܉ÓåÂf³Ãie—°È"‹êÈâðû}Çåk”M»=TiÓ™NJJ ÝzôB¨§/à÷ã­®®©…¬àöxè?` ‘åSWÝ2˜úR¹e‰F99x««Ã‚ËdU¥q“\.ÉË3€fêJAÁ|¼óZÅ 55Õ¨}m;u¦ó9çÔ³]Íp5èq Mr›’׬ÙI(ÚHII=^Ð'd<:ŸÃ9]º4ÀxÔ°ñä6 B–ƾ¯.Ђ²Ýn æx‡[(!øÝñ‚#€0Sˆ"’ÙlÙÌh‘󡛀XøÐ±,úq›ÍFEy9üï}ŠŠŠkrÔ-†h‘Eg²Vîp8è}nڷÈZd3©=tàr»õ->Iª÷æ^7³VV«÷}íDMv#w ¥=â¤Ô—‡3â#‰äšI?‘ý×»YáG8íÆ#€UU°ÛíìÙ³—ÂÇÃhö EÃívÇê±Ìß±´úHµA&âµÉtnöÑú¨_+|úÉÇô<·O0P¦êö[d‘E¿ 55[–ýï}šäæ’žž5æÊä±Á ³””T$Y:iy–YTWEÁ¨[¿mËV¦ó9]Q• ¨E0gZÃëõñчË6ü7Ñ ÄÛ'M[6“‡.ÄËCph›ŒÚ}0ãS/++EU5ºuëÞ €YdÑ/¯¡ ‚À°ß\Ϊ¾ã⋇†T<Œ¢¡CД­È²Å,:ýv©‚½ÝɺuÜvûøýþ$9¯×‹,ˈ‚@Yi1ë×­£ßùç5ñci̵…e,m]ERSSðûƒ¥§§SRR¯ìe´úÔ±€!âiè¡ïqCYq,²È¢ÓC¨«5À[±ÈèzZ™ZS¦3¡Æj˜ÛíAUª««Iòxmvª««¾ŸE… _QdÛÖ-´ly6Š"“TS_©yÀC¢$Ëde7âè±£q_‡ÃAZ ¯ðSVVf¤+FÚÔŠ¢Hee%c®¾†a—]F¯^=éÛ·/W]5’ÿþï=R@vVI2ê“»ÝnA0ŠÈD v3üº!‰´aÐjmZôô8=Søb”ø3`úÜë˜XSµÛ =_¿GhÁ¡ÚA„¡ýŒÔ–îV‰&oÌñâ&âAgšêˆŒRŸ5÷Œ×ÞÄšm3ÞššíC]ÛŠJ œ%–õí×°æ¡ø\Q-™¡'kZ0PÊívãö$áö$á És‹ö±ÛD*Ê+q?µŠÑèµàu!õõò/9¸?ö§ðüØO¾Ãá`Ó¦ÍôêÙ“‹/ºˆ3gâñx ´»ŒŒ  w:ddd”<öêUŒ{“&OæèÑ êš³«YYY<0uó, ##»ÝÎòå+øèãq¹\ƽu¿ÇãÁãñ‘‘aÓ ¶wü½q»ÝÆ5:%''³‰âwY³fBsâĉA˜^QäùçŸgìØ±<ñĘˆÎdÖ®]˸qã¸ãŽ;8rä‚ 0zôh®¿þzÆŽËSO=D“«Ù(ìÝ»—‰'2nÜ8¾ûî;CÀŽ5ŠñãǸ µ-6›™3gÇknˆ¢È믿θqãxä‘G¬ZµŠ#F0nÜ8þñ‘uëÖ±bÅ nºé& ëç͛ǬY³ УÚÏV(JW¤O´cµÝ(‰œïÿHýKäšH×&Ú¦™y2Ó‡º¶íÿHèjÑζ¶gâš›%±¶®íIJbÅW_1uêT¦OŸÎÖŸÆîp WO"¦iÇ¿§›?=ö3fÌàìÖ­ùûüù¤[¶n„®µ>Ö'ÑO$S“,I|óõ ZµiKYyûöìjz†xN6›Í›7sóÍ7ñé§ŸàõzY´h1‡â“O>åþ)SPU•Ÿ·oçÁâ³Ï>'5-Å‹ßä­þ“÷—þǰ¨ŠŽL£a³;ظq#+W®¤  §ÓÉÁƒÙ¿o)))¼÷Þ{<ðÀT¾ÿþ{233ùæ›oX¾bSx€+VpàÀ¦=ø |ð.—‹¤¤$V­ZÅLeýúõ¸ÝnœN'K–¼GJJJXQ‰H´víZ®»î:n¸áRSSyä‘GÈÏÏçÍ7ßdÈ!9r$8Ÿr°vû£>ÊâÅ‹yðÁ¹÷Þ{xçwX¸p!£F¢sçÎaÚÃÆ¹ûî»Y¼x1Ï=÷%5õéß}÷]¶mÛv‚ T£þöÛo£j%Ï>û,¢(²xñbFEaa!6là`ñâÅlݺ•åË—°lÙ2rss)((àßÿþ7„wýòË/Ù¸qcÄ6"!v%b5ç*ŠŽ;^ò3ÚµñP·âõ3Ñë͸xj ÍH}6Þxýˆ‡0-¦¤öù'T4=Ãׯ—Ûn»²²2l6±Æœ`õ«©¬¬Äép—õ±>f?‘ÈëõÒ¹K7Z´lI‡Ž‚ņŒT63idÁ@P‘þ\@á‘BÖoØÀýS¦0lØ0ŠŠŠ˜2e ^8„—_žÃ×_­ G÷îtîÜ™ .¸€)<€ËíAVÂALD›ÈŒÇçáGÁ“”Ld(wß]Byy7Üp= ßxƒÃ‡óÎ;ïòÒK/3â7¿áé§ŸáÁ‡â²K/å ß   €‚‚u,Z´˜›o¾‰9s^a׮ݤ¤¤0gÎÜž¤¸•æŽ;ÆÔ©SyþùçéÖ­›EQ ­wøðá´lÙ€Fa·Û fi·ÛO`X>Ÿ5kÖpðàA»víbíÚµ ©¾Þ6làw¿û>ŸîÝ»sÖYg!I)))ôèуC‡°fÍÚµkGÿþý),,¤²²’÷Þ{aÆ…”2›^h),@,“w´vës¼®÷1{߆ŒÉ¨+ÊY¬”úÌÛ™¾æ'øÐ ÑjùôS 3oî\–¾ÿ>N›Ê Xºô¿\8äB.¾øb233Yüæ›\8äBöìÙMVv#C°ÔÞ¿Y–‘I’ƒß% §ÃAzZÇgÒĉlܸ‘´ôtìv;Ÿ~ò ýúõÅëõÆd^d„ Œ9’·Þz ·ÛÝng×®]´jÕŠÒÒRTU%++ I’p:|ûí·,]º€#FpÕUW°páBæÎk˜íÞ½›œœ<Ó§OçöÛo§C‡aí»k•óÕ4FñØcðÅ_pÏ=÷D4©6mÚ”‚‚ºwïnð‹êêjî¹ç DrrÐåñÕW_Ñ¿c-222P…+®¸Âp¯$ªõE ®Š§©F3'•ˆ‹•Q—€µh¦íºÜ×ÌXê{¼!,gÚš'$Ѓ(f*ªŒtOKMå¥_dYÆî°!|(ªŠ×,Cç÷ùñz½TWWQXXˆ,ËH Y’ º•$IŒ1‚óúô¡¼¼¼^Haýßè¢(RR\Â[‹5胛ªTZVN=â>cª¦áv»HINÆë󅙉(ŠB¯^½ø`Ù2úõëGNN#ÞX¸wÞ}7D×¢q DQ¤¼¼œÇýí;v`ÈàA »ì2&L˜ÈÇŸ|BEE…%®gâñ€˜òò n¾ùfî¹÷^úHvv6Ï<ýWRSS˜0q"ëׯ§²²ò³v(UWWÓ¢E fΜÉoû[.\ȃ>ÈÌ™39|ø05âÑG 3_~ùå\~ùåL›6 €Ï?ÿœÞ½{Qôj4ýW_}•»ï¾›'žx‚·ß~›½{÷rðàAþùÏ’••ŨQ£Ø¾};—_~9K–, ‹Œ××U_Ã@ €ÃáÓV¦NÊã?ÎÌ™3ÉÈÈ`æÌ™ÆF.999È“ìvvìØÁÀÃ6Wýë_ -?šIÔlªb4Sj¬tÄHÑxÚc¬TÅD|ªÑ4ÉHé‘ñ„U¤~›ü±Ú6Ó¦YmÜŒü¿°æFû£¯ºB›óêëhšJZZ:.·‹Ë.½Œ—_~‰ôôtE!§qôïÏâÅ‹ðx<ìÛ·‰“&ѦuJËÊø×¿þÅС—0ëÙYȲÄ#Ó§sÿäɼ÷Þxèá¹ûž{iÜ(‡cEÇ¸éÆ›èÚµ‹aN³È"3tìèZµnƒ¨xdþ ØŸ’²*TM# )ø%EQ‘•ÒŠJºdW1üüvxýA­óûoW2äâK).:f]€B0 œÎ úž.hôÈwÝT¬ùý~RSS©¨¨0þê¦è””C£TU•ŒŒ ªªªŒˆu]ðTWWãt: ‚9ín— YQe9¬äädã%÷z½(ŠBzz:¥¥¥Fßô¿¸¸ˆ/?ÿ‚Ûî¸Ó`>ºà3£©EK «þ+õÍ £M+‹”ÖfæzEQÐ4Ûo¿yóæ…õ-4R>´ßÑ|œñªóEcîñL¨‘@<`žh›ÙH÷4ÛÿhkmÖtm¦R]€‡Ì]Š•ÖëÚXkw¦­9À¡CY½ê.z)U5)±‡ƒ•_-§OßóÙ±ýçZ&w ððafÏžÇã1˜Ú±£G˜7o.N§3<Ò¢¯¿ö¤mÛ¶;ÊK/¾h˜,Ÿ}æ<wÝu'²$ó—?ÿ™í;v‘ž4[š@òȢhLɆŒßç£ÚëEÓ4ü¿¤ + IÙ(ĆKÕ¹ž>¥“Ïç UUUF˜ÝnÇ_㯷Ùl”––âp8Œ¿Zˆf®ßSEŠŠŠ ز²2ã®d×ieþ¤U6„¦•ÈyÇ5¡`¹ƒ±xá||þ€õ[dÑNš§j×¾=íÚw ª²2jüŠ=”}ÿÍ×ø|^¨ÚZÐ$Ä­Ö4ÍŠf·¨AH’$:vêLZ²»_”ºÁ§Ææ‰BŸF«ûéúxѯzÝöfùùÜpó-1ƒÖ,²È¢3IªƒÏç5„y´ Ñ[0 ´{¯Þu†NU…äšBGAQU233p¹Üx««AÀ‚eµ¨^E¯·ú¤U«2Y]_Ð!ØX´úx~ÌШöâ¢"˽e‘E¿"Òbcñ™0{ñúŸLXE³ýv}¢àÛ\:€ó†œÇßfÿ´´4ô±8EmFÉ ¹råJ¦L™Â×_µX†Þ':±OŸ>œsÎ9Ï9ÕšÞ©L'{Œ 5–x‘²g’0?Ö\UvïÜAfv6ÍÎ:ËŠ‰³È¢3}ƒ/ H‰m[6ѵ{Ϙ|Ýž(ƒ ->!Š"Ï<÷ ¹mr8t 2¨®¬æÃ·?dùË¹à’ èÕ¿•å•\ý»«ùÛk£ïy} A,Š">ø eee¤¥¥qñÅsá…ž ÅëýøÛßþÆ×_mŠˆ§–””””Ä{ï½ÇUW]3©.Õ„"'™ÉíL¤šP¢AVµÿ`I[O$(,^)3shæXC F³c9“Ö\*++±Ùí´mׯ×ÂK°È¢Ó‘l6²"›Ž+KNiÓ®=‡"?¿yÔz.†Tk„ô²eËPU•ââbl6ªª’œœŒ(Š 2„ŒŒ ƒ©ü¾\õ%ãîGEY€% –à­òÒï¢~ôº ‚(`wØQ•&­š°ä½%\sõ5Ú°aK—.eß¾},X°€‚‚&L˜À?ü@aa!—_~9EEEìÙ³‡¥K—rÅW°mÛ6 èÖ­íÛ·gÿþý$''“™™IQQÉÉÉFe¯çž{ŽââbFŒAãÆO™$0êkrOÄôMëɽ!®7£Ö×ä^—c'K›þ5¬¹ª©5ÑîrM1‹,²èt"»ÃÁÖÍ›èÜ¥+ÕÕUˆBülAU”˜¨SÆ´ù“O>aüøñ4mÚQiÒ¤ ÿüç?™9s&IIIa™¾_õ=9Ms¥`]v¿Ï'ÉC§ð${ð${˜÷Ìù$EQHMMeõêÕüç?ÿ¡yóæ¼þúëýQ:v숬(¼úêk¼òÊ<~¿QIJ Öfp¹\1mâÄI|ôñÇ=RHRR’$j~¿ß€LÅ eÊëõ›Òà³î2PÍ™“Xkn¬Ç…Ûåâ«/¿`øåW²cû6vnßÎyç_@uuׯ#77I’¨öVÓ,¿9²,ã°ÛÙ²iŠª”œÌþ½ûèyî¹”—–ât¹¤¶ígðE—PYYM­`z‹,2+ÐkÞÝR&„I^»zÝzödïžÝ(ªB~ó³ ×tŸ¸@5'^{íµ¨ªz‚f®SFfÝÚuc׎]hªFFvªª¢**šªI)IÜ2ù¾°% ðÀ_cN[¶lÁçóa³Ù´èV­Z1þ|ü~?.— MÓøì³ÏÐ4¶mÛ²xñbã˜No¿ývØoºy¾uëÖŒ3& ‰), “»³}}ÌÖÑú`Æ´›Ð.17A}a£] Vñd‘Ýn£  €¬¬,ýÓŸ‚ZvÀÏ×_¯dá yíÕW©¬¬ä†obâ„ñ<öø ÆŒÍþýûY[PÀ­·ÞÂë¯Ïå­7ßdΜ9H²Ä£Ó§Ó¯_?Z·i˰a—±nÝz.¾øbvïÚÅöíÛ¹å–[øýí¿çñǧiÓ\®»î:ü~ÿ‰óU£)×iÍ5jPé0‚ZbßžÝ\xɥȲĺ5?ÒûÜóp{<DAD–ƒÈˆ¢ÍFqq ½ MÓøü“°Ùìä·hËåbÏî]´ïØ I _/‹O[dQ‚¼W3\a%ÅÅtíޓ䔲²±{ç#›,Ôº¨yèº ®¿ï®û¸ñ®¹â†+XùñJrósÉÊÉ"·y.r@Æî°S^RNjv*W½’&›¿Ž‡¬ Zýw½ó¡x˺©S‡B =¦CZʲö[$ØÇhr¢&ãXe@͘Ü#™UëjrOT{‡–ÚQ¼ù‹eâÿ%Mî€ÄСCÙ°a#Äåtrï½÷0âò+˜5k?oßΚի¹è¢ ùyûvÎjžÏŒ3(*.¢y~svïÙÍë¯Ï¥¬´„fÏfñ¢7())ᦛGAAMš4æÕW_#à÷ѱS'vìØ Àyçõá÷·ßÎÕWÁãñ IRôù¯ÇšÁ7šFUU%«Wsɰᔗ•át: ¤¤¦QR\ö®|>ÚuèÈûKÞÁî°söÙmÐTUQ%‰ÃrþÀATV”ÇK±È"‹Nx9·¦i(’D^³f(Š‚€¦Ñ®}¼^/¢nÇœŠn7«‰EÛ!äææòÔô§˜ðÐúïO“¦Møþ‹ï©®¬¦C÷”—–³èÕEüþÆßsøÂ|ñš¦€Úvm\éP\cýºÐ>ÕÎMõOêøÑ‘ÊdÖÕänV¶‘0cr¥M×Þ˜q%Ä3ßš5ƒÇj'^À YkÈɬ§[žf>ñ~_5ƒ‡\D¯^½˜|ÿd|€ŸWæÌÁår‘œ”Äĉ“hš—Çý“'QYQi®»öZ222X¶ìCö8À¥—]Ê»ï¾KVVâã>dÈ!Œ½î:ZÝŠæùÍY³vQ‚î«¢¢¢àw›ÍøýÅ_$¯Y3FÄ7“(ésñÖ<Ôæ®Ÿ) à÷ûiuöÙTV”³qý:Ú¶kOþYg±a]YYÙTûªIr{ÈÍËG–¥ ™>5•Ÿ·n1‚ý’S’9RXÈÑ#‡¹`àÊJ‹E›¥[dQâ*ú ïµ'ÉÖÍiÛ¾ûöî%33›Ý†PŽ+ˆ&îlǸã‘nrKMMåÏ3þŒßïgÇÎH7K4ÊnD³¼f†FŠó±F÷ékŠïvh¨vN—5—e™Ž;rã7²jÕ*’““xñ¥Ù8NE!;;›±c¯£¤¸„~ýúRZZBQQ/¿ô2UUU<:ý¶oßÎÀ¹ÿþÉ,]ú>[·nåš«¯Áçó1}ú#TWUxòÉ'¨®ªDQþú—§ðy«6l.—;rÅ'=Ú¼Î}<!ðÓ®}G|>Mr›’œœ‚')‡Ó‰«µ¿×Kzf&™YYTVTÔ\àìÖm¨(/'=ÝIÇNçP^V†¦ªt:§+R –Ck‘E%ÎoõœsEQp¹ÜtìÜ…o¿ZA§.]ÈËoŽ·º:Ü¥UW“{] Žès:têØé8ãTdÃ_zïx~ÛÚ(Rf®‰gâ=Õ‹Öu½ë Ô‘È<œÌ~™Y/³ÇO†PïÖ­+}úœ‹ªªH’Ä®]»¸ûÞ{ùÝÍ7ãv»©®B¶Ž9Q©ªªB’$Î?ÿ| DeeÐô~õÕcE¯×‹¦iœwÞyFd{ÿ .0¾0€ÊÊJZ¶lYc~SêüœDµ|„D¹Ë²LJj*¥5–”ÔTü~ŸáÂr¦gå5$¡’ôŒ ÊÊJƒÌÂ᪪*O›÷Ì"‹ÎTNȆXwE¼èbl6›‘^j&[(®@¯« õëdm5¦y’âƒdeg*ªäÇ/ƒâ÷#Éü~?Š,ðËø¥EÇŠ8àPïgfI˜E2Ç"‰TQ;™UÃêÚ‡D*Å™}HÝ@Å2·›ýíTiò’$Z²Íf#99™?MŸNïÞ½´3MÓ ¬÷-£Ã£ v3|_5ßõÀÍHsUß5ÕòCÝb:…~nÂåÈ̦†ÉœxLKø¹±È"‹Â p¡zhÌ•,IÈ5¼ã„,(êW—7Z@”ß[ÆÁý{™9ãÏ8\.TYÁ†¬Hø|~PdUEQü>n·‡Ô´ ºöèS'ÓžY_»™ëMñ2“‡­/‰´ÕUKŠìØPkn¦‚žÙJw -à#Å(ŠBff&YYYFÀW$¿u´¹«}<ÖóQû{C¬yøæµnki‘Et‘ަª5™©ZT9m#P' Ý,ØDm¦íOr kÖ¬%)5‹¼¦¹ìر'sÎ9›’’Rl6EUiš›ËûK—²èÍŜժ=ii©aék:óÕMù¡Àïúoa€5Z‰~LìÕµ²P†^»*X¼ô´XÚf¤`¼Ú¿™ H‹¦ñÆŠWºôd¯y$KA,ák®N™©`&HñtYsýw¡æ⵪ª*èLO7PiiÐ/˜‘‘qBMù²²2’’’Œ4¹Xº™÷h©ÙJq±4ºÐߢµéÚh×7ÔšÇ냙ñ*ažˆ–|:¯¹ xjªÖ>tä”d«2«E¦dv³­ó„ƒöqN—nQ¡S£ ôD¡/M¥0© åÅÅü¼};"*^—1-›/ÀG}Äê5«Éo–Oÿ úóÓO):V„¦ÊÁŠs5tÉ%—ðé§ŸòÓO?1uêTæÔä?øàƒ$%%QYYÉoû[hä¡ÏŸ?Ÿ+V`³Ùhß¾=“&M¢W¯^\uÕUìÛ·3f——ÀM7ÝÄÂ… ™;w.¯½ö7nD£‚]"z,_ñ¯>õLO[;Uð©§zÍív;í;vâØÑ#F œEYtæ’††(ˆtêÜ»ÃaøØÒКdYCíÜs÷ÝÈ’„’äÀãpòõÇŸ³zí¼U^®{]:waÐàAL™2…cÇŠÃsòòòØ·o?þ8K–,Áf³1iÒ$ÆOûö패c-ZÄ'Ÿ|Àe—]ƤI“ÈÌÌä0Êb¬_¿ž^½z0yòdŽ=Šßï7Üꢞ,Ácæ<Ëwú ì¸O“5E‘üægYE_,²èW#Ô!à÷‡ÌEâ "ÐÍ0E‘ H~ÊËËÉËkŠ"Ë  \qÕ•ü´yR@â®;ïÂæ°‘–œŠ¦i4ËÍ »÷¶mÛ˜:u*o½õ–áwسgíÛ·'`·Û “»NÓ¦McèС8Nn¼ñFþøÇ?ò÷¿ÿÍ›7Ó§O®¿þz6lØ@›6mŒëÊËË<ŠýtM[û%…×/™¶v*´þ_jÍý~¿Å-²èW¨4ÄÚð×+Ê=^ôwh£ªª JD›-¸ß¨9VQQÁÝwßÍS¦0ü’¡È¢@n“&|÷õ×(šJ¨—!??Ÿ®]»òÊ+¯pûí·ÇáWuXÊ`[ªñ}Ñ¢EÌ›7·ÛÍ„ ;v,cÆŒ1îyÅWpýõ׳nÝ:&L˜6–Ð`»h~ÓX‘êõEÍŠ5DZú`m-–àoˆ5OÄ¿m®Nz´{'7qº­9€ËéD°4t‹,:-6ú’@U1"ÛÍìX<1a =ž¿/Ñ(wYVü¸œ®Ìé`=[4Hv{è> /MûuGÞ¶Ÿü6­Ùeóáýi7BBZQQ÷ß?S¦Lá‰'ž`Ú´iŒ=š‰'rß}÷ñÓO?áp8¸è¢‹Œ~x½^öïßÛí6ðÒ_xáFÍ7ß|CóæÍØ»w/¹¹¹Ftð‘#GØ·o-[¶Äáp˜.U{¦E¹ÇŠ4¯Ï𛓉å~ªv»fµäÓ}ÍQ¤¢¬”Õ«~Äëó[<Õ"‹~1rØíôèÙ“ìœÆ¨!Àaõåí¦5t3•Ù"u$šöTwTvîÚEUU%JMJ ¢ªÆEçFÕÀyv+Rn’w£ÚfCéûm·ÝÀSO=ÅüùóÙ½{7W\q999Ì™3‡¼¼¿úê«Ìš5 EQ˜3g^x!³gÏ&??Ÿ_|‘¯¾úŠ .¸ÀÃÓO?MïÞ½yå•W˜4i’ág§éFš—h&åXB0šæK8'R‰/–ɦ¡ÖÜlŠW´ñžlS{¤þ› ä;×\GnZ³f ƒ.¼¨¦ˆ“EYôKRyyŸ~üç÷;§Û—$ÊÛMièñ["š@Ye5mÚ´ B7JÞòRe%Š]¤²ä(>U@pz9XXA·ž=ùbù§afôqãÆfp]p+ŠB¿~ýèׯ_Ķ“’’xè¡‡ÂÆÔ¹sgž¨AÙعs'C‡5î7eÊ”„ç¡¡L3fÛi¨úë‰DY'²æ‰úð‡Pó‰~´®þTl&ê¾æ±Ï÷VU‘’’JVvvDhV‹,²¨﫪¸ÝsüMÓHKK''§ Å%Åäæ5‹[!ÆÌ{^'ž(#ŠeóÏoÞ »ÓÅúW^àÐ#ä7mŒÛ¦’šÜISÐRÓ¨’UöÜAqñQ6n\ɪÕØí¶°"/¡xép·½6s6ëÃUUÕ– m§®ÂÆ,ƒŽÜOS¬ï\ß´µ“±æ‘ j£i¬ÑÌÛ'S™µœqkNx´»EYÔp$É2{÷ì¦c§sN(奯y/k\“!ïh4‹g4µÄ o¯wP\¬Bµ;™œœF÷}Ù²q>e¢i ÙЊD²Û…ß«±mËöìÙÏÈ«F’––³œf¼ò©‘f(é•ájW˜;¥_£Çl€T¬{Ä»¾®¥_Í®y´ûÉAqñæütYóº[>,²È¢x¼ÏawD|¿ôj¦‰ZYuÅÒåtE4/ʲŒ"ˈ¶øpÅ RX&ôüX×8v:uêijϽÀÃ?Ìλðù¼¨J°ì¼?à£qNc®»n,S§=DJJJL†+ˆ Òo¡Zcèï‘Ðàâ1ź‰5wñ6"ñ4¿D5t3×7ÄšGCìé©ÓÐ333)..6Ê ‚@ZZ¥¥¥µ[A(++CUU233#VØ í³^¾²²2¬¼ãÉZóHB^¯¦¨›ßíöà+/IÒ “dY6§S Àét†k+’dToE1lÎdYFUUãSÚŒEæ]Õ4$%Tˆ¢È–-[èСƒñ^Ôº8ªbe·ÛÙ³{7_~ñ™¦i$§¤ KYñ›ß\·ºª&K,ú>!<ôD¯}ŽÛå¦më¶¼>÷ïq'PGZ‹·á¨˜LC ‘h¦åºØDÍ,f4¶D*¶5Ôš›Ñ´cïdjèn·›_z‰?þáàr¹xíõ×¹íÖ[ñûý¨ªjÔ7E—ËÅ–-[4jÔÈ@”e9LàÙívE!55•7ÞXÄðáÃŒ2‡»ÝŽ,IHréÌétâ÷û~fÌ<ëN§“矞{î¹€Y³f1hÐ zöìÉçŸ΢E‹ÈÎÎf„ 4nÜØx窫«™6m•••Lž<™öíÛ3yòd>ŒÓé$99™çŸ¿ßoôÿµ×^ã‡~`ôèÑ\uÕUL˜0¢¢"æÎ‹ªªÆæÉ"‹~-BÞf³1yòdž~úi/^ÌØ±c qŸuýýu8¬_·–n¾…ŒŒLãø† øûüôJKU«¥ÛaƑ̹‘LÙÑ¢†}¾jœª ’@Q54UCÓÔš`75¸‘TY¡Qã&FN¹ä*³B1Qá+])VªU¼Úê‘6%ñÒËÌnžê"Ør͹]Ö´¾äp8øæ›oû,Æ £´´”ääd˯oÑ-¼kó<‡ÃÁý÷ßOJJ š¦1jÔ(l6×\sMXPªó¾5uTBøêÎ;0`ï¾»„Ã÷šîcÜ·ËL¨|,³ªþ½¢¢œò’ƒÜ·•]»6³g÷&vîØÂö­ëÙ´i ?­ÿžõk¾å‡oW°üÓøßûï°{×ö˜ÂÜ,Åòƒ×—Ìššë9ÞÐ}>k~ºS à·¿ý,^¼˜¤¤$_~¹œöíÛ3wîúècnþÝïp»]|ðÁ2>úè#>úè#¾Xþ%™™üù©§¨ªªâÕ×^ç©S '±gï^Ün7ªªàtºØ¾};O<ùg²eóØã3(,ù$^8¤ÊÙÜ»c·ã‡íIC‹äWMMuóñ+ùý]“ÉÉÉÂç àóyñú½”—U&‡ ^ qãÆÌ{­ Íò[b·Ûê¤ÁÅ+v“¨¶n·6¶+ÀL¤¸ ¹®–†SµæuÝŸ ’$‰K‡å•W^¡¢¢‚ï¾ûŽ6­[sÙ°aøü~V¯^MeE%?üð6»G§?Êè1cX0>•U•Œ1‚òòr6mÚÌáÇشy3N§ƒ'Ÿ|’^½zsôÈQŽ9B×®]¹þúëÉÏÏç‰'Ÿ¤ªª’-›·°yóf Ö’“Óˆuk9z¤‡Ã­Íô<ÕRŠŽã£?äÃ?D p8F‘%Y’Ž3EÅn·qÙ¥—2aÂxÒÒÒ8ÿü §ÃNYi)[·nå±ÇÃ[]4+ àõVãñ$ñÖ[o±}û6î¹çn¼ÕÕxj*9*ŠŒ¢ÈX2Ý¢3WEEVŽ£}Ê2’ Gü~DA@ÓTÎéܯ·Ú°FÙíö¸©ª¦rÖYgq×]wñå—_pçwµnQ4l¯‹fk–±„)*-¥_¿>HR€Ã……¤(I9ZÌ÷¦°´§Ý†$+üëÓ\nï¼÷½û$;;Ë<ÐóÐCqÑ£ù*¢1ÂÚf?]…³†b©7„• >–„XZ[C[/jÍî§LFÓ4|>·Ür ‹-fÛ¶m<8m*‹ÞXÄ_|ÁÃ?ÄsûrÍ l³Ûðy«„ Æù ³),,äöÛÏÖmÛPQƒyª~Ÿñ"ú|^’’’m6œN'Ý»wgܸq ÐßÐ|·lÙBóæÍ‘e¹AÖ\ÓÔ vBÀËí¦In./½ô"ƒ‡ áí·ÿM«VgÓµkW–-û€aÆ£Èûöï§qãÆ(Š‚ËåfÚƒ²~ýzzõêÅý÷OÆãIbúôéÜ~ûíx««…ªê*ü~?¹¹¹,X0Ÿ]»vñüó/à÷ûðüx’’HJJ"''¯×K à§n•,²è——è)€€€$HRSÓ¸ãŽÛ™4imÚ´åý÷—²eË&Ožlàè™T±øaÀïç7—_Åÿû_Î=÷\þûßÿÖ©‡ êЊ!®)hªÆÁ‡Øºm………j @·6©¨ò’är#ÚDƒ9¾ð ˆ¢ˆÍfã©§žbûöíØl6>øàî¸ã¦OŸNqqq˜@)--å¾ûîãî»ïfÏž=ˆ¢ÈC=Äm·ÝÆ5×\Ãþýûͼyó$‰§Ÿ~š[o½•?þØØDÔgê"ë£ÙëÕkn6íd¹CâõÛçóqÙ¥—òλïàp:hÚ,Ÿ³ÏnÅÎÝ»˜0q"+W®DÕT¼^¯î¨¨¨ GÏ|ûýwLž|?k׬ ªª*$^ÄGEEC梋.曕+¹õ–[ص+xïgg=Gyyé™\qåU¤gd"Irý×<$kDä:tˆ³ÏnÍo,d̘«ùî»ï˜1ãq.\ȨQ£¸òª‘|ÿý÷8TUE’L˜0žAƒré¥C¹ðÂ!ˆ¢È®];Ùºu\ПßÍf㫯¾âå—_æ›o¾á¦›nfçÎ] 4ˆ+V‘‘É}÷ÝËþóú÷ÀÆE›ñ|[ësæ}ôw,øUU%üãùÿï·Üyç<ó̳Ü|óÍ”••ïmhd|¤wX¨ x+//§wïÞ¬_¿>¬PZ À¬iK}ÕÚœW_GU7É5­­E:­KPž{™óòžñ5ÊË+(/«&=ÝEEu€sÏïIjz ‚ qàÀ1Ö|û#Mr²èw^o^|ù5²³³±Ùl 6ŒeË–q÷Ýwsî¹çrà 7ðæ›o²uëVxà6n܈Ïç£ÿþc=z4³fÍÂívsË-·ðþûï3bÄc¤ŸWXXÈ /¼À˜1c8räƒ âþûïçú믧wïÞ¦Æ:/fæ.žv\—¼f³9ô±„EC¬y¼>$zLÊËJqÙÿ-}ûõãXIš¾€L@R•€¬"|tiìcX¿öxýN§“ï¿]É‹/¥¸èX˜E'4mQ–e’$á÷ûIMM l ÙdÙl6þ’,‘ššæ][»ÝNuu5v»»ÝŽÍf£¢¢·ÛmìÜõ6ãiàfÖ¼ª²‚M›6sá%—P]Uel†õ`7AèÑöåååØív<OØœN'^¯EQHII!–±Ð nèÜécE§Ó‰ÝnÇëõQð.—Ë Š³èŒ¦@ @EyMóš-Áj¤?ÿü3“&MâŸÿüç Ásn‡¯–I³¼<šæ532IB‹£=z„~øŽ€?`l¬õ´Ó–­ZqÁ)//3 Ÿéï©Ãá`åWËéÓ÷|vlÿ¹~•âÌš¸A@QTMc×Ûç,Î:«%‹ßXMçÞQzv§ñðß ù|ñ9÷@.¯Àïõ…OŒÛÍO<Áˆ#¸ôÒKøàƒX¸p!aE¶h IDAT@€Þ½{‡™É:vìÈáÇq¹\´k×€’’®½öZ233ùË_þBZZ6l eË–tïÞÝhOnItêk^7ÃØcå'b¯¯Y<–7Ú Z€Si‚m[ÏEÑÈŸ¶ÛíF*Yhå5]˜i5»n›Í†×ë=¡@‘þ]’ä°¢E~¿ßHk µèimñž—øsUó쨪Á8ô6eYF–eCÀ‡æ‘׫Ïç3Æêõzój§ãȲf•Ím×ÓÔtaÿK¸V,²¨!y†¦ß 5DhWVV’ŸŸÏÒ¥K©¨¨8‘ªê >ðãü'è6ÎÉiÌØqןhŒ€?à§²¢òE¤Îhk±4ÎxÁ_úÿ’ªP]]M§ö™\9 SÙŒéÅÛÿûkÚŽ¡ÓNEdãÖd–ïÜE³¦yÈŠæo;rä6l`òäÉÆo>Ÿ/‚ ãø÷=zð·¿ý —ËÅ¹çž ÀÊ•+رcwÞy'‹-¢  €‹.ºÈ¸nîܹ8Nz÷îm0ÆxZyíö£iª‘rÖ£ÁrFºÁiv ñ¬¾kž¨ÉÜ,šPC›ÝC‹¨èí† ×heaußXè½B…ÖñbEáEZôC蚇¶‰´¦‰®y10hêjú¢ çPl];uó„ùãB´iý|= (R›µcYB7ÖÑÚ°È¢3‰Tµ†‡«ZØ{ ɲQªö3 Ã}â{ƒ¡×ÔÈDÇã»b÷Ïtz½_DYA–dTY"+̓ª‚‚Ÿ+»ŽÆÐxüÙÛ%…#ž c³ŽõA®ÛªU+žþy®¼òJÞxã ²²²h×®«V­2„õÑ£GÉÉÉ1„ÃìÙ³ùâ‹/¸è¢‹¸óÎ;Ù¾};mÚ´¡uëÖTVV°qãF&MšÀüùóINNæ–[n1˜X]|º UðƬFÜÐÚë¯ùÖgxfê"œÔ5¹QUUÐÅ‚NµÈ¢e*6›E–ƒY$µ~”ßtÍ>ž²vÂF=¤rœž³ôk,“l¢àª¦ )~Öýt€Ùÿ^AËVY,y{#)Y›xoÓ»8UUUܺð6ÒÝiTû«ÑäðÞ;vŒ¬¬,^}õU~ûÛßòÒK/1uêTzè!^xáþð‡?““c\sÏ=÷0räHl6×]wï½÷7n¤ººš)S¦P\\läʾýöÛÜ{ï½\ýõ,\¸¿üå/tîÜ9&æu¤9H4¨-šfk&'<‘ÍF,?xC¯y´ß£UA‹7 ¯¡C´ˆëHsRŸ¢? ¾æÇÖ†ÝfÃï÷‡ùÌ-²È¢†!‡Ã')­Æ-gjÈrð}Ôà=¯—†žˆ‰%,JJJi–ßœ.çtFTÝü¼ÙGîíq8]ø¼^’„ ÍUÕ>zwì‰"Ë!èj~ø!ªª’ŸŸÏ|`0Ãçž{.¢àÑ4‘#G2räÈ0óǤI“ÂéìÙ³¹ä’K3f cÆŒ K‡KD¸$å^—R¬µÇWW¡W—´·D×Y¼ÝT-w3þÔh>bý{Óf-iÞ¢Ó¦ÝGZrRe~ŸŒ¿´ÙåF­òR¬Ú\ÇG)=Ð’9ó^Ââ_”eÙØéÁ=ºÿA÷gèÕ­Bû¤ç÷Úl6ߨ%9®¹æ23ƒ5tE1ru-'4?=Ú¤×ÖÀ"i°fÊ"Ý3–Y&¿s4?u¬~ÔgÍãÅEÛœŠ4¶XkimÎŒ5ú·»véFaáaª«ª,“»EýbÂ?¸™ÎÌÌ q“&FöX±2‰ðö„‚â²jX0`ÆÎEÿ†7Þø“§N§Wïhª‚'5Q )à±;X±r7nCÃ#ÛCƒ‡ôûÖ@ª|:X]ȇ „jܸqX$s(&z¼:ëV¥¸3³RœÙ¶Î¬5× [nÓ<«ÔªE&J½V‹G4D|T+ÅEŠÌŽ% Px¤UÔxâ±GXñÕW””–á-.A–ARdŠd?­[7§m›f´ïЃqÿo,Çöt4M*ZšT4KD4)“6£ÆÓ£Íi,œðúä¡›½¾!ÖÜLD|¢xó Añž‹3yÍC-PYdÑ餴ט*šåÓ”@O´áX; MÓhÒ¸ 7Œ»Uƒ¬ÆÍ)))AQ„ OBÓp»=´hÑ‚Ž;˜2;˜ÝéÄëg]µ·“±¸õff¢¬£™~zÍOµÆ}ª4öÓuÍC7$Ç ÕXFw‹,ú5€€ÓåŠ)¿Lå¡GbÞÑ|ÊÑ4 ý'UQ„ú×I£1«…ÖftµûM“4½mÆÇéž‘r½#Ío,?n<­1Þµñ´Ï†XóX9ûñæðTlâùÐÏÄ5×!ˆ¿øôZ´:;(ÔÖ¬€5'ú5 €9Pûòks"hÔä'P^Ú¢ÿ›TUUEJj*]ºv «êØ zb|@@QUJŠöÓ('PAõã—@öù”~¿U’ðR€Ã‡Ó·ÿEaþo‹,²(6I’D˳[Ó§ïù'åþ>Ÿ·Ûà5~ÜnW½Ú-++#==ýW¹f¥¥edd¤[¯E1Éï÷óÃwßÄ”‡qóÐÍün†¾ îßÇwÞ‹ÃéUEQ54Tª¼UAV‚õ¸UÉO£œ23³éÒ£OÜPþ†ò·ž  “†ÜŒ˜Á'O$"²¾ÇNö¼žŠ|ô_Ûš Féh¤W>L´¼ýöÛ̘1ÃÔ=A`Íš5,Y²„Ç<¨…FITU•@ ÀÂ… ¹í¶ÛÂî/£Fâ³Ï>3êÐGº^” ­P÷K¹|âYÃBÏ»òŠËY¾b~¿§ÓiI.‹"’×[÷œSVy“”Âwß}Ç¡Âcdf¤säèQ¼ÕÕìÚwž­óócˆd§$ñÓîB2Ó’i×¶5ÍZ´%##=ª)Sÿ)ô_ÿZ¢/”ê/~(Tj"æj‹ÎlÒÁBªªªp¹\¤¦¦R£üâÉ$UUIIIA’¤¸9i€ÛåâÇW3{ö hš†ÓéäŽ;îÀét²}ûvFŽ–ëŽ¤¦¦áeakC‡Þ+33“´´4ýåC~úé'ÆÇy燦i´k׎ɓ'ãr¹¸í¶Û"B"ëÅ¢tWû›ÍÆäÉ“ùë_ÿŠ(Š<óÌ3Ü~ûí¤¤¤œpnmHäÐqGj»ö\Õ¦H×(ŠÂÔ©S9pà:tàᇎXƒ §qcãyÔSfõzûÑ ¡k¯MíC, ¬x<-šË(Ö=©±`6ØL©íDRO£õ'^™33®µx}ˆæ­q^Å|ÿÅXŠ÷{b»_ÁæD–$6oÞÌîÝ»8xø0][5¦g‡³xæž«xêW0äÜöti“‡è°S\\,aYÓŽ¢(aà~¿ßôáÇ)++ ›]@qôèQcò|>ààÁƒaÔz Quu5‡Jh¬fç¬>sÚpØô';9k~ÿDÓëNf Z§ÓÉgŸ}Æ»K–Ð(§1Ÿ|ò)wÜq'N§·ÛMVv#’’’P·ÛMJJ Ù‘žž†Ãá +;›ôôt4MÃív“ššBVv6iiÇgddÏ£~ÏÔÔTTU n Œ{¦“ššÊÛo¿ÃÎ;IIIAUU’““îq»Ý¤¥¥‘Ý(UUök3…´ôt¦O„ùóç³`Á^{í5:tèÀôéÓ™9s&/¾ø"v» 0fÌþøÇ?"[·neêÔ©Üzë­ÜvÛmø|>DQä_ÿúW^y%/¾ø"€çž{Ž+¯¼’™3gb³Ùøä“OøÓŸþÄðáÃ7ß|“+¯¼’—^z —+ÜÜ^VVÆ´iÓxõÕWyíµ×jðå_@ã~³fÍbäÈ‘Ì;7há«Ùä¼ôÒKüýïÇf³ñôÓO3bÄ–.]Š$IüûßÿfðàÁlÙ²…ùóç3bľúê+l6o¼ñW\q¯¼òŠQ‹Bßüïß¿Ÿë®»ŽI“&ÐÌÿŸ½óªÌþøçN ©BÒéEÀŠ€¨(+ *ˆ®«‚…¢`ËO×Qv»XVEQt-+,""Ø–&Ŷ@è$@-$!u2í–ßÃ\'Ô;“ $qîóäI2sË{ßï{ÞÓÏyöÙg:t(7nÄ`00}út^yå†Ê‚ øðÃ6lX½±Œ1‚Ë.»Œ °~ýz:tèÀܹs4hK–,Q™¯ ”––rà 7ðÌ3ÏP]] À”)SÔZ?ü0z½ž»ï¾›iÓ¦1räH~þùg¦NÊðáÃÙ¼y3:ŽI“&ñÈ#pË-·¨í{[G²|r¤÷ÕS¹·k=t¡N†?À‚F6Ë"²ÓÕjC’eP z=e•ŠŠKضµ€íÛ Ù]PLYE‚v›µžúè#ª««7n}ôÙÙÙ,]º”Õ«W#×^{-+W®¤{÷îŒ=šÏ>ûŒ‹.ºˆÕ«WsäÈ–,YB]]«W¯V;ë<öØc¼ûî»ÜyçlÙ²…>}ú°|ùrµ¤ô/¿üB¿~ýX¾|9³gÏ&99™¯¿þšµk×räÈþú׿²dÉÈyç‡ÑhäðáÃlÚ´é$áÑGå­·Þbܸq?~€]»v©ßïØ±€ 60}útæÌ™Ãøñãyä‘GX²d Ó¦M`õêÕ<óÌ3<öØc<úè£>×Cs¥óP¯mè>×öö°º¯J`ZãË îÒ®Á) ¯8NB¢ŒÌDdQÂnj…í‚aìûÓ­^4 ñ’ÔaB'@iÙñzÅî³²²(,,äå—_fÉ’%¤¥¥ñ /0uêTž{î9Þzë-úõëWo< ,àwÞaæÌ™¬Y³€¤¤$ÆÏ“O>IzzºJt½zõâÌ3ÏäÃ?ä…^ gÏžlܸ1àõ•—ík΂ånÊ3öEtº¿…²pU‡kæZ+×ù“ÖOÅÏìwgóãë˜÷Ÿ¹èu:òóóyã™Üw߽̞ý.ùùùlÙ²…·ÞšÅ}÷NfõªÕLš<™;'Nd÷î=|±p!EEûyéåW¸çž»Ù¼i3cÇgü¸q=r”ü1¥¥¥Ìzûžyæi6oÙš5k)((äµ×^cò¤Ilܰ‘¯—/çò!C¸á†¿Ð·o_Ö¯_ÏÑ£G™1ãEöîÝËwßOAA!¯¿ñÜ? ‰‰¬ZµJ5½zµµµüå/×óÒK/qÛm·ñË/¿ðÙgŸ©ýÊÚ¶mË–-[¸òÊ+yæ™g(//Çf³1tèPÎ<óL, ä‚ \vcÇŽ¥¶¶–ÔÔT>ÿüs®¾újþõ¯a±X°Z­\wÝu8p€0fÌ$I¢¸¸˜óÏ?Ÿyóæ©Oz‰UÿOJJâºë®ãª«®"??€ƒ²bÅ ¦L™¢>cÞ¼y\}õÕlÛ¶Mmcël6›*¬=z”åË—sÍ5רÂç¼ ‚@BB]ºt\Õ#¯¾újà÷Ê111ê;uíÚ•aÆ““C]Ë·ùøãÓ¿rsséׯYYY\ýõ©Ït¯y‹ÅBJJ äææªÏU}¡'Lü½{÷FâããéÓ§IIIõ kõêÕ ƒÁ ¶‰nîtJûi­îÐ@{iKÙÛƒ2tïâ,Þ?žþj_ì][’D$ÙɱcÇÉJIâ¬8löºìûÐ!»#²ò°í+Âa©uµ§“$<‹æîÚµ‹iÓ¦1gΕ‹‹‹éС‡C5KzS§Nå’K.áòË/gìØ±<òÈ#|õÕW<û쳪I/??ŸN:!ÇŽcèС¬[·Ž+®¸ÂçüðCªªªÈÍÍ¥}ûö”––ÒªU+•ɰnÝ:–-[Æ 7Ü@uu5‚ ¨æ_§ÓI]]ݺuãÛo¿àÅ_$>>žÕ«W#IK—.eÀ€X,$IR[×®]ùæ›o˜1c²,“ÍO?ýĨQ£¨¨¨PMè‡æ¶ÛncìØ±Øívõó¬¬,¾úê+Þ}÷]RRRxþùç¹ñÆUFvíµ×²téRž~úi•ÉUTT¨½[óíСC† añâżñÆ´mÛ¶^€^¯g×®]j[eY–ùàƒ¨¬¬¤¨¨@}7€êêjÕÝg±XHHH`öìÙdgg3lØ0Eaß¾} 4ˆùóçSWWÇ•W^ ÀôéÓHHH ??_ýq»", ?ýôû÷ïW?s•••õ„6·"røða~øáòòòN¢¡æFç¾îÌÏíËíï>ÁöƦº·GTC÷õãORó¾Æ3€£¶ÊÂU—wâÅ¿]É„ëú1mÊ¥d³™–6–ä77ö¯Í<™~;K zQëÁÏÉÉ¡oß¾¼öÚk*1º%_£Ñ¨¸yFȾÿþû,X°€… ²xñb®ºê*ÆŽË+¯¼Â¢E‹Ø¼y3çž{.©©©,_¾œnݺ±aßóà-­úÊm÷7gþÎ TÝ×s|uxó'õùóoù«ÜPÌ}ýl½¥ÔÆÕÚ**+xñÅçiÓ¦ ão¿˜V±dfd°aýLæV¯^MNv6’(aµZQp:œêfîp8Ñët€€Õjst9ñ½¢(*sJˆçò!CX²d K/bذaØì6l6«êÖéuªo½u›dæÏÿ‚ÿmÚÄŠß0lèPl6;:^½gbb" ¿øÂ#ÿü÷9²;\tÑEÌœ9“{gÃÁ¤I“èÞ½;¥¥¥üë_ÿ¢sçÎ :”›o¾«ÕÊÀIHH OŸ>*Ã9÷Üs‰‹‹côèÑŒ7ŽóÎ;.]ºpñÅ“œœÌ¸qãÈÊÊR[gffª tÔ¨QŒ7޾}ûÒ«W/õ=ÝAp?ÿü3wÝu¯¿þ:S¦LáÒK/EQ ¸Ú3†W_}€K/½”œœî»ï>þýïsíµ×b6›¹õÖ[Y¿~=>ø ?þ8à®»îâwÞaãÆôíÛ—~ýú1vìX>ýôSRO¡¹µà3f0sæLõ>111ȲÌäÉ“ùûßÿ®ºûÜÇ AƒTmúüóÏWc~ù宿þz¾ýö[:tèÀ¼yó˜4iS¦L!99Y½7À /¼ÀìÙ³Y¹r¥Ú¦ù…^àž{îaëÖ­Ü|óÍjÓ(€Ë/¿\ýÛm!èØ±# ,૯¾âé§ŸvuÜ3š-û;ß—Â鄿+PÎû»`{cSÝÛµŸGŽPÞžý²,‘š–Räb(‘µ5åÌ|ã5}ì).ÿÓYdf¶fÑ’|rS³¨uÔQ\{{••qýÆs´ò«‹VqÁy}™óÉg´mÛ½^Ï AƒXµj•JdÓ§OgÙ²e¬X±‚É“'³mÛ6âââ2dˆúÜ1cÆ0fÌbbbxå•W˜?>¯¾ú*#FŒ`ݺuüúë¯üóŸÿdÔ¨QÌ›7µk×RYYI‡xóÍ7¹çž{Ô ©9DBÂ"ÐõÍ!úµºª³Aà‰×ÓÀÊ*jP°9DNWÊ£C”6z§Ú6 V»“ÉÄÆõ?réeWp¼¼ ½^ÉdâË/¿¤²²’»ï™Ä›3ßà×ß~ãíY³øÛ#°fÍZúõ;Ÿ7gÎäÅ38£ç\vÙŸX°à , ·Ýæb$?ÿò Y™Yèt#GŽdÅ7ßPPPÀäI“\i^ 0cÆK¼øâ |þùç´n݆W^~™uë×Ñ:©5×\3‚åËWpøÈa.ºðB®»îÏL:•+¯Æ„‰wrøða²²26t(fs ±q± :”„Ä$¾”ùŸŽÃáÀd2©©_û xñ zsí1(rÛ3zÚ×y¢¯Ý›’wôµgd¹¿õìþÜû™îk½›3ù:Ç×áo¼þhäšk®Q…Ïë½ß-Ð3½¿sgÛèõzŸ×ù‹”×ëõ'E¾»ÿ¸òÊ+Y¶l™_š‰F¹·œ(÷ªÊJ¶lþ³Ï9»ÝŽ F~\³Šóû_@aÁß =“ð7¹|5•%¼9óMöòÒ1µÒQ°§Œ¤Ö جv;‚"àªïì3z1÷óßú_|¡úé>ýôSÕ_õ믿òõ×_“žžÎÍ7߬Ö›ÍÆ›o¾‰$IÜ~ûí´mÛ–Ý»wóé§Ÿ’™™ÉøñãùïÿËöíÛ™4i6›yóæQ\\̈#8묳êEĆC8þÌ1þ®Öî_Á0äFÑÒE­¡˜#F×ù»w$º¢(˜Íf5«!66³ÙLee% ˜cb°ÛlTWW(Š8õ›Í†ÑhÄh4 I.÷;X¯×SWW‡Ñh$Æl¦º¦†¸ØXbãâe™ªª*L&Š¢ü~N‡Ýá Mr2u'|Ò­“’Ð ©l®æ+v»Y–INN¦²²²žâp8Ø·· Rë¹»€›©¸ÿ—=Fxbã>×óoO«—÷µ¾L¾®ñ•Jê}½û™îû{ZݼÇå9Ïqz3\Ïgú2ƒzÏ˲e˸âŠ+Oô¼ö|¾û¾î{x¦ºz6xò´œx§Æú›SóìK€pÿýå—_2|øpDQlßÓ²¯6Ž]+C×”‡î`M²÷Qm±Ñ½G7Þ{ç lvµÇA°VW! H6;u²S+'’REœ®˾[¦Já²,sÝuשDâö¥I’Ĺ瞫šË½Çi6›y衇êеkW5JÔíÇs›³Ìf3ãÆó©Yh%”`óŽ 9”ë´,¨S¹–€–Óu¸™²»‹ŸÕjÅb±`0¨®®Fª¨@¯×£×ë©­­U7{Ïk‡JXî Ømn×ëõˆ¢HµÃábðV+Õ55j§¿ºº:õžîkt:GQŸ[V^^!x>G¯×S^^®šW}­OFâù™çÆå­5ûkl¤÷jýè©%úÛÜ=Ó´¼×‹g·D´/Á"Ð9îÿ=çÉ×|øÚL=‹Ò¸ýݾ´rï±x>û˜¿ñùšÏ.’þÊûšƒáÇ«‚‡Ö ±æBç¡î•ZK‚zFSßÛƒšz¨5¶}™23s1_Ã믽LѾƒädµEÆÔÊ„,Ièô¢BáÞ"JKQY½›üM›1œXàî…îM4ž­NƒId¾&O–eÕ_åËÏâÍÌÃáT· Ô¨FëXŠyS?|mÌnLݹÀîÃSóñdd¾¢¯ Ü}®[+÷ÅÐÜçùŠtö+á¹ùè%`Þ¦p×DS§so‹JK£óS…ysÚÛçÉ:/™ÂhlÅÙç]Šˆ`ÐÞ€¤3 3˜õ:Z'Æ¢×ÅPr¸–ÝÛ·2zÔ(“’ê™–¼j_“ì¯íœÛ§å/ Ñ—Ð_ºC°à4c ÖK›ýúóÄ“O°oß>lVЬ v‡Ôv©Ürëþöȵ(E°ò†þ|¢}}î™Z0úk™»`Ru°6°î¡5G3œ`™`˜ûK!ñ·¾B @‰¤Ù=”ïÂÁ\µÛXccl#oŽ˜G’ÎOæQ:bÞ˜‡ÍÐC‘À‚ù1<Ï3›Ìäf»Š(¼õÖÛAçËìù¾ÌeþÌJ¾þ¥©B ÊJZ¥«Th“ö7†`øóûD s-.@s¨`C$5ôÆÆ\9Ř{Çæ‚y”ÎÿxtÅÜ7æZ÷¿ú¡ò½øëíy?«ÕBŒÙˆ,+8W·5IFVdµ—³,‚€\“qŠ IDATèpÖ>Óg礆ôC?URœV O‹ÔìO×’‘ÐÐ~èáb(Ø&X4§ÂiŠºú[-?M˜k}¦Žy”ÎÿxtÅÜ¿U¢A =ÒgMMuµ¥®ªÀꔑDN§€ät`H¢(aµ:±Yk©µÔq韆ҡS×SˆÑωvjkÚG£`Žr¢3RôøÃ`¥ó(æMà©z8šŽûHHhÅ×K×p÷ä)¤¦&cµÚ±Ù¬X¬uÔÖX@‘꟒’ÂûíÒÉÌî€Ñ¨¿Òa ¨ö@Ö‡Æ|ï@9ºá>C‹¤éO‚ dêiè¸2þP¾÷y݉T%²ÒhïÑ0¶ù4WÌ£tþÇ£ó(æáÝ ÉCÛù:*«kè? /›£ÇJˆ‹ã:¼i0å5u˜ zlv'Ÿ~·‰ØØ}ù%ý^JÛ¶É‚\¯˜„;íÇ]M)P_ÏßÞç{–ðÎ{…ÀÕ ½·–`¤HJ¡˜â|ù·B]8á¦Å2ci ©·¢tzŽ+Ájs`w8‰Oh k\£Ó©ÆÜÃzóP6ºæ„¹ߣ!¦¹`¥ó(æáÞ[§åfêýúšHŸŠ„"Ë9t„‚ÂJKK)9VÆùÝ3(,.áO}rè×9 §ÕFïŽí¨±X‰5Ç ÓëNlÞ:f̘¡Õxâ‰'سgz½ž… 2~üx¦L™Biii½I(++ãî»ïfâĉ ×ëy衇;v,×\s ÅÅÅjðÌ™3Õ¿?þøc^~ùåzB„¿Åé¯Nz z¿¾Î ´ õÖRËÝ/.‰¹Ÿï‚CkZ Øí6¬Ö:lÖ:dY ™ Bó©Ä\qæZß±9a®å=´H5UÌ£tż¡Š!Ò’ŽßHFIF’ê¬uØ–Z'I‰fVmÞGß ûòѶ*[ôü¶eií’9RrL-_ °råJ~øaîºë.L—.]øøã)..æ½÷ÞcÛ¶mЮ];õš;wß}—˜˜nºé&¾úê+vïÞÍ—_~Yo|GŽáÀ€«ÕŽ;8x𠪥{Wp:•¾•S•›}ª*:Er õëkä‰9QÌêŒØœ1Òyó†ÉC÷–h|]#I2²¢°oÿaÎï—Knns?þ…3ÎíØû Ò†G´Ù8þí·¤î;€XSƒÃf«·± ž|òIF¥veZ±bsæÌÁn·Ó»wï“ÌägŸ}6Û¶mÃl6«MVjjj¸þúëIJJbÆŒ$''³uëVºwïÀÌ™3yøá‡yì±Çüšñ›B®¢¯sBÍOÕ2†p1÷÷þÆj¥+Y‘IjÝsŒ»SÂh4")¡mP¡Œ¹©cŠï°¹`~:s’£tż)a6C×2¯5WÀ©HÔY,œÙ+…þÔI’0Ò3oÑní>š.ëȲÀŽÂ¶¬Þ·Ìöˆ’Œ§±¼¼œ]»vñð럹[Yz—çtݺucΜ9˜Ífzôè¡jú‡âž{îá“O>áÿû#GŽdãÆäåå‘™™©6ðõ®‘«è¯K¿ë#?5R˜ŸŠù©y°wl.˜ký¬¹å$Gé<Šy¨˜7ȇîÝ(”_€ˆ’$Qg±bÐé0TYjÞçZ¬µ5<þÏq<úÒ8º'v¦Wvol¢$ây›ÜÜ\fÏžÍõ×_OII =zôàÇTë^9r¤Þ„¿óÎ;¼÷Þ{¼ùæ›,\¸€;v™™‰ÕêêI½mÛ6ºvíJii)ß|ó £FbåÊ•ìß¿_í¸äï=ý5º4Gžóì«û“7ÞÏð^¨ábä=ÎHaî9¾æÇW´®¿óü-fQtÒ±sgºö8ƒ®Ý{ï§$£é×{ÌþÆÓ0×JËÍó@Xøêíkž}1¶–„yK£ó(æ¾1?%z(¾ Y‘6¶í<ÂìEkÉÍkÃâ%Ûˆk³“ÅÛ$Œ‚‘:‹…;þ}I­’¨sXQÄú÷©ªª">>ž>ø€Ûo¿×_©S§òøã3sæL ÷ß?íÛ·W¯ùë_ÿʈ#ÐëõÜvÛmª™þ©§žÂét2mÚ4ÊÊÊhÛ¶-W_}5W_}5àò¿çåå5¨5a0—F°kµÜ£!…*¹kÅÜßhm}èk\¾Ö©ÉhBA‚ˆ$+àaU‘Nüí –¼Î›#æZ v4U̵ŒÍsà ¤­ùÒxZ*æÍ™Î£˜ûƼA•âBõ¡ª&äÐñãdçærî9gcÔ›(*°s~ßÞŒ&lÖ:œ¢ˆ ƒ¬(ÔÕÙ¸ ï|$§ˆà‘>¶téR$I"--¥K—ªÏx饗ü.²«®ºŠ«®ºêwÁB–yàêÿúë¯3dȾ~I}÷Þ{I’Tí_‹¹6`]ïª iñÕD·nç`˜k­ñìÏ$¥5%«þY}ûž§Éì %0"¸áøY‚IwÁZû… é‹ð‚™¹Â•<a ̃E{jÁ¸!Á!¥ÇJhݶee¥>‚æþ˜û{§æ€y”ÎÿxtÅ\hÐþ§©z(fA8’$QQ~ˆ”Ôtׯ*Ù°;A´ÙpH6’(b·‹ØŽ9Bÿ /Ãd24§„²™5Ô,ã/øÃh_Íšƒ).’˜‡kŠ‹”]Qrr󨮭##3›‚Ý»ñN];U˜Ãé3Å5gÌ£tþÇ£ó(æ`roÈáïp:j9x ˆ±ãîÂcB‘$IFA¦¶ÎŽ Hˆ’„$)(¢ÔÔ4’“ÛÑçœ~õÁD"ÿ2Òu„#=î@‹$Ü6§ú}<_:={v‘Ö>›¢}{OA*§s?ñm½Pkõª–Œy”Σ˜·tÌÃbèÁ|èÁ|œ¾>iÏÆŸ~¦ÆbEo0Rrì6«•½E‡è×½=»–¡ mB,› Ó&qó>ý„ÌÜ.´i“„N§*‰ù“@uÃÑbÚÒÚž2œÍ4B µEfCî ÌÃ6—x5kè²B÷ž½¨¨¨¤Sç.ìß·_Åe:߉¹àfê°47Ì#`Õ”1Òyóˆ3t€6,PIFg0a³ZÙZ|€ZK-¢$sV§4zvhÏ„‘ K2ë·Êj¨ªªAQdUI©««#..pU3™LÄÆÆ"Ë2û÷ï'..Žôôtuœî&-D’$rssÕkKKKQ…ÜÜ\Ìf³zÿ˜˜ŠŠŠ$‰øøxµê\°wwÎÂ-øÈ êµÁò4ºØÂõ…7$]Ð lÏßBFv.{va2™|jè 歷¹V“esÁüTôºŽÒyó¦ˆyƒºç´3ÚåF‘l6’,£È&ƒ‘ÃeU´5ÒJ¶£»öãpi:ÁˆÍZWÏâxÕUW±råJ6lØÀóÏ?Ï»ï¾KEEÓ¦M#77—òòrFŽÉàÁƒÕüô7Þxƒ={ö`4IHHà‰'ž`РALœ8‘¢¢"zè!ÒÒÒP…)S¦Ð³gO6lØ@§Nèܹ3£G˜¶¨Š¿" þ­–æ¾ü8á`äKÚ$æZ+!ùš»ˆ°¬Ð³WoŽWTÒ©sWŠöï?IC¥WssÂ<Ø&Þ\0לN‘‘–†yK¡ó(æ1oÉ=T‰"pûTpÊåÇÓ6¥íÚ™Ù¿·©uö‹®âP·îˆNJa!Ž>Ä$K”•Wœ¨Ãí:rrrرco¿ý6‹-à`úôédee¿w_sË–-ã믿V€øøx† †Ñh$-- €M›6qþùçSQQÁàÁƒ9묳8óÌ3Õù”?A¨±[ìùsœŠ’Á0TIȰMl:];¶“–‘;½…>5ôPM`MóÆ.ýz:0?­4£tż)a®åÐù»™çÄùúñõ] ÉB”D$ÉIyYÙí’èÕ5E¨«©ÀYPD§´:µËƾg/Öê*d©~S;w2}út>üðC$ÉÅè‘ejª- »¬Ï?|%¯íÏ£_DÇVy¬ýXZ½±ŠÄw7òdÆlV+zA(‰õö༼<.¼ðB^|ñEµ”gB‚«hˆÉdB§Ó©¾s÷Øg͚ŷß~Ëwß}Çüùó}úœœÌM7ÝÄwÜÁàÁƒY½zuhšaC´Jy§‘ò·’ªй“Zc‰,>€^¯çXI‰_z¨&º(æ§óPS¤ÂÑÄ¢˜G1o)˜kÊC÷gæñ>/P·5Q1èe.ÝLµ²³ZóÅâ|rRÛ3ná©;†½ªŽ›Ï½…Ë{\Κ¢ÕÈ¢\O§:rä“&MâÙgŸå‘Gá…^`ôèÑLš4‰‰'²sçNÚ´iÃå—_®Ž#&&†~ø˜˜u\3fÌ`ذa¬_¿žîÝ»pôèQRSSYµj%%%tèÐ%K–0cÆŒ€ hÉU ÖA,XsƒP!„âëÒÒ@ ̵D†3Å5hÃA¡mJ NI")) §ÓI ú(S§NeñâÅ3dÈÒÓÓY±bíÛ·gРAõÆ8kÖ,µ êÛo¿ Àõ×_ÏüùóÉÊÊbÆŒ|÷Ýw\tÑE 0€ °zõjž{î9²²²öÖR‰Ikà„Ví1Øõátj ̵Þ?ÔïµuuVÌ­âpØ}7gÑÚmª¹aŽ/®©c®µØH$¤¢tż©bÞ`†®5ßç>j¬vºõèÊGïÏÂîpR[qYku%²Áˆd³c‘u˜bíÈJ­èÈ’¯—¨]ÕdYæÊ+¯DQdYæšk®\ýË{÷îMïÞ½}Žßh4rÏ=÷Ô{‡:ðð럕——sÅW¨ç5JýÎúHŠô^¤Q­=s}aèûp%÷ÆÄ<ØýµTOjˆÉN4g‘¥«R«<Õ”1o¨ù²)b®µÚW(ÚZK¼%ÒyóFjÎâëó@Åö}I!9 <”W_y‘Ý» é› ²ŒÙhBmÈŠ‚$KlÛº‡’’CTÖna×¶­N´Lõlêþ¨÷·³Ž¯Ã7Þx£_àt:¦‘*àï ®ÖÁîn„l¸˜‡ã犤ŸOA!.ÎÕœ%..>¬ç‡zþéÆ<M¦9a¨IE8 ¡%aÞRé<ŠyxtnÐBüÁ&ÊŸ9â¤*D8ëœ~.>ˆÉlv§ÓaP ØmâL´ŠI¤¦j‡Šrûøñ$&%!ËrÐjoþÌ&¾|Až‡N§SƒèçOó7ZæÏ_:F°”¤P¹/A'ÒÍ ¥zº6м6¸9Ki ­“ÛQ^^æ³9‹–µÞÜ1÷w¿æ„y8x0siKƼ%Ðys‚j÷!kèZ¤Ž`Áž‹+..–ýûsñÀ ™>}:{÷íÃn³¡È àpÚi—’Ê­·çoS¦ t*Ó Uj –»éÍÔCÑfÚbÏ—ù*XIÚ†ä4{(@(˜š—@s‰È^EQÈÎÉ£¦¶ŽŒŒL vïÂ3(Î_“…挹Öö©Í óHÒy¨¦ê(G1oN˜ûeèZ&É×K«©n4IOÏ@^cfÐÁ¹ý×Z‹øZlÁ|þ¬ Z‚?´Œ+‚óžÓP|i¡šÙ´\ßPÌýùãÝ/©Ôçüê ÜÍYöïÃàÕœÅ׺Є9'W„oJ˜kÙ›æQ:ÿãÑyóð-“†`P(‚Ì‚ PWWCll Ьàt:eE”P]×d Yví˜v›ö™Ùõ˜ºVs/©IKPƒ?SQ Ђ 1Á¤EcÒÚwןyI+F¡v Õ4§eµ|êÂVd…î=zQQé»9K 9йFçéÂ<-7Ì£tþÇ£ó(æÁ5ú°4t-¹ŠÁ¤&Ïïjjª¨­.a×ÖƒÔ9$$§‡œv‡ÑnÃ!ŠØmN,–Z@àÊ«¯¥cç®ÍUô6‹œÎ\E>--c8]ù©¡`ˆÍa(þá@úö­þ›³ÿ9c®Å”Ú0ÒùΣ˜7Rz$ ø{ ­øöë Ìýì+:tÈA%dY\õ×¥ƒ+*yë–-¤¦¦“•ÓƒAïפ¢%ò2)Nëßþr}êïœ@s,2ÉýT4mЪ1šÃp²/ ]mÎÒåäæ,¤õæŽy0csÁô`/ìp8øè£p8”——«4›Í˜L&.¼ðBúöí«j¿²(c·9™<ù^öàlß½C"ÿû58™ËWpû·óä“OòèÔG¹ñ†()+CEõ¹?ýôwÜq#FŒ K—.|ðÁ”——3gÎvïÞÍHOOW¯™0aóæÍ#&&†áÇóõ×_3kÖ,t:›6mbÍš5õ&LkŽf¨s¦eÑò»h%Pr“C½^Kne(µš½o$*Å 9%•’£%>5tżé`Ì,ŒÑøk"Å<ŠysüA =˜Da2™°X,<õÔS¬Zµ ‹ÅBRRŸ~ú)¯¾ú*·Þzk½$ …ÄÄD†_;Ùá@o02ä¼LòIY¶ló?Ÿ(ŠH¢HFjÊIãš6m&L _¿~|ÿý÷Ì™3›ÍF×®]O2¡_pÁ¬^½³ÙÌ¹çž €Õj%..ŽO>ù„É“'«­¯‰ÒŸdÌÜÈ‘”C•"ÃYèáC8‡‚BJJ;Ws–ÖÁ›³D1oz˜‡:–`¦Ì(æQÌ[*æš4t_ª¾§3ÿ M›6Üÿý|ÿý÷|ÿý÷,Z´ˆ£GžôrNYBt¸J¼ZëêdÁá@QFŽɧŸ~JBb¹y¹¤¶mdž 둽ÆRUUÅÞ½{éÖ­›ú™«Ï5jÍwï1geeñõ×_Cff&­ZµâàÁƒê÷žíVC™ƒ@þ×[ Š-„šéO* ó`‹µ©Õr¨­­!6>›ÍVo}„2Ææˆ¹÷XsÃ<Ô5¡5Z:JçQÌ›æÁ]¨¦÷ß:I’3f ãǧgÏž<õÔSüòË/>SQDEWU8EA‘eä?ýûõÇØÊL·>½mô±1$uÍÅQW‡à¬–••Å|À¨Q£T†Ü«W/~øá ²,sðàÁzÏýàƒxã7˜1c_~ù¥:ö×^{{ï½7`ÑÏwÖG«y+X”hCMl¾žŽ)Ûß="5¾Ps`Ã9’Û¶EENhè„=Ææ„y$̳M óP×D8k(JçQÌ›:æakèÂóÝÿ»£Îo¾ùf²³³9ï¼óê™®ë½,2Ö: z£³ÙŒ$É¿K'²Ìä‡$6£IvR²2¨[ð9Ç÷՛ܺº:L&sçÎeܸq¼òÊ+L™2…üã¼ýöÛ˜Íf|ðA²²²Ôk}ôQ†Ž ÜqÇìß¿£ÑHff¦õjjƒ¿Ï‚ÕQö%“*ƒÕcnˆ?-P:K°è=n-„èÙ‘^Üîø I’ð5”(æMóP}–Z6ã(æQÌ["æz(mëÜÍM.¾øb¿IýÇW““×_}GÑÞdYD’@’EYE@²;p ²S&!!½Q¯z=eYfÑ¢EH’Drr2‹/V_ú¹çžó+Œ 2„!C†Ôû.//gŸ}Y–ý2ó†4 ‡¨ü-­cðõ;ÐBõW‡8T“V ò…Z*)ó»–M¦¹cl“oŽ˜3%ûj©¥hG”Σ˜7'ÌÄеl¾ZŒú“JA '¯+YEE 2„ØDd«Q”pÖÔà4‘-6ŽË:c)ŠpŒŠÃ9ü°v5½A}†ÓéÄh4àt:Ñëõªéߥ…  †“‰ÛÜj0Ô±z3s-åƒåBú[H¾$^_‹Zk7¤@ÿ’€ƒ1­˜’îƒuÐB„ZL =EA€01w_{º0Gƒ†ÕÜ1×ZÔßgÁö¤(G1o.˜G$mM«¦¤© œ¢0hÐJJŽóä“OÐ÷üsQd‰Vñ èd'NI&ÖhfÕڟؼeà v‹i£>Ã`0¨Ïr9¹­ž…a¼Çc2™NúÌW·p5=-ØP"ó;¯!j£¡œN´l(sÖXÌZó{â«¡jã?˜‡;ö–Œ¹¿Í/Vž(G1oŠ˜‡ÌÐ=¤µJÏÏc¥Çp*NþùÒó,Yº”²òãX*âDIÂé´‘•™J·®Ùôë ×ýù:bbbVè uÑ„ ¬e±„Û Pk«¼P»üøíI¯¡ÃOÄ0s¡ú3+6Ö†ÐÒ0×$43Ì£tþÇ£ó(æb衦t-ÍYü½l°¢ôZ âëõz5¥ÌýùÁC™ýálºvîÊ-7ÞrRs•@mðü5˜TD T)Íû¾ÁÞ5XS‚@@6´Î¹¿g6æZÖ—–¹hLmû”aîzX£`ÞÍYN7æ¡4!‰ÒyË ó(æn΢àP(éÎs_¸d!;vï`Ò„I<ýÒÓ(± ›—oÆl4S¸¿žÝz2âªõ˜z8¦¨†ŽW‹™$¢ un-憚¥N槃±ŸRÌñ.@9ÌÃÙ0×Úw;JçQÌ[2æZMðp¿À⥋™÷Õ<Š«‹¹û¯wS'ÖKÛ6myÿ“÷)®*æýùï³jÍ*Ÿz óS0ó}8ÒS¤LXá,ÖP¥m÷x›w‚½S(5”£GÃ-‘8/zD1 Ìu§r`Zœû~»öìÂ`4 ô¤ç¥sìð1 %‡Kè~fwEÀl2³mǶ“®¯ªªR?«®®¦¢¢B½ïöíÛ)((ðɨ8ÀöíÛÕk÷îÝK~~>Û·o§¨¨è$&\QQArÄ$; IDAT~~>µµµ*ƒÜ³gzµ}- ¢(ú4ÃTVVRWWWá–””„$q‹F=zô(›6mª7NA¨­­%??Ÿãǫ疗—ãp8ÔñȲLiii£¤†4ç ,Ü ¤–¶Eóp×Å©˜ûÓù©tKE1oút®ó7`ï@6ï_ßy+ø+ è~òÄ6ïÝŒìÙ¿g?ÇËŽ“Ò>…â½Å´IiCuE5E…Eü÷×ÿ2å‰)®ûŸÈÎ5j‚ °{÷nn¹åJKKq8Ü~ûí,Y²„?ü9sæ¨ J§Ó1wî\^|ñE,XÀ¤I“X³f K—.eñâÅÜtÓM*#Þ»w/Ó¦Mã믿æþûïg÷îÝäççsà 7pèÐ!Ÿï ðâ‹/²uëVŸÚñ-·Ü¢>à›o¾©×ÖÓÊà˲ IÒI‹Ì»`ÂW\ÁO?ýÄÛo¿Í³Ï>«¶“}TÆì9Þ/¿ü’O>ù€Ûn» ‹Å˜1cزe ;vtMÚ‰¢6¹¹¹Ìœ9põjÿꫯèÚµ+×]wõ´Z¨ßÖ5##ƒŒŒŒzLX¯×——GZZ¿ýöçœs?üð·Ür ;vìàÉ'ŸÄn·óàƒrñÅóÓO?ñôÓOÓ³gO6lØÀÊ•+™5k7n¤¬¬ŒüãôíÛWDôz=çœs'Nà²Ë.cêÔ©Ìœ9“™3g¢(Lœ8‘AƒqÞyç!Š" %%…}ûöqå•Wú5½‡ƒyCüF që[¿Z¾%X&˜¯-Ø=|iÁŠZh½þTÓ¹Ög t T,˜¯¹¹c‰ë£˜7ÌÃfèášb‚ù¢µ.6.–~gõ㛵ß`·ÙšÊî›~ÿyë?È’ÌŽM;h× …Ë\F»víT¦YSSÄ T-`çÎôéӻݎÉd:©ZÜóÏ?Ï€ˆgذaÄÅÅ©÷{óÍ7™9s¦ßÉ~çwxõÕWÕÿÝ&xOàt:£GF§Ó±gÏ/^Œ^¯gàÀL™2Eeêv»›nº‰?þ˜ÒÒR.ºè".\À“O>Ék¯½Fjj*—_~9ß}÷/¾ø"K–,àÒK/\}àï¾ûn¬V+wÜqsçÎ¥¬¬ £ÑHÛ¶mÙ²e cÆŒ!??Ÿgžy‹ÅB||¼Zb×=nQ¹á†X´h­[·fĈ¼öÚkšÌOÍÁ䬥ã^$Þ'RL89°Áê~Ÿ:„é6ܸ’–„¹–ûG1oþ˜‡ÍÐCY»‚5ð—(¹Ù¹ˆN‘ô¬tL1&6mÜÄŽÿí@Q:õè„ ØmvŽ:J×Î]OÜô„PË]wÝÅwÞÉ;ï¼@jj*•••´nÝZ}ާÖüÜsϱ`Á222¸õÖ[±Ûí˜ÍfV¯^Í™gž‰Ñh¬§Iët:êêê¸óÎ;yá…HLLTïçÖ„½¥Êÿüç?¼úê« >œÎ;«ïÝn§K—.;vŒ3fðÝwßñþûïpøðafÍšEMMª%{‰‰‰,Z´ˆ>ø€ÄÄDµ?ýÓO?MBBÏ=÷:tà£>bÓ¦M,X°€aÆ©–w½|Y–UFÆgðÔSOaµZY¼x±£ Ìý¥›4vº¿µî¯Æs( (‚ÑŠ¿Ñþ4n­y0­ÁŸrªé<ÌÃi¢,¸´%c¬+Xóæ‡yƒ¢Ü½%"_?žçùŠmî}_¾øs:õì„ÑäÒK——Ç7_|CbëDJ–`2›Èê˜ÅÒo—ž˜ׯ’’FÅe—]Ƹq㨭­å¡‡âþûïgݺu,Y²„¹sçªÝâÜfú¥K—òßÿþI’T7wî\F­2ë‚‚ž{î9$IâÜsÏå/ù àÈ‘#èt::Äž={X·nåååõ@q8\5ê?Nee%N§S5…»­®®FQf̘ÁgŸ}ærCÔÕ©±½{÷æ !!põ„ÿðÃùüóÏ)**`ݺuLž<™ /¼êêjfΜ©v¦«©©ଳÎÂb±°sçNnºé&|ðA~ýõWþñп•¡Ìš5‹?þ¸Þx"¹÷ºó>ït•~õ§ø[÷Þþ/ãVíKëûû›G­×é¤óP0÷÷Y(Z]KÅÜßuQÌ[æZ}ÏîÝž¸zøE!.>^³$âOr ·"‘÷DZj-¬ÿi=²$spßAââ0šŒ¤g§£×ë1™M*:äŠÂ.+gð€ÁœÙûLu²³³³ÉÍÍåŒ3Î ==»ÝN×®]éß¿?kÖ¬AQ®½öZL&“ Ò%—\Baa!ÅÅÅ<ðÀ$&&b·ÛÉÈÈ S§NêXF#ééé˜ÍfÚ´iCee%………¤§§“žžÎòåËÉÎÎæØ±cäææ’œœüû„ŸÐÚSSSÉÍÍ%..î$À³²²ÈÍÍÅ`0«¾O^^}ûöeß¾}lܸ‘¡C‡Ò¦M DAAYYYìܹ“o¼‘²dÉrss2dyyyõbÜ÷S…3Ï<»ÝÎ\@»víX·ndäÈ‘äääСCL&111®îy'>á¤n{á`ì;A°Ûmt+7$+;›:›K8%IVÅõ[I‹é’‚(¹ºê:XL‡Ž±ZëêU ¶~µn Z*Hù“ȵÎw°Œ¯C’$*+*ÈÉÍó{m¨Ïl,:×ú,L ©@ç´4ÌÍuó–¹Ëm£¤äíÛg¨ÝEõz=ÅŠÈÌʦâøq„?¡¼=û=dY"5-=䲯Z_N‹YÆûš×ßzµ›×’šžŠN§c÷ÖÝœqÎìÙ¶‡¼.yȲ̡âCŒ¸tãn§jОEfÜmRÝ&ä@]Ö¼¿§À‚¯g2­ø2iyÁý™çßžÇXºt)%%%dddpçw5»z»ÜÌÀ=Wîÿ=™Ÿ–Cáb̬(ÕU•˜ O|¸žþPVQƒ¢€Í!âpJˆ’ŒC”6z§Ú6 V»“ÉÄÆõ?réeWp¼¼¬^Û\_Xh1ÅùÛ"ö½G{V­ô¨( ‡ƒ}{ xÑ MÈé¤s-˜‡jÅœÜÔ0DyV-óżùa.U••lÙügŸsv»+®Ìh4òãšUœßÿ öoÎJA°èÁPËvêØ‰~ùÊÊJ°B»´vH’DJZ »·î&%3QUÿ¹›éy™ñܼ½5É`Ò\0_ŠOFgøógy2su‹}-·¶<`ÀDQ¤o߾𭛙»Ïóft¾˜¹–òŠá`îm‚:Õ¥_ƒ}hLþ|dþ|x‚ÖÒ¯!šÑµ–~ Å$Ù˜t®óP:…R´)bÉnfQÌÿx˜‡Ýœ%Xê@¨LÑ×µW ½ ƒÁÀ±ÒcŒ¼z$ýû_±Ú¬”•—1ñ–‰XmV²2³8``½`4-ã öžÁ*¦…=ê/8D‹YÆ{!ùûîì³Ï®g!ðxh‘ ¤Ñ’.ÒPÌY"Í܃i¡Hßþ|ü½G(˜Ûä‚inB5‰žj̵0”`B¦M²9c®uüQÌ›7æa1tYEV~× 1+ÏïÜû:ß×yÁîç$rÅeW¨ÿ?ýø³¼þÖk\rÕ¥\wÍuêçNÑe–dEÛ³µŒ)£ç:ïyR”À׆2_êÿÂïóâ|ŸvÌÜ_'¨ñŽ9#=ÐsBÉOÅO€Œ?‹Ë©ÊC¤ù„šíëÜ@ŒJË&èÚÆÊIŽæ¬.0o¬<ô(æMóºNôM§¼»^W߀Юm[žš6ÝýÚ¸sÔŒ=Ñ£åº?JkE hn”@ŽI/‚Sô8]Ë*ŠyK? ’¬`Ô üíƒ|ÌIi’«ƒ©‡÷n&¾u ­Û!‰Îà­«¢G‹8,6™Û/M¡gV\“Þ0ÃñSÒª#q^¤®Ô5‘ªëÝ%›æ‘êïżeйK>q¾Ù¨Ãdä&±=b0š±Y-8mu´NÍ!ålôâ* $:œC+ŒæXL1­DQîÞrѤ¸¿#t?y¥ÉDÃ飬uSåÙY5Lk \­›b° iLÁ˜HKÂütWŠ‹b~j0×ÎÐOàä”äéL§×é”ÝOÑÿ> XPbzc‹IÏN§¦ªš-ÿ}—ÖIìŽ:ž;ñI©(J“D¢G#NQvY¢#(eûÚ˜iÁ‚ÏÂMw %¸)T-Åß;…Ò¶×ßx9š·P+ÝiÙô©‚ÖR14ïQÌ›'æaùÐeYA‘]¿O·vnŽMæpÁÏdfÅ—NÉÁ½TUU£(IT”U‘–n&-³5e”ÜAR»<uÕ è‹]$Ö¤AÀjÑëÌF=Q¦ÎîªÌcpÅ xµ6YVˆ50uÔÔ9eEe$I±ÆzZ¢Í!aeÌF=­Lz ÆêD”ãŒ> ؽ€Nç[B%‹Í5ÎX³ƒ^ ÊâD :øƒ:›S†‹%ƤEARÀbIŒ56 3UCךŒì{„Z\BK°L ô>­é,´Ÿ@Yá´uÔÚlÂû]‚i[Z6]-©Z¢¨}ÍI8÷iΘ‡R/#ŠyóÃ<4 Ýã&²ÂigzS …›¿Âz<Ÿ‚#´iÛšŒœ *Ê+‘$ »ÍF^—\âxéq 1kاבÝóRD‡Z›Èõ³XúÓa¢Ìud³çp ›öVп{ çunƒSRø~s ‡Ê­èO„P›Mw\Ü‘X³ž5ÛKùµ ‚уriß&§$cÔë˜õu!F½+’ÜdÐqõù䦯Qp¤–ï6Å)ÊÜtqÒâx{y!§|Ò|Z{¦°¿ÄBYµ½Ó:»Hï¼$öHAR`ÍÖc©å‘ë{`uHÔÚDüXŒ,+èuƒû¤b48œ®w2u$'˜˜tug^]´‹V&}ÒÈÐ%¢üÜW ŠéÙW;C_¬?íDk©@5¸=?ÓÒ>Õ}­¿ëƒmjrkÑCy?óìïâ/ º¥aîïÚ(æ-󰺬È(ŠÎµyž¦CÐé°Yj¨>¸†ÎÝS‘åv”-cWþ.RÒRøyÕÏt?«;;·ì$©MÝútG@äà©Íè…96‡S¢}r+¬‘±—u¤¸¬ŽÍû*8¿[2Ó☽¼€„VFrÚźRÞŒ:ª,N‹Öäðq+ÿwM7 ײp}1NQ!9ÞÄ Þ©®êi‚+E..ÆÈ¾£µ,ÞpËÎJc`ÏVn9Ƈßïå–Kóˆ3ë±9ÄzÙX²¢à%’ãM,«C:áæpc(I2ݳ8³Ckf// •É@·¬LÒ*3—îá‚)\Ó/“Ù+ Ø#…ê:gä&¡ÓéH*0PYëàìNi$Ç›\VE9­˜FFC—›|ÚZ ¿aKhŸÚS˜NG+ÍS‰y$®bÞ<0Ãäî2mžNmNPÁ€,q:œØ¬vââ0™MìÎßMn—\ölÝCÇn1ǘ±ÔÔb6P:½ YrêÒ”sÙ~ ŠŸwÇ)ÉœÛ)™÷Vb6ꩳ‹lÙW‰É¨G’Œz;TÑ-3”D3G+mؽ‰=RÈß_‰¢€$¹´ŽUØ(©°¹± •µP\÷Ò .-ÞÅP7wlÍ)“k$#¹fƒ‹]äp¹ƒ^ ¶ÎI¿nmùluF½§(ó[a­c8D‡(±÷H-º§`³‹tÎHà›ßŽÐ3'‰mû+9#'‰]«1è`÷¡t‚Kˆhz?"•ª£5í'šż%¸Ó¢˜GŽÎ½‹ŽŸö¢(:ƒž¶†’ÿËvjªj©­výÄÆÇrˤ[Hl“Hmu-5U5TWT³í»IʹSLÜïe^hŸKi•p5í0tˆ¢¬ -:Pïüê:'9©qtH‹;QÞ¥Mǘt´K4³ý@F½  z€Õ!qñíˆ1ðkÁqLF’$Ÿ0+õ´sIVÈK£Sz<­ã\ ½cûxÒZÇ I2(.Æe4èpJ.S½$Ëè—™¾W^kîÞ Ã:ñý¦£´K2c2¯±c6êØ°³Œ^¹I =·=?l.!¾•ÁÅÈ[ÍGÞ…ÞkW‰ñŸŠ´µÓ¹‘E*…)Š9§µ™ââu$µïŽ,‰Ø®@¶Y‹¶óÀÈ|õó!~ÙSNþþ .é“Êâ ÅÄÇÉnKqiFƒ@E­ƒ ÏhÇk‹vr¨¼ŽçǃNP¨±:¹¬6+·Å »SÄdÐÓ6ÉÌR :«=¢,óîòÝ´M4㡬ÚFM¤¬Ú†Õ.a4j­%бØDŒú<~+¬ ø˜½^ÀlÔawŠèuð[A9ƒû¤ñÉêý´2é霑HI…•ÅU¼·b±f=² ‰±F$Y¡¼Ê†"+8œ"¿ì)#«m,ûÖ¸šu8Eô:QjÞ\Ýá”"®¥k­Öämê Áj N­Z—w0ŽÖˆe_ï¨Ïu(X0Sª¿çš«p>ó´¥Å¿Ü’0Æd¢˜7oÌCŽr@ ˆ;ÝVE%Ð#‹PU]ËÑâ£äuΣäp 9ìÞº›´Œ4ZÅÅ‚ìD– ®ëdPd—6çe^þb;w]ÙXþóaFÈæ±{#) «6—P$[eø#Ÿ¯.âþkº#°e%V»D|Œ‘Öñ& × ×¹îß:ÎH¿î)Xí"×_˜ÃÖý•\Ü+e?bÕ–îÞÞy­9§S2Ÿ¬ÞÏŽUô:Ì'LüÆŒÜ3UФ×ñã¶c\qNÝÔYQظ£ŒCeuH’K€0 IY)±)¯C’DYÁ ×±qg«.ë;ÕK–¡¹[æ~wDNJohô«¿È֦嬴¤?ßh(ÏÞÇß³µøJƒ -ñÜT1æËŽbÞ¼1KC—YÖv¥ÓVCÖY7RðëGÄÆX@èyN¶ý¶ƒgö pg!=ÎêÁþ=û9^VŽSiKû3†"INE!)ÎÀ?m'ƤG@០·c4è0­? Z Lz½«¨ ÀÒZžý40êŒV‡Èû+ö`6é]× p°Ì¼•µ˜ c^Z‹Ñ C–LF=Iñ>þ¾P}†Ù¨w=Ã#G¾•YÇ¢õÔ´µz€)®g/ÿõK:€Ñ `ÐéxoùnbÍzœ¢D­ÍÉùÝÚ²hÝÒÚ˜y}ñbLztÄšu€ŽWºæÀ)J;æÎÿ³wæñQTéÞÿVU/YÈFI€°‡UPqP”WÜ·q™«3ŽŽÃUqGñŽâ«ŽŽs]Gg\½ ˆƒËˆ¢ ¢ˆ¨²…$¬ìK§—ZÞ?:]vš®êêN’PÇOKººêÔ9çwÎyÖó<Á9©%•˜[‘:¬¨#Ÿ3R/šmˆFœ¸Y›¬dkе¡ÄRweC4“¾b÷1ÓÄ«ªM$ÈHWÂÜ ;ó®…yÜ]Sµâ@¥‘šÕ Wözd•’•׃Ò-¥¸R܈’H·Œnì.ÝÅàáƒ9°g7uÚ(Òrú û½:QL ` Õ-ÙZŽš‰¢€†¦;†žHK‘t;» @JX]ÁûÜΠ=+ÝÕŠè(Šd$Z@0r2t9Åé9ZrpJA$hÿ ­U;ÒR¼öq ¾€ìcâ{­®uò˜;j;kŽâMœLµ¿Õ÷ûßvG¸xZ ³k%\¨u°Ù‘¾®ˆ¹Õ#P6æó8 ºjÇ!èš,ãJɢ߸[Ñ4p¸RØõû”oÿŸßIß1×’ž¤VšÒ’ö•#ªIVÚcJ&ê,c¶ØÛÛYƬŽX}L4 h¬@Vm¶VÆÊÊ5#»k{:HutÌ­´ÝƼóbèWª½¤º¤Žã-€¦*-6Ú÷tk†ãJéF³–JS]- "ˆâ‘EÝŽÀRç '9k•¢•ÅepÂL#`Ä…Ç›¸!‘Я‰‰¼ÃêøÙe‘Ö¢I2‘’‘™ƒTWÂ<^ÉÑÆ¼óbn™  BP|äaHB;ÐF–ëâÏY̅ȇ¢¥ÿ@ Tµ abš0 E*ÇN®v•€ ù9Îv9º–¨-ÍH͘ÈfkTo²Õ©V¥–x®Çj›Ù†m&µ˜…÷lkß» 汤@ó®y\º(=½Ï>®w{*Mi¬ÝM·ì‚Z^!àõâW|ø½^YÆë•ñù}ìݳ—ñ'Ÿ‰Ã•jS3»ÐX_Uõž°s‹fàd»‹±ÁÆRuZ±•ÅcK³¢>çy+±¼ãQÆÚŒÛú»•vÆËäÙk;"æñvó΋¹%‚ž,®ßLmà÷6°qÓnŸñ+RÓR‚QÐ<*Š$#« Z@Aö«hNo—^ y4+c~q¢ÞÐ.Á³úšÖ¢Áp¹\¸\NT TM@ÑQEEASÖÔL ©£ôEg!ø†Ùܵê!|(¼qcg7jsG =k¤MFÚÎXj[sóŽ€¹#Y«£®”t¾]ÿ-iÎ 2ÒÒÙ»kÍ9 Ô–Õãmð!+2jŽu«ÇH…kªxíѧÿrr²EÑ4 B4®ÈŠƒY€30Ú¢Õœ¸±²% ³öÀÜJà«ý /Á½~¾ûaÍ>?LhŠ›¯j•µMŒÈËKš`õš™ŠÐŠ×°i)Q $Öï±²¶E[CVìªmi£Õ>ÆjK¼’›¹ygÃÜAåh _èp8"§")©ìÍ)ccI²äGàAØž'ÒÔf8âI~´FÔ¡.}:ûöí£©©‰›nº‰O>ù„™3gšr£ÉVÓijXÚ+½^²U<±ÎZZi{¼ÉRyYéäf¥Ñ½å““•FNfÝ3ÓÈÎHA̽&¼hmÌ;æVíÀ±œ¬ŒrƒÛ˜Û˜w%Ìm騝ýkÞ{ï=&MšD}}=¢(øàƒøî»ï=z´ÞxE¿uåõ¤–fãZ ?¥!\Óˆ)à˜àÃûT*b¡Là?iÔ× ~&èyyy­ÞÿÖ[o1vìX®¼òÊVí“$ €Õ«WsÍ5×0aÂæÌ™Cyy96làºë®ã”SNáÑGåûï¿×Û/Wu¸Uß±êŒ7†q{´·=úÁÈy-+ õ{„a\hL::æÉÞØ;æñÌï# ó®¼ÎmÌ¡„þúë¯sýõ×sÓM7±téR/^L¯^½øñÇ=ztKŒôà„’¹1@Ã/kÑ*%„‹›AÑ^Î@P@û6Çq*â(i´†6@F•ÕV³,Ë­Ú±iÓ&Ƈª¶¤U”V¿O›6‡zˆsÏ=—Ï?ÿœã?žÒÒRŠŠŠÈÉÉ¡¶¶Ö댥N²jw‰ðÈ3•fÏ&j.H$€P¼A!Ììå±8æDÚ–¨ê¯+aneÝv&ÌñÄŽö¾È¾ÛëÜÆ¼³aÞ&‚n–9&\•ñøãóì³ÏòüƒÉ“'síµ×2bÄEAÅŸ§((ê" õ7•hó2®¨t m» a„ÿ»”*š(X²&·´Bït8‚Š…Þ½{³mÛ6Ýa.dÝ÷Ïþ“iÓ¦±lÙ2Ž=öX¾ûî;òóó©®®Àãñ––µf`Äâ‚ÆÌhbXu’k«ª8Þ,LV;©»ÑúJZóŽy"±¯cm‚6æ6æ]óPqX8³°zóæÍã²Ë.ãOú'žx"Š¢äl&+2Õ‹Vî@YœKSÐÜ*¢ !¿›×ÛˆÐGŽŠPZ)N+**X¿~=•••¸\.®»î:~ó›ßè„ù믿æž{îA–eýû÷gÙ²îÎï IDATetëÖM›61uêT¦L™Â¬Y³¸üòËÙ¸q#7ÝtSR¼6cqyÉR¿$Ã2Ì»biK÷¬xé¶+æí4W;3æíµŽíuncÞY0w$ÊÑ„¿\QÞzë-ýz¸¤j ‰ª&#f 1O“‡€âGPƒ9ÙU4$‡QÑ|ðAÖ®]‹Ãá@Ó4&L˜Àܹsyçwhhhàºë®Ðß?qâD222øá‡¸ýöÛ8p wÝu+W®ä‘GiÅxÄ“jÐ,zP¬‰fÄé&š"3ž K=fs«‰âIPk,Qq™?F¶v+˜GÛæ?w æâï옛…<5ÂÈ,☽ÎmÌ»"æ–$t+ªI’eQu5{dc½²FñÐbþoÞK¨ŠJcm%~ŸŠ§¶ÍåBöxiÔ$©M Öá óÖ»ÿ‡Ã!éuÆg´jƒªª8.»ì²¨à«ªÊ¸qã7nœþ›¦i :”¡C‡FÇ,3P¢ê®x9ËX‹ÇJLa«ílkêÃXçÊ­æInKàD™óŽy¬¼Ýf±%Ì6Ms󮈹ÃJƒ¬$y–94äç÷â̳'óØ£³öëu <MSIq§ 4Õ£ÊàW4~úf»÷ì¤Á³’¥;ti<ÚûC̃‘}(—ftÓ( ŠQг*‘Üb´aebµ!Z8A«^ÎfâÁÜ,¬¡Ñø[Ýâ=Æ–ˆ½éHÁÜèþ΂¹ûh´Tš±´ö:·1ïL˜ÇŸm-†}ÅJ³Áðz ?êhj*+ÉÌÊ zÁk i.|~?ÙNy=zp`ÿ~üžjfΜIff¦îÅíVÚbÆ©ÆcGŠ7O°Aªm¶©Ci³18ÇÓs󮈹%•»®ÇJ†Ð¿YY™œ=ñlÎ9ó,þßCQZZŠÏëÕ“ü?=òzðÛßýéÓo9H7T#Ë(åžÇd•0ãBã™@fŒŠYþ`³  Éz¾­˜G«Ï*c¯]¼-v÷®„¹Õ «3`n¯ó#oÛ˜ÇΙž0A—ë‰ÅaH¢DfF&¢(ò裙Ö/H-ác­¨Šbq:VmñruíÁ¥¶%(ïK«¹‚“ù¡’¸•ÔÐÑ1·ÂÀtfÌíu~ä­só$ôhQþV£”sÑ8t_¤=òݧ3*7³îÛuô-êÛ*jœ•T‘÷q˜V½:­Ø^¢Õid³+3ûN,n2Ö³±¸ÒdbOÀ ³çÚ‹芘wgÃÜj„0{wunc¿ö-)z[K(L,;Mcc#uõuôîÕ›¿>õW¾ùéŸÂ#³!ÕJff&ééé]æÌt¨ß²,#IRÒÏX†Îè'£@§Ó©Ÿpˆlwx<ÿüÇ.v±‹]ìÒŽz[£øÄRýY½§dG <þuMuL8n[Ë·RاúÚzf?2›z¹žtg:Ýó}úôi³º¤= $I)äÝO]±ìb¡c~±RÐZ‘ðDQÄåràt:õßB×ÂqÝoU%f&I$»tÌÛÒ¾ÄÏà í2&m­#ÖÙädÅñ'Š«yÇÆÜ² Ü¹ U &dY±rŽ ÅÊùvë·ìÛ·€ÚÊZd—ÌÀâ©ë¾[ Çr=o4PáV3…×~=ü]‘†Èº¢i!B%”!.¯þºë®£®®.j›B1òÃû+QH+2uêTAÀï÷[–Ä#ÇRÞzë-Î;ïù¤^ŸªªüêW¿â믿ÖUÐguÛ·o׿¿ð üéOB’$EÁáp°víZ†Jvv6;vì`úôéL™2…wß}Wî`Ê”)¬_¿^¿vÏ=÷pÑEñÓO?é×f̘Áå—_ÎŽ;€Ÿã¸\.KÞ”‚ °fÍ~ó›ßpÅW°~ýzæÏŸÏ¿ÿýo¾úê+¦OŸÎÔ©Syã7xë­·ðù|tëÖ­órÌ1ÇÐÔÔDMMMTíC´yu(BSZ=ŽÙ–uÒ–uÔ–œÕVÖááZç‰`žÌ›]óDµØ˜wlÌ“*¡G:šÅøxíxDÀàeïÓ+‡aGÃår±eÃrzäðÕŠ¯Èí™ËOßÿ„ÓådØÑÃÈÊÏâÞ¡¶¶VWínÙ²E¯_êëë¹ë®»xøá‡yë­·ôŒk¡òñÇÓÐÐÀ¢E‹5jÿøÇ?Ø»w/+W®ä½÷Þã»ï¾ãûï¿jþá‡øç?ÿÉ;ï¼CSSŸ|ò Ë–-cÔ¨QÌ›7O¿·¦¦†ùóçë¯]»–]»vµjË’%K˜2e {öìaæÌ™,Z´ˆ%K–°ÿ~æÍ›G¯^½X´hO?ý4sæÌᨣŽbÁ‚üõ¯àÿ÷™0a/½ô=ô^ÿòå˹óÎ;)))1=>*û÷ïç…^à7Þ`öìÙlß¾µk×òÈ#ðÒK/1wî\~øaÊÊÊxôÑGq»Ý¬_¿žû￟wÞyG«óÎ;?ü°SpºÑc›ôôôVõ•——Ó¿ü~?ãǧwïÞdffÒ³gO¾øâ ~õ«_ÁŒs²,³fÍ.½ôÒ–óþY|ýõ×\pÁ¤¦¦êv*jjjøíoËwÜ´NKi‚PU•É“'ãr¹ðù|2hÐ ú÷ïÏm·ÝÆÉ'ŸÌ駟έ·ÞJÏž=™9s&.—‹+Vpà 7ðÙgŸ±bÅ ŠŠŠZ1/F)Ñ6ûÛÌ|®…0«'Ú‘³3§ÑÚ-JU"›…ÕãŸí½Îã}g¬:ã=²dcncÞU0IÐ#ðG~B÷Åëö[ø3‘uDÔïÿë÷lþn3žF^—fO3éÝÒ¹ìºËÈÌɤÙÓLsS3M M”üXÂõW]ÓéD3ÈCòĆŸ¸ÂËívS[[KII ¤¥¥ôvŠ¢¨¾pU}H½{÷n¾ûî;jkk)..¦¤¤„Å‹sóÍ7ó¯ýK—Ê+**¸ýöÛy衇øøã¹øâ‹©¯¯oÕV·Ûßï×Û+Š"·Ür çŸ>~¿_÷TÙðÀA×Âíä¡¶gddpñÅ3|øp222Za¶qãFN?ýtÞxãƒbò{½^n¸áîºë.½·ÛMnn.¹¹¹¤¦¦âv»ºº:n¾ùf ¸à‚ (--Õëˆæ4>G¢Í›örг2G#}¢ýy$%Ú>ÒJŠâX¾VÒQÆŠ³}8Ö¹ÌR6mØFŽžFõt%̰³1ï˜'UBö1âÔ"Ÿ‰v_´Odg_yó†;Œ=È+È£°¨Ÿ×ǬfámòÒ§ò{åÓ³WO5ˆK´4¼u?Bdüøñ¼ûî»ú;B¶àñ[»v-ÅÅÅ\ýõL™2…Å‹sÜqDZjÕ*>ýôSŽ:ê(>ùäDQÔŸmjjâÚk¯å¶ÛncÒ¤I,[¶Œ×_¥K—òÔSO±f;ýö[½M’$ѯ_?.½ôÒ¨ ;–U«Váp8ðûýÜ}÷ÝL›6ÓN; €1cÆðþûïë ‚Ãáàè£æ£>ЄQ£F±zõjàg‡ÁðwE:ô >œ?þ˜Ë/¿¼Õ„Û¿?3fÌàÅ_ÔMfùAÀëõêLEˆ1Y»v-cÆŒ‰Éñ[• ÚJÌ$Xs4Úu£ùm$=kô#ÎÝŠÄcvÖ÷p­s+˜ÝoÄ´Dö%ñꪘagcÞ50oA¬dpqFœap¼>/Š¢P[UË–¶Ð¯¸…E…ôÜ—m›¶QW]‡¢(xš=©Ø³²²8ÿüó¹ð 9óÌ3),,ä÷¿ÿ=W_}5_|1|ðA«÷Nœ8‘ŠŠ &OžÌ‚ ¸æšk0`………œwÞy¤§§3nÜ8u»uˆH¦¦¦âóùt;ñ‚AæbРAº”|É%—ðþûïÓ«W/ ˜Âuòäɺ´*Š¢pÉ%—ðÒK/ðì³Ï²hÑ"xà&L˜À®]»øÃþÀòåË9ï¼ó¸ä’K¸ãŽ;˜?>“&Mâšk®àOúsçÎeÊ”)Üpà ºÚ>TBªþpìÀA„~úôé|ÿý÷üú׿æ¼óÎ %%Eg˜BP}.—Kg¤\.iii|ðÁŒ?^×DrÂÑæ^{Iè‘ çPpîÑî1 8ÑÞúá\çV07ºßˆi‰•J³+cnUB·1[T.žröü /¢ª =ó ¢r9‰dlj7*Päõ†Æþø?dOÕ}÷e㺠5„í›¶3üèá”m+£¹¹™!ý‡0ã¦êƒIàÍRü žªªÕ³yófƒ :è]fYꯇ<åÃV¥•ÃÝÇÌ1ÇCnnîAãÙ.³#k‘ï ©ò"…þ6¡zBÿ†_ \Þï-[¶ÐØØÈ˜1c Ç=Ö<«¯ :=~ôþ2†n8çêëëá#Ž"ðãr¹X³z§y6ÕU•­Æ9™Y˜ÌÔfõ}7‹=mœ4MÃï÷³£d;ãO>%®õ{¨×y²3oEëK,SbWÀ–¡(q¡~…×>¡qC† ‰¹˜;R‰'´j,'¤¶‰ÇI(‘`#‡k·çXmú]s«aMmÌ;7æ ÛÐͼÛëllä M9 )j [7l墳.";+US‘\…9…lûaùùœqÚÙxN§§Ó©sAôëÑ$\I’p¹\­$LI’ôû#Õ8áÏ…ëp8Z…W Iñ¡÷Gr‘÷†¿'Ô¦P_Âñ¿‡·5òùðHnáyëC †‘cª+Ôæp5Qèš(Š­Â¾†Þ“H~ßÃUâÍÉžì5o‡êØZ²ûØ^ã™è9êΊy¢çÈmÌ;æ±J›ó¡›9NX9Z`vî1++‹9OÌùYÕ¬©¼ýï·ÉÎÈæþ»ï''''&0f9sã=ChõŒ¦YÎ\³¬EÑ8L³s’fi Í02âÛ s+#÷±5+÷˜%Jæfó*^Ì­¬‹Ž²Î“q„©½ÖygÂüp¯só÷ÎM ºU°¬œ¹3R똽+üY–ÑБ+.½‚3N9ƒÌÌLRRRºzÜlâåÐmk<óh¿Y‘Búk쬴Áêb3zgGÀÜjÛ“¡êjoÌ5@8D˜Ç“m­³`nt†×^ç]wÛ˜“°Sœ#^UN<ܼ©á¢mL!uvèZÏž=[©¶ÍÚkÄQšõÓj” 3ÊŠ“†™¤+$k,..~±ì>‡s3®9™*«C…¹vˆ1ÕÇ΂¹Õkö:ï:ëÜÆ<:æV {\ùÐg–3׈‹‹åÙ­½¹A`ë¶­¼ðÊ 0ˆßÿæ÷úoá÷Åʇ~¨¸8«ž®Ùˆ·r"¡­y’%æFõ·Wi7ÌCbùaÂÜj?::æmÉm¯só®„y›$ôŽRDQäÕ7^eÓæML¿a:=ûŽ ~ñ!©îT¶l߈¡#¸êWWE=^•ˆÄ–lg­DêŒ6A“Q­…<òÛÚ§X“4Z:’C\»`ކ€ï½£–޲Îíbcžtš¯äÒ–ûÍì-ÑÁ‚E ø÷çÿ¦QläÖ{nÅã÷àv»ÉÌÈäÿÞý?„æ0Ÿå+–ª4Ö{Œ8E«’÷d¤*±r†8<¤ì‡~HMMMTµY´ ±°y›/\¸P?Ž9±ToáD¼ªªŠ;ï¼€_|‘eË–Q__Ï=÷ÜÃ?þ¨'~ }¶lÙÂÚµk[á³:'¬ä‡¦ ¹˜“u¬”‰¼ÃŠtaåÑæéá^çV1"4Þöv%ÌÆÊÆ¼ëaž0Ao¯ã±l>áÄJ–e6mÙ(…>ƒûP¹¯QÙ¿w?ÃŽ†ì“qHÖ¿ÇÓŠH———G Uøý÷ßóùçŸëÄ2œ°bÅ ÊËËõkMMM¬X±‚††C»P]]+V¬à³Ï>cÿþý­øé§Ÿô0¨¡xé¡ñ‚ PYYIYYY«¶ÖÕÕñ¯ýK÷âÿñÇY¹r%ÍÍÍús»wïfÕªU­Ú_VV¦‡z ]+))᫯¾Ò¯=ÿüó@0®z´°‰Ñ&ÓºuëX±bŸþ¹Âö®»î⪫®båÊ•”––rî¹ç2cÆ ®½öZV®\©g» E…8p žñ-t6Ýꜰ4¯‘w¼Y{âÉÒdyX¸/Þákíp­óx0•4£­ííh˜æfYÖlÌ»æ ôhi»Ö0«±¥£e´¸ëîbóžÍH¢Dùör*öVгOOʶ–‘×3ªýUìܱ·ÛÍšMk¸÷ÿÝÛê=¡P§!â)Š"³fÍbñâÅlÞ¼™|P'.!b8sæL¶oßÎìÙ³u"xË-·°iÓ&n¹å=Œk¤4?gΖ,Y–-[¸ë®»tf¢¬¬Œ_ÿú×<÷ÜsúýG}4‹/ÖŸ½ãŽ;ô¶†Tâ .䪫® j),`þüù¬_¿ž›o¾¯×KYYüãY½z5þóŸÍ›7sß}÷±bÅ ~øa=^ýƒ>ÈG}ÄO< ç)7óh áRVVÆ–-[øá‡¸ýöÛØ»w/G}4eeeŒ;€êêj „ ú{BŽ‹‡ƒ‰'òÅ_´:wouÓj/âÏ<5Š¿l¶^¢Í³uNÈCŒŠ•ã?ñÄrïë<ÞþX=¶eÅAª£bí>«cd_ÝÆ¼k`nµ8’ÁÄRCÇ[š=ÍÔ5ÕÑ3¿'ªªRXTȾ]û8°÷ûvO!Yݳ:j(Š¢ iÕû«©¬¬$//@ÿ7TV¯^MVV3fÌhÕÇБ·mÛ¶1nÜ8®½öZȆ P…“O>™k®¹†¼¼<–.]ÊÔ©S£öï¾ûî###ƒææf~úé'úöí˼yó˜;w./¿ü²YíꫯæË/¿ä¢‹.bÍš5ë±ÜC“aíÚµ\tÑE(ŠÂÅ_ÌÅ_ ÀìÙ³ihhàÅ_äþûïgàÀÜyçhšÆóÏ?Ï£>J~~>Ó§O×¥ñ'žx‚ÌÌLiðù|ÜsÏ=lÙ²…1cÆp÷ÝwGµ©‡pTU•©S§°bÅ Š‹‹Ù°a?üð7ß|3[·n †cýè#¶mÛÆôéÓ9å”SøÛßþÆë¯¿N}}=O?ý4¹¹¹Œ3†µk×rÒI'µ;‡}¨ídI·§uC{¯óXmHF”¼Î„¹fcncÞÆbšœ%üo£`ô‘÷GÃ7ªÛ, @jZ*§žx*;6ï |{9›ØL]MÍžffþe&r@¦¶ª–×ýHÙÖ2vlÙÁ)ÇŸB^^žnŸ Ïñ’2GŒ¡…' ègœÁªU«8çœsx衇¸öÚk)))¡GäççsàÀ¨@äææ2qâDÎ:ë,V®\ÉYg³²ãv»Y¾|¹þÜäÉ“Y¸p! .äꫯ¦©©©U[›ššÈÈÈ@UUÝÖ½víZêêêèÑ£{÷îÕ“¼¸\.dY¦¢¢‚üü|]úØ¿¿žŒ%|\fÏžÍÛo¿Í×_Ýj¬š››Ù¸q#UUU?O0BÿÚk¯1qâDŽ:ê(N<ñDž~úin½õVî¼óNžyæFŒÁSO=E]]“'OæùçŸ×“Ò@0y‹Çã1µ#ͽDí]±ž‹gž%TÿÝJò!³”FkÎJûâé£ÙXªun¥Fó –G°•Tš]s3ülÌ»æm"è‘a:c¥Ø‹–º.–úÃ,ý@F· DI$¿w>ƒG ¦xd1š¦ñùûŸ#Ë2ÃŽÆÐÑC)èS€Ãá g^Ëùôˆ¾‡²~PRR¢_ŒãþÉ'Ÿpì±Çòþûï3}út^~ùeŠŠŠ¨­­ÕÕÉÙÙÙ PUUÅ[o½Å‡~Èðá鬬äÍ7ßdĈ<þøãäääðúë¯ëõœ|òÉ<óÌ3x<úöí«gj •~ýúQZZŠÓéD’$V­ZÅË/¿Ì_ÿúWºwïNee¥nR$‰îÝ»S]]ÝŠxgggÓÜÜÜŠÈ»ÝnýïPv´P©¨¨àïÿ;ëÖ­;hR-]º”“O>Y¿ò ¨©©Ñßê‡,Ë 0 ˆc cbªBéW£©ÝÌæW{p¹VTqVÒ*†ov±R2F>oä i¤î‹Ö†xUî‘í<ëÜ æfóÀhL’¡~íL˜›¥.µ1ï:˜·IåO"+* «GœÂ_òÁú÷#à ¦óÜ[¾—¬œ,¾\þ%‡ dwén ‹ q8ö+ä?Ÿÿ‡IçLÒÏ××׳lÙ2Ýî}á…²hÑ"æÎKïÞ½ùâ‹/xðÁu»uŸ>}xíµ×X¼x1~ø!—^z)ãÇçúë¯'33“E‹ñä“OpÅWðÆoèjôææföíÛGß¾}¹üòËyàP…§Ÿ~Z'žwÝu6lÐÁY¼x±nKnlll5 Ï?ÿ|,XÀÌ™3Y¸p!÷Þ{/Ï<ó óçÏgòäÉ\}õÕ<ðÀœzꩺºüꫯæÞ{ïå„NÐ¥òk®¹†?þñŒ=Z'¤¡\é€Î¬„Þ=`Àž}öY)·±/X°€¿ÿýïúx…ž eý ¯¯¹¹Y'ø^¯Wg*–-[Æý÷ßoinÄ).Q ÝL[`UÝO©xϯ1/ñɈ¶ñYÖžë<‘¨a±ÆÄ,•fWÄ<û²y×Ç\1lèŸÏŸ|š¦‘ÞâÈÔ;E<Ùj̨ŠÊg«>CöËìÚ±‹î=ºƒ½û÷FUU2²2(ß^ަiÔVÕrÎ)ç0røH}ÀFEYYY0_ºÇèQ£8÷Üs©©©¡¶¶–©S§’••¥Xnn.#GŽdÇŽœ}öÙœp ˆ¢ÈI'ĦM›¸þúëÉÍÍeõêÕ¤¦¦ò‹_üB®oß¾ôë×·ÛM^^¹¹¹œzê©äååéí3f ’$1~üxzöì©;¥‰¢Èˆ#(((Ð3·ñÒK/1qâDcÇŽ¥ªª*˜*vÈŠŠŠ0`UUUÜxãH’DïÞ½éÝ»7MMML›6 Aèß¿?yyy(ŠÂõ×_ Œ=šÂÂBFŽ©¿7Ò†þÝï÷3bÄ õ>=š^½z‘ŸŸÏÀéÖ­›^wïÞ½éß¿?iiiú¸nݺ•M›6qá…"Ër«€±æFè»Ïç zîoÛF^‹)$ÚB j zô艪Ý»v2`à`š›=Å+H43Säu+¤Œúi5md¬®( µ55ôí×ßÒZ;\ëÜ æVÚf¤–5JÝÙ1·Òvóι ø¼^**öRXØK7K’ÄÎò2z÷)¢¦º:z>ôxc¹›qDñòïø³sžå³õŸQPX@  ä§FŽɶÛè3 ‡ƒe;™zÆTþëÊÿ:HªŒ,Ñòˆµ-äýy-2÷¹Qž]3ŽÎhìb=gÖ+×ÌšîØ(gz¬~Dk»õYd}í‘=®8¡Xî&c¯äd–—9„w´|èVŸ?ÔëÜêZ°²QF›ÏV¢†uvÌ“ñ¼yçÀ<á|è‰Är·’4>ZcÍԄÆ cù×Ë9pàéB:½ûôF‘zô |[9™y™h𯰡Ã’*£µËìw3ÕPèžðüÞá©GÍböF»Çì·ðsøá©N[9>D0-F€ÌØÄ²íÄÂ<ÚQ £0Ž!bc–²Õì¸L{Ed:d±ÜcÖÎË=™ë<æVÛ×ãzjÌÛ3–»ùáÇ?Y4´–¨bY™™ôêC¿þƒIIq'ÍË9ç/‡ãV<ï´T¡=Ǭ³—dbnàß–Ô­H Gæö:·1Ç*–ò¡éüCªï¹sç´Ê±­4{ý;ú(ü>?Íš¦’ž–JfF7r²³Èè–NZZiiitïžÃŠÏ>§±©QObë72Çy´säáý £2Šãï¦o,íXcÌ6Xù-Ì­?^Î>R"‹)Ùã,Ì…6bë¹Î„y[¬t&ÌíuncÞ–bhC'$ÞÌ™3)))áá‡6æ44•@@ÆãóñÌ3Ïòæ›oê0ÒÒÒ(--%%5…üù446ðþ²e¤¸]ºô/IøÃ¨®®F’$rrrøþûïY´hyyy\xá…8,X€ÏçÃívsÛm·±cÇ~øa†Ž,ËœuÖY :”çž{ÆpŸ3gLe:vìXKö¶Ž™ÑïV>˜©¡â}6Ö9ͶN¶DlAáϵ×9ôdŒwGÆÜªÊ²³`žÌL_]ó®¶ÎmÌ“ ¡‡¿ÀJÀý“N:‰1cÆè!GCÉ8‹,+‚ÈömÛùÇ?þÁÞ½{`ÈÕ¼¼<éUØ‹-[·PPP€†FMM½®‚WU•矞·Þz‹7Þxƒn¸ÿþïÿÖ3¬½ûî»z{Ün7O=õ§v‹-âñÇ×'ÙòåË[eMóx<¼ù曼ùæ›üùÏ‚ OŒ&œQÿÈû¢=g6icm%@M´E+Or´ g5ŽÕ¤ fý1ãCQ¬Ðél˜Çë΂¹ÕºãMÔÑ1ï*ëÜÆÜó„Uî±ÒÄ…¿´¶¶–K/½”Q£F1mÚ4$IÒó”GTŒ$98æ˜cX³f ªªâp8p:TWW“žžÎ–-[‚)K5úÚjTõç(m¡D+«W¯fÙ²e\yå•­løáŒÄ7ß|Ã\@ZZµÇï÷3iÒ$6oÞÌË/¿Ì˜1ctm€‘*)2M^2Sì9w¥Ø‹Ö†HUP¬}‘í´‚yäµXÇ8ÌÚMýÖÑÒ§vÌ­ö±³`~8SiÚëÜÆ¼#aÞf•{<ê=yj*uuuQï•åõµ5tÏÍeàÀ <˜ÊÊJêëëIMMEQ¾]ÿ-^x!Ÿ~ú) ¶dN ½Ëår±aÃ>øàþüç?뙿¢ Vx>ô¨ÌEa¯­­Õ+’\¢á&¦™šÆÌöÔÖñH{±ÆÂLí^#N9^^{©;+æVúØ0·z­#†µ×¹y21oó±53P"Kff&ï¿ÿ>Ÿ|ò óæÍCUÕƒâ˲‚Ãáà»õßò«ËENv[6oACÓ‰õ®Õ»XþñròòrñûýzzsA(++cÙ²eºjÎ8ã <·ß~; .äüóÏgÚ´iú`uÖYTTT0iÒ$vïÞÍ%—\Â¥—^ʽ÷Þ €Ó錪®1SËDŽ™™z)Ú6 ¯häÍo5߯vF Ìž‹ìŸÑ3±T\Ñúí·ö*VTts+*÷΀y,‰0š2V2š®ŠyWYç6æ‰Iæ–$t«jšY³f1cÆ dYÖ“ŠDvpÿjŠ‹‹™rád$)˜M,à—‘ÍÍÍÈŠŒªJ¢ŒÏ㥨¨/•û÷#Š‚.5¿ýöÛ†m|÷Ýwºòd}w8|øá‡ú5UUuæÀL¥+cY¬±2Š˜d•SŒ÷ùDTO‰¨æ¬¤*LDEÞ‘œâ:#æVÍ s«ÁF’á e¯sóŽŠy› º•<Þ3fÌ@Q˜G»ÿÀ!쫬ଉ'“–’ލÈTµ±Õ™‚ÖÔH¥* P…OÝÅþ]ù,ûè#]=.IRTïs§Ó‰ Aõ|K{B×dYÖ yè·@  ÿír¹PUUWÅK’5ÉK¬(DFŒ€•œáVŽ5X‰Çl¢1^UŽÕœÇÑìXñÔ¸ÕíñÄèL˜[‘Ü;æV£}…K‘F„¨+bÞ×¹y;%g1SQ†Ž©å¹ïиãOfÿ¾jf͚Š'ŒAÓRRSq Ñ,+¤9|þÅW¬_·YkÆér‘––¦×® —ËuÐûB6öðÝZˆà·eLVÿȾYmW¬º­.ÞxÔÒVe¢cx¨’³Ä󾎌y<’LgÂÜL½›AèJ˜wÕuncžØ:wXYü±ÊHEÙàªê*TM广?Í+/¿ÌÞ½ø½ø𢠠ýûõ¦xÈ@¦L¹„‰'âr¹RX9£ËËÒLÝKÍÍvc$Õ›Ýí7£`±<¾Û’.1É ¬zSÇJÚ`ä<ÒÉYŽÌc™‘:æö:?òÖ¹91¥û¸%t+\‡Y4œÈçvÏeÊ…S8h(>ŸU¿_C%œN))n²³³r2›xV¸T+*¬¶¦Ø‹¦¾2:ƒ‹óNDš5‡dcn4.fc[´¨c¨/UCãK3Ù0·š>µ3an¯ó#oÛ˜'—ßaUz1úÍì\àmš”V'[,›Fdû¢q_ñŒUn*Zß"Ç4[Z¼j6+Ï·s3{œY}VÚaP¯_ “h»¸0'üÜEÇÃÜÊFØ™0·×ù‘·ÎmÌ ¡kªr·b7±ª¦ŸßO}õnzô æ=÷yñTš½Í(Š‚ßëAö+x~ü^?{öìᤠg‘™•·:(×dÅ©ÁHUdšÙD·â bÔ¦¶0°ŠQ¼çSÁ"§£‰-Š"{öV :œøýŸevUCCC*+«1rD\{\˜[Tq.Ìc­å΂¹½Î¼unc[¢OHB7ã2¬rMá ñ±eóOœ6q2™YÝÐT@@AUeTU#à÷£j ÑìñRÔ»Oôá¸ãOŠ)ù[ÝÌ¢©EbmxF•™íÅè좠F¹xÍÚ`¶8ãñ~5[mÁÜÈfe c¨œœ.œrQ+¹Ùëõ¢È šª°k×.ÊËËõà@VìÊ] s+ªÔ΀¹½Î¼uncN›9¬nx±8²X 8]©üðã&úô&ŠŠýhYûwTÓTÛ„3OBU4kšHKOa»¿”×^¾‡Ð='ç œëFê|+êŠxBš…"vV1¨F÷˜]¬ó‰pî±0$óX Ñl cMäÐ1Cos3‡§ ¿ß$Ixššðx< ¦©Ä͸õ醇L¬ûÌXy&ÑwÅSo¬öZý;žïVúaÕ)ž1iëwó΋¹Óél ¶'A·j›±’YæçFE¢6½Šž¿Ï¤°!“ogo¦øæ"zŸÃ7}OZ'Ýp%oí¦êó|¹Åús›¼^/›6mâØc ªò}>>ûì3ýèÜ™gž ÀÚµk©®®æ´ÓNÓ¥Õ×׳jÕ*ÆGNNµµµ|ùå—ºÔ7nÜ8=ÙK,UG,Û¾•±3ãx­Ô‘¨=Õ,˜A²0·jÓM(`Ëå›6QVZÊÔ‹.¢¦ªŠ_|‘ß\sM‹}]‹ëÝV‚ftÌÝî**öñþÒņ~v±‹]:_ñû} T¬ 4– ºÕù±Üù全Œ¿É³—ƒ/í£ê»:^Ù›’×÷P¿Íƒèé96—%W®¤Gq6‚$¡…5<´i½øâ‹Ì›7¹sç2räHÖ­[Ç+¯¼Âu×]×*1Œªª<ñÄ0zôh·Þz+§žz*·Ýv/¿ü2o¾ù&{öìá„N ¹¹Ù’*ÉŠŠÓª%–Ú4ÛšÕ` ±¤æ¶bÞÖXÌVœCĬY³øòË/YûÍ7L>ÿ|AÐ%ÔxßÝÙ1ý{Ö9çÑâh»Ø¥‹`"1Y– ™þ˜^î±~3;g¾Ñ¨h"Ôî­§hJOrNÉ öËz—€¦j¤twã« àÂIÝöFr ²Ù»g΂€¢(zªÓW_}•|MÓðx<ìÝ»—OTjjjèÞ½;=zô`ãÆ\ýõŒ5Šúúzî¸ãî¿ÿ~úöíS²å•idçE‘d“%·æ‰Nؘ†–I¡M¼÷î"<555ˆ¢ˆ$9@ƒðù®iæa» æf –Ïåx‚Œ$ÂÄE×DÞížx5%FLœÕ #±òs›Í+Œd¢ëÑÆ¼kcÞê{„¯P\±Ü£uܨ‘EUTD7ìX¶ Éï@B¢|Y9Gg²ý_»pe8Ùð| =ÏÎ`ûü}tKéF  ´Ò¾òÊ+Œ=šçŸžO<‘9sæðßÿýߌ9€{¹sçêÝét’’’S¼VVVpàÀ2335juuu|þùç\uÕU–Æ –ƒ™Ñó±A,G>!NurEE|þérrºwç¦Y·‹]ìb—v+M ä IR°_<åí¹梩*)©©´Çn'"rÀÇîÝ»)+ßt¿×4hq` ÚÇ5MmQˆ¤§§1|øRRRصk)))-²†C’غuEEElݺ…­[·1fÌFSUV|ö 466pÌ1Ç2|øpöíÛËŠ+ÿË_RXPˆ,øê«¯Ø·¯‚_þr<=óóñûü¶3QÇ+‚€Ò"‰K’DUU•••:VàpHôéSÔ*óŸ¦iˆ¢Hcc# õuöXÚÅ.vé Â9iiidçt4¶oÛú3AGU‘Žvm€(Šq©;5MÓÚBGÉÂm’’$é¼Ãá è÷»\.]!Ë2²,#Š".— ¿ß¯éq¹\ˆ¢¨_ljÞI軈$‰­æ -á^Žu热n·‹]ìÒUˆºª ,Û¶n S¹  ÄÝyTI¾Ï.v±‹]ìb—Ž%Ù…™¬¬l †ÞÞº]ìb»ØÅ.vI¢”&;Âdwºuë–Ô#Hv±‹]ìb»Ø¥}ÅôQo%’›…”³‹]ìb»ØÅ.¤·ø¦¤coK¦³g¬¦ÉKäFíïO¬³Ïñ¾¿-Abc°rN;^‰`”hð sóöÂÜvLµžïüH{®Ð’2úç1pÄÚ8â°X‰:ÌÎ,›Ý—h²ùhÑ„Ì"m²±&W´ëVuÁ—™Öo¢ŽxF[«Ø˜Û˜·æÁM D@”¤àáˆÙQT%êüÕ4 Qq»ÜGšì‰¢ðû†kÌívq„]Ó´`œˆõáhK…ñrñl˜V6t«ùxÍ6Ædµ×Š”qPû-ìUñŽ­Ñj«DlcncÞž˜‡þ ”—•R[SsÄÄ„Ð4$‘=ò)ìÝGïw3I’(-)aËæÍh­Ü ºþÀävÏåè1Ç"IŽà!¬–9#Š"uµ5|öÍ:¼>opŽ,¸].F{,99݃ǭÛJÐírˆÀ³¸£Ù*9ó®"yì,+%+;‡cÆwÄ8é ‚€¢ª|ÿí:¼>Ý2‘å`ôL‡ÃÁîݻػo—\~źø‡ï¿cÝ7ßp¸[¥öz›ùæ›o8íô3ÉiÉÓq¤”ÊÊJ>ûäcN‰H1‚("L¥¬™þÞ1d^2t(Û·o£ûˆ¼V}Çöíœ|êéhš¦_?RʨÑG³qÃTEA 3[UUVѧO_rºw?âÆ$//^½‹¨¬<@Ÿ¢¾ÍË=\ÅkƒH47v¢ 9¬d» ·íESëåŽÖ.« DÌœœGnìÈïFŽK‰äS·1·1ooÌTMCÕT˹í[ÁpÒŠ¢ÐØP‹¦A·ô ¤P(àÒ©i*u¨ŠJZZ:N§;øÎøI«šŒ¼­Eÿ-ôј\HkùOÐlñå8Dc¢R”w„k Ëœ‰xÂNqFöN³:â­/Ö»ÌRÙ¥Ø ÝËîË‹Òì9«R±œ“bÕ ³¶>ocnc~(1—T5¨Ì“•â—4ÔךšŽ ”îØFFfwÔ–0™‡ƒúÚjzöÌÇårÑÐXGŠ;”Ô4TèoìáAH k CE’$}ƒü]Ű$YñMZ˜£p‚íšãº/º»M5ŠŠƒL†6IUU÷<ÿ;÷×!‰"Ц!Ë*óîÿþ€Œ$Vðà>‹méh¼×ÚSý.X9^deÓŽ7ãZ[Õ³$09ãÏXÆAÞß6æ6æóDªÅ÷E‘ÆúZÒÒºÑÔØÀO~ÄíJ#''›‚üžä“—Ûnélß²•êªJRÝ©xšƒÄ!Z½áDSÓ %烪*ÈÿÏø%åc¶uG? Ik×~Í /Ρ¾¾^'î¡ßöìÙÍOþ-[·´úÍj‰F¸C„N’$C¦O’$jjj:mÊbI’höðødÐ4v¨ã÷SŽçÄc‹™zæ ¢„ª*ÊÏCŒ¶ð#UgfŸÈ{"ë0«+Ö½‘ÿÆÓ6³-Z]ѤŒhmŒ”¶Œî ÿ=Ú;£=o&…šµÙ N‘õÇꟹùáÀ<\ Ñ·x?A•½Æî»0¸³‡ºšOð4yhjl`àbªTÓÜÜŒ Aé\$ 5TÁØYfgyõõõ”””àøúË/illB”¤„Úý£™h-‚c’ÂC>^þRR\üï“sàÀ$IB’$vìØÁs/ò صs§€Ê(+Ý¡7I’øzÍjÒÒÒ(ìÕMÓHOO§¶ºšcŽKQß~øý~\..·; ›ul-Oä8;N† Æ®]»é߯?Ï>÷45µ5”––ò—æ2bØ06mÚÈÄ3ÏÒ%ýöÛ9ýôÓ9ÿüó™3g‡EQp88Zr{tëÖnݺ‘’’¢_ËÌÌÄçóqùå—£ª*¢(¶zàÓO?eéÒ¥”——³gϽ½¡ûBë%ôÝáp$¤EJžÆ/È :>û¶„‡__ňA½Y÷Ó.~ؾ—=• lÝUCyE}r$2R]¨šFŠÛEII —]v&Làî»ïÆï÷#IW^y%n·›²²2Î;ï<ª««Ûµ¶Sœí ecncÞ¡œâ~V¹qª3UMÁíN!#+‡ì¬lªd…¦&ݲ²(((@*vï!§{wºuËDÕ4\®hñ OKM ]ÍÉÁæ’tïž‹¦sO+ŠL¿þèSÔ—o×~¢(Œ8j”.‰ÅÛöH4y4ÚØÉ²ÌÔ)Si~ÓöíÛèÕ«ÿûÄßD‘ðÆ9õ”S9é¤ñøý~}.Ìž=›ã?ž¿ýío¼ÿþûx½^¦M›Fvv6?þ8N§“þóŸ,Z´ˆßýîw\qÅÜn7ÿûßyàhlläÆoÄçóñÌ3Ï‘‘AQQ3fÌàþû裡¨Q©¬¬ä¶Ûn#=='Ÿ|Y–yì±Çhjj¢¼¼œgŸ}–ŒŒ ÖâÄMV†êjAÀåtòÊ’¯Y³µŠ³ÇFP¼|ýc?í¬á“GŽ*ä܇ñÅúmxš½ÜvÛm<ûì³ñÌ3ÏðØcqß}÷ÑÜÜLcc#¿þõ¯Y´hyyy:m·Ji± º•…iwŒ¦6³ºF>mC¶6ÒH=ë}±6«h’Y¬q±–YzOÄæŒãIVÃvÚ˜Û˜*Ì[©ÜCNq l|²,ãtºp§ºéÕ¿/ª}ú|©*ù…(ŠLn8R”4~—Ó…Ãá`×ÎrP #Y@àij¢°W/<}ŠŠè–‘IŸ¢¾¬^õÃGŽÂétðýúo9fÌqø|¾ø£ù…þoø˜±Æ&pååW1ÁÛlÞº™¼¼\Ð`×îÝœ~ÚéL<ó,ü~+[ö¹çžË“O>III ƒæ²Ë.àÆodÚ´i­0klläƒ>à‚ .à’K.ÑÛðÞ{ïñÀ0}út|ðA7ß|3/¿ü2~¿·ÛͦM›7nwÜqsæÌaûöí̘1ƒ§Ÿ~ZoÃ7ß|ÃM7Ýļyóðù|­ìý‚…µÕ&{¹(àñÉ<õö*xŽ5œ­»ëÈÍp2fÄ@R]à’ ›K``Ÿ<6l߃Û$Ÿ[·n¥¸¸˜¢¢"¼^/7Ýt§žz*÷Ýw_}õ3fÌ`ùò刢D Hš?A4wLG<7±3–—°Õ‘ª8£ ÓØS×xñÔʘ˜…µÉ…¿4=ÇGûâÝØmÌmÌ;æ­”Hhó ·++ŠÒÍ©_Ó½–.dYFdYAAÆårøq§¤_Pˆ,Ë-Ž]Õº·v zFF@ ¦¦šû÷£Èëñû|A•­ÓusšÕ¶Œüæe9@ à7œƒ¢(pÜq¿`õêUH¢€ ˆ444pÌÑÇ"Ëd9 ?ëóy?~Þ|óMþùÏ2{ölfÍšÅ{ï½GUUuuu¤§§pæ™g’••Å©§žÊ#<€ßïÇáŽ_H=ͯ@UUTU!Ð✘0Aw9ذ}¯+çŠ O£dO™©";+›ÙïðáÈHÉL)ÊÏ&ÅíÀå‘åŠ,ãõz[íC¡±s»ÝTWW³sçN ˆÇãMŠt.J¢þޤ«ÜÍ8t³¤ñHIF›qôÍÅ\ý¹-êW«Òˆ‘ÚÕŠúÕL²Š&¶5Ù‡¹ùáÄ\oŸª%|ÆWÓ4Q‚žè µµ¤§§‘’’ÒBTöïÛGñÐ!-ïzk‡ˆ~÷Ü\‡Ž[ijÐ]M sìMm MzÜXRSSÙ¿¿‚¦Æ† ú?Îöߣ蘃ïR% AÐp»Sغm+sçÎ!¿ €ŠŠ \n7¹¹¹<ú×G¸uúmäææêLMJJ Ÿ|²—ËÅ9çœË/ùKN>yééilݺ…@ @qq1Š"ÓØØH÷î¹47{ôq iÆÏóÏ?˜ ¾ þIDATG~~ÿùÏZˆZðˆÜµ×þ–1cŽcÖ¬YL˜p2o½õ¸Ý©|ôчÔÖÖàõ6·qŸ^Ÿª*„NØE ¢è¡£qmÍÚèQøÅÐBþ6mÍû‚ñcaÇ/Gu£[ŠDšK Ý-ÒÍ%à(ÌûðŽR€(h 6„ÒÒRÖ¬ù’NÇ=÷ü‰I“Î4† )æõ×_cܸùÇ?^däÈ‘ io"‹¢(¨šŸ„nUâ0“|â=#í^³MËÊ&köl{I6³xÎ$c b3² [•BÛz&ÙÆÜÆ<Ù˜DÜ<‡.Pu ‚æúzš鑟Oé¶möéƒäp°gçNzõéÍÎ;‚6Po3ý @UƒAfÒ»eàr»QAÉÍë‰(Ф¥¥#ˆ")©©(Š‚ËíB– \̺µk2½{÷!­Åy.FÄ,bFɉ/—ËÅöíÛyþ…çÈÍÍc÷îÝœwî$jjkøú«¯ÈÊÊ䉧þ—[n¾•¬¬,TUE–eúô)â‰'žàî»ÿD÷î9<ÿüs,\¸›o¾™¼¼<þò—Géׯ_‹”¬ê¶ðââbFŽÀ£þ…?üa•••\sÍ5€ÆI'ÄŸÿü?,]úoþò—¿ (2³gÏfÊ”‹ðx<Üxã‚ÀàÁƒuÂ=tèÐVš– _„jì[Ðr_[¼4z¼ ë—ÇS7Î=/~ÆQ#†R]UÅ¿×ÿDNfš>3ÒÜœâ`~yt_š<^rrºóÞ{ïrï½÷ò·¿ýI“ÎçꫯFUú÷€ËåfÉ’%LŸ>Çÿ+Ý»wos{CŒeäÊ.žröÜ sAUõhJ±TŒÉXèfABìÍ=v’¹¹[Q+Û˜Û˜·7æ¡ïß®[ËñãN¢©¡!îЯ¢$ÑP_ƒßçgÏÎÝdftC‘z÷ï-mOIIaoy9ÍÍÍx}>²r²ÈÌÊ$;§߯_‡Ë墹ÙÓ¢ÔÕ$ý ¤{n>Ÿ—ËßïÃårëÒeJj*©)©øý~¯·ŸÏGVVÕÕÕˆ¢HvvÕÕU­Ìiii¼ýæœuö9ú|E‘=»wS[W˘_ŒÅïó%Å.­’ àtJ<þæÞYUÂ{^@¯žYAªß2W=M>ü™ìì~ûÛß²sg9=zôÀíN¡®®ŽÝ»ws×]wrñÅ—PUU‰$IdgçÐÐØ€ÚFmBH•ÿåêÕtÏΦ¨_?¶oÛÛ†n»IÎ3‡*®÷¡(ÉŠëh¢ŽxÆÁÆÜƼ#a’¼4´<ŃNq™YÙÔÖÔÒØÔLZJ š’²T¼ÍÞ`„/‡ƒœî¹ø~?#G&++»ESò³ú_ª«*% § AhnnB‚*yOSMz0MÕžC©—ÕµüÿoïúšÛ&‚øïN'ÙNJb'ä.Ii:å š– 0<ž`¦ “ôðèG*åd†<C¦<@!–ãÚ©cÉÊÝñ "9’"9vÜŒn_âx,YÚµvoo÷÷Û@OÐl~€_ñÅç_âÁÖžlo8ÄÑÑo?†7ôÂnzÎ9Úv+Äß”âÙÞžíï‡[ØŒ1´í¨a€èt: ”¢m·`0Ûn…P7¿¶îCý(!8±Ûá¢C½Ç9‡Ý:ög€hÛ6 Æ)ÃóE'ˆ¥n¹ö–BÄur RÂq] ?~»áöqøÛ^ÿmÁ` ¦ÉP©TP«VQ­VÑéœàùóŸ@œsŸdÆ 4(á¨û‘Á½'ák /7PŽ=œ%¯c-2³ˆS¼Š-++‹Èr(Eµ¦É6î5a Ët ÚæÚæ7lóÄt‰Õ±€ÉL ‡.ÖÖ×ð¦óvǯ[Ùç×ÁÜü<êË PƒCÿz<ÏÃññAn¿¿(v:¬k'° Nkq©‚¹Ùµ8÷<ìý°o¾>†išèõzhÔëA@6ðô»§ðÎ=4›M g1ûQJcd$ª™0znÓ4! ·~@¤"…€üâ\çŠl¸ ;‰’ÙD$täêuH#d&nM 91K!üfJ~»ïàû¯60p\œ{CHHJ!üA1B„ÀuœØ÷«V5¦Èz¢ú‘“$(~z4(¯¸´½IòኯÂò޳à(?J;®(Ü'&9íZŠ47«««0ÃÚæÚæ³°y(CÔâ:çµ¹;è÷ýImå%,ÔÁ9G·× ëÝ{`Ì€”€ëpç½Åïxbövƒ82!„ð3Q‘bõõuH)Ñh4ÂZ»Ú1PºÉC‘%‡‰Ý÷ŒvÁüŽúôçNJ1QÛÔj5T«U,»J—ê·m°Uô·©ÿ”~3"o@}‹ÖÖ³­è2›øÿg9ÝÄúg—›·£6©žšvln‹„s§é%‹ì$/„)+ûIëOë Ïè¦m®m>+›Ç¶—¡¾c¼ 8?¿ÀÖ$*–t½Ç?#²Ôù0`̲t“Ù(HrGsŽ VçŒfÜ·q¾|æ–{CœVà¥r·Qsæ=Oæ”´êN{hc5„‡'‰P$Íñ&¤}&í^Òš¦òfwEXÃÒ®=/kXšNFßËâÊ=6íxmsmóYÚR‚ gý>˜i]«Þx†}œA%Ó–·§§°*VˆóVú™›«¡Ýnaccób±[¡„àlpË´.­o,ËÂÛÓÐß–E'ju3ô†0GôRZØÚ,FiŽÓñü®ŽÒÔ6×6Ÿl‚ÍÍðç¿Ã´¬™Ï›¾ÑàE)8çx´ýŽã„ºö<Ÿ|ú/_þŒÿy YHBÑëvñðã‡qă”X]]Å«¿^á—/`U*¥Ñ 0t\X+«+Á3D³3t-×Ôù„V‹yiEÓ¶fµh›ß÷ÜOcy +k«!ÉH™ÄªTb¬ f;»»»hµZ¥ZäH)±uÿ>ëõK c.vvv`·àº.@ʣ˴°ôþ2(5‚DL. OÊ‘iÓøº½„IÛ\Ûü]°¹z-„ðt Å ÂRÁèn3-4ï~XJ½¨šqRéjem­”:‰í:"Ð¥OÈp‡ÐkÑ¢EK)¸ïÅKyï4¿]ÖÝHBh˜™«ØÍc89iã¤mô¬Òþ`´hÑ¢E‹–Û*ÝnÿŽŠÖ®œÐ¾IEND®B`‚KCemu-0.5.1/doc/window-module-z9001.png0000644000175000017500000006450312417262523017607 0ustar glaubitzglaubitz‰PNG  IHDR(%W™ÇsRGB®Îé IDATxÚìyXSG÷ǿـ„U 컈‹;TkÝZÅ…¢àÒ×.®hÕJ]ªPµ Öºbmmiµ¯µUÚ‚}ëO[­¸ƒ n ‚({B¾…äþþ€Ü&$„D¨Å:Ÿç™fÎÌÜ™¹÷ž{æÜÉƽ{÷К¶ÇR „çHO¿ÉŒÖilÅȇûNS°lùJ2Zá¹òÅ×ßRàî3‚VT ¹õá¾ÓÔ’ïŠDµd´„ˆ²ŠZ4IeÏT–Íb”÷BÖkibˆ9xÝ[”[Q9kÈÕA üÃÊITYƒôçž©|ŸÁc “Q*ÊäE¨·´¼0tôd\=’êîóCiŠGQÄõD üSˆ*ë ,¯FÆ­óã?=»éTþáS1ÎŽG¯£æ&ܲ޿À7w2o1j$j+Yúº >ÿí±R€Ú49Š2 %¢jܸø^76æFÏTÇÝì"dÜ:Á¯½ë–:^´z HX…äßcÿr’k2žä²eo4+¢}ÿ{¬6M_úº 'ÔQ[W+É·¡§§‡¯ ЪLCc#.^K›ÍÂÈ¡ƒÁ`ü»ÆDÞs#HeÏ6›±27FFK]ò{ôE«W¶6Ó;Š¢ðþ$W@ô©\µy[§½ÈÓņ†F\JJ‡ÃÆk~Á`MMRÜ{…òŠ*ôéÙÖ|s@]}?-„H\úÆF0Á—g€>=Ü`bløBö¸ú6¤-+Šp7=  ¯¯‡á¾ý;¤œçæàħ3!®ªÃ‚íÿ‡×üú·«œÒÒ3pâÓ™¨­—à­-'ðšß •’b*tF&£:\—üTWïÿÎ]Ѫž7Æ Ó©^ź[—m+½u½j”LƒB‘+§='sÚÌ'Oßs2§ÝúºúMšñ0'>‰Êš¼»í|<{áÁÃ,„û¡+Ñ?%£X BSSÊEŽì~=l`ab‰T†"a5¾ýí.(Š‚ñ ¢¤û ¥â,Û}C‡ôCa±æM´¬¬¢‹wžQR`ºPQUw‡fEv¾ÆF¼v¯—ʪt·o.ó¨@ Cž!(Pø7¹MŠ7|;Æ`0è:Úªw_X€Æ:–íHPiG{õž>•®wÙŽøª1]]½mXPíwzÅd7úÿÝ 9j§/:å•ÕèålH,„¾žæ=Ƨ‹FÃËÁGþ„ŒÍ‡- §Ÿ¬œˆŒ'eˆ:|OK+aoiŒ™cû¢¾‘‚‘)He2<Í/B©P„ºúz0™LX˜›¡‡«386š$M¸””ƒk¾„ârȤ2Xš›ÂЇRµuõàpØpv°…ƒ  ±Q‚+É©`±˜ÞbM4J$¸’” 6‡á¾Mþ¼œ õêvû VÝ aÂã ¢ª¥%ÅØ°r"(ªÙÏÈ+ƒ©±(ªÙ²|ü´Â21êÁa³Á·è†î®N`±˜´Å”•“‡òŠ*°˜Lp8øŽéÙ¢ D0ärqþR²Æ~TTÕà•žÍVkv&F†h’jWbAu¼ÞÖùu©w_X–íHP« 5Õ«³;O<¬šÒ]m~Åøª)Ýéü/¢‚òЬÒsp°4ĺ¹Ã ª¬CØçÀÖÎ\® ž<Æ'Ë' @X…­ÿ½Œ>={ÀÁ¥;jëêqèÿÀÕÙzúzhHpï~^ŠÃ¼acn„F‰73 qøÿîÃÍÍ éÍS©T†ÄÛO0¤·ôôX¸ù ‹Ë1<ж–F¨ªmDü…H/(ßÒ-åêš0góq êïŒÍiÕµøÏÖ“æÛ‰WnÐÖÏ”5±1l°Æ~ç–ÃÕÎ ^Ý­pén&ÖÎ~L9…bt·ï†Œ'e016Dm]2>Äô‘½ðJßA°4墪®×îç#ö|úöî‰êêJ ñþôþèëÊGc“·³ŠaoiB[CU•âvûajb„îöÍÈGùbèóô‘z'­ÍqõðèñÂ))ÅéjÇ-((X:m×+W ꔋºüíÕ;n„–íH Ë·VLËv$`Ü?õêìƒÒÆÇôoñAUVV¡§³g³óÏÂoù{#5³{b“ѧwàav.‚Gõ>‡…ŸÎ¥ÁÅÉ FFÍëCx\ôòh¾‘š¤RÜKËÀÆw^…›]7ì‹KÆ•;ù5Ћ§ ‚O{~J¥1€Åbâ~N)â.<ÀþUþêå€&©}ý'Üí»áãw^Ã\oÌ ‡WnvÝZŠ<ž!êêëagÙü&¤PX.W_+aë~ÿòg:>œ=^nV`³˜ØË_¿‰Yã½ó„àZ ãa&¢†™±v½†{9¥?¸;æô‡1WO?“’`Dz±H¤ûü+jñöë>pµ3£§xÚô£²ò¯iá£1*ë$ØôÎð6Çõóø;ðìÓƒø ´¨wÌp_¥ø¹KIíX:šë3ÜWII)*§1Ã}Õ¶¡]T£Dª±Ã­åòxäÏñQPO„MuטÿE@&£P__îöÝ i’aüî¨ol¾_nÀÙÙL)ÄâJôëa ¸Ÿ#@µý}ü´3Fö„»ƒ9Î&çàüÍÇÍÀÍ\,ž6>îÖ¨¬©Á€ÍS«‡OÊpùn>,ZVÔÖ54á‹ø›pvvAEu@ ®…žÕðëÙ|ÃæŠÁãrQ]] —eWTV }==4J¤ðÜSÖÄü÷Wi«b¿¥R’Ó Q(¬Â€^¶xÅËŸ”!5³‹§ ‚¤I†œÂrtëÌßö|c|â&x{öÁÙ¤tÌè!}ìñÙÑëX:}ÌŒ ðÙ×¶!œù8}=ㆸA\U‡Šš¸Ùkî‡Í‡'C7c.jë%(Wãã*®¨|á®AEŸNM}c‡ë’÷¿½z5«µL—zµ©O]½ZOñæ”aÖ×ÍOMˆß•¸Rš"â7qÄìçꩪ©Ew{3°YL¤ç püâC¬™3Q‹Fcã·‰He035¤IS£f%RS×&“¥vüÊÊÄÞÏ0~ˆÆqS’ ÊkÁf2aÛr3Þ{T ž!nv&->0ôô¹hhl€»Ý_7±!‡šº:¸Úº¶¤•ƒË5h± hÃ/*O}}=˜˜š(MgdRÜéXCCjjêàÖOû‡¸\„eJ–×Ä …Åðq÷ùË‚Ò×EQôE®xa´Õï‡OÊÀãqq·EAº’‰bq=^ëïÜ"ÂÈе5õàê7_>òE¾…ÅêÕ¬´®ÞÏŒyú´5HQ Š‹°lêhº”LÖn?”Ƥ@@Öî¸z{ö~áÜ Œ6¦LZ½mkÉ/× …)£)ž&%¨k½·Rï*µ·µ“\®¤ö÷n³^¥©Ÿ¢‚j\ùÈãŠ5ù­^¤P]]C¿ÉÊÊÊoŽq¶}Æ<}D. cv#¸ˆûó`ñ´A¨ pçnšjD˜=¦'êjÊÑÐÐccÜÎ*Læ} ÝL 1r ÂßCž!êakaL+(‰¤IAA‰ÁãqQ[[W[Åi%à›5û½œ¬M‘““‹ñƒÑÃÑü/ JO7nÝÁ‰Ogâħ3qãÖvûù´ æf¦(ËñÍü/é)Ø,6íÿÉÈ+ƒ¡!¦fƸ‘^Øì솴´ 8šs0×ßOK*qôtpy\äˆC½ñðáCÌÛWi¹€T&k·’¦¦¿Êä‹ÁårÛ×íÚ£( L†²bÐÅÕ:?“­êÝ 6t´^¹rêïã…þ>^*ÎxMõ*ê­–È­¦ö’ª‚z±|P5µµèéô—ene‡nfÝ_TŒ¨ÃW°î­aØøîì‰MBRF)]ÇÔ×zâóUþš›”õT„aÜ»[ÂÅÉû§`nM¦¼Ö³'x¡¼ª©™%øáÌ=ØÚXáaf6li ª ’FúfÌÎÁÁÑõ upi™å–ÃÉÕv¶Ö8úû}L}­–Ïð… ¼·2Š •Q`1(*«†»™­VçD±ß™OÊ`fi===ÔT×ÀÎÖ÷ÒÓáÞ2Å{ø¤ öŽÎ062Â×'o£º®Áã<ñÞäþVÔáLÒ#Ä'>„“³+d2)öÇßÄûAƒ±r¦/*jpãA!¤RX,&²ó۶æ·ÛúFJÉAîähßˆïhÚZ¯ÔÖ›¶¶Þ¢ÿe‘<ÿz}¼=éz}¼=ÛMWW¯ÎoñtUL/ê›<Ï>½°hÇi46Jз·ôôš§H¶6ÖWVâÍõ¿\œàÞÝy¢r¬ÿúêêë›çä y\twsi~°˜prtÆç²ðåñ4I›Àfs`bb k¾eóTÄ«þóIš¤Rx{ö‹ÅÆœÍ' •JáÕ·Ø6¼úöÅìÇ!•ÉàåÙl ÖV|\Íà׋ ʤÐãèÁÄÄ1 ) (Àdz˜,&ôó¢äúy©='ŠýîÓÛúúz£–E¦^}û(·‰Ý|Ù8;»à§ÄÄ$ÜF“T =ff¦puíÞ²Š ÊÄ’#6›S“f§:EQðòì›Ón?Xlæo; ISsû ôõÛ×ñ-²â[1¹OÇÓ³Ve[û‘ÚzÛöw׫Xwë²m¥kõO“CQ¥NiµöO½ˆ«Éûôî©¶ýÆÆÆðñî«$333…™™©Æ§ƒÅ„££½Æ§“§gï¿”:(x)Äåy¼¼ú¨¤YYYÂÊÊR©N{{[•|ý|<Û=mõ[Žº61˜L88ØÁÁÁ®Í¾éëëÃã»’ÌÁÁ^)Ÿ6ýèÛW¹}ÚŒë‹jA‹ªŸy™A©¨Š®«õŠï¥^¥1‘Í ·H¤"|·vV‡ü[Þ ÚaÈ5‡ÍÄïÿ‹ƒ·ßøgªãîõ³÷F $M2ÔÔÕ¿õ6û¨€äßcÿRP9…"r…ÿ0<=pØ,œ;ÿLåÇøO‡¤IŠÚVë^´z) ­?·B>VG üÓÔÔ5ÀÜÔ“¦Î|¦ò ’&ÔÔ5¼ðõÍÓG¢ „.FYyõK_¯Ü¿Åîe,įg.‘«‚@ t)z ›-¨ŸÎ„¨L022&#C ž;ÕÕUôÿùOóõ¨ýůq?‘Ñ"ϱü•âlm3Âß…‘‘±ZÈI††@ tUˆ‚"DAQP((@ Š@ E ] 6ÐÕ5ÕØ½2²¶›×šo…]‘;‰‚"?UUÕØ¶g?ɓɄ¹¥¹J™L‘°ù“M%‚ÒÞ‚²°äÓÿ¯ÿè#|ðÁJù÷ìÝ‹O>ÙBÇË„‚ç:ÈòövæqÿŽ: „®DeU%"wnÃÓ‚§pvs†£ê×S¥2)Þÿ˲â°9vüNñAÅÆÆ¶›çرXr¶ „q¹Ÿlߊ§OáâîÒ¦rʸ— qØl6ôôôÀîÄ-ç;\“µ5²=Â70xð`µynݺ…¬¬,ØØØ ¸¸˜œy¡‹SXTˆÕ¯EQ0·4EQ(Ì/T¶n˜LJ¨®¬‡Ãß‚žæu *((¨] éèÑc€-y B×fËŽHú#–"¡yòTBnV.jªjhåôwÐa *8x&ö}þ9Žÿú+¶nÝ%yCCŽÿú+7zß>rö „.N}C=ìì1lô°6óܸr¹Y¹jæ]Æ‚êÕ«ú÷ë‡ŠŠ œ>ý*òÓ§ÿåååèß¿?zöìÙn}›6mưW‡ÃÑÉŽNÎöêplÞü „Ba›åŠ‹K°fí:ô06¶vpu뎩S§!!Aóæ„–|%‡ÿ³æ!þM0™Lp `Á·h3p þövtŠ7+8x&Ro߯±Øc˜6mª’ìXì1:O{¤Þ¾ààE”‘‘ŒŒ =v ÇŽ…·’üîÝ{x3(eeetšD"Á¥Ë—qéòe,\¸€\q H§(¨ÀÀ@„G|Œ?ÿ¼€’’X[[JJJpþüŸÐÓÓCàôé먨¨ÀܹoA(ÂÇÇá6`È!€¤¤$lþäÜ»wsßz —/]„‰‰  ªºoýç?(++Cÿ~ý¾ƒ j6AoÜÀæO>ÁW_}MÎ4 ·RoáÚÍëH$:—•H$hll„¾¾>¢¿Ruå<ÊÍA/^XüÎÂç7Å€nݺaüøñJ¥øéçŸéôŸ~þR©&L@·nÝ4Öqè»ïPTT„ž={âdBFCCCbôèÑ8uò$zôè‚‚|÷ßÿÒå¾?ü=ž>}Š>}úàäÉŒ1‚.7räHœLHÐjjI ¼ì\¼r »öïÁµäëJ¥:•mll¤ßà544 éf²J– qùÚeݦšÕ¹àæ)ÂÛ<ùÿ!ÁÁí–?sæ,`õ‡ÂÐÐPEndd„Õ~Ø’÷ þ¿ßþø0l¸\®J9CCC|F®>Aç.žÇ×ÿ×ü€Åb餜Äeb0™LxðÄ+#^Q nnÿìÆŽ>ŸŒŒ ܾ}(dddÀÊÊ cÆŒn·|ff&`ذ¡mæ‘Ë>̤Óäÿ¿òÊ+í–#ªœ=ÿ;ûèÓ¯ôôôt*_.*‹ÅBoŸÞ022R’#7+ L&Sçº;MA±Ùl¼ùf ¾üòŽÅƒ|Ð7ß ›Ýþaªªªèéb[˜››+åÕµ@PæøÉ_ñKB¸\.\=\!‘HhÿS}]=Êem–­¯«°X,¸y¸Á` ¦¦†Öe‚2ä=ʃÁ€¹¥9ª+ußà³S,¾þ:Fíqß_¶ 'N$ 77sç¾¥"_±|9öìÝK®¡ùˆu-ÓÐÐ}Žþ?kAu„âò¥‹X p¹\p¹\xxx`ÙÒ¥¸|é"ú÷ë§R®_?\º˜ˆwßyŽŽŽàp8èÖ­FŒobbÙæ1MMMñ§Ã{ï½§TvôèÑ8rä{„‡o W$ÐBEyÅ3)'qYó ®±#Ç< êY¿"Ù^9kkklÚ´›6mÔ©^[[[lßþ)¶ãSkii‰O·EáÓmQ:•%_Ò$¼LVS¹¨õõõ:­e¢( â 466ÂìD„ët\²« @h—šªfß¬ß _k]®\Tކ†¼€93gƒÁ`E :—ÆÆF¼6l8Bç/ѹܛ˜9íÙ>VIvu!^Rl¬m™…£ßm3O}mójñá~¯bÁæƒÁ`ÀÊ’¬œlåj«kÁ`00cZü'?s‰‚"^R¦½1 ’F ŠJÚÞ' †Y¾=ûbá; èéÙœ™³Ÿp¢rqÛŠ…ÁÆÀ~:¤œˆ‚"^bø––:OÙÀÅÉ,]ù\ÚH|P¡ËB@ Š@ ˆ‚"DAQPᥥÍeF:,g'„碠ª«›¿ñýkÜOdtB׳ ÆNð'#C þqˆŠ@ E DA¢ º –|r ¢ áPP%%%X½z úwï3ƒñûïükJn©µ¶ØˆG t!UTT„‰þ¯ÃÒÒ'~=ާOòp#9 ï¾ó¾Ž‰ù×”|ƒ²QÐ…TÔ¶mxkî\¬^ý!œœœÀáp`nnŽ ÆãçŸb•,‹/¿</oXò­Ú´6Ó,,ù8ôÝwè×llí0rÔ(Ü»w–744`é²÷áèäŒÞ}úbßçŸ+ÕUWW‡%¡Kiyô¾}JõK¥R|òÉôìÕŽNxoþ|TUWklóã¼<Ìž=NÎ.°³³ÇŒ™3! U¬*bI]@Aûゃgj•÷VÊ-üyþ„‚R­ë¿rå Nÿö?<Êί¿•¬úK9FmCY™)·n"ñŸ¸té²²òŒÚ†ªÊJ¤¦ÜÂ¥‹‰Hºž¤$ß½{nß¹ƒ?ϟÃé00àbó¦Íªmþó<ÝæY³fcÑ¢…È|˜ŒŒpwwdž á*V±¬„·±lÉ"*zÿ—• µ*`mc‹‚ü§`³Ùj­ ùjaÉÇýû÷`kc£”¯õ¬˜faÉGvV&ºu먭­…«[w”<½¼‘pâW¸¹¹²³Á×Ï.ïéåS'àââÈÉÉÁà!¾´¼_ÿøùçŸÐÃÝPZZŠ#GáAz}ü´û÷`£ÐæÖÔÕÕ¡_¿þxø0£Í>„ŽQÿ1_­ù›ä¥¥%xœó•Í»‰Žà sØÚÚªUJŠØj¸ÑÛB®œ€Çã¡©©I¡=¥pvv¦ã..έÚ[ GGG:îää¤$/**‚Ÿß+ʺÕ>]­•Srò lÚ¼ wïÞCmm­Ú2Šüqæ4¹ºMÓ6&FÆÆpqë++kyÛTP¢2²f §llìÀáp£FƱc±X¹r…Î c³Ù¨­­Çk>†H¤Sy+++äååÑT^Þ%9ŸÏÇÓ§Oi êÉe¹µµ5Îüßi%åÚï¼û.>Ù¼cÆŒ†±±1ª««áâêÖfþ©3ÈH h@*•¢L(ÀíÔ[ÐÓ3€™™©î êQv&<½|`gï€úú:Ô××Á``íšÕ˜èÿ:$ fΜ{{{Ô××#99¹Ý†yöí‹ýû¿@hèTTTà£õtêXàôéÀÞ½{@QÖoX¯$Ÿ>}Â#>ƞݻááJò·çÍÃÊ>@Td$‘™™‰]»wã oëëëa` }ä=y‚-[¶(ÉMMM‘ ÷–i£ük¡m¸<úzyãQæC ò}2™T½µÕVU•°²¶A]]¤R)=­qttÄ™ÿ;ü‚|¼þÆ$Ø;8¢ÿ€øæ›o÷Ëϵ{÷nüvú7¸ºu‡ÿëo`øðWuêÔºukajf†~ý`øk#0lØ0eùÚµ024„O¿þöêp 4ˆ¶ü`ùò÷áëë‹iÓáàè„ á×ßÐxÌè½{°aC80eÊTøñU’/ Åè1cÉ[<A ŒŒŒQ^.†AÛùÚr’ÿqæ4¦½9••:ï§ÞUÈÌÊBppRnÝ$WБ뙪ªJ¥t¹“\ã2Š¢^8å´~Ô——£¤¤xýuòm+¡+CQT›²Ýoñœ0Ä×C†øÂÔÄk׬!Wð‚ò¯Ûú|áÂX¸p9³¿ò5@@ E ˆ‚"„¿6edÒ&H¥2¯> ‚z X,&˜¬ÎQ-DA) ‘HPŸôû÷!‹È€ºLǘL˜š˜¢WïÞptv†žžQPg9I!”"%åFg×î`±Xd`-‘J¥È}”…ÄÄD°Ø,899ƒÙÁ{ˆ((…Á½“z£ÇŽ…«kw2 ‚ްX,¸{ô/ÉIŸ IDAT‹ÍÁµË—ame ®¡aǬ22¬ÍP±X'':- €ü%ÿõ åfR§ý¬ÍÁÑ åbH¾åö¬hü±ðÔÀ/ÍçCðSì1,[ñ(ŠB@@ˆæ&ü«‘_ç©·’1p°d2Y§ÔûùÞݘS³nóµ¥g´ú±ðË QNrÿó¥áÉB ëœ((tùø[g(Ž¢(P…'NÐÿ“ÐuBdd$¦M›Ö%ÚÂb±žëñáââB·u¼½öL:Û¶mSJ“_ç­¯ÿ¶‚D"Ѫ­Ä‚ú›™2e „.FMM ¢££±}ûö—²ÿ«W¯Ftt4½‘Hëx{|úé§Ø³gêêêžé:OMM…§§'RSS»¶eaÉÇÐa¯ªhJŠ¢ðÊÐa]îó·eeeðöé§S»Nœ8Ѧ,##AAA°²²ǃ¯¯/âââh9›Í¦ƒ……‚ƒƒ!”äÞÞÞjÇÏËËKiK/up8ðx<˜˜˜ÀÂÂÖÖÖppp€“““ÒçSÅb1‚ƒƒabblÞ¼Yc½Šíf³Ù°´´D`` rss•ò¥¥¥aÒ¤I033ƒ™™&Mš„û÷ï«Ô×^¾ÖÇS ê8~ü8^}õUúûïÚXÃëÖ­ƒ¥¥%ø|>Ö¯_¯b-tDÞÙ¨sssZ~ÿþ}Lœ8±Íx{xxxÀÏÏOÉï¤é:o­œ&L˜€ììlL˜0á¹)©g¶ x\.Μ=«”öÛéÓ0lÙ±¥+ñé§ÛñöÛótšæM™2E­éš••…±cÇb̘1HOO‡H$Btt4bcc•Ì[‰D‰D‚ôôtèëëcñâÅJr.—‹S§N©˜Ûòo4™Ï¨©©AEE„B!Š‹‹ñäÉŒ?111t¾ÐÐPðx<äææ"-- 999øî»ï4šåòv766"-- ½{÷ÆŒ3è<ÙÙÙ7n——‡¼¼<`üøñÈÎÎÖ)ŸüX‰DéØmM#N:ÕæyQbbbpñâEܹs·o߯… pðàÁN“k3%Ò%(ö_"‘`ÇŽxï½÷hy}}=Ølv›qmÚ„“'OÒqùxjšâ¥¤¤Àßߨ¨¨@DDüýý‘’’ò·Oñ°lÉ"Š¢(ªL(P ±?¦êëUÒË„ uðÛo(___¥ôAƒQ‡~K Ó òŸRsçΡŒ)cccê­·æRùOiyaA>Bñx<ÊÊÊŠÚ¸ñc¥òŠÿ«KS'W ×®^¡\]]©‚ü§óäS{wí ¤R)%‘HÚ !!!ÔÎ;5æ /))¡ •äG¥†ª”Ï××—:vì˜JymÂâÅ‹©Ý»w+¥Q¥¥¥Jí6l˜Öí–H$TUU¥¯¯OÇgÍšEEEE©ä‹ŠŠ¢fÏž­s>MÇn\\\¨‡*¥ÕÖÖRË—/§,--)333jûöí´ÌÏÏ:{ö,?{ö¬Ò˜wT€Ú¿?åììLq8ÊÇLJºyó¦Æ>hj¯b¨©©¡\\\¨ÇÓÇÒ´mOff&åææ¦r¼›É×(Š¢Ô¶eܸqTLLŒRZLL 5nܸ6û¹w×*';S㽩IÏܽB-[²ˆzf jòäÉ ôvS—¯\X,¤I“”òEFF¡¸¸7’“œtùùˆŠÚFËÛÛμ£D|ü1Ö®]£qçuL:Umúùóç¤S]êÀMŸ>¥¥¥¸ví 11eee˜6mšÎ}üè£Àçó±téRKPÝ´K[¶mÛ_ß¿v²9wîBBBTò†„„àܹs:çÓ…’’•U7oÞŒôôtܸqYYYÈÏϧeééé8p 0`ÒÓÓ;M.?o‰‰‰˜:u*-Z¤±šÚ«È‘#G0bÄØÛÛÓÖek+S1®m{PTTÔîu®HBBæÍSžÌ›7ï¹,QxfÅd2º$ÑÑû{÷FcièR0™ÊUÆÅÇcë–­àóù°²²BTd$ââãiù/qqغe -ܺµÓ:wᔕ‰8}ºÎeýõ×6ýY|>_§›<,, cÆŒQ¿U«Vá³Ï>lß¾aaa*ã×[·nE]]ÂÃÃUd'NÄêÕ«!‹!‹±zõjTWW·ëß’;;;|ñÅØ·o- …°¶VÝ ÖÚÚB¡Pç|º¾aUÜFL~#ïÝ»033ÃÎ;iYuu5ŒŒŒè¸±±1ªªª:Mûö탽½= ñÁàöíÛû ©½rd2vìØ°°0ÇH×ö´u·öé’Þ©~¹Žž‰íÛ·#..éii8òýaµ7¨âå..ÎJãö¶3ïáã³íŸê´„_"‘ ©I‚   üü³ê>æææ((ÈWy’«»ÑåõèÑ£±gÏn44ÔÓò††z̘„M›6áÈ‘ïq÷î]=ú#Gþ×ÈÈXá†Q¾9öïßÌÌL|õÕ¥ºåìڵ˖-ƒ³³3Œ1þ|XXX¨Í«îåååøòËxÿý÷ñ¿ÿ¢ûÿôéØÙÙ)•+,,Tª[Û|ŠhjØØX#''Gé)**‚­Ú²†††‰Ê`lÜ<†•••022¢óvTÞœ‡GÇY,&ššš4ž;Mí¥êqqèÑî®.*ùÚ‹kjäæ>†5Öú:W×®¦¦&µÊ¨­ô.aA€¾¾>æ/˜%¡¡X°pôõõUòðù|äååÑñÇó`iiIÇåÛ™Ëi½¹|»t9ºl—žžžŽ7&M†…%Ÿ~ƒ×þ›¼f'ßO?ý¤Öù7räÄÇow HUU%ªª*QXX€#G¾ŸÏWqfêééañâE˜?–,Y ===g§¼žªªJ¥c:t/^ÂþýŸ·éÜ477Ç?ü€ÒÒX§æM%“áè?‚ê¤OO:•+–7Ÿ'rntæ‡#ß«Œ]ëë\Ó¸z{y!éúµæÅ¡Ïiü‰‚Rá5ûfÍÂÑ$ãAøWÓú:ooz&÷y>/ˆ‚Rõ@¢(üøÃdg¿žÖ×yW»æ‰‚R3Å“QfÏžƒ~8B„ð¯¦õu.ëb Š|nEq0˜LÈdÍÔ‘#ßcöìÙ (Šü%ÿµù^§ïAišš¤¶#y‹×‚¤±¿Ÿ=ƒþ‚Ï·"Úš@xF„Bn§¤bذa065Õ˜—¼ÅÓ‹/oo\»z¾¾~°ä[Éd!´D&£ ”âFrú Ù¸³§w,llíàåå…Û©)¨¬¨€”¼Ê&tzÈ›™š¡¯§',-,`ÀåÕ™p8¸¹¹ÁÞÞMMRPQP‚NzlÜÎùp%QP­Ÿlxl¡+(<2¡«B,¨VȤMJed‘&ð 0 °XL0Y£Zˆ‚R@"‘  ?é÷ïC$‘!t™Ž1™051E¯Þ½áèì =ò¯3-')‚R¤¤Ü¨Q£àìÚ½Ó›/R©¹²˜˜›''g0;x¥0¸wRocôرpuíN„@Ћw^`±9¸vù2¬­¬Á54ì˜UF†µŠ¢ ‹àääBƒðÒ‘r3I§o÷kÂÁÑ åbH´Üñ˜XPÚNód²çþ9 ¡«=¨;¬TØì–M_GH,(Ðe! Š@ tYºäÏÂ’ßîî+Ï’W[—LñÔ›íMàS ¼ØS¼ç±± ‚Τ¦¦ÂÓÓ©©©][AYXò1tØ«*Ú–¢(¼2t˜›c>~ÿýL€½Ü{xà½ùó•ö¥V222+++ðx<øúú"..NÉÚ +í¦Ìf³é-{ZŸ——W»O(‡XXXÀÚÚprr‚O,#88&&&°±±ÁæÍ›Ûµ’ZA®œ&L˜€ììlL˜0á¹)©g¶ x\.Μ=«”öÛéÓ0äñºÌ îß¿‹.ăô4¤¦¦ Oï>xûwµžæ© YYY;v,ÆŒƒôôtˆD"DGG+í¢ 4¯J—H$HOO‡¾¾>/^¬$çr¹8uê”RÝ'Nœ¯eü4µ¡±±555¨¨¨€P(Dqq1ž† ‚ØØXµù­¬¬°k×.üþûïJéaaaøì³Ï”Ò>ûì3|øá‡ÏÔ®åË—ÃÇÇsæÌùëñÛoرcÌÍÍannŽ;wâСC¾hêëëéþ[XX`Ñ¢EJç”Ãá`ÇŽ°··‡©©)Þ{ï=444h%5j”ÊX>yòNNN¨¨¨ ¦Ì?ÀúõëE?ðBCC…õë×w] jòäÉ HNN\¾rb±“&MRÊ…ââbÜHNBrÒuäç *j-ŠÚ†²2!RnÝDâ…?qéÒå¿¥£555øêë¯ñÚkÃ;TÏùóç¤Su à¦OŸŽÒÒR\»v ˜˜ˆ²²2L›6Mç6}Ô²{óÒ¥KÛux¦¥¥ux,#""PTT„ ==OŸ>ÅǬ”çÒ¥KHMMEVVJKK±qãF­äë֭Ö-[ SøXà–-[°lÙ2˜¶óùXÂßCBBæÍ›§”6oÞ<$$$t]Åd2º$”¶¢öîÆÒÐ¥`2•«Œ‹ÇÖ-[Áçóaee…¨ÈHÄÅÇÓò_ââ°uËZ¹uk§wÒÂ’'g8ð¶nÙÒ¡ºÊÊÊÀçkïc Ø1cTÆoÕªU´µ}ûv„……©Œ_{lݺuuuW‘Mœ8«W¯†X,†X,ÆêÕ«Q]]Ý®K1¨#66»ví‚••¬­­±gÏ«G.—[­winK>~üxÑõeggã÷ßGhh(Ñÿmù"Ÿ‡²CGž‰íÛ·#..éii8òýaµ7¨‹‹3wqqVr—––ÂÙYYÞÙ” ¨ªªÂW_}÷—/Ç©“'ÛÌ+‘HÐÔ$iSnnnŽ‚‚|ØØØ´{£€±±1F={v£¡Aqj[3‚°iÓ&9ò=îÞ½‹£G¤óÈÿÓeZX~ÿþýÈÌÌÄW_Pªû/%°Ë–-ƒ³³3Œ1þ|XXX¨ÍÛÖ1Z·JJJ`ggKÇíìlQRR¢”×ÖÖ†ŽÛÚÚ ¸¸XkyXXÂÃÃ1eJ"""°bÅr°XLí&têÆ¸­¥ÏcÉA‡–èëëcþ‚ùXŠ @___%ŸÏG^^ü8–––J>Ey^Þ-][[KÇE¢gû б±1BC— %¥½·š‰#GŽ@|üñvŽUU•¨ªªDaaŽù|>_Åᬧ§‡Å‹aþüX²d1ôôôTÒòzªª*•ŽqèÐ!\¼x û÷Þ¦sÓÜÜ?üðJKKðèQ6ìíí0bÄkÛ­ÌÊÊ ?¦ã¹¹¹*ýS”çååÁÊÊJkùë¯ûCOO#)) o¿ý6qdÿƒNòÀÀ@>|X)íðáà ìºNr9+–/GIq–¿ÿ¾Zù´iS±~Ã|´~=¦OÿËÏ8}:ÂÃ#  !°~ƒ²ãͳo_ìßÿjkkQTT„UaÚ;‘—, Eff&šššPRR‚Ȩ( 4¨7xšßV­[·»víÂÁƒ‡ ‰P__›7obΜ9Z¿ñR”¯\¹"QV¬X¡uùØØXÄÅÅáСƒôoÕ…ÐÐ¥ÈÏ/@mm-Nž<‰ÈÈ(¬Y³¦Ã júôéX½z JKKQZZŠ?\­t±ÀÚµëès¾fÍZé$ ÃÞ½{±zõ‡àp8D‰üƒ jãÆÀP[[‹ <<7nìú ªÝ7-ÜAƒ‡`Ðà!°±±ÆGëÖÑòuëÖÂÔÌ ýúÀð×F`ذaJåwïÞßNÿW·îðý þªÖÇž0a<Þ›¿öŽ1rD"1¾ù&¦C”››Nà?~‡··ìí°jU˜Ê ª­‚zù¢E‹qáB"¬¬¬abbªäù† ‚Ñ£GÁÅÅ11ßàèÑáîîÞa++>||úÁǧlmm°aÃ¥¼~~~ðõõCß¾ž07ï†>Z§µœ¢(°XLtïÞ!!!Düà ÊÛÛÇÇ#22 ÖÖ6ˆŒŒÂñãñôZ¾¿SA‘;[hlhÀO±Ç0Ñb466gD03ë†òrñ3Ë $dñæ›d@ŸÙ™8Øåmæ¹sçÞ~û:t>>>ëûïÁo19 ¦fÝ4æ#wêEQ È~xÇvư-¹L&Ã÷GŽ ''Ó¦N!ç¢ 7o//$]¿6›ýÜÎ QPª3<òcáNRôÏ"·°äÃÉÉ ¿ý ƒœ‹.vÞž÷÷Òˆ‚Rõ@‘›¢ƒ” ÇP“\ñËä†{UESR…W†ët«æY9wî¦M›{G¸÷ðÀ¢E‹•v5~V222+++ðx<øúú"..Ž–³Ùl:XXX 88Xé¸l6›Þ²§õøyyyµ»[+‡Ãǃ‰‰ ,,,`mm 899ÁÀÀ€Î'‹ ØØØ`óæÍëUl7›Í†¥¥%‘››«”/-- “&M‚™™ÌÌÌ0iÒ$Ü¿_¥¾öòµ>žbPÇñãÇñꫯÂÝÝ]kkxݺu°´´ŸÏÇúõëU¬…ŽÈ;uã`nnNËïß¿‰'¶oøùù!!!á™”Ó„  &<7%õÌËÅ™³g•Ò~;}†<º _|y¡¡Kð0ã®]½,X°°CÓ¼¬¬,Œ;cÆŒAzz:D"¢££«dÞJ$H$¤§§C__‹/V’s¹\œ:uJ©î'N€×2~šÚÐØØˆššTTT@(¢¸¸Ož<Áøñ㣰qg(x<rss‘––†œœ|÷ÝwÍry»‘––†Þ½{cÆŒtžììlŒ7ÈËËC^^0~üxdggë”O~,‰D¢t춦§N”)S´žÅÄÄàâÅ‹¸sçnß¾ .ààÁƒ&ïl—€bÿ% vìØ÷Þ{–×××7ï¨ÒF\›öáäÉ“:MñRRRàïTTT ""þþþHIIùÛ§xX¶dEQU&(…ØS õõ*éeB€:øí7”¯¯¯Rú Aƒ¨C¿¥ÐiùO©¹sçPÆÆÆ”±±1õÖ[s©‚ü§´¼° Ÿ ¡x<eeeEmÜø±RyÅÿÕ¥©“·ž>É£ôõõÕÊŠ ò©½»vPR©”’H$m†jçÎóPŠ—””P†††Jò£GRC‡UÊçëëK;vL¥¼6añâÅÔîÝ»•ÒŒŒŒ¨ÒÒR¥v 6LëvK$ªªªŠÒ××§ã³fÍ¢¢¢¢TòEEEQ³gÏÖ9Ÿ¦c·...ÔÇ•Òjkk©åË—S–––”™™µ}ûvZæççG={–ŽŸ={ViÌ;*@íß¿Ÿrvv¦8åããCݼySc4µW1ÔÔÔP...ÔãÇéci Ú¶'33“rssS9ÞÍäkEQjÛ2nÜ8*&&F)-&&†7n\›ýÜ»k•“Ùî=Ù–ž¹{;…Z¶dõÌÔäÉ“! œœ ¸|å Äb&Mš¤”/22 ÅÅŸ‘œ„ä¤ëÈÏ/@TÔ6Zµ eeB¤Üº‰Ä âҥ˛Eu!1±Ý­ÏÛãüùó Ò©ŒºpÓ§OGii)®]»HLLDYY¦M›¦s›>jÙ½yéÒ¥*– ºi—¶lÛ¶ ¾¾¾JÓæ•¼!!!8wîœÎùt¡¤¤666Ji›7oFzz:nܸ¬¬,äççÓ²ôôt 8Ž0ééé&—Ÿ·ÄÄDL:‹-ÒØMíUäÈ‘#1bìííië²µ•©×¶=(**ÒiÜ0oÞ<¥´yóæ=ÓTñ¹Mñ˜L&B—„":z`ïÞh, ] &S¹Ê¸øxlݲ|>VVVˆŠŒD\|<-ÿ%.[·l¡å‘[·þ-½wï6lÇÎ;;TOYYø|¾N7yXXÆŒ£2~«V­ÂgŸ}ؾ};ÂÂÂTƯ=¶nÝŠºº:„‡‡«È&NœˆÕ«WC,C,cõêÕ¨®®n׿%vvvøâ‹/°oß>Z. amm­RÎÚÚB¡Pç|º¾aåp8*7òÞ½{áàà333¥ó[]] ###:nllŒªªªN“À¾}û`ooCCC|ðÁ¸}û¶Æ>hj¯™L†;v ,,Lç1Òµ=ÚúÆtIïT¿\G ÏÄöíÛô´4ùþ°ÚÔÅř޻¸8+9ŒKKKáì¬,ïl._¹‚ÐÐ¥8tð[¸»kþD"AS“¤M¹¹¹9 òUžäêntùE=zôhìÙ³ õ´¼¡¡3faÓ¦M8rä{ܽ{GþHç‘ÿ522V¸a”oŽýû÷#33_}u@©nóD’ò IDAT9»víIJeËàìì cccÌŸ?jóª;Fyy9¾üòÞÿ}üï§èþ?}úvvvJå •êÖ6Ÿ"šÚ66ÖÈÉÉQºFŠŠŠ`gg«¶¬¡¡!D¢27aee%ŒŒŒè¼•7çáÑq‹‰¦¦&çNS{é‡z\zôp‡««‹J¾öâšÚ¹¹accÝæñÕ¥755©UFm¥w ôõõ1Á|, Å‚…  ¯¯¯’‡Ïç#//Ž?~œKKK:nee¥$ÏË{¢¢¥kkké¸H¤ÛgPŽÿ .Âw߀´yNkt2Ž9ññÇÛ]RUU‰ªªJàÈ‘ïÁçóUœ™zzzX¼xæÏ_€%KCOOOÅÙ)¯§ªªRé‡ÂÅ‹—°ÿçm:7ÍÍÍñÃ? ´´eÃÞÞ#F¼¦±ÝŠqSSS¬\¹IIIJýW|! ±±±9r„Îùtqðöï?ÉÉÉJi666ÈÍÍU›¿wïÞ¸uë–’³·wïÞ&W׿öΦöÊÃλ°råÊvǨ½¸º´ääd 8H''y`` >¬”vøðavýuP+–/GIq–¿ÿ¾Zù´iS±~Ã|´~=¦OÿËÏ8}:ÂÃ#  !°~Ãz¥òž}ûbÿþ/P[[‹¢¢"¬ ûPû·x_|‰›6áx|ú÷ë§å4Bó²nÝ:ìÚµ ‚H$B}}=nÞ¼‰9sæh}³)ÊW®\ ‘¨ +V¬Ðº|ll,âââpèÐA‹óBC—"?¿µµµ8yò$"#£°fÍ­TEEöîFîtÚÚµk±wo4¾ýö *++QYY‰ƒaïÞh¥ºµÍ§‹‚ò÷Ÿˆøøx¥´Y³B°jUòó P^^Ž5kÖÒ²lÞü QXXˆÍ›?ÁìÙ³:M®Bh4µ—¢(œ9s\.¾¾¾‹‚:~ü8üý'ꤠ6n܈ðð8pµµµ8pàÂÃ#°qãÆ¡æúî ÁC0hðØØXã£uëhùºukajf†~ý`øk#0lØ0¥ò»wïÆo§ƒ«[wø¿þ†Uëc‡GD ??Ÿ^›%šý0šo777$$œÀüooØÛ;`Õª0¥§‰. êYä‹-Æ… ‰°²²†‰‰©Jç2dFWÄÄ|ƒ£G„»»»Æã*ÖãáÑW¯^Å¡C‡è<îîîHH8S§N¡Gôèá„„œ8ñ+ºwï®s>]T@@®_¿ŽGÑikÖ¬AÏž:t(¼¼¼áàà@ËÞ~{^yÅC†øbÈ_ :sçÎí4ù³((Mím¶žvbùòåZ]º*¨ììl$%%á7&餠¼½½qüx<"#£`mmƒÈÈ(?O¯åû;cÙ’ETôþ/!*Sv\þqæ4¦ÎPñ{ü[ilhÀO±Ç0Ñb466‚Ð5Ùµk7nÞ¼‰ü †ŽÌš5ƒÆÊ•+TdÙ™8Øåm–¿sçÞ~û:t>>>õ߃ßbr@LͺiÌ×–ž)ÈŠ˜¯¿&Ÿ[Q÷¦ˆ"ûáuYV®XÞ|žÈ9Ò™Ž|ßîØi’y{y!éúµæÅ¡Ïiü‰‚Rá‘ïA^ê´&ž÷÷Òˆ‚Rõ@E ª‹@”š$# Šð’"# ªëÂd2!“ Š@,¨Ž •Ê:mG$¢ Z`0033ÃÓ'Áç[‘!¼T8:¹ ´¤¸Sê• Э›9˜ŒŽ¯b" ª‹/oo\»z¾¾~°ä[Éd!´Ê(¥¸‘œ„~€C6îìÄé‹yyávj *+* %¯² òf¦fèëé K p¹DAu&nnn°··GS“´S¶Í!^ª=ƒ 6‡ nç|¸’(¨ÖO6<6‡ ÐÐU!T+dÒ¦–]QÉRAW X,&˜¬ÎQ-DA) ‘HPŸôû÷!‹È€ºLǘL˜š˜¢WïÞptv†y‹×™–“A)RRnaÔ¨QpvíÞi‹Í„—©TŠÜGYHLL‹ÍÂÿ·wæqQUýÏÂ2€€Â°o*î`.˜ fiõ¨¹!jf™>îa¹ä†K‹-¦àSšÏbZn™k–-–ñKDQA ERvd`f~¨£#‹lê˜çýzÝsï9çÞÃ÷{ïgÎ9÷Ìùzxx"mà3$êã&ÄŸ ïsÏѼyKa ŽÈd2¼[·E&7!æàAQXZ6¬U&ÌzNGnn^‚ǎ¸cGªŒ>TÜÜ=ÈËÏ¥¼–E ª¶Ý<­ö/'!ÛuƒEE.¿ù¢©áóE J -B Ñb”]<;{%ÙYªFÏ[Û&ncuñär9Ð7º›¦ÿ×ßÕkïAÄÂ-¨GDc">>âãã[ ìì•ôèÙ«’Úêt:}ˆ'cjÝÚ%ÒêËåú@wûÇ××WˆŸ ^âÔ¯_?’““éׯß©z· , ~úùgƒc?ìÛ‡¥……Q6;KUç.à½â³Ý½edd°råJºtéRçXo÷cP(ìÝ»×àøîÝ»±¸éŸ†ž¿>y»téBDDÅ.bÓÝ3Ž]Uiqqq 0€Å‹“ŸŸÏâÅ‹0`qqqƸ3$ä "#W‹Œ\Åôé!ÇJKKykÆ ¼š·À«y fÌœIiéíøïjµš7B¦ãîáI»öXõ¯UjUÕ*zبÕj¶oßN`` :tàĉ|üñÇÕæ‹‹ÃËË‹U«nØL£ÑŠ‹‹ ÖÖÖŒ=šÂÂÛ±ÁLLL >¯]»ooo,,,ðóó#!!¡ÆúÍž=»R}>þøcÞ~ûíJþ™4ivvvØÙÙ1yòäJþ?~<666¸¹¹±|ùrƒòwÖ³¦c·®Oûöí6l;vì1BCC gÚ´iXXX0mÚ4ÂÃà 5ÞÔàÁƒÉÊR ÀÁèhrss4hA¾°°p®]»ÆÑØ#Ä9Ì•+鄇/Ó§‡‡/#;;‹¸ãLjúýüqШËo¼§§'_|ñAAA¤¤¤°nÝ:úöí[e™ï¿ÿžAƒIHÈ _¶lqqqÄÆÆ’žžŽ¹¹9ó|7QQQDEE¡R© dòäÉ5Ö3((ˆÌÌLbbbôå³³³6l˜A¾Å‹sõêUþüóOΜ9CZZK–,ѧ/Y²„¬¬,Ο?ÏñãÇ9pà@½m×·o_Ö­[Gjj*Æ ãóÏ?ÇÃÃý}$0>öìÙÃØ±c Ž;–={ö¯@I¥R¦M¦oEEDDòÆ´7J O¹}Ç>XúJ¥ÂÃÂØ¾c‡>ýÛíÛù`éR}zص³zöìɾ}ûعs'?ÿü3¯¾ú*VVVÕæ_½z5S§NeÏž= 2D|ݺuDDDàææF“&M c×®]ÕžgÕªU¸ººbiiÉÌ™39qâÄ=ý3kÖ,}+ê£>böìÙ•ü³uëV>ýôSpttdåÊ•lݺUŸ¾e˃ô+V4؆VVV¼úê«ìß¿Ÿo¿ý–½{÷V y/0ª³|c™ ºÂÈ‘#øè£Ø¾}gNŸæë¯6TÊ£R©ðòòÔï{yy¢RÝÊÌÌÄÓÓ0ýaR^^NEEyµé¿ýö›6m$00Ž;òòË£:4K˪ÇÞV¬ø”—_…¯¯jõí®Szz::t0È+‘H òÜùÙÒÒB¿/“I©¨¨0H¯Ü-%8ø%Þ}÷]¾þú+Nž<ÉæÍ›ôenýÍÈÈÀÅÅY¿ïââLFF†~ÿÚµk8;;¤ß]·ªêQSzQQ»víbãÆM$&&ÄèÑ£küj袲ª›Zð ¦4hš™™&N`ê´iLœ433³Jy”J%—.]Ò罹^ÂÞÞ^¿ïàà`~éÒåJ*]\\¬ßÏɹßË Ô<˜Ø­›+V¬àܹ³Œ÷:Û·ï uëÖLœ8‘T(Ü·o;vìdåÊ•iNNNœ=›Daa~+(ȯrp¹ªÁËšªo¥™šš2eÊd&L˜ÈÔ©S055­TÖÁÁÔÔTý~JJ J¥R¿ïèèhžššjP^.—STT¬ßÏÎή¶î`âĉ´jÕš;w1aÂ?9wî,+V|ŠŸ_W1Xm¤ƒäÇgÆ Ç6lØÀðáÃwüo½ù&×®òæôéU¦HèÂ…¨T*T* BC º=2<(ˆE‹“••…J¥"t¡áÀ›O‡|öÙçsõêUfÍ~ûþÊ“®vo¨LMM dÛ¶o8~ü>>>ÌŸ?¿’“\\\Ø·ïÖ¯ßÀ'Ÿ,×§7Žé\¼x‘òòr;vl£ ”N§cÆŒäädóÖ[oU™Äœ9sÉÌÌ$33“·ßžcpã½øâ‹Ì›7•JEff&sæÌ5(ïããCDDÅÅŤ§§óæ›oV[÷ àëëK||ß|³•¡C‡êESlÆ+Pï¼ó‹-fÍš5³fÍ-ZÌ;ï¼cüuÏ7  T*ñëö$~ÝžÄÉÉ‘w ÏŸ?[[:uîÂS½Ÿ®4±bÅ ~Ø÷Í[´dÀ yê©^uºþs j7ªîÎU*•L›6èèè*…ÂÉɉï¿ßË–-[øðÃo Ç[ø3hÐ`?~<ƒ jtºWú¢E‹ppPòÄxâ‰N8;;±páB}zhèlmmèСþþôêÕË üªU‘ìÝ»WW7žþôîݻںŽ‚ü|4bº@P§/y[[:øø`og‡¹B!ª1111¡E‹¸ººRQ¡i”°9ÁcõE/‘"7‘c®hœ…+…@Ýý- 7ÁBn" !ƒà !P@ J !PàqE¼Å»‹2µš2µšÚNø—H$˜+›`˜J^ Õ˜UVÆÉS'‰>ø÷6ž\N÷€<ûìó”””ãýB-Ê(Ñétމæ÷Â037¯2O^^»víbÔÈ‘¼ÿî"úX£@Ýy³ß¹ä°¥¥%]»veYxmڴѧ·iÓ†èƒ ‘H êÕ£g/Î;Wãƒsþüy–~Ftt4EEE´oßž7§OgÈÁíA¯ cø…8b ª 4Mµâ”––ÆàÁƒ %.>FS¯›?;KEâ©“ôêÙ“I“ ƒp*ª+¿oß>}Øòê¸xñ"C†òôÓ½‰=r˜ÔÔ>úp;vîxèûÝ›@ ª‘),,ä•W^!%%…ÐÐPt>kkkÞyƒ³çΟBdd¤Á±ˆÈUÕFιŇ~ěӧ3îõ×iÖ¬f¦¦tíÚ•/×­ÓçQ«Õ†¡ègÌD­VWy¾{åµ³W²zõ|;>}=V€˜=ûm6mÚlplãÆM̾¹ÇÎ^IäªU´iÛ7wB¦OG}Çzñ©—.1zô+xxzáââJðˆdeeÔoÝ—_Ò©sœœ]xæ™>œJLÔ§ïßÿ+={=…“³ :w᫯¾®²åW;Ôt¨ûBQQ‘Áþûï¿Orr2óæÍcêÔ© >AA«"Wáããcp|ðàA¨TYÄÆ ::šœœ Xãù¢þïÿ6,°Æ<|Ƶ«×8v4–£±G¸’~…°°ðzç=wœ~#K•Yçÿ?,ì6oÞÌ®]»عs[¶l!<È#îyÞ¦M›ê#ûV‡J¥25ïéiо®yk§ÚŒA)•J‚ƒƒYÁøñãõât ƒÏ™™·[j±±G8hîžØÙ+qs÷ û®ÈÓ·DãÖØ^EE…~ý—ë8pàwž~¦]»úñãO?ÕÛ5]G ºxΘ1c'==€€N:ň# nÔ5]%š{y±fÍjf¿=‡ëׯ¤›™š2qâ¦NƤI1«Åâ_O÷îÍîÝ{jÌ£T*¹|ùvxùK— CÑ×7o}I<}š7±aý—¬^½†””ƒô;¯Ÿ––f `ãÆçŸãÿÉéÄSd©2IM¹X§%k;wîÌÆ_sîlË>\Vm·ìAØA ªÞ"u‹‰'6ú5\\\ð÷ïη۷WJ»WXù»™;w+#"X¿a¹¹¹¨Ëʈ‹‹cìë¯ëó È‚¡dee‘••Åü BÑßI]òÖ‡ââb¦L™Â_¬aàÀ|òÉÇŒ7žÒÒR}ž… ‘•MVv6¡¡ yqøp}Zii)ææf˜™›séòef̬۸τ 9{ö,åååèt:4šŠ‡b¨‰Ô²eËð÷÷ÇËËë¾\ãÕ1cX¿~CƒÏÓ¢E víÜÁ¯¿þFW¿nxy5gÎÜy ºýÀ‡†¢tPÒÕ¯]ýºáääDè‚Už¯.ykâVÈù;7€ÙoÏa„ ô¸ù6´¿~óöœ9ú²Ýý»Ó³g/:uêLÓf͘?ž>-2b% .ÂÝ݃¡Céþd÷:ÕkÀ xõµ±¸{xòî»ï±fõšûjA=zbÜ‚þ½v5‹–¼o0*33ÃWéêÒRÞwï¼Vã ¹ ~ˆÙÜDèózŒ ôèÉÒ÷ßs S.—У—0š@pŸu }ž}ž~Ö®€N‡ºT- 'ºÿÈdrJKJ(?þ}èˆî@ ’ !P@ J ‚‡&PR©´^k AmÐh4H¥Òú TkòrsêôÛ&@ ¨-ùù4±¶1X9¶ÖÕÒ»5ÇÅ’›“#ZR Q[NÙY*Μ>E«ÖmkÔ—jçA5³kFë6íH¹˜L~^Z­VXV 4©TŠU“&´i×W7·×ó¯q¢¦½R‰£³3f¦fÈd2ÑÝ‚D"A£ÑPª.E«­G Jß«¨ X,¾%FkK˜@ !P@”@ +•ÞâýyFDD‡ví}j(ÿO + ‚‡B~^nÍuw@ xXˆ1(@ J „@ ‚¿ "ªK=Ñj*Ðh´âÔF‚D"A&“"•UKkµp9§‚ëj-ÂmÆâ7°2“âÑLNUk× ªååå¤_¹Â™ÄDrrs„Av7@*ÅÆÚ†¶íÚáî鉩©i•ù’®•“šžABR*ê2ñxcÀÌTÎm½(.s¤½‹‰¨†·œ4¨T™ÄŧOŸ>x6o‰L&†yˆh4R.œ'** ™\†‡‡'Ò»|’–]Á_™ÙO¼Àkƒ»ãëí‚T*Æ{ˆèt:Ž$¦òÍÏñ˜šÈibf»\TC†„øô}î9š7o) bÈd2¼[·E&7!æàAQXZäÉ/ÕrüÔÆñ§C+a4#é–ûû6ÇT&ã›_Nà¤l†ûÝ­ca¦º«~nn^ÂF†›»yù¹”W±~™N%eå´ké, edtlíFIYy•ã‚B êÓÍÓjE·Î111¹ùâ¢úå©E·ÎøË«—!ÑÅk`kê\…Ìä/Q¥lD}ý"fV-P6ƒ÷X@Òˆe„ßF(^ÂFÜRÓ”’t`R™ žßGaÓ†’ü³¤ #1úgŠìƒÉÌPQx½€&VMppTb‘ý NN×ñìr»Ì•Sád¥~CÛ>;‘ÊÌ…qB  #ýThÕ´øŒäC)ÈŒ&ïô“d¯;K“þA«·[ãß½' s%%Ådª29¿MFƱ¤›‡m‡X¬zâÝc-ÉÑÿ$ýTîÞÆ4 ÕůhÛg'É1“°vèMÊFWŠ¢ðÉ'8»¹¡qsG«Õ¢ÑÜ633ÃÃÝ“æã&Þ»ñK—¢éŒÛŒ–$ÇL«ۧ$&ª–\½ú¾ÚÀõ¢Bú<ó,}ûô­1ü‰86oÙD«&¤Më6ˆ D ’7`ã~oê¢4,›úPœ{ŠøI”%'Óoã& ()šÔKã):íåË”¯ß€ðü† ”ž=KüŠ$ŠsOaÙÔuQZƒëu+™N§#** ///ƒcskL¿ý°ïì•vøøøðËþŸøvû¶jóÆŽáËõëèܹ3žžž|õÕúûö?ÞËÖõõErr2={öD¡PàççGrròC÷›(#ÆÌÒ¢ÜDrZQòÇaú~ú)ÒƒÑlû22îÛ‡L&C.—#—Ë‘ÉäÈ~üIBÚ?"KL¤ïÇSMNB+Šr1³t¯_S[^uc{Μ9DFFRñ7 MVPP€V«%??___Ž?ÆößVÊwøÈa¶lÝD÷îÝ),,@&“aRÍlöÞE’×¾“4uêTúõëGvv6ÁÁÁÌš5K´ Õ£l1†‹13ÉZw¿E‹‘9‚nï÷“ƒ¬U+²â—÷—òßuÿá¿ëþÃþ¥ï“}y»vH’’ЉEž”D×ù Èþ_2cf¢l1¦Ö7ðiÕ Pbb"ýû÷ÿ[ÚxЋ$$$`fjvC¤||8vü¨H>Ö­›xòÉ'),(ÀÒÒŠØ£± ¬ö¼ùùùÌœ9oooÌÍÍQ*•ñÛo¿5úÿP—/Žèèh¦OŸŽB¡Àßߟ?þøCŒA=êݼû‰s‡y$Ÿû'Š^Mqrq¡â£¯!3YëÖ\ø+¤ i=îu @ÒÞï8üßu´kߎ–mÚPqêZ‰çWFcþ|_2²Ëiûü¼Jõ®éÿ¨.íÖñÒÒRärù#õê¾¶uussczÈ[D®ZI—.]ÉËÏ£}»ö=‹N§ÃÕÅ•Í[7ÑͯùyyX5±æðáÃŒ9_ߎÕ^gÔ¨Q´hÑ‚_~ùwwwrrrøý÷ßYºt)}úôi”ÿ¡>þ(--ÅÚÚšO>ù„ï¾û޵k×>t¿Š”1ÊÌ)±EëÅï  ð‡Ë‘Œy…,µš¤”Tú/[¶Œ¸¸8bccIOOÇÜÜœùóç?Ò>¸%R '055'7/—Ö­[Ó¹Sgòóó07Wpìø1F|ùžâУG¦L™ÂáÇ)))©2Ï{ï½Ç™3g8zô(çÏŸçÊ•+éQQQDEE¡R© dòäÉ÷¼nm}#‘Hˆ‹‹«WùúÔKÔ#Laa!ææ t:R©©TÊ%¥^]m™Ö’âdL&C*•¢Óé07·¨¶%s«t÷VÖ­[GDDnnn4iÒ„°°0víÚõÈûá–HH8¹¹9×®]¶¯bÙIDAT%ý¯tÌÍÄÇÇ1zÔ+øûÔê\Û¶mÃÃÃI“&áàà@Ë–-™9s&¹¹·ã|ýõ×z;ÚÚÚ²|ùrƒs¬Zµ WWW,--™9s&'Nœh4ß,_¾œ °xñb4MÊ×§^b ê>PQQþ@ß\I$R$’u£ÕRèjlÙÜ*#‘Ü“(+SWÊ_Tt½ÊóXZZä¯Íçôôt:tèP鹪ë>j~û믿K¥h5š›öÔQ^Q™™9—Ó.Ó¥K—ZÇÂBÁ’%‹Y²d1:ŽóçÏɈ#Ø»÷;}ËÙÕÕ¥Z»YYYêÓär÷ôOm|SV¦fĈ`FŒ&""‚ &°fÍêZ—¿W½D ê ´>˜¹PVVV”–#•JÜügvçø¡Ú2g6o¦eé “Hnü@¶¤¤++«*çŸÔ47¥.Ÿu:NNNœ;w–ë× õ[aa̓ªŸßŽaÛ·[ñönEn^.ÖÖ6X[ÛPXX€§§'1‡±k÷ÎzÕ·U«V|ôчDGGØ1%%åž~©‹îå›»ÏûÚk¯±mÛ¶z—¿×ý%æAÝ_‰z œ££#™™*$ üuÍ¡|š· iÖ, 32+å/ÌÈäÂ{ïáÓµšsçÑef23U8::Þw?~!!!\¼x‘òòryíµ±F#Põñ[Ìá¶nÛJs//òòóP˜[””ÄŸIIÈår ñpw'úP4»vïºçùú÷ÀöíÛÉÈÈ ¢¢‚´´4/^L·nÝôy^~ùef͚ŕ+WÈËËcîܹ ¨{ùæÎ¼Z­–˜˜œœœêU^ÔcЂÒT” ÈþšKï-A± Íð©X¾Wy…ý=8½{eee”••qzÏnö÷ ÍìY¸ØÙS±íСH?ý”Kóæ`y} šŠ’û*P3fÌÀß?€áààȸqã4hÐ#Û‚:|äFËÉÃÓü‚|ÌÌ̹pñÁ/$dZ)))˜ÈåâææFô¡?ؽ§f‘š;w.ß~»®]ý°³³ç¹çž£¨¨˜õë¿Ôç™7o.­[·!  >>¾¸¹¹5X îå›[y›4±ÆÆÆ–9sæYçò)P’©“u‘Ÿ­&';K¨N-(S«ùfë&N™JYYÙ}½VÆ™(ÉŠåÌk§èáç‡mi)Z• i»v˜NœÀµ¢bNŸý“›«Gz—TàÓë)l¬)ýìs´¿þФY3òLLˆ9y’öë}QØ?‰cûп­¾üïþ]ô!$VVè8õ;¶“ÚÑ"àSÎü:‡v °½ë!®Ž¼¿Q´éºøíÀï¿âììLaA!– ÒÒ.Ñ¿ß xzz‘‘‘N§ÃÒÂ’à—F²eë&œ¹^t'''öÿºŸgžîS¯:Öä—¼Ç,ò·¨vñî'å%éX6õ¡ÙçIëÓ‹C‡¢éÑ£'ÒŒ ´©©hìíЪK¹½­L†.æ0R{{4ööÄ9Œ®ïS4{"˦>”—¤ëë[ˈ4§Þêâ7[[[233015ãÊ•túöywT*èt7^@X( 4”Ý{vâàà@II vÍìëm·šüò¸-¶'ªƒä÷;¸š‰Â•¢ÜD,šúâ1Þ™ó¥8°?]ýühúÒ‹àäˆV{;Æ›D(•Ȇ‘}ˆ¸¨(JzÐj¼3 ©/E¹‰˜(\y¼ƒÂÕÞoÿx¾åååddd0tð\\ÜP—–¢V«)S«Ñh´˜šš Óêp°·gTð(âNăNËÁCÁ÷„@=äûüþÞ€6®Á¤‰wÏÿ|h"^ÁÑäux’èµ±X(L𸌃ƒ#–ètP\RDff&—ãQw›‰>8vø…¤'Þ7¬³q ~¼—¼­ƒßl¬­yiøK”––¢V—QV¦ÆD.ÇÜÜ\?Q"‘ “Ë1‘ËiÚ´)-[¶ÄÒÒSSS±´°¨‡yŸßÿ1(ûÖ3I;:†‹±oáqÇ’¿—ž #9YG\ÜQJJJQßô535E¡0Çî9è0¹^~ ôe.ƾE…VŠsë™õƒSW¿Éår¬¬¬°´Ô¡ÑhÐh47 Ô ‘Hô³û¥R)r¹üÆtĺçB Œ`0ã¾ß„SÜŸÜB^Úf.Oyq r…VŽøµNEÅÍæf=¤ÉÍõ¡úS’±äØyT”¤bbÑk—á8º$y ªþ~“Éd÷Œæ#„I”±Üçìf´q…Û¨:•Qx¡™×˜Ju®îç1Âo!P¤R)ZVÜèF†¦ñ µ¢å+¨£ßtB ­×%‘`kkKÚåK(• FDNvM›6C*‘Vá7P˜šp")¶žvÂXFĹËÙ(LMô¿5Õd2¾;sèÝ»ûc¯tÑj2Z­Ž,U&GcЩK—*×·1—ÒÕ·%;£’Ô«5í<ìÉ„ßjËI£ãÏËÙì=xŽ€.m°1— jp÷N&ÃÉÙ___NÄÇQŸF«†yÈ_¶6¶tðñÁÞÎs…¢Rw;9…j;ºú¶äÇ#ØýÇYa8#ÀÌTNWß–¸8Øán'Õ˜˜˜Ð¢E \]]©¨Ð Ó zè_)r9æ ‹jó´u2ÁÂÔ 1‡ÒHHÀÊLŠG³ª¥HT}¿µå&XÈM„!%“‚—½¸å)Ÿ cEÿu’~%MXC W0dêdÑFÉÿõÙ1IUpýIEND®B`‚KCemu-0.5.1/doc/sys-z1013.jpg0000644000175000017500000005141712417262523015622 0ustar glaubitzglaubitzÿØÿàJFIFHHÿÛC   %# , #&')*)-0-(0%()(ÿÛC   (((((((((((((((((((((((((((((((((((((((((((((((((((ÿÀú,"ÿÄÿÄM!1A"Qaq2‘¡±ÁÑ#BRð3Cbr‚’á$%4S²6s¢³ÂÒñ”DTc„“ÿÄÿÄ1!1AQ"2aRq¡#3B±Á‘ÑðÿÚ ?ú6¬ƒ·†J½önybõDƒ¼§ª³§©*c-a±Ål'QÕORezRt‘ÉäRÇáëŠÕh9lh–ž¢6¶£ªÂÃÇŸ–ø£†×‰f£yjM/j¢2{ÞGÇ¿Û-[åÙÍ"A3F™Eü{Í„frŠr(Åͨ³o¨ûGÊÑâ+IW]jtpzîqa>ÐòÖÝa¨·˜ž>XË8…娈VÕ³"€¼ì: hTùÊB¶\¶–YÒFGYÙ‘@Q Øóéá‰ã–sãï§„y6¡Ç9{oØÏòž?7 ÿ“?ÓóÆ_%dUü-=m5"SÏ  ^&f¸·õ_™f³N 1ƒe¨oÞn/Ô›à¯+Ý4†5Í›ë½;Ã?È~x÷õÚ‚ßÑN>󯙦`µ2£ÊÇPb%ýÐY…Áê#|î¹rÔ™„CU8—RÞû˦ä_álmåû£½~»eã~Ê ÿ„~xéxÛ/?ÕÔðÏ:ñFPÉK%4ÊÅÅãÀ½®HëÎØ8ƒ4[)ëÏ–N_(åýϪÿ\òûì“|‡çOÐ7$šÿÝž>R¥ã<Ê“1Xfh‰ù‡k±äÓ9'¤ê ”ºÉÿùˆ·Ó –iEÓk÷’´™º7PÜ›—ðÏ2¡¹=œöþæ3H³Šyz"=*å&Ïháf×Dà*^ë9=ëÚÄ[nw¾69¤øk÷à^¨§Ð>ágø¦?~·Ðß”ßåÆiO™C*=ŒèEG+ü1O=â*L¢™'›/šHÝÌwIîAî-×ð8%9ËŠýÌx ¹³X<]—ôíÉß­”2—4¿hÙPØPÕ)ÿľe|_—×€#ŠTv°Uyß{sµ±®yƒ8>,ÚZòûîÒãÉ8²ƒ½¥Üøw27Ï"ìÄ©¤(_þ*>„½‡×câªc`)˜›ô¨\7F™g鿱EÅ Nãü[2Ïc™{s¬¡vm¹·¦0ù¸ÆŠ+=4ÊÖÔl¦âöÛlY‹Šò§@̲¥À62 Øì-¶ø\¥’ôº±ð†9ÅN/cAáÌæ–’2*C_øIÁ¶â|»¬ãü§òÆ@ÜQ–²³ BÜÁ™|máÓ¯†!˜Õ–wTxW¸{‹þÖ2ίZ5¦š²PºœÆÀ*ߥÏ\.Iö÷L/£#˜úÎጓ$GÍ’ö·S}îp³®ílK>ªjM#î:ø÷EèÂYm¯'Ðù/ÛuvkMKU•IK òûnØ6‚M…ņØÓF{@Oüe?ÿè1ñ•,š*ab}ÙýF5–Í×GtÜã[%ʳÈúÇÒptóŠÃ²kó7UÎh™€J¨‰Ø 'jÌøc …(«§4sÉ(:Kk[ikòåüøãGºŸÞŘsk´ûNŸMPÒgóǶ¿I‚Æï|Hs?¼Fh_¦ÆšÑ¿Ç+]K^ÃkaЬµùx]®T½¶ß \/‘X)FÛ¦0¯¶ÆÕÆT«aµ:ó y¿‹lnlÇQ¹78Á~Ù“¡P5‘òˆIÔô&ØŸ¨øtÿ1£³›Í'N–Õoìm‡¬‚Yª#GŠeIô´ZºÒqÌm×{ã?ªÕíö{ذì–+mà¸uáÐIOþ#‡Èº\ 3LéU= 4 "/ì‘™ìE‰#©; Íó&™êïÚ“,1)›êR ÎÜÈÇ3çpåõ¶H’ªòWLF¼SöwíçY•ÐÈÚ›¼t¥Æã.>¨Ý•åÍ¢í]Ñ$f–¢wÑ}»ñé^›îOL岃LÈÁ‹W‡íµ\í†OÒË%JTRŠ˜ ¼m IP®Jïý‘þ˜5Íi ÊZy¨Š¢©™¹l¶õ:¾8-ÞÁy#µ yÔKEC‚ ´»èU¿Än~?  i–àœ2ñ«˜µ-M,vJ¦–Dý–@¹·z÷o_†Ð(‚G2¡`ËakÇQºصVÞ’6¸°ûðÓ“Ï,9lµHTímJH;ï…LÀ½Ðn÷ðùxþf¢ÿ»Õáî ±-~}Û爔T³nY©ÇÁ8¶²ävqi SÌ3Ùñl¥Íô©ÛÐàTqÙPêÝ®9rÅZ”>Ó›ƒôÃ3cŽ› ¥ê§¸®6i¼9%KÇyÕ‘M6½ÆÿLEžç5æ —CN³&¥{¶ÄÜr·Ç²*ˆ©òØ!#žIµÄ„$Û¯—/™Ç“º­L•Ô¿ïŒk“Uô~è:·+‘˧ŽŠTK“°gPëŽZxŸ5šßìñ­ÄWýç=?»Ïéåz`Ƚ¬žðýÐ>cË&M2Í#<Ç¿w“sæMúà…UM$€™¤ \†¾Â幟– i|˜ílލsš|έé*("2-£ŽK ǽ¶ö:`Ìœ9HeJH{FÇØˆÍÉP¾w¹¾SeSE˜ ˆ % €KH,<þ@áŽ<Ê¡(²íwvÍf¹¹=Üb“vLQ…-·VpÌ”²$ ‘…/{ž¿v3ÐæRÆ D!±6é÷ã\ͪ•²Š]«îÝ=Ñm¹Þ÷ÆOQ˜ÒÕU7ôÀÜ KI×UÈܯ¾5I)5Ü hO±’0 ™Y€†ßÄüñRY¤1ŽÌÌ$¹»\òÁ&zG@MCêïŸxïs鎣zP£¼.Klmðëø`å-¸¡¾ì·”UÌ“•ÔæÇ™<ðó”Ô>¤Ý· o…؆Xk$–†AÙ´®2¥í†rè”GÚU*U‚5îÀ›\mm± bì®r fZ("aÀ»Zê÷oÔyþXækEºÞU ªvÞø'˜JÇÙ@Žá$¹7ñ@Âe%rey½5]ABCiêv;bɵ-“AJw â÷_ÒRßH³2ØmûÇóÂæ¥àŒ4æ¹ÎO˜WÉ!Ëjr[¹0"þ6+ЍrÖnå<À?,G();Lúø}n0ÇJ< iqÝ7kÜ[*3çŽh@f=L]¨¤ŽZ`ÔÔ“¨$ÚFä@çÈt¸ÄY/OW\”ö`’vµ½qžƒn7¯úœz–šÚ2N!¨™£í" åÀøcGL鉾£„üË Õtª….çp-{[jÓËÙ¹ßH?ÏË(Ëmã”f錱ææâìpB<Úëï6CÐŒ[ŽwÒ-އS åKO¹# õßñR_ËîÃÊJî-…"Ì ËšYêX¬J@-n^¸÷WÌ/=gLß'DvT’WÖÛP NøÆ>ØÓWHÝí ì°öǯîßí]u6e›ä3RJ’Æ^]Ôò!×Ûv¼|Ê#i-wV6“§€#çø•àÚ_ ‰:•¯:‘ÐØìðöGä/†Ð‹Ä;òÂÆ"ÍTvM7î¼e:øq¢p´´96@çQ<…ÁÄØâܶ)žH¥»(ç9-T³,±´f9£ k€F”ëLýX¯ítÛ›3€ÓªÿKzáÃ:öŠT§0½#ƒÙÚä¦ä[Øóß㯭†"†sÁƒ†YXn»Ã”št%F2V€´yml±¬tñS‚B°Õ*í¨_{Ž›_×óê)jrI5˜©oé¸i° ±>–ÃUFdZX–e D¬€ƒµ¬È|Îj+\e•„‘ˆÓîòqkøó?XkŠÑðÄŠ¥Ö‹eV¾úzÿ®Ø†ÖesþŠ£!h€K0½Èæq{‡åI3ø¨¥¶ŠÅ’œmbÖÓÿ˜ IQUgvç}VÅþ —1âܱ"$s3w²w݆åø18¾Ht¡¦‹.§ 2Õ²»{vhIß©[ãÙÕme?e(*ªÚ‚¦Ök ÅºŠ£™fÎÀ™µu÷@ÓËám±äÈÉ­]ÕÄM#o±ÞÃâh§"g^ë‡K$›2“þ›c‰ê,¤3SÜ6 õóÛÏÛ ŽíPäFVúHß»~žgËÃ5tΆ¥Š)ìË9x›s î=Fô×–¤ÁižO_ED¦(à8 É'qÖÞ¾'sÜÖjL¾‡F™ÌŒ;ÄÛº?~8h˸zz:ˆ%Õ$Q(d¾Þdâ®}‘eñåtÓ•ui$b÷YZ¨–5dù<,\¾Äí§NXl¶9—\pµ¤¾£¤0!@=/…J í³:‰£JtËR\$c©Ôl0ïâX š2ôîÅ#]* ßaÓbŠìU‘¾èã2sÛ²h‰¢ JÝoûºHú~8U“Ó4¯OÚ+6þò•Sôßéå‹•õTæñOf¯[›÷+¤_¯[ôÀêÜö&T‘ι/ ;Ü÷ß q¾E)WTÈ£Š¨!²`7mÓ®&ƒ(‰T›¶%Ë3*\2¹§A4s¿á‚Á^ Ë":1]î›…R±­ºUeâ` 6}ì|Pz}>8/Á´cô…h  {j&ÛøXâ²጑§f V7$ŽWòÁÞË¥Ë(j몥Mr a 0¡'¥ñ\k±$›î☄Y¾L¡mv“™ò¡Äðˆ³!¸7‰NÝ78¹S×VËG]–G Žœ»Ï©Míá逕õr×TvÕ:;M!N€@ûñW4¢Óîz=¤¤»(±ÛÖëŠê£Ç,9ãÍG¨Ï§ê$:­ŒóíCe5:Z-Z•”Hl ¬mòn¸z¬6cnvÂGRµZ,]¼PÆUÝ´÷€º‹üùo©‰òù ù4V¨á¶ «Ú,ÒYy ”c1û]ˆKdz£ª¸ìÓfGº?ƒ|kñ¨\ß U ÚÉ`yžåÎ2µ}¡T¬óAéK´ý¨_t˰ŒÛ§ù”Áû¬M¬y¤VTŒŽ•qÿW<}CöG ¡–P ê]@²ØqóAT­ˆE$.:ué;žZÅñõGØj„ÈØŽ}ž ¬sü7ê2¼˜“ü_é™ßÚàT«ªÑu7µ­Œ1³é'"76$Íñµý«¾ºª–ÔAëŒ3?í'HØs# ëmIþ†ýZ¡ùùF{US54“锤šPIÈÚÖvªY\»Em 3iتÛê~¸ ÂÅ,§•Ñ{°Ô¹$ È_ÈŬÂNÖ\ÙcÐÝ•.X÷†€yxï„ÃÏfR{®·}…¤3ËXT$¡i#î_Mä}¬E—Ðmñ¾5é(iŸºÔð2•ÜÆøÀ~ÉøÃ*áˆïTH‚z(U=·&rE”wyò;ãEµþXÙ…\Å€;.X{¶E.O’¸Ò8Ó3c ±­Cª kXt°; ¦IæáÓOr»HÈÛ0T jñæwŸ-qE@®âzÉÔ6‰fiÜcË#Q ä™´X (äM‰µÉ·ß‰”«+.Óx’&Aš8R”R@‘¸ä9õóßÙöI]—TTÖÍNRUh¢ Ú2Áän–ÿéa!¦Ð !­Úß-±g7©Š…e«[‡0È”(ÔÁ -Gç‡Ï㸘¯vÂFL‚–¾q,a㕬OSÌ}qÜY‰– Æá!Ò™ÀðapvøòÅãFÐÓR‡Ög%zxo÷bµ)–&”1±!ˆóߦ"¦ÛüË»/ȹ"†ÔÄ ì1{‰&ZÊ9ãwŽªž(΃b,¾8k8"(¥s˺·ÁÌÚšIž¼Á’®*d앆­=pÌjTÅäÒš±W.š£)Ë[/£ˆ{"¡ÈK1Ûü-Óî/¸Ã^MCXù ³gTæ:Õ dCm[xaU‡–"êÔ•j=‰Å©i=@1~ŒR[\X`¤öClMY\Ï¡³pcÔOAÓ|u£ôj´Ñ¤Ñ $Lúu-­ñܱ¢q cK¶Â>m–É_Rœ‰AŽÆÇQž|­õÇÓÅì™òQùéiÍ6oÃð–» j‡c{îJÇçÚŒÂ>?®f”E`£Q‘“÷GUãv–†Ažå³ÄƒÙ©à’#cÊúm·ÀãûLr¿hÌ%x­§uŸ²>èëc‰òñú”C‘eœKY vÞa‰¿{û[ãêÿ±%#‡Xßú¼|¥«]}>§y.í/iûÞ6úÃì]JðÌ—ÿ—†âþ”ÿOòy]{þ~/Íÿ†djLV¶¬úóÆV/Zà’ëÇíMï=Uº±\bUj}¶É±+ã„uïÞÆý V(X_#&X;0²·!}>¼ÿ3†ÊL¼IGÚ+Ò@‘iР}ü‡Ìáo†—\2ê’8Ö(û¡¹±$l<ùáÿ#¦’jXÄ([C;·nq,£ÜšDÕÜ0jäŒIRꨢ4¢Ê5‘áÈ¢x9„E…Sþ`9Þà µ/2vF̱4¦6 ìHkÛ鉀e‰¢u³ëV*-{ÝŠí“R3ôàig”Êï5Ÿ»`À`åCbDÂf•c¢(kf<Ϙøa‚êxÒnÉõ‚Ä$Œw¬o¿†Ø¨'Xã”vq9þ—@wm;zyyaME;¥*¢å;Âè¡d”€àžè¹Hß/Ãsé…M^W”´Œ±GÕLBŽw%v¿ƒ_áç‚T2#Χö}±˜….×$ø ÜøàeY—>­®£,ÊUuŽJ ”zX lÒ1*¶uÄ“¢G=»Gìy{\ò¾X G2÷1²æ,ÃÏn},– ö:Æq+æhí¦û±Ô·Â½VTñæ4•¹m,â÷°¿+õÀãZw‘Ò¹p9šÊzŠz|ÉQ˜©µ ÖãHc¿"·„Lª’‚µ£1XZÖGý9᳇é*i+¦‚©µRË™Çc €C0Ä[ÓøŸ„êfÌžê* ©µ¶nŒoð¿Ç‘.ÆÁ²öQ_ M59b\‹°ÏžÐûvR¬±4’#4ûÖ:FÞ8UÈhdË($´ƒPB9{Y»Äœ,ñ¹ÇQ›Zì×ùF7uÇÜl¾“R^Ló5Ê+!¥Š¦e:®Èv±Hënd|°®2ÓëÚI’T‡Æûúá»6Í¢Ó²»!¿»Ì+¿¦Ã ÕÈïR÷G±?ÃŒ†8¯ˆY2ÊOÜNi#1lñ\(ßOîüIúcˆè’K LH.áÛNÀjï¿M­ˆ.ЍU$#`/7—ÔbHw…‚B@’tž@à啱÷"Ërè+*M%H˜ Kõ#Qü>ü7eUTî°iVP‘ÁA:v}oòÆU‚SY)„zÒày¶2¬¾¦šŽ:xΉ¼ò#øb¤:ZýèÔPXòÿ\)ð™c^Ê¥ŠÁ á»í‚ùž x‹ôÇyô5üaWDÍìô”Ê{Z‡ä€žž$ôž!ƒ-lÊhã†)#Éh[[/7’Ãr|Y¹yz xýSþkôø>ŸéÊï[å½Qf¾Å–]!jª»4jwÑ“Ï×{õçãŠeÙ©”ŠåHÔÛr$Û〓T¬µìõË/i)Ôª›wwÒÀzbù¨ Ž6afS"°Ü[˜üFt­”Òl04Š)ÕãK\ƒ¹»Íö¿O ªÍ(2‰—µèa¨4fÎT’<ìoƒ:{J:›)›‚GMg ÙÖC3fÕÃ4N§QÇq½ô‹¦¹b¤šà¹–çt,ï¤ ØÆöQ±ßËka‚:ȪrHj]íQMxز›€Vþÿ&¨òšÚQ)ŽX{0Ä’` Üoã°ùà¾_MYWš*dyiÔ*¦Á† }v¾ 飤÷*.{GZÒà (MщSaÎçÒçsZ÷­áœÆ‚%ܘ¤)÷´êæ<ËòÀ‰² ²¶rà2³—MõX[üùãȦš—0™ÀÈ-Ð #îÂc7º}Çå–™Åßþ„Êyꤊe/$Û ØÃý®ž&‘ìʨI”°àoÎâ߃ïGO =MDp¬U†!ÈÔ£råÔìp·%0ž¥ž9#‘ ¬@½Îܺ`ñÇJÝ‹Í-r¸£¶ž'ÔöÁP/ßç뎪š%K²`6#Q¿¯\wØN©¨Â €. ù|ø­%ò@@”j"Àïoä०¶´1ðÝ} Š&½í3©š+a¥l|£ÆuÃ9UDRÈ̆à-õ‹XÜaæ–Ga…ØËw²2¿u@ ·¶›[É{ ÜeR±q ’´k%Ñl ±·.§süôÂÜ•¨ÔíT•P=G_çÇ8õ‹çópçJ÷ƒ—éâyáa“kÛl=²dáWHëšFŠƒÝÔA7ðÛbÿ² g ±a«¿vðåÓa….cíá¯ýk >ûžóº(Ìurý¿~Ç 76ÄOâÏBµý±ÎD;JÚâ4j[V«Ž^|ñ¥p³[>³u¹k¾ç­·õëŒã…Ƭε–äÚÛïém¾xÒ¸(’ù¦¦/ÞOß :ø}ýpü$ýG,š™ qL—^‘M‡÷Û =Ó¾À§j©AžÒÔåzÅÔ™tó¾­m3f¤áž*lyô¾³þ›*¤ya™k(]‡gYÝ?Åü'——žKW5:©í™Â¬ó,|p©E­Ðiù4ˆÒžDb PB†ìÊŸ{_»ç±é‚òŠx]³ŒÔ ±‚#ßÜ“¤ž@n<ð‹E™#îÈKµ­c¿<4etÑÖ%R…† $a²Ì~&ÖÛž9I¾ ¯!•¨|ñ¡¥Ši"(ì«ØÝ®~¤âž‡*åR ÊÊîÛvÇFíéb@x†£>§¦¤z:v02˜ÚGî»°± @è7²ŸŽøjÊø>ÍòsVÙ•>^_SENÔâ[í§¼IÛჄl I-™“ÏEXóÉÚ®«¿AkÞØ%’åòÇ[$U<Àpm°Ø«ÎêòüÞº“1PµpI$2ùj¹áƒù7´Õ*ѪI"ê@nmpˆòÂdîTÊ"´ÆÐÝN €\Æ%Ò9ÚÖk®,F†xD`]f¥Í›hkË-愹‘‡%ÆØ»%d&€qý_úq ÑW9íc¦(iu¸šßÃakߥúÿ¦ Ñ$ÐЯi¤Ë<â`Rü»„êCl"Í'a¡ao}E˜÷¬ÀçŽòœæ,Ê‚:ˆäSì÷ˆö'A ¥m{xèa†$¶ßî$˜3e×µ)¿¨~åžbXTÈU5!ës/†>&ìc†šò·m0 -ÏR–çþ!€b:‘zº}ì¥ xo{àgIî9èšØSfŸÚ&Jc¨4o¨?"¶ÞãÇ Y4ð½#O¦~ÃQ{ìl|<|ð¿Y›v:ÅB,— 5™uXoâŽÊOt©ñ¾ÖÅ´Ü‚‹‡k–»/¤SÔ^$:£¸ç¤Ç§/ rÅÌoÅ“f¨Í Rv‚g:t(änvÇ?iyþSÄ:ir¹¦¯•;THD6Ô@ï1µµ­Ëã{:ó±VEîWàÏ2šˆß3})ug²ïî‹ã^HLr£Ââ(#‘^@7hK•¹¿…±’äê30Wxû[n—Æ¿M¡‹8xÖ*ŽÒ5T¤¶ü®0 q%0‘æXeT‘Ãl£mí¿‰ÀKrlds¨¤ˆ¡yÚ8D–+é^í¶õøa†¦’:Ü‹.IIôíÏ™[“;¦Œx%)e[ŠÛü°ÕÙ¬y„YtáÒ6.¬A>ýǧ!¸óÇF.se%5hGSÓÒ,Œó@6SÖíùa¢*X¨ËÁO«³ìY‰b 'Hðõ8›V®_Á;«.¶^­skùsÀUâÅŠ&aM(R…AÛ‘±¿?˜b‡z)§°úÓèªHônÌܯ¤Ûê¸#ý1Cˆ(Í]-M3—…Ëjo¥B|oüß ‡£iCSM¥öÓµÆãŸËðÇ쿎Õó-œ²ÄOW$‰;®KKZÂ篎5^Ó.¤Ëã­¦ ŽJVnÐ3IÜ›R7Äž8­5nKœK,S"Ö8#¿h]Ï“鿘Æêu±Ž*èÎ’§If†B Z»Ó©òŠŒÂÌG.me>{ø†yjéèkê•(êãÌ\i“ÝZú@òÀŒ¾¶“-©Ž¢EfAkƽۛ‹à›[ðŠOîȸ~z8j}ª#‚+²{l,\Îr?Ò4”‘ :ªé[s$¦dÓÃY–¤}¥8 Ú5¹+\}F ͳ j ¾ ™“µE \c±ù㣠^Óg+~áNŸ†åyHKwU€"%;X€ñ,?xò³(5r˜bR%I’%Xw¹xü°F—ˆéX7aO3ª‚§öw÷·_3þ¸«QžQȳ# QˆÐ{¶+Þ¹ü°^êhºlЇ„õ×Ó¸¨Ø w$ZÇm‡ˆ±âîmJÑE0 Y¬Ãnc§ßŠ™VmOkösNÒº–RÀX\>C TPÉ"vw'{œK‘§³ä² Eû] w QVÍUS44òÌÚÁR#'¯Žsh^rÄ•iìAÚÆçÕ§…C"&#^¥Ÿ!ª‰L ±½»£ ÛKH'nIÈ£Ùä?Ù?v›_lšÞÊäoÝ?v›xâ ò]‡†v—¸¾hû:áyq¾Q°ìøn¹Ùx7‹ÚÁyŒL’;튤Xµí¶øú#æ™”ÕÉ"çÕŽ°C/gÚJF ·<­¿.X@â,ʶ¦¤Ï*I$ÌnͨGAÈÛk*fY©½ÙL>$Œë4ªh;1%ˆk‹+o\D¶ýÊY,õREPóƉH„(>í•°F¯1Š<¦ªi£–¡‘r²Ù‘{ü7Å8$Žª–¢RÀH«r6m›ÇTå1Ã’ÔVÉT!M,w{ø|±ÓrKج<*ýGE lÖ‘h`޾U5èÆÇ¼okz®¢¬€Ög0Æ”‡³¸7Mþ¸ÌêiòÙ*ã“Û»Gúm§I¹Û 9}J{]}TU ¯$(C굞ëËã–22üKsg~DZËgrüͧQ#Ó3*éäPhP=E±æCZ“f@úI-טÛWRÓæ°W¤Ò‘K#¤\÷ÖÛÎ-eÔ×{QB*W‘–µîwë¶:OTÖƒ"´Åë(eYcÄ©k&‰AT‹Äâõ^KS[G¨®vRÄé¨ÝEÏ/]±J›;¥ŽFJtœÆk…¾›zó½±jŸŠ‘#*#`TwU;0³Zç冯S¸·éö §àS<ñ¼Ó¸Š1y, 0$ lO˜úᎂ™)©¢S"®ˆ׿xÜ‹žÇÆPÀJÔ$³v‹mLÛƒËî·Ë gÙêcYb“L}“.̧v¯Ëkï¿,I¿¸Äöû üYÃé6yXÆfGg$¦@ØZÆþ8€7j4÷Kòçõ?,2qviICœ~ dýo˜eQECl­qkóß —+Pè´ãíG9Õ*æ3Lå²F×¹ßlnya•„ª±‚Môom­õ?,0f™ŒTù7k:„D`Šyµ¶¿®ûàJñ=QÈ«AÔ(|6¿ÇåaN]€j=Ê‘ð¼õÑ&ìÂw·çõØbµ?UE_¦Uít÷Üiæ×¿‡ž 'P¬1«ÝbVq ßsN_\yMÅ2ÕBäÈÜé½íŒžñ÷ RöŒ²D)xGÙ%:ƒ«ªØ_¿¨Ø–iòÙÖ›¾Ñ–@wÒw=>L9Êâ£'‰•”F‡Y¿A©¾xX~! HgŠ9‹†=ïn]:ãwOc=™åMµ”)M˜•& €’.}z‹‹[îÂÄ|/_XQZÊå¬<ü~–ÃGë&\ÆEgÔJ„BQ¶°¨Ä´|O–Á$¤bQ®@]î×ÂÃç’}ø6/Á{%¥š—*†"ÖV],喝ZšÜ(éOa¹\ªwÒìŽX°ØI¾ß .YQÑÈû€®A>– SqPÓ#ÔÞ$ÝN¶7ó÷޹G%E%DS§i4¬l. )Q}¿ûÂÞ_]2ºµVЪç}˜ÇiMòvº\ Tu ˜©ŠRÊÀ0¿;›o-ðûIÚŽ2áþÕJ¤T0•7¸#Mþ󌧅•髪$‘tÄ$±bv¸$þv¤¨§I)Ì$†`½¤Šäs'kôØã1åPùyÕt²Ì½¾î„jˆƒñ¦ ÎÃO‘8NÍ©”WÊêñÆœ¤T±ûth¨«¥ Ê{Úˆ;-¾o¾2ú±Q-Kº#:–6 `[¶ß‘‰(ÅGÀg/‰#ËÀ]ß´ãC°ôÆu“ö‰O¦thØÈ-}±¢®¡Ìâ.¿ûOKéßÜvø±–^vÅaªãq‰ÑI]íˆé?¹õ ­Ê¿´Û–9R@7æzb@@åÓN|£Ò¹XP Ï€ÂÏÚÈ#¡7±Ži4*Ä…$nN>ÖWýÛ—×kåçˆgðeq^ô&Ôæ2RR"Ȩ Ü‹D¦à¨Ry<ð±›ÀkZÍ F—'ã†nÊšjxÀ33{Ú0z =|o€¹µm>^‚:µ*Î …¿Ÿ…ÇVÚF=;ê›$–$wí")Ú„,Tï~Dr¸ØÛÎC5j¯fAÓ±ìãêNÿMðNŽ¿'Š»·Š‘K‡Ô5êq¸ð<ì~w8ò î’•RGVC¨+)+¸ ü¶8®çBZÆžÅZ~›.g¨j€uH¢¯-õÃûR.a–IMK3x¤ÒÄi>쇖2.%‚­â‚œIÚÃ*’Áv ` òçƒÙ}|fX•U2è]2XrË o3Ľ֎Ëñ¦!På5Ï:¢ÒLb¹ÖÚ¯ÌGÄâLÇ&ª¬¢ìébxÉ,ë{› þVÇRg+T–&ö øõ¶Øž~%yëžW0i Ä,y <üùÛ r• Qr–[Á5µyœeÞ3`Òö<ù\òçÏ–£ŒAFñ‘ºß{ƒûŒ9õÂ?ÇIXúé,꤄k…ÚØ3qM< )Í.]šçdµ¶6¶øU«~GÓÒ¼8Ÿ…ë×MÄý¬®áucküqJ£!®RÒACßY¾ž‡—ŽØqâ ÷+ƒ4¨¢q#eb³‚Tƒ×cËç•íŠ@¨ˆ‘gï`†ù~8c”•Ð¥±lðžbõ=…áY'c ©cïéÒã¸{(|ªª ‹8ŽP´jmªÎm¸ð#“‰rØóZZ–;8êRCÞØé<‡…±k†j㬮Cº£Õ+ÓxŸ|-»–üŒJ¡·ÓKRÁТ2 îN‘Ëi)¤§-xÕ™A—±Ûó野8©²ëA¿j%¶ÉÉTl]þ˜UlËxÚI`i‹½Ÿk.ä_þ±º¥QŒ·+³L«*D±*Ê@v÷q¹ä:zâƒRÊÐ0Q©ŠÜg~–òÁšlÎE•õ;rUMƒµÎÛ‹ñôÄðgëæw†™£m27W…¶ó;ßáŽÖÚÜí =€vQT"ŠfŒª”$°=ë_ç‹§'¬’M*‹ª×°aâ>û‹aª,Ê–¯)£Žœî´l¬¶ý¹?v%CSMQ±D’ƨ¦Ì/Ñ7ùÛ¥¡RQÖí‹4™5e=JK"•åYoo.˜2ñÔHÌ„iFVÔZKô?Ûµ¯·ól©{NÅÒm·4?Ï®?37èÞÌÜFÚ¿ÄpØækd*X—"¦s‘Væy´“RTêC4“8oü^pÉ8~jzDUÐ].Üzøbz ifʳ©1ÙY¿]X±ì M’ÅVô3ÆÌc2¤ê‹®ÀÚÚIØ…V©90“¤¢‹?«²ý³.ÿòÕpÓO)‘äËù*̶-R¨QO—J ûݬá¶ò°>{âLOüOÿ¿üqÚ¡ä5Ž~U|# ì.ÔVÒ£»PØzâÄ|9$j9i‡üõÀ'÷Á4uÿìþ8å‰#jyÁÿÇüp¶ñŽþkI;¤1¶M+®Ô¬?ñ”þ8ýšet°eT‘I?mÚ9:;má…‡IK´S*Ž]ýwò°\D’׳7ìúkr¿x¾9éJâ Tœ©†8Ã)¡zúاuP¼†-†Ø·[S[Q,²ÕÄ\;ú!·!áŠj<Ž<þ¦NRÜôúX(D•HñÅÈýÁŠÞ» l*“Øúa›K¬qÕ;ë¥ñÄË`æÛ† §b.3L}1ò½ˆbÙ£è}/…_µ…+ÊÀë?þÜ6B‡ÙЛ› áKílE”¦cËÓËàÊ£òFi›Õ;UK4A⌌*D€5ÁØòå}ŽØ\Î(ç®xmr‰¶¡{Ü °o8(°U•<«È]úw…¾ì.ûa‚Y¤ ʺÀn¶è0¿tgQÚ”}ÇTÜ5˜Èæ:q²3é°[“k_êF(ÕäU%PHÑ  §º¼Ž×ù`¼yé€K¦Xi$%•ú "Þco˜š|üÔÓvS-=ÂÆæ@ cÞ oo‰ë·=±]ΉªAÂÜ%YM9ª‘Ô&¥î¯2·S÷1gyEEW ¥¼Àke*T©‹ Z÷ŒʸÞ)éÚ>Ì…°pz€á‡:<Þš*cSQ1TBîÛó ?'Û‘™S­Ì¦‚‘èfs"ÈX«Ð.M˜ëÓÓ¦%žž5†h¡ K @HõíëÏ G9ËU-¯T±©êÖÒC^ãÔz3œ´Ô¤µ % #9¶¢@#|1d•P­±ô=eER2BåH–Àøz톜‹(©†-EM‚>„.å¹îVeX»eRò+‹øi#<EF‰J„e1)‹‘îrÄÎ)ËQDeQÒ¸³î®n#¯•Q\—:U¿µ°õ8àå€öíLÚt›¶¾—éñæyšÑÓæõ¥j¢g2F­‰¸õòÅ6Ï©LrÂÕ ØØé]W» >§|?Ô’¡1".Íg«ìc„¤8÷Ùþ[5,éÛ $ÿÓlYÊóܾäO$ê±öªu_mÍðG…*¢ž¥7VLn?ðŽ÷’ljÚ-!7í¦©B‘%µ-$¹Âe8‰VÆæ÷뉢Ãõ¹ê§±Ój rI8áÇ|H×#»Ë=Áéh4É*ó ZE_lž8ƒ)vµÎ'Ö41°*wޏÛ!­Íë)§¤t!AFk[roõúa²€ \¶ŽšÃT0ª1þ&süôÇm÷17®«bþd?ÝÈÆÛÊ7ø ýì^ͪ4djǤê>‡µ)ýá:»òz;R¯‡®ø•X`F Q±Üކ5lc>¬™;§lR Cbó>¥¿–!–>ã0ßc÷céÏ”!„·cAk½¹á+íqïN \™òòž!: ŒV^ãê+ý”TëÓÎ¥ 2ªØ‹yôÄŠ:•7¥Ù‹Ö¥4Õ5ƒöªŠÌê nI;uÛs…Þ#Êgª¨CB­.˜ÅÕwb@Ü[çƒ9ŠEJ•ÒÃ%Oh‚Ä&ë¿A€\ Ÿ42{utê#˜,v:ŸnCkuêqÉiR÷Gr’Á$0´r!²’Ü-ü눪"y´‘¥O¸K8çká³6Îé+êª&YV”i6B?–+6a—Ë $úÁQ ‡»¤\Ü‘Ôò¹Ãe’\P¸Â<Ø¡C•դݣFê º[†¿Ã,™=L™5M$.’HVüìûÖ7õÄ”Õ y”ÀdBÁ“@Ò,¶ßA†%–(EG´•ŽU3(RU¹>–±Å'c²¶Õ3.¥É+!Õ!‹U”CWµþ<±f£'¯zgµ;Í®ä‹r½ðÖ™¦X”aK£L±È­ûPTØ‚¿Ë»í¬vßøE¯ðÔä¶á<¤È3UGdV Àj&ûÚöÆ•3ÓB#vE+¤îw^^<±F“5¢ ONf´iV@·¿?ÇË_[LU.b`‹«P`HqûܰŽ[c¸I¶’f-žæ¦v½C{»ócŠÆ‚­˜¸‚Rc nVÒs<ÚŠ Þ¹•ÔÞ~Ðõ;’OË•¼ðWÀ‘L„#¸×sq¦Äþn¹&'BáÉs*Š¥…)¤cå‡þ¦––Xb:E)æ-c¶,ä9…45´ë,¨Š³«ÀsÒzü°G'˜ITewVÑ€T°C…7rMò9*‹HCã:ººå©§§=•‚à’†aÙ§îÿcÞ4™E£¨ŽE@H° õN¸†4cUPJß8çÇ“=ÌÊz·vÓO éîø ᬺ² •iáuVt6aÌ‘·¦éiOjIQm ?òœ^Ì ´±h¸!)ím¹GŒY=]ÎqôöF[TÒº¸Rì罱ܜj¿ös¦Žª³8öø!ŸDie¿Kã-˜2JÍ¥‹)ÙF×òƧÿeðe­ÎСĄ Û÷°k“2üµ>Q–öÒ/èÊkb [yïo/»+}©~ÃŽs˜©eu ª‰Ý n€XûH]Ú2»)kz[}§ê_´,õŠ×'¡Üà²;ˆ®ŸäÁ¯;Ž™‰mz‘I¿Mñ¦d/¯ì"±7ý ßqÆcك³‚¤6µÏsÏFO©>Äé–EÑþð$-¼RÿŽ2?è'ò¯¸µÛ[£_kñœq,YÌÜH¾Æ* d¯dPa{žC{ÞøÑ¬‹+Ø• t‘á}±+]Ëã=ôø%¹ÜxuÄL6ÞØ–&±½¯×ÌlÄò¾ûm€cQƒåŽ ÔvÍq×HýÛ`B)q{ÁÒ¸;‰WñÆKÛLìN³¿ž5®&FŸ‚j³vË`=2åʳ v¢žßÜ8Ÿ™~ø/¬¿exx.g“%A#\£2ƒõüp~÷êp‚©¦§ÊtÔÆÑÈ\¶–8aÓýœO•{ÝaoÓV}I ¶Œ¸?…Ý‹ AÛ&f öSÈì=1ôGÌòGJÌQ ô퀜rö£q­U$Ê·6¹-üN;N ¤ˆ…xj[±8UãÖ^$ªË £,q ÊèT) sùb8I"™E½ÌŸˆd™2¬Âë FÏa½¾þͰ±’d•sä)8*¨$`u¶ìª¸n²BU‘}û¸ñ²ZØ©”v†-EÂ@øárΔµXõ-"ÊêX]"“ÂÓ‹^×þ|ñÓäuõ2DÂ;ÁUTHïüÛ du}·z&Óçƒyv[-%T3:ƒq߯;¦kéb–ÌÏ(òó–·if©W³±ÞÇÃÀàóI[WOS0…GŠäjðµðë,<î¦z:ðPª² */È `%YŠž¶d¢ZåFÊé'OËÓ–2JV¤S[`¢eÔé<‚9s-CȺY†ãkï½ð½jܼmRŠÿuÄ5g9¯"šK4îA¦£ˆ<À¯ì'n-Ùó¶5²Äjzy*j*½ªI/6˜”­÷Å\Ç(E§Ì ÕVÆcWŽÀÜa‹=¾Âe [Yš-a¼†'E{‹|8=åE—X`L‹Ó†¶ŽË(aªi„„ÈÒj€š”.Àž{¾ãኔôM=M¤xÙ[B–„¶¥<Ïþ ÈÔ¤šcñåŒqéÒì’?£]ìt‚C|JÛîǰ˜–9§ RÉa{›Ž~V¾+ÉGPhéŒOwÒÒH ›l>>X™…ô6­/mK †àö¦¯Êô0Ñ›}ôŸ» üS˜æƒ0f¦GHÐDEšöAc÷œ6d”¢J4’¶¯±˜©{Ý¿?±=FK–Ë ™Zv”ÈÌ)˜-Ê×é¿#×ûiºýJpõÅ=n­wF{ì¡RPÎ%m˜·ãÊ÷ÄÐÓTÐVé£y#R6‡*mÆÇŸ¡èƒý(ƒÀ VñØË(Â2œÍO5övòç†ÆM>riSßý µ¢s{UYe.QÔH Koqám†ë2òñ™­Q¬Y‡>{Œ<·Ó¤$yÀfkÝd…¬=)‚!VÀñïeÐà}7Û õ/—û€áN—ûÐCLxf¦' W‰C7äyïÏ ª$_fa"Fµýi×ó,¸SeÁ)eI.À4Q«Y¹÷úôÇUµUpÊ¡<•"vi/dlm½¹_˦«‘:tÊÄÖp­ºœMö±_t¹ {BHˆøþX…)êc˜!±ÞÄ€MºybVÕžŒ7[$™Šêb"úÛs|{Sõ±@3ÞeÓéãüß®U\ßuü°¹4Xȶ•´zŽI²ãɇw{‰—*¬h·ñþX‘²z¹¤åIêX€>˜ÕÐv¨á"öœšH¬.e^éÇ~ÌmÊØ!‘erš±NeI!¾½Q›‚@<Ç ÿ¡ÞéÆC¦”œŸßÿ—Q’^?ôKŽšûâÔt}ÁÏ ±äËübtÊ/#ðÃJž¡ML}ÓÏiáïw·8#Sîâ½áU=©ä>XõI± òÇ ï7¦:‡žœI$1ÿü± ´ñZí|±dõÇóÄqSÙ ?Õ'ùqÌ”TçnÆ;tbÒc™yc{šU9e#n`Œÿ„cƒ“ÑM Á÷qé÷Î:Î6I@ý$?äò «þË ÿ¸0\ãÃ:ظ/·ü,?äüxv‡ü4Cü#ÛùùcÔä}qÔŽÔÀ­Ã”þÚ>~‰¸n„“þÍÝm†Ë‡&ÆRðv§ä]ýZ ÕofO–9~¡¶Ôé†.¸ôr8Ý+ÁºåäV<3B¨LGú±C¯zu·©ÃCrøDþðõÇhƒuËÈðÆ^E½œ|ÎÖðäOØÆâpíû£Ó'´8ïN²5d’î ʸN†d>Ñ­ÿˆŒ/6IâzÊ2Ÿ°K[‡®4ܬ r”Ÿ÷Ö·á÷`=8jªAG$·Ü¬xR„ƒû&â8‰øJ„ŸèßüÇDmˆÿ¬>˜?J… õ'äN~£ {²›~¨Ñ‘ÞåÞÛ¡¶ÄDwqÞ–?Âõ'äQ<F6=¨ôlWnË^ìVMDߟ_–ˆî r¾î3ÒÇøMY¦¸bà\½J&l,FßLzÜGcûIüyËD \¼qÁÃ÷qž†7ý¡zóò#~¤Ò_úYÿÌ?,pÜJ9K7Ì~Xz \l1Α§Æ‹ð›ëäò&PðÄ43‰PÈÄ,Ä~X"ÔONX; ä:ý؈«—L28ãQG<’{°8 lñùh6ÝGÏÔ œz [ÁP:ÙÿÙKCemu-0.5.1/doc/window-keyboard-poly880_small.png0000644000175000017500000023131212417262523021744 0ustar glaubitzglaubitz‰PNG  IHDR êàôsRGB®ÎébKGDÿÿÿ ½§“ IDATxÚì½w¼fgY.|Ý«¼m÷½gÏìé½$™™$¤'@<_(A¤D0 ~ ¢‚"(š"*|jŽGùÂú"¥ƒ " H€ôd’ÉôI¦ï^ß²ÖzîïµÖSVy÷»'“âam ™ìyßUžë)w¹îë¦W¿ýúç›o¢Ë^ÿ·o»v׊›£ø)~ŠŸâ§øù/ücY´ègDb³ïä;`ÆŸ~ûÿþ­ÿó†ßý릿øÂôóžûüîÀ*Bø6"|lÇeø°í¸ÉKêwåè¿9ã÷ÉÏæ>bε“×Ñ¾þí®³ÔgZÊ»fQ»ïP›÷Ëûn»{xxxü”áADÀÇÏLbbì Y–zWf¦ZWÖ¯YÛ/ŽÓî{K½æÙ>ÃÙ>ßR>s®žç\\·À£À£Àãÿ@<ˆˆ?5ÅGö?ˆç^ºA€GŽm[ôÀÞ£lWqþ–u`ï=—ë8ójB¤odÙ¸ãGbûÎKhÅ@ ³ |÷¶Ûßî\¶mèæyÏ Ê%ײœ2¾ù‹Ÿ÷Rìýægñ…[Þ‡¿¿sÿëÃoÅá½÷¡YŸÃÎ˯Ã/¼ùOÐl,´;‰;9­;ùÞR¯y¶Ïp¶Ï·”Ïœ«ç9×}†ñ`Y ØÌ "Vdôpè-3X0‹Øø:Çx„÷f˜Õw ƒÙ0N9õ]Ë‚€•þ¬¾ªAkïP¬b}<x0·Ì{¼ /{Ù+ ?÷{—]±_ùҭرm‚ ÀÄɃ¸áU¿ˆúÂ< !–m°-à9—]…{~ü}^uÝ‹±b¸&FúÜ›f0 a !Xˆ€jÝýø·/Ü‚C{îæo4vªÎw|ãÓo¼çãèéâÛ¾ò)í@˜§T'.èÙº„Oõ‰~.]ôv–ÂÓå¢?ëñ°, S3p[ãhºƒ4XsùÈ©3X7PƬ;Dõé)0µ°º¿ŒVËÃh³„¡ÁAX¶×¶·ü•K.¼@Àµ-ö<,Çe‹@^«Áàj¥Œ…z–e¡\r±Ðh¢«Z¡z£ LD4=·À=4Keׯèä<–õרM½<²¬"¨åù,˜É¶m¸Ž 0³ïtæÔi.aªká8ÄÌ@¹ä‚ð}¦ùÉ“$`aŪuÜjµ¨Z­p½Þ 홸V­Àórm õF3Eëã§p}<<„`¸¥ x~ Ï"ã]-(•J f š³,Æ'g05vŒ„Ó‡Û7ò=ÏéåšÝD£ÞDu`5ºËÀ£>‚-Ûv`~fgNŸÀ†M[ñãŸÜÛ6oA¥Z\.•pj´É³s ø»ß{1½ã#ßA­Ve²&qèÀ)ˆ@0×–cÃH/Ž>Âʶªôóº~Âo¾òZ~Ó‡¿›·Á¥Nž 3YDÌðÊl!¢„ˆö"þ®—ó×îØƒý£3\.¹°ˆ( … ôèÔ"Á ÁsžKÑû?ÿ º°Ð$šmÙä¹xï›~½Ãk~ž!8þnê¿)ãïôßSÆg³>ŸuʹwÞß-vݼgi÷üíÞ½“ïP›g¤%~÷¿ä¸`וÏÁ¿t ~÷æÛ1?¸Üœ¦/[Có¥½´rÓvLÎäVhÿÉ“ô‡¯¹”6 váw^u!Ê“ÇqêÌiÜòû/¡ ݽêú«ðg?¿6•qÓ/>/Þìá®ûöÒGßùRÜ·çê³cøÈÛ¯ÇÇ>û |â^FíßO•R B7o¥Ùf¸yLÌyX»v#¹=el®àê+vÑvyøÎöâ×_w5ýüîå4²¼]4MýÝU -«h¡ÙÂôÌ,vmÆðÊüÅÏàÐÑ3ä:ºªeŒ vá±}¢g:H¹ úÈÛ¯Ç'oýü¿ïx ~îü^ ôVh¾Þ,ÖÇOñúx²x„!ß0E–EÑ?ñŸÁLáᮚ ®¸ø|¼ëãÿIË»éÓïy9¾xÛÃtÿ†{‰ÃKøB@pˆÍ–Ï–… „—ý'ï|Í*,»ç#xÇõ%ÞyòÏñƒ~/æ/ߎ;ßúø³WlÇü‰‡Ñjñ–g)p‡1½NOôv­©bEOµZ‰Vô×pÉ…+pï×÷0ÜöØÆš`×Ï_ÌÿöÐ,ÊÕGpÍî ì{{¢ÅáÄù \{ÕŸñßæ‹/8ãSs +\CS3 Üò| ÏgLÎÌðÔØ¶m_†š?Íç_q1Æ?þi8¶Í]ƒ½¨œ:ŽÃS‚gëcø!ø¡vo-áÈTOVÕT†× Õú>Ÿž¬cÏáÓÔtP)FV Í±ßU«>{ûlÙ½›+:êM¯X?¥ëãÉà!`“eYhyƦfùðã'Ô- ,µ«†±|ùr¶-‚°°,Â|£…ùz1wUJhyÀÊe½|Ç#G1Ð×ÍžÀ¶,j¶|€,&œpA 0 °pØ_Â7÷ø¿~þøò›¾üÖwóÊÐe—,ÇGoYǯ|áÝxãÇ=‡·#L{.—kÇd 6“äéüÉ‹¯ž+F]ïlŸ³Óï³åñÆü>üÎWâæW—ð»·>Žžj G ë7¸ü­}O » ꯕøL­JA«Åÿô¯÷ã³·ïÃ%;7bY5¤ZÇšÙ Û²‚b÷½>~Õ-Ï`rzoì¥ééiôôtshIõg*W\9|·¼ãÅxÛ{>‹ê¶óñÂ+€å«Wã£û7«ãÓï~n¿ë!ºíþ“LèÔ©1Ô,æ¿ã¿áß?w;>ùð~:×Ç“Áƒ™aYfƉ3Sô›/=Ÿwm]!A `YÀM7ÃË—ˆB#†Á²mÜ}ÿ#øç¼œ¾ø½}ø_ßzˆ?þ/¥_|þêÏ`dY/,+ô@Àáz‰`&zPÓ<Í4{øW^cã‰ã5ôt[˜šñ×BÝl°`€¸óÀ#<»~¨Ãg<ד½“äÚ¹\TÏ8,VD_3ÔƒO|öûxåÏ^„÷þlÿã{ÓøË݆W½`;½ãÒÕr Ÿ¿ý ˜Ççî>Nÿã/Åô̾ûÀiLú@½Þ DzÌ3s ²-‹[^€‰™ôõöáË÷Ä_¾åZúâ='ømo|ö9CÓsuö 8ÿšxÍš.?q‚ïß7 TÅžS ø›·\…}î^|ìáµÿm7ª#O€E€}U|öî“øÍ«¶Â©Å¿Þ3E_¾ï$ÿ囯¥‡ÃÔl%7¬­²É‚LZî£X?…ëãìñ b–µ 讕ññ¯ÞCÕÊÃQ¶$Á}Ý]!ÃJCŠhµÞù±¯âžƒ[A$€¢Pª(”Z*Ìä–\ÜÿÈ!\¸c#àÑS§1éYغfYœ:5†©ùȲ±nÕ0*åf§&qr|N¹Ì«G†`CоÃ'páy093ϧÎLÒù[ÖòÉÑIZ¨7°iÝN<Í£3M bjb ]°?¾/íܾA0…«ÏÄBšçÓÓ ÑÔøïÚ±‰¦&Æq|tv©ÌkW/§2û|äØiZðìÚ±‰ç§&pøÔz†09>†ó·­'o~‡NN¢§»‹7¬¦S'Nóèl“ÂgÇElæßÿvnß@!oŸŠõQž•Jûø!o¿ðJÌ.´(4NظG Y–ƒ‡ü¸òÚë™Ü{ç`××avn¥R‰¼–³mÛDDø5[MLŸØõ;žÃ ¢GîþÓoýÙ?òêW ¾°€Êx‘ÿQØ®‹zC \"´ZŒrÙ3#@·ÓÀíÞ+1ç¬à(„Õé /õÏûÎR®u.®±Ôï,eò=ìŒÿ2xX–ÑÁ™‰,"Bôß"’P¡äBX;¢ý.¤#Z!Dôù¬?[±ÕDñïÔ}Ó{ŒöLò~שhן!|ÖXBÁ" Ë}‰ ÑïÂz–Œë²eÙ”÷LÅúøé\K¿FºZ6ØÞñ]¶J²2Ë’󳳸æ¹ÏÃÌB‹-"TKDwÞy'º{z2¶`Øì㲫¯ÅøÄJå*öÞûŸ ßùÐ?‰ \ùùy€-P?S›˜"ƒPÆ,öó,ˆ¥ÄOswŸ®ÊÎvÏÓÉõφw~6qã³á¹xxxüáÁ ìA«±@9yrK%LÍ59€ëºè©:ð=/†[©atb†,".•«xè'wÀiŒÆ}õ~3k@;åU·;!ÛUsvöÓi,öÎg[…ÚŽa±”kxxxx,ŠÇcB€ÛëÄŽmÊQùÑa’‡ÁŽò„l—Qnœ€ó’Ë×á†W¿AcÌLŽãp!Èû´þñKêJ¤.©súìÒæ1Æ´H‰Õ¹®”B‘í•ä¤$Bhœì;D,_$9.j¨å÷æØ\ ý®ÑÄŒ‡ž|ãs€3cͪ5ô½ïßj¥z;‹á‘“¼·rbi?N<êÁ8!µÝY¢ÄLêæä`23Gˆ°2¥é rÐ5œ˜C?"W’3F™™¤Ë«kÝ/9TG8«ÑfùFº-nø$¬ÜèÜLWh.P#4ì5ÇÔäbh®?¨À£À£À£ÀãáÁŒþ;q ³s³H†¦²ð@NÍ““Í'ff!†—¯È=ÇFÏD¢x¬<ª8GqœM‹ Çuáy^|ØËó>ûÔ »`ù¾‚@šÿF‰Ã1éóÉð¡æÑª %NÔx&EG2Ks‡¥wŠ0(Ÿj2Ë÷7-h1E$-2V±YŠ¥1£ˆ-‹/ú¬|5œÒíÖͪ¥á=Ä»º'[àQàQàñ_!V,_ŽõëÖctl#+FÅ9Uÿ¹^¾‚#í&"v]Wjz{{å˜iñIÖÎG#¾i ñ7¿ùM¶,‹… Í”Ðãñ¸»®‹o}ë[hµZQR*ù°ùE™FÇ­ ¶8³qzÆæCèËFÿ¤¯ Öä(åŒØ)é`Gþ#k–>¹4D(>õµô ´0¤UFñw9ÁÝ)ñºŒ¦«Ôb>Ëý_GGÇ-<ˆ¾À±mŒÁ²¬ÅñXªOOMÒø&"ªU«¸ð¢‹ùöÛoƒmÙž/08´,¼ZÐÂÔä´LN‘íÐ@xæ 3ÓÓ˜­7±råJzí/ÿß‘k`nnÍ–G½½}u˜QŸ›ÁB#<0zûúñK¯y-Μ>…¡eÃhÔÐjµÐÛ×Ñ3§a…=²1¼|9ê ˜ŸŸ‡ëºèëÀÄä$†0FÏœm[ ¥äqNZÖˆãC‰µJöq¼"(²^XsšS<:þ)šT1#$IDZg±o©žEóÏCÃäšIZJ¤Ç“5ˉtÃCc³èc¡]Ž"ž3ükN˜oñBã(6^àQàQàñ4ã!i¹Ôu^k‡ÇÒ=¾ïóömÛ°mëV>oÇ€­[¶`Û¶­ØµûB¼ç?pÓo¼/ù+øú · ¶l¨Oð{ÞöF~ÅË^Îoþý÷ãèd€U#ËñßßýnÀ7Üp?ïy×òwýU4ø“óA¾ñU¯Ä¿ükø ¯·ŠžÞ^|òŸ¼îõ¯Çu×]‡ÏÝz+Ž=Š_ú¥_Äàà` ¿oý·â[ßúªÕ*N:…—¿â•(7ÆpÓ¯¾¯{Ý044˜˜A¦O ŽYtQQ8Ñ,pæ¶  jvLœ­Òn£çýTVJ÷ò@FzÏt9íd5ï”÷nÆ–™å§(ž8Ê`c•$=¿ÇÆWC«C†b¶!å¹ìIÓGÙ1D.2J˜„ç"b×qØuv]Žã°ë8p¸»«¥R ŽëÀu]DŸã:~ÖÍphÌ3"Ÿ…E” Éé³=Ý5\xí«qøô ºjeúÒß¾[.~üJuU+¸nÛú›oÜMµî=üƒ¯áCïx=È)ÇŠT.—©\©Ð`Þÿן ÷þíçHØ,ŒÀË®¹½ýÊ–@Ü;»T*£R.£ä–pâøq|þó_€í”œR·~þóسgJ®‹‰ñq|ýk_ÅÕ—_‰C“>Ê%GŸ–f¸Rú½Ñ¡΄0HÅm™Ù˜Ò¤²r’YB1×Ûpi9º>“F¼Ð®®MÛÈ—s[¿IƇƭÓÖ›FRÏ ïM$_+Z}Llú·ŠZBÒ°!漬ŸJTr"Ó)‘Ù`H¦2œ ¶xxxœs<„´wÿc´ïÀ~Úw`?´ãÀ¡tï÷¢^o`ï¾½ˆþ³öÜOûìC\ÿ‘ÇÂrrYXÒ•ÊfLN/`vò8NMÀ÷èÝoÆöÝ×áñýó;Vá¾yð{ÿà]x˯¤eÃè9ÇŸxòþ÷ãƒü3Üzë­Ì" ùùy¼ÿÎç·ßôš[hÀ¶,l»ùøó·ü>~çà?á oøUüê¯þ>ý©ObÙðr¾‡¯~õ«©ÐfµZ…ã¸`–S¼ãëûñº‹e+î‚GÆ—I÷QÉp`ã÷7ÕjôYÁÔN±'.à‘ÿF¢ù¤a`0éx=ØÉÒC•xHê]L9a#³&Ebת°’;ô”x+ ŽŠ²ô¿!é¢Çwc“Ç([dDwH’` < < <Î9=]Ýø£?y7ö|ŒÁ€ã:ð}ŸÇçy°, %·„¿ûÄG¿ó|8nøw¥R ÍF~àãg¯{ ÞükoÂüÂ|Ç9’ôµ¸J3qLZN•©°í’ëqbªnü]Ð'Ï_Áßÿç[è¿üüi3üý¯¿÷#øë?øLNMÌÏÍÐììúûñ©ü:ýÖ‡n5žã¢‹v(ÉÞ»ãããÄÌ\©”°MJ¤}ánÉ{²­ðï^wÑ ‚²,KN2Å Ññ1ˆyóÂ3ž™,#• Q˜bN¤Üu9‰L§7´|âÄ•ì“DÚâ‘ZœÆä ¯›¾_̬$ÅTS!*ŸJÄ=ãÉ/× ¾ÆuñMÒwekxxx<5x8Ž‹#ÇŽâWozÜw[ÏÛÊûö죻vðþG÷£»§½ý½Øÿè~\|ùÅ8°÷Öo^}{öá¢Ë/Âíß¾—=ï2|ï+·C°ˆsêÈËäþd10Ѓ?z÷-(¯ß/rǘ'ÃP“ë ÙhàšW½c { xð_ħþô·qêø(â&•Z Õjð[º_ùÉÞè:Œ}è×qâô¤qÏrµÊµÈË(E§F @W­`Áôá¤?ÈÆ,É2)94 YÎŽðé…Œcæ%Bµ³9-ÀIFñg‚£M”¸DÂÕ%–uN¬VFrÒae2æad ’nè‘qÖ#Ð*Õ™¸z^ÕqÊš,ð(ð(ðx ð Ž=Ž®®.Ü{×½€CûaìôlÇÆÝ?¸+V®Àžû÷`nf£§F19>‰}ìÃÚ k±ÿѰmÔ¦¼ÑÉå–i'vòìiúW7„¿»õKø«|C<Ž¿þ›OZ~Àår Ô³†ß÷‡oÅæu+éÑ|>:*¨:Ä½Ýø®ÿ‡_´¾‡^týõXðþüfš½á*¾ïö¯àæOî^ð¸À/¾ïâM×lÇö»qÝîÕ€Ÿ{ÍÛøu/ÞIŸýÔ-86 Øiɶš¶6É4I½Sï’Ë`Ö1k届ÒÁjÑ(±°áF“´Àb™RN~¥Ë£›JšÛ¯³4H2 IŸÏ걣ةI>”yNS(¡±æ“S‰[*<ñ"H³P < < <ž:<âû–Ëe¶]Žã R­°ëº°år9Lž—\Tª03*• lÇF¥ÿwÙHÁd"³’褎uÅeÖúAÓÜÔ$nüÿÀ_ýþkñïz½ç¯þù¿chh€jÕ*,üï?û úÊgn¡·¼å-øÚ} øö]û0VâØ¢ÌU3±Ö*B²\º‹–úsŠi¡NZÙFÓ§1ô ’‡О)‹¡“ç9K—pQ+£År.îSàQàQàQàqÖã$Á6m‚ïû°mÛa…Ù"!°yë6'Áž\œa)tz:?ÜçN]M>ËÓÛX<\«À£À£À£ÀãŃ¢®²QzÃô@lÛæ'NàèOÈÓ%ÇUêä4Ìâ ·;-©CàŸ-§yÖ‰NŒOrL—jaxxxx<#xAÀ«V®Äúuëä÷¥Ò×?€›~û·ñ½/} =½½K=ÑÛY‹Åü:u!ŸŽSržïlNñgÒÂ*ð(ð(ð(ð8§xÌÍÎâ7ßzþû߇f£™¤ñ2׺ºpñ»ÐÕݽÔ})Lþî™:Õ;….%¦øt[Xçúü¯\¾~ÂJç@BÕ]†Bãn'èѬë°ÆQŽ›ºÇòÈqË•¨Š_}'” ðßzݦ¬¬”×Õ‹ôahúÇœqMŠMSÓšÓÇŸ×Û›%l £¡˜ö+f­xHŽSÝÓ8®g5¬¡תŠ5È`–CS|f’±¾MGGGÇ3ЇÐZñb±žè¤—•ê‰5z%tü¥‚¥RvÑÄü5QCùoM¼Ì8þ’=UÙQü÷,ûo)±Dõž†ÝÂyÇ­Þó=®F%Ž'ƒª¢ð—±V&É6iòÙÛsºQ zÔòüVuPš¨iGGGdzŒÇ°²]=ŠÅ„Y*(iÈÄ•¢.ÀšhÅf¤:$'dâ:P–f‚.½ UÿÏÐÛ,èf¨.'ÌÖJ_‰v.f·2ýþ\5àXg€Ã’~©À¬0Ïè&+lY¾Ka °ª–5½…¸JV›5²(·À£À£À£ÀãÄ#+Oâ §%ÇBýšË3”V‹:ü#)0R½·Â—Ó½*cÕÿØý3ÕºØPHuð¢TÃ1Hq©ˆ=*iþ$™rÈ:Œ†Ç‡”#?O8×4uOMoSs µiL†³©u'àHɆt¿›‘Rb.ð(ð(ð(ðxæñÈÊ9ùIŠ¢jœP¬Ôu–IJ“OSñ5Í!Œ¤q̘ )~–&fÇb5ZªîÀqëepòâñ÷YÆ5#KÉì$3^ÏY§„•Ÿ†Ïh†2¤šažçêh”>k'“ì3é‰Q2IDÑÀSFC^fM¶2~¢ñŒR9Jtáôˆ¨\St6Df±ÉÙí:òi9 †Ö0z§ºéI¹g¬'+‰N² V*£Ÿ©»œŒééV€F†HtÞbÝrP ýlÈÉÒ“Q×Éð,'£¯ )g,ÖeŽdõ!Û-kÐ4ÒÛ¸vO5piŠêÍ“¥PbâèŒ6©Š)Nu3Pd mP”‹¿FGGGÇ3GòsÒ£)G7°yÒG:ùPLÄR? Ñ5ÏSù%RÁ>ý•ô`]¿c£Åqœ`“QŠ…ž5Ü´ƒY'Ì©_‰T–Šä¼”Þœ® ÆIó$î }O3ŒÈ!%•l´ 0ÛnrLaPGGGÇ3ŽG†kƒ¶ ÍnXº~? Xh´/“¢ ÈYT5æï8ù9ýwl¸S¬]B'HD㮹Š,Ÿ“;RaÝI¼KæW™n&gônaí/tº7i­ä}µû3sg.1FO¤YxêyóñÈ—}zð ÊQ`m®KãU«Häõ”fÖú0þ¤·µNä,™Ãù)X„˜=Íë£c<°È’¯-„xFÖGî$I®"XzÊy x臜F¸Éì†Hzn&£FcÄÑžùl\j²ü^$„•Ål·«Z›0€²ãb¬Ù„eWmN¢ÎäΙH™`F¹á{×q1n>o»g$´— à%¼gV¾-õ9ÁŒÁr ~ô¼Žãb"ûyÏFëçœã!˜1T.Áó=03,ÇÅTûñ]êÏ9ÅC0cY¹„¦ïÅfI^$1i‚DG;3Ô· ÕÒ­냵8+[Ž(Ñ•a[ ò|ÿi]KùqlÝÝ]äû>»¶ƒ™…:"xZ×GÇ? *•J\­V(­ŸU'x(˜Ã„¶ñHĆbÇ9/r÷w¸n¼=ûÖG¸F€·„À÷ ŠÓë#ëÉÈ<‘ 2H³t¨«\ÆîÃÈ¡G9HoV{evÔÊÎêd^“‘SÔÿÙpÏà2\uéóÙbAwí}«Ÿ8¿ý&K‹<+/qs¦Æ î^± W]xàÎ~„µ§OÄÏÛÉsæ×S‚‡àžµ›påŽÝdñwßAë&Æôñm÷ŒJFœ3ÈÚÞ¯SÙêsƒ®80~âþˆƒú^;;§ ìy @dŽ-çülˆg%7ããGåï ;7nC‚¥’çDÄ~”ùÍ0ªÍDD¬Z’f¯3 @‰­â¡Z–ÅÓs34]màÆ—¿­V õf+/QyN×G§x0ÀÕr ¥R‰¾ù/ÿŽ}G£k]~áE/F£ÑD£ÕÊÊ0Ÿóõ‘ã™d~¦R.Q©Tâþâ×ÉZ°ÐU­± ­æãEV" y\˜ýÞP™Ñ¨\R}õð'"ùǶñ“GÀ ŽæepÈà?[ÖGôc‡7FOâË÷Þ‰Kv_J"–l××GƵœìE¦•‡% CAGöck…uó6”°sS…[ž8W± ^âïŒÁ°,Âè¤ÏwÜ_Çp<4v‡ù4VuƒO׋·•±eM‰<ŸÏf#Å“\Üáâ'Îxt×à ŒÔ:ñ`°8µ\¹³‚µË]ö¦%>ÃSò>®C8p¬Å÷íkbU˜|ü 6P­GëÀó/ªòð€C‘”ZVí6sþü%×â‡5ðè‘¶vYøê‘ýp·^€@4:F‚AúœÜ·â 4e¯1ãÊ,k™£¥åX6ö>€×¾éFŒOÂu¼øšËàûÁSº>–‚‡ëØø·ÞÙÙ9~Ñ †Þ÷¾ãÏíݘœœF©äàú«/…çOéúèp.03“cÛø×þss xþÏ\…¯æ_pÙù»Q •—n9<­k]\v^óuסv´“‘çl·[·ÂÅ5»©CØ€%€…°ks »6W°ÐH=/ÚXOiËNf`ëÚ2ü€qà@344<ð¥ç•±um¦€ëйh ú¤ñ`vm®ÀGŽ´`Y€°€†\³»Šu+\4}†}n½O!—W…0FOz°K•O¥yþl†1T[L|dÉQ¤Ìõ‘U´%W ª`Prn6›(9.½äyW€™á:öSº>–úó’ç]ŽoÜ~'&p£Ñ rÉÅ‹¯¹Œ=ß'×±ŸŽ–¶ü^òÜËñ/wÜ…f½×q §»Úá¡q´L®—鉘•î Y®åAôÃPgÆVbœg3êLíØKOÛúˆ±ÞbGD–Ú—ÁÈÌd£#Jª´B}]6<Ÿa™ìµx˜™µp1IÈ0¹Þ„ÂúL6;ÖÊñÍÚÎ䘣¿ÇBD‘ÏÛßm£å3, ¦;WŠr¢jTûbMP,Mi2¼¢¿£PCT ˆÏc ôØBKh ` Ç†çÅ,Èqòÿd…¬ÒMÄž"<Ç·ÛNo…–~Ž4éO¢äŽmD˜b6ýS‚‡ežÏèë²qZx‰£Tp"IhÔ4-ÔA¢6öëƒrV!S†rlÛâ’ë ÑlÉwSb­Qì,^ÚFEгªÒøœ9Ì–ÃŒáQf¸ŽǶ53›à:6Û¶Ïé§ &3ب؎±’UݺõD!U{86„YK[°¾Œb fF¥\b˲jǽ(ª4\ÁËúý9ÖÐ’5òDÙ[¹¹ ¨5„^ ðXÔ.§£d&\ô͜܋þ;½ÊlÞGÊ:ÊïÂgê%@d4Éõa~ÆÉLºÄ̶X,†Ò1w,š`gëlHݺK0¶$}aEô!8Î^!¯ gŽª"VÚiFÅ¢^è‚ÊF «¾Q€’ÉHF’]¡ªPµQåèsdœÔrêS›™)1Ï2ŸW•-%­ mÓ6`èŒmY¤+÷`ƒ-ŠŸ“5†¢d©dè¶y^2·'$–²DÑËĬ0Ž›Ngêág¹ te &­²VÛU Ó“9E¯4wUÓÅú&ž¥ª@Œ#£íú0(Î:(^ºœÎÓD&,ÌçÖK2x”š `ôPZ%™ršç³!I«ùK,߉uk„(/„"e]iäøk”LEÒëT(Ö‹ÔÆ‡™ä>­‹úűòz¤¬¯)ÃèÊ4äÐTò`³ä‰R{UV"ÛÈ#˜5õ†—“U«®C‘Ìå“Zq”̦'*b4<Ô;d‘}sÖG:ïä¹9ltÛ¸“жÂ%%–¸ŒßÚ´ãZð=V“©>&%j]6Ü2Á¶ß7­,=ÃÅÐ sÒv]û˜¢fþ+kžŒrNÖŒ“ È^¼æ\Øq–Mð=F2XNYîkÛ<§iÙn'ËRÐøpeÓ^4Í÷Œ387„EÁ¶#SEé©8KbÏ!Ðb®qJiVfYlä»ï]@£è‘Ô"X6R²‘q kQ4Í ]QOž#¼h„ÔY–±xô0†n:ç®J¼‘7¨tû2ñH„Ë´C„’e;ÊS!£^Î0¯ããƒRÇ‹qV•ÆHè"åÅãµò„èp%JÙÜÊÊeµÖ "Î’¡R(2™ÓNöµ Åe0<†¬µßñ~@êóºW ¿ÉÉaQF—J®ç䤴Èzfnã9êjÁdî×ÊUf@û¬YYhz!Ob}äz q}=±´,©MÌ„+úª<$e“Edpì`“ãõÐ,€jxdmËFÊð=‘ò uõNx‡ôñ4Ááé8.aïsh,ˆ°ÞK°ë‚ÊU‹‡]Œ¬­À÷„É‹N¡™’¬;ÜþÉØpY"ÿ 6{¥|fb»n6úÉ<\MS.aA¬XãbÃÖ*ù~éWO™ñ«¸®l>¤Ëw¨ÓŸr‡ ÍÿÔ]vj÷q˜6,yµ«én\¨ ˜ù(Ú@ëa¨1Rh²æÈP+k„8ÊÍt„‡®Ë«Ù")u]-ØGɈqÒI0eÛoCÙ+(ý2ºk®…«¨ÍµôÀE8‡fQ®Vo(£Z ssÓ>&F=Ýß@³.°j}…Ã…fñÄäJ’UÂL¤gxñNï>C±«Ã¥ÆÊq¶ ô;¨Ôl#ÐXxzÒlj£MžŸ °iG òyõP»3Uc•©µë ͺ·'#FÆ^£:¬ÁuÁå ap¸¤«{r2 ÕÕc³0Z昖¡ÏçLO6•ÎLáa”rEC‘LY>cÝÖ*–¯,qCî«––+ÐÆšµ]µýSj9U¿ÍɽÁ°ä¸“õ‘0ßc†õgÌ\ÁúÚ!C¾)‘Õ•欇{U¸Ky&úMYî ©B|’í’”3Ê‹•€Ë`•ÜÒU- ™)Ä^3/k$YK2I#ÚÌ“èˆI}Á„»dÖ„mÇ-†Y¥åˆ2å>²£hͱ`ªvÙèê±1;`fÊ—‰^“ÃZäšH×gF[ù Ý”f-æ›”rNïô0¹ª Ë•6OVÍQo¯!–óg†ÙCÍ0¨’öˆ|#+îÙœ¼šTL 66}¤¹M_=WtH¢“iø)j-±Éh³>Ì}BK—ª¼f†–üµNQרIV†Š9šŒOÒ8q Êx°A¡Œè*‹–ïÁè»­˜YÊ¿cmî¥Jšÿ£ ”«±5{"9¢™±ÍZ (¦ezvÚx±I‹bm¥ö’¯¼hö7,èîµcë7•„gf”ÊÊ+Lâj³™9#öh쉤@òD]RÙªÜ1"‚êÝDÀèp13 >µ -éYíNëÄtuØô^hìÕùÒ-‚ kÿ¿£4üÈ$ÂpÞ¾ÛÁó&ñм¬76H3ZM¹‰Jv0åª ÇÉÚ`æ|’÷§ŽžYO3!‹ËŸ4zóÖ‡A_¢„ Ùø §¶=N:¬oÄTÚV ’â3éqtÒS’´Ü>ÍJ†±oV!È?¥Ö8È ­PFv²©`Éd<é50‹KHåâAéà‘"U§«’ 3ƒÊœÙ*wê%a9‚úSö¾Ôfrg[¸“Ò&p©…¥²<ŠÃŸ›P#c{‹"¹Vlh ÉV“å/•í„Ó§lUáJHõ¦„!jþÇkûä¸#=ETÁ“êU©™|iU"6’uEq¾R £º\EéSf^ÄtŽ‚ŸF·œl­åê³Ñ|ÆLR¦Î¿ÅxàG3Ùª ¶ÂÖ]¤ìRv  ´¢¾ÔÀd´ @޲jo®"L¤²–Z{‹T›‹ÎñP&0k‘­äß’á±l½kô 2ÈEȬOAª¹Y*Ÿ¨áH¼F² 43 Nfñ¡~äš>iGë#íåÕÈ #®Íá\‹$š´lôl‰àL_Ø`HÞ›+ez…µƒÊšIfºÔöIiÊRf]ÅÓâ°U”©à¤ •)UoT©šl…,§‚Ôð}kdF3ËЄ™¨4ž]k¡œ=3 [Zd3@ÊÊg½4c1<°¨öRøÐV•½½2¤é2£ÈE­ÛæDüYÕ.K/`”ÆF‘€çÙV’zI¤ºzÄ4AVMä4sÅèà …kÌõAHÔÉM‘ÃÂb2{ñÌ&Š^uˆX–˶ÃÞÌlÙ6Xm3Y°lbDD°lïC;Y1º=_ÍÞßmê@b³CÕTY¡Ô¤œz„eÙ 0‚ @X-n%¦9Y@Á¶í„°‡ï$£v¶e`ˆ@0é øÜÌ=f1<ˆué„ — ëÞBу§1Ñ’çÄY¬Ê„¦I©Dãn%ú2ô>GFí(%×udöIJñaH)zè„€vŒJÉ€3ÖG†cìämî±q²hǹÝ>¦% À²£p²«‰]£b•´¦+Z.*ú44fH“–vµ§ÓA )yè#“¹Ã„ÁØ÷=5?ª¡Âœˆ²¶2±‡S޹ O$§D¼ó’‘/íøš(ˆb1x¤ åEÂni<!4ÍÒbF`zl ”õ¼—úƒYZu”c=zJ©P›Æ^Î3¯´”V¼N”tò”¦áò×G £`5Ÿ›Š_Åä3Ò"i¶m£¾°€ÇíÃÂü33zû°fã”Ëe!`Û6æçgqìð!ÌÏͰmÛèÂÚ [Ø`>)Ã<2XyyÆ_¢ˆà{ŽÜÛq°iÛyá!bYðZM>z`×ÅÖówaìôIœ:qÌÀAˆËV¬ÄÈêµØûÐ}°,6oƒeÛò:ðèC ‹°qË%u‘Ó¨*E™h‡‡¡©lˆ”ò¥bwYR1LFe Ú¡6û¥Ïœl;ÁµˆC!˜!˜ÑB:²g(E“È"¤`x`ÔˆÐKY>:¥™[mœT„“!¬´!«HÌÔÞS‚V².{%F!2ÔŸÜ’Ç%jxŒÆB€jÍJ†®  éIn‰¨RµXeÐÒ¯ÍzÇNh¦¤Ž¶.[NézHß IDATB>yìöÜ÷#ì¾ä*8®‹ù¹Y<òÀ=X·i+¶ž¿›|¿ÅÇŽÂÃ÷þˆ.¼ìjŽ» ‚tª¶æVp†ôPæŠPjß¡)'hvfA`͆Íì8Y–ųÓS4;3 ÛvÙ²l4 ´ l=|ß—vG©\a4=9ΖeÑüüJôö €™¹ÕlÒÄØi.•+à”ãm°Y3Ø0íñPš4é*IJ¥¬ÙèP©—3‘¡.“»Të\ÍQ ÀIÁ8ÍŒjÌþ¨ðNÛBóÌt Зpkz‰°Ñ&̸'\P!Ð1^ë<Çæ@:²ÜACºôúÈ aY™á1Æjçæv9*};cåÜËïc`™‹ ÏNù‘gÅ2€‰®0h6ztûš‡×R-ƒ¡™bÉxO§²Ÿ”b$Æ EIo~Ëm.«5 UŠXSãl¨õرk܃”ƒl*KÙr!¬øŠq£ b²X,„ñT!˯é)¸Î’þé£T–)—eÛ¬óìM<О„§yFÌš}n"¤‡+ô0³NZj³>²,O™x ƒË9™þ®rÎD …?|ë6mÅŠUk#9 ¶ì@wo?š:ÇÅÁ½{°zýF¬\³Ãq\l=o,ÛÁ‰'ŽÀvœtÞ>Z%SGɵ·dd’iŠ+ä¸%áñ3§`Û6ƒñÑÓY½BòÀr]½ýƒèíëGo_?÷öp©R _T¬\³'FÏ0Áq\œ&].tll·m\ìØ<ð¤`ØR4•°HÈ&s}díQ™u Úº!M¸%Ça"#FhÔbªX†`ô/sḠ‰QšuA¶M$…£{8á̉ˆ€ž>Õš²rˆ"%EXÊ2ÙDÑù Sd¡•-»ÖkÏJŠŸ­Á¡ÕĹ%ÂØÉ¼ö‰zû)¢Hf€ƒòšÄX¼„HßiYÿ7éÙGäSò2ñÐ}hY O4–c"KÀÒÅZ9u IDBôÑÄØi²¢¼ÇÂÜ,u÷ö)ò€rÑ Ùù4ÆU{ ù“zÞÞ”•Èò"%í5œ®9MtŒW"J( ¥Ö18MtÐËHóð0*,Ӻв,v\­f¶v[¶bˆÇÄüÜ ††—Ãó<!`Y¶aÄß³,+ 'q¢®†æm~Ü>¢LSJSI®™žž>ÌÎLajb}C)WµZÃ] ¯å)&ž$­Í²lôô `r|•j ½}yÕl€î™$•KÅC:R¤K³®§!5J±UÄ .ºfŸ:«ÉêúÛ_u0N3p±m¡‹Hï×A«,‹}õQ®Dÿ¶Â|e¯Œ's÷É×I­¡\oÇ`]eŠzÆß÷=A«ÖUÐ7àÐéã-ÔÌÏ„RÞ¶C\æ`dm–Còð0:@è{‰QpÔYD?sLU &# 1m‹`ÙÉø ˜¹»Ï¡jÍæ¡%8.!ðÕd#œ<Ô% †Vr¦¯æ¥ä"ž´€l;ü‡Ú¨¿2B¡HM¡ÌÒJ‘Ò:Ê$ñÈáÑhßclÜ^ƒ ×µ†É³ñбŽima˜tùûü9‹ÛžRí)ÒÕqr"¶Ydnéƒ73‰®ý-éY"s±º.zzûqòØãØ´ísâµZ-^µnšõzÆÕLb p h`h˜O;Š©‰1lزƒ„¢ç%kqCuÞER mñȬhŒqÐ;³™ ¤„èX›Xr&û(Õ¯Xo[Ü@à` °Û±o÷Q"¬f¦#‚1b\"¬"Â: ôX pT>ß¶É3DBß'9Ÿ@“Û’ÖÈ"AÆa¬©§¼áÄ‚Qëv°å7Ðó¶T¶ˆÁ¡Ïi›–ã^.ñb7$> ^n!¡Þ²E=aRŽ,üoßز³+7PÈ‚!8ÔÉbaZÎqu,%¯zu6uì‚,Î÷?Z®]tu:=M}ŸS”]Òz=è‰kfÊËþ™åÇyx(3ÎÒ¸¥$!6½þ͈¬rºOO>5É5ŸSx°±9(E!½h»ýúPÑ:«Ã‹uj¥l*XÚ¼ã~äþŸÀ÷= /š;ƒÉ‰1lÜr¾‡ [vОûïf!-[±¾×‰'ŽÂ-•0<²ŠßgJ(hÕÏ’Õ·A™Jñþ+‚,zûqøÀc¨ÕºPëêF}~AȘQ£^ÇñÇADê¤  T*cùÊ5~!ôöÐá}€™Q­uÅ×È´¸C‘„,< â.e‘nèÂF1‰¼F˜û$e&å…SYûU cmá>?ÀI!°Jk§ji l}ýO²@K0vØ6‚è‚-鼌d_1,i}dÍ…-,Õ‡Bipææaè·q,Ï”m1›M„Þˆ¶M2$¤%N8©¤IZ:RÍ”N3Ú'Ð&<‰³3%i?N8‚³:›Åe%Zµ¶æk˜Ç¹jÁ”ÁCÌ|n­k¬0ahj$[~€×Òš%ê= õdM‹ˆ2¶1B²Z6c+ÉÔF0ð0n$14„+y<Ì܈ىR¯Ï̪ÐOY¢¤Ü-2-††˜g•qÊXRxÎ /ª –ò’ûzs’¯cÁ®[¢]—\‰åãOº{z°ûÒ«à–Ê»¥.¼ì*:~ôž8|¶mÑðÈ*¬X¹Aàg‘f ¯žŒÐ|jŸ¦C€-ÛŠUk@–…r¹L+V­AOßùžR¹Œ«Ö ð}Ôºº1¸l9-ÌÍ%ƒ±ÄB`åÚõdÙX¬^¿ ¾ç‘í8p\—V¬\¹>rÔï;ƃØLe±úè,%tHÏëI²’šœ½¶ ‰xùwƒ|}Œ Øf[¸7Ômæ-?ö#±R°Ó±q¾máÁ@ÐOü€{ ˜b z4ä3ë{PVÅôé™ÝÄÐÂJ¹%dDž}N2é™F­b—̘¢ŠŒâ§Š[Ì*ðÊæÁÃF’LÓƒá$ )‹9›©[ lm‰T}6Ԍ֜Aå'³Œ‘$øéž#qF1y¶! y4š©˜â¿h’æg‡¦£¡J¬‘±•åfÍ2ð`N”:©d¦§ÑÉÓ4xuq J™¤+¾¤×™mau;N²~ó<~C/Fo¦r¹Ä`!ˆ,¬Û¼5J@3“e!ðƒÐš'E ذe;„™Åð}Ï0„ôötªô#~‘Ì乩+¹D¦‹m;X¿yû¾Ïó°nÓV°‚€ªµ.lؼ=¯…ž¾ô.K¬³`ÏkÑæ°åq–­XIa¡®·TºÍÛø¾ h˜ ’2¤LǃMg•2b±±.Œá¤Ac!Ù3TË\zù»°ÞŠEʽ¡."\m[ááÛ"NçBéÿgîMƒ-»®ó°ï;çÜáÍCÏ#ÐèÆDL@p€‘–¨¤YŽK)Û;©D,WRÛ©rÙ®Té—õÕèG*J\r»9¶•DR$Q)Q¤0  @L±zFOï½;³W~ÜsÎ^{8÷Þ×èøP]èá½{Ï=묽×þÖ·¾OD¤Eòþ,•Ml‰`_B©ú'Öâ1ZLˆ¾EòÃ_¯¢“èÊ;Oj+J67MÅ>Špf¥ÄŠ}ºæRõ€–ÐÖdâûaB|.Ü bqÓŽ±†"TäEUxJs«q|¾z a*! O-e¦~t²…>ï÷†Æãîx½6:GÝ%þ ãáÐôðø’/tN,ÂiùQ›9¤]{è ÷ï<\JzU­Â.Óê´XŒrÛ€­=`"Ïs¯?ɺ¿Q²¶ë¡–­›l_,µœkcu@dT.î$ÇÒ)µ!§‘Ú¦ÚŒ*Æ„wÿHÊh4*§¿‰ªïQ͈Ž7šE!ÐŽÞ⡼çk×åFŠhGÛr^ü'1äï㻜ڑ0JX¨Ú¤’댧  `>IĈ Pù'ÍkËÔüˆý\ÒØÿ ¬¤˜ÌÈnRPvÌN;¦Ñ‡NdÚðp5'˜½eÞÌzP$¡ðü&aƒb‹jݯ‹Q\©¨±'#+ÅÉœ&op2PNl:Þøxlg©²V‘zù@âÑÌÆóî“À™U`(1=?œÙx-Ã,; îæŠ zûuØ>Þ€°L%zZèpí=Rƒ&‹O%Û‘íU¤Á÷TÄUË¥×Ú¢ǔعçA@8u=œ5ÁêªÈX,G&IÄè$5úêµeãÍõ÷jZCÝãrÃ'‰Dý^ÿõü€cëgz®;®úï6ó#ògÍØ{õ4¹j„ATÛ¯/®˜ôzÙ.¯†”PÛÞNúˆcõgDt½@›è¡lR >ÄÀ.Ö6¾<>^ßEôÞÀ@\á6¢q¸F#W&CjM^x'ˆºRÜàxLi¢ñ°lu¦¤qß»Þñ@#1†Uð„×£×ë›ÓóÃaw!MÜ0÷ü VU³Õ­ùão«¤3 E=ngÝÔ•_¹Ï''›îcðgêÝxª›ÍC$®˜±×kÒþ5õIŒX7¤ªŠ'ô(j\©¦ÅCàL”9÷Îâ£óJÈix2]5RñàÈQ|kÌÅ‚‚8Ï"2ÆÖÈz¹Öüð6kÞ¾9«Äómâ(ÔVf©z@®ÏI¥0= crÑ~‘+Ú9ò!bjÂKXÞmÆ„ §ž= *>i¨™9acj„¬§ÅC\s2Ä:G$šÁŽÆ }a“ w…Œ~?x'„Ò8ãšÞœîW?ö±"°²_jzD„LˆÄCLéÝ\Òt-šf´+í ÷¥HªA¥º¦¢V笠nwŒØÙFµŒ¤«B!¡èv], mc.\í¹¾³µ¤¾ÔZI"A÷{òlLÄÆ£j Õ6NÄj4hß Õᆣ"05 4·$tâQÑ+äGXÜèxÄŽèÎkª‘ ñzú{Ý®zC~PWšÓØ4æ«HÀÿöNšW4 v•—i,WjX0ÔMvèÝjÒíÄv %°Gò>‹„TK¯ež/T]~mM©À­™%¾T¡cÊŸ²|vPÐYâü‡ž£×¥-mµ´Iev Ë+Ç/Ò¸D§F ¨ž3áT³™kØ@¢³Šß2ÍŠ3I(Wr\lLvTSXÂZÞL€«—s¶» víï`Ï/œâÊÅœÆß<¾Å=ûÛ¸ù¶yÌ/¥xùÙM&‰Vó¬2ž„gÆâWËÛµò¯Â®RÃá˜Þ/ ¸×M§ÅGctF ¤Ž4#3ÛQ"ƒ÷Bzñ¤®.¨×nQˆþKjOçFP<¦Çãšo:øçƒŒG€ÚÕÍ0© u¿Zƒo= Ï©ùÉ4ﺂÏåÕq€Êá–ÞSMg24L6çÄ㽈÷Ü4zW‡ñëø »m;ܬªÃ@:ëž ½Yk^jtFŸBìË»í{êøo#5§—ŒÕ3•ZuýVô^_‹³•ÿq2„ÅS¦¡µ@Ä”½g‰Ž`¯8 Â)ìÏX~Ä.1k¨Ò].ã$¬³|^»Ýó‹) "ûwqáÌPz›öê²3—BD°¶«…¬EÉsa’0 ŸÇ°gç°J†³a‚YláÃb †bj¬œÎÔ"é#z(‰?Ì&Ú¤þ–ˆúB܂דÚiD» ¨&³e ˆÕšÕ-wõYô¤1Ó[L~ +–¸ P3øl<µŽæ£ëíEñPŸúû'çtù+<=®nªLîËYúÆ?N‡£‘îÌ ø-¬æ£C0×1«Ç;8 ª;R"¬(¦‘—³–Ãþã$Å”Ê Wè 4ù³±± w™©ËUÜ]„]³be磋4QEgß$ÜEˆ§ÃÂNGØÁ.Y«ºkfb•.*Û'¸bNËØn–4|VZG›æHln¸ta„Kïå|ûµvìn³×+87¯ÒK+“¤öQŽðQu†jVAü' ØÖd£mX%FÏêóSÂÉç±Gh‰×ë3ò$H-r9Û Dõ̤ñà©ÄUQuRùXè‘Ú ô13Ò¨î¨GU}0ñ˜\ãY·.é«Áðˆ°as~4Õ[Òxñs)ˆÛ q@ ]—j¸’ÏËQ`ðÛ´ø!âíÛ ]uο“WSºÔ QtU÷ÚY ”ªŽG³‰ô¯éñ¨uüp)XK‘ö ä5s(ðÊŒËÝC”á2Ñ®¿ 6&$ä6gSÜ×û†$~bµ§$ÚYĉ½AÏ`k#ÇÆ•\Ý2‡¥ÕÌ:Ú©É×ÒBJokwôØ_†1¹†)3gUäönŒ8Î’øSº­•Oªž¬Q­©9”–«×1‡+V0¢²°™Á_Ãz9¹d,ïO­y:JØR*1x}ƒ]Å)-—gŠÇ,¥‹º£ˆü€â]>ªµH?ã ’X7ÔGbùA<ñŽv Ëjù«Æ·E3éôL…œ×/*Tg–pÐÍ×úü1GB}D}‡Ä%ïDtôÎú‘uÖE+¢„¥z£#áÌñÐó½Î&Í깸ãŽî,:9ïÈÔB+6-1ÆicÙX¹V9\‡ˆí½Í:Üœ³ž@h%®«~Sã;¬ïnáÀÍs8ps—s ò‘pyµÅs§hw$)Ðj¯¿´ÅáÀ°ìÑ"ölè“iQ©ÍN=3³Ò cS/ªP~Vºš-¬á zóâkk}ƒz©©&k8i[؉dèæO$éž%ƒƒ‡Û:[3Ef‹ÇLVq7˜J½YäÆÇ#~‘¬«µjB‘ {D½uUX=½Øœìì.£e NïôDš„Nuà,ˆlØ7šŸ}NODû ç¦CßøÈ3Îà1‘š!S1OD·ùéxj°êâQyê–ñÈLñ¨‡}<ÆVáLÍÓ9ã„ÞD•¨‘SVgL„“üÓ„KÇÕÞ=RŽrjCDúW•v²LŽvs~ÌÒ©;[QB&iab ¦M!0E}›e}W —ßáÍ—·0·˜ââ¹æ—R™_H‘ç¢Ê GØT¼p2kå}7ÔUÅ]ùëz³¤ îÖÚ‚•é|}Ž–p.ÔkÖ¸ZXBN?ØIaûq¡÷X,Ä)N=(ƒNÐzQ6Çcû_ƬÁLë†Ä£iQKò~3IÉÎjH²)?¤¡^%¶ÛàH(pm™Ëw°4±Ùu%G¢ S¾KLŸMÍ“ˆOMÕ—ÔzËŸÜjUUa)=ÇÞ>mÿIù'Žë½ž<µ&¨®¡ÄN" …©k ¯_éþUØðÑß”6¬o7£o¼4àØÞ©»ª³&î93K⨹üˆ$vÜPÊf!éŽbŠ¿8šص¯Í±ÏGݤ¨Ô\qËó¸r1—ÞV}‡»XZÉ熮FM5Ü©®ÒÓ2ð,$&É'ïŽ#žc?F]úº€±ªJEOL+!¤j±óÕ„•:  ŽRG‚ ÚÉ^¢2æÊÇÐ"Dëz*¹·Js\K‚8»™Ô\Y;UQž³Ói;úƒ¾ñØ“lµ²I¯?ËõNûÅ ×èü^D˜$ ¾þÈ´Z-övhX IDATä•gÈ,ñ`Ø“¢7cb‡ãmWRœi*:Ž6µpÀ‹†|Í-JSo ³œñ'|?'’½"ÿžRpÊO¢ëQÂüˆ½g6‰úFqwÔQ‘cåÀMxëô ¬u€ão ðü+ƒë ÷½íÖwc™‘&ÀR Vv`inçϾ-Ë]à¹ã}<ýb?I_Õõ^ÅØ¢W/žÆRxòÇ=|ßô~¢®7Kå.p¾YÚz[m^¥.ðÝg¶P˜÷¿ëýÄ´2`¹¼µe°rà&ŒŠÜe„Ñ™IS i5+凑 à:UÚߦÀ­‡nÆ÷¿ðÅ/ ßïãÿò{H~lçû;ív¬­á[ßyw:†G¿û}|îÁO£×ïã¿ó½(ígÿê´ÛXZ\À~í›8zð0Œ˜™âáˆ*z­ -êó}ÐIY†PužMQ`nÏ9sæ,"ë†xÉð'#?ÊÅ>°`9ú«;Ð+NEó#X¢/Ý´ò<Çw}_K3|ìÝ×0J¤ÈÍ4«œQ·±áµœ¿kçÀÓókøä'Bà÷ž>qþm ‰˜|ä´ëá t}:#àÉ•Ýò™~ðïŸzTî¿|ƒñõÊuZX®O<h€î:„ï¾9€ßyâ;øØÖE A2;­gJL¯O<h §Ågï¸[ý^0œPËp¶¶´:µp}îýW—¶é*‹ëÅQ‚#…ìZÛ!§ÎžÁ7¾ñm®­­"ð'ºù±¸t銘3}~⎻åø+oò/†ba~^È.?¦¼®èSÃÙ3ç±°‘auÇ Š¢˜)%¼%š’eí}­Õ‚c4Z£ª‚8ó<ǧï{ôüSøè;'dS?Ôü(¿Ú<½¾ Ÿùäç0èmy¢Ô€"§5ѵmY ÔÝï÷xûá£ò»o½†vóQj ÚLšÉ9úúÎkŒ¹ÿÖ#Lò\EŽ#‡ñ?žz»ºÞëq$lúŒÑFÓ”û€!€Ï:J3ì;t”ÿáüYi7'д÷¼¡ñøâác úÒJ3¬8Âß}þ¢´&¿'lb74C_9|ý~ô¦ÊÕúª…uß¶v kë˪ÝX@«fmƒB»îå#Þ¼ÿ þà{ßÂæ 7IH÷ºçÇvâ1×êò¯}ögqµ·ÉÛߌÿû‘?En 'x®{~L$™¨÷3"X_ÂW>õylô¶Æ½›Zk±9¡FU8Զ̵8‰Ôòt–Üâé¨Ð¶ÇÆÏÏpÐçÑÃGåÿyçÛ4?qùCò¾óÒ“ø~ý¿ŽòYéšóc»_íV [ýþíoÿòÌðŸ}õo`ks —ó‚÷ÜvKÍš Z7ÿy–ßO«T€I’à¹W^G+Mñ_þÚ߯ÿú?Ç?ûŠ«› G¸ç¶[PÅ,¯7ksxR%=ñµDI’ðǯ¼v+ã_û›_Á×~çë¸ÿ#÷²(Š©ñ€£åà:GºVM´鶯B%&\cÖjãõ<Œ¿¿Dž VÛÛb^ȇž ™8s1Çé X^zö ¿ð¤‘üˆÅ#‹ágö6U…VíÞ)i– o ºÄ—\®ÄiXÜvvS™ñØ©lÈ,¾óÔ¦\~/R 5ÀÀ€«‹‰üâ§—P„êw×VåIóuL=FÖ•Ï=Go>±!뙎~$àîµT¾øÀ"óðæßÇû½ßxwÝÒ•¯ï*[†iAŒ xhw&ŸÿøBu½“ðëIq½Îñ Üys_{ì úCAš%¶6/Õ˜¥² ¶w=a%Ñ•‘K˜@„”à¹ÏÖµ²ŒÃþI’à§>~ìß½…178?fGš$X[^Ä#?|–ýþ0è`ŒÁçø(v®®Àˆ¹Áù}­(D—¥©,ÎÏñ‰ç^”á`Ä,ËfGÅÛÖŽ§uõäo;¡E€žþñÕ iö ÈÊBÂ_üÌŒxà‡”cPöžcÀŸÿ`½+E}ŽŽæGäµ²ø»Ó…±¼åÀGní (…}[Mÿ $"¥ª;§í³hš=÷ )¾Ï`(¸ïXöØF}ã#à¾[ºŒD )ûF‘âlÔÌ̉Ñ+ÞE ІH,ëÃuF«þn8Ü{´‹ÇžØ¬?Ó`Ü´‹­¾±F;ô_¯álZF߈x@Nð®[ºxâé-{½#à¾cÝñ|H2’ôT¹ÆêjÎ)ÿ¯g<À4ÜqS/xì;Çůaf®Ú,ê{¯«Ð ùa_‰õIE"&ð$Ðm·qpÏNlõ¡Q”<`Z ïyŠë¯¥q#ñ°}¨}= ‚€ý»v`®ÓQõÀâüv¯¯¢×¸jŽV"ŠP´6ÑyëûÝ‹}ˆCyæJÕWÝÐÊsd4Êqóþ=xê…ãÐZS<ÜñzmglO âE;¦–ã¯WúÉŽ»³‹áH͇}èù1þîáHpï±.~|s†üp¿’h§žµÊŽ>¡¹›HQ ]ÇGÜ+ =¸J=@ÇÒ/ÜÑô$ÊÅK¬üá™Jˆ7œ2*žf¯ä¹ˆehžJª9n¸Þ—ŽÂEFo®Õ²k±~jI[ËŽ·²„D^ˆ#“IBòBÔO…’bl2øbN×=õµåµ\_}ËçA‚ÇÁ÷uΤÖ»Qñ ÇÏjs&•¼À1£ÓfŠ…ÅYòCŽÚqGïKQ¿Õz÷îýbÝÅ¥…#…^KÔ:Ÿ¾áa°¯aý»¥SªÜ¥Ê×.]EÅÂ¥2¬R”âšà‰·§yQAèfC¥cƒƒˆ,TĈ¢œ²NŠ©ºÔs¶¬Œ}ì¥ÚcD-‘_«ê’]H /D"­j~Tù(—†q&•FWã ¡«§Ç)rÌŽç0•ý†T%›!v)L •%lµdYBGUÅx_{%Å øn¤= ¥B]ùìû³Õ’ÌZdšIâwÝ”6}f{Á¥7 e̺²4¤­CDG5x“Nf-"k±1ÎþS­Oj˜®îHO«ŒË“{0‚´E´ZD–%È22Ë8þ‹H3‚ ‚xαF[Nßi¶þ#m–j%ªšv%ª§Ãiù!n_V(ôM‘s÷ñ~À×ÂaphdiôsüQí »#Öìjç5÷Ê›`eÄB1ÅêuÅKj1pQ¾Vҵє¿ïP=Æ ?9"þ“ª&S©{JŸL÷ ¡]¿šŸõkÍkY¯fÍn'?f$¬£¯à‹‰ª)âÐ7êGClÓÑ“@’þÁ™w¸z)‡1@w>ÁÎ=m¬ílUc¸r,ĪÀd–™¼°‰O ðÿ`sœ“”ؼRàÜéñõf±´Ö®½mtæ˜Â…לӨ¸Z©õý§‡Ok1° "í|ž4%μ3À铈îøè"ZmFMtFïQƒjcð{?*”&g}0ÎZ ^~ný-åtº –V3ìÚ×Vð#Uï#DŸ FH²âò7ÎðA~0Ôo¤'ñ?#^SÀ•[¦^¥V+,©™&y$èÝ–qÖ‘œâÔé3ðy$J)ÒŸ?*¹S±ÙüFpµ!ÁðôÐ;ßO¦Ñó{†xT.ñî)ýÒìi‘…À¡^õ8‰<¦ä®i½ºAù13„Už\ÅÙùdú.eWøêÿÑg‡ ±µYÈ‹Ïlàü™$¶®òúK=œyg€,K‚tUç©ÍFÅðt¯_ow/U©¸A–—Îpü¹M\:ŸKšŽ £ §‡òâ3ؼ’#Mó5ý*XeC‰LŽ*e‡d&¶¼„ÿ{çF’¤ȹSÉZ‰¿8ˆz#çÀˆÑ”ëÆÃe±°.ú‚N&•2+$I€~¯À©·òò6` …fZ-©‡û*5Þ‰‚-n °èòÀ+Ž ²Å•µÑÅ„ü àHPÒÃéA¡8©ö²…†¯ç-NYáâ4ôž_ºï¯­B‹h·vﱕ†5¢>ŸR"­‘Œ­šØ † ®Î§hMrëM^!E"v™ B?-"áz%žœ(ïy‰Ýq/݇CýïßN~lg½ ¿yr~È$¤ÆËXÎGÕxKeJë Ë |`q1P:¦bˆ6T³,Á›/o‘ pàP{vI›W ¼þâ&N¾1ÀÒJ†î|ê¥Dé/T†œô…+nxu} ¶þ ­Mƒ7÷fÀ›ºÜ¹·$¥ô6 ¾y|K^}a wß¿¸p‹Ó‹™S5£Ã·Ÿr/__vü‡Í«z›†;v·dójÎËsŒ†ãF·ßŒ"fXxMÌX–ºñ`ì‚݇µÈ7Ý6‡Ýû:5mY Þz­Ç+—rœxµ‡£™‡)j£- f”ŠQ³×èâ¥õ[ÅÖ[NiY5˜½U4?ÄE/áx&Z(%:1!GЇ‘ôû‰Ö,flÿ  i ‡Ô ¿XlK‹J7—*ôÏÇÊu›ÊƒÖäË#tT×§ ”j;ª pXd[[*»¶Î8°0-tÈu^‚Ö:>^¦æ‰HONR–Ìš³¯WÞàßLùÁm懿^Mp$„®DÏߪ‘^¥íÏŠ”N¢·YÈh$Òn'²ï`E.2YXJ±kL€Ës$‰ßÏõ¤¹É©7bF¤^ÔŽ^7%EIJœ?=fœìØÝ’Ý:b d44hw9|lù8}r YF¢òê:èô¤¡*i Æé¸ˆÛnQn"’¦ÀÙw «;[ع·-ýM‘+s‰@ER>[b¡ke&7¥žÝ\úef ÉþXQF#ƒ|dd44Rä‚$¥ÜtlNÄ@z›†Ñ·Dׇˆ—üÓ,´0­K6P …ÚwÃiD4åG¸p¨6BK´gÔñBZï5ÄÈæ»+ •Ž—ÅUìjE©Qz>›Þu‹–›ÖÒÁºí(ÃkUªøÂ²åëêû*K¯!ï¨ÆG+pñ£8)Š6)!Ôd_ϳ@#tNöœ Qo+?f\¯üóÚóÍù1C½Ö›—²Í a(äø„P?Å5q«_;Iê²£´mˉ‘ú@J–Óy %"ñ´Ǽ@8Ó.•.F4F0è™±ïÉþ.GCÃÊÙ¹…ó ÄÆåœEa“»Þ%X‡°:—Vf{ôʼxÝ)¢œf%rT¯(áàÊ¥Ýù„+ë–V[luÀ3ï ˜¤º‚ÒR,>8æ^ãlA®ñPËÚ|Ña’‘ ²Ÿ·öðFØå i͚ǻ3dTø6½cÿ„ü@hÏëlÎ~ºÀ¢Ý±*CĪaÊÀÍ·Qš+‰Lé(Ì¢Áø”Áu³Œ‘ïlh§[Jƒw‘8b•P@…R{¹öç„–$Q;ñ™ãQ[OJ$¥Ö³•J³ë•GI¸ÏMFEfÌí¬WÎÉèúçGl[›x©};ÇÇŸæHD_Ÿî.io¬éÌ%²°”ÊÖ†‘3ï ¦”$!†Á™wúvíCþIÎ~4Kí,žÝÚôѯýš#±%.˪·¡h“:pl¬xT·­ô·¦f88tI8¯!¾Li¿Š$.!«ë™@€ùÅT:ÝD†ƒÍ«¹¶þ–ŠÆ©ý…8ÛÉmÂ÷xñ {l¢¿EÉøtšeD–iJI3¢ÝNäü©¡ˆ@–Riw¿°ñˆÍ7>5ÏÇY‹ƒ®²GSèó”üpkfúïÚàÛxŠ‹º]ûRûøý1bB4)†šÔ]S–õ†lhŠÜ„mÜkUMÌí­Wžã5ç‡Oþ,'Ngv$,k.“sÕ«‹¡±)T/ÝoJ’’—s¹r1'´Ú‰$ ÙÊ lmؼ’c~¡\u/éÀ—ôÀ’í,Ôæ ¦¶PÁ$)Æwíëàâ¹'_ï£ÕNdq9+oyó•-¤©÷XÕx¨¸Ò]pü%𲌳°êjL,éꇪâ Y5ϱ¸’¢3—ˆ)ƈ,¯fèΑÎqàæ.ì02=)¨™bŸe´Ý“«\×4™$ÄÅó9ΟÉP¥)¦{ÚL³q³ÓºÛ)מr‡¶ûš®ÍÅ/„Ö‘Mà:L7æ‡î[VWDUÞ2ôDw‡…e¬K-À1x— ä°Šζ&ÍŠ}õþ¨ý2šï](Òéí»6hWžiYêceήæü¬(Ë_ËnÖS‰=9¢N5Âr/w²J@N,ï7KѱŒŸ-?Êõ"I¨µÖ¬.cõu7II’ñí2bLé\F„ «Qjwá„"2s33ÈÙO Šè!˜b_gQ½³æŒE¨ÆIBz¯<¿Å,ŽÝ½€…Å´Ä»7oáÄ«}س¿=†±ÈOÔ˜>Õ¨îÕÔ{B ×B±i!”XZN±{gßâÕç7ÙîŒ->û[†+ëÙX.¥o”^ú{-AŽ 8™…eÙÄ‘˜)7 zGšgÞ I€•µ £áX{L3bn!Á•K.œbçÞ6LÁ˜˜&UM›å¡£—LnÓ¶t¸¢<ÒÁú®vÍÂbBl]Íqþô'^éã™o½{Áá(Õ-ت|™a„A|V+³A;]u® _¢fR~º-àÈnhõïØn\Õ ÎÀ~Šóæ>ܱ]pô‚ ßöÖVé”™Ö=ªâ]I¼Tþæž–à˜996Çâ3’XEj÷‘zYQrD1ª/{¦xëã†ÈÊ}°~ñ¨êuÅ©M¦ö@h·0’¸ta1ÀÊzVnã»üÞE.XßÓ†Aš[›/œb8¬¬e\ßÕª¹àâ…vìnٵ̈\|/çòZ&iÊÙæ|¼üØÆ „j|_±š{¦v_'YD¼ÙAšRΟì=ØÅârÊ"— ëÅ‘Ûçñì÷¯àüévîi¹uÎ(³.pŠ5áf÷òRÛ¦(€7wÑOäÂé!z=ƒv‡8psGöìâÇ?¸‚¬•H5 =ÊU «÷ª”HQ‹Ç8%ÕQÞ-aEðy¥&àÉ7xëµSñ¦)fÀÅs#ìÜÓ†b¬¶R° ‹z$¦ÑcýÃi‰ãÒ9-Åà$%²Öxf¥z¹åµ–¬ïnã¥g®bãJË︲£UUc¢'­’ŠÖrhÆö*»sK§UýV%£\­WÑüˆ{Öb!Jâ(È9z\”òÞ¥YfÃαÃÝ8Ò$E`LÑøïE‘—}²4XLQ¸ò,1f„G›©Ñ²R|oÌ\L^QueƘJ9{u8¯/b`ÊF"IIÒT äRĈçÄAÅÊBchZfF0 ú‚Å•„IJ#-DqÄ©NoOÛn‰;( ®HžT0Ð{ç† ‹+)–W3Æ6Õ÷Î åêåƒA–UÛÔ5R*ÅÎùDñ_ç^‡ñ¨\{*‘O©i7'dP ò‰Œ™p+ëml\íãâ…ÖwµµŒ‰xC›¢»°Ávý.S ä•h](_CLÍù!Ö‚J*h§D„MÇ8qÛtö¯¿ü._<Ï$I±ºc>"­v¯<ÿl}:IÒE‘CŒÁâòªì?tß|õe ‡ÔrM¦(pûÝã`Г·^…Ú¯uqy{öŠ u²wtEÊéJ&I‚SoŸÀÆÕ+¶(Iˆ»örmÇN‰\¾xgO½ã¬ÓÆìص;wï ‡‰nõŽ(ãßj%(hßÞÑHðÞ¹1칺£5~&Ødu1ÝÔA²•ÝA8‡Oo‘¡åƒò¼–«%?d"ôWáF£!†ƒŽÝy7³VKŠœ¸ýîûðÚKÏ£0Ë«kH’½­-$IŠåÕµ:¿Œ1H’K+«XXZ†”´6)O!$¤)V×w`4"ISmÝã/üÈšDQ&’-®y-w_GÌ-,`e}Ež#kµ1qþ̻ؽw?H¢Ýî`mÇ.ä£aýjÆ$iŠ·^;Ž}ãÀá[0 Gn»ƒ~W¯\ÂÊÚHi}9­óÿ£ñP¬¨¹õLP%ZEµÛ¡È©„E—æþ[gnÜï÷ ´Úc½ŠºN[ÕøXm IDAT9––3˜BIòhuÆkeµ^šB°÷`Î qúä{v¦3š6ffžÓD÷v&ÛjŠr˜yª¡î’ªþ$i Œ°SC\½\à¥]ÅÚΓt̺x~$b€ÃÇæ`ŠÚØŽÈ~jëƒZ]¹Ñc¸Vâ¦ëf¨&¹hÅш¢vííÈ™w†Ø¼Zðøs›X-]Ͼ;İ/8p¤ƒÎ+8Ρ¡?Fõ¨Eä+W>6”¯Õs›$À…s#9¸÷`»VÏ¥'ùbŒ`~1•î|‚Þ¦aIM†E?¥deüxÃÆ#ñ°ºjo r&À…3Cl\.¨…(GCáÆ•E,¯¥X^ÍP"ÖÏ€áýp_\¢x•3,[œôy4ÕÅ!`Äó#4 aÄ/ÒºhND«ÕÂòê:^zö)ìÙˆk;vana¹ï~L¬˜rb™ce ³µ¹Ac¤þ¾,k¡ÓíZÈ$I$IR¤iÊ‹Ρ•µÁ$…ˆL°àxPˆxt´qû9Ašfô{8óîÛØwà0̸úBQ¸zùóòBæ1 °qõŠÜz×}†ˆ,Ë`Šùèý’ç9Š<§¾ ¯©ñˆ ,ËÑ'Ϻ$§«OæI.2j€U¢zù1>Áó 7.çhw´» Úm‹D§)YU1hiøbœÙªº…{äŽy¼ôÌ&VÖ20ÁTø´|k’T šèŠí£¨8œX:‚âJ/ÆÙÜm;@ÄâÖ»ðöë}\<7âÆ•”t4Ì/&¸éÖ9ÌÍ'%Ë6OÄmYxÇ€ØØÐ”¶<µH·ú TØwåsǽ‹xíűÓáå÷ò±Rl‡8tK{v™ŒøŠ¶zRÀ­~Š#1ÙY¯VCXÉ1Î|þô(¥KŒÑØ:„ÁÎ=m¼q¼wOôe}W’‹j/¹Ôˆ`,e„‡«J¨ ± ™ç‚".¿W@ÄÁܘf¹ù«û[Øw¸‹|dœ–9ƒ“Œ~ߦ#ºg… (HÑ’_}é’²j™œÚØpÜ«-ô¥t.9ª,ÚyžãÖ;ïÁ¹3§xáìi9yâ5dY†cw܃Å啱ý-§Ÿ„LpæÝ“’$)«öêúNî?|s»É¿÷ªÐc î¼÷ã΀AÃcI¶´ð™¦)Nžx§N¾‰A€V»Í»öÈîýaJ‹ÙÁ ¯½ìè‰ÞrûG` ƒ¬ÕªŸ—,Ëøê‹?®+ŠåÕ5ìÚ»_Ìxã¡Ó‰Ý g.©!„ÏãÖ\ËÜte•u~ˆK¸hSœ¸^¹`×þ޼ûfÝù«ë-VÊäÆÖvµå­W·pàÈhJ=ª¸ri„¬´Úã9»’ö+‹Kcé/oA‡c „òî‚Å ›t~qo62 üûU+[‡>¿Ú 7ß6‡C·t±µQ ÈùÅ­6k]$Ç ¯Þ¨ES‰¢ËŒ ‹Kà÷·èRqd-âö{1ô¶ Z-b~1 ™(‰qíxÛ½µ/æÕ§(rÁ}ŸZª7˜~<ŒvìicmW bPç9MíúiÒl^ Evü¬ý·|$¨©¹ ¤¹$!’ò>×v;ž{êq6=̨¦H´ZmÎ/.ãì©“h·Ç¸ýŽ]»±kï~Ì/,ºc˜¤?Çham'Tå#é3úJE“­Ò¡ÛN!8A›6kóK)Údláù•Ýz÷‡ƒžÚÀËÏnðøsØS—»öµ•’{‹™Ã˜=Óîј±H„Æki›%öj¥¦ÅUP"cJµ¨UβÊ®<÷» ÖâЄ-&d3.‹¸‘|È:Û ŽÂ]YJmkJº&iâSøù•ð YkœÐaApê` ¼£ú¢72+‰ÆÃŽXé ï۪eSF&áäÖQ\f\ȧºÈX<ʇ‡ÎÆ8¦ÿHí%í(bñˆ´>`ËSìà ¯F”üjS~¸=/q¤%TÏôš ¬*E°¼²Æ$IðÒŸÆÃG˜$ Þ|õe¶»sXZYA>I’$%ÍÙñ\¼p[›Wk)1‚Õ; ¦0`B;¹¥If³›c¢$’¤ò«0Ëyq<ÂÎ=ûpöÔ;xã•—xûÝ÷‰ˆ`0èóÌ©“(м¾ê¬ÝæêúNÜú‘{ùÜ¿c ìØµøîÛoâÜ™wqÓ-·Õ¤wMŠŠÎƶq ´ ke¥#²ýü¨PŽ{>¹,E! n¹}~|BÏǃƒŸüü GCS[LÜz×ó(rƒv7¡ (ÆqîΧ¼÷eOì4F°¼–ác® 5¬WM~`:?&Ðx}ÇöµVDÆŒQêZX•öÕÜ›êQ«Ÿf¾POmÖ f_š3ÕÄõÊ’ÀÈ-þ{¸ÄR[IÕ c=»ã©ENêáwF{Ü¢¦KÔPmšI¸ÕÆq5‡ò^J*T}nŸzƒã1eøqj<¨>û»ú‘.±Æ»ÚݦDµÇ2z wr~ˆs UTnišD/`ÕÈ'îùħqòÄkxëõW "˜_XÂ]½ß¡¾¦iŠõ]{ìðc¹ÔíØµ[ú½û½­úïMa¸´º†4Ëd×Þ}åÆã6êÔLÃ*›uþQ5D VV×17¿ F H‘çðYž|ó5œxí8H«Ýæ=ÿ”tç›èRÍFp¤mÆ£tÆRóôäJô@•CÖUT_g¸Kœ&úÄü¨tõò¼”&'˜nß4¹ }^"Y+)TDF¹3·H>²:|“òûN"”Ò©ïuÖHĤ8ÞhÍÅS•X.èôBæ«e}4½^J”þQUés š½ÐÀµÔH’Kh§¿çPO¦ÇK Å•v|Ä+’´ÊÔLM…Æ»¯üà>°xLm¢Gã!zUô ‰v¢¾Añ˜FFõ¦T2)î7‹úŒMùá‹ì³ÌUqX ͇M‡vM9v'Œ) ’$‘"Ïÿ‰V»-G︫îeT‹ÿÍÇîˆý‰|4@pû]­Ù\UÝL¸˜Â„ Zíûtú\Ƹùˆ1%%¸4‘kµqÛ]÷I>ayuk;v’AžêÇâÈ­wŠ1cRwšŒ‡%Ç“ôÎ)v½ŸÅãál*.…ψV²¿¬Õ³ÔªI‡ðÊæ&úõ͸1ï;?Бg!*eR£Éµn g aéÉ ‰lÉÞZæŸx‚Æ]øgh6E=°0ƒ·oìÝ"&½ì¦hº–¸DWNCþ³3tvÒ3„/*¥¬P=ïsÃãÁímwz‘‰Éðñ˜ô¸.ÖÞ…YÓ:±}ÏêÉ‹äGà!­ðœeÐAYùVyŸç£:U\ßCÁh8 €–|4‚¯‹­oÙh4´æRd“}*+h*:#é"–'±c½Éƒ‘ Iº»jPÄ>;=æ™åŽÙ ãá¬*‘“¡=Ùh³GŒ1ë\nk=úIÉÀWfn¢KÝ®¸¬"Í-_:G5©W™✠R»þà1y Òû T Ul“ÉDñ¸RÕeÎßA[L¤rèTUGíIÇ)_âø¬C0Éc<üé°’‘ºÇåuqnh<¶Óµ­â±~燭I:î¥TO¸Z$غ2žâƒep N'X²Ùxh.‡Þl\oØhN4Cv‰eâC'!™ A^? %PëÆ.5%V"‰m8V ¦ÒÄ[t{½ÖÙÒâ‹^ÉäG¼lˆ‡è'‡Rpµâ>Òðú°ÖX3ûKü$æ¢ù{P’hº–†«¶<² ÿ(*´ ­¢I «žnA•õJWS0"g §©*Úµ§*÷ö'5Ö«E¢ª¦ÇòÖ£ôë {x¬«•²ùÀ…~¯¥Î0ê£j^76ÿý†%!Ž/­=´x»PñoávÅ¥>]C<¦\/Éà©®{•v¡QúpÕÔ÷(r×!>KD9®Ñ»§ÐÍrÀ-U8)?\ê…Z êSMVÇ‘PÁ'µ«­2)cŸ‡AxO ‘%ÕÉ×Mbý&"æHX-•tÜ¥ÜxèuÁwy§)¨›Ê%K‚£Þ›¦Å‚é1!ÖÔx#Ÿ³¦Ž°r‡¥UtÜVµ59§äG¸­°êªcnÕüpòùN~„Ÿ)i¨04«3Üѽ#^%8Xþ_Ƽ}Jõ{Ÿ߯qÿQ¹ô‰ÒC¡íû*›-Ѫ˜¢ô¯Á&<>Ö@-s½’ïHJÙwª EÂD÷°ËF§è†Œ×[÷I­é¶‚”ò­Bÿå¦ë•±öÿøÙ+¥˜Ëkku¹O)5ýª¦¼U;™xøìvã1µ*-‘$Qõý­‡þÆgãÏ“e‰sì½ã*W»Ê9öÚã1¡Âbã3.Õ¡ÂØE&æý¥×2ªUgb•lÝ0ÇŸtV±RňïK¨úÂ¥Ëɱ;!¯;÷:Ýë.O©•ÏmÍ$ï°š#ˆ ㎄Õí´âU…-ùPkéûæíÅ£’›£¢›Ò«ü­ösaàzhçeÞ{ÎdÓ[‡UhýÄåâ~ •t“«3P½LK„~’xûõ›Ãé·¼ta$5½R€[î˜;õ9Õƒ¨ášlPçBÔµž4´rÿ,GÆê|ò­>n::×_Úâ›;ÈÚ `¯¿Ôã‘;æýS–´ZÖž-‡Od³~l6ãë®0C&xÔDDh àì»YßÕâ¹ÓC¹éÖyæ¹Aš&òê ›8|li „nMu5#Ô`® ým;Oä$¶6 ¼ófi6z;xd‹+)ν;ĹÓúØXXÊpè–®õ|Ñ•´¢¡‰Ö¶ã™cC–òtX†ÊóÕb™ööMÏÇÜ5#ÄäI º O¢ÛÕª]+¨®­r$D„Jß\kº'}{ä!sŒQ‚탄—âÓ$tó­bH+e ö)Šj,ë²}j<Ä•Œv¼KÜn@=À¬W`qÐ9ÂLΜ •†UáCÌ"‹WíU}EQ—‰ëò oª©H9tt‹Ë™Ø˜R²¨û¸ô{CpÕÑè¹êûwäÍã=|äã‹xùÙMìØÛ_†‘V@ø\>QYì–VWÅ–j¤Ä©ó8±¢¯ˆÞVÅ•99õöW.Ždy­…wOôÇÓû-º‹°0âäÝKÖ“ÛŠÇ´]$Í(o¿ÞÃm÷,"Í(y.xõǸócKè÷ ™ÃÒjŠ$!Þ<¾…óg†²cw»ÞØá 5ù*l3ÑÖª3r%\ò ÜÇ'äGÌ̹¢¹Š ôþÂXÑc„2G%åRTõ¢ˆB•%¦dÀÚ.IêŠ\dJo®Vƒ¨—t0ÔT„1^¸ºß¤œÔ”Ÿh%kqxÞžc“Wàn;¶oè|x«¶x˜ÒSÃqã1ÁÙLœÁ.M˜WK…â-Y¯™=?š{ ^AâZFO@°â}{3Vƒ49`ríGå ψ¶Ó°¾²M Л=P0KGÝQFéÎ'XÝÙ Oo ;—r}çØõK÷lèµ°Ä‘œE‰ü¸'Ú ÆQ¶‚õÙß“:á,÷”¥¼ËácsxçÍ>z›®\aßáŽrm¬q1㈬­¤®1®9I‰ g†èo̲±Œ1uá\_ëÊz ý­‚c‘7O7¤±]{<¾]H†‹ø]Ó?×+í„üðMª‰É ‚°ƒ´ô -+j›ÕŒôÕ`8_A`Ë"‚²|z–§Q­82'õzŒÕ3ë‘-T5…ÊTOCI³ûß ñp‡­E?eµ¢ƒhòYü¤¯Ï…)AxeÏ1X¤¾·N‡åƒÊ÷Œó1°_V9~XÚz’h&å8,á$ßz­'ij±o¿oQŠÒÏA«ßÚ‡–T˜„C úÓ¨5.Þã¨Æë¹p}W o½:Öà/L(™¡ü—©$Sý#5ÃÃŽ R™„”#Ôå yÅ'\Ë}8M)ûuøâÓ¸óc‹2–}qFÿX 8TJå„%r]{<¢m¹à–;æñÖ«=œ=5@’ûoêÊÚΓræÝ.½7$H\:?Âí÷.j9˜X™Ì(³­x„ÄËQ‰èŠUhչLj#ÍB;OÖ;ŽÀñ³AXŽ•nx—µ3›u'ôiV"5 BÑN9!?*°‹tª\¿¸oÜD¼%CD X`”•Q›Š‡Ø&„RÌ·¶†ÎÀ•«WãÐzIF!¬ãQãc{±m—ÀþºVöö×o%‘Ü[:/LëâlßáNÜØü@C~4AXOlå.ök’ó®ãc päö9..g(5Ü0ßÄ+àôQ ›‡ÅÂÇZ¤‰‰M‚¬•àåg7pû}ó8ñêî¸oQ‹Æ×]ªºyi'vmC㔈]PìsMQJéÁŽwsölŒpq9Ãòz†î|B»øÒQë--6+izJ° \xx²¥$C>»k"ÀÖF×_Úäâr ¸¸”bn)…àÀMݺíC*Â#èãÑØ¨§óAµo¸,?«*­G÷§ä‡ K*ê=kŽCø`­¥å•У—õ¢•é…îl#ªãtæom¹1 ä€vÄT§×§ºOô#ôùGKèÔ÷ÖÉŒ •ÓŸ¥bg`_N‹)nkƒzŠJû„è5ÝßLxËÛÜÃëò,]viÈ”Ø{Üèü@4?b»¤áçÜ[Ï™¨œd°¤V‡§Á¢ÿŒ?=Œx?Ë8/p–¯4#Nècq)ÅÊZ {öupòõ¾møKØ<¡ö6Õ`¥ãƒa½¦æÎf¹}“š8bŠÊhçþúÈpcn7SïiJ¼òã ä£ñ‹,¯f茭7!Ì-¦XZɰ¼šys:B КmÅc6PSA¾AÇLÂhc~8µ#Eo×ät”U$Bñ†%D¾Å[Â&V ¹T<#΂S<…o}ÕâbÅÑŒ §"å?g‡m­n„øÛ.gªgˆGhö&t¯#€@U“.‰fš­”×¥(*•"FÿDå‡÷ÕœšS /Ÿeã&R«E¾y¼'I2“1‚ÃGçd~1­?ƒsò„?¬½YÚùStÔa¼Áí 6â(UªiêRßQÔ±I@5Lßam+õ–ª³ü+ƒÔVÈâõ•xop]V|ÖƒìyÊZt•R¤?ùW“,ΪŒò4$2¡"8|lަöìÈžƒ]¸nAíSyc‹ó‰Ìð”æ<"ÚZÕýг<šª…E‡n™ƒpô# RùLŒ††7Ý:'E.aÓH Ì) XŸD ¶ŠoÖ^˜õ+AñR8åz%IÇ×kL}Ä‘ÃGÇòÌÁjT¿¡j³FEdpÚØV<0E «‚Øîøè"z›ZDZmb80²{Û.u:ÕªE’vê—N‰,á™sñˆ\¬Ðúʈ2RD=¼Vnât„~ËzGÄS\S‹"ŘýyQ°Y Ÿ•º¯æTåºÎ iq»òV;“  ôì¥qVÀSpªÊ_€Ñ1•GTº§²|qûÜ´SøtâQ{ZÛÙ;Ñf«Í,¬iñ`­Ä#*ú¨‡£Ó‡¨{T5asÝ”ÝâA”ÿчšPŒD'?Œ–¸pQƒH2€,%jê™­Tɼdk(è;$Sä¡Å5=Ö"ýâ² ‰VÆ`5Î2"¡ý;L轡Iêè@ ©h’1(‡”°‡ GU½¸8æ¯,u [DÆ÷×’¸\#.ýg@PUkÙô¥gŽÕ˜Ì„åiÓ»¿­ÌêmTî|*iÊÚ°ªz6´€Öd f41în3"‚„D–Æ`gV9Èn½y¸Iù@6j‘dГȲvþ.`ΉÓÖõÍ ê{ª’@$:¢è‰&:&ÄÕÒWMв4¾_–¦ÆQÃ1¦'P¹xTÌ$Ùuðˆ«$Ћ֕Ÿ¡•e PÑ”xP(Ì-öô˜:¥©Ã*µ9î¢ÊizÐ@>üP÷b¼fJìÀ¸2‰…哘®XõÃ6ñÄó}¬/§Ø³ÖBnÄõвL¢Ý6 {ôÀÐI}q{ˆMö‡"ßx| ƒñwÌu€‡ŸÙÂ_}pkË) ‰‘r&ô°%Î@¢@–†×a(9M&6zßzrSÖ: ú㟟ë€ßzrSþ“‡–¸8—T~å2xB÷‰iŠG“T÷äx¤ yñJ!?³…µ€ž½¿ßx|¿üÓ˘ë$4âCq“¬%µq'±3Å#K(g.ŽðÄó}ììè{;‚µ*‘jâ­ê©Âæ¬IA3äGddŽu§ ƒ!¾ûÌóòÙÞ…¼(fiŠIó½k¼i²ÝïÏÒÿèôúCvÚ­z±¹²±…'Ÿ÷ßu;ò¢˜&yõÆÀNX?š!^A+Ëäá'Ÿe^bŒx–m“ãQžÒc,EÒï})DNàòv•¼f0ØÜí>ÛÃWL¹¾œJa&ÅãƒÉ’Øìüù›XíÈ›ócvK9'ìSDÀ¬ ˜>Òð'6±0ǘô&õ&<àïûk8Œhè3²©ŒÀ øÚã˜ï6^oÓµLºþí{ zb4½¡Ð$@*|JC~xÉã™Tp&ÝvG®nlbßîÝ|ãä)œïR Åx#òcÖ/¸ºÕÃÂ\W.]¹ØØÜäâü¼ãm¼{ö|À »ÞùƒL&ý~s«'‹ ó8}ö¬tK7ÃÙâ1núTè]ìÚhi¼žq„x5¢‹C“fH$G’_ƒ>”ü¨¾úCA1^ƒ0duê ó#èˆ{G1|0ÈgüyüöcŠÿ* Ÿf(lxàg0¤Žþl£’ ^«p1£üÞ–pσ_”[;]ü›Gþ˜§UHO3”i×Ãr+VMJöh…%:º ðïzàý‚À¿{øküÕ9H_3n³¢»añŒ¯uŽÀ¿¥üìç¾$W}üÞcßà/ÍS"”‘`ÂûÏR _·xÀ¹ÒðÛ¦ƒÏ>øó ¨Gc,TÄÅŽu+]u lÿ1–VyΡÞU£9õlÚ(ÏåãwÜŇÿè|ñWþ v¬¯C> ü˜5`a~—._æ×÷›øê—¿ÿ;„_ùωóó]ÈT ë÷Ÿ3ž¤j³¶Åžsê´üðÏÈO~äôƒ™âQ¡ï¢è낸աø[E Ýkûçº5"ùp€O~îù¯ýºü­œ‘5èCËêÏã5ˆø÷=Á­} ‰)*ún˜þI5¶K‰’uxŠaŸyèËø'ßü=L©d†t;VS•Â@úÓŸ|HÖZòÑwýÔ—äÿÅ]]®±ÚšZaýâƒ_”n98³ï3_”òØŸÍò³“Þë†Æã?ý+_ °ÖÊлÿ!ù§?xxB<®ù^]·xüíŸû2ú½Më'áº6êv´cB0*lÊFô§¬žxCoЗ/|üÓø¿õ¯a>ðüØ^<¾úå_Å{W/ãçøóüß>”ü˜å@æ“þÖ/ü’\Ú¸ê¸NŠGÅÁ£³kÔÄ<¯‚Sì ø4b·w_ï ùP>þà—ð¿ý‡?±ù¾ô©ŸÁSc€ýkœHÓÄš›YÞõ¬ÓÅwùüÆü,`¹ IDATŸ*7Ðü!%ÒØxßGuÐ%ñ‡?|—ü,u:xîá¯á7€žLâ$F«·í$ó,UC¬JÆÿøøŸ¡óÐWï>þõ¦ëÝ.¦|ÝãQ]ï¿}ôë¸÷¡/ãÒ`€þÆ?[ ú"xßÖuއ˜ð¿?ò'xàÁŸG1ÀQ+W„€ìà™öÿ21?’V᎑V/?×éâ;O}¿ö÷þ.w¬¯ C¹ˆ’Û‰€pñÒ%|óÿý柑o>ñ(þþ?ü*ç»s’$dºîù±­'ä;§NËcßø>?qçÝèbybÍñ¨=ï­x†8›ƒÀ‘­-ãŵàÐ3&º¾hK pü[ØùwöA†fº™Ó˜Õ…'íþÈcøå=ŸGÒI*ë7?"_Yô*c]«j’è´ÚøËǾ‰ÿ†}\À`¾K¹&È„7à™Çh$¸Tþúð=þM<—døo³ÍøªºíÆA+ÎxïÿaWëÑp(øÛð_>ö§ÿußçzŃCÁÀßÍrü/|;MŽ¿9œËY´[¼^«ÜûŽGRölF ðkìã·û&~úÁŸÃp4T6ŒõzAêYÃ+ZzC~øWh±-w:¹•¥òôË/ð§¾òYìÚ±ŽÍ^óÝî ÏíVb½~ëkkø¹¿þ3ø_ë_ó¿û_ÅÒÂ"6·¶¸0×m²Èºnù1¡ÚÿM [ýØÁ>†{·Þtcß÷Éñ€šÛhgå¶bŒÅõý Ô /¸¶ñ{?þs,|yÅÕ4„Y2€á‡žeÜJP ,~ ¿ÿ¿Àß8ús±ò#lâ…‰k½N2€]"ï ~áÓ Ø»Þbnäzî³É¢‹bB 7þÁ_^‘àœÁh“f|å§±¾œ¢0ÛÂßïõ7~¥¯lü_E‘Y1¦@m#à¯>´„åù„…\óƒu]?Ošï])øÇnÀtŒ†2—9À _þÜ2ç: ™á¯Ûõg yú½‘üéã›`—þÀƒQBº%EÚÕyr*ë±=m÷“?÷>¸ÐS @ô},/-a«×ÇMû÷âÁÝ­YM7$?¶,MñÝgžÇ›ïœæÊò2`yqƒÁÇn:ˆî¾c–ë}_ù1ã³À’……¿üÁpêü¬,/akÐ"Ó%²9òÛã'Õ8¼&©_C*¡ÂZQbÈAI† ¯|õ=GÀˆz~ R‘äRŠåÿy' ‚¢e¬x¸—Ñç$º{ýÿì½I³%Éu&ö}wxC/çy¨ÊÊšPU@aA »I‘ÚˆjÓB I­L&ý€ÖÐVk©­­µ%3ÊL­6£{A²›j’M6HjDeÖóæÚk±Í@ó(êÝ©ÅCÂÃÌ7QS›^PÔž”{$Eú°4§ô¬òN?uRd˜vÖÙu5nŸ¦ÑozxF`!¶Üú×VÚ£p žIÛ~R`¸3ëLH””g'& åѽ·®NkàZ·Mý^5¶)ÊóÏ?<¢e·KZ\Só8uå70T§Ùêz‚•õÄûíÖ ²AG¢­”h˜½Ð[ìË@W*”ïಞúüÛÞ,qóòÃ1qîõ5 G¬+¥ßßÂÖÓw®OqäÄHŠBTê£Aݾ}Žó®·§C­Õ÷„ʵquW‚׿º»wŠ@>~ »ö82hí{E1YX&¾þ>âKUÌ¢à%½E×G¨‹ê$U úphâÙL»©ééÀ„PŸ¾>“sP'ç.ú%e+Ó ×]¤ç!6wpM⇑SH\£-ö<¨½uõæ“.ªÑþEñ`d‹§^Tâ}€SEÝ>m_t¨¾ÝÁN‘nOJ7êÄ[Q ÷åe g°¬¸½[н*0ljäX–>zŒ}¦[î1'uë£ËšÜ/"ðÎø½Ð¾ ²!‰Œ¡L§W?ÙAše§AO0œçŸ“(@ÌYÔ£¾„}4`²ma-pèø»7²Žò¨-5ëÈwZ‹¨v.ÏÇk¶ã~ÎTÛ] +“¬»7g #'FÈD‘Û6•?zj„‹ïm¡,+DKûPcEÑfβâ=aùM-mí÷²Ý’ùôÃ-L'ç^_¯-ºÔW1ÊÒ—(ðM™Â„³SÉ{irÿúð”Ek'FÜOúHÙçrI?„X~)MM1UÕ6¤MðÓ¶ %`/.gzÕ®Ž:lu …#ˆ°¯Bás…›Lwói4³Ae’E»ˆgÕîe¥Ô‰{ï¦f‡.4¨SD¯)>˜]?Š|&ÜÞ,‘¤ÀÆÁ ¶ÒÔ´gu-ÁÛ¿¶[l)(K5D­@”6†¾×©×í}Æ‘xˆã&VG¡n·ˆ(‰ìÆ^T$Ľ›S<ºWàì+c$)aËÖ‘L$°m”²;ë$=–c—ðS‚^D¸iŸèú ®S4§-XÅý3ývcpEt¼¦ûÄ¡ÖèJK{Tc]cµžgëžk¹Íߣ}šµs~òù–±×¤³¾•Cm3½Ï—$Úlï±·(Íú×_UNrM‚¥AA¢S4ÔëÃ?¤ZcX'~š Z€cBfBì°BÈŽTž@ëŒÕоÔÚCücPzáÉ`}ô ‘µÝ«$€Ä£$›© 2ÅÂbýÐ&'ifðÙO·8™ˆ8”a2±ØzV†xƒ(ý€¶úmCH.! _ãN+Λ+u®g-PlmUŒVŒ¤©Áû3L¶-†ãk»’Æ›\4¦Þ€¥]˜p Y–(ž¨y$$ÅAÔÀwûB—¥H>µXÝ•R,äþí)îß™a6ŒW 6 °ÿÈ m Çž‚¶GD«¼?¡èămüŸm¼k’Dž n]p×F"û PzQ«ž¡wZû0²§xŒ@eßSŸGmö$>-KµT¥±ã‰¯¿Y¡|ê¥9ªen¦Ü®—6´íDÍX“ sN¿Ñ£tÃIèЕº°ft²ý~µ W_Ú§ê‡ø¤—8QDZÑ=†lx ;úš.qEÑ»8ú§DCŸMζ%ªÏUÏž=²íˆ8Âò"!Û±¹¾˜eŠ”³ÏHùÀ"]K ›BŽ)ÙrñNÎî‡vù ѽ2\±›5±,Ãj +£a/â ê5m7q¸3ãã†CòôùŠíéy‰ÎÏ7õN ˜2¨úÛH`²]‚°¥ð£wžñÊÇÞ½9Ãå‹;¼ðî&îßš!ÍŒÇã¥ÞKé&Zg.ÈJº¿Hožte”ÿ‹l)Ès0͈ ïnâæ•)Ib42œìX^ùd—&HRã¦K]á¡PbÒ§ƒÿd¬Në0€ñT<ªê¼s}ÊÙ 8vjIJ°Þ»Dß×+þâtQÔ¶&n Àç/·5 ¾Ÿð‚õYi q©à= “¿¦Ð v§‚Õ¦³g^]Þ‹xK¶y]â_áŽmêßtH…oßZ:LErô×O¯ê_ï·G°(7í9âÑ\»øÝ÷Yd› ²%ìvЀÖ@––Ú¦Yà `öòHˆ,ï[˜ƒ†(Ä÷¯£G@¡c±x?Îù¼èúˆ½QiO–.D<í¹+*®Ãx§mJM&1 ¹õ´”«Ÿìμ¼ÝRÃv±A7>±¼,Þ‹v7ãí„C>}\À–@.‚Ã'†²kOõضž•rëÚ×.M0¬îJ}³Ý0i¢×å”9™žÏJ§ï§¹ÿ5xò0ÇÊj‚×Þ^—áØ@Dd{ÓâÊÇÛ¼{s†ÑŠÁþÃØR3rüîO_ŸkæÄÃÑ;[º¤7‚JÏìîÍ™ìÞH¸¶+AQTòô¦HéMƒ1@­Èù`~˜õºf¦øç³C}Ú¿?}0ž ´\›¸º©Cô*Þ*»I¢×áéiNs~ §ùˆ¦Ud_SÁ56$oÅûuÎGqU5cî rEô@v˜Çx±q ÷þ"~q<¨àþî›ëÚ@%Íjv™õÙ·ê5(©/Ñ»›mLA³BXÝœO7z ùŽé`¯¾~d}Ä®ÜôÜk{:É¢9ª„Zå¬W×{lv* \º¸MàÔ‹c¬¬%ê£[º¾ $|³–àßÌ¡e8ÝÌ–ÝÓÜ?­¬íNqôÔg_YÁ‘“#ŽVŽV<6䉳c@€Ûצ¨(¾â5Y;c Mb im–nŒébàâ¾—&L’Ö-×i,!›Š$˜˜fæg.ýkq<Úù@vÈË•œ•ûLDð258(Ï¿u6<¢‡ô-€+Dyµ$G¬œó"5¾øçLùrÉõ±t¢–‘P×ÌsXMâ\èS”1O›Ù$)åã÷¶Oûg8xlÈ"·’¤‘7I5á]ˆÊhÙ3õžR"ËoŠ5媿b­pu­êuˆEn¥¡î3‘½û3\¿´ƒéÄ"ŸVÓßN0šÁLQKºDë)Àùˆ8 PH—“– ¾ko¶)ܪšp¼šp8&¦;¶a¼u4sвۃçµähm˜5x·)m?'bNL…ÅÓGŒlʪޒš*i6–¶J:EŽJ‘Å ¯-¢IK³C¨gëu÷½&ˆ7>o}„Mð ´›ëIéLWÓ#Ïž<æ“Ç KÁ‘㧪ƒÄƒ»wpïÎ À¡#'°÷ÀAÀýÛ7±³³ ‚HÒeYT=È4Ñã'a­Ž‚Ìåô¨Á™"Ïq÷öMˆµ@c°qð†£±H­†Kc°ýì=¼‡c'ÏxêÆ™M§¸sëž>~$+«ë8zâ” G+ž>yŒ|:•}ÃÚI’ÈÃûw±³½ƒ£'NVz5þ3•h6Ý-aG¿ôl)ÜþœG(‰á¹”÷Wpm‘&;Ø›%€0‡ Ê¿-%y¹úi)Q}/^ ˆî‰€sº7ˬe+:‰ë¦ß4gÊìÅ! “÷n͸µY2IAcÈË·qãò„W?ÝFž[ÐwnLqýÒŠB5¸4¹òËdyªilêÅ•6ͽ¶¡1õ¯o}Œ[9E€l``­øÔ^qRu pîí¯X®B’žhx´o"ËzK¸¾IÄá³Îì©9ŒÑ.—+Écñð-[+é¶å§‹íM‹=™S,¬ãáK¦j’º°…K‰ÐÜ#v‘l»iÔzúúcOjD…Fö¬é>zѲ§÷z M{˜äÓ'ðèþdƒ!’4EšfHÓ¬Íþ/|ðîݹ‰c'Ïâø©ðéÅpãÊ%$I“$HÓ Ùpˆ«Ÿ]iÔ•Š,?IÓéÝ4á™Íf¸uý2Ò,C–e´bùîÿ¦;•@$I$&ÁµËŸàÎkxxïN{èc°³½Å÷üW$ ^8ÿ:Ã!ÞûÑ_q²³c ž=~„÷nу4Ëpïö-^üð]ìÞ»W¹Œ÷@–ŠG;ìÃÎkìÎÔ<7NL¸‰Ù¸Ôr‘°Ò—d)î5H_H 0#"ùrBn` ¦§&‡ QªÎ³Ÿ—y{@)Õõõ@úÖÇrˆˆƒC¥âÌrnÝ%®öÖKɯy ¢Èm“”àîÍ™þHÓª p·‚Wö M͈8>’娑­Œ`“ÅCÞº6Å“‡9ξ²*ÍaÒNÌšjÓËFLÂ>ôU³zÄif,î¸Ia‡qê÷ ÄhœÈã‡9­{,ÅŠÝd1ÝìÞH$DYªJ¨õ¢ñ„f•áÎóI7f=3BÆTÕÇzÕgò⡈VõÊÐZõsj{s±WQx³æpz‰ªªhŇ$ûÖGß|‹(Ñ[‰gÉ_, JÌ©pÇ«k8vê Ê"÷Àí÷î`²³¯|ó»(òð¥¯|üä‡8|ì86ªämÒ—.~ˆÃÇŽ#Iª¥ïWìkžtûÐâƒišáȉSÒT6eYâæµKòâ˯£,Klo=“ét‚_ùn^»„ý‡Ö„‰Ÿ|ô¾œਇŸÄ³£.EÚ4Iˆ|j±ùÔâþíž¡,jwÆÌðîͩدf™‘¢°èª£’þ6Q?ÿ‰Ó‘ýO¥ŸAñÛTk ùé‡Ûøì§[8s~…ifó©ÅgnÃ$ý‡š¸DÑì&ib§ÞO÷tÁjètꤳ …§ÕamðìqŽ$G+¦•aöŹý*A´¢€š&d‹‘p^‹Ð­ÙF׃õ9„–Öïäm{kÎú`ŒŽ¢„‹â#bŒšÐ§!Õwf­Ì¦”e ˆ IS$iŠûwnáÀ¡#°¥m#6ñÕoEQÀ–UjZ™+±ÞtmgY9§ßNã [Smºõ×l:%D0›N±ùä±?óËÒŠIܽyûÈþC‡ñÙÅ1ÙÙÁ`0Àt:ÁÎÖ7BžÏª÷t6“³/½B‘ÒVØLš¤¼}ãº\ýôÞüÚ·9ÄV“¥ú­‹¨ñ.J1BWç¾@õ*q©‹!ý´V8‡0*«‡DGñ¹¾$½Þ}ì1ÐLWìAµQÇ žÜÚ[˜c(%‘ô~iHHüÂÑÀÅ—õ+¯ÖR ÁcË2Ã{·f˜î{öe­$( ñ¦G@€xê¾Ï;’ônÁÖNDPÀá#<¸›ãîÍ)LÙ»/ƒððq!7¯N@œ8;FQèlNü®˜Êòëût}T{*ÇÒ÷ßµLX ìÝŸáÐÑn_ŸáíMY]O "²õ¬D>÷ìK°÷À šP×N ]ŠzxÐä’/C¬ãL®ÉÓª®ÿ]–‚"C GFw|ÌY ajö€Ó$_LÎÓÂzÁMÖwîùB3hK­‘Ð3;ŠÓ÷q=Öi¸ùô >|çoмÀ‹¯¼Ž]{ö"ŸM1¯BÄzϦ( ïǶ -vèÑ«æGV=zÖ±+qáý ”EŽ4Ͱw〔eu€Ý»{ oëû ˆ£'Náú¥Opþõ·°³½…áhè×íʺAמ<~$>€I$IÒª%„,ÅŸ9 KZ‡Aꌽ™c­GI¡¦PE+k-Šçqš: V½[†Nåœ:¥£À´d†J+üùVÄÆ1`((ö¡õ­%*µÃr !^¨¸qq‡V'Cf•TèÓEXi'&lYÍ3hTÊJˆ!!¶¾çŠ)z:Ÿ¾ø¢ Øuªï"HÄÉsc\ýd×?›òÖÕ) ²Ó rîµÕjRÚF¨M‰–áìתñëM~÷4$Cwƒ69. Á±³#Œ×ܾ6á³'…4UÞñ382DY‚¼ŠZYRÔ VÐðšw½Ýx8>*£ @‚»û)riÏ×ÁÐ0ŸÙfÅR"RcÎ"Ú—¦£_47гt›±ù6 dû¿ë#PŸíœ¢ŽÔ42åµ €b-Öwïá¹×Þ’²(¼Š:I3Ō͘P›-’Œô™4qÚi–5óx-±Þ‡¦Ny›m’$xí­¯µ+ôÆÕÏäýÿ5ßxû›rçÖ ˆ½ÿ£ Æ. ù y>Cšf(òÂm¢­Ä‘acGKEÎ7Þþ–Ü»s üä‡|ëë¿&Ö–Mñ°€x7?±Ikº§ßLR4=„ÎÅ–j]« ÚëÞF¸$é’,o[ÁTÀݤÙ0 Ø­šh°FH­ERí3× &¤”Dy§$&÷fl=½-` áÀ¡ å©"ë#Ö»HçQß(˹o´Úd9:øôK4é ÚRPæqÇ`¥ÏÙg¤èš“Ñ7ºLâÝÒ£ú·œôúÚR°w†õ])?ȱµYÂ`¼š`ãÀÆT‚ŠŒŠù3’S9Î-êÓøÇ?;*wú@qrR2ì?<Àlba­`¼’ ,¥•_q3ŸÝxt²ÐùÝÖxË^_¥÷âR‰)ºûKRâ¯Wö©íáÄCg©±ÖhŒ?¯ ÒÇ¡= &„ãÉ« IDATby®‚íYú¹*r_>¯ (¢«–~ó{÷ÀýÛ·äèñÓÈsÛö»~ôƒ?ùWßÄúî=ÒÆqn=õ]ê.åÞ€.FÓÜ›1 :‚{·o"ÏsܹqGŽŸÂ®Ý{ b‘¤)>½ð!Þ¿‹CG6Ÿ=Å®Ý{`­ma¹ëW>ÅÛßüD,öîÛñÊ*ŽŸ:ƒÇïã“ÞǹW¾„²,–ƒ¬çÅC¡©‹+;7–“/Œqàð@Èêðˆ¨»×­mP‹ÛyšÏ²´?oƒl‰ ¾ §Êª—¾,D’”ȆFŠBÙ®þxDóÖÅ»J7>-%(›¨Ÿ ŠB$/,ˆyñð,nÌ)tÛ[âxnózÄ€Yº(K§Vf¸w}üÄFÒPRiî^$FHq*oê€è‡,"k±ÿÐaÌfS\ùìcT‘ÅGïýƒÁHvïÝ€-KxDF/\1Ö¨™”tÒ ñ)®Û[ϰ½µ)Û›Oåò'°¾{Å ›ÏžâÄé³XÛµ»öìÃÚ®=8uæ®_þ"ÀÙ—^ÅGïý›OŸ@DðìÉc|òÓ÷åÄ©ÄÖÔG±""ÖZ¼úæÛòäÑܹu I’J\ý^ob~<ªU&á<>•Õõ°"£ÍzQ¥µ0†út•ŒE åG%’¤g$‡ ²7RÈ&`XpaΔë‰ß”R^. ’œL ¹ ø¸”äƒô…D’CÙ›)ä)`Új“0…P"̽—^‘=*a‘ì+᥽ÐjÓ¾%¯—´¤;j‘$¢ÚˆkaÑY1Uõ Χ[®vsß~“úpMŽ) †PVNªCW’Uµ¡½“L¨<0Û°…’*Þx8EF_Ð w¼<´å²öjX.NŽ}NR)уx(䱂„ZRQ@Jz¾xHÀÁl%éÄeÒ &F«%OªPƒäTd¶)}ë£n7¶&}ºÞØ 0.°'­¢g’Ú$LÒ Ù`Ø¿Z«9a’¤xý+ßÀÅÞ‘÷nƒ Ç««òò—¾Ì²( Áp¼ÒZm8jà\¼=Ô4CÚ ½öÒÅ‚¶,±qàœ:û?ûø§8vòtMÛ¶ÕkP«»v# ¸ùô±ì?xeYâ“  1 ¬X¼øÊ—¸ïà!زDš¦È6N›4†¯¼ñ¹ðþO°¶¾‡ã•Ø*‹‹ñ‰Ç£a‰Ýç: ×/ï¸tâ…-„ä©%R×H¨s>}£ ’Ãö¡Ey¥„9`(÷é—“j}@š ÉÀŸ¾™(_A¿(ô[`ϵ>–‚° àÂÞrLºL4™«A:ki(Õšƒ¼C <³_0tQ;ÝÛ.;?À%ø±¿è¿|N;·A=ë–`ù‘?; Yéýz¥gµóÄ#XóºèÊ8®)픉¼ßØ;àC‚þeÒU·ñßN}:¥QV£ŒÝ¢ŸF(õ«cm‰ÃGOÔƒ–¹÷ýFÞÑÃ/½ý ̦Si–¢Ès÷ºR¿úíï!ŸÍ‚j†dGËê‘¥’ÓŠÑ5ñÖ×¾ãeeY`6›âô çÕAÖ 7&I‚/½ýM)Šy>ÃþCGpàÐE4M«ê¹¬X‡Žž «û©Fã|õ;ßG‘竬ÿ:—ˆG÷Œ$Ã-Vz]A;`m›‘ɼçWýº¼Â˜Ad¦íž•Ê` ¤g”(–0§LEë•JÞkhúÖÙÿ¹}ˆ!õûJ£†¨wºi†Ï›ŒQµ½86©€(,´vq*Ò鸓TâéÒg%ß.¥׃ƂÙ‘ yëd]#‘ˆ¸‘Ò (;W1U¢+X¡KRËØ*\†º™Iz°ÙôI®øârìXªuO£ú‚â1oíúƒ.úœ5z%zZV¶FÖ‡ïP±BbÏóÆö}[¢:DšY¥f³YÍœj>›±‘ )òœêl·Ñ|6Cg„*hÈÈjˆ¸Ic`­¥f_Ú²$¬WÕ"l¾®XãÍþåãÁîH+ô,f= 'G\b}¨5hVµû “z{+kpa@˜#ö®ErÈeì%•Q›Ü4S]{hO¬R#û{¯"‹†žib§{L ÓÌË*»ÿ´*”;—n ¸ˆÑsÍÔbl ã^xRý—ïvƒ'n 8H$ø\×™©äà…Zæ%ìèûý–zàØ{Pl™DîSjN¬ˆòlf›…wZÒ1\Ü7ŸôœËt£AÉ25!û"ã{¦÷GÇC´@X;~.Í.øwÿ¶YAÇ´Ùq¤VÖ- ™¿>ˆN<Ä{–­Œ$Ðg\¥í±–÷LáéÅkM~Šf½‰›´”¶“áb ™_‚´•˜4 !rP3Œºë£z®¢q;ÇHU¢PLõœœÌzÀš• „\7…è þv$ Ü|iˆ>ªÆ¦x¥žõáúŸ°™5+B„Q\-¥¼VJ}TqJ!0Žä$VÀ5ÛšP*`B)oX)/•@ô'¥ ûœõøúˆìW¦ѦŒ\„¥hnB °ÓBèX$hæyk§Ñ0c‡ïØU™ž[…8‰UéɨàÌê;Œ7ÌâÞ‚Yëæ"r›ÀÒð•0V8ôH~* é/*sŠãžbŠ!õ³¹.ßüâ ŒG2¢G8ˆâ"žÒªƒ'—[Ôe3as>»Af+ûÒŠÈ»yÖ_a©ºOÏmuŒÙìæª\ŠÐ8Zj^¡_ú…N±Óðöܤ²øP‰=có–q5çŨ[<19ºöœeÒQ×#}èi;ÎèTi4ä\­Ë«–L&„l ä–» û÷ŠúÝØŸ–`0%ì–À^³à~:¬àHëñ~Yb}t!¬Ø©íDïÍ,vu5ÛQo•)š:œ­S€ ; ß$Þ‚îRUÂ3Ó¬ìe55–:3[BÓ»žFÉÏ…¼RMA¿žƒ4ÝÉ/$TòŽ^¯rúo‰wïZ±|¾°x`¾¡T7ZÊM‹–ÿÅcîÎâÁEt;Y#”èò‚,¹g}x ,URªFØ3HÈp\Í|a;1íõ^{S`ïÕ»RÉùfµÓYb}øûUï a£ìàŒ­eœpÝ ¡?mßîUZ0PãûŸšÃ\D”"ýäAzúÿó ÛP&Í[ ƒª±Ü}xÖ P®?:kîSýÕ`§tk‰Èà£f¶¡‹¸0Èí” E‹™·ŽÏá$®è¦©.ìÙâëN­t™É•yòAc‡T¦šÆN ܱÖèõRÔ”0Ô˜á¥æK<Õh÷[*¡8ežVÑ¥w}ø/˜»A’9F%‘{Mà´¥þSŸhöõ€Ø°áô®-‘9 .ìϹ6d7*¥ô´Åœe¬J”o¬ò ÑŒ@*ŽG#º)K,øh<êwÜß‘\™ØÖ¨\#ÉÜN;Kg3’>ƒD¯Ê©Ò”ìÕ2HÔ:WBq`JA²ß 9h(¹žz®˜˜Ùk)d"”0㺪¬†ù™½”hr‰4²ÜÀO¬÷Ùn fîj 9ª)  =ž›?kÅW° |œ€K›dPùL†Mß¹[»Ÿi[ã>×$@Y &;eõÞê}kî5£¤B%Z8©ÝgjÅÎeüÊÈT—’$Œ/zÓ®ìwÞψ°NârÞ¾{±¨Aèâ&í«ŽeýïVï—¾Ämçô£‘Ý>p¨‹½„ºEèØ~¾ÌGëºëC"¤0vÊ|öZ–±³ÖÚâ«þ|ÅûÅn2V—3J kë°ežŸºgée®ÄŸ¡k±ÛõÖWç²ýùn—.•ÒÄâÑœ="Q€7X!ÓI)„Ó«ÛÈyœÂв¨Í ]S]¹´‘2ÔÆR?Ÿ±:<ê§QB†¤¬˜Zb)‚äsÙõ±4„%þ¼e—6Û}ÒÌࣟlâÄÙ‘ŒV*­«É¶Å¥‹ÛÌ2w§Î­ÈhÅðÊÇ;²ÿð€¿¿…s¯­ÊÊZBÈ•‹;°Vðâk«øäÃm;5Fšu°!|õ2µ™Îõì6¸}}†G÷óÚ ²¾;å±Ó#!Áë—'Ø~VJ6$·7­œ:7æx5!qýÒ{÷gòÉ[8}~»ö¦B7®L°ý¬Ä ¯V’&—.lc6µ &;g^ZAå oúMW}–I ×/MñìqQÉʃŽ N½4†1ÄO¼é jfCƒ^YmëRÐÓógtç§å)žÎd Î4_»«Ãܽ9ÅÉǰ¤z&;8zr„í­ùÔÊþÃØÀfÆ Ô‘dL{Iƒ4mU*ÎÆ\©âÆÇ-Tï” Æ`MÖÄqGöFPâ냊ÓÇ@zo ^a*jFCFðMf:öœ^<šâ nâZÙ¼Ñqrs—DG… a5ã×­²[£îà2òæ²§z%;7¦zÑ}lªö/éh(âˆ)½»à¢xH$J9ºLÖ¨J¸>º-,Q²…=–›j… ø’WíK›½ß‹G+ÎqTTýT‰ãMý$»ØúXaÕ¦=ÊAv~„` ±½Yb´bððÞŒ'_X‘¢¹àÀ¡Žµ:QµÞv¶J¦)‘eÄ“GWwUâ‰yn[ô·ÌÅeöָ숳?‰œªynqòÅ1vï­nÿã÷·ðôqA±@™ ο¹F‘JNãÂ;›xõíuÐÏž8||Èt@Ég‡egËJÃЙL,¦“ê×Rz`Ä©#k/¯Ï]ÑhÕæëþÌ“…EH)xö¤À³§ž=)´xã2¡¦Š'Š¢Á¡> —°¨yŒÝ  2z×ÿ˜»>º‡laŒn*!˜!Îˤ&u6|)Q'¢ 4cÃ[ T:^ž”‡w`t!J²órF¨Û ŸO:Ø£±jEãŠk NièÇôî‘n#Z¹G6}—>»D<”ëg‡º¬ Åš„a5/ãW:ÄÅ<Õ#Cnõ4ê¹Þ».~‰5œŒ¯ Ñ DZçPG"å)[‚;[¶vïÍxÿv.GNi ðð^ŽíÍR¬{ö¥8zrÄÇrl (ƃ¡µ‚GrÙwh€[W'½hªVö“9.]‡Ð·®M‘Þš5¸>º?“=û3ܾ>¥µ"Ù€(­4²Ry…ìlY¬íJEl]mŠ Žýñw°\¾¸Ý~Öž‡Ž Y– Dðúª!#ªYÇ^?iYàÞ¯"qG9övTºž:‚Ï㫲Û[5Ð}ý ¸KAÒÝc\Lž Î{¥ã¨á,Ï–žtßñ.[lq<ZF!I·)š!ä ì“ìÖ–uF÷´éTl½¼ÆN›²å teø5_¦y ÍXìs¯,íMm££A÷ÀWO(K‹k—v̦ÇNÄ–ÀÁ#6–­üd²c±²Võp}w"îåœl[40M´Ìó¶ÁއRtŸÿe­´–pçú·®Ne–…ˆ°–É&ž>¬àµíg%öÌjQ7Áúž ä²ý¬ª8n]VEågQÔ꧉1ØÞ,e÷F¦³™˜›äÜ $ØrEl’43xù aY+uÿÃka8˜"u>ëªúVCW ½_ñÁ©Ç(KA–\ØÙì4fµß‚—ðÃk¸H0HïØ”n±%\. e »½äî3'|í»Ù»>üœÙc 6Ž`î~¦í¸¼lZ>%JZ®XˆÜ/0…ÿ„[N(˳Þ.¿tŠÅæaøïYŒ Ñ99Ùå ˆ‚$»1ƒãÐxóûñJd©x´DÌhÜÚC½£†îRŠŽøÍB$$–6Êz¦îg8L Ú—¹‚¶ý’¸Ôùϸ>Ðç‰^§! öµãîÞœâüëxá•U¼ô¥5®®'xò(' X–‚|VÕ¦!h’ŠˆcKÁ®½o_Ÿb´b$l¼Ç#µ¤hŒuÙ|¹žâ´%`-°½U"Íȃܸ´Ã43LSr6^ùdQ–Ù êb[ ®íJðàîŒIFdêÀY]OqíÓdƒ43ØzVàÙ“’ë{ÒfŒ–âT³šêŒÇ$@’’&!®}ºÃ]{Ó–BYÖ}kEMˆ×?Î4r`l•'Úm„Òg)´ì#¶ŒeËúßV¼`’&aMdèVUëß› ÞÁ¶1J'Í(\ÎæXœû¨z׃´°VèþÌeÖ‡xÕƒ¿óI‡×¦] ÷ ô@šŒžFWË@Üž>ž»È\ ÑóDWí"=ÑÁ °Šç ÒvÆ©ÎDõL}p±=µøÏ‹tÈì>^5?Oú%š´…½²ÔâT·½q‰-–,“ Z„êÈm®»qv²ú¤7Î=Ûúׇzš½žèâaŒýŸ4Ù±­˜¤jÞ–%åÀ‘!îßžÉÆ ifèU+OsÙ{ «0†L£#ـܳ‘¡,¥f, †#ãiùëÓ‹‰½QŽ ®_š€¬ô{V×ìÝŸ‰1àÖfŠ ïlJ’³‰Èù7Ö¹ý¬ÀõÊ`h0ŒFFvïÍ`K`8NPä‚ãgF¸öÙþèÒ¬rÙ{ñµU…“šs+`84råãö¾×v%8zj„²¬<4.¾»Õ¾ˆI‚ª¹nj®#…ê¥ñî­žw÷˜ý"óÓ•ØŒŒ¡b8J@ƒÁk;xt?‡ˆ`e5Á©—VP↻(ŒO4w ÔŒ·ûúöB¿é(X^;HØ*¥¥}è¾~sETBz Ûƒ³šIÐ\ë†(DjJcîH¿Â¨h=«Ž/[oâ3÷¨:&møØvYdÑ*í`3Œt/Ø2/[òõÜo¶¼L+ÍÄ5ßÃN”t¯(ÔÌ^b™ôàqó<ÑÑ£Ï12Mª`fƒgÇlB@¬p82rôÔˆ0ZIZ³%`Ͼ¬¢&—ÂÁÈàð‰!fSËóo¬A¤‚¹N½8Æljqâì¸c~äiû×#=.x„“%ììÆiZU6"‚ý‡‡8pxØÞ¹1D‘[Z :6ÄþC–… B€4K°¶;EY ’„<~f„ÙÔÊ ¯®R’ç§Ïame{âìy^ÙË•|Çߤ¾|+ÒÙ™Lð{¿û㻯¿iîüFæÅ£Kk¥xÄôå-#'b Î`VäøŽ|GþíþûÞÞ'fÓpðçC=íú ] ÅýÀƒÊwGoW§‚í®èúêÿÅâu_š¯ý£1ž~ç7ñOÿâ1ø|ªåϽDÏ!xëÕ/ãµ#ÇPî}ý{ø§ý§Ë\ï/.˜AðÍ7¿‰³{7—ßü&þ‡w~ðy=ßÏ=3ÿàëßáñ Ž­ïÂO!ø½Œìp-Ë=_à·¾ó›Ø•¦°lqZŒ´üM†¾ç¤taáÐxP'§ 6ÍgøÎKoáŸÿÏ¿‹BÊEúøÏõ ²$Á£ÔÝŠ¯‹è³¾¸#/ |ﵯÂÐ|në#5 nN·9ùÓ?’U‘Ÿ;áäÏÿ°‚Ýü¥êeಠIDATü³Æƒƒ½ßÿmîÏ(­]a-ó9€ÖZLóø¼ñð©I¢•¡;Mѳˆº-Aߥ*gGé?¾ý¡¬|k¦à/Ýú@]…|zùÏ=ŽœEïúè¼o±YœE£òÖ¤IŠ~ô~ûæ%ìy ä…’XþÙ –E?'Ï a¥ð¥­ò{óçÀx¿s犬€¢ºÞPQC\ —( ‰åÈÞ÷ªf<˜f—ÝÆ¿|ç¯ÿù£Û’€¢  ?<ßáð¹ÆCÈRH:Nß¹‚?€-ü[Äf@Q@j{êyɲIÂÏúz‘ €ã×?Æ¿±…¼ùâk(m—±•Örä×Pº¤N={×G³=êÓHØzÁ×?®à.‘ fõY"âÉŸ=& ¨­ nl=DñÃ?“ßD† D¦>ñêæÿ  -ð¯ÿädöÍïcÏhÚ„°¦ vâÑùœŠóÜ61œä¾ãR-vAzƒ•P#èmâàOÈëiÀÀdIŠÿÑßÊío<ÅÊʪ`rFIâ!€d€ ,ŸœÉýÙ_âû羆Bʘ9pç3ÓyÕ‘O>'²4Åãk—pzÝàÆ¶Å/ðÚ™fÅß9êý2î?.ñ'»c`ßãû¸ôð>®··¯½:ċdžÈË_ŽëM qý^ŽÿίæÎMÀ®úzíÍ1ŽÈPØ_ŽëÍâ“SüðÃ)¯Oo\Á ÆÀ½à¾½‚ý{ü’\.)ñÁ¥ Þýd†Ó+¯]Böò›(g%:Gƒøb…Љ«ê©k†M¸>:¢¦Åú­ZŒ3…­aƒÏV©q@ÝïIpáö5ü`±à·RA.Ä/ËWJÁ¿-ˆ-ßð¯îÞÄ·NŸGQ¿rñ €Ä$øtz ‡6Ž¢¼e±ó[Ï0}{œþrÄD2AöÉ«ÿ×nŒq3»]ùˆ˜îúX¾"¾fkÊ ˆI ¶s‹WNgxëÜ[»h.…s²\~žxžpdŠ_ÿò?~oÖTÏa{|ù¥!^95ÂöÔÆ'€âðØóTK‹¾×yÓJ+8}¤Òûèâ¤õ/žäÀ7_áô‘¦3S5àÆç¼¼rj„¢>ýl ckªëýõ/qdŠYþsCäŸ[c*^(ùÕ¾õA¾KK²:Å1½ y ;i„['}ë$ý‡ˆÄ„`Š*ɫʜNp–¨¦ØÁ^¬]ü÷£|Öl1sÃõÐ…T¸¹é¥+ÿjÆ(÷–àŒ@âõÛüÑÞpfÚóN '>&³GçwÌî@˜ú½UA6#ìFI– âIPMƒ“ÖJE|%'¬Ù$bdº„ù–“Έ8I‰,3•$ºiw>i <é•¢žCKh‚Õÿ½îöüŒ.…Yѱ$aK‘‡ws”emWÝ=è½k jÕ0ÖÓ鯣U¦QN:ξÜ÷W¬ã¡ÕB“’ˆt@$ ¼ï5神šœšjn¼•]]¬ÙÚ~sŒ¨õªë²ù´Àû9ž<Ì‘ç¶ÒFé‡v¶‚²Á$”'b+ߪåf=EoµnIÝës®sÖ‡ˆ×mú$TêMúUG×’•âÔÞ½“·M:¶LGW2ÚŒÏJo€§8/þ1àžÞ¾©ãÑJ‹ÖÉúJ‚ˆ™Ý¯J<‚ÙîPÔ0ºG‘Å=Iùyõ•tØ]¼Þ¶ÐfjÞ‘ê¶Àñˆõ ÓxÑUåÚ¥¨×þ°‘@©£ß2QDjß÷nÍ畬û¾ƒÙxà Ã59‡òù®Ë’`Wú9£\K—+;ÐÜ„;Ðݵ§)qåã<¸SàÕ·W‘ŒMÌK¿è…ç½ÌàPïÓé8¤¸xH%£¾ù¤ÄýÛSìl• !F+±¶+i¥FÈðCZ¯l ŸÃBRC4=¶–4k*Êpêâû›˜NDмrΆÀþÃ=5j6½xHךÍ sdc¢‚âç­"¢î±o}0T® ]/¥ Å#¥›‚6éÝDÓJ˜sI&dì­Ad@Ù‰žø‡5=iÜvîÚÛ¥èWðüÙtU7æW0ÄGBµ±·…?#j&ìPk:kÚ—çÖ¨+Fdß¼uø<ñˆ\TÊÄù"4 #Îù( »Sééœ"""ijxå“m¹;¯Tf"·‚«ŸNððÞ /}i­+9§_í†Ç­t‘–o”¨'âiâ |ëZµš6G1D–¹úé?,0©ÁŽ[eÜÐY‘„朑xDöAÌq{sš\ûlwo΄HS JÁãÞ-pèØÇÏŽPU­JVvýÖ£•ÀâãN=o†²Z ÞÝDž ö̰g_%›óÊ”wnÌ` åȉ!Ë~<ØÙ!”CÇ­jDyþâÃZ^ž-o·ÆõâëC ±{a¤NÝÞz„œŽÔ™ŽB'Øñ=]4Câ쪂wôœT£žfqK^¼c=,õ1_bÞ»…_¥x,9Ýã™{tý?"f>ˆY>³+Íæb ªs­šð\ñX¶‰îŠÒF‡o®ù¡rLtj7¬ÓöZïG÷grÿNŽÑ˜ræå®íJeºcqéÂ66Ÿ–¸yu‚ã§G( ò¡Ö!N ï.‘fá¾Iá\‡/å,.Ñqn6àOôÂÔo[½à’rÿÎŒwoÎ0'Ï­`}W xú(—«ŸîàîÍvíM±¶+­/¿á6R›ý ¬†®}š¯â¨«Ë*y¸umŠéDpðè§_#Ÿ‰Ð«»R|ô“M¹{sŠÃLJ V„≠‹[Ðóã¡oŠ0¶2ñ®¢Ó™¿>¢š{¢Ñ" 0 %•Qoˆ›O§ÛëM@-– §—r™¤3tÞWo¸.„x.¡ü=ÏìuÑ«$Xô«zWŒÐW=ƒ~³_ÛùŠgáÒ˜K)À†±ª{¾`ðœxø'æB' פèµ,gü³¨Xð»N¢Š;Ä?´† ok%¡¨Pª™)ô±lŠ6û¥¬ §A¸ny_DT±k–xÕ"-\Ä •9Q.ëö¯…æùÿÇÃk ‹þüÞýªãâ£Ý#kÕgó˜*‹ü<ñ@ܤ‘·aëÊ9 T„Ƶú%5 Ù`”e),J`5«éZIèúøÌô0Ù±¯&NAÇ~Y)÷/¸t±GͲN[ÖZ`Ͼ Tžèõ5G¸×!A’ |Cß—12:Á­\ZÏVm#Í@$³üß³/ÃÞl©}Ô+(îÙ“bñJRóEÙ7ø’A-±…ËAí=ñèoó’€”ÒVœ"ÂÉŽÅΖÅS”…ðô¹1|JqÞº¹O§tÔ ­€XA`m)£(Íì¸{¯ˆÐ‡øjXuöuÔ\•Õw€½H§HX¤ι§©(O§„§×Ïöçî##ª· ¶é_¿ŠñXj‡=qêŸE§ßtƒ÷gVŠnÙ0°[ïoFã{¥ÒxÖÞœç” kéy3½—¤aÜy^ÖUo‹2Ù*@éÀÀ$>©SD0ÀÎv‰ “ Kõ;ÚÞ¾Ó3C‹ukíí;œç`¯É\ñvŸˆT~çe‡-Q@”¹±3™h¾'A)4?£÷þ¯‹‡×aê4 )b[eC­JIÌ&·®VŠÄ‡Ž ¥š5¡G÷P爷~e~㿽¿0Þ(Wkœ¤nN=û"ùé·PA‡À¾ƒöÔÕ‰»VˆÂgÜŠj²Å…ЦŠÊ/>Ô·SЙµ,³>"œ¹VuV%ËŽ3Ä€e*^ŧ¹Lô²ñjŸ5ªEÙµÁÔ¦„û«J©ëD”‰ãºÀ›öùûžá¹)³¯^O^n”úYú»ˆGuŸ³[öÄ£¿âŸujPW{tõ÷#Î#1ðzSÙ-’Ôë+‘ì§­ÍH8z®uùì{MÇ»Þÿ\&~Ft€¤¸·©åÓ»Ö…y=©ˆáú…d,ué‹GýYe!¸øÞ&Š8xt€ÑJâû€«‡Ð\§w‰K ™‡ñ`` §7¢C4$pöå1ν¾‚ýÜÉñÞ_?…-u…½á9&^[Õç½³žG¶è1ý§Nç‰-q£o}]"} ÔSÂnºØÜ}™zbMKg.jQUZÔ3^‘ú9/e †`t¥ÃôXN§þW,ìkÁù Bß¼—óvf½ND;Úe(?K<ºñŽ7Ñ[’S+ˆÏþÍ£¡HÝþl¤q&Œ4¬¼± tP9«DzvK5ÑÙꦠÞþÕõ¹Í9¸îŽG'½%éø*D ÓV³6ÑõMÒµ‘é’ Q‡’xñhÈ)IJ…ðâ{›œN„û3;=ªlq[·Ï6^^<¤›óp Ñ﬷bA–îÙ—qmwÊ3/¯àбgSá­kšÄ&iž«jƒ±{ŒG×…ͬOù¦C¬øãlñl×ùor—þõ!¢ÖK6©~‘Ñ-£¾v§ç¡ž¹?ãׯ»Ï¶ÓÃÀëë7ÞKN˜ú]4J‡¸YÏMœD„¦¾tSÇÏx¼Å¦é)L&ˆ´#‹›è¿rñþ=)ܘAGN¢W{Ô“‹B˜6ûeksbêßáì…«]£à.ÕDîxDšè‘›kSU/8š˜(šÊZ¸ÑÌ—ÎdZý| cã4í½Ôj®0It¯§?´Å^û]î1ü¿ÂˆÄ”›Uhý ¥Ë døIÒÌ“R•¡4²¡ˆÿ.ÿÓÕÕø’#€îý+ž·Û™¦ÄÓ'?ý`V€N¿4n¥SÈŽ{sP®ÏájÌe‘y”ÁS¿%N†`­›5ä3Á£Cܽ5ÃÖ³²&ìÆZ¢ƒ‚N‡)^®Í¦ä˜ÆBŸåG:IŸ0g}ø°¤j_7¿…âCéz¤Ú—BC¯xŸ¨Ñ¦¥[5ÏvDbÁX!ñLk F€„Äv½ë?Ç×q]&›š«t×ZX€{I I–Òñû÷_µx°}Pw¶…LÉ…öž­ÖÄ~BJL@³¢Z©ê{Óå0€ä¹o!$Í«i\ˆ%0rèzª ÚÿËÄ#– ¤=?çûÙsN‘£Šö©ôL°[+mc<ŸZ‡kןa 1Ù¶VV*UW=ÐÔò‘[2\®Ò'êÒé²3뙋ô +jËÌn÷R]~Wk`>ŽÝÈŒž©Í‹¨@¨$%îßÉqõ“?5¡ãCÕOÐ͈°Jì³–n ª‰~µâE©¹4l©Ç÷ l>-püô1ѪÿÔݼZ~B K0ܤ,wÑ ÚLˆqùýá±þõá%™ JÈ yòåAšƒD&t΋‚˜²øÚÁ»¥Åzð½”ÀëI‚ûVð™X¼™V,½mü¨´øRb°àúgÃz>1xh­Å^V:\—¬àC4Í!"ËO=þ>²©G¤: ÊÛö–wbr¥@òj³NŸ°Ò—S°¨ší– ü DúF$@y³„½)à>… ¸l‘¾š€«ÕASþ´DúfÒ™P\Jksk"EÄW° FJ¥wè"[Bg®-%ƒÆ«ÄÎv kkŒ½ÞHl Lw*Îi5g! ,$%0`h°fö-ªzÛ}E¨ ?Ýk-j8‘ÊÕÌÙuœ°¡D¤DsÕÝûX‘«u•Ög=ªíõo*ÏSmh„¥><ÑJ>ö™ˆ½f™~5& hoX”K˜·Rd/¥’ÿ¤@yÛ"9d(Õ÷Np°÷-ì-Aöå´:¹ ¤¼iQ\,™½•ÖŽ¢Ç HÎM=âñè¶íÅÄ™›ÀY‹ô§uú§Š§Þ¦ÔÉÚäÞ@ÖÖSÉg{7§’ *(#›OJyö´ÄÊj%®Xÿz7sãº$¢©7)Îv–]Ðô&ÚEÇ }£'_æ÷ŸÜ ªKÅ#Ô¤GkGÖðÔ1ß:K£¸kˆ'tå¸âXýÐQý[•NËòËÞG8nˆ¿Nsü÷8bJKŒæEÓ/#1pF„’€¯#—Ñr5ÚƒCíaýÍ4Ç3D{£ÜU쑲$LnŒìÐãc˜ç ˜Ùs1Æ»# ³Sd´SˆD`DÛÉ‘˜Á:ÉO‡¡ŽêíQ³æ“a(2’~ÕdD¹¥¤; yÚ¤>g °û`g–8ñRý>¹m{bqÿ4Àîƒ-H”oë~žS¥©l­J ƒá%•úµ„¨ ÖÜ,KòCíí“,Rl^v µp%‰¨zèG6WyHE½‡Ëw¡H Ž=ߥh6#¼ôl·ì]ñ¾âX¸ÿúvØÙDÇ{ÎÅÖ0Þª=‚ŠŠ£ÊßÌoO°û@'^ìãÉ/¯¡ÙÎßÐïæ”&¯ocf>A–ZÖ^ßRIµ‘äú°*B§&(y.%®‘™Ã×GÕ@^Ãjy.S“‰SɉG‚çñV;f) ’ª‚Qw‘x2uì€}q„˜¼Â}"ø‰»âÈ[Ç €G3ã…ù³"<GX#1/¤];nÙ Oÿ^Söðšùò|Ä*í‘€ÀP€éÜ»hN`v Ò'R ’Ûc +Þ1 d:Ò[\^ÿh×á2­]=jöؤ6Är æWCü™²(l{¸u#¡—Ñ4D£)¸éöi<{t§Ž °||P‡nlsÛö²´Ü{>»Žw•'€álq•T%é(m$l$¬³8;u¾qÍÎ'lµŒÄ±w›Ü`…nDgr…:A‹1RX®µ±pÀáúÒ­*B¾Ð¬ãm äô‰q®®dBfu!( ÈþÃm'dì{÷\#šü`‹ù­³‡Öœ‚.áMJî¿®¹ù§NôeÐÏÏÍù…;÷¶ÐjGÈRµG ¤lqàÜ€¹ I[SE¨íR²¸Žµ>XEk–%±õìÚõQ˦ˆÐ¼öǽ7P#>mžD÷Ç>z¿­žÿ””$›NâpìžÓ Àž(‚#`ŠT†qhAKºžˆÐ`Ën«Ô#9P]TLžkh/ö¦D Yá e@r0Æà‹©D×Ef^`—¨8 N„‡n£0Zvr`6G6Ž=êRXõT&Îg!Kíç- ,¶WBñ®×õ9„&#¦fbÜúúYl®gÒëƉ`f6FœHéiVO*…jG–oèù៲ô‘UšLÞC?ÙÆ*“û®ë@Lâ­ûe%{TØNBºÑú–¢Ê¦ÊÝ:¼”xø/Àkï› …¦êÛÂ5…jy ŠSr£ÊÿŽK[ÉaÀYUeó˜Era­m æ%õ âX$ÍÈ’vÞ¢l{(ÒK²6å\7Dq¯Å9ìÀeñÆUËT±väú`íÝç÷[œ{ÅT K„dÝôY–׺–2†˜ ”+gd~+”)n)ðuc¸3‰ñ™4Ã6c8EvÒ¦løŒýB3"8aˆ`VX!áÑ,ÂDØåÑ ¯!{p´nW‘9À¬Ѽ°ˆƒ'S$‡ãü° ! "PÚRžÖ‚”ÀMz`LF‚ì‰ñõquoMÁ!XÕª=‚j8™¢«Qé sÏÅöñz1¥¬$¹w‘cË;Ó1–2;ŸRn!ƒ"9µh`)-rUõºnA¦èª âîÔXÅ ꊘ8öˆH–2'þ£¯€§S¶Úa(™ ‡LQD|þy/}íI^h|oÒÈźâDDý[þl¿Ë±‡Ø¦õbN¤<´ÉQ d™¢o:ÚTWFWÙ±éVЃc(ÆPÒ´$ ØÂ¡j\ EM¦­ht ÈâèI3‚ªÑ»¤û¾>X>žÞúpLÁêDmÿYñHUUß‚rz[Ô>õéæ™HDbœ6Ën)"”›£Oz}R¶GVuÀ‚ä:ç§‘DDœ%åi Å׈=¤v}T$Þƒ/a·ˆ:š"Ù˰™Ctmpå(ö\V‰÷Äb^¦°›Ã¥!0/° HC‘>FÈÿYˆ¯È°V©aöî©6¡¢·ô¨pê2WÚ='5K“™ÃÇé‹1ÔbÅxjÑ(´¨GŠc JI E_Š^4‡UˆSè˱z5#JÐ#"ÄB‡Š”” æZõÖX¥–ñé¤bû|SseY‘'öfAâÔ6BŠÏ‘E•-§U¥ª8ÚÔšåå¢+Ç›w)ìQŸi³n =D›—µ°ý0AñqÈú©ƒ„—¼Ž%¢ÎbŒÄk•a¥‚TZTWÝs%¨Q޲GñÕø¥4óì¼%Žð„!n‹rHnFbW$X&øDjpg’ke?šÏ+4€ÜG˜Ákâˆg3&C,À Á#‘ _ïš³‡laòãeZß1},ƒÌÌ@ô€äHì¯?0€•g/Ò|”At}„ô+dQ„).‰óæèƒG37À˜I†G 5ö¨‹@’‘9ˆ"g"â³U‚•"VS0Ü‘ÅKDÑ,ê?#a ¦ÇšÊ1ÉUÓgú•u?Tudµ¬PôØ¿Uµ¾ >²ÜSqVĨž’À]$½QÍÞùâËj-ó&¡=èѶxµ&j·òrÛ#Œƒ‹Í¡œžŠ\„7ß§¾>„¨Òm¤PÈqÅŠIo3"-Ú³¸ÜöÀV…ôÐ"ªLYÆþ*Ö¸ìö¨:j³§äõÂh½[ÿ$G¯†÷';G‹‰C)Ôµ­x²dZhß‚ÖO®z6´¾³Ô¡þI_³ÎI¿Úç@–e ضk:ýæ«Ê’¿-´(°¿‡—ËZÅv!ñ§£t9nw¸øêw¨§Ujzö`M#+%` ×LSÔˆµ]àãZ}BN lÁUj­÷ûRSœÓà !}M–<„éZ¡Mt”{@€Úµ» Ë&éñíîWQÝF eDgX³€1Ñ;Ý=REz¡ •æ­Š‹|q ÷,k9v©ã½À/± -¿ÃšN; jJ}vLJ-U’‰EºXJVh¢æn±ÅÆ&k(5y»Ëm‹˜q¯;C4KÈ·Þjþìe´Ðv¨Ø/=CÙj}èëñº€™Ù»ö·ý:†; )ÑW¥ÝþvÐ3rüÅŒÉSMé;÷´E‚µó)–÷mÿ_–oêH }ƒµLú]ƒ¤aqGÆYJ<ÿl—{¶ ¼ôlÏæµ²”ص¿…©ÙX`ìæ_ié¬ù”sE‚Ó'ú2·˜ I"”AŸÜXÍdqWƒÇŸïaç¾–h:ù8,Ÿè£3ãô‰¾Õ*ÉRâº#9}b€ùÅ’†.ªÛS%lCÍš«»Óö•ž¨°¨‚G¹¤þPšØ£>—昅Åò÷`G ~rͯ™Ô5ûЧ=âAªÒ-ìÚ2î|„4#ü˜ 8y¬°sOƽMƒ(vïoÙü^’¢HpêX©Œ¡¸¾M8sj€cÏõ°ç@ çN°ç`;§±¨b"XXœðûÖ# ËM²»™áÐMS ‰“/õøâ77qè¦)}|]–Üs c€§]Ãõ·Laj&Æù³Ѐ+gؽ¿F3P¾ñ×ë¸éŽlndxù¹.n¸mQœ]à™'Öyók§ oŸ• üÈÆªÂðƒ~®›ràúŒ!ÏŸMñõÇ×pû]³X_Í05c~©aƒ…(£8ÿüf;ÂÙ3Àä]$À¹å>Μ`çÞfÙ‹‡½‡ÚET4ª QÖ°pÄÎyAÎpz.F£}ƒÕó)wìmâÌò»ö·lPFË'úØw¨Ìû®ëÀd9swÒˆ¸rv€™¹Äιã“-qeÃR´¾ã.ª¥ß­sZ$„£ròº†¬ ýÒí£øš±º§E驦:Ö'êòýp :"Ø'åƒ {š‰5ÎxÀˆ¨ôxixÖï—C£ÖKW‡=F4:{¸öwdhAÕòÆ*›>P×ï¢Ë5-#kgCìQEa µ+±u{žˆ Šåã=ÜxÛ4VÏ <Ë5[Ú­N„f+WÙÚXÏÐh -A£)lub4šöhac--RIâ•L­^]H–¥Ñ´;šÍ»öµ¥Àæz\ÚÝÌÓ\1pók¦seDVΤXÜÙ ´ÚZíS31w6±¶šâäË=Üpë´MíÜÛBk*Âùsi5ôÆðwIN9Òh ’†`羦g¬œIE‚f;B»“§Ý‰ì¬žK±¸£F#BÜl®¥ˆcÁÊÙÛ¶'ö n”ö)ÞÅÂÚF3ŽßgGê™Ó&DQ¾ùÇ1*î@¯kÐnÇHÐh÷“Ó> 2<@y¬,f550LD‹¨Q ¾>èmx~ÏR®VBåàÖ¤9Ô†Xàjë™Ð=N ûy’Z(]ØaÅš¤ ÂpfÕ@c}¬ß«Ñ£25ìþ5W Y‹òàrUÎàØb@Ì»Eêp{ø_I}‚ªÔ‰(倆;zy“Š`í|†=ÛXXjâôÉw6EÀòñ>Öϧ4ض”Èžmœ|y€…¥h€î†Á™“}ÀÊ™fæÖfõÊb%ÏÌùjwR#g[›¬¯eüú£k€ÖVR¹õά®¤˜Ù"WùÍ' »!3ˈf+pîô ä‘©c}¼æžYœ|©¤)0EçU: æ¶%²±šan[RP?YnLj)cîxE¤D”ÝÍ q¼ü|§OôIæiÄC7rµ$IÞx´¸ÔÄÊÙ­N®4×jG$8œ95@w=³5›7tÐjGº Ò&w¥ž»³F òüÓ\–X²”˜[hT^Kæ5‘•3}ÎoO ¬œÈ×30†˜™Kpè¦NÝ'²ÌÚB©TP‡¡K¨BeÆÇë>R)Ì¡Y¢ýbió+¥Šì§¬ç)ý=B¨x]!¹¬g c¦Æ¾J¦kòë¿+`t^ÂPg‡¤Æ¡VýY£óÿ\mö`ð9?D·ÌP£„¨qK ýü¢+Üj@k€•ãÚcØR ù£2ËpÕ psÃ`c5•£O¬ÑdùE–vçi¬í;Ø}°]´äiJ®žMqÝ‘)¤“Qú=CSltÛ–ô»5œ2RâÓÊ õò@á1p¤ej&Æá›§eÄæzÆ—ŸïbûÎ&ÖΧb[v}B «+­vî£L+eùçßzç ¢HDKh”Eã,%£Xj ŽJ¿| ŠåõI¾cf)‘4rÛÝûÛùaìH¹rv€©éXJý•¹…ÏÝ@»az6F¯˜_c€…í î?ÜÖz!Ø~ 7öÈMA¼i ­V$$¸¹žáÌ©Aåµ"‚8Y93À ·Mcs=ÃÜBÂ×wP0òJ–V¼×Çú:>ÿ²ì^w¶éæ|ÈZäŸ b¤Jª¥JÚõ!Þf'ÎÎtmbŽiCm´ï*tت«Ë°Ç‚êjYV!ý瑟 µêNê}LX_ÛGá=ëÃĦF9W“=dø¡6ð{|Š–ÐѤk ~^tŸ-ë ò^ɇcÚ£îfk©L¤DƒRt3eóŽ“'_îÊuG¦pð†)Üpë´@€~×84›’Õ3…„$‰ˆ1©Ù{¶e϶ÌnK¥5çèBÈÛë )¤T“F„é¹›ëFæröÔ %Ž!ICäôÉœ>ÑÇÚÊ "LŽ,ß¹·%{´°{KJtQ«%²rz€F3Bq"8y¬‡¹…†‘*IŒQ^‰ºå(‚4š’†H –÷dn["4y:iˆ½ŸFSpþl*³Û,÷ĉ@âü~æ¢uÕ¢â^“F$I#’8–B[]$Dë\Hš&Ÿð"ùxÍ|¬½M‰$zT¾l$‰ã›Þ´]ˆ‚啇7>;¦OÚŽKúøeÓˆò†-ÿëˆõQ³Ò‚q•ÜP©&8;²M>KÐÔ§ÉÀŠÿÛŠ¢ ówª}­†‰6H ‹§ËÚû3¸¦ìÁ1V ÏŒÃPÕŒ¢x}»Š5‹°¾¹Rÿ„`ºG¦¶ˆîy"#s˽MƒÞ¦ÁüBƒ¸cw Ç^èrqG3GÝF°“znyÀ©Ù¸T7“&#³Ì×¹7¬î¤¬ð×3 T/ ¼~>ÃÑ'Öæù÷]ûZ É=‡Úòµ¯®aÛöû=ÊÚù”·Ý9+O~yGöç^º!˜"2bó¦Hý}|k+-ÁÊ™K»šhOåbH¢!ªH¼Ú&«<­“òèck Íuƒ{[h¶#ˆŽ=ßÅÙå<h²<"ÙXËpèÆL¾‰—¨0žx©‡ÎTlQNgNØïa®s"Û¶7°}g“ÆTËkãÝFQÜÛô€ÉŸäîf†gž\‡É ,îhbz&†Éèe%¢¨@I¿~îè†Ä‰0K);÷µ0;_Öq¼¦RGž%£Éë8}H¬¨ÄºOË4z}È^þ2Ÿ^Š™!HbŠŽ¸U^È%|^ZÖÇ [ä5à–¾dxM8,>¢Ö#åÏ‘Õ}l É1+4W£=d<¶ac0D²æQi%*ÃÓM¼‚|…}OFZ¡=êFž Iý(rôzÒ¶Ò,Q \Ë4Ò\AÆPæ¶:‘$ A³Ý+àÌÌÅ2¿˜ÀH«aï¡6Œqƒ@^h½î¦Ò=I&+_ªÑöü'0,Wok¶7Ü6£Ž@´Ú1¢ÈRÊÂR3³1VWRi¶"¼¡#ijpíS(ë‡nêH’ˆ—¹Ó[_?ƒ³Ë¤)qÝÍ«¤'!`® C«äfCî;´;n¼uZ y´;1$ÊDz°£ÙùÄKIÇ Á·M•‡™æàYXÊ¡¼{¶ÅùœÜxû´G 'bå4Èz<ç°ù“wlÚSvhcÐ'n~ÍŒwÝ(Ì/&È2`j&Fg*‚É4;K‰ý‡;R¦´HX4VM—³ÕË¥ #èª òÊП¢AštÍÁ5uúõ1¬mŠžÇKÕbTOK¦`ÇÛCÕ/)A"Ê«çÔâ(Qš0h*¬ã2T’Q" Ƥ)kÅ/¼+~N§–ááøׄ=*‡îЛ÷М¼ï#yY †Å+]èÒ}˜ŠG *•]¯EŽvŒ—A 0EÀêF†F"èˆ(v^'{èVDˆãœÅÓ¥¼rÛÂÐqbHŸHšQž——iúÊÏ®\ÕlVÖLކ2n¼+ë®KšHS¢ÑŠÜ ȲbÜ%nDyä`š<Ôˆòû#4òû2½=I˜˜[l*o@š9e”0`-u8M;^ªñreÍ`÷¢ Û'šíÈv›’„)´£hu"ßcÉ×Üx›Q©θ!¿Gw:´Šk«÷×Ú£ÄݶÁÊzVß5ƒm31ú"nDPs”Û9É´f«f¼êy8²s[¶5Ç<í¥Nl{m{*ŠÔY£%XÝðÇ ¿'Ÿ¢!­#П¡‡~¾>$èäÒ˜õ¬¼v­m[Õ?ïâ†AìÓâ{¢©J'õøOÕðk«ön9´P ûî{¦¸ší¡¦"&âåýÖ&¤W©å†ímú#ªE'qµ"…`@mÈéN>3€™&âåŒÇ°Ç¸HyæêRR$¥iRƒ©N„§ž ‰7qûõmôu<óÜJ¢`‹ß]x­#Ž€Oðé¯nbGˆ6ò|ª <útI,¸q ƒ”#ÆÅÑc1µyû•e£®íÃì“|ú¥y²‹ÝSôòkµ;Gžì2Ž;¤(XªŒ×§N3¬«‘n™o$‚'¾ÑÅ£O÷±«˜>h·€Ouqì\HòhtÈWfÆtú*‡c¤ï+öh6_üÚ&žzn€½SL×Xè…ØwðÕ-Vªn;x—ú Úõ õ'üÐR¨4L‚æfµ©9Ž–@YÑ#a <^)úcúiŠ€M’ Þ’)/–ø§vžÇ-§Ô®À§Òˆ€A–êC課Gyõ”)0 ´ÿbl½»7 ½èа¢õÕ6¦þpØM0Q¯·Çøós̬ƒ4Åâ¡ðÌ Ï`wxö…>¾þ>¤^¢œcÀø¶B!]`y€O¥rÅØ£üŸ6€9þÀ-»÷#Ëé&®:{äS†›Ú‡ðÒòYL-tÐùËiLýÙì+]$—n¿"À&ÁEbs½‡ýƒ]XuIT5Ɖ@o£¨ Yš¥¼ëæ×àO¢û¿ù²á"nq#2â”|Å_IøæÂ"îÛƒø#‡^ü&Òñ@(㎻Ž.…àäÿ¦@Ò¾¹s·<øÚ{ùJ*‡OgZ?§c¾.Ÿ=²|¼Ïí?Œn}=2~û ŠÃgÏŒšß‹õ®^¹=²Üë}ñðÜwã­Øèuƒò§u–Õß2>)aýAN(pQu} ¼¡ñhOº„¹‘u©UŸU¤Ü$<ùeñ:ZòÉŒÁÒÔ N¼ñoâ¿~æO0}%Ú£øá<€ßö?`>N#âW̯ {óëÁ#wâóõU|méyD&ºâì&&öŸXÂÛn¿ë½ÍZ{ŒÐ;íÕ±"Xïuq×õ7ã䞃hÊhZ‹-B,Öl¬—ä˸«ÝF¯»¸ûÈ8uðÆaã½ÐñŒuŒ¿0$îi·¹ÙÝÜsÇ=\îvõx/Åç\2{wwÚØ(Æ{×oļ—* ¼$ö0$îê´±ÞëÖëéÒbÙv`µÜË^‰"›!Ã×GÕÏ 5³=ÏÏCýXn0Í\‚JÔ“êU(+`¨Ò,ÃîfSßþv Œ¹"ísQŒ™(Fj2¥ÒyuÙ£Œ6z›¸ëæÛqdå:H]‘ö ¦La½·9ÚcD ªåS*Ð 0G[` ¶”i–!¿§©nÔg 4é ÔœÇ`0ù8âEŽçÂrŠåEÒb¼¦Þx_itvì! ¶˸ñÊŸ!ÑÚ%´‡ ?Pj»¥àfÓU¢€¬|=‹„Bo¾~}è¡H='‚Ôuö–žØÎd›‡± åž&®Jéd†iƒÔilKt…Ú£fi¼Æ„«Õ¤Ÿؘj\Áöˆ1ÈR7þ{Ô;6DKù[³÷ˆÕ¹Síÿ[°Õ)U=…:sÊ&–‡FSµ+uql÷PÜ P¾€£í·OƒXôæ½(•Dk0^?EJ-éÉÉèybe.‚"œw]:Ô Jõ–ºN´]ì"‘7ž®G É©ïá[nü]Ì÷ª­íaÅ%ôr|µí•£(¹’åù׫YÃìáÿ­Nà‘Ma¨p)!È–TðY±Êå/#‰uâjÊžw•Ú£<{J~„ÿž×GøÕ†9$‡I™ˆ‡)s7äðÚ,åø᪇§‹>=ÄrÅËÖg–{ËæºÂ—¯®B}e«Í¢yÓo)°3Ðå6(¬?­,e]¼è¬l^¥š‘²qÉo–¢Wt•¨‰=&ö˜ØcbWß5é°¨6’ S¥“ õÈÍ2-µDùGEgUC£ (K(³Çó B,J»˜B­¯™¥,a&q–êשUåõKd~o•Ò™,|8iiÉçCß[ͨMZ)ÍiŸOžÂuéÃLì1±ÇÄ{\ öþºE!ƒJ+ÑŽ=$á¢bä°”œ8ñ¹*ËûÖ Â²…ÍYŵ•—J0|V|Ù`ׯ¤RŠVÑUͬDïUµ•(;g%džø™ÓH×n”‰=&ö˜Øcb+À5(,ÕH(<¿ºŠsgÎJVðáâ¾.W#á¨kÕ}þ…^ãUl$¬Œ»V¶{b‰=&ö˜ØãÕ²ÇÆÚ:º›]M(é Ïœ^ƯÿÚ¯]bR‘Kú5n§&.‘&_{Lì1ùšØ#˜VWΣÓé@G ºÏ’¯P5v+î¥a¤€[M‡|†ŒxÆðN¶Œ1ŽW2O²Åu_¹†ïÄ{Lì1±Ç+´GÁ[)µ),a’$—âÜ*$ĈìÕöÆÏ¥ Ñ9¦Ç2±ÇÄ{LìqEØ£¨Î¸VE<{æ úý^@­ó µÒ/5sY眄”(dÒ&ö˜Øcb‰=®{Ðu<Š„¶kF8,:r ’jhª3’¬4¾–ç ùÈ0Ô´ÂcÁ!énªäjEõ¢»&-YÍ9*žVñ÷Ááˆzúà‰”$2ªÕŸ#ŽqñÚ^Å¿#×êc‰>­V­8çÄ{\õöÈ_E‚¸V…Óãd‡×Vg_;”®i«ìƒkJ…ÁÑmžžÎmÓŸšR—ÙÈ;¶Ÿ\‚ŒÔ0–Hõþ†ÎÛŸkOf•,U H¨ÉÄà¨#áG$8Ýñde‰Ä)Ù@É«—kR¤x•xϤ7‚GU ïC¼yÑ2½âÙØéë–QU¨r(úˆÖ Š“¢4Ñ*c¥;å=RM')€heQÜ7{LìqÍÙã܆Á.£7ÈÙàâ‚j [O¸ØFBo;Ÿ›nâõ×/b¦%ÈŒõ "8½nðø³gaŒ¹TÙ¯oa#!1?Ó–[̲“ÌÐD½£xÜËÖxºgQÓÜÛ¥åEd¶·ßqŒi^J–òÅod¾ÆÄ÷ˆ <7ßC+jWŽš±f½‹ÇåLÍIõ ÕÁ8&µbcеôØôÅwP<º%ž¬7* ÒУšØcb«Ö‘Ïw þó'¾ˆ[mçÞÅEdÆ\)(¬a5ï+ŠGŸyôç*IDATϽtý[ÑŒ€D‚³ëÄüù¸ÿŽH’æVÒíR£ØªrIPX"Às//ó¿-ŸÃÛï>ˆH…ÂɰxŠ$Ʊâä(¢(è]^Œ6QË^ÎÀóëħ·dÉ(Sðî‹¥Äa™|«Të˜h踤¬a®(©ó~–pLFÇ“¢R%Ë¿„9K•(~OÌ(ïH§`s¢w­èUëÄ{\öHbà³OžÀko؉¿ý7ïB?%qñ}[mˆã\w\–}-I¼õž›ð?,Ïžìâ¶}môS"‰#~ú±—ä|ðo¹~ï°h†¸¸~” Êy˜·-çãÞ;Ë¿ÿÈŸcy-޹Ⱦ.©Kª–})ô(Á¬ŠI%up¥˜$Úá—âõõuÅS5Ñ96¸8ß{ZµóT–§¼ÕXºgÅB¥>¦µ/YJ ‡.š(öMÑc’òsõ=²*ÚâU•êRµÅj žO†{LìqíØ£ÛÏppÿvlô²"ÍsQ))^¢×\ÌkÑjDœž™+ÒWî–7û)§:-dY6 J{!ÑÓeÿ°×‹¢("$ªDOIøÂœ©±p`D‚êYš·-¯HBê¦Ì¡ŠÜ³@<á{hYI_3ØKÌŽ*Ò1,ø„’aIª(TVâv?o+Ö3-E'u;ôUµ7¦ÕÂÜ­{¹Z—{LìqÕÛ££eàQâŽÿeŒÁüt kÝÔh&Ë0?ÓÆêFÓSMƒ1 03ÕD`£oŠÏ½àšIíîKšŠIhp¶ãØ{m–e­ò(Ê«ïišÚŸ1H’ÄŽ¥î}áõõû/Õ—ÖD—‚;¸ˆäm(_Öíw`âÂsÄñÖ)ˆˆˆV«Çsï–X¡ÿK¡m)^+.»P,ã²ãQ´æ¼ÃÐ.yål÷æÜCê{—âõRŒßúZ6s­•…¥XöÅçŠeåðv¯+œ=)gB;”6Á‰=&ö¸vì5Ç4 ¥æÃþ6=ÕÂóòºº*é ÊüL[~öçÞ+$ðŸ~ëwðÇ Ï~ãÒn6ä÷~õgå®{_xAŒ1cNÍïa¿ e7Oh¤”“’ )ƉãûÐ/Ëßyç÷àïüÀß“ßþÄgÇ1Œ1BRHJš¦rüøq|ô£E’$(Ÿ$‰¼ÿýïlj'äãÿ¸ÄqlßS|â8–Oüö¿‘w¼ãoɇ?þI’D¿Æ{m9®!ß@ðŒ#ÐD/±Jt^©êe¹öjA/¥°ì)Bj!³Ç‹/¾\}©,F— Í¯.VyÞÒdEç«\ßÅ¿,ÕÆ,üÒsd{ §†i%"Y F¨ôèË5M©Ô\så.)çD‰ ~€W Ê]K„ ½Cq°: ÊU,e¢|b‰=® {”ï3 »™r[ ®ý["Àç>ûv»]¦YfÕ?ñGÈÙé&víÚ…¯|åË8vì{Ý.?ñèi|ñ‘ÏqiçnÎN·87Ýd§èÏ?«n<ÁkûyÈh÷Ð`’$üÍŸùa<;û:þ?û}üî•O<ŒÁ`€ÌÆqÌ8ŽÙl&8wî¾òèc€ò÷øÉO~Û·oç¶mÛ |:žþôóß9ÅO~òãüƒ_ýßùøÓg™¦%MñzA–eˆ½ßÅdb`Z«üU3`L½JÔúcQXGz·S©Ü*ªÿ ’v³á^XÞQb]aÈ.aîÚOJ©~ù *DLYi ŠE±P½Ó*–á©sskæÝ…õÁ:Ö0‰=&ö¸Fìa‘ MÆE|ˆ¢{÷îÁŽ…ÌO·ÍV ëÝ ~õ+h·Ûرk~â'ÿ?þ?Åé.¾ï;Þˆ7Üu7þéû­éÖÅ}~ñÍ%i–÷—×x°Úo ÛëâøñH¦ðþÉû` ÐLOâG¾çíxàÁ7á—ã#ؽ{>ûÁ÷ü­ïÄý÷Þ‹_ÿègó{k6qêÔ)|ýëO~ñý^Üsï=xÇC? Æ1¾zü<þþ;^÷½çïã;Þýc¸i ­VOýéïâ÷Þ»ïýv<üÅÐl6ñ†ÛŽàÇä]xà¾ûð#?ýKH dÅXËñÖ%#Ôÿ”̼(TŠE¦è‡£|îÝâQO²Ó½÷ŸZ)ËmÔõÉà)ÎX«ëN²ÒÄ!Ø8c(õ °\i‰CË>L›º¨r°¦»É–2uFܯ¸V¢úRƒŒ{LìqØÃ¦þÜÇ^è7l_Ú.¯Ííxðo’7¾éÛäÍoùèõzèõz8¿º ‰"œ8q¿ô_‘w½û‡ñ+¿üKøÙ¿ýÜõ?ˆ¿üü°öøoâá?}ZIx} þ ®Èõ!Èa…_ƒ4Ã}à_ãæìxÿ/þK|Ƿ݇üî§Ðj5ðÏßõƒøžÿëa|Æ÷½å&ôÖ7ðâ¾»ñûùÈ#øÿâgì…ûý¾dQŒÇ~ëòÙÙ·à |?û¿Ìâ]?úAì\š“—^8†ÿü¹gð®w½­öÐßÀ{þé¿ÅüÄgä¯>õ!üãðÀc˜Æ?ûÐoásŸÿ<ן’Çž|VLf¶Brù0Þ²ÌC ¯‰^öÂ>²¢8!4ÖÜkTuëÚÑ?h”zÑÄ/´rôEù’ž®½…ÊØAè,Õòİ'j(ŽNS”UÈS/&·Âü›¶K.„TÞ®øPß2±ÇÄ×”=òC'Ë2év7a /ªÚ´qòäIüÅç‘ééi4 äž{ïCš0è÷™¦˜,•ãÇ^ÆÊÊY=½‚ïÿÒGñãŸFs×]8²—èu»%]¹w`ÖŒÇ Ø’˜È²T¸¢d-¤ôz]è:T<ÕÁC?ôy¨¸Ôw½õmüÉï›üþÓ«øù}‚µµ5lÛžyæ(~à΃Ön³³ùÆnŒA¯×Elúò;}ן–û±¢¶üðwàùµv,É/¼û­xèÍ÷áx~æïÞÏžÂïüúÿ‰ók›òƒï| àæ¥iY`h0»ë0ú›§Ðëm“"&ÈÿÙHªd‹1)Ü›œ\EêbñCoæNŒ”*zõ)r…:q­þ¢A-–(ABˆ$Uˆ^‡™åÄøhD…Œ)sÞq…çxÚPœöïeƒ±ûŸÀ`‰ø‡¶,]Æ‚{Çá€ì\çé Çñ0±ÇÄW¹=ìifHcD YÇŽ; «V ’@‘HN?Éé™ii4رcyÚ¶øeŠoR|÷‡åà;‚ÿÇmSòÜÑÇÐ5@fê c[C_ËÏ©…Å4t’å³³sø¡ŸúEyû[ߌïûΜ“ÍFëºeV~ãó/áÞ·_ùóßG{÷íèeY9_â7‡ëý ?øºíøÁ[ñk÷;ôø×_ú<žzáÖ{¼ë=ïÅ÷¾ç½<|ðyï?zœwß{—üôÏ¿_{äÿËÑ_E{9ó”U©ÈîPÞ4¿Ö%XƒéR]Eâžlý¤‹OSãõ¯ní7„ÀBkt•Iç4uHû¼Ò&Z¼Z)tE»ê_¾‹^ÎW5井ÉJê51ËðgHGé® ¹ÓÛåè.â•2‹Þ/Q©„‰=&ö¸&ìaOš&ËÊoªŸ‡}“&Ã`ÐÃë^÷:ìÝ»»wíÄ® h pï}÷#ŽÛ¶avvÍFƒbÇŽ%œ_íâýʇñø¿ù‡xÃîÆþÂo ;áF~¶þof)HÃ<4Iª×¯olâç¾ÿ|ìß½—÷ßwÞúïæOü³…©,ÅÏýÞŸqå#ÿœßõ?½“Ïf×a¶`qaé`Ü¿o`ß¾½ˆ¢XpÇ÷ÿ$Þ²òY¼ùM÷ã-oÿ^¼ÔÃt;A§ÕÂ-GŽào|3>ð_þ+Òþ&>ð3ÿ~è»Þ†{ï{ÿ÷çõ“û÷çIšbaaI’&öÞ²âÄžÖßýß6=ôΟ?_„mBÅg&¤änŠ?M*˜&]&6ç~ÌéÒ M(Æ7GPégꆫœWN5'Õ¥àØ4-‘eŸoÿÃ&xDUòºÜ+ËoŸžœ#=b‡b Û<@¸BX´[?.§ŸWB7=«¢äÄ{\ýöh$}î%ìšKxûáe‚!1•/MS´Z-|ßCÿ³Dq”{Í2cØh$ø¹÷þÞp×ÝHÓé`€,Ëdzf++ç³Û–0?› ·ÞÅ™s+BXql¹XL·›òŸ>ñW|ðÎ[pûþ6ÐHÿåϞ÷߱;·uÜ bÙ¶°Íú'ÝõUüÅg>‡òS?…ƒ‡oÄütOýkòïÿÃoò5¯¹çÏŸ‡1Û—vÈéåSܾ´$çWVÐn·¹¾¶*©9ÎtZ€k+g7Z""lw¦+gÐËJ,‹ Û€YogW7°´´§—O!Š"ÌÌÌH¯×Cš¦öÞg§Zøw}o{ðÙ;'l´Úò¡þ&²¢ñ‰â»A ÕEŸeHNÍzT¤®+ÏÓ:ŽdµP·hßñh“Ò%è\-î$ föº¾Tׯ §Yrű¥wÓ[!LŒOJW°è†ETê&*8~ŠÚ1Oì1±ÇUkEžÃ* Ö8Zyå(B¿?À>ü)2èb—(ÂùóçqîÜŠw­sçÎÙ›>vçÏúÖòÙ# 3cjX3rfLÒHqæô²÷!÷ݾüå/y‡+++8·²bçúôéeæÿžÖÖ{«èm¬ªËoÖ76‚»Iók(àÈéÓË€äD‰çWW+œY™1a†¶†WfQ$8y¥x¦t'¯ÿHÏu’‚j%l­Î½#l´*­°¶J©ÛjÅ_W¬`ñ¤M²^ûáv€ÑB +½‚iÙâóö‹‹¥í¢£†¤¨ wNñ2_é@ÄÇÄ«œnÉ–¢ Ž|B­ëJ€²÷þS|®Ÿ%¢ÉçDfòUg))<Š[¡Ô´De}V•Óô˜è€:å®R^`b‰=®{Âísm=zo¸yw)5j£Ûêç­˜feÄ{ÆU$¬¼ª7ècmu토L‹’ÀÒ|‡Ï;ƒëwÏ«®˜‘c~%úìã²ñŽúœ`,‚no@ ‰,ò®”yU?×9Þ²&¡wäH)Ÿçê- q(¿’g”ê©T\:” gÒgðø *MZ¢‰íÄB;U:œ~nSé%õkfV8¥Ù`qýùÔØ]^êÀÏU;²»‰=&ö¸ªí‘ÈnXıSKü·ù´$f8…cE _}«d+¿ºI‹ ßÛÄݯ½‡–ZH³¼Æ•eÄ=Gvà“ù |辂¬hÊ{_—*ç3¬¢€!å–ai&*ï¡x®˜_ô²rV„Lƒ5T×J¾Yí=z*rNA•æ”~¼¬ÐÁG5Úõ[z^*‡LMÇjZ®ÖÙ†rGm°²Ô^Ž»ä/56=öTºîf*7å¾$¾€]Þsb‰=®-{tš‚ï~ðFœyíõôU/(Ò¸FÛQï¹ ^ÇHÈ¥™”¢K0 fš‚ï~ðœÛ0à…k”óŒéÒÌ$·ÏD MµBø:·îÿéáø|~Àl£TÚœ¡é‚ý7QÅJHXá AŽÔ¼º[±ñÀºqž{¨¼N}%‚ăHB  ÚypÈŠ!¦!ƒ¹S»@hÐ`›šØcb«ÞÆ­Ø·a¬”ÑÖ7ò¸Ð׌OfHÜdfˆVL왓Q‘ÔÅŒóBÇwÑóFä4,ôžGAÒl6Ñh4¥Óé\lHxÙŠR#þ6*씣+¦(u1E‰=&ö˜ØãʶGã°It¦:’Ä1å_¼ïç¹}qý~ÿâÄr/‘ÀïUôõjÎÉÄ{Lì1±ÇeŸ“$ŽqìØ1üÿ•þ+\°8×IEND®B`‚KCemu-0.5.1/doc/window-select-profile_small.png0000644000175000017500000033212512417262523021644 0ustar glaubitzglaubitz‰PNG  IHDR—‰Fº~æsRGB®Îé IDATxÚìwxåµðS¶ïjWZuÉ–åޱ雰@è @r’K &p¹_Hn.HÐZè!˜j‚1¸ônw[²dõ¾½ÌÎÌ÷Çj×’¼eV6)dÏóì£ÕÎÌ;ï{Þrú9±߽IX¸Ï|ᆫìûÕï©€0ü)BŠP„"üB¡@>yé÷À ¿+È)ÂrØÙמ^QQþ“£Ž8LLEÔ¡E(¿7ae‚ $)G–u]GS@`õô¹ë‚¡Ÿ_}Î!+€ÃξöôeK~bÎÜyô…ôáG~Oý£+BŠP„"|)(‹ …U¶núE‰g•ct]G–e¦ÏœK©Ó„Çiåƒ?åÝwÞ>K¨¨(ÿÉœ¹óؾ³GwX-BMK`wz õ:V» Q’êíÀlµáòTú’”­Eø’€$Iˆ‚€¦ièèH¢D\Q0É2:H$þAk^dYBUU$IBU54MC–%A@QvõM×uDQD–%%‘~¾EÈI[ð…¬Yó 5^“&Õ¢ªj†µ£#I";:úùøÃ÷˜¿Ï¾„Ca*ë&SR²îှ¯œvÖ·õoµIÓT4UE’en^ñunøãû¬~êÜõ³ øÙýoQY×ȯ.;Q’éjÝÊÉß¾ŠÅ_=›x4‚Xœ•/è˜L2’(‰Æ°Z̨š6|PI–‘e UU‰+‰Ðá• ˆ’„¦ªè$S ݆,%¹v}”¤!Fxç£õ8ìtMC%¦Mš€Íf)í£ézš£„$3ŸúM–$¶5·1«ÖÂôyÕll"‹ròÜÿÊŽÛ¿–h<Áöö>êªËP5}à ©Æt†%žÔxuTUGDQæA…4qJ]’ÄÌßE1ÙGÚ;º9jn ïlìàà©ellí§Ù¢Úg~­÷›:™2±†h,N$®2ÐÛÉ©Vòò§;™8a‚œ]g·yI°ÑsV„C¶R×A×q»ìÄâqÐ4^}ëclvóg4¢ë:k64 ‡9xálšJ‰Óžd^4=µ7MrŠ­Sµ¤x­i:»Žæüâ‡ÇqÒ·¯FÓuºÚZ°9Ý4múŒ#N¾€cκ„ Aд"KôeQiÞÙÅa³J˜Ó8…kú˜‰•.?}.o|ÖÆ¶ön´xˆ£ÖQb¯Äe7±³7ÄŸw1±¾†„ªÒÑç#¦$(qÚðº´tôc6ËÄ•&IÄa·2ä:e%XÌ2 U§µ½‹‰5å˜M]}>j*<Ä•[[“×Ä”P€p(JÈ×Ãï/?’M;ú0É"³Ì_Ý‚$×Ò;àG’D⊊Ëa¥Ò[BwŸ¡@“,Råuc·Yز£“}&Ú8iÉL®¼s5‘¸À¼F7 gÖóë?}À)‡ÉÛëÚø´¥›:@Ó5dQ¢(È ?„$‰XÍ&*Ê\È’ÄÎÎì6 ¥.á]}>&ÕU$õÙƒþ¢ P^ê¢Äi£ig¥n—ÖÎ>\n§ŽÞA$I¢¢ÌÍ–æ|ãˆCyè/ë8gé 6îôÑß7Èò%³‘$‰^y³ÙŒÇegÀdJµƒ£œÆ3ï´¢ ÐÙ3D4®à´[)/u! ;»% mXÚó¸ì¸6TMC(ªÑþí@Ó’ ˆ¦iØ,^{çcÎ9z݃!ÞÚØŒ$Š8­„úÊz\µÃ^HBÕ0™M¨Ã„Iätƒú®® øº™2÷ †ú{øéù‡rÙožE”LÇ··Š·^|ˆý<MS‹v—/2 Ô„F<eþÔÉ|ÞÜO¥Kàê³öã«7°¡#Ž™ÿï܃xáí<õv+‹L׆Û]‚/¡»»“ý¦”á²ÙÙÖá§½+†$Âôr EÓqÙMø‚1|‘( '8ˆÆšº{qz*èã€+:z@¶Sn #I½>ôx˜C&[ùdG•UIIFðYÐP‚ÀíÏ®#Sùõ÷sæ‘Ó¹æ¾w9mI#Áˆ‚Çi¦×åÃ5=̨³1gª“P,ÁšævJJ+°åÄÅs@€£ö›ÄæŽõ6ÎüÉÓº`2ª¦ñys?en'qEEG (€ÇeálŠªÑ3aGg’ÉBci‚@4N[ЬÙw‚•]} JXõMö ªM=>6w÷³`¢…öÁ!6÷0§ÖÌ@8ÀŽ6?“ÊDIfÛŽVÎ8rë¶õpæÒyÜü§÷p–VáqšñºílmäÌÉÅÚŠrâþ¬ÝÖ….šÙÞÔ¼e.;­ÝAÚ:"˜Íf&¹4T¬v³™mƒøt §ÃŽ:,Má߈¸è +TxKùxs?üúþ„#Ÿ£g|e·?õ1UåeDãIqÊïKƒÅ´ŠBÓ†¥—1l$”8|•3®¾€ˆà!nInèm;ÚiéàÑ{nE]¨‰8ª¦?_‚¦iÄ*ºgB•›º '—ã ~ûäÇìô˘d‘SO¦¥ËÇkkzX0g ã@2™èïéàªoìKLIðÑæn.:e!Ó«MlßÑÊ'îϳj„â\têþ,žSͦƒœµt':‘>ßFµGâ¬c …èêéãŒ#grèÜ:Ú»û ý|ýèùD‚~⊊¦i¢ÈÀŸS+ùts’Ù†Ëé ®¨(ªN4äœcçsÖѳ錰n[Kx9ó+3ø|GªÜ\zê<º:;Pu¦öAÞ^׆UT8kÙ<ê+ÜHz‡ÍBS§‡ÃŠ’H ë:Ñh„J·?ïàu휴d:'RdžÍ[ùîÉû3¹¦„í;;™Zmçìc°aëj]W}0Í~ZºýÌmð°cgß:~!3ë]ô÷vñ“ö£¶ÔB<4ÈN;€hLÁm—ð…b¼ûy]}~åñ˜µCC~*Ëœ¨ªÆÖ¶!Î?a_¾²O%k6ngÁ´jš:†àG§ÏÃn•y{]Ë™Ã!3Ü|¾iÿqÊœ~ÄL6µô1©ÖË5ç.¢iÇN„a5^q_üû)a!S¨­òÒæ¹éáw8sÙ\¾~ô\nzô]Z‡êªË‰Ä”¤zxXÚÑ´¤zXN±«ÑxMUI`ÆÛÿß;ÚÍÜ)›©Ør7Ë‚Ãm/3cÁ¡”÷8¶®<–¶€È%‡WPøˆ6q*&M¡è‰òå€P4yÉ’D×É ?–ö æÕóéºÍ;€û_ø ·ÇM0E×Ái·²ak ÿyâLª½%È’H¹Û†ÃfavColtžzc áH €§ÿoýAÖ®Aâ G¢ÌšTAKç ±„H‰]BE6µàvÙ©«òrúOžcîÌÉèèÄ MWPb1&Tº0›dL´3cbV³ÌÏ®åÀy“ˆÅî}a kwÆ™RéæŒ£æò_w½NPp±òÕÜyűèjœh\BI¨lÙ9ÈÎAÅûxé QTª]hšÊ`(N="ÑX “ÉD8ª°n{«ÜDbq‚Q…ªRu.‰[;üØÌ25å.šÚ‘d3kÒâä%Óùpc;o¬mÇétÑÖãGEÎ>f>Ý!,&‰ï¼í½~>kÄã°bUæ4VP“6‹IÀ[bàÑÕ›Hè]ý~üáU¥Ì&‰Í­œ³l6ª<èkÚ¨.s`·šY8­Šg^߈¦é<¶zM½ ̛̓\Ž J$T ‘„’@Lf‰DÒéG–eqØ;­¸e¾\’ Ã6DBÑq%Ž/b^})q%i£¬¯tÓ¼¡_8 ˆi{]l˜é#ýë°¡SÓuBŠ“…Õ+±Øb¼úÒ3LÒ®!"zyôw7pÁ dzxÞZö;xyc¼ž^æ”=EXqžH·Qüüë~Á³'•Ó3âŠ;^C®»à`šš› ÇTUÇë¶30ÀŒÒÞÙ¢ª„Ã!L¯áOwÐÔ>ˆÜôèÛüá/ëX8£0FŸ/Ê¢y†m¨òX¨ö:iêôƒ®1»¡Œ=~º‡¢ØL:Õ^ýAlV ë6larC 6«•D"iÔ„"ÔW8E‘Ï›zPT•Ï›û¸ùÉ5Dt+U¥6âŠÊ`H¥Äe£Äš< ›ºÄã ̪FQDà´J¸ìfúýQ,&‘ºr}¾è0³¡œõÍ}ØmvªŠ,K´´wsô|/ºp ·ÓÊ”ÚR>ÞÔÁŒ ^dYb{‡ŸX4ÆÌ/m½~*Ë=|°¹ÿ}àMZº}œ}Ì|Î:rmÝý„" ‹æM ¶ÜÉ£«ÖqÜÁS™5©œÇ^Y„Æ5gïËÂéÕt†Ùof Uc gß5t÷‰kµ^n‡•;úØgZ5š¦ÑÒ5ÈâùY»½›Ï›{EÛŸü_>ö>ó§Õ‰Æè*¸l&fOò²©¥‡ÓAk['ŸoØŒ$‰$T•?Y‡ÏÀd6 _Û’tRдâÞùR}´¤£ Ë2[›ÛX¶°‚sËïžz»ž~Ÿo.ÍÒ•lmÚ‰,ËI'AH·¡£#&¥ =mé×”1g /®²ß±å´ŠÄêî™^VÃê­ ^ø¬Mаò£ªÇ…&,Zñó¯þ¡!Gí7‰–ÎAìN77?µ–@8Î/ÿãP+ÜùôÇ}ÀdŽšWF=ÊÉÕÒ×ÛK©ÇÃ+l§±ÖƒÅ,£iP[YJ[o„Y eج&¶¶vsä~“èê0R(uH¸66·ôc·%‰Æ¼)ÕìÛèä¤C§Ð닲ik ^} ‹¦ÚÙÖÒ‰iØzÐdÖD7v«™¿¼ßÂ΀…îˆ Oy SçµárXé QZb§Ó§g À¹Ëf±°ÞÄW™Â­O}Œhqâ¶I˜Í&:úƒ¨‰ó§T2à EØf-›{±X,hjÒÆ†™9± «ÙDŸ/‚ÛiAÞßÐŽÅ,Ϫà+ûTRWQÂÎnÑhœÃ÷©¥ÂãäÓ-]ôÙ´s·ÓÉ`0BU©ƒ§^ßH0¢àrXhëbc[»‰Ê2¾PœP$ÎœÆ ü¡([[zXvàdZº‡FUªÜflV3¬ßÉA³k€`‚×>ÙAU©·ÃB\Ѩ¯òÐ1cRµ ‡ÝJ÷`=gþÔj¶·ÑÚ9À×ö¯äþ/åÓÏ·±sçNVþì$4].Ê”ÿêžb¢È/@C©F¿_A5»‘$‘¾Þ^æOtà‹èìè‹ãµëL©q]ƒú£&Ü%.:;»™\i¦ªÔ†?œ ©'†d¶ã–ÃXÍ"›»æÖYÆ jÌz„úR‰­½§ %4HC…I’ÄpX uPDdê]q†"1Ñ…Í’t.‰ÄâØ ã´@{@ÂSR’Ö‡¢q„pXÚý2ÞR7¾@ˆDÄǬ %H¢ÀÆ~ÑŽ»ÄI<4HGdÇ €ŽÄ„’Ca¾ÆœZ3;úâ˜ìdI$åaöÒXiÁj1Ñë‹á²Àö^ I©th”{lôúâØÍ:C*ªìD™ViÃn•ØÑ¤7,âr:1©Êì"›»”ØMÔ–èôDp"‰:²`J‹¡Š®©Dý æÖYèõ+„t;6!BM‰ÄÚö8“¼f$A¥7j!Ž2¡T¤®ÜN(ª²­;‚hvฬ킮Òè… ’—Âeiš“×J5vj¨’çðµ¶€‰Ò'jÑuùK&“™þ®L¢†»z ±XŒæÖl6+5•^t]§»o€P8Ê”Iu‚DgË6 e5“PU¾îvä”ÂTÓ54]CL±S]°æÍ.j(Å£¹éê¸ÿá~t6†,^ð ^3X”*I#¦Ø¿:¨š†»Äɶþ 6«›,¡ë:•¬íb·™©©*!ŽòÁŽ( `³Z(qZ‰+ •Uå´ùÃlë`6ɸ]ndId ¤“ˆªL¬+ek¿«ÙA‰ÓJ4.óyW˜Š27 £ÚÜ¬ïŠ *f“…6¿B¹Ç…( 4 jØ,&ì™Äp¼ˆÕb"±ÑçS(s;ˆ'ò8ج&;}>¯ÛI$Çn³ ˜¼|ÖF×Áí*Åi6% ’ÅÅÆž0^IÙ>Äf±RYae]§O‰IÒ©(X]6õDÐQ°š-´ùâ”—zÐ4öP„CqlVÑ!…§ ›YF‘ݬëŒPã8l6ÊJ­è:„vúúãTVz‰+*›zCØ­œvK’E]¼ßÃj1¡j"²$S_[Ææ^v›·ÍB8&±¡'B}M%}0 U¥´Ä†Óa§;fǶ&YÂírc’$BèR(ó8ÐuõÝ<®JÌ20ôû¼;š–¼VZâÂn– „R׆qžBzþå!¡©Øí:;Û°—ë$4iS&¡i:J"(]SU…( Äâ †|>*Ê'««õaÉåké'ŸyQщ¦ª(‚•©±7™nÛFL³k˜L¡°ŠÕ’äØ,椱ÇL”á™l·,Ƭ‡“Z¶"|)’Ó{énIÒ}¢ ŒJ3¢¥#ᇇϚ]€É JUÕSÁ…Ãj8QFˆÖÉÌô[PÕdP¢<ªOBº¯©g’‡¾0j»_ä £Æ(°«/#ß§i:²¼+¨1Ó»õ$"ÄÔX’ò)ü¢0"PT@…81ö‘ÏKBRUví‡UÃÆgªŸÉ`MDBKãy ¾?•.F伈$I»=›éš˜ã Û†‘k™Úû¾á$Ç>ª¿Ãmí6–áß3â.Ãý#ÿÄÝq›jOÏ‘ý‰çl¸;/£Æ,ŽiKÙVæù,— ü Uu ”ºKH$Ùud‹³”þ!L&S27Ÿ$#Ot+lknů¹ôá”heÜÔÝE‰¥E(B¾<ä¶·t"É&ò ¦ºªÚ…($Å A” :ˆì¥‡c÷ñPRV…šPÒbQŠP„"¡†ˆÑ $›LlßÔ<RÙÖjjªˆÇâ €ÕjC‹ž_E(BŠP kDÃa4MÃjµ"[‘eQ SEb±8v›æ­´µíD–dŠ. E(BŠP„\W'OÁå*!¡Ç‰)²éÊc¢4î·íl¥¼¢—«¤˜z»E(BŠ,V+­-;ð RZV–ô†FdE–mЇ &•¸=¸\®´dŠP„"áË »êù>õu›ÍÎàÀ EÙÕ»—ôýÃÙ-µ¢äR„"¡_r0›Í˜Mf¢Ñ(6«¸'§‰M.Ð45]|$²Ú ’JíÅà©\mò¾T€Ùž¼d逵1íæ{O¦ëcÛÊö7_›…öÉNrõ·¶2õ­~fšƒ|ýý{ޝqíËÈÍ›íÙl{`¼ýÝ“}ZÞdzWsµ[è>,ôÜ12{²ÿǾËÈ8Çsåºw,±0™L òú[oÒÛßCy©—×N©§”D"±Û™“ _cAÏDŒýmägì½Ù^>òz®çÆ>ŸéÞLß3µ›­ÿFÇš­¿Ùpëݹ&%ӽٞυ§lø)ä]cÛÏwø‚»””l¤oñšaÓŒg-æêg®g iwä½ùˆLcÈDŒÆnø\¸Ëµ²íÅl8Í„Ÿ|íæÂ¯wÞr½s,3cäœ2²—3ÍK¦ïiTüfjwd›))!Û³c¯¥ž5™L˜Íædð£(át8‰F£ÜõÀݼ½æmbƒüßš·yð±‡0Ér2vEÓ±˜-˜MfÄŰä2r$‰ÝœL[!f\ÀF&.S‡…tá™]©+4mDZŒá¶‰¢(¦ß?¶#‡z6.Áˆ¤‘‹ˉ•Z‰D:jZUU$Iu_ª»$IY¹’Ôý©çs-Ø\ý5rˆæÂÏX\eÂ]®9ȶ^òŸ \V¾~ŒÚÀ˜BÖE¦C Û†Ù~¶¾!0…2gÙpd„{5zO¾µ“m-%VélY$ƒ\ÏBœr­C#ÒM¦5’md#n&“‰þ~Vþù ¶6o¥ÄéæÔãOFQôúûXpÀ"áU´loáG¢½§ƒöÎvæÍ˜ÃÉÇŸLEEñx<™J(Ḛ̂ZLÓ4Ìf3eee£ì0ÉTýÑh”¸¢däl Qݤ:,IN§3™J@ ƒX­V‰¡P(MLÊËˉD"D"Ä9+ •Ǿ?×äŽýkd‘ä$,6mEE>ŸAðzËL߯in·t 0jÜc¦$Ix½^†††PU5£Hžk<¹Ô0cç2±Ì$õì±ZŒñ©ÅŒ¨Æ«fÙSµ˜^€Z,›šbo«®2á#ßÿÙÖÆxÕbãQïéÞ/TíeTåZ¨Zl¼cÏt¯¢(üîwãÌÙw.@€?<þµåµ”W–DÒÌz4åÍÿ}ö߇ùæ³uó6~ÿÀÝ\yñˆ’hï†Õbee¥¼þúë˜-VJÜÌ+«iÓgð³Ÿÿ_ .SÕÏ$®¦ËŸþô§ÔÕÕ#J2<ø ‹—,áÇW]Eù0õ´ÙlxJËøýïïÂëõ’.=›òv(T-Vˆj'›¸\(§’Ö 0¬ù|~DIfíÚµ|øÑG¢ŒßHK)å•sìqœtÊ©”WTW”Q’VêN§“-[¶ ˆ---˜Íæ¬\g6n3—Z,›Ý —ZˆŠ0g›zöM”K-f„ù1²ò©“ U‹éIý !µX>I)çod\ùÔbFÔÀ™¸ê½¡3joÏ;¨° Q‹å²Sï-µX®õžéšÕjeÝúuD´“§4F±ÛíÌœ?“¦Ö¦áüaI ”ßç'0à€CHæŒ)Ìœ=ƒP"DóŽf¬«!u¥á0|Q”ˆÅã$ ¾sá…ÈÃüÛ·oçºë®çý÷?àñ?=6.cÿX¤9Nn¼é—Üð‹9õÔSpØì·ï~\|ñ%ÔÔÔ»6V   ŒåÞ“ çåF ý=›j`Ð 1¨ªŠÅb欳¾×[ŽªªœyƘͦQÏ÷ôô`³Ùv#NcՕʰs¤Ô2®uOæs<V›Ð ‡BD"‘Q™s3Í¥ÙlÆép gaˆF„ÑôuY–q{JÀb±`³;’ãTâøQ}1²±s¨ã9ôvOÈ{Xå¢s©0öD%fô€ËeoÊÖV.£±Õ¥œçú-SŸrÝot¾ó©ˆÆ«ÞË7þ\‡³‘1æó*+D=š Ç…x2æÄÉàø›~ûKÃC¸=n6­Û„Édbâ䉔xJðVxéíê%%Ï/YÂSæA”DBÁm;ÚˆF£”–•òú‡o°aË~páEiMÊôGBWWW2ÀRÓ0™Lœÿ­oqùå?¢»§»ÝÉ««_¡yÇÎ?ï<Þy÷]š¶7‡8å”S(//gÆ ¬Y»–h$JUU%‹/Æb± ( ‘H„—y˜îžnâJœÇÿôÍ;vpÔWŽ¢¥eÞòr<à€412bÄE‘ÁÁ!^{íuz{{ÅÀÓl IDATÐu˜2e2xÄ“\½ÍfcÛ¶í¼ö·×8÷œsÒ,Š"Š¢póÍ¿aÙÒ¥Ô××# qEáÅ_¤»§Y’¨¯¯gÁ‚˜L&ü~?<ø Ë–.¥¶¶€H$‹/¾D8æÈ#Ž ¼¼MÓ…B<üð#zè¡L™2€-[¶°fÍZÂáv‡ƒ9sæ0{Ö,À¨M“$Úð—¿þ•¾Þ^¬V‹]DMu5áp8³¥B×q8^{í5zûú0›Lì·ß~L:•`0ˆÙl¦¿¿Ÿ{î¹—ï|çBšššøè£H$T&²hÑ""‘HNp¡n‹¹ì F8A#mçs\ØS®Ùh[ÙŒÒù$¾BŒå…àf¼x¡çF¾¶rõ9ŽŒô§~•P YŸãq0²N<ïr8yæ…?ÓãïaÊÌihšJý¤zúؾi;%ž¦ÎšŠÛãÆ7äC‰)x+½È²ÌöÍÛ¢nbe•eÉÒ’Ħ ›øëê—9ýäÓ…B{nÐ ^¯·Û¦ªˆ²‰WV½ €c˜»}øáGxð¡‡Ø¼i3¿úõ¯ÓÏrÊ)Ü~û\ùã"óçÏç±?>ÊôéÓioogù9çÐÙÙÅ7Îú&7Üp=?ùɵwì±<ûÜsøý~C}µX,´´´°xÉa Žº¶|ùrn¿íÖdß.Þ~ûm.¿üG,?ûì´w–$IƒA.¿üG<ðÀýÌœ9“öövÎýÖy¼ñÆ£Úûú׿ÎÊ•+iooç²Ë.ç²K/åúë¯C6lØÈòsÎàÖßþ–þð"B¡0/¿ü2ÿyñÅ<ùÄJî»/¿þõ¯¸âŠ»áŽ;nçœåËñù|X­Vúûú8gùryôÑô½555<÷쟙1cFF·_ÇÃ{ï½ÏyçŸÏöíÛw½Ãlá–[~Ãyç‡(Š455±âÊ+àŽ;ï…ïË/¿Œë¯»ŸÏ—ÆS>ùQ鯰Aâ\òô÷Ä(<^ƒ~¾g÷$ÎeoÇ£ý#â\þýLŒR¡}ßÛýñŽ=uM6É4íh¢¤Ì š†6\”¯¼²o…—æ­Í¬ýh-5õ5¬ÿl=’$1{þlÖ}²“Ùļýç!‰RÒžM²Ð]yE=}½D£Ñœ8(0Î%ù÷µ¿ýU«V±úÕWùõ¯ŲcŽ¥±±‘E‹ ¢¢€'ŸzŠ'Ÿ|‚Žö6"áï½ÿ>—]~9dzŒuk×Ðß×ËC>ÈÚµk9÷Üo ©®®F×u¦NÊᇆ®ë´´ìàÇW^‰Åb¡¢²ÂQ/õIFŽÂé§ŸÆ»ï¼MÛÎVZv4síO~Â#<Â#<’´]è6»-ó$ «ŸlV+’lâöÛoç7Þàûïggk+­;šyìdÖ¬™hj‚ºº:N;õTþüç?{µÁ'Ÿ|€Ëåâƒ>@‰+8ž{þy&OžÌ’Å‹I(qJ\%üô§×²aýçtwuòчpÐrÉ%—²iÓ¦¤:`·ÛÙ´y3míí¼ûî;ô÷õòâ ÏÓÛÛËÕÿuMFÎK–e:::øÚ‰'âv»yõÕÕtv´³qÃzŽ=î¾Ñøè£1™LéEsëm·ñóŸÿœÎŽvv47qê)§ð›ßÜÌ믿ŽÓéLâ×€±8—ñÒH\L.?þLmç’Ë! 8£ÆÿLjº\q)¹\d sÉeHÏ6Þ8—\NFŒû…0&ã‰s1.aÔ Ÿ­ÍBÖ­¡8ƒš¦á-ó G‘M&DQÄl6#JÉðsgPQ]Á‡o}HYyž2¾ý!%îfΛ‰$Jˆ’ˆÙbF’$d“L0 Äåå ´G6—dG“œSO=mÔ„믻Žêêj@'®$í Üÿ?ü0zzz[o½•©S§òÈÃ#Š"ñxœsÎ=EQ¸à Yýê«|í„v3Ö¦Jê*Š‚šP ác±êë¹ûî{@OÆÍˆ’ÄOö36lØÀÝ÷ÜË÷¿ÿ}t]CÏ–êFOUàLþmïè@E¾züqxË’^jßøÆ™hšFÿÀå^/ .ä©§Ÿ¦½½ºº:žáy–,YÂÔ)Sxõµ×Àå*áÃ>dê”)TV×ÐÑÞÎù矇l2£§T¨¬ªæµ×^ÅîpòÊ+«¹ì²K…BTUV²òñ?a·Û‰F£|õøX±â n¸á'ÝfwpÛm×âp8x÷·1[¬$”8Õ5µüùÏÏ2iR÷Ü{/‹—,I?ÿË›nâû]D_o‡ƒ[oý-O?ó Ÿ­Yòe˃ãR½5†çÓתzû¢ŒÅ_ˆ³‚ìÉ8 µwž yf¼’äߣo{b¸7:ÿ…ö³©ÝF±`0È ÇÏö»·Ó¼­»ÓŽoÀG4EdIf €‰“'rÆùg K2?ð8­Í­øý~45yfÚì6J½¥D"Ô°Êᇾ[ÌãI.âp Þ§Ÿ|ÌÖ-›Ù¼yÛ·oã™§ŸfÁ‚Ãú·]~x ]]ÝéA¿ýö;œpÂñØíö´M ·§›N8€­[¶b±˜ÙiþG¾u]çÑGáð༼“ÉŒ,Ë<ñä“„ÃáaŠŸE´ÌÐö9Ë—ã°Û©¬¬æE‡òÓŸýŒ¿ýíoôööb1› …B|ðAȲÌ+«W#Š"«V½ÂÒ¥G³|ùÙ´¶¶288ÄÆiݹ“ã?žX4‚Õj¡«»›k¯ý ³çÌ¡ÄíA–e¬6;ñxœá9ЉÇãLš4‰ŠÊ*|#TVå¹%»Ï×N{{{ÒÜlÆáta2™°Z,´´´²}û¶Q÷/ZtCƒ‚@4¥¬¬,iC ‡wóÐ3røíÉ¡šå&ÃÏ·`È@_ˆ@¡é^ÆëÙµ7û¹wp9~"7ž6ÎW¡Þ_©gö÷dìY[²¼SUU¼^/',=Ž–z:zp•¸¨k¨£¾¡ž p¹] €S’ê/MÇár0eú&7Ð0¥w©›¾ž>ÚšÚ8ýk§1¡®>{l¯H.©f***p—” «DTU%‰ìV«Ûl6òäŠÇãX­VLfó(¤Øívbñ{¯d²¦i¸\.îºë..¹ô2ì³_;ñDì6N—“çž{ŸÏ?‚ëÝå02Àqä¸bч~8/½ø?¾’5k×rûíwpà ¿àôÓOç··ÜŒÙlfÿýÀétòÞ{ï±ß¾û°páBfÍšÀ»ï½‡ÙdFQŽ9fŠGÓ4.¼àB^^µŠ¯w‹Y„ÉlÆn·qóÍ· Û©„4ñM¥€G,ú|ùLûû“’ÕyçŸGÀ@”DR®ÝñXŒ}÷]˜&Ê)$iÜ®Ì_4_€áŸp˜ÿI쟩ݪö/’$ÑÛÛËŸž}œyûÍÅárŽr!–$‰)3¦ðæª7yéé—hijá°e‡a¶š1™M @‰»„ªš*‚Á =óåe^&ÖOLk©ÆM\ÆRvUUI¨ Tu—)u çZp ¬[»†]aUU¥¬¬Œ>ú€ªÊ*ÔDi/TÁLÙ[Ìf×]'x"O>±0™-I$¶´°jÕ+éÔ2¢¸Kµb6›‰Çãx<ZZZR­¦Ç¿dÉ–v8ƒýøý~Þzë-–Ÿs.Ç,[ÊòåË1›Í|ðAlݺ•{ï»òòrfÏš…ÍfcñâCyøáG˜9s&å^/µµµH’LKË^^µŠÇÿô§vZ2Å‚˜<äo¾ù– „cwîKȳª*+ä—¿üUÆëjB! IrιÛoy¡€ŸÈ°‘OÓ4œN'6»ƒþ¾Þô³š¦%?cÑ´C@.f¶u˜Ë[,_ª‘L*˜=õ®ÚSo±\:õ‘œs>¤\û¶hùìEÙRôä³KÒ dy>Ó|ŽÇcÊèøÇŽi·¾“=‰Êå-–i¾³¥ Êeƒ{Íf³ñÖ»ocuZq¸œ£¤ Y–Ñ4–í-LlœÈÎæÈf™†É t´vÐ8­AÒ¦ˆD"ÓåÄä0³~ã¦O›žö†Z,Iϧ7ï\x/¾ô÷ßÿv› oy\zÙå8]NŽ:ê+½Ì.ˆ¢€? b2™ˆE#Üyç<ñÄ“”•–¢ª*Š¢PUUÀÝwßCII ^¯—®®..¹ô²´ÍÅbµòÙgŸñÁâ÷ QZæ¥aRcZ" …ÃȲL$æÌ3Îà³ÏÖpÿý÷3gαÛívØa¼þúë¬\¹’3Îøúné[úúú’8%º:;8ãŒ3v“&Æ %ÆE]ĶmÛøÁEÑÙÑŽ¦&P ;[[xþ¹çèïïînˆuKŒ[û[¶77§|‡ƒµk×rÇ·§U“©¨÷ÿá>Þzë-ìvûn%ŒD;Ƕ’M¾§uùÑñôqO%£±({ÚÇBleùÚú¢ìãÍp½·Ý·÷”Qï3Š¢PWSKÐ. ™ŒÂ·X-ø}~Ö}¼«ÕJEM“¦N¢nB5õ5ØvÖ¶ž€/€ÙbNçoÔ4D,A¹·<1yÕb#£½ó 6‰îÆÍÅb1.¸à^|é/|û‚ ¸å–[pºœlܰ‘Á¡!î¹û.&â÷„‚¡]ïncd|EZU‹e<S1*?úÑX±âJæÎ›O}}=}ý}ô÷õáv»éîéAE‡z(_9òH®ùïÿæ‰'ŸÄn³±~Ã&54$'*‘TKÝvÛí¬|â öÙg>6›D"ÁG}DCCÇsLÚÈ}ÄG øÊWŽ$‘HÇ9è ƒàˆ#ŽD’$¢Ñ('NäÈ#à?üOî¹÷>ìv7n¢¢¢€p(œ>ðƒ@ÆÙøNBÔáÃ[Ó4¢ÑG}+®¸‚_þêW<ÿ ÔÕÕ¢©]ÝÝ´¶¶Òß×›Vuhzf'‡ÎEQ$‘HpÉ¥—rëooaî~@?v‡“ÇW®äæ›oá‚óÏ' &¥W ß¾àB¾öµxî¹ç £bÿÞ ÿëk>ŠP„¬Ç™1m«'°móv&Mn àÐÞÒŽW¨k¨£vB-ë>YGUm±HŒÞ¦Í™†Ía£µ¹•¶mÔN¬Åát°£©¯ËËþûîG8ÞsWä”§V¹×Ë„ FåÛÍΡ&˜9cx EI«Ëâñ8‹…_xž›ókJÜ%ø|~–-[Æ›o¼ÎYg…?Lr¹šÊ’Å‹Ùÿ€ýA×$‰„¢°dÉfÏ™®©ˆ¢ˆªª,Øg'M"¡ìn\E‘P(Äw.¼x€I“&á÷û™>u¯¬ZÅ|%x ªª¦9èG}„«®ºjø`VYqżðÂó466RUUE<åúë¯ã¿¸êêj²,q劼öê«ÔÔÔ¤sœ•¸Ý|ë[ßbþüù|õ¸ã‡ÃÄb1ö]¸eË–qÔQG1{ö,âñ8ªªb2™xø¡‡¸êª§¶ òͳÎâÿÞ|“C9„ÉS&£&JœE‹%‰”¾+R^×Tê'L`úôéiát:©­­MK ~¿ŸŸþôZþú——8è  ‡#¨šÊÑGÅËýK¯.—‹ÚÚZlÖÑy„TUeáÂLnl$1¬oY³fÑØØ¸KìÖUæÍ›Ç H ÛkDQD‰G9úè£Y´hššHKmÙTSc¹ðLÍ#¯e’˜³IÒ#6rE± ‚YÞÍ8;öc¤¿Ù$+#Ñæ™ ÎF Ë‚ ¤+æj+ßùkœ…´9’!Í•ê$. Í*`D]™I2;æ|ý›æ?§Ú9Gjœ\*RÑïE%¡ðýoYgðá[Ò±³ƒŠê æ,œCEu}É=ïvQ^UN0$èâ.u3kÞ,ªëªéØÙÁûo¾ÏŒú\ò½ÿÜ-CGƱœvò‰ú 7ý’êª*âñNW ½ÿ>ÒQø)Õ‡ÅbÁU╊$“ß¾ËåÂbµÑ×Û3Ú8>|ÓéÄbMåÅRñûé4Î)õIEEªª200€$Iuõº®ã-¯ Ê”œi¡Øl¶tÊÐñ aµZwë'0œ²&i—‰Ç¢ƒAʼåé-’$á°Û1[­i¾7¡Ä ŒH‹’j«´´Q’ñ Ž#˼^@`hp`T Ap¹\é÷« ŸÏG™·œX4L ”„¼^/º®Óßß?Jíäp8°;œi;ÇÈ4.)i$•ÈÎét¦(45‘&~©ôÜ#Ÿ¹èÇâ<9žrBÁ@:;uа¥l.©ç³Íc¶ˆä±›9›>—ª%W]”½Qo¼ÁŸùÚ/2Ù°ŒŽ=—šÐPHðßnÏ‹‘…š3ˆ™«`.â’ËXh0©‘,ùúÍn•k뺎Ãîà­÷Þæ…×_dÊŒ)Ä¢±d†³‰õŸ®ÇátÐ8­UUéêè"è2cî â±8¢$b±Xذvß:å\æÏ›G8NŸ™6›æ¦&T5Á¤ÉSÞ{·Ä•"±XŒ`G;æao¯L9yAÀï÷£¦õï»îIz:ùý~Ô¡!¾–J«ŸBˆ$Itw']˜SR’(Štuv Šbú7AèêìHæÙÊçfdßB¡Ð°ÊMO·ëóùÐÆôS×uÓ’Lªo혆ƒ4MÃç÷£ ¥ß)Šân5Wz{{Ó¹ºFޱ«³ ÐÓ‹ÙÞŸjwä8!™¸’9ÎFâ-9N:Ø2‘HÐ9bÎRx‰F£„B¡QýO}Rur:ÇÌuêÙL8‰ŸT²¼`0ˆÏçl•mÇ«·ÎVaOtß_tŒE¾1É-V¨Ý%_L„nzoØ{rÞóê'Ç[Ra¼ÏííD¡¹Ú̇gAˆÅcÔTU Dúƒ8]Nt]§ik‚&àp9PUUU©®­f}÷zZ›w2iJýÇ2\Ze¯ 9°Ô¡•+ 5u ï>Øä J]Ïåí Ëòn×ǦŒOý–©?c©ÿȃ3#ë‘mŒýõž‘‡q.î £ÿ‘}7™äŒœj¦~¥ˆÈÈ6RY©Çâ,¡Ù÷±ÌÂØûÆ‘LÏìK.ü¤ú2V2IIE{ÂÍg»žoÓå+Ê•/3ŸGX>¯©\µ}Œ85dòÚ2RÇ%›'’QYHÁ½B hâñg´¹pkìFÆ•o¿)—>^ÏÄlš"#ŽŠ¢0¹q2'}<Ïüõψf‰x,Æüéó©ŸWË»kß§ª¶*©¥Ê*Ëðu ±Î· =®qƉg0¡~¨ĸ{…¸Q=BåóEZYô…p©…zÍdíóåÊWc#ßUH}ú\Õú å”óµ•/¬±GÒÈ–,×÷B¸ùBôò¹pl4ÅL!ÚŒö!×ÙŸFT/ùòpÝ¿¹údTm5^ )—$W¥Ê\ªB#ûÄHÊ}# Žl&܆Â!Ž:â+L<…îžn¬V+óæÌ£½½¿¾±Š¡¡!, }ýýÄQ®øÏáóûEÂÔV×R_[—V{ïÕz.Fô´…¤m($iÝ¿ ì-÷Åe|Qs>ž$‡ÿªøß 5Ç›XѨíÀè¡öÏ‚ëñ¾ç±Æãfodÿˆ‚H8¦®¦Ž õ@‡h4JMM ß<ù,þú·—Q4 ‰ã>ž &P“¨IÛP#Qã„¥@âb¬.õx6†QÑ®ÐEžkÈe¼Í•ø0ŸHj4-Ÿ˜mgFèŒà*W°[>)§ù4p˜Ïj¤ß…ª¾Œ¨¦ŒÔŽßµX6UV¾=Vh[ùœr­I£c5ªû"Ôb…jÆs¢Ë¥ ,dß}.ÛV ŒH ‹ÅX|ȡ̟3ήNª«ªq—¸ws5Nf,1Nø²a·‰2¦Å0bLÚ›×Ç›£g<ù~ö}÷Þ48ïi®¢ñ|Ï7Ö=™ƒñÌïxT¢…ªs ]ùþ²'Œ¶ñ÷ÊVè8ö÷…¶5ÞÀÒB×]¡gJ¡{yoµû[8Æl63uÊT%A8ÎhSEÒL0F\„a""ˆ"¢$eÏ\„"¡EøR@JÝ• —Øå0dDŸ•Jß?6¦[KZttE!‰$=ŠÄ¥E(BŠÀh:¾¡AìÇ.гq¢‘•U´·íD’D¾ òE(BŠP„/yAÓtê'LDM$Ò¡£‰Ë°XT7a“)Ò•"¡E(B.H‰Çb£ÑînsŠ‚±V„"¡E0FdÆ8 ÈùnÊåRh$@*_>žñ¶;²OF‚÷ò¹"ïi=\8Ì ½·K­æ äË—‹+NÆÛ÷B£Âs­§ñŒ9×ÿùÖc!ï3²ŒÔG¾€Ý|ëï‹"2ÚvŒF«¹–J=SèóF"ô$^Ìw ìèÿlã2¾7#ôsÍ_¦ˆf#øË÷¾\‘uUhz#Is½3_D{¶¶Æã>o¤­±ë¤Pæ#[¹Þ {#B?ÓË6F˜¥\ñqFr~åÊB2ò 4Ê M!”ïÜáȵ–GÞ—ÓßÌhÞ£=¢Ì݇Bú—}S@*ie."šmL¹þæúž©½DYÈœ‚«Bƒ(Ñ)(°êDit]å“Ô÷4ˆÒÈ>O¥œç#®F ÿƒ(óÍDåØ3poQŽ÷<1òl¾ùƒ õ\²”±“QÈ™z>BÆÖ­; cZHÔðØ{ÆŽgdm†lùŽrqüŠ’@Q”tÝšT‰‚ø»U¡\j¾ÃͱÈÄ¥eÃ&œäÃëHÂ’‰[,„¨e›ƒlý5²92¨Ù"¤œl¥yÇŽ;¾Ç£®Ê•°ÐÈûÆspU™gÚSÙúgDmh„!Ìùú•i|™Î#ê½lx{Ží©¬éÜèþ(T›c„e”\ÆfÎÖ±±u>F>ŸŠî{_zbÐÈ.²¥²¬A’ïÎ'zŽìûØ !MÓFÀɧK=c·Û±;œèšJ0¤¼¢’þ¾^\.V›=]+ÆˆŠ­µØÞH\iDÍ··æJ¸·Gõ\ȯËve"Ôɪ§É`âB¹<£õ\ ™_#é]Œ¨B´•ë·¼l¦¤ z.9Ú(d¹ÖK¾ÃßH-•±shtŸM\™©OÙh©ç“‹PÕåRÕ§¢ñÓåwòh¶äL‡M?²,ã÷ûw«q.I.— UUñx<‰‚Åb¡­­h4†ÇãÆápd¦êèYS4•²>'‘‹¢fÛˆÑh¿ßO(Æn³QSSƒ$I£ŠàdÓ;¦m³Ùxã7¸îú°X,\¹bÇwý}½Ü{ß}üþ÷wñáï G•È÷׈Z¦ÞFÔOÙ$—BS³ç;ˆrqÞùŒ–Y%-a|RA®¾êŒß€;#s6©=›ônD•'F%˜LªŸLëψJ9ÓZÉ7WF z‘Ðò9}‘˜ôш'߾Ȅç\cÓÆèëÆÖ`²OÆ$^y¬Äð‹_ÜȽ÷ÝÇYgE(J[›DQDEžyúiþûšk¸rÅ bñXºS²,£( W¬¸’÷ßúú ´´´ðæ¯ãõ–!ˆ}½É ‰)Žhp‡Ã‘®¼è÷ Qâö0sÆ êêêxõµ×èîêLVt8°Ù“Q Á€ŸH$‚ÕjÅUâ& W·Ô 8].@   …F!Îb±à-¯`ƌ̙=›­Û¶RZZÊïÚÚZ<¥e$”8²ÉŒ188HYY²ÉLªŠeJJ¹ô²Ë¨©©åÕW_å½wßaéÒ¥ØívZ[ZY¿~}ºŠ¦ÛíÆl±¦Ç¨(J΃<Ý߬E6”isäã0 åLó©¤2õ-'±.¯kÄ#-W?ªòqÙùœòqõ…:c­µ’‹S5*­æ3Ææ’$ŒŽ\’K.X®ƒ²ÐJ”ù$£F{£yùú˜k æY´CrÉe#Ú“ýa”øæÚ“9%UMÖ¦¿ýöÛ(-+cêÔ©|÷»ßõ¢ŸÿüçtÀüèG—ãóùFqT6› 6pß}÷ñÖÿ½É¡‹—°qãv_|)ªªrë­¿ESUV¿ú7Þx#÷ýá>zèa^úËK”•–qÉ%ÓÕÝÍæ-[ðùý,]º”{ï¹›ºº:^xáî¹ç^$YfÅŠ+X²d |ð—_~9çž{.Ï=û'Nä´ÓNãÑ?þ‘;wòíóÏã¸ãŽC’$ìv{º0ÀÅÿ']ô~UUÕüüÿ—ÇûK—͇ÁÚuk9äC¸ôÒ˸á†ëYµj“'Oæê«®bÊ”)<òÈÃlÙ²•P(Ì©§žÊ•+®Àn·'kÚUÌËívóÀ²ò‰'¨®ªâꫯbÒ¤IéÚ¹G¡’K.c›‰ÃÈs{"¹Œ´`ê$—l\p¡œY¦ö •²rqõF6v>É:—´–ÏP¨’ë 7j÷)d})€–Óþ7œšÊˆäRh¦à\„k¼’K>B“£9%—\„rOö‡Ñ5˜kOîf^Û°¦iD"þß_Ûo¾ÉÕW_¾þï|‡þ~.¹äbw댪ªØl6$Qdñ’Ã8ù¤“øôÓO¨ªªâw¿ÿ=Ÿ|ò &³™[o½H4ÊÆ ¹äÒK¹èûñ??û«W¯æk'œ@}}=<úÈÃx<^xáÎ8ó\rÉÅœyÆ×9õÔÓhmi! òöÛïÐÜÔÌ 7\ÏÃ<ÂÙË—óÝï\È¢E‹øæÙË¢««‹yÿžf IDATW^YÍêÕ¯ÒÛÛ@BIæ6›Í˜-‰äÿ«W¿ÊsÏ?ÇŠ+®àÜsÎáškþ‹›o¾…ñ 8åÔSéééáÔSN¡¼ÜˬY3Yùøc´µµñì³Ï&‰Æpmz‹ÕÆíwÜÁŠ+¯ä··ÜÌÌ™38é¤SFÕ/d19`r¹@ŽýdÛXù ¸e2Pfâ>Ún2m¦\NF9³LR„Qö>#N*¹ÆicgÂóx\Ëö¾½‘;›ä’ï½ÙÖ\>ã~úš@FüærMÎôN#¶ä±Z£u„²áº`éòJ.Fe!ûÃ(ñ͵~rQ¦‘ª¥|ï=wsÑE?äÚk¯¥¯¯ÇÃõ×ý/CCC»•)ˆD"Lž<™7Þ|ƒgŸ}–ÇûÏ>÷W®XÁ7ÝÄ/n¼‘§Ÿy†iÓ¦ñòª—yùå¿RYQ(ŠÜvûí,Øg¾÷ßE”d¬V+‹…ʪj45ÁªWV£( O<ù$@¾¾>>øà&Ož À¹çžÃ¬Ùs¨¬¬¤±±‘ƒYD8Àétò«_ýšoº €{ï¹ÇÃþð>[ókÖ¬¥®®–W\A,àôÓOgß}÷E”dxàA:è@<è`.¼ðBN8ákô÷÷SU]ƒ,›°YmÈ&K:§Îغþ󳨪ÊwÞI[[Û›¶ÓÔÔÄþûï¦iD£Ñ´ä—H$ˆÇã˜L&Ìfsº¦Âx] ¿ˆ`¹B¼oþYa¬M埵@[¡.é…Žá‹Z_Æbw{ àÕ7_ÜZ•s!!‰p×]¿ãüó¿MEE7\ƒƒƒ K B¡3¦O禛~Éõ×_O}ýÞ}÷]®¼rwß}’$1kÖ,ößo?"‘Ÿ}ú)­;[¹ôÒKùãcÑÞÞN$ÁlNÖšªRVVš$"看×[Æ.ú>“'O¦¹¹9)5 «ºDQDö4‹ÇcôK[Ë—Ÿ®ëÔÖÖráw¾Ë9Ëÿ?{o'GUîq«ª÷ž}KB"kˆ,HHÈ"ȾɎ •«€\@e“+‚(›€€ŠW¼Š ¨( k€°%ÈBöIfŸéîZÏ9ïÝÓ™Iº«ªg&pß÷Íù|òIOuuÕùç,ÏþœÎgžmYì¸ãŽTWWãl!Jæó¬E5hjj¢££€õ­ëu䣑zá}”¡ÅÏ $“I.¼à"‘W~ó›l¿ýötuuÑÖÖÆØ±cÑuåË—SUUE}}=½½½tvv2nܸ!G‡ÐC©åýy.˜‘xg;R="È6õYcJŸ àº¡Fmo ìCuXÙ’ój(ñF[z]„Æ¡ }\Â\ÓýD)%½½½<ðÀýüÐGbéo©TŠeË–1õ€¸ä’K¸äâKˆF£\|ñÅHáqê)§ ¥äG?º™sÏ9›†Æ&ü1wÞy'oÏ{¥à€©S˜vÀ¼ôÒË\qùå´wtpÎÙg3mÚ4n¾å~ó›ßrß}÷³~ýúb?dÁe¹µµ•öŽ¼Ú«ÿ p]—êêj¶Ûn;¶ß~û¢]¤±©‘É“÷cÒ¤I$“I,Ë*Ú@²Ù,±X”¾¾ ?¸éFV¬XÁgœÎÍ·Ü·®ºŠúúüa·®µ•ŽŽ _Ñ­ìzûz *¹æ{ße̘1Ü|Ë­üö‰ßñË_>D:æ×¿þ {îµ7J)jjjØcÒùþõ×SS[ǃ¿ü%{îµwYÏ5?ã¬_¼J¹xˆJÀJ=£\ä}ØÈýJâ\*YÌŸ[Jí±)– ÷–‹%)e ç²)ö »Q%}+ods)ç2½)c±)Þ ÷VçR [©8¿q Šs)¥v¬$Î%Ȧé礂-wXø¹p­RësSìåhSJ½çûuœÙêæÛngô¨QÅ ¿MxœJ©nG×q‡… ÑÚº)»í¶+»ì² ¦iÒÔÜÂW\Á]wÝņÖVtCÇ0 –,Y‡ 2jÔ(&ï»/ºž¯õüþüù¬om卣ޢªªŠ¾¾>Þ|óMº»{ØcÒì¼ÓNtvvòλï2eÿý©ªªbÞ¼y$ ¾øÅ/ÒÞÞ^ü.‹û«ë:¯¿þ:ãwرÛlS´µ ün‡v`ìØ±8ŽC:•âãO–°àƒŒÝf,ûì³7B"‘óÞ~›ªtš=ö؃ 6ðþûï3cÆ Ö®]˪U«˜2e ±XŒ¶¶6æÍ›‡ëºìµ×^l·Ýv¬]»–¥K—2yòd Ãàí·ßaÔèQì¸Ã¬^½šeË–³ß~“Ën`Cå(ÂpiCÉÄíW"A 7oYX)d(y•†Ë)%ÇT%ùôÂÒèÿ’t6·X¥cW©ä>Rùå*uEŠ´ð1Ç@<繯û.å>¹m&‰¢ÚȲ,,Ë"•Jñø¯͵×^Ç…^Àu×^Cooº®ÇI$âùòš¹\q“ïN¼®ë¤Ói CÇ4-lÛ&b$’Ir¹\1¨±ßމäm7¹\n³~§R)\×ÅuÝÍNéT*…ã8…ªlyT<'™Lâºî ÚÒÉdr³÷e³Y¢Ñ(Ñh´øîH$B*•BÓ4LÓ,ÚUâñxñžþ> ü®ß:(.f¸jƒánºAÉJ+ÉæÝ•l•$pÜ ü†²ñ„ÅðY« ‡Â4Œ$3ÒìP“bå¯d¼Â¸àE&×XXmC¹Ö¸DÂèKK‰P¥Äô¶Ó4IB¤ÜzË-wÜl²Ù\Ñ[ʶí¢Ji Jnà¡Ð/5e2™ÁÏ•’L&S¼§ÿ½ýïìÿnÓÉпi—ÄM¿Óu½°é»ùÐÄÇRïÛx¿ST# !èëëÔwÏóЇ[ëM¿(-† D r%,§ú)§Ê ó9(ïš_|N©Åä2ln±°%Â0³#[lÐ.·XصæGƒRêê ½°œ­§Òä²a˜¹06—Šr‹õÿp£ÛîÖ(Û­mkÛÚ¶¶­-HÂ¥XÓªäá¢ë:¶m³j劧¾Ú:p[ÛÖ¶µmm[[©S%ŸÍD)ɨ1Û‹ÅJ.‘H„uk×ðé²eŒ³ žçn¼­mkÛÚ¶¶­­l‹Åâôöö Ûß¡XïepâÊÂÿÍ--ì7õ€­£¶µmm[ÛÖ¶µ¶O„iæòú1­ÄáÒßúÓ¡üÿÉo}kÛÚ¶¶­mk«¼iš†ã:›•×·ÍÖ¶µmm[ÛÖ6Ôƒ ñ{›èõ‘xpÙ†,Tö¹AÏ ó¼R„†òþ0ýÊøŒ±ý®URD*ìç0ï¬äž¡Ò·Òñ š [b~lŠ'ì|;&• ÛÒ›ÎPî¢Q˜5<œy8øÂÐj¨c4’ôÊ\ Ûô¡v(Œ/u¥eh·Ôb.—N¼’ƒò³ä¶ôDãæúP·JŸ;éEüræ}^mK¿ûÿ‹jíR)÷GrL¶ÄzJ*  èÿ‘êë–œ#‘¡ žÚôÞ0¥[ýJh•Û‰IRI‚°Á¡¥j2T ç÷ì åA´ J‹R‰ô釥\ÔqXø…ßçM ¿B•¦û “ö¦\¿+MRŽŽAÜ~):Wº>üR…ÙäüÒ…M1æY~ýC0ë¨ ä6*7^~A°¥¾›.ª’`Þ0ßWš5ºbÉ%¨ø_”tnÜoáøEE‡é«_1Ÿ°'z¥Åx‚$ŽRÿ‡)²V*Jº¡&\ô“ªü˜ ¿„šAs«\±¦ ZûmŠCåÃæÛ”Î~¦Â ;wGWØw‡Ñn”û<œ9Z‰„à·÷ø ;gËÍÛrÏ÷+ܵ%˜ë bkC•t"C™laŠØ˜fCבR¢i UÞì£)…4¥H44%‘h(%Ñ”B(PJæ'=$MMÍ¡8̰RÎP]§$ñQ迦4”¨Aøšb3|JzhºACCcInßoƒ~¿ßãË÷?ŸR …‡‰+x†Á1»PÐÁ±ñ0ÛÊ¢ëR©!ã“J‚á¹Dã jk륌0\uPiår¿í¶T ÇÊ¡éý©M*ŧå×é|ñdŠêêš)¬V _X鱿$‡ã˜¥B5Z¥ùþ–ħ4¥ñy®Cªª†t:JÛfý%®,¥=è¿&„Àuí‚ÿUX| ðI„”Âs]ªjjI&“¡¥Øá2_‘°'[©“ÔO­°~ýZ}46Ôå‰(5\O°q…Äšãa ¡žãj¾Ø(Oa éØXžÀs,lˤ'k3zÌX&î±7"³Ÿ(ï'†ûIýß·¶®BW&Í (-Ï“ ͳq„ĸŽpÊÃsÜ<>ÏB G€°m,!Ž…iæèÍ947fϽö¥¶¶6°/a³8û%,%5išÆÚµ+ˆé (%óø„Bð9.¶ô2ÏJØy|žB8–'®I.›#k ššZØgß)ƒq˜DœaÕA¢|ÿçµk—“ˆ êëQJâI )$š°±…Bøà|ùù)ŽI&“ÅŠÆÆ&ïw‰D"TM?ì~c”ðpÍêeT%4êêj7Ççåç+Žƒ-B¸x®‡.J8E|¢°þ¤cÒÛ—Áà¡¡™ý§L/ ‹£Ôº CÃMçeÿß«W/£6mæQ~?q…@óllRh(Ç.⮇'\žÐpÜø\“îž>"‰õõÍL=`F(•¢Ÿº·œº¿\YåßI)Y½z) Õ1ªª«‹ø¤à9|äñ)‰ž+ð„ƒæ¹ù±ðdqýIפ³»#– ¡¾…©ÓfT¬’÷ë÷°m.•V8L'’³Î½’õëסÑ×Tà ”BIQàRRZ@ Bn$ŒRdr&GùeêÒ‹ØgŸý|uþa¹À0I˵DDÐÕérî×Ï.à3Š\†êO€§$JÓ øò\ažëèÇWà:¤$cšœyúi$L:cÈç0IuM*®Xßšå´3/¥««t~wÃ~| ¥i›á(T?>¥˜¶Ã9gATÍgÆA‡úŽ{PâÊJægiŒP•ÐX¹²›¯ž|>¹l¥iy|…´ÿ›â2ÿ? „’(¡PHPR l×ãë眉.0ãÀCȰö3?ûX¹ÿ¥”Ô¤ –|²–o^u&®ë :ðÍñR"Ti|JiHá"”Æùçœ Þ¦Ï˜Y¬ [î “·R v#>A]U„ –ó_7ýÃÐJ¡Ñ¯VÊk@¤”(Jæ¹z¤@CÃS ¤DDá¹`D8åį Ë™6ý <Ï#‰T4ïÂTí Ò>hš†ç¹4ÔÄyë­øÏk¯ÅÐóø6ÒOGI‘^‘~@¿”©$Jäñi \Ç!‘®âœÓOÆ`1S§ÍÀó<¢Ñ谪Ϊæ–9VÀê•+èhogÆÁ‡¦¼÷_Ô6?¾í6Þÿ` 3¦OT™RÓ4’É$Ÿ(¦i–é䯓<™Lp×?å{W_AOÖáÒË.•9H]RIVäÁ&í?ú1·Ýñ3fL›NWO–iå7_¹\ŽœeâºùrÉí]’ñº–_½Y›¨®“NÄð e’·;–Ýt ÝY‡‹.ºdЫ–‰¬Èùû²\óÝïóàC¿aÊþûÑÕÝ…eÚù\B*_%Ô4-\ÏÁu]:º2¤±¼ØŽ¢7c‹DHÆ£)Éesì²óøþ5ßÂôtÎ9ç\¤hºxД“f‚T… ߸ô*þøÔ³|iï½éìüÆ[¨‚jZ&®—¯@ÚÑ¡*C©øâ‘(‰x¤X uŸ=¿È·þãR„žàôÓÏ@a†ÒJ6å0Ž ù¿³œuæ¼ôòLÚc"]Ý]Ø–¦ç%˜l.‹iYxž‹m;töd©JÆ j\E_ŸE"%ëÇ×Ç´)S¸ø¢³‰&ë8餓Bk3…Õ.ARlþšDÓ2œpüì½Ï~ÔÔTؼ!‹ÅÑ4pÇqÊï/DŒ«V¯æõ—ÿÍçŸEº¶…9sæ ¦DD$† Ô4 Û2‰ÇfþÖ®ÝÀãÇÓÝÝm;膆pÙl˱p=×õB x®[Œ6Ñ) E&ÛÇì£ä+sŽfÔØ9òÈ#‹ó3èpñK¿ßÿyáóñ<ñ;N@Ó4Þœûz8ƒþ¦¨ Wä|“Äb1 ]G×u,ËÂuÝb¹ß‡~˜‡ú%Ï>û,étºXØó¼ÿ\\×AX,F,%–Œríu×!„e´.gØ÷ê^RD£QªkjØcÏ=hjj¢¹¹Ã00m“h,J*™DJèÍØ<|ÍÉ´×4Ý@H;®˜ÃÙÇL¡»·x4JÄ0РУ×\smñPõSý•;8ýjåøáŒOF©­«aÒž“hll¤¥¥M˱ˆÅb¤R \ObÚ‚Çÿë4öÝ}[ŒˆT÷|çDNÏó| ¼aR¥—ófò»¯ýE£Q›ØcÒÔ××ÓÜҌ۵‰Åb$ ²¦C,á÷?8“ ã‰D"DŒ\3öþ=½9âÑšf`D5zúz¸á†‹øÊ9 „qL Sn»äo v„D"Q¼×¶m\×Å0t/^̃>Àý÷ßÏ|@UU@éýÅqÐ4HÄãQõíëùÑ~´¾rnÁSú…ªE_FbÑ£·Å&QWWOsK®åâ:.ñqâµQ4¥Ñu"‘†cm«7ˆxQ 'J´^'Ú¤¡!°bÕ n¿ýöAó3¬vï|À°ÔbA.u›/r ËÔÔÔð‹/ðÜߟ£º¦šœ™CCÃõ\Pðá‡ây“&Mb§v¢»»{°x_SC.—ãõ×_'gš8ޤ¥eT±æçHUd £ÿ´¸¥†íI„ë²jÅJæ¿?Û±q\§øLOHšk«Øs¬híâ¤C÷âÂ9SÐ4•­]Ä¢:S÷Ú‰EË[‘JâI±_œk bØkƒ67•×»{®ËŠOW0ÿýù.Þ)æò<Éè†jÆï¼ ËÖvpîÑûQsÒ tMãÓuT¥bìÿÅ |ôikAoìẊQ--%=+qE®Ä\ò©á‰mÛ|ºl9ï¿÷>BŠAø„PŒi¬f‡1 ,]ÓÁe'L£*C–­é ±.Å~“v`ѧ­(®ðð\­H¿rzé0•VÃ,ðrã¤æ§+$¶e³lÙ2æ¿?©$¶cïB±]s _×Ä’5|ç´™¤ây[ʲ5Œm®áK·gñŠõ($Žç!…^8„ýP+¥IEÕ35RC*h4Âc=FëºV"ÑŽã •Dˆ¼ lÉ’%˜¦É„ 3f ]]]èiY)Ecc#«W¯æwÞF*…:ÍÍÍÃÆä^ô OêxBbuÛ¼Ç|¸ðcpt\ƃ3hSløWVÔ@Z¡Y:ÆŒúTFC=•Bé’Èl ã¶é¡éÑ¢ST¹¢dáiÅ®ÈåÜäÊqÂÊsI%büùÏOóÌÓÏOÄ‹ùgTÎ&‰æ9ÿêj^yåyä{ì1lÛ&•Jáy†að—¿ü…Ûn¿|¾Þ ºéyE/´M¹ˆ¡þ+WŒ§·èº×õ°ì¼ºAHŽŽ®éèèäL—½vÚ†Ÿ~ó8®ýù_yÉZªSqê«“\{ï³|²²G¿®ðòºa¡+P²À1ðU´ÜÇP®•ÃçØ.ö|š¦ñeL‡©“ÆsËÅGò½»Ÿâ“UíT%cÔV%¸êÎ?ÓÕkòËk¾FÎ.lØRC¹^AµD‘~¥æUM˹"ûÑw0>‰cÔ&%ðå,—Y“wæºsã?ïúkÚzH'bT§|ó'Oaè:÷|ë«dL •Çç¹ô§…Ý_¹þ–rÍZs¥æjñ:à9:yŽ~ >]ÓÑoÎA{ð¯Nã;wþžŽÞédŒt2Æ7ïx’Q ÕÜzé1d²&z~Òu‹µÜËá ÂäBî7_ûïó\]‡{ï»E‹Eñ„R¢ÙÑhŒH$B2™äw¿û>ú(úÓŸH§ÓD£Q,ËBJÉý÷ßÏm·ÝÆÓO?MÔˆáÙvñðñÃ4çÊa(µ·l>n \MS¸m‚ s>AÔ¸HK¡ïìaì£àÒqh/Õ ¥äÆŒ^çõáüg#â·ÕDÎ0‰mc=$sMšÄ7€œ†ö Um9¦5,¦ÏGr:Ù\–‰wgݺVº{{–CrÊî˜o.B3 ª«ª¨ªªBJÉ{ï½ÇG‹?¢u]+“'O¦±¾‘ö®vÆO4%—Í ”‡iÛ|üñÇì¼óÎ7gmØL¥’‹&<4š®á¹.ZaÑJ=¯ûDƒÚª¯|°‚éçý„ΜA"¡óæ;‹Q(®;}:¯Ìû˜ÝOþÉT% 2Ù«W¯fܸqE»Ëg.¹xƒñézº*àSÔW'yöùë ïòÃsÅP.óÞý…âÖóá¹×²Ï·’HÄÈf\@ ôôöÑÑÑAcccI|Ÿ‰äâyy7V \×+àÓò|@iŠštœ'^XÀ“{ƒ[Î?‘Ëòö{y|w\t}i>Ó/œKU*F_Ÿ‹R©):»ºÈf³eÝZ·´äRħéEõG)|uU îú-~óÔ«ÜváQôut1¯³ Pü÷¥Gò¿ÿ|‡ŸþîEªªâdú²yƒ¿6´áyñx¼¢àé°4,5>›=Ïõ^^­:qâDV­Z…™ËA*Al·m1ßZD¬&M*™¢±±‘žžæÎË«¯¿JWG³›…Û¶Ùkï½xëÍyxžÑX»v@±hâPð OrQ(ÏC× ¤.¡ Œ¼6ÐLie(X´DK+Xi ¡¡ÕJ袪փ^Õ -b°jÕJ¢Ñè°¼ÆFÌÙOßXª¹R£³§Ž?žƒ>ˆ×^{µ­ë0¡áxDZéêé&gfÉd-PHDŠ›d¶«›]¾üeþUµ v¦Èsh5SަqýÿÒµz5 4#Êš5k¹ôÒKyê©§p]·X€'L¹å°õ´ýœúéׯ6ÊãË‘ÍZ ´ø ×ÝÍî³gó·xN.—ç+ @õŒã¨m}‚¾¶v !!K²lÙ2¾õ­oñðýV*ñ«ÄӨ܂w…Žëåñu÷taZ9²Y]ÓˆÇ ø «»›‰'œÀ3FnÁ)EH”FÍ¡'^ÿ8foo>vDA"YÅÇÌõ×_Ïüã¢×QϯJælP­sGj¸žÀ¶-º»»1­¹œ‹®éÄãÆF|½½ì|ÒÉ<¥¢ÛFRz€FÍ—O"þè#¸–UÀ­HW×òá‡rûí·óÝï~·¨a*Mü<­ü Gè8®Ç¥—\B]]/¾ø"¶iÝHú ½È>þ¬ ¯¼ô2õõõ†A.—cæ!39ï¼ó8nöqƒÞ?é‹_$gÙÔÖ5òÎ;osß}÷qá…ú•âós ò›×š¦GhxBYÒ¿«ÃéZµ$ŠrhØÅA»!ƒZEÝUæ b×wá>–Dþ9‰@@—BåÀ~ÄXEC]3¯¾ú*¿ÿýï9ñÄ7sZ ݆u¸ ¥I©Ð œ™£½­vÚ‰‰'¢1¯•Èa‡¢”bï=÷ä/ù .$‹a[6Ï<ó ÷Þw/vΦ§·€l6KcC#žm¢ëŸ¤Cq·.ׄTù5À2M\f»;£FUqÿýoNǰ3Yv˜>êÑ£‰0ýÒ‹p2ôHϲxñΟò¥ÓN奻†—Éä㣠FƆ†ÅWiB¡ë …eZ¸Žâä“ö"3xôÑ·I§cX}v:ôPÕÕ¤ª“L:ç œL#Ãêí᥻ïa¿„ò¦N IDAT³Ïæ…Ÿü<7ôU(@×Lù¹á“ ÍÐJbZŽgŸµ/٬˓OÎ'™Œbõö²ëQGaõÍõìvì™y|ñ8Ùõxõþ˜rÞy<Çy Y°¹ÕÕÕUÌ´4>ÝÐBäi¸øÂ©¬^ÓÃ_žYD¢€o9s@xl³Ãxvš5 '›!’Hнjo<ò(SÎ;/O¿‚N:6555|nMÍÐÈd2(¥8à€òž•®‡\š%:û(²½}L?`¿úÕ¯0M“x<Ίå+xä‘G¸þú둞¤£³ƒd2ÉòåË™>u ÂɤÕÕÕ[¤ëaöUØ?#^Œ®ÝW¡Ë&v G9hszQÖC­€ÖêOiXE;µ þQ ]Q"‡õ!—ÅYwC”Ôi&æSÀF!Noñõ§güš'lÛF×4"Ñ(ŽãÉdÈöe°RÑüçl–––”Rd³Y ÃÀvlžÿ×ó,þh1ó̧¦¦†ÖÖVÚÛÛÑup)7zr”ÒVâý„©œºÂy㽂 töô’ªŽ!PqLÎ!^•fåk¯Óºb ²©†öž6:²]td»èÌõÿÂ8Þúíops9PBz¸®;ÈSÅoì}ÕZC”FãsžGk{;}¹Ñ„ÕP:ä,—DuË^x‘ö kðêR´÷¶ðuÒeõÿÂXÞxìWyõ…Téá¸^áð¾.šA›p¥©i6½ßõ,\×Cx.ëÖ·a»y•H"ÁÛñHÔÔðñßþNw_Nu|#¾L'VÑÇ0÷‘‡óê'¥ ôóéç§’­ä7~T?>×sYݺ¡y¸JPU'ç¸8® QSÃÂ??MÆÍb¥ ÚûÚéÌvÓ‘é¤Ûî#²]3sy£ Y áâTQb€§ßPΰQï›­W ÏÂu\ Ã(J%™L†¬maÆuzººñ¤dôèÑd³YÇ!³®u/<ÿK–.aÑâEŒ5Š¥K—"¥D*ëÉPø*™‹•'„U8®…›ñc]zÇtâd]4 Ú€ª[GÍM >Œ¢íïA.‚š—@ÛS¡íî¡ï,ÑÐò6šQ lW ¶w–SãDj¤Šl.¥r3• O*ý&ÆÍO!~£¯¯Y³f1~üxžzê©<ǧA,cò¾“7n5U5%xï½wQ”Á·tœK)|½9‹#vÍÕ§LaÕÚpàÁ WñçH–ᨵµLþ°™qÑ<;Žnx®Ë®‹F󸢕O#‚†”áW–¢C¹¤‚•ƹô{ºåñ™=s[fœ:•UëzÐ5[/;Š¿·Œ¿½ö½Z†9«ëØ+ÕÌX½ÏŽ¡G"8V„]æ7I7…`646™Ó¡Õ"•ª‘üÔŸyÎ>/cÚwèöÝy4kÖõ¢ë:?¹òXþöæb^š·Œn-ËI+™˜lb™ÇgD¢ôõzìþÑh ú”,b•ÔBÏϰIHý ¯åôäBlÄwÖ¬½Ùcû&Ö­ï£Êˆs÷·ãO//dîûŸÒ«e9ãÓFvŽ52ÚÉÏO#¥·ÓbåâÑÜ«b˜¢åUfZà!6Î%(ßZù@Ä>%6Æt ÜÑ ¿aš&\p/¿ü2ï¾û.ÕÕÕ¸žË'~]ÓÙe—]H§Ò|üÉ'ØŽçK??O· UsX×óÂnY8Ü<¤±Ú(ª„©Ð, ­V@RA·–”¨¬¦Õ­Ù°4´Hjp h28ÝP¹5Si yEj±0)TTa“Ô\)ø¥—yž‚––¢Ñ(¯¿þ:6làÈ£Ž¢«³“ººzºººHÖ¤‰flËÆSn>×UõüNÝJóêØuž"bÀWN؉۷°_áUR±Ý^u¼õÑj¦Ä÷ãØýO¤!ÑÀK/ýƒd,‰']t fí-úÂõ0´R ál¾X|2Äy£™ƒëJqƒ¯œ¸_ÓÈþ¨¼§„Q»§yoq+Ó«`öÔ¯Ó"¼þÒßIÆ’¸Ò%ªG™5õ+Ü7ÿ1<ÇE+̺Ò ¦¼ qØqpAMuŒ9_ÝíšêPZŸÒ¨žcñÒn¦×ÀqÓNÁ±Mæ½üwÑ®p‰1Ž8àîœw?®ã¹AGÚ‚ƒ7àJëÜøI®ƒšccÛ‚¦†8s¾º£j«(Ø÷ÑЈŽÓX¾"ÃÁMrìԯѕéàý—ÿN<’À‘©hš#¦}•[æÞwÏîÇ'ìŠ×]PÐdX…©8NÞFéãtÔΰí¶Û2qâDô}™>N>ùdV­\…®ë´··3z›Ñ,{÷„ðÊâ Zn~ú1y% ¥ÀuÕõdëXùÝNx¸u]\Õm—'Þ| QP«¨ñ9l­œJSÉoÄ'Ñ4I¶×æ»ÿùW¾¸Ó(29‡ˆnP•ŠóÎâÕôä²Å ú³ÐU^"„ÜLÇ·iëììdê¾û±Ìí¥ùò™öÜǸ5 4©ð¾´/5=^Ñx"Ÿéó1T;äñÅQzO¾ø>·ß~ MUüÇUO£)hTçÑ·%‰’ˆ$hN5c9V^lWpì/Ž%nÄóþù€T"ïjŸ;>),4¥H&£´åzùã+¸ó¿g‹E¹ê[O“ˆEÑ4øÕ›¿"‰ÆiI5cÙš®á:.GÞs$ #ã9›á²-·ŒÚ¥Rã¸,Ð/™Œ²¦»‹åsÛ¸ë§s°lÁw¾ójÒ ¤²yäÍGˆEb$¢ šSMù*èÉtsøÝ‡“Œ$1]³ÀÙ ¤§¶8Ã,ð<>H¥¢,ÛÐÆ§ííüìaC–ï]ó,uiº­Î"¾d,Isª ˲Тk»Ö2ë®Y$£Irv®(¹ñUhÙûʳÐÉK&›f²ØÌ°¬ëtttð•C€#öaÜÁ³ËÛˑɚ¦ahmm×uð>[:•µ1yF!U—°!ÂS(W¢7êyM€›ß áá¤Mœ¨-ÄÆ$J“…ûúÇMm1ÚmùÃ¥ãa “1-4 ™LãQŠ«N+½/;ödÜwÛc[è‘RrÁéËâAàó®±§+Œic[£ZZh©ðØCï“®Ž¢«±˜†¦éì´ÝN¸ŽGo_/JÏ9U•B \å"4A"‘Ä4mø?‚OS™œ…i™477‘Qyð=4C‘Œ&0 …aDØ©ig\Ç)âSJ‘®N#•Ê«ù”ƒÐ$ÑX 3g¡Éá! R5„N¾§túr&–m1®¡‘,Ýÿ¦íR›Nƒ&IÄŒj…mÙôfú@Ï'®Î$JbI b`8–i¡)ØÒ Þ°š2èÍæ°›mZÆÐ×gòà½oÓÑ•¥±¶)=RÉ£[Fc™}Ù¾âb¬®©FHT SZh , +7_}‰ý›C4èËf‰ÅcĉbàêÀeÓQ»ûÎ|‹]±>íFn.î/Ñh„¾+±M»b|ãS™ß¡@t÷eð¤ &Z“?Du…ÒQ=‚íØ¤RIªÒUùŒãf–˜CHI}]Oäã¸ú÷ËήN¬ ñ ·RkèÃ%téây׬_Ï—ŸÅ?¹—{~všn·{ „A Jàé:º'ò܇a ¥åÝØtÈ1üäþŸc.x´&ëj1”‡åJ–E®/‡“3I AβP¦!$¹ž|˶Ñ{ô®,V{]]mtHÉâwßÙŒ~~®ÈaË „uäèÿûÃçpëÏ~‚ê[¤‘¦ºZtåb¹’¤e“Íš¸9“„dmʹФÄìup< Ûv12Z·…ÙÖǧ‹ÞzÓßpœe†C†ÁáG~•›~r+q»O5Ð\_ ÒÅvIÛ¡¯/‹Èæˆ+IδÐr&(°ô¶ká8F_:²XëÛhë²èÑ4¼þ:¦e:Øýö•0¶˜Í¥”d '} '} çwzêÏŒ?ŽÆ†vØñ tw¶!”Æ6ãÆÐÕÙEU<‚‘¬¦½õÒ‰¶ëññ'KykÞ;ÑÒ¯;dæÌ¢±n¸ê„J6äÏ9íø¯Âñ_åŒ3ÎàégþÂ.»ìHmM;îø:Ú[Ñô£ÇŽ¡«£ƒšd âi:Z?&ªÂq\>Xøソ`¾~ÝñATœhCÑ{ŽÄ8ï”ÓpÝ“8ýô3xöÙgÙcÒ®TW¥ØqÇ lX¿–h,A˘:Û;¨«J #I:×·’NUã8.ï¼·€…‹>*‰oúôé¾ô Óç u`P©ãKÎ>ÎŽ¾~þüã¹çØ{ï=H§ì°ÃŽ´®[C2™¦iTmíÔפqõÝÖ“NUcY6oÎ{—%K—•Ä7eÿýËŽØ#ŒêÈÏôÊ .aÍšÕ\tÑ%<ÿÂóì»ï^¤S ÆÏÚ5«¨ª®¥¾©®¶vê«°e„žö y|¶Í+¯¾ÉÊU«<[/&ýÒ—¾ZÍfϨ$Ÿ\ÿ}W_v%K–,á²Ë¾Á+¯¾ÂäÉ{“J%Ø~»íX½z%uõ ÔÔ×ÒÝÖAcC59W#ÓÙA2Y•Ö~ñUZ[[7>[׋Éb÷ÜsÏ!ÙòÂjRüc%š¦sÝ•W³`þ|®ü«˜ûÆ\ößR©$ãÆŽeõê•465“®©¢§½ƒ¦Æ:2¶$×ÕI¢€ïoÿx‘ÎÎŽ’øvÛu·@úýŸ3èZLÀ¯÷[Î?ÿÆmÓDwG-ÛŒE ›†ºZâ±8®ë’"’Íšl·ívTÅä\‡D2Iuu ]Óxýõ·ÈŠq}ÿûßçšk®ÁuÝAåV?3cw!>Ç0 yü1.¿üÆŽiÄ1MšFÆó,êëjIÄb8ŽCz›ñH„LÆdûí·'Ëã‹ÆãÔ7Ô¢¯¼ú¶“οãŽ;øÆ7¾QÄ·%Ó„á{ô7óï\ɸ1 è@}S3®gQW[K"ÇvlªÆ¦‰E"ôerŒß~’Ñ89ÏÆˆF5ºMÁK/½–<zè!Î:ë¬Ï_ÂÌÿùã¸îº«;ºžT2Am}#ŽkR_[K<Ƕ-ª¶OLÏÈëÇïH"#ãZL‰DØnû1HOñâK¯–'Ÿ|’ã?þsŸýØŸÿú 7Þx-ã~QO}]U5uØNŽºÚ:âÑ–mQ½ÝxbºNo&Gã;3¢d]›éÓ¦°¶u[”üûå¹Åƒåïÿ;³fÍú\ð ܘ=ÏãÏ?Ç~ô_Üû³»iii!UUUÀ‹Æ°-“Úí«‰ £gs´ìPKTñl:ð6´µâÙ/¿öfqã}íµ×˜2eÊçH¿<Ãeš¯Ì}•[n¹‘_Ü}cÇ%‘LcÚYêˆF#X–EÝöµDhšÉèë0´YÏâЙ3hïlÃ6m^›;¯ˆoþüùLš4iPµÍ-ÑFÞ ¿ ÷ÑÑÕÆÊ•ËØgŸ½ÈôfùÛsÿ *• iÔ\ÇCÇÃó}¶‡Žm»˜Ù.”¦°M¤ UUÍÈM?¼™/L˜@mmm1ááP²“Ï _% ¶¥¶ŽV^xy Ó§M¥½­“¾ð<µÕiZFc;.×Qd,ËtÈeºPئ5µõ2s&ÿýÓ»ÕÒB}}ý |•ô+å>üÞ±nÃZº_nçÐCg²fu+/¾ò"õµµ44µ`;ÛQ8–‡AÎtÈe²HMÃ1]„ëÒÜÔ̬Ãç÷ÞGuu5 ¡?ƒþHpY­mëø÷+}}ô‘,[¶‚W_•†ú:ê[°mC“X¶‡#5"dsY‘AhàÚ.®m3zÔ6uä—ùåËFhhh„o8Yƒ+Qó–zæšÖÕ¼òšÉW¾2‡E‹>æÍyoÐØØH]}¶mˆO‹ÉÚÐÏÉã·Í8Ž=æh~õècH)ilôÇ7Üìäaç¹a¬\»õ†ÃW¿z<ó,äÝ÷ß¡¹©‰šºFÛ&¢+,ÓÁVQ-BoÆB“. \mšl7n~pӭϳÍ6\pþl·ývœ{Î9%ñ ·ÏCÅhRJ®ýö5ÅkŸ|²„–¬`ýúõÜó‹`|&Là”SOe÷Ýw甯}m·Ïç!± lýå£ÿë»×¯Í_°€å+[Y¶|?ûùCϘ4iÇ;›ýöÛ㎛]ßpVZÛ|ÓßýຯÕ6¾Éº ÝÌŸ?ŸgŸ}0ðyûï¿?‡v$t ³fÍ M¿Ï"i_nù¯›‹×b©F:{L^{í5þýïŸqðÌ™xð—9昣™6mRJªÒé-6?+U­Åãqn¿iã>骙œË?ÿù/Þ*؆üÚQGÍôƒ甯ÂÞ{ï…R’x¼a³ù¹¥Ö¡vœÙêæÛngô¨Q(`õÊt´·3ãàCc¤vؘ P‰l1?úè#_‘Ìu]F]ÌlYñx<°ÖvІìWùp(‹¹_?ÁúÛ¢E‹ˆÅbeƒGÇaܸqÔÖÖñ%‰Š°©%Ã,z¿”2š¦ýå7Å·páBâñ¸>›ñãw(f_ ÂWIn±°c&]ÑF|‚h4Ÿë:L˜ðâñø |aCüQÂÖ˜÷Ë1VÄçyÅyÚ_ºò`‰„ïüÜu×]‹éôËá ³¦‚,‚æµ_9o!Ä ¯|'N,þ½)¾¡Ì;?§”¡`ŒoãüB°xñbâñ²LÜØ¦ølÛÞ¬4I˜½3ˆáéÆÂæãyãwœ€¦i¼9÷õÊÕbCáóÈsâý“}×]w õ{ÇqÐu½Hø‘àG’é7H÷súýõ-vÛm·Ðø ÃØlbGý3œHÿ2ô|íø"‘»ï¾û°ñmI®),ý"Fd3ú _¨Ü_ŸQëgàâ‹F£ƒ6ž‘˜ŸŸÇºìŸ—ýôB „O)…ëºD"‘Íðm Éd(YËÒ¯_, 5?âë?XJ©ò¶ØÜ«„å¸]¿û7Õûű°ƒÜ_ ®T‚UR·¶J<8Ë­¿J½GÃÐ/l%Ê0ûì þ÷d.WSÙÏ0ö ð«¼XN•àן ÃTXÉ!¨NøÀþ%;q)®0(H«TÊ}?<å\!ýê›üí¦ÿÂÖåjo‡uW-‡SÌ~s1è€+uÐoJÏRt rx)׿Zò~j¥ 2¥Ê1”’¬Ê1¥àrÿÊmºåƤV¿ý¥’uSjýùܥưTŸÂ`bæÊQ©=ÅÏ Q®öO9W÷rô+7~}©$ŸßRî‡Ù,+9@ü&‘Ÿî6Ìç°ý¬”£®dÒWš2ßOš(5тƩœåžSiq®°6°} ÃuUZ†a¸S%éÇý$—¡ØÆÂö­’ïÃÐ!Œ!è¹A’ËPh„¹ÜwAªö É%hNíA¥=‚­°8ýS¿= R »âÃ%ˆë)ý©ß ï÷¾0…n*yP‚JÝýÄÏJŠ`Ý?T'€rcćQÛ•;°‚Ÿ¡Ô(¯ôÀ«Ä ö@J_ŒaÚCÑã„-¡œT4Ô5?TC÷Há÷cn+Yßaè&mL)I¿Òõf–ÓF„‘œÂþúPQîd Éf(¶“ UÔH¶ ‰f$ʃV" ×x\iÃH[#)%†•\üh4F•,˜áHDa¤’ õFX{S%nÐ5?ÕRιRîz8´¨TrÊÜ óìJoÊ­å°ÒRXlåÔº~kȯO#–[¬”®œ^5ÈÕ²œž/ˆ+(çÞW‰Ë`¥®Èat•Ú5ütaõö~5H^N'[Š[òŸ°}SžÙOŸ[Nz šGAœn¥î˜å晟´ígs ’œ‚ÜÄÃä„ÚT‡¤v º´.+Á¶O›â¨$¨vÓ9$¡‡ã0’[ùÍ*p_ *©ì·nüèÆÅ=¬”Æs·â Ê •Fm H%ô»r“"Œ~³Ru‘ŸG–Ÿî¸W¦•xm„Q;éWýTa½zÂæm«Ä3ÊoÞø½»»Sؼ_åìa<ó‚<G’÷›aJÙ†‘ŠKû‚•î3AÓ¦V0œÁ IDATNa櫟vŸ Ç #¬$^IÌZ˜µèÇ\Wºç‡QGV¤ŠXšÍf‹Ÿ]×¥³³scÍ‹÷wuu‘Éd6»ÖÙÙIww÷ ÀýÈr¹]]]|–­>ÇqèììÄ*Q³d –l6;è»~|===ePUÙqÛÒør¹\ñ³eYtvvbÛ¶/¾Mk~tvvÒÑÑAooï I90õóÀ§”Â4ÍbßMÓ¤³³³X·Ô†ºi?ûiÓÑÑA___q^Ä70ÖgÙ¤”ùÊ’hÙÙÙ¹Y?n:¥”tttÐÑÑA&“)I¿ÞÞ^:;;éììüÜâÐJ­GÛ¶CÍ×þõ¨i}}}E,Ùl¶ÄøyÆc•“Òºººè+Q¦[OO===›©ºÒiK⊌a…èºÎI'Äïÿ{„\~ùåLœ8‘K.¹„×^{G}”l6K$ᬳÎâàƒ.&H´m››o¾™E‹!„`öìÙœyæ™\pÁ¬ZµŠššššš¸çž{Š øâ‹/æÞ{ïå™gžáæ›oæ˜cŽá¦›n*›pn8^dýÑyçÇoû[LÓä²Ë.cúôéœsÎ9<ÿüó<ñÄär9’É$çž{.S§N-âËårÜtÓM¬X±Û¶9ùä“9餓8õÔSéëë#³ãŽ;rÛm·¡i¶msÕUWqå•WrÏ=÷ÐÕÕ…išœ{î¹~øá*{ŽœÎ¹­­«®ºŠG}”žž.»ì2Ž9æN>ùdž}öYþð‡?`Y©TŠ‹/¾˜½÷Þ»˜²§§‡o¼‘ÖÖV,Ë⬳ÎböìÙwÜqž=÷Ü“n¸)%¹\Žï}ï{\yå•ÜvÛmÅCìì³ÏfæÌ™Å玔mLÓ4>ýôS~øÃòÀÐÖÖÆ7¾ñ N=õTfÏžÍÿøGžyæ,Ë¢ººšË/¿œÝw߽؎Žn¸á:::°,‹¯ýëyä‘Ìš5‹úúzLÓdúôé\}õÕ(¥èèèàꫯæÁóiVž~úiÎ:ë,–-[F]]] ‡[%hýŸ,XÀ<À]wÝÅš5k¸âŠ+¸è¢‹8ì°Ãxâ‰'øÇ?þmÛÔÖÖrÕUW1a„"¾ÖÖVn¸áz{{±m›K/½”™3grà²í¶ÛÒÓÓÃGÁå—_ŽRеk×rß}÷±ýöÛsï½÷²Ç{ÍfyüñÇ7‹Ý Ë¡Wj»êééá’K.á׿þ5™L†Ë.»ŒÃ;ŒÓO?þóŸüÏÿü¹\Žt:Í׿þu&Ož\Ä›Éd¸é¦›X½z5–eqÚi§qüñÇs×]wñÞ{ï‘J¥X´h]tçž{.B"‘H({Jí@ÛáÚµk¹öÚky衇òyÄ¢Q4McÉ’%Ü}÷ÝE†úè£æä“O.î5?ÿùÏyá…Ðu}÷Ý—«®º ]×¹ñÆY¸p!UUUÜ~ûíÔ××o9†à„9³ÕÇ/V½=ݪ§§[}¸à}õÒ ÿRJ)%¥TRJµi+uÝó<%¥T§œrŠRJ©SO=U=öØcJ)¥Ö®]«Î<óLµ|ùr¥”R===êƒ>PJ)%„PJ)õüóÏ«‹/¾¸ø¼C=T)¥Ô‰'ž¨ÇÙ¬ï¼óŽºîºëŠýX»v­ºüòË•RªäýAm ¦Ø^Ëd2êÌ3ÏTJ)õµ¯}M=ùä“J)¥–.]ªÎ8ã µnÝ:¥”Ríííê£>„ïOú“úö·¿]|î!‡¢”RêØc-ÙŸW_}UÝzë­jÆ êý÷ß/â:ì°Ã”RJ¹®» JÑÊïú¦mýúõêüóÏWJ)u '¨¿þõ¯J)¥>üðCuæ™gª®®.¥”R­­­ê“O>ôì_ýêWêÆo,^ë§ßGQò]Ï=÷œºóÎ;ÕºuëŠø¤”êÈ# EÃR4 ºwéÒ¥êŠ+®PJ)5gÎõ /(¥”š7ož:ûì³U6›UJ)µjÕªâ\íÿí]wÝ¥î¼óN¥”R}}}jÖ¬ÿ‡¹7¢<×¾µô>3 0 ;ˆF"â‚*.¨q;î’úÆ-1Q•·£æxbbTΉzrNvcŒ&®õÅHĨhØdq``†Ùz­ªgyÿ¨žvf˜î®0ßWÈX]]]W=Ûý\÷}_÷iZk]h¾¿õÒK/éG}Tk­uss³¾ûî»õu×]§7mÚÔï3kA?×Zë?üPßqÇÚó<}î¹çêÅ‹k­µ^¸p¡¾æšk´Bk­õæÍ›õÖ­[{=Ç~ô#ýøãž÷ì³ÏÖZk}Ægô‹ïé§ŸÖóæÍÓ÷Ýw_áw*íoé¯=?ëèèÐßüæ7µÖZõ«_Õ/½ô’ÖZëõë×ë+®¸B·´´h­µniiÑëÖ­ë5Ÿyæ}×]wí1{wß}·nmm-Ú^¥ž7è¼Yêhjj*às§ðïõ×_¯.\X¸nùòå½°mÛ¶MŸwÞy…ÏgÍš¥·oß®_ýu}Ï=÷ð?ðÀ…¹¤Ô¤]>Zý¡þðƒåº³³Cwuuê7æÿU(¹ØÖÖÆí·ßÎe—]ÆYgÀ{ï½ÇQGÅøñãÉårÔÔÔpÐAõ²N<ð@jjjxíµ×صk'œpà‹^pÁD"=ôPî¼óN,ËbÕªUŒ3¦°ânÛ¶­—¥[ÊÄÙŸC,²}ûvn¿ýv¾õ­oqÒI'ðöÛosÊ)§0bÄr¹C‡eèС½ðrÈ!üãÿà¯ý+Û¶mãÔSO`òäÉœ{î¹Ø¶Í±ÇË­·ÞŠa¬X±‚Ñ£G3lØ0† À†  ²¥øØ Níþx×x<ΦM›¸ãŽ;˜={6Çs o¼ñçwµµµ8ŽÃðáÃ>|x/|G}4k×®eþüùlܸ‘3Ï<€ý÷ߟóÏ?Ã08å”S¸á†X¶lS¦LaĈŒ1‚… òÑG1sæLŸ¯Í KVâX-w$ Ö¬YÃwÜÁ½÷ÞË¡‡ øò—^z)ñxÇq=ztêÆw 'ðç?ÿ™7Þxƒµk×rÎ9ç0vìX.¼ðB´ÖœuÖY\{íµ|§v?ûÙϸüòËùßÿýß=(© êrA,†aPUUŲe˸ûî»ùéOZXš7oW_}u!?~üøN=õT^yå,XÀÊ•+9ï¼ó2d]tJ).¸à®¸â –.]Ê7ÞH.—ãÎ;冷®Ž††~øÃvfAvdA‚jŠõõh4Jcc#·ß~;7Þxc¡FÐßÿþwÎ8ã êêêÈårÔÕÕQWW× ï´iÓX±bóçÏgË–-œ~úé*-‰ðꫯ’H$:th¿ÒôAC‘K9â+ÑSë>Ö¯_O<çøã'—ˇ9üðÃ{a«¯¯gêÔ©<ÿüóX–Åĉihhà‰'ž`ÆŒœ~úé|ï{ßÛƒ-SÎo5 ŸK©Ìä¾çZ[[ùôÓO™2eJáœçyà=骞ß<Ø—~íµ×X°`uuuÜ}÷ݼú꫼ð Äb1þû¿ÿ€Í›7÷ú¾*¦ýe{öbá“}·ë–e±cÇ{iûtë/½Ä{Þ·®®Žt:ÍüùóùûßÿÎðáÃøéOÊË/¿Ì‹/¾ˆã8üîw¾ïöíÛ{é#mذŸüä'ÜvÛm…É·Ô7˺Xûõü~(bÛ¶m477÷ÒFs§@ k¿úúzÚÚÚ˜?>o¿ý6#GŽà±Ç㥗^bîÜ¹ìØ±ƒgžy¦À÷Ô—{çwX°`#FŒ(Ú~ýµKI”Åúk$aóæÍ´µµñ¥/}©p>—Ëpk¿††vîÜÉüùóy÷Ýw7n¿ýíoyñÅ™;w.Ÿ|ò óæÍ+ø7=ôP–/_N$á ƒÂó¼‚Pi©0Ýb ýáìyD"6lØ@:fÒ¤I½Ú¯¾Q£FÑØØÈßþö7-ZTÀ÷ÔSOñ /0wî\–,YÂÂ… Ruu5\p ,à™gžaÆŒÜwß}½üKÅÆ_%íY¬Ÿ‡B!š››ijjÚ£¿–Æ £««‹×_·Þz«ÐﺅHçÍ›Ç׿þõ¸ïûLAú\©žJÔzBˆ^+»çžß …BÄãqþú׿2þüBÛ»®[¸Î¶m<Ï+ÄQl~ šîQ±üK9)‡É“'óÐCqå•W²f_òõK_ú}ôQá…çg÷wß}÷]<ÏãÑGåøÏ=÷BÚÚÚ ¿5}út>ûì3¶nÝÊ´iÓ «n]]±X¬äºýÏd2yä‘üð‡?äßøŸæKtÐA,_¾¼×¤ß×ùùúë¯SSSÃþçòÔSOñûßÿ¾°wÓ¦M£±±±pþàƒ|…ÞG}”ßüæ7444œŒå"}*M,íêê⤓NâÖ[oåk_ûÛ¶m`êÔ©¼÷Þ{½ðu;N»ïûâ‹/2qâD~øaþüç?ó‹_ü€]»vî?uêTšššp]—t:Íþûï_pŽßu×]<÷Üs<þøãgq¹0ÍRR5ýámooçœsÎáꫯfÖ¬Y´´øõÄ=ôPÞ|óÍ~ºïóÇ?þ‘£Ž:Š|gŸ}–Ç{ €;wî?yòdvìØÁîÝ»ÑZ3hÐ Ö­[Ç+¯¼Âe—]Æßþö7î½÷Þ^“o9I¥b¡©ýokkãÒK/å /äâ‹/¦«« €Ã;Œùóçð)¥ Ý÷øõ¯ÍYgÅ<À“O>ÉÏ~ö³=ðí·ß~´¶¶²yófâñxa‚î¾ÇI'Tè3•„ÕW*Ó}$“I¦OŸÎwÞÉ¥—^ÊæÍ›˜2e K—.-9_}õU†Μ9sxúé§ ¾1€… 2lØ0ÆŽ[2¤;žþž=¨¼ŒRª°Øu/’cÇŽ-Pt/}e¶nÝÊ¢E‹øÍo~Ãÿþïÿ²nÝ:vîÜÉĉY¿~=à«¶÷4äJa Ö¼Wý ážMMML˜0_üâÜvÛm\{íµœ}öÙ,^¼˜›o¾™ &ÐÜÜÌGQØn[–ÅÁÌÓO?ÍücÚÚÚ8ú裱m›yóæ±qãFªªªX¾|9÷ÜsëÖ­£ªªªðÂ-ZÄ“O>É|Àþð.¿üò=Âû"±OkMSSp>ø 7ß|3ßÿþ÷9å”SX²d ³gÏf̘14773cÆ Î>ûì¾#<’W^y…x€;v(µ¹sç²sçNB¡}ôÿñÿÁûï¿ÏàÁƒ1M“U«Vqì±ÇrÓM7ñ›ßü­57ÜpCÁ¡¿/å_”R455qðÁsï½÷òío›;3ÓO?÷ߟÛn»‘#GÒÔÔÄgœÁÌ™3 øf̘Á~ô#|ðA 4óÏ>K2™DkÍúõëyðÁY´hõõõ…NþÜsÏÑÐÐÀ§Ÿ~ʬY³ “B¹„¼ %œ»?“RÒÔÔÄQGÅ-·ÜÂUW]Ž÷ÞË…^ÈÊ•+¹ë®»¨¯¯gëÖ­\tÑELŸ>½pïSO=•‡zˆd2Ù‹ö{òÉ'‘Râº.[¶lá¿þë¿xçw5j—^z)—^z)³fÍ*ì<»w‚A²žƒ†C{žÇöíÛ9餓H§Ó|ãßàþûïçßø·Ýv÷ÜsC† ¡±±‘+®¸‚C=´ðý³Î:‹Ÿÿüç455ñÉ'Ÿh¿ßþö·„Ãa’É$;vìà»ßý.sçÎ-ìl–-[Æ‚ 9r$‹-âꫯ.àÛ•¥’ýºÇãäÉ“¹ÿþû¹é¦›˜={6'Ÿ|2Ë–-ã?ø£FbÇŽœ|òÉ…@˲8æ˜cxýõ×yðÁijj*ÐÔJ)žyæ¾™¯¯TiXq)l•–Åb¼÷Þ{üþ÷¿/D1Ξ=›óÎ;;3ɓ'ÓÑÑÁ°aÃøÎw¾S:5jãÆãî»ïƲ,LMM çw·Þz+=ô+W®äöÛoïµ3+7WT*\¨žKˆîcõêÕL:€ææf¶mÛÆ‘G ÀÊ•+Y¿~= {ì±½@†Á®]»X¸p!‰D‚™3g‡ñ<… ÒÞÞÎQGŘ1cxà˜4i_|1~ø!ëÖ­£¶¶–ÎÎNfÍš5`ŸK).T)ÅÚµk ;ŠÆÆFZ[[9üðÃxÿý÷Ù´icǎ娣ŽÚ£sm߾ŋS]]ÍÌ™3 øÛo¿M*•âè£fÔ¨Qüû¿ÿ;Gy$gu;vì`åÊ•8ŽS¨9qÞyçUôìA8lÃ0p]—õë×èÆ7’N§ í¹xñb™0aGqÄ¿ÑØØÈ²e˨­­eæÌ™†A6›å­·ÞÂq¦OŸÎðáùûî»™9s&'Ÿ|2ZkV®\ɧŸ~ÊèÑ£{MèI’-ÕW³Ù,›7o.PšëÖ­C)U TÞ}÷]¶oßÎþûïÏa‡¶ÇûÙ¸q#|ðuuuã NóÖ[o!„àøãgèСÜvÛm\pÁsÌ1…ŠmÛ|ôÑGŒ?žD"Q‘ìOPŸK*•¢©©©@ù­Y³†H$Âþûï_ð îܹ“É“'sðÁ÷²BMÓdݺu¬ZµŠ†††‚ÿ¢££ƒwÞyÃ08ñÄ©©©á–[náÊ+¯äCA)ÅÒ¥KÙºu+S¦LaòäÉÃn EíÊõמ¡ÝŸ|òI¡¿nÙ²…ŽŽŽ‚/méÒ¥lÙ²…ñãÇæ ž÷ܶmK–,aРAÌœ9Ó4{ݳRy§rx*•o˜?>ض_ÒøÜsÏ¥ªªŠ7²råJª««™1c±X¬×ï¥R©ÂnüÄO,б---¼ýöÛtÐA½Úª¯_¨Ò Gõ\´¸”ÛÁh­ BÿßßJØ_èi±•ý‘Gá’K.aøðá½Âïú~o /©ÔÄV)¾¾ SP|sæÌáꫯ¦¶¶¶¬Tÿ§ ¥T¡†DO‡_©Ðà¾øJ…]Ι3‡oûÛ½&Ù¾÷©4”5H[W‚¯ØsÅwã7öòOõ¬ýSéâYÊÁÛŸá´/ðõÝ÷ôŸ>úè£ÜrË-ýŽýîñ´=‚ åÔ>öv<–ÚU ´hßÞh‹•ÚE”šóJÍ5=û`ß±´Ã4àÅ¥RQÇžƒ¨XB_ç]_.²çç}ïÓß í ºç «ÄŸT.Ê£¾þ ö_1ž·ïä[.†>h†b™Áû_±Ýc©~Q,ª*(ÖrÙü¥ž³”tM|AúX¹IPÌÅTÊá+öŒý}¯\ôS)«½\{ë“¥T™¿ˆñX,â+ÈBtŽ)Ö~}ÿ-E™V:—öõS–“uªDib¯*Q=JYgÅ,°b ?>³»t«eYEeçƒtˆåêp\ýY }–žøJ½Ór¹É‘rÅ×ÊEš•éÛ~ÅÌJŒ‚½‘ºè/R©¿þD„±ûÿ»ñ{™˜‚`ﯸTOìåv^A¢´ºKïöÜ»oІJ ò•{÷ýáï/øc ·_D6{¹ r†r©E:HÇRÆ@æ‘9ô+IÛ—Ùžýï™)Dé6ˆ%YS©ƒt rý=錠zö¦$r¹û±¬¤=KÑA‰ ï¥Ò~´Î{¹£îþ¹·‹}‹1èµÔÎ4¨/²û(×~åÞѾ˜gJ¯´ _ÒA‹Àa@‚Î;¥Þmйè‹Xø‚þ^àPä Qÿ©oäy*‘ªb)ý͠ʼn‚V²ÜŒýY2AÞÇÞ–8h*W=q_Y½Å0î|ü@ÆI%ÕLÒÖAó¿*}æÎ©âº·}poæ®J$é+)?þSIÊÞŽÑ}žçR)Ð/z¨¤¶Ê@ëÍ t€îËEw ¦\y×}½ìËÅn_½³–qR餾¯&™J'¢Þs_Ô( ²í‹{VjµÂ+™¸+© Z)öJjKÆýg_-T†zoh ÷ RÏe_Óbåêy”KŒåVîšrʽ¥Å*©ySªŽF9J(èsWÒ߂ʰ”¢ƒ>w9§}©{•«mTÊb"å^©$R9Š1Èo­Zé<´‚ì@i±})ÿRÎ÷2Z,(ÅV霔‚û§Ñbµ¾÷öšÿ¯h±JshJÉATjE­¸7pPÊ(h%ÒJ*¥Å*é‹å‚Šýv9I“Jé¢rï°Ô½+ÝA—{—•Rwy'¥hã¶ç@«´î ;P®bç@w¬©¹¯ðd\hçRéÄ´\q±0Ø ™çå2z÷†þÚÛÆïïšJ¨‚|¿X¤Ü@;i¹mw²ºA ÊUz>HA£R}4h8v%´E©Þr×–«FÄ -…«Ü»«c±]ÉÞ”9R8®’¨ºJË/±àƒ”Rˆ­’HÁ …è*ÅdA/Ö&A ý hçRjë5 šb:P•l‹m/‹=ϾÚj÷§‡Ôßo–úíJ¶à¥¾_ŠvMUî·úâ ôÝ•j—rTYÏ4оØß ®”â«„V.Wí²? åJS—{w¥úC)M¶þÞiݳb¿Ûß÷ƒ–ïòŽK=W±1[.z³Tß B]•›·ŠiÉ•J˜-¦ÿUìý—š§ú£Ú‚¿¹ºñùÏuáãü[È«ðj´V˜†‰—D)ØPn°î«_|û§FcôÛ~ Ó´Šæ`•[‚ÊÝ‘Œ ‚Ïï Åðu7áçø”Rض½GÖ¾˜3ú£A´Å¤˜–™k}žIS!>I8Æè‘´X®}‚}SúBK)üDÐ^X*Ã×Ý—•’D"Ñ’ÆÍ@rfJ-0öÞLZ¥VÆÝ»[ȦZ=ªÃ2A*…ÔRˆ>Ïõð<%] ®T¸J#<'—#“I‘Le9àÀ©ŒŸ0‘h4ø™ÚKY[;wl™fxÃh …'$†ž'‘BâIáŸSÏõJ¢„‹’9O¢¥‡ÇõH¥ºÈ哾4… ÷+”ú â‹ Ú–•ø³š›±ÈQ?bøžø\” O<)AyW ¥Ì?“œ'ÐRày×óèìlG*“ý&}™‰“&õ*žÄß)¦þî±½i aKP7¼O( \W òø„Ì·“÷9>™Ç‡ô± OÐ־Ì0a¿™”ú :·M­Do­iÛfâÍaÃ…òžT€ëùø\á!¥êO ¤ëãs=P×õûhëî‘*ÆM8€Iûï_Q²{ÐâmûÄ¡$ì™&‰ðý[ïbó–ϰ¬Ï%Æ•ò­B¥5Zi R”žoÕk©&àyÃ0H§ÓœwîÙ|üñZ¾sãì½r`ô|Ï—¬¼$¶â;7Ìfûö˜ÝêZ¡´‘Ç)}|†”©hÒ~M Óø_&“á«_ÀêUr˿ވÎêÏ1\iàA±óJ¦Ñ ®¾ö&Úv·ƒia¾Õ®00 %}D âs|h¡¦aàº~A®K¾z1®\ÁÿvEƒ·Øv¿Éý=¬HÅq=¾ùÕoÑ¡3„²"æïÁºE}H¿M¥ÒHå&ß~²>×sùú×.æƒÞçß~øÓ’Ï$!Èà.Fc(¥° ‡dW†ïÝr Žãø6ºÑ?>òø”ô‹G)m •Ì+e{…{^òÕ‹X±â}îºçÇEF+‰ˆ«Tr¿ûR¶­­í\ã¿¢”Båw/` óø¤R¾ñ^_·QÔ-»ôµ‹/àƒÞçö»þ£ qS©C¿Éýbø<Ï%VlÛ¶“k¾}3¦a"ó;iŸÿwÿø ¤ºñ9J+¢Ñ(žÿ/¬\¹œÙ·Ý[¨®Y í^©C¿â<— ç‡ÖàW¿ø%¿ùÝ9xÊ—ÉdÓ¸®?ù˜–E&Áu]„(¥ž_aM* hŸJQyÊÅ€l6ÇÖmM­5¹l–ªDœóÏ?›U«V1uêÔ=T‘ƒ•‹l0-T¾ \[Ë_™Éú›È¦s$“IºººHÄã8®K2™ô·t!‰+\"ÆçeI¥yKEæ'm“êªW]u;vœƒiEeà+Í)g]í=ïVWÇ3OfÍêu89‡ÎŽNR™4ñá ÜœKÛŽv¿Á•‰²$‘hا3Òïð˜aU)ˆÇ¢üŸ+¯dWKkç.…d×4T·Ï—ÐZ3¼~§å$Ö®]‡—”´gÚÉte‰ÕÇq—T*…>‘DbFÁ½$ 4¨@Ê0R lË䪫¯â³ÏBô¢J9?KµK)^¾„¹ä/€?ù2>}$?ž½Ž)³%»wµ’Ñ.‰h'•%I åZÀ®–\×£ªªŠl6K*•.à“J1"=ð©BÿÌær 5­­-믿€gžy†ûî»_üâüþ÷¿ç /dÍš5lذgŸ}–›o¾™ûî»W^y…³Ï>›ºº¡h%1M°,ÓŸàËla‚$þI ê{¾ó̇°¢&kþ} k^Ø„F1þðŽzøËl~i;o\û>çŽ<ž·¿ñ"#uâ0¼j¯]ü¤ÏÜ3ú¸z4~ ƒV>uÔMö•o¯T[,ˆÔw¿%…‡iX~è©ÖØNu KöçÍ„ï©Ã½±sUõe´ýz”Ñj¡/Ï@ ‡IÌí¹ÎDšÃ0QÒ#² øB¡ÐÉl嬼JJ k{)*j]e1ÔH°ã„(¦iPóH™3‡â]Cüå݈Q?ä3j‚©1’=4„½¢ ûõV?yA ²Ë…/…@ \×>¯M^JO+h[åþ Ã(øLLÓÂ4M j”Mf‚Gí ŠÎKB  ú¡$sœ…™Ô„¶)¼÷0 ]e;!„½^ûZŒÐk;ÀÐø[TëøøŠÕàÙÛzJ¥B}|BJLÛÂ΄SÛ1–¹(Ga(°ô0âŠð ‡ði9Ä‹èeiró#DÏsPm±3\:ÿh?] ³ÖDЮ‰$—Ëõ„J®´òfÉ—¼ñc[6&b°B…!þ°FÅüˆ1]íªÞÿ71G¡Ð¨Y&ZÑ¿ËøóÊ7c`*ÀÇ—Íf‹¶_ô€}ª-Öß”ãÜ<Ïç9•Ò4ooæ©§žâCáÎ;ïä‘G¡³³“xXQ!;„ÈH’ó„¶ùs¢‘Òˆ)©9îYr¬µQcvRcØ&Æã3QTƒð}34hßèTt‘1¿¨UKJ…ãyd2jjjˆÅc<õÔS8ŽúsJ$‹áyµµµªíÎ1£ÇðÀpõÕWû“¹a"Ã2©¯¯ô\ûR¹7>ß*tµ‡°þ°•e¿^ËÒG>泿ì`¬œ”GÆs9If»ƒt©mY¢µ"¡É]œŒË„3F"7Ðu)ìžðËóÏ?ÏæÍ›4hÍÍÍ,\¸7ß|“‡~˜x<ŽA,#—Íqá…2{ölî¼óNßÉì mBwÜú>xÎb÷yb3ë^Ý„¶±m/%èø8EdHˆµmfå6d“ivˆŒÒ²¬ƒwoù€Hm7çÑüá.0ñi´~,Š ³•W–ºîó™ÌËe(2™ ®ãb¦mÔÑ9ìç«g¦QSˆjìªñ.íÂZ˧7¸9¼Â+ÞÀ@õ³¨ìMÝžJî+ÏE)?—*ÛÏ0±LŸ.ŠÍk#{öâÙCÕÚ ½{îØj¼*¦Fº)dÁ 4 >Çgøy‹å씢SÊ…ïJÏõ•.¤$íeÑj¶ZÈ!&ÚÒDWH̤ÆÞ®1È¥ýGܬÀ2 ’× E9 š,²ÍU¸óbÈ& ³^á.ˆÑ¹>ŒÛ¬‘YÉÎï„Q!Anc¾ý$(%a+Géíä>h„ë¢ Z`?á`U lËÂ&:ÔÍ9DŸÖèZ6ÀH‚Ù¡ßyˆ¸Dx¢ÕC¶‹‚3®Øøû"$÷«"÷÷¥£q4J ß ï8|òÉ'h­‰F¢Ø¶MGGGA_jÅŠTWWû¹®K2•$âºnÁ±ígƒûü1:xtP9˶¦Râ‚ÂóC2=%pÒ.N«“ç¹m Ó$\k£YÀ'DA.¥ÜBPL $¨àe9*I…R"Ï¡AH™Ê@% ´Em m3­Á4Z"Ú]Dþ½¨‰a6¢¾r;® >´þ¤Œú°2R¡”Ä¡l­4ÊЈͶ/z5ëlùn¸ÎÇ&žtð¤‡÷™D þŸçŠ@óJPý¾r*ÜÅ"2d|fÊÄl×`*LÛË(85ŒŒï‡éVú¶D´yxÛýq+ …aàú²2ž++6âú¢A}/í\*QUÒŸœºG»Cj¥’Ò(èmug¡+¥Ê0Ëf²kÐ4Í|Ô™ŸÁ^l(ÒЩÏ2~T+_·daç5Û²Q"ß–ÃÀ ›Èüd–Ig|çµ¥Ñ(¤èvxKÐ*]LÉ´XÉÖJK»jå"•OH·¨cã5ãx°¶„ÐÛ-ŒT ½¿À^Ç‹ºÈl²†ƒÞé¡Ã )dṕ”®©SªžD¹í{“»’J}Nýu¿ בÈF%LàÅ4†R`A®Î {ÎPr­)¬¹M¨ˆÕ Ÿï/,Ö^¬ôn)j¯Òz.J9¾¶]7>4Rk”çb[6HP¦/acšf>ßÃs}?©ßü,$=xúà¹A¦‹µgék5ZöÀ—ÿW(2¶i£U>ðÈÔ˜ÚÌ/HWºd3Y ?ÀÒŸã Ð~åv1ÅÚ¥”Á´Ç¸Dçû§Dk^Äòw1¾nœÝ+°Ê4MŒ¼Ò€“sÈesþüjäÇ[¡ýd¿íD¡»¦/.i:u/¢²9‚x<á/R¡Ñ…H1€ÚªZÐL'±l á ªª«ò±ìË´Òßý¸®‡ªbŽ0ˆ¶XÅÑbÊ ›õµ}‰žð|Z+OJ‰išTUU‚dês|555K¾Ÿ~í"Uùh½‰+f!îAÍ(p².J+ª <)||Ã4öªÂ˜õ& {úcHÕ& ë0^ʣƬE×ûò¦i"¥$•N‘Ë9þ¾\•Òâ Š½Xá4ŸA&ãšDÂïŸZi¨–ØÍ/•ÃÅhØÅú Kj]™'ÁøÛ.†<™B Šò|«^IEgWNÎñËCtç%ž¿X_ ªcUzAÕ  Ò™†‰DÂ_`òïÞ´|ƒ- S•¨Âó<Ò™4;R®éž°»….ÛÛÛÉeþlŸ’õKÊ-ŽAðô;)“t&‡iEñEÂñ®ë’Éf[a<×£vp-RÈÏKzäñe³N¿kK±ÜJ*V6f5Z¤Ó9,Ë"‘H"k»µÕ„D"±®ã’ÉeGÂxžÇàÁƒñ„—/„A/|Ù@TjÌU¼s ,¹Ÿ§›[Û“~ø!Lœ8d2å×]È+»B¢…À0M 3‹›Ë’Íå0C!P¾žiú;/g¢Q¸®ÃôéÇøÂ—fðh” j¹Ah¨žV´¶w1ý˜#yéåWI§Ò½®u…D Ë´À°zã“=ñ©>!<Ž=öè²QF_´ä~÷ÑÞÞÉ 'ϼ×ß “ÉöP®!Qއ%mTÄÀÍù £ß~ W{˜ÊW¥UYmøÿÈ#§!<±O+zìjëäÔSNâ­wÞ%—ÍùºÂú½VtÎ%S#òÄg¤uŽ\6Gèôf$ ·.އÒ™µÑ†À4 ¦q8^?´Ñ¾ÄDr_khiïâ̯œÊÒ¥Ëó‹ž*ÔàQ¢Û礑:…“És]¬P”öË` Q¤k¢MA(â°Ã)Jk~QÑbý X*MkGÿrÖé¬^ý‘O)KI·Š¨ ]¥}úÓÉ¤É Ëå©w/¿ûÏ5цG$áC.Š/(U½·’û>“¶Î4çs&s~öß~¹)ó»ß­ÙísB‘Ëdpò*ÇJk×õµU7>_vëà)á:î>oû\[¬”˜\ßI8™NS‹ð»_þœ¶Žv¤ð…Õ4 ;:Q±˜_3£}7ªº<ì Màx¹œK$ìaTmÃMFèl‰ ™t¦:{È ¾¨ì;É}ÿït&ÃÐÁ5<ñÛ_ÒÑÑŽ”âs|í¨xÜw¨u´¡jã Sd£ œœG4âBbNWŒ®Ö(!KÓÙÕø½­d7ß–J3rD=|ü×tvuæÕó4DG'*‘@8.¢³5h:›t’L´ ×Õ8ŽG4â@b¹Ž©¶!KÓ‘ìPìä~÷ëèêbÒø1<ýÄoI&»2ï?Q ‘L¢«ªÉ ^¶ ]]‹Î¤Ð^†l(“Q¸žK4’ƒDÙÝÕ¤;„l íW®è¾’Üïï0M“¶¶vþòüéÉß‘J%ýZB:¯3‰®Jà¥3ˆt]S‹Nu¡,™H×ñýI‘hbÛÉì®!Ó"lCg?íW®ÍÊÕJª´=MË¢¥µ•£?„?=ù8™LÊLJF èJ¡«ªðR)D&åãKv¢=‡L8Ž“ó¹H4 ±¤[‘MÙDl£(¾ ¹*ûBrß…ØÕ²““ŽŸÎ‘Ó¦ùŠÈÂõÕõ=‘Jûø:“xNª¡»:PÂ#Žãäü(ÁH,ѤvÖâd,Â!“Ždgàþ¶·uyÌX¥8Ön9–£9Á›ï½J6ò'^©Èes¸©ÙœŸ?áf2x™™TÌ!réep²I¤§ œBê.„”lîhgን¸ž¯à:jh_X’ÇÍ8…-mIÞ]òÙlÆŸ˜DžÞJûøºº:p3Y¼L–L2ƒNùø”—ÅÉ$ž‚HJ'ñ„`K{o¿¿¢à‚ç‹·8ñ¤Óù¸i'‹—¿A6›A+…*àK“Éytu¶ãf³xé Ùdr9Ïo¿LÒ÷%E:Q:ãyljïà­%ïûÎÓ|ÒlPM°RTQß_êÚîÏN9õlVljäƒUoùrZ£/“IûAávÐ9R¹v·ñ÷2øöcR¬Ovÿ‡9õ´sx}éR6nZN&›Ã„ãæÛ/C*ë’êjCðe!íà9.ÂMãfóøBm :2iÖ·îæ­<¾Rã¯TVÒ^v¥s©º}·´—^| ž{_½ø–¯XÎþûíGMM5ãØdû:F!3z-Ÿ­¡:Q…‹ÑüÑâÑBHÖ¯ßÈâ%˱ÍVHaG¢…$¼‰'–ô•jð ’üåœä×_ý-v·4óµ¯~O>ù„/x ‰ª8˜DËÊ5X¶Á¨‘cصy5µ55¨p„y|RHV/ø„+Vc›v_ 7¯Û4a„¢;ßrrú{3zZe7ç{lÞ¸Ž+®¸ŠMŸn`êÁG˜0i»V¬" Ñ0b;7®bèàÁ¸¦EËæÏˆÇ|ßÄÊykY½æclÓƒ‰’K§ rFA¤¥üÅ´ÅJEŸuŸ¿ý{?`íš•\uÕu46~Æ!S§E˜0i"ÍïH¼*Êðúv~º‘ºº:rZÓÚß²¿|È'ë6b›vØÀŽÄH'»=ztYD)#¨ÔœRî)¥°ì÷Îþ7–-[Ä·¾õ]v4o÷ñÅ#Œ›8¦¥+¨TEÝÐzvnXO}ýpÒž mÓ–<>Á?ž_ÆÆM[±M°Ã&v$JªÓß¹444”ìKåÆe±¶*¦ñ×óœRŠH4ÆîøwÞ~{7Ýt ­-»8dêTb‰(cÆcÛâ÷2tƒk‡²sÝ:FŒh 3—ò.] IDAT¥sÓf¢Ñ0¼ýÔb·íÀ6vÄòñuøøŠ%¡÷ç×èc}ùÀ/ýðÔÓ¾â;ž®ÎN²™ ãÆO(¹*)Ðd™&K—.cÖ…s\B!“‰'2¦aQ;¨'—ÃÙT%dº’Ä¢QW×`†Bض‰Ö‚ utv¦H'“ÏãŠ+®àW¿úBˆ=ôqÊ÷ö µ BÇH)±-‹%K–rÙ×/¡££‹ªD”ñãÇa#±¬ƒ "—Í ‡©ŠÇHw%‰Çc ®òñY¶aHF4ÔÑÞÖI&F Á 7ÜÀC=„çy„ò5çû{–rôI%ï¤ï`Rb›&K—,åÿ\q9;vìdÈAŒ;SKBv˜ÚšAd3"Ñ(ñX„tg’ªx‚Úª*ŒpË20MÅðuìnm#›É ¤äî{îá®»îê_PÝ´J9þ¾×+¥° ƒeËÞ纫¯â³Æ­Ô×eô¨L-ˆ„bÔTW“IgˆÅcÄÂaÒÉ$ÕU jU²±-ÛÖÔ¯c×®Vœl­?ü07ÜpÃøJÑåBU+¥oýJ§+V|À·®½† Ÿndô¨ŒlRƨ®ª"“NO$ˆ†B¤»RÔVWQ¯ÂÙX¦Æ «JsóNß0К_þò—\yå•xž·‡°ê¾°î˽‡ž“õªU«ùöu×ðñºO7n #†¡… ‹ûsJ:MUUÛ$Ý•bð ªâqŒ°…&5©6„ææ¸ŽoøüéOâ‚ .(‰o Ê AÑ» f)%ë>YÇu×\Íšµ±ß~¨¯Šò<ªâ âñ8étšêêjlÓ “Ê0dÐ ª¢qŒHE,n3tèàÏÛxõÕW9å”SöÀ7PL-»v¢”¢vð àiÛ¶àÑbŬ©r¯¿9ŸlW†©SDˆ løôSBv”ú‰ãQ^ÃPx®_ß{x4Ž+Z)œÎvL©9ø ÉHíû`~üãŸ0~üx?üðBs0º}-ÖÓúø¿óçaIƒcŽ:œl6ÍÆM›ˆEŒh¨Gzi Cãº!”ÏóK9çÚÛa2å˓цE6ëðØc?gèСL›6­—bp1 /ˆÅØßŽ­ÓÓ²ê>ÿ—y¡:RÍÌ“Ž£««“-[¶P¯¢ad=ÒKùø‰Š#¸®‡F‘ik#j…øòä1L›lÖá·¿ýñxœiÓ¦íaü³¢Åú¾Ÿ—ç½LÝ :Î>ãTv·µ²µq+U‰FÖåñãH¤T4ĸž‡”‚š¬«Ã² ,;‚ãx<ùä±,‹iÓ¦–Rý³T(y) °”þZßãÅ—_dôðÑ\tþÙìØ¹ƒíMMÔT×RU3é¦0Lpr~ÉȘY%•¤&dÓ0l8–m E‘BóôŸþŒ”¢_|AñA¢ÅJ‰Êö̹PJñÜÜçØoÌD¾vñù4mßÎÎæfj !Q]‹t“¦“óSFŪzà 1jÄB‘¡Pðyæ™gp‡Ã; ×uû-dWŠá(æø.±Xf‡æz.zþÏLÞï@.ÿú,¶lm¤uW C†ÔOÔäûçrY?¤~T,“¯[Cˆ±#G‹E±¬‰D5üãSd³Y9ä^ø‚:è¿°h±rýbsßÝ÷þË–Ïxé•…BÌ;§äo͘1ƒñãÇ“ìè`êÔ©<û싟G!ö(¯D4¯’s¥z^ß½°=xÿƒ…sü1¯ÌûRJ^{íµ’øN9åFŒh ÕÑÎôéGñÌ3/>ëc®4¡®Ô`Rϼçÿwã{äáG ×._¾‚׿ÿL&SPª.vœyæ™ <˜T{;§vòøz•ìNJ%»èÏåðþÈÿÎ-\¸¿-x—¶¶vÞ}waÙñ0fÌŽ8âfÎÏ=÷Âùž†A%ºvAœÞ¥Ú³ïdš&¿ûÕã…Ï_xáEþ±xë7¼ÃêU«Êâ›2e “&Mâ²Ë®à‚ .è…¯çÂÒ–rÒ<{—¡ï‹Æxâ·(œûÓO²d釬Zý:Ö¯/‹oÚ´iŒ5Šo_ÿ]¾ò•¯”ÄdN/ˆ²G{]tþ¹ú'>ĈáÃÑÀ¶ÆÏØÝÚÊŒ“f}å’€úò£ÝÿoYVếüå/D"‘~Ô2™ _|q¯s®ëîA¡˦2yá{ûË ïÛÝÏß·$ñܹs‰Åb{à3M“t:ÍE]_ë¨T¹ßr;—à{ñÅI$⾜w|™L† /¼0¾Ru©XʇTItcŸ”ØùçÓZóâ‹/RU•Ø_÷‘Íd8ö¸ã Ü|%ý³T2l9‹¿XŸ,Ö¯»ñu/xÝÏúòË/S]]U_&“aæÌ™ 2¤lû•S‡R£½žrêÝ÷êÙ?SÉ$¯¿þ:‰ªª¢étš3Ï<³à苯Ô,·IŒ ¢Ò _þ¹{÷nÞzë­BþK1|çŸw¡¼úqO ,èÜÄgÛý÷Ú5«B0~â~†ÁÒÅ‹‚-.Aw0å:R~ˆ£eYe¹ÚÿÇÞyÇGU¥ÿ;%3“Lz¡BA@i*6TT¤(MpATdÅ®€‚ Q×µ»*ˆ®®VDUê‹,«@¤wéE!„ôdúÜ÷É\'Ã-çN²¿çC>$·œ{ÊsÎÓŸ'ülXÖ«=`Äß\TRÑ"0jqI# ©„ëz‡d‘Ú Z}qûiSëZx|6›M·H[(ab@–Â’ŠˆmH$@MÄ,º‘#íLáºâ¢¶;·ÛÕj=EEK_ôbYßh;¡Ïç«‘._d|a|6‚s¢¶@5¶Ö9‰«@¯×+—èˆu|"N!zj"F×ÈyÞS~¿¿NÖOD0Ðcà"çJ‰¸²¹ˆŠ„jï›Ífìv{ÈEN#åsXä ?«§êõ×Ó'F Õ¸5ÑÐl6ËùÒÂAOFÆ'¢fɱ%R'Dd<Ñ׌Œ/š ˆ$½Só„2²EçNiY,yj/r Ãóa¤ßZbzUSµ˜ -é!z|‘ªe#ãÝ÷¢ëm$飖ä_bbb­Æ'š¿No|¢yõTP‘}‰ÜSu±~z8h´ÞP­l."%gõDb%±š¾XëpPû=Vµ˜¨_TZ åûÑ~Ô3ŠÌ»7)ªßÖ:t•ˆk´d¦•UUÏ-rȈ¨ôÔe"Ä8’Јø"OT-¦g_9p•öFä½hüÔbEò˜)G ˆ2zÙ»Õú=>¥ïh©â´ÖG„YÐ:'ÕÖFÉ®¤¶®a&Aµ`Ôö»–È­ÓP¥¨dcTrˆµîˆË¢ÚߢҖˆ¡Yùk“#–ùUm¾}&Öóž³XÇbÔZÄxZ›2uÕϺžK­=TWmŠ®W¬UMëbk3v-F]«Ï†²2טëjÊÞZ"¶’ZJmÕ¸ÆÚL¢ÄñcMM]›T-Ñã®méc=õއ-ÂÝÅ2^QéW¯–^j¬øK|Žw.ZÏEDåiD…­·¿£çGk®E×»6¶&Q•©WcDV~5B°ôÔUzZ¢Xˆ¿V™wµ5Öš§Z«Åjc˜Rœžˆ&ª~2êwmD¯%§ˆJLô"ÏÇzMM=§·~zÞ.FðåtôµúËÚŠ¶/ºDÞ5ª²©Ë½!²EÎ Q\ÒÂWÑDž±öÃH1£÷E´ðÛÈØkSÔH›u’r_O7[[ A$ÐOÄÿ:VÐ+ˆfôZ¥—R‘÷E¿‹žXéZd9#n˜¢9µŒTÑk»¶"kc7DÞ±žõbmçÝèÝ;u½÷c‰á3z?ƒ~¬cõ¼ªË6OK±°°[ •‹ôÆNqáôûý§ä"]ZåbOÕõ ùY‰HtsŠ:/„+†[“ÉT#éd¤ñ;<îhccdáqDÖ˜7›Í§¸þÖµA?zÍÂßT³ÉdbïÞ½Ô«WO® ­š )r-#Ç9¦èZZÄF‹h…ÛˆìC´c…¨A_ë»j’ƒ’äjàmô5­¹Rã(2‘{%zoEï£È5‰l'2¨×ï÷×À=/N­9ÖÊŒ¡ä ='áë‘ãQšËÈë‘ã‰l/rF2OaÏAµsF/Ç›è˜õÔ¥JûGi¨­gx?(]/CB,}ÉDÅAµ8ð•â\L&SëáïD_ /´R¬E]«ôDÕèÃP’¤SÆ}`G„a¢©5uÅ¡iA0T]3¥ìùçŸçŽ;î {÷îŠýŒnKkÝ£×RÄÓ0z=Âí+õ¡.T_Fó³…¿o$ÞD^Ó󼫭M.ò@Q»®DÐÕ˜™Èý9çu¡FSõ轑}PÃ;%ÜŽ>$ÕÖAéüUgÅ'-⥵OôžQ‰·6{¦Î½Å’ǽ÷ÞËàÁƒùóŸÿ̘1c4hcÆŒÁl6sòäIúöíËå—_^£ó‹/榛nbÔ¨Q8p@¦Ú·ß~;;wæàÁƒò·þþ÷¿3tèP† ÆgŸ}¦ÈœNo±07óþûïsà 7pâÄ ù}úô¡ÿþ\~ùå¼úê«òõ3fЩS'Þzë-Ìf³ÌM<öØcôïߟ×_¥Z)..¦k×® <˜Ë.»Œ¥K—ž"YÔµ·˜ÙlæÎ;ï¤OŸ>Üxã<ùä“x½^Õ不§×V‹T9rï½÷2pà@n»í6<ˆÙlfñâÅ <˜òÚk¯ÉmÏ™3‡2vìXŠŠŠ ©ª"c¨þö·¿±jÕ*L&ëÖ­cÔ¨Q;v¬Fß"%ÂHnOÍà©Ä5F\Ñsy­¨¨ˆ-Z°mÛ6ù™Ã‡Ó¬Y3—7oÞÌÝwßÍÀ?~<;wî¬Á¥×–à…çå²Ë.cèСŒ;–ÂÂBÌf3^¯—×_áÇ3|øpfΜ)÷sîܹ,Z´ˆo¼‘wÞy§†D~ÑE1{öl¹ÊhmÏ =gˆ0.,_¾œ—_~¹Æþ˜6m‡æäÉ“Lš4‰!C†0räH–-[†ÙlfëÖ­Œ;–!C†pÛm·ñü£3h2™Ø´i·Ür  àÉ'ŸÄãñ`2™Xºt)7Ýt#GŽdß¾}†ªOêWdìá{Ñk5kÖ¬S¤9€÷ߟo¼‘Aƒ1oÞ<ùúôéÓ0`S§NUt9‹!wÐý¥Ý»wIe¥%Rii‰´mË&é‡Ë$I’¤`0(ƒA) áß#¯k]‹„_|QÚ¾}{kƒ ’*++%I’¤_ýUºýöÛ%¯×+ýç?ÿ‘&L˜ I’$I’$顇’Ö­['I’$¹\.éÓO?•Û¹å–[¤;v(öYÔú¯6N¿ß/I’$ÝqÇÒÓO?-}ðÁò;7ÝtS¶€üþÆ¥‡zH¾÷æ›oJ¯¿þº$I’ôðÃK+V¬>,7î”6ôÖAmÜZóy/²ßÏ>û¬ôÎ;ïH’$I'Nœ^xáéÕW_•***$I’¤|PZ¶l™´bÅ ¹¿ß/­^½Zš4i’ôÉ'ŸH’$IË—/—n¿ývI’$éšk®©1oùùùÒ¾}û¤1cÆH’$I_|ñ…ôôÓOK’$ÉÏ©AiL?þ¸ôóÏ?Këׯ—(]:yò¤üÅ‹K“'O–V®\)I’$K_}õ•ôÁHï¿ÿ~¾=zTjß¾½ôâ‹/ÖXïóÎ;Oúå—_¤“'OJÆ “vîÜ)I’$mß¾]Z¿~ý)8£·ŽJ×#¯?^Úµk—$I’4gÎéÁ”÷äôéÓåç¾ýö[Ï}ôQiïÞ½RïÞ½¥ñãÇKÇ—$I’æÏŸ/]zé¥Ò›o¾)I’$ÏŸV¿ÔÆ¡†³JûO’$©ªªJºë®»¤cÇŽÉ×6mÚ$=øàƒR þò—¿Hß~û­$I’TXX(-^¼X’$Iêß¿¿tôèQùì˜3gŽä÷û¥`0(y½^I’$©OŸ>ò3O=õ”4{ölÉëõJ£F’Ün·´fÍéÞ{ïÕ<œ1Zó~.òùW^yEzþùçåw,XpÊ3[·n•†.?sýõ×K~¿_úòË/¥©S§Êûúã?VÝcÑmjõ=òïm[6I›6ü,•––Hee¥ÒÒÅßIB’KtA›h·W%]i¸M0ä‰'žà¢‹.¢mÛ¶²^3šîÞ½›fÍš‘ÀE]Daa¡Ì=@(÷OX¬s8 :”¢¢"¶nÝJvv6iiiŠ}ýQ ªÒò̲X,,\¸ž={òÄO°qãF™‹+))aРA 2„åË—×Ðq–••Õ³óóó¹ùæ›èÛ·/?ýô7fåÊ•Ü|óÍÜ~ûíüòË/²¤£§ÏU{t¶ãèÌÇу;w¦  €)S¦ÙlfÊ”)rÒÒÒ˜3g›6mÂd2ñÉ'Ÿ°~ýzzôèÁñãÇ9tèûöíã‚ .àüóÏç§Ÿ~b×®]dddмysÖ­['«ÖÈ®]»Ç}MÉ/99™O>ù„9sæðÁ——ÀäÉ“ùå—_èß¿?«V­"??ŸáÇ yõÕWxüñÇùá‡èÝ»7Ÿþ9·Ýv­Zµ"%%…É“'°páBV­ZŰaÃX´hëׯG’$ÆGRR;v¬1eeeôë×ÒÒRvîÜɱcÇ8xð C‡%°páBúöíK›6mðx<´mÛ–Î;Ÿ¢â‹VÅFÏ‹Ö|…¥—pŸzöìɱcÇøùçŸyì±ÇäT=}ûö•¹äýû÷Ó¢E 7nL‡øþûïå9¸ýöÛ©ªªÒÝkѶA¥sD_#ÛHLLä /dÁ‚ò·¿ûî;n¸áöîÝKrr2}ûöÅãñ••Å5×\@ff&Ë—/gÇŽTUU1lØ0y>ÂóܵkW6nÜÈþýû‘$‰¶mÛ²uëVš6mŠÝn§[·n… Ëbµð5úŒQ rT’&|>ëׯçÑG•×ê†n¨acÈÈÈ 77—]»v±víZÚ´iƒÅbáÇ”sý 6Œ5kÖÔ°OiÙÆ´ð¯N ú¢î}’$ÉIàž{î9®¼òJzö쉿ºÎ³Òúýþª€H•L´8¼P_|ñŸ~ú)=zô aÆâ5ªŠO)ΣûüÅ_’’BJJ ÿïÿý?Ö¯_O×®]Y¾|9Geòäɤ§§Ëläøá÷Ü?áC©¼¼€-[¶`2™øù矙2e ï¾û.©©©†+ýѧJ’Ä«¯¾ŠÕjåÇä‰'ž`ÿþýƒAF À­·Þ*?Ÿ™™Ém·ÝÆ'Ÿ|BÇŽYºt)3fÌ ¸¸˜™3g²~ýzŽ=Êo¼@ÇŽyòÉ'IOO§qãÆdffR^^^C5àñxT ëzkåp8øç?ÿÉŒ3HMMÅívãp88ï¼ó¸ï¾ûj¨ô~þùgìv; ,ࡇ"//©S§b2™(..fÇŽ\ýõôë×OVßµiÓ†={öPTTÄüùóyä‘G¸öÚk:t(+V¬`íÚµÜpà ¤¦¦RYYÉ<À|€Ãá`øðá|ýõ×X­V*++å¢M 5 ±±æëRº—””ÄŒ3h×®‹/–™™È¤¤ ²£A~~>çœsEEEŒ5Š &@ûöíÉËËã×_­µ¾Þˆ[møù‘#GrçwrÛm·qòäIöìÙÃ#<ªU«jì£ðÁi±Xxíµ×˜5k¯¿þºœ°røðá5Ú¾üòË™6mÙÙÙØív:wîÌÊ•+5Ϥº²SëÍQ0”U’Ñkµxñb6lØ@ÿþýiÛ¶-III<òÈ#x½^úöí €Ëå’‰©ÅbÁ]]×%–* gÜæ¢¦ëûí·¹è¢‹èÕ«—|°F²Ãzû””***äAØíöÉm6)))56Ř1cX¶ldóæÍ1•U¯ýË/¿àõzéÕ«eeeÜu×]|ôQ(=vø€ÌÍÍ¥S§NìØ±C~/%%»Ý.ÿ••Å‘#Gdb>lÂc¼ð ±Ùlœ8qâ´º˜†!11‘ÔÔT¦NʹçžKUUU –HÃZ=¨¨¨`üøñ\qÅØívž}öYî¿ÿ~>úè#þþ÷¿3mÚ4>üðC–,YÂ矎$IäççÓ¬Y3 (,,$55UÓ»H ÊÊʘ5k‹-bÖ¬Yr‚¿È¶–,YÂo¼Óé”íJÞUIIIŠìð{W]u·ß~;………5 ÚívœN§ÌDx<š6m*s“;wÆívã÷ûiÕª[·nUõ¬K÷a›Í†Ífc„ ôïßI’HOOçðáÃØl¶í•+WrñÅËžš6›ÆóꫯróÍ7Çlg© §›ÍÆ%—\¢E‹X¸p!×]wõë×§¨¨H^¯HÏ®””î¿ÿ~Þ~ûm>úè#fΜ)K á±<÷Üs,]º”¹sçrá…òá‡Ò¼ys™Ù ŸAJÅßN'˜L&ìv;)))9r䔵²Ùl8¡Âa;vìàÀÌŸ?Ÿýë_,Z´Hž›ðsäȲ³³OÛùaXr1’r?LQ'OžÌž={èСóæÍ“ÒË.» —ËÅO?ýÄîÝ»™={6W]uݺucîܹ̚5‹}ûöѳgOy×®]ˆ øüóÏ:t(­ZµbÚ´itèÐÂÂB’’’hÒ¤‰”RÛ”ûa•Å?ÿùO†Ê€ä¶î¸ã¶oßβeËhذ!¥¥¥lذéÓ§°k×.æÍ›G~~>ëÖ­£k×® >œW_}•¾}ûò¯ý‹iÓ¦ár¹xñÅéÑ£›7o&--M.›«ÄIM_¯æ™SRRÂ]wÝUã™07ôöÛoSUU%Ïsqq±|0÷ë×gžy†—_~€K.¹„¯¾úв²²U«V­xóÍ7ÉÉÉ¡°° о}{>ýôSæÎË¿ÿýoYJˆtíVò–SRU–””àt:y÷Ýw3f ÇgÒ¤IËÏTUU!Iõë×çàÁƒ2ÑŽ|ÆívËŒN˜{5jÿùϨ_¿>;wîäСC4mÚ”’êÒ±n·›‹/¾XïÖ­[åvÞÿ}™H•••QXXÈÕW_Íwß}ÇK/½DÛ¶mÙ¾};;v¤wïÞ§¸Qëy j‘ xì±Çhݺu ª#F0uêTúõë‡ßïgÇŽL™2…]»v1räH ”ºà‘GáÁÄápPZZZC-¦ÕGÑ”ûjÏG«¢n¹åÆŒƒÝnç½÷Þ uëÖtèЇ~˜+®¸‚£GÊ è¤I“hÞ¼9õêÕãðáÜþùr‚ËðwºvíÊôéÓiݺ56l`ܸqäååa6›™9s&‡ââ‹/®!aꕃРeÐ󋞣?ýéOL™2…þýûãóùؾ};S¦LáŠ+®àŠ+®àøñã|òÉ'TTTP¿~}n¾ùfž{î9<_|ñ=ô<ŸzyíD3$+P™c#ža—ÁãÇ“••ž}û(..æ·ß~# Ò©S'Ün7sçÎ¥W¯^ìÛ·–-[’““C×®]Y·n-Z´`Ô¨Qr›sçÎ¥C‡TTT’’B‹-HMMeÍš5X­Vî¾ûn²³³kèªõÒ€èyC¨3Ò¦tÕUWɶ³ÙL³fÍd‘zõêÕÆOnn®l_9~ü8:t`ß¾}\tÑEäåå‘‘‘Á† =z4-Z´ !!””V¯^Mƒ ˜0a‚œAYÔň·Xø^NNÎ)DÌl6sÑE±aÃ’’’¸÷Þ{IHH ==Ö­[ãt:ùþûï¹ä’K¸à‚ ðù|tìØ“ÉÄ–-[èÔ©“¼–={ödëÖ­œM›6•Uâç¢È³¢çQx­Ö­['׃ÊÊʪ#–œœLÇŽY»v-÷ÝwN§“¬¬,š6mÊ?þÈÍ7ßÌ…^xйHê­±(•96T,L‹2G«ÔDü°d£w]+Ö!l»Qòg5{€‘}Ñhöh—U¥Øèø¥ K- K$ ^$êVmÍ”®G®Õ7ß|Ãܹsùøãå1F¿mxÔš—Èu4¡¡ô=-| G¯5ÜUê·Ú~ˆþ] /ŒdÅÐÃ¥uÿX IDAT=µø¥ñ,Y²„#GŽpÛm·)®…ÚXôö–‘ŒZ™Ê#Øè>(GïjÒ„iµYC={”ÈØ”ÖCíŒÑª_£%mªù1×sÑ”Dª°ÿ»H„~¤7Kt4läÄF¶¶ÝDFuGAµÔD¢V˨I¢«þEúáGŽ%:R:\_#2z6ŒÑãS_E³&è˜ðšE«£"¹ñhÏ£ââb¾ÿþ{ž~úéS{xÍÔ"¥k¡¯t?2R;Ü—ðx”6W¸a£odÔ|ô¡¾¹VÑë=r¼‘9ÜŸè~ªEè+á°H:¥ïE¿=@ö°ŠÄ‰È±Ez-*S#ÑçZª]-ã~äþŠìCdì˜V„¾Z„H¼ˆœ/­}½¨v%&ÕhN<¥µRÊ2 6~¥3F«\„ÞÙ"ê  L\DjfD×(W;Ô”¢”££ñ•<Å"ŸÓŠVQ'ˆŠ§j›'Rºˆ>ˆÃ ª”b%:ÝMôõÈ1ke -«GX"ß\³è~+qM¼õÖ[Šó¤TÏ&’¹ˆ.B¦–jFMDW;H£¿½.Ñ‘ûá9VºËjë¢T¥1ºJ¸='zj®XÔÑÞgJî¢%Ç0.DÏ…R¤¼HŸô*Ôj%j6¥ó%úÐÕª?¤dßP«‘¢U5W´hŸÚÙd¤¦ŒÚ™§´ž"{LoÍ´qcÈ=EK6âª&" ý·A]õý¿aÂÈåóùdN)Öì´FÒ“‹Hdµ¿?zþµ8ǺƒÚ^Ž”LEФÕvîÎÔ\ׯøl?Gjû¼Öß"!µ–\Œ£™fcEVÑ*u­ÓÛüzñ2Z±èÁ¢GÔõª[A&-ï3% TT"ª:ÑKz(:^­ÀS‘5 ^ÁU‘LØZñUF³äªµ%ê¤,-jÁ9µ˜è~Ó³/ª©°b9‡´ÈI\idß‹¾WWLV¬m[ksø‹µ}_ÉØ…êBúªK;U]ÕȨ W)2¯F¸šXç]dÝcÅÏÚpb±~‘}a‡Eÿ¯í¼Ô%ÃY×x+Ú–{d,ë-‚ﵕòŒöX×­.´NBÄ¥®ÊŽÆ!qˆCþ}¸q1ñ»gLii ^â&qˆCâ v›ÒÒ«³ZH Ä%‘‘IqÑI6oXŸµ8Ä!qˆƒ&„íU¹¹Møýr€ê)ÄÅ™œÌ…ÝzÄg,qˆCâ  ¦jaÅëñÔÈCXS-V@æŠÈ‡8Ä!qˆƒ.‘‰2¡X£Å›èZ-Z.…"RZ5ÞõÞ×j7²OjÜJíi¥;Ðúvm&Z+Úº®Ë2‹¤b׫Ëï±ôKô}#ë«wO+ ŸÑþÄŠZûCô›Zïê¹LŸÎRà¢{Xoj¹Iɘ­·þFαXƯ…_F÷Q<5ÚÏÚ”Pz_Ñ[L$’Tïð6RÓd¥qéùÊKàŒ½¯tè!ŽVp­L£¢9—ô6‡V|‡Z$±ÞÆM*¨;=>­ŒZQÏZL‹‘µUÇ“aÂ!Úo½}¢…F’%j1zxb”ùPkCëÛjs¡¡/r(á˜Úzˆ0KZñqµ‰Ð>E™!=<a¼Ep\d_«Í³fœ‹hôsíƒ(µû`¤ê›@:mA”¢1uDidMŒÌ•Ñ J$ˆ-VäLQŠâ•ž¤^Û J‘}K¥ÈœëWѸŒÿÆ J=¢ùGQFŸuDëy"ò®Þú)‘…E¥Î©•GVâ$Ô6ƒZÒµÚQŠH!F(²= € bµZådŠ‹ÇCBBÂ) E9 µçE"õ8$‘ˆ{-B¤Ç©é­£ÞŠµÒ¡¨jÉèfiK‰®¿(aÓ#\Fˆ­–ôk¥ÖY †"ª¥ÚD–‹&p­ŽK”è¹Õ3ĪºUÅ,,ª(¹(¥|WêX8[hô€£“ÄEg^5™LHH˜ÐW©Mf8[dFYQµˆ—µ7|?2³ª²T÷»t™ /++L*ÊËHNIÅãvQQQAÃF¹T”—âv{TÓµ‹Þ±$®Qó‰&üQjÙ}ôÔbªï ¯‹Ü¤zêBI’À&Œãˆ4¡Ö½9Ô“ÆôÆ&Ò–Ö5] V‡IÐ[o=fÏÈ8´ðEm=ôìZZk(ºODW*õI­v–Võ‹ßûm0tÏ$‡>êi¶j »‘…« P\\LII‰üS^^Ž$ITUUÉÕÜ"; åw‹ŠŠñù|ddd`6›ñûýšzS­Œ@·Û­XM-VÃVt­‹ªª*~ûí7ÊË˱Ûí¤¦¦âóù„9›ÍFII1î{€û￟víÚ2hð`ŠKйü²Ëhܸ1Ý»w§eË–x½^ÝÚé"úx£ÜˆQC§Qéʈá2z D¹øÚŽOIÕw: £J‡X4Žëí#* ºQ;ѶŒrÏFpÛè˜ôÖ¨”©uމØxôì´±J.J}Ó·U ä³Z9zäHMÉ%Ì©?ÿü ¼7kÇ•9­¶6™ÍfLf3ó¾úŠÇ'O摇ÆãõÈJNNæ§Ÿ~âò+®¤W¯^8“’Ø·?çœsûÛKd¤§c6›IKÏÀëqË5ª3³²ñû¼¡Dˆ&3U•TVV’Él¡àø1l6é™|ûÍ|ú¸1T§Üí¢²²’̬ìƒ,.:ŠÝq:ILrPQ^†ËåÂáp’š†ÇíÂîH¤¼¬¯×‹Éd"3+›Q#GòáG1pà@ 9rä0Sžx‚àt:I°ÙCýM°q¢à8III8“SpUURYYIJj‹—,á£>¢ðDYÙÙÌû)ç´j…Ëå¢àÄ ŠKJ䪅áy K6Zª*%iKOÚ‹UÒ“ŒÔú¦éáb É"iZýUMêqÙzÎz\½Qg 5U¯Ö\ë9„ˆØ=D<-µ¼±ôm’®Ã„ˆº\¯¼µ–_/e¼QÂ¥¦Ó+s¬†ƒ:H ’‹–:²6ûCK]§$M©IN5ʆD6V1½ùær-êùóç3ÿ믙?>óæÍ£s§Nœk®¹†9sç’ìtÖP;j‰ÈZ†Z¥Š‘?Zv6-õV;j:ãh¢Ò÷”UÉö"j´Uš¥~)©«”¾«4f5‚Ú³j‡Ú!¦•EWmMÔ¾!¢3nGOr1ò]=‚£t˜I’rQ˜_=›‹ÚxµT›Ñ†–6@ë[Jë§‹·!z‚cÙzŒ£ž]\©-stÃÁ`—ËÅOæ‡~`âĉòý;3¢“'™0á^Š‹‹7D¸Âä»3f0ûãòô3Ï––Æ…\Àñc¿q}Ÿ¨W/‡™3ÞeÊÔ©|ð’šÆ‚ øô³O¹÷Þ{°Ûí p#`bÙòå|ûí*++X»v-~¿Ÿ±wÝÀŒwß¡gÏK0›Í¼÷Þ{¼ý÷·p¹Üü¿•+IOOgþüoqëHxà~ ÈMqôÈÊÊËY½z5ཙ3ÈÍÍeÙÒ%,_¾‚ýûöbµ&à÷ûåq%;C’ÅšÀš5kùâË/iÕ²%ï¿ÿ>ù?ÿLß~ý¹äâ‹øÓ-·pËŸþÌ¿¾ûŽú rëÈ[Cýœñ.½z]É˯¼Â?¬ÂYÝ^Rb"¿=Bïk¯¥Í¹mxíÕW˜0á>¾üj)))5*vªI.":ÝhÑW­ °Ú{J݆÷i´˜’Wn$¾!º§Ì&ÅBSzªµCBiÜÑó‹+°ž¤¥¤ÖÐ꧈¥<†^©}W çô|ϤM´ÖɈ*/špéIêzs4Í~®WT͈±^ÄaÔ{SkÍÍJðz½¼7sÇgêÔ©Ü}÷ݤ§§óâ‹/P^^®ZŽ5üç®]»Ø´i3;wìÄét’•ÍÞ½{9räàÅ¿þ•“|úé§ò»7@›6m¹ä’Kðx<8I¤§§`·Û°Ùldf†Ôcyyy8Nl6çžÛ†ÇŸ˜Â¿¾ûK—,!9%•ï¾ÿ·ÛÍgŸ~ÆÂE‹8qâùùù¤¥¥0zôhš5k†$I\}Mo®½î:LãÜ\Š‹‹¹}ôhúÞpoýým^z鯲N1++‹!Co¦Q£Flذ‘ªª*n=š·ÞJ `é’¥¤§…úÞ4/ÄÄ$, Îd§lßr8lß±ƒ¢¢"¶oÛÎk¯½NYY_Íû Gb6›M®R™€Ãá3))I®§Ka§Xát•(8“í>}¶Žãt¤B?“ø‡?Î>&° Nëº[µtl.—‹wß}›ÛnMNNÓŸ›Fqq±*a°&„š|ó7p$&Q^ZJjz:«~øK.¹€ž—ô¤OŸë¹ãöÛq¹\þêïV×,|^>Ÿ€ƒÊ×ýþеŒŒŒƒËÅ_ÆÝͧŸ~ÊÚ5kèÚ­R0@VV#GÞJzFãï¾›V­Z±k÷nYÒòx<8¶nÝ’D“&M¸ÿHIIaܸ¿PTTL^^5j’^,,f3HAü~?ÉÉ!)¤¬¼œ¤juV˜ø…ñ)PíŽl±X0›jz¡¥¦„l5×^{-_|wÜq;Á`Šò2 àÄ Nœ( M›6ô¼ô2Ù¸_QQ)·Ù@}ô1î¹g<¥¥¥¡ç**ÈÍm ÀMñà÷“››ËÌ™3¹ sgæÍ›Ç¬Y³xæ™§¹côíüûß«ynúótêÔ‰ƒððÃˇqä¡Ü¤q¨ÍÔ´t NP^^Î…]ºRR\„ÉdÂãñSpâ˜Ì”••qée—qå•Wðç?ÀétÒå 6ln·ç÷ù1›ñz½”••ÉÈx²¨ˆž={2jäHþþöÛìÝ»—_ý•=ºÓ¥K:uê̳Ï<ÃäÇgܸ»ùd΂?………œß±Ï=7‰=FAA,áhµtÍZö½ ¢—òG/æÄHœ‹èÒÒ‹l#Õþjç"˜kßDû ÷M5u©Ñx­ñ¨Ú\ #s¢ç, ÒwÑ55 ‹ÍÕl1"©’ôl¬zŽCBs4èÆþÒôÿJƒúõñz½ŠÔ8lXŽt•Uê¼Åb¡¼¼œ-[·RZRŠ×ëÁéL¦cÇó©_¿þ€«ÅÊÆ9pà 6ä‚ .Àb±ðã?’——G‹-Ø¿?û÷ïçâ‹/Æd2±eËŽý•ŽÏgÏž=têÔ‰äädvïÞͶmÛèØ©-š7gÍš5TUUU»KÃõ×_Grr2¥¥¥¬Ëϧ´´”íÛÓúœs(\.—|Íçóáõz±ÙlØl¶tµ]Âf³ár¹äÿƒÁ v»D‡—Ë…Çë%))IŽ~(++# b¶˜q&9±˜Í¸Ün<V«‡ÃAUU•â˜l6‹—Ë¥{/ b6›q:˜L&*++e‚lµZ±ÛíòwÂãôù|8NÜn·LÂóâõzå¶“’’ðx<ø|>ì6Ö„ªªªjÜ Ï­—edƒÅrÀ‘\D¸µº8Œ$p< üb9xDÇp¦U±0 uÉÀÔõkRÌX¸Ñ}%É¥¶q."¹ÆDóªA˜¸XEô¥jbª’wP0¤²²RÕ[Àårár¹jÜ ¿c6›e"–”Ün7nwHÝŽEðx<¸ÝnùïÈï†ûc6›‘‚ò÷‘ýáX¥ £DhÃGß ÷3ú!Û_µäc2™¨ª.g`2™äï‡ßž—Šð÷g¼>žˆyQë¿–™–è¯æ±%ò»^Þ5-1[i3ëÅÄ*ÕŠÅ1°1µréýXU,g"+²hœ‹è8DS¾¨©k´bJb‘E²„kŹèy€i©ÂD×Z4ÎEľ£çB/²î¢Œ¨Yáëµö¬²›¦Sì9J”2úµW5·ÇÈøµ'¥÷D6Ö=MäÒQiè!‚HP¤Q•Ê™âxÿ(Cð飞[F\OE¹å³y^þ—¼Äδ#Ë™úT]:&XZW=쵌Tj¬ Q:dµž7’{IϘ§—7HtL¦ß³TIÕÄ&–ÜQj"²‘üPJ×Ô|õEæC$•Ç©¶‘‘û¢ñzó¦•óL ¿ôÖÖ(Nhá³H{"ÑÑjL‰hÞ©º&8Fö¢HÄ»‘”ûZý02_jx!ºWõÔ‰Z!FóÅÕ•½%ÜV’^¬"ܲÇK!'‘$•zJ‚ÆâR¨ô ­Z."ª½z0µi[$ý„ˆÊÁHúQÕˆ–ú,›‹ˆzCK×­§–3jÐ5õ†^°¦{mÊ<ÔÆ–¦vNèGoÏ‹&Å4Ɡ‡s¢ûHm d'×RGþ/ræ‰:uh2s‚„B¤¾Žnœ‹^n#½Í)J LšqÓF Suºí ¬z ±ÔOPã•þµIè=W¹ÅD2àªI&"ö £.E ­©IÕz¹ºDtË¢ŒhÆc[…Q†DÏVaTg®‡÷¢¹ÅD\|µðCÏæR›Üb5æ±Üb¢{Mk ”l'zg¡š­ÇˆMMÔ OD ÐË-¦H\lvû™SòÅ!qˆCÎ&ƒÁ@ŸÏ[##Ò¦Mx¼^ï)ܧdEöxÜìÛ»)()>ÏqˆCâð¿Á`ŒÌLrrê°XÌìÛ»—¢ê`òj}Tk„R’ShÚ¬™¶Í%!!Cp¢ €6ç¶ å÷2Å)Lâ‡8ü¯€ßçcÛ–Íô¾®‡õ?¯§¼¢œ†r‘ª &ƒA‚&³‰ƒrìØo\|IO¿2q‘$‰ ¤EËV4oÙ*>ËqˆCâð?'¹8rø‹…ãÇsäÈaþ|ë¨Z¬º±ÏçÅëóAPÂãqóÍü¯Ù¿o­Î9G–^Nµ¹ð{¡ËUuÖÇÄ!g,K5wßqø¿áŠÁÁ`ªó)ÖoгÙLeD¸ÏçÅív‡2¥Øl4ÊmŒÛãÁd2#I!ÛË)‰ÚÝI’„ âp$âp$Êb”ÝnÇáH¬Q£$qøo€ßϾ½{°ÙªY¨ã‡ÿV°Z­?ö%ÅÅ¡R’tJµX»ÝNYi ' ±Ùì2‹ ÑŒ¿·§A!äÆeb É‹C(Øê¯âË/¿âåW^LìØ¾_=ÊUW_CUE9&ïƒ8Äál)XíASý{x'˜L&Ì&SÈ˦Z'}¶q£±d ˆÃÿ‚Kø}>Bá§JæÖ„ŠNžd}þ:$I¢MÛóHKO«Þ ÄJõ;Õå”Ü'NœÀb±Ð°aC¬V+GÖ¿)ª8ò민ø×—9j$ó¾š&II‰Ìžý W]} ¾@€„¸Ê-ÿ-`2 m;¤jþ,(I²‹æ‘#G‚Ô«—ƒÙb‰àäþø~{}>¹TF<Ä j”¤š«h().fóÆõtéq~¿Û¶ÒÔÔœ¬¬E´R%.^¯§3™öíÛÓ¨Q#|>yyy¼øÂódeeaM°ÉÏ–––V]qÀãvQUUENN6oHUeIÎdæÍûŠÌ̌Ї-’œÉ¡oyÜ¡´öñõÃYÌÕIRPv¿”‚A, ¸Ýnž|ò)vïÚ& 6äùéÏa³Ûq&§È¯WT„j%G\ í36[¨ÂªÛíÂçõ’’šVãÇÝW$’SRågÊËJ±Ùl؉ò5¿ß‡ÕšÀ]wá¾ ÷Ѷ];ÊÊJCYÃãD&§ ¸6NX¬ºô¸»ÝÇíâÜví«Óz)¿gÕþDFz:‹/à‘‡æË/¿¢oßxó­·(ÊĉñsþÏ :„;îäI“Y¹r%>ß­ <«ÅBjJ >ouUÉC‡xöÙgñx¼<9u mÚ´ÁãñÄâpön¾`uv8I"à÷“œœÌ³}‰„+ß.XÀê¯Âçó‘™•ÍŒïòå—_Ñ£Gw&>öÁ`Gy„œœl¾]°[†£cÇŽ¼òÊ«`‚iÏ>K«sÎaò¤IdggóÍ·ßÒ§Ïõ\}ÕU¼òÊ«”•—ñì3ÏвeKìv;Ï=7ËW0xÈ`îºk,»vîàÿø“ Öåç3å‰'Èm”Ëœ9sùÏ~ä/cÇ2îî»)-.ÂbµÆ4Qø©Ò=•`$%9!RƒA¬VkÈ%9TT‹™5‰‹$ˆ0\¦¦†8¥¢¢"Þ}wcÇŽå®»ÆðÌ3Oãr¹xã×Y°pßýk÷Œ¿›.]ºðᇱ}Ûv¶lÝŠÃáÀl }rÚ´i<ôÐC<õäT^xñEJKKk¤ˆÿÄÎÆŸ°ÊØ`2[X±b{Œ’â"Nž {÷îÔoЀO?ÃÒ%Kyó×9vì/¿ò IÎdÞ~çrrê1sÆ»|ùÕ<ž~úž|r*½zõâáGL¼;#TùuÖ{3Y·.Ÿ{î¹—|áÇóàC“˜ää¹éÓ±ZøæÛoؽ{7 ¾ý³ÙÌo¾É€7òÄã3qÒdå6¢W¯^Lš8‘!CSYm댯eüçÔN‘h%I"¡ZK•˜˜H¢3‰ää’œÉ$&9ILJ"É™L‚ÍN0*åŽ*ûö誨¨àÏú.·¯×Ã;o¿Íúõë>lݺ÷`é’¥Ì;‡†ryë¾ÿþ{î»ï>’C"ºÕjÅbµàóù1›Íœ((`Ù²åäääðX¸pSž˜‚Ýn{’Åᬵ¹„Ä‚Á`È]3àÇíñÈ×Ìf3UUU¤¦¥óý÷‹5j$ç´nÃc>ÊcBÒ|ûöí9jݺv¥y‹æ´mwMš4áƒ> y³fÜsÏxlv.»ìRJKJ騩çŸß—_~€ Ò¬YS|àAÖ®[‡Ãá U«–ôí{Ý{„öeJJ2n·›´´T5jHZZš\€/qP@ò„ íÙµ‹)€»ºÖTÈû7 ;¯XÌf:D·‹/­áEiUù~¿?¤NHàÏþÁ`víÚQ¿~}Ün7`ˆø}^l6öïßOÃF¹ìݷĤ$\.—üLxS~Õ9krs1ìæ›±X,\ýu¤¦¦àõzã-q8kÁï÷cPt²×ë¥]»¶|öùçÜyç¤`€ýû÷“œœŒ3ÉɾýûØ»wŸlW øýø¼!‡׃ÏëÅíª ~«¶:ú*++I’$<îPRŸ×ƒ§º`^HE‘Èe—^Æ%—\Ì7 iÓ¦?~\fΤ Ÿ` D«*«°ÛØìŠŠŠ°Z­ñ}EVWÐ ‘ ”À¾`KRiJ…äF’À âó‘$ƒ˜Íøœt`6I%³ŽÍ%( J”•—sÅW„ˆEõ†òz}”—‡ ”eeeÜ=î/<ñÄÎk;wìäÕW_áØñã”—‡‚nªªª°X¬ø|>Š‹Šh”Û˜>}úðÞ¬÷ÉÍmÄÑ#Giß¾=‹%Žôq8{uÒaÜ”$Lf3.—‹î€I“&±yófl;~Œ¦Oç¶Q£xlâDöîÙËÏ?ÿÌÜOiI1eåårJõÊÊJÜîßíŒEEEòÿág\.—\Ö“‰¢¢bŸªª*Ìf3 ÕîÑágéœRRRj<×Ä!¬V+Ç‘–žÁ¶-›¹òÊ+ÙòËaæ­9Î…ÏçdI’>·7dâð‚X¬VŽýv„~Óév^ÉÌÚ5?ª«Å‚Á·˜,’G€ÏïÇçóUssAL&UUUTUUÉ\^ é¨M&ÁM&“|M’$Yµ¾‡8œÍŒP% Sµ¤í÷û)))©Ë¦ê¼Lžjƒx¯Dî§È{€|/ò™È½ùŒÉdÂívË„$zϸ\.ù÷pÿÂýˆCN=óƒ«c¹êâ8¶ªéÞ‚Á@ÈXc2¡Æãˆ\Wú]2ÐVâp6©ÆÒÒÒ()ÙF‚*ž’=!ºG¤Û—âû,ˆKZZ~ŸŸÏ_ëܬV5ñÈb±b±XâEâ‡8ü@8+r]À)ÄÅn·³eÓŽ>„ßJbf,KH¥FX´2òè_èo³Ù‚ßï‹é[qˆC⇺¿ÏW'Gñ)ÄÅãñЮýù´kß!¦ÝîJG5¡@  †‚2%)@ „`€@0/PYYFv½\Ùè‡8Ä!qøã@’$¾[øMݦˆàÇ€°ZÌl6S\\ˆ»²ˆŠ²bÊ«<!Ýß'áõ…"üý^~¿ÛËíÂãrQ¿Qú Ïw‡8Ä!0D–*®Sâ"!É‘Â&“I1Ø*²xL$d¤'±ä§Uüíõ÷hš×¯Ï‹ÅlÁl±àózp¹B.È¡<6‹™¢¢Î;§:w¡E«Ör )"OMä÷¤¨ü5‘} ßW꛵VúFd»JÿkõC´ ½6ÕÚŽî³Ú¸µÚé¯èü©%º­¹Ó[g¥6´¾¥…¯jÏÆbg4²†j}ÑÃ[=œé_mÇ¥¶/̉èÁÚÌIä¢÷‘Þ¸"ïý–ÎÅzæÅ‚+ÚûÄ|zˆ‹Q•ÃdÂd2SXt’Ý»‘““ÇëáèÑ£lÛºîݺq~ÇŽ”••Éí¤¦¦²gÏ^ÜÅ˯¼Ê›oý]N_&jaWg9%ÊÄDo£‡m4bé-œÒï¢Hltž•ÞÕk¯¶Àè¡)Ò7­ëFœŒ•p(ml-B$²¶‘ïëŽ"œ‘ÃEN¸©Cõ_ôÿµ!bÑmÅ1#‡·Òw´ö~¬k,º¦jk#²·µÎ5%ºÇëTs‹øª‹ )uÎl6‡JaF¾"A‚-‘Ï>ûœ“'O ðUTA¢üü|ºvíJ¯^½p:;vŒ¢“EÌžó Æ $1ÉVCŶ{÷nhÞ¼9J3³eËÚ·oOZZ¨Þž}û8tè‹…f͚ѤI“S&Ûãñ°e˪ªªhÙ²%¹¹¹˜L&V®\Ym’HNN&99™óÎ;=€Ï]l]#¡Ññªmžÿ¥ ÀºZ‡Óu¨Ôv}ÏÄwþ[÷˾[•èJ¸ãv»ÝØäI*JK(+/'3=£…'°·k†g×!¤D3ÿùÏؾ}; 5¤ßþx}^232©,/Ãl©Ù•ÁƒÓ¸qc-ZÄž={èÓ§mÛ¶å½÷Þ`òäÉlÚ´‰.]ºPTTDAAsçÎ%È.Ô%%%Œ1›ÍF^^K—.å…^ OŸ>¬\¹²:tóæÍcëÖ­¸\.Y-wºA2Ê%©~Å¢j¬í÷ôú ÄmŸ®¹;›\òëª/J’T]®U¬ëËþÑûæLãŒÖùqÖ Hv&³jÕ*ú÷ïO§NäT/N§“uëÖqÏ=÷ðÔSOÕP[y=A‚&+·ÞúgÒSS)(:‰3¯e»²båJ~ýõW· ¿…Ë/»œ ÊQSRT€/X\ãpÈÎΦQ£FrÕUW1bÄž}öYÞ}÷]æÎ˲eËhÖ¬ð{²Åb‘Dzÿ~,X@aa!YYYtèÐ?þ˜>}ú0eÊù¹9sæ0iÒ$E•…–:À¨šGKÌU=ˆ¨È´8z‘]™PS1ˆÎR[jíh©ôú­gÛ55™ZD¾«ž^OueD•‹úR´]5µ¨mȈ*Xk/!:±'­ý½ÆÑx#‚›µ9þhÉUQrq¹\\zé¥Lž<™;wÊÒÀÌ™3iР|8GÚCA¾€—ò²ršæåa·Û º4éÐäÔT^{í5v<ð@€´´4JKK¹õ–¡Tº¼5ú‘””Ä?þH÷îÝyøá‡?~<~¿«ÕʧŸ~J·nÝhÖ¬n·›„„ÒÓÓO™¬öíÛsë­·r×]wѪU+xøá‡p»Ý8^ýu ;vlñhéÝÕY­ ¥„è"m+q+Z¶­÷”6‚ÞxjdJÕ8ÐÕ ·Zãq¢P;$´æTë ×2àêÍ£ÚA¢Ôo-éO‰‘ÐrþÐ"ÆJs 5_Z‡®Ú5#$rüzãˆ|_d¾DþVÃyµuÕ²åjÍ“~‹âŠÞù ×½sE '•Î ‘s'V0+I.áÜC=ôÍš5ã–[nàµ×^cáÂ…|øá‡rzüÈùA‚^/&³9doñû‘Ì&ÊÊÊÈÌ̤_ÿþ;ötìDïk{ÓûšÞ´k}.eå˜#$¹A;NrrrX²d n·[¶ñX,9çR(›€Eqa+++9|ø0Í›7ç¼óÎÃï÷sèÐ! ”4à7Þ`ܸqäääÈ‘©áq‰xvE#§Ò}£Þb‘ïFþDoÞèï齧צÖ5½µCDd|Z‡’Ú´žS»¦×¦Þ<ªý(mb­yŠdb”¾+:zã0ò·Ö5-¡ծ‘õÖkÃÈ8ÔžÓšw¥½%Š#¢ø¢7^#}ÐÛ§ÑD5š«­S]‚¦q! òøãÓ£GÚµkÇæÍ›ùúë¯å{Ñ ú}rjþp’¿pe‹ÅÂ…;cMrРU3$€ŠŠr2:œƒßª UUU´oßžÕ«W³sçN®¹æ9Ñå˜1cX»v-ëÖ­“ Î/¿ürJöïßÏŠ+˜0a#FŒÀçóñÙgŸÉjÖ¬YƒAÆš ³YHwÍEhq^±¨Œ”ÞEä­ ¯¶ÈÃ¥.Ô FUg±Îim7ŠˆšRÄ{JOm« *–5ù–è8k‹ jêÄÚ®™è¼éy”ªµmd­E$þÚ®¥žª•éþÃl.Jpï½÷Ò°aCú÷ï/¥´ÝÁ`·»Š› §Ó)Øá›ÉŽ$îœpi-r©WâÇ‘œÌî‚£ìZ³î”L­•••b±Xøá‡èÛ·/—\r ß|ó C† áäÉ“<õÔS4hЀ²²2Ìfs ƒ>@Û¶m7n·Þz+YYYdeeñÀ¡òͯ½ö·Ür‹,µÄ+ôÅ!qˆÃ".aécÈ!òß‘AŽ‘‡qeEÙÙ9¬úÏŽýz„@ ˆÉlF ‘L!¢d³Ú8¾ý¶RÀBÑÉßh–Ûˆâʪß]±b…üúõë³víZ d7ä±cÇ2bÄŠŠŠ0›ÍdffÊI¸Ÿ‡ƒ·Þz‹'NàñxÈÉÉ‘=à+W®”m5a¢¦×®­±MÄ`i”ˬ î?VC –¾».‰"1?µƒVÔ¸Aƒº¿îÚH0åér‡¯¡XDR4rÝH?jkÐ×Û±ôëjîêzꄸ„£ô€¬6Rë¼-)ìœnrG"¥ÅxKÊðÁSQNÀlÆçòRA˜+qÖÿ•ÒýñH^?VcÐ)))5ˆ›Ùl¦~uA³°ˆçt:e IIïîgNNN U_8F'##£ÎDrQ¨íbž)×NÑ6ÏFÐXæålÍþmd~cƒžëy¬nÁgËÜMð¿ä*-¬SKSsâ‚ԫ׫z÷åãßçƒ̥͹-HOJ¦Òã&Å™HÀÊ3æ—<>r˜ ¶ w°}ÇÚžÛV‘Pâ²´'N Q»È¨ î2Ò BM¼TR) ûo‹Pj}[+‰ž–ÎV-w”Öüˆö]mœZ 5õtÉz E8]QüÑ“NÔlÑ߈Ì!"9‰$lµ!ˆp¼±fÜ6™L¸ÝnL&v»]qLååå8ÎÑ>©Ù`EöŠZ’T=ÜYo-ÉM/™­þk9Ã(%G±éji¡þÜbF¸?@‰‡m-›¶o"¯e¹s)òqøÐa, 'OœD²HÔoRŸ¦Í›â zää“á”1‘“Y@)aǧVíR-Yœ' e°UZÌpÿµ¸B­Ä{z_±p¬J¦R’N“ÉD М7#ºlQû™lÄÎdd^´¸r=ƒÉdÂår1oÞ<™°DJÝZó«DÌÕð8rΣÛ~Ní{Jë-ºïgÍšÅìÙ³UíC£F¢¨¨Èz1ÖõŒUª5UDÂS›—X%.=|=]ã=mj±Ó¡b*,,äéžÆíq³5+¿™“‰Õf%àPt¢ˆÆÍãqyøeÛ/T•VñÞì÷XøÝB,‹|ÀíÝ»—·ÞzKÞÀ“&Mâûï¿Çl6³k×.&L˜ÀàÁƒ™>}:¥¥¥§PêW^y…Áƒsï½÷RPP€ÙlfìØ± 4ˆ›o¾™n¸üüü*¹‚‚žyæ†ÊäÉ“q¹\˜ÍfŽ=ʵ×^ËèÑ£åCX , Ï>û,ªHÕ¿Ö¯_/gGÜpà lÙ²¥†„1$djQø™¡C‡2dȆÎÂ… åvŽ;ƃ>ÈàÁƒùÛßþ†ßïÇb±ðí·ß2|øp¹of³™/¿ü’#F`6›åLÓÿ—Aï¶Z­4mÚ€iÓ¦É8yˆîÛ·G}”ÁƒóÒK/€íÛ·ë®»ŽaÆ1räH6nÜ(¿ ?~<Ÿ|ò f³³ÙÌÚµkéׯßïÝlfÕªU 0àƦ°°Þ½{SPP ;×;vŒ«¯¾š¢¢"Õ4òw§Ó)ǨEŽ/ IIIšLYôáhÄa&gŽ`œqâ‹!|Ūlܽ‘¼sòhÞº9¥ìÙ¾‡ìÙl_¿”´ÊJÊØ¿{?iiœÓþ¤D‰¯þõ¿ýö›LLJJJصkwß}7õë×çÚk¯åðáÃ<õÔSŒ=š>úˆsÏ=—#GŽÔèÇ;ï¼CEE³gÏæšk®áñÇàùçŸç£>âÝwߥyóærú™pß·mÛFÇŽùðÃi׮𖖯÷ßÏÑ£GçC’$™àäççãñxNÙŒ~¿ŸÍ›7óÝwßɇô‚ زe ¿þú+JÀ9oÞ<–-[VãÝŸþ™/¾ø‚;w²wï^, ¥¥¥|þùçÌŸ?ŸªªªSìÉ“'ñûý|þùç¼òÊ+Ìž=›àñx¸ÿþû0`³gÏÆn·3uêT TjzãÆüôÓOX,JJJX¾|9›6mªµ=£.â.jû¾žÍår±eËÖ¬YÃܹs)..¦°°¹sç²zõjùÙzõê±~ýz¾øâ ¾üòËSœõë×Ó§O>úè#‚Á /¼ðB Ædß¾}´oßž¹sç2qâDžzê)ùÞÊ•+ñz½,]ºTnïðáÃlÞ¼™%K–ÈÄdñâÅòºDBii)›7ofÁ‚òµ0ž…‹ð=z”¹sç²~ýúóòÃ?°jÕ*Nž<‰ÍfÃçó±wï^™È…Ÿ—8tèsæÌ‘ûâ÷ûÙ´i7nä“O>áÈ‘#ª ‘(‘7ò¬¨Û®hûµõÞ‹Å–tºlWgŒ¸Ô¥A? n»ÃŽÅbÁbµÐ¼Ms2s2Ù¿k?>¿£ŽRZTJ«v­HË%­t8¤¯GnÇápàñxxá…èÑ£&LàÃ?dôèÑtìØ‡ÃÁM7ÝÄyçWCu˜˜Hýúõ±ÛíÔ«Wôôt™Ûr:lܸ‘† Ò¤I|>ŸŒøW^y%ýû÷'11‘ž={âr¹dÎ-ÌÍ)I f³Y&Љ‰‰X­Vy3FJUUUôíÛŸÏ÷ÿÙ{ó()Ê{ñûSU½ÍôìûÀÃ.»ìQA…¸FÑ›¨®1Qc$&&9o¢Ñ÷b\LŒ£F ¢xEQƒ¢F#"¢"ÛÀÀ0û>ÓÓkmïÕUö ½TƒñÞß<çÌééꪧžåû|÷…;vðÆopíµ× …,N¸¡¡7òøã#ï¼ó¿ÿýïéêêbÅŠ–ºâöÛoG–e>ÿüs~÷»ßYR_ìØÌœnEEEx<¼^/k×®eÑ¢Eœz꩸Ýn®»î:|>]]]ˆ¢Èµ×^ËsÏ=Àk¯½Æ˜1c˜5k–mãíñ6èëNÖ:::Xºt);vì`ïÞ½üà?`ÕªUtttð§?ý‰õë×£i7ÜpƒQÚkÌO?ý4·Ýv›¥â0Õ?fšþÎÎNn½õV~ó›ßX÷$3~¾ð <øàƒ”••±sçN®¼òJEa̘1Üwß}½ÒÿƒA®¸â þö·¿QSSÃüùóñûýdddðÑGQSSÃòåËimmeåÊ•\yå•<òÈ#Üyç >œŒŒ <¥Âá0sæÌáÆo¤»»ŸÏÇ®]»?~<#GŽdëÖ­\~ùå|þùç|ë[ߢ¸¸˜ÚÚZ&Nœh! Qq¹\øý~4McÒ¤IƒAÞ}÷]>øàn½õV~øÃ¦42¦Ê—*˜-]÷a»%tíº›†ì… Z•L/»ì2.¹äf͚ł X½z5çœs‡ƒI“&1~üx®»î:‹“7¿ ¯UUU<ú裬^½º,åææò÷¿ÿêêj6oÞ̪U«p¹\ÔÕÕ±yóf.¹äÂá0k×®åÜsÏEÓ4ÊËË)((àÕW_å½÷Þãºë®ãç?ÿ9‡]»vQ[[ˬY³p¹\‚ÀÅ_ÌÚµkQU•o}ë[üÏÿü¬Y³†E‹ñÝï~—óÏ?Ÿ[n¹…3Î8ƒçŸžçŸQ9räÝÝÝäçç[DÐdRÌ–““Ã=÷ÜCEE .Äï÷óàƒ2wî\¦M›Æ7ÞÀÍ7ßÌ®]»8í´Ólá¡t\†ûã^o§_;N©œ ’½?YeÏtñv²ª _¹ä’È…-åMflK9p»Ýx2= 9ŒQ'Œbì䱸\.Þã}ì>ÀÈq#7yc'%¿(O†‡ì¬ì^}uttpÅWŸŸÏ¯ýk«Òä!C¨®®¶^çt:ÊðÀpÎ9ç°~ýzž~úiîºë.\.›6mbذa”••õ*|&‡ƒúúzn¸án¾ùf*++-ä;¶Øïš¦qá…²qãFž|òIf̘Á‹/¾Èúõë¹ï¾ûÐ4­W~5¿ßOee%äþûïç;ßùápI’e™ÆÆFÖ¯_Ï믿ÎÕW_ @8&??€ÒÒRK½p÷Ýwóä“OòòË/ÓØØˆÛí¦ªªŠ^x={ö …˜;w.O<ño¾ù&ÍÍͨªJee¥µ†æ\¹¹¹¨ªŠÛíæ‚ .àÆo$''‡ââbKŠ³Ã¥%«ž—èþ¾v¦Dj»ùè’=ŸÌ> ( YYYV?ÙÙÙVîX ÕÜs]bU>š¦át:Ù¹s'·Ývwß}7999½¤ëŽŽ¾ÿýïóØcñ /°iÓ&ž|òI¦L™Â‹/¾Hkk+@€ÆÆF²³³Ñu‹/¾˜Ûo¿îîn***ðûýˆ¢È§Ÿ~ʺuë8|ø0‡@ À¼yóX¿~=7n䤓NÂï÷ãt:ñûý‘(,,´¤fEQ,x(//GUUEé5·¾6·`0ÈÁƒyê©§hlläòË/GÓ4233­{̲ýáÐSÁX"†dRJ²Ê£É`.Ye²1ÚqNH«v×åxJ.i©Åâ¹Ýõå4í¦°7'ôÉÎO8Øpᣆ#J†ÜÒÐBfV&ï½ñª¢è è ›M~y>ÞÚ€®}I ‚Á ¡Pˆ›nº‰`0ÈÊ•+ …B¬X±‚gŸ}–×_ªª*zè!Ëj‚ââb>ûì3öíÛÇ›o¾Iaa¡¥'^³f çwž5fI’¸é¦›¨©©á‹/¾`éÒ¥\pÁdeeQ]mÄà„B!êëë©««ã‹/¾ÀçóYÀeª3Ì2Í---´´´ ˲%U™k§iš¥Yµj?þ8¢(ÒÕÕEGG“'Ofúôé\pÁ\wÝu¸\F6„… r×]wQSSÃïÿ{²²²ƒìÚµ‹•+W²téRÚÛÛéììäôÓOç‘GaéÒ¥tvvÒÖÖ@AAÓ§Oç¾ûîã’K.aóæÍ<÷Üsø 3fÌ ££ÃÚ¯?ÿùÏ<øàƒÖ½íííœ~úé<óÌ3ìß¿Ÿßþö·ÌŸ?€iÓ¦ñ‡?ü°zõj$Ibذa|ôÑGìÙ³‡5kÖðÑGYóœy晌9’믿ž /¼Ðraîèè°Ö°»»ÛZÃt4(éÀ’ÝJ”‰žIu_2i8Ù9H§šf¼çìT¢<–ª¸é4iâ ã}æ¢Å÷ÕÞÞ†$I””–%u×µC5SéA@×tÞ~ïmD‡HOWMuM¨ªJnA.¹¹dådáÍöÒ\ßlqìÍÍÌœ4““æœdI ¦D1eÊ-ZćÃL˜0ùóç³~ýz^{í5FŒÁ‚ ,ÉF×uN<ñDY³f ‡ƒ_ýêW¸\.Z[[QU•3Ï<³ Ö××3}útöíÛGkk+MMM¼òÊ+tttðo|ƒÖÖV~ñ‹_0qâD^}õU¦NJIII/nÇ”N³gÏÆãñXa±Ü‘,ËÌœ9¯×kI#‘H„²²2FŽɈ#x衇xë­·8å”S>|8³gÏæÐ¡ClذqãÆ¡ë: , °°{ï½—H$ÂÌ™3™3gn·EQz¹Ϙ1UU3f dÆŒ,^¼˜7òÊ+¯pâ‰'rýõ×[RRee%¥¥¥áv»¿ßÏœ9sRru©‚íæ%r·côLÆ­¦”ºcÔ„Ó¦M³ösÊ”)x½^ &§NJ `Ö¬Yrÿý÷³páBëÌ ‚ÀæÍ›Q…}ûö±~ýzÓ¦M³úW…œœÆÀøñãyûí·9ÿü󩬬´“aÆQWWgíIee%x<Kž3gš¦Y*eSrš]î-ž ¯/ÜÅ®™9ö¾ûe^O3±È?žM&$ÙÆîSìûæð³gñà!‘ãD¼¹Ä^Kv~’­a"õUÒþ üØ}Æüö·ðß@<ÆëSUU6¾þ*g.ZÄgûްnK3§O¥­³]YÑETUCQ5$‡ƒÆ†ZΙžÇœIÃQu‘­[6÷Ï9U»Æ&ˆ§N™JVVC†¡¨¬ˆšªÜ#Ò·|x9‡öBGgبa¸<.æÍšGfff/ ×4ÍŠ½0rìa‘e™H$‚¢(q#ˆE!‰ Ër¯ßcuÆ&25û0Õ[±}›ï‹½žˆHÇö•ˆ›ˆíÓTË©ªjÙf4M³Tjæzx<öîÝË\À”)SX²d‰Å©šãì»ñÞg~7Çn®‘)éÄŽ%"Me,´›>=Qts¼‡"/U_¤a®™)aÄ–7×Á$,æÄ®¹ ‰`É”ÌMx6á]–å^êµØñ¨ªj"K3¾Ø9Äžóº9&“ȨªŠ,˽¤\ó\™×cï…³X8íËŸ•×­¤¥¥…£âAÒå6zÎÿŽ–Êç=–“ì{ÿ]cKôÛ±¸B&«a÷Àëxúï¹Ëš'[·ã9¦ãí{,ïIUb` ÎÊñ.G>ð~LÄE´¸¥ÔÑ ©sì'éäææZß®^~5ãGŰô¬e–‹çÀ¼ÏžjÇÐné~&“´Rͯ/‡šNŸý­á’jlýCºûýUÈ¥£ÂHÕÎTºðp,•(Ó­ÒŸy ôwÜÇZ¥¿ª®þ®yñA:gW†Ð8â½(¢.º¡ˆŠ |•éǾ¤´š¦rÚ© Ë*0˜ch° ¶Á6ØŽwSõø—L·ÈëŸtð¯æFt%üÕÎʤ¶ºŽËIýá=Èr˜a£¦ È!ãw½7lƒm° ¶Á6p-"+ŒŽÇ:â ’Q@cþqn§9êE“•SÀ'¼@]Õ[èºLwË)LŸ)žNÜ/º® ©ê 03ØÛ`lÜtMíØ‘k\›‹¦é¨šŽ®éÇë 9\©ÚÁç[žC×FO9—ÆÃ[),ÍÄápPW½…öæÃt·í§lÄ<¦~ãÛˆ’_ÅøÛ`û76¬ârˆéóy:„d WÔ¡CH}Œò ×ýECÀ)‰èÿi4 dUÃã´¹ŽÿË›ªé „vèhâ"h€€nÐq…!‚EQâ“÷ŸdäØQdïÇÏ 9$ŠJÊÑ4®Öz ‹] ­Íþ]ïÓTw"ÃÆÎ ìA@°ƒªë8¢Æ(EÕEÃ9A×AÑôhÌ€€$ GÁ‡¢éhÑt2Éø]V5b.’`9;˜£WÕh”ª EŸÓuãYó &kŠª[Ï%ÛlÍtñ1(jïk±F8EÓ£o—ãË÷kº~ÔµÁ6P¬ë(Ztã) wŠªãŽ …e•ÙcrÙ×à'ÖÒ"0‚sÇå²e'n§hÁ² ‚A5 Ø¿÷Æö¡jÆ{ÌØÉ1å^ÞßÝŽÛ!¢iÆ;]N‘Š#²¢ê´÷Dè Yš' ËF¾8â#Ã%YLTDÖ(Îv¡ê°¯®·Ã@²š{3&|s×-¡c8™gNkýâ¹Ìške¾C´<š¾¼&Bìúé cÜ«cÆ£ôö~Òõ(g.ÀÐ#%NcGØWìPLÆ4Ã%1¢8ƒötàu‰ÈšþåïQÙ$ÔæØz_ˆÙ{bÆöõT‹é 7âÜãµ —„¬èx\"Û«ºhèá”D"ŠÆóÆåÓTÈÍtp Ñ϶ª.*‹3p9EtMgL¹—ìlá@C—S$"kŒ)ÏdBE6AY#7ÓÁ®_ñáÍv1ª4ƒÑe^|ý0‚$Ä]ËžÂwæ—óÒ–&B²F_v!¢h”å¹™7>HEaTi¯|ÔÌe§ ¡Ý'£hÓGæðî®vš»Âäd8˜7>Ÿê¦Ëf–ðÈÆºƒ Ycú¨N›TÈ}/D…ÿóØqW—èzT:È'Ûã ¢j¸"¾Ê†íÍ\:ÙXC¦Ûè„Í`Ú‡$â!¥WðžË!"F=6U'V F44ÝPUG”/‹Ê9£÷úƒŠµŸn§HP6…$ „eCú6‘Y ¬2yx63G粿ÁÛ)’áÊaOmûzø¼Æ‡®ëxœ°Ú+6DŽJËšfô#‰ ‰"EµæåqIà ßþFÿ£I˜>2‡°¢ñÁžò½NUGV4tt‹ë û:!Y³ˆŠË)Œ&ˆ; „ WÞ+F ¬¸$Ið‡”è~})åÏ—Gyž› ¬Q’ãfÇÁ.$Q°.°¬!«Á°ƒˆb¬Ÿ?¬ZR[0¢â”TM‹Jg‚µîZ Qt9DUEV£„O×­½û’–¸Œî€!J]4ƒäWý¢¢(´Öí¦th¹…¥”-Áßí§¡¶—ËÅîOv3bìj×’›ÍðÑ#¢Ô_£®¦™æÚ*Ê*' É!TM§;(3~ˆ—¹ãòxyk#MafÉC@`ýÖ&"ŠFA–ÓâŠ4]'V9¡"‹=u=lÜÙÂèÒL.˜WΖ}lÜÙ‚¬èdy$t4pJZTíÔÜ¡¶­…vŸLIž‹sg—²³º›@Xåéwë¸æ,c¼zŒ(aE#"køÃ*=!•žB0l’ ·dé»%A`ƨ\vìbOmNI (Ç…$#*/okÄR™3.)#²yqs*²hh¡ª‡šL‘ÍÆ­ç¸È÷:©kám² „nº(Ûňâ zã0aY#Ëã ßëä¤qy纹zñ^ÿ¸™æ®óÆåSY’¼µ³•º¶çÎ)%(kŒ(òÐÚ-óöç­øC*#K39uRa ²œDd ¯[bÎØ<ÊòÝø‚ w¶Žh\ør|A…|¯“¿¿[Çi“ [#„(6TMû2²\aóÞÞÛÕFv†ƒò|7§N.äps€QCÔ÷»j|œ:¹a…´ú"ücG‹‘ÖH6ÊN,SNm[íU]ÌŸÏ„Š,|A…—·61o\>E9.~ðͼ±£…©•98DÂ,>n¦0ÛÉ’Eäg9ùìP7;ª»qI¦’Ü8óÆå3nˆ—šÖ ?iåÌ‹ð8%Šs\4w…Ùôi+N‡ÈEß(§£GfDI»ôà *L­ÌA×áÍO[héŠpÉü!8".‘ƒÞÝÕÆÈ’ ÙXƒ |sz1…9Nš;#½Ty‹¦Qœã¦+(£¨§ÈYÓ‹yyk¢ §ñÙán†fPQèÁã’Èp‰lÙ×ÉÈ’ †g°¯ÞÏ»Ÿ·1ix6ã‡fYÄíÍ#êײŒó@1 %¢Àx¶73´Àú8ÐàÄÊò³<ñöfŽÎ¥<ßÈÑç)ÈŠ†©Ít‰dg8ÈpIÔ´†hóÉd;qD¥ì!* =üuc #K3 ]Õñz,™YBkW˜öw2µ2‡œ ½q˜ÉòY4­ˆÿÙÚÄØòLþ¶©]‡Oª»ˆÈ:Ûöwâr|c|;t²·ÎÏùóÊQ”Au“—C$(kL­Ì!?Ë ”#K3¯X剷pÆÔ"fŽÎåÃ} -ôðÞí¼ûy+—ÌB»_áÙ÷ê?ÄËÉ'ðü¿êyéÃF²Ê7§SÛ´T™.‰ˆ¢Q^ࡪÁoaBS'Œ¨<ùÎΞ]jÙvó¼NUC²3ŒÔ7æZ>ÿ¯z* =œ?¯Œu›yëÓVΟWÆÐBP˜íä±·ŽpBE§M*äåmM¸€I ªK¦ ŽÕÛ'Ãï‰Ìì:&m9>:ªaÈèYÈj)5ÆvIB×tœ.''~ÃF3Ò˜8$œN'=Ý=ªjdØø³ðxsPUÅt=@Õ4ÜN‰L·DDÕzmšõ€S4ãº9EÓÉpKhšN‡_&Vñz$T]'¢¨dyd9Ù[׃Ë!¢é†¸¬F¹À`DeÞ ùäzl«êÂéQMo»Ýê—þÆóÝ…î Œªéô„|AXýR-}ÎÔ£+ª1vÓ1¾· ‚«ÎNY¾‡tQíÂíiî [ë5>N›\ÈÈ’L>>ÐE¦KúrlƒÇô‡EgÃÇÍì>â£+ 3²,“ù“ ˆ(’•7L0$F‡ÀŠEÃ8}j%¹.#ƒµ¢ñéánŽ´Ép‰dº%‚•#mAjÛBn âõHì©õ3ºÜË.Îܱù†Í ÃæVÕàG ,ß;:?²ª±ý@ÅP1}ë¤r~´´’¢²ª¡E\ •ŽfÙ5ÍPÕ¶©o±üÌa”¸é È„S& +:o~ÚŠ®CaT|ù NšO~–Ó²1 ç\ˆ#Áxçðb³ÇæqåÃ]–‰Û) FÏHXѨ(ô°«ÆGDÕØ]ë3TÀÖýFÍ—ÕÝ”xÐt¦Ž0ÕM~æî»j|¨šÎáÖ n§!¡‡d•SŠè (ì:â3Ö¦ª‹ï.¨`é¬RëL @HV‰(*Cò=|RÝlÙÛ‰(~éažoSE)‰ŸTw¡¨:õaš:#ìoð–5Z»#x\†znGu—±ß‡ºÉõ:¢Xðëv«Å¬¿rYŽ (rRÍ–#žYVU”ˆŒ *ÇÕèët»¨;ð1nG3•“N@×5NcHMõMÜóË{%‘‰Ó'RTV„6²¨æfS³ÿò†ŒG×UDÁÉî#>¶îïà[' á•mhô³§ÖÇÄaYT5øèò«”Gx¾ Œ$‚/¨0º¬ƒM=¼º­‰qC½\|òP6}ÚŒÃ!púèbv×úè ɸ†´,ßCW@&Q9é„4M㉷kð8E²2Œda"²FSWì RL>´êæöÕûè )LžÍ–}í†MÅã‘£²ÁˆB§_fâ0/UuârŠ ‹ryª®³öƒ:²JH6ôóE9.’@M‹ŸÅ4]`wm7S*³8Т³'„ªi„eå(O¸ÁÖOvˆ”䏨~°ƒ°¬2¢ÈË¥§UЊ Ðæ ! sÆå3ª,ƒ¿üãåùn.:¹‚,GUV*Áˆ‚ª:þî@·SDÓT¢HA–“ÆÎ gM/¥;(óÐÕÌÇ´Ê\‚C’D³·÷D(ÌqÒÚbZen”9QÙ°½]‡Ž™1å™t"4wÈõºUæ%'ÓÁ¡æ ³óPTË ïÑFsWˆ‹*©nr¡j›>m&×ëdƨÞßÝŠ?$³»ÖÇ?>i&Ã%Q˜ãÝÈjÜÚÂåÐt#E{kw¼,-]Þù¼…šÖ åùn²†¦©„dYQië Sšï⣪v†gÐØ)£jC =ì>ÒÍ ^ºü"Š‚†nà+M2d¡ˆŒËi0eþP„£ éðGx}{#9™N’Dus›÷¶RYâE hé  +TDÏW§?BI®“}u]Ì•ƒ¬h#2N‡@ ¬àv d9 „eã,¡’eAtdUAV /,«ˆL*Íáž&F”d’5‚M¿vZYVÀÖ.>ût'MMM†}-3‹ Sf&Ìa–Ð[L·¼8Žg"99=ŒÃ)!G4|]>êÕSVQ†ªª”W”ÓÕÑE0¤¤¼$šQ9hmŠIi³2ì©õñʶF–Í*ãíÏZøä`'…ÙN.™?4*IÀ{_´ÒÙ£!"âqJl¯ê`щ¥Œ-Ï"Ó%±yO;¢…Y.Ê u;Eš:CT7ùùÁ7GÒÜ&×ëÄ) ì¯ïaîø.=ŃË)XjWwTZöº%vìäìÙeü𬑆‡ Ã(ÈЍ(Ñ"OaYcÑ´’¨ºË€ÉÍ{Úèè‰àrN..Iä›ÓK ÇY£©3LeI&ÁˆÆÛŸ5°üŒ|¸·³f”ré)‚Àáæêý´ú"üäœÑ<÷~-ÕM~–Í*#7ÓÁ†íMükO§N*BU iáÝÏ[éÈ€ˆÇ%²mKg–qõâJüa…çÞ¯CV O¶‘%™x\"ë·6’é’pŠjTMk/Ñ5·SDQ5ΚQÊ¡æ7œ3†=µ>ÞßÝÆ¢i%–}sûNº2áˆÆ·æ áá7ªyï‹6Ξ]Æ„¡Ùäztúºý2umA®[6’ÆŽŹ.TUÇ) †Gft]¦gfø‚Q¥,ÏÍe§VP’çæÏZ0B¾Žp¯…Ã!¦Ïœ¦ Ã2²¬âøq8\ñ%¾Åšj²æƒ&äœ1jä¸J.¢ä  °{ó“8´ZB¡JDfĘá4Ö5SPœOKC C+‡ÒÞÒNwg7YÙ^dÙA騥TŒÿJ8-pH"aYEÕt2ÝDã{A– ·SÄ4Œç†wY¬I#Ã-‘á$$«tûe+Æ!‰ïãÑ#«.‡„ËaÓ»«£Çp ²]ÃéôË– sì¾énކGOüÚ&ªªápˆäGÝŽ;ü§ûœ( „"*}c(Ÿîf_}åþ)+šå£j:™.‰P‚÷ ¶ôše8DQ ÏëDa5*ļ0ÛE—ßr³<²2–­.(«½öC’¢@0bijd¹Cš1<¬tr½NÜN‘®€Œ$¡2êf »ü,¾ ñž¬ö.‡ äz ÇUÓéÈ„e §$àˆzB…eL·Dv†Ã¿éšŒ¨¸"n§„/ #I"ùYQøì‰Xï(ÌvÑÞ##+Zô}†ä¤cØ ³2ô•¨ÔsûÌ¡¥+Ì•gŒà_»Ûˆ(þ°B(¢á¿ô$ JLtËsËí „Ur2x\¢hx¹uùe<.‰<¯á.ÝRŒÀPÝ ö²báÌ(Nè ȈQ'I4ܬeÅ ÒŠfÄÖiºáµj0¡ˆjኞÂIã qH;« ›j—_F’¾ž›²¬0/ï ßüæâ^ÅÂz‚2[>Ül•ÛÎôf1e†Q ¸©±î¨baޏ]º"_ÉEUdN7“æÿ'›×ýœ±†âÎÈÀßã§§»‡a#+dhmleب ʆ–rpÏ>ŠÇ~›Šñó‰„zŒÄšÑ•£X–$ Ê… ‚@Gaø³@’™êÚàz‚aHEˆzié}úŒ¥æ¡èA†aÐ{¢.’EV4êÛ‚FmðžHÔ;ÍÀ¾ÍpE%î:›±ªjpŽD ø ôzΔz5¨i à²jyà+1Ü‘?êú:ØΫFÓ4ZºÂÁ‘¢nÁªªÑÐ4‚Ã%Ö”cb6„^û¡(²ÍN«CKWØrÜ0ã^:ý_Âqß>t]CD@Q5£žbæ=±Ì„¢j4w~™7P±b¤ÂQ¬…±ž f2“pD¢ÈUŠkªQßDŒs@4®GŒÂ¡/¨Ä?}æ ió§j:íAËWÕ4!ã|êN=æ™Ðõ/ë ÈtúeL7fIGT†ºÊ!~ùþPøK`â„ØuÔ4æÎÞû¢X™¨ŒT®´… IDAT}Äìi(¢„Ûa0ªM!²3ˆ‚ðµÕ$’\B¡sæ}#*¹(ȲB¿'¡ä’Ð[LÓAø Ò«hš‚ ºðæ•ôwú¨«‹Wˆ¦©•±{çDQ'7σ 9ñæ” DB–ß{<•^¯ï| æµÞ fPTüÅMTƒ^ýö®ù Æ)B•I鉒z-ö^óÓ»yOgŸ¸$û`@)\ˆ…阢^f)í>p»zx…Þ0bÇ9*¯×'ñžÕ“Ž=ÌÇö£>}‘Ðk^Gç%’æ¸ ¾UÓÉÏ£×ãàåëé )–êKëS&ÑYÒuý¨3ÚwÌ}mæZ'ZǾûs"ãŽ)Ã)²ã@'‚`Hl}×ókÇ4%°¹=¶mù *¹ddf1eÆ<´T2>qAGÓ5Dý«È $  1vÎåúôuA`ÂɧSýÉsDB~œN'Ùå8ógÒÜ~˜²ñKÈ/¢„Ae @d¸Ä„σm°ýo&Üm>Ã’¬ÿUªO{‚†:аüz_K‚ ‡™zâ &(¡°bx±Ê2’ў䢛Ôõ+XE‘qgæ2yÁ÷É© “–qä³—PdÃ&_ÀÐ1óÐt U!Ëá¨ê`‰öR3Æ® ¶ÿ‹Œ±Õ6ôÿ•ãM óõ¯žPÐuÍ2™¤"òGQ4\`»zÂHzÄhf‰õø*C££w,R/e §bÖ5Fým—‹Æ¦ë·¯¶€Ù`lƒm°ý¿Ó"½0>7r¦EÿH“¸Ã*'PÄÐ1£‘#AÒ,—iÚLRmѼØï_&q3%EQúPÂXg‚ãëX0ØÛ`lƒÍh²¢Ðu°é˜û9ЏDñÙŒé¼iv§áïjÄ›[ý®u%Œ"GˆÈatE%Q‰DdÚZš(,NŸqƒ»:ØÛ`lÿö¦óZõ±÷7qeX6¬ÿªªÙv[EŸ¯ƒúº¹í.ÂrÄJ©­)š ¡**šª ªªáæ #ˆ"3¦Oá'?ý’äÜ×Á6ØÛ`û76EU¤ÇÑ4ëK” `7õ"@qÜku ;;­[·òì3ÿÔI9ÒT‹Ü-ÓôÑîFɨa …hT9: ù9Ù<óÌß¹üòå(Š‚$IG½/™ñH’Ø9ÅögþŸî;âÝß·¯DŸ©úLv¯Ù_ºcL/éìAªqØ{¢qõgoíöow í<›h ¿Š³q¼úKÔ—³3Ðg¿/¬¦‚×þ¬{ß=Lµß©àÔîóé®Á@•ÓA¼±‹nN6VâU¨[†ž­"û#„§´“q~„ÜŒ ó )Yâ¥ì Cs)¹Üƒ4tAàƒ>´úÖ4Í2Åó¡¶ JÑ¿X„”èžd¿%Û”D±)K«@Pb`í 0©ÞqTLƒÍ1õ=8}?­_¢ýOv=ÞØR!ÌØuOtˆÒ9ø}÷¹ïýÉ`ÆÎ9°3ïx0ÖâÁCª}Lµ'ÉÆigžv`)պěk²ólLñàÔüK6ž¾ëagî& ÆîE¢ý¶³Ž©p€3›N“ÇÎéô·d‹«³ˆD1%"é}]4eÖÑVp„® Œt‚íoY~ a„‚:4Œú¦ço;ÞïAzqoWŽÕ‹$Iüüç?§  €_üâ–4c¾kÓ¦M<ÿüótvvâr¹¸æšk8餓z%Y–ùÃþÀÖ­[ÉÌÌäòË/çôÓOàСC¬Zµ ŸÏÇõ×_ÏܹsQU5¡Ä”‡Õ_Ž"B=V)$Q¿ÅåØy×@Ç% 4·šj]âq¶©¤Çã5W;u $®t÷.ž.bíïyKwý«¾È þWu>Žw¦Ž¸j1§ÓICCÛ¶mCÓ4zzz£Y}%I"''‡ÂÂBæÎÛûЩª ¢6è¸.DUEÿĉ ˆ§Ñ÷9*:Ú&êÐÛ@©ÒÔÒÜk6mÚÄСC#ýƒ#¨óÀpß}÷ñè£2uêTþñ …ŽšØ/~ñ ^yåÞyç6mÚÄ’%K¨ªª¢¤¤„‹/¾˜ÿüÏÿdôèÑ\y啼üòËŒ;MÓ,‚š.²±Ã¥÷I$ãô’qO©¸ät‘n²þÒ[*®0ÂJÄÁÙå"û‹(ÁCºj-;óO%M÷gíìH¦v`)"µËa§âÈûCúCüRÅk¤+5'“ŠãáŒDãN”$Ì¥³&ɉnqÕbN‡“P(ÌÅ_̃>Hkk+{÷¶–-[¶°lÙ2öíÛwÔ"¨ªŽ¢CGV3ê§.´1!8èIGwéP!C“çé2Ê~ =¬C!Dé„ô@¯1x½^233{]óù|üú׿æ¶Ûnã”SN!''‡‹/¾˜… ö" .—‹ììlÊËË2däääðÑGñé§Ÿòï|‡3Î8UUyå•W,"v,œÖ@q&vúèwdK4¦t¯Û}Ö.²HW%1û•"Œ··é"€TjI»×â­©]îüXöõxÀdÎLÇgw¿â˃’ξ¥êÿxíAµ˜@0`òÔq444ðÃþ /¼aư|ùrþùÏrÊ)§ôRCȪ‚âAé !Õ¡P¹áe/Âù=èun„ñ ’GAô‰3A9¢ ¸…¤  iiiaüøñÖ5Y–ä”G¯ûW®\ɦM›X°`MMM\wÝuäææÒÞÞN$Áé4<ÓE¡«««×;SÙ]RÙâqw±Ÿñ8]»ö;HÁŽÚÌ®}$‘<^¿vœ’Í7‘Ý%œjÜvÔ.ýyÞÎÜì •xÜg"ëkcH¦ŽI…„’Iý!‰`Æ.BKcvì©T6ÔX¸³»Ÿ‰úM¦:îû!ÄòXDI»Ü[:.¬©¤›D!0&’$ìp’É\+ûŽ%Þ¸Óq H׳®ïøâqíñ”]7ëDkœŒ»Nf›²ãžš ^’yžõ×]Ý®ôa&_2é!SoÏìÚsRIÛ‰A¢³i×58 ÚYóTÞb©lEéžá8$u$kÁ¨Y^Îþýû-‚ãˆÉ‚;iUVÑQñ#ADÑðòÊÌÈ  ‰„ Û†zTXÑeúÄO._¾œÏ?ÿœn¸I’èêêbõêÕ\uÕULž<™^x—^z‰ŒŒ fÍšuÔX~ûÛß2|øpî½÷^¼^/o¾ù&C† `íÚµÜÿý:tˆ§Ÿ~š‘#Ge³‰·ðÉ\wíp+vˆI:}¦:vÆ@$ãÈãõeW‚Hƒ~<âe—(¤:ØéŽÉÎMdˆµëm–È ŸhÆv¯¥bšR9zØAj©®Û…«T0™hßRât¤‡t úÉà6ãc× ŸŽ$"§LÓI‰‹ŽáK%Íïñ¬¶¡‰‘£*ùáÕ+@Ô‰CDd]ÕP5-JXtT tT4!ˆì—3f$»«ZïUU•Ÿüä'qǤª*sæÌaΜ9½®›Ä!X®¹æ®¹æš£¢¢¢‚U«VÅ}6ÕÆÛ‘`ìp鸎TÜY"‰#™~ÝŽ;y¢çâÅíØå”íÌ#ÕØ’I©C*©Âטì°«%™þ>J€kg?’g»„©8;Œ™=]$™¬¯d’a2Dmg“íi")7QœN"éߎŸŽ[ô¿]rIÅô]°ñ'L£³»›=º KB †¨*„è‚€VèTEÂJRÎÚª†°sÿ~ºÛ;­¾$IBQ”£¼·œN'’$¡iªªZc“$).q0ûQ­8óyó]±Ï&2,§MŸ*ÜNŸ©ÄýxãL¥z³Óg2d³ØQ$BJÉ®]¨Dª ;‡;•Ñ4hÿTÈ&óÒ¥b.ì†Tÿ§Š¡JÅpÙ³£žM–ì2uÉ$;j:»ê­T*2»Ì]*ŸÝ5OæŒó•—d:Óx”~îœSdn¸þFNAQ!JD&3Û‹¨©„# YnŸíÞÇÛïlŒ•E‹÷ê?VõÖwÓMÛH2•ŽéAWÝ'нT`©ôêñTvUX‰b!’}Úå~í¨DìŠØvÕ É¤‰Dc³ëßŸŠ‹µ«^±+9$ZÇHL‡a³#Y%C:ÉÔ a¨µ£M5Çt¢ÜíÂÕ@ͯ¯$‘ÎYL÷Ì¥«ëïÜí¨Âû“9`@‰KªÉô¥ÌÍ--T׿׷ÞÌžÝ{ijmBq¸P‚a"ª€ª*t†:)))âœe'‘å-büÄIüøÇ?¶¤“T®º}ÝN´t² Çtôøé ö7BÝ%ãôìr*Î(‘$“ÊæJêJÇ&”l?ì¨\ìªÅì¨íJ¨_…Z,Âw6ìäTj1;6»H1]µXÕ™ÉÔb©˜¡cU‹¥’æŽE-–ÊÎú¿B-–Ǧë:%ÅÅ\uùr6lØÀG}D¿§W¡0UUÉÉÉ¡ ¿€ë|}Jܱ^íÓí{ Ý¥Ã9Ú鯿úv¸œc1¦³Ç‘ö×`ݳ›¬2™ÔØŸuJ×`Ûß,Çâ]–Îh Ë.,¤Û´5LeGIWŠ´«Á8^Ê€Ø\ìʉ'–.]ÊÒ¥K“ö¯iº®ÇuN¥çM×ûh YTH餦è"OWEol©8¤TÒD:ª þÌ7™›M&½ üØ}>•½É®Ú"c~¢­éd;É)Á¡Ï­T2]õWªù'ƒu;sL•Žz4Þ§ãÜ#e7­ÕW¦³“r?öºI(TUMšR¥¯1ÞB舂ȑ#G‡ÃŒ3&-ÃÖ± ‡N¹ŸJ•ñuN¹,‘Ƀ)÷ퟩþ¦Ü·cÌÿw¦ÜOwìzt¥›r?q ¦Üÿ7I.Ét³ñ(£$IGe¶ó ol`Í+kGœ¿ø|.¹ðtMG&Ñ]}­]ŸÝu;Þýþ^;–¾RqÔvlvôïv$¨t$§þî­Ýy§«£OÇ Ÿ‡<ÐÑæuîìô“­Ñ@î]_‚’ŽA¿?xÓ®A~  ú©à÷+•\’QòdÔÙ®ÿ¸ |¶ë3þô×?!+2W}ç*6þs#Î,'Ž 6¾»‘ýö³s÷N/XÌ÷¿÷}KÚIÅù¥cз ©¨ý±Ä¹ØE°mÐ7%M3Ž)•WR"â‘®÷U¢àU;5Ý éôIŠÉ¤£¯‰5Þ4M³µc‰s±Óg*i38—Tkl7O]:i^þq.vr¿Ù•*ÓsI¥Y:MAš˜îÇ‹ º÷{‘²%¼E^~ÿ—ßSß\ÇãÁ!98Tsˆê–j†ƺ××±ë‹]I¹äD$Y:–Dl'—R¢âc}‘n*p³˜3éé§ŸæÈ‘#V¡8»‘Ö*¸OT¼n Î‘©>~ñÅ9|øpÚª·Dð"Ik×®¥®®.eJøþæÜêïýÇû=ËìÚkúcIÇvr¼k´Wâ’ÎDíêùª««ñü„!СbLíH’DÝá:†ŒBAQþn?ÉÁŽOw‡{?†ÃaZZZzI4ægSSÛ¶mcïÞ½q$áã?æ³Ï>ë•Óçó±mÛ6:;;“¾@ ÀöíÛÙºu«UŠ v~$ Zý¶··[Ôgg'555GË×_XåjkkÙ¶mõõõ½ÖòСCìØ±£×øUUeÇŽÔÔÔôSKK Û¶m# ÐÒÒÂk¯½@(J;-YûçÈ‘#ÖµÛo¿‹.ºI’X½z5+W®äã?fÓ¦MÜpà ¼ùæ›8p02[›ÍétòÐCYRM‘ô±x‹Ù©æh®ó矷~ÈÞ½{Ù¾};~ø!²,£ª*‘HÄ"ÖfP¯¢(È²Ü –Ìk¦}Ò$¬}áxãÆ444Xï7û3olldëÖ­½ö ººš;wÆåP_ýušššzõ¥(Š5~A¨««#‰Ä%ø…„Â[Ì®w_«š‹ÇÝ@Ì=Uz¦dLÏñ¨LzLj±ãÍ ~üÉÇÜvÏmäæÑÖØF³ÖLYE%CJhmlEròr8´ÿáP˜ŒÌ ^øÇ ì?¸ŸÛo¹ã?üðÃ<ôÐC(ŠbÅËlذ—^z‰¼¼<|>§žz*—^z©•|3pë­· …e™²²2~ó›ßàóùX¹r%^¯—öövî½÷^ŠŠŠâJFÏ>û,=ö‹/fß¾}œ~úé,_n¸cüñÇ\qÅ,_¾œŸþô§üñä ¾¾ÞR ýò—¿äÝwßå‹/¾@–e\.;vìàÒK/à­·ÞbíÚµäääPWWÇ÷¿ÿ}.\È{ï½Ç<@NN•••üò—¿àÎ;櫓±‘ööv~ò“Ÿ0wî\jjjøÕ¯~EAA‚ ð‡?üI’¬ÌÐ^¯7-]þ‡~Èßþö7rss©««ã /äüóϧ­­eË–áóùp»ÝLž<™·Þz‹É“'ãõzE‘üü|k®`xnÛ¶ÖÖVk½¿i"5Ì믿NGGk×®eÉ’%¨ªÊÌ™3{𚪿¾»æ÷ ö­Š«6ÌÊʲîíkÏܶm÷ß?¥¥¥ÔÖÖrùå—³dÉÞzë-yä²²²?~<7ÝtS/–mõi–¡ŽÓ~ð«îQsãýolÿ׿óU6‡ÝC”L¿ØŸÂDfÛ?ÙNNQ¥CJ)Z‚¯ÓGc]#‡/>ù‚ʱ•ԪÛíeبa§§*j8ÄîÝ»™0a‚u²²²z½£®®Ž_|‘ÿþïÿ¦¨¨ÈºfN€½{÷ÒÖÖÆc=À²eËÐ4'Ÿ|’“O>™+¯¼’5kÖðøãsÓM7õ:ø±ª«ßýîwÌ›7€E‹YÄeýúõüö·¿åÍ7ß$ áñxp¹\,[¶ŒG}”+V°eË<'žxb¯µñûý4440yòd&L˜À=÷ÜCff&uuuüøÇ?fáÂ…<þøãÜsÏ= 2„•+W²ÿ~]]]üéOâÀÜ}÷ÝÌ;—?þñQºï¾ûX·n§vû÷ïçöÛoçý÷ßçG?úçwž-·ðQ£F±jÕ*rrrðù|üèG?Âårñî»ïòío¿ßÏ¡C‡¸ì²Ë¨««£££ƒÎÎNÊÊÊxá…xê©§èîîfÕªUTVVâõzñz½TUUY{–*‹®T0v=ìêžMâM7Ý@}}=¿ÿýïغu+=ôõõõüÇüßýîwy÷ÝwY·náp˜`0Ƚ÷ÞKAA·Ýv[¶lañâÅV¢Ö|‘#GòÍo~³Wî;³=ýôÓ¬Y³†Y³fqË-·ðÄO°bÅ N=õTjjjøÙÏ~Æ’%Kxê©§¸ÿþû)**â†nàóÏ?gòäÉV_𦑙™‰¢(\{íµ¬X±‚Ù³gsÇw°eËV¬X×ëeûöíœqÆÜqÇÌ›7ï¨\~©ðG:i‰Ò©d7õJ2 %^¥TM:õ\’Ù“ÕïI”‚*Þ;ú‡t¼«QŠý¥Ü8nÌ8Âþ0¾. 5 ø}~¼Y^8Ì)ß<UQ  •RýázÚ[Úikn£$¿„‘#GöO_{Á®]»=z4EEE–ºgèС½€hâĉ >œ;[n¹…ÓN; QÙ»w/³gÏ`îܹTUUY‡±oËÎÎfõêÕ<ùä“Üxãœ{î¹!ëééáüóÏgþüù¬[·Î"矾¥†Û°aK—.%##£W¿Š¢X%œ#‘C† ±Ôc/¿ü2K–,ŒòfÆçáÇS__OCCƒµ>£G¦¥¥ÅRŸ™ó:ñÄÙ¿?™™™Ô××sÍ5×ðÜsÏñ׿þ•öövkúÖʉô’’rrrX·n³fÍbéҥ̛75kÖðÀ0{ölž~úiV®\É%—\­·ÞŠÏçÃï÷ó—¿ü…+Vpûí·÷âš{zz’Â`«E¦Š÷°«"1K~+Šbíi[[›¥Šüë_ÿÊk¯½Æž={¨ªªBQ¶mÛÆ<ÀE]Äý×°jÕ*&NœÈ«¯¾Š <ÿüóÇ­3”››ËæÍ›ù׿þÅÚµk9餓PU•«¯¾šçž{Žû￟;ï¼ÓJØ -"=dÈjkk{ÍÅår±oß>~øÃrÎ9ç0{ölV¯^Ëå⥗^B’$Î8ã æÎËk¯½fÁNºA¼Ç‚ܾŠ@Ó¾ãh÷í’÷3_K›Ë±,Ø‚S0ªl÷´–©Ö:õ¬S©_‰"X”Dº;»i9ÒÂ\øx<ž¤hSÅ`ŠüñŒ­²,ã÷ûÉÍÍ%''‡îîî^5VÛO,Ò4 ¯×K^^UUULŸ>€7ß|“W_}•k¯½–?ÿùϼüòËÖû‡Ή'žÈÍ7ßL}}=‹-¢½½½÷戢¥žˆU©<üðÃ>|˜+V$,óÛ÷€˜ã7kÞÄ^÷ûýœ|òÉB+..Æï÷÷âÒo»í6Î<óL6oÞŒ(ŠGÙ¿ÿýï|üñÇ\ýõ½$ÃD-ðÝï~€ÓO?½1QUµ—Šæx”céÛ$0&Œ˜‰UÏ>ûl®½öZ®¾újÞzë-ººº\yå•‚ÀÙgŸmÙ§6oÞ̺uë¸âŠ+x饗,äá…2wî\Ëæa6ÇÖ-[8çœsp8œqÆVI AÈÍÍÅétÒÙÙÙ þûÚ°Ì>Ýn7?þñY¼x1gŸ}6[¶láꫯFE–-[fÝŸ(ß`lý&.} œ©â\âEœö½nÙ\v|ÌÁƃœ0å K )*+¢¢²‡ÓÁ=¿¼‡mïncبa”U”Q\VÌáC(­,eÛz½CÓ4‹ƒ6ÓÔ©S9|ø08|øp/ÃþÿŸ½óŽ¢Îÿÿs{*!@ !„Ð{Q8àPõ ¶“Ã(*P:ê)Š_¿?Ï gWEE=T,¢" ¢H—žÞ6Ù6óû#ì¸ÙìÌ|fwÞóx¬Ä-3Ÿþî¯×þý2yòdfÏžÍæÍ›‘$‰îÝ»óã?°aúté@QQG­wššFÅÈ‘#Y¾|9Ï?ÿ<+W®dÍš5<òÈ#|ýõ×4mÚ”ââbbbbp¹\Œ=š¼¼Mš4á½÷ÞÃãñPQQ×ë套^â¯ý+sæÌÁápàr¹>|8mÚ´Qrü»víJjj*·Ür ‡`6›;v,Ó§Oç矦¶¶–… ðÉ'ŸP^^ÎŒ3â4—ËÅÉ“'Á6lØ0FÅÅ_L«V­”6^sÍ5,Y²¯×Kii)ñññ,]ºTùܯ½rçtêÔ‰+V0iÒ$^yå&MšÄ”)S¸å–[èÓ§S¦LᦛnbæÌ™ÄÄÄгgO:tè@‹-¸õÖ[©¬¬ä¾ûî`òäÉÜÿý¼÷Þ{4iÒ„™3g²cÇ%s  ²²²ž°‘eYqÑÇÝþõ¯1nÜ8¦L™Âm·ÝFÈž‰D IDATvv6=ôb…I’Dee%.—K±ˆª««ëe‰•——+ ÕÕÕ´mÛ¶•u&¹¢î¿Å Я_?{ì1RSS×§Ãá`ûöí<ôÐCüúë¯Lž<€ûî»ùóçóÅ_àr¹¸ñÆiÕªÿüç?éÙ³'7Ýt“2ÞUUU1zôh¦M›ÆÄ‰IHH`Á‚L˜0ùóçóÁpòäIî¾ûnÆÏ=÷܃Ãá oß¾tïÞ€»îº‹¯¾úв²2zöìI¿~ý˜4iO<ñ<ðÓ§Oçƒ> mÛ¶ÜÿýôéÓ‡+¯¼’Ç{Œ^½zEœ5v&°ÅÔq#®Ðp]q¢§FûhAüt»ÊL×^5J~âÉ¿“ž–Àý9ØlvzôêÝ ÀMËm¤1ð}§ÓÉü§ç³ïÈ>\µ.Ün7Yí³(øà 3f ÕÕÕ´nÝZyVee%GŽ¡Y³fJìÌétb±Xp8õæ-66VY7û÷ï'==]I ())!//-Zžž®ü.//ªª*:uêTO6iÒ„²²2bbbˆ‰‰¡´´€ääd***8vìíÚµ#66Çþ}ûÈÊÊ¢I“&†‚ÁF DаÃ=wôâ>"ý©´7Šl¢õŒhVèëÞú]©_}ù9ÎΜc|ôS}ÏéEqY² ¯D­Û‹Ï'áõIX¬VòOgä9Mé×= ŸlæçŸ~.¢8z¢6׎½–”¬bãbqV;9œs˜®}ºr2ï$’O¢Uv+<9»r˜1qÃ/’A2ø "‹Õÿopl"Ô}ô`ND7Š^A¨€^U´¿ýZã!Z…/ Ú'Ò—àØ•¿mÁs+J:¥åbÐr;„ƒí¦ö¬Pc²xñbŠŠŠ˜5k–î|¨µ+Ô8jߡ֫ÚÖº§èžÑBÈУX0¢Yëí/+A¤Bߨµ"‚í¥µ¾Œb≮Óp,ÈÀ{FK¸DD¦µ©D‹ü 9³U&eu.”š:¿¯×ë%%=…};öáÇ=ÖŽÝn§ufkaSU ØOÏw©Ãˆà¬™¡¡Ç-áÿ;Ð:SëŸÖeåqY°"ûµ~ðXËÿmT‡ò[«~¢…xZšfðoF¥d–¶1¸ŸzëBmÕæ[Ï%Ô=µÖˆž\”2C &Hd¿ˆ¸ÃDŽƒã "ýÒƒšÑ[oFö´Ö_´,—?D¥(¼·‘{ù5¤‡f>ě)ÙdfôÕ£yúŧ)ª*Âf·Ñ¦u.t»öíââë.¦Kç. Òcú5µ~§Ex,Xôe«NO[öóõ¨˜Õ6‘–à×CW6Ê)о¬v…_£îÆT4¢߯yóæª÷±ô»pAõ*¾CÍs¤¯q…ûœÓÕ>5W]c´QòáŒôEìŒúø@ANîspŠx(l°Psª/¢ïi½´Ü†999 Ì‹Çã ÉFªZnÃàß©­?µ½«×µñPs÷EmÝ©#ZÏÔ›w­ùí¨:—PsŠiT« FÖ¡žu£Ö­6ª‹ÖZ:c4ÇF5¥P¦j(JIi æïÔºjÙµe…ù…¤´LQòŠ ŠÈl›‰×ãåÀîTWTóÆ{o°æÛ5 §†ÉdâСC¼þúë ºÿþ>Ÿgžy†±cÇ2cÆ öïßß`S~÷ÝwŒ;–Ûo¿íÛ·+õ,Ë–-c̘1¼ñÆõW`- ?ýôW^y%7ß|3S§N%??_¹wEEwÞy'7nT£>úè#î¹çÌf3^¯WyÖ¬Y³”÷ü‹fÕªU\vÙeØl6 ™?>7ÝtO<ñ„ÒÇÃC=ĸqãØ±c‡R+²eËn¾ùfæÎ[Oè.Z´ˆ1cÆðå—_*»H1êsðüùÿ¶X,¬^½š‘#G2~üxn¸áJ~ùòå¬ZµŠôôtvïÞͲeËØ³gmÛ¶å¾û²RËñSîŒ;–õëׄ, Õµ¿µÜ%z.6­Wðæ7™L¼öÚkŒ;–™3g*œA²,+ð?0@z±ŽàÏÍf3‡âÊ+¯d„ ÜrË-Œ5Š 4€Ç VBD4gµ±Ór©—Öy —FÊ--jˆ´[m}ˆX*¡Ö”踅²NEË´Ö°ZŸÔÞÓ»W´/aá¢G§)ô õ½µë×òý¶ïiÝ¡5­Û¶¦¬¸Œ»’‘žm{HLJ¤ª²Š{ŸO‡npšœ¼÷É{œÁív+(µ;wîdÍš5ìܹ«ÕJYY+W®dݺuõ·ÛÍ¡C‡:t(P‡bÜ®];žyæ’’’x衇xòÉ'ÉÊÊâàÙgŸ¥ººš¢¢"-Ză>H‹-"+?‚ñ3Ï<ÿþõ/öíÛG||ùä&NœHaa!Ÿþ¹‚àm6›9pàäÓO?¥°°°^[×­[ÇÚµkåJËJУpQ‘õÎ =Td=5 ¶DðZkLÄ;Ê£ rnj}OoÞDÏí3*\D}¸F¥aeU%qñqXmV±:të@ÓæM9²ÿÎj'yGò(+.£c·Ž4Ki†Åj!!!¯ä¥ªúw«ÕªhÂþkãÆÄÄÄpûí·“’’ÂàÁƒùË_þ¢ "ûò””Z·nM·nÝhÚ´)f³™U«V1nÜ8Z´hÁĉYµj•òýà>Z,²³³q8tïÞ§Ó©‡-[¶ð÷¿ÿfÍš)‚ àî»ïæ­·Þàã?¦wïÞôêÕ«Þ¤»\.JKKiÞ¼9n·›#FpÝu×Ѽys®¸â ŠŠŠøõ×_™8q"]»v¥S§Nüúë¯ ã`ÇŽ¹ûî»Ùºuk]ÒÄW_1yòdÒÒÒ¸òÊ+Y³f ­Zµbݺu|ðÁ|ýõ×Üwß}Šõ¤§ñÄÅÅѲeKbbbÈÉÉaܸqìß¿ŸÊÊJ¶oßξ}û(++cóæÍ=z”'N°sçN’’’xùå—ùé§ŸX´h¯¾úªr›ÍF~~¾¦©¦=‹ú³E>×ÓF¡Æþ·ß~ãᇦE‹ 6Œ‘#G²téRÚ´iÆ xÿý÷ùöÛodêE‹1qâDvïÞÍ?þñÞyç Žlíµ×^cëÖ­ü¿ÿ÷ÿVY–±Ùl4kÖŒ´´4…¢ÚÏ0zôèQÞzë-–,YÔAþ?þøãlÞ¼™Ù³g+°üÏ<ó _~ù%«V­âÙgŸ²ÚŒÄrŒ|OϺ‰Är=Ç"µ\´,K/+ˆår:¬“ˆ…K¨L##UæZôÒ‹.%ÎÇ‘G8úÛQöïÚOQA5Õ5ÜñÀtíÓ•’Âï?̾ûÈ=œË‘ýGvÁ0Úµm§^úq¿¯²²2•X‚ÏçSPˆýmèСééé 4ˆAƒ1pà@å·þÀrBB‚/IR¸ñäädyäÆÇ%—\¢€nß¾C‡)ÐñË—/W„ιçžK\\›7oæ—_~a̘1õ³‚ÇÝï.ƒ:Hü‡~˜Ù³g+þü@![SSCMMM=¢1?Ô}ee¥Ò¯ØØX*++©­­¥{÷îL›6… RZZªp€øç{ÿþýlܸ‘ÒÒÒs¿bÅ :wîŒÃá`РAôìÙ“éÓ§3gÎzôèÁwÜÁøñã1bW\q'OžäÆodÊ”)¼öÚkŠ‹.0¥µADÑB ju9F6¶ÿïêêjEQq»Ý´jÕŠ‚‚Ün7]ºtaÚ´i,X°€ŠŠ \.±±±Lœ8‘©S§òÜsÏ)$r¯¾ú*7Þx#“'OæÈ‘#|÷Ýw úíóù”±iÛ¶-“&M⪫®â®»îâÃ?TÖã<Àܹs2dË—/§ººš5kÖpçw2yòd>üðCŠ‹‹Ã ^«%Jèeö©aàéÍ­"Q¥#T "’"Êàõf4]+ã-œTg­sý´g‹iuTIÍÇø»G ñññTyªHÏL¯ƒyGfGŶþ°•cѦCR3Rñù|T•WQZTJzZú©›Õ÷Mû- ÿ&óóløZ,Çÿݽ{÷røða6lØÀèÑ£¹í¶ÛHJJRJEE…"¤ü±‰@8ø’’æÎ˵×^ËgŸ}ÆçŸNß¾}Yºt)™™™Ì›7›Í¦4™Íf¹âŠ+˜8q"#GޤeË–ŠÅ¨Á'$$(q³ÙL~~>³gÏfÚ´itìØQþËãñ(ÿï?ì|>ŸbÕ%&&RYYIbb"ÕÕÕ$&&âv»IIIQî×@P¯ZµŠŸþ™iÓ¦‘œœÜ…wíÚµJðÚŸáPPP P5—””(c*Ë2™™™ÊzðÏ¿ü1ZP'Z ›Á›Hkmq‘^ñññŠp÷ÇUŽ=Jzz:555 ÆÕ¯èø¡õ-‹Ò÷¢¢">ÿüsÞ}÷]²³³X²Á׉'X´h‹…˜˜…}Òl6+cë'3›ÍäååñÆoPVVƈ#r=‘Ôe= µØ‚‘¹Óº‡Þ:ÐÊÀÓûž’³Ú˜ˆ`*Š@î«% ©‹‹Rè Þp²â¢n¹„²:´$»h`Éß±_¶üÂÜdwÌ®;¬MPVTFL| «—¯ÆYíÄUëÂUëÂd2Ñ$¹ Í[5ç“/?A–d%ÛL–eNœ8,Ë;vŒüü|ú÷ïOmm-/¾ø"ùùù|óÍ7,[¶LAßõ ‹²²2<È–-[VÆ#FðÆoŸŸÏ /¼À¥—^ Ô±R.^¼X‰¿ÔÖÖ*®‡ÿùŸÿ!//>ø€ÊÊJ-ZÄ‚ ˜?>^x!«V­ÂçóQPPÀùçŸÏË/¿ÌÔ©Sáâ·ØØXÒÓÓùé§Ÿ0›ÍlÛ¶«¯¾šë¯¿žììlÅuÔ­[7žþyvìØÁÞ½{éÑ£=zô`ÇŽìÙ³‡gŸ}V¡^¾øâ‹yöÙg9~ü8ü±B¯HvUVVVO¸ø|>&OžÌ’%K8çœsêÕAã¦Ýn§]»vŠP ¼Ÿ_ x½^åóêêêzýõ“…PZZJ×®]55ÑPÚœV9Xã •Æ*èªØÏÈÈ mÛ¶Ì™3‡üü|V­ZÅŠ+¸á†(,,Tú¿¢UUU)W’$e¬.½ôRÌ3Ï<ðaÃêY¤þËëõ*î–-[p:<ýôÓŒ1B!h«ªªbáÂ…œ8q‚÷ߟ /¼»ÝÎСC3f , K—.õPšEújÈÅZÉZçH¨g†ªñõY¨ÿ×JìPûžZŸÖ˜hµQí½Pjjÿª)ôzëWd\´£k×®¼òÊ+\uÕU\rÉ%˜ÍfzôèÁ¢E‹xçwèС}úôQզáËÕ£ŒÖK²Ð:GôR‘Õ‚ÞZ‰¡¾/Js¬ÕF­D£®+”½~èÍ[(ñÁûi×¾='‹+Ø›[MFË4jjݧ"¯¯.ö,:«ªª*èÜ2†V©IȘÈÍ=®O"#½ýyÓÏüßÂÿ#&>†˜ØR2Rؽe7{täðþÃdde`1[(.,¦´¸”áÎí7ßNR“$]7†ž©¯f¾†"_’e™­[·rÞyç)¿ NÅ›­¶ Bq‘CÛø|>~ùåzöìÙ a!Ø=œŽ ‘ª_¿äRQó÷†²B}?¸/~v¿ÛËh÷wÓ¦MtéÒ…ÄÄĨà|iùÈEH®Dïjnýý Wµï„bÝT³Ç3øºì²ËÔ…:äÂ)œ‹&œ‘B?£Lá¶CBE:JëÜ…m §ï‘Ìk(²°sûô¢¸üY˜ÇWG&Éx}>,ùa…©±4Š,QHñ~ç÷#!>ôvéX-VŽì?‚ÍnZ¶nÉáœÃtêщ¶ÚRµµŠ?]ø'’š$5`Ù v#ø0¯×«l0‹ÅÒ@óöù|ÊàÿÜ_×âÆû7²_°øè 2þÃ"˜M1°!еä/ ¤ö×’ôïß¿^;cLþïûk{¬Vk=FA¿µaµZ•Æ?‹E‰AI’¤ôÑëõÖÕšgÿýü1!ÿ÷ýÄvmµZm³Ù‚ùÇëüóÏWõõE‘V â‹Ä\D´ÈÀ6®1ÿö=p\ýk*ø;þ¿ýë:xÑÃC}ß?¶çœs555Êúð¯ËÀuâŸ{£‚B/°l„‰R Jë 2BV§×.½˜„Úú=ìõÐ!ôÚ¡f¹„K`ØHel6+‰ñ±¸=^dÜ^V›Ÿï”p±Ú( ¡èXv6šWà€]}ùÕ,ùp ‹…‹^ÌÞƒ{q{ÜØvš&5¥,¿Œ}»öÑ»koztëràív{Èvú7¢šéèÁïû-¿s …ø ÿa<~dXÁ 4p³‡Â8 lgð}ýXðÁˆ,8Á›$ð F§Ö[Á·_ÈùÛãÿ<ð€ ߃‹[3“%Z„Iíìgp¢‚Lÿ µ>ƒ? Uˆ8ÞÁʈ$I<þøãª}õ¯ËÆÎú#\g‚è+Kí<>V›ßŽ I¿PëªSÞ%YF’d$ù÷{äž,Åܧkýµí1:™þï_wõu 0€´´4½´ˆï6‡,Ëœ×ýÝ ºˆë0ÜyòÉ&â¬>.n[Kv[+’lÆäOÏ5ýž¨kµÚ8~¼‚¦v>Ù„ÿ¶aWŠÖelL;÷˜|ÇdÚ~Ù–êêj®¹ò¬V+YYYš‡¬ ª5«*²àJêàpÜ>¢i‹jm1Švêwá{ªZðZè´FCÕ\z‚ÚÛŸèºPs ‹°[ж-в1 '"âÞE%9G´\dzî3­5/Ú—›^ÛEçÜR´V:·*²(¥‡(rÝšÆ[iÙ"Ÿ$JÙlvjʘ¬ ±ŠJÃhJpµIîì#®:"AÕ,ŒÒ‘jM~ci4‘Žé.4MeÄ:Š¡R8,—FŠÑ=I%t¤³VŒZº¢Q4>%zoòµÆ[µ„Ÿh‘¶-Üû¥Q×j‹?;,¸öMù­E§|&+Æ­óO’ÓYE¬Ã†|ªQ22’OF’%äScd _ÃŽêêjZ¤¤cw8L´ÏçCFÆb¶ñªD*` r_” ìtºPD$½*äpYø¢å6 §ªütAî‡ëû> ¹ݽñG€Ü¤m¹/d¹üþ+‘'6xG8[L-K$ðïòòR\ÕŸm&ªµø$ðú|x<>Ü7>»ŸG¢ÖãÁ]뢲²‚Øø$.1«­~,%0x-bŠjÛzýÐrí…›­¤&hÍ"ªZA+‹F‹$Mäo=]5"4=¤\µù wãkQ1‡ƒS›mØh*´¨µ®ÅæØ–‹‘~è¹Âôo¤,­j‡ªÑ1q7ë¢sÍl1µ=­|CÂÅÈ•ÔÄÁ×w2îÖ{INNªƒ‘¡ÖåBòùðz}ø$/’,#Kui‘ÈpÇmãè}Îù´ÊlÍ™¸NgVÒé|¶‘ÅØXÏlìßüQ×I¸•ÏÈИãòŸž}v&çâ”ù&Úo«h§„@æLv=F»ì6´m—Å¡CG¨ªªÆápPZZŠÙlB’M˜ ³ÉDyE9Î' ,à *µF2Áô0v´üªzÕ®‘¦¨já‰â©ýNSHë==Žz­÷E°¨´æ ”%©÷|)—f(«MT„³&´êkDî§•­(ŠÍu:*ÞÑ6‹XCFÚad¼ÔÖ…è^Õs'†SümdÝ”Ñζ=(µé$0™©ª»çŸë IDAT®Âb¶SRRFee%tèÐcÇŽa1[p{Ü$%%a6›)//G’L¡ºç8p@á1›Í$''ãp8HMME’$¶mÛFrr2M›6%99¹^Aåo¿ý†,ËtèÐAiëÉ“'9vì$''++û÷ïÇét’žžNZZšfüAÔg$ã,Ü{ëmFQ—ƒVº­¨O_4[L¯jßqo¨õU OÄU'ª½‰nPDqÑŠlÑØŠQ.y£kÎ/½–ÛNÓhz²H!°È>R›C­ý%b5Æz™“¢®Q=%'ËEo­[†eL Šõ¤–òž$áñúp»=ôë׎:‘••ÅâÅ‹¹îºëؼy3²,Ó¼Es~úé'F_7š)S§áõzˆ·ÔÖ_|ÁÞ½{‰Åjµòî»ïâõzÉËËÃívóþûï³lÙ2222øþûïá2wî\¶mÛ†Ïçã¼óÎS˜÷ìÙÃ믿Β%KX±b#GŽ`áÂ…äææât:Ùºu+—]v?ü°®¯_ħ©¦!‡úј„Þ÷´ÒE¬(‘˜‹–/\$ža$–£'¸ôüøZ–¶^¦è¡¨6ïzA,ò¯^¬BM‹9 ´8J´¬O­C[oE,`áΞÒѽ¦5¡ÜÕzmP‹õ‰©©ípb.z–Sá"#ŸÏú ¸yüx:wî¬ð™L&âããR¨9sæÔ«¨öù|X-VNœ8ÁWkÖPPP@ïÞ½éܹ3«W¯¦wïÞ|òÉ'ôïߟüù¸\.¼ž: ¾‚‚B¥£>ŸOát‡:‚«Å‹óâ‹/uHÆóæÍ£¸¸X±·Z­lذçž{Žß~û ŸÏG·nÝ>|8 `È! 2„·ÞzKÍ—e™+®¸‚N:u‘cÇŽåÁlP-mwA¸µ"ïéÕùD3õ2š™I§3Fé¸Momì¾¥ ˆ´FÜZ§«ïg"Na”+ætÄiŒfø6ÖÒ-æªuñ§Aƒ¸öÚk)--å•W^Áåráp8xýõ×Y¾|9S¦Li°˜%êÒ‡½^7Þp¹î:†ÎñãÇIMMUÐu›7oNQq’O¢Yóxjœ¸¤ß-?þ’Åbáý÷ßçÆo䥗^âšk®©öXYYY/÷zïÞ½x½^… Äëõ²wï^ €Ï磦¦¦¾—$I sã·ß~ËŠ+˜5k–"XD0ÒD&XÍ(Âí˜K(xqµÃI/æ¢å‹Mn”jUË÷mä0Ss;„sÑóÁëõSÔzYO"Ï32î‘Ä›´(ŽEÛ&Ë §/"kVË•e4f{¦c.FΫp3Æô®|.~pÄ'Ÿ|’ääd&Mš„Ãáàí·ßæý÷ßç£>¢I“& :àõ¸©¬(§yóæÈÈüõ¯eÿþý¬_¿žÌÌL…YoÛöm <„¢â"JŠ‹LVÒ, _ýµÂ?1a„züõ¡Üv~ ÆÀ~øûb6›À—ÞÇ<èçÄe¦Šp|hñ‚è¹ÂÔ8ôøôx‚ß >ôÕxQBý­Çc¡‡ Åy¡gú«ýVoÜ´Ò­ÕÚ&r/­¹Ñ[Z®Rµß„­q÷Hûî÷DÖ˜V}ðš ·ZtÞ"¿¹§–YtlÔÜ”‘Ì“?’ž‚!B+: oúý°~òÉ'yì±Ç¸à‚ hÛ¶-Ÿ~ú)6›­«îñbµY9|øwÝu&³ÉW‡¾»páÂ:¤W«…C‡áóúøøãðxÜHrÎd2±qãFn¿ýv^}õU&L˜ X4û¸¸8ÅÅÐ¥K…üK’$ݺuSîéÿn‹-”A:xð ݺu£[·n¤¤¤0vìX^zé¥z@Ž‘Þà æëùíµÌmQ-KªÅˆE£ib$î ¥}ê1Qª½§¦9e¢ÔòçëYŸZ±Ö:0šeD›7ƒa¢ÔŠˆì½µ£Õw5T­XˆHŒ-”r"bŠÖ†èµAmßè¹tE(D/QAháô¬9sæÐ¬Y3Æ×@°Ô{ˆì£ö»`Ll Ng 6« ™ØØX$YÆåª­ã³÷JXm6Ü.n—«#¦Þ3§M›Fqq1»wïfÚ´ix<š7oΣ>ŠÛífîܹ¬_¿žªª*¦NÊœ9sÔ¼z‰,FÇ¢±âLBu.’$1iÒ$åÿKàUUUMR“¦ÄÆÇãñø0›Ìx% ³ ¬6;åød ‡#à©ÙC“&MpºÜõîµbÅ ÊËË)//W Øý–‡Õjåꫯf„ X, &ÍÇœœœdY¦sçÎõ¬š»îº‹Ç{Œââbå^³gÏ&''‡ššZ¶lIË–-Ã>0;J€-·±ài´4;‘/Øqz¸UFÇïtÃõœŽy>Ý—Ql1-a­1n,j£{VDpýÑ× ü‹?&ÌóÜ0Éd##3ƒ%¯þ»ÃNeE95e•xd¨©,Çd¶àsÕR!Ç`±8‰kQ@ñáfx$¿þº·Þ`¦¤¤’’rÐÍf³B*жmÛz“àÏþ l[ZZš‚ºœ™™©¸ý,K=¾öÓÅ'rºö™<0þÚúGâû8{5þœýÑQ þ“.«è„Âx‡òÕI’D«VYÄ ‹géÛ‹ùjå7´k—MbBΉq1ø¼n·TMÁɬގÏÀ޽ûèÕF×+¢á„rÿ¨z¡,0Ñ©ÆÒ4`[E˜§—‘®ÀÐr„{ßhX"\ÿi‚ø?QxFJs|&Ò…Ãi¯ˆ»/mmÌ5hˆ,,Tç‚?±ÇѳÇyüôãV<^’ÉLL\^d¬;È2IùùT—Ù8pp7v‹•»ï¾[qy© =QS:Ôû¢(F‚îáôõ Ñ ¼¨[J/ˆªµôÆ)ð3½@ ÑÀ¸H­tlµ÷Œ¸œŒÌa¸y­4p½Ô[½rÑgªÇŠ(Dzc¥Wýo$ÉA4½\/ /2‡¢éÞjç¦<•Z_ÂIE·´BíÌŒp¥HÐÔçó!É2óçÏãÍ7³nÝ÷TT”#ù¼x¼u°û˜ c‡´nÓŠ§ž„øxÍûû«åƒ©Yý‰zæ¸h‘•^„(*ªÈ¡ ·yôÜR"÷ÖsO‰j2¡«H¡Öü‹Ô„r—éqŠºôÜ·Z©½FÝ’zó®w@ëBj^j{ðß"˜j"•÷".Q5KMïW{†Úœi jʆ^N8î;­½¡uÿ^¯ ¡ö©QEJÏ+šF/’ôY˜ˆ–+ÚÐàBLÿ¿.—‹w?|—ªª*núëM ¤‹Úm,²°Hƒjñ HÈz"™/Ñ`£Ñ¿µÖƒQ:^£4Ö"(ËzŽQ²0=+U$^É–hÌÎ(YX¤ ®"s¨§=‹Ò‹ÞK ÞÈ‚°‘u§W¬iÔû vŸhž²0‘FhÃñëÜÖ®[‹Ûãæ’‹.áïÏüw`6›É-Èå¶oc뎭 0ˆô´ôz•úášË‘fg…SbôY‘Ò]¬Zî¨hº1´\B‘Ž"°ˆ4\Å$ÜþGË5¤7–FcŠÑr³ˆTè1Dâò7ÚÞH9Q¢AÓ~:2\Ež!ìÓs1…ú¾H%»?¦²è¥E|÷Ëw˜Ì&Ö¿žâêbRÓS±ÙläìÍá‘§ÁéqòٚϘÿÈ|ÒRÓ„‚‡¢UÉZF«¸EègE*öE…V€«^Ut8ýÖ;tE+ôõ¨Eç^ ¥ êf5ë×u­È†Us EUÛºµ–0 ·-F*ôÄ÷Œ Nh¹Eö¢Èž%E3&ÃId0g¼B_ÍO®†~ýú)ÄaN§“%K–ðóÏ?“™™É¬Y³HLL 96`Ó¦M\ýõø|>E€ù3àÌf3¥¥¥<óÌ3}úp÷ÝwSQQÁÔ©S±Ùl$''3sæL233yõÕW)))aöìÙx<l6/¼ðN§“3f(è FÜfF4@#›–+IÄ=g4þŽïº1â]Fîe4¦$b•ê êÓéÕŒ²‰Å §F²ÂŒ~.ÿÑ‹ßÍÊ<óê¿Ì¢-ð näh[»~-k7­%³C&­Ú´¢¤°„ßöüFj«TöíØGbR"Î*'ûwí'6.–ö]ÛS)U²tùR •CµI“&ÌŸ?Ÿ|G}”[o½•˜˜ fðàÁ<ú裬^½»ÝÎ?üÀêÕ«™?>7ndÍš5´lÙ’W^y… 6(ã°k×.¼^/?ü0\p³fÍR¬ ÿäøáþóòòøá‡p»Ýõ†ŸÚyÒ¤I\pÁÌ›7–-[ràÀrss‰åÍ7ßäÏþ3÷Ýwßÿ=Ÿ}öGÅf³QPPÀŠ+ ƒ`È­1W{/Ðb õÿjó§öy(˜x‘µ¼™Ô^¡’"ëN«¸UôªßÁ–‹èeɪý&ÔØ‡j»Þ؈´ÑHßÃý^°—@kmªÍ•‘u"2Á‡·èŠî¹PëOtŸé»Ñ9Ö³¢dYF’¥Ðý’„,KÆ…‹?HàCp O`YEñ‰ñØì6bãc騽#M’›pôÀQ*Ê+È;’GiQ)»w¤Ez l6‰Mñøâããiß¾=qqqʳW®\ÉØ±cÉÈÈàÎ;ïdåÊ•Øl6Z¶l©d¨¹ÝnÎ?ÿ|&OžLvv6çwµµµ ÆÈÏÓ´iSå·±±± 2â–.]ÊW\Áˆ#ÈÈÈàú믧GTWW“••À•W^‰Ëå 99™1cưdÉ Ž1óòË/W0Ò‚ý¸áp¼ˆò¶„òG“ÏE”7Æ·F´ù\Œ~_”ÏEï7Z±@µû‹Î}´_‘ŒiðoõÀHÛ¡·¦Ï4Ÿ‹bs4ç«ÁùO]™ˆÕjÅfµaµZëþ¶Y±ÙlÊËjµ¡pµ‰¹DðÑ».v ë\ϑߎàu{‘|’$Q]UÍ]ÞÅk~ä×Í¿"K2^¯—¸„8\µ.þrù_hß®½âv  Gy„k®¹†:Ô‹Ox½Þzm+--%))I¥¥¥õÚh•øÝYcÆŒa÷îÝ<÷ÜsuÒ9àÙùË_$‰òòrŠ‹‹Ù»w/ùùù,\¸óÎ;O¹Gnn.={öTžåŽv»ãÇSQQÁ'Ÿ|Bll,µµµ 6Œ^x]»v‘““Ãßþö7~ùåþ®H±ÅþS¯³Øb‘Û¿cßþhØbzmd™½99—–âõúêËS6›MqÉ¥—žšYL¸D˧§–ÑObb"•îJZe·Rªô«7U³óçäÍ#«}iiø|>*Ë+)+*#³Uæï¢5`¡Í;—Ë.»Œ¾}û6ø§.'%%QQQgý”——+‚&T ÿ·ï½÷Gå`È!ø|>l6²,óᇰeË>üðCüñzýöß#==ÜÜ\å~áçp8ؼy3=ö‡ƒ'Ÿ|ÇCjj*ƒ büøñÜzë­´iÓF±l¢á75’-&’ÅîwÃýˆÆrD¹oŒî‰Hâ7"µ3ZûÈh6O¤)Û"±4£¨èÚ1„óES· áÄ #†¢:–¦ºXsï>çpÉ¥#ðz½˜NyŠ<^^Y–°Ûí¬ýö[jjj1™Íu_(¢ µ |©]¿lþ…ýÇ÷Ó³wOjœ5˜Ì&ʋˉ‰‹á‹÷¿ -# GŒ·ÛÕj%©Y‡…¾øˆ‹†^¤@ÃÌœ9“nݺѯ_?òóó1›Í$$$‡Ëå"??ŸââbåÙÇçÍ7ߤsçμøâ‹\vÙeŠÅRVVFqq1ÕÕÕÄÇdz}ûvŽ9ÂÀÙºu«bUöÑŸ•VUUEyy95558ŽzÎ7ÞÈwÞIzz:½zõâ›o¾¡K—.ÔÖÖ2bĈzB  ªªŠââb®»î:222èÛ·/¥¥¥8O³iR"ø]"Þz }zL”Zd]FžNV‹V1Ÿ(ó¢Z¿Õ”&‘Í+ B*B8g”^$©AOÐë1QŠ¢© ­u&:®zÚ¾’€V‚h¦šbcÄ: …*©â/T€ŽIñàxÜn%Làñ¸ñù|È’„«¶IòÕéù÷0•†¡ÒWÕ‚s"W«ŒVØL6*Ê+¨,¯äØÁc”—‘Ú2•.½ºÐ2«%1q1;xŒâ“Ÿj\Ÿ,&;3[qWù]\‡bãÆL˜0Ù³gsûí·³nÝ:¾þúkæÎK‹-¸þúë©­­eèС :”É“'Ó§O.¿ürrss?~<;vä†nàøñãtîÜ™½{÷2mÚ4~ùåžzê)8åô÷՟–¦ðÍØíözc!IÍš5ãÙgŸå«¯¾âž{îáàÁƒ´k׎ääd:v쨸Âü}8p ‰‰‰Êß111Øl6† ¢¸æôæ*Ò¢E­ûÁqS ~ù~ðçjI¢î9½çª­k­Ïô”4=è­û}žVð\+Aíyzs&ºŒžzý5²–BUï‹´ÓhÔæC«Ad^µ‚öZ Fæ(øsgM ‹›Í†ÙlÆn·ã¬©Áf³a"Ä|]{Õ(ù‰'ÿNú)"­ûs°ÙìôèÕ»AˆHqœh…~àõÃÆ˜÷ì<q1Ò2ÓØ½e7»wäðþôjÓ “ÉDqa1e¥e »po™HrÓd!ÿkpKàAªÎE¤ò_KâûÛâ÷kCzè¡j[‚57µg4¦å"Š»%¢‰à'…º‡Z»Õ,hX.¢¨ÈF¨D÷”V{ñ\Œà`qo©=WoŽôÆZ¯¶CË‚±\´,ø‘6ªY"nÙp`}"µ\|>_}ù9Æ_ʾ={È;q‚—]ÎúõëyöÙgyýµ×°ÛmL¼ãN.¾h£¯»ŽÕ«W“’’Bž=‘e™ŸÚØ8}£>ã þÕxZ¶o‰Õjåèþ£JæUËÖ-9¼ÿ0{t¤]çvìܺ“¡‡’Ü4¹Þ!-Ë2§Ásü™>ŸO1ïEúúß7›ÍŠ’$II+ö×?èþ´_«ÕªºP%©.)Á? î·ßEæO00›ÍŠ€ü?ȸˆ|>_Ègü;ˆ£ŸøoJˆÖ<œŽ€8ó{:žóïº_Îd À¦M›¸øâ‹Ádâ /`Ä¥—RYY‰%„²l=“ƒ8ðWޏ’·—¿Õjehÿ¡ì?º·Ç=ÆN“Ä&”敲¯d=:õ {·î!¥ºÝnWÕÌf3f³¹ÁdìVÍfk  ˆä~a!âÇ P®µàEh¹Þ/0Y!š`›Ñä›vàQƼ±6Ý)3)Zm º¿±ç7Òâìÿ´y2Ò߯|¦«¶–éÓ§ãózÉÍËeÞOPZR‚Ýn'„WL\¸ˆ’Úˆ`愌1à Ù*“…‹²~ëz$$úvêˬ{g‘›—Kf«L1$YÂl2‡ÝѾhõ]ÀSÔ•&‚c¥ö¾HÐUÔdÁ^ÒÃ6 ç^Z8Wj.‘¬(QN r8= 8‘ ¾Q­ÖéÈ#’™Nv“žëÆê€èú—è+\ŒÞšRKxÝËFÏhXV2¿g¹b2QUYÉÔ©Sq»]”JZªËĵ #×qvɩȢ$B"ï‹‘dYþ=½˜6yí?kOUu×]s6›öíÛÿn˜ÌBÏÑj§h€º14˜Óý<µÏôHÀ¢9VÑ ð ‡X$€)ªÅÕöõÚÉ^ ~G2î‘XA‘ô‰¶9JêpøO"]wáÓ£µþŒÜ3ðÞf“™ò²2ÅËc¢.ÙÈãq×+§\ü¥¥%4MnZ/[ÌôdYVªÏ]®ZL&3§ç’•¢L K2£þg”ÒW­Où,¤ vö:{½Î^g¯ˆÏa¯×‡ÇãAòI¤¦¥ñë¯;ÙôóOtêܯÇSWçâqávן8Ëå¢MV¶‚ÙØ@¸H’Drr3~ݱ¢Â‚3ëÔÁ'ùeºïÙi?{½Î^g¯Æ¾¼^/Í[¤àñÖäýó0¶nÙBξ½ iY&!!‘a]Ll\^¯'´åâõxhÚ¬]r)òÙ1>{½Î^g¯ÿº«®pÒ‹ûTѤÃá`ÈÐ?c±„öbI’„ËåÂçóÖs©Õ.&“ ÉçÃY]ÍYSáìuöú7shÈgUBQÂïV×K|øo^G~¸,­ÓY­™EêÏ•Õb.Jö@@βVñS$ð/"ÜÔF ŠDh‡ëõ§î‡aSÕêj‚îF ŸD*ŠQª“hQ£^ ¼ˆøÑ1‰´ˆRk]j}W´XÕü‹f‘!&Læºi鬀ÑÑÊOÍ $)Tf– “Ìœ‚Xùo/½Àd6#IRƒý`ý¯¹3°O7Rmch`ÿ Å‹ÿ.íIÿ5›Íž,`çŽÔÖºê!Óž½^f³™N;Óöªz°^UYÉö­[)¯¨8;–:¢Å´Ê̤û)”÷°„ËY“ûßçP;X:—Ûåâ«Õ«8xà;u€lbq¯¢‰léñ·‚µWã±ôg”÷Z$·=T^ºŒ´à~÷UË"b†EÃyOm Ôxåp‹Þ‘Ö ˆ-&JÑõ#ÒÑßi­o­>÷Àl±PXP@jJ™­[ãõx0©áÖÉ2&«5$Z­È^ïE¬µY³ætîÒ•£‡Ó*³õïÂÅdÂ鬯ëñÒ³Woí±<{,cw80p_¯þ’Î]ºˆY.jBÅ ›ÖÆ uéUB«ÑÔêÁ†ß[í`Ò;8µ6¹ÖRË•ÕG ?µ*dµþŠÌƒp¥Ú!¨‹0Ȩ77ªëK®«(V›{÷G®¬·Ÿø$ “YUW–$,§°óJ÷åPõÛAÜÕÕØââHìОäÎÀjEòzëÅ\ÿ“]cÞ‹¥ÎÉãYý>Îæ3$lÕ€m}’ôÇ©ò €ÖòIRç¡®åÎ{"žÚJ“V;”ŒTGR-¬uP©&âQsåjY¡>½q2ÒO­Ã͈–.`m›Öw”q0ú[dNñ˜ÔÆÞ¨å"ÒÎzs¢¢E*:KˆñµX­”ýví÷ßíXÖŠ",V3>¯Ä±¤¤Öè5ïI’ÚµÅ'Ig$yš•n•ΜûÓl6)m{ûË­lÍÉ#ÖnÅíõa³Z¸mÔù´Íh†×çûC•‘«UKÃ2tXF,Õ‘nu³s0ÕÓXþÓÓF`‰@{%ÁÒû¾Ñl*­ï!ÒrÛ© ,sÑñ §õÆ3`ýD œN[D¸EŒì¹z–‘χÙfcÿ[oshÎ}th׌f-Àž’€Ur#Ù¸M2%Å{Ø8ä:ýcmG_‡ÏãÁt 0Um®ý€ª§ED Šx¤É+þ± |F•nCcÙX—$ËXÍf¥Q9G ùbã>®ûsN–»°XmlÛ—ÇêŸr¸ãê %³åo]š£e¹%h —)¤V‡,L¶-!¨µ"] F¬¡H±†Œ¶W$ý6šV¢¨å¢5zcœpÚóU¯½:cª½FÀ•—$a±Ù8ñýœ1™s{¶¤ieÝ‹Tx_Y!Rá1L‡¥¹û$ç÷ÉàÀŒIäÿô3› Éç«w??²¸_¥Ve'sIDAT°9r„åË—c³ÙêX e›ÍƲeËÈËË«‡6¦†7Þx›Í¦PTDúÒ´\ÔÆ²_V‹…²jÞø|35.©Mãqº|8QAN^©Í¬Wÿ|øçÄOAR/&@IÒX/µÁ4ëiH¡´*5ZÛ`KC-æ¢f „ºo¨ç…òýkq¾k±þ^+$‚ZüìPc-+Q9ôf‘…©Ç@„–XÄýªmzýT[Wz.@­8J¨9^[Áí ^¯z4Tì%TßB­5œ$Ô>ÑB\Ös{†j±ÙjÅU]ͮٳèÜ%ß¡,±1Xd7öx;6Ù…µi2’Û…)ï Ú§ðë½wãñxêÍÅb¡´´”²²2åÀ:tèï¾û.@=þ£%K–››ïFMM /¼ðBƒg4–3çteÒfì;|’Ï~ÁªŸöÐ4ÁQGûáp€ÉJyµ‡Òòªß× u)ÓGŽaÛ¶m”••)|OÔÔÔ(iÕGŽQþ¿±\|²ËEëPͦÕ꣥Á‡kiDbˆjÓª1giiá"1Ñ6‡ƒL,BM+J +*À´ž':VF¾[¿âíŽ$†¤×ÖÐcj ©m›€¼¯¿Á–³ƒxOÞüJâç¿AÜÛ?@“fHe%б1Ÿþ†ýúÉxNTÐÄìÁQpŒ«Vc¶ZëÜj§„ÉUW]ÅUW]¥<Ëf³‘’’@ll¬â¶jÚ´)ÉÉÉu~÷$‹Å¢¼ü ªþW Ckàû-Z´ ..®©^à÷üÄï3¸j)j™ÆÒöýD€«7î㉥ßsÍÅ})«¬áƒ¯·óæÊ­l?ÏŠu»Ùº÷(½³âé‘Ý×wjÜ­<÷ÜsL:•yóæqË-·ðÃ?`±X¸ÿþûYµjf³™E‹1iÒ$*++(YQ{iˆ—³yvg¯³—Ø1ÿÇn^K_ªvî ±yS<¥å˜âÀùòß±tì‰ýÙ/ðv„íµï‘ªÊq}ñ$Xp—ä0SòýúºL4¯³ÙÌš5kèׯçœsk×®UÇÎ;¹÷Þ{1bê°¨ž{î9.¹äxà¬V+n·›Ûo¿Ù³g3zôhìv;‹/fذaÜqÇxœ 6””ÄÉ“'yüñÇéׯ/¿ü2V«›ÍÆÇÌðáÃ;v,¥¥¥Øív¦L™Â¼yóèß¿?sæÌQ*ǸÅ䀣}K²ŒÕZ'ø^ûä'Þý6‡áƒúÇuÃÏåH¡“–-’¸ëª~\=°sÇàÖ+zë°*m^»ö;Ö®]ˇ~È{ï½Çý÷ßÏ‚ HHH %%…_|‘õë׳bÅ ÒÓÓK´1\bjcáiœ!Ü #ñpcB¢h$”Qí5\7œ¹Œ6D¤ü/§ã·¢ýŽF_"‰C5ôçÌý©Ã±lÃzb$/^—Éê výzJÿÒSzb¯Ç{p•c.Äsô’ÉŽ§ÊIŒI¦tsÿßwJ[~÷Ýw¹ï¾û˜={6Ë–-ê˜_÷îÝËÌ™3™>}:³fͪûÏGQQŸ~ú)ÕÕÕ<óÌ3ÄÆÆ²lÙ2.¿ürÞÿ}V¬XÁŽ;øæ›o¸øâ‹™;w.Ó§OgÀ€¼òÊ+”••aµZ9~ü8C† áóÏ¿àƒ>àÀlÚ´‰•+WòÕW_1~üxzè!–/_Njj*ß~û-ÇgéÒ¥Øl¶.P±s)ؽéËj1SVYÃK¾có¡J†ôïM~©‹ý¹å$$6¡K» Ú¶N%µymZ6¥[Û4ö9IË£G~¹jcÆŒÁb±PSSCÿþý‰åĉ$''3eÊ Y¶l’$áv»ë3Úýõ³)j©È‘’‰ùÕ…HÜnÑ:X¢}5–;P+9"Å ãa„‚5ýh ƒpæKtìE rôM€,K§âžºƒD–1Ûl˜ââðye|¾º@°ìoi9ÈuBCvÕâ)­Äë’ñ™$|’ ¯ìÅd³!v»•ß~;ÀÇLii)n·›M›6ñè£ât:5jYYYdee±pá|>n·›¸‡ÃÁ”)÷2cÆ ¦L™Bß¾ç2tèP6nÜȺuë¸é¦›(,,¤ºº€Ý»wñÚk¯Q[[Kvv6'NäÑ»wo@—.)++eçά[·ŽqãÆQ^^®XML˜0€¡C‡pèÐa<·â&³Z-õªòCŒfÝo¼n,²%ªgELŒƒëwóÕ–cL¸îbv.¦I¬Ù#säd+Ä;LÄÙM$8̤&'cÃ+IÄ;Neç¹]H’¯žôz½¸ÝuÐ?yyyJÿ$IÂçó)ßöe6Kõ`ö5…‹lÈÑðdðýô*¹µŠµŠ×ôž©Õv=úZµï¨ZA|#Á|½¶h͉^cÈñXZÉZTÎjß ¨ë{¥Ð '­ÙÈjgЦ"7èKuãæ=åÆªÛÜ2‰ÿDåëH°ZðV9‰éÙæŸýŒ”ŸKéŒ[i¾øS’Þ[Oáõ—â-(À—D¥ ’.¸àˆ‰åµ×^ãá‡æòË/`ÅŠ,^ü:W_} ûöí;e­x©­ua±˜±XÌlÚ´‰^½z³cÇš5kÖ@m‰çÏÊßþö7Š‹‹)--dâããÉÍ=N«V™:tøøx$IR~çóùðù|8 À“OΣ¢¢’¼¼J<¢ººŠøø\.—¢íû3Íüû|>uóE¦Áo¢uUVyù밮ȲÄ_oäOýzq¬¨·ÇM»ôc,$8LÄ;Ì$Ƙ‰±q¢¸’m9'˜1æÌ{ï¾Ëµ×^KLL,Û¶mÅétÒ¦MŠŠŠxãŬ_¿ž›nº‰Å‹_Çb1ãr¹Eé®.^1áê áëÖ‚°¡ÖÕJ".>4a\K­ÌVC^^ õ}ÑÚÖH‰šÀÖ;,EŠ(E+ýEÐDæ T;Œ +¨­g‘u,º¾ŒÌ¡–¥%2ÿz÷þ½’ßDB÷®ä––Ý×±JÒþöRY ùWÿïá\<%ƒHûè;bGO zÎã8º$Rr"Ÿnƒÿ„YòñÛÁƒìÙ³—iÓ¦‘’’ Àõ×_ÏŒ3éÙ³[·naúôéìØ±ƒË.˜p:kx饗øå—ÍìÙ³›üãR~Šs½´´„›oÏ#ÌåþûÀívѽ{úõëÇ„ ·2~üͤ§§1xð`ÆŒCQQ‘ÒÇòò ¸öÚkùñÇ™=û~ÒÓÓ8p 'O*cTSSCeee½±ºº’À¬½P²E&ŒÁËã•YoÒ“ãxýËÍôéÕ•ž]3øiënvU8±Y̘L`1ƒÝbÆë«HÙéM)-+åÊQW²}ÛvÆGӦɜ8‘Çwܘ(..¢¸¸„ÿû¿ÿÇœ9qÍ5×òüóÿ¤Y³fQ©;R[s!÷ȵW’Ÿxò蠟¥áv» i¹ÿû¢ð/zQ¤…™ZV„Z_EÇ\þEr_þEëp×Lцܧ(Sm=ë)NzëOÔ­Öû²,c·ÛÉÙ»—*g5ƒþ4˜ÊÊÊßýë &³™Ÿo¸‘øµ_ÑÌÄÅaƇTZ‚9>¹ªKË–x««±z|IVª‡\Bß7c’$ÊËËÙ¸ñ'²³Ûàõz•,§#GŽÐ§O|>'OžÄëõÒ·ïyX,fŽ;†Ùlfß¾:thOvv6N§“¼¼<²³³ñx<ÄÄÄPQQÁÖ­[±ÛíôéÓ‹Å‚Ýng×®]Ñ·o_¬V+¹¹¹dgg——G||<Íš5Ãét²eËdÎ9§±±±…6<„W¾†uk'~ü!zŽã8¸té,Ë Úf ŠÇvpqù"ªÕ*¦¦¦@A£Ñ€çµx˜žž†ëºxÝh@UÌÌÌÀ ¼–lÛ†iY8þ<cp”Rضùùùˆ¬fŒE÷@µZ®SUçÎkY)Ž ÏópèСVýwJ122­gƾ*`‘0FsQÆ‘R&[ Þ?Œ¥/Nã§Ÿ‡®ªX88ŒµW =pÑVø>ÃVÃešX[_ÃÒÒ÷(—Ë0 š¦âÚµë¨×똚:€ååeÔj5ø”bkk ‹‹‹p]7â`ò°ÄÚÖÜnà\x¸x²…M»}œ1X-é¼@J!’up.X!ðýV, #XÝl`e¤‚}_}Gõ:¦66`–JÃåË—»öis³ǶãàåqÃÿ• †Å pÿ’¢¾×õzÛ½Þ´¼£ã <×®¥”vÜ¿6ä:â"r§E‘ç9 #Aßœíml¼´A›M|ùùa\[YÅ[+p› º®ÁÐu˜¦Ó4000PŠÉñq\¹r%±í/žC :@ìF#›\B(S"ô3 ãÁ©ŠOàtσ¶D•j׿³Ît"0Th,+Œ˜E)Éö‹w:NËx r°±šDï‰XY³IÑû²§Ó^æ0ËúêC<–"!Ðu½Ó’ȱ¢&MÑ»R„>ïD)\kƒ“rœ‡é‹DÆgUý&ôEñö,m÷Jè§–ÎMé‡ §Ð IS#R†@"KJë”eÖ%ôEÇ0i v*Í0Ê=þûh¥‚y˱1¬<‰õõ5Øÿ=Dcý9Œ¡!”>ܹJå2F+ŒŽŽFó@+XRt“Ý ÂMGc‚w£ŒäXÉÕ0Mè†yÄ…Ù¨ã5éãNA¼ùHƒ¨òËV»¾Y."'bQϧ$¸$¯ ÍÃ[âÝ| ,óܼ˾¥Áh½®9Þ\‹>§ýº`êß\ÈpwR§È@iîT0”R˜–…‰R Ô¦§ÁNŸ% ¥PÂZAÄä½!”RPF]‘ yÃ_…I!ó–V€¥Úõ òÞgX¬Û ‚W÷S‰‰ÔçÝÇ»†W?C6ÎE¦¸—,n/ Ê,Ê4¸1 ç"{Ò—9$õµWÈ2Ý*èb©·ðÕÌkUÔ!$i âߥ¤W è¤õÇ"ŒANCh ÍÜ³Š¿Bü¦#ˆÜϲª*QT{è)ö®Æc7̃¢(p]†atp/šèËÉðï×:‹ïHû½ŸõSxãÈ ¬“­±"[_DÔã©•e^d×/s³l¤¼ès:úԀɺÙö’- þ7ß§Ÿ¬âÞýñ×Í›˜œ˜e{¿XqeÐú§V«áÉ“Ç8~ü<Ï‹ïÀ(í+cph¿]½ŠÙ¹¹Ö†]Œ\¢¸ž‡¿oß‘ŽÀ‹¹{÷ “!qe ˆ²“QJ¢md©D)[HÊD]DÐvRì„´¢Ò]ȸÕU–2 ¶-kY"ÐE•µbL¦ÇibŒ©I ÂŽö;,î†LÒ9£°P·m5FÙ*¬G;®m”°Û¼§äƒ)¹(âyêT½Œ™ÚØ'òA|ÒØlšé(è,V(ÀBÝT€j¨ÑÃD@t²pd¬y‹Ô>\N*$‰Ì¼…ޱãôëby¢‚<óHØÛÍÆËœ§”Vã³ÖDèƒ2´å p¡÷ZbI½™ät´jÐÐPÃc MÍÍÚŸr®÷J›ÊYåš:I &òe";þ# ùÙm,1[FJmˆÆÓC; tnsЮo²r–UWŒŽ næ×áê¬?¬lÆî° ÞoªÂƒv [%FF»<%¶<5ÿ%ÏV­ùÿÈÇ'ýå#Ý<GC,Dÿ €\{;3³áq /³xŒ8”=ë1ê …û¼¹K}«`±Ä|·â5Ièî “¸|M¿ÉJÉcv—·šÌžŽ¬Éž:¢uÛ1iæ°óQý檜UKÛ—÷vßËO¸>{ vÍÁm÷D=–c* iÌ#qàçZü­Àð÷ ãgp¶`ɲSl㎈€@$cœ8)ZŸúe'¡¬R#döN-k& ±JÈȸAbŒF»%n‰ôN¹Onˆ· Y1E온Ҳv7t[¡Ø¢M“LC‹YA4W×eduH€N¨i03õi²5fhsª¹Ÿc߉LÛ rSüG}o@4Dæ'š®7Ô(Ãy)š$0QµÄ*óÏ Í+ÃGÏÐqU[SW[¥!±Ÿæ¿oN?D¨,Òš®*vgšF°uãåÍR8eeÛ‡SÂ} ÓÓü>Hé°˜CÄÕ.uL¼ßð!õºÔkl,‚(NFãð¶àzž+¤sªÌPÄç³ÛŸ`³ŸÉ´Ò-a}g0XçâTæÃÅ i6ÚåEÚÆÕâ ¨Z56•„qÉuÔÝ”ž©™ª­ íµßíÁy¿Ú#±žÌö‘´8EuDK_k¾0Eˆ X<9)Å'-&N\QmI«£K±W «¨Âê dtR†nš£ÒÀòÀc•À~x‡×æ¾wmU}*úúºº¦T¹ÅÎ{_ãÍ}nùÞöWíF²6ˆ±:UF? ’ÜËv'ÊË·ü¯2&JÝ£Ô\$gÇú³_–é×ÞÄoÑfàݧÁq—†ÒW1³äÊ2<ô±ßÒëqÐÅ ñ°8ìë¸Mã„¶„›Fl´0;F·»¾§(ðŸ6¨P}Òxh\Ʋû0zÄu°èV«©ž5ŽKÂñŸþÔOlŒ?µ…Íþ¡âãõYË —6R•”³VFl補_CÈmäM¯ê7ámm0¹¿ Ûêˆ[ps‰ku“ÑA‰`b²°ñ·š%/cL·pFˆHU®[«MŠ6Ìáñä1¦L([+y£µÂ‹*Æ k¯$VÑphSbíVh ÄŒ‘:3ˆZ ‰‰®wµê® Ó¡KHï|“¦ÜQYO¡Ð6OkpOn©Ó° Q$Àhœ*LM K¡sNÁWLG+'…–î;'‰–oošw¸g.'ÂÀuà)ÚÀ túQßû)н³v¢hiÛšgµ£€;ŸEQ•U•ºPC’?÷dÛÓû]‡ÒÌLÓ É·wÂ=>·[Mh-*ŒýYK„B×wµ$Ô˹/ÛÛëu¨ÖØ'hÑ,Ã0cZ^û_#wþÞ©6—C¡5º§3òF÷þþ¼½TÐÑHò;÷dø¿©ú{­ª,w°B)ãßÄ-òÝsÏ:ZF‘ÇúcÅHç ÌëÀç©ßòZ4tRÊ)áðŽ XU½I„SÅg=¦WsvÞß[­Zå° ê}6T¸bS`Í:¡åÇð·AîUÆPÁ"8˜Àw°ßÏšÐËÑ6CÄ&¡Af{è˜~ªÂífi±aÞØðè]™’FC^4±­±ãä9.°¶ÆÛ&{ µ¶‹X·%g—U}—vj¢s#™SÓöm”†»Ì››ž„z)dû5ì°ˆÇ÷skfŽG_ÏR~kÒN×pP¾•ÍÛ–á?LTxö'önøZMŠ©ƒPÉk‡®Çä¨SÔc¸ ‚=DMCR ™n—áäW´IŽ­#Ë_î«TQÃS ™4QËÜ8º!Ǥ8&yíl">J‘ð÷!ñ·ÎÛšépüJ–½¡ÔSÅPÎ%Õ¾cqê«â‰Ãæ»èÞúGòo‰žÇô!rXŸeql>NýºLš¶jRsMÇÍtÃ,eÃ'ŽéÔñÈâKä¸@hd?º‘®èý¿ö\=hñŠC’IXÆè[(ÊñÓ0ýA]&Úü2{GPçÑÊxL<>Ž{ÙhÒ—I.Ë ±~ö'³©{¨ôµùò[qNÉcl‘¼:7 µÍÔÑ ”T²Ÿ€1ÜÙ§ËeøñêÃÛ]1Hº¡>4göNl£‘ð•FF¹Ž!Ì-<ˆ\óÅ(tµ$Á%3\æŸ !EW©§|//k\,r»)÷Qaôl¢§G$ÏhÛ¼~bZeÙPññåN¶IfÅ(€e©šKäq YÀìàÛ@¡©Šˆû¹âd¬½ò½ ‹ùª¸W£Z×ßæšË‘Ï óAU(“;Úó›7ô‹ü#È)aÄj£ ”À‹9Ï’]¬acâ'm‚Š+Òf¦TŤl£¥ªŠ¢JÇ9¡íF–ŸPvS‚ot :Û%}5º;›ìœX›IЀ¸JÀòG‘dg2©H(ói1WáÒLk‹»/ÈA‹\‚8.C/ru%zÄð‡ÒIßqeä5"ò:üÖ¿FO§]ƒÔHÈXö<´ÁtØ~-pP:f ŒÁŸzXõàCƒ:ïðä ŸuÍû\ƒ[–]”vg[;*ŠÐÒÃ.ÁwÔðÿ5]€wlùao³W3Ï®«Cª ¨ Ø\ÉLk GAÐò>jð7^Tá&ÿ‘×—©(é©­ÝF¿Ôû« òBÐŒn—”Š»£špµ 7Š{tDãd¬ËàŽ7d¹n„.¡: .·²0Ñɬ8§aDo…Ž…VZ=Ëwç{wQÕ`wÑ;ò@öhZö?E £N'Ñn9­;€«ÍJÇdìš9|Wñ~õJÂÿÆWQªä±nÃÈÖ¹Ô ‘¿íÌ,ì>‹Òg¦{E€6åÃüòTßšz{ÿ’Ò%2O§˜1Œ bèÝU@Iào¼Æ­+g í­\n%F'oiü.ÿ©Ðû…è3E¬sdŒ9‡Cqp¹ÌS²mMßM$‡Œývö²é‡È_frÇ­ðì ÅXKXÃ)þLžûý.¦©¥Ž{›¹µáÒáyçh;1[‡C%D¢)©Ø3:Fœ¶Aý.«ö[Ç^!“©}^éû™ ¤82ÖÍkœÂÁÂÖÑu{Œ‘“MÄ}Á{ëH ¾a`uà”½£6_âuœ]µÆ¨âžHã‘Í>k)`‹æek¥¢… +cuþñ ÿª=¶Êf÷2þâv¸þx]óÑa,2‰¢ÉFBbŽF¹†ÏkšwÔ %bÑbFÉdáy K‚ˆŸÚMÁ€íçÉM Ö~#1*cîºç±n×=’ÚŠ6Ú~)[w;È ÿ4\æ)‰ÍS)tŽ#f…¾Ag8—¸’O4R)Yê=œÄŠál«|b7—¸ iz®wìí×Àž9T8õjéYIM^A‹GÜ×O¾ }—°0^ËËûasÚ ÆÛy3ÿÛÅú­ÔŒšqû«ö[P»MW?ƒ?öYx‚5· ‚Ú2iÐxuV%„Ô}먖saÐŽDl}W vgírÁŽEÜ¿nþ0KORÝÇ¥ý ð[}Oæ†jXä+ERQšØ&×}¤©†ªÏO+%‰ú‡±×ÕX çì'ÅðŽò‚¥ñ Ü·v;Ì/FìÏÚ%nX1VŠ)Ι÷‰ÇÏvúéÕrÏ[FÑȾÎù¾hPC+$²Fö¹®i¸#¡S¢Á¦°Å“„éÔŒ ™Âå+¤€‚E5Ò@ '$˜ 7%›˜I3­uVpIéIÕª×ÍÀ‹¦™-2@渒<„³úsyiý–ëƒ nme‰ŒWÒQÝ¡¹åàÁÃÏ’µ²$¨ÂíV…ãDìEò5°;;[œ†¸ò-ÙË“ §¤•ωÎ$è kÃ^k/µý¼£Âñ¦QVÅU3²‡=ÑZуµ:ñòÓu‘Žý¡a4ÂÒ>¦fÌ;Ìì r!ö$ܸjµŒÙ.Z£¯–›Ž[uoÑU|R –ø­½·›«}\µ lŽc NnfHÇháÃC¨>þjËØÉˆ¶ŽfŒ^4dæB]ªÒ’œð‡Û˜×ßuNJl·ñdä±õúÙtC4dbàÐðÖOÊ\ÏÂíBž:È@x1žcP³Þ×6ÙšzF\%Û Ö’„d¶„¤Ñ63[$q½”Ò0‹¾LÛiÃ긺š—Êóblw‹Ÿ'Æ”vc•3¦½´Jè>I,¹Ú£Tì;¥têšãšC$%1At®€SJk§â€ÈÈÚ\÷¹×evŽŽ‚wÑÀ ]sŽݤZ1ÚåòÕÜCH\Íe}ec˪§Í®Œ`ÊÆù ŸrO¶‹HÁ²%4Œct„ÅDëp2}>«™Õ%åù³_Rw*bPÝn•¶Ù彺ìþ!Ú ^Jü9ÌšhØÖILïÙÊÛ\lëiþj´ûƒâ0a0Rbø4 æ:PÒæ¯[‹½6:Û‚M²©?J„•ÈËE®,lOÃp¾ëïõÐSwÎÊÎñÖ¿öë²–j¦DN`@’¼«íšIåÅ©%d26Ó—øsgv—Úý„-Ð6z^+ÐáðÃ4Õ4’Ÿz†°¼smôpטUŠLBެ†E%žEû·‚×[˜qÔ\/ìN…c4“²¾¦¢ b÷oe:ëpx…ëøT £¡‚šãL aq¹·š™I'Céyð6÷i-'¥ÁóbãrC]Êe;–‡Qô²,Sî³ENá˜|R_Fù.Jº´Ê\ÈÜì¤øœwrµšPàž4út¦IÏŒ8ÿ5(Eî’ÆrsvÍ¢”U Áæ¸æŽùœI:“r¡'‚vé¨P3¶û9—,u­±:Çÿô»&¸uËýœ±Âf•Ö’ckò~·]Xµ¸,dö\xb ­:¡,-N4+TfÉÚëoe+]}UaÉHÓd,ðÃQ ¡ž&HÇ‹89·rx×f*)C§Âmæîñø¸þEuÑ¿E+Mü•)4 &y|31ïs|L‘Ÿns|®æ»Ðöz‡h{šèjš<Ç£‡¯Ñq8•6'‚É—‹½§ÙµQÿ!À­¡$Ìäš,‚ 6,«C#$`’7µì#B Ô­pê¶‹!’½ŒYíUš‘ÍÖ#~ŠË]bŒ:Þ«xH†^Îv×ÂK`¨&²˜‡ÄG}n½í.4 iòMma“ÂÿAÇÑy‘G ÔkÍV}<°¸>'A¸-6 ¢Xa“úbY%ßoÕ+¯)ìïn±Øqk`\›Hß^>¾ëаloÅâÏCR׸ º3£Ûæ?]—_‹(̤j‚•Ð]fv†£Ž3e^û÷µ.%°4ˆ0jóÈ\ 56\þ]Ñ¢eœgðjAS‰U29Ùcåò;ƒXÑ«ÐÕq˜Î9ã$Å{Ð Zá÷¹GW ˆ|…Ü5¹nʹ…°Uº­òTU×=¹_[Sc+‡° "gô²Ûët$ú-£.™¹ß¦‚ X4mŽ6ìãÄõ7âu*KõÕ24ÝY]+¡ɯÍÂkè›0¿4Š‚º’ž¶î¡™‡ vúù:,ɰ6†ÆÈ*¤kÜ„HÑ#\Ý4-:¸…°N¨'š8"2JàÖÏ4&Ð)pÌ2ŠCEINÀs‘‹ñ+7ų1̉ýÜ#Bý‹º[Å{Àsœƒá`ÝËœª¨}Có?FðhØ)l´ƒ«ªtÇ.¡ƒ‡?57äœ,ÊúðLwBN¡+û$Ê ¤ÝÔyÆk¦¶à´°\:LB  aÆÿÐuRÝ!¥gcÙ¦: •»Ìÿö$­†THÖÚ÷U"cZƵš4 È)ç»Ù¢EÖ¶éø€Œmp‹ÖÖgEr5² Îm„&˜†iÕH× Y8ÝP”‘2XÝŒkØáb¸!FÕ+ Ñ*ŽÆûY#ªð …4§WS»XžOóeÎ6©ðTýÏÔUCø_ð»þ'b½\ ñT±l*‡¦0WS2V®5AÜ-a•­2/‡Ç¾ªF¸pG‰ög“ .Äi½ËÍ¥`èxÿš,ú:È*nâÙ£ãx³›æT%|1’£@`ÝWçè¦iÓE¼Lš2N=vŠŠI›4O|oa»^Ãbš´š¢ßE´fÑ›GCÙþÞÕS僌ÔÇ·|ÀǘØü¼ÊØíGk0†àgîum©¨«"!k†F¸X¹Äk_A¿; ÀÍN×êÝ ªø]TK9ï…¬²Jú\FxFCg³‹]¯²Ô§©¤ª°ýÔ– èÏE΃p äœ"xã.’¦×ísg¶Ú\y!¸ºË¤Åj Ûí4;äx¿ J ¨ë?q/w!Ú)ä~¾ëšxÚ6ŽTú(AO3²½¤hÓ¢Œ¸óXN©®‡0êª×V2fø¤à9y dÕu1ÓF_!òo¹lk9³Hs?ø#5/Š8Hà×÷“Ϭ79Ï%Îq$ïu-”SK$ÒÈs;òBÝŠŠEC({îœ%5ôÝKÆå"l7Cuµ‚`ï™Âj†Ù»†óóQ)(ô¤¬‡¤¬p’@[ý]ä»*VSÄÖFÐÖ€JšÆ Em«’Rrf©PâÇÌ#„'H B6¸n„#.²"ãdÀ#5`_Q¢×7{YX 9·T˜¨® ƒŠ'2Çd ‘4^v²1!¶Ê(†‰ˆœ8ÛoE‡ÚÍPbÿ¶s =PøgˆÙÃê¶uÝHâšm;BtÏ=ªÁ±œ-…Õ-ee;ñÍÌýEÔ0ÈÉÚæˆ:/I"âÛ…Ëvƒ²½ô¯¬ÂeµW0þîCÔp=WV,ßR2ž?ÃŽ¾èƪƒ§š–»btwÀÿ'+aÄu]hçh˜y¤ëiæ€:éÜu`ëúd°ì–¶CržéˆHvOÅ#ª¿E‹TS³º~Y¢;µúû¨ÕhÁ%-Wî$É'ûriìÏ5Ï#‰€ÝÎxhI²Ï$"ãmJé3C«0BÑiF†ÿ¹,WÕÑÀë“ñÉôú¨±|G¼sà§qîïâxþ?ì²î¼ævÄg8gh¸–ÜøH¶¼È±ã·$@ñ(oµîl-ro¢bx)("y”7â…Îê„»E d…ÞI…ÜCZ $ÚÁ l’iMÌâv ©À°¶@;Ùiv¿/%”æ¢TU‘`˜@³T4—nméaŒ5»£M,¦Ñr¹6Í–‰FƒdáuìSÜÚ×SAd­:îœØž* žÇšªµdM¶ê<èƒÉ+®Œ[²]‘qÕv‰Ð&HÔ\AÆöD ¶è $Ët‹’`ãÏDà”ÄB[bE ¾ÅDn ®JÑÉE{qUîR¹µÕP‹mpâ0¶áQÕrt%GIˆS:ž®&JÃÁÂëŠÅ{;_„“6÷UÒîiÞ|mÒxù.Ù¾"“‡ªÒ”ˆ”SGÑÖCRÛ°–¼9ŽÑÀù+Ç39_ô+k´š¦ÄÿÔCx*†¢Vésןžëލ¨Ä0‰ÛOŠÂç4;Ã+ˆX_Ív㚟iÁÄÜy§7º«KQ DBX$oC²°u­?Š\ LuŒTÊÞõä5Ä6×÷[ Æ]kºû¼©É&¢ÙxÕÈÏMªat$¯(îÆÈ ‹¹¡sÖmŒruRSSÍU(Ž&’o©àÑRÉW%š<#w.³ ¢ŽžÖ4yó+™<è¸ÆÈðœ6:VEÉø‰Z°4†‹Ù+HÀö\­·Ón´ØÜ  ø¢¸Ø"„H 6Ûux«T°>R4ÑR@(Øç›¯ÅIàSÓÀØÇUdYZˆŠáº¢hÖú"Tàr]tcc[T`$Å9Ý:ªp˜nÍ a½Š “„èËËTŽ÷Sœ &2“˜G%]sAªòGÉY$#tmÝ3[®¨€ „ÓdA×ΩENÔh©â4õ°˜ªakÚá¨#ü²¶Ó”óN]tmm žyŠvR¶‚cSƒÈç´o6>]U*L\6S|fšPlI¼—§–ßMÖ^1ÐâLµD ºÚ8háäWT>KZžÌeŠøsLuÀ- ´D¢¥Y€âØ3ËèI«¦˜ÈÔz} Ä!ªðë£BÇiìºcRÚÙƒUÒñ6s8³®X æWG)´N·#ù.c?êäYõL*äTqߢÎkuq°æÓ½ÁBó˜ZÞ‹Ër£µ 8uËok›Û<¸+Øf-[ƒœÒØÿ56…I4‚J†Ó³WMMNØ€¶‹›&ZÒ5Œ?@¢¢d, k@²¼À²a`tE¢çïMx¸è’tàð)¤&Hßщ™´ºÓ£¢ÐªòKezZWHnE‚ׂ&ÆÐG[`,Œ4+Qc¢ 4×TÖèŒ ù&À[§)ÊWSFV$é;'iÅaÅ ˆÒˆùkÍ-’Òº(v: „Sñ@‚M”à”€LÝT/iM•’J›pNÄTÛ^)†¨œnâRhÝR†É'¾¨n¨‘îÝ#ÍBã®éÃìwH Æ“µÕ ÎÏáÕïÏ$9%:÷ŒÑßßÕ^cõÝY…Âà+Ç'hRIôâûIƒUatâX¥eE19]˜Yì¾Æû–ë‡Ä]z‡zë½±a“Ÿ+næ€ëy¯º¶¤ŠV÷…ÇKmê¯>GçlXáLªKœàÖ´—€â·0l)T€]Á¼•¼# e(H3Ímùy-–Fë 5y›z‰Ù×HãcAÊR4ÑH!s·R6Ä,–6ËrDl‹)=–æÈÄ"û-£’æŠÍa!X‚™Ò<êÝ-¤;h¶)©YÛ^ª–*!Ì«EDØÚár¯mm…ýQikh­@^ˆ² ”à">é*ò&ÄÑÕ?ª@Ù+©(òdÚ$’Õ’8 ÒI @¤’hB©$†„á$€+Ø$¥ÒI0tœÐwI$ „$!îG4’E‰ˆÃ}®˜Ó_ø’I˜P?t¿ñ_uää’E°¡6•×øþJÄP»î’I©14K4lt.Œ€àF· ÿD\çEp½ÇÄXÐ.z„’Qòz‹ÇÀ]ƒ½ºÆbpöQ>‚¡ŸÉ¸þRI$dNÌÑÌpôA—¢I&urŠÈìÆöI%WHF«#lM° f)$²—A ø§Ø¤’¥Àb%1)$€WI$ ÿÙKCemu-0.5.1/doc/window-plotter-1.png0000644000175000017500000015207012417262523017365 0ustar glaubitzglaubitz‰PNG  IHDRLø¸×²=sRGB®ÎébKGDÿÿÿ ½§“ pHYs››ÔÕà IDATxÚìÝw|ÅûÀñϵt B„Nè¡C¨AšT‘®HQ¿Hå§t‚‚ ‚"Š 4)JQé-ôÞ[B …~í÷GÌ™Kr— yÞ¼îÅÝìììÞÜæîÙ™ÙY…Ñhäi _›>Q!„¢8üËЧÓÔ©_40ÍðÚˆiR[B!„(”R⡃+§˜'EJ SãÓŒ¯ ÀÃèD©-!„¢{‡^oÈÖº*•g‡Y®³ƒ —}i šF£Ñ,=ˆJ£C!„<|Çã'ñÜ?øs¶Ö/Ù¸7ÅŠØãQÌ¡À–{ý~w÷¯æàÊ)Š4]r£ ]B! »ðèx"£c =´– ­RÑÇŪõ¯ÜäêžõÀ­¨},75Eƒžï»¾=…ð'æ[—¾èVœ±¤y ˜MK‘z™B! –±\ݳßæýð+ãž­2Ž]¼Çã¿R¡Õ@Š»:Èr®ÞyDÈßKÿôm0dܺ”²lNŒYj6-åõÝŠ›^ !DfŒú(Žþ½…Òžz-Z£*â¹Süû‡è^̽!{½OnÅœxøoY)1CA+75SÀ”YoœÑs{&F£ 5›÷é4éÝâß}Çÿ9€BåDÝf-“C‡¿ïŠ¿»rZîÓù­)wñø¾ ñ“Ùà,³rÍLÆ,Z„†ÿ|€oz{›ÍŸúõ7½½Mù…(ÌBãÓ:yâ¿Ã(æUœyÃp¼Íð ýD–mB)‡(®\P³.¨.êèë¼öM05âçkƒ.>Šõ›÷P¤|CœT úÇ\=q’—kÓy`åÜíÑ'Æsîü5æ®=†¡¦WŸfßüÁ :~<J»%pÓ¹té2¿ÝQñŠ#Ê{8bLˆåÏ]³ø øx©9wâbrט.–À±©Ö¨çOnÓ>¦ÕûÛ¨Õ¤9'÷m3µ5±”ÚMÛgú¾CŽ„b_¦)•}ì9u` òîhy I‡‰{¨ ¶rwäÍÃO°s‹ãòñtíèO‡Z­(ålKbl,'N]bÎoÁ8W²!ô¡ûæ·1mkîçop}÷=Êz§K^ù ïÑÓ±MÖuf4èùéÄÚW/ŽMÌ:~võ$h…°…)u—17ºäŒY–›И vÌåϪÜ&m^a茟Lë?( ñMÚ¼’i¹æ[˜²¨§—[ûZˆÂèqT"mª$Ïéq·HuV÷®LÔ…3 øþ޵šáa£âñù 4ì÷ EU ¶.?Œ¦jcŠ8Ú`Tö.¯Ô(ùoÊÏÍã§÷~7‹«ùaÅ6†?¤tíÆ|ÿF æ{&ÒuþElK%ÿÑ+Õ8] fà;¶O‰ªÕ«á”pŒ÷ço@çZõcëСS>½š®%±/–Ò5v 4>’`ãX€¤Ø;(Ôfÿ®Í¥¥~ß'OÄàTÊ6µmrk–6î> µ+á‰a¼âšÜ"´-,‰¤Ð[|<¡ u™³øw¶]ЦB½&,P—Jnûéý£Š2Î'èõ½3kßô"&â8/O9 €­‹·›/¥K×hœ˜8β:S(UÔŒ¿ÍÈOöp'¡8ÕêúÉw™(œÓ3î’KÑ(°sš×‡voÎ0¿%å6 ìœ&hJ,5 ìlv²ì’‹|Ÿé~zyÊëÞß]áçaù¶O¦ù…(tŒzµ ºSc0$Ñ¢celôOøhÙ ´e¡OL"2B'0¥|rp±ún"v•tD>ѧ+.ñîQ*voOë¶Ü=¶“%Ç’§ï¸râ0¼Q…¢ÞµÑ'œ¦h‰ÚÄFžáËãIhlíÐëbywÕy4åJ–<›RÜ}P9‰Gõäõ¢®† p(ADÄm=Ê%Q‘!(ÔE‰|O©š-h:b)¥j¶Hÿ·žê}ÖFjyøðO¢lìy¥WrÞ_Ž`W܇¤‡Fül•èµ1Œ7Ðèõ64pÖ°oÙ¶>ò¥xõ¢œ?zT½R}´Q«y¬°¡D³äúм‚Ú¥6^¥Š‘xç(îÕÓ¦»*.Sª];‹ë,>ê"ý‹G•º”T«å{LZÅœìLÏï=ŠÎVv6É'C Å1AVåf¶­”eÙ)7³ò2Û_³“ÂÌe)3Ýùô»ÿ¾êîuÚ´Ôºó‘b½u¢Ð2èîc[Ô'¥‚˜ˆ³ Z ? ógá„6¼?k·Š×¥˜£ :ƒ_%!Zž*…Ù«Ä"£âù¼nQ|êµe_½´Ëµñ÷1*T¸WIž?$4øê" ‹”O ÂO¥.ƒ—.‚¢Þõˆ{t …MqtQWð­›Ü5v÷ÈÔ.¾bqo’\Vø…X”E=Lߥkµ°è}ƒ‚usÞü÷¬OÏ£‡áü°z+?\õÆÓ#’hݾF^#yžÅ½² JcJM‘Ë¥ ºX-åÊ&9Þ?ƒÚÅ…³é‘7­«³ûÇ/¡r+­F-°(Ü-L©‚‚”ç·NíµhÝ2µZ¦++¥8såf´Ý¬–YRî­S{Í(OÓôô¾>]nSú¥öMŒ¯vÖôúÁ¹êi^?þà\uÓsÅA™QEâ€éI8î~U“Ž‹÷ »ËÀïŒü0¬_MêÀ´/¶sL[;µ’£qzU:©ÙŸ„‹½mücbÃïaW²v*:#xk’ÿ¦ÚŽZJÜS·KR¨Ýñ´Sáá—jžÜŽ£Û¿ã‹Â.Æ¡)b‹B¡àÖÉä/Í2µ[fù¾CÏn§ç¢äñŒ ”(mpò,Wéb$…Þ¡„ò8§GB0njÅ£B.P¢F“äý?sU±rÄGŸ'À1ù«ëŸû‰8”¶A¡P¯×§K´ºÎâP³3û}(D¡ ˜Ruq©R=·äj¶ÔùSÊJù›Ê¨ÜÔNF¬-÷zðž4ûûô ï” ©œ« Ë50eÕ¥Bæ$s”%e ñ¢ÓFÄSõµäÀäæ¡hì|ê  ?ÏÀE°â­:Lû¿.|µ`3¿;:3ý TàÝwqkéQ.Féñö.Ákr~÷Q®¹UÅÅAÃ÷·îkχMJ2ó@(*§bT«Tš>Ì^vœÄxu\’›•O?Ô¢Š7R»jr7Õ¥ã1غړx5‰zå’„óçb±ó°#æž‘ÚöÉ­\e}Ùzù(5ê5¡ß¿ã‹‚#uØy«¹urošßeŸú¢I÷¾ÿŠÂ¾BJ±MŸ/*Ê©|Û8hXt5ž±•Uǃ9'÷Sºb%>íçC|ä]>XE‰*å¸wÚHm»ä}}¨TqöoT5š“`HŸîè`cUz¤Å¾¤Z¾»„L©[l”J+ƒ-eº²RÊˬܬ‚±ì–›,U¨ÛÚô<õ¶2+×â¦)AÑÓSVä,MfOtô(žÜj³-,‰"å5Ø9ù“r’‹Œ¬x«.£GôÄý‡-üxá(ÃV<æíÀŠÌ›Ô D>~ÂÍ{!,ÑàS\‰}Å:lþvÅz4 ]§6ìè¥âÉã'œºx‡ëàTª.< ‰£ €}±z’tеXòŸùoZŠW¦3Ò¡Hržßë(â­Æ¡„'SvÞࣖeèñV7ZGEsâì  `«„ý±zœ4*",øOý¾·ÞM H9óù’ôi|»V¨ÏK¶âܵ!z¶g×ëjž<~ÌÑýÇùnë5Œ•ëc¯RâááÆgßatc>›>€OÆÿÀ>7W³é¬¨³ý±z5*ùî…^ê¿Ô-;]Éf®%(e<µBñ_‹Í³,·rý6¦r+×ÿïÊÚŒÒÍ•›¦NRî%wéNDº…Ÿ7蜦«-%xzº…)£.¹qG6ËQ' µ»'÷ 7àU«ŽêÿÎbtorûêuŒ(q)[WWG#nðèA(‰ññP ÒØcãà‚wùÊÿhˆ#üöež<ŽB¯3 ÔØcWÌ“b%Êàð烙·‚w£5)íˆnïAk0âãˆR¹yb:£‘RþØþûåwÿ,ÂbÐƒÒÆçâÄ<¼ŽÑeüÑü›ïêñ]¦³µÌÞw‰Z­pRg|vz7x7 #^µ[á¨R‚1ˆÛ—ˆŽŠD¯7 T;`ïâ…›wiÓöžÜ9Å£Gá¦ùSŠ×jIµÊ|º2ÑÊ:“`I—¢öÚ°z‡‘¤ÍV:½‘‹.§Q··‰ŒŽ/åD=‰K{/¹ÌN¨Ìµ0™kmzº{NNÒDaWÊL—€ÆÙ—òõ|Ó¤Ù¹•ÅÇ­l§X¸—­Mf·–ô­˜ékPP¶n`ºõ½«SÎû©ÄÒé÷§b½ÖÙ~ßéò=½o ;Ü|ká–ÅzEK×¢hiKÓ­¯3! »”.©Gc)æh—­2D<6•õôàì‚R®Ù¦«÷"Ó-œœØ9Gd+-LB!DAã`gƒFÅõßâÛ¼îÅ­ZÿÑãXnþý#Mº¿C’VO\BR, üq,!/ý/`ºv?JŽ!„B`k£ÆF£âІ…ÙZ¿Q··IÒêILÒèrEŤ풓«B„B‘B«Õcg£¦ù«Ã³µ¾No@«Õ§‹/ Z¹),ºJN!„…OL\RŽÖÏ(¶(hå¨k»'°uã/rT!„B˜QÛ=!¹…ißüÁ„„&ßcÉÉÉIjF!„…VLLŒéùÝ{÷X²äfo˜´nÃ&©-!„BZí^J;…ŠÚÒŒB!„/:'''³ GJ©!„BˆÌIÀ$„B!“B!„LB!„0 !„B<íô¥Sì=¶ç™lK-Õ-„Bˆ‚(":œ‡‘ŸÉ¶¤…I!„’J©B¥|6m?ÒÂ$„BˆÃ`0ð8ú1£O·âØÙÙKÀ$„BpóöM¶ýñ;§Ïž"1119ˆQ«ñ.íMõò5°ÏãÀI&!„Bä[ÑÑѬ]¿†ƒG`4Ó,Óétܺ~‹i3§0vÄx¸{äÙ~<Ó1L%½JPÒ«„|úB!„ÈRð©LúˆGö›‚%ïR¼Ü¦=ÚuÆÝÍ€°‡aÌùæ òl_²ÝÂôtà£P(°±/‚W™Š4nÓ™£‡àë XB!„°ŽÑhä×M¿°ým¦@É·´/½zô¦JÅ*¦|îÞnìØ¾ƒû!„>eÛ¿Ó­s÷ü0™{s‰qÑܼpœ›޳áÇ­¬;¼'MžìxJÀv?$4[Ë…B‘ÿèõz–­úž‡÷ T*y¥c:µëŒR™¶cÌ`4PÍ¿q1q<Ž~ÌŽ]ÛiÙ¬.Î.¹¾_9î’»jz\¿rŽß–Ï¢¾› GygÄnùä…Ba‘¤¤$¾ùn¾)X²³³ã½ácy¥}—tÁ@QÇb¸»¸Ó¥SWÓúÛÿÜ–'û–«c˜ìœÜ¨×n«¶N dß\ùô…B‘¥„ÄfÏ›ÅÉ3'“ƒ¡"E7úCªúUËpµJ-Í7ÇÕÅ€}÷¡ÕjówÀ”ÂɧúøK¯syÏjÞЕ:Õ*SƧ~Õýé>ð]Öüu5]ÞÔã§R’§PžÕòQ÷2}Ô ZÕ¯I…2>”«X™^eæ’Í$Œf·[Ò«uìXò1ÝÚ4¢Bio¼½KÉ‘.„BäÀ¡£¹zý înî|ôþx|KûfºNDt8#ÂP©T4h@||‡ÎõýË“QÙ1÷~@e_É¢ü[¦÷eØ‚´ÝwÃC8ôǯþs[Þ]ÊÊñruÏþ8žnÿ·œX½á¿Ä¤Ç\ þ‡+Áÿ°vÓ@ölø gµ"ݺ«G2vÝeÓk…Â(GºB‘¾¥Ëboï@||ãÇNÀÙ‚qH©gúnÖ¤›¶nÄh4r<ø(M7ÍÕýËÕ¦¤¸ŽïZÍ> DÓÑY®óðhÃìF¡PÑqä§ì>zž[wïpæÈ>ù_{”À®ùoòññÿî“z wê1T)éY-¾¹œNã–‘dW÷g}Ͼç¸uç>7¯^`ÛÏ x¹B1[AŸ/ϘÝç6…2túb¹Â½PîÝ¿/GºB‘£€É—o¾XÀ÷ –[,xy”¤”Wr/‹³+e}ËpþÒù\ï–Ëq SFó*Ù¹ÖçÛy­³\ãû«¨:ügÔÌ”îVÊA“–QÖHß…çY=v#÷Í•7½cÄ—$Œüß–ßUÅ9Um¸P«EwnõÄ·rO.-Ÿ ãV¤[?`Ʀ ¨$G·B‘ Î];GÈ£û¨JJ•(ÍíÐÛŒ¼=½ |D‚6{{Š9#4"Ô”ïÔ¥“$é’prp"<òE‹ ÕjY³åg¼½KfZ^ãZMÌ&Ï“€)5û"”(S‘&m:3bÌPÊZ0ÓòÛ1LÑÐìò&c¦ÁÂW‰¹µÈ€é» ‘ÌnSÙ`šãáéÿï5»þÔeåèB!rI\|,‘#P)Õ+âLäã FÅ‹õ$ŠøÄx´öN¨Tª4ù’’'ªŒ‰!êIN.N¦2¯_¿†C‡LË3bùšL9çèn¢€zÌפqª€.év®}0—ã“·©×ë3Íg4$™M÷sÐÈÑ-„Bä’úÕP¿zÓë:~u3ÌÛ¨fcÓó"ŽEˆŠŽ2­k49sì £ÿ$îmzdYÞ3 ˜rÊÇVÍ-Çc´µI·\s,yGmJçÚ6KÛª¹¯eó•;Ôu’àG!„(ˆ„?àQäCê“0) ªW­ÎþCûyJØÃ0<=k¯±xP[§JOS•Ùò"¥ûòÇ·wéùîWœØ¸€76.£N!„(`RfúNÍÎÖŽÚ5jsôÄQîܽÍå«—©T!çW¶+óÃî2ív­œM×À†w)‚F¥¡¨K ´îÎ?þÅê)Ó­Ólö&& îB%4*¥ÕËËuÇcÛ™:rjVÀ¹ˆ*¥Ç¢nT©Ý˜þÿûÕ;OÈÑ(„BäS)3}?­m«v¦ç›¶n0]ýž£à,»+fçê¸ÌÖñkÓŸmú[éiÜþñ"†œ½åv5öÑ,†}”wïY!„y#õLß©•/_ªUªqþâ9.\ºÀî¿vѺe›mK)Õ-„Bˆ‚(õLßOëûj?ÓX¦Ÿ×­æð±C0 !„¢ð¹ûà7ïÝ0»¬¤WIú¿6…B^¯ç»e‹øvéBò×[$“B! ,ƒ!ãñIÍš4gPÿÁ¨T*ŒF#GaüÔ¹{÷ŽLB!„(¼‹ûPΧ\¦yš6nʇc>¢L©2¦´G‘áVoK-Õ-„Bˆ‚è陾3R¾\&8•SgN¢×ë©U½–LB!„(ÌÍô…BAíšþÙÞ–LB!„(Š:#I›ôL¶%“B! ¤:UŸÝ-ÌdзB!„LB!„0 !„BHÀ$„BñÁÇ2? T*qss£Ž¿?e|ËHE !ò.`x{è›R;BˆçbáâïÓ¼ áÀÁƒ´}© å+”ÇF£Áh4b4ˆˆŒB¥R¢Tª0 ܹs—Ý»÷`ckƒ———T¨"ǤKN‘ïmß¾“5jPµª6Mægj5Ê—£jÕªlß¾S*O!“¢pÐé´4¶j† ë£Ói¥ò„0 ! £Ñˆ½UëØÚÚšºì„B&!D¡e0X¹r%ƒA*C‘§ÔRBˆ‚,½ýöÛ,_¾œ>}û2wî\”J•TŒÈŒF#‰‰I$i“0è% Ï/”J66ììlógÀ”rò§”ö,!D.Ko½õûöíã½÷ÞcÆ Œ3†¯¾š‡J%_4âù‹‹ãAh(—¯\%""B*$_KJœ©\±^%Kààà`U·ý3 ˜®_Oþ¿BùÀ„9÷Î;ïpêÔ)öíÛ‡««+ÃÞz‹^¯¾Ê{cÆ0ÿëùRAâ¹JJL"<<œ³çÎѲEsÊ•+—åÕâ|.Z-×®_篿þÆÅµ.®.$Ä'XpI ! š—_~™íÛ·ãêê €³³ ¿®[G›6m¤rÄs—”ÄÅ iH•Ê•%XÊ'l4ü*W¦u` GÇFccÕú0 ! œnݺ™‚¥...têÜY*Gä|Œ6Ëí]ú}½^jDùÒÞT­ÛŠ?N³üŸï§òRÃê”öö¡fÃ6-û'Óò²Ê_Ò«G×|A¯vTò-…wIùÐ…xîÓáÃpî$&&?ÎKNBˆ|*þÑohkš^?<úm‡O‡qK8ý&{VOåÂì^Lû;$Ízýç_à­OäÜõ»œ?¶ƒ®îGèÓû‡L·õ`ÿÇt»…צ.ãìµ[ü³n.vG§›–ßÞ2’׿<Å{ ·ríÖ 6/|S³0fë³åYš¿ÿœS ™¹‚3Wnsïþ]ùÐ…°€Åc˜  ±²ô Þ‘{‹FðX——/@y_«Šñô¥t !òÑ åÎùý|úîxªô[aJ_2|)¯ÿðƒ[xàP© 7MÿÓÇL9ý)ß—¿¦›]ò —Ò üx)S*v†d¸Í…£~`àšCô¨é€½o-Þ›»Å´|ÁÄ­¼¹æ(í«%ß7¯Œ¯}“†ý¾fNÇÏÒ•giþñë椓|èBäEÀ”÷]CyT,œRú¢RãBˆ|%å*3…BKÉò¼Ôs2Ç54-_CTo?µžB¡þ ˜:¤K)_®¶eÑk#2Ýö걪ê’áò áñ®œv¹så‘ć7>Ëvþ¾^,= 2C÷‹UŸLJ%x{[YzâpîîºxÜõÔUÛ@%?(á-Ÿ¼"_H¹J.##œ¾}wM^5s+²±Ž1Gù5 ùÜŸ…"w*Úh4Jeæb}fWÞvt5lÕªMò£Zµä4!„( ú{9òcHÞœÙööt`þ…Œ[¡ººÙ³àrTš´Çd8Gl IDAT—¿ÆÞ­{®äyüŸK‘»õ™Ý:ÍÛ€I­†€x©mò# 9M! ˆ·¿β×?bWð5â´´ñ9³ l•ã²ß™;寽ÁÆC—HÔꉸuš/Gw2->½#K{eç©Ûè :nŸÚÁ[½—Òé“wÍ–gm~‘çM"¹ó¹[ŸÙ¬S‰^„"îuG³%èG¦ exðeâöT¬ÝŒÿ[㲋7›Ì–Oç1᣾ŒºŠc‰Êô3Ó´¼tçy, ›BÐÐö ¾…³OzŽ^Á”Ž¥Ì–gm~‘׿ïì¼Hõ™o¦›7o²téR”J%jµ£Ñˆ^¯—çò\žçàù[o½…§§§|Óf «ñK)|šõci³~V—cIù~¯Œdý+#3\Þ|ð4þ<Íâm[›_ämƒˆxqê3ß\¬¿~ýzΜ9#G„¹äðáÃ,Y²D*BˆçØ"’‘»õ©(è]r‰‰‰4lØ>úHŽ !rÁÌ™3¥„xž?ð2dû…ªÏ|0Ée“B!^¨ø\nŠ~#õ)“ ŽBNB2vüžžã÷NekÝ.r(ˆçö»–;åØÙÚ°nÃ&©O ˜„r’¹ê­û`01Á`4šžÇ'jQ((ÿ› Tü7ÖáÚ?kå@/Äß`ÿ>½¤BŸ³|ß%›9ZÿÁƒ´mÛ6Ó<5âôéÓÙÊŸSááá 4Èôzܸq™æ¿rå ýúõ£^½zøùùñÁ¤Ësÿþ}&Mš”.ð´äø±¤üÔ'!26PˆçôãªT¢ÓêPÈ¿|÷O«Õ¡TZþäû.9­Vk6}Á‚>|˜³gÏš]Þ¦M&L˜À°aÃLi“'OfêÔ©4mÚ”#GŽàáá‘íýjݺ5“&MJSþwß}G`` —.]2¥yzz2räÈL¯U«V¥ùQ.H2ú|,•ÒZ³wï^³­{öìA©TÒ¸qãlåÏ©   ªT©bzm6ßÔ©SÙ¸q#ƒN:1oÞ<ÜÜÜH—wÀ€ 80]ÐdîøÉNù©OB„Ï!XR©puqáö;T(_N*$Ÿ¹sçn®nèõú‚0Ys&¼sçNfΜɮ]»ÌF‰5¢bÅŠi‚™Ô?}:ï¾û®ÙàwÔ¨Q|òÉ'9ÊŸüñû÷ïÏòýþïÿã£>ÂÖÖ6Ëú¹{÷.Ó§OO—žÙñcMùBˆçËÆFƒŸŸ»÷ìA¯ÓQ®|9l4©˜ç,I«åúµëüõÏ?´lÙ‚ÄĤü0•²`VþŒÎ†ŸþAˆŠŠbÈ!lÞ¼™J•*¥Ë?oÞ<ìììøí·ß2ÜV‘"E²ý^æÏŸ­­-›6™¿ZaÆ ´lÙ’yóæeÚ²”bëÖ­ør«>Zµj…V«e÷îݲgÏ´Zm†W5Z›?;Nœ8ÁªU«rô~óº•GZ‘„È¿ßñ Ä'$He¼ òýUr)WútëÖøøx.\˜åAš—?" …"ËΉ‰‰YîÃ¥K—xüø1uëÖÍ•ýÊh0²N§Ë0Ý`0pùòeΟ?Ï¥K—²l26 \ºt‰óçÏsùòå\obþæ›o1bï¾û.óçÏÏÕüÖØµk®®®Ùº’"§,9~,ý–€J!rG¾¿JN¡PpìØ1.\¸ÀÅ‹-ÊŸ—^~ùeºtéBLL ³fÍJ·<((ˆ¥K—f8Æ)Å´iÓèÛ·o®í×СCY³fMºô=z˜Ý—=zpãÆ Š+†ñññDEEqúôi³A‚Á` fÍš8;;cooOBB?ÎÑx°§µjÕ FÃܹsQ«ÕYv]Y›ßŸ~ú©Ù‹rÚ%—KKÊ—.9!„x¦ŒÎ„¯_¿Î®]»8wî\¾ØONŸ>M=ðññaРA(•JY³f ÞÞÞ:tooï ˈ‰‰áðáÃéº{râÎ;fÓ>|h6ý¯¿þ¢[·n,[¶Ì”6hÐ 4hÀ±cÇÒåoذ!õë×O—Æ ¹Z¿Ó§O§W¯^¬]»6Oò[Â`0póæM^{í5‹SkkHž´óõ×_'..•Jŵk×(UªT–ÇONöG!D˜2»JΚ3å‚ð²hÑ"ªU«ö\º{Røúú¦ ~–-[F“&MÌæ×h4fó?׺ìܹ3uêÔɵ+ã6n܈»»;öööÏô½èt:lllrm†r ¦„x¾‰‰I$i“0èå ¹üB©Tac£ÁÎÎú;äû.¹òåËÓªU+š4i²<óÎënˆàà`ºuëF=صkWšeŸ~ú)S§N¥Q£FlÚ´‰:uê˜-cÙ²e¬[·î™œ¥gô£œ[ådפI“˜1c'NÌÕ È3gÎäóÏ?Ï•ã+³üžžžlÛ¶-MÚ|@íÚµÙ°aþþþ9*_ºä„x~bãâxÊå+W‰ˆˆ ÉÁ’ggg*W¬„WÉ888XubY ®’«_¿>/¿ü2Mš4áèÑ£ÏõžkÛ·ogРAL™2Åìò©S§šò™ ˜:„^¯§råÊϤþžWzv¤\é6fÌ/^lºîY·¤ÄÄÄd8™h^_%7kÖ,œœœØ¾}»E“´" ‘ÿ$%&ÎÙsçhÙ¢9åÊÉÄ•ùâsÑj¹vý:ýõ7.®Åpqu!!Þò« D—$Ï‚¬T*©[·n¦c<žÅeÜš,ü§gcNm̘1én‰!’¥¾Òí›o¾áÝwß}æc×Ö¯_OLL ØØØ P(HLL4=?{ö,íÚµcåÊ•y¸k4š\»JNñì%$%qñÂEZR±By©|ÂF£Á¯reÔ*5¤gOß‚0YH 2ƒÁi÷\^wCä¤ü˜˜"""rõ긬öëy¥[kÏž=i®tK¹.£{ÆåÕgÞ½{wºwïžáò€€vìØ‘§Ç‹5ëH—œùA¯'"2ß2¥¥2ò¡2eJ³yËV«'Í7ó0Y:g̰aØ0aMš4!,,,Ýr'''«~ЬeIù;vì0;¶gâĉ4oÞ<Ïê/?¥[kÔ¨Q|üñÇiÒRî—ŸZRrÚ%·aÃæÎ›åñcé½¥Iˆ|4 YöFˆçÃF£ÉÖ<‚fâʧƒ¦I“&Q·n]îÝ»—fÙˆ#HHH K—.n+>>žÄÄÄlígVåwëÖ„„³÷‘Û¼ys®ÞöE‘Ù=ã”J%›7o~aÞk@@@¦lvíÚ•„„Ó„œÏâ$D!DÖ T—\j™uÏ:t???–,YÂ!CÒ¬7nÜ86mÚÄ–-[¨X±b¶ö)£ò/^œá›¿üò ¥J•ʳq/ÑÑÑ,^¼˜¡C‡ZTÖ¦[[¾5¬½gœ¥ûü,GKó{zzRªT)~ùå^}õÕ4Ë–,YÂÅ‹-š Õ’ý‘.9!^ Obb }qr|îû﯒Ël&é”™˜8wî\šn°?ÿü“FqâÄ <<|ÈÖ­[9pà€ÙüŸ}öY†WÖå†;vФI‚ƒƒñðð@¥R¡P(2¼eJÑ¢EͦgÔ„œQù 9¼OÒ™3g2½gœ^¯çàÁƒ4nÜØª}Î ÖnË\þ±cÇ2zôh.\¸€B¡@§ÓñðáC6oÞÌ¡C‡òt„Óº › }¼1 ïsÝ~¾¿J®W¯^™®7lØ0jÖ¬™.ÝÛÛ›ãdzpáBôz½é >£ËÅ­õtù^^^™Ny°yóf¼¼¼ò¬þ¼½½9zô(‹-Jsÿ¸>øÀlþŒæZ½zµUå4(Gû]¼xqvîÜ™ižÃ‡gº<£}Î ÖnË\þÎ;ÉÍ›7Mi%J”àøñãV·@f¶?Ò'„ /‚'1±ù"`Ì÷]r–ü€4jÔ(Ãu'Ožœ§ûfiùy,¥ÞK§,¨Q£†ÕûiMù¹ùùf59注Ûìn+£üÌóý‘.9!„È=î*9!„È-%½J˜Þ>¥¨Ù ïÏ^C’±ð¼!„eò}—œ"û'!"k÷CB“ëK—Ä­óû˜9üº&–ç÷ õ¤r„&J©!^LMÕ!2¨/µ ¾5™»îÎÿ0U*D‘F¾ºJîÀL™2Åt–N§“çò\žgóù±cÇhÚ´©|ËYÉÞ£ ÚØ1iÒ"®³ìó‰|õÓßèïÍfb¿º¦å%½J°iîÌú~='/Ý&6ÉȽûw3Ü×K¿/`Òœ¿t[JôïSÆ÷khZþÏ÷S Zô+—îFáìS…žoOaò f–—U~k÷OiaÊC† ¡aÆò‰‘K6lÈàÁƒ¥"¬ÿè74Ži¯¼­ÑêMâê çØµ›ß³–FúMt»'Mž7¾:ÏßýÎÕ›×ÙúÝûÚ“‰{BLËýŒ¶Ã¿§Ã¸%œ¿~“=«§rav/¦ý’¦œþsN1dæ Î\¹i0ò`ÿÇt»…צ.ãìµ[ü³n.vG§›–ßÞ2’׿<Å{ ·ríÖ 6/|S³0fë³åYšßÒýBZ˜òH^\%„–2´Ü9¿ŸOßO•~+Ò,»rjï/ŠWà­ÏâS¿0¯µ)yÐÏßѶª ¥kµcÑšÁ4ì÷-Ÿ`Éð¥¼þÃ_ n‘|e£C¥,Ü4 ÿN3åô7¦rƯ_@Û’Yßgᨸæ=jº`ï[‹÷æn1-_0q+o®9Jûj®”ñïÀâµoÒ°ß×ÌéøYºò,Íoéþ !“B¼@R®S(Ô¸”,ÏK='³qÜ­ÝÚ'ç™5q&[þ:Ê݇ÑŒÿæOÛ@ÿ¿JÅÒ¼v®8œ¸‡ ä€ieh Q½ýYüÔö ð_ÀÔ×˲`dõƒXý ™³!<žÃ•Ó.w®<’øðÀgÙÎoéþ ™¡ûE«O ˜„…ZÊUr™Ý¹;§^Ï’ ŸSÖÇ{ ”ôöÍ¢ä´î F8}û¾iÜSF4VÓÏΠ~cŽòkä:Ë?\ºèB®xÍÝúÌ.¹JN!2±øÊc8€ªe½’ƒ% òRú{~{åqš×¯~ƒƒÇw*èïåÈ!¹w†ÜÛÓù"2\ÞÕÍž—£ÒîÓ寱wëž+ù…eálnÍú±´Y¿íOj~¯Œdý+#3\Þ|ð4þ<ÍâíY›_dÝ "^œú”€I!„È“x‰˜^¤ú”€I!„È‹x²ýBÕ§LB‘CÒU%ÌþÀçr‹HaŸ×IZ˜„Bˆò>wʱ³µ`݆MRŸ0 !„/Ú|îýÂ÷ïÓK*ô9“€I!„È›ˆIê@&!„BdD©T¢ÓêÐh4RùL’V‹Riý¼Ý0 !„¹,©T¸º¸pûÎ*”/'’Ïܹs7W7ôz½LB!Äóbc£ÁÏÏÝ{ö ×é(W¾6ÒÒôÜ%iµ\¿v¿þù‡–-[˜˜$“Bñ¼ØÚØâááAㆠ9|ôÛvìÄ`0HÅ>%qppÀh4JÀ$,ÊèÑ£¹páîîî„„„P¦L´Z-ööö„††âèèH•*UèÚµ+ݺuãôéÓ¼ùæ›lݺ•ÀÀ@N:E—.]8{ö,NNN|õÕW,X°[[[V¬XA\\AAA¼ôÒK( 8p Mš4‘BñBHJLâþýûì?p€W:u¤¬¯/*•J*&|½`!ã?gÙç¢ÕrõêUvíÞƒ›«3.®.$Ä[~£L…ØäÉ“ùõ×_Q(¼úê«Ì™3ÇÔêLÏž=©T©§N¢hÑ¢iÖmÚ´)›7oÆßßß”V«V-ÚµkG§NØ»w/£FbÔ¨QÌŸ?ŸöíÛS¼xq–-[FÅŠ¹ÿ>Ÿþ9cÇŽ%22___zôèÁСCåÃBX II:|˜]»R³f ©|ÂF£¡ªŸ*µšþÙOß>½­ ˜dÐw!³k×.7nL•*U8|ø0{÷îåܹsL:///bcci×®¯¾ú* ,`Û¶mé‚¥o¿ýOOÏ4ÁRŠE‹ÆŠ+Ò¤1‚+W®Ð§OÚ·oO@@ÑÑÑÌ;—ƒrñâEzöìɯ¿þJ•*UhÒ¤ £G&$$D>4!DbÐëyðà!>>ÞRÏ€Ñh´êá[¦ =²zBQ ˜ +W®0dȪV­Êÿýßÿ1räH.^¼ÈŽ;ðôô4å›7oÕªU£L™2\½z•víÚ™-oÞ¼y,[¶,Ãí­_¿žO>ùÄì²áÇsõêUzõêEÛ¶mY²d‰iÙ!CLƒÉgÏžMll,-[¶¤I“&ÄÄÄÈ)„(H?ãÒ ÷œét:³é6M¶nU#]r/°Ï?ÿœ¥K—booOË–-9zô(ŽŽŽéòÅÄÄТE ôz=Û·o§J•*–9`ÀÊ–-KåÊ•3ÌS¥JœÙµk­[·6›gÔ¨QôìÙ“F™‚¥Ôš4ib×4~üxjÔ¨AãÆYµjJ¥ÄùBˆüM¡PH%¬^½š:uêäJ™òËóZµj¾¾¾üý÷߬\¹’“'O2wî\³ÁRTTµkצcÇŽœ}•JEõêÕyçwäCÙ¦ ¦yÅjì‹O·,þÁïT¯ÐˆO´y²í’^%ò4¿ÈSÁøy½¼“)ÿ{•RN6™y–æ3'úêï h[l\¨×vÛ®Eg;_f‚ƒƒiß¾=“'O&::šÉ“'Ó¾}{‚ƒƒs\W0½ ¾ùæªU«F`` çϟϲ 2&&†ZµjÑ¿‹‚%€iӦѧO‹÷©yóæL˜0Á¢¼‡")) ??¿Lƒ,'''–/_ÎÙ³g¹ví*Tà›o¾‘@XMãäÏOó;3ºgºÔ'œF-S{Œ!pöÏÔ)¢‘ŠÙûqUŒ¦ýƒˆòlÆê#·r%_ú“ã4öïG÷ .?Œ%öáe‚º{ðZí&Çh­ÎgNê–£ñãÇ3sæL†޽½=ÇgæÌ™Œ?>Ç-L2†©€ ¦_¿~¸ººòçŸR±bÅ,×‰ŠŠ¢^½zôëשS§Z¼­Ë—/³iÓ&‹óϘ1ƒ€€¾úê+‹òïܹ“É“'S³fMNœ8³³s†yÙ¹s'W®\aРAÌ™3‡Q£F1bÄ9(„Å|^þ”ÖÔçõ¥øqHUÎ,ìÇN÷wîê›gÛ½š§ùÅóWPºäBÎíËÕ|O;>áux}#_¾øoŠÞþ’g«1pâ ÎÌmhU¾¬üöÛo¨ÕiC›7Þxƒþýûç<–úà7n]ºtaÒ¤IìÛ·Ï¢`ÉÚn¸¿üò Å­˜Q’»Û\\\8}ú´Åë1pà@êÕ«gÑ•q+Vdß¾}lÛ¶•+WÒ¸qc90„Uú.\Kô—ýØž@üƒßéóÅm–¬nѺÿ|?•—V§´·5¶!hÙ?i–—ô*ÁÑ5_Ы]•|Ká]ÒÇ”žÚá‚hS¿*¥}’Ë™ºôï4yž~~lítoÝ€r¥Jâ[ÞW}Èù­|˜ù*`’ŸW€ïÖÞäñ釆4ÿ7Ö,¶:_–­@jµUé0½àöîÝKùòå9vì§OŸ¶¸›,;Ýp)æÍ›—­Ö???8`Õ:S§N¥uëÖ™Ži289rwwwêÖ­KXX˜(²/XÛ²|ÿC?FõšÉÔch5ëgêZÐw{ËH^ÿòï-Üʵ[7ؼð=NÍÀ˜­wÒäë?çCf®àÌ•ÛÜ»7]9÷v¼Oß/ÏòßïàÚÍl]ò\˜÷z¦Ûî?ÿo}ú#ç®ßåü±tu?BŸÞ?ȇ™¯&ô °-"îéÒÜ{ñ»Õù̱v&ô]$&&Ò½{wÌ’%Kؽ{w¦ÝV©ÅÇÇãïïou7\ʺ¡¡¡tëÖÍê}0`kÖ¬±z½Œ&ÀÌÊæÍ›éØ±#õë×çÞ½{rЋ8WiŽ}\ÿ>>Ùšÿ( €dë=¯_¿ž¶mÛÒºuk¼½-Ÿ17((˜8qbº9ž„xÚOÃÞ¦÷Ò]t<ø€öð÷ì—²\gCx<‡+»¤ ¼*$>¼ð™)­¯WæW•®{Ç ÅÒ¤«ð0?Ãu:¸Ù¥ý"·-‹^!d>"-LÉ<4J$ðz*2$=@©ñ°:Ÿ9Â#Ø´y«ÅûÔ¥sG ˜^ä`©V­Z 0ÀêÖ!€°°06nÜÈÉ“'³µý¯¿þšŽ³w€ÙÛÛÉÍ-m KQ¥JÆŒC‡8uê”Uë6ŒŽ;Ò¨Q#nß¾­@Qá§fóEä@NWuÁXyejùóë{Áô,é˜ÍÓ6÷k²ó»)¿µ/@À$8í]íX÷(žwŸú{Š´;×öVç3G©TZewòcùD󹔉%³Ó•–¢U«VLš4 —l­ùòeš6mší÷P®\9víÚ•­uÇŒƒF£ÉÖ{O™sË–-™NŒ) /£>–÷,dÂ÷É7|V¨™½¨'“ûÎ"«Q]ÝìYp9*MÚãË_cïÖݪ}èánÏwOÍ5}u¡|8>`’¨`Ø«¾|;ópºôÃ3¿¥ìkìÎg6Q(P«K· IDATT?”Ùül$`ÊDz{E[jsçÎÅÖÖ6GÝRF£Ñt “ì0`›7oÎöú{÷îeùòåV·2Aò•z'Nœ ""‚FÉ=éDçöçlÍOx-ÕYmñ€ôS¬á½íw3]wøôŽ,í=”§n£3è¸}joõ^J§OÞµjÞù´Kzÿ]çî¡3è¸{vÃû,‘§€+¬c˜žëÎø–weì¢ßy§C÷ˆß¥ër?|\Çê|f·©Tšzƒ!ÍëŒÒ%`zÁ‚¥ì^Ñ–"**Š/¾ø‚­[·æh_âââr´~58{öl¶×wrrbÖ¬YôìÙ3[7L„ä‰1©U«–MmôaúÏ>Çìoº¦[6jåd~9„P­>ÃõKwžÇ²QÕø|h{Êú”¡ãÐÏ©6zs:–²j?|ÚÍfÕ¨ÊÌx½ eKùÒað Êÿo! •|H:pP }U˜Ôϳ›/5S]žX̓_'RÞÍ{·òLúõ? Ž“Æê|§)¾}z³zõOiÒV¯þ‰¾}z§IËÔewbɧõîÝ›ž={âåå•í2¶nÝjõØ£§U­Z•¤¤¤•ñꫯ²xñb‚‚‚²]'3fÌ@­V[41¦xñiŠ6ääËæƒtŸ>\»œõtÍOãÏÁÓ2\žÑ„“O§7zc »Þ˜òßIJèJVÍme6¿¥eŠüÕÒ’ŸYz™½%ùÌå)Z±#«þÈzŒ‘¥ùÒL©‚Ó)S¦Ò£Gwâbcéß+W®döìY¬[·>M¾ì¦|&7ºá ù¾oW®\á‹/¾ÈÑþìß¿Ÿ—_~9ÇïËÜ­µlÙ2V®\™£2R&ÆlÕª•l"ßèÊ•+ÇŠ+8p €â¹ª×{Ûz“Šx‘Z=dZçœúûûsâĉ\¹%Ši;RÕùC«V­rÜ —â?þàÇÌ•ýòððÈ•r^~ùe¶oßžãr<==qvvfÏž=9.ë÷ßgâĉ2#¸"שT*ôz½TÄ3 NÍ=4³é:½![½/Ò”,^¼˜ÄÄÄ\ –víÚ…ƒƒƒÕ7Ê5'&&†øøø4i_}õ¨ÕjŒF#z½µZM‰%:th†eÕ©SN—+õ5yòdFŒ‘£+ï gc !D†-*în®„=|„«««TH^×·•ÝŸ÷îßÃÝÝÃê€V¦ç,22’éÓ§sìØ±\)oâĉ¼÷Þ{ççêÕ«,X°½^Ï™3gpssÃh4rÿþ}BCCiÖ¬666$&&âììLݺuÓ•ó믿òóÏ?“˜˜ˆB¡0åOýüÒ¥KÔ¨QWWWt:~~~¼üòËÔ®]› *X¼Ï;wfâĉlÞ¼™Î;稾ƌî]»èܹsŽæŠBˆ66ªU­ÆÞ¿ÿÁÖÖ–Ò¥|P©TR1y0YÖZ¤Õé¸~ý{öîå¥6mHL´îêm ˜ž³nݺѣG<==s¥¼¨¨(úöí›áò+W®púôi–,YÂÝ»w1 xyyѦMªW¯ÎìÙ³)Q¢;vìàçŸÎñ`í 4`É’%Ô¬Y“={öðàÁÿ³wæq1oÿ55íh“JQ*Ѧ %K…º ¹É’½.ÂMv’²o—r+k\»\D!q][…PYrUD &SMM¿?üÌ×ܶ™š¡x?yÔœÏû¼?gΜù|^Ÿ³¼ÏkDDD ¸¸ÒÒÒ(**‚ÌÌÌ`kk (*Ö¼×æÍ›áçç×hÁ§OŸ†¡¡!6n܈Y³fQ£$¢QÈHË uk5ØuëŠËWþAaaQƒcÈõ³výF…•ªš*úô¶Ž6X„‹ÉG‚érãÆ äææâÒ¥K"ñ===¾´¤¤$ìÞ½)))(..†‚‚LMMáááÁƒCUUµVçÏŸ‡ŒŒŒÈ>¯‰‰ rssannÎ[ÖïééÉ;þþý{<þ[·nEdd$‚ƒƒQ\\ ]]]ÌŸ?Ÿ/€ƒƒ8E"àòåËèÖ­aaaA“ ˆ#!ÈËËAEY ††”¤éÂ⢴´²²‚y­¬ä¢¼¼\h±D‚éÂår1jÔ(„‡‡‹Ìç¡C‡‡={ö`Ë–-())ššpòäI¡{±²²²°fÍ‘•ÏÂÂÛ¶m«5®SË–-annŽˆˆ¾ô¨¨(,X°ïÞ½ƒŠŠ <<<àíí9sæ 44T$‚IKK kÖ¬ÁÈ‘#ñàÁƒF‡c âǦªª ìÒR°KK©2Ä ›ýuê˜Ó7ÂÓÓVVVpqq‰¿cÇŽ!''}úôŽŽ"##aeeÕè¼(…ƒ››[ƒVÊMž<™·Þµkׄˆˆ´lÙOž<Á;w`iiÙèò5 ÇÇ„ °gÏj¤A ¦oIvv6nß¾ÌÌÌFû ÄÑ£GñòåKtïÞÇŽCË–-ERÎÌÌL(++‹ìs+++7:S=x¢+!!“'O†››”••áèèˆU«VÕ:ïI> CCC°X¬Fù!‚ ¾/hÜá0`ÀÌŸ?¿Á½7 pqq¡¡!nÞ¼‰¸¸8´iÓñññ"KÀ§èÜuÍqUUU‘îßÖ·o_DEEAKK ‰‰‰`±X066ƲeË<Á’Á` G˜>}:5T‚ ‚õ0}efÍšeeeøøøwË–-‡‚‚&Ož 0 ìÝ»:::"ŸwÃápDþùE½¿Rß¾}Áb±Ð¢E ìÞ½¯^½ÂèѣѩS'Œ9Ë—/ÚgDD:uê6› 999j´AMUUÊÊÊQÎ)·’VÈ5 IHK3!++ü‚&L_™¿þú ·oß*ORR¦NŠÊÊJÄÄÄ S§NÕ„Ôü!Òrfddˆeâ³ »b CûöíqõêUôë×HHH@NNÆŽ }}}Œ=Z¨  rrrprr¢E‹°qãFj´AMÉÇxöìn%߯«W¯¨BÄ„†Aš T”UйsghkkA^^^¨{ ¦¯ÈôéÓann.ð¼ .—‹!C† -- «W¯Æˆ#j´c³Ù5“l,âˆPËf³ñüùsèêêŠÌ§»»;Ö®]‹~ýúñÒÚ¶m‹„„äççÃÍÍ ýõ‚ƒƒŽÛ´lÙ2ôíÛ—ABS^VŽÜÜ\\½v ƒºAOW—WЉ­aÛ±h`û0–s8ÈÊÊBÂÅD¨ª(AYE¥B¬°#ÁôIHHÀ­[·²Ý¸q#ÂÂÂеkW<}ú´ÖÞ‹%Ò‰Ù_*qqЮ];‘m‘ò™É“'W Eðuuuܺu /^ÄÌ™3€M›6ÁÉÉ©NŸíÛ·‡¦¦&ÂÃÃ1uêTj¼ALiy9nܼ ÷!C`nnFÒDf2aܹ3$¥¤påÊUŒé)”`¢Iß_‰ììlHKK×»ò*??ÆÆÆØ³gñçŸÖ)^¶nÝŠÎ;‹¼¼±±±"Ýåù3"xË`0Àf³‘ŸŸ_«““îß¿•+WÂÛÛõúŠŠÂúõë©ñ!ÜÊJ¼~ýÚÚm©2¾UUUB½tÛ·ÇÛ·o…(J‚é+áë닉'Öz¼¬¬ Æ ƒüýýq÷î]hkk×ë÷Ô©Sun…ÒPîÞ½ ___‘û­¬¬DYY™ÈýöíÛaaaõÚ 4©©©8}ú4ìììPRRR«­‘‘ÔÕÕ±mÛ6jÀA{§a¸oLm£ÒLfƒÜI0}%233k]Çb±`jjŠªª*A<ÛãhijˆÕžh*‚©éß^³®´Îh¯ÖRLY´3¶ÅœM¡¦GÏïœÃÒi¿@GQZh1ø>ë ¼œm ,/ iyeØ8{áì“÷ ¶«‹;wîÀÕÕxÿþ=áêêŠ;wî4þþEÍZ¼°X,ÀÖÖ–/ýܹs°µµ…P1‚¾$22Æ K¹¥¥¥«•YTOâÂÉÉ Û·o:Ÿºº:?~ yyy˜šš‚ÅâßÅzÔ¨QuÎu"š'c¶AÑꑸ\È/’Ë 1zumC•D4âá°é÷0ööD|‘ÂÏÞ»Œ…›1ëÁŽ™‚ÞÕ<» B±z/Hn{+ë6ì,=ÑzX2Þ” äM‚†µÆ‹¸ÃâmWÛ}åókÑ¢E …¯¯/äääàëë‹ÐÐP,Z´ˆz˜š:‹/FïÞ½«‰¥I“&áäÉ“˜7o^ƒ}çææÂÁÁALOGâù±ëèèàÞ½{bñ=vìX¼}û¶Áù?ŽÑ£G£K—.ÕDS»ví°k×.jÐß’2zØ±× 3»1S19t/îe¾@NîËê¿ãø9µá>æïŒÇ“çÏ5·Œ«óÜc~ˆ_Wíǃ§/‘ž!jI鹇¾Hêa WVŽA‡_ÂEæïla)ÜÕ䫥˫¹£´ðŒÐvµ=à û"ÁÔÄX¹r%<<} äääàÌ™3xüøq³ùAŠs5›8QQQAtt4‚ƒƒíK]]prrÂãÇy«ðH0uürøÞ1ò¥ð=߉`j>8);§ÃqaNÝG‘úvU‘ű·lL×RàKg¿=YW¡íj‚Á`%‚Þ†“QRR‚œœÜÜÜ0sæÌW6”ŒŒ ±MžÎÏÏÇ‹/°téRHII¡ªª •••"ûÿÑ£Gb«ó#FàСC"óçãンgÏ¢ÿþˆŠŠÂ Aƒ¨a¢*‡°Œb,2þ_/Ó»Œ­S.̇»š"ž¼Ç£ÿõˆ¾ÏÚNü]¦æ¡|¯l«²÷àìÕdEîßç]L ½‰é¿óox~34z#v mW£’ã+lCC‚ILdggƒÅbáØ±c’’œ9sDêŸÉdÖØÓQVV†'Ož@JJ ¥¥¥Øºu+/cyy9233Ñ¢E ”——ƒÃá ¢¢ÊÊÊ(++ƒ„„¤¥¥Áb±Ä²ßÛg8zõêiii¾óæää@SSååå‘‘AUUJJJ ¬¬ ÈÊÊbúôé––ƒÁ€¡¡a"õáÇ"-oLL xuÂf³E*~‰æ‡ï 78zzÃ&zœÌ´{/s¼v``èßBù™ºj(<§¡ë¾µèÓ¹ ^¥_Æ|¯(ªàï€æ0‡)>d8ÜÃÞ#áAº‹¨gIBB‚o„Â:d éˆÙ¦±ÐËJ(ƹèPxî–À¥<+¡íj<ç=F5®ˆ«-S€Ãá mÛ¶˜;w.Ž;&2¿¯^½Brr2 0zôh|üøÿþû/Z¶l‰÷ïßCII òòŸVXZZ¢G<‘eccUUÕzÏÓ§O,_¾\,uséÒ%\¾|Y [.—‹3g>­¸~ý:æÎ ¼zõ òòò`0(..†¸\.ÌÌÌPZZ*ò25 Ë—/G›6mðàÁØØØP#ÿi7h vå/E·+&½,†’v' ÷Û‹¥n:BùÑvY‡}yË0®Æç}€²¶†LÛŽKË}¨’›}SÓ’û)àÓ½ÉVµzÏÒSvôd%«‰¡ÿþ_ßô ¦¢5®§À´i‹¡ï÷3>Bæ=áàk°Rd mWŸ85ÒC‡ ÃèÑ£yiû÷ïGÌñã8ÚÈ{1 &1†ŒŒ 89958ÞR~~>¶oߎK—.áÝ»w@EELLLðöí[èééaìØ±¨ªª‚¶¶6Døc—ã…Dpß Þßÿ’›› ‹ÅëQËÌÌD¯^½PTTEEEXYYÁÖÖcÇŽmp™—-[CCCLž<[·nÅîÝ»©‘g ²÷¤å¸0i¹Ðþþ›n;~)Æ/å½ÿø*û69Öh/¨O¢)¦¦ßÃ$ì\UAìk²iiè†}çëŸc$¨]µûÄâtéÒepw†%%3Æ ÑÑÑX·n-Ž;ÎgG‚© ‘ŸŸÊÊJ¬X±B û‚‚lܸ÷îÝÃëׯQ\\ŒV­ZÁÚÚãǯv³·°°ÉÄæï---ÞÿÈÈÈÀ¥K—øDçîÝ»±iÓ&Þd?kkkÌ; 7°X,¤¦¦R¥"cÐoë°rÖ˜´o…7I™²]|(H* &Bàºþ¢‡ÉÂÒÇcb0ä矱`Á(++ãÄ_‰$œ &1ñàÁÈÈÈ@S³ö0òéééX¹r%ÒÒÒxÃIÞÞÞppp¨wB·¸çЈs•œ¸Wà}é_]] 䥥¥¥aÇŽ¼=âÚµk‡ÁƒcèСÐШ}£Ó5kÖ`ذab Jüx,µãbþ(<È.„b=¸x,ÅᙦT1͜懩ÙÖõzŽ,-,qòäIŒ7{öìA—."9 ¦¯Ôóñ™“'ObÓ¦MÈÍÍ…‚‚\]]±eËæ}‰ŒŒŒØÊŸŸòòòfûäUŸssslÞ¼À§XYW¯^Åž={°mÛ60 èééaÿþýÕDk§N>| ÆMˆ Ïy8ë9*â{ëõ ¸ÐßRœZZZ"%%E$[¢`3Ïž=êU«xï÷íÛ‡ÐÐPHKKcÖ¬YšO#nvìØnݺýß“‚‚œáììÌKóõõE÷îÝÁd21~üxx{{óæ‡-^¼S¦L¡NDHJJ¢²²’*âŠS&SºÆtNEEƒb1‘•••4hÎ;¬]»ÑÑѸsçN£ÅRJJŠX—ý¨shª±|Í!¹†°mÛ6}Z¤›ñ}RUU…²²r”sÊÁ­¤rMçþ, ii&de…_iN‚ILp8(**"11ÑÑј4i8f̘Ÿzâps’ãr¹ˆˆˆÀÖ­[!))‰ýû÷ÃÒÒGŽ“ɤND”|üˆgÏžáVòm¼zõŠ*DLh´i#„Xb@EY;w†¶¶äåå…º_`›Še€ÅbAQQ^^^ðòòµk×°|ùr¬Y³½{÷Æš5k´‘+­’«›üüüçMLLÄž={påÊà?þà›·´eË’#¢NÊËÊ‘››‹«×®að@7èéêRàJ1±5l;-l/ÆrYYYH¸˜U%(«(£Tˆv$˜Ä„‚‚|}}±gÏ^Z=‹…  gÏž——‡©©)ºví WWWtìØ±^ßššš8zôh³4â¦O%%%ˆŒŒÄÙ³g‘–-[bÈ!غuk¨¸¸zzzÔÀ ‚¨•ÒòrܸyîC†ÀÜÜŒ*¤‰ Íd¸sgHJIáÊ•«5Ò“SS ]»v¸~ýzDZuëVÀ«W¯œœŒíÛ·c×®]`0hÙ²%Ú¶m‹‘#GÂÁÁ¡Ú{„ ؽ{w³­qîƒÇårQQQQëñ‚‚$''c×®]xøð!O€Î˜1 ¨s¨ôîÝ»())ªª*5p‚ j¿UVâõë7ÐÖnK•ñvTD·}{ÄÄü%t@QLâzÂ(-EëÖ­±eËÌœ9³V; 8äÝð³²²°wï^DEE!88ïß¿‡²²2 œœœ ¢¢"Ö^ qɱÙl±ù>þ °°ááá€ÔÔT¼zõ ;w†ºº:ôôô0|øpLž<¹ÑçËÈÈ@ûöí1kÖ,jàA|Óë(Q7)))9r$8 ²í¬H0‰‰’’¼ÿ ôiÓísРA4hÀÎÎŽ7ä—žžŽÿýÛ·oÇéÓ§Áf³Áf³¡¤¤„ââb´hÑòòò‘‘Á¤I“Àd2ÁápL&666Mf¨)-- /^¼à•m×®](++CYYòòò ¨÷$ IDAT¨iii¼~ý:::àp8èß¿?LLLÀ`0À`0°cÇ‘–)>>ŠŠŠø÷ßÑ®];jàA`j"üwTäÎ;pqqAaa!\\\KKKLMkkkìÚµ ;vìÀ€D"˜¾äãǼÿall ¼¡½/ù<ÌWQQsçÎáÈ‘#––Fyy9€OÝ–hÑ¢ÊËË‘—— œ>}………PSSã³ÿüYYzõêyyy´jÕ >|€¤¤$$$$PQQQíÿ3gÎ@AAwïÞE¯^½x~Þ¾} HKKÞ¿SSSÞ¹LMMááኊ (**Ö)X""""Òºf±Xøõ×_±wï^øøø@NNŽøw‚–¦ró^5øxS.»(mˆ†¦ï+tÌû¬3ðˆÓÿ¤¡ 0ï9+·ÁU¿eù²®†­;›p9ï8Ð2´€‡ÏB¬ñû¹Zä솞ã¿bÉÕÕ˜8q"vîÜ WWWœ={¶Ñ¢‰“˜Xºt)úöí‹7B]]]d½LŸa2™(**‚²²r½¶Ÿ‡ù>‹«ú ,\¸°N»ÌÌLìÛ·Oà±àU«VÁÁÁ¸té’Xê½²²Räq’lmm1vìX(++CWW—7ñ]ŠCB´0ßO‡uv–žpY{1ý¡„bœÅ‹¸œw–е_s {{¢C„Ÿ Gëöx›yÁ>ÃÑûþYi/’s|ÙôhÑ"„††büøñ___(((`Ñ¢E8sæ ¦¦ˆ¦¦&$%%ñúõkìÚµ ÎÎÎøùçŸÑ¶­hVMèëë#)) ...ßì3bùòåMªÞŸ={&Ò!³#F@YYAAA˜8q"lll¨qÿ@4eAâ§ió= ÉÝŒ; Sœþ?¥5LÙ€÷M0vq îmê^k^—…p&ēכ¤idM±§ Ðf°òHÎñ%'Ož¬6Ñ{üøñ3fLãE05kña``€ƒÂÈÈèÑ£G£‚*~I—.])–r›››#..®YÖ¹’’’Ȇ̢¢¢œœŒ+W®?~ WWWjØ?X¯Ì—ÿ'^a}»¡ƒŽtõ;cð„HgqøòdĆÁ½¯ tu´abíˆàý·ëu‡ÏEÑ£`¼úBeÇøá5ó5üNfóÒ8nâðG#xkV¨š—€_VÝÁœÈ³Èzþ§þ˜ƒ›ÆñŽîÊÍ{Å{ 󹈻‡éla)ÜÕ䫥˫¹£´Pøa®++Ç Ã/á";Çç ã…y‘`jbØÚÚ¢¨¨ˆ÷>00êêê°³³k´oää䈭ìâŽÅ$ŠŠŠÐ¾}{‘‰ÆaÆñm]SXXHúÓBN­ä¥ ¬À„Š"j-¤¡£*¶*rÐR–ƒ†’,Ú´’Aë–Òb9ÿ†[áÒÕrLä•Ûalð¦màòÝq{Na’‹ä™RPïØÛÿZŽèéÁµú”nÙ^ªºýæsÿV.¿…ÕÇ×àÖ²|þ%æ\X -Ç…5^´·Ï>„ #àÜ¥˜RL´·ø ‡&‹ìs ¸¹~Gs˜Þp¸h#]½å1¤Û€Ëy#”¯Œ#s0l_[\Ü9Xlç4‡IÌ(++ãâÅ‹prú4. ;;;Ì›7kÖ¬i°_9990ÿ?ø–86òmŽOG±±±" gkk lܸ‘—–˜˜ˆV­ZQƒþ†ÜO8ðÍË0@U–ÿ*£‡JÎÿ„tô+Š=-Yí÷$ `[­~ÇNíÏàËÀi¥‡àšª/¢:ŽÀKå¥Xý¸ Œ”¿ñ>\wš×˜ÿЛ¸Ö‘¿}*uôð»H>ñc÷0µf2𺜠Íÿnùk0˜­öóðÐ|ØÏ¼…؇ç --)²s¼-(Ä_§b.Çσ6ÒC‚IÌx{{cýúõ<Á|ŠFmnnyyy,[¶¬Qb,++K ýçš W¯^å…'5gÏžÅìÙ³åÃÎÎjjj8}ú4_úôéÓñûï¿SƒþFX·•„¹™)˜L¦P¢8éVòW-'· H{‘ 5¦p1zsPü 8Ããnë/ƬwCÿ˜{›rZáv‡–Ôš`ú~p\Udqì-ÓµøÒÙoAVE°y);§ÃqaNÝG‘žƒÁ`%‚ÚÉ@Crbf„ xòä _š¢¢"ÒÒÒÝ(ÁÔ¢E ܸqC,å׋ł‘‘‘X|¿}û}ûömPÞœœtêÔ êêêÕÄRNN$%%ùD/AÔÄMìÏ+:ŸŒR_xª°ð÷a¬z¦•6Ÿ†‚Õ­C ›µ'®,œåÈ×2Ìó‹š<Â3ùç4gð÷hIIH ’¾¢¯(˜¾Ÿ&Ÿ_tz³ZúÍÐpèð©7ÿ•ÍãÑ'àÎ<8‡Þ­åD~†„¤$%~1øÝ`ú ÈÉÉ!;;»šhº}û6bbb<‘xòäɸxñ¢XÊüæxÆŒŸ={Ö =|¡¢¢¢AOùùù°µµ…¿¿?þúë¯jÇÇwwwjÈD½L ÷Å®q ‘pç >r¸à°ßáÞÕÓX0Ö±Þ¼} ;y6:N ôçë9C¡Ó 0Ë'½Ö¾¬zêºáØ9âWœOûÜ ¼HǯžQ|6Ö-˜Ø{7\úš¾ ßÓ&ë=Àî!˜ýǼýXŠoqæÙ²[{‚­êŠñ!Ãáº6ÄÁ^MV$ç¨&N Þ«’Ëå{_[: ¦&Šƒƒ«¥+))!55íÛ·‡®®.Ž9"”ß.]º 55U,eþr²³(9uê¼¼¼DîwË–- šð®]»"00>>ÕŸbØl6ž?Ž%K–PCþNùr©}mËîEÍÚ§ƒìðg7¬ ÛAߨ~뎣³WX½y;ŒôCGk½ù‡Ø ½×AŽ£ˆóÚ·.Òê» ‡æ™aõ$gèéèb ÏtžÉ¿ÊmÝŠ ˆç€vZš þ|„0=LßÏí•©hë)ðúèbè«ÊANUK޾ÆÁ;×`¥Xw àŸŽ¡$çù6úËqÕc¹Àu@1+˜¾¯½äZºaßùúç ýw:‡0Ó;=G5Áô…8]ºtÜ݇ácI ÆŒñBtt4Ö­[‹cÇŽóÙQSENNýúõ«±ã3VVVHOOGff&:wî ‹%o===ìÚµKäef³Ù—AÞ½{'–!¹¼¼<Œ9R [‹…Ÿþ¹^±|Š+®¡A`"DP× ÞËÂÒÇcb°zõjhk·Åš5«q<&–|v$˜š0[¶lÁÕ«Wë 8þ>¾^„N:áÊ•+¸yó&"""êõ»hÑ"¾XLA÷zHÐíõkŠÓÿ¾,--‘’’KKË“`jâìÝ»ÿüó@C]¸wïúôé///ãÒ¥K5Ú*))‰<¼€ŒŒŒÈ÷“ãr¹bæÛ¶mFŒQ㱨¨(èëëãÒ¥KHLLDBB44êŸðúüùsÈÉÉÁÊÊŠ.AB#))‰ÊJ äðµÄiM/&SºÆôŠÊ†|&ÁôUU0vvvðõõØ> ©©©Ø¶m¦M›SSS,]º”ohoäÈ‘ŠçTþþþxôè‘H}fff¢E‹"¯×ââb 2„/íÔ©SèÒ¥ 6lØ€ëׯãâÅ‹u¿ý—Ñ£GcâĉÔh ‚þZ/) 5Uä¿yK•ñUî­B½rrs ¦ÖZhAK‚é+‰ÄÄD°Ùl¡ò9::"==.\ÀÕ«Wadd„€€ÀÇÇOŸ>¹¸Ç—¨ÓóçÏÁ`0xå=zô(ÌÍͱpáBlܸéééB‡H`³Ùxûö-fΜI – ¡‘–fÂÄØ—þ¾‚gϳ©§é+tFòªär‘™õ.$ §½ÊÊ„Ûu‚ |e¾\1-t~ \¸p/_¾Äüùóacc333´jÕ Žt]­aHI!77W¤Ÿ]T{½}ÉâÅ‹¡§§‡"##mÛ¶ÅÊ•+1hРû¨‡éÁ`0УG :TdÃ?žžžðòòB||< ÌÌÌxÃv\.‹/ÆèÑ£Áb± ¨¨eeehhhÀÑÑvvvÐÔÔDË–-yþôõõñáÃhjjФ|ŠŠŠ066®ñXII ^¾|‰ 6 33ÈÏχªª*°fÍ888ð싊ŠÀf³áææ&’²óêˆ ‚ H05!¢££akk‹ÁƒãäÉ“ö}}}äääT[BÏ`0‚ž€:{ö,ÊÊʆC‡!;;***¨ªªBëÖ­ñôéS,Y²ÁÁÁ044ltùÊË?­H¸ví ‘””„ÔÔTdeeAJJ mÚ´AçαdÉ8:Ö½»û¬Y³Ð¿‘|, ¸~ý:5J‚ ‚SS䯰±±APPíÏËË ãÆÃ… ê´c0¼Þ™aÆñËÊÊ›ÍÆüùóqýúuxzzBVVÒÒÒ(,,D‹-xó›¸\.ìíí¡®®Ž>àÍ›7HII‚‚ÊËËÁårQXXÈ Äioo.—‹Ž;BVV+V¬€®®._ÏV}p¹\\¹rIII"ùlll0eÊ¡â4A$˜ˆ¯Ì™3g`mm :7è„ÀÀ@ 77ZZZ òñy›‘Ç£oß¾¸yóf­¶III8uêf†Nž>¾QejÕª~ÿýw̘1£Q~ž>} }}ýF×ÑܹsE²2ÎÎÎ:t€——5¼”©g‘ ~tL:w"ÁÔ\™T ñƒ“÷ê5 ¦æÌôéÓ;;»F-utÅ\]øûû£OŸÆßXÊËË’Ëåâ—_~ÁÚµkì'??½{÷F‡H,B]( ‚ hSåôéÓPQQA=ì#00OŸ>mÔ&º oß¾mÔg¹zõ*äåååÃÍÍ 666øå—_”?'']»vÅìÙ³qæÌj`A ¦ï…ØØX(++ÃÌÌ 999 ;3fÌhôiyyùÿ3‘‘‘prrjpþøøxdffbß¾} Ê¿ÿ~ôèÑðöö¦†EA`úE“zôèÑ F³fÍ‚‘‘Øà2têÔ ±±± Î÷îÝ ‹9r †ðÍ5** ,@|||£c\A$˜ˆ&ÌŒ3°{÷nxyyaóæÍBç?uêž>}Šˆˆˆ„ 8räHƒò²ÙlTVV¢}ûö Ê?bÄôîÝ–––BçõóóÊ+pûömtêÔ‰AÑ`hÒw3ÁÑÑ7nÜ€³³3„Þ{îüùó°³³CïÞ½…fff žõàÁƒGä>räž??¶¶¶X¼x±À+Ú~ýõWtïÞ?ÿü3’““¡¡¡A ƒ ‚ ÁDüç d0pïÞ=Œ9®®®°··Ç£Guï‘¥¤¤„´´4ìÛ·Oà½ÔŒñîÝ;<~üXà²Ý¸q!!!Ù~9 'ˆXÚ·oôôô——‡`ñâÅÔ‚ LDÝøúú"++ >ZZZÐ××G~~~¾§NŠììlVçEFFBGG§^;a†áüüü`ff'''¤§§7(6AÄצ´´ïÞ½Gqñ;Á^ïÞ£‚áŠkbP¦ï”3f`ÆŒضm\]]ѦMìØ±£ÆLÇŽCTT¬­­±aÆ:÷k³µµÅ¬Y³Y¯`Z½zu6GÅìÙ³XkÏR^^V¯^Ó§O£mÛ¶xòäIƒ"~DTq·s-v9‹{™ÙøP(k´‡uO'xŒžˆ]?-XÐÒÔ@nÞ«fõÑšc™¿_ÁT†ôô‡¸zíZ½¶’’’°³ë'GG°Ùlª<LÄ×Â××¾¾¾Ø¼y3ŒÖ­[c÷îÝ044ä³›}úÔyÎýû÷ããÇèÛ·odz²²0vìXâĉÕzŠ^½z…Õ«WãâÅ‹¨¬¬„Ξ=[­ÌÑXNûõÃêg¬^·Fí òÿÍÄ¿/âP ;œMþaê‚–x¹qó&BWAFF¦Æã………8pà&Mš„%Kƒ0Àõ'LM zTÿAør¨ÎÓÓ:uâÍú<Äfee…ëׯcûöí000ÀÂ… Áårùü´iÓªªª˜7o^­çZ¼x1¢££«¥s¹\ôîÝ®®®9r$=zÄKIII8p ÌÍÍѯ_?¼ÿqqq¸ÿ>"##I,ba^L&އ/DS=È3%Á`ÊB£ƒ†Œÿ {~ ±DˆŸÊÊÊZÅÒ³gÏ`gg‡éÓ§ãúõ먬¬¤ #ÁD|kf̘۷oãÑ£G EFFúõë ØÛÛ#<<1118{ö,ž={cccØÛÛãöíÛ<ñññ8zô(Ž;VÍÿ AƒÐ³gO¾€“%%%ðòò‚/ÂŒ3œœŒ!C† sçÎðõõEïÞ½‘––†û÷ïcÇŽÐÔÔ¤/Œ+†²R8xç@¶É‡×cXßnè £]ýÎEø‚QèÔN†ÆV7gÞ~ñ9´45pëÐzx¸Ø££®Újiÿ¯.bÃàÞ׺:Ú0±vDðþÛBûÿ^(**‚³³3233±víZ8::Ò“ÑÔpttÄîÝ»qãÆ Ü½{ÁÁÁÈÊÊ‚››Æ¬¬,8::¢k×®˜4iÌÌÌàïïyyy;v ~~~HMMåù›?>=z„èèh\¼x³fÍ‚‹‹ ôõõ‘›› Ì'â£/’Ÿ<ÇíÄð­ü Cf'ò×ÙÆTLÝ‹{™/“ûðæÖj8ûîÄ€yQHú‰–áá:,ÿ;OhÿÍ‘ÿ.š™?>²²²‚9sæÐ² #á3eZÕáÛ÷ê5/ñ¯S±˜â=Qd'ÉBÀBç}þüù§‹®.}[_™ÌÌLlÛ¶ III^ðJ.—‹ŠŠ ”——CRRÒÒÒ¼ÿ™L&*++¡¤¤%%%C^^VVVèß¿?$%%ahhH“·‰ZÙ¹?rã»&™›™‚ÉdBRRR`?I·’ùüÔDeù[\OHÄûñôécܼü7ª bÛÞ°j%Íë-‰ºÿTeyù*ÊžAÏÐ ÿ¾H,°Ð‡âþ[Xl¢Â³)|„î£Ky÷ÓˆE–ú(¿†0Û6¸˜lbç˜P,r¿€Ì{‘ðº )A<›ÏÂG²5v—“½Î^ÈκÀóz; ã´ø…_h·Ž(]{Ëûü¯ùË}°xYiÛößœ(.~‡È¨èh ‡Õ«W#11ººº¸|ù2áì쌸¸8ž½ÿœùY„¢¢bº4^æä *jGÓŸôíää„>àÍ›7ô­}e ±iÓ¦ºoHII˜6määä`jjŠmÛ¶‘"š’Òjèéú zº~z_Åýˆ£+†c¬{î_ðãÙ})–@JF•œBÞû˜6n)óÙ(Í» €O¢dìÔŽð ¾ œö@Qz®©ú"ªã¼T^ŠÕ‹±ÀH ñïÃu§y½åžÖ±ÿ¹ }ññMwAÕl)›0p>¤cíâPœ¾| /ß¼C·êÓ¸ÿoT ½dѯX(ö´Ä×ÙJHHØ&”ÿæHvv6˜˜ÈÊÊ",,Œ~ˆÍ€&/˜>|øÀëÑ qÓ£[·nHN¦É±Ä÷ƒCî‹va–ž=?x¬âý§ç1Á¿¡€31þá¶þÓ†ÖcÖ»¡¿ÿ Ì=á‚M9­p»Cˆ”¼Qe†uƒ†!µÿ"DŬžvkÈ1¥n)´ÚêòÙ1k(· H{‘ 5&£Ñþ›S¦Lù$v§MC‡|ZÉüÑtèСjv¥¥¥’¢˜ÒM‘&»J.!!óçχ»»;àêÕ«èß¿?~ûí7úÖâ;çk®’kŽPTîæEñ»÷xø07n$¡¢¢¢N[)))ô°³…‹K¿£Êk4ùUr«V­‚··7 |ŠíççG‚‰ ‚hV(*ÈÃÉÉ\Ⱦªª ¥eeTqMŒ&+˜^¾| oooÞ®¶¶¶(.¦˜AD3»ÑJIý‘ öGšVB‚IÄ\¼x?~ÄòåËqýúõOj»´صk&L˜@ßA?,4G_Ÿ&9éÛÔÔ“'Oð©kò3#GŽ„››}kAA|Ušd“ºº:–,Y ,\¸¾-‚ ‚ ¾ :›hvtéÒC† —Ë¥Ê ‚ H0Ÿ†ä¾–#eee(**BOO¿ÿþ;UAA‚IBBôM|ìÛ·.\@tt4ÌÍÍ‘’’B•BAˆ 'J4;> h&“‰Ã‡ãŸþÁ°aÃ`llŒ3gÎPA"‡†äˆfGUUrrrУGôéÓ²²²——‹Å¢Ê!‚ ~LÁDCrDMôë× ,‹Å¤I“°ÿ~üý÷ßT1AÄ)˜â¿Ü¹såå娏q#&Mš”Ñ6A„iòs˜h8Žø’)S¦€ËåB[[‰‰‰`0èÛ·/F…¬¬,0ô @Aü€‚‰†ãˆÏáüùóÈË˃¢¢"/ÝÅÅVVVðôôÄáÇ©¢‚hR”––¢¬¬\ð (ÊËAŠÉ¤Ê#ÁDÂq÷î]ìØ±©©©|bé3‡†Î;gggª0B0ª8ˆÛ¹;œÅ½Ìl|(”5Úú§|999ª8¢^NûõÃêg¬^·Fí òÿÍÄ¿/âP ;œM¦J"D›7º22225/,,Ä0iÒ$,Y„®?‘`"Á$4$÷cÃår1lØ0,Z´¨Þž#;;;ØÙÙaܸq44Gļ˜L\~’ˆÖÌÏsß$¡ÑÁ C:˜aÈøß¨‚‘QYYY«Xzöì~úé'dddÀØØ•••TaMš!K4ilmmѵkWL›6M û %%/^¤Ê#êÅPV ï¼È6ùðz ëÛ t´ «ßƒ',@:‹Ãgseç2ôïnŠvmµaÞ½‚v]áËØ9æÎÑüœ<ØuÃkÿ¾ˆó,ôñG^íqÅ´45peÇRôïnŠöÚ:0ëÞ¡VvŸ÷¾6ÐÕц‰µ#‚÷ß®æGÏEˆ¢¢"8;;#33k×®…££#U ¦†A+\&L˜.—‹]»v •/22ÞÞÞTD½„‡ûcÿ¨îp>ËWoÆŸGOáNV~¶c~ˆ_Wíǃ§/‘ž!jI鹇wüÅé™·!þÛcñ$ûNm÷Gê:/ÌŠý ;|.ŠãÕâ(;Ư™¯áw2›—Æùp‡?Á[S±Î²ßœŽ¹gõü)b#æàΪáXœ˜Ç;þæÖj8ûîÄ€yQHú‰–áá:,ÿ;O¨ÏEˆ–ÿØ?>²²²‚9sæP‘`j8¸òG½‘…ãæÍ›HJJ:¯££#,,,ðË/¿PEu¢Õ×WÓ“8É *Œ¸•p¾ƒ»Âîg_¤¼+ç³Ýpb+\ºBŽÉ€¼r;Œ Þ´ ¼ãa‹c1ñиZ¶SЉö–yx"NlH·ì/Õ ÝþÜ£ÅÅÊå·°úøÜZ‚Ï…9ÖBËqa½ç #àÜ¥˜RL´ëâ‚?MÂáÙá¼ãQ¾;0nÏ)Lr±€%£™`t°0vjGx_N{ (=×T}Õq^*/ÅêÇÅX`¤„ø÷áºÓ¼ÞrOëØŠÿ\†¾øø¦;€ @ô+Š=-Yí!TÀ6?!Z²³³áàà€ÄÄDøûûCVVaaaT1$˜ ÇýXÃÛÛ§N‚‘‘QƒýÈÉÉaûöíÐ’ †<ÜíÂ,={~¢¸ŠñþÓ󘃂àßPÀŽÿƒp[ÿi®Ý˜õnèïsO¸`SN+Üîв!%ç{Ç­Ò^äBIm¿©0eÊ”ObwÚ4tèÐàëëËûŸhÚÐÑd`±X°±±ÁøñãaiiÙh_´$ˆš±ü 85<“U°3 )«'”¯!ªrË(æK{—±rªÃxïe”úÂS…€¿cÕ3}¬´Q¨[‡@7kN\Y9Ë%gÔÍ Ï|Ç®¬moíÁ{?FSûóJèKn‚¢éË¥Ù³gS¥`"á8p úöí‹   ‘ù<|ø0’““qîÜ9ª`¢W¶ûÁÆu]¸w¥àr>"+åf»ÿŠ®S×åËw…vxzã\ê Tp+ð"5¿zîÀÀ•Óùì&ú"vòltœéϺˆ!ƒÐi˜å‡^ » t¾#~Åù´QÁ­À¿içàã ÷µSÿwc÷Å®q ‘pç >r¸à°ßáÞÕÓX0–Va5ÑŽÞ½{COO*„“h Ur?C† Aii)þøãÑ6ðÿhéããCAàˆjÜ8µîÆ\„/ sèYbR@Ú Ã‘ÙÂõr¶´»~3ÁoWèi·‡›÷˜øíÅF7>»#ýPÅ‘ÃZïŽ|é†Þë ÇQD€¹ª@çÛ=³V{»BO§=~š´æó#´¯︚µNÙáÏ oX¶ƒ¾± üÖGg/š/ó-””Dii)Ÿh:tèP5»ÒÒRHIÑô⦮$¾9QQQxôè=zôìÝwxÕ×ÀñïÖl %½’„éR¤Ê•"M@DðE¥)v¬`¡HQ¤«ˆ4 JSPŽFDªé„’ $!ÙdûìûG HB’r>>ûvï´3wgÎÞ;s§Pæ/ZŠ\“œFø°Q'>¼E¹Ü‹rãûÍœ–Oßñv‰;>‘ѼyS>1»Ýž÷IY«åþæÍ¤¡@&!²‹ŽŽfäÈ‘lÛ¶­P—³`ÁªU«ÆüAëÖ­%ðBˆ"ãåéAëÖ­èÔ±C¾Ê;NÌ‹N&×H–]zÅÅÅÑ·o_¾ýö[BCC }y³fÍ¢ÿþœ;wî,ô.@!„’0)¹K®ôüðCRSSùðÃ騱#{öì¹óÔ²;ÅŠŽŽfäÈ‘üþûï¥f›,XÀîÝ»ùã?d—rñç/þ1'òû/ß2 S-VéIÛ!3)ë—ÿ¿þî,Þ\¶ƒ¸øóÄŸ—±„\:¹ªå‡>@Ô½X›\™«ÿÅd1²}ÙDLËóÀðÍÙÊÙŒ»hÞ þÝGq,1ôÄcŒêîÏÿÕ¿Ÿ=F[žË¸¾åhذaŒ7Ž!C†àîîÎ!C7nÆ +ý-LÒ%W¼ÅÅÅÑ·o_¾ýö[BCK×!³fÍbÀ€²“ËÊ N«Ç7¤*­»÷çûß7S}Çg¼¸êl¶Äª¬Ù™f£{”¯TŽÛ =#™Ú¿·€ãëfÒ©qUtj-ÁÕ[0eå vL˜­Ü®áϳ¿0ip'ü=uè<ýé4x¿<ëä™÷óÒòåËéÛ·o¶÷úöíËòåËïüQ*T¼â«mÛ¶ >¼T>Väú-EKžt~Œ˜Ù•?G.Êzïú.£´Ø ¼üdGêDEP)¼2÷?܃/~Ù›­ì¦9ñpÓ:D„U¢nÓ‡÷cÞ}sÒ)f¼û5ÂȪÕgßœÂ%[fטÿU罉7Mc7Ÿ nåÚœ2ç|7PHpÿ,šÈí[pOd%BC²>;¶òKoÓˆÈJaÔ¾¯ÿ°ë¦iNgV—åÎïV1عx"ÝÛ4¡J¥"«Ö¤k¿w9t‹Ö…â{î’€5c{Ý”h¨4åQì—³½÷õâX^Öä¦é› {˜E³ò½<­VëÒû¥*aÅW³fÍˆŠŠbàÀ¥vçÏŸÏÎ;KŵYÂ5Þ5’qqQŽŸ½Öyåº¼ÃÆ=lj=yˆù†piå›ÙÕN=Ä[_¯âDì)V~ý&{Æ÷àýèó¹.¯n«çÈh4„'cÙ½˜fŽ_é64€fôá—׿Ü4Íñy¯áÙzU ¹Ÿ zOÞKÿqß±ÿøââÏøÏ'´2—NoÏæÐ©X¢ŒàðgO0ò¯ÿÖïZ‹Úµ.Ë;_~bÖ{úaÿƒ§ÎqhçZºùíàÉ^ßJ S)³iLoªôœ‘í½ÕIf÷󸩬‡ß㘓Vå9?WÇa’.9Q¤Œ»»{4sg2 eÙ¥u‹Àa˹nË O>Ú_/=;Uê·â£Y볕é·ðkÚÕ G§Õ^¯=3=Ïâ¡3r]Þñ½2´G ¼tZÊVcЧ?rvÕ8|ê¾Ogól~8Ÿþߊ…w§ìãµ1-óÜŽaK¿¤]ê¸éþ;Ï2‡g¿]Áóíëã¡Ópσ|õëH¾éã[Æåvç—Ÿ˜MúåsÚ7ŽÂ]§ÆÃ;œg>žCÒ¾I%²þÈ5L9;¶äMºÏå¹]³½ŸhSÔßœ’¨õ(¶ÄâqL,]¸jÔ¨Q¬_¿ž½{÷–‰í½~@ËÅ‹K(#ì–4º?›ôô}tmÜšÎÝÚÓ¸^=?КšÁžÙʼxO…lÿ®5„ŒÄ¦ÀÍc”ÙÒ1áýqü¶ñÎ%^Á®8¯ÿþ;¼ùyw:¿µž§çwàâöw8ê;ˆ^AynÇSÁ^7½÷ý#)½0ë¦ã­ø¢Pæ—Ÿ˜uò5Ü´VÆaK’¦Râð¢whñÊ?¬<¼Ž0}öA=ýuj.Z‚oHšëEÔ:ÿ<ç{ér¿®X™ïõx´Ë#¥3aÅË¿ÿþËœ9sØ»w/^^^ef»/^LµjÕX·níÚµ“ŠP$ú œG}ï8~›žÚÈú¿wòoôB¦ …ú/ÌgöÐyBsýä³.ÝÙûð0f/û”Êaþ¸ë´ ˜ Ì*Øl÷ ®Çã#4ðÒ1{èj:|¶ñ–Û¡Ëa±Šö‰ÇOçz'ÃíÎïöbVrÉ5LÙížû­ÞÛÇŠk¹ßÇíæúácàçK&^ ÉžD›.ýŒÁ§cžóV«Õ.%A·û|ÓbŸ0Iw\ñqìØ1:wîÌܹs©X±b™ÚökZ>ùä“>|www©¥˜b»ÄˆA+h;æÏ\Ë„Ýû ýî}ë•T­Û†Ìú|Æñ+ ¯éõï+'¾ÀÃÿ‰ç5ëøþý½å5ÿe#ÉG?¿¡”†>kÉ3S÷³üùC̺T#Íokûz{òÃùt^ /W ñÊïün³Ò•0I Ó5›¦ö¥ÓøÓ¬9¸Ž~†Ë ìÉóã¶óÒôì7m7ƒÊÿ77ïã³J…ºC#wɉü@…îÝ»3lذ2ÛÂ"Z–ú,‰ä 1D/›Ë3m[p¼Ù;Lk–cÑV½ßbù¦}\1ÙpXÓØóûô›g+3÷ÿ±~ßY슳ûÖ1ð‰Y<>á…ç÷X'¯ÍXÉ¥ôÌùýûû|žzlÚMåB[O!ø§·YúÆ$jùÃm^'3xÆæ=û¿ï9I†MÁfºÂþÍ¿ñî3­ m~ù‰Yéú‘%ç-€µc{ÐqB<®É5Y¸oì·ðM7†Î\Å¥ ;öŒK¬š9”nߨøöã†yç juÖË¡(ÙþÛû¥2aÅC³fÍhܸ1/¾øb™Žƒ hYú\»m¾Rd5êÜ›™¿í£Ã°%¬û|@®È}ëðëÄWiT=’jµ›1úçËÌY55[™o^©Á':R¹Ržÿ„{ß^̸69_5ú·¹xü5…µ*Qµ.G/¢ÕKr8b»ññ¼·)‰ªßö6ûÝ÷¿jΣÐ0*œªµñÚgK©ÙçËB›_~bVºZ˜äô ÐaøÏ¤Ç­§™¯!«äÚ+ÆìÈ*§óº­»pñ§÷©ê뎻oU>øé" ÷l¡¡—î–Ééµ×SOöbÁ‚³½·`Á<õd¯lïÝé’·Ô¯_?EaÞ¼y 2´ìß¿?'Ož”`”p® Fy}ÙmŸeNÛ¼[[öņþ£ò5?àø|ñ†›Ê¼ýôÍëg¼p…à?£–‡î޶/¬åÓÌiù´KÓßÉün³Üæ]R •ž×Ïáå£aþz×/ÈV_—œ~ôѼ;ééôî݇ï¿ÿžÏ>›ÀÏ?/ÍV®T&LRéî®3f°}ûv8 Á¸êú-—,Y"Euêáü¿KxzÒfíî$ás—¸ëëZŒê7¨ÏÒeËèö裼ûî»x{{ó˯¿R¯^½;^Ž´Š\­]»–1cưlÙ²Û¾« ´’-EQ æ>Ó8÷7š”×I@Š9¹†©c­Rg{5¨ß€åË—S¥J–/_Nƒú n*s;¤KNä(%%…°bÅ ªW¯.¹ÁõZž8qBJ‘Mat#ÉÃoK¹†éî&§ 4`÷îÝòH”¬åÿJ'wÉ5£ÑH£FèÛ·/ 4€äâú-…âz‡Ã!(¢ä4§—N§Ïñ}»C¹­¹’ :wîLåÊ•1tîÜ™6mÚ0jÔ( Ì-,^¼˜;w²nÝ: †"óĪÑàçëCBâ% FQÄûº»ßòóŠ‹ÃÏÏßå„Vž%'èÒ¥ —.]¢OŸ>a4™9s¦&__ÔÌ-ˆÉd’€!ÐëuÔ®U›?ÿÚDLìiii*‚ãp~^Eáø‰“lØð;ÿkÑ‹ÅêÒrä.¹2®k×®\¼x‘;v0{öl )))Æ2õè“;qý€–ò¬9!„›Þ ?š7iÌÆM“””,ï.D&NÎwbåëçËC>HX¥0ŒiÆÒ•0‰ÂÓ¶m[ŒF#;vìà‡~`ôèÑìÝ»—Y³fQ·n]bbb$Hù´`ÁªU«ÆüAëÖ­% B”a*xx¸ãã]‘jQQh4rõKa1›Í †|—w8¬V«ËÉR‰H˜¤;®pœ?ž;wR¾|yjÔ¨——7n$44”µk×R»vm ’‹d@K!Äõç.“ÙŒÉl–`2“©hb,wÉ•!?ýô;w¦víÚ<üðÃ<öØc8zõêÅÎ;‰ŒŒ¤E‹øúúòÛo¿IÀ\tý€–B!Jé’+ÅŽ?Î×_Íš5kÐétT¨P_|‘öíÛS¾|y s¼¥† ¢( ëÖ­ÃÇÇG’¥;0þ|jժŶmÛhÖ¬™D!$a*Ò%—©©©LŸ>ßÿ+W®`±Xhß¾=K—.%***Çi*V¬È¾}û¨[·.µk×–déÉ€–B! Ó]!ÝqyÛ²e ß}÷›7oÆápP«V->øàZµj•ïyxyyÉÞèú-å®9!„„IÜF£‘©S§²bÅ RRRðöö¦iÓ¦¬]»– P1±xñbªU«Æºuëh×®D!$a*\e½KÎb±°gÏÆϹsçÈÈÈ I“&Œ?ž‡zHjp1um@Ë'Ÿ|’Çãîî.ABI˜ OYì’;tè .䯿þâÂ… øûûÓ¹sg† "ƒI– 2 ¥BHÂ$ ØŠ+˜2e qqqxzzÒ¨Q#¦M›F:uäÂáL´,¾>"A¢Œ«]³FéI˜Jk—܉'˜0a»ví"==___È3Ï<#5¸”‘-‹§¶­” QÆ¿p±ô$L¥¥KNQ¾þúk~ýõWNŸ>——Í›7gîܹÜ{ï½RkK±ë´\²d‰¤(…Bºä ÑŽ;øæ›oظq#nnnøûû3tèPZ´h§§§¨ ‘-…B¦BU’ºä._¾ÌäÉ“‰ŽŽ&)) zè!¢££ ÚV†É€–B! S¡*î]rÑÑÑÌ™3‡½{÷ât:©]»6ü±KGвA´BI˜ÊŒ„„¦M›Æš5k°Ûíxxxкuk¦NН¯¯HäI´BI˜ ÅÝî’KOOgóæÍLœ8‘ÄÄDL&­ZµâË/¿¤I“&Rƒ„Kd@K!„„©PÜ.¹}ûö1oÞ<þøã|}}yâ‰'8p \{"î˜ h)„’0Ýu 4 bÅŠX­Vôz=@Öß)))ìÙ³'Çé¾ûî;f͚ťK—ððð Q£F¬Y³†àà`©%¢ÀÉ€–B! SrµK®B… DGGçøÙµg¯)ŠÂÁƒ?~Á`àÊ•+|üñÇÔ¯_777Ùû⮓-…B¦áj—Üõå;vìÈ3Ï<Ão¿ýdvÉ5mÚTöº(6d@Ë»+$8è¿[¾!Õh÷Ä`Æý?ôªÿÊÄŸ¿Pª¶çÞïÀPjÞÛ„Gzö¥wû{sßõJJj×õP IDAT<„(S ÓívÉEGG£×ëyï½÷d/‹bM´¼»®üv+§ý͸!/ÐÍR•UÃÝvÒ’ß„¢0’±ülϵ2ŠÝJrÂYön‹fΘž|³ü Ö}1µ$GBܤÔýœ½–`½úê«|üñDz‡E‰°xñbvîÜɺuë$wëØ¡Õyok¦ü<†Cߎ(Û£Öêñ ©Jëîýùþ÷ÍTßñ/®:+•Aˆ’˜09N—ºåRRR¨W¯'OždÒ¤I´nÝš-ZЪU+RRRd‹âùE¼: åÀ1™L»ÈÝÿQlé{sý|ÓÜ<Ü´á¡aÜÛ´-£æmÊúìZVHpPÖ+7·*›×r r{²ê Î3»òçÈE.Í?¯m¢4)u]r{öì¡~ýú¬\¹2k!Jвx0]ZŽÎóÞ?;óÛ+<;é,_|¿’¶uCˆß¿ž7z÷áõ€ML~¤ñç/ä»›-¯²·ZNAmϼk$ãboàM©BÜø£¢´mPtt46›M’%Q"-X°€Ý»wg2/ŠŽS±qæÀŸ í9ŒO˜c™/ß_És‹æÐ±A:­Žˆ˜µø9~þy®KA,'?ÛsÓ/h·¶ì Üõ-`9µ„É5N¢¬(uwɽôÒKLŸ>]ö¬(±d@Ë¢u-P©´x‡TåáòËÛ9ßM»ì²‰íÕ½³½W±ú+˜.7>)°uº“帲=7²[bÐèB$!¢$&L®tÉEGG£ÕjåQ¢D“-‹VÁ$Eõpg¡nOò¡¯ñê%•Bˆ”ª.9¹3N”óçÏgçÎlÛ¶M‚QŒtóuçËcÙo¹rìsÜ}»ÿ÷+T¥Â‘ß_¬¹”ÍÏr šb»ÄˆA+h;²§ìh!Jb”߻äV¬X¢(téÒEöª(ñ®ÐRQ H11dô#Ìé5€u{Ï`WìœÙ»–A½æÐyÌKYeî+§ã»ãÉÏ^Ë­l~–S@YÉbˆ^6—gÚ¶àx³w˜Ö>Ì¥YÈ]r¢¬(5]r|ðŸþ¹ìQQjÈ€–ÅOx—iÌKøˆQ:òü¹*†Õ ÇkßñÑuw®}6ºÏ<û$¦¡8yv‘åV6?˹×’Î Ÿ€0jÖkLçaKné[Q‚¦ü;ãDiµxñbªU«Æºuëh×®Š¢Ð¶m[8pà€èå÷öÿë=ðüH6>^‚"„wA‰½KNîŒeEÆ 9xð Ó§O§mÛ¶Üÿý!„(b%ö.9¹3N”5/¿ü2111X,’’’$ BQ„Jä]rrgœ(³¿pÔj–.]*(Àd‹«ÍŠâÕEiB›Ö­‰ªVõ®­‡Õn#î\uk×"(0 HÖC«ÑŒZ¥áØñãÜß¼¹K S‰¸RîŒBÅáàâÅÂÂB%¢T‹ˆçrRÅá )9™Èˆð»ºNE!Í˜ŽŸ¯OÖÍ]Eõòõõ!5͈Z­r-á*î;úú.9¹3NQÐÇ醥^§C¹î¢jEQÐr7\~ÖÃét¢V«]ºŽ¨ hns™%¦KNîŒBÖñE!J|ÂtÜ'DÁKHHààÁƒ´jÕJ&!ʸŸ—þĢŠsýüå!¯pÿý- ´U¶¨[—JuÂät:9räˆÜ'D!˜3g_}õƒÈÈHÞ~ûmÚ´i# “eТŠéÕ«+~9ü¸ºÄô/¦вåwŽ/Añ)]r6làÇ”Ú,D!¼ï¦÷kÖ¼oÓ¿˜–•8å¦CûŽ<×ïù|fL¹§L6›ÓgNc1[ðôô¤R¥J¹¶n9Î;‡ÑhÄ`p#<<N_¶¦ .žžNtt4›6mÂétâp8Ðjµò·ü-ßáß[¶lÀl6£ÕjéÚµ+ééé8p€^½z‘‘‘Aùòåùí·ß¨U«–$LB”©©é7½·}ûVÚµowËiccϲfíê|'LyuÉ>‹›ÞŠ*`6›9~ü8ÕªU»)ir8œ:u0›Íœ>}†ªU vØ„bŸ0 4ƒÁ 5Xˆ"J ¸¹¹‘‘‘AZZš´0 Q†¤§›ˆ¿LRRÚuIÓá<§óñ)G»v­Ø¶mO¾—•W—œÉd¦B…Šd˜20Üñp:9~âD¶¤éZ²dp7 ws#ÃdÂÝÝä””ïî+ö S­Zµøä“O¤ QÆÀ{ï½Ç–-[7n'OfþR:t(D­V—Úí—„IˆÜ%%¥±xáOù.ÿD¯®_ÄGy///Ò鸻»c6™3OœpâjKÀ©S'qwwÇà–YÆÍÍtc:^^^yλT&LBˆÂãt:ùþûïùöÛoñöö¦W¯^,\¸OOÏ2±ý’0‰â,66€ÈÈÈ)çÊqázÉÉ—o9··/9Æ“+IS^%CCÃ8yê$¨À`pÇl±`p7àŽ?†ŠÌgÃÜÝ1›-èÝÜ0™M˜,fªV©ZöZ˜„…§ÿþпÿ2¹ý’0‰â¬_¿~ÄÆÆk2K«V­ˆŒŒ$::º@’%EQP”ÿÒÿý÷–ÓµjÕæ¶——µZM•ÊU8uê$Nʼn‡‡;³wƒájë‘wCæ{nz˜-fªT©Z(bJÂ$DV–“%I˜Dq7oÞ~0<׋Q“’SÐhÔ¨Õ45µµFÄ sŸ›Þ ?š7iÌÆM“””ìò/N!îÄÄÉS uþjµþ÷¿„††bL3^­÷þ4oÚ”íÿìdõÚu…^ïsZ½NG…òå©~O11±ì?p0ëû\˜ j9//jÕ¨ŽŸ7&“I&!„¸õÁ<<Üññ®Hµ¨(4¹BA³ÙŒÁ`(ôådŽÀmŘf¼«õþÆõ0¸¹QÎË‹à`ÔꢹžKQœØm6—“%I˜„ešÓé̹Øl–`ˆ"g2™Ët½w:X­V¬Vk‰Ø_ò“J!„B&!Di³lÙ2’’’²½—œœÌo+VHp„’0 !Àš5kèСCVÒ”’’LÇgÆ !„$LB0cÆ êÕ«G‹-xë­·èØ¡uêÖeÒäÉ!„$LB™·)Ïœ9“–-[2uêTš5oÎäÉ“ }!DÙ%wÉ !JlÒôÕW_ѲeK:vzD’%!Dás$Bˆ’œ4õéÓG’%!„$LB¡R©\3Æb±ú£'„’0 !D±¡ÕêØ¼y«KÓlßþZ­N‚'„„IQ6tèÐŽýû÷sèÐ!¬·x`¦ÝnçÄÉ“:tˆÚIð„óÃ-·¾š5·À¶¿$âB—sóælú{3Ë~YžçÃBÕj5~~¾´¸ÿ~‚ƒƒ%xBˆÂK˜íòˆDFQ¬DDF!BÜÒ%'„B! “B!ÄÉõ¦Ó±§ù#:Û-.°¼Q`pH®ŸíŠsHÄK‘ûB5‘§‹çãó]V¥R¡ÑêhÓê!ézB”Œ„éüùólÙº•û5¢e‹æ¸»»çkf£FáÞºuòH˜öR§Í“õRàÀï òÜ×B¬?χ ÏWY“ÉĦ¿·°eëVônz¹`[Qü¦í;þ¡cÇT¿' §Ó™ïêty{¢8¤™¤¥©$+ç®É×¾•ã‡Á`àá¶­ ¯ÄŸÿ¢Û£]%xBˆâ0]JL¤rd„K‰Ò5æOp(N‰|‰>æo_ áê.€ÈÈ.ý”(Bÿ„IQ”\[Eá…^ C‡<öØc./Pq:±ç1†Š(þ§$¼âö-[¶Œ5kÖ0cÆŒŸ§×éògI!ŠM”ۯBEQ4h{÷îeìØ±·Õ¥8ÒÂ$ “(Cnõ¿üò ƒ¦bEïÛZ J¥B#¿&K4•J&‘7KRR’ùå—_xò©§èØé‘Ë!D‰H˜4õMÿž2e ¯¿þ:OôìÉO?ÿŒ··ëI“Z¥B£–nI¦–„I¸àÆcIrr2OôìÉý-Z0yòdéŽB”ì„I­ÖäøÞÔ©Óxãõ×Ùºe+»tqyÒÂTòI “p)Á¾áX²uËVêÕ«Ï$I–„%=aR«Õ8 Z­6Ç_‹Ó?Ÿ~ûOÒÂTÒO€²û„ nlaz´Û£<ÚíÑ\ËÛívI¤„%#aòó÷'>þ<• áyNÒÂTòI “p)arñû~&þ<~þþ8!DñO˜š6iÌúõ¨Q£:Í›7ÃÍÍ­@O¶Ü$òB”ê|Žo±XغuGŽ塇”À !ŠÂÌýÍ›óÇŸÑìܹ˥ñ–vü³3ÏÏOnZ,Q/%nµ¯…˜0ab¾LiuZÚ´j-ÞB”Œ„ "2‚~}ûè•x !„¢’‹‰„B!$aB!„„I!„B&!„BI˜„B!$aB!„(¹nVààá#!„B”iµkÖÈ;ajÛJFØB!DÙvþÂż¦ !„B”ur “B!„$LB!„’0 !„BHÂ$„B! “B!„$LB!„’0 !„B”ZZ w—ÓéÄb±bµYQŠÄÕ_}j z½ƒÁMb-±–XK¬ -Ö’0 q—¥gdpñÂŽ?ARR’Ä¥šŠ+R=ê‚C‚ðððÀétJ¬%ÖkQà±–„Iˆ»Èj±rùòe<ÈC>@•*UÐët˜üÆÏfãä©SlÜøÞ>ðöñÆl2K¬%ÖkQà±–k˜„¸‹ÌV+G¡MëÖÔ¨^]t.ÒëtÔ¬^6­[óÏ?»Ðëôk‰µÄZJ¬%aâ.R’’“‰Œ—`܈ˆp.'%¡Ñ¨]Šu—.]äÿ.üÿNb-Š®^‹Â‰µjàà3g|!Ýâ.HI¹ÂÊU«xó×$wè³ISxiÈ $'§ä+Ö]ºtaÅŠ¸|º>^®ÆZ]½ësqqÌž=G®a¢ärrñø<c~ÀœvC¹ªøW~šÀ¨~€ª§) +Yr*6ýð&ÿœ‹Õb¢EÏ4zt˜ÄKˆN&!J ÅaæðÝP©µ„×…{…꘮%vçXöÿ½– ÿÿãâ…ÒŒi”ó*G`Pî—d$¢áÓœÛ?ŽK±‹©ÙúÔC™‰aaµ0­ŸÙsR U››4´´´\ËšL&&MþŒçú÷eøÃHLL„IQ2XÒÏâé]‡Œäýì™|뉴ÿáGSS±þGìélƒ¯9N”3g°}ûAÀÃß}‡ùèQöL>BFò~<½ë`I?[¦bXÐ-&©‰1$'ÄR¾œQáÞTº§ [ö¥Õ“#$^¢Ø™2u2~¾><ÚµƒF|€Ñh¼©\FFŽx½^G׮ĔiS$aB” nž•HO>@ÒÞ(2þÚJëI“Pÿý7Ž%?ÁÅ‹¨W¯F£Ñ ÕjÑjµh4Z4kÖ Ú»eÓßh õ„ ¤ÿù7I{£HO>€›g¥lËP©ò¾üVŸßiù’ÖbrxÛ2|BI»p§ÝζýqÔ¨7•ªÕ»õ´kçÒ»ó„ùWD¯ÕãX™ÖÝðí†#Å&vEÑÂd·ÛY°ð>ýlŸL›õÊË—_MÏ*÷égãX´äGÇÍV~™>Œ¶káãe@£5Q‹Gû½ÁÒ-§ÊÜ1äìÙ3„GD{Šàà "#"øð£÷³%M|4òBBB æôéÂÂB9wîl©¨Ó®’k˜„(ª>é­opiÞIš‹fûv”ßVBRš¨(ÿÜÈžK—8[)€ðsçixì~5kb?r' Õj¹ï½aü3b§îƒ€ªÏ”©t‹Éî?—P#@!#%ŽÓ fŒJ8íŸzç–Óý:¬3ϯtcâøñLš_ƒƒ“{ÿæëOÞ¥ïÃ5y6Gb”äxåäß½{ðóõåÑ®ÝP©T¸¹0›Ml]ûµu}ŸyÅdÀ××€ýɾý{iP¿a¶r?õkÈûÆ.|õõr×®Œ;VÎÇᯠ«™÷Zkºïˆ-Sõ¿^½ú;vŒÈˆpââÎ *ŽxŸQ#>F­VóÑÈ %¬RññqqìØqê×oP*ê´$LB”a÷çı~¸ÿÏ› ìŸÎ‡„4÷ÜÃÉø8Žœu×âìNè= xòž<ùâ°2w Øü­FC¥Ja\¸x‘°°0ÀÉÛï E¥VEx¥Jœ¿p À Ξ=Gbb"#?U*ê´«¤KNˆ’øÅÕ0•’{>£y3˜<UŸÞ\²X8Ë#‡Qÿñèõzôz=õ{ôä‘C‡8|ä(—ÍfÔO= o¼†Ò¸ÕÞ|‹Ÿ;RàÐÏx¨^$¿ð{ygÖ¶\˪T*6LƒUÑkõTiȰ9ÛK\‹ÉÊoþäŸ¿ßæJêÊWèLH£–T¨g§cÏ øU¸åô ŸŸEϳX®×áƒå·kÓ¥ã|öb'*ºé(çN×cH°)ÙöÁæoFѦQuÊ»ëQ«uw½…éÒåD*VôTJƒ*è4:«4àÍ/~ÏöyêÉ•ôéÐÿòîhÝ<©Ö° Ÿ,ÜyÛÇ I˜„(Câããñ÷÷ÇéTp†‡£yùeö6nHÔ'ã)xSùrÔúê+öFUCó P©N§“€âããïhJ¦JƒIDAT].nþ€†½¿ ûè%\N7q`ÍDöx˜¡âræÑ1û¹xF³‘í‹G°cx^Ys®H[Lî„ÖˆÕô3§O&òÓì#|ûy(¿Î¯Ùô}´ì\Y KFÞÛóÅÉT^¯çW(±¨ÛôæoqÖhâÜþu<`_DËþk²•é4z'¯~±œ„T Šb+ÔxÝŠÓé$99Ì“q×C‰,߯¢ßÆê0‘æÈžì\¶ÂâHçëèa„º×¥Sµ×0›Íxyzr9)é¦ù/Xð³:V¥aën ý`,³¿_ÂŽ#r\—Üb§u¿‡Ù=éûÅᛦ9üE_<;Ïæwím}îFÍ… 9{?_? "$$„ÄK‰øùúq:ö4.\dÔˆÑxxxxŽùéYºŽÚŇ ·’nIgëÂÙ9¢ ý~ŽÍ*Ó·ù”ï9šCq)XÒY5óm~tGÇ I˜„(#ÒÒÒ0Üq:¨ÕjÔj5§ý}©Û»O®ÓÔèÒ…˜ ?4 jµ§Ó‰Áà‘ë-Å*•*××õ¦öžÎ Ë7óJׯxêµÕz˜EObfïܯáyiÝ"º6ªŒ^«§r£®,Zÿ2ß ˜X"Z˜ÒS6³»¶Wx²ÿ9ÚöØ‹oð^vlŠãËñ:¾›^™:þ…›GXÞ' ³j×®ŒÈo¬ÓÎïç£>­(§ÓR!¸o|µšØ¥Ù»]Çÿù]›VÇ Sj¼ò#5õ åËW@­V Ì&ýë}Ž5ÃÆ²]ÓÕß‹V•9€¥»º"õ={°üŸY8LзΊ«Õ‚Z­ÆÃÝÔ´Ôló¯Ôi8Ç/Å2áåÇñS§²eÕw<ý¿ÊTmÙ›íÉ–|Ç®õ´Qì=ˆ 庻P• Þͨi­oûûp·“¦S11?~OO’““HNNÂÓÓƒS§b8“¯dévëô§¯,ååõ?ñX“*èµzª4yŒŸÖá§—?É*óg²™çÿ¯þåÜÐè=¸§q{&.ÙuGÇ WÉ5LB‡äǘ~ÛÓªTjTªÌ„ À˜žÎšskÍfË6JEÖð9­Cjš1×å–/ç•5ÍWqi$· cÊMë¦!Í83Çí|!\ŸíߺJCH¿P‡4ãÇEë'zödñ’%.OoIý‹”³¯vÏ›ØM)”«x oŸƒÔ¨mãh‹+ìü«:'¸¡èªÜr¿F´ì½t…ZÚ|¯w~bmM;ÀØ·F²ì÷mœMHÁ~õä®R©³­ÓÿUTç»îÝN¼\©×gÏÅ‚ÍfCQÔ &S¯ß·„Q[[â½vÕŸç¼õ ¼z°éð/œŠ?È»÷­Åf³]ý6»ÿ€@ÎÅÅQ)LsÃR^…Q¯“S’ ðÄf³’tù*xã¦wCqÀËuä×fr,qÕÝÛr"þ[®epÍoQìNTj5:½‹ÕŒÅbÁÏÏ””ä[.S­ñ¢×ˆ…$šäRìžû²'«_ž˜õïI/¯¢Ç—Ϲ´ «^»úÊÈÈ`üø1DDDBZZ*žžžxzz’––Jxx%"""?~ …R§s[ÿÌãTæß]§üÁ®_?£I¸»×ϧç}•é=nSÆ\&!JBÂt¯ÀÀ 3¿èñçqlÙJÊU8:ô Òn*ŸžÀÉQ#©s_cÇŽãL¸¨HHH$00è¦ò·Z¯ë?.Ô“oâÒó]`ÚÑ”lŸ_96ÀÞ· ÕmÄú‰ž=\š¿ÃÃå“ÏVí9Ô* Æ„M¨°¢8Ò1“Pì8,‰ 7PÁ#-_óìùù³üòÜ{$Û•?ßðIÏÛŠõ—GSøá£ç¸·Jžz-* ùð¤›ö+Û}¼ £^§$_ÂÏ׳ÙLº)³çb©PÁ›ð°HB}«1°Î¦¯…DzbÛ<ž¯1“À •ñó ÀÝ` 99 ³ÅŒÙlÂ×Ç—¤¤KÙæßuØ÷Øœ7/×n:‚ÖPÕ¥Ø6ú”&iß15&•´S“ù>­ Ÿ6 piV½vå•‘žÎ¸qãïïKPP II—ñò*ǹsqœ=‡—§II— Äßß—qã>&#=½Àëô~L=’œýxpdî~ÿ—í½ˆ­ôÚ{Ìøv){.gå„>sI˜„(ML.½Å‚ûåùœõª©Óq<Þûĉ„V¨HTŸÞ¬oÞ”ƒËÁf·a³Û8¸âWÖ7oJõ7‡âë‡mê”GE=i§ß}OãBÅ’}9·Z¯ë>õ›7˜ùÄë¬Ýuœt››)•7ýÂk=›ä¿¤×ôW]ŽE¶ù»ë%?ýœïyÛmq$ïAHäãØli¤\ˆ‚ÓiÁ”ž„ݖÞŽÅ|ÅnÄaÏß> h:†Ý.Óàgøqý.M8¬FNìZÏ{O5å±Ñ«n+ÖO„x1hÚrÓm8¬iìZ÷ ÝÚO¼i¸ßlñ*„zOùòHÏHçïM›0=~ˆ3çbÑéݸ¿fGžo<‘Ÿ¶M£ß}ŸÑ8ª-:ž„„ œ‹?‡Élb×Î]¤gñöö&..>Ûü£§ ¦ÆƒOñýÚH1;PlÛ¹–!ž¡ékÓ]‹ZÇ„‘ù|ð2~~ásü ­ZåÚ÷¡êu~_&cÇŒ·OHJNÂË«gΜá왳œ;wŽØÓgðôô")9‰€€¼}*0vüÇd˜LZ§_Ÿð(3ºöaåžÓØb÷¬¢OׯxlâЬ2™Ÿ7þKŠÉž¹_Öÿ†›÷ÿ 6æ’0 QúºäŽ|JßeÒ£ÿ&iÓ&Ô¾¾8cb°}ÿ=õZ·á_Î 16†ù?ÌcþóHŠ‹ã¡_—S¯Ó#˜gÏÆ¹e+ªŠ¹¼ñ/Lÿì& ÜEŽ|zÛ]rMßåÏ -ùvx¢‚+â^ÁcQ§ÿ7¹6Á/~»£{?€ooZ>5Š®dj‡JEÖ%׳G|Í×n>DâÑ.ø·!-í"W.ü…F£E«Sa·§‘ž’€JmÃf5¢Ø­8lW@å–ïõ~lÜ ÖŒlˆÃhV³ ¾þ¡<ØãUöј¯û÷¶b=!z!ŒçÞp?¼*Ógø÷<Þ>X­V’““8yêÿîßGJ5†Ö\ו(ÙÏé³1¤¤¦`µZ°Y­Ô¨Y/¼½}I7¦e›ÿÁèEôª«0õõT ¬€_h5žú9•|Ãêá]ŠJ¥¢Ú3³QíÊÛ»TÌz&*ÛgùÙGw»KîÛïæàáá¿f²äééÉéÓ§¹”x‰·ÞzwÞFrJ gΜÁÃÃ#3iò |¹r|óÍlE)°:]ùñÙ,z§.÷~ßòÞ<Ô{4õÞý‰™Ef•ùnP}~;ˆ¡>FÔaø‚Ë,økVÆüVä¢o!ŠI“+’b fë_ˆô2»¾ÞI«6mQ™Í(‡c™þ9ÇÚ¥óÕ ÁU(Š‚#æ¦ pnÞ‚ÊË g@»6þIÅA5©Ò|‡ÿèFHݲ–‘a2å¹7~Ѻ [÷ËwùÖC&°}È„»럗þ|˲Š#…óÛPÎû>®$Ÿ#5ño‚ÃZ¢wwÃn7êZµ½A‹ÙhD­Öc1%£sówiŸÖîðßtx®ÀbíÖšy«n×ê£~¦|ïßå'^wR¯8Q…õe½W¥rÔmíãôŒt§3Ûò+7ëÊøf]‹ió;­!œ“ÉI¹ÎçVûènCÒÒÒ8tð îkxõš%/Ξ=GJr úʼS'Ï÷ëÏ׳¾Ân·Lš1 ÿvíÙMrr¹ŽÉäjnóâ§lñÓÜ¿#°°ã€<·«°c. “Ť…ÉÖŒsxz×Á§ÞqâÚ<À–-›¹ÿþ¨/^D‰Åáç‹b1ó_ϼE£Á¹uj??~~lݾ UÛñ©·Oï:X3Îe­‡»!ÿƒXšÌæ"Ùæ‚ŽõãÝ»óóÒ¥y–Õh½ ªù ñº¡Ö†^­p0ràŸ¿ð0ЕWãtZ¹tÉN@py2Ò.c¨P£Ñ˜õ,?­V{Óöæ7Æ·ß‚–ŸxÝÉ>ެÅäi“Ѩožæú“rzzzÖ{$&&fû@QB‚Â\®ÏÅ%Ö…ù}²X,X­VBBˆ;Gpp0çÎãJÊz÷~½Û­£:ާŸêÃ÷ó¿Åfµšùˆÿ@L&Z­6kpܲgI˜„(;\Kôa¤'Àû.‘Â8jv½a÷5j„wψ¢(\{d“Jøû£y¼;I›·°{ãF,ÿkAõa蔺¤'@ï–µf³¥ØmsA/wéÒeùŒuSÊUšGÒÉÁ$œßŠo`u.œIC­õÁÝ4Z–Œt’/ª ÷ õ¼7ßFØm6œŠ3óiNÐétÙNjEã‚”ßxÝî>Ž ç㱟R¡¼'WRÓQ©TèuZôz-Z½6óïš5«süø jÖ¬Á?;÷аa=Ö­ÿ€† îeûÎݤ¥¦óÞ[oi}.)ÇV‡F­á±Ççç¥?±oß>‚ƒBèÓûY|}ýpww§\¹r™?Ô´-ÏöéǪտ±oß~üýýèÚ屬ùh5Ú2gI˜„(-L¾‘½‰ýç ªµ˜Í‰- ï±™”šMØüõ<Üu„Ÿƒóôñ ^?ñ!†ÏPz*ëÙÙYäóù¶¯‰ÇãˆÇãoð,¼‘÷Z+"7·§i“æÖ3¯’Nò Ó®Óé4®|ú J¥ÇAp]®ëÂ÷ýVÁn®Lß,Þ[3×4 º®Ã²,¤R)Î0µqM;í´Ýó8`"¢îúzøì" dÏc ÛÙS!æØ»ÐóYçoÝ ýRU!ÕÞê>CåÕA»N "µÍ¦Ñ´Ÿ}u‚CF¢ƒþ'nÝ…Â#ôQ¯»m}Þšõì™3| ñ&k/¯]óØ¿¬•ùÜÅàú—_à·ßÿ`å"zÉÊë,.,`zú4²ÃÒÏ+,.þˆ¹¹³(—×™5³fÖô²^-qãÆMþ$Gtt]Ãøø8¾»}žë"3œ¾ù„ íΩ×QX)àû;w03óÖŽOß1kfͬi/Ys†‰è`Û6ÖËkXº·ŒR©ÔºQ›v'„@?¦¦ÞD:Fe½Â¬™5³fÖ/4kÎ0uEis>×÷ëÉP#ïÔèºÍwΨAoF–ÐàœÔ“ŸfÖm¡æ²Ö{Ï{4#§Xàõâ&de¡æ’œ“f÷|#cndÝæ;gséÁf÷9ÍC6£ ÐàùÐÈœÏ9Dªý{=ÂçºÖ•¡èz"€™¦*Þ-߸åÞëgþ«‡_þ¦äˆ™qÁ5ï»öŠ+®üëõ›·¢»«3¨VožìDèó44)Ç{`âÝÿxçp!îÕìIó8´ÞóxÍùÜ'`¬ u ?ßï³sŠŸ±}µP{a!÷îó1gÍ~÷D:‹ó=š^ß#Ì”ŒOÍÌ6`fù|KÚJ 0BN® 1>5í^+ÆËÄçó9ôt¶…C#£þÞÝ;ðƒÛþ㺻¿ñÉ/SñìëιþÝoy蔜áÑq.—+ÔÖÙ…Êì4fg¦Ñ½l5‚jc#(–Zѹt`t°ÕJäy®5æZ5®uV-€Àq÷™ë;\#2±PŸzó@ÏÃsê}§ÞZœ¨yá–=ÕÓñ<¿Þ;pòÚ¨ì4"ßõîU/BÖì˜1 æMŒk¾ó€X«…—FåðDíftçBèÀŸUÖìÚ>ŸsÁ3Uг;wcðð.t´£s9C^ƒ ŠÙ°@§žq¯ênh¶ <“¾6õ ‚*fÂN=ýl¬_±„ÛZ[éÎ{îÃ=wÝqnîç/=ÿÆåk6chd”ƒ©}I7n¿ù+Øú¢ pÊ™â |6l=¯{ËÿÂ?þ>þío? áüæÇ°zÃVÌÎLe…hŽðS#??áx¾C'`\Ï÷<Ìw.è§0/sÉ -à—ì4"‡µ¼øùÊá\ßãBÈÍîû¹ôÉOC§52ö¹"A¼Ó\:°¡±ÀÈyî£m'mBµàHÿdrõlØ÷€õë7Ð=ÈA€áÑèp?NÙ²‘+•€fËØ} —׬XJ9ßC±ÇÞC}XÒÙ†îŽ^·n=ñèC«AHK»:•ËsÌàjø!3@¹<‹îåkðÅ?üULŽà¦‡+˜Ã@ï~@÷òµØpÊ™˜A¥R–žÈâgñóßê“ó}<:€-ÝUŒMÏ`tÜÃøÈ0:»‹¸h…‡Ç{‡Ïùè¹ÛzÐÕRDµ\Å3‡¶/Ek1Ž!.‘v #'ž<«¬}/v}À‹ÇìÈ3_ç82Ìð<ÀkÎX†rÀ›˜Eg[+ZŠ>~ôäa,]±’³Ôä™gú¾‡=ûbû)¸Ç!¬]·ÄA4ñ½B>‡=ŽâŒ5>öõ `”—£³­€ ŒGÎ!8; `> ^Ô‹ŸÿvŸ$b—Ë冪AÃ5¾†„*Wósð@Ãù\aÂó<ìÜs—ÏíÝ‹­[·âÙ½‡±ª­‚Ñ¡qxX…B©¾ïƒˆrˆj¥êà@`‡©”j°çù8´û)œ|ÆôÖ ;ù’«ßA—¿ù÷ScØzÖv¾ò-ïCµZyÄu¼ç¬ŸÕBjrÖ30¿\d£Þ~³žp3Öc#㬪eU×ó&x¢‘9Èò@êy%s¹ÞØÝg4ºfÜÄZpïy¿žÇû÷áo|Ýqÿê}xýUò¯¿|5ýÍ?=„©r 3“Óøèuçã®;žâûžÇI[VqgG#3eÌŒ ly`¼ZÄÊ5k¸Õ«âÙçvp[G'Ú Œ±É2¸ÐÖ\¨ÌðXµ…NÞ²}G1Ð?€mÛ¶!<·c¯_¿ž<ò°ÿ>ÞzÊ)( ‘ÛËÌmtÇãGQ*øü‘·½Œ>ÿÍy_ïuvvò@ï3Ê•«Å¥´u}ÒÑc}ÜÞV!‡|k·øU\ýÊ3°¯÷^:°ŸW¯]Gayýœ÷<ŸºV¬ÅÌä(ÞôÚKñÇöà[wíboÃf:xpJÅlÜ´ý}ýèí=ÊÛ¶Š#Gcjf†º—´ÁãKW¡XÈ#䛈ÞÍ%3sEíÌ5«3x‡å”êxŠó½o#/÷çêZ×6‹õh$¢0²¿ë°ìG#z$Sö<<Š‚iAÀ#Ø3Ï&FÈ^„V'B…ãÜøPo?ÞþÚ‹ðºbðç·bû‹6à¯?›ÿä¦ûhtbËJ%Gi5 ŒÇ‹¬j¦0dx„ šš™ùüÉwîÃÏo&ê?v|@¡½ËÖ·ÓG¯}%®ýð_s[{;Åãl´Ä‰êüœëäIŽ'ÙH‰G­Em&Ÿ9ßܯ+$”Õû×59O4GÈ»Öz6úÎõžÁ Ì3£¹<<5`C&ß÷06>Í3(àÒWŸ‡ëÎí¤>ÿ#Ì®<Õ‘çð†k}<Œ›Ÿ­Òé'mâCÇ äÃà û-øèk6â'G*ØØâŸï8HwÆ¿Þp9{î?º W^°}ûöb×h+Ö®§S‹ƒxÇ—ŸÆ%göàã¿v9~õ“·"ï_~ÿ•ô¿¾p+ffËøò^G¿ü‘›ùÂóÏA¹\FÔÖֆήn<öèã» ÑÚ-§b´÷zæIØHSè^µŠ†w=ƒ|ü ­^SÀ ïxízfOÂÇí¦m›V0\rÎfÜñ“ýÔ78òʸìÂS‰gfqúÆnÜô­{Á=€-k—âåg®£?ÿöƒ¸õ3oÄ=À_ß¶çn*áÆ÷]A/þÕ/á«þy¼èäUøç<É™*žîźUË܈‘L †Ü›Ù sÉ#%ºs•ÓÎUÆÆ ìËFKvëíßZ:t®9idSƒé…zº°Ù÷|J&ѤþnDÿg®UÈ ò¢8ZÈ!9øGg ŒCõ‘wÏäEy)ž˜š¡—¼øtüÉ7â·_~:>ÿ{W€øü7¦ÁÙ¶¬ï¦™rÅõ†!˜˜âP B”+UGÈMÍbek€S׿1}t›V¶aór§¬mÃÕ¿t-nþä/ở_ÂÄ>´æ|”«á‰/0Yü4byÒâ4,t­Š 1>]Æö3×àÒ3?ûüwq°°çwåpû3U\Ü |æ`Ë»Z133ƒRûär9ìxæIüŸ?¸wþëðé»á–?}#ÞPÁͺphçüý½XÚن׷öG·`$ÿü¡WÕ‡Q zày>{+¶m= SS3HRe!3¼*Ëqq9ßCyv ¸ç·ð¾i\|î6¼ÿ—^‚?úöMxÍE`y[ïÿÎO0‚Nۺ߹wÞôš3ñÙyËÖaÓšnØ»7}ç>.ã¿ñ*¼ëMçã¬w|7¾õ<üçwá®S8eË: ŒNa¶€ÈCâ{·”Š˜­2Fú†pÛ=ûѲz-6­ìÁÔô좸.~þê‹ñyŽÉé2fgg12>­D(rhk)"—ÏÃó"üL¹Rµ×ΔA”9‡'vÅ ·,ÇL9ÀŸ>‚ÓO!†F'ŵÀL¹ /—Å:…aˆj"àZU~¸àÿâkC­è¼õd|â­+ðìŽ[që{–ã=W¬Åð)mtéöiÜ~gËé£ôoÕ¿@ 6âÉ6âa7ºË›Ew6ê©6k=6ëµ7i8QÑ€fžIó˜jb=æ²Üé8ÇÜÌØR÷©!Bft´äéþ§ŽaßXˆ÷¾û2üñïÂSGrXÖâÑ£³À+–>ÿÔ–.i§Ñ‘a0|€rÔ û¤Íô¡MëqÇ»°çØ–wæOŒTiYwŠ˜EïÈ4Fó-XÕ„!GÖ:ÈÃlµJIi¨ç~¡{`õ†V*W*lÂc̈¯Š¿ëc¨Ë×và=×¼»÷E¡XlZÝŽ¨“3!Þÿ—Ó¦Ž_¸ù©äzîêl¥že]س{^þŠÓðÒy<µ—µÐÈLˆ¶B…B±àcݪ¥8xø(Zò>B•jAXм”QÈyè› 0]h¥m+–`jf6žk>žõ\(”{£Ïnôþ´rØè3ŽeOÿtÚ|ôÞ|ÖãxªhÔý«ah jö<<ùìNl[Û|.g¾WÌçðÔî}´tÕz¬XÖD)±Æûœ‚qðH/Î?¹ƒÞ|ù‹ð·ß}眺òîWã_»]ËV¢ÍÏÅ8Pµ"ç…!Bçplás5ÄÒÕE|öÇc8Ô1‹U—¬ÀŸÝq ?™ÅS¹"þî±|îîa´œÝ‚¾;ˆÉ%p9H°ÉÇý·ü=2þ¸ß­õ½Fþð|‡`óy>?OÏ©÷n`|ÏÇ8ùË78¨Vtv´¢Ìàï¾ñCþæ£øào\ŠÓr}àÖN|íŸ~‚s.{1^¹>ľ=»yI»eŒÙÙYüðhSü™¸‡ÿõÞ}¨xÀ ”#.Wª(óXÒVDX­Ö¨B¬„ ^ÜVæõ§lLÏT0;Ö‹¯þþ˰sç.oFcÃÍô Œãâ­B_ŧÿöGøñá2àÈh­kųîÀþêηubÓšVŒMN[ZBß±^ŒŽMâš³Vbçã»ñÇßxãa»ÛóàjÀ¿pE'FŽA‘C<;ॻ±S8ãì0”+´sèl- ¨V¹|ûqε:òÚ¬ž¨½Ñ¨î\(ø³ªÓš]Ûçs.8.Kà€Q ×^u®}ýyüöן‡·¿þ<üæÏÇÙÛÖòÔt…9Š®19ä(åãúúpÕŧâ¯oþ î|z_øÖOP©Vñ KÐ?8†¨Fª|ü_üúVoÜŠÉÉi ‘畃8öØ×±ï@çŸÙB‡Vø¤ Ú¶¹€ ÌV€_|Û |÷_Žâ‚—¾»&^ƒ¼7pëþ¡¤êež²®oägÿÍó Ícœhòþ'â»'ê^Ôä½jýn>×<Ÿï©þ€J5€LcOïò-Ýxú¹ƒèŸ púš¨py¶Bÿñð!>ãÔU8÷ä¬[’Ǿ£ãð[—â±Gž…¿b9~á“°¾+½‡'Pö[°²xúÀ8×B>—Ñ?4ÎGFbÞòvÂÞþYŒL{800† ÎZ‡ò@¦«ž<0 ÏópòšN<¸sÑfNÆK@¹\ÆŠß?Ê«W-ÇýOEே“7®¡Ùé ìûy´¶¶òèÈÎØ¶ûC„´qír.—+ºT¯þú‹\îÍìGÌ¡ë¹Ü›{^­9¯ùÜb±ˆþC»Á ,Y¹#ç{î— ®T#|ÎÎÇîÆÛ/ÅT9Àðѽt­Ú‚j¥‚b±€JµJ ‡D±Xà (B™±ãÑ»ñÒí—bxb’Š¥6~üž[@oûЗÃ3/ú9ôöü"w‡pYðçèkA>OÔRò¸P F5ˆ’_ãUô´Wp,÷BÜSø5ybñ@_<Ðÿ›6gaø¾f ßà+AÆ$1{^\çÍŒ d0GVßóâ £ï#—ËÅd,!yž" û SGÌo‡aHžçqD0Õj€ZÕ@¹œOAÞyð=Iý¹çy¨V«ùžÇ ©M`<߃7ÀÈóà{3‡asAA0y>üÐyðìs8yŽïûH®i =¹x /èÿEôèGÝK–๧~‚Á±t´·f±4ƈx`|xçžwØ+bf¶Œ¥]K°ãéŸ``tímɵ© 2xlxç{Ø/a¶e›º&'š4nîììDOÏ2ÌÎÎÖzùFCî˜#$±Øœ%ûÐYlÎò3М¥É0\#%W”î5*[<Ç»Rƒ¿ã&îÙÌþkt¯,6g©­/›³üjÎÒÀw‘Ožk=Ã0¤ÎÎ%(•ZˆM—¶è^¹¬G„ÌÂAL¢³8ù•ØsÔÿ8鳜|› œT¯Š!Ç”w`¢ˆv'þ!ºGlWD÷’:Þè︴¡ÆŠl0S|ÏøÍXcü8þe̽gü³øBõLrKÑï@WæÆ¯ ñþbéÝ¿W<9ÑWÉ^âÌo2Jw¡8z(ˆˆ&5%ñ1‘¸»×Ù¡"jé½Oüø9„ä}£ÿc{(cK³#ñì¦~ý[ÌŒªþŽ×ŠôèMq&!Zs‚–eʲé!Cnèʼe4©f DBÌßöqY÷5s-e=cïdÝ7’SÒûM©„N€Ø/zæã%ë–¬ar)ÇÐkØß™§±ÜgzþäZ»{"š ŠäLíaù7¬´³}O{)y#¥›„ì'×eÛ|1k©§¹¿(9"¹)õ§” ‹ï³QljVRz ækV·$c8žïD~ÒúÉŠÝ«0cæÌgÈ=$×JëE¶sÂF¯öaÖ½Yâøû”¾#Çÿ&V:MϹhýîÊo¦%hd[ÊC¢/´x:ŠÃîAJãáØ¨£dïiý…B` \)ký!¶µ+ ÃÅsÚvñêYâ¤ÑüRÎ}4d2òCv" LYµ{´mB DGR$]d+F¼õVñsk±%;ÿ,G“x2`aÞ$¶9›œØ4{îB¬—´ã¥g™8©±N1·eÕ‘ê)¶äÅÖdǣώ¬‘y'¶Æ%ëDÛ90c¢x\V÷’ô³„HYJz É/’ •`FqR2ÂÒLˆõ³pb²b€¯>Ô…›¡cÔ=Ø„Åsû_ +KoTDÅÌ!E©%2Þ§iöïµèûL`½6&@œV>¾ø;ÆÌgÅ–^Ë$Ê åÁ„²Éɬ£Öö,ì ³()ŠH"RÒ©î®-ëCÇ«‹µ·‘YçÞñ^#ížÆ&Ò{Sïñ^&ãÂXùȘWª¹µ¥…o¿ûüðG·s©Xbs©99ã|¯yö*ÝÕöÑ€œllŽLfJ6''ƽ¬Ùè±ãÌÆ7LlÎè6g© Jךãõˆ÷Ë“Š­ KÆï4Á V‡P4^v]÷Øß`ch±X;qŒ0Ç÷4<ü‰B³ò'Îþx~˜ ¯!mD³IÉÏX(ªh;Ë9`sl'ú"îÝ7ö3b|Rñ‚­;I泧ĵ$ƒ¼l­%«àbåÏu<·Q<€ãh›]£ÈŽ2ó'ÎR&;Vã›g }"ljGNã¹K¤Ÿ’Y± ÌúÛ%¡#‡Ž‚`21ŒH¾¬â4a¶ÛÃØÌʪb&uJZ9€kWE¡%#SⵓÌ'±"†\/;/Éaž^qð‚S{:±~¥q-ª3¿ñìÙý.\•ÄY)¹³Q'ó®â¾dÍÛäžÉù“ì["ã[Fó+K³çÉ^#ç…“p¨¬Ë˜¬¥”£çXìx)3skÙ±ZwÇ ¤i¶ IDATjŠ×‚“÷Gœd2ÒÊÒ„µ:€Ì:$„Éî±Ý$r-¥)ÍQä°•c½0™5MÎ?ϵ²)t­Õq +óRg°tÕ˜£·T¾¸”;¿¬t©Ñ‰ÿN½'‹±Æ—I»†Ì~c©=bý«x}å &ö#Û1$¢$ç7ñ™Xë ¹×E È<‡U›§ø‰T©Vqö‹^Ì?~øÌÌÌHû)Z+ñ¾lËìsZüÌkhãy¤<G–¾‘“×IVŽ”‹ËÙáEJņX›‚§–Éû,¼™8Ôdr ”>hC4ŽÞDò¤bgÄj¨›þ'81e•cV¶#IŸœ„ÓD*·œ1O2ñ%#å"ç!½&¸~ ›hTvüÆIû+:>vÈhWñ}7d¡=^ÒÉäXNØ ÎS°›ÑqðÄC0Zˬ¢~aAkè08#U«ÉÒÖ°§†ãr „ k…¥­ŸžóØÝ—V´ñ9H¹þ••QÑáäUæÂþ¹yçT@›Ʀœ°ÉïIG¿ñöÒq¥#…UDÆzÕn˜“&±¹½T$KľÀÍ«”™r…H‡®„çM®u.BÍ"©e‹JއNN´8å.ë\©ý_iå#£p¼Žõ“ ÷´ï,¢ &©rp;6 Ïs¢ÓØy²š\YÒ¡ÎH}dš IÜÈJkQD6mš‚dôˆÝ4ƒPÏ,sV: Ÿ©ut0¼vó‡ò| ÃK055…þÁþ¨ç±Í»³ø²t׿øäêBþˆ:::Pji­sð‡èïï›3¸0(…—°ù8aî'Ï!¢¤É»–a-‚Š_3#丆 $dÇik™™¸¦¬„FöUuðͬ&ßßI®©`—…Ee)BV„ªYƒJ(ÔÔ]!ÁŠYj„R8³Œ‘éh% P‰2HTkj“<“sÃè‡B5ož€Ìjd%hmD5 ˆ!±.(Dp~Ÿ†ÿ‘Êq•?keeÓŒtRSå33 P‚‡ |G / ¦ägF~H YâÒ,$DbZ\p,¢Ð‚MRR*¼ ¶3˜hFo ”Sì…©®uEÆÚ3Üã{Nà3 ð& ) FOÕŒ yç»)¹`S«i½jr-r²'lr®“úßÌùV!fJë+ÇiP*9ö+ËxH›·ÌΜµµI…³$𙲀¨Dú—¤(;DÆšŠœp–œÔØÉ®U'7;;‹“6mƶ­ÛÐ7ÐÕ«V£R)ž:kYJ±‰™ÑÓÓƒ¯ßt>÷¹Ï£«k „%K–`rr•J3ÓÓ8ëÅgásŸý,†‡‡5–Û±xÈ9¶<3£££•J³³³–Ô†ŒHgÖˆ2P*•àû>¦¦¦ÒHc@LÂ÷q0RA÷ÓÓnáU$G*ºDóQ†wÐÞ‰&Hmœ8sB¨Ú\»ïY—’¬Ù¶&§ª‹wö9¢hŒUÅ…$Â[6fJÄV,ê,]ßZÖÏR&5 »˜Y!„QlëÜlEw ©ªêˆá”[ŠU¢yÈ–Pâeª —Ô %1;™ÏÍÈ…J œ…(Ãײê3ÃlŠyíÙL©à£ ¿‰:q’+ËN.OG¢ØâÌ@œ%±Jd7vY§ ´ Öy¦Œ¹‘Ô¾‡ˆ¬XŒºÖpä”{%&ˆölH…Òö‡2ºSŠ<Á¹š}s™ømF –œd:MÅZ R.X…I,ÂM›sl•eáh1•÷“±÷&á1›ý¤ö%gyö½Y†ÚMp)Ê»•R!3d'zcÇa,>³[S5”ÚœV¡‘[kÌÙysHt¥f¥ÚÁ`ÎJÆ­vÉårxú¹g¨«s ¯Ëcj iE]‹žJßÕ@¹g#f˜á{Q8{hpCƒèïcUÅ‘};ñ±÷¾•×.ëä\¾€å›Ïà|é[Œ¼ßóÐÒÒ‚ƒ߯W]|rùrùV\|ÕuØyh«×¬å7¿éM xà LDìù9ìÚ³ðî7¿Ýí%äòlzÑvüåwîF{g w´wð-ßûþ»¯~ÃÃà ".µ´ò¯¿¥R äùxôÑGÑÞÞ€yÙòxýU?‹_ö2^¶|–-_Á¿ýžßáSOÙŠ}÷ÞŒmk»àù9<þÄ“ÜÖÖ&1*÷±`Ô‡Ýü‘)¯fö²Ï°S@IÙ²Crƒtð,±ŽÌÚ8ÔH7rã¹gЕ)NVõQ¢„X& ¯«È¤®‰MÎ1QÍ@‘ª ÚX Ä­¯`S ¦ºÁ­ØÉ*JfÓU‰‹tŸE¼˜ÈÖ¥Ìf7qæ"@XPU„XA³¹Ò(kvñÉ$!U®ÿð‡©:=ÅGÆë¯úyàW½úUxßûÞá÷þÖ¯Ó{Þù‚˜‰ý·]ƒ?w9}õŠ÷¾öϰió¼â/ç›oþ7úà‡®GP­€™±ÿ~¥Ó’ïûÈù¾ O„ÄïýÇã]Û×Èatd•JEž 2¢cœ"66M 0MR8É¡fIU+©çI£ou’$TOñ«d  Åó+ˆx)}Nk$žsˆõç$òn³”qM±M®“RTl™á8Ã_óF"èÏ‚nÀ-Q´õAR…² ¾—}ç´—Àn°[ūȠù‘]%GýÈ#¸ ÎÈ£L­1»[&C;`mì²0Á™Fßk²ÞBø éׯΩ¨1KüKôtJ5œ£ËR•’å* »6‹°4“xœÑ¶x0‘h &fÅ%ê†-LX’l†]QÙ› “Žšš&Ç~KË X3ÄÉn²xÙYr Ó¬„J®XCFÈqA–€OQÑÀìämI-1t¦ÃÆøY¡9ž¸YÒ,„¤8•Ëg*‰ @R £4œ¨©(áLPÀœª­tìPJ<,Òšœ 5H\c¢DÙrKsBÀœc(…´NbüK±T¢½ûöòŸú#LLM’ïùðbe"ªiÚ“"ŒOá!È©ivHÖÂU¨*“Þ!Ëù@,Ñêl)É¥d¹õ*É‚‡ÒbyRÈ43p†jI’ÀaS–wà¡F˜-Y¼@ŠS[¦—ˆ\èTº"ËOA.â])rNò›*íf9ò ÿ€2Ml-¦fÉ©ÉbF¢TŽy¶¤ãS%*Û•°§‚>Ò3’%½²®YäÙ¢ëXåé¥ U¡©a ƒÐWLæ)+ãšðé@Y8&+- vÈt¤E–ŸIäQv ÈT‘ÊXhâu‘·—|Ó¦½+ÐetÃH xtF •F{Z"IÙ€€eêÀF‹“̸%â `¡‘4³›ÐÕ†m|¾XðŸŒ1HnX³ uØ…S´˜’[ØšÉv®Ð­‚MQàJˆegŸ˜u±™6¸´qÍ*.M.↓’ëÝ#Q;–¥S‡*[Ô@"•tÆ‹ŸÏåqàÐABÑõï¸;žÚ“O=™öîÚ‹“·ŒOïÀ†Íp`ïZ»a-ö"_ÈS×Ò.9x„·žº•{è1œõ’³ø¡{ÂY/9 ·|ç<úØ£´uËɘå͕ٚêƒâY…›æ†! ùÞqù5¸§ó|õ›ßÅ–UK±iÃj|âcÂÿêfLW7ô+¸äW»öìÆãß¿øÜÿÆ%Dï³ÿ‚ÎŽèÅœ{Ò9L áWü:r—þ"þõ³oÊî.œ²e%®¸ür ˜1 šs°Žm-ÈùàE‡`xêìðã‹||#9ˆ¶4‹œxZ6Q É­–eJz[(‚_R] Ø¡K•‘¸ÌDºTÈmÎ"»nØæ,áIÙØÃˆ0e@©›Ì½[sí–‘ËΩP·Á°šô6iH g2"èðÓ\„¤ AÖüW 4aϨr;J£ãX\R­”Vª9 4üO”Üé #e̽ ç§jéY•¿û”Óœâæ$tB$ª€Ôü9& AÕ„#T£9‹•íqj*áDI»EŽºÈU¦Jê4äS‡•–?7] ùÐa ® =(ÔŽ¨Ñ£‹3÷6¤C ãgI¯˜9N.ÓtPþ;ƒ˜œ(qºAMŠ̘‰ÙX݆\Ê8ÌR2ÒAîC¬‚4‹uͺ"ïqÁ‡È€#:%Y…îYaxלÒ&ݰ˹Ðó<ÌLM㉇ŸÀäÄ$¹ïŒŒazr}½}E†è=Ü‹b±Ï÷°wÇ^¦&¦pôÐQA€é©i<ýèÓ‰š¹Ìñ©[¶FÙ]Õû†!ãý!ÞòÖ+é-o¸pìéУ?ü'Û–€ˆ0=5…¯ûºü²Wàå[^€—_v%–u~åCyzŒ€´xf¤LÐÕÕ…CC8àO®ûU\}E„¦æö¯`ï“Ï`óÙ™1t®b ÕkÖ ª˜ìÇJ7~ëÜvþ…èYZ oþ ¾ël}ÉE5[÷i²õ~e—œ\%kê3Ô¤´-›ÿÌÙœ…LM/¥䶨4ÝœE¢ï3éÞ•Š°.Ì%½{,ÊW»½‰¶´ip’d+$ÁÐqÙ˜è¼dL`·9‹ðG”…áer7åiê §tsux®®'A<.{¾)d &“haÑœEPb±fþq•IÍæ, ¯- Vì„¿c–¥›³-ŸÕ/1’+À¢BŽ4©õ™$€ØàÔ¾ƒËŸysBÃÍYHª~B³Ë!»`wÛš½Áª.ß8ûX/³R’ÇéѰ°|RãK¢Ò“˜ÕÛ±Fsí/“ÅŠfCCD *»‚K¯ÕhÎ’Â *¨ ts–ÄËMÁ€X•J+4¼lYfÊ3I,²ôrI¤\˜º «‰ˆ*XG© f-dát;T[šÒ’•ì‹.ž?²dž!df.!:–t`û¥ÛADthÿ!LOL㬗œ…{ï¼—Ö¬[ƒ5ÖàîïßMg|ÏÇÓ?“N9‰º{ºq÷îÆigF-­-(µ”pìØ1ˆP{ÍòœÄ2”ÙU(—+ð=¡GøÄÿ8 øô ü½›¾‚%E¢ÉJŽNœL>J ¨&üMW¿–W¯]O-Å<ÂÊ ö<‚õÛ¯C[çR®†Œ÷]º‰>ò¹Oá[þGûèÞ[ÿ ïܾ¿ÿKWà³ïߌ\0…™â V:°f¼?¹•CüÚ…ëñåoŒaÝêÈM óïþþЇ?|=Þýö‹qý§Þ‹57ý´y³(·n–bz´×¬çÄÄFGG]·IH™í'‘²ŽS-1µÉ¬âéQ;JWxYò Ê0œð˜ðb8ežf5gq]–¿L-Ó¥’|-iÁKø]«5¥$ŒÉ,ÜgÍ'ʼ•„eâÄÏœšRç\ubª¼ØÖžH¾)wÝ¡ðÚƒ„uP­6Mã8§fÚ†CâÊe†£Ñ6eC)É»$7éq‹¤¼!IaåûºÍYˆ%Л\´Ëö¾‚º~ž\²;¢DCuP´’„«¦‘ÕÁ ô7ËÊ>ãGŸçAÕoÎBæ™¶sް‚nGfdèY¤),!”œ?§« ,…,„B· e§HÑ„²2l¸¦£ûª »N)¨R-Õo.ÅÜGêJ†j…+ :†$ SÍYRFÑ!¬êRAõ>Ö5 €5ûµR?¤¸8¤îR¸QK^¡"¶9‹Ïð|£¸ûwƒ™yàØµ¶µâÐþCåþÞ~<þðã4>:Î3Ó3˜¥J¹‚Á¾AÀÈÐ&''áy …z÷¢pFc:gÄã”±)еvÒö‹.ÂúõëP®T053‹wé,=ãÓøæA®}_÷;D8¸_ýû¯avfš—vwáá~ÿø¯ÿÎ?·^± o}ï/à×ßúFäi“UüÖ?ÜÆô©Oá¾§ö¡¿£•ƒÖeøÓoßK>ù1þþûйr>xÃÇqÛ7ÿšú9¨V032Œsßq=nÊ-¥þîí| wÝÝK8dÐï柰ú”Ïò7n}-Ë6áú?Ißÿç¿à£ÇúT+ÌÌxùË.FG{;ª•2<ÏË@£Fv¸é,&&J#9IX³$z!aã±áU"¥¨œšG6Ç„ÆRY·céI°ÊbÅd h'WùB°¬?Ó^ß"ŠSÛÐ'–•(ÒÄ ¶ZnU Hr; è*ˆpÁ í2Ê‘n΂ԡ£}^–H6•L¶Çi(d˜à¾f¯ÒpDÝ-L„tÄAª+r~‚hÎBÊËŠó¦6)AıCgäºcÖU±ÍYäWuä9«Ì€Á¬p`Iʈ,|%=!’Qiͽd{ºj0›–©~çòüÉE‡ë—¥Æ“xmGˆ˜Þ0®y$%šÏN¸Ä°«‘är¥àdÏÛ&Ëf^Y‘““…³ üÁ`¤XºYG3„ÙEM½ÌN}ÒC‚U¬OšÉiÊVóäþu÷:­«d5pš‰ÈàŽmù°È,2«À‹èªÑ½ ìøN¬;+„AˆŽ®\|éÅ‚÷ÿè~¾äòKðà=ÒyÛÏC[G{ð1>ÿâó±tÙRÜ~ËíüÒ—¿ðÜÓÏáÌóÎÄÒeKT´¶µRoï1”ËeÎ<§å¦þÒÿ<|ç»~ý}”Ëçy|l ‡Àgž…Ù™™ $z[ñÒže˜ÃÌÌŒ) ëèêF!ÎOŽ ÃËÑÒÒJý}LDÈJèèh‡/sPžÂèØ¤ÈùùXÒÝ ?Î‡Ž ¡0uu/eß‹vÒØð Ú;»Éó=îïëƒïûÃí]T*ʳ3%òrèX²„‹ù€£CƒÔ¾d)üèZÀÝÝÝÈå èï;qÁëJ©æÄ”t6"a•±¢5´R˜&% dæÌ ÙsDùyÖí2ÞXÒA>ƒJÀy!*Œ¶À—2ÊA½Ädv&™²xÑ¥%æi±áIÓÁTèuгNâ›± g5”¥5)®HÞŒEOA@ÝY^Ë‚+öHÓ¤9ÇNt’­SÀ丧hÕ‡.Ûc+>Ì¢ Ü&ïÈx£fѤ¾®«¬qB•·®N„„ã5Ò%Z¤ç“Ä1ÀŠ)í €³l,,yŒ ~IFXáðvZJ¨èžKa´Ò8v\*ºfÁ·ôÿ%³µ,ŠU¹ kйœÉgXŒ´vô‚ºv^>71®HòÅÚ%‚ —á »*Ù²â,¼6ðyÖ‡62j]\Á²<–X6÷–Ôâ‰:’óRÆضßt`sdBQâYÊÒæÄþH™—Ù°m‡]Ú¶…¦¤pÄ Eøœ‰$}o¬ÇlZ0²(eÚÛÚpû]wâO¿ôg8õ…§‚™1<8Œ®î.ÌÌÌPÎÏq®ÃÔäò¹2,À§ ª˜žšy‘å”g1<4+ê+e0:<¨ŸÏŒ‘¡¡Žøâ#€ᑇÉñQLŽ[î èp116Œ Ñ”bdxd~ÏHãü¸”m±9Ëbs–Åæ,‹ÍYj ‹ÍY /6gÉþAX¶b®¼æJ€€OíÀÈÐ^õºWá®ïß…5ë×`Íú5¸ç÷àEç¾¹|·~çVœñùX·qîøÏ;pÚY§¡X*¢µ­ÿòµÁìÌlC!÷ú9tÕé]€ø©5T§[Õ6wsvƒ=à-Ú²~s³A*Ÿ»Øœe±9Ëbs–Åæ,‹ÍY›³<¿ÍYžçaxh·}÷6pÈGµZÅ·oú6ûq`Ï[ŠêÂà@äÈöëǽ·ß‹RK ƒýƒè€çy\(èðÃÈŸyáñ¡ÜÓ\5O0ëRvÍaÒ×;@$A¦! Gud:vø¿-1 IDAT„2å„Ô›EK’ÙU1F²,‰Êu“Ôã2ÌæÒ[.6gYlβ؜Åñz›³,6gYlÎÒ@s–0 ÑÖÞ†ó/>Üÿ_ð² ˆÁØ·k.»òRÌΖ“p:ÇìoT*•pøÀaÌLÏà%¿{wî…çyزu úŽõ¡Z©Rã§±æ,¢D@’óXV‡œÄõu š ªa€Á:©À[ÊsÓˆ)‹óµ9&Ë™ ¼u²¹_ã!£ã=É•å[lβ؜EÉ”.¹Zlβ؜e±9 þ¿mÎR­V±nÍZLMãoÿâoVBzò±'Ą́–«xì‘Çj:Ña‚™qÿ=?FP©Ü}ûÝÂo¼éׄAz]3PîÙÉ"|F–š“‚KKÑe«= =•í6àÔ2¥ÍÆhÈL¬Y±Ø)éÛ‚d¬ŠÛšé¦Ü ’a„¤—V#™M’ƒTî;£ŒØ5ÔHÄ¢¼šdé Ë‚ïdÄL œÆZuÇ:P®˜µ}]Ú9·qe$4Ä©’M8ˆ•”Qg%$ö[)…ˆ^™dZlÜY’-Ãs Q¿"êKM©VB,—*?ÓØˆ‡€šA噸î$k|ˆ4¸Ã7¥Y6ØÊ¹â”É00oM¬êmÅ-ÜQäÁéÏ? hLÅØŸ';ƒ­idÉ#nÎ"É_Õc£¥ V5êbE¼T,†CØ-ôµSy"©)ƒx]h³¤ä„dQy’Ï2tC8ÇJ-Hì³Y7J'ÚlˆDf5ã?nUýStƤ9 ¡2w*¡—A|ã$â$•»Ki ¶œpXY¬èdTEÃæšF¿ˆüR܉œDºËÛ.ódð5Ùs@%ÊXŠž“¢1<\†ï€ÉÉ­ŠÇ12sÉŠšž™Æ¦›ðéÿ7vîÚ‰|¾ÀQ{TÀ#afU–‘Œv0‡ ò`ª6¬[“¶œÑ’×>³›k΢¹Å5Ù½bÖ;Q ¢,[pâj’ýØ%Y´ÌÁd+Ix+cVK‘ÀV± :cW÷iËbs–Åæ,‹ÍY›³,6gчòbsµÕjkW¯Å†uP¿áé\Ÿ¸*, P®”ç¼U.t™`a5]—Ñ4fd"–dh‚Ýúд /R2¼!JC òƒÌ^l¹¿´–aa¼¥Z¤eD7®dÎz'². Lœ9Ê9Í1œèp6rU¶iL×9²Êœk®FÉÐÝ#t›JYLÍœÞ;ªœ% ™Ò rfÜ’Ï;ÓÏrRÈ:HŽL¹dœ1Ã#‡ÍzüöEÕÎ<×{³³HÌÎS%?º£¥™Ý®¨šÊB°pf‰+lR8-Òæ°Þ+â Ê fÁÎÌéN#ò-5¥i/^ί¢2!Ýé"v`‡—™Å8U1é¢ ‘\sYgm³ËÎÀY‘³®é©ç¬´­ý.»:QÞƒSÊϽ ô:±¶ã¤>eçå3õNV?Q¦ŒgHµB È ¤ö–ƒtÖ2ÇŽÜ¥6Žý+Z1óY懫'”~a®­¿9_s¿IŠÅÓ›Ê]WµoCêàIö —Ã2¸ÌT :mP³œk¹'™³¸92š³03ŠEtt.Aav¦nÙ]Úê¾g˜Êµ®££Žé]oœhðzžÓ´oì^Ôä89Ãûzªs¯Zã¡&ç‰êŒ³Þz6úÎõžÁ Ì3707ÔÀs¹Î{6òNõ®ÁÏkF–çšçzû&ëwÜÄ=›Ùîn`N¹¦Ñ½@MŒ…Xkn`.ëí3ª£/ø8î[Oæšnb}iŽ5¬§ ç’‘¹ä¾ýݬL6¢ÿirÖ¨|òœëÉ b©äÄk4gafØ¿£##à0Äâç¿Ä‡Ü‹ŸÅÏâgñ³øùo𙚚2äjÉG•­Õ*µwtà’Ë^ ¨‰¦£&ÿÝŒ%ßè¡ÔÌý›ñT›µ›õÚ›ñhNT4 ™gÒ<æ…šX¹,w:Î1736š‡\ÒÈÙ|÷Ä\ÑÌCæò¶hž2ߌ® yìu:N9œ'IóÐ ±—š‘á…ÒY? 6ß½A ¸‡w,óÑ- Ý“™áû>ªÕ*%Dip›³03zzzŽÇK¬F¨çEÖ 9œOu®ï0 #-´7½ÐÏ›Ï\pA:QóR+·D'P>æz&üN£ï‚&ïÅ ° !Có¹?Ï¡pj°kµPú¤9Eƒ¥Y¹ofN›Y«ãÙWܤžâãÜ õîÇó#5¡k°ûj>:‘ŽcLÜÀïëa1êíjb=]#š‡NKÕW03ò…®}ûÛP.—M1„ñЃ @¡PÀ»û·ñ†7\1Ù,ìár<Ÿ…z.5¡ðê=ŸšÔF]ÍÜ{!Æßˆñ®=24#c>Š…NÀØêó1¬j>³<"nr>æ³æ ½^|rËÇ9ôSÚk|ŸQO¯,„,ПžÝò|ìAõ Ã--­xç;®Sev*ä^­V±eó&\sÍÕŸÀâgñó3öùimªÅÏâgñ³øù™ù03òù*• <Ï3u|¹ôÉbbb“““‘MÈH uo¸$eE9R-.jNõ70”¬ì’ì:Õé’{Ý¡ýÎà5¯4¥l{ñ ²²äÈ ¬†-¶F^ögÎn doǶ‰‚!ŽŒÐÉYqʃEû¾ ÂgÈ>٢ͣӇªÓ–íìLÙM§ =¥m.ÁŠÔN°~‘hUβO¸â«bMÅÇ¢cŠ®`u8žÅ¸Y¯+D?SI<#ZY²˜v:±K’žçÎCz}E…'Æ.[£*„}.ãb*ànÅN~÷·’#]?‰–ç$é²I l#7ݱNL`гN—·;1œ%ä4]Jò;!þjkËŽÄLz¾YµÝ9éy´‚ÍN¯RV’¨`lÏÒycIŠéõd—$)£ª–xW(:&ÎÒ—i¶-#œ¢® ÿPÄB8%^ò»0däó…)[íæ,–A•’N]ä4IHuy—½ÄíÔ¡lº C1ëÂô¨5G†ÝF”êØ&É.í醧.ónL.)ÓRG›ifšf³xšYv "·k‡4a²y¨JBÙnFk^µ¯RÚMÐx²àUULê’}.ó˜]ÄÌÿÚ-J–G,áž"±%Jñ:ÖãtkÛÀœ†Âfc§Y£C„ {HJ&+¦ b8M×é´UW-=LëçäÉj€dY-ÄÜ΢©¶îº›•ەÔ™²nªUÚ‚ºÝޤíÊÅh×L·YJf,DêØ¤óLÒºš=²¥u¢†Iõ2¨¡á ™£9Xâ[2Ý(¥_ûdÂÀ®ÈøDC—ØÊcÁÆfÛÿJZÚDvHóGªqÉ~Ù„H’_3‰Ä;Ýœöï¦õŒíD`Éw/Lƒô2'‡¯î$žÜ2éúcÏì&&ÏPBj E ®»!“:Iôu†œÙÌ^™ù ÍqŸ¦ªK÷8 ÈÃõ÷HÑÊWõ•4›ZêHô ¶Jzñ•ú$†²T·2qé-IöR?p§Ë«ãÔ›}ËÐÍYTÏjA“-|CÌò”ŽOݳ,ê“Êpšx¸}SX®CÑ*Ükæ9@ƒ)£7CMJ…¤YÚ­þ焳žÃ–(“9¡Ð òˆÑÇ¿ìDj)<áɹbAÅJ¶A‰[/Øés+Ö„ØQ~œÞ8Dìºìj-5³N7;}Ò™U§)Ö #us'ÑF‘¡=R9Öï&Œ&í-‹ù"sQÌãÎn7nH¾>çÄ&qèØæâ0gfM.«yT…m'ÍA¸èBßQffùG¨>r' YÈÞ‰‹-aé»(Õ^΃Ó6 pèƆnÿ+vïoìm–ÔÃɱB©7 m²³¡llE™â”ˆ§~çt"£,ºW8}}lä3á3—íu-å0°AZ„šÁ¯V¿{™ê–ÊœÙY>,AäÒãë¹­\¾U&7d¡È#“ýêöúcÙ—‡àô–oÙhKuVpÈðÜ®×.O¤Šo1™^ÔPÁ'è^±¬Í±Fl÷qlpJcjC<ê-È&âZ;ëè¡ÒމJ´õû˜4+»Ö€qƒ\³Uñi›EWPûbéq¢JX¸¹Ì²#Šé¦#ý"Æ.,ÎÞ~ì²É²ckÕè3©ï©¨pÉt%®Á7+|«å$¥¢>‰“æ‘ÍÜ¡d6±ØK,è™™HI k¦í(×À©&vääE¤Ùãm7Ôø¬6·M‰ˆ$'’ᾋœQ7nÕ_VÛœš/•”d3ÒNuå`ÈÆpv#»;DpÂ2Ic)޼KÙ%¨„V®ä™ÁZ/“»SXöegój3e5 tøs‘ M¬C:2œÉ†Øa5¦&[;¯‰e`‹­cñ^¬ ]ÒZCK¥zôØ•4]XÕÛ¸°"oŽ^’ ¸Ôü™•g8I¹¼ÖÓ1¹?ëK/0q‡lË`+äîU¶{ü\e¦ÝŒSD›ÓK"&Õ`Eù‚{–HÂ3"9ÍÖ§söyÊ$b‘+f²g´±UHÜ=JNª×ø¤#¥ ¨&e¬7ÉZΔÙÊþŠ2ˆhœ°´hHRx‹4/Lc!Ψæ`Èfª¨YðBä¶ë#V"d—ø“Z@qÿìk’ƒ†]#ѶOµža†§”ÚLGÄ)CTiÎ`tû‹JÖl®·Öàͪтô i¯•ÁÐŽ(õLre N`Å Òj+’Už‰œ1R:J':ùÁíÍ’m*ÍÉP(Ù¬&ñ(ƒšŸYh ÔjõÃpÉ´…ãã¦öœf1îŽwõ.Q-§ŽjqÒ{G;9²HJFUŽÒ6¾l×™MPNÖ4à,ÿ?#‡èX4Æ3UÑ*·Á §.¤AL­Ï2ììUÓtØifäžØ:•3î;*ŠÉ™G!¤}“UHEpšCéÐAžšòÃYqXóƒ³\!u–è·Æûd¨¤”'4ÁY ØšÙ@%G8;ÐKY¾–µY·wcm"sPÒaª±¿]=ËJ7£!"MSï:m™§Bz'±Ê!HÜ€ Ò"ëÔŠ2HñÙY,RAÜT_\éæ1F±™#Þ8«}Ê®A/‚é”vfb;Ð0ƒ51H–©Î/&Ƭbå쨕QCc•!N¢×Ì&ªÍȲCbË3Ž踣ܱyiúJ` Õ­ËŒ~Ú!ÝCw'6žR÷Õ^žõ_+Õ²‡ä~¥šgNbî"iÁ (%Þ¶ÁŽ´œ¬(ÇÉJ°dŽ_ƒ*§©"V‘´„Œ¯™ù R–›*‡È•Lg%p³œvÒØbi)²Ó;›È*°l¡)Aîœ-¦i5çHÿ¸a~WLdI¥°üÖ‘IJm ËF销X£4H–3”-¥×ƒ3e5í~Çߦ¬Z"¶¦Ðe©ð1\ð¯µÌÙ9ÕIàÍRû“(epé"Ovñj@בŒ°v:[K5òPYƸLƒ@ (Íe´d ´§h8<Ô([c:•‡œ‰Â!G]F#§”]/°¦ ãP+Ar-G©vs©.þA¤§H¢Kd0ݬbã&²VÑ +ÄÅ«0DÞØ)ï“QZ®õføät¹ª)´"w£²†4hÓ‰)®Œ¡Tïy=pòÒ)Ô¨¶ç"’iL³ö$€·»Ìêã¨N c^J¥šÓ³æªu¤”fˆg€AqT‚¤9¸†‰ÌŽñ꙳R²¶jOF±ÒRåz®¥êRÉ"iÄ™¨ ÐÑ •´"dEDE¡ƒÂlDE•¿3«HX4™iyÏ 32i#:ÖØ"'Lim•z)ÈAò’‰têò ²A'ß±Õ"DuIYJU¡šÈp8ŸêÆ[ÅÚòI¢ÌN²Û÷X)Ë£½†%ŒŒø¾s~9 KÁg„Í/KÇŒ2‰åDi|*¿Çäf‰E¤IFŽ(‰Üd¡à-1‡[Ë©½vë‰9Bè‚=d0ÜXËdƒ®\Û¶MNlâDOP*e-K}ŒÕKú“WcÀ™¸’%Q&•Wqfƒ]mdj½Ù>ÉÖBÛÔ™.Éò,Œ\BâÉL©Èº"2‘&!sF-)(„‚ã! F¡Áà¬à+ëU„³Ê49e¥#«Ìæ$bØ2!NÁ³tDؠɳKYÔ«ÃܯUˆ2ÏÂÙÊ!„úÓ"|BIëUeÎD²<*+&ÈÈ8† ·I@„)¦¦L~²v&µ5ßw^›d,O ‘ÕsRñëp¸–mr€B–8ÅàRÇ÷fQüÄéØ9ŸC¥RaPU• Ã`"```зDÍ¢àE ¬\×庺: #›ÍÂ4MÎf³PÂÀÀ êêòÈçó\.—‘ÉdˆHa۶ɲ,6MÙŒUÓX×t0»DCcŽí X,²¢(©xi&Ħ>¡¹¹ ŽërµR…eY¬ë:,ËB>Ÿƒã8°, ªªÂ²l6 årŠ¢„(°ôD$ æ ™93s>ŸG¥RaÃ0 ( lÛ†ë:œÉd¡ë\—144„ÆÆF¶í°ë:Èd2p‡‡††àº,(ÜÜ„°ÈDeTDîK*C‘rŒPÀ…à<)^¾`)»ˆZQñ–TÔÁ‘c˜€U{%IœÉ‚ŒI¿”¤´ I1VÓg ßE i<Žê1i7 Ê>,P#)ÈÊJ) ñ¶ÅߟØÐ“aAôE$ ¬½Æ$b‡bo(Eü+ÙLˆhÀS\‹M Ž”ñ$ Êè0’ qQÝL‹G“„|g¹ kU/ƒÈªr!Þ’!«¤¼mÄ>‘/–%ô{I–¥Teþš’¨b3"&Û™àNHè¦8 ^”IŒ¢P’z«ŽãàO>ÿçÈd2ø­Oý&~èºòªËÙ0 *ò?þ߯âêk®Âúõkðå¿ÿ ΞíÂæÍÑ2~êëëqüx'®¸b3*•á`0 ÔF99—)Tî$Ù\Ž::ð÷¾{–,Y„oz;¾øÅ¿†eš˜¿`ë;Þ¾>|ìc榦Çõë‘ÄñÎb¬¡n Á&üÇô§hl,`Ñâ…xêÉgpë­7#›Í⡇¢mذžŸþp\‹-¤–ñ-hoŸÏO<ñ4®½öjضR(&” W3êëñóGÇÂEí8~¼ýرs`æŒé4qÒ^¾|\×Å÷¿>ô¡÷£R©`pp_ùǯÑÍï¸gÏœ¥yóçò¾½˜2u2&OžÇq¾‰}9Ž*ŽŠB¨V«øìý) …üÆ'îÀCý W_}%EÁÃ?‚×Ó«¯náîîìÛ»–eá·>õ;v,lÇ!™mèpð¯Y(4п>ð.¿bÿâ/aîÜ9ØòÚë(•˸ãŽà±ÇÇ“OƒcÇŽ#“Íⓟü8þñÿ~ ­ã[ðžÛÞEÅb‘IÚx9ªú²^Š¢`x¸‚?üÌçÑÔÜD+–/åiӧѱcÇyú´©ôôÓÏa|k Ϙ1==½˜6m vïÞ‹n¸¥R9¶ÁÄzœ,÷¬êððC`õ𕨻g?‡1eòd457áõ-[qìØqÊçóøõÿâ/þ†,Ëâ¶¶V3¦™·mÝq-ãð¡ÞŽ\>G®ë¦¶X(-È?É(s–ÉŽï%iZAÀ9BÏRª$£Ý!⚬fyo‰dM!w•d ENÔ•ÔÓ‚’p¤í&!\$íæÏ¿Jïa‹¸<Šß€H]S €€ä„ƒÌÔzŒ}Mìã‘F Q-I)¡4+ î鲄¨déô¥88ÊßY%ÕÐÔòœ”d…Š‚ÑþËËbÕH™ÞÌQÛ)Ò*–A R‹>ý} Zy² 9 U’D¥† gÓúíÉú5w{–N–-ßgª1£”ìÔ’zÊ÷(hãeþýýÐ4Ÿýܧñçöô²5¸ïG?Á‡~íè<Þ‰?ùü°aã:|ösŸáä‰S8rähJ™›1;jŒ Ð4 GÃåWlÂüùóðOÿôuÌš9_øâŸbù²¥°m·ß~|ða˜– UUU´DE$A>øúú:üÝ—¾Œÿù¿~¿÷ûÿ'OœÄû?ð^œ?ß}àA¼ýÆëñù?ù#†ŽI“&âoÿö¯°|Å2üóßÁSO>#øé¦¿qbê†ãÇ;QÆ™3g±o–,Y„/|ñO1múT>|4£}ûöYüéÏðî÷¼[·nÇK/ýŽëâôéÓ*ÆxÊr#Cd úúÎQCC=~ÿ~_ø³¿ÄÐP1 9Û¶ÑÕÕm[·ã#ý5üñg?††/CO/Q{û‹ÿªª¢»§¿óÛÿwßu/^xþEŒ;K–,ÆŸýï/¢T*á‹ñ§X¹r9‡ð¥/ý5Þù®[ðÓŸþ ÷Ü}/ºººqÝõoÃÊU+°|ùR<úÈcØ´i=TUÅ3Ï<‡|>_»ýEÛEìæ} IDAT¶‘Ëeñå/ÿ#>ý™ßÇG>ò!>|•Jøþ¿Üƒµë×@UU¼úêÜùÍoãìÙ.œOóçÏÃ’%‹ˆ]oM(ŠJ*©¤º|W\¹-ã[ÈqòyíD^Zð¬$’i):ÝÁiûN¸× ï&(íFäB¢@WFr´âŠˆäÅ=Òl P›Tø€ÒÄ2)+¬“È>$Ù$Üä= òþ%Õ!Ñ´ÿ„Âv¤ýÊ•„yŽ™cÿVà%ˆõ"‘©­ ìWb{0g»aÎ  ÷‹J¢,’ßqðN ¹BH ÿø^Oá3³xñ¾~x–„÷E‘~%~O쇋2Âï[!yz±s,d¯ˆÇYøâÜ$Y/Äqôwél÷QÞ‡¢c3uŽý76gñ6—Áœ9Ó…úú: áÀCtìh'4MÅû?ð>´µŽG¡Ð€³g»°o_JÅ555bÌØfÚ±c'²Ù Þ¬9 ahh×¼í*´/\€_|UÓ¤“'O¢¯·ƒƒ8zô8êëê¡BÌ’Þù¨ÌY\—1fÌ:t8,-¿ëÝ·Àe—:ŒÁÁ!?Þ‰b©„þþ~tvv¢·§Õj+V.§úúú° ˜³˜¦‰iÓ¦‘C7ÍdÑÛׇ'N ¿çÎGGÇôöõa¨XÄþýpâÄI46pìØqèšÓ4qüØq†áGoÎâµQú©«« õõèÀ‡pêÔipôè1hš…g»ºýr² E¡xí$Õœ…ˆ`Y6,ËÂÐP‘*Õ*6mZ+®Ü R–iÑÙ³ÝPUCCC8uê4NŸ>ƒJ¥‚ÙsfbÊ”ÉT­Vá8.\ÇÁÐ`·Üz3­]·†ŠÅ"d­¤9 ]Ƙ1Í´ÿ:rä(¦N›LAÅ \õX½z%Ìjƒ¸ñ¦ëQ*‘î2g®ãÒžÝ{årš®!›ËbhhÝÝ=èîê†ã¸ EeZÄÌ®TèÌ™³tòä)¸Žës­ñ–9Ë[æ,±¶Ë[æ,ÿÞæ,êM7Þø¿W®ZEÅâ2™ ßùÏwÒæÍaZ–_Œ%ß•¦Ü"ñŽb;¤2`ÄÑR̓Dç=¢XŸI¾!°£@Š'GÔu'OžÂ©“§ùƒºÎž9‹r©T¢©S§pKË8”ËezÛÛ®ÆîÝ{°g÷^L›6[Æ·PCC×åó¸lÜX²’2nÎBñÎ…ÀS˲¸®®ŽêëëPhh€Yµø@ÇÒuFÆÀ©“§pÝõ× ›Ë†Þ‚9 É}©¼•lÛÆ¢Eíüàƒ?£ Ú°`Á|456rÆÈ ¹¹™º»ºpäÈ1Lœ8çÎÇÁƒ‡‘Ïå0uêŒinffÆ„‰‚ëŠ2“®H:f³Ú³gè8H7­Ã¢E q ãŽíDccŽã £ã çs9Êîèè R±„·]{5~ñ‹X½z%ÆoÁ;ßu Ïœ1ÆŒÃùº<\¬¯IT·¡H2‰üž¯NÇ;¹»»‡>ð÷áÔÉS8xðW«UºâÊËùÅ_¼Dk×®áq-ãhÏî½8~¬³fÏËÿLÉ.§… U*L˜0DàËÆŽ¥qãÆÁ0 ž>}²Ù,vïÚCK—.˜ÑÑq€+Ú3{6ÆŽ×ež0¡ÀŒB¡ëêꨱ©‘5MŘæfjjj„ëºJx3I2o³}áþù£¡¿€Àà“'OÑæË7bÒ¤‰¨««ƒ¦©hh¨ç¶ ­( é:µµµÂ¶fa шæ,Š¢`pp?ø¡ÛiΜÙhh¨çÖÖñÓÜŒ¡¡!*—Ë`fL›6 š®¡\.ó”É“©Z©pGÇôŸ é3¦ù-<ª™³Xå ÉàðîB !ÉœEÐP ˜®$Ù³3ü7âîý‰‚ ²ÆU |è«Ï ja-PÞàHÒ‰ØrÎ ]6â[CDeŒÌÚÅCRTEà„O,(×…&à$‰û ’Âaµ€¡“0æBÑ5,„~ˆô‡¤2qÈ\y<™‚4Qô#ŠlÑIî„Þ½¢]m<*Êi»CbC„_IôeÌY¢š_$)È¡]Hàý$î¡æ# 뉚hˆdJ¶í|;S¨ B"d„"ãøÈ°œB¥†¨ûC˜㪪*¶/b×u‰¼¾e Ó7¾öU÷¿õ):{æ4x媕ô¹Ïÿ!Š¥’À3–)Q X êêVø¾Ð}žE?XAŸ–Ã: ÈD’Á~톃wÉÌ cA0Ý»ï|>×u¹Z5)“1@¤°ã8€MÓ„®ëdÛ6<Úù´—j›eY‚Œw41š‚$o**¢éºæ©3{Ù£¢0r\ª¢ú­3èï‡ÛGÃH:ÂŽ$x/+ŠÂ™l†Û¶à8.“BÐT•ȧÜyϨÃe†c;8¤"¶,‹t]gf&f¦i!“ÉÀ²,(ŠÇuXSU²m‡=J¦Dâà…º0®”ÏçÙq2«&2™ ˆÀŽã’eYœÉdÈ£ªà*•J@ ”±/¢ƒ»?ž®ë’OWƒ®ëLDä#ðYQ”0¨°,š¦™Ùe—ØeøT<6M‹TUV…Çá ï÷üƒM.Z’8›÷>³Ù \—ÉqÖuLË…±ªªìº.ǦiT­V¡„….’(GµhH®ë"›Í°m;äáˆƦi¤¨ ØeT«Uÿw³lY†ÁŠ¢Àu]ªV«QvM)¶ãaÆKâ.(øT ò’5Â9'œVBòÇá)m s‰’.+q¢>æÁÌIÅÁë‰ãt9`ÝpXÐi‚_u‚ô%ì , ÈcÕ"I4.  {‰Ê,tW˜D¾sèŒ!éT‹ ø^-¯ákqþ±3U ›í—†4$$&ž½ž¬BtµÄ˜ø´ˆ‚&}1úCˆÂ"I¤ƒ}ëDq^ vµÊ%aûúΠM: X!g‹ý CÎÑ9'BèÅZ‚4Ð`2x®ë’®xßmïg˲ˆ|ó_g- H(Ö0¢(Vª“0 ãH2}cæ,’v`Î"N2Ép0ÜدéG’ ’”€´rÈ™‡†Šè]åò°´ÌˆÕj•‰>?=jÂ;EVNtˆ´9ÍH"%4Y–>ßÏ-^oÏ4QÏArÔ¢¤­··iÁu]”Š¥p“ "À,ÓâÐÕ*‰œ"B¥Rñž1ÜÑ8&úÀbÔ̦i¡Z59¨¾‹ÅèÑÅP­VÃÅEDT*•àl "Ø–ü,Ú|YÇHñÁ9?44¬*ªX ,I Á5lÛF¥R h}Û"¸!¦Ï EQP©Tà•¸9øÔ:ó…*•Šô‰ˆ}>ûÜúèYm'ÐCLš³Äh¶DD®ë¢X,‰sÔ …MDz¬p?®V«¬}‘&³fÄ­’ EQ‚{†mÛ’ÁmÛ¾¹'bEQÈ›p­øt°JDZ*ÑËRÜ€¤u“ò;’“DŠ¢B¥GÁ5dCq 7@À ˜5Ùœ%ªDuJ£á‰ Ûaw1aÎB)k õï7—ýóÍß)0#`„&4#4qÜI"•õ+œV°Àà¸r¬-$jöI&ü« ¼&KGJ„Û7ý¼÷yRºîø$¿$A·Šc mÙUXT”‹5PNú)ÅÅaltþ ;”˜¡ …©°IV:BmQöc ŠiÑûš)B,HR‰)á]ÚÑ&Õn…?kiոĒŠóý¢@T¬ÀˆlŽ)E>–èt>ö%`ûQÂCРÚ–è°Dò~…˜ àmZ¡«›"@„Ã;Èrå,Š‘ÝµCé‡1s¡¢ËÒ†á!A–—vRœd ÒÞ )²b©D¾¨HÈÊaásì‚|„žyæy¼úêlß¾ù|NÖÀE3gs8~ÿðå¯àï¾ôdY2™ ÉÊÅ5gaÿºû÷ ®³]‚뺛jˆ!•åÐ1ga¦úú:ìܹ ßýî]èè8@^ÿÒ™³03麎žž^<üУbPtIÌYüÜEÁ÷ÿýýâÒ½dæ,ÙlÏ>ýˆ¯¾ºƒ8tè}ô1lÙ²'Ož÷§Ä–û–9 Þˆ9‹‚¸"c˜ÆF+“Ä™Š0d1bfN³©‡X' kŒÄMœƒõyˆ™üdU$ìqhžÉaRO!„Bz)%íÂ&Áš¦²®ë ¥I’jWÌáÿá3sLAÈ·¢“³p¼*• /[º„'Nœˆõë× ®.Ï®Ëì#Æ3sôïÉ*±6Ë⻊6V…ÏõçŽÑß?À]]Ý|ìx'Ÿ9}–54ïß¹èîÅñy^ˆ JÓ4îè8ÈçÎã¥ËóÌY3ø=·½Sx oLdë°„ªmø EIžJÒšòúôÜÚ:žÛÛçóŠ•ËøÉ§žáuÖr>ŸFOš«ÂvÉ2|Æß£"‡ÚÞþXù`Gf—a†ÎGG¡P`ÃÐäzè±"ª—²\Éf_„cuN¼a¼ÛæR±Ä·Ür3kš&Ïii> À;a1 ß`> ¿Ž_îïïç}ûöó•W^ÎG ( ÛE9O¬§æ¿K¯Jñ9äq<;ŽÃ³fÍÀüöùüäOCU@ å§y†6,õî‚û‘¥#Â{‰U±Ùgv„ë9eÞÇ#tN\a3–ÌY‚ñ’cÅaìÇâïŠÊ²,ù’Ür\º-Øä{¦·þ]8ƽ½*"G ï2Ú‡Éý‚™YUU~ù¥Wزm^·n y×Î=üܳ/ð¸qãxåÊ娽{<Ä[·ngŸõ¯oÙÊ ðêÕ+yßÞ?¾…'Lh Ò8ï…¢±“CŒ ¹–¸qR„ŸM¢€z\B.¶¯BÞ{¥„À ¤ÂµÎ±nB|]pdS‡$á³¼?rtÊE2Žý~O±ODOãH¬F\¨çœL (Ñ@dN!ʧ˜³¥g¨R~Ï)rˆ²è¾jp7pûªq}Š\BHÏXÒ,$’,PØ+‹¸ñ¦ëÑÞ>·¿ÿ½hnn&>Ç! H$HGÙyŠ9K<ÆêŽã mB6mÚ€iÓ§bÞü¹XµrÍœ5ç«Õh‰»_Z¶VK½ÌjÙ²%˜2e ýìáŸãÕW¶`xx&´!0ì:sÌ$÷¦8ì“ÊÙ¥ˆŽH áº.r¹~ów`úôi0«&Ö¬]Eår9làÄ"Iè…$G\-!o¬?ÇLÓÄ¢Eí`}ýkwbúôiè@±Xô+#¸BQZ¡…£ús¢øI›¦E›6oÀšµ+É4ÍFQy65׊iÅ{V‰ß÷w%Û¶Á2ƒ„FMÇD9"Φ™³x'º˜ s"CõÞ)£¡¡CCCR•“…÷Át8B帴2¢T‹¡tÿâä¤qšÊ«$”–¬tÅŸK!&º\1´”ŒáK†Îi[“ÌGR‹•%LKW"âD 7fÎRcмg®T¨¡¾–eáÚk¯ÆìÙ3i¸2L u¤ë:šÇ4òmôôôâ{ß½ ™Lù|>¤$ûÁp­Þs\6†¢ª%Ï™ts«.'Ôœ†}JàvDæ$X%AÉœE«H#ᜂQt˜¤{¿p†>BÍý¿®9KüØŠ/?×qQh, ¥eœÈSF¬”— ­9‹˜ (äÑæLÓB±XŒ® {!hç¿s–ø*Š‚þþ~tìï@Ow/NŸ>ƒ#GŽ¢««q”}êCŽ`Ζò„¥ÂÌÈf³øÄ'ïÀÊ•Ë0cÆtÜ÷£°gÏ>¯•‘˜á”ŒÆœEÄ7ˆâ¦ÃÃüè‡?Á»Þ} RèaGãÊÚæ,2Á&fL„\.‹»ïþ! CÇÝ÷|‡Æ·¾õ=Ôù¦+œ yùÅ Üc¾µ‚æje¸‚jÕL*&žjôæ,‰5IÑÁÊ.{HûD E¢vSÔKøÍY‚ÏÖ4 –e§rh¥gxËœ%hýw3gA$tâ2Ãu]ÔÕסÐXN×qáº.fΜ‰'àDµZ…œ°DgÑ|}Ëœå-s–s–Dÿ9üf˲0sæ ¬Zµ–e‰þí±*YÐÓ}ãæ,˜ ¢„œžq §Eé|ôæ,H™„®ë²,ض Û²`Y‡ö–aù'Þåç ›³ÄüÞ¦âÄI|ÿ_îaEQ0fL3EÁ¹sçŠZ œ!¶”.dÎ"ªD †Ùl;vì„eYèíéÃ×¾z'BUaÃä˜Jms¡Œ[3Ù³g/¦NÂÍÍM˜2e2¦N›‚zßÑM:'’§9'ßUÜœ…%%*E(£Þ1Ç%*¥µøÌYd¶V455¢®>Çp&“áÔòdPóàhÜ~sÀXÚµs7–/_ÖÕ/…9K€Ôu †n°®ëÈd Ÿ)Ý[æ,‰ÐTøgŽã°¦ªÈçs,¢¯ï»®Ëº®q&›‘§ß`Yn~ÇÛÑX(àØ±NVU%5ŠzËœåW7gÑP‹ƒN‘—øq—áܹóBmT~ ’¸€ ñ£A)Ô ¹®‹¶¶V>tÏ>û\×Á;ßy Ö®]M¦iÆ£Å}Žb”]©µ! ÈrP>›̰,Ï=óÞvíÕxùåWÐu¶ ‹µcÌÒEp;…}@’&ÉpQ|ÖW.•KT®ëòõ×_K¯oÙŠ¦æ&;zœ\fôõõQ>Ÿ‡í«ýIÓX² ¨.²lÎ"ùŒ°DÜ3 Ä%WûŠj2nM¹‚@NLXOld zÇ;nÂÓO=‹I“& 4KQˆÄyþÚG–(V² CpÍY8Ñw LÆÀ Ï¿C7hã¦õZ ²\hÌI†¢tWðô*‹ïøU,Û¶ÑÙy‚‚`Þu]ŒinÆØËÆz­¢˜© ôBBðGÒ¾S~KÛW£ŠC2õHòn³Ä¥'Ao‹Â$Q'4å|Q –×4ÝI(ï²`§A5E¢ØG\+Lš8Fss3ÿüçÿFW\±'¶aû¶èë;‡îî^,[¶”¶¾¾ ƒƒC¸êê+°,Ë…¾œ Ñs/Knq¼¶@òÀ²cNÄ›£Ó&:1?”Šã‚9‹ìÝ.´yÂI5¢Òº¡1ÑHø²~KJkZ …öWúÓF¨·K»D!CFÂà= Š…ÞacÛ6]¸î8º/]×EZ‹ ð™³(ª ]×ÒÊ%!MgåÊåX¸°Ì@6—M±‡ez/$%ÞˆD0%ã_"À4-°+ècKçh±yÒ«òÙŽùóæÒÔ)“¡j…P©VCžv­{ $`G*Èz²ªj욌wÜzÆ·¶À¶llÜ´"R95Zõǵ†9KRl\¥{¾å7câÄ ˜7wº{z0oÞ\O†5c¤]“LÓ‚ïN&-¨5 IDATùÆp&e2ÅÇ•™iÆuwÙX;Þ‰|è}h,à8nÀùO-àFeFçŒH”‡ª©Æ•Þäú "À¶ÂTã_{ÏœÉHË ]ÇÅÆë0fL3lÛACC=\—SÐ-ò| ÛH‰dÏ ŽEaèñùJÞšÖ0¾µ6¬ ×øŠâ¨VÍèzBöÁBÿZÓ´Ä|õØ%„r¹ì©ð‘ÛqÐX( ›ÍÀqÜ´5Iá¸Ö>|ˆ™ÓÖÙ›ú"U«f¢q)ˆ°$œJ —ÍY"e{Ž1ój›³$&£¯^ؾp,ÛÆƒiñ’E˜1sÆ·¶`û¶è<~—_¾‘Z'ŒÇºõk`YLÓÄÆMë¡i*úúúpåU›QW—9#ýˆD­Ô‹"¬h?¡Q®Ñ¬ÂÅù¢_%34ÓŒyZrLÔ@Kåi%x! IÙ×X•:¦çKQÊÌ1sއ8ˆD’[[ÛXäר)ñˆƒã?e__/ œ@T/ú«ª‚ÁÁ!œ;w.ÐKO<#ƒY÷„^èСâ‚ÔÄp]—òu9Œ7Î/«’£D£¢ª*N<…ªiJŠtHv¤¸6ÄÌû¾ã:hiǹ\Ž\våae²ã8tèà(ªËB˜½F!Ó2Á œ?ߟ-Tˆ0qâ„D"sðUU¥þþ~>¾Ÿz1Eª««Þ¶mQR-AúuÇu¨¾¾ž/»l,סPÛ7‚>”ômÛ!®ÍíQÉ:;OªªœÏçé@ÇIMRür\‡Ço¡l6Ë®4ޤr~è¸ÖÙy‚UU¥xýŒ™)“Í`ö¬™(—‡¹8T¤ {ff0)ŠÂ'N‚QâÜ‹ËUEÁ¹sçiÎâºÈf²A”~¡±ˆì87Ôד*«iή‹BcûûBMóQfæ‰lËwØT)æ,^éÀ0ŒÐ­­Æ˜Ò²‚Ü~Òœ…Ùå\.W!J­ýJãZ_W(ôÕ0gñרTº¡šš×1Rwš®Eñœ´PöÆU Æ•¯øÑTX¤{ñÊ" !!ÕœÅu]äò¹ø¸Žt]®YÝq®Ëç=Ò|-s/™¤††z (wµ?óBs×qÒTMR‹›³nƒ~Û&m²Ñ(Ö&G^£è–jÎâº.çëòÁ5ù™´8Žƒ\.—ÝÍY¼’»Á–ec„jd­}Nlm±išPUüOaÎâ™: ‡{Õ(÷·´½UU…iYD¤Ô4g ¶zW!椿s•/yj©ñ<5ß§ê8nl`Ååÿæ,Ñ`(Š EQDDZðKIÁbD@:ؤ¶9‹_ª&Cæ7ÐûH\Änø*ÖµÌY@p7ØTÓ>—.p²/s\¹,Y…íÛ¶! ØkmZ4rOÁ&Is€Èõš©$t„´¢Þ(žÙñ¼Áã ±ÔÏRVWŒ2PJ—4æ@')ÝœE¼ÇqÒæòr€gãO&$ÌY Þ¥otœƒà³¦9Kðû¶o#,ÌW¾ÐøÕº¯4Ò¨lÎé£ÇÖbL]ß9¶ßÅÍYÂù á÷Gš+#mÔa #ð¼Lš³øïÜvÂëŽp ­ËÈ¡ÿ¹ÌYü 7ÄÔˆ©qŠc`&$ÚJSŒRé*¤›³„¶ËÄp861âý"¡ŸI9âæ[в}BJ€RöÜ´k‘ãþw1g©… Qýœù‚Ÿ”0g¹T_#š³\º‹¦š³ü Qêè¿RÌY.Ñ#¦š³\ʯZæ,—ôš5ÌY.íE“æ,ÿ^_téfæˆ –dÎrI®RÛœå&Äêç˜9Ë(ööTñ)Øà”½=Ýœå܃¬0rùð~æhË9£ÉÜ.•9KMÚZÄë¹°9 ɑɅ¢àøA™xÕ€4ßðšc&Tg¸6¬w4™ê~NˆF;ÇG›©Ó…2ŸÑd op{IÿwBç„Á©èÿQ|&öwB®BdSN£Go¢›«iózÔ*½‘yÆIƒ¡7ónkU’kLТƒCâÑdþôfß- ±}RïMÍÝ ï%iCJoh^èï1È_ßá°À¡g|3kDþ=t©ƒºhá->3Éç lξ(õɤ½‡Sèÿ)‘BéœRe•þ^+©‹™%ûXçÄ!&3TcÌâ%G®?óÈë>Q¶‰”–ɧ, JM•ˆ¿V|ž4g‘àÿáæ,CðÂÿcÿ?I@ŒòÒþž–7’ßDäHFß'1øª #°‹®eÎBD(•Ê£O#.ð}Ƕ‘TÓd¤E¢hÌÌÚ95Y®aÎBD0Mó¢¥>•J%Ü£'è.DhþR©Ì©ÁŽãH3ÒÄJ«B)úÍÌðË2-ôÕÅ÷ÆâÜ6%0YB£ù ¥¨•jDÊæ,¾Ê^yøM}>RÔ-|t{ms»ŽË¿Âz”¾W,#` sE!T+Õ_i¾ˆ®š&“Ðu‹›³íÃÚ&£þ Z=®`ÝõŸÅœ…™¡Ë”T®‘s­=\ü~dÓ›íKßÅD©v \(*1c¢”(R~N’Hò>2å²(Å|ÉÌY´ZU‰ zE¸Ü¤(õø/|ðšøR]vqìØX–Å#”ÚGs…‹FUÔ N’ˆÑbbÓ4i⤠hoŸÏ¹\)Ÿ5ÚEÎÕj³çÌ‚Y­". ꛦ‰U«WpwW·ä±þF7*(—Ë;v,,Û’MÄQoQéX´¨ÝëŒîP¯ \óÅ5â¢ùâ³,“§N›Šö… 8—ÍŽTÿ¡ªQæ ÌCÕ4£d@8ø˜ƒÂºu«qþ|?ŠÕõËåa466²OcÉÑJ]×E>ŸCû¨««c·ö¡É$î-`xØ^pÆ’+§ðeZ&Ïœ5==½Èçs£­ì¥ŽÅðð0Ï™3›LÓ É¬¢ÖùkÓ¶-Ú°aW*P*X£¾û×D}]Ç%Ùa¡%…ãóÙ´Ïç|.÷¦Ç4òuy¶,K”3–`bL@µjòܹsP.—Å}àBs4=HªT0cÆt˜¦%7Цmäæ6¯Y³ ¶ã¤õWG{}RT…Ë¥2²Ù,³ëFŽu‰0T—’?: ˜"0 QÍÃI ¸ TÖu ':ƒ]†e™#í5\«†a ··›|͈çÈr¾J.ãðŠe`EABãÂï¯&c„ßÁøÞˆ÷£ZÎOhcÍ Ú)LD¸†¤éxKÑx¢æ=Ñ7¾öU÷¿õ)œ=sšx媕øÜçÿÅRٓ鸞¢—Ë"YP‚ý‰²[>4S×u6MCCƒÈd²`x>º¦éñ£3™ \×AÙzöŸ*lÛ†ã8”Éfجš¤(Äš¦Á¶mÊfsˆ–Šh¯`v)›ÍÂsÞrÓ^"`Ã0|Ó K‰ w¨P±Xªì“6#øë2 …{"韣ë:,ËòPðDžälr) ‡ŠðP®Á*”¢4b¿âÑØØæäa®Ûƒ¡k™¦Å‚.]êbKx_{\ZŸÃÌ.#—Ë!—ËÙM[$LžØ ™–? IÎöT«UßFV Ájñ€Ïu]46 x*~ÒÏÅc1M3äÎs¤N‘VSò y"š£@â%0CUU. ©ãJŠ]ÓÈ ŠX\SÁœ™100 @E1&†ÇÈçóÈæüÍ[.Íq&cišÌìé(ŠÂÂFHT**—Ë×îK¨®ëRSS#)©û“a¡”¦ilšf­ÃD zk‘HÊzü͂๢¡P@ìÁð¸øš?Ou]#f†eÛL5ÇÕEÿùϘP¤šëêòÈd²ê_JcuϹŽlÛaÃÐaYvÚ;§`¾W†1\ŽDP¢™Cþ« ¥sS„·tÝ€ë:p‡t]g×Ý¢Ôµ¤`ppŽãBÌ[ÂM=~°‡@tuͼ5AL"hŽ‚fôMŽ4Od(‹r3{¥R•J•2™ M¦e»®¿§{Ö¼ÞþLž¬®?¡«U“UM…®iž(“®:ìíÿJ<A¥¦&NÛ£GÙ’â T‘ÙW¡Ô4•4Mc×e8ŽC®ë1‰Ee]×a™&\×…‘É„{¾¿/ø¢U Ç‘ÉÀ­Ty,-ŽÔP¢êE$w(3ˆÄì¿G×u¡ëÞwÛû=q.€¿ù¯cäTRP¾UGI2VaS!”Žº®aÿ¾8}ú ƵŒÃÞ=ûpë­7cÛöpšª¢¿‹—,Âî]{pÃÛ¯EWW^}å¬^³ ýýxêÉg°~Ã:´¶¶`û¶]PTãÇÇλpíuW£¾¾> >EµÅ;,L³ Q´•8R^ËçsxíÕ×188„uëW£Z5¡ÉÀy¡¼%mŽœì­(D(‹”:%~a6›Å#<×uqþ|?6mÚ€––q0MSjz‘`Ô@‰Cž®ë¢ÿ|¿¤˜¥lÙ²‡…¦ihmÕ«W T*‹6âÕ†5’ß¡©T«¨T+?(Ö0ÊçsxðÁŸaÆŒé˜6m*l_ã<î¬\B!%aΡ¨©( ‡Šüÿ<Ü/CUTtuuã—¿|54رm .Àرc¼à0†yEl‰dÕ˜ö¢÷ŽÎ øh†}ì _/^Á´©S0múT8Ž-oñba–FnI+Š‚J¥‚J¥"­eÅŸÇO<ñ4 …hš†¡Á!Œ½l,V­Z•vYäzD V”ÓHB™xfAƒƒƒãƒrj>ŸÇ+¿| 'N‚™1cú4,^²“´‰`9XIöÖmÇÁùóý¡Œhລ( t]Ç£þòùƒ£G‘NŸ>ƒ††z¬Zµ½½}X¼x!_vÙeèîéÁ”É“påU›¡éöííðËÛ£7gñ%ZyçŽÝøÊW¾Ž]»vC× a]\s–@ ò¡‡Á¡ƒ‡±bÅ2,]ºßùö÷¸¿€ƒ~îÅ2gQT§OŸÁ+¿| +V,ÅÚµ«ðܳÏó–-ÛB9Í‹iÎÂõ„ëêòxèÁGpïîCwwOÈ¿æ,ªªâ䉓ؾ}'Ö®] 棽}>×Õå…ÖÁÅ3g!"†ûò¯èàU«VbÑ¢v\6Î×þ–•\/Ž9‹§ˆ}{÷ñ¼ys±tébÖuŸ~úYhºÛâ]C¼)s]×±sçn<þøSX»v5¯]»Šyä1ìÝ»½µv‘ÍYüq½÷ÞûP©T°lÙb̘> ßüæ·Ù²¨ªzÑÍY4MC©\Æ·þù;˜¿`¯^½çúÎá§ÿú0‚ªÝÅ6gQUçÏŸÇ=?ø-Zˆú|JÅîüçïÀq¯ô_Áœ@__&Mšˆ+¯Ü̹\Û·íÀŽí»° }>¯[¿–Ï;ÏÁG¤€ÙEooöï;€¡¡!¾âŠMؼy#ÆŽƒ®®n´´ŒÃêÕ+°lÙRŒÓ¬ßws"Bÿòu9lÜ´³fÏÀ¶m;ÐÛ׋‰ÛxõêX±b)²Ù,^~é,Y²ëׯÃÊUËQ,•P.—±bÅ2,_¾3gÎ@>ŸÇÊË044„™3§còäI^ò)ÛœE©Ùç§Ðša:éçÇ ÜvõEHQ*qÓM7Є‰È÷T&v=yIEUpêÔiúÆ×¿MÙl†ŒŒAÌLÕª EUÈ4MÏ—DgÏvaÛëÛé왳ÔÒ2Ž\×û(ÆÍYDˈ€·M…B®¹æJ2 8ôJ$Ý‹ƒûôKXÙi`Èk)$ è ð~Ï{–*-\ÔN--ã°|ùRtuõP©T"ŸÏ)Úæ’Ÿ‰’®SøÙ,^;ðƒ¦ðgì256胿v;fÏ™M‹/"UUéôé3Ay’(åSôš£˜Œ"Ã_½ESeò=Ä Ã îÐÒeK`Û6ùæ6Ò>áGÂ( BJ@¡ÎtPzBóÏûLMU)›ÍR.—¥¶¶VÊd2䥄¹ QêDŒËÒ2DÁû î‹å9~ôèqj?ŽêëëP(4PcccÀq9ÞÁ –ÀÓ„ïJ…ùy yí¥,>ý™? ÖÖñÔØØH'Ož¢M7L¹&!Íe®5߇#ˆ­Âß别N^ªàìÙ³ÄÌ´tébZ¶l)Ù¶EÝ]=áü—™o(ÆÒ¢7y¡¸¤‹sÀïÍ8pæÏ›‹±cÇÒâ%‹pâäIòZmJø¾úŸ{`™¸£0Ï(ÀÖ Ò–®( —Ë8s¶‹V®\Aš¦Ñ‡èlWWpû$ŸÃ¹CÁ¼„Є|@ÂÝA\£Â\+‹äº.=s–^}–-_B':O’eYâ> `ÒŠðà! ½Î9îw½÷çvØ zÃçbˆû‰°ŸS|¯‰æ¬·*tôÈ1zõÕ-túô7î2À3Ø!MU©¾¡ÞqòÀð3ǵŒ£ry˜^xá%*—Ë´hñB@ÇwbÛ¶8zôùòà$îSäñµ…ûH蔆¿ïÏÿÀ´ML¢ß1þ2ŸTU¥óçûiïž}´{×^´´Œ#MÕèè‘c´uëv:~¬š¦QkëxÚ¶mmÛ¶æÎCMM(•ËØ¹síÚ¹‡ŠCEb0™¦I¤(°,›lÛ&äÆžS—SÄÖ3I¾T!…Ÿ(³G@¹G]Žgœ† ]:$ž3“ª*ð¬ót8@¶eÓŠ•˰qã:|÷;ß÷Jd‰Þ%AÕTÜ{ïñÌ3Ï᪫¯ÀŒ™Ó|ï›’Ì´ãÙ‘뺘5{ÆŽ–ôRÒã@lψ2æ49Á×—|#ƒÛÞû.lذŽãÐ]ßÿ6n\–_^öf #4©Ì»½8ï4œú~YŒ]¦'Ÿx÷¥/£PhĦëaY–ì',ÐS8*EÔŠ£;rfF.—Å£<†îî|쎃]FÌ®U’”lÈ"ªZÌœEÂŽH#y*`hmmÅ´éSñüó¿À¿=ö$yä1É ‡ågWÉ´ÈÀË2H#ã$&)—¡úú:ttÄë¯oÃÝwÝ‹Cû9,‰#IQD ©SzÂbÄþP 3ãðá#8~¼›6oðÌ{˜&“”JÀu%ÝÉèÚ²,¬Y³ ­­ãñÿðOøû¿ÿGL:+V,ƒm[Ââ‹Y‰j,%ñÇBà*E:¤( fLŸŽýûFNÈ„ï‘uNfGæ,Ѽ ÂrJ.‘‚ºº:  àÛßúÔ××#P»Šèë?K;c¢>Ê¿P¼°Å棡¾?¹ÿ§¸êê+0sæ è†Í ŽÉ^¦Q!MW1(ªö–ÍY$Ixɯ¶9Kò{Œþþœ:y kÖ¬Âì9³¨R© £ã vïÞ‹óçÎû=s¡âË OœØ†õÖ¢¯¯¯¼òžî0 CCEôöô¢8T¬ÙðcY=Hð„”§A êbDÙ䄺TÓÍd2xù¥Wp÷÷ïŬÙ3±aã:X–…ÁÁAôööaȿǫ®¾™L]]Ýøñ}÷£X,‘cÛÔ×Û‡¾¾¾À{"刮À¾21Å+ ²K¢g3Î$´ÖÊÐkS‚8EaˆèUÚ¢…,î•]ÍÍM¼o_ÎõˆËåÏç`ÛW+U¬Y·š—,YÌ•áa¿?ÆPý>™ëx*M»ãÃÐuƒ'MšÈŠgòî&#3|pbóÝ»Ûv8©æÄ±Qñ™bz‹JÒH(¿ pür© EQðÀýñÐ`·¿ÿ6¡˜¤1E·ÌrP~ψûÅ %>ž?ÖoX‡þþ~œï(á"Ö8“P:%’)SbПh›Ô0t¼üò+رc>ÿ'¬é’qƒv ITïUr$ßÃQéÓ»¾mÛ˜«Æê¶Ù€ûq3s¥RÁ‡?ò!÷Ü}/?pÿƒ1ôzÌÛçËÆ(9HÒÓZŽP5÷W‚Y­ò—¿üOxÇ-7òú kQ(™,H­úsžš` PÑ–ÔØd'3êòy@>Ÿ—€£D²ÆºG„“­Ð/;a­²ˆº÷Úƒ„¤( a„ºmàè-ÐÂ(íùû¹¦ª¼|ùR\ó¶«±zÍJضͺ®cB[+&Mšˆú†z?8aÎçóÈf³påò0Ϙ1ï}ï»±zõJìڵ̌ÕkVâ–[oÆê5«8¤°É|‘ø¾'è¨qJø š$[ÇYÙ‰Ä=ÐÿMÓ4ù︑g͙Ņòù<@„uë×â–[oÆŠ•Ëàº.\×Åu×]Ãï}ﻹX,áÔ©ÓÜÖÖÊ7Þüv¼ýÆëÑ2~\x"©ŠE¥aq BÄÚàúÛ›(2à¯:‰ôNµÎìKgÎ؉Λ7ÿÛSر}víÚƒßüĘÐÖ†ûªÂ0 475aw©Œr©Œö… °¿£ÃG¼+(Ká5†+ärYÜtó øÆ×¿…÷ÜöN´µµ†YnÐÓMSÖͯ™ŠjàW ÒŸ+§Ö0gŸ;]E}î\.‹ú0J¥>zǯ¡Z5…,6F5\Cz]蟓Øõðm!+•*ÚÚZ1kÖ üìáG±sçnL:Y¤Ó¤ò|aE‚$6Ä ä²mî'?~D„“'OaÙ²%aŸšê%ç—¡Ö’O“ -àÅbÕª‰ÖÖ4`†‡+ÿš£Ýžb(I/Tô´¿€FdµR…a0 cÇŽ…iš°mGÎvD@$Q¼Ë0gËi:ÄÙŒŽŽ0M‹µü}Ù‚ÅFàíÄz!L2'xÏž½`0–,YáÞþû÷uàò+6 ô(×™˜"IàPŠÝ‡Ç|µZÁ-·Ü €áºŒßýÿ%/1² /*ÎLhǹÌ>E³T*ã7?ñ,\ԎÇŽÀ2MPÂh-¹>SÛÛ߸`(yU¥¡Á!Üññàùç~îîŒß’²ç )(E‘á¸9‹*@¦ IDATÿ·áJÅRårÙg+1*• ŒLuuy —‡ÑÜÜ„æ¦&üà?B¥RAss …üðÞ£©©'NœÄ’%‹Ñ?ЧŸz½½}(‹˜?&Ožè¯©¨2ñ¦GÒoeÉ&NÂâHÈqJÇÁ{:†ŠE|ðƒ·ã«ÿô œïï‡ëºxâñ§ÐÙyåRËW,É'ñ³‡ŽÆÆ*•*¦NŒ'Ÿx÷ýð'p…BË–/¦©(•ÊsGâÿšæ,ÌÄÒeK0iÒD¶l«×¬B}}_qåfôõ#fæ1cÆ@ÓTÜrëÍ\*•PW—Çm·½ Š¢ðÀÀýÎï~ÊûP—ùÆo€®ë”ÉdðÑý:…h‹Kà=¢Hÿ‘})Š‚s}çpþ|?J¥wuõ “‘KµQý R³¡–9K¸Ä¢V´Ö3²Ù ÿ·§¸cÿúðG?›››=àXd,Á$ê9ˆ8¹¸9KX‘o-RýäÇàšk®â\.‹J¥J‹/dÛvˆäõ*-¿4s–hjµ4†mÛ<{Î,|ò“§òð0775áÙg_€mÙb†_S=‘àzª9K\1?¼;lNï»ï~\{íÕœ1 ضƒùóç¶m„^‘à%‰õ,"ªiÎ"WiH*Q­^³’÷ìÙGsæÎÆÎ»ÑÞ¾…BlÛ &ËêÞ²¸†9‹pX±èÁ*J‚™¦É캤iš7çF¬òéYÛœ%¸«P”ħx}{´·/À®»yËk[ÉqèšÆóæÏ%î?d#žÇf¨h΂” ^DžvÄٳǠi*vl߉%K!—Ëy´'’ Øa;<`ÈqTí‘ÌYd\\x.°mÛ( ´tébœë;‡ƒáÀƒ¼jõJ¸.³4ÓãÈh¿BPËœEœ7zÙeŒ;† …J¥26oÞ€Þ¾s¸í½ïfUU=““h û•žSªúüÇ™³xóãío¿º¦sµZ%ffUUñ¾Ûßù\žJ¥2Þù®[ÏçÐÖÖŠ¾¾s ";v išŠë®¿Å¡"/^²ˆZZÆñðð0ÚÌ'Rõ·!<üXè·acŠC ‹T(sLrABÖ×~*,V˲xéÒÅp]ƒƒƒ¸ýýïÅp¹ÌsæÌFqhˆqâfV) I©U«J™7oÜ8qοý}yhÏž=|ß½÷“)Ý-_¾œ{½žGÍWm\±¶ lN"ÂgA]i‰Œ¦¦¦è¡‡~^AT‹øòËßAÙ¸YP‹™#-¾C\•…ëÕ£+6&'q4;;‹Í›¶à„7‘ºLY¨UòØHT>ähÄÏŒ+4[Øt;š­&vlßI¿¼ï~€€7¿y=9dúý…0RnZV¦ 4E7*Цvàq†´{÷<òÈ£HÓ”£0¤w^~™a^”Ì`„b”ÕZ#GLÂ:pr¼kfoµzï¸íNJ’kÖƒ3Ï:ggçý´:€Ò’ÕC)fÅ ú-XËK,úúµZ Ýn¿ü寲½ÅÌSSStÆ™g ŠÂl>_æj*\Èú˜YÌiQN“Êœ £¢¶Œ]ìm”ø_‹d¶´fÒ…aÈÌlD€@”íQc³Ã0´Hu#â’—©9 C»¾ïH`m^š¦d§TäÀ  Š•Kö³ÊaÊ?Ù$DgÄ6Cùhªeû3Ÿ]P×B2æ ~È×Â_Y^ø°“$-Î?¾ªhÑâ,6ô·š6«Ÿ½LÌ¡s>‡Ž/Þð®tèN·ÈÛt9‰¥Û2®46TX¶Íð¨Èï ñ .CRwÆ–¸˜'¶ü…M 3’ædà˜â<3µZM‚æùw»=i(½ŠeÖHêR±Ú.Åì±Z-2€-3?‡^¯y(ôUa(ÎŒoÙå!å¥=æ ´Û“d÷Çq¡Ç]ÄìÜmöj“e“±õ¼öL1•“/fæz½NI’p’$Tè(µ%3NšË Éz éB®*@™³iʦaðädvŸNI’p¦èqŒÙI6­s°º¥Ì#Œ¢f«‰F½Ž4ež››#¡s.U§„guh˜„§“‰§ü«Pš™)DµÃÁPgnMÔIvÈ¥áÑÏÊCáÙß0 i2—Í×ÕÈÊZ“/C[’æIU\‰@XIEë™) C4[͇ÕdpÞ5[~* •Zö¥iB½^:i`( È’)†¥y´]2Ýd1HN 8+–(/ÑÈdUðxƶÅåžÒ@¸v–]eVºUàÈvzÂBu*=½i²Ãä=ì–M$앚5¥n`Qb8¬dä®ëPËޥɂIÓë³ÛÐ* VE Ò¡ÿöÄYœz¶ üa{‘±¸V“Î×Î*‰³°Û3$w|»ß´þŠ•¨vçÀã±â,äÃodSqœ Ž{6$w褼yhœÒÛ¹¤aDÅ Aöà þ€s’±v¯i‰Þh¬8 ¡•[U¶ÃÑh$$võ³$9GÅ8Oœ…Ý|^tHSP†<µ$-äGxª\u¼8‹Üðd£Y`8fÜëDä›åòbVŽ»–Š= z¢Ú˜Ú¸`8ÊOI¥W:J,\þ âG»Ø²*dزˆSÆìlÆl ö.3h ú¼ÐD ÓD$ŒÊ Hö´Íò„Ahëò:˜å²È8q—šBôú D¹®-J¹3§"¢²*f©ñгªèüWLwt:“,’‹‘ᭃו8 i£êp'©Æ=]-TC %oQ)΢»RŠ•He%¬AåN(Lp(@„ÓS% ?ÏzÑOdS·,z´TöÚ?¾aÅYXM))0’ dYŽ3‘Ä(é!Ÿ €+Î"ûžšÍDŒªrÒkD¬Ä3˜•8‹þ4ì¡mñô=$m±pʰ¾– ùÒ/µáLEª*Jˆ,OÎQT‰³ä.V…[rÌF +6öÀ&’Jq–áË.$ „‡ûorJ'¤pÎUâ,2!ÛRPi ¬®×½q’srT-ÎRPʰ”Ÿc—ƒÆPñ;{·@M{ÅYd G`¸ !(KD³sÖõÁ®g‘4, ðáÒБ@Ùå*…Ù¬·Gœ¥¼‹¹ÔtÖë#Ó~V‹(g®g[º,ª!"1%¤˜˜Ó×xýˆ³À—tuØ%Ž ˜¹<à{oTˆ³°ZFvöcqzÔÑ6ô \l©åè wV«4:&>¨ŽÒI£ïIÂ[%Ú˜‹½ôFgQ2õr˜½Ïíùe `±=Ä¢þ(bg.|³ÉoŒ8 3²¬È°¨ZìÂÁæ:‘‹£ïãgqǼÜYOLc÷Ÿ¨Ÿ1 F’SÁ’u @ ïÊ( á’„ ¹ã›eš'†.VÇp)ç6†Egö†ÌCÕÉö‰³8•©œÄ,«6¥è”؃ö–¤¯eq–Âça6C!gMgŠí%v‡%Í.*•â,LîvÑ£tÅw}S–o*¡$JÕ®8‹å"‡ú€à©.3ÜqJY=—"É lGœ¥•ÊÞ®e6(ê!¬™SŠ:¡­2”JKâ,TÄI\¦V7CìU?-‡Ê‚÷ºBœEÚ>Ó9Œ'¬JÏpm•è ½ÄY´A#7. †˜°«¨h°ˆ¡Ø_å/k¶ËÚ-¡Üù¤ò¦`W&]·±Y'v$u¿U49¾P¨.!:{ÂCœ%¨.é’hKË"‰2„Ÿü•\‹'õtty$Òñ&¶|[ÎPU~Ï-ÇÇX?{ªöè"Å"á§o¥:O€N³e^Wqmôl™¯X‘˜ŠùFæŠ5ô^ˆJ©¡BêAg'ø}y%N]—×på œDƒ$!ëi–2l¹+Ïe”ò/9ü-‰@H[bVžÌ¬}¾©D#‰ ‰©€;dŽy ù -¹)ÒYRB¶¢C¡‰º °Z!(~›*ëýzkâGIŒf)Û‹ü»Àæùߨ$‘’CNRÈ5sAæJ¢.Ãây0HNÞ“ƒ™+m:fhžÔrWL[b/³CS(²‡¾ƒu^fí û¦çØ·;|ü#Ó(­—}¸ÊV+24VW(Ö‘©\SW¡qvܱæN?ÂQ’$E…aˆ0 ‘$©Û‚£ FsËE*ÓÆ(€ZÉÏT¶0í0„J¨ÙYP°ÇwAŽš±®uiòJo .ßÞ}BE;Ï­vÈYQÑgÀk\=ú˜šû«gq¶j‹…‹#[¿#ïœ;W 8ïæÖåØ#< q± çŒÆØ3µR¦(Dî¬Ê"&$$k»}OèTT£©” P!@XT8f®ˆfØ’lBé7‘{OìvŒªÅYDY¥ÈóÌÌó È÷»Ï 9ÅBÖsÿ %^.²+ÁÀ‚+Âï·«GGˉ½Ôzý*˜ JùÉ8q”Τ. °rììb Cœ^7ªgA¹É!ö™jaxîPtË}s-ÎâæY¶¨GB€„ü…¡´bVv°‰:x*O2:û›¡†FËϪú9ÿ¶ÄYàTyr®`$I‚ýðV}ô‘  À+_ÁÅ—\„;n¿gœy:²1Á) ClÞ¼o¿ì­èõ(¡C’!ùl÷|â,¤Ùäú`Ô”×Õ´‚Ò4E½^ÏHrüÒÔ þÊ0T1ö훵Ü'Kœ%Ó@+ †:4‹¥j tÛç(Šb‚Ähd£Ó¿rŒ¤§HN2ÐðôŸILî’ã¸ØãÐ5·¨½Úr­73pÄYÜ!)ñéXt³d?ÀгÓÇ*!@‹ì 6Ät‚E¯‹’£.m‘6°,å¤*bRžt1ÈvoÝh—¥ðŠŽ÷J‘)A†È€J…e¥r1DÇ×bYŽ8‹ ›•«²e*™!ÛÃÏ“DåDO±Å9&NÙPÒö¨‘Ui‘ጞ;Þ#ΠëIp5 P"Ìä*ÉȾÄ)=0,0ºÅ»’ï$§ÂZð^¦Pf·¦ *'áINæ+&ft¥Xœ?*•¯Üà‹%r—•º49¢(̰ä÷!øä¾5ߟ™á/Ãì•8‹êI³«ÇãtÚ@~qrCS}Q6€ÆÝ»wãm¿ó^±bn¸áñ /Òp4Ĺç¾ÉÊßÿرcA¨¬4ÁÁ2± d/³˜ÍæªàF( *‹ÅêÀX»ê8ytZ­~ó›gpÓn̯»^éG‰G}>ô¡kÐëuí)ƒéI¨•žTUõ9t/ÊÝÞ¤ÅwˆõÏÙS¼RÝr"fàÂ젚ǔ±9-"\R†×o€²Ë- Ü\•±Eú#ĬIÒZK–1 KY2¹HÅ ”r·R(Qã»Z" Ž~’0>lhK-çŠFÉ—#«RK’%Yþ)PðE¬ZåÌ‘ÊÝ Ç*ˆ¶©ÓÚPÓf¬ JÃ'²¥b%TWB:bI†¥ƒ|†§’LãHÝHT1ÉHI@[]Êz@ªÛ@PqËGoÝ:;¶˜|¼ÚD®T Kèú"iá4“öíÊ#{aŒ ÓnPóÞï”lY8UƒR.õÈí½ µc=EŽ¢Å^ò„˜20¬,ìñ]vBR"Œ dR4 𓉙‚‚†«!:EEŠº .ëbp‹3#5U+(CKã‚=Èzcç ÃÀΨ#%}Ò-ìV²yóÑp”I‡¶Z€^·‡Gy”’8Á±kט’{©é ò6>Q†P(ôL)Ú“Õa‚tšÚSõhˆÔL‹y—Z-Âλðä“OÑG>r5¶ †!¶lÙÊ›6m¡ü÷ÐëõäT%û!=×â6*…œ±l^9¦äÎÊj¨Ùv.d|AiHŒéå6YWÓ¥B±ƒ|"ò¸R`‘ÁòŽ1…ÎÒ”HÉžP¹‡äÀ.Ÿ¿¿ËR ÈÙ¥Lz°ºÀ6»zò!JNÿJyÆ®@ AÑcW^q­²1†®p,ž7+ªAäV«\¾ŸRP5VœEe‘n‰S´pû>;öœüâ,TlW’“~VFr>KÁ«}Cµ8K)ãS½ïrZoÌÏp4¢];w!IS}ôQ(Qœ±›ôûj‡ùç 1þ6Vœž¾&Š‘M–±‡×ÞÃÊMÿígÿßUÖ}ß\ºl)þÛ_ý ýæég2ëHF*g;BåÚ{fBÇdè\Ñ®PFDöŠ KälìöÿA2MÐIfgB—¨`J)ª´=™Ûî!“ˆ‹{4NŠ’ž“Tâ¡ý*tö¢ûëÿ”t.®â䢸-Y–K”¹EgÝ´+Îâd%0<"ì‚G=± ¸a âÙºw¢IÃs®BëÔuF“dz²Í°ˆ]gÁ³PÌ^åTxjÔªP/(ú¨Œ"Ò¥RKÎg!‡·†µÖ:‰j“îÐAM‚2d3ÏÕü<¤ .àušÃ&ÓJœ…å6í¬“v†»=-2ÄÁøCª¤ìöÃÜ äq{A,#{•DŠœÉ´©3²!öÊVJDã’6•X .8{ÒìôC¥p†… S´Þ… ¥¦[³Vsr¥Š·DËšb®f#,µJaéä´“â,v8DÄN(bý"ØP' ä•Y €ÀRŠM%²ìöÙÙ/æ0 i²=‰ÉÉ $I’©!.?‚ßû¾÷Ðp8BÇxö¹ç¹ÑhP»= "Â(aÐÈzžNÇJÃN'O0èé bŠm¢ˆBr¨"«"¬!zë33³¯*·IzXZ¯üh8*ÊÌpCd`N¤jâ$)ÙœÎ.sá*}ƒƒ&ÎâYdU’Ù“U±“‰ÞA=Üs¤é²&΢¿jAEgq4A¹Ïf1ÄY=N¡ØþPQQ\œEdŠDɃ Îâò ¬ý«gavƒ¶Ý™ë"‹³ˆàÅC³¸â,:¯Z,ž8 ÈÉP%£D+“ýjÄYD‡[–•ݬ}1ÅYÄYu«8ªúzgñ=ÿ|½víÚ;î¸QTC·ÓÅ‘G®Æí·ýßúæw1pćƒˆðØcOà‡7ÝŒN§‹ÕG®Â)§œ¬¤–AÐ 'üvÅYÆLãj[ÄŒ4 pÙJK$¢JÅ€Ë7¨8‹2~ îtæ@%„ÅéÖ2µ¢=~íɶr( aB&QØl6199Á%…ÔêÞ‡ßÄ£áfgç=kYœ%MS,Y²„£(”xAZHN%5ˆggç0‘Ÿ•ÅYrþ{^ºliŽÂ$³¦Mƒòõ÷îÝ‹XPV˜¹Õlbb¢ÅiÊTqyûJăÁ c³#xÅYÚtzz:ÓWæ±{eœ¹5ëŠ}ûf9ŽãJqF&w8=½$þYÈÀ\é*ÀÇÞ½3†Ï+Î’rЉÖZ­¦\×q×­:+â~¿ON×Ò‹úÄYÒ4¥¥K—rÊ:½•0jïç ¢™™}VõÐ'ÎÂÈt„øïÇš:`ÐŒÞxïÞ½DlîÐâ,išòää$šÍ†]¡1{’ÇÙƒ ôz=t»=P@•â,ÌŒ¥K§¹"(â1ÏÕù\ÌA`ffÛu}ÍÅYL’ ×ëqˆ(`€ñÁ¾Ÿƒ¥)ãœsÎÂÄDþȵH’L¤©V«Q»ÝÆUW_™Y’”©5ÑâÙÙ}¨×ëT¯7À©/)~WÛ·ítæxíwU|<99)‚j‘X—“ mG²ž-І#´wï% &'ÐY¶õnƒ4•Yyº%fI]œ%òU㜊Jó~ÿ½#Î"ˆE]ú–·qœÄ.€ƒÆ87$zèW2$—À¤Ùlâ¹çžÇ¯ýåâ'¼½õÚÑhD«W­Ä…o^A@:n™^õí·ÿ˜öî$韯Çâ Ëý½ù¢õ¼jÕ ŒF1ܾo."€Á`@_ý篡Ñh e®LP*ÖSÞ2„÷¼çr6‚ jlÿPoÔéÉ'Ÿæ'’ê:*®Á ¹çápHkÖÍçwƒaé=Dišr³ÙÀÍ?ºs9Aè{ß*gPº÷Á`€·¼å":üðÃx”9u]C&,1;;Kÿúý›¸ÙlRÊ%çC y†yüƒ( ñîw_n¾ø,ûŸf£‰GyO?õ 5š…ìÓÊu t Ç㬳Πá`¨kòy5/MSj4êøþ? ápÈ-ðØg7vïüÎï\Š¥K§Ç)Èé²9åÝ»÷àÆ`‰,x?§)7š ºüòw`0rG“Í=ð«ùùç_@½Ñ³ÿ+? ‹ýŠSN> ëN;Ãá@äY¤ê¯Qá;ß¹‘Ò$å14<ß¹ ˆ¨?ðe—½Úí6§i8î"„·šE%x/ €¡ T)z’îH°+ùPÃù«GÃN:é:ü°ÃÇ1™•¬Ddz‘ÉT)çÎG˜ëg€N™‚0ÄË/¿„Í›7¢V«ëºˆ‚¥iŠ‹.º”PFÒ~8xbfDµþõƒˆ“X#ba˜X½ñ‘-Pĵþò\òµoãȧÔ]2Åþî»ðÈå—QÐø »TÆ4X¯)LrQ¡øn¹0$nºÂFÕÖCO”Kåžbd¹—½VÖ¨ïœ{îX¬¯‡ú•óIõìu«ÕÂÓO?ƒ[o¹}Q®wüñÇáí—½-Ó¡©ŽsøáoÁÞ={åšGsÖ¬9£aŒ¢U<Ç ÐïpóÍ·Ígüõ¾÷½6{…ByÙ@é±ÇÇm·Þ±(÷xƧá-o¹ýÁZÕ#û;MS4›MÜxãÐï÷åš'Ÿt"V­Z…x”@·ª³†!öí›Å-‹´wàýïoîxÈiåzç­&|ð×øÙO¾(×Û³~.¼ð‚œo^>ü›2êõ¾óíÏ>ëLvØ¡ˆã¡ã}³ÔjvíÚµhgÒ¬k¯×CÁ§¯ÄY01ѽ÷þ<ðТ\¯ßëãœsÏÆ`8,ÃÏH“µZ 7~ï‹vëן‡¼Z¤r*•N8fžÙSK‡¢‡3@¡íy™UO=ÓÁ`ˆu§ž†£Ž:fQî‘Ó/¾øÿ8q–Å>¥üêõ ÎR~æ%Q ÂTdúT®žgÑ¿k´dá¾§l8WûjqŸ¥b pÔSO™hAFœ €ëƒ¦·oGFcÎåZœe~cœ?䧉 IDATåÔ¥œ£Ñé)O8˘^Õþò2Éü<â,¯ÒáòدHyèóÉu•¾çgG†k×÷ýyÄY¶pÂ8Vˆ³ìÇÚPÅ:ð¸À¥‚ó™bÐ÷#(Sì%q–ùÏÃB¯çÙ_â,‹¿¦žÏ¬ÅYæY?½â,Nàúågózgq“;1Zc2eW€ÃçÄî /„GÁ Ôuµ¹´X^‚Ÿô¬8KÅ3¢4Æžöì)ƒ¼ÅY|Y?Ѽßs¸ÿ=«ÅY^E9xÌïgYPIo¾R¢§æg9°Ï¿_%ùùÅY~¯c×¾Jœå¾\^­gÙVÅ6öÆM´€5£ýºöq–ýøÌ´€³C¨˜í2Iä"?KuÝqâ,û»/òó*q–Waoh¿åµgq^CÅmɦ¹mÓ±÷:VœE4‘Ϲ<ÿ…7'ßkÝõ‹³¸fŠ@œâ¥3ϰehwyúسrÂ8ž?><â,ÁøØ”ôL.k'Ãå²¥çûÅ"APZ0·´>îûÞ×IÃan* äßEùêvºòг@\svvnÑ®iÀiJt˹kƒlO_¥xÀBc9ûƒÁ¢]¡×í";b§®)øR‰0;;ûj©³®‰b”#&ќ̾Ò$€| ëÕ}†£1F‚ìÞY,Ðôzýl]Ýy4dMDèu{‹vM3Qeoˆg=Í×ÜÜ\9ã#­Ø‹{ýþ@ì×òÐq&‹qŸæ=Ò4…߯z¥Eª&浚 ½rBÌþÌX”°˜SÔJ›]¥ˆVÕF­Õj`NU2YYºó~>!?Y¥T¥v«UV& DÃî»úJÌ-[ŠÀØ_Aàô‹ë®Âž•+ ‡óÄnb4|å—hr:ÝN¥8Kè÷ûøƒÏ|J?óòºrà¤Ùf%¿HÅh4âÃ? £Ñˆ¸Bœe8aùò#pýõ¿çžIõe€ˆÌÌU÷ÈiŠZ½Ž~¿ÇAVгt:¼ãoǺÓNeµ_E›%CÛšH“¤L’—ßo<ᨣB·ÛU5b™åA€ápˆOÿþ'sGLóµ¦*ó_"Âp8ÄôÒiÄq‚ד8K³ÙƒÞçž{†Mà¢0ä8g‰ ÃÒ4§)Â(2ë °‚Hâabûömh6[.ɘ*AÀwÞu»uÊ®¯È¯s}"â0³»LDDZõEQ!Ii7"dÆÄŒ0Ž1lµð½¿ü3¼ù[ßÃñ÷?€€{V,ÇýW¾Ï®?ÍN§BÉS˜Á7ž8KiëÖmxá…¸ÑhÐ!‡,C¯×ÇÞ½3SSS\¯×Ñív-rÕÌïÝ;ƒá`H=ôPt»]ôz=4›-Š¢Ë–-Ë"YGœe0bõ‘«qÜñǹB ÄÌ\«EÔïÐï÷111Z­& »%¥Ñh„n·‹€´F¶l¿ Cœwþ9”m"×>¦ÜÀN©Ô1¢€Ðíte›…jš¦¨Õ#¼ó—Uõ¥¸ßï“9pDÙ8_¨Éå†fgg-Á€OœÅÌŽŸtÒ‰ä+Ÿ13ºÝ.ŒÉ‰IŠ¢‚C¹ˆ0 Ñíö¸€×â,”H^ჀØÑ®$ÊFh†Ã!šÍ&F£Q†Þ.ß'òuåÎ\‡’8a"òг˜@éòËßÁÌ©Ë΃ÁF£‘ýVv­`ÌL5sNJDŠÁN€³‡Ã!wÜZœºî”<èÓ=å”S ¤ìb!|Tš›6ä^¯GÙùs6X~–ã8Æ%—\DDä}Ñhˆ$I­“̓F/ Qвd›ç$Ixjj —¿ëî™´‚&µZ Ýn—†Ã!Úí6A€4MØKçž2ÍÍÍ!´Vˆg †tÒI'òé§ŸFåV G ÃSSíÜyzÎ$eDHý~ŸòÇígI’„ÞúÖKP‡®êå“?^N" xnnŽRÃ6ô:g‰¢7nÀ‹/¾`iªçæ:Ôï÷Ñjµ099‰n§‹F³ŽZ­Fss;űgÏ^Œ%K– Õj"ŽcÔëuDQ U‹fÎÍã?Š8a8ñää¤*áw:ôz=4šM,™j ìÞµ›“4¥f³ééiÚ³g/â8³ívK–,¡Ífi’úÅY¤Ó)£8ˆ(Àp82„%¶:†Yfò•¯| kÖƒZ­†—_Þˆk¯ý Z­V,¹g%gƒ ( ìß~q– ¨Óéæå{Ež{îylØð žùͳX¹r9V®^…3N_‡z½^´"š ›`U¶\q–Œð"Åì¾Y²…ŠâÓ³Ï>_AfÑþO<…ë¯ÿÚí6’$!—pH3U‰³ä †ƒEv2–n·K_ýÊ×ñ©OF=ö8ž|òi\{íUÙþVŒá…òQ0/;AgnN¡©ÌίÕ"lÛ¶7ýàG  ÀW¼7Ÿ1 RDp$ÍJâ,DY°4;;+Îì™­×ëxêɧñ“Ÿü Ç¿6lÄu×]Z-"Ù&) `ÊyÅY2ò¥>|á"“‰"<þø“ø·Ÿýçœû&¼üÒvø¡¸ì²ßÉø&ȼ&°¢À¶ˆü¬!D˜››Ó[JqÈgŒy£Ñ»wíÁÊU+ GÀH@‘5Y­H¦_[qõzõZÈZ)ÔhÄø§/òŸþF·ßöc\úַЪU«q÷]ßÁ‰'€—_Ú€å+–# CÜs÷Ïð±ë?‚f³‰$-\8‹©ØMMMá™gžÅ“Oø¶mÛŽ÷¼ç]* pÅYª|¢é›×0RSÂOSª÷z…D Jà:7Þ:(â,Æ¡I]ö¹â‚YН°[#ŽãÏ>óŽ;n-N>ù$>çÜ7aÇŽØ´iÖ­;§Ÿ¾½^·ïØÁ£ÑДL9B<ÿ‹˜˜œÀgœ†µk×ॗ7 ?èãÈ#Wã¼óÎåe‡,ã—_Þ•ÎÙ¸Af­UhgΘ ©,´¹¤Ûš·‘êõÿÆ›ð¹ÏÝÀO=ù4&…ô. ;ÆŠgŒÜ³ÊuŸ±Wøšää@Uà/W´ äíܳ2¬ÌÌ+V¬3cåÊå "ìÞ½?ü(×jzý¬"»qã+|Þùçàüõçáêk>NiÊRešQö7êúqœp¯ßç¯aÇÖV¬\ž_§iÊO?ý N8á8>ó¬3ð±ë?‚¥ÓÓ¼rÕ rÈ24M¬Ys LIBê(÷ij}’$Ag’8FLj“IsþÇþ;NÄæ5qŒ8NÊÆ|!Îb”pXTZL᧨ÀqNðÂÊJUùìƒ-Î’EÂišbnn\pvíÚ€‚|‘bÔj5AõYgÄe™ ˆP¯ÕÐïðËûîÇæM›ñÂó/âÂõçgÑÙBÅY@à4Eš¦hOM! ƒ,³Šÿ<ù"ˆ³03êÂ0DfÑ\½VCTN‹)Î’í‚Z­†LýhiÊFHÓ´r¢àÕˆ³˜íÚl41==©©vö )P™Õbг˜l7DQ„f³‰Z­nÑ¿]$q¶û²Ùlb8⟾ô|üE»ÝÎÞAgš­¦]ž0ŠšÅg1¯k4ˆjµÒädi³.‚8‹Á!´ÛmDQˆÉö$Fq ¯´ø"ˆ³˜¶Þää$ÚíIôz}pÊÖ9ßù,™ÒгA€4IñžŒÕG®Â_ÿ÷¿Äç>{:Î;ÿ\›©¿‘ÄY(ÿ/ëQFy›pbr>ðY¶Ë–-Åôô}ôQøÚW¿C=ëןZ½VTïäѬgÉíG(ZIæó˜yÇ矾wÝyž|â)œ|ÊI9ëæÈVíŠê-ù œøšžž>`pãÒeÓ¨×èï*Î"¢7D&Û@dž!<£¶Ö2ŽÒ¨˜Þ*A™ªÕkxðÁ‡¨V«ãÿä3Ãq+ b«+Ȭì(‹B&H‘š‘7.¨#sZ0I:æ«,Îb˜à”åF­Vãn·G“““p{›B÷‰ JM†ìj¢£`Ap-kö“f«‰ûù+ît:˜›£÷_ñ^®×ëVš”<H’}48K±µLA°ñdf €?ÿw7àècŽÂ¶m;ð‰O~”s@¥ðF^N󊳔óí§+„ ò<¦`Î` y65z/åJqg p!HAäÆqÓWþùk8îøµ¸øâ7>¢%Ë`:«ÅYDiÚ6FÇøeÏYÉ«îÚ{2åa ÒÊÚ«¦ZÀäyvâGð¨Z™dWÄZ|\vv¨ggÃidƒNc7Jì¢çËJ=×#Îâ@…_°‘^£ÑÀK/½Œ¯}í›Ø¸á>÷Ü7áô3NËö,ûuŒL…©JœEî›Ò!K³ŒûÝïy'V®\$IðŸùÜéth4‰ÁS7*ºêóZ‹³8ÇÒ妰 çÏüá§ðë‡Á-7ßÎòŸþÞõîw`ãÆMè÷ûüío}®½îjž˜h"‰SRƒ#ÎBâÂ¥QÂê‡Cœý¦³pÔÑG"‰Ü~ûH.Žqò)'•5.*ÄY (üúO—kâœÿ.ø7FXºt)æÉ¾ÅYLö’4¥©©6ßôƒ›qÔQGZ€Q¯×ã(ŠQ«ÕdæŒÔ¿Õ¨Ûé¢Q¯S=SÇøô§?'žx ?öÎ~ÓY*Ý’\·FtÙ"C¤%É z­! ÀÌñ±Ú+@H•â,öœ ³ÞµZ N‡>÷w7`ݺSEa°µ*vUHIÛ¬ÅYrIT²ø9°VŽÈ)¨ gX½z.½ô £Ð+U¦õä¾13cùò#¨×ëã +Î’•ÛC\°þ<Üùã»ñï?¿Ýn—¾õìܹ _û—o"}ôQXµj%~|Ç]ø—¯~ƒáG¹gu&þõû7á³û÷سg/®¼ò½xøáG1ð«®Àoø¦—NcÍšcÄ1¤8‹È8ºä¦,3ð›§ŸE·×CÊ©W%Ü%ÊQ÷Ë.Ã=D‹”zâ`0À·¾ñüÙ_ü)6nxßùÎøØõQ#^r Åú+*Fû\qé‚(?ª&–%q’ ã„Ðl6Ñï÷ kàΡRÙPг¸ãH¶ó@âü>ó)|ýkßÂ?}ù+¸öº«ÐMz%jƸäÀ}q–ÒL)H&äO“¬W%Ü1mjUkͯÀägQâŽFv­^Ã?|ñK8ñ¤ãqÕUÀÞ½{ÑjµŠu…;eê”l©4¹b… ä+9ã8ÙEh·'1Å9šÜß!ÇŸ+ÎB “ƒóXEd#¢™$°È™¨@¨}á;?¿PfÄ*îsrr£ÑIš”ÛC$©ää]u¦:,ÌŒá`ˆ~€^¯§æ”y #£~ætÈ=×"53ef£"¦˜Í¸ÊZ; è×PœÅÖ)‰ägúî»îÁŽ;q÷]?ÅYgŸ™ë d7³zõ*´ZMlÙ²·ß~'@À±Ç®Áa‡š©ŠÍâg1¦™Ñl6ðÂó/â_¾ú ôû}sÌÑ8ïüsñ“{~†;vâ®;‚‹.¾IãÛßú.Z­ºÝN]w †£¢0,ÆQeÞ¬¼¬ÝïqôÑGáÿèÓX€÷ø.%eüÙTFpPÅY*ÇÖŽC#ÎBªBm#) C¬]{,Ž;n-Ò4¥(Š0 qÁúópþçæ ‘â8ÆŸÿÅŸb4‘ì×ýÞG?„8‰…ÙÜà»W]Ž4MÑëöèSŸºÃá(7s»Àìö É€Â0¤ë®»·ßv'mÛ¶Û¶nÃgþðÓò`Q9t3 N6d†åÞSJ’„Ž8âp¼õm—ℎÇñÇG;vì@-ªÙ~¹ÃÐ&BÃÛkì21u\fÐÒ¥Óx饗qÏÝ?E¯×C½^Ç©ëN±›™Ý¡SÓ¬ RÙ>;æ‹EÒ «Êarr£Ñˆ>výGðõ¯}‹~rÏ¿áâKÞŒáp(z^sö¢n:ʾᬼگ=×d{9Žª'6‹×£‘âNÌ[¯góÁ<–Þ¾}îºónt{=j5›8åÔ“Q«Õ¦)‰ ŒdÛYµX¨\ S‡:_ò8Ž199Iüàøæ7¾ƒ“N>O?ý\õÁ+Ç ¹ÐÀ¤* l $+qŠ¢zâZ-¢M›6cóæÍÃ[¶lÅ’é%ˆG±ÍŸU¾M´^Äö¬6«9–5}ÅqŒ©©)\ù÷á_ÿ6xâñxîÙçñ¼ßÈsJ €oÞÓ»¤¶mˆra˜™Q¯Õi²=‘;SŠŽÙÚ9‰©Éàì’L’åòU–û¯¸žëL/S²°Œj%nŠ¡iàHæ´8‹iJú Éç·ÝV‰ªååuº`ýùxË¥—`0€™qíuW#ŽcÚ7³ï¿â½Yº–èMçœm«Ì.ˆ–¥“²é§ç7Ç1Ö¬9†r_a§rÒ4ÅÙgŸõëÏÇ`0 8ޱúÈÕøä§®'NíTõ{}œuö™xÓ9gcß¾}쯑£Ùâg<'#ÌÌì+çÞ,¹t¢T-Ea‘ s¦#¯<6±) (Š3 ©Y}çg¡þþóü™?úغe3¦¦¦pîyçâ¿þåŸa®Óµ¥5wàÞj±]8"=œTPz22Èná¬8T%÷o>ƒšjTnAëg‰ ?1[—ŒÐVfóžùää$=÷Üóh4xø×‚Áx÷»ßiæ¾MûÞiQ9ýr‘¥ª¦†cåÆs4¡5Ñ2šØE úŒ£ò¤g"¤@‚ÂÒ²Z£~¯ÏÛwì Ñh!ŠB¬>rµqzU.rF(Û{ÏJRâ#‘%i™™™Áôô´%pغuŽ8âðJÀÛžy^.ö›ôð¬6:Ëökq¿ûöÍ¢Õjj2z ò`ëqQ /JlÓeñTzÝíØ±Ã‚êµ:V­^…0 .¦Ò<‘,QÚg¥êÍ,Zš¦[iJë-zæ™çÐï÷qćcùòåèõz(,3• '^ð#ËVañ9Šßɯ hfï öÎÌÌXvÈ2,Y²I’˜ëqÁ0^Ô‡0¬X»¢J¢:yF±ŸZ­žyæY ,_~Ž8âpôz}1€è˜ÏÆbT÷R{“Õ ú G#,™žBš¤«2Y{!Kûf–‡lH)'¿Š½J¾CGéŠ!Dͳ9*v#C##”íeýííÇbËs"ñÚ\{Zbì€;ð¥ªle_¶UalwŽ‘2­>.5N½4ƶ¤k:›¦©± _!¯oÐ÷æCËÊ‹i— ÚFâÞ$oDyXœu’bŒ'1^¬¯|5Ûj9rrüŠ %3’Z×]óá,¸ðžpðÅY ð­xòE‰­Ø@† Üo"y›è0rv¹‚hŸ¬Xg±˜9b•üˆÝn—׬9 `Õª †’ÄE¢®YÎ/ÎB RF¦O¦¹2R˜Ûζ1Æ$Jf$‡Ë,Ùé5Y$laÃ&Ú8~z­Jòó>:—*ågÍBÅ~vØa‡!Žc¤iJAðªU+‰Z‡ÛÂ/Îb®lVÚò13ãC2’!‹ð¨É‚l•8KÑZ2N]à´§Ú<½t ŠóÅ4Å–H¡Õ¯XÃm¼â,LpF«lÃC_Ÿ×®=D@š²-ƒáH"ˆ*'ÎB–¦D±5›ó”$ O/Æ¡‡jÁiŒœN%–ºƒ$Jâ,.G·›˜™Ñï÷é¸ã×2e?œQØjÙ*C©;Qg±õG)I­‰OЄ8ûÞb;(±Jqi4úL‘,„ ‘ØæŠuôúg!½V$X™‘a“ò¹2ã`³qç¢ÊY0oÎ'΢ϋIlðhüIÎüfœÞîȃ5¶ q’ /ª¦Á9èÑÁlR€"b|v5Cœ%ª.é’MRØ)òªÑ¡1=çòôù¢;/Oyf ÿÒ}$–T†\Êqšü}DÃáÐ"ìKÉcIÈ‚I5:åpœ“š ‰ßKÓ$_Ï̸¦iš—Ì „¿@ÊKCëga.³f˾Ò$Å IkÀAøÑÒP›T¢1:m¦t;ŠGL¶Ïž"Ž%ŽI?KúU*ªRPDx:ƒù¦¼'*+ëî)D™±šR0ôqbˆ[%I Óåa¹JTFC“ÆXš`&UÛ/¿ú¨ÛJÑh8â"-³Õ¥ Ói™•z÷~ôìóet¯Ãd €:D¢ÞÀ !  8‹}:c:"ð=mRe1ÚHÒÅvq^ÊvdžÂìL5ýkrœj¬H—v ÏéeriüÈVX &§V¤vQQR,=+Ï1/ö2¹ŸA>®BJµx^Äô§á‡k+;T¶ãöÍ<*f:Gdhhwö"=ÄÃj’ÎéDäø*Im"_’eð¾¸CŽk•>Ê:vŒ#•Î^…Š¢B;—R1< ò\² öð•x¿º8K¹£I%̨­7¼2Üž^¨çÝØá•׸ª¹‚œ_X”’¸Rtqœ8‹»6–E>X7mXllÄlß'ÎÂìw<$ R}Ž«¬+Z2>¹*2L/€îÄiy$"ÿ¹= Ö~Ðâ,rz[2‡0Uëãʇ—eå)}õ\q–"Xwm"%Ì ]à<©Ê%÷”²ÿL>ÑqÒ“‘pÃñ¥y IDAT<‹3*§ˆçªŸUõsþm‹³HP*]sR÷NN%Ùî¹»X'ìÝm%R½™¨Ï˜¶„O«”4!˜=â,>(W„0îϹòÌq–j‡ÎÂÁ Lð_&!!:˜AŽÂ†TÌséé\&4<ٜހÊú¤¡3¬ ŒòÙp€ä%"i¶ˆd˜G ï/”å2Ia(b™ÁEÅAb¾ËûEõ¥œS#V’¤Ù–¶X»AÖ‡“}*Ö¬–Å$…`½[¤,’B•Ÿ¦ #ÈáIrûDl‘(bBÀ˜.—dmÛKKH²OW‚¾È„äTÈ &×b‡øVP=+õÁìcH(vCv‘Ø5 Î'òeŇ©:§‚ ²d›X2¶ÙzSqŠÙÁ“äØzëD$}²ë–E#´8ɃÎ*Öt°ÇÒ°^…\ÓÝÛl´GÔ7]8DåY\I1gêÍ/Æ ‹6ùb¸ò4³È¼=ÖÎñiÊç0Ashʪ} ïí M¹H„Â0d3QqE!á¶÷(ˆÂ‚%Œ"ufÉñ£LŽññ7N@mÞ?Ö„÷2“&=`l±ËÆ©¯É–gK®Ø=ŽE…šJ-8*-ÎâØ Þ”û«gqÐÛlxWH”X € <dßOÏÁ›Ï¤ªbŽ8 PÒ¼;rFÌà f³f#UO¬c:8‹Ja–Ú­‹yqU¼'YQcB”gŒlû¬h=ä´¥–óGõô}¡È2éÊ¢gÉ«kèFL¹øø‹ËÝ 8uªFîg¿Š™Yöpv@)­k±bIÜ¢‹3%q*Z4x¥>@±hºšLeY. ™¸â,Å£·åPv„²ÈÓ|S~>è•Ðõ¬ŒJŽ1 Šo¨>€'Žd§cæŸ!àý²d+CpÖ ìKÀ @…–[?oSbw fq–ìó{„Ų÷ Êd]³„“› Xb]+Vup¯8‹W•bÌ{A€¹¹¥iŠv»m•õã5ïWÌÒ¿æâ,Èféã8¶B+ív››Í&m߾Îh-[¶ÔN~æfçP«Õ¬Jc¢Ý‡‰‰‚ À¾}ûÐl6)£òf7„ÑDº¶@ÚˆV˱®¶ÙòM¥8‹=ÔB‘ ºCZl‹y€†þ[gSrg{nÙÍ,¸ÜÖÏÅYT ]˜˜àƒ¤¦°D¥ÙNrÚH,ŸÓÂØoO¾*ìð—œI$“(>Þ<Òóò¿ŠÒ‘Ë­¨s@áÛ„’v”îÇ+Íš ËÒreÑ¢>œ‘/Y‰c®Œ‹OÄnvÊ¥ò–Ã’†;ÊŠLUâ, ;¢G3ÜŒØÕ‹„ÔnVk@¶0¢P¿b½ ÜÄqy\•U+‰]Ëb¢zh:u‰(n@£‡eší¥¦rò/¨ˆÜÚ§â ±5ʳxZ|bfÍÔ)cQ‰ìScûúfÔZ©&Kp$í$†‹ÁÌ?…q";wîÂääÀÀ–M[, º„dËó7V–±ä±©àŒ@¹œ,²Ûf³‰Þt ~ýÐ#¨×ë¶L¯ùËD&²"Ä’K’~Ãç´¿X‰)[%ÎâÒàž»ŠÍ›·`ïÞ|ï»ÿJ›7mÆm·Þfà¹gŸÇ·ß‰(Š(„¹˦W6¡^¯[.[o¹ q£Ñhà¶[ïÀλ†'%Qá$é~=è^Ïè¢-K²*ƪN<â,%’†¼")Rf9"8- r–ÐHTP¿³nÙÈv2±à±%÷ƒ"Îb Z–†•Ùߘ`.tˆŠŠÉ+Á­)bó‹³è=Ê"baÿñ[qͦ˜Q:‘·¶xâ,\Õz7±ü"‹³8>Ay%÷öKœEàÖ8G»³·%·hâ,Îid÷„`ÑÅYÔ©#h(|qR]œ¥¬Ç«è…±Øâ,NÖIJ°¥ $MðW)Îb†oþÑmØôÊf¾õ–ÛñÒËØðä qóÝz½Î[¶lÅã?Áë/<ý~ßÒ¾ÞÅY2UÉ.oذëÖ‚uëNʼn'žÀ33ûÐl5±î´SqιgcÓæ-èç"*Ðï÷' K&À-[¶á‰'žB½^G§ÓEš)G¹þ¦ŒVbɣƞðÅ"dXÈ O¯óŽ1â,äåIQ½Wç¼±ÀÏdq–`>ÌŽfˆª:âCøb分F#f/Äpû º˜R‡ŒÁe:÷#Û•!]VòqzÛ‹õ½È N @Áªp¡„ ì3nÂCq¶«.»žH‹|ð@·Çª×Êãž5Àˆäg) ã嬕ÅDc¸9W§[?¬EþˆH²+•Q%qg婢1Òr²L=â,E€Ý="Ï%U ,^/ûäD%«7Vœ^ðRURGU°šÒÙ-u ”Õ4vNƒà¦rŒÏì’ˆs™©Üð’g‘|µ™Fçߌ¢íö$þê¯þ>ø0–NO‹¶г0{æ¹°8«†rúÖ[nÇE¿SSSΞÐÙ Äõ„íPm:¢JœÅÙ:>auÙ2ZÙˆn \úÖK°ìeØðòFÜró­øîw¾£:­VËr‰EÝÞïd{wÝyþõ#8äÐCʉµgS8R¶Î¡–ã¾aÜêîˆê‰S R¤û—%0¨Ä…‘à”YÀ%h¯½fâ,iš¢Õjab¢ehóª µ<¦Èçá—¶_:.÷û} ˆægqµƒI> .wCœ¥à–ÏQyR Ú²¤/ž8‹fï·•kSa‹/ÎBN㧘°e¿F³öˆ8‹Ê¢'Eöi«â‹'Î"7&m¦Åg±ü:ät‰ Ù;óEgñ‡MŽnÞ"г¸êß*Ÿ Gd‘ÄYÒ4¥v»+WàÐCÁa‡Â+W­(ª]AœÅð`lÚ´6lÄ•W¾ÃáP§ä}ò×¹8‹©ÕžCÈ5 è§?ù7\uõ°ví©ó^3afšh5ùúÿüÇøÑn¥xëןo*<^qrž »…+QÛÒ“‡Šsê§â,Ær yÅr{ç´ÿÂÔ#n„L,‹‰æ7ž8K£Ñà'Ÿ| O<þd†^¬pÈGÍþ} o=-Žcœ}ö™tüñÇåœÀóˆ³6ÎÌPqÈœÀ)¿‹ÆqÊÄ*΢v#${++ŠÁEg!/ž\±„)«ã>Dœ¥¢ßZòCœEkŸ;ÏbÅY$4ÕZHO)lqÅYȃm"TÆe‹$΢)>ɉ6Ž8K»BO:âY,q–”S´&&ð¡_ƒ©©)\þ®Ë°kç.¡I¾øâ,õF/¾ø^zñe\{íU˜™Ù§´æñgI’íöÎ<ót|óßF†XºtË–-E¿ßÇɧœ„;wáö[Œk®û ˜3*Ö0ñã;îÂc>ŽÑh„óÎ?“H’QaõêU²ºæg)/y‰*Ð1zâü«5*muÓ¶r¦a4 ÝGxïàQ‰8óoqfÎÆÜøýobïÞ }yû¤ÕqN¼E¸öš¢Õò‘¢üÆiŠf³‰‰‰ #•Gc2ÿªÏc“Ááp„¹¹9•â,išbÉ’%£Ð½Gs¿Þ›£œû½Â¨dã#K§— e&ZØ5Æ­=öî+Μ¢ÙjQ«Õr$«×¯ê5Dƒu:dÀÙ²8 ñ@OO/A„U!ÄB×DÍÎÎæ‚ägaa`É’%”©ð-ì™UíefÐÌÌŒ. §)cb¢…f³5n¿V \¬[€~¿n· ‘Á‹86{žišbéÒéL„<î=ç}¶DbÜÒòÓÄE!¦¦–€9¥ýx~^væ{÷΀2õ*¯8Kš¦˜œœ F£éݯK—.¥€qœ ÓÓK(Iïýz½>z½‚€*ÅYÆ’%Óz Iô{K{øÔ§?A+W®ÀhWo02úÔ}ûf$)ýš×Zœ…1%tú§áäSN4;Åq‚+®|/¶lÞŒ“O>'tM ‚0÷G€uÄY¢ñ¡DÎ÷M£ŠJ”fhffz½®¾êC<}rÜ> ¹ÊÅ ÃßýÞ7‘$©×ËLSSmüüß~ý×a²=êÞ`åY²G´ßëã´ÓÖáú³³sZÖ¬È÷05ÕÆçþî Ø´i3jõðþ•ߟ›ëàÿ(N]w2z½¾wš; CÌÍuð×ÿíbrrIšìï}:ùá/þ?åÑ(.æõt`“““tÏÝ?áÛnû1MLN¼ªÊJ·ÛÃyç¾ ×^w5Ïuæœnj'¦I‚©©6ÿ¯ÿõYìÚ¹Ëèó~:ûÕ™ëðïÿÁ µkåÁ`àð3e9{­aûöø¿þÏÿÎSSSä¬ëB÷Nö?i†hþ³?ÿß q‚¾• Ýnã–[nÃ=wÿ“íIÎd¡÷˹]rÉE¸âÊ÷¢ÓézN>!ILNNâoþÇÿn·ËA,øý}x–N§‹?þãÏ`õê•Gv†¿h]1êµ:oÜø ¾ð÷Mù=К@š¤Ün·éOÿ÷ÿ‚Î\A*5ãçÚSmºñÆ›øÞ_Üw ûÕ^»×íñï¼ý­¸üò˨Óíªj¯ÙAœ27 ú«¿ú™¤³‡ 'ŒBDaˆ¯~eè­âY;„˜››ãÿü_þ„=ôNâDSxØ6nÎf­ÇˆtKS+•k®¨Òi†W.É÷û]\tÑ¥XsÌZ ‡ƒìyç´ÄRÅ~Ú”S—W F«ÙÂCý >öZ­–/ëê!MüÞG®7Õ^àÙØ/ø*¿*祣(â;wÐíwÜŒf³…Bi"ï¶§ƒg*ä§—¡/º8‹vÀGQ„#ŽX>Hq!À9 S×aG©G‰³DQD»wïÁ¶mÛÛ¼ýzÞŸ‡4µd Qaœ8KExþùxÇŽû»¼ß››ÍzU²&'Ùãˆ$16oÞ²?×ÃÈžeZŠ+Ü©HEQÈ;vìÄÖ­Û¸â½Æ]§ôýW^Ù„Z-H-Î’1LExö™g1;;Çó¬ÝB®n·ËaTгغu›¹Ïq×·ì B3=*òr>GQÄÛ¶nǶmÛ!ö+¸_KÏsË–­EQµ8Kv.é©§žff8…>朢ß Rœ%ôz=lÛ¶{< 5¢ˆ£l]e Rœ%Šj¼yÓæªçH ´ö5Û¶mG¶®ðг¤#?ûÌsû}ª~f4'^Oâ,q’à°ÃÇa‡6Ÿ­Y­Ê«a%À·ÓýY¾|åBíè¸ Ô÷ÙªìÙB¿7ïç ÃóêÏAg ª?‰8ÏbxÔd.U’¿º™¾)-¦žqt†O÷Ûù¾Kžà=&På<>Àrpé«^¯ktº’m*Ê^f†uåBõ°‚ ”:ˆº¡£„a}2„ *+ÑÂ~Gi åÍ‚®1ïÚ×r©ScX˜}l"ì[×ù  Å,y!U\–ÐäëiÚFp¯(î±&Êlî‘·cvÕ"ZÀš-乡fdy¥8‹#8Ä 4[Í…¬'-àìPÕ¡½â,´€}ºà5n6›OIÞñ»|´-¯–Ñ^Gí×\z˜ˆ¼œø&Þû†ö÷2r1÷…²yL务¢ Ñâ,R&Þ8Ty#*‰l‰Þu’•Ƥ’Iük³s›Nª ÉÙùà’@ynÝó~%¿á¼ž|¯]ˆâ1­Óq¾È÷5ŠGåX€òk2—útЇI1“¿îAgÁøæ©—Ìß÷=¢…û]^àõ_Í×Xq–ƒôU%ÎòÛ¹òoçŠUâ,¯Æ‘.Ôg”ÄY~«_÷Šó‹³„;b¼v_^q–ƒµ_é’ýÅ<•¯¡8ËBí侎A ^ÍJ=wÏë*•ÚÆø¡ª„ó@œº[xȳ,ÄÈ(ƒ3&rZhÙF‹³Ì{ø@ÎÑxqìïçv°ª~§Zœå€½óB„À¼â,ûuýXû*q–¾Æ¼?«gÙß2ìì!ípÕuÙó÷¯=Fœe¿âÉùÏ‹ZU…8Ë«Œ(Ç|¾*q–Ù ý¹WœåÀíÍòtê5gñîiXžƒ‚ÞÎo×¹ÊÖ™©2öÑLñ|~Äù¹Ãù0¯ëèÇ=#Ÿ›÷Q¿ÑÄY|!Iš¦dÊnžL £J4y)ªªýÌýGÚºe3¦¦¦øÜóÎ¥ÿú—†¹NGnœ"’#©fa©§,–’ˆ¨Ýnó׿þ-ÜrómôÕùöí›E«Õ*ñxüÏ·8D@¯×牉>ù‰?Àu×]MW\ù>ìÛ7ÃVÙŽ2‡(æ¸5aYÊÕ"‚I’Ÿõd!ÙL}„FC¸H û~  ›Á`€Ñh„£9 K–,{UÐΜˆÐ,ž9Ðç†!^yevíÚf³~¯O:/¾°ËY†%K–àùçžC³ÙÄìÜV¯^…0 ñò˰jÕJ4 Q9)ÎB%~@Éê"èkç©'ž¨¤kqÁc]ü„ ìAÈÆ)-/h& A€‚€‰ˆ) AÀ²?QþšügÙïp@ˆâ¼?XаÔ2ä"MNÒ”Ó4E’&YO3 qß½¿Ä-7߆}ûfñýÀ?þAÀ©}mö'MR¤iÊùŒ¤h2s1Ò'tµók±¸¶5:[6oåo|ýÛØ±c'î»ï~ü𦛭QJ{ÝüwS¶™MGu´•2ï“ØßM²¿“„£(ÂM?ø~ü㻹ÛíñÏþ ÜvÛ™²ì3»†þÃIš°Ç)ë5˜L%IN“iš ¿>ž{îþâ ÿöí›ÅÖ­Û°eËVîõzæwJ×#@eyH*˜äû; ’$»Ç4My0ò·¿õ=<ó̳üòKðÏÿôUÌÌìCv½”Ó$á4Mækcú}BóÆ ”Dæ3¦IÊù>@…øÖ7¿Ë>ü(jµÒ4Ågÿöó˜›ë€ˆ8I“ì&)Ûû-ØÓŠ ")ÎÂEà"÷Ÿ¹_³w™™gffðÿðeüú¡G8 ûþf˜½ãÌ–³ ;+.‘Ýwâ9"<òð£øÆ×¿Å‡q8^|á%|í_¾É¦úd>“Yó{k!¦û‰s+$èfó=j÷MnÌyn®ƒÏþí瑦)â8–çW^“$ál¤¬”ìr±c©YJ9/wš¤ÅKRNÒ4{ß$A’$Ãa°8‹œäÏ0{–‹>2 ½DQµÁ‰Ý3æO’$h6›ü /ò=÷üwÞy7¶oÛZ­f®“ïW»Æœf-  v¥©{RJ²†jÑ4b%NKÞîàÕC§©ç2»„Ù\>€_üû}Ün·±rå ¬\¹½^wßu–¯XŽöT›ï»÷—Øðò<øàC8îøµ<×éàî»~ʵZe+×2áCì£ü9 _ù "qÎK”ÿ< d¯ Bûûºâÿs_C¬¯‘? r?DÖÕj5<ñÄS¼sÇNœ|òIxñÅ—ðÈÃò¯x{öìÅÔT›ÿöÞ<^Ž«:ýVUwŸùÉ’­Yñ<"<Æ3<1Û€!p Cä&dº—÷òÞKÞ»¹!÷’¼ azB3šÁ66`0ƒ16S°åO²-ɶtƪ»j½?ªjïµöÞÕçH: V~é߬sNwWÕÖ^÷¾ïî»Ї~„oÿî÷y``õz ·}û»<;;‡Z-Vâ,BCÔèb2›~6˜ã•”Œ*Îms »e’»´¢D¶œQÆå…TSŸî™Ô#(¹5EE`k„J`Ä#‚™3Iób$“6 …8Ž‘$ >ùÉÏàU×¼gœq.¾äBúÄ'>EQd«¹Õ!Pªw[åqÒ² 6*+ÔäÄe$GŸÅPv™QÑ!‡¬ÀÊ•+19¹ N­VkÖ¬ÆÑGE¯ÃuxêégP«×1¹|’N:éœ|ʉ”$ I(ŸÊw³÷lJ­¬¤ë+ƨ°….Ç¿Õ[@iŸ=ôƒÀEH/;Ǥ¹w˜&&ƱæÐÕX6¹ Ó33Ž(tjܹký󗿆z½â´:E_@®Æah§ˆÅù+tý8(β8PÜþˆ³Tä+„j›:*%tD©ˆÄŠ”²C àLg!" ]â(Š044Ô´_â,ù†Þ²y¶o>ò’nç_ø˜žžFVPØ.™8K±U£(Fšeèv»H’.††m-T¦ÏœãrÄYâ8¯=ùäLOMcxdØÐ9šh|‰ÄYò4uõZ ­V=ô0.ºè|  Á%g)Óùù&žyf7Úí¢8"Ø–Zœ¥,i9÷8‹õ¡J_û-Î àñÇŸÀg?ûüöÛß‚eËÆÑjµalÒg!‘èÖ8Ðâ,åpûw¿áá!¼ìåW£Ùl90Žªò-ÎRt;àÁ…åË—ãôÓOá3ŸþžxâI¬ZµY·{Pˆ³H’wÍù&>ÿ¹/¢ÑÀ©§žŒ£Ž>‡¾ùðÇ066ŠsÏ=F=Ç‹$] âˆ#¶ Ýî˰Bcö¶ˆ³”÷E1¾úÕ¯ãÑGÃSO=—¼äJÜúÍo mê|ÎW¯~¦§¦qË-ßD£ÑÐeŒƒIœ%QmÛeÝ@«gÊdS_`F£QC–±A~Wµ@tÎ;Ô…²Í€(Šðýïÿ&''ñØ£¡V‹emŒLAʈ­úâ,Þ4™M¢N§ƒ^v n¾éV|ç»·ÓS»žÆñÇ‹SN=²À= ±+ý£2#Ÿ+Ä’'í#P¡Q!cÊg·éÔ`ЪÅY$à†Å…Êی㳳³ôÃÜéé:þøc±yËæÁ­¤kI2^‘5ÄJœ…CF!g˜G? Z-Æ=÷Ü‹ßy.¾øB:ñ¤ã‘$½@íÇz¸† iN=)ÖÙ¨×qÿý Žct:GJh™ÛZ•×>T‘›ZøÌL‚Q¯Éϳ# §©ü_q¶ƒ­¥en4´cÇN\tÑX·n-vïÞSŽ7Àœ?QþT¾=«ÅÊBk’ä¹fM’¬¼¤4ùhÒàÚâ<’ÏÎÚjµqÉ¥!ÊA‚d¯åØ0¬=dÕ3(΢²ÇÅ¿£(B§ÓÁ%—\„("LOÏÐ>ðœsÎYtÚé§ U8ú)ÐR¶Ðú,gQ½Se…†G†qù/²eËÐëõÐn·qé .¦n·‹Ý»§ðÙë?“N>‘âZ 9˜Ž133[t¤2 j·²£Pk:TȬGG¦˜‚9Ë(KAÈIó!J/Ù¦c%ÕKEXµj%Úí6½ówߎV»…$I(¢<½O9¸^÷Æ×âK_ü2Ý}÷Oñ‚^¬OìƒJœ¥¼@­†²Ÿq¯—ø~‰è­×kL¤iFFY–q·Û5“ÖhÔñ‹_ü£££Ø°a=Œ^·”}L*a'*m ¼|rËW,ÇÌÌ 8“`žRDž¥ trúì»l[ÛȦ'Ûí®¸òEèv{ÌœÑ;Þñ.¬[¿+V,/Üö´‘ú¾Œ 8 ¹­¾ã&Ðѵ í.´Š« ½*ÄY`¤Ð™äa^]·ÛÃÊ•‡à¯|¦¦¦Ñn·sŽo¢ ¸Ïª¶#(ÎbiI¦â­ß¦¶£àÕ¯~î½÷>ìzê)E‚!—å,±J¯èY¼ˆÂ‹cUàv»Mgž¹^t>Z­6n»í»¢àHR¥²Ä[n—8K™¡"˜hÄ”ÿèG?¦‘áaœtò C=·v2 ïƒ*‰eT6Æœååt·Ûm}ôQؾýqÜöíï`ëóŸ——ò¼¥[*]>)%닳(«ÌFq½}l—ŸÆÚÉ…bÁÜAqaÂÉ=úË_æ*‰c¦¾/ÔÌðºÖ!q’’â ) I â†/ý3F†‡ð‚^‚f³iÏÃùPލQ07 Ò_¿8 àÊàV³ESSÓfDpÛ·oç ×Si–-›Àý÷=€™™YüäîŸa×Î]¸üÊ™¶[iï¼ÄŽèCЪÐ6g3lÖo'q"[à4¹=)ƒH ±È7ççqƧadtþÐGñ’—^…‰ñqÞ¹ë)¬^³švîØ‰7`n¾‰©©)\qå‹ù¡‡¦$骊ßA'ÎEžxâI~è¡G°yóFLN.ã{îÙ†z½ŽÍ›7!I<üÐÃèöz˜œ\Æ=ºQaÆ \¯×Ðëõh``€ÇÆÆ0;;‹Ý»wãñÇŸ ÉÉIÞ´i#œr‹gábÙ6‚‚I'á#Ž<«V­gŒÛnûnرS¢(@?q"éôrÄýOúsÌÎÎâÒK/ÂÜ\ qqICÆ‹.ÙM$- ³*÷£sæ×¢öÓëõP¯×yÙ² <öØvP¾ÉˆýSýöÅYD–9”`F§“`nnŽææfȳ¶4/¹$À†ž8KàÀ5{-—ÆA«•·´ÍÏÏcfzãy‡}P™­g±¥%Õye Í2n6›˜››§V«ÅÝnXÑĶÌ@Pœ…I-õ©8ŽñÄãOð®]Oá„C«ÝÆÄøx®6ÈîüÙ¶8ͬž8‹ÁÁœpB’$áF£ŽßýÏoÇù“?EÒíâœsÎ*kܲsH¸Låùgñ˜ì‰äcf ×ëÑÈè§½”â8æn7)ûómáÌdœêD@œ…ì®ç@™@àÑ‘Q¼ï}ÀèÈ^ÿ›×a>ïÍ—‹›Ð¾RœEÚ©VöGRÑÆtüñÇatt„:³›–-;‚<æÙ$ÎâÎ_ÇØ°qÿøÎ»Ðh ŽbüÆùçÒÈÈ0n»í»ÌÌ8ûœ³pÜqÇbçŽ]øò _A–1Î9÷,›5-H¦Â¼n¹F%옜´–Ó«Æ E*„Ч$;Rì²=°p¸Ó4£uë×ñÀ@§v2vïÞíÛÇùœ‡›nº?üoÞ¼ GužÚõjµÒ4Å 'Ï9Â=; â,µê”n“b’5N›ÿ`(/´¢¹ qcÅòIüìg¿Àsž³ eÄþµ¯þ –²‡z(š­6|ð!üøÇwãU¯z}äQlÚ´ÓÓ3Ã#EYvÐjg*èG§)â×,clÞ´÷m»ÿø‰OaûöíôŸÞô›<>>V^/¨„$y”?,'蟙™FGFxýúušÆ0[s,u®¬­Ëº¹µEájvš¦8öØc0µg üÀGÇN;ý:íŒS¸ÛíBjp icp†3öPZ²uÆ,˰ö°Cs­ô‚$eË–MeOªgxHc,lÂYœ$ ¿z«S»Ýæ^v)}í«_çè£té .Æú ë8I’¹“c )T»¯j„Ì5ËX½f5šÍ½ãoç?u=¯[{­9t §ijI®T™3\lcQH#¯MÇÎ}­có¦øô?](ŽÑëvéˆ#çãO8išJHÑôa¢aŸë…U”OÄà4¸ÕjÑ _x)ÇqŒV«¥æÛÍÍɺ-Zœe4[ˆ$`˜4 Üyç]X69‹/¾½´§{náÏU`›ÛµLî=À–Î (bÍØã¯¬OWli}õ"ˆÂW+:\®ºêrXfEÆü|ÇŸpN;ãT@§ëžÿÆùçR‰Œo6›‚+„ÕéKçu‘ªâc' Y6÷%3äú âhUÌulÍFNs¯×ÃÉ'ŸfÆÓO?ƒ³Ï~¾)_{í+PÊ·Z-\ú‚‹ÑjµÐëõpÑE Ýn[Â0SÎ Ôáœ2žrUiázŸœ»NBÂá–qµÏCÉX½f5º½.ÆÆÆ09¹Ì¤b'&&ðØ£Û16:Šv«ƒF£a$J‡†‡pÿý`¾ÙÄi§‚‘ÑŒahhk׆ÃߌØacñÂÞþ.ÑÖo~Ë2Ä3‡v(^÷úW›Þes^h Bâ,næSæýJ£šëOãå¯x)šÍ&â8ÆÈÈ0:Ä÷X]ì¡Ö|á!üq—N§ƒ‹/¹Ð•Ôj5 ¡ÓéX0Up§Vžõ&¥ÅîV)ÞÖëõ°ióF~ÄæB7…zRÈÑLd'¿fÑâæÔà"4MqιgáäSN€\>íAF=LRLÈGF‘køa]\cf$I‚—¼ôª‚x&ó¼õm¿…^¯—;1äû×è»ý|ƒÄš(ÖD@W^u9Z­FFF$‰=éàL¥¿bG—GFƒî»Ý.Ž;î¹8á„ã055…F£k_ý*t»=ÕÛN,€V ø~`_ÕœbèõzÄÛ~ûÍ é^?yÅo[òsÇ•SïÆY¥ÓR* Ü&¬[·ŠÃ¦™k(gPéõìišbÃÆõÊí¬B$I…Œ@º»jžýýR!Î"@olеêL}ÅYH‚н"ç­|%Ý.ºIbÀ®¥„®¢$7eb„1 ”äåÄ‹jÉvjX Á…‡åm 8vtÜ“$˜¡’á‘’yÑüÜjµLP“ÊÀ+ÒX‡ ¦Õ©RVìƒ>?àâ,iš¢ÑÀp¸ÿAìÙ3…Ý»wã%/½ ­V­fËÎtÚm³sV‘sHÓ Yƈk5/]‹³„ú€Øô¥v»]–Ôn·'h¥Jˆ ™·-µ‹³Z9l‹‡ bz½â8F»ÝÂbêð`8³*q’iK‡„¡ô¢(âü"ˆÔ뢤ŠÂ§sEÍ:`ˆ|ŠT¯K•#u¶s€í¢BœÅÆt§lft:Ãà•$ g›þ%ã‚°Ÿ’­ga û åú(z¤¹ü¹hñRRÑrã`@œEbÆe&— æ±W‚Z­ÆNǦOÙÁmÀI+÷gaõ^V˜ ²<Š"îõzœ¦)¢ˆX›7–9f*Ûê«ÄYÈ$<$}r9W%®¦œËz½ÎJ£€(p@õgaµpåWÈ’:qÒMD¤H¢¾oڃ뉳0«Ö¹æËk'I‚SO=Gs”uÌÊR((g«ûkgñÅÀäg WÖwÈz÷Rà®û‰³˜K éͱSÍ!Çb饫¢uQ¦dgü%4Wwêº×,9ñÙqúB>ÑA.Î’¦)MMMaãÆ ¼â´yó&<òð#¸çžm˜œœÀ 'Ïóóóx衇iíÚÃpÜñÏÅ-7ÇŸp¦§§Ñé$”$ |ðWX³f5}t;~tÇ´qㆪ €B’\«:Qw¡[PFGC¢sBâ,¢g K ­çEZ›£”É{’5Vò°8 C¥-UëéÜ!CuKªT$ Oµ8 ™vv:GdS²`ÖÎ U‰³ÈNuû9%Š![á,X‡… ‚Ð+ÅYÈf:l¨"ÐtT •LÕŸD8'€n"“±qÙ« ‰ Fô …íò“F˜©¨g±µ9ƒXÝK…ÎÆÈŠÅ¨0í%j^ÀûeÊV®<¶(eodGlùÁ²h80 6k[q“Vˆ³pI¯à”ÊŽf‰06yd’x A¢óàž8‹¹f12ÂssÚäsr™|Gɬý¬ga=OQ¬.W™Mw"j Taî%YB±ÝfMÈí&›ím‹Èé´í%ª?@· kDÛ6Á…S.ƒyÛ¯dÄgé# ¦©TdÁ~Y¿`â–9ocÀ~ølÞ²™žûÜc$ 6nڈݻw㬳Î3ÓàÀmÙ²gžµ;žÜ‰õÖ!Š"Œcppk׆ £ÝncùŠå8éäC)L±™¨„$,½bŒaj“u'Ù(Zª@ކÍA¨Ò‚ähÜÃ9þ¡È\~Òoõ•HifÝê"·¬Ži̙ͩðí±S†q*äû°ª4ÅðU!΢°#¤'Ù®=! |(´|6q43I†?b˜2_îM&´«Êr';ßoJ&´±}EX-|;‡¼„+Î8&*"'‰¤y#ÂB×*ÍYÏÊÖ*HqD’ ÞÝE«m‚N$›¹ˆJÇT÷×S ÜDN¾”d¥›aU¯ÈE‘_FcgC‰Ì$9õGbe½Ã‡,gœü€'”etÇS»G "á¬Èhªt\µ8‹9mË,ùY5ÖÁ>¹ä"”öÈ1 äØºcÅ ²äñK¾i´.ʦËTŒ±›ÖPeFR,"9"ò‘ÆÖ—²â,"qÅLÖg]²‘ãBl2ã EèÕö ž,].ÑI"fc×Å)Î9çœÜl6©¤Ì<üð-%%"ÇqŒÆÀs’$¡œj3WáY³f56l\¹Ù9œtÒ `fž››sI—é%=;.'©Àävº‘Šs¥Ã‰p—4X†~ö¤)0Ð"ãM^Ü f×#§jϦ'›õc¶­·¹R ÕRòâZ±#¹ vŽnUObнÌ›Ëh£˜>¶މ®,µ“<È6­ÛR#©æ%ÔÎØ<=5X§óI8Q2Ç^'¨jø³Šù~°q¦Hl“Ó®f‚iÁÂP®+v\u’ÜÏÖ:9Ë¥6ƒ X]ÁÜÇpBßã86¥/Á“X.7£."멾8‹ªâÚbaOÊú|ÇÜëõ(Š¢ÂÞ¹k²\-*,ä@pTÂÂe_“êÆ,íWDgY&úMºUõ ÈVxù£Xe, :Z'ˆý>Iƒïv#@»‘ØE¯‘p_TǰÚiJ%8dD=d'.¯“‹Ó³¢z%ÕÙ!Û(óéè¥ùÜFQäXÙ¥KxÔƒK•)ÁÈ’®ÉBää:PdH¬’°šÕ`ó˜ Š’Qø¢Dª{‡\—ˆYdKYÄl…[LŠÐÏ*ä@uwе«™hÔþí+ÜmUÅÜøÃŸ­[ú¯V«…¤“i_F·›4t®¸“¢Ûíå@%³ÈèõºhÎ7AQ„ŽèmFÀI oèE鹊”yˆâ‚ à0ž8‹ ÐǰÚÐ"ok–^€âÄ*BÊꣻ[ жN†,„¨µr¿¹Æ"ä%ÀHzðŠ‚•×-yrH}ö½þ‰w ËœÕy¤2„~fOzüÌr‹PŒ±^aéq“H)êç²v׈@5úœ]Ne›æƒÓjP!\ä\× })xÍÑÑÜ}÷OqË7¾‰z½Ü²¤nçW®ERkTÈfIˆ"\ÿ™ÏcçŽ(Ôé Ðl®É–i%xØ>?7 ênùÿEQ„n·‹ééEMLÞaž,‘3¾òÂÎ^5 OÁIòÿÙ¿°ÑeOÝAfN‰®.Uëz9 'ÒÉ‚ÜZf]+ÉØŒïòå“(øF¦bv¶+†ÁÅ}±¢<Ò^\¨—ûUEKì¢o¯ÂÖAÔ­±ª—ÙëRn˜|ÆV³4ü.,΢ŠÄbÍë깈ˆ¹OM§¯8‹)fˆ /2rÒ AƒU°@3`Í•â,â…I‰‹äKuê–XD r%‰h 8‹ªñ+gPÕ4%M•¡Y¢™<Á8K Ú$“H =###|ׂ۾ý]<ÿÌ­‚¾€áÑ–+DTXœ%ˆ¹-Ž™£ˆpÑÅàãÿ$yäQŒOY oˆ$+y@œEÅ£,Yƒó|üää2ìØ±ŸþÔõŸç‚ŸÍ¼‡¸‹ñ‰³¨–øbÄŽŽ`dd##Ãd‘ðd‘Æ-ks,²`Ïqg}y[ZŠ¢333<44"Âu¯}#îºën-+|ìZ|OœE¸äAàÄ&*E0<<ª`©g?ëÉйn2,ÒU<d3¥š‰£<‹Ä¶Úr6ü‡8ˉ³@2hT½ÒúQK+Î"q‹\áU.©8‹tÕ™ a(Èjb8û'ÎBº.\. Ö´»þ¼í£8KYŠeë%:¼¥g‚è¦ìIî@qxtÓ,GjIÅY††‡ðÓŸüŒn¾ùV¼ù-oÄÄÄx®k_zIK,ÎÂÌ”e;l ^÷ú×à‹_¸÷ß÷ ©ìɉ³DQDÝnßúÖwðÃÜÇ’þåk7Ò<ˆ8Ž©¹^2q–²<Ç1ýò_ýfÜò[qã׿þàÊÒ¬ï8HÅYì‰W¦Óã8FEX¾|ùßÿ'ÝqÇG¯—¢Ýjç%•¢1‰Å:(ÄYX`AˆÔ9&`$g-¯U²t‘þCœe)ÄYœ*³ž6v Nï›8‹^ –ÆË–`Ý~áýg¡ ž\õ(q=j~jo)ÅYÌŽ¡@ÞFj/•8 ëÞWIî-SaJœEÕЫü²%g©Õjxðþ_á‹_ü2Þõ¿‹ÛÒÅŠhcÉÄYJw¾ÙlaãÆõ¸êê+ð‰ø'üÎï¼cãcè•Â%b÷Gœ%—⌱nÝZLOMá¾ûÀ¦M1<<¬4ë—JœEö8/_±ƒˆˆ1.s <˜ÄYdëU𦨽{O.âSÜx·ÛÅÀÀÞÿ¾atd4ÿÉ©îéÙ-ÎBŠp¬?«œ–eúw"Î"é¸ fTâ§Â2öQœE+í1­ûq—Tœ¥¬”)ošu»Ü’г8Ë€„•¥Þ¥g‘gIްÄâ,¬b_I/]Ù¿°â,¤úX•cœ8 Ôª¸Äâ,išòÆÍè¸ãž‹/|þ¼á×™~i™ãZRq–â-éžoºñغõ L.ŸD«ÕZrq#Ž#¬[·–¦öLáCV`óæètγ­Ùû/ÎRÚ"fÆ!‡¬ÀªU+%ù>Ò4uéƒKœ…T¯×ðÔSOã{÷ÿ‰eË&J>"¢BÁ¸ñÆ›)èüS†ƒgŸ8‹ ¨1h6Ųe%(¼ñtSs£8‹ƒë$!^Ö¬$˜¢z¾úâ,ÊO}è/·´â,äÇkŠìI„K'Ζ‹‰f$u,8 ‡)FI Ú°â,ÊXzžæ’‹³X„:yµcŒ€8‹¾‡¾´â,D@¯ÛÕW]Ž/~áËøøß¯xÕKÑË™âˆ8 3)Øï߇pìqÏÅ…þæææEÑ’‹³”oŸŸÇÚu‡áU×¼ívG°J<Ðþ‹³@£Y–Y@ɃZqq¯×£+–ã½ý— ¿lÙýî;ÿÃÃCøƒ?ü=¼úÚ×W¬Ýg¿8‹ªÛH8‡¬bõ“ÉÝ"Ì8¨ÅY¼Ü«lIZKkN†8Êb¤QŠæ@“Ó(TŸ6Ma´Šg1óʤªŠ97ÜÆ+êƒì°_P7› ^ù!†ººtfwžàáy«ÅYtMZô4ƒ• ]Z†ü2+ïúÐ%ÓžXû¬z&e¶:ÀW’¶ ÖýÅYØSZq§Nïf€ËÊâ~L»[@œZèÆ!šb½ìmnSjÞ°»®ä‚0’óär[î#T³ÒK« ‹³”qeÓ˱À¼öz=¼ü•/Áßì¸ù¦[pñÅ‘ººË»\HœÅ4ëÊçï½þ3Ÿ£-‡oá .8Z­6ËÖ:·/·‹±>áàŠ³°»Ë…çž1s£QÇàà é¸qWš+fdö@@œE8HÑNî8é=Â!ô:©a$4žâ,^9¬¸fÎ2¦°TÆŸ{ÞÙ¸òÊFÐn·‹(ÒJŘögaõM‚› TÁ²à5`¬rH‡ ¬óφÁÇ+®¢ùªDŽK„â,!è•E|äGóH{¿zÎCøÆ ·â™±g°zê9¸ðg`ý3k1?Ð,ëÚ@Áj;¶ÆEd1NÀbz´Ì¦¦<:A¥8 3ÇQ(‡Åýn9&‚.Á6…¢ÐÊÅ,»¸}®Å•…îâUrÝ» ×z¬¹pE{âBcê•™ÙðƒÅY—ù"_ 7[Y гq/0®„½xãJÊ“"…[("TâÖ+UVoGñ®;™“ÒX/4®I'¡×¼ölßþ8÷z=Šã¸jïW¯ÔöW­W"B¯ÛÃóÏÜŠÃß‚æü<(ŠÊëõW"ͧ霋f½ö]ÌÌ}Æ"¼^ôå:ßE{±7‚wíÀ³Aœ¥¤Ù•’Û¼|µÛm¼ô¥WannQáM¿õÚ¼y#ÏÎÎA¬’FÙØhq–2…dlðÞÙ‚½Ú«ûh[õÊ×¾ȃLœ¥L £ cí1üËÉ7âŸÎùŒy×=k·á›Ç݆7Üz~ãçanh”Ñ‚³"¯>11nøg|æÓŸ[’™<î¸ç⿾û1== 7´-ïkbbïúý?ÆO<¹$×üíß~3ž·õ Ì7çg©ÕbLMMãÞõ'Xª×G?öAt:±ðôj› oÙ IDATÃõŸù¾üå¯.ÉõN?ýTüÞï¿Så¸:…Œ4—ÕÅï¼ý÷°{÷ž%ÙT¿ÿ®ßÅñÇ‹V«8K½ÑÀcmÇÿñ§¾$ÏÇ1>öw,ÓÇA¿`|b÷±À7n¾uI®yîygã-oy¦§§ƒâ,Yšal| ozãÛÐéteˆ”aàõîwÿ6oÙŒ¤“Ààà îÛv?þÛ{Oß±²b,ý_ÃÃCøÐ‡ßééÔj±ÈÓÙ cÙ² ¼ï}·ßþý%×¼àb¼öºWcfv!q–,c á ¿ùf0ó’\óÏþüO±fÍjôz]¿^÷kgiÎÏáª+_†Í›_’güÁoÇ÷¾÷  t¥ÀÕÛÞúN¬¯§Ÿ~ ÿð‰addÄ)Î.­8K­›¯Ƕ`ah}Løb´ü=µ¬†‡V>ls'ùøyŸÄ‘OɹIpÄAéC?=Íðõ†нÚmQ a 2ZÚ.1G úè_ñïó{RJkž«¤Ä&ay/î ¶ðpˆhoŸ~ ÎxYuZ›ù±G{d#žÅ\ýÇU&:ØM«±ï3®‹öüsiU™Šg§.–Ÿ²ÑâÖë¢ÖmDm º¥`[Ìx‡y¿{`[œõ»!4›IÿLÆb×SÅ6í.Ê~ „Ï(×+ïãšÑe7áèúÄ,viÇqld‘é„r•sC[zvOÆH$ÓTTÏ®O€à>$Îâe‹‹p?sJ5™ÆŸÕv"I[Í&¯j·øÄêÞîÕý°- $¦‹Œ†ÖóÖò­i…( •üûèTœŠ¤DQ3†;øíØïÈ’ ZOiœâö£~€W~ï¥474pxÁ íCÆ»w¿øgY|*¶ŠlÞ¯Œ™ÅÝOœ¥r‘W=g?íTÏ!Ôâ,^®‘ö!-í>cµ8 ,&ªè‰÷îú г,0~Uë«òÞØD г JÊi¡õZqÏÖw ‹³X[±Èç®rÊ(d¼DÊMÓŒiðž+ÄYxZÄ^u4Qáér¸cÙOœe/®¯Ë-ü,g×Òk‹HŠmÏÛ"ô·…ƃªHéHT~¿Dˆ /Q¿ó€ÜÒ•Ú·¿³ot`ÈJ6ÙÁ+΢Bh£ý ÄYŒ©‘)û^¹÷‹ïœ™BıÍ>¾Ð"<8ZäßCè [Š@q–}»~EãgXœe?®ƒž>â,‹þÞ½u`géë¤íËØWг,pÚ‡1_„8KõgöòyÃâÙ„0µñ¾?¡u­¯8Ë©¾^…8Ë­uÿýÄY–zoà_·8KÅ}Zu>²mŽd¦:Ÿö¬Jœeq6š*œ9Ì’¡˜=™¿Ê,€&T"õ lHÅ‚®a0q·XêË‘ª2Ù†a€¦ÕF ·G¼zq«÷¬Öï%!Pà9SÏA/êiýýN·%WïÁgdô§© üfB ºJû˜î®xŸ'ÍÖï™°À³a÷¹ã*,y±ißżO±j{/]]f÷~xñÜËëJ2YZhž¸bLyoÖY‰‚¶Tå ñ"ž‡\´(Ï€÷bîÚ;%1—õú°¨ö‚kw½î‹qXŽöv.´¶%¶ÿZì¼íM …ÝÓVP½~C¡í`ø•^Ÿæ˜)WŠ/HŸ¿Bfžƒ’C‡{(<ìS(aXýRFÃåe(–­æ©ÏÙï¯-" ®oM-]îe2tÎP«¿^™ì]¬]‘i)?‚d  ÛTäÚTµþmÄYäj*Ÿ¹9ÐÄùÿzj½Z»;ÜÆÙ÷ž‰æ@StkPŸY&,âÙ›WŽRv’4kY¶¾,ÅËÐXW‰³ˆ‘XÊg]èµ”×ÊÒÔºE}ÄYz½tIÇU‡TŽ8‹xÏbZý^½n/@ΡÅYˆ€,]ÊõšyÖÛ0ò{[êqí'βT@±|Mô4OC@œ…¨‹¥\ûv»„iZŠuS~G5xè×)Π/T”2Bq!B{䤘©O¾c1ßúÌBï«ú]Õg‰ö.G±Ê8KÍIιî˜÷Sùf+ÓÌäË€Vz(\ 3ÊhÅì ~ëMoÂÿwáߣ5Ð2^èhko¾ù<ѧf£Í[uMöIUÐbœeBE<66¶˜(µòÕl6y||œÒÄVg’*•³ Ë&—ñôôLÎA½÷µIóž™™n4êÈ2V”:îbDq½^ÇØØ(Ò4 pBµØ`M’\µ¨H€9ã¡áaÄqÌ£££Tq T\_½æççxtl4oË¥|"Ã8ž{ÔY–+4u»]Ôjµ½ÉzxÏ>;;ƒz­Î,ÅYœDYÑvÄqcbb‚ƹj …ÅYŠƒbdtDÄããã‹©—sÕßfggytt„2¶ë€Ý"L+V,çùùy0[àz•÷5;;K¥Ô±àõ`¡ÙAÌŒZ­†(ŠPìIÞ‹1U?§iŠñ‰qÎ2–Ć’œÀ@–e<6:‚8Ž1::ºPý¿oÔ÷™Wu_qóÌÌ â(bU¢F¨ë>Pà°gY²ObÍËîµ5úXJ^“‡Ðl5¹×ëQ§ÓæEÚ·-äÁÁ!$IBD‘(Ù³d™qi6ç9àî—È ”aeGP= Îg­VÇüüdæl½ï šhŽ£ÕhG>Ë2ÁK®z%^ñÊ—ÑUW]Ž™™£Ìc``ƒƒƒAÍçF£NÝn77ìQDµ¸†n7ÓÌaŠ@ÝnÍf³@C`yaÈØ²,Ãha<|E. ¦=@FÝn×MIšZk³™o)åhé:-Âpll Ì*PðT(H t»Ý¾ |vv–žlØ&Θip°Áƒ¬—¢ œ$]Àõz˜³"ÚpX‰¨ÛM¸Ùl•Š¥DÉåã:Š(ŽdŠÆØ±Z­ÆQ:Èn·ÇÌa"j"âùùyJÓ”¥¦‰`t¡R!jtt”™3Ò±L¾:’¤ €9ŠbŠã¨[ ‚̳³seºD¿b2Î2 b``À'¯s­V£œ´ç8Îç#Káòi%I‚V«eÖ+“Ïå™Ë£Žjƺ…QÊÁLj0??oæ™Hò ™µËqcddÄèÝ/`ìÑ瞘™innN¦&]¹Î8£¡¡!n4´HàhåÁCDèt:h·Ûˆ¢‚‰›U¯Xù˜¥†ØcE<77GY–qɇÂ%Æ Q¹e¯cUg­¿Á¬7K!;W§TP1rkgÞ’$ åYCŠBqabbÓÓÓHÓ qç:ó}7fF£QG­VW“–LÍŸ£Õj:M%`2ô÷…œÆÊ=PW¥´w–fˆãõz»Ý.Ò4£("ŽãYÆÇ’$A£Ñ@šf ÇqLDQ¹éÍYeóf¼mï¥aqdE‡NEº^oà•/¿†»Ý.€}ð|@ÄYˆÈ¤Ÿ_óêßDše¨ê$gÊe†“aÄYŒ^”ⓟSª¬°!éu»ª•Š˜@Q¾ùZ­–úTEHÓ¿øù/qÒÉ'ºì]Ü{ï}8þøcƒ@òyòƒºZœ%Š"ÌÎÎ?Ç1î¿ÿLNNbåÊCP¯×qûí?ÀæÍ›0<µZ {öLáé§ŸÆGKZ£wR­ët™#ÎEÚí6šÍfpNü ¬_¿N˜E»ÕƲÉeÁq-¯Àг”{yfffÉÒàVóÚ±†æYó9ÉÇuÿ_jOºä*lÌV«…ùùù%¹f9®½[ž$ÂÔÔ ö“.Á¬=³^Õ³¿Nqf0ÉuúôÓÏà·Þôvü_ö¿cýúu˜žž.RóÔ7Uœe æ F›B¥¬öÀH!îòoõ*E|îúñ]¨×ëØ½{Ö­_‹•+Wâ±ÇÅ÷?ˆ-‡oÁ¡‡®A–eØvï}ÁôÔ4¶n=ßûÞpÈÊhηE„ÓN?Õq•8K’$tä‘G`Ïž)PD!m"TD‹-L䨅,ÃÆMÐiwGœ%"ÙÍ`¤ý}ã–[QoÔèì³ÏÄ 7|Ûî½gœq’¤ãKÔɤÕâ,q9‰‰È³(CCƒxèWãû;~ˆ·ÿÎ[iûöíøÂç¿„?þ“w)V)¡?±°8KaÇjq­àâ2Lň(¢(ŠpýõŸÇàÀN=íÜzË·ðä“;põÕ—£ÓIx+ÖoX+¯|q1Úºé Q…8K1yQ‹^!k~†††pã7ÓÄÄ8.¼ð|üâ¿Ä?~âSôšë®E£QÏë§$u:Ø*I¢Bœ¥pÚjµYÀ|XjµºÝy|â>‰¿|ÏÿƒÁÁúéOÃÍ7ß‚w¿ûÑét”@«Î_Íàë®õ("DT“Ât`ãôßÿâओNÀË^þLOOãoþúý¸ø’ éÌ5Ï+³!qãÐ÷g)²InOŒ£u ¨†MÛŒ¢“•JV}ÄYˆ¨,›(A'TRå='h?#üúˆ³ÕâZØâp±¾E‹UùQ6ê@ZœE°­{â,å­œ`e¥¬G¥ì­ÔË '©ËEš»ôŸMâ,.Â;Žc$II’ ŽcìÙ³øÿ…þßÿõ?YU©Àp²UFlE; BœÅâ¢Ââ,VEí‡RI™UC‹Í:sPò€#¾íÞû°mÛýxÃ_‡mÛîÃã? ÖãÄ“NÀõŸù<½ôeW¡Ùlá Ÿ¿N8ñ8œrÊIøÐ?ŠÑÑ<ðàƒxÞÖÓÇ1}øCæ͛ŠòaïàgiµZ|êi'ã¬sÎ$Îx±u²½í3FšÍfžÏ#’¾â,iš"Š"~ík®¡~ôã8|Ë|çÛ·ã÷Þõt»]dYÉż„â,DH’..¿ü2üßþ—¸oÛýüÕ¯~.»ìX¾|9æççA-©8KEèt:|ÇwÒ_üÅŸahhW¿ä üð?BW¡–Lœ¥×K±nÝZ  âÉ'ŸÄÈÈÚíŽ8âp—RV‡}g¥¢Ý²e3Ž9æh<÷¹GãÚk^‡Ë¯¸ «V­B–v±”â,åçêõîºë'¸øâ P‹c èÒÎÒŠ³€}ï{?ÄÈÈ}ô1ìÚµ y)ÅÝ.K#Îâg„µ"ÈR‹³@HgH؆N/©8‹7j*-­ª,K&Î"{ºåÁBR2õ g‘gÑÔž)üÕ{Þ‹f³ÅÝn—вš¹F£Ñȳ8Kž6O±k×S8ôÐ58æ¹Gã™§ŸAÚKMJ=Ë2ôÒ ˆhrr’ó377‡,ã¢ìj2u—8K^oJPðú:} Â… jFØfKŒÕÖÊ—8ËfEJœÅ` eT"â$I°ióF>âˆÃñ‘üN;ý¬\yfff‹Ž\¸3Y†¤~â,P\ÉvHÓ4ÅÀ@/|Ñ¥øÂnÀØØ(ž·õtÎëqQ)^o”í ×xqvмæ¼Æ|p`€çç› " ã’K/¤N'q8 Ê(Í8 Ô—œ}g€]kÖ¬Æä²eøå/ï¥U+W23cË–Mò@Ô´ã/¸r¯êõî½g–-›ÀC¿zçž{&&&¨×ëq  ‚—*(Îb#¶’•®6;×ë5|û[ß¡z½Îãcc%M Ö‚aq&µ\\ƒ,Ëøºë®ÅwÞ…‹.:ívÛ–“*²aJ¥8‹9£l›•}€«zÃÂWv§’гãÅYÔ’ã˜Ì‰ñ¦Yâ6Oh² CiPœEøþÊ#ððÐ>ÿ¹/ahh—½èR´šmײƒ“„ãJœEÚv”EÊRc`õz­ô8M3´ÛmÑM$«ò¢’ü,gñÍwË-ßÄλ¨V«á]¿ÿÇ 21??7¿ù8ûœ³077§D)=Û¨mp@X[̼¹‡- -ªkK÷ò³½^6oÙÄO<ù$nºñ€O<ž6oÙdÔR<„gY†(Š07;‡Û¿û}´ÛœyæV^6¹ vÇ:Ü‹8 -”8 ÈU £ L³ˆ;9ʲN%ME¨Õb|î³_Äë^ÿZÜtÓ7p×]?Á)§œˆv»Ù‹HÒ¶“æøuJ+@PeÝæ)Ó4E½žOq»Ýƶ{ïÑG!ÙÊPͼÉP”_X€lŠÙëuqô1Gᦛ¾mÛîÃÛç­y½^!¥ô¤Ó‡ÉN~­ÜÕ6Ô"¬½^Ž<G}$Ž:êH¼åÍoÇ™gmŪU+ÑMºóà~·HJîE‘.",’¸(Ýàšk_ÿñWƒññ±`Ak¡gqÅuÐ,,•Ñëõr|H%\[Ëë†ÄYÈ‹ÅÈA±Y‡ Tóú‹Y­dаÂÞøý”óajÖÅ•€Æ€æl0QòsÇP‹³(ÏöÜ(ÐétpÖÙÏ3cvvQDªwÒ ™kj­š§ 8Oišâ¹Çƒ£9JÙ”(ŠL`¢dÂî¯[œ…œúw¹¿ó® `Ïž=x×»~ÃCCÆÀà€:Èz½žà6'¯ÙÙe•WOÊ¢F¨Ë O“¬ÏSgFž…s=Öò•$ >wý°ióF<øàCX½z5jµˆ€¹¹ù\þ»Vúukq×ïÆôô4¶oÇŸp~ò“Ÿannõzb@ÀðгK+ÎõC]±Ó'$ þ}ÒSrñ(:›ël`J%ý%Ë6wñR²’¨[—ŽÃ%¢@i©×ëñøø®¹æ¨Õjùââ@)ßžVùh˜ƒÐF˜>«¥hÞä¼4Ðh4pÓ·`hh§Ÿ~ ^þ²«ñÅÏßÀóóMÃôDŠYRÌáÞKEs¨0yÿóêÕ«ñ˽###|óÍ·â›ßº y4ÉNºÇεSùùêE¢,C6áÖë¥X¾|“““h àÐC× ÛíÂꫬ™®Û‘>äµä„MBÓóV¼V» fàç?ÿrÈ!E_~j]öS²–nVã@˜B Q" £ÓI¸Ûíahh—_~¦¦¦e”/P›Ts¥nŒMÍÓRNä嫤ÃY–¡ˆX9Iºè ²#µ™ÂΓÔJî>5ŒZ<0ÐàâÀéIXP$ÛqcãvH Né6‘IxXkѹ*Û­·| ·Þú-´¼ÐDÊ2 z9miX‡Ý7CCƒ|ë-ßÄwnû.‡E±ÑX¥§È›cÕ¯‡Ú¼«×P¯×Íÿ  ÉÇT·®kqiìÙŸaå³Ë0¤Ü¯^rpÑA’?ö Dæçk¯}%ñλpÝë^ƒN»ƒ4M‘$]t“.’¤Ë™sh·•Ê¢ {&Çø À_²áK‚2<0'à7æÈú{ìs1?ß䵇Šó/8Y–¡ÝîàU×¼I°<ÿÌçáÐC×`zz—\r!Ö¯_‡‹/º@ i¥_y%8²Žg©&ä^,Ê}ÅY˜[GœE´º Ö#»Xó÷¤íã@ÇœZ0gYFƒƒƒ8åÔ“ÑjµD4fðãe:ßT~Inê8‹èÿ˜Œ¢÷<Åðð0.¾ä´ZmÞ°qž÷üÓ©Ýî`¬ W‘¾—R™XPœ…a~/9;VÆÿù÷ÞNŸ½þ xôÑÇ022‚w¾ó·ÑjµHÔÆ ˤ3‹Ž8 ìT±®ìûŠh®V«á…—]‚V³Eyª©££D™»eÓ 8 AàÎ-OFQ¤D¯×Ã9gŸ‰{·Ý‡OêzÌÍÏã÷ßõN)÷€d-(ÎB¶DcC•¼šƒ,˸×è’K.DÑ{Nãã8ûì3ÉQ×’çÿ"ÄYXÑ ¼µÚm>ïÜshÕÊUȲ ­V[Ÿ=t ziêxCE“²BU‰³ØÚœ«\O‰‚ÿ«÷ü5®¸òÅ8úè£PˆÈô•¨y²ª(2e+]pÓ¡[íuœ˜f)­ZµDDiñ±îˆ6¹2OQ)ÎR²Qù¥…<ãÇ5üüçÿŠ+VàìsÏBÒND­Y¦ÉˆIçÁ=qsÍ q–8ŽqçÝwáá‡A½^C¯×£ÉÉIœ}Ι¦eTû‘å÷Áà´Ÿâ,¬³”×ipp/¾â2ÌÎÌ"˲œËÄ$Ê‘ ”i‚˜{’½»ì‘—‘>D©Kµíˆ÷‘A±Ó ƒ^¯GGy¸Éªt:¤iJpÊ)'›VÓZ­ÆÏÛz:¢,ËÐétpô1G¡Óé(â–-ÎÒ'åÎâà†Æt²s¡ò,ðzŒHS*„\àœŒŠ:zD KCÄJòŽ>‰N¶­ÍV+?ªù‘6Hò<%]0s¸¾kùä@”×S¶>ÿtd#I€Ë/:ޤ“$U² S Ò€‰Š-Ó&ªoÅÔ¢©Ûíášk_i¼Í@Ÿ³*ÙÂLy±=ºŽa'>Iyäˆ .;ËÎÖã*q–€ þ˜Gç'|"N?ã´¢5B«ÕÔ´™Âw¹DÍWZÆ b¿§iJq-Æ‹¯¸ íVÝn‡v(6lXv»­ò»r'Œã%Uk’è­|U·š-ºø’ $]¤iŠf³‰sÏ=½^/§?u°aPQ8® SÎ{£ˆ077f³…!CÐ$Œ# ŽH’ÈY {äüäàoEy é$8õ´SòµÔI@äcõ=Õ[)Îbí8ä"©å|ÌÍÍã°µ‡áŒ3NE«àW™IéHƒh г°cmy8/—<ïy§á¬³¶š=—¥™°Ž=§°8 ÙåJ¤²!!ÃGν‰ôÙP-ÎâE|ªömm%3cfzFJ jºFà7è°‹“ÿ*9sT/ ¹lZÞ£“îÑaå–Ióí¥õÅèt‡´Ò§­VKb¹¨Õj«­×étT*UÈ5“ nÇØ©&hƒß¯¬†~l:ì`nŠÓ“D$‰˜]Ç8é²GÃ5vÚØOS5ä`逕raMX%S%“l’„ËhH!÷tbAz Ô×)T‰*oV'‰ˆ:9³˜±„ívK§X$å‘Hκâ,NTbDì8P¾eÊDâˆ0[÷I\‘bRØ9eY‹Ôz¯Û#cQÅôËÞ2–Ŷމ®´Ÿís€a†ër7IJO—ÊõiqñJªøÆ õ Ù£¤3p¶ ¦vaø‰ˆÓ45ŒY\’°ñ]%¶šœv5L“\Ò,™¸‰¢ˆ¸ÝSÔiÝS¤a*E0GppHˆTøLq9…"u»]¼ü/ÅÚuk‘$‰Ø´f¹ËZ¥­Ð-¢'QøÓf$X:ÏD”ϧ=£5Y®’)f/ø8?’}MªE¢ì­»ì²K9Š"êv»¦±™Å”I)ѽêôô‘(b”•\&÷ìI’.’N¶#=_¬*X²l²ì¢×D«Ža•ÃcÒMí!„D¶“ê7vø"òê*•g‡h£$?«aü6ÆÁ(Cª2Åà"UÇ¿…ÈÉuÀÒª°J–‚c"ˆ±¸·únÉYN8.³@Z²ê*)˜HåÄI^ˆuš™Ù•!ˆÁgaà#Éé%£‘ìÿsÑìAqëŸ}GÇK4¸UÒi¥øI ;›"ü÷–‘iiX@-9@qÂÆq£jqrÇÊCyÚ¨O°½q¿¹^ »•ɈEfdÕaß'§xÐî  IDAT¦ØûéT µÄŸl\VB?³W%ÎÂa ›V§$+),A,äšl€Ý5¢eðÖ€ª˜±ÓªSš)רUˆ7„ÄY‚)ñ‡,Ë»2Ž>úȂ݊½íÒ%u;¿aqkOÙìkwŒ™]qö™ÊË÷¹æ%`QݬŸµ)–J9Ë2S™µ  ÜÉcÏvö*»Y8hÑ vÆ/ltâ,lÈ[?ʤWëTÄY¸êyB¸/fLªñ n¶PUˆ•’)ÒE]OÁDâÂHÝ`q–(iV2&Ø‘‘\-/“r(÷q‹FöÂÑ À$ö—_ÉÔ_† ¬ÛGl5Æ) +´»H¬Ò„/±=ïXcóXBB aù Rl¥÷„»À6¡[&X**“t-Ìgc1±c>”H½º5V¨+â’˜¥À8ªñr·‚†ßùz "ÚdÁC#†D,úK RÙþéÊCj4›;¸ÌRÄ@‹¤‘š9k!ÎPïV^#—5.ÉÀÎÐç‹T®$ Ъga§Æ¯e¤“*Áhª m±šjå° ““}ç%h3/;°g+‹ºh j”’ÉN XÈ"=¤‘¤>æVœ<$ÔZ Y oH(LšQgÖÕ'¨õo½=À¥Q`CšÈ¡ã£Ä£‘ŠM½V¼@qR×f^ç%‹ §Äg²°¥ÊsصPUK}.ÛõA!\³Ã yÔv}yë‡$€Ø±›å:7µ|öò®¤T¿Y&UüNìa*²V "™¹YOV¶BŸÖZZrÐw,åó Bs)Ï"1™™´œ RœE„©V3šËµÀ6¤2ã´SæßÂN­(9:u9CJ‘çŠä"± jÌ ³ |'ÛE)*#šÀ–äÎ(’“B‹Ác2V-P"ûO¤n#é;‰óD5Î=){æP1K_œlœÍ>Ó­·ë)Ÿ™]kÏ’uÙãĪ]ufCX–OV%¸€dÎZ'¯H€æˆØm”·° ŸÌR˜nˆB1»9‹”ðÕè˨·¼fiJÈ'ÔcrkÌ,¾šm8i”¥Ùaz`²sáXe/!Ù4O^›©ûT°æp]ÖÉòÄYŽ”Lj+,‘2Ålö ÷™%Þˆ<ŸÇ´«±ŽvdXz…Èÿ›MC»¼g&éÆã¸±Ç½aCE"ø€W²Ýl’®XÖÇZ^tXWú/hC”Màp ¹ÒË¿±ú>k P’/I~²™Ä4Ö8˜±®8åQ%ïNJÊ‚Ø(g›n!ò`û¶p,ÆXÙÏow°$ŒI™<†wÖÊgÓT $LQ›f‡?•ä<_yW A©—n瘈0TVÚ)<)‹œd%½l¦¢P^Ïù9Œ.+ŽKæÑ’’QQufUR,9 %râ¥@±ž]ÿ€+r™¥oâº$FŽ]ÝmYW³@i•þó¶f ýBxz^†ŽU A&'õ¨c’X@*--Îf‰þWÿb«Ú¨™°È31’ÖÊn[:Ð@fZ14Y¾¿Ð|’[e¯nkïT:H¥ò}8”Mu»)|ŸÏŠœÐO£•$Ç™Y¢l†ÔFJõà$ÐSã´X[B@[syšàÌIkƒØ&ª} ™9}D®¢th >/\¸žAÊsSÜðÌ]nE@d¸€åœÜº$"‘9ô-,n›ÅÑH[Sô¤"Ì~åŸP·ª\&’iä?6)y@Y^¡;|`Ÿ¦stÅY8`lYƒü³jP±Š·)ÔK¤)KI+uªxO¾d=svNuÙ¶èíOOK”T¾¥R  ê­Î@ZÛ¯ÖR¨‡°3.Ë J’V==$߆S¸Fà¥Ü+ÅY4ïqµ8K r8Ít£.+¿Þ`SÉ´E°ãºôÁðíe™otk©º"Īí±4¢ÂïºiqTˆ³„œ–®™H[Ôö>™¥åêª7C2ÃzE>ÒǺFL¾ÝmiD²’á¶³²ƒö%ç¬ó¢uÇ ‘€y𬋭©‘E‹±=jÙoô7‡[㕚ýQ#ÙQàLš‹2 ¯€.Y8ë:y0ŸRÀBÔXÜcHID:d:*Ü yªN#•Ì ’̓CÀ½¼ì…*ZBÑ2Ÿèb6¢£J¤ß…Háœ%½@ÁeA2^©ël‘CgèXm—š‚u¼ 1ÊIqô²ÌŽ•Õw[ø`‡lÕúÚ¾þ‰Ô‡—@I×\ áQhµãe“Tr²«¢…ïÑâ,æ(®ð„Èï;ç—c°˜žg]œ Õ/r!òê{Lnµ‘Xdš4ŽAÒ ×(w ¯gņœèà-Bì!“áÆ[¶K‰zvOl²˜H/e=K§'¤¿8KÔcÀAÜ‹•%Q&UWqFƒ]kdz½YRP˜ÕFòcìyÀ°Ê&8¡²›Y‡º8 ÈÚqrIA!!…GÛH^°òþX%@8Ô¦éSߺŒÓb×±dÖŒz~5Ì€0#ÜêÈ¢Xæîý*ŽE³k8lØ!°öÓÒ᱉²E¡ •²S’‚¾;³Ï[æ¡YãâUMÃ7˜²øÉ:˜Ô®æ¹ ”aIžÅ.7-Ä¿k×.D],P‘â,ËÀ>„À‰½Ùá'ñ66k&v´gaÙ;.¾Î9ËÉòñiŠ/D1`Ù]Îþ*fØ«ÇÇg±…2„…,`V^tËðæñ’Š$ t¥™-´ æŽNN^ëàËÅ^·m¹¬øC¹"KOœÅ«¸2;u¢ µXdæ\»ˆ@àK!@#«ad7ÕªXMØÍײ,‚„š;…¿ÅÁʲôDºA ª¬:7BÖB] ¼)ûæ9 €¿Ž;> â,Ž<’ÎÕ:ŠJ¶ëM} ëÉ%û·‰d”šæªX”8K\)XŒXZqפhω³X‘ç¹([q³J :‰%g!¯–È2y`ÄYLošY^bu÷¹Äâ,€섳W oÿ!βHqí 8=›öjßÅY<2kÓ?LS„â,)ïY-’¯Ý÷,g!U£“ f°Ò½vKoå&aéÅY¢¾u"b7Œ#ÝÂпæìä™TvqÒUà2L|Ï[·­©¹§ê]„XŠÁL·›*û§Ãl©ˬ„â09-,$#« 8‹ëcª|§ ]²²$¢à*³¼Ÿð­¢à¹#€9Ê1L.ØJx`n¢@BüYVKXõÊJŠj”&ëÀ¢…EÍV’Ú³KÄØÇðP(Ñ"?é¬ÅëÕNä³´†ÛdÉL#ò«ÛãÀJäÊ,4ìŲà ˆ³0±Â-KdŽg9zyóÁE-R––‚íw:CaÅ_ôðÁíNnÎmÅC๠Ý*—K%(W…±dîÍHëE¾œ³õ ¢Á‚ù&_ŠÓg©¶ã²½‰Üf6yîù«•NÒŇ4±@cäÃâ,Xufï$ ‹³x–‹r±%Ø•³ÎWˆ-·p_ÙGÅê:é{_¸†Þ'ç®±ç`}ȰŸ¶ô~ÏT˜Qò”p‚)õÀï(´!ïØò¶‡p¡*‹ãûqTŒ,%’R¢Àfi-Ÿº¶0BÜ@¤{vCŒëàTRsE®"”E#‰BÐ 2rž©ªotâ,l{‡\PžË¤¨È±s\‘ç$šbH;ëúÉ+‘fäÑ7×ôß~nÀI„šN‰‚ßd¸vÀ–>×|7•¬õŒiaSã¾öÆ©„ŠÈEöšÈmëžî£r‰ú0гˆsƒ<ð­³ÌnÉH¯Ï½gQÏζ×°’ûÌUõMø^¾h ÞãMîŽOà“ÿôqŒŒŒUг´Û-¼ð/ÆÈÈè¾^_ýþÆ›¾†{ïýW ÅY²,ÃÐÐ0®¸ü%K6ïÿÛ÷R­Ö@á3µÛl}ÞñtòɧáÏÙBNÙ>_럿òE<ôЯ(||q–4íarr9®¸üjÚµ³Ƽÿó/xýûî»_ùê—02<ütEhµ[¸úê—ïÓ÷‡>óù/|O>ù8¢¨géõº´zõ\~ùÕK6¦ý7‰‘‘Q¤igiµ[¸ôôËhË–#–bmÒ~Ìõ>_ÿSŸþvï~†j… ç³Aœ¥Õj⬳®Æºµë÷g›×?¾ßþö-­gÉíÝUW¾tÁux΃¥8{hvvþÈßbttRœ%ªH«Ù4«¼[qÁ,ÅWœê3«V–\¶Tþ\RUvéMÍß½C‘V™¿ î=–•Ϫ÷«œ¬÷ @»u€´e-Æ H[í6BßWÞ»×®¤ŸSý>MSHNnÕž‹Åž²;¦l/®éiÙ}dc&ÄéËÔ¾¨^•b(¡ùqZoßt˜š$gÌØëÀs…>9ærî³4ƒŽW\D¹-IÓT^#´¾‚?Ë¡pçŠZ«æÇÝ¡}ú;°å rŸãßé´Õ}„î­by{§T ,؈Ë.ÙÂÇY–qŸT>B×®{Ε®ºï–¥r-ùŠýæ­·€=`ÇFqh‰ûñ÷³;Žáô³ïB1Ð^Ã¥F¶­Á²Óðr¨H®KîYéÂ@ªB»hN'4NîšagmsÈåô‘U öÁ«µÀU{DZõú`ýÄUgK•ý¬¸Veé¬Uf[ÙnJțȴ ¤U”¨y3—"צªýóo$ÎÒïÅ-V}x‚—Æ12AÄ#‚-jrB×Õbp  {*ÄYBßGý x ôVгìÅ5Cã°Ðø/\bƒ8uÇ5ôLUNEPÓçÙÜï}ÞïŦJšú²†¿×c°  Äøô›ç~ߺfÕ¼V»sJïÕÜÛµdÿ^%βwëj±k´Ÿ8ËBki¡}Y…ª®Zãî÷Þà!²Wý·ü¯Yœ¥ÏzYÌ:ëg_i‰\Èf†ÆuoÖS¿ï_¬½¬~¾â,úûM¿1Y" ùoéaWy@®¶ŸÜ(ÎßxEÇÎÿ‚ßoæ©,pÄYB‘¤Øèì~î³ÊˆAMhHœÅ>Ï+•c]ñ÷>{Xœ¥êVò×›C®8´½°‚œ^Á¡g'Ÿ0"E ƒ¶°8‹x&yr‰q0Ÿ©8¨ý®J?cReä½HÜø*®g }g`Møé­pD¤6ÈâÄYüH+”X(úV§ZœÅÉ.”k24¾îÚ ¾r½2S¥œhÈb"_—«8pÌZ£>ÜvÏ q'ÓYÞ¿ë”Èg dX}»S!β€M`±çx×ûì½¾vÄͺUdËäwpÈîü;gñ¿Ÿ™ÉRMš‘"'ÊpßîfÝŸ¨·X‹ü…½4+ÎÂÜ·.ÖWœE|WqÁš[(Ê„ÕÊ&òÃâ,þ\Üñ@8ãJEKUµ7-Îâ‡3ÆAÚŠìŠP°' üžúx½å÷R`My×væUä²|q–ÀX¹÷O®á*ÇZÜ7'ˆ5FF‡úd¬(´–äúñöK…8KÅZ ÀšÐcÎŽUqQ:â,^¤£©`‘­œÓ>빯8K`lÉY¿¡5Lî~õâ,g:Ï@¥B H‡“û·€Ý{v‰³èµCÖ÷³còYäz6ÒZ;Ál% 2‚ö»*ãÇ.—xøÀï÷ý꾇ܽ°©ä¸HDœ¥VƲKJ¯x.´–u ×%š)°¡ƒµê¿ ¥;JÑîMª¤ê=E;—¯ÝMª.988¸èï](Ç1$Ù\ñ0óß(йâ ÞËôªb&™{É S­^ï{ÿ ¥oóÙÅ|ÇÞüNþÅQ8aò ýjñs\‘öåþ“®Þ›µ¾7×n4J_›¹*1@Qþœƒ‹Ný/tŸùÞ2²˜í"ðûœÒ,ÿ>44d{†Y[Ì3£ÑاrØÞ”!öÆî,f,‰È¬="ßvKq%Ó¨.}I²ö‰Fd¥6ݿ߹la’ãº7Ïzîz­æ¬ðLT‡fp1×ÚŸuµ¿Ÿ©úýàÀb(Îeæ>V]wPçIÛÌ 4ùT¶­ºK^Xœ…ü¡W^P–eØvß=ÔëõBœ_þõÝÎMBÏI˜¦«O”…’êïµZ ;wí@½Þ€å~óÅYêõ:~ùË_`||YšõóúD„6 LOOQ×*ëDD½^÷Ý/’$¡HÓò/¶0.œA‰ ·â,¥ƒ_¯×°ãÉ'èþÑmèv»XÌøíå{hßA{ù³<èhnnqS@#¥èèŠÐé´qÿýÛ¨“tPŒëbQ¼û²Î»^ƒ¶Õ}o½ÑÀ£>‚z½nˆ7•:Z‘Í‹ã~ö³»Q¯7ÈÉ|ðb÷†1ÈZÍ&¢(¶UÎ9Ç5›óxàû$ íÏ|%IµZ½ÌèSHï¦^¯ã‘G"fF7I°k‰9 Ï›Ž}*´òC³AIÒAE227’„$8… œÖÔqÄYJ¦IWEñÊ“ÿ{û8õz~õÐh·[¥  [½à\Ö ìܹFÃæ¨»D{~yÏ/òLnPadÁ9Ø—=\¢ŠÙ[ÄùÇ1MMO}èâĦ¢os¯/Î"›Ég¡þíûùÍo}v<ùÆÆÆpÚé§á¿¾û07ß,åàp&‹I–ÔEÞ]³q˜T]’t8IêõR äý£œèhTëÓ´ÇDeœ!Š"ÄQT™¤*jJÓFNõzÍô£ÒÞõ–öû»êKB–e*…CÒñ¡Õjï٧볯ÁÁAÄqÍ‚eÓ´‰zÍæ|•§¸˜~mõžáᑲ¦TFÊú>Q·Ûå$éÑ’uèTõnïoz°n;88Dq‹2§É?™µ“eZ­&SåIûð,XàÑç3{Õ‡ÎÌT¯×Ñ©X7D„f³YÌ+ö«™144\ì邛ݤK}>â,KÑjµ(P£Ü«1-ˆUhxxØtgÀ•¯ˆ’¤ÍÝnw_×ë‚ë §?étÐë¥<0Р8Ž‘e™‘–¢ø qp£Qǯ|Û·?Îk׆;î¸_r!îøápáEçcdd_¾á+|ÖYÏÇøÄ8>ý©ÏòÆpÖÙϧ{îÙÆÛ¶Ý‡“N:­V +WBø©§žÆ·ÿÿö¾ù”“°jÕá€x{÷íÃÁƒ#8ü°•8pð .\H°|ù2Þ¼y Ö¯? ßû×âµ—_&8G@_¿WMCÖÒ«%ez8KÍ&'»'›8s.—§‘‘QþánºõkÇ ¨R©òÎÇÇ‹^òB<üÐÃØ|çV:cÃé|ðànúÑqÑÅbxx·üòWX¸hK—.afÆâÅ‹qóOnÆI'?““Sؽk7¿ìå/ÕÉög¤8 šÞÍm·mÂê5ÇãìsÎÄžfƾýûQ(ÐÛÛƒ¢Z«aåʈr–.[‚¾¾>ŒaÁ‚AÚ¸ñ ¬?ý4,]ºÃËpòÉ'btt ëׯÃàà€‰žŸNâ,©pr¹¾ô¥¯b``ÿâ,…BzèaÜ|óϰdÉâ¶šg™g¿ŒÓt>ŸúùÏþƒ/6dŸC-ÎR,±é¶Ûñ¥/~•,dü4g¹í¶Ûqô1GáìsΠ.ºQaßþ}ÈçóÔÛÛ‡ƒ##T©V±lÙ  /^„Œ£¯¿ÏÙ¸Ö¯? Ë—/ÃÂ…CX»ödŒŒŒ`ÝúÓš)<  q–(ŠP­Õ°iÓxÎs6àâ¾===T«Õ00ÐZ½ŽòTÇsÊå2ŠÅ"ÆÇ'P,èÌpÜqÇbÕªÃqØa+ ­\±‚²{Þà€h£ lÞ²•/Æ©§žŒ­Û¶ãÀþ8ûì3q k°{×nLM•±{÷¬]{2õ÷÷)@fÇ…8K5Q‡j­Š3ÎXõëOÃêÕÇ¡Z­â¾û@DÅq‚½{÷aáÂ!¬[w*FFFqÚi§bhh<ˆ5«Çg¬ÇÚµ§ P(`bb§žz ž÷¼ó°k×nìÝ»…B^[Ì9gÉ·#H+ÅAx zÙVž•ýŠ¢Gy~{ÇfŒaÍšÕˆ¢•J[¶lE?&Æ'åšð:ÒÆ ܽã±ÇqË/ pÔQG ´Í$¡Z­6›ZKRfok¬Ìk’+A@'$ÎBÎHdBrQ½½=øÐ?ŠZ­†ÿí=8pà€14Qatt´ù¬âèbÖacÈu²»¡8I008ˆbѶ íééÁ¾}ûð¥/~+W®ÀÚµ§`dd ¹\„Ö79˜úcŧ¢3ž8 ·hP8½8‹› Gž3ss@¡Ï‰G QŒµgaIø„q³CZ‹^ás›:I•[ýVehä‰irâ_¢sšm ¦EDÜîìPÍå"üÅ>Œ}ûö£R®àÒË^‰½{÷Zb++siå[€œ¾†€Î/!—‹°gÏ“¸ûî{P,›©?½Álm±7†,´hMPCTF ­8‹ o”K"×ÅQG­[¶£Z­â¸cEo_/jÕ¶nÝŽ;walt ¹\ÎÀËqœ€9A¡Ç®»ñ«_þÌŒ£Ž> D@µÚl¡[Km[Ó¹re“9…Êî³…8‹MD) IDATˆdÈIÁ ¶r%~úÓŸãœsÎÄÑÇ…Û~s;~ó›MxèÁ‡qêÚ“SxŒ]Þ³g/~ùË_aùòe6iÑ8nØüq”S{‚Ò”V.—C>—C”Ë¡^¯£T*áð#Ç7¾y=ãÅ/¹##£zýÊ|‚Ó·Ù˜mÑÈž¦“kMÝzä\.‡‰ñIÜúëÛ'1Ö¬Yžž<úè\ýùkñ’—¼Ð¤šsD¨Vk¦’aËÖmxòɽXºl)úúzQ­Õpï½÷áÀþ " !6ü*$\_¸:ÖŠ¬H39ÐçHœ…¹™{9ûœ³°}Û]¨Vª¸ñ†ï⬳ÏDD„Zµ†B¾€„“PÖÌÝÄ1W«UD¹­x$hyÜ"f²¶ÌÖ¨â”íöˆ%FgqŠÍM’çO~òSxì±èïïÇÞÿ!Ô³|YñÄÄ$þä-oÀâÅ‹ÓCÝn=ƒ´SXœ’´(˜‰ƒøÆ7¾…{ï¹¥”uEO¥†ñoÿæïñü9¯^s|š»Ó íÄY T}d°RWŠÐ¬ òü=Ï¢ CeH˜Ÿ—eEnÊT@Jdš%#(#ÕJœ%´_¬<ºŒIY«‡“€ƒƒž_¿¥•,4® Yé>Û”…pìÈ‹ÆC|,ÑT9†Y~î½ïyÆÆÆ¾ñoatt”/¿â5˜šš´¾=À³óÐFœEªœe^9üÖ¦€N===œšZ9~7{â$Bœ…uŠT€•w'v{°Ü‡¼ûìùž³q¶o¿Õj ßý×ï㬳6"ÊE¨Õj\­ÖHtÈóìV££Z«ª]5q®ÅY²ö‹ž»¶ßýðÇ8é¤9Š"T+UÔõºÙͲ™g%Æ6ÛJ‡±¹öÒ@.ñZ¤®…*=騰³L”³"uø4™Tk5sµZ çž{žõ¬5|õÕÿŒå+–«_Œz­Žj­šæÉ#LMNáÚÿ÷\pÁùxõ\ŠR©”vÅ{‹³4SºŒ©©)~ÎÆ3hÙ²eøÇO]…ÇÝ¡¡xÎÆ ¼`Á ¶mÛNq£P( T*¡··QDH’„Ž=æhœsÞÙG­VCÇEȈ¥ø"W˜N®mrÃדÉÊ“³|bMG ˆ³øgOó?/¸àyزy+ŠÅÖ¬YJ¥Âé!K•JBÌEª<¾>½ì·4>Œ¸cåŠåH☠…B“¨’Ïatt <ð N8a ­^s|&¤ÁÐYs>‡ÄYLÿQãlKfÈ4¼l6ú¶‹„IÄ“’çVvÎ@{¿È_zìÄ:+!bh.£+ÎBF I„qd&ÇÈ@Y \Ôø5†r_ìÖ•íJ…© E^Õq«`HóŲòy ,Î"ܱ41O²z©^¯ÓÿúÄÇðï?ÿ6oÙŠ|ä/±gÏ”Ëevà/ÊòýÄp%_•8‹íŽ‘R<ÜZ³Öìqg¾3ÇMÙ¹ 8Kʖ〰˜iˆ.ÆÆa%É·BÞšu“Õ`OMMáôÓ×ÑÊ•+ø3W}Ž~ø  `ÆӱlÙ2lß¶š$¦qŒ‡z˜Êå 6ž¹>ú|èac™2´*I‹E>ûœ3qÜqÇRµVÃÎÇwbåÊåxéï¿wßu/\8D¶õù3Xœh2wïz‚n¼á_±xÉ0žØ³çžw6¶mÛŽr¹L…B““SÈå"’JY˜£‚‚â,ª”TúWÆèèX¶ÝFä XŽ3$é|Ò¿p 5E‰="—Øz–3¦*È‚€ú%YȈÜÈ×÷D§@<§+Îb ©—ÆúÙíÏïo3ŒPb×:^ÂA‘g„¥h9ÉR|M§$BŸ1q|Iò«ÈeÀGQ„¾¾>“¯, @’$6•K­1… ú.½ì•¸ïÞûQž*£R)crr D„GÝßÞ±»w?5«W#I““S¨”+¨Vªv¿055%ê€C2‡â,ésl¾s n¼ñ{Ã…žr¹‚J¥ŠÉ©)ôõ÷áöM¿Å}÷Ýñ±qÀää$Êå ’$¡\.ׄ¢+UÛÇ!ÊÑÄänúÑOðÛ;îÄê5ÇãÔµ§`Ó¦;°wß~l8ãtìØñ8®½æ:”J%œ|ÊI˜œœDÿÀ¾ü¥¯á oøCôô§£Ï¦[À:Š(Ñ‚·ÂÄÊ-“曨™Gä‘Gñ•/qcéÒ%(‹hÄ T*<ë„ÕØñøãˆqZ%RQó`Ÿ ïÜø=¬X¹œ0Nxö³011‰Õ«CÇôùÏ]‹7¾éõ©#“2qúìg®J®|ÛÛ)-[ã36œAͲµI¹psZó@)¥Ñf\ÊÌ-7)5ÑþollŒõÐÓ׃J¹‚B¡Ài n–CÔˆÈHœ0ò…¼PÒ¸£V«¡T*‘-0ƒMì ÛB¦C¡›92îDàAìÄV¤¹2çâ•<ÍME îè§Ñ‘Ñf­%ñ„æ*€„ŒmêHFfl 9¾4Ш7ÐÓ[2)êþL.,eŠ)ã”°¥Î§q(ÙÓiü¬ØÁö}´y/ÁL5OV•`\Bsê‘Ã>¤”úm¹ YŠÇK´T€'lf/-z{šmУÞë€ü"I›E†9Îý1%²{˜ë·±#€‘í¨@Í…š¬æ x†+PÞÔ¶Œ’¬o8¥Ì(õôпýÛ±eó6üÕÇ>Œ‘‘Q‡JLБ½ºì¬‘µ9ªÖAg;d„„ÇwìäÍ›·ÐÖ­ÛñŽw¾###|ÜqÇdùY¤R,ñf{¢³Ü¬~/÷‹*bñS¥²Š™,Ÿ¶s¥ÑÑ1ÔëuèïG_•Ëe. ”•x Ôëõìàæþþ>BS°ŠD}²™·jµŠR©Ä¦žÃ+éPù°Ìídín²ÃÉ1–V"eæ³Ö­tðàzzJ<00@FQZ6LD¨TšÁG__/‘AT³Á‹ãqÜHkÊ›7V«Õhjª æ½=½<08@###ˆãÃÃèVkE¾PÀÐÂ\)Wh` ããÈçó†?À¹”d#Þ±ã%ëóI$˜lå‰Àã›ó^.—¹Z­¥%v9Ê$b …fI]ÇÈçóÙq©TªVk\.— Z×t€…BÅb‘GGG©§§'-ó»G¾‡n¶“©XiÎUsÝñ—½¶Y–Ù,[ãö¤8r P ÇŸ k88#˜\Eœ T*BAöï nW‚yJ‰o)åÃt‹ê$APb?JqñUe«[¾Óœ5i2¥ ꌢå©2J=%4•¾HDúYªšŒš¤J ªzxWƒ=.D¾G'^5€väyúo}“ŠenØEŒœ2‘¿¾‚k9 ¬¸ Pêªø<U®¦3 ®8 i"d r¢¸,T$7ž“ym[Îæ—²É>Âö¾%:fù²YŒ ¢ÖŸ~ËZÑiƆJcýÚC»ÏBšì°¨ïC¯ížž|éK_ÅŽ>ðþáÕ¯~N8a!\I'’àEa^¨Q¦\Ío7jw»¯6Cf£††˜ŸÆq´mÅb1í&ÉÈÒêù|>ÓWm¡3ÛflIˆFäí¯L ¥¿‹³"ÅIVÁ ISžåŒûúzÓTAó~³zûlr¹ù|Éü¾‰–ÐÓSÊ$@Ðh4088h`þB!%K7Ÿ4ûoÔju}d¥¸4MayÆû’yCåÅ9‹…àõf@¿îÝŸÍQE©ž9«9j®ÝzÓ€IŸŒz½Žþþ~q¦‘'΢»€²›$6ˆðÓBœÅÒ§d‡$I8m%Êœ)¼8‰!þ“ÓpvÀçæá¤@\§›[b¶bR³,Q¦ìYì¡Ù GYƒVâ,,…g”fÀ ³Ýœ¬Hw¤+¬²Z6QšgaÄ«[cÉkÚœ9©éa2álŠ5=ò…g!UCÂVàD‘6)ÍÔºÎBÖÆúò‚AÅúÍ®ŸJÚ¢$ÝÇß–‘G°æÎÅY˜dÝqºSÙ)SEpb%Ù—iUõía'ÇïÀ&äåâYu7v,=©¨#q Ø–ÍÕjµ‰ÔQÄ^ë£É*p:g±v#µ(h4ø»ÿý×8ù”“ï~Ï;ø²W¿““S¢â͸pL²+y;qocu‹Ò eá)°G …‚?mÍiöóD ̤6ËSÁã8I8Ž3i¶ÙfüÍF&Yþ„…-=dâ,Â' 'b„¬ÈHóI’(SÓD(X¬iÝ"‹®œ&AÖÊØ<…*Üdv˜žªÓ£DzEΉó›ˆÆE‚ë&¸ŸFœ…®ól€ ,ÀµôÂÌï‘ðd¡2B¬aRi62wX{ëúa8úbÙ“0:./Àñ“ÓsO&jE² %̓x½hÓy P¸‰Ù÷B5Náä“©HòìÄ:P­H²o0‹IUe§¦8;Òì« “ÙÛÌI5†‹Z#«*T¤%râ¥â,"Äl£9Í"Ä`·©¤ð  ˆhúNÅÕ,QZõ öº[z¡M×(G=/ R¶ËFdòúËXF±j…ÏŠ±mm³›*}*Arù02±ì‹éãC¹€äv€*G k¢yà¶jîÃî=‚ƒ4”ï•]‘&Ø™o²ôÔÉc ¶ ·È[Yäbû,)©.»E¬eª Š!ØÙù&8cø‚q.·‰ÚÔ¨‡û‘ƒUd$i$J­ƒz½gŸx.ºøLMM‰§uzÃ3ÃÓH ̽Ût‡ƒ7ß|O¹\Á‰'ž€‘‘Û+‚,‡…[+Ìb¯J’;‡—)Kø ]˜ÐJûM¥€2Ø•|¬Ø¦ Ȥo û+‚Tèg - »?|qo>Øo†ÔŽT,q¦P-[Ý68ýI ,9.™½gÇ6‘L]ù–ßåðh£ÇÂE'Ÿ+Ø·¡´¹>Š*çv”rµ¶ˆUxfO. zoÃ[6þw ÷–â,ªž§8‹8¯ZK’®Tdå×›¬n¶Âá*Ð9ÂXøö2Ã{`'GÌ IXSæUZ¨0 ×ê€áL‹€BöW󕞦ƒDÇ=ò=t¤„ÂVâ,,öXŶЊܪ ½¤]'N;¥ 6¸ËFvؾäœuP¬7d ”‹‚U`¨Jî1ùŠd)¶6†9°†“y$tÏ2d±V³Û$°Ê3(éDQ"!2;dÖ‡R²¶jO XñvŽj×SÕJ,lz[Jû-RE Ëe]ÉB­ZÇÔÔ”)ÏaÝוԽCT­±ÝÃ,ð}H¹T½˜kDQ„z­Ž\³E1™%bѲΖ¬ÿ#ŸáÌh£.bV¿"ƒtêò Lº˜` vÓŽ‚N³UÙS’BF••9ó90¢‚C ,ëÛ¢ùM›§O}ÙÏSÑkÂ$PèÜöE×`idÒ–2GÕ‘”Ì÷xù=&7Ûhd®Íß6I/\³ÜÉDRìu»&'z#·<À¹fÞ²ÛL?ìÛf'vÚb‘EÉ%Bâ,Ê/n/ÎMÇ‚ vU+K¢’ƒÁ–wÅg\{¨ižAì—tµ‘ü{0|¿ÒvhçP„Ê"!-#_·¨™˜e†’ˆðÙËÖè4Û«yeåý±@œÆîAâÂÞ®cÙˆt*ÑË1’¥Òx b$¬Aä÷8·º_Š2)4µÉ!;,a?m;<§)ªªƒÝa[ÇRÐwgöû–9^ìZ²-j!]1m0-ëÝFi$0òÞï<¶@¹t®ÏZ ‡Î¡µ+HVnPJFºê‰¿8ÎËܲÛ>Hv§“ÍaE~MõzÎ6{^Œî2¨A9‘\P›Û)Ý%GðÛµÌZ3ª±C&l£@À²Ý2CJMük Ñv°F˜˜mfÉìN*“3„{!–ó[ò ‡ãJR~û|I¯])qÚÌÎdx° tûû—B„FVÃÈ.ÔjvÚÚ"&&‹Š;Õ!Lù¨t“Ro‘•›šmlåš`3)ûæ9 Ê¿hd¯§@œ…4Vë0šZš¹Ôz¦R#¶É¹Y#N¯ Ã.hæÓ´‹ެ°ynëæhaa‘·g1!’³5ä¿XÃ"ë–FLJœE„àaq’§+ @AÞmˆF޽¦°8‹@Ù[¡¬\+v¹ BÐÄKa¥,g;ëÔ™EªÈó.„8K © xÀʱ‚b ¨Ê+EгÉS6Ý&Å` åýD u—‹W©æ;áìhâ›Ô¼ñÄYL Ó+"Ýû.àD’ã ÉÄëe@œEŸª=­Î=ÛÎ1‚„`É…išÛÕ/ Îbzh|§à;»Ô3†º/©ÆÂ/ –6€á “‹Û)‘LAÖ)"!@‡DœÅ3bWEhƒæõ²QäH2'™ ²‰ªO[å£:Ñr¸BcX¹ïä/ ª•¤q›l£ÀñI=/)r‘®&b h{ Ñýò´gª8‹—{ÐØ93û÷禂 ÏPU|ÏO/qŸpGø¯g‘.dË”æÅYæÅYàf²Vf©)‡Rœ% ŒIà2Owqÿ¹ ÑËr¹­‡ÏÀp{ŽÅYZlijkÇey“ž²ykQœ¿šQé€.>¥éЊ³¨s³\ì4÷[‚ÉALƒóåÍMçÍ­8K[È]¹OÊ2³$ËJ‰&R+š€0ÕD ¥åVzàg$ÚwlyÛÙq„9ï,õÅYÐbld*)Ji!“Ô£—RŽló´êdëÈø¨ ‚¬áíiOåvâ,ÆÑ[ÅßD­;6w ζvÈ%å‘Ê„#”‘cæ¸" Î'dQ ig]?9‘4ŽÆH‘ƒ¸¹æ ýöss4B­ÅYZÏ"{©1í'pkê)º’Èu8Qº˜w“K`nkoœL¨ˆ\„#,Æ€áÖQ³~†–â,‹³@ Ãr{åãû“b1<1È&.æéX;OêÙE£(RÄJn3W­çY‹³´x(é0AVÃzV¸Ø[†Ÿ¬Ýc—@HDÙÉEŒ™œ#ÎIks ßÙ'íèlCš òÌÔj™C5½­çÂv®%ìÑfታ„Ž%Î2£Y¥¦ÈK q‹ø\‹³P‹ƒÂæ3XdžÜÙ¥,çÄ®‘ ò‘ÉeÀt*ÎÂn>ª¼>gìQÖ‘ÇÙ²-ÐçôÉ˨K’ŸfûiÁeñëLå-õܱŠËÙa˜2²üjs2q0„Ã’5òaF9‡±ª‰ô!ï4“­0TeE=Ørµ”Á”åìŽ8‹¡µ(q–°Â2¾'&%®ë_É?ÍÙŸ+uc¬Jð¡øóRœEéÉ»‘¡ÚðDA§ÌÞL«}j ˜È/ûUܲ îØe•XfŒå’¹´8‹ãÇ0É»! ùÝʼnœÊ { ß Z‰³¸ytßÁ%·ú›YEÖ§H-~6RµlØu¡Çô=2…¡þ¡¡ÄY‚gS€KÃ9Ì!×4|ÞÈϤ`ë;d(> î:C& ì¿‘c|‚ÎÌ;â~¶„PÕð^`òêpÍlé3È¿fÊ®;¢@!ŸÈ"ÔäEö¢êA‹³„°Ç–9ôC*ÎÝZ‹äA%ÒȦ¸HnÁ0žÉU9rꎟ†â,ŠK­Óc ÒѦRf-Î"Ù‘TN?ä΋³Ì‹³À­oU!ÃO8‹lFO_q§¦@·ŽmÅXDŠ»JöŽRûç)g±i(ÖmÅe=¶ÌY%Å*Æ:Y-h<¢œMŒl€õKáÌ+zq%ë§ër¤kæYJ YÕË߸ϺéO‰8KSP¤‚8Ž7èòÕ¢9MÛŸµûùL^4ï¡Cp_Oõ8Ìt,è¿`\¨ËµDsp-šáXÐ,Ÿ¥Û±îöyé­“n×À\îÿÙÎÍÑÚœ‹õ1—ëu6÷ðTÙšCmCiž“ñL·vft}æÄ”“º:g'’$|ÒI'ÑÂ…‹P*ö´ü.ø„H e¨Zµáîsh›2 _¿“{nõ~žÁ½P¿çî±Ûï }¶›ql•’n5nÜW»÷µc÷³­ØœÔæz^—ºÿV:ÏÓ}¦“gD{¢Ý¾i·:² µ]£Ó­¯VãÛn]ašµŒ.>ƒ®‡vk«Õ:lgi{m®A3°˜Æ>t³Žž ›†îN×Y§6°›{Aã€iìCÛ{ffÊçóR ¬8K.—CµZÅ÷¿÷=LLLN«Ô4ÿšÍ¿æ_ó¯ù×üë©eé…J¥bc²2Jß³g7Õu¸/hßé¢Ýû©ƒï¡."êé"yÌð=Ýz®ÓE’è Úâ.¼êvÑOQt2ÓEp­æ³Ôdºkt:gÜÅ\pÏÍÓ|/uù™NßÓIT×n¯Lu¶C@x†ëž;˜ßnæ¿Óyî4’ï]àØ îÐ&¢ƒõÔ*Rœé÷v‚x¹?ïÔî´úl§k¤´}ét¾:±GÝØîÂS¨U7ó¬Ê:ìg) ÝäŠ:5ì­&Ú|ŽZüî¯ÝÆžîóÜæ÷ÝälºÍO»ý°¸‹yèt¬;™Ï鞉Û<'uYM·&Ú5.îÄQêäÛ@îèð3˜æzݬåéÆ¹Ý¾ ýŽ»øÎnö_§{…;ÓN>Óé^ .î…;˜kî`,Ûí3jc/xßÛn-L7&ÜÅüv’: iî 3\÷Øïn×d'öŸf°Î:]ŸÜå|ªµa ÷$IP­Væ¡ögæk&¹Óù×ükþ5ÿš=“ ?3z{û̹mÊÖâ8Æøø8…˜s]D>ÝF“ÝFÀ3ùþn"Õn½Çn£ön"šC…tsMšÁ¸Pó1çN³¼çnîm<šƒu6Ó=1Z‚¬é¢­¹b¹Ó,çs®Xî^»Óï§9X‡^c6,{zØ´™î šÃ=<Û{™‰méj?'IBÅb …BÈDè¥R Gs,8aÌð5,÷ÙF›²$gËÒ>Ñô\_o&cÑ Só©¸ÏV©œ¹Zݲܻ];è`LgËrŸ+¤f&ß?[–û\Œé\°Ü»›Ns¢‡botj;çÊ>]mZ·sûTŽÅ\±Ü»óÆ#B­ZE£Q7:g'ýäø¸+ÛI^°Õƒ…þ»S¢S§ùøÐÏÚå>»!¾tó>êòý­ÞËm"±Ù,²vßÅ~茼×îžÛ[:!iu:/íî»xînH2ÓÝÏ`Í” H]ŽÏð^Ûåyë¾›1íf®f³¯¸K;Å³Ü í¾gpsA&ëf_ÍÄ&Ò,î©SR3ÏÀžQóÙéÑ lZë’EfDù¼Ê;ǽh‡gƒŒb¦l>%Ô™LƒR_Guj^_ªsÚÆ‹BuÍis—vl3Ò”n)ÓÃ,m©ä謒í¼&»9¡E¬PµìúlŸ2•l©^¥?/6³2ßÌiß§LÂ2kEÆŽú¤ê‘#0§šW‰ù`2ŽLF;%û€š¥€™iÖeò¡JÂJÊŽ¬–$g‚+ªß7D7vzÙ2Û¹ƒìâäuS×cÁa f"G]CÈ’¦íÅìgíBÎÖHS'ΓmÑÅQ6¯")’Bn´lÌS•!G‚-«#µR†¦•”í>3é¾$(Ù.\Lb¤ºzéLµ|m_=Õ„XÊѲ'¡Ó:MtÙJ'7íœÆ,7 ’ž4Û„­ “s³·Óu媓Âô¶dÑRX 1êþkªí ÑÒ½Úä:f«áÌ$d'M/8²¶X´ÂVZÎ'‹ålzÅ™k¨Ú¦ûµ«WçÚ agµZþô” IDAT›ÝËöک΢ÕéPê…L^¯]:}rLD›A±Á!E&¦`xKò1Ùi¹jöËVÝðîÆ¢0yí_õAØÀª®ø²j›™𣉮ö(馎yÏJ6­zk6¥”"*¶AëC\¼]°R™ÎöÌõÚmuê¶ŽÍ”2nX§9BªmòÄm$ÛÒžÞÏ$§›+yÊJ²!‹sR“2Zpú¹gF‡d;Iÿ[Eî «ªu¾ü¹õ¼"!€Hä£a-1R; ©PŠv„I;K¦Ub[Ñ8z-²R…Œn’RrT< 1uˆ+çA÷&g)ùé,4ùür-‡7d@ŠDkz›cV¹O:cÐ?“Z‘VQ’•S­º4KcÝß–³~Ìr¡#$Â#N¶ýô©UïÏHè-­VŸÌ=‡´-húTxÙ¶²ÓúÚuì³&Üʇ6Ø^¬W#»™sÛ¸SJ°ær¡Nª3¡4M÷w»ï›)•¤³ûH¶vαé¹òLWÀ07Uƒ3C:å¸9¡3,ïE¨2>©Ðºt"¥ÔKPÝôÉ RݽhäºRÏÛìµ±—Ñ7­ê=uÝRÞª ÏÖ8YOm lÛ|…6’\`öãìFIDjRÍŠµ°ü(Åx8ìà BåRQŽ•<2µGàl|î´þ·Ú,‰lËÏÞÐǽRa’šÖBâœdc~Gkߨs2d„˜IæÜ`‹Oɨª©Ã™ö†gå–ïZy˜ÈuZH+=³Ò%ò%ž%\¡| )AI΂…°;DÌž"f¬µ^+p´ȉ¼-à&´°ÐD1ÆÉ ,ޤ¦rÿIìgWDÔTÜ5RÇÈd=$¾Ú-œ=ÛtÍòt ¿ ‹°rQýEBÂÖefä"Bƒ »60YmpD‡$GþT¿à(rX±°€B®éظº¯€éô²wוȡ¢vÝaÒ˜ŽŽPñâ˜|dZàŒda=RR&œÆM c$Hádº UH˜d˜eD`Ð"kÁ|P%.„—íy!Ë z­ÉÆ™VˆÂjXL Ì xFAEägÄt;'¹Â`Yê2Ì|!¹ ­B=rð)>Ng/-FNÐÏBãHd>›ˆ^,¾´‘ŒäIêŽ&,z*õU ´{¤H…ðÙè/('ÒH¿X { ¤*‘)Ì—B™~"õŒ2„„'™ ç‘§kÁ6¯&rh*ë £^‹¥H_ACåRæÝ‡µ(/¡p¦ÄÄše™U³(AŠß ¡•4W"±h‘ZcGÛ[-fv¢aÐMs3ù“JñZçMtáJÔQ àfì¯ß$bšñ„ÝiúŠæ½„í;&ñï¿ÙÆ•˜r¹|»p|6‡\·ä·¹Ó"  Q-ã„ãVñóO? z ²uBHá7÷îÇ}ïD=NEäIÔ·‡ºêõÑIŽ|ºñé–—.ꄎ?ò0œyâ2#}OùÐ׳—‹Ó²M¸NÛkh…bë°±vPÊ_d¡QsèxP‘¹±†ÿAÊ# ŒR’”Y a|ˆBÎ0Qåãv.‰È$iT*i"Ò${ö±•Œ”Ò^fß‹ñ0&Zç3‹£Èµ¨ê¨&•²…ƒ¥“pÁ,fJ6!iUËCð½Ò{#?ée}'›7’x©T·"³.™<`Aäê´#ÂN΃ohy ”E™Bk=;l:‡ ³¬ÛË„djmöÐg _ï……¸†îIh9’Eª|U)“y'Åšíš÷àÚ±ÌY´²‚ Cì"CÙÚ¥L'Q¥ ”áag Œ XñA”“&í\Eb¹K„lC ðýåt»öÔÒŒæ™&°ËZÐÉj•¦RBBJ•|U1¶Éåα5"rðäx¿Ø´gœp8]|ÞÚÙœssÈŠëààè$>÷›éö{{qþºU„8ä"ƒ{Êxôñ]¸ü…ë°lñPLJä!ƒÐïfUj::>‰¯ý`\Ô‡“@œè]D)z.aM'Ú4þn“¦“­r£WK†Í“m9¡Mèàáš¾ÆÄ© åHXQn ’X•¡¤(Öƒ%þ°@sIFi-’ÙDpc§P:JËÜè:ËÃB‰ŽZÐ@X#{Çl¸!‹µ²ø3 t o Dpnqe“Šì2‰Ÿ:ŒÏ©³+$[Éc…Wc×¾ þ‡IC ˆØZTœ6ã—f@ÇäI˜jΈ‡€œì13+šG,O#nAÉÑñ M NbE2BH%³q° ½g1ÀlL¾¶ïå0'ÅBóÎf(Šª ¹(.¬=KÌû$Áš•&†äaɨ2à6ëŸÁ¨¢t“‘í©Óª³'¬ç‚5c1°VÓé6Þ>‹cÓya’p:X™á)Øy#?ÑFÖÁJ׬ÃV„^rþadqÙ0d¬gH£“ ŒLÔùâóÖ¢\K(I’Nàãgœ8Ë¢¡~>ÿ¬Sðý_=D/8ýH®Å11€(vî›Ä‚>^¶xI’üΊ³ öó+†éáÝc8õè'Æiå¼iA±ž· [©œ¼À Ò{'jÁBd¥]¬<|{ú:‹`/¤i_Hg á'ƒe-\ÒìÚ>Íc‘¤¡3ÒFؾ•ŠØÌoxÒ!!ÊÄlÓ’Ãòuæà&‚µ$°†–ËApòö$*†!QVzàúgØZñ/íB=“Â{…†»T*g?ûÐúÍÞ%Í5Ð9øP•ôÂu£@Rø’s’mX3DМëž² źÒP3 Msrö€KhÓ\š,»ÅŠõíU&ȽN付,  è{#Å õÃvA·²™ä2ÿ\U N†à&’$ôææÌ%¹$EÙ<Œ¡èAÓÁåÓe0{#Z_ Ê!ŠdH’všñ»üjõt‘“ßÊŽ¸t‰eQ™ (å`±‰Ù²ÿK6;¤Ý3ƒmÞ%ƒ'5úìu&Ŭ±×±lù 8%Åz2¡*g”1‘Ÿ’^ˆ=Ä÷ô¼kÏÉA¬E³Œe ö=Ù̧‚ÝØ>« —R7ßÖ‚΂Ã_lsl“ÊYèË)`‚•Xl£zø({¶™$¿Ù qF``øäíQ.|H‘Ï1X;1ÛUÑü^6âär9Nÿ ûcƒÓæd\I’°ø9gßDZQ9“Ÿ³ÿêZL†ãã_/ý7þí½ß³'bL#øÁ‹8ÁuŠ4YÖÑm”d˜YAI?R<žìÀ3öQ&ºÉx¿0Q±Ad*飂á¦Ï”Ì¢ø°®kO¤ 'W›¼Ï…IY[Ð Y'=n>ÁÆæ±õ H¦éñM)ìI*kÊ&B6ô²9 7¸…¡’‘“¡†!–\–qÑ$™²|jÙ{VûX.D´àŒp!‹>u䢞¹iÁɦÅ}›½Ì°Ñîä´ŽÁœ"å“Ù[Xb&È;ÆNÖºùvicD­ò$m4HŠöÁ2JTi(AŽ"²[‹DþÝ"×ÊgaËWõ¨†uI.V ¹ÕÒW•븹Ò  "EÔœ²—ûöL%™Z·4y÷3)ã–c«+73TŸÜv¬^ÊXf.J$8Òé:I Ê(¬äƒŸäY…,¿“…)¶ôT|${À¬* -ÚÜfblþÎþú913å¢ví܉ùöw04Ðc>³` ×}ñ+èé)៿øŠ¢_ûæ·hÿÞ½(”J´oóÏðŽ+¯Äûÿâƒèï/¡Ñh¸×Á4÷úCúýñ5ÉñI’ —Ëajï#ôéOüzן¾ ùŸ‹ÿØür¹Œ/%îejj _ÿú×Q(Ìõã8¦\.‡ë®»ŽŠÅ"®¹æäóy4 oLã˜)—Ýpí§ðÖ·½_ÿÑ­åó@’„Æ!ðœÁqqK2<âYäQè<ÝZâ@K–`—±mSàÐtLY1‹È©ÉÌ‚‰”ž,S’UkƸ%s–„€»–^ùÖäÄòÙaKr/µoüÄâ°$éÜ“†óÕ‰—ú–¨÷€0ÁIVf¢Úø2ʺFÑ:Bì„grTÈÎí§×ð¢å^ˆ*h§W3+<Ø€ÈÅÔÄçLÍuv“ïÌ9¤64•lík¯í²ðD¼åø¤²i…-H•*RÕ)'EœSyÒè“ñ~¸ç)a\Ò¹wÉÁ¦ÈÂ6-Eæù$„™uÍ¿óÝÒ¶!0‡óXøÐç«*“4È4+ÉFóÒs¢6 ÙÈß÷š°¦quR•³~jT–Ù1klž¨µDȉ”ŒLÙµÉÁPvšrÚ?Q.‡=†/üóµ&x`fD>ý©@.|÷;7 XÌãêÏ}?þ8zóÀGÿâ£8ÿÞ‹žÿ|TëÀÂÁ^,è+b°¯ˆ$Nf}_æO›L§K8€|>ÑûoÅ;Þñ^ä8 /ùïã´ãWà ŸxžØ½Qd#öæŸãããøÔ?~:‹ì›Ñ|šÊøøÇ?øò—¿Œ ¹Ÿ(òøÑ_¿ŸÿÕ^¼ãÊ+ðãk?†ÿûíûËçÁœx×k8ßa®™:‚îy34ÕN> ÔÂ+` ­u²õËäV©èu[N*¯˜ùþÌÊ‘ð¶}F¥†<[Ñ2—ÞïøÅYäL°áˆ:ÑD—#ÊrŸdòì¥cYa¦xVrõX €îbesãÙ¬É2DKb³ÌD[\n˜ôda—,l˜Ç$Æ-[36§mZ j„œCæ±Y‚ý¬[Ú˜î}$8¬NË+Ý)pö:á V¥dR†Ûê„›¡Ó@ý3ÀÀœ" X3À¢BNbÅbù³%á™%Ÿ})z¡bÉ[â›N.“×nZä™ –¡‹2©§v·-,]WÖ徨 ÖÛÒYQ`âUŠ ú!©û“a½z<*;ëÐíÅ#;ܵ † J·,b¶i™2»™ÊåsX0´À{ûÂE 122Iò–·¢ ,ÀÂáaúþŒoÞ²«~ò¼ùmïFêøöuŸ£_nÛ…ó/} ^ºñhœ¨PD3¿/ƒšqÒŠ(¡çŠ-ºüo7ßN¥Õñö׽¼ñU¯}=õ1€d߃ø§«¿„±h1]þ†·bI©ˆeƒÜ{ëqÝ ?ÁÊ5ÏÁ[Þø*,Y²ð¾÷½ ··Ýö#ºöú›qøÚ ñÖ×^øûŸÜ…¯}çØ}ço¨wéÑ(Ý ` òùÕ÷܇O_ýeLõNoyÛ•XÞ_ÄwnAqbݶùÜûø(οä5tñÆѨ×ÃEù?ÞÐ…GÏ îqKÂÊu)6‘‡8„œŒ6çÈä”Íé0 íÊR¥YÓ ¿³\M›Ý`“^"êD¥’…·ÈCÂKÑt‘³ ö’“â“‘*é&ºX ³dI†K€è8KÑ ^’DLà ‰¢5S*Ʀ±ˆÊB³"ò d„B«RwñP¿‘ÿôÆ/+õ¦ R×G±¥õ9i<²ã¯+×Ùv[g¿€»4î„‚$ÐwrñRÕK„‰MÖ+3GlR/ÎJ '·k›¤À ¹¹×–m\ÙÇ@m{ÒŒ‰L3,›ãHghIÜ_Wäƒ}Æ…)à’³ ;³røÙÉÓfH³ã5¸è!Á-½±ÿA,˼äœ\¬ª;{(ƒ"‰:»&M÷ZÚ߀À:ª\UÇ-käÁR_‰–¿(†Ìˆ¬ì4ÒËÎæP™)·ÓÝÚÈÒ3ØVíA6’16EqÎì~arŠlþ‰Y¦©Àã|ª®³¸lk<™Îv[£Efûr@!À×ŰPV†)ºzEõð=6 I’&‘ÚgDÛ‘Ñâ8ÆÀÀ ~þÓ›ñ¦?~&&'===t÷]Û/^l|œññqœ³ñt>|Õ*¼î5¯ÂÃ[7ãSWÿ”.ûàsñàƒ;y`xÿÎwãµÿùEŒN¶‹Ì§¥¦ÇI"Å)`2{†Ì4U« Ê-]Í_ûñÏñ‹›~„­wßKŸþÈñ©c_ÊߺêC¸î]Ãk¯¸’Þ÷úKšä¿zûö†w¾é @­QÃ7]W=÷¿S’ÄÂ’çS.räÍqÞ+‡J® m!Î@õ6&·fV7ÜE‹‚›pa¤ˆýúR%Lĺõ# …)ÄQÑ„€‹lÇj`u"U±¬ùÉÝQNaÊ̲ašâv‰"|‹Ìf5Ü*‡èe=…1µ»Ôa‘r _œ%…ݹeqÛ®ÚœÔ27N2ªsœ¯Y{¹‚*{!ý wMO­5q B!M$O–€8‹}f‚w»¤û¬)Œì‚àS÷œ°nNàäÒIȨÚLJye y<ÛÖIv èñ`•ªi-‚f†žÝ,’/d«wbu2Bw=´›Ä>»g 4ŸTî‰jäö=Π%c6#Yf×uÅY؈HI¡ÂÞd×6Ñý@·–=2´!Ë­8KFµíõ¤ö‚Ép)¿UèU.å# ÖëuÔê5jÕà ÓHoÏ»èÒW¿†¯½æóêç½ðE/7$ŒZ­Fœ$œÄ1&ª1êõ:ÕðÜ9ÉxááL•«Èåò˜ªV±2 ŒGFGϨXaâïÍ5à]k—áÀø­ÄW¾òO€‰‰q¬=ë\|ù3ŸÀw¿ .ùþqÓ7?…[Öpñº•ˆë5ìñý$žwÎqøä-ßÁI ÍóÔ’~DÑ.€Z­f~^,⸠ŒÐá'{Ýüâ¼8‹O |j^œe^œe^œe^œå)g‘$)Ë}ýÏ8¢(ÉÉI$v?y°bÙ"Ôª5("pbψ$ˆ"ÔÀ9œò¬ãqÒËþØÔ«S¸këf4bB2Ëòp[ 1m®Ýü{p ÿòƒ_àú›7áŸ?ù>ôF;0Ž"&¢>üáºåøð ¿ÄÅ\ˆ¾Blß„¾åkÀYFš@‚(jþ·û÷ëN? •“_Œ?Ýp8`Ç]¿Na‚’žE¸è²7á¢ËÞ„œ»›îÙ…ËO[†/ÔOÀ›ÿ¤‰î¼\¯‚ÔUYƒÒ{`ö×OHäm^œe^œE¤yq‡:/Î2/Îò4g‘¿à ÇLLC쮓$ ”zJ\(èïo²½ä yôôF˜šœsÂåJqÜs‚©©IŽ1ŽYƒ7^þrú›Ë/Á©2⨈K^q)^Â:LÔ:>ÒƒuQIƒ5äîû~I¶ª%\­'´îÈ|îW_ÅóÎû.–,BÂó~ÿ 8aÕBô¿é¸ä¿¿¯|Å+p¯ùÃ?ÂKŽ*`2M5$é÷eÿíþýæOü->þÁ÷ã’‘QTcª£Vãê«ÎDEØô›[ññO|KõcñÚ—aÕÒ…Xqå»qçÇþ¯|ù×0Uѳ` >Õ?IŒzµf·V«¡Z­4-€¨ëç$·Fúìg®â+ßövìÛû$"ŠìNö´ÂÑ™8ÔX°Œ™Ü^k,Õ¦•–¹I6‰ÎÞbåŠÎ–¢™&I˜Ûö¤”ml­j†v@´8‹«5l½6zÐŽ¹Žä¸…&²èÎ¥›x³=Î!Ó²åˆê~'¡]/a _œ…M¹‚n¨î K¾±¢ägÞ‰gqˆñj X)ýøÌÓß´µN»ÚäíÄY,™™!äºáô]M ¡TA†#ÎbYêYë][V¦§Û“@"íΉjF‚p«L»^ó–Ä™câôXvƒ3v H2qR ޵8‹pòDŒ ’, ”ýG³åf±¶H¤X,˜rKC°„Ç×e©Z--€ˆ´„"b5@¬ÄS\ oTÇ<"±ù%ûçÅYæÅY0/Î2/Î2/Îò gQ¤1fŠ›ø÷t™„à+‰ Špÿ`ÿ¾}ˆr9åHÖªU$Ìø½ç=•Z EˆS‰r9Ä)¼4>9‰¨w-ï˜Ñ¨N‚`–-YÌæz­²¤ 'HØ¥R«¡Z' /ÁPú³‰É)LVêôÛ;nÃàà !Û=xÿ=ذîd¬:¢ˆr¹l¾;—Ë!N›Ôd'̨V'A”§å+V6ï!.£‘:t…B‡¯ZE`F\¯ Ñ¤ÝÑØ°hÉ2³WêõæXœŽaŠûDb§/ÌI¨ó¦b¹Ï‹³(l^œe^œe^œe^œå™!Î"78Ç â$!š¦Ô

ï•(GQ„J¥Â ,‡Œ§Pœ%‰N’Ä£s( @³;Üôâ,qŒ…‹òUW]å1 ÆÆF111¡dwÿïÎÄYšðÿœ‰³$ [¡dÍ(šg™g™gq˜Ý*Ö 1™çÅY0/ÎòtgI¿&Žc$#a‘à»Ê\ïÛ·wú\;'xª_ŒnJ†z¼GBÇà$'Ý[#I°÷É=‘ëž6¯foßI1»ð2‰E°ej8{Ÿô.WQù<Öž³ñÒ8ƒ3q •3‰š•ƒ#ÕœÂxô†·d16%“N"j8½ïØA•öW°±-°%•šÏŠÓÙæÈ%»Ø|ÁV\7Wà†$UO‚¿Í8BF$v.HÔ ‰AðÏiÍÄEˆ:üh2CL6¹NÊP±èà⃲2‰‰èÏ¢NŒ4,“«bá¶gÉ*°X7®8‹£o ÅY,8$D<œˆÙ~‰–i!x7 ΢hêi8({Ú¾Lªá¡3 ~5h–ŒfyDš Š¥ªyëž Þ)ÕpŽ.ÛºÁÆç”57 ‘9"¢r¥Žñ©;¬Ä‚§êе8‹*óÛ<’›St.Y?JªºLu÷&éW‘sÀ2¸™™UgT’„£&øG:ç i¯H7b#u¹J6±tíIô² ‹³H×åµgYÖ}f=9—´î]¤²6‘bˆ“Ï–³†Úž,¸ËƒZlíš&O@åÔæ³ðî-©itlœsÅ~\tÚ‘à¸a~'Œ5‡õcÇža¾þçwcÑ@)Ë£wÄ@à­¡ðópïAŸc´.€&"ÂØTŠ=ƒ8åèE' E&Éšw‰ ’en;=9)8gúZг°S³Ú"›ÂÌŽ0†_“ióWÖv’ö@¶¶g¡â,²§E;Noë,ÁNž7éf+Ã)'·õ«¢/ 0“aKà,(È)ÂgÛ‚š@ÔZœÅiŠg‘9s[­F^͵[6Ö‘8‹€º9«yg†+DbØö iÅYŒOE–±m!($Fö­—â,Æ¡tØq¶7|XœÅ–9Ùr'{&ÉòNÀ^BöaðÇ^Áù^-=«6¨$À+rL‘9 hƒl‘†?ø ×%QÍ’WØO)‚()8Üm%¬i±bdR,Ôz_  ¸}*Üt¼ºRÑÀg¡°8 ‡ÅYHòkÇÏêN²(½(D„3V/ÅÂ3ðà®QŸ?ñ;ðb–.]†SÆâÁdQfF1üÞ©‡ã¾ ðäH¹ß±!h6ÎŽZ\ĉG¡·ÀH˜!ûãÏ‹³Ì‹³Ì‹³Ì‹³Ì‹³<ƒÅYˆqÂè)­=zÖ;ÔqÔ;G¿§Y¾¯Ó߃jÄ1’H2°0‡û@‰èŒã‡ECÊzÏþ§‹Þ»½uû Ž“´¬M¿ßDèQA°gA§h™iÇ„œ.×ÐÍ=Ð,ßÃÂH˜ã{œëëÍd,Úå˜Õ¸p›üÜ¡ZÓ]¾§ÓgA—ßÅ]À™³]C3ùþNr‘s1˜ƒ¹š+{ÒiNôPìNm'â'L‡`<lZú´GQëq‰“æŸ9:frþucg;áøC@‘‰Ì£(2Ìû|±XÌ:ð„•4 ¦ßîÁºHö·|_«œF»ŸµºßéÈ<ËtÏ`L÷3êò{Û}M3?í>‡Às¹¨v?}ßL×ÑtcÆ]E ¾Ûuß͘v3W³ÙWÜ¥âYî…vßÇ3¸Ç®ÅYf¹¯fb»³Ÿì7ÜëÂ íÆžQóÙéÑ lšW_!é ˜òù<çóyä¸ÿ~üã?üoLNN4;ÅÍ|Buú€çð{ºý>êp“t»i»Ù€³éô¡¸F«ç=”kh&NÆL ‚{kwÌıž«ñ EŠÜåxÌdÎçz¾xë–g9~ô_´×ø^£]™‹µ@stÿôØ–§b¶}åóy<ù䓸ÿùî [k¤êèIEND®B`‚KCemu-0.5.1/doc/window-keyboard-kc85.png0000644000175000017500000010556612417262523020116 0ustar glaubitzglaubitz‰PNG  IHDR×mû‹sRGB®ÎébKGDÿÿÿ ½§“ IDATxÚìÝ{\Sõÿðׯ€C&NŠ: KËJS³ÔüjZú5Ëúuùvýfßìúíbw»»¨]ýú-+32K+-SKRTTTDDD.& p¶ýþ æ66Ø`gðz>>dgç|Îç}nû¼Ïùœs$f³ö®ZôDÓDDDDDÔ!ü´æY‰ý0‰ub0íöWÌòîCpËuã¹´ˆˆˆˆˆ:¨¾ÙCÉql^ù¤Ib0íöWÌwýßÀ¹²j.-""""¢V*=_ ÁhjÕ´²)ºE„zµ\U9`õG[’‰Ùl¶$gµU\‹DDDDDmL Ê*ªptï¶VM7úJDv k’x£Ü]þøå;l^ùDòîCŽî7 """""×”UÔ@«Ó#sß/¸rÚl éÓÕ­éŸ)ǶÍ{Ñ€È.!^-×:Lþûãæ߉êÚz‡…Ü}µÿù!׿3‡ÃYGDDDDÔY•é±wǸtòL¨#­*ãPö9dîû£/½=ÿ*Ã[åÀ9m%öüüdš»XÐøÝ=Ó€·¿Ïu8¬ñóÝWk,Ÿ‰ˆˆˆˆ: É_·òª#0šZ×§Gd82ÿ*«±Íí­r­Y%æf3?à­M§Žk?ŒÝ’ˆHl¶îø0éÒ±–aBûd¡R0£WL,†öêÒð…IÀÙü|œ+9ÊšZ˜Ì€,0aaaHJäw1;c½,<¹\}1-‘I%žj2™Û\Vc›ÚY¹ßoû0ýÊKl¦u6ܾ\‡‰©™†|cRðÆw9NÇkþÆw9-–GDäk¿ì܃o_š˜ùð¸bÂÔ”œÆá’üû±Ù"ÁÏw 嬃{`ßþ“;>7_—„~ª0IͨÒ×àlQ9žÿú(.ŠäW1;Ó¸,<¹\}1-‘XI¬ðmlK$KŽÊÝüËx{é À=+6bÚ7;ÜQ¹Wê}ÿµ,¿¾1Çæ;æDäOΟÉÂIsW¼ú@zH øôãmØV¡Æ¨þÁ8¸/wÝ{5’# )»ñâÁbT éÛS/O€Bbøë˜gFÉÙ<äž+EU­² 9ºGEcHô…Â~ݵ0r`²òKPUgBphúh4ž?‡¼ârê͇*ÐoP ¢2›é.?¦IYÃcíòñc0óá/,Ÿ­áÖãTfâϬ H$HeAˆˆì†!{C.møª;_Œc§ q¾º&H¡èÞ½{#ªkˆÃƾu}ª‹š/ÛÙ´îÄ?b€YgJP-qù%L.ˆ¨}yþŠkå¾½tîY±Ñò·5ûñ­Ëu˜´”ѼúíIÀƒ3:ßúóƒ3ZÆ'"£sa½ðÎÂaª)ÃKïîÀ)å Œв¬Ãè3ã ŒSâpÊ|™£Äȉ”šQUYo¾þ1qñ0™MÈ?z=†ÃòëÇ¡¯2Õzüžz¥§Æo¿ïµ4Æý&ËçŽEß.2”•”áÛÒP?<÷ê…žaRh‹´øòë½8cŒãØ4â/»d´MY {ûqiþÛï{×CA×$|ûR˜ÍfÔT×àØ±\¬þþ$úŽi¥'jpïÍW V† ³§NŸÃÖß3±yW¹Í ûúTe:-û\u™Ói•Õ\üO~w¯Üx1z+1ë‘/pÙÅ£¹Q»±j¿{àŠ¬®4-wòeɸgÅFK"`Ÿܳb#&_–ܤÖå:L Zº' ¥{xù‹¡ã’ðŲ̈>wÿZµ’Áq&ƒÙlÆ©ÒZü;! ðɾJ ƒ@©€a]”ØE ³ÙŒª³'`1˦õÄÙ½{ñ÷”Óˆ¹x<ž™~ ¢L[ðzn¸Íš|¶f­|Ö*¿âÖAD¢³ìÛUg“ ³°?ƒcàø1“ÙŒ1I‰Nß-1™Í¨¯,E^] þ¹d†öR ,0Àr©Z* ̵ˆé‰—~:'§ôÃó÷LƒÙlBaA 6mIÃáóuËàRÙΦu%~kyõfŒ àC/ˆH¤–¿&`テ.M;ú¢€iCR©õF“Ór˶¿Z\¸ç ±Lgå:L ]N¹ÄŒžÃ2,Ÿ‹ŽÄÛ|¶^t$,›3x&"ñÉܽ÷×Ôaż!˜¿h*B¿øŸŸ2"^£D´2k3ªðôEá¸i”Ïf•bXßHHÌ0TU¢¸¨ýF¸LŠ##†‡à'¾BNÝ…¬@ÒE#šü¸ò¨çÆK 5C¨¯D@²Étå[ô]e6›q"+Ï>ÝÐMhÕÊÍø)·‚òÂu–g\‡õìƒÃ{â¦? ZMßh<0c0nþû%˜óïNãq¥l§ËÂ…ø]ZŽDDí@â¤Ë£Æ»µ{Vl´Œß˜Xw§tTlʵ¿ù¸19¸häp§åZ“ZTíÿY7üýŸ­ÿoî@ÍüÇü'†ö‚ÏeãîOCo’bƼ)X2XC'K èÛ'¿Ý‰=¥õH˜q%®hÄ©£Gpàð1èkë1göDœÎ>>ê0|°­ðÏÑM€`¹qC5xè®kq*+ӥƫ£aR¨1B"‘`Þ€0>–˯¶}ÎÿÞ}ñíKóðíKó°wßA·ã7›Í0Yª6ÔÃŒ W·ïHN^ýûEHìŠÂ‚È*i˜Þ$@"‘"H ådžXêâJÙΦu%~þÞðÿñŸXÿY_d6™ÌnÝg`?¾T—˽gÅFŒ‘€‘#, ‚+åZÿF¸ô¸ÒÆ«-%MỔHœºôˆ€â\üãý:¬¸ý"Lš9 ¡òßðÁñZ Ší‰×ÞØŒK/‹Ã¤ aƬPI€êêäŸ+Cµ)òîý ?œŠ§„XÌ‹÷ÿ=¨¯Ã©ÓEØöëN„u×@[q¼Åc¢£aýúGá?Ÿ¦ã¡9qøÛ’«1Ew?ÿºÀ•;ÞšÍÀ þQxfÍA<43÷Þ{-n­¬Ä/¿îp¹esç Ï11 """"ꬆ Ж•21 """"ê¬F ~h<Ìf³Oç+ã¢'""""—ãÙÇ(CbÂñ'ÝTÝÝ¿T[Â5LDDDDÔ‰D‚®Ê®(+/÷é|;̃ÆDÅ“ ˆ7Ê$""""jÉ”+¯BEE…$ŽËlHµ]úáƒ8“Ÿ‡ë¯›ë³yòæc"""""‘10}ûŸu%:³ÿ'¬ùâlÛù'²NB¡{ßA?y–.»BšVeÇÿ^Å;k7bÿ±S8_cD—nQˆ3óo¾ ó/dÏú~û{¯^¸;WÊlé ‰³ï-ÃKÎaóêðÎgqðÄÔПåž@DDDÔÉ 8¡!!31H¼jÝzœ=‘Ž/N¤cãW[ñ˾¯0تqžúü \÷Ún›)Ê‹Ocç¦Óعi-æ»Ù]ÉÝùûÂÚ»&⾯Ž[>K$fîDDDD„mÛ·áâ±ã:fb0`Üu¸}ñ=•@]²ý÷ž~ŸïÝ…›žØ‹Ý+.ÿÀ{i€É½çoš‚¾="P[Y‚Œ½Ûñ¿•oÙ”]ª-iñì½»ów¥Ì¶zà›s¸ãùñ³/G_U8$܈ˆˆˆ:”ªª*üðófTê+]ž¦Æ`€¾JŒ£GðÑÚÝšŸD"ArÒX 2T¼‰ÁÞïVÙÍY‰aÉWãõ¯ûá󾑷ñ]Àªa^ùWŸªéIƒÑµkȤRÈ"zbì¤y;iž×çï ^úÏÝ4„{ QµúÓ°÷@Z«¦-(,@AaÛÓýºs;^]þ º»ùzŸ%噿âÍ•ÿů»Ó‘{¶U†z›·¹ÕUØvZqý`,X{ ÷Ï›‚¤Aˆ8ÃFaâäi˜{ÝPÊ$^¿/<;w÷"""¢ìð± 6q#âP^ZŽ ]ú ì‡*}J‹KÑw@_ÀÔ™<°÷~Œ7Ê2<~T<ƒQp¦2™ =¢zÀPc@ΉĈìÙ¹c&ŒA­¡›7lÆÑãÇp™ƒ¢]¯`ôßV ª™;«MÂy›ÏS_߆ÿx |þ-vÌÆ™¬Ã8“u[6|ŠgžU[¾Â´Þa^›¿/ äÞBDDDÔ Dt@Tï(@*•"ªwÊËÊQSUƒ¨ÞQ€ãŠã–¿ƒm†«{«„šê!ªwªôU(Ì/´Œ‚¨ÞQ¨««Ô××»]WŸ$OÝöTMµè1I 6–5Tøó—î…*ÐöÕ …¿?ÛâôÒ@ÃFcÖ¼Yø¶W"*òV¸I%¨3™Qm2#T*ñÈü›+Ëq¤º´5˜ßÝöqRg¶<ɽ€ˆˆˆˆÐ«o/$K²|®««Ã¾?öaÜÄ ÷·nÿq;&N™hù¼{ûn\tñE ädå ((Ñý¢NÓXvÖ±¬VÕÓ'/8­hè¶ç×"§¸&³Å¹Øøá³¸rþ§§Iœ|#^YõöÍ…¾¦0Qz6 Ÿ¿ú (Úfü‘Іn9Ïm9ƒ`nóü[*nSž˜ó/üžyõ&ô¥gð݇OãªÛ¿ã^@DDDD~CrÏ]w˜ßzç=”•jm¾P(‘òõ—˜4ešË…9{¼gæ7á’e?8œfØ oáÈç÷6™®[ 7K\ûì/øäÎËç_ïNÆœu'›ŒWª-iÕü[**O¯CÂØûP)4½d3ê¶°õ­ËõöcP‰ˆˆˆHÜöwôíß!az—”—"$4¡ŠPÔTÕ@(CMu º(»@¨ Ô 0™L D*±Œ#‘H ”A¨`4!Ô  ·½çÖd4!ëXn^°“&^éRûþlþ¬^µÊ7]‰boýC^ÆK«¿ÂþgP‡`ô<3þÝ:Ýÿj˜[;øË—X·>Ûv¤âØÉ|TÕÝÔˆ9×ß|/^9ØfüË^ß„'ÃÁ[~Ç©‚RÔYõ¯jÍü[*ÂûÍGÚ&–=¿Û÷C¥1}bFàoKÄ#n%DDDDÔyõìÝÓ¦+‘u ÌŒLDª"ÑCÝP\XŒ¢‚"$ŒJp8~ã8eÚ2ÄÆÇ6™W[ºy41hî ø% þ… þåòtÑÃ/ÇÒá—c©‹ó–ªpß «qß ž™¿+e€*i>Ø0Ç­ry¥€ˆˆˆˆÄFÆE@DDDDä=™‡3‘y8ÓòÙd4aõë«mºÕÖÔ"8$@ÆöîÚ‹ yeüÞú‰Á–wqý¾íwË4¬ßÓÅÄ€ˆˆˆˆHDbbmºUé«°yÃfÌYt¡×IKO%ÚýÛn„„„ qL¢Ói€†®D¾ùa«ê)åª""""""^1 """"ò¢¬£Y–®DFÁˆYŒ‚ÿ]ù_˜MfH¤0MX»j­e“É„“'NÚ|€Cûf4Lc2á¿+ÿ “Ñ„Yv%"""""­Aqƒ,]‰¬»ÿ”—•#?7ßæ D-É?}¥ÞòD¢*}Ž>f)¿-]‰˜yIWeWä̳|.+)CÚî4@Mu *Ê+P[[ëryÕújÔ×ÕC_©õÊKËmÊ€.á]˜‰Å䉓ðeÊW(:Wdfý7äÊkó|r³s-«º©0|X‚Ûe01 """"ò’™Óg`DÂpûd~Aˆ‹Cpp0"""""1ÑôÕ@ÓW#úzòq¥DDDDDÄÄ€ˆˆˆˆˆ˜\¸Ç@¡çR"""""ꬉ^_ HùúK.%""""¢ÎšÀ¤)Ó¸„ˆˆˆˆˆ:Þc@DDDDDL ˆˆˆˆˆˆ‰¡™{ º©ºséu0¥Ú÷(((à’#""""êØ•ˆˆˆˆˆˆ˜"""""bb@DDDDDL ˆˆˆˆˆˆ‰11 """""&DDDDDÄÄ€ˆˆˆˆˆ˜"""""bb@DDDDDL ˆˆˆˆˆˆ‰11 """""&DDDDDÄÄ€ˆˆˆˆˆ˜"""""bb@DDDDDL ˆˆˆˆˆˆ‰11 """""&DDDDDÄÄ€ˆˆˆˆˆ˜"""""bb@DDDDDL ˆˆˆˆˆˆ‰11 """""&DDDDDÄÄ€ˆˆˆˆˆ˜"""""bb@DDDDDL ˆˆˆˆˆˆ‰11 """""&DDDDDÄÄ€ˆˆˆˆˆ˜"""""bb@DDDDDL ˆˆˆˆˆˆ‰11 """""&DDDDDÄÄ€ˆˆˆˆˆ˜"""""bb@DDDDDL ˆˆˆˆˆˆ‰11 """""&DDDDDÄÄ€ˆˆˆˆˆ˜"""""j™+•ŸBm! בÈ]:{vlXãðokÅÆA Aö틳òȪkùÀ\€Dm —Ë¡V©Ó®õÐëõl·9X7 …‚‰Akedg P[èõù˜Í@Mµ faa‚e¸ H ‘fnÍDäÓ†u΢ùÈŸuu“†µ‚ÔßBò’{!«®qØ3ë:TUã¢>Žÿ‘ûbßkÏùÏJ2šZpÕ}z‹ªZ¡á7Ì,³ú97ÿZà®×Ý~rkÿA.GÁôÉ8{õdŒý¿°gåk¨‹ìêpœÜs›$Î;6¬± 3ʃqnÒDäܲ Åù äæç"7?j•ñ1ñ>_§ÓAnNÖÁ`€L&ƒR©dbàŽíiÛ=¾a-š=Õæóš [ðý7ý‘òÕ@H$€DbÆÊµÛp^„Uo'àØán 2bÚŒ\̺þ$·h"ò™è›Q0íÊ&Ãk¢ÔˆþöÔôR#<û”_Çh Åñ»oň¿ˆƒÏ> cX¨¨tÖ5û†Y—YˆYý_(róš”Ó^WB¢7lB¿/¿œž7ù×MGäžýˆ}k% óþ;Q–”h©ûþ×–ä…}ïÃØ¹þSp8M{®“Ʋ³dydž5PœÌŰ^GþÌi8{íTQ$ÀáY'1â±çP‰Ñˆî¿ÿiS7ëqrÌm’8[§ÈÎÁˆ'_p)1°V¨-„V§ÅĤ‰>‰[«ÕòàíA Õj¡R©˜´D¯×#5#Õkå¯Ù°Åæó†/bðÌŠ?Ð;ºÊ2ìã÷†!ªWî{ø¤3¾OÀ­˜ˆ|{, A¯Í[› /™€>)? ÿÚ©¢N ìÏ~:¾cÄŸÌmhœ—àü°XQ5è¬kö ³Èý‡Q>2ÁÒ¸¶n¬¶×•~_¦`ßkÏA3F=øò¯›Íç_ãèC÷f`Àšu(KJ´Ô½‘æ‹o 1]¸2îh1'Ë]÷·V"ëŽÅ(M-ší_Ë‘?szìÚ³×NA÷©6‰õ8-•e–Hyë’KA°5u+’㓽ÖEèt:¸[‘H)•JÈd2ÑÖ±ÝkæÍ¤À‘#Kðê³!a¤W]s½£«pø  ÿùø™3çòjQ[ôý2}¿úR£;6¬iò™š:;}2†¼¹²Éðò‘ è·~#ÊÐï«oE[g÷X¯ïà-ú|³ G—Þ˜ÕŸ¢läpÔ+#DÓ k®aÖ5ý0rnšï°ŒöºRÓK ¹¶ 0›PÝ» 4¿çãbÿúûl“º‡æåCyèˆM9ަs²·âm~ò_¨ˆ$ºí_^TõÏÛqðÙG1öÿ€¼°u&û‚³Äv¬ÿšÏ¿F÷]©(™Ü¦öÕ¤äI^‰—IAÛ–˜¯´kb°=m»×çaÝh͆-¸÷átä ÇŸ¨ñúó£°âÝš!ÔK£_m\Î~€hÈ}ç+Ð}g*ä%%¨UuCá` sy=øCÝ[Sî€ÿ‡ã-œÉêýýOØûÞ Ôªº9üì™}{Öüµ¬Y­ƒÈn‘˜»p..¹ìËww/½c.cç‡oÀºO×Y¦ƒòÄá UTÚ ¯Cw*Çøå~d½”މ³×Löâ1ËÍC̪Oqì_÷Š¢Ag3Ì®a&«¨DHÁ¹f¢íq%äÌuÓ1ì…×'þqkÃ@©0› 1f©´IÝû­Û€ü™Ó0`Í ²›FìÉrºº8$ªÄ Q÷»TQ‰ ó–4|Þ•Š3sf¸µýA*Åé¹31úÿBxÖITئv–§»±ûg–¡X“ƒvK 2²3|r³Š}W¢ª*ºu¯A\B)~ÜÔpQr>]‡¹ ² 0cãúXr׿ظœõOtÔ`õ×äê ì^ó®Ïêvê4žye£†£ª__—”"ñÀ• IDAT±ç°ïç]?¸?ž…°3¨êÓ •C‰²îîÔ1âH&dUÕ-NX©·Iì?{g__“Ʉ̌L¼ñÒ–Ä~Úô“%1üö‡øv‰Ó&#æ»m) {V¾æ7Ç!gÛ;}ãñd×0“Ÿ+Âùa±¶7øZi¯+!ƒßû‡žzðô+(Ÿ ½¦ºÿ¾§á÷NÓ]ÓÛÔ]•š†î©i–ãìŽ kšL#ödùÐSË0üß/àô ³EµéôصŸ}ç‡Å¢Ë±ã´ò“fg'òÌAAÈ»~4k¿Âá§—µº>‚ #;Ãc7$óJçèt:QÞÜn‰/ž>4½bðÏÛ/ƒ@¨¢ nÎlç¶£øü“X<ÿÄ1‹]‰D“Ü46>»¥ôi|òrÌEá¤Ë,ÂJËÜ*£ï—ß ê§íÐÅE¿uP0õJœ™3—Î^„³WOFÔ¿`×WãÒÙ‹pêÆ9è“òLȾu¹gÐkóV˜¥œ\²ÅV\OÖ½¹:žºñoè“òÌÒœ¼ùF_>G2-]š›ÖºÑaÿÙºtébgÿ¾8°÷FŽ‰Ô©>r8òÜDÚÞû@ÁÕ“Ppõ$§û†«nj;ë†Y]·®(9Üé¸1ü·]®„œ¹î }µá„É™ÙÓ97/Ààÿ¬¿çÿÐëÇm6ußéà©VöÓˆ=Yº„ãÐÓË0âÉ pzþlQì¿°ï,W bùÜÒa…“'¢pòD´·<•¸sB711ééé–¿í9û®q¸}Yξwö£y67–¦q§ü–æãî²ìð‰Av~¶OæcµV®ÝÖdXHˆ·ÜéW\=ÛБô]¿Yw.ñé<#2³qä‘Ú «ëéÖzèýÝHéߨé…‚sH\öŒåÌ‘~ »Ö}h™Æø×#)»;øç^EÎÍ76|>ž…Ø×ßu+1p§îÍÕÑŠÔßFÄ‘L yk%Š/å‘Lœ¸kI³Ó6&–þ²vŸ½w aàž‡î±ùnÊ5S°òÍ•HLJÄ–ï¶àGÀ¦o6±õëùaèeõp›í°VŠ `“ßœ”hl˜%<õÊíëñŽ<ò€åo_^ É›;ysgÚ «ˆ„´ÿ¼|á¤Àç_7©»}ýí§Ã:i)Yº„;½ êêë%š!õÑÓa³ó³Ûüž½^ïñz¹Ò¸vuzwíÖI‹;uq4][—©ØÞsÐ.‰¯®t!h.¹érì…u‘¾½Üf €T`Bp«×ƒ´^@ý_;¼i}½å»¢K/.ôå-˜z% •B—©Ñxáóða:_鵺7WÇÆ:”Ž ŠJÈ*+\¬Eå@M‹Ó¶‡5ÖÀl6#óh&>üχ5f”廞Q=ŽÏ>ù =Ô=ÐÍËÝš¼Ñ¨û{VÌfàÅÂP#CH¨€o΄DÒðݹ³axó¥‘() A÷5¸oÙDõ®Uý›[¾‡ÿê®ãO룹º‹™³å*¶¤Òñɉ† r¹€ÉÓOcòÕ§ñÀÿMÄk+C×ÈZ@yY0Þs8NëŠà`#¦Í<…™sr>^ÝÓí®¶&î¼¼Ì3ïÞN Z“¸3M[b1 L Üݸ¨s'7ýÖmpú$oÒˆG¯~BÞõ×Y†)²s qýQ¶Úq£÷òÛ(3 ª?ÓPbuók“—Ùßð׆Ý©{³u´«CÄѨ2ÐR÷f§mGR‰M†O½v*^xò<úì£~Õ¨ö—÷¬lùNƒQ£‹7¼ GGâÇïúaêŒÓ€OWÅá’‰gqíìSØ´¡?>Y‡GžÞ+Šz;[¾‹fOµiœ5~niüÜ“]ðú £0mæ)L½ö4ðm\6IeÏÜ¿l?Ô½ª›4 òèÓ·³oÈÆ†Ïcp&/÷=| NPlÁɬ<÷ØXDDÔÁh”àÏßÕ–má£÷†A3 KOCuU ¾ÿ¦¿×’±¶»šë^Ôš¤£¹†¹£ï|w˜ßÅpÓmGq® ÿ¼ã2†bÞ¢ã~»|›ÙS{±OOlø¼ý»JM›‘‹¸á WžâÊ,]ӬϬÿ톬v;³îêrmL*Ïë‚°qý@Ä':¹Vã}9ÿ·kb°+ >û'Öl؂ǞKÅî]Q€Å·…¡F†'—^ŒwV$âŽû.<Š{Ñì©–‘'¯¸ú"Gß%&&z¤ž*Glø+OD$bá=+ÊÈZ<ôÄ>œ<÷ߎšj#êE¿|5К?¼K=–=½/<9³çg‹r}ˆéÌzKËõ¦ÛŽâƒwâñèýã1 æ<µ=º7I¬…&߈C6güƒJ/<ÕCóÙ×Ⱥë”޹ ÐšÏ¿ÆA«Ä û¶E´òd<¾´U!!<2Q§çìñ˜f3PS-ƒ@X˜ÀÕÎxµÀ7òO+ÝOßäïæøÃËܨãê‰ADf6Ž<òOÛ«[¤åoEN.ʬžÐR>r†¾þ¾Íø5ѽQ>"½¿Û‚³3¦¹4߯îDzMd<þ ·&"òJ£ðï7ÿM¤|5 ‘˜±rí6¿ZöÄõà ]yP“7?úÀxKÖø·£{WÖlØâôenDL Üd €T`B°ã¬)¤F#‚&1ahú@¦³×NAü³+P6j¸Kóݱa ¤†Zô_û%‚ËÊQÝ7š[y´QÝÞ|¼á‹<³âôaƒÏÙ²äþK°øö#2T‡ãÇ”ødå0›JÉwû€ý[Žç.Èe {~jò¦cGûû<š{™w²ôñèõÃOÈ»þ:Ë0Evô1 oN¬ˆ„î;SQxÕå€;þÀù¡ƒ›$‘ ëŽÅòöjדy0rÍÃÈGžEeÌŠ0nUDä±FuGxóñˆ‘%xõÙ‹0R‹«®9-ªÁÙ²7þRwEaÈPRwö¸ñ縡¶Ó>ÐØ˜n|˱XGo:vGs/s;gÏ÷·îʺ­-§¥–›¯¥ù6W_wçÃÄÀGN.Y€„§_AׇQÕ¯‚KËXY…ôŸä,š„§_F×CGG2qèée˪íÑÅ—^ å‘L×Ït¡`ê•è÷ùzœ¼í&á‰ÈcêŽðæã{NGÞ©püù‡¯?? +ÞÝ)úe?nÂ9<óH2,ÎÄÞÝ=ñä ©ÜPÛilßr,F%E!(. mò¦c‰Ô Ah¸ô!•6ß@s/sóGŽÛžj0;z:}c½¥Ã~˜³i\)§¥ú01ð±ZU7¤½ñº>Šàb-JÇŒBùˆ ÷Tõ·^Däþƒ Wn¿ Bx¸å{û§ NžˆÂÉm†9|"‘Ý4DDžÖÞ|\U%C·î5ˆK(Å›úùE»÷¬ªG Ö>ªî5è¡®áÆØŽÄ~³´³7G÷Ñãןú¢û6ã±ý›{™›?&®6ø]mä·4»õlmž¬þz Üêc{B—pOÏ£+ù•Æ7ÂÎ]i€×À’»ŽøU ÿ¼ý2H„*ê±àæL¿©÷¸ñçð¿cqÃâLnˆÔ|bð×›Žc‡•[îI™1'·Ü™/Ö ÜrgF³eøÓËܼ‘8jT»ZV[“‚ŽÐ gb@DÔ t„7‹ñ)D®sÉ9|þ錽¤"5ËÙ›Ž>G—ïq8ýUed-–>±Ïo—Ac_ûæÕöýñ›{As tWËñd\¾š""r*$Ĉ[î<ÂÑ”]ëðñW?qA´3¾sÁ?46æ[ÇSó²o¼{«±ÞÒÑL ü%0 +¡V© Tª —É¡P( “µ.dA ô=tz´Z-´ºBch)µ2jµJ… —Ë[Cc 7èQ¨-Dn~6 1tødШ£¡R©¡+<ƒõ~¡Õi‘™½ÁÀ:ÁþÀ߯À¼—øºÝ–{ Äì¤Ñj 4ÑË–§~Ðe2är9TJb¢c`0›Ÿ‹ÜBÏþˆuŒdˆ×ÄC­VC.—{¼qJ…J…1Ñ1ÐétHÏNƒ^o` ,¹L†øØD¨”*Ç`½_D«£­Ž†Þ GZFt:chçm)-3•ÇVÆÀ¼CGKZ[Ww’…Ît¨Ä@¥T!16 …Â'ó“Ë刉…&ZƒŒì äæ3µ±1±^i9;ªT*LTNBna.223C‰!VÓ°mú*PȘ˜4…ÚB¤¦§2†öÜ–’&ñØÊƒbhm= .^ôuÚ—ór%6WëãËß…N—Äjbßn;KR|TJ%2²3Z}ÉÏßcHŒOB´º}Þ-“É•R…]i»,݃Ɣ˜ µJÝnǵJ©ã§b{ÚÖV¥ë(1´ç¶Äc+c` ž¡Õ' —g hW^æj"ÐÜôÎîwðVòÐÚ›¡}•\ºCrÏ]w˜ßzç=”•Ú>/·›ª; ¼2Ó­©[=Z^|L›«W­òÿ+±š§;jaa!RRR°iÓ&dgg{,cNNNÆÂ… ‘””Ôä£hu4Á€t7ºQt„’ⓜ6 Ú#¹\ñIã±=u;cð·“6¨Û#™L†‰I“°eז΃ȶ¥Îzle ŒÁS1x‚R©„Vë¿/^“öL Z:±å·TJ•ÃKz‚ `ݺuX¾|9T*.\ˆñãÇC£Ñ´ú² ÐjµHOOGJJ æÌ™ƒ©S§bùòåP«m» h¢c Õé\êØbШ5»´w J…‰±ñ.8ƒ8bˆÕÄ:ìzÓÞ1Èår$'&»Ô_¿#Ä Öm©³[cðT m{©TL<° ÅÊo»ÉdÀĤIMv>ƒÁ€¥K—bëÖ­X¾|9fÍšÕæG:’››‹Çxÿý÷‘œœÜ¤-õëí1Èe2LLžÔä’§XbÛÓ¶C¯×3ÆÐ¦`{ÚöfŸôÃxle ŒAl14òDW"ëcº'ŸzÖ™(•J¯l+îrÖ•Hê¯ 6ZÝ4#Ë–-Cjj*¶lÙ‚9sæxmák4|òÉ'˜?>.\ˆÌÌÌ&gç4Ñ1>†XM|“„˜bÉdHŒMd ~Cbl¢¨cº×tôľ-u–c+c` žŠÁŸFîQ©T¢H šã—‰ @Œƒaݺuزe Ö¯_Fã“céÒ¥˜3gî¸ãŽ&wëkÔ8[ÿ"š\Úc J… '7q1±Ä sØ'_l1(ä §ýBý)•Óüc[Ò¨5Ëe~le ŒÁÛ¿Ól芤ÝêG‰”_&J…²I_XXˆ_|Ë—/ovGU*•Nÿ9¿¥•ýøãC¯×ã“O>i’É«”jÆàjý]¯-1¨UÑMÎ,z*w×Ss1Èd2§—óf înObŒÁWë¡áÇÙ»ëÁû§W>\¡5uu¶;[&-Æà䪫ÛR[¶W‡·t\rv–ÔÕck[–¯«ÇÚöŽÁuÒÚ߇¶ÆÐ–uáê>ãÍœ-sW¶÷æ¶/ûéT*U«~§}Ò&û«~b|&{“ËåP©T¢½ÑØYBìwe])))P*•˜5kV‹Ó»Ú/ÎÕ©P(°téR¬X± .´9¨U*j =CKõW*•Çq6¼µ18ºÁÒS18û¾¹uÒ\ *'Oˆñf ­ÙžÄƒ»qŠ1†æ¶}wcPÈmŽÁ¾.Žêçî>lÿ½·bpT‡ÆaÖÛÏÙ0GÓ;?.©‘™Ùêckã¼ÜÝ6Ü=Ö6lm[ mÙ–<µO·5†Öü^¹s,h,ÇÛëÁÕíøçîï´/) Q>—ŸÜãŸW ì‚ `Ó¦M˜?¾Ç.i¹{Pš5k´Z-222šœqh¯Üåv výƒ+ëÄY Îêã«Üٞă'¶%gõqÔ§ÝS1´¶áçËt:]›Ï(9ŠÓY NËð£mÉYrãÉc«§Îòù2OlKbXÞ¸±µ=·%W¶/WÖ›»¿ÓD"1Ëšþçææbüøñí’46 ‘››k7\áóZ{öÅÝìyz=´f8‹ÁÕƒ¸7bpw{k ®v—k ngœÄà*wbhËYëæ¦÷U Þ|:‰»1xòØÚÚF¶ýòhÏ:Âzè¨1Xo_mýsõwš¨%~Ù•ÈÙ¥*Wo²?Ð{겫£ù;kµ%†–êß–F‡;18ëOèéÜ=pºs3˜·chmƒOì1¸—˜bhÍ~ãÍ\]î-58Çi.OÇ`ݘñtB`³uÙ¾:¶6×xs«}âàîzðU ­ÙöÅCkât«7bðVÿqgû™;1uŠÄÀYºÏ°vVwêßÖ3‘bˆ¡¥~ËbÝŽÄT×ÖÆàÏ©ní=í¹~ÜéÞ\=½ÕmÄÕú{:AëöÖRràN¢ÖÑóħ¯÷mg »'·­öø¦ÎÉ/»Ù?ª«Qk/—{Š£ù ‚Ðn1´æà(¶<µÚk[rÔÇ• 1ÅÐÖCk ¾Š¡¹~Kÿ–¾÷f 7{;9öäJœÍ-îÓ¾‹¡¹uÕQ׃³ßi¢N‘8Ê”5 víÚÕ®ÉJzzz«/“z:†Ö$b‹Áß×Cc#ÁúŸ+T®Æà©äÀ1øú …ØÖƒýq–ûƒ8cp´Oˆ5w~«ÛQ‡L tz]“õšk®ÁºuëÚ-kNIIJ¥B|¼ísÚõ½ÏchíeTwc°?›âé<¹\=#$æm©=bàzðM ®ì³­I:òzpVú}ðF ÞêFãëõà‰Ô~ŸèÈÛ’³ßi¢N‘8zVï¬Y³ Óé’’Òæòuýhîi,z½+V¬À­·ÞÚôe(Nž+ìË\yšLkbÐê´^‹¡ñ€nÿ¯¹¼æbpvÐôf ­!¶|µì€Åƒ«ˆæbp§.­mµ&W¶%GËÓç²{j=8ZÞî[ã½±my3W·¥Ö¾Ó•m©­1¸º¶æ…’¾Ú–<µ½·´ÞZó;Mä.¿¼[¥P›ƒ!Þæ jµË–-Ãã?ޤ¤$§—Ù<ýB'A°|ùr( ,^¼¸Éw¹ùÙÁ/¤jm ÙùÙÐDk¼ƒ'פg¤µK îL'Ö|²r3­Žö2ÓÛC[öaëáÍÓR ÙmÚ–<CsÃ[:.e8Y®[[{ã½;O±kï<ñ›áí\©c[·7oÆÐÒMíÝí?þ¸Û¿ÓDîòË+‚ÐðZr{óçÏÇÔ©S1gΟÜ$V¬Xõë×ãý÷ßoò¨?^ƒAèÀ1nb‹Á  urf âˆÁ Ðëõ¢Aäæû} ¹ù¹~½-éô:èôz¿?¶2Æàíßi¢N‘@fn†Ãþ°/¾ø"’““1uêT¬_¿Þkýsss±xñb¬[·k×®Elll“ÙٙŎCzfº¨cœŸ¥f ŒÁÝ2:Àþàï1t–c+c` žŠÈcG'=5mú5¨©©¶ùâå—_Áƒ>è•™æäç´=ƒ6™ Ô P÷P7Ùa¯ºê*DFFâ©§žÂ—_~‰ºº:Èår„††"((¨Õ{qq1víÚ…+V`Ù²eˆÅG}äðÇ7¯ yù r©‘‘‘¢ŒA§×!ãÄQÆà1Ô uP)šôK ƒiG÷wøľ-užc+c` ž‰¡Ñ€èlõÒ…m8 ÀæseEöïÛÉ=wÝa~ë÷PVj{ÓY7Uwx¥2[S·z¬¬¤ø$D«£~WXXˆ””lÚ´ ÙÙžé§P(œœŒ… "))ÉáKEtz¶§nïT1ŒO•J%ªAÀ¦í›chs ²5…1ðØÊƒßÆ0)y[Ãdhóùlþ¬^µÊÿƒ–~À&ž¼Ìgß¿ÏöŒœ[S·»=?A`|ÒÄfŸáËAÀÖÔ­N_Pë14³ôz=cౕ10¿‰ušÄ@ ±™lÞWtzv¥íjÕ¡£ÄÜÂÓZÓe ŒÁS jÆÀc+c` bŒ‰¹’øí=ÖL Š `¨6@ÙEéô2º7@99Ø“¾&“©SÇW˜™I†ÐÐPŸÇÐxÀüi×O­>kÃă\*‡\.o— 6mß„ºººNC{mK<¶2Æà¹xÙ$ºõƒ&Êdˆ×ÄC­V·xiÝ;©N§Czvôzc°"—É‘›¥Réõ€†Ga¦e¤A«Õ2†ƒB.Gbl …Obh|ʇ³Ç’vÖÚc[Ú•¶ÇVÆÀ<¯µÝ•ÈñN ¨•ÑP«ÕP*úȶõ¬]ãÙO½ABm!ró³½úìàŽƒ 1ê¨T*ËÁÓSgOA€N¯Czfz«ºI0ÿŠA.“!&:Ö¦aêÉ ‚éiNßµÀ:ÒþÀ߯Ðùb`b@:1 """"&äzb å¢!"""""&DDDDDÄÄ€ˆˆˆˆˆ˜"""""bb@DDDDDL ˆˆˆˆˆˆ‰ËäE%è¹m9÷Â6ÿ;õã6Dý¸ «–?ׇzýð³ÍÿÍIxêEtKK÷Ë8{üö»_Ö»ç¶ß /*ñ›ú]1ÁæG­üa§òüºaíÏËÂNåaÐÊOyä'""bbpAÈÙ›ÿ›#/*ÁчîöË'öÍ•~Yïni‘ðÔK~³=™¥R\:{ÌÒæw©ì;nö놵 {îU”޽,ÿ{îU¿ZþÍ^dó¿³ïYrDõÇ$ßüŒ[t'T»÷r‘Ûd5ð“·Ýdó¿3A$@*ÎÊÇŸê}ô¡»1aÎb¿‰§×æ­(?½¶lEÙè‘~·?zv‡æë-Wiú6gÈï!gñ¨WFˆªîÝöti˜ØÏÙ-sÎÅ%—]X³aM«ÊLÝ™Šœì ˆ€ä É~UëòZ?5øñÿpìÁ»a ”!ö•ÐŽÍ…BDL \ué_?Hµ‘]‘uûâ& º¨-ÛÐåD6Î ¹ž¼ IDAT,ÚŠ/½ê­¿¡øÒ‹;Vb&•6$dF# êXä…E*×!ã±1jéàîá7ëByèb_{ç¦\˜ÍHxê%{ð8Ÿg{°¨ªFÄ‘Lh/Ë#g­Ù°&“ ™™xã¥7, ëÖøqÓØ¾u;&Lœ€o¿þç+pÕ5WùMý“_\MöÜ«8ò؃N‡IkkÑsûï)8Cî(ºbŒ!!€Àóðñÿpüþ;-¿&™ †ž=P4ñœ™5Z¾³¶ÃG Opi9΋Eÿ5ëPÝ·7w4"bbàŽÖ&"Ždbð;4I 9¹PdŸByb‚(ëß÷ËoõÓvè⇢ߺ (˜z%ÎÌ™á ™õ¥ýçFç‡Æw>@Åàœ›z¥hãéµåäÍ H‘7w&¢~܆S7Ýà7û泯‘u×-(ÓÐ G? 4Ÿƒv‰Áùa±P21ð¸.]ºXþ^4{‘ÍYó“'Nâ½7Þƒ®L‡IWOr8ý¯?þŠÛï¿ýöÇЄ¡XùÆJ¯'ž¬¿/µtu)~ù«€ÙŒ²¤‘),Fâ#Ï`ß/"ŽdBVUmóû!„ÎGÌêO`¨Eî‚9–c™³ãš×I$èµy+þøïû®Oc67œˆ!"&5ð^ßÿ„è”\V‰Ù ³ƒq²îZ‚@]ÆÞvrnY ºz÷#Ò_ú7jzE!¤à—=㉫ô4èz0&™x7Simzþ²Ñ7[†Õ+Â{Ãß` ò‹å¬ÈÉE™Uò[>r†¾Þ´Qq~X,znÿ@tõ7Û_Y2a–Š»‘Óxv< ÷|÷CL½v*&\1¿mýÍá8E…EèÓ¯ O¿>(**ò«ú‹IxvÒÞ|µ=T€àb­å»ˆ#™8k»íÉdÐÔàøÝ·bøÓ/#wÁQÄQ–4}ׇ¼¹3`¶;~öþöôû"†¨ž8=oÎÇÆ€5ëpâîÛØ""¢Î› Xó2yCCyèâ_xÝáxõÊ.¢<£"­P¯P„°0HëëýoE˜LΓ·Í[‘úá[º„‹¶úÝw¥¢rÐ@d<±Ô2,þÙè±ëO¿¹‘× …Ôh„ñ¯Ï£怦÷ÔTÐ ¸¤²ÊJáâY'5½Ôèzø¨åÊ^×ÃGQÝ+JÔË|͆50›ÍÈ<š‰ÿó!Fåp¼‚ü\zÅ¥ Âe“.ÃÚ×6=H¥0ýµ™Œ&H}p?”'ë/&§¯¿=ð(j¢z¢bÈ œùÛ…-Ê#™8qׇÓÔ=T~^4q{ðèõÃÏúê;8úð}¶‡\¹»?ù"Ž€æ³õ|®ysf²5DD ¿)5ð3³¦#nÅÛH^r/9¹ÍŽ[®@߯RDƒvÜhĽü6zoÜ‚¸—ßBÉÅcübÙׇ+ LÏ€¤®Q?ýꤵj†ÔhuR½¶lÃY».g¯ž„^[¶:_ŒÏЯˆ„î;S-Ÿ{ìøÃñ}5¨2GOˆªþ97ÍGì«ï`øãÏcøãÏ#öµw‘³ø¿XþR‰η¯è^ع}'êjë°sÛNÇãôé…ìÌl@Öñ,ôŽîíWõ÷iÜxu©‘ÝÕ¥üë¦#õ÷‘}Û"f {±á„‘¬²ÁÅZTÔ8,W^XŒº®"º)_"AÙ¨èz0£ÉWç¦\sPt#â‘þÒSؽæ=œ1•­!"j8ÞuÖÀOß0§o˜mùœ7ï:çg_¸ ÝÒˆ.†wÝ‚¨ŸCÈÙOFᤉ~±ìs߀¡¯½ ‰Q@þÌ«ŽÓ÷«Ô‰<)€¯<ÝdXùE‰(¿(±Éð‚«.å{ rÍGÂÓ/£ë¡#ºLzz™ÃqÏ‹EÄ‘LËcAÅ ,i$ö¼ÿ*ÂOžTÔÀêpܰSy(¸êòv¯scWœˆ®Xt«ó›n—ܵï½ñ>ûø3Lšæ¸þôYÓñÞïaÄE#ppßA,\²Ð¯êo}ÓqãßÞz:QKW—ºdf¡"v*‡ BM”ãniè&qô*‡ lò ‰ ôÌYĬ^ƒ¢‰ãE³O\:{Œò`äu ®¥Dä£ó ÷Üu‡ù­wÞCY©Öæ‹nªî((ðÎ#0·¦nå’÷áÄ?|àÀþ‹²¤DÑÞøÝáÎTT"rÿÁ¿Î4wÚU¨Kf~°V<Ë…&"§NžBîÉ\ôØ'gµ ˆL;€!o®DU¿†Çñ†åAæýw |ÔÀˆÇ–ÄÚîÝ Ì8†ª~}pôáû0à£ÿAW4{žâ쬙&:2™é™in÷d Œ10±Åœ8*•Šë10†‘+'„üZ¬&ÆéŽZXXˆ””lÚ´ ÙÙÙ™ŸB¡@rr2.\ˆ¤¤¤&gÑ¢ÕÑÒ33c` ŒÁocHŠOršp=0Æà1ø³íÛ·cíÚµHOO÷Hy111˜4in½õVf)1P)Uˆ‰w˜µ¯[·Ë—/‡J¥ÂÂ… 1~üxh4šV÷ Z­ÿßÞýÇ7vßu¾}ÆQ&êD(‰ÚŠ¢·U‹Úu[¥UÓ\V„ ñ²LðÞªÛÒ–ëKL&õÝßCjÀ2%Ói6ø‚¼Ùiñîza`ÝÅ€éuähƒÛª¬ÄTqÜ©’¨‰’¨“3öýcê©-éØúqޤ#½žyøÛòHç}¾çÇ÷sÎ÷œ“L&577§¡¡!9rD %Õ|6—«h È@2´Z†P ¤` H; m’ÁÍ …4::ªp8¼ç¼õù|Êår–¯çóy¥R):uJŠF£:qâÁ·¹öâcÃú£ñ’¤P(httT š˜˜Ðàà #ccÓé´ÆÇǵ²²¢Ó§O+‹•LÇâù…]ï @2 ­–ÁcêÅK†1Ðd ƒ;3lqÛÅÇ“““ZXXÐÌÌŒB¡PEÿf«(Ø«8Ø>‰„Âá°¦¦¦:ª°ºø¸Ë­‚ÒŠÜ4MiyyYçÎÓÐÐPÝ+ªÏWþ6d¡PHÓÓÓV"‘P*•Ú¹sõx ö¶T†â,dhl«åÉ-Ч}ûÏnk·¯ÓVmbG†p(RR°>4¾µNoÿr{;´Ã²äD7šœœÔÊÊŠ*. j¿ ÊåräÎÂÀÔ[fE˜Õ¹sçtöìYG¤ïI04::ª¡¡!?~\…BaçÉj[A†ÆfðxŒ¦gØ^Üï„[=Ãö£0íÐV9Ü’¡ÞõÁkqQ£a¨d¸‚“í`uDÏmíPnÝpË:½ýËmÚiÿàÔ~Ú­¶Î4âÉG333J¥R¤0pãDû¼¾’ ~}}]'OžÔÄÄDCVÔí+ìøø¸òù¼¦§§K6¿/@;ÔVG÷Ê`uD¥‘¶:A[;a7e(>5kÕ©sK;ìVä´z;Öérã¥%)à–ìˆ[5C;´ìÛ?XíÜ’¡Ü—ûi7¨©((ÞÏîv ˪80¹Í“; ƒrwʘ››“ÏçkJµçõz5::ª‡~Xù|¾hGëoz†í+Š3O¿UŽÝ3šža·ÂÆ-v+ ÜÁžuºu2ÔÚ~Ÿß¢04$C¥ãÝ´,YuDÜa·³hnÙ¶ºy»T|æÆêàQ-ûi7 ƒ -~·„B!ƒAÅãý 8wž1(Ú©™¦©ùùy 7å!<’488¨l6«•••’#d°çˆP%k« ^·éíP鑌VÎPï²Ôì •v"Ú½¬¦§x]gYjÿ ÛÏ¢¹-CqA³WÓÎË’Õ~Úm&&&êë_I?a7###êïï§0pQza\:ÖáÇ+^hlŸ&G}}}J§ÓE¿÷Úša·SnÈPÉ)ÓÝ:ÔÛÿ_M'–¥j–§í9÷ê”6"C-íPÉ´7£j™þJÎà´r;Ô»NWÚ©iåí’ÝËR;d¨¤s\붬ÑÛÖJ ýíÛ£½ œVÌPív Úý´Û,//+×\à–;Tp8¬åååŽ. \y¹ŠÕ=l÷:õäTQ°Ûç[í€kÉPnÁ¯´£Ö*ÊM«Ýíât†Z¦»Òa8ÌPírSÉ5ÎPÏò_É-íÚu}Ø­ãÔˆíR5·t˶µÙËR-ëhq[ìµì5rÛZé¼oÅíR-Û"§öqíÔÇk÷Ïn]´ÖD½îvXYÌPÍÎËŽöpûòÔ y+íD´blJÔ*9œ,ôÑ9Š—j–íVÚ¾V;¤8s§2Úí¶D 0¨Fñ­º¶ìvz°Ö F5†rŸou…{#3TÃé èUúùµfhDçÍé Û³T;ô Ò£½ÊPKq¶}ÈÁn9™Á­ëC=íPér×è Õ‹n\Š‹äJ27"ƒÓEJ«®Ní§Ý¨øÂêj ÄzúMµ|6…A‹VÊ¡PHKKKŽì¼*Ý€$“ÉšO1Ö’ÁîŽD#3Ô{P³24¢(hT;ßÇ|·¶(7v³•–%'Æ…7cvã²T®ƒYé:RÉß5#C-g¢Ü¸,íuœfepjÛˆ N^3dG†V‹ÅJâÖH©TªäéÒ.ËçJVÖÍÎÎ6­jž››“ßïW$²óþàùBÞö µî¼Z)C¥R»2XM›–%;3TÒpC;TSÜ´ò²äTÁi•a·NGµ*yP–Ú¡Ò2Û%2T²mujyªv?í6ãããšššjÚçOMMiqq‘ÂÀmÖ³ë%¿T.—ÓÜÜ\ç'ŸÏkrrRÇŽ+}J™i­'C¥·–kå Íh‡â |=ŠÙÙ jT†vh‡­°Û34£¬:Ù\¶c—%2´N'®ûi÷v°ÚO»Q&“iÊp­t:­L&£±±1 ÷™’#[@@cccoèeš¦&&&äõzuôèÑ’×Ò™UÛ28uT±ÑšÑ+©¤-Ê ²«M•¡Ú¡™ë´ÝœX¯÷Ê\9_öß­fV;¶œh“Ff(>SãÆ Û·Mvn£:a»dµŸv£ùùy% Ëk<œP(”H$d8sãD›æÕÇ’Ö‘#G444T²Âáµc£cš¦&''uöìY>}ºäV¹|N…‚i[†íÓn×øÅFg¨g¥ïâÚ]\Ë d ƒË2˜òtytèÐ!Ú dhƒ [n ÞæªêwÜ¡p8¬‘‘-..* êàÁƒ»ÎÛ“'OêäÉ“’dy­@>Ÿ×O<¡x@ÓÓÓºçž{tÿý÷w\`twïøùùçžÓ\û>|ïñÍO|ò!=óô΋Înò߬µµ5G&fayÁ¶÷ŠF¢ ‚e_[__×ÜÜœæç絺jÏø;¯×«X,¦D"¡h4Zö¡"¹|N‹Ë‹d ÈàÚ ‡ûËï÷Ód C›dˆÇÜ;v~qqQ333Êd®AÙl¶¦÷ÙÚ¦ù|>Åãq;vL꺞ý;~~2ó5}úÌ÷{íÀ¶*p;OóïÛ®PÈkay±êÏ#È@†VÊ`H:íßõ:&Ú dpO7 0¨Š!©o—j¾Qrùœ–Î/Õ´a È@†VÌÛ£3D; îÈ@a€J ×^c°Ý†¤µKk*¼Xï ¯ì)7'™¦© kôXò1mll d CÛd¸¸~QƆ¡Ðd ƒ‹3¸í8«m¯1( jŠ„" »ž†³k%ÍårJ®žW>_ È@†¶Íà1<ê ÷Éçó9žA’ fAKçi2Á¦ œ1Àvm=”¨üJ+|Aù¼WÇÈz<žº*ü­ÓvùB^ëÙu¥3«ŽÞ;˜ d Z/ƒ¡Þ@¯ü~ÿµQ½vt€ò9%SIå-î-O;  0…, º˜5( P 0@a€Â€¤«OønÿöÇìøù÷?{îÚ÷Ó^=ö7¯’$½ó=O鵡üŽ·ýoËý¾ø½‹ß¿Ü4”{ 0h€rñ/=qH¿û[}úÁ¾¨ÍMé7N¼S¼/©7¿å™ºßÛêoÊ…A}æ_¯Ÿ¹wEïxç%IÒwßö¼>óG¯×›ßòZhÇ ÜPžô…õ–¾ï<™ù_¼í:ýÛo­ë½·¿?@aÐbÊuÖ»º7tåʾk?_¹²O]Ý›¶¼7—Ü•èõ᜖ÿúU×~þü_½ZoxÓ³´`W\c0üo¿ª?z»¾ô„_’”úÒ+5öÑ¿Ýñ7• ªöo¶¾çLÚݾß{|óŸ|HÏ<ÝñÂMþ›µ¶¶æÈ‡.,/Týožn¿þ×oÖ¾}›zëÛ³zÅ+^¦õ*Å™ ¸æºžý;~~2ó5}úÌwœ1¤W|Y‡û×hIÀ<ù… ( P¸Ê`Ô1ó Éëñ)à÷ËçóËcxäõzeµÍVÓ4eš¦ò…¼rùœ²Ù¬²¹u™&È@2tV†€/¨@ Ÿ×'Iòx<5gØÊ!IùB^ëÙu¥3«*LÚ -Ÿh$×<à¬Õ ‚` ¤P0tm§å”B¡ t&­ôº½;12 dh½ †"¡ˆ€<£LÓT.—ÓùÔ2í@†–Ì`7p†í¬pFaP%¿Ï¯¾pŸ¼^oC?·P(heuE™õ È@2´]†P ¤poØñ‚€v ƒ2P Y…C‰ªõ*ÜiÊg{<E#Qù}>­¬®Ô|Ú’ d Z)ƒ!©/U0¤È@ É( *é¨7ÔkùúÖ¸C;70å„‚½2 ’©óUotÈ@2¡Õ2ÄúËï÷Ód @aàáP¯åÆf}}]sssšŸŸ×êêª-Ÿçõz‹Å”H$FK.’ ‚2Í‚’©2 dpm†h$jYÐdè´ nµ¸¸¨™™%“I[Þ¯··Wñx\ÇŽ#…AëñûüeOKš¦©ÙÙYMLLÈï÷+‘Hèðáà …B5k4MSÙlVÉdRsssÒ‘#G411¡@ PrD"›ËU4–‘ d Z-C(*;|ˆv C'fp«…B!ŽŽ*×}]G>ŸW*•Ò©S§400 h4ª'N§¸øx·ªÉú£ñ’£P(httT š˜˜Ðàà`]·Ñ³’N§5>>®••>}Z±X¬d:Ï/ìz2 dhµ ÃP,^2ƒv C'fh;/>žœœÔ‚fff …™Þt:­D"¡p8¬©©)GçM»å©„ÕÅÇ<àlÁ@éQÓ4566¦ååe;wNCCCŽll$) izzZÃÃÃJ$J¥R;w®BÁ^2 dpU†p(RRÐdhµ >Ÿo×/»2¸Íää¤VVV´°°àX'zkÞ.,,(—Ëidd„< Ba`uBRo™•yvvVçÎÓÙ³g]€¾s4ÄÐè訆††tüøq … Z $«í›Áã1È@2|;ƒ×âÂLÃPÉ Ú ­˜!—ËY~Ù•Á¶Ž¬7âÖÂG333J¥R$…Aóø¼¾’£ëëë:yò¤&&&ªÚØXi¨fÃ9>>®|>¯ééé’…Ìï 4$C5¿oµ {õ±#ƒÕQ!§—¥vÉ`ײät†vX–ê]Ÿ+É`uËÈ€?X²nÕmk³Ö‡vÈà¶í’N-Üf`` aèâδéÀ-žÚ-…ƒÊÝ)cnnN>Ÿ¯ª*Ïçó•=ÚPíÆßëõjttT?ü°òù|ÑŽÖïh»4;C%G~êËhH;Ô»<5;Cñ¼¯¥-š™ÁŽå¨U–%'×i¿ÏoQl_–Š¿wK;4fÿÀv©5öq¶èƒÁš ®Z ß-¡PHÁ`Pñx¼%òԛɩ<òíÔLÓÔüü¼†‡‡o¹—ÁÁAe³Y­¬¬”5!Có3x=^2th†­íðVÓS¼®³,‘¡jí n/„ìÈà&UßÞq®ç Ê–‘‘õ÷÷7-ÏnÅp-E‚Ýy( æ1J/ŒK§Ó:|øpó¦ÉãQ__ŸÒétÑï½dh í°,‘¡qEA»·C¥K–%24:ÃÖ:[oq`G7Y^^V8®º(þ}%u—‡µ¼¼Ü°<ÕNsµE‚ÝyìÂs ,XÝ»¶‘c+ý|«°Sêé53CñJêÆ årÔš¥–%·¯õ® íÜ»uœX–Ú/ƒ[¶KÛ×Ù­N\½ëp=Ú¥o´½s\Ïr°[gºÞg Ôòžµ,ÛÿÍnóʼn<h› N#2ؽño–íG`Ú%“1ÿwm_Ë­³NÚþÛ;öå~çÆí¼óÀMJd¡øvc[š}z°Üç[]ÙN†Æfhô²Tï©ðVÈàÖv°³#A; É`µÎÚÝykÇaD[Š/ª.7/‹‡Ôÿ~¯¯Z?Ûî<ÕNsµ×S8‘‡Â  ÃP(ÒÒÒ’ãUçnÁd2Yó©Þz3ØUp‘Á¾ µ´Cíì, h2 n‹ÅJàVm‘PO_(•J•‚çÄvɪØÏæ²¶·Cñ÷´ë´[2¸M&“iÊP©t:­L&£±±1òP4«0È”Ù ÓøøxU R¹:UÃ4MMLLÈëõêèÑ£%¯¥3«Žg(7ÝÕähv†ZÆ3V›a%•lȲTÍï[1C­ËP«dh§e©ž‡´í•!¹r¾ì¿[ͬº&C;´C3·KnÊP¯Z3¸Íüü¼‰„åõN( J$2 Ãö‚µ[ GWò«V/6<<¬#GŽhhh¨¦Nñ„J66“““:{ö¬NŸ>]r«¿\>§BÁlh†Z6˜!gq!ÈЉ²EÓ4Ëv$i2tb7ŠÇã ëLou¢#‘ˆcgÚ-…ƒR镲ãaOž<©X,¦#GŽèìÙ³U¬ô¨P:ÖÑ£G5;;«™™™’q˜¦©äG!œÊP)2 d(–L%i2Á¥FGG‰DÇ-¼Òé´âñ¸ü~¿&''ÉÓ Ýïº=zâ®»ôÒK/îxáÁ?®ûî»Ï‘½¹àŠ…ßÜØyÙTà–@ÉFçÎ;ïÔ¡C‡tâÄ =ú裺|ù²<8 žžžš:\ºtIKKKšœœÔØØ˜Âá°y䑲O绸vA×2d Èಠ¦<]:tˆv CÇgh”Û‚·Ùö^wÜq‡Âá°FFF´¸¸¨`0¨ƒÖ<_·äóy=ñÄì†Ý IDATzà4==­{î¹G÷ß¿ãó¦ÝòTÂèîÞñóóÏ=§/>þ¸ö}øÞ㛟øäCzæé„Ýä¿YkkkŽLÌÂò‚«ªãh$ª` XöµõõuÍÍÍi~~^«««¶|ž×ëU,S"‘P4-ûð¯\>§ÅåE2 dpm†Ã}‡å÷ûi2¡â1gƳ/..jffF™ÌÕ(›ÍÖô>[۟ϧx<®cÇŽ5e>µ[+×õìßñ󓙯éÓgÎPرÛ:Š`ç©Êâ1ŠÛ y-,/Výyd ÈÐJ I‡£ý»^sE;¡“2¸±0€;QÔÉԷˉFÉåsZ:¿TÓÆ† d Z1Clí@†NÉ@a€f\cP¡ Ik—ÖTx± ßA_ÙÓ†N2MSÖ.è±äcÚØØ È@†¶Épqý¢Œ C ÈÐÑœdç5p?®1°sf†"¡ˆÀ®§íÚÐär9%WÏ+Ÿ/ d CÛfðõ…ûäóùÏ I³ ¥ó‹´Z2ƒÝ8c€íJäH |Aù¼WÇÈz<žºŽRlzÌòZÏ®+Yµ¼Ç?È@2´gC½^ùýþkºz3ìèÄåsJ¦’Ê;xoy–%2P€Â Ã 7 0@%…8@a€Â… ( P 0@a€Â… ( P 0@a€Â… e®pCòz| øýòùüòy½^Fm‘LÓ”išÊòÊåsÊf³ÊæÖešd ÈÐY¾ €|^Ÿ$ÉãñÔœa+‡$å y­gוάªP0i2¡€jìûð½Ç7?ñɇôÌÓÙ/Üä¿YkkkŽ|èÂòB]+i0R(º¶ÓrJ¡PP:“VzÝÞÈ@2´^C‘PD@@ÇÑ ¦i*—Ëé|j™v ÊP,‹ÓëÅ5×õìßñ󓙯éÓgθ«0ðûüê ÷Éëõ6tæ ­¬®(³ž©û½È@2¡Õ2„!…{ÃŽ´ÈИ ¨µ0è~×íÑwÝ= —^zqÇ<øàÇuß}÷9212ªþ7áP¯Þ‰ª§§§á3Ï0 ½ú–WËÓc(›»¤ÚÞ‡ d Z)ƒ!é푨ÞpÛê*D; ­“ÁÊmÁÛè ã;Ë[w÷ŽŸŸî9}ññÇÝqA¤7¢ÞP¯åë[cöìbuÔ,ì•ax”L¯z< È@2´Z†Xßaùý~Ú dh“ @ÝC«O`8Ôk¹¢®¯¯knnNóóóZ]]µåó¼^¯b±˜‰„¢ÑhÉQ´` (Ó,(™Z!È@×fˆF¢–Eí@2¸/C;[\\ÔÌÌŒ’ɤ-ï×ÛÛ«x<®cÇŽ1sÝTø}~…{#e«öÙÙYMLLÈï÷+‘Hèðáà …B5 4MSÙlVÉdRsssÒ‘#G411¡@ PRÍgs¹ŠÆ’ d C«eB ‚´ÈÐ&ÚÙÀÀ€B¡FGG‡w÷>ßw.Ïåreÿ&ŸÏ+•JéÔ©SP4Õ‰'¨¾­e/>6 ©?/Y …‚FGGµ°° ‰‰ :266Nk||\+++:}ú´b±XÉt,ž_Øõd ÈÐj<†¡þX¼dí@†VϰÕéÛêð¹µ|>Ÿ­*å¶‹'''µ°° ™™…B¡ªæíöy¼×zH$‡555ÕQ€ÕÅÇ-û€³` ´"7MScccZ^^Ö¹sç444$Ã0äóù,¿ªÙØì¨ÔC!MOOkxxX‰DB©TjçÎÕãQ(Øk[' d C±p(RRÐd ƒ{3´£ÉÉI­¬¬haa¡â¢ Öù¿°° \.§‘‘¡EŸ|lHê-³"ÌÎÎêܹs:{öìŽ%—Ë]û*÷sÍÓaÕÐÐŽ?®B¡°s „dµ­¨6ƒcó²C2x<È@†ogðZ\Ôh*®@;Á-Êí×;¥ ×>޶6[g q eÇ£™™¥R) R´âDù¼¾’ ~}}]'OžÔÄÄDCVÔí+ìøø¸òù¼¦§§K&¿/а •žiÅ µžÍ©4ƒÕ»2Ô;ý­Á*G5yZ5ƒÛ–¥z×ï½2”/-I°dGkÇvÉËR#Ú¡Yܶ]"Cíûév400а¢ ¸80¹ Tkåî”177'ŸÏ·k5·µ‘´cc¹×ëÕèè¨~øaåóù¢­ßÖ »eÛ7ç¶ [Ó^üUm–Ý3o‡z§¿2”ËQíÙµffh—eÉéí’ßç·( ¶g(w¶Ö­íPé¸äNZ–ÈÐ*üÓ1 ƒ -ʶ„B!ƒAÅãý ¸Ö¥Óé¢ß{mËPéΪÖi³2ØÙ™³Ê`ç²äøòM28œ¡ÒN íPQÀúP[»÷ÑíÞVûév³¼¼¬p8ܴχÃZ^^îè %/g±ºG­Ý§–¶o˜ŠoƒVéç[퀕¡ZÍÈP\ÈÔ{Q8íP_†âr­íA;ÔžÁÎNQ5Ÿoù¤Õo‡z·I¬ÉPÉA±Nk‡vTË3"¬Šûj‹þZŸOAa€¶ZY‘aûŠiçÎõµ…ÛÙYp6» œ8‚Šú;š} t’–JT|«®-»¬ç¸J•û|«+Økɰ[ç§Þ;â4;C¹¶ª5G5ŸïT'–%2Ô¾,Ñd¨5ƒ]Åí°÷{ïÃjyæÐ^ë{»¶C'Ý-§øÂëNùl ƒ*+åP(¤¥¥%[ß·ÜØýÝ6 Éd²æSŒõd¨ç2­ÁÎ#rÍl2 홡Þâ€v¨,C½ÏÚëïÜÒNö5Ü.‹•<ä­Öu¸–k‡R©TÉÓ§) Z@._ú“ÍÎÎ6­jž››“ßïW$²óþàùBž -ÁjzœÌPë‹­”¡Ú ¥vëtØ‘ÁÎb¿UÚ¡žâ€õ ÍÚO·›ññqMMMÕ]tÕzujjJ‹‹‹­f=»^ò»ÁÁAår9ÍÍÍ9R¹ï¶åóyMNNêØ±c¥C)3­ÎP‰ffØÚáU»âî–¡xïD;Ô;ý­ÁéeÉé í²,9ÝVˆl.ëX;´ÃúPKqÐjÛ¥Z†›²]rï~ºe2™¦ çJ§ÓÊd2£0h½Â Srd+hllLããã ]`LÓÔÄÄ„¼^¯Ž=ZòZ:³êh«m5;áfgØšÞz†Cí•a%•t¼êÎÕì õEiµ n_–œ^§“+çËþ»Õ̪cíà¶e©íÐŒíRµíѬ v^Ø Û¥fõ5ÚÑüü¼‰„å5 •öÕ¬( J$2 ƒœµâD™æÕÇ’Ö‘#G444T÷ [ÉEP¦ijrrRgÏžÕéÓ§Knõ—ËçT(˜MËP鯦2ä,.":1CÖb‡hšfÙ%í@2ìžÁêÌŒ7©g?Ý®âñxMÅA-¶Š‚H$Ò”3EJ¥WÊŽ‡=yò¤b±˜Ž9¢³gÏ–Œ¬æ"¦ÝŽ´¤Ói=zT³³³š™™)yà†išJZ…¨7ƒ]È@2¡X2•¤È@†*3d³Ù]û µž±#C;U$Q<w´ÀL§ÓŠÇãòûýšœœ¤îwÝ=q×Ýzé¥w¼ðàƒ×}÷Ýçȇ^È\Ø»‚ÞØyÙTà–@É {çwêСC:qâ„}ôQ]¾|YGPOOOÍû¥K—´´´¤ÉÉI)ë‘G)û¾‹ktq-C2 .Ë`ÊÓåÑ¡C‡h2¡ 2Tê¶àm®ê ÞqÇ ‡ÃÑâ⢂Á <¸ë¼ÛsQ>Ÿ×O<¡x@ÓÓÓºçž{tÿý÷w\`twïøùùçžÓ\û>|ïñÍO|ò!=óô΋Ònò߬µµ5G&fay¡â¿F¢ ‚e_[__×ÜÜœæç絺jÏø;¯×«X,¦D"¡h4Zö¡"¹|N‹Ë‹d ÈàÚ ‡ûËï÷Ód C›dØK<æÞ±ó‹‹‹š™™Q&sµHÊf³5½ÏÖ6Ïçó)ëØ±cêT×õìßñ󓙯éÓgδ~a°×l«·óTeñø¾í …¼–«þ<2 dh¥ †¤ÃÑþ]ÇFÓd ƒ»2´ka ƒ’Xß.Õ|£äò9-_ªiE%È@†VÌÛ£3D; îÉ@a€z ƒ–½Æ`» Ik—ÖTx± ßA_ÙSnN2MSÖ.è±äc򯯬é=È@2¡3\\¿(cÃÐh2Áåvã¶k à,×^cPÄ0 Ev= g×JšËå”\=¯|Þ¾[f‘ d C«eðõ…ûäóùÏ I³ ¥ó‹´ÈàP†bœ1Àv®JT~¥•¾ €|Þ«cd=O]þÖi»|!¯õìºÒ™UGïL2 ­—ÁPo W~¿ÿZ‡¨Þ ;:@ùœ’©¤ò÷–§È@ P€ÂM, º˜5( P 0@a€Â… ( P 0@a€Â… ( P 0@a £cƒ’×ãSÀï—Ïç—ÇðÈëõÊ0j›%¦iÊ4Må yåò9e³Yesë2M2 dè¬ _P@@>¯O’äñxjΰ•C’ò…¼Ö³ëJgVU(˜´Z>à6û>|ïñÍO|ò!=ótvÇ 7ùoÖÚÚš#º°¼ÐÔ‚ ) ]Ûi9¥P((I+½nïNŒ d Z/ƒ¡H(¢@ ÇãhÓ4•Ëåt>µL;¡%3´¢x,N¯×\׳ÇÏOf¾¦OŸ9ÓY…ßçW_¸O^¯·¡Ÿ[(´²º¢Ìz† d Ú.C(R¸7ìxA@;Á ( àæÂ c†…C½ ÷FšòÙGÑHT~ŸO+«+5Ÿ¶$È@†VÊ`Hê‹D i2hQDz#ê õZ¾¾5îÐÎ L9¡`¯ ãdê|Õ2 dhµ ±¾Ãòûý´Š2$«þ¼vh€ÂÀ¡^ËÍúúºæææ4??¯ÕÕU[>Ïëõ*‹)‘H(–\$ eš%S+d ÈàÚ ÑHÔ²( :;ƒ×ëÕâòbGµœµ¸¸¨™™%“I[Þ¯··Wñx\ÇŽcævRaà÷ùËž–4MS³³³š˜˜ßïW"‘ÐáÇ …j×hš¦²Ù¬’É¤æææ444¤#GŽhbbB@ äˆD6—«h,#È@2´Z†P Tvøí@Iòy}ê G*êX·C;ÀY …BU8®ûú“|>¯T*¥S§Ni``@ÑhT'Nœ`F[Û^|lR4^² ŽŽjaaA¬øÖg>ŸO¹\®¢¿M§Ó×ÊÊŠNŸ>­X,V2‹çv½ ‚ªA2 Å<†¡þX¼d(íPùþÃM¬ö{{e0MS‹ç•Ï盚Áç+½«‘íà&n»øxrrR š™™Q(rä3Òé´‰„Âá°¦¦¦:ª°ºø¸mp ”U0MScccZ^^Ö¹sç444äÈŽK’B¡¦§§5<<¬D"¡T*µsçêñ(ì%È@We‡"%EíP]çÚMr¹\ÙÎõ^ ÃP_¸¯©¶æ{ñ×V;ÚÎ+++ZXXp¬(ØZ”Ëå422ÂŒW›>ùØÔ[fežÕ¹sçtöìÙª´­ I¹ ¤õÑC£££ÒñãÇU(v.¬¶wNd¨i^vHÇ Èðí ^‹ 3 C%C.h‡êŠ7f°*öÊàóúä³öÑë4œ³u¦`ûAˆjú_Õðx<š™™Q*•Òàà …A;†òy}%G!Ö××uòäIMLL4dc³}£3>>®|>¯ééé’…Ñï 8šÁjEª¶Ài÷ VG…ì\–|>_É—Ë’Óh‡Îi«[FüÁ’³¼,ÕZ¸)C%ÅUÃ0±8kЈ •ý­µàŒ’¢Àö~bѲ¼U˜ÜŠª= ƒrwʘ››“Ïç«©,^€ªíHx½^ŽŽêá‡.o°¸«‡ÝêÕþŽfØë”¶2´C;lï0ÐÖü>¿Ea`Y²©(pã²dµ®ì–ÁêÉÅÍÊ`Õ.µ´œ zwK(R0T<ÞÙ‚kÏ3E;5Ó45??¯ááaÇÆ½îeppPÙlV+++m4íÊPnC^ÍEÔ’Áëñ6eYj‡ v®Íl‡j‹ƒff°ë”ºU«é)^×íÌPk&Ö‡ÖÎ`¹,5a}Øk¿Qm;À~Më?22¢þþ~ ƒvã1J/ŒK§Ó:|øpó¦ÉãQ__ŸÒétÑngØÞ驵CÝîÚaYr:ƒZ«µC-9𙡖B¦š •vÌX§íi#·l—vk§fe¨tÙ©äïªÍû-//+×´lÖ:øqÝwß}Ž|è…Ìçdllȼl*pK d£sçwêСC:qâ„}ôQ]¾|YGPOOå{î6îÌ4M]ºtIKKKšœœÔØØ˜Âá°y䑲Ì‹ktq-Óð {9!È@†Ý3˜òtytèСŽj‡}ìc,KUdÈåsZù‡/·ýúà&·osÕôÞqÇ ‡ÃÑâ⢂Á ¤gžÞyQÙMþ›µ¶¶æÈÄ,,/4,x4U0,ûÚúúºæææ4??¯ÕÕU[>Ïëõ*‹)‘H(–}øW.ŸÓâò"È@2¸6Ãá¾Ãòûý´ÊvÀçç;ªÜ sïØùÅÅEÍÌÌ(“¹Z¨e³ÙšÞgk›åóùÇuìØ1uªëzöïøùÉÌ×ôé3gÚ¿0Øk¶µ³ó´wñÅí …¼–«þ<2 dh¥ †¤ÃÑþ]/f¥:3Ãâù¥ª/m‡v 0…K CRß.G$%—ÏiéüRM2 dhÅ ±=:t´:%…Ú¡0hÛk ¶Û´viM… òô•=mè$Ó4uaí‚K>¦ 2 dh› ×/ÊØ0tàÀÚ ¡Õ¹í8«¥®1XJ.5ôþ´;f„a(Š(ìz*Ñ® M.—Srõ¼òùÈ@2´máQ_¸O>ŸÏñ ÒÕ[a._¤ÈÐ’ZÇãÑá¾Ãô†qMK %Zͬ*I7·R2¤€/¨@ Ÿ×wmÅ©ç(ÅÖ©Ç|!¯õìºÒ™UË{ü“ d C{f0Ôè•ßï¿Ö©«7ÃŽN\>§d*©¼ƒ÷–gY"C» Cê öÒFkRã¯3èD\_€J ƒ¦=à,àÐ*ô·Ð"šVDz# ¿¸ S†¡Ho„Ö/ $©?ÚO ÐÏB§’‹ÄhúWèôÂÀëõ*‹3¬ N†a(‹Ëëõ23à¾Â`K´Ÿ djð>„ú ËVš˜HoD‘ÞˆV3«ZÏ®7í!hnàñxðxNÚ¯0ØÒìe¨‹Y€Â… ( P 0@a€Â… ( P 0@a€Â… e̸Åââ¢fff”L&™\§··Wñx\ÇŽcf 0j500 P(¤ÑÑQ…Ãay½^f ×ÈçóJ¥R:uê”FuâÄ f  R“““ZXXÐÌÌŒB¡3€+y½^E£QMOO+N+‘HhddDSSSÌ-ƒk ÐÒEÁÊÊŠ( ´P(¤……år9ŒŒ0CP{Ù:Sàñx˜ÚŠÇãÑÌÌŒR©”™!( +:¢80M“™€Â° > í…B!ƒAÅãqf  ØÄÄãntŒ‘‘õ÷÷3#PÅ–——‡™:B8Öòò23…PÏ)Àö( Ðáx²1¶{@a€Â… ©¯¯™€íPR>Ÿg&`{èd±XL©TŠ #¤R)Åb1f  Øøø¸¦¦¦˜:ÂÔÔ”™( €r2™ŒÒé43@[K§ÓÊd2cf 0Ê™ŸŸW"‘P¡P`fhK…BA‰DB†a(3CPVâñ8Å€¶. "‘ˆæææ˜!( €ÝŒŽŽ*‰(3¬@ÛH§ÓŠÇãòûýšœœd†h³­^ô÷÷ëèÑ£ …BúЇ>¤p8,¯×ËÌàù|^©TJ§NR:Öðð°Ž=ÊŒ@aT#j~~^‹‹‹šœœT&“‘$e³Yf€–ä÷û¯m£ü~¿$Éçó)ëÔ©SÌ @=úûûÕßßÏŒp× 0@a€Â… ( P 0@a€Â… ( P 0@a€Â… ( P 0@a€Â… ( PØ“aõÂÓÙo0w€Á( P 0 ©Ì]‰¾òåæ ÐæÞôæÈî…AìŽïc.mgw/ Šÿ@ûã( P 0 ©Ì]‰ mJzêÙËzú…+zÙ¼ú3j³OÒ~C»ÓÑ” îIDAT:t K¯zåuêÚ·÷¼ÿÆóWôì ºl2çëŸ÷ûä;Ð¥›_ѽ뼧0(ã?UгÏåõ—_XÑÚ3/icƒj­ººöéÕ‡èû¢aå¿u£Þø*Ï®Ÿþ†©ÌןїW¿¦§ž~žX‡î®.ÝrèEz¿K/ÞrH¯»Ù 0¨Ô׿yYß|þ}öÏÓõ¯ÞýŽïÕu=û™15*|ë²þ¿ó+šûÜãú‰;o××téÖ{ÊþíÓù+Ê>ûM}ñË4üÃo×ë_{«º»ý^«—_6õ•zJŸýŸOèÝû»uðzŸnòvSTâÏ_Ñÿ\~B÷Äߪ÷ÜþfH<×õè½ïy»zz }î _Ò]ï}—n½Q…Á†’©Öûîz‡^ÿÝf^öï7ôÖ7|—öwwé¿ýõ—å;xв0 ü(rÙ”žz¦ è¿33lôŽ·†µöÌKº|e·y¿©õ§óº-x 3ÌF½¯½UëOçw½fƒ3E6%mllª§g¿66¹¶À.==û÷¼VcSÒ• uwwi“yoÃèÖ•]/¢§0°ì¥n^ý:¡x`XÔâ6¥è\c€ÂÀÊæÆfC¿è©øu«ï776uá?ýªú^{H7ÞpÝžïÙ诊çýææÞ_ßÒÜï|D?ôΈühÏ^ÑàÏܧÏ~þ+{ÍMuwwWõ7•üýö¯—_ø²F~òtëtÝ ¯TìG?¨/¿ðrUïaÇ…@­…Aƒ¿TÅëÚåßýâÿyJc–ҳϔ˫á9öÊ`—ÏülTüÕ¦>ò©?VúÏ©ð|VçÏý~*z“¦ÿ¯j™åèÌ]wê¯ÿ‡ÿç§õü×SúÐ[¾¤ù‰Ù–[Þ¹Æ`ÏÒ ÑŸ¹÷ë¹|¡èo¿óýcÏ_ÖŸ¾Ñ¯v¿Bâÿ(¥¿.©[÷oë¾^¯yCŸ†ßЧá_üUÇ>×4ͪþþ£]ÒòŸý¬^ãéÖÆË/è5·ÿ”žšú˜¤DKÍOÎXuÁ7¯Þ¶´Q_’*~ÝçõXþþÊæÕÿoÿ›¯üñoéîØt«Ï«ÛÂQý»G¾ÐÐlÛ§µòù¿ûИðõûõ{_X¯hÍ—>û›ú¡ètðúëtËëúôÀÃK;†Ø|þÿý5½÷m½z…§G7Üx«¾ïÇ?¤ÿõÜå³õ½a;ÞûËŸ™Ô¾í{tƒÇ£[_×§±‡—w¼þôËWº®K™ÿñ›zç;îÑçV»tö³Ÿ*™Æ½ÞÇ0Œ=§“¡D$=óÜK×þ¿õý7–?ªþŸ;­ñ?Ô?®?«Ïö¤¾ôëwkü/Ö\ufæ#zxàºý‡~B¿òïOê‘™³úÛ¯®—üÝS‹èÝÇ?£|ü3z*—×ÊÂúþóc;þæGü{|ò¿iý¹—ôõ\ÖOÝò7ú‘»>µç4|ýóÿ^·à!ýØGgõõo>¯äÿ¸þþcGô+Ÿ{²äoì'ÿoýîÒŸèc¿üsºû‡úkzŸZ§³š1þþÐÁë-¿¤Ê®1(þù¡cé§ÿÓ_èç亾ÇÐÍá©ÿðç¿¡éŸûˆ«¯1ø®»~U©õUýÆLþ®çôùs3zÿ¼^oèÿ€{ö[×þî·~öSúù?Óûú#:ÐcèæÛÞ¡ñÿð×;ÞëÌ_LëGßÖý]ºá¦~á·ÿ³²_üöœ†ßùÀ'õ ü—úпŠê†C7Åõ‡9©Oà’¿½ôòzèõË5¿O­ÓY ®1°pÅ|¹êñäõZÏæ,_ ø}zùòw:¼Vßÿ<ýÔóÊýëïÑé¢÷Û·¯[/_>Ý’óÞ¬tÞï»Q‡ä'uøG¾]m¼ ?úÈ€~ô_>¨‹Ë÷K’~o-¯/…½º\4¶»ûÆ®¯wuååìŽß•ûþÌ“ÏëÙ»BúD™y{ùò™ÿ©Ÿ‡>’У÷é'>ôQýî¿KÈóíÃô•¾O%ÓIa`³Mi£ÁO>Þëó¶¿nõ}ékÒkOË¿¿«êÏk–«®aÚöÐOøCýÂ'ߦÍÍ_©øý¬^Ûþûrß_Ù”þéÙoêæ2ó¶øïûý(uoFùK_ÑïŒ}Pïú€”üý÷Uý>ÕL5J°KïtsC û’*Ýêûr?¿ïU7è?>ùBC³ì–¡Â™¿çÅ´ÿê?з6JùůÈð|ϵŸß8 É¿ÏîzQî^¿·úþ§_sƒ~ïÉüžý^ý~Ÿ^ü.½ñíwê·çætá¿ŒÖø>•ýž‹l²±)m6ð¿ow‡+zÝêûr?ÿ§~I¼TŸû»ÿ­^¾¢—_Ê鉿ù/K¼§¡ù6UÍÎöîìþÅ'îÕ›~ ¡?8÷˜ž}ñe]ùÖ úêßžÓïþi½ë—~ûÚß}øwVgþõ¿Ñ^ú²^ºl*ûO§_?·¥0ø¥GFô©{~Yvþô·®èò‹9%ÿrN#?ùnË÷ß0_ÔßîuÝ¡¬ë}ì. J`Ù;½¢Í+ýÈ=>oûëVßÿ|ÓÛFô_?6£ž8ªþÝ?è¥}×ëõ}߯÷ß{ºáùª˜ÚÜØýÃþúôïÏê¿<¬‘µ§¥žƒzݛަÁŸ>£O}ÛµøþúÜoþ¶~å—‡tüžÒ ¯ ëè¯Lîx«Ï²ú›­ïýïøe}î×_¿ú‘èg¾øU½¨ëõÆ·ÿ€~ö—Δüý¾W^í€_çÕßþ^}úONÕô>{Mg­( ¬û¦ÚÜhÜü‹O^Úõó¶¿nõ½Õû¼æ=ïÓ™÷¼¯LF÷^cðÚÛïÖ¯Ý~·~Íâ ¶ÿë7Žè¿ŽýÉ·÷ì3e?kûï­¾—¤à÷¿_ðýï/3 ;ÿ>÷ì3–SÍûì6ØÐfÃ.Î o­øoÓ™¯·Q¦M[:»¯I]]û”Ï?/à»dÓ4ÕÕµoÏyßÝÕ¥|þuïñ·¨Ü•Muwui…@åz éU¯ôè+«Oê-o|-3Ä&©|R¯>t½zº7w™÷û¸É«'¿ñ¼¾ë–W0Ólòä7žWà&¯zŒ}•ò{»õÞØ÷êìŸý­.›¦ÞúÆ×ÊèîfÆÔȼrEO|õ¢þöŸ4ôÃï”ÿëÎ顺Ô÷¦ïÖ]úªîŠõê»7ŠµÛØ”þyý›úÓåU½»ïõºÉÛMaP©[oìQúñ;ß©¿zìËú“/ü³6¸¹f]]ûôêCôãw¾K½ôªC×[þíMÞn=ç;¨·¿ù6-þÝ?ëëϼ +\çQ«î®.Ýrè½ýÍ·éæC7ê&o…@¥öí“Þø*žòté®÷¾S—¯0OêÕÓ½)ßõRÐ`Ïyÿº›÷ëž›t«ÿ•ºlî|Pª\–uuxÖ+oè’ÿ»Ÿõ¢0°èP½ú•=zõ+™͘÷7¿¢[7¿‚á[ÔÅ,@a€ÂÀ¶k žÌ|¹t¨}¾÷8zîÿ^|¤w-IEND®B`‚KCemu-0.5.1/doc/window-savemem_small.png0000644000175000017500000042070412417262523020365 0ustar glaubitzglaubitz‰PNG  IHDRÒXçK}ˆsRGB®Îé IDATxÚìwœ]Uµø¿§Ü^¦—Ì$“Bz‡ B‚€(MŠˆ4EÀ6àQ¤Iñýž *E@é¨ ZB$¤“Þ“)™~{=çìß·dfrÛLyæ®Ïç~æÎ¹g·µ÷Úk¯²×’¾qùo¤ƒ§M•î¾òÀ!'ýHCB$ŠP„"¡Eø`  GìGy±¿m XþÆÃÀí½"©)&zÔ9×5t쌛™1ÞÂPŠÓZ„"¡EøÒ©²¬"ÉrÞwu-„Ø[V’ddEÍ[Ö0t„¡÷) +&$IÊË@ =†$)¼?ãøÏºv®ºý–+NQ8êœëÎúÆI§¾8iòd:fìÔÃyû¥?±uíRž[.xú·?ãÙß]Çqß¾ M÷£(E; U3†àýV1zD=Cª+ØÝÚA[{cF5àtØéòøiïè$£‚áC‡Pêr`,KH’  C D‚Ñɲœþ.’ÆŒÔwÃ0§SYF’@×ÿ+Š‚a†@Qúþ–E–ñôìiO0¶¸†Õjaì¨a¨ªÚK»"0t’}Ñu=c›‰ÿ¦Ý0öÁªª¬ß²‹Öö.ÆŽÆÐ!U„ÂV®ßJ(a˜ᔗºÐu#Aüýƨ(JI=˜08A’0 £nääó¾åå¾Z.IÚ;IBê5¶Þ8Z²rº®cRe$I¦¤ÄÍÐÚJ„HàVˆdy/~Rs™oÞR›œHk¾öŽ£ +5 pØ,(øü¡ÄºÍ,Àb2©¸]vº;÷.mU‘qÙ­DÂQ>Y¾–@(Ò— e‰ƒ'Æj6c±˜H‘l‰ËN4Ã`þ‡Ë°ÛmL7!+×m% óµƒ'¢:n§=¡&6¦M! UM1uÃHoB»–íë¹÷ê“9í¢ëˆÇb´îÞŽÍYÀ¶õ+˜uÚ8á»Wð{$Ã(ÂÇEA[·ïà÷WÏâÉ7×òáòõœ0½šófMáÙ÷¶ÑÒÞÍðr™ã®iT•9xmñv<~(/sÑã Òí "ÉPSQ‚ÝjÆŒÒÞíÅa³ŠD)qÚ0„Àëá´[©(u¢* ?‘hœaC*ˆÇ5¶ïÚC}M9v«™Žn?¡H”†ºJ¢ÑxzÃïèñ!Ç<\ðõ‘€A…Û†'åo‹vãt—ÑÑíCQdLªJ}u)ÑXœÖv u¨ŠB—7@ aØ Z;<„¢1V35%hºžd¬ +2[v43gZ'Ïüýc[›ÚÑן3ú*÷½¸”¿‚Ûa£©­›HLÃå°RUæ v¶tbR⚎"K¸6<þ†0¨*wc5›Ò§íæö¢Éò•e.dI¢©­‰„ªË0 t]§aH%²$á Fèñ¨¯)GNtU‘Y·y;×~g6«™æv/.‡…Í»{X´a7cF`Gs;»•êr7¾`˜=Æ B—Ç7Âj6ŽÆ(sÛ‰Æ4¡(%.enŠ,ÓÒéI3áp$NM…»ÕŒnHE‰÷“GFÊÔ,%Ì‘ƒŸè†ÀÐrò€–ðݑРMÓ ýÜrÑ1è"ñŽ$IØ,*¿{îC¼%%æ„J0„‘>ÌÙ,ÞYô)?8q­]A®ÛŽ,K1®ŒºÊž|sÇq0šn`R$t!Hy,¥]œ ±÷#x»Û=åüÞn¿ôh®ù/#+ ¢ULfJ+‡ðÁ?ÿÌaÇŸ‰aèE;é²$Óã1¼Ú‰ÅlfG«—3g60õ *þðÏψè*3Ç:9ñðQÜóìRF-§¾ÂŽLXE€9“Ýh† Çeù¶]T–Xil0³®µ ÙdÆ)…3ÌÁª¦6‚0ÓG•PévÒÜ`ËÎF4Ô¡i’$ë`Ä?¼?¢‚7ÿ¾šŸ5ƒ†Và Dˆé2"n°uÛ9¨Œ‡ƒí{üìn‰`2)Œ­40§Í„?¥+àáàa4]gsk'Riº!hmi¦qt9n»]íAv7‡±X-4¸ã¨ªŠÙ¤ Ê*†!±¶¹‡«ÁÁº–JÊ*Q (J¹Seô° þðå,ø¬ƒ ÃÜÜ|á×PMÛyyÑŽ›ZI‡7Àî6³äðQ­ßÁÐ Së,Ät«ÉÄîN/ÃÜVÊëmlmñáóC4®Qk‹b·&TÛn›å[ÛÐKª°[-‰M´#ÉÈRʆ)Гj.FšÖfôò¼€¦”¸ltxÃ|°l+6«‰X\cÊè:*Êœ5#é`$ºI‹‘XŒšªr>Y×ÂÕgJ(òHg;Ž^ú”Úêr"±xÒC8Á'…‰C³””J5¢ØÑâQꦞÈY×?@H*%n­`ã–]lÛÝÁsþ#1Ù‰®ÅÐ ‘®£ø90>HÐíñÓPíD—œ2Š;¿ya%åÕ¸-g;žÇÿµÅVÆŒ©cPìeØœe4µupØ(;ç?žVîF–en8oÛ¶ogDµóNœ†/âñõüâÜÃAèôã\söáè/;šZ9uæAÌ>t;šÛ±ÈqÎ=a1šÛº™ÐP©GŽ¡©µEI¨cš†"%t9ç0™ófGqZý&“‰ª ­kå­¥;˜1¡Ž‹Oƒßëá¼oLGaš››ùåù‡3ª¾œ-Ûvó³3§Rê´0ÿÓœ>k,s¦W²uW+ªª$m,²ÐYWÆknbÂð*N;¢º*7k¶¶ã DØã‰ðvðËs¦£ W5󃓧Ð8ÊÁ†ÍÛ¹ä´FfMFkW€Ë¿ÕÈñÓëY»³‹o9ŽóŽ;ˆu›wÑÝÑÆ/ΙN‰ÓÂg;º9oÎDŽšPÊÚ [øÑ·gð½§ÐÔæ£Óæ‚oLÇ®ÄØ°y;Wœ6…£¦5Ðã$$R!ðÂT—XPd‰¶žsŽœNwHfñê]5µÖÖ=\xÒtFֺض{£kíœ3{ Ûw7qää!|ï¤é4µyøÖÑãùéÙ3èò…PT¿<ÿZZšéîêáÂoLáâSfW›‡R·ƒÎ?Œ––æâr~Œä_©·´idEA’û~dEIFÓ Á|E/sM7°˜TVlhbÕ®mA;º%Þ[¶ ‹)¡Ù1’Ò¨”ÔÒ¤„ÀH4Îê š} ÷>µˆ³çLæŒã&qï_ÓâW¨«©$§Í(‰1ô–HDc†®Ç̰΅\}b)Fo zãC\4Sâ8û<ÆMŸIÍ'³ñ•o²Ö¯ðÓc+©ô/a·2“+:"`  Eh¨®#Ó]_Æ£¯­D2Y G5\–„¡~ÝÎn&MOg“I¥ÇÆF˜sO8”µÛ;UWŠ"K”ºl¸¬2u•.vîñòîòÝÌšÖÀ¶fxgUÓG•Õ ¬*T”Ø™¿|³‰ºJ'=¾°Î¸QCysuϼ·“é“ÇÐí "Kª,#Ìnž˜»Š£¦ÖsÎ×ÇrÞì <öÚ*¬ëÀˆ˜Ví¦¦ÜA0cÊA5ìîÐã3¼ÆÅ¡ãk G4îxj1ל5ƒue,Û´‡ƒêK±˜U›8„§æoaÄÐZ¢q_ B™3aw}ó“­=½‹O9˜;žXÀy'L¦ÛeöVîÿÉqÔU•`1) «qávX™4²’2§!û`#Í>þ±p3MÝ»÷ô +*»[;¸æ;ÇÅymI šY½e3'×óâ;Ÿa‚?ÿk%Ûº%¦»Ú<Œ®/Ãe3QYæä†GÞ§¤´‚h\Gþ@˜a#KˆÆuš»BÔÔkC§Äi¥¥ÃÇ„‘ÕÄã›[üØÌ*µ.6íê¢Ôí¤¢ÄÎ’õ-,^ÛÂåÁ(›vwñцœ6 á¨ÆÐjV‹‰'æ®dk—D÷‡›9®qF<žØ¤’Î`E8LDI_I"×éöØÓÞM\7úpÃT•»©ª¬H0[Y&¦éC Èºnà Æ0„ÀlR¨ª(¡²² ³5‚IøÂQJâ²,!DbZRý ÁHŒX<†ÇààÉ•Äâ‰6GÔ•±ã³N¼!7 §íþ±¸ž´û‹”j7¡—6„ ¤99¸þï¬Püõú?¹áª·éÑËyòÁßÐÜ,¸çWu˜¥a\k·^ó)+ÿÁƶ»(1µc Å±h‡†)eÞ'ÛX¶±•ÿ½j6OÍ[Å«Ÿ4qðHv‹Âž./†G•ÀMÔX1?þñþz@"Ó¸å±÷ Æà ú26ìꢶÂ͈!%|º± ³Ieâˆrºê*œÌݼYL]ÍGŸ5±zK[B¢z1ÛÛüLWG(£µ;Ä‘S†áñ‡Æ ÂebXM ï¯j`t})KÖ5ã iTºT&¬æãuM4Ô–aíÞ(CkËhmïb{ssI,®³d][m#‹'=ÇbŒZÁ§ZÑ„Âö¦Êí3&Ôó³ß¿Í¤QU¨ªÌ–шÆÄ•¬ßÙ‰"K ©pòñÚMŒm¨¢Äaf[«›EaʨJv´öÑ$Jì f“ʪmÝH(LSM8CÈ*$׊lôä¥ÉÓ$I´¶÷0¶Úı3FEÓÞþ†aðèk«¨ªªLH•iiò{Rµ+¥.»vm%èÁŒÒ8¶UQÐôXB›TíÂ@’·YUUå³ [9íkC9}ÖXîþëbdI⺠ŽÀjÞÄ¿–ìbâ¸Ñˆ¤“¤! Œ¤VNI‘B„!0âQ§‹7×G9ä„ š¤2¬C5*'WðõïáÝ­:óÖt!ä0/¯ÐÐÝ. MÛk(.~ˆ‚`8J©M¢¦ÜÅÖfÝʯ_ȅߘÆU§M`G«—%ëšøù¹‡ÑàŠqÌø&Ö[‡#t Úºý4ޝ ªËØlüÁ#ëÊØÖÜ…YÔ”»X¿£‹¸¦sȘjá(þ°ŽYI0âc¦ 刱¥=}8p”–ÎjÜÃ3·œÊ† ëA’Ó¶í]&Õ™øõ%GpøØ f76ÐÞàÕE[8d\=N›™`$ŽËaÆi3³lc+6»“–n‡…–ï`íî Îo£Ìeeh•I’h¨-%¬›°˜MIÕ“„ßçcöŒ‘lÚÙÛ]ÊóïmãÁ®e\C6«™›Û5¼ž×>ÜÄðš*K¨ŠBÃ2Z{¢Œ®+Áa³°a{+_?d8ÝÞ0]þn«D™ÛÎêÍ{5¼ž|°‘É£jøú¤2Î9f$=OÎ[Ïøá娪JKW³IÅb6³qw•%vjÊ<;#C몉DcÉ«:²câ¨jìV3£œ>ÒÂå§Lå/¯¯¦Åk $#ÈÌš\ÃìƒkRébçÂÐ(qZùlëê*lØm67y†Î×&ÕÓÔæ#7Zéàøƒ‡2sŒ‹o5†‡^YŽÃ]Š$Dq9Ðö‘äGNêZu=aÃ4„ ¦Äuƒ¸¶÷#IZÊc>iŽHÛHE"ÒQK§»ÕÄù³'rBcg=†©£kظ£ U‘Ó‡5))å&ù(ºžr<<ðÒ§ìöÊìöÊüîÅ¥IgZi¯·~J­œtû•;åÇâôï^„f*ÁÐ5ü‘RΚr/Ÿ÷g}§Ž©̼þNB­TU¡&b ®ñÖ?Ç0ãÈüîÑŸðòºë(±ubˆ¢Dz`©vñ°ZìêòŠ º=>LFƒjlm×ð‡cŒ¬4QYb%ÑiêŽbv”‹Å‰zWïÄlRhê ã×,HÔ»4š=ÃË$vyÅB•%BD3áB#H}¥_Ø@¡¨A@8‘õ0CÜ‚]™’’’´ %‰a%Hm‰ “IEÓ ¶¶‰I6TâÔ¸ Ôe¥ÝÃa4y L67rÜO¥vuk8K*0›Tö´wQã ­´‰lÝÆî*M»í˲Œ×çg¨[§ÝG±•¡È2ºzÄCKbgDyy{ö´3´L¡¶ÜF ¢³½#ŠÉâÄ.°›e¶vꌮR D4‚‰¢‡©sÃöAyy%­mÔº`X¥ž@œ­!ÊÊË1ë~ÜV‰–€JEyÂ#Ù¬û¹÷Šcùû{k™¿ÆC}mEzsH„^†¸V³ŠÕ¬‰lÝ Š…šÊ2<=ÝTÚt*Kmtú4,ªN»OÕ%FUJln×qZeªÐìSA–âˆÑ´ôD¹â›ãpÚ-¼øîz†×¸ØÔä#$¬T”º3^*Â!‚¡u×f&͘٦:º¢j‡¹D"sÛ…´)IHÉ4£&“™Íë{P=!©£‡0dH-ÑhâÎÕfCVÕ"C-BŠP„"¡7³6 ¡†a`µZÐ=ÛQ9q>ƱÙílÛ¶ƒ¦Ý»PÕÌ R‹P„"¡E8!‹1jôJJJ0"qbqU£~&ÕDKsµCêp¹Ýé §E(BŠP„"¨ «ÕÊÎÛñy=”WT$3×Ð?¦_Â]UUœN'N§3íJ_„"¡E(ÂW>oOôÞÞåV› »Ý®k}ÞÉŠÈ©ü¤EFZ„"¡EøŠKŒB`·Û‘%9Á·ö—Ÿ PT…X4Ì×g„0ö±xÓ¯7—ïÍ¡Sá{Ïv"èý^¦ßú—ïý¬w¹þmd*Ó¿½lmgK¦òÙÚH¹Æ˜­ï…à?Žóá$W?û÷!ßœ ùÖD¦ñöw¾9ɇûLõÚF¾õŸ©/ùpŸ"àÞA+ ¡"iô@§Q‹ÅÂúMxoÁû© YùYª/ÙßÑuÒÒR¾1ûDÊJËÒQÒ2:nŸèAaïfZ¹žmRr}ïÝF¦ÅžÎ¥ŽÁô!ÓBÏ4ÎþãÏÔß|õdƒËõ,Áe"¾ls׿ÎÞïdZôù6ÑB ±5–kü™ú•)dÛ39ß<æÚ8 Â+"ã8òá©H£E=PiTUUâñ8yæI¶íÞFeue"ý>B¦@‘t#ÁeYΞqH’ص}'²,ó½sÎ'¤iûÏHû,©°w³` =Uò[¦ö`O»ùNS¹$Œl‹>×i2þrjs„³…·Ê· sýͶÑd®sIA…Ø52õ#×Xóõ+ÛŸi£Ï¶ù¦Ò7‘a ©ß¤J‰¹ÖkÁôQ¤Ñ"@4šHJ!‰0iê$†6 Í(AJ²D(bͲ5C0å)8Ü„±/ÎUA–$‚Á`:,é~1ÒBNKùNJÙ_.•D!å²mJù-×ï]>[ݹúÕ?†l¾…Ÿ_¹¶\ DõVˆŠ«5T.ÕT&\å;íöÆi¡k¡³õh>ÉMÊó7Ý窬\t“1 „>Š4Z¤ÑÿtíMoñxœx<ž‘‘š-fvmÛ…®éȲLsS3£ÆŽÂÐ÷õ2„¦i $‘†ªª¸Ýnd%Q4‹ Ñu½ “\>ûK¡6…þe ÃÀáp`w8×ãI#A$c$ºKJü„Ãጡ¨ µídÚ³–²I…œd3µ‘ _†a`±XpºÜ}„®‡ …BȲœ·®ôÿYN»½ßÈÉs P¾5’m­ÚF>;V¶±å³£åÚÌ •Ø aâÅa¡ÒÖE£Ù˜E!8úO¡ÑH©Ù~/Òh¶¾'"YÆ,’ $IB–eUI8 ‰Ìt(í¨PFšŒÛífûŽí<ôÐÃìnjÂdR7v,³gϦªªj¿<|óvž•””ðÁðô3Ï0¤v_üjkk‰ÇãØívvîÜÉm·ÝN§‡ /¼Ã=4ÍX¾Ê0Wn§ÓɲeËøóO`ÂÁÏ IDATµZÑ5‹ÕBuU3fʱÇC<OG°* ñAõcÊ|™õ}ûV¨ í«8Fin’Ò~®³ÿ”¹ÔZ(ÒèÀû&È‘iÿ `Õ®Ãáàí·çó3Î ‹¥Ó6I(ŠJsÓî¼v†L6¡B<òÒg ‘]`¶XYºôSžzê¯ 6”^~±X »ÃÉkÿú¿½ï>¦M›ÆÑ³f ³ª5 u¶è?ÖlNùNÐùTx¹NÔ©ïV›uëÖóç??Ùl&÷)3uêTž}æi†N$I§øÊe—ɦRË5Ž\ª«x æRC¢nʵÎrµPI+WÙ\Î ý­P:ÉGW…H§_$æ“J¢^þ¿J£ùæ¦Ðߊ4šÿyÆw$Òë39ö ö0[°j7‹ñ£+®`ìØ±<õä_˜¤MÓÐu1cÆpÝu×%s³)èºÎÓO?Ü9'0nÜ8Ž8âž}öYl6n·›çŸžÆÆCصk&“)™‡ÎÉK/ýéÓ§ÑÙÑIii){öìáÒË.cò¤ILŸ>_üò:Âá0‹eŸÄÅ)d¦\š/¾øbÖ¬ùŒÍ[¶`³ÙXýÙg¬ß°Ë/¿¬òEÁívóϾÊqÇÇ„ ã9zÖ,^yåŸ8N*++9ûì³ùùÏÁÒO?åàƒ§ÓØØÈ¼y󨨬â/y’©S§2sæ,Z´»ÝŽ®ë(Š‚ËåâÅ_☣fÂøñœô“X°`‡!•••üä'ÿÅùç_@KK ³ŸMuUË–/çä“¿Ém·ÝŽÕjM3¥®Î.Ž>z¿½ï>JKKǪ́·$å]ÖÙÙI{{;Á`ŠŠ ®¼ò*žþYÚÛÛyö¹ç(//gÏž= :” 6`±X}ª¨à®»ïæ¸ãŽ£´¤·ÛÍ;ï¼ËøñãÙ³ggžu&Œç¿o¼ —ËÍ–­[™={'Näž{îÅd2PQ^Îüùó™0~<­­­œþíï0aüx.½ô2¼^ozûK Ù>ý‰3Û{ÙêÊT&U_¦«™¼v³½Óÿ{¶þdb¹Êe+›m¹ð—«­BëêoÿH²á3óá;“³P!xÌ´žr1§lã͵^r=Ïä(UN ñÚÍdŸÌ7ŽþýËôNi´õ¸‚¸§á †4O«V—¶ƒfº*õ¹3R‹ÅÂá‡Î]{-÷ß‹/fë¶mH’D4Moök×®å²Ë/' RSS×ëá’K/ãž{îEÁôéÓY¾|}úiÜn7š¦¡( ·üê'£Å‚ ™8q2oÏŸOyy9‡û￟cŽý:wI¬?":r&eåeÜ÷Ûû0[¬ÜsϽŒ1œÃ=4mV0ŒDVök®¹–sÏ;¯×GUe]ÝÝœwþùÜ}÷=X­V$YaÃú Üwÿý\{íµ¸œ.vïÚÅE?¸˜Ë.½”;3ªÊJV®\ÅYgŸÍƱZ­X,®ýéOùþEÑÙÕEMm-k>ûŒ“Nþ&zôQv;’¬°yËž}öYÎ8óLººº¨:”Šòr&LÏwÞIOOŠ¢`w8xù•WX¸ðCŽ9昼ö]UUQUY–Ñ4î®NŽ>zS¦LaîܹH²B8¦¹¹ŸßŸÎã')*7ldÁ‚¨f3ªªÒÞÞÆÆ9ç»ße×®]¸œ.~ó›ßðã+̹çžK(DUUn¾å{ì1lÉìAmmílظ‘oç ¶mÛFUU~â ŽŸ=‡P(T'`ÿ9îO´ƒubÈÕN!ÎÙN±…^Wé¿b+ÛG£ÏÕúo²Å Äi%ŸË@ÆXÞ³Í{6»q¡íºF³6?Oÿ»i´àþ èéê¡¶¾–ºautwv£k…;Êî7#BðØ£â„Ùs¸öÚŸ2{Î yäQsì×yýõ×q:ÆŽËêU+Y¼x1 ,dݺõÜxãóë»î¢½½ƒidÖQGñÚ«¯ÑÙÑIII ‹/fÇŽüà¢ï£¨*W^u§Ÿþ-6®_Ï‚… Y´h1kV¯fëÖ­<þçÇ)--M»6g:A 1’9³çðƼylÞ¼‰yoÎ㤓N¢¡¡!ía2[x{þÛüñÁyåå°lÙ2,\ÈÚµk¹óŽ;¸õ¶ÛhiiM0%“ ›ÍÆïø= .dá„Ãa^{í5æÍ{ƒwÞ}—ùo¿…ÏçãÝ÷ÞÃå.aáÂùãäÇW\Á§K—ðþûï³rÅrfÍ:Š_ýêVvíNØ”Íf3?ûÙÏX±r+V¬`Ê”)œ}ÖÙ<ùÔS”•—ÓÝÕÅÃ<Ìѳf1£±‘h4Ú‡‘æbH©÷\îRJKKiMŽ+ŠÜ71»ÙbÁn·'Â~$/;œñï°té§|ôÑbÎ<ó {ìq~rõOXüÑG|üÑb1ƒÇÞ%„@Q6¯ßLwg7¡`ˆ€?€ÏãcÓÚMòh4#B‰Dh6Œ—^z‘Û·ñÚk¯òË_þ¿ßÏYgŸÃܹsq8†àù^ ªª*}røõ¯ïB×u¢Ñ(‘pˆŸÿâç¬ß°¥Ÿ~ŠÝáäÑG£¼¼œo}ë[lß¶õë×óÊ?ÿ‰ÃéJ×1yÊ Ã`Íš5ÈŠºz·=7á²Ë.%rþù`6™¹àüó ü}Þ[¼ø#¾ý3úH7Ý|3]]]IÛg€ÆÆFf}4Û·meÜøñ˜ÍfN8ñD&O™Ê®;hllLØ&½^V­Z ÀM7ÝH8¦µ¥—ËÅÝwÝMOOMMÍ„B!¸äâ‹imi¡µ¥™îînæ„9sxäáGˆF",X°-[¶òËë~I<Ï+•g:%jñ(±X‡ÓÑÇã/QÔ{Â3FÉùáHG{’$1eò”¤ýìimÁîp2qâDš››÷‘”ö³ŸÒÝÓMKsçž{.CjkY´h1&ó^õn¦Ól.ÕO!ê¦L§ä\D&)1›ä˜é¤_ˆŠ,›j+—t“Ký–é{®~g“¤Òïå¨+“D _™ú’+@B®1dr\Éwµ#›ê2ß]Ø|}È×çls™Oéw  ‡|Òp¶ ÙÖrÆ:%r®ë¯æ“ÉDÓÎ&TEÅl63~Êxg6â*qáp:hmjMkå£ÚXd#I"SRR±ÇÃ)§œÂÍ7ÝÈðá#ùýþÈgžÅÕ?ù ¯¼ò œ> ”••±~ýzþüÄ(Š‚¦iÌ<â*++ùÛß^âCfÞ›oròI'QU]Cww7\p>ÆOH;ýñXœÃ?Œp(ˆ¢(Y‡™uÔQtÐA,]º”3fp衇¦c ‚ ÷Ü}7áp(!€!Òý¬®®J3“Ô\™L&H:Ó¤Žl&“)ÍØS}Š'ÃI94MÃl6#„Àív%l™I{.B`2©4z§Þ‹Ç5®¸â ¾ýïðÖÛosßý÷1iâD?ì0¢Ñè€<Ö$I¢¤¤„;w²nÝ:Î<óÌ>j'“ÙÜg1fS§Bqɲœ¶G§lÍ)u¦îX-VdIFQT“I–<†| û«*Ìç)›ÏÓ°Ð ëñÌÍç9˜±a°¿êü‘ËQj Á_ u6ÊÁ(›Ï@q;Ïí|ó?PÏí|^¸ƒéûþ¬³¯ö/oÞ/6»ñSÆsÔñG±ñ³4ïlfëÆ­ºAUM&³é‹c¤©{<***p8iQ¥»«›¸¦¥ƒ¿òÊ+\ñ£ñàC¥Ëßpà ézt]§¢¼œK/¹„ßüÏÿpÄGÐÕÕÅUW]I0à§¼¼œŠŠ </×]ý>}ñôt …Ò›w6†ÁÕW_Åe—]Î5ÿõ_Äc±>e¦M› ÀäÉ“8ù›§ôù-‹âóùØG,ëÃY²ë÷GÀÓO?ͯ¼*ù²Äƒ=œvbJUÝ»û)¢ƒœxâ Œ5ŠŸüä¿Ø±cwßuåååtvv¢ªjæËÔÉ¿555Hr’Áiq|>×_~€K.¾„X4’`àÀºuë˜5ëh¬6;-ÍM|ôÑG8ö}îï•Z2Û~’q|öAÐßÿþ~|å•,ùäcZZZ¸à‚ó†ž7|Y6Õ[>é-ódå¿ìëÚB&õ[6GžlÎyÂþ‡ÌñÎç´¾Ð>´>ŸÊ5SùBæ*WˆÀ­Ï¦6Ì´éç»:5 õ Xh"BíÅ…¬¯7æê,ËèšžÜ uj†Ô †xé//a2›ðy·ÒcÁ÷ –H Ãà Ñc˜3g'L ¬¼Œ`0È /¼Hkk+÷ýö·yä‘<üÈ#˜ÍfJKKùpÑ">ùä á%%„@ÓuN>ù$øýï¹ìò2£±‘Ñ£GF)--å~Çùç_À˜1£9í´Óp9x<þþ—™9s&/¼ð{Z[0™L Û’$8çì³ùÁE ‰Æb{ßC ÅcœuÖYüãå—ùæ)§rê©§2mêT$Y¢iwOüå/,úp!3+«ÐuÃèÃ5)æ„‘u!Í™=›c=–+¯ºšåËW0rÔH–|²”W_{•+¯¼’1cÆ$Þ7DÆ@’$¡( 7Üp=—]v9ÕUU|ï{¤2ojRºŸwÝu7²" Ghjn⥿ý¿ÏÇ=÷ÜÍÔ©S…BTWWÓØØÈ~tÛ·ïÀl6ñÆëóذq#õõõ½ÚØ—e¦¯õ^#Â@ïj+Uì®»ïbÍgŸQ[[Ãÿø ªªrñ~€×“¸>3Pg†\™½®µ‘OmžMM™- `.¦Ù_ÍÞ*4îëç!y Ʊ&­ÎÁ@se ±`³ÅBìºÉç,ThùŒøN®ºBcËf[C…¬ Q'ví F‚ü2i435[Ì(Š‚ÉlbÙâeT©æº»®ãýyïÓ¼³9¡5´˜ÅDÄH­V+÷Þs7/¾ô÷Ýzó?òÈ™ü¿ÿù sæÌÁçõðÈÃqÍ5×ò»ࢋ.â{œÏE?¸8}5"ðµ¯}™3`þüw¸ðûßÇétâóùðûý|ë´Óxgþ|~}×]üö·÷¥Õ§³fÍâ²K/!ð÷Ù€{_géìh4š–^{ÿ¦$U—†aðÌÓåO>ÆC=Ìk¯½À°aÃøÉÕW3|øp,fsºï)u¬ÙlƤšöÁ“¢( dYæÙgžæî{îáÑG%‰R^^ÆwÜÁx9±X `2›ÒG™Ù‘GÎà¼óΣººÇ“f¤™BdIrâÿ” ²¢‚SN>™Ë.»”C=4­VµZ­ü鑇¹æÚŸrï½÷pÿý÷1mÚTþö÷¿'3#ÈŠÜe¢$ï÷ö^wªjÂb±ô“Pá‘Gá²Ë.£µu“'MâùçžeèСé0 ˆÍ6ž‹é ¦\e39;亚‘Iªë3çBìÚ,³Ø_‰´ÐñT"E$Üj²mšÙ’dÂÉ`Ò¨åÓ@Â=æÓH äAIïÙ?…ŽÈ—îË’H¿,Í÷¾¦i 14¡Æ5 þöäße™X,F$¡nXŠª¤%׫ Ï8ý4q÷oþ‡ÚšZb±N—›eK>ahC.—»´d·Û³xÛ ÂáHZŠJ1"c±DRT]×ûLŠ¢(i5lïX½B¬VkÒV'önË’„¦iÄzK—½ú#ËrúºG6ÉBQ”> Ë%IÂjµf$–H$‚a{m€½ú¨ªjºžLÏD’a§˜do¢ˆF£û0ÿÞ& ÃHA¸ë×wrãM7³fõ*† †Ö/•ObKá qÐè{Ê3 #0¢wŸSÞµròÇB¤=jSuöž¿þ¸N©PRÏ**«øóãsÉ¥—ÒÓݵ÷þ¯膑ˆŽµO@‰ý³Ç ÖFUhöØÑ Í9PûÙ`l°¹ÆÑ6µÁD6¬y öÆÁÚEºîk'ü<çj0v×/ÂfúEѨÉd" ð«»nÃYåbXÃÐô^™*«¨ ==4ïlÆæ°%Lh µuµT©î³—¥xŲ%˘1±‘Ë.º”H$‚Ýngû¶„Muø¨QH’Ä’?*ÜF  sêÁS6Д ·ÿ`ûLOmØ© ½™YŠÙd:ádóH3 #}/5Û¢Imà½û …2ž¼Rm¥&¤wSÌ<Û3)ɸÂápÖzSêîþu—––2þ|®»þzV¯^ÃwÏù.#FŒH3Á\›K ©ÃK¦vûxòjZzúÏWŠÉ§êì7½®{Ï}ª\\K„(ŒÅbé5‘j?ý¼rb-ôt\H:®/>/G¤Á0ý/ ÷Ÿ7Ã,>ëxõEÍÓþÌïWi½}Ñ4š­ßº¦SVQFiy)>O"Ûðƒ†£¨J&ú…©v³¥,ÊE„ý7ÊÔÿÙDÿl'é$ÉÍÄûßIJy¤f: ô.›/VfŠ©ô~¯÷³þuæS—ôÇU(fëÖm\xá…Ü|óM9³³gc>UWï÷³Ýsìݧ>mH¢¾z¯Cר®ª¦¾¾.ãzÈ7ôßÍŒ ÍËøïd¢ÙTÌŸ×&õeŒ/_‚êÁŽaú]ÈØ÷·_ö3ý<ÇýeÓ¨”63d¦‹Ô>ZRV’þ_ëI§Ï~wn3ÄŽÞ/F:Гøþ$ ¦›B¾T=ŸWÒàBâž2žlê¤l‹¼»»›O<@ €¡Çñz}i‰0_¤B=sÙ¾ãØÿ{ww7sæÌ¦©©™î®Îy0BÀ…¦óÊxüsKìÇ#v ^»ŸKbï"~¡4:Ã×W•F³õïÿ"&$B¤*Š‚ª¨™œ€{u"ñGQ•Ìø@BQ$Yîëhº¿Œ4Û‰/[@æ\D\h´•|§ï|’c&Éj0÷Ü ÄiñôÒ‘-èwÿò²,‡ñùü(Šœ¶%ŸQses³ÏÖÏ\Ç{K°‘H¿?€ÙlÊÇr0'ü|8Éh;_†“Lë [R6·ü|w$s]qˆ\¤Ñ/F*Ei4W`ýÿs4š´“Ê’LKSKÁ‚,Ët¶w NRò"t´Ð{rùRã ÆS®P5[¾ëƒöJÌrÎtw,Ÿ3C.)¦·ºÕb1ç•rIC…x+æT“ì:ÛfŸRu§ÆëK2Éåá—oäK–O2+4#É@< ¹Ç™-ðx¶ h tU¤ÑχF MBýU¦Ñ|Ùeþ¯Ð¨¦ëØm6¾õÍÓ˜ûæ\Â=á„Ø¹šhÍЙ4f"Çut^¦¬äd‘O}”-kB>‘>Br9=Wf‰¨ºqäO!ê˜|›ò@Ó5eRæÛHs–r©ˆrmvRŽ;‘¹æ~°øÈ·V Qµæ{–«…^)÷…¨(3Ío¾ñi´H£ÿé4ŽF9ö¨£9|Æa Æ·Ÿ>VB¬+ЬGsò2Ò^ØìÅñ\§ŽÁfj¨m ßÿ…_,Î}Qz°‹ãf*)¤¿ŸçEîÏó½ý¹<^è³Á®‘¬¥Á®µ"iô@¥Q G"ékxŸ¤n"仪§öåÀ{/Ñ«ª©O Ù"¡E(Bd0™Ì(ŠŠ®G³3Ò”Š ãéîF‹kéPpE(BŠP„"È4hoÛCYyyûë>Œ4QW?”ÎÎvü~_sE(BŠP„"°7noEe%º®¥£ø©ý_Òuêšêêë‹X+BŠP„"¡7Ÿâ±X³ç>ÎF½ÃÆIƒL)S„"¡E(Â*#íïð”Õk×jµ²ßþÃE(BŠP„"|A’ ‹c‰;¢ªª¦Ssö–S©ðt]'C†{Çû0R!²¢°cûvBÁÀçð¸E(BŠP„»T)’,3tX‹EVƒlÛº5©•zqQd‰ººzª««÷ÉÀ•Y"M†[Ú°n-‡zñX,ã’¤Hk³Ù ƒH€¬(8ìv%Ñ‘Xº…ä $¿2‰ õI›V¸œ-Ë2N—‹xJ´gÆëñ&ÚKFr¹\Äb1B¡Pv<‰d{NðûýéûOéñ団^øŒÅb„“í !°X,Øív|^ïÞlòpAÆöRã³c6™ðz½ä²¤ÖFŸöRøt:Aˆ½ãË2ŽÔ 3'ÎzµgµX°Ùíx½^D¯öœN'†ò´‡v›Sïñ%¦.§“h4J8Î;û´'ªÉ„Óé k¹ç/C{‰Ëålv[r|"çü™L&N'¿Ÿ¸¦‘ÊÈg·ÙQ“ã“òÌŸÕjÁfM¶—  'ǧ<ø”°Ûí¨ª‚×ëKçmU§ËI$!ŽäƧ,átº0t}o{ýƧiE;Ö¾{€Õf%fŸ£ÿÃ`6[Ø´a=ªª2fì8|~ >xŸ¡Ã†ãr»ÉT˜º®ƒ†à“>bÚÁÓ6¬aßHGgœ~šØ´i£ðy½¢³£=ýyóõ‰l°}ûö>ÿ¯ZµJÌ;Wtww‹‚×ë]ƒ(×/^,Ö¯ßÐçY$sç¾.âñxAu¼ýöÛ¢½££Ï³={ÚÄ›o¾YPùp8,æÎ}]hšÖçùºuëÄG\P­­{Ä›o½µÏó-7m*¨ŽÏÖ®òÉ>Ïßzë-ÑÕÕUP‹-›6oîó, ‰¹s_ºaTÇ›o¾µÏšhnno½ývAåÁ ˜;÷uÑ¿µÕkÖˆ%K—æ-ÅDKKKÁk(ˆ¹s_ßçùªÕ«ÅÒ¥ŸTÇîÝ»Åüùó÷y¾`áB±mÛ¶‚êX¹r•øôÓe}žBˆyóæ ¯×[P ,؇N}>Ÿ˜ûúë•7 C¼1ožðù|}žïܹS¼óî»ÓöëÚ[¾|…X¾bEAuìØ±C¼›¡½÷ßÿ@ìܹ« :–-[.V¬\Ù癦ëâ7Þ@@!3ìܵë?z|7¬Ë—~"tM/½ðœXºä“4±éš&bшðû¼Âãéžî.±få ñàï'<=Ý¢£½Mtv´ ¿Ï+æ¿5Od ÿÒ§’9§N”;wî䦛nJ¿÷àƒòë_ÿšU«VÑÖÖ–(Û«Œ"gP‡Çœ¾ò @:gå@>¯¿þ:¿ýíoÙ½{Ès pÛm·1ï× ÉS²‘µŽßÿþ÷<ýôÓtuv¦û¸ñÆÿæ“O>Iâ$sùÔøn½õVÞ|ót{k×®åÖ[oeㆠ9Çàóù¸ñÆÿfIº½Ä¼úê«üîþûinjÊ[Çš5k¸ý¶[Ù´qcBÒ&.ßwß}<÷Üstuuå À+¯¼Âþð‡>íüêW·ðöÛoê•—¶ÿ'õîÿþïÿòüóÏÑÝÝÆEWW7Þx#Ë–.ÝgmeÂç¯n¹…ùóßN·°bÅ î¸ýv6oÚ”K—|Âí·ß$r¢æ[G·Ü|3ï¼3?Ÿ`Ù²eÜyÇlÙ²9o{íííÜxã,_¾<=>€_|‘‡zˆÖÖ–œãXºt)wÞy[·né3÷Þs/½ô===yçïùçŸçᇦµµµO?n¾ùfÞ{÷]"‘ rÎßÝwßÍßÿö7<O­­­Üxã¬\±"ï8„ÜtÓM¼ÿÞ{}ÙôÑGÜuׯٶuk^|677sã7²jåÊ>ãxú¯åÑGÿD[Ûž¼ýX´hwß}Û·mëƒÏ»î¼“—_~9¡9ÈÏñ°cÇ~zíµiœý'Ž1‹{sN5ŠxqSõ455ñôÓO§7UUÙ²e ßýîwùö·¿M4Åb±ìÓÃ0P…@ @mm-7Ýt±X,}Géã?æ‘G¡¬¬lŸ~¤ó&ëØ¼y3\ð=N=õT"‘fs"hü’%Kxî¹çúô-[<×>úˆ‡~·Ûî3@[[O=õÔ>øÌëséÒ¥<ÿüó}ð >|8×ßpCúY6\tttðä“Oöéó† ¸ôÒK9ᄲ⳷ú¦´´´O¿úÏ}ïõÚÝÓÃO<ѧ½uëÖñ£ýˆãŽ;®.z;Õg¯×˸qãøÅ/~‘_j3ê©§P%ë:JõcíÚµ\uÕUsÌ1D"‘t{Ë—/çÅ_ìCcÙÆ½hÑ¢ôZîÝg¿ßÏã?ždd̼‘ÂÅŠ+x饗ÒS“ÉDWWÓ¦Mã§?ýiÞµœ¸“æÀ0ŒôóÕ«WóóŸÿœÃ?<ïèì줱±‘k®½¶Ï8-^œ¦³LôªC’$V­ZÅõ×_OcccŸ½aõš5éñõÆg!É¿ˆ¤Þ¹’«gú} u´ÏªªRQQ‘•v>ϱç+ß{}fú-[jÉ&¦O­Y–±Z­<þøãüq¸\.´xUUikkã¡ÿÏÞ{‡EumoÀïT˜Ò›¬¨ ˆÆÞc‹5šÜäFsM3š5Æä[4jÐ{C“¨ØPãÕ£b¯€ ÒÅFï0Ô¡Ì s¾?tïïœ3çÌ ¦Üßw¿ìç™ÎÙk¯µÛÚk¯õ®­[qóæMtîÜ*• ‹/†B¡À–-[àèèˆC‡áùçŸÇáÇa4qíÚ5tìØŽŽŽH$8pàîß¿.]º ±±QlZ*•bóæÍ8sæ nܸµZÀÀ@¤¥¥!,, IIIÈÈÈ@×®]¡Õj¬õz=ÂÂÂäädøùù¡yóæ¸xñ"Ö­[‡¤¤$”––¢ÿþôöû‰÷îÝêU«””„ÌÌLÁÉÉ Äþýû“É„ÐÐPÊ ›©TŠ‹/býúõHLLDYYú÷ï©TŠ7"** ׯ_‡V«E‡8ò uI¥R8p@\\¥WRR‚ï¾û±±±HMME‹-àããC ÐmذçÎCLL Ôj5:t耤¤$|ûí·HJJBvv6ºuëµZ-d­Óé°fÍÄÄÄ -- -[¶„¢¢¢°iÓ&$$$@§ÓaÀ€œ6÷¥R)’““±råJ$''#;;AAAÐjµˆˆˆ@dd$âââ`6›"86H]yyyHIIÁˆ#8 _ö‰‰‰”^NN‚ƒƒ¡Ñh°wï^>|±±±`Ý»w§¸›ü6Ÿ9s›7oFbb"ÊËËÑ¿0 ƒuëÖáâÅ‹ˆŽŽ†³³3Ú¶mkÑf²qìÞ½GEll, {÷îÈÏÏÇwß}‡¸¸8¤§§Ãßß‚cY"‘`íÚµ¸té‡^||D»víàææfw¶þ`kñ·çykïÙó?[ïˆbÓZÁñ­¬¬Ä… 0qâD޲ÙÔMµ)ÌMy¯)²㿤¸ðñõCJrÚ¶m•Z ¥R‰¯¾ú _-\ˆ;wïbì /ÐC̓÷ع3]ûär9òrsa²ï?þˆ””8;;ãÀ „F£§§'ºvíŠaÆ!$$ …™™™X¾|9ˆÀÀ@¬\¹(((ÀÔ©S1iÒ$8::Róëµk×àë닇â‡~ 47n܈ððpŽI‡‰-¬ÂÛÛ¡¡¡èر#ÀÍÍ ƒ†V«ÅÈ‘#©*4¸ † ggg <^^^ôìÙ6l˜Um‘OhÎ!!!hß¾=Úµk‡^½zYþþþ …§§'‡Þ Aƒàåå…^½z¡}ûöVYHHÚµkÇ¡çèèˆáÇC«ÕbÈ!ððð°ªé 4žžžèÕ«ÚµkðððÀ Aƒàää„#FГ–PqppÀ°aO´¸!C†P­¶mÛ¶ ··7†J7Q¡ÉîááZÐ E@@:tè€=zˆŽ {@ö3žžž‚ôzöì têÔ‰Ò¯nß¾=ºwï 2„N´ÁƒÃÝݽ{÷†¿¿¿ÕEñ¹çžC›6mˆ€Z­Æ°aàÕj1lØ0zÂãsÈ!pssCŸ>}ЦM€ €fÍšaäÈ‘Ëå¢óA¥RaذaÐh4>|8¥×©S'ÃÏσ¶=»x{{£ÿþpvvƈ#(½Þ½{£U«VèÒ¥ ºuëFå)ÄK`` ‚‚‚мys 8>;tèP¸ºº¢oß¾hÕª• ägï޽ѲeKtíÚÁÁÁ­V‹¡C‡Rþœm.¸b¼6uÃRÂmÕÉñ2I”n+œ==`ýbmÖxµ& kalõ‘ØéÕž ºÑüDaX²d =~Œ¢ÂBŒ5 o½ý6 F£U |›¦Ý’’ܹs6lœ}zÃh0ÀñéI¨Ø<‘–••Á`0ÐûQ­V '''@zz:|}}é=dddॗ^‚ÙlFmm-V¯^úúú'îæ V¬XK—.a„ ˆ‹‹ÃsÏ=¸ÿ>ºvíJO‰ä$Ê^tøÆDЃ:øH¥R466Âl6Ó“,9ý½OênllDmm-ç~¶¦¦†:_ð3Ò“÷ɤ5™Lz¤Žººº§ÎÂu°µò'¡ F íÉh4Rþ„»Íõõõ”iáÏðÖÊÖÀeÓ#uÔ××Sþø—gLè‘ Í'ü…„}7Î0 ôz½ <ùü‰9ºˆMzö3¤ÿ˜§¡4lþØôêêêD'8ûY½^Ïá-Ïêêj»ú„¬õ¹»åe¾¶n2™(=¢üU“0þcgBM—´­öihqç+ÄqNHž Ô™‹?øuÑãóÇÖèÉd2Ú&öO±Mˆ_§ÐßB›ŠPÎUþïìïľ–g›Z‡/ÖæÐú•?¡gE7çNG!=z€a44< 7$דÖdds#õôôDYYN:…åË—Ss!$$$ €3aŸ{î9ÀÏϵµµðóóCHHðË/¿`æÌ™2d¼¼¼péÒ%j޽{÷.5¿ìܹ‰2™Œã!%vìg/ìÂö8ä/8|oHv1™L¨ªªÔ…6!zõõõ/P!Ó†=R‡B抺º:º³ÛÆæO,12Û{˜M<+&O¡"&O² ™¹ùu ÑcóÇ·©91íé¿ÚÚZºqÛrú`o˜ì:ªªª,Ʊ˜ŽO|Ï—'Ÿgv›*Yq·ì…Ÿx¨ ÕaÏ|`+¬¶L‹ ÈʓxÎÚ2¹ñéYãOlmÐëõ”žÐ|°¦PÚ23 ñ°iÓ&úA‘H$pssÃìÙ³!‘Hèw·o߆D"AAA‡öøñã ‰Dò4¦]‚††'‰¥ùåZ·D"Á÷ßÏ¡G-|öÙgz·nÝ‚D"Aqq±à8¶ç>’ÿ!ô\]]ñÅ_pèEGGC"‘ ´´”Ã߈#Я_?z½‰gÏžå8’®\¹’C‹ÐsvvÆW_}Å¡wýúuH$”——sè :ƒ ¢ô,{÷¬Öh —ËŸÄ)k uÒB«ÕB¡PÀÑQF#jÞµél¤V«Ñ¶m[ܾ}#FŒÀ°aÃàééIïºuëÆl¿~ý€ÔÔT¡{÷îððð€——âââ0|øpL:•nÈ¡¡¡P*•Ðh4ôÞD£Ñ 00ÞóY[ÄÈe»ví Õj9îååEïù„2Ò³ëñòòBûöí©s9·hÑ­[·¶ºX‹Ñ#Áõþþþðòò˜äw¥R‰–-[ZÐsssCûöíŸ;ˆ,@dÐ899ÁßßžžžG$6¶î =µZÍ9%x{{‹Ê“ï´âííöíÛsx&üµjÕJônˆ}JçÓ#üл^k›SNN0zôhŽ7°ïR©>>>hÛ¶-‡ž³³3D=Ùrppp@«V­Ð²eKNÿyxx ]»vTµ&{>=2‰<­™ÉßBô¤R)|}})b i3›ùÞÑÑ­ZµB‹-lÞWÉd2=¶<Û¶m WWW›N2„^óæÍ-äÙ¡CÎ]½Ø=c³fÍ8ôøü ÍIkcÛVÿi4¡gÏžœ6ûúúbРAœ±¡P(àçç‡þýûS+œD"»»;úöí‹ÀÀ@ÎðôôÄ AƒàââÂY_ºu놞={rø#ôØ}¥T*áçç‡~ýúY˜åùüUVV"** “'O¦&xþZÃ~žÐc÷•R©¤Wä †ô_¿~ýè!ŠÏ¹·&ó=44¡¡¡‚üùùùqèµhÑÂ&=ò}Ÿþ¹ÝãØÞþSd¬µShüðOÇÖx““m~ÿZ“›­>¶U‡Øœ-y Ý_Ù[‡Mé[wvöœÒø×B}-Ô±9`O¿ Õñ¬ôÄø,((ÀƱbÅ zßß”9ú{øzö”'))I‰044 ¨[7\¼pFƒ."  ËÊÌĈQcÐØh¢ÊsLôMÛÎFR©„+³µ[þý {牦AeÇéSûw¢õgùŽ9BG¤n¶¹•ïo­ö½*û´Æ_ÜÄÄè‘:ˆ J¬!S#ûYküñëbß©ñëà÷•˜Y×^yZ»Ä¢gMžbýÂï?1þÄäŒàà`‹±$¤<4¥ÿ„îö¬õ{œ )CööŸµØQ{èñå)f¦¢g«ÿ„Æ“=ý'dbRì¬ñ'4~È{bý'$O¡;R±“§Ø:"´v‘6³ïäÉOöºÇ–=9Õ³ÛDže×ñ{鉭g¾¾¾X±bÌf3u “ÇÍûY1þHØÔ³Ð³pú ÁKœ›»»è+—ËQŸ€_§°íòÈR™ˆ]ø©©ŒOXÈ»•m2e›øäwö¦fë>Ž¿A°MŒ¶Nµd€ñbÍkLè„!´Éð¦¸Ç –ÅLÓÖî‘ùü ýŸÏŸÐ¢Ï6 ™wøc@è1Wu!¹ðM±ì Îy…N¬-|òû­4ŠÉK¬müqaë$Ëw<ã/nÖÌÒBãPH>B¼ˆÕ'FOìj@(®U¨[§P!?¡xW±P±:„惘bÕ”˜O¡¶ )¬Bk"1 òûPh­ èñOêà·ChÓ`Ó³5ɦ$T·½{ÖÖ}kmš—ìMÍìþZû„׋FŽƒœÅ³¢@Úl$6p„4:±Kü¦¸‹‹y7ZÌÖ<+Å<ó¬ÑÛ0­¹}‹ÉÁÖ)ÎÚB`,­¹¸Û’¥½²¶åÎ.ô¬-s¦=òsð²6®„î´íqý·g‹µÝÙÛ’µ=ôl)uÖê°fY±6æš"CkÊž­qaí ÃÚ:dË[ÛÖ|°§ ÖÖ{稽mµg}±v·gŽÚzž¿ù7)Èþ“ß?OÄÀ4„ž±G)x–"mÊÃ|WbÒ ³ùI&¶³ã{XŠyÑ ”„Nü’˜!M&“…7 D"¡!-Ö¼f íúúz ïXR‡5ó»N6=6OBrêt>=6‚g" ››?‹¬÷bô„ä)´y ÑãÏZ¿X“'ß“Vè4/ä.oÍ‘„ß6öò¤ÏBýg4EûOètʧGæŽ Â =v(•˜ì…æœ=¶ ù^èÖ,7Bò$áTÖœ]Äèþ ƒ BãšOÍŸ5oj¡qùG2Ø[§Ðý³ÄBFþL@[V+kòý£þ’”´´´³fÍ¢ º|ù2¦L™‚éÓ§#>>ž>¿téRL:³Ÿó¡ñÈÏŸ~ú ôÞ‚mnÒ ùßK¥R¤¦¦b̘1œ[Ç /¼€’’«uH$œ>}#GŽÄ­§€ê¤}_|ñ^ýu ­FHÓÛ¾};ÆŽKá% JJJðÚk¯Qðt>üôóÏ?ÇôéÓ9÷<‰‰‰5jÅ®åo†ìöãÕW_¥¡JÄ5üäÉ“9r$î<Óþ¤R)0vìX)lÞ¼ãÆã„Qðû‡ôó‰'0bÄ$$$PƒsçÎÅ[o½%ø®P"ñãÇsb0 ðòË/cÕªU´mB1~ÄÝÿË/¿¤‹X¬)ù}ýúõ˜0a‡^~~>^zé%„……qƱÐZ__O>ùï¾û.ǹ!..cÆŒÁ‰'è÷b›p^^¦L™‚5kÖpúïÈ‘#9r$î=M~ 6?¤R)bcc1zôhüòË/zß}÷&Mšd±¹ñï‰% "##1räHÜš€lh|ðÞÿ}Žé\ìt¾zõj¼øâ‹œ8êììl¼øâ‹X¿~½Å|àס×ëñÞ{ïáÃ?äÈóæÍ›=z4NŸ>m³™™™˜4i6nÜÈ‘çþýû1räH #tjy–8R[1ÌbcÞÖûöžHmYU¬µƒý^nn.fÎœÉ ± ^¨-Öxµö»…5+‡=ÖŽ?£Ø4í2x¨JJzz:Z·nMð®]»°víZO /^Daa!Ž;F'‹\.ÇÙ³gqìØ1øûûcîܹÉd(,,ÄСCEíúÖÀæ‰À"##†=zpW.^¼ˆË—/Û¬"""põêUºËårdee¡®®?ÿü³U¶RqéÒ%ʳL&ÃÕ«WñüóÏãí·ßEó!%##F£GŽÉd¢¦•C‡aãÆèÒ¥‹(:)—/_Ƙ1cðÆoPt$Ø¿?åOÈÑ‚=18€7¢cÇŽyÞ¸q/^´*Ov×®]ãÈ3332™ ‡²Ê‘gLL .\¸À¡wáÂLž<¯½öšMy’ÝSÄÅÅáüùózQQQxå•WðÊ+¯X ùðµþ‡B£Ñ`ýúõœñ²oß>üøãhÕª• ßìzΜ9ƒiÓ¦aÊ”)0t >|˜ÊÓ–ãѾ}û°wï^4oÞœ¶Ùh4"11QQQ¢Wì…êÈ‘#ýwïÞ=xxx`óæÍ6eßÐЀ””œ={–:I¥Rœ:u 3fÌÀøñãmÖ‘šš ___,Z´ˆ#û½{÷"22žžž¢ Hùõ×_ñþûïc̘1ÔûŽ;&(Ïß ²þ¬‹õA÷÷¶“?¬Å®ÿUmkª\l]IýYÅîiVV²³³‘””Dãq~ýõW444@¯×ãÖ­[`555ˆŒŒDPPbcc‘••™L†ƒâÈ‘#X²d ¤R)6mÚà r’ÙlFzz:'ysAAŠŠŠ,œø&‡ÌÌLdffâÖ­[ÈÉÉ¡Y*®^½ŠÊÊJܾ}UUUÇ#öÇh4"55eeeˆŠŠBQQÑfl\½z¥¥¥Hš’LÌ­ÓépåÊTVVâÎ;¨®®†L&Cnn.ñðáCddd@¡Pp=B^^®_¿Ž¼¼<Úìv¿srr––†´´4J¯¦¦wïÞ…N§£ã‘ßì¡wíÚ5äååA¡P ¸¸çÏŸGEE’““Q__/*½^;wî ¼¼×®]CYYär9òóó‚‚<|øn^B¦É’’J/%%uuuTž÷îÝCJJ ²²²¨<…ú&??111ÈËËÃÇé³>Daa!®\¹‚üü|‹v°ÇrNNÒÓÓ‘””DéUUU!>>¸yó&t: “™-ó¥­gÄL¥b¡g¬]Oˆ]Wˆ=co›í;ö~lñn«nþ)SèÖèŠÑ·W¹±÷y›)9U-]ºÛ·oÇöíÛ‚ââbüüóÏÐétØ·o®^½ ‰D‚«W¯âîÝ»HLLľ}ûPPP€ÆÆFüòË/˜?>®^½Š#FàáÃ'ù£££qãÆ Ì;‡¦6ò›ÉQ3gÎ ##‡¦‹—Y(77—C˜O:…»wï"66–s2¶eb3a‘Bú¸´´{÷î¥ü:u ˆŽŽæX6„´Ü[·náüùóxôèŽ=J=/÷ïßÜÜ\üúë¯HKK5‘Å4117nÜÀ•+Wþó4_±ÙlFDDòóóqâÄ ùä:øýǯ㧟~bΞ=kQÇË/¿lÑ|Ù“g?üðCF¯×[ôß›o¾É‘,²çÉK/½dÑ)))̪U«ûOh>¼ýöÛô}òýöíۙ˗/sê«#!!Y½zµÅü›5k}—MÍù~Ë–-Ìõë×-ê`óÇ–§\Øßñ¿çË^¬O„êªWìbcÜÞï¬ñ&´dgg3o½õ–Å8´%1º¶x°&3{e`MþBï%'&0·oÅ2CuúsýÊE&59‘IMNdR’8ŸäĻ̽´æçÃ]Y)SZRÄ”–3ÕU•̹³§›'Ò¼¼<0  cÇŽP©TT 'PmD‹/,,Dee%Íø½ŠŠ QzÄYÍ–ì 9`ÿ„^mm-rssEë`Ǻ±é‘»M"O‚¥*v×ÏöØ&ôÈdII sV(LL*•Rzƒ Ãpî -Àâùr%üQKž±¢¢ÅÅÅ¢>lyQìi6½ºº:äääØ%ÏÊÊJJO¡PÐ9JdAüþˆ{4þ}<Ôƒ‘+æuË6û åf¿+–ŠPPD(ÿð³z³òMùìvˆ%Å{VÌëŸ/ 13·ØZĦǧý_¹#U*•ÈÍÍ…ÙlÆæÍ›QSSC³¿Ä¿dÑ€ÒÒR444ÀÍÍ6ÚÝÝ÷ïßGCC6mÚ“É„nݺáêÕ«Ï3-- ;w¦&5’H[Ì‹Ž]„\Ûår9ôz½]ydóàÃ`y13»SùôH1™Ltqó&c/&Bfh[¡ìï °3ÿY6Ö æÈBÅWXär¹`ØŠØE?¡Ç_pùa+bÞ†|zl`x1¯e[‹¡5ïF™Lf=krc‡­°ÛCî…Æ€5z|y Åõ ý^[[k±¨Êd2‹ù †nC”S¡{*6ÖbÉ­É“oеÖ7B÷µµµ‚pB›2Q@„”E{B&l™<ù Õþó 2„.ÜDñyñűuëVÈd2úÝÇѽ{wèt:xÀÂ… ñþûïC&“Q/c£Ñˆ>}úàæÍ›H¼ŸþC‡¥ôˆ¢áðW__^½z!>>žÃßÁƒ1bÄŠPDèMœ8?ýô‡^rr2BBBP]]Í¡÷ÙgŸaΜ9”ÞÅk·uëÖ7nÞxã ´k×£G¦ÿ#äü Þ   Ž&:|øp¤§§ãõ×_GPP6oÞ à Ø|—.]-Z´ å|·xkšÁÍÍÍB³éÓ§Õfmi^½{÷¶X¨œÑ½{w‹:„ŸD"AïÞ½9Ú³D"AëÖ­9© Ä< =r*g?ÌIèl­´iÓ†£…‘v÷éÓ‡sJ²VºuëÆIxLxâó'¤²éñ5e:6leÓÉd4Å[öœDí¶4gkàìlär¹ ½¶mÛÒd¶Š»»;MÈæ'$$D0á€Pẓ¶ôíÛWð4 TBCC-è)•JÖbþÐÃü„ëd¾Z“+¡G’N°Ÿmß¾=üüü¬¶Ÿ|ïééI•kö³={ö¤V1[š;v¤©Ù§7!þÄNjM"òv%©…žå×K6 ~!!\ìB6ë¦Ð³×Z#†'ô§Ö,„â"TP›¬!¡Ø­ç»Ç[Ó€› Z/dfcÓ³&¾Llž‹FØ †={äi¨¹XŸ‰Õc<Ŷ$ nÞ¼‰ýû÷cãÆœP kè8lÙÛ ZϯÇVÿ‰ØÏ6´žm:/B²+BôØí£!¤ŠÉÂh½=kóÁÖÚ`KžÖ@ë­­CbýgKvbs’Ýf±u§) õ¶è‰Í¿¬¬,|ñÅ8pà  …Í9úgò'öûï¡G@ë»vë†ËÎC­VÁÕÍ]Ô)W(šœ„!Þ‡ÙÜ   õ’§Á¤¡lüDv¬#Ñ`ø Ãìdä™LFäìºH.8¢±(•J›Z ûhÏ?)ñ±"EíÛOydcƒZÏ[ÈøôÄšÅ4B!zÖøâC ™Ü}‰ÅÁþ‘ò$››ž˜<­¡¸Ø+Ok¥gÏžô„h÷¿¢ÿØ@Úbu°O õ_°Ö|z|ìTk²çÓ³5·ÅNq|yþØàæÖÆ2+YŒ?k²¢×y6¥ˆ­]R©ƒ^‘°ÙF#”J%ÇINfìö±ï«Ù@í¿—žXiÑ¢¶mÛFï–mÍwƒÁ@×u[üó*Ÿ?²aÛËß³Òû¯˜vñ´1ì “bΞïÂ… ?~„úaÄÄÄ ¤¤!!!puuµP'ï0 ƒèèh”——#((žžžžÄz?~üJ¥AAApuuµ;!õ544`Ñ¢Eøç?ÿ‰×_⓹zéÒ%Œ;–z\ )Ãl\câäX^^ޤ¤$Ô××ÃÇLJ†Çð•}ö)„|§P(P^^Ž_ý•*ÙžžžèС ƒ`ú0[ÞÒB k ±¹+¶&Ìls•JEe/ôŽÐa‡/Ok^»õõõHMMåÌ{L¶Xb4Å<¦ùõ‰}gMþM…lòmS‹cíääâ—t©S§°|ùrèt:|ûí·HMM|öÙg¸té±dÉ@JJ fÏž¢¢"ìܹ“¦xª¬¬Dpp0Ý4ÉD#´øèüMT¡P@£ÑШZ­Æýû÷±{÷n”••áñãÇøðÃqòäI899Y¤Ý"—Ü:îîîhÙ²%õ[ºt)Nœ8‚‚\¾|*•ŠLÎdÐéttó’ÉdÈÈÈÀgŸ}†{÷îaݺuØ¿?ÕÈ…°!Õj5¡P((xÂÎ;‘žžŽêêjlÛ¶ _|ñ……ç,©K©TB*•â›o¾ÁŒ3páÂhµZ( èt:xzz¢E‹ ([¾P©Tptt¤'™L†M›6!<<8{ö,pœ—íààµZMOZ­QQQ8uêjjjwÞy‡nrüÅ_*•bÆ عs'***púôi4kÖ {öìAll,jkkqìØ1Ìš5‹ç‹¥cŸ¼Å°HÉiËÑÑ‘¶[.—#//óæÍCRR’’’šš GGGAËŒT*¥ý§T*©|ÂÃÃñøñc”——cÆ X¸p!'ºR©¤cY£ÑpND¦*•J0Q7ù]¨ÿ$ Ö®]‹Ý»wC§Óáܹsô”Í~—ÌñüÛ¶mCRRæÌ™ƒÊÊJ;v sæÌAII ¢££ñæ›o";;›ãyÉv8”J¥¨¨¨@@@Ý´Ùü©T*Ž÷/q•J¥Ðh4t>”§;v 33:ß}÷–-[F•)!¹‹‘§ÑhDaa!ÊËË‘ŸŸ?þ;vì@³fÍ,PrláË -æüôŒü9j®.3hhhÀ²eËpêÔ)œ8q+V¬à€¼múè#ôëש©©Ø¼y3Æ{÷îá‡~@\\-ZDAžþy899áØ±cÔ-ZÈÌSRR‚­[·¢´´xã7кukÌ;EEE(--Å™3gO` …˜7oÊÊÊP^^ŽéÓ§cÍš58{ö,¢££±aÃh4¨Õjª±²‹V«Å­[·°e˨T*;v ÷ïßÇš5k°|ùrhµZÌ;'OžÄŠ+0~üx8;;[˜£d2öìك˗/ÃÍÍ ãÇGÿþýñÖ[oÁd2¡¢¢‚f©ó¶S*•Xºt)àíí µZŠŠ |þù稬¬DZZÞ|óMš•¯%:88 ==7n„^¯Ç¤I“ðÏþ111ˆŒŒÄÊ•+ѦMŽ‚Ãoƒ\.Gbb"ÂÃÃ!—ËѵkWüë_ÿB¿~ý0pà@A©T"::ZPÓW«ÕˆÇ‘#Gðí·ß¢U«V•çå—_ðv±¬¬ ÙÙÙv™ól™zd2"""pöìY¸¹¹áã?F`` vìØ‰D‚)S¦À`0ÀÓÓSp Þwî܉›7oÂÃÓ&MB¯^½ðî»ïÂ`0@§Ó!!!AФJ6Ñôôt|ûí·˜„œ@år9vïÞ`úôé:t¨`Rk$%%aóæÍhhhÀË/¿Œ—^z /^ĉ'°fÍøúúRØG>J¥سgÂÂÂзo_L:‡F«V­ Ñh(¸Ä­[·OZÎÎÎ8wîvïÞ WWWìÚµ X¸p!¢££±víZŠf&†$DêݶmnݺOOOL™2!!!˜5k ÓéÏ9•ñçSCCÖ¯_””cæÌ™ðòòœ9s ÕjqòäI8;;cúô騪ª²Û|ù,¨@ÏRˆ‚wîÜ9\»v §OŸ†ÉdÂĉ‹¡C‡B¯×ÛÉ0 6mÚ„;wîÀÏÏ“'OFpp0Íô,sçzç¡ØeÚ]»v-¼¼¼pôèQ”””`Á‚˜ø...HIIA›6m0bÄܸq·nÝBpp0²³³Ñ¢E 9rC† ¡÷nnnhÕª222œœŒ^½z!&&'Nð$]ÑTàÍ7ßÄÔ©S9÷'Bæ[·naÈ!pttD@@š7oN…0wî\ìÞ½سg\\\, †N§£PTÄc·±±ŽŽŽX°`6mÚ„k×®!!!šÖØ›™Ñh¤x™uuu[’\ÚÏ›7îîî‚v|rLMM…““z÷î “É„>}úPç–Q£FaïÞ½xá…ðå—_rL™¤ J¥ñññ())ÁÌ™3áàà€½{÷"33555”¿òòrÁMä>©  ÑÑÑØºu+\]]éc4ñÁ <<%%%8sæ œœœ8b2™ 555ÈÈÈÀ¸qã ×ëÑ»woªùøø`õêÕX¿~=öìÙƒ¸¸8¨ÕjAS«Éd‡~ˆððpâìÙ³pttDpp0ÂÃÃñé§ŸbÙ²eG{Ó¨±yW((((€^¯GXX222¨|õz=:vìˆõë×cöìÙØ½{7Í5Ë7%&&ÂÃÃ!!!€^½zQG˜ &`×®]4h,X@ïØm%ùVÝÝÝj1™»téäçç ^/ ¹¨¨—/_Æ®]»hÿ‘û±O?ýáááÈÈÈÀ¥K—è?ßÌf6›Ñ¢E |üñÇ(++£É¼ ±{÷n¬Zµ [·nErr2…êc›‡ uîÒëõô´—““OOO„††ŠÎ2àç燠  ÈårôèуÊsÊ”)øá‡гgO,\¸cÚe÷kJJ 6lØ€ùóçÃl6Sü`µZèèh$$$àwÞá(ÆÖR{ ™QÙ³Ù :×Ù¼¹ººÒÈX&“ÁÃÃè]«ÕÂÙÙÙâÞ“£O~:::ÂÍÍCÏl6ÃÅÅ…ÒsppÀ;wкuktêÔ èÞ½;Å€K»fkî°Ûìêêʹú"üyzzZðçääggg çRwwwŽÉÙl6‹òGè±ë•ËåðôôäøÁ˜Íf8;;ÃÉÉé™"1ì½Wµ½‘êÊÑ©S'DDDàĉX´hÂÂÂPSSC3]\¾| ¢¡*• û÷ïÇèÑ£¡ÑhhÞ¿ŒŒ $%%a̘1¸uëuÈÈÈ (4<ÀÎ;Es?²™Î;#&&†&WÖét())AZZL&JKKa2™8ƒ˜?YØãr¹ƒíÛ·§÷ŸŠ‰¡›syy¹.iCyy96n܈íÛ·cíÚµ¨««Ã«¯¾Jï|ÙÞÖÌœ®®® ÄO?ý„½{÷ÂÙÙÞÞÞpssCII ÊÊÊ`2™8J ß½ÜÛÛ—/_†««+’““!‘HššŠ¼¼<444 ¤¤ …ÂÂs˜ÜM7oÞ...zžžžˆ‰‰Aee%ôz=JKK9^¤Ïb~"¶»»;¤R)Þ}÷]œ:u |𪪪(ÀwMM Í`ľŸf#²´oߥ¥¥xøð!5±ÊårÄÄÄÐÌB•••œ’/;rïÞ=ÁŸpwwÕ”år9š5k†àà`DDDà‡~€J¥BóæÍáää„ÒÒR”––‚a4kÖÌb~566ÂÍÍ ­[·Fjj*¤R)²³³BïËÊÊèiHåŠ=˜ Ã0ðôôDEEÍ“*6¯F#:t耂‚dffB.—#552™ ±±±hhh@ee%ªªªèÉ>666B¥RañâÅP*•øê«¯8Æ&“ [·nŰaÃÌɯk+~ÝÚ E¥RáþýûسgÒÐÁÁ‡F||<é}±N§ÃŽ;8šJ¥Â¥K—ðÛo¿ÁÑÑuuuhß¾= 222ðøñc( zèHOOÇÞ½{-è9rwîÜ££#бcGäääГhZZ½ïoŠYVQ©T"22wïÞåðWVV†;v ¡¡Ã±°‘g ²Ü®]»PXXHÇŽƒƒRRRÁñ-Q*•8tè8ôJJJN­$„Þ¹sçEŸý¯˜vÚ¶ÅÀ1aÂhµZàóÏ?Ç›o¾‰/¾øûö탛›V¯^ xõÕW1vìX888`̘1èׯªªªpâÄ L™2ŽŽŽ ¤¦¦ÒäÝYYYÔ£ñÂ… ˜5kÞyçÑøR2á¾üòK¬[·Ó§OGóæÍ1kÖ,˜Íf?~œ†³ <ÿøÇ?¨flëN ¶¶C‡Åýû÷ñé§Ÿ¢ººo¾ù&zôèA5|[^fuuuxýõבŸŸiÓ¦Ál6ã‹/¾€F£¡áìLcÇŽENN,XŒ1ݺuCJJ Ž?ŽÊÊJÔ××cùòåÓ ›vmm-Çó’héb“DÈAaÁ‚X¿~=¦M›///¼ýöÛèС>þøc¬Y³ƒƒ „ 8÷Jädîâ₯¿þáááHHH€¿¿?>úè#èõz>|z½øä“OD3ͰS€uìØ}ôÂÂÂ`00xð`Lš4 çÎÞ={PSSƒŠŠ ,_¾œ:=«éL¯×£Gx÷ÝwñÕW_ÁÏÏ=zô@×®]1sæL¬]»¯¼ò *++±hÑ"hµZNv‰D‚ššL™2˜7o|}}ñ / K—.HHHÀñãÇiÌäÒ¥K©9•íXS__™3gbÕªUØ´i]8ˆfôèQ$%%Ѭ Bwœ$sÈ,MÐ IDATæÍ›1mÚ4øøø`ÆŒèÚµ+fÍš…eË–¡¾¾£GÆÈ‘#i|-ûªÃÅÅ_|ñöìÙƒS§Ná¹çžÃðáÃQWW‡ŒŒ ¼óÎ;Ðëõ˜={6Ú·oo#´É“ûÊ™3gbõêÕØ¶m›\{,VWWãŸÿü'Š‹‹1{öløúúb„ èØ±#nß¾cÇŽÑÛÅ‹£¾¾žsZ#§âW^y§N¶mÛ¨<µZ->ŒÌÌL¼ÿþûppp@MMU|i{Ì~‰NNN¸~ý:ÂÂÂ0yòd ‹ªV«±dÉLœ8 €^¯‡££#òóóñõ×_càÀTIwrrÂO?ý„’’L˜0 ÁŒ3ðÍ7ßÀl6ãí·ßFPP¤R)®_¿Žï¾ûS¦L¡žÝ*• K—.ŤI“пã7Þ€N§ÃÇŒæÍ›c„ h×® θ=s‡¢´,Y²/¿ü2úöíK#²³³ñõ×_cذaô´êää„ððpÔ××cüøñÐëõÔ‘lÉ’%زe Zµj£ÑFƒ‹/bÓ¦Mx饗¨Â£R©°hÑ"L:}úôAmm-Ôj5233±téR >hll„““¶oß³ÙŒ^x“Èý4íÚ­g3$’'&"¶fW[[KOId@‘͆íaHÌ·NNNéüß­E³ÏÊÊByy95)oIb ©¼ˆùP(L‚íÎ N(ÄmŸ ±S2?×Û{±¦¦†zËñ#ئ=’zª±±†b•ÖÔÔ€a¨ÕjŠÅi X[(W!Ÿ?1T)¹\ŽÆÆFèõzzâ3›ÍÔŸÜÕI$tÏJÚH8¹Ï®¯¯§q­Ä'‚ÁN£f6›é"CœŽˆ…ÈSˆ•J…˜˜œ:u ßÿ=òóó- Æø”$¾ÒÉɉƒ½LúÏÁÁÁ‚»¯ùýGÚLúO£ÑPí[h\KÛŒ'död{¨ JÙ²'ý-$O!Ù“:  ´Z-M]E”5™LFÃ/¬Ÿóïò…ø³8y’ÍX”HH1ѲåÉŸ …‚®Eìh2nÙNsh=ùÁˆe?Ç^çØõ³1…Ùc‰ÌY6l IK§V«©ì‰­Ñcq¢l«ÕjÁܨ¤Ÿrss±nÝ:üðÃÈÏÏ礘2Ëÿþl=k‹?{é‘u£S§NO"IþJÐz³™TÊдLl2™LЖOOþ¦Cže3-ô;û¾Åšé˜Õh{1%ûö^6“Ó @&ÞÂöÔ!ÃFL˜Öê ôˆ)Œ`™Ü1’ÄÎöð"¦YÛ ^gß³Ó ­ŸhûÖÚ@ÚȾ3!õ¥Æš· ©ƒÈ‚¼KÐkuÔ××£E‹7nÊËË9Ê„ìÉxspp š/ùžŒ-kôÄún“Ÿ5ížnO(FW"‘؇ìþ#›¥˜„ÑhD`` Í(ÿo£ÑHD.]º„äädŒ7~~~¢N=önødñKLLÄå˗ѲeKŒ5 z½Þ¦Éšÿ}||ÇÛº©¦œgi³P[ÊË˱wï^Œ5ŠÆßÚÛ©TŠòòr9r¥¥¥˜:uê3µã÷òÒÔ1`͵eËôêÕ ­Zµj²âû{ç5ÉðtåÊTTTàµ×^³ygûWk2¶†5kï±GvÄaôÆÔ+öÏÍ_ß'tpûÃ?BÄ€8%TTTP¯2þb^^^ΉÛ:~ü8âãã)£Ö:XÈSV«ÕâÒ¥KX¸p!h'^…uuu¨©©B¡ ™ˆÃ ;Iquu5ª««)pðäþµ¾¾Ÿ~ú)rssáããC;‚ý!žUUU¨®®†^¯§íÓjµxüø1>ùäš(—íÍËþ¶‘ äoâ-K‚É5 ävÆ"óÊÊJŽ¯Ð»ì‰{¬ªª¢»$Ì£¶¶J¥RTž¤ÄK™ô“ƒƒ”J%jkka4©²µ:©· ©Ã`0 ººšzà‰Õáàà€œœœuuuÏdv–+’Pƒíµ\]]Mç%™ï$¤A“ÉdÔ›Œ/±1@Ê:Áuï÷|ØIßÿJÙ³×Äÿʉ”}eob¹¹¹X´hªªªàåå…•+WB*•báÂ…¸víîܹƒÆÆFÈd2ÔÕÕaÁ‚ÈËË,^¼;wFUU^}õUª¹³CaÈÆÌŽñâ·ËÏÏùùùP(X´hsæ æÍ›‡Q£FaãÆX»v-²²²PSSƒúúzL›6 Ï=÷õ¦Nß¹s'Ö®]‹Å‹côèÑXµjЯ_?¬]»ÅÅÅ|ïÔQ£FÁ××-[¶Dii)¾úê+0 ƒˆˆTVV¢®®2™ 3fÌ@ÇŽ9òd‡ÔÔÔ`öìÙHKKCTT***°fͪt=ÿü󘻻;Nž<‰={ö >>uuu¨­­E§NðÎ;ïšžH;Øq¦BŠ™ÔDTT G˜9s&*++†ÊÊJ466bÆŒèÑ£‡`–âÈ ÕjÁ0 sT*•pss£!blöOµZcÇŽáÎ;Ðëõ¨©©Á¸qã0räHøùù!11ƒ ‡~ˆ¸¸8Á8L¢,4kÖ R©UUUÔÓyß¾}¸xñ"Ìf3ž{î9¼õÖ[¢h¤R)œéü`×®]ùsç ×ë¡×ëáëë‹÷ߟƒnEÆ \.ÇÞ½{qùòe˜ÍfôéÓo¼ñ$ \]]iŒ Er($f8¢Ll©©©Ø°a„˜7o¼¼¼8±ÄD ùþûïQRR¥R‰ÂÂB$''ãìÙ³ðóóCBB^|ñE¼ÿþûy>Ë)Iì1_1«ECCF…àà`899ÑøÏÁƒÃ`0`Ú´i`»wƒnß¾MÁT*Ú¶m‹>}ú`ëÖ­HOO‡‹‹ :uê„ÿûßËåØ¿?._¾ŒfÍšA¥RaÆŒðð𰘃ìq$6wì•…Ðß …z½[·nÅo¼AaW›j}°Öó¬ýù§œH%OwóóçÏcÖ¬YøòË/Q]] øàƒðî»ïâÈ‘#Æàää„7R˜3"ˆùóç£K—.8tèæÌ™ƒíÛ·òòòpðàAÌ™3ùùùT›\²d ¾ýö[“($ |ôÑG¸té†Áرc‘ÂÂB;v ï½÷––†k×®ÑÍ’qªÕj±sçN„‡‡cáÂ…’/22sçÎ…»»;,X€5kÖP4vçÖÔÔ (({öìÁÎ;ñúë¯C©TbèСX¼x1¶mÛ777¼öÚk8uê”ÅÂC ­V‹Û·ocÛ¶mq„ ¼,\¸û÷ïG`` æÍ›'º7kÖ ?ÿü3~ùå¨T* ¸¸¸PÐq~Ê2¡RVV†I“&a÷îÝ8|ø0Úµk‡ÆÆFŒ7ëׯǢE‹‡ëׯ[È“³µ|ùr çää„ÈÈHÄÆÆ"<<sæÌÁ¦M›™™ICøzaa!¾ýö[N_yzzbîܹصkŒü‘ƒ‘*¤ ¹É³ÛK²mÚ´ Ÿ~ú)V­Z…ƒ"!!@VV<ˆÐÐP|ûí·lZö&ªÕj‡Ï?ÿK–,Avv64 ²³³1wî\üüóÏHA¨˜L&øøø`îܹسg&L˜€  ##S§N…Á`@tt4^}õUNX›râ_¹r%¾üòKdffR8Ï-[¶à³Ï>Ã7ß|ƒýû÷ãÖ­[4‰]‡B¡@uu5Ö¬YƒÙ³g#**ŠZBÞy焇‡cÚ´iˆŒŒD^^=‘5µZäädlÛ¶ óçÏDzeË»wïÂl6cÑ¢Eغu+'Æ‘ßg$^=::óæÍÃ×_M׆5kÖÀßßû÷ïGmm-¶nÝÊA¬aCU’ùgggôíÛTq¿xñ"¦Nj‘ÉH †¯€Y[à­™T­•ŠŠ |ðÁ8qâZ·nU«VA«Õ";;åååÐéttl€ ,, ;wFË–-qôèQH¥R 6 »ví‚T*Å¥K—°}ûv¼óÎ;زe ¦Njí bÒT¿[›§±±±ðööF‹-s«ŠeÔ±å4$Ô7…É^j†qäÈÄÆÆbýúõ3f Ö®]‹˜˜ôîÝ‰Æ ƒ““]`nß¾ ª¡>~ü‰#GŽD=PRRB]ªo߾ѣGÃÓÓ»wï¦tïß¿GYØþÙB1˜1c‚‚‚À0 >ûì3hµZãÓO?Å¢E‹0}út„††búô騨¨àå“E°°°f‘1ÿöÞ<.êrïÿ² ðï‚‚ ¢ˆâ‚k'Ë}ÉsÒµÌî2s+:Zµ,W:¥VæBbfuÌÊŽ‰V.å’ ¸‚€˜¸ÈÎÈ2,3¿?º¯ë13 ˆuŸsîïýëz“¥A")ËÔÞÒæoll¤]»v:tˆ1cÆ0mÚ4²²²&::š¹sç2sæLÈO Rvv6gÏžÅÍͼ¼<¶lÙBff&VÙkLçóÈ‘#¼ùæ›ôîÝ›‡zˆœœ.]ºD÷îÝY¹r%ýúõãìÙ³Í@ÛŹÔh4TVVòÕW_qòäIžxâ ˆ‹‹ÃÆÆ†ˆˆæÎÛŒDÀÚ{µíè~÷ åß8::’’’ÂgŸ}Faa!#FŒÀÆÆ†£G2`Àbcc9~ü8 …‚èèhŽ=Êýב’’€¤§P v¡R©8|ø0!!!ÄÆÆrûömBBBðððhuìmy÷{)Öþ_[[ËÅ‹6l˜¼­õu/!ÙÚý»“£î)HkkkX·n¬^½š••Ejj*ÑÑÑtèЙ3g’••%ñ‹ŠŠð÷÷—}deeѾ}{ÚµkÇÂ… ÉÊÊ"""‚ŒŒ FŒAdd$ááḻ»KMhçÎ|ôÑGF3 5K€†öíÛK´¥Ž;âîîNVV‰‰‰,Y²„>úˆ´´4’’’Ì’|˜¼¼<ÒÓÓINNÆÁÁ£ÑÈâÅ‹Q«ÕÌ;×jA½‹‹ ëׯ§¡¡O?ý[[[öîÝKaa!NNNm:( ,_¾œ>úHÂÔýíoÃÆÆ†šš6lØÀûï¿ÏÙ³gùþûïQ«ÕfV…ƒƒ¹¹¹lß¾ªª*víÚ%YM&OžŒ³³3/¾ø" ÒZ´l...=z”ãÇ“••Å©S§(//gïÞ½Ô××Ó«W/’’’˜8q"ëÖ­3ƒ)l‹6l­Fjkk %**JÆÊõz=uuu<øàƒ899¡×ë­ö!XT*O?ý4 6Œªª*2226l#FŒB³¥&\Áï¼ó·oß–.¹ÐÐPé¶ iQËÖëõœ?ž²²2²²²ÈÌ̤´´€ššÂÃÃéÞ½»D)³œÁ¼sêÔ)æÌ™CHH“&MB¡PPUU…¿¿?_ý5/½ôÛ¶m“¸ÂÖæ³¦¦†N:)ãû.\ 22’É“'·ˆª¿²¿ÈÇLnn.NNN0tèP®\¹Âƒ>@YYfîO1 'Ÿ|’£Gòè£rᢣ£¸~ýºÄÚmhh ¨¨H¢yXN–éd›nñùŠŠ ªªªhß¾½è¦$Ä–ý¸¸¸°cÇÜÝÝ1b„ÄȽÑhlFúk´µµeëÖ­ÄÆÆÒ«W/ C³w³vyÙØØPQQÁ³Ï>K||<±±±¨Õjüýý ¥¦¦†eË–áååEBB‚D‡²œ‡ŠŠ Þ~ûmfÏžMll,téÒ777 Ê®P(ÌØ¬Å½ÅÁõõõ¥S§NܹsNGCCF£‘°°0ššš(,,l6Ÿ °k×.† FDDƒnݺѱcGÖ®]K\\ƒ B¥RIåÄ´UVVòÀ°mÛ6 @»víprr"""‚ÒÒRy(ºvíJQQQ3¯Ö´kk¿3’­ÃÝÝÎ;£Õjñóó#00ÜÜ\†ŽF£‘ÉlÖ€»ÕjµLúÉE"Î/’ÅZ{[\»v-ìØ±ƒÀÀ@‰f%ö%¼ µ½èííÍŒ3øæ›oðððÀÃÃÁ€··7;vD«Õâïïo5³]\8EEE¸ººJT(Îijj"22’ŠŠ ‰Qkú.F£ôz=¾¾¾„„„PSSƒ¿¿¿D"}µ4b>«ªªÐét8::R^^Ž££#äçç3zôhrrr mQªÕj’““¹téO>ù¤dݱœÏÖܳ–óÛšU&…ÊÊÊš!´Ý½{Wfü›&f–––š ´ªª*¦OŸÎ–-[èÑ£ï½÷†;wî0vìXFMaa!ùùù444ðì³Ï²gÏæÎ+T___i xyyQ__OTTäææâïï^¯7woKõAkU‚ªÏt|z½^ŽOÌ•R©ä»ï¾“ìPâŒ455QZZj–ÖÒ|Þëy–ð€"qò~3vïuŸÜW²QPP]»v•´LeeeÄÆÆ2fÌ9þ<ÉÉɼöÚk|ùå—$&&Jm4((ˆ~ýúñÃ?ðÎ;ïpñâEžyæT*Çgþüù¤¥¥1{öl>þøcæÎk†¥ØRÌA\T‚Ƭ¶¶–ˆˆFŒÁÊ•+ñòòÂÓÓ“ &HÜ\Kí755•/¾ø‚çž{Žàà`ÊËËÍØbL/k©ÎÎÎ$%%‘œœÌ|€“““|–p©Z¾-/|||ðññA§ÓIÚ¹|ëׯóâ‹/òÞ{ïaccÔ)Sš½ƒÑhÄßߟvíÚ¡R©(++£}ûöÀ¯DìwîÜA«Õ²zõjÆg•ÅÄÎÎŽÄÄD\]]Ñh4$''óÖ[oqëÖ-öîÝK`` YYYtèÐÑ£GKÐsS ßÞÞžN:áííM^^žŒó ~üñG8vìÓ¦M£sçÎÒµcÊ@¢R©èÖ­>>>ìÚµ‹šš"##Y¹r¥„L<~ü8Ï>ûì}%DX»,kkkéÑ£&L`õêÕ899Cÿþý äÍ7ßdÖ¬Ydddðâ‹/âììlu'8i'MšDff& , ,,Œàà`&MšÄ#<ÂÎ;ÉÈÈV£å~´P , ))‰_|‘O>ù„êêj&Ož,Ëg,÷¯5müù矗 5eeexyyÑ»woÆŒÊ+P(ôë×O‚§›ö'!±×²²²¨««cÞ¼y|˜ÀÀ@i}úé§œ>}šK—.ñØc‘œœÌ­[·3f F£‘ 6••Evv6²/L¿|ùr4 §NbݺuL˜0É“'sõêUV®\ILL wîÜaÊ”)´oß¾EOK[½9žžžÄÄÄðä“O²fÍŠ‹‹ñððàĉ<óÌ3=zoooÉfåîîN‡ä½*ð“ÿô§?ñá‡2räH´Z-îîî’²/;;[*`îîîôêÕ‹§Ÿ~š•+WR\\Œ§§§ts æ)¡$ :ÎÜhý}áÜ ´^ŽãÇc0èÕ«—¼ SSSÉÉÉ¡oß¾pàÀ©ÄÄÄüJ•––F×®]%uÚåË—éÔ©dffJµââb®]»ÆàÁƒ[Õ–nß¾MEE”””лwoé«©©!##ƒúúzºvíJ@@€Ä‹5Ó$ìí)))!''‡ˆˆ‰1+„`jj*‘‘‘VݲâÝDüI«ÕÒ¥K)¤ìíí¹{÷.ÙÙÙÄÄÄ´˜$bz0 ™™™( """HNN–uoª:tè=ë/^¼H‡puuåÈ‘#’H½¼¼œaÆYÍtµ³³£ªªŠôôt¥@0 äääpóæMœœœèÚµ+ÞÞÞò³6{{{4 ×®]#&&{{{ÊÊÊ$Ïd·nÝš¯[›×[·nQYY)ù333©¨¨ €®]»¶ˆK«T*9{ö,àwÞ¡°°°™{ǤýÒ¥K444гgOÔj5¶¶¶••E»víèÒ¥K3@lÓ©»wïrùòešššèÕ«*•Šºº:222pqqA«ÕÒ­[73%Í4#-- ƒÁ »Á``ðàÁ¨Õj.]º„Z­&,,Ì,áÉrÝmlløå—_ÈÏÏ—ë'âø—.]Â`0гgOœ­Z¤b_\¹r…ÂÂB""" ©©‰¬¬,yiuëÖ ¥RiÕB¶··§¾¾ž´´4ŒF#ÑÑÑòy—.]ÂÁÁºº:BCCñöö¶Ú‡££#†ÌÌLlmméÕ«ŽŽŽØÚÚrýúunß¾MçÎ¥ °†K¬×ëIOO§}ûöøúúÊ9···'-- BBBÌ0{[­¿×e«P((**"??Ÿèèh³ç¥§§ãáá!“þDyNVVQQQ2„“™™‰V«¥¡¡???zôè!ûìÝ»7MMM¤¥¥Ñ¾}{ÜÜÜHKK“U={ö¤¼¼œS§NÑ®];êêêdhBŒ/33“ââb‚ƒƒ “ïh ´þƒ> 11±h½µºÜŒŒ <==åzˆ„¯+W®Ð³gO ööö|øá‡ôéÓG*r¦¹*iiitêÔI*Çööö=°i IDATRTTDtt´T˜íìì$ÿo`` ÌL„={ö”w°B¡àêÕ«têÔ {{{é-ýŸ­¿§ /iÙ©%ýŽ%ÛHkŸlmaWh-µüöíÛ”––ʺ?t ž'bƒ´Áši/6ލµ܂ϯµx‚¸Hƒˆå&sttl–”ÑZ_"k·¾¾^¦ÿ›&õXsZ6‘µ+ÜdÂ…%4õ–ž-RéáWðrqi‹š=ßh´µy­««“ÿ±Æ¶‚ž‹8—àlT*•¾µ> 7nÜ --iÓ¦QQQÑjv¯(eÓK°-ï,êòD}­`Z1û£¥ Dñ|Óš7¯urrÂh4Þ¼@ì…BA}}½´6¬¯¥‹Q¸cØ;¢®×h4Ê5m©Qç˜Í§Ø["Ð ƒ˜O¡ØŠç‰³&Îkk™èâüа„å\·e>ï7FªP(díwkÏgMpŽšÎ»pwŠ='„èSìGá½ 8¢4ÍÙÙYÞw‚}Jô/jz»OKÉowïÞåÀÌœ9S†)Z÷½ÆgccƒV«åàÁƒüå/iñΪ¯¯7 £µ6ŸƒÁÌlm>Å~gÒÙÙ™.]ºü Ò{ºvm-˜ãM…¥%U’%K@KŸ5å´Ô-…okæµ@ó—“eIIUU•™`n)kRŽ[;P¢0ú^­¥‹¥±±ñ¾«°±±‘c¸ŸtË÷q®¶ü½x_Ëy—çý¤ò[Ϋøÿýôaº¶fJÀ½Øc‚ƒƒéܹ3FR[ÝkÎ,û½Ÿwq'Ë϶õ[Š£ŠßµuÎL÷ϽÆw?}˜¾_[ú°<÷ÛGKóY[[Ûf´–ÎïýÌçý´úúz« —µçY»,÷€`ü1íÓ´/ÓûAœ‘Öλ迵±FÜÜܘ1c†¬{¿×ÙiËøT*S§NmѰ¶V¿w>Å~rå·Às¶¥µ9•©%KKa×ÖKŠe&nk<…¦Ÿ ‘È$´?ZKŠÁ¿ ìöGûãìü¿wÿµ¥öÿ[ô[ÐD***Ì2·¬ á+oïö³™’ÿ§›HjKbGKc.¿Öj‚ÿhÖ›ƒƒƒvù=ëðÿ—&’€¬%ü¿ÚÄÚûøøüç,Ò¶ºs,­Ò{}®¾¾ƒÁ cÖ>Ó3}yy9%%%-ÖÙÙÙQPP þ·SÿÑþ=MÄP,˜þÍh4RYY‰›››ÕzÂ{]殢¢B²Wü±—Û~VTT V«eyœ»»{³Lß?š¹åXWW'kÅÿ/Ì‘ÑhÄÙÙù?/H-…[[Ð(LŸµÏmÛ¶ •JÅ3Ï>>RŠ>5 *•Šwß}—äädÌüùó­fíÚÚÚâááaÛ¬ð*•JÖJêt:³D¢–ÞÇÕÕÊÊÊðððÀÞÞ^Ž«¶¶V&Í´”p¢P(pss£¡¡ÊÊJœœœ$P·(toÍÂÉ&...TWWS__‡‡‡TZîE‹äééi£€÷b.D„H¦i­¹¸¸ààà ñuqpp ©©‰ÚÚÚ{ZVvvv²nöîÝ»8::ÊIJ{­‰R©äüùóøàÜÜÜØ³g/¿ü2K–,± ô­P(¨¨¨`Þ¼yÒ"Öét¨<))‰k×®aggÇĉ0`€Uvñ.Z­VB´mܸ‘eË–qãÆ ”J%UUU<öØcŒ3¦Yq°èÇÕÕ•«W¯òöÛoÓ»woâââØ¿??ÿü3†àà`žzê)ÉÈ`ùð+Þ®ÀÕœ1c½zõ’`×ýúõcöìÙ”——[­#U(Ìž=½^½½=,]º///¾øâ 233ijj¢{÷îL˜0ÁL[5}‘©üî»ïrùòeÖ®]‹J¥âóÏ?çÔ©S8;;óÔSOIˆ9kŠ…““ååå¼þúë8::OJJ  °°www~øaú÷ïß"f«`e6-Ë;99‘žžÎçŸN}}=>ú(<ðƒ;vpúôi‚‚‚xî¹ç$¸µd9GGG™q-Xnpuu5ËVµ–àèèHzz:?üð………øúú2eÊ‚‚‚ðõõeÏž= 0€?þ˜ .˜­Ÿ5'fCC*•ŠÔÔTvî܉^¯gÒ¤I <¸YXÄ4ûQdƒŠ,ÊÜÜ\öíÛ'¡‡ʰaÚ t¾¾{÷n.^¼Hcc#QQQLœ8Q*…ÂÍjš=l ™ḨP*Dê|@NNQQQLŸ>ÝLY·‡‹‹‹d ®q±¿\\\¨¬¬4[ÏßZGjí÷NNNdgg/…iÏž=™9s&›7oæÜ¹s8;;K!ÇÖ­[åþðññaúôéTfñâÅÀ¯¸å"£;!!k×®áââÂÃ?L@@ÿûßquuÅ`0àèèÈêÕ«qppàÊ•+|õÕWTTTÎÔ©SeF¹åÞÏ¢Üë·ºÁ­­­¸Û·mÛÆÈ‘#ñòòj‘¼¢µui _ ¥ÏÿžqÜSH·E«²±±¡¨¨ˆ/¾ø‚ƒÊ—™7ožžž$%%¡ÕjÙ³gwïÞ¥gÏžR:tÞÿ}²²²øæ›oèÛ·/k×® ´´”[·nñý÷ßK+ÀÖÖ–3gÎpáÂlmmÍÚ4¸¾¾žE‹±råJV¯^Mmm-”––’˜˜ˆB¡àܹs|øá‡fL¦_ƒãÇK@î÷Þ{WWW²³³ ç­·Þbܸq,X°€óçÏ›}[ZÚëׯç‡~ ##¥RIrr2J¥’]»v±yóf† "Ñùä6mÚDHH9998;;Kd¢M›6ñÕW_™!˜nj'''åe*˜M¶nÝʼyó4hK—.m†µkŠòÓØØÈÚµk9xð ™™™888‘‘Á„ ضm;vdæÌ™fx¿–K@K$a½ß¹s‡Å‹3dȦNÊòå˹qãß~û-»ví’{kåÊ•ÍЩLû)++cß¾}ìß¿_Ò|ÕÔÔ°ÿ~233›zK¡åÊÆŽK||<^^^Ìš5‹’’1 ܼy“õë×›KSA&æáرc|÷ÝwÔÔÔàââBnn.K–,ᡇâ±Çcùòå\¹rE"ý˜îC¡Ìž:uŠ/¿ü’›7o¢T*¹rå }úôá£>bĈ,X°€«W¯¢T*ÍÆ"¹+V0gÎ.\Èúõëùþûï%†ñ×_ÍÉ“'ÍÊ,ëYlçÞ½{ùþûï©««ÃÞÞžuëÖ‘——Çš5k8tèÛ·o—Ê‹ibýøã$''˽ æÿÒ¥KòαL¤´†”ey÷X+õ³¶:ŽÓ§OÇK/½Ä®]»øâ‹/ÈÉÉA£Ñ°~ýz-ZÄ»ï¾K`` ?üð£FâÝwߥ°°¥K—¢V«)--åðáì!Y›+ñGGGÒÒÒ¨¨¨hÆÜc팶´ß­¡Ìµ$¼‹kú~þæž‚T¯ZµŠ¦¦&Nœ8ÁöíÛ¹yó&z½žádzfÍzöìI^^:t`øðáÀ¯iÇ444pñâEæÎËâÅ‹éÔ©€“'O¢ÑhøÇ?þÁ§Ÿ~*ŸûÌ3Ï0wî\é1Õ–,­J²³³9uê”DJéû¦)ô¦Z‰å%$$ðÊ+¯pðàAôz=>ø #FŒÀÓÓ///ͰeMKyÙ´iJ¥’§žzІ†”J%NNNdeeI ´¦¦Fºa,Ûh4²|ùr† ÆÀe°ÆŒ„††âïïR©ÄÝݽن`qq1ñññÌ›7???Y“&ÀâM…¨eÙ’©»eÿþýÌ›7/¿üNGdd$S§NeÙ²e¬ZµŠ¡C‡2a„fnbQ«¸gÏ._¾Ì+¯¼"]Ë¿üò NNNÄÆÆ2tèPrss%¸¹éšØÚÚâààÀ{g§§'?þ¸,sš5kƒ3fðóÏ?ó·¿ýÍÌmv/‹Âô9¦Zwvv6åååÚNXp?ÿü3ýû÷çÒ¥K <˜“'OJX<Óù···'//… rüøq 8yò$nnn¼ÿþûlÚ´‰ÔÔÔá.EìSO=E÷îÝñõõÅÙÙYØ.R÷E)ŽéxD?|òÉ'ìܹ“Ÿþ™U«VaggÇ•+W$RŒ¸È.\¸ •BÓ=ÔØØÈÆY¿~=:N¢Á<ú裄……1sæLvîÜÉóÏ?OçÎÍJƒD­à!C˜2e ï¾û.+V¬`ܸqŒ?žÃ‡³páBnÞ¼Izzºp¾é8ìíí¹uë ,àôéÓܹs‡3gÎ`kkË¡C‡6lgÏžåOúß}÷œWKJ;ÁŠ"©vvv¤¥¥±qãF6nÜ(Skéy±öez†,nZ?¯R©8p >>>üòË/Òµ+jbEº¨×V©T2âààÀéÓ§éÞ½;‘‘‘¤¤¤ T*©¨¨àúõë>|æÌ™#-~SëßÙÙ™¯¿þooo¦M›ÀÈ‘#¥kÛš—¤%˲µ/K¡ÕÒç9{ö,ƒnFZÑ–ùmég­ýÝïIºj‹@½§ 5 ¼õÖ[„‡‡Ó³gOþô§?±ÿ~NŸ>ÍÈ‘#)//çÊ•+ܼyS"ÌŸ?ŸÎ;Ó³gOŽ;FDD„xçÏŸ§sçÎܾ}›ÈÈH¦OŸÎ´iÓ¨¬¬”Âïܹs;vLÆwZºøÅ°yófúöíK=ðõõ%..½^/¹…ûײæÕÆÆ†Å‹³xñb†ÊÆÙ±c‡\ðëׯ³dÉâââèÑ£‡tEŠrqqáçŸæë¯¿fĈh4t:©©©L˜0¿ÿýï<õÔSܺu‹W^yEZ¤¦›ÇÃÄ„rrrèÝ»7Z­V¢™ÔÖÖbooϦM›ÈÈÈ`Íš5ÍŠÐmllpuueéÒ¥øøøàçç‡^¯çêÕ«hµZ«1Qkš]}}=3gΔ—ßþýûY½z5h4^xáFEvv6¹¹¹fŽbrssùûßÿÎØ±ce=Û™3g4hÕÕÕlÚ´‰]»v5SpÄš¸ººrèÐ!öïßÏÃ?ÌÝ»w©®®æÚµkh4‚‚‚X¸p!~~~$''›ÍE[é¯,¹Dpˆå 0 ¡øˆ‚tË8Ÿø{µZÍ7ß|Cii)ñññ<ûì³ 2„ªª*~øá¦M›Æ“O>)HZ²Hîž={ؽ{7kÖ¬ÁÇÇÇŒýE@gZ; ìܹ“ÈÈHHRREEE_¶¡¡AŽÏ¼ÄT²mÛ6,XÀÌ™3yúé§%²–““ .$22’sçÎQYYÙ "Rß_¼x‘‘#G2~üxÒÓÓ¹{÷.›7o¦S§N,[¶ŒgŸ}V¢4Y^¾...ìÚµ‹êêjÖ¬YóÏ>Kll,555òøà«`㢠&бcGŽ;†B¡àöíÛÔÕÕI´qYZs1Šþ^xáéUxä‘GØ¿¿Ô}}}™:u*uuuœ>}ºÔÑhD­V3}útrss¹zõªôhŒ9’5kÖPWW‡³³³ü²tét:BBB˜½zõ¢C‡Œ9’ÜÜ\‚ƒƒIOOçÊ•+,Z´ˆöíÛÓ±cGŽ9"©×Ï ÀÎ;eæYkn›µeË|||=z4UUU’²HX‡Ö.?±Ðååålذk×®ñÉ'Ÿ––Æc=&Õ{õêÅ€8uê”™u'ú«««#88˜W^y…åË—Ó­[7ôz=S§Nåƒ>àÔ©SœüðC222HJJbÏž=<õÔSddd°cÇ®_¿.“!bbbÌG„FéêêʼyóX¶lcÆŒ¡®®Ž'Ÿ|­VKYYcÆŒáÖ­[ÄÄÄÑ µ¤®®Žððp^yåV¬X!ñ@{ì16nÜÈÏ?ÿÌ™3gøä“OèÓ§ÙÅÜ pKÉuuuDFFÒµkW>ùä¶oߎ««+111Œ5Š«W¯²cÇvïÞÍØ±c›Qlj¹øá‡©««ã£>âÂ… üôÓO¸¹¹Ñ£G:Äwß}g¦0}!`xýõ×™1c*•J ‘W]]Ýâ^Aƒ¡×ë5jTVVÒ³gOÂÂÂäøÜÝ݉m†¤×ëñóócÈ!¼ÿþû\¾|™/¿ü'''öïßϾ}ûÈÌÌ”@ðíÚµkæØÖ¾¾¾|þùç|öÙg¨T*ºvíÊøñã9}ú4ûöíãÈ‘#deeÉø¦éWmm-£FâîÝ»|üñÇœ;wŽ£GâååÅøñãÙ·o;wîäÌ™3Lš4©™b).Ð>}úÈ$+z#,–o¿ý–Ÿ~ú‰Þ½{·Zi`ú½µ$1Ó/ooovïÞMß¾}¥ ,ª™3g²aÃêëëY²d :޼¼<Ž?ΩS§8{ö,:ŽÆÆF2228zô(yyyrá®^½J\\qqqüòË/\½z•ÄÄD¾ù晕۱cGôz=ܽ{—;wîpåÊjkkyâ‰'0¼÷Þ{ܸqƒO?ýTòÔZÞ-kß‹,á‘#G²yófɬV«%–ºÈcP*•ܸqƒêêj"##¥ µ··G§ÓÑ­[7Ξ=+²»»;Ÿ}ö”„BY>|8[·n•É®®®¤§§Ó©S'³“——sçÎeöìÙxyyÝW]ì½î³$»n]»¼ùððRƒ­ ÿá»àììLçÎIHHàäÉ“DDDNtt4W¯^å‡~ìGŽ‘“»oß> QQQ´oßžÆÆFvíÚE=¤¥ZVVÆ!Cd†¦ÈÞeãÆk5°_]]MAAùùùL›6ÀÀ@3ÍE§ÓѧO lli• ò솆<ˆF£áñÇç/ù .\@­VãääĹsçHKK#((ˆ   yyˆ/£ÑHuu5555TWWãïïO÷îÝqww'99™‹/%ÙC,c¤B3}ÔÖÖNÇŽIII¡{÷îܼy“K—.qýúubcc­¦v×ÕÕQSSCMM õõõ,üƒ> ** ’““4hÌ`4[aQýøãäää0|øp¦Nг³3eee;vŒššf̘ÁÀ%¶§©I¤ì×ÖÖJÅ£wïÞ8::RQQÁW_}E`` sæÌ‘8ª–sa9ŸtëÖ wwwÎ;ÇÙ³g gîܹÍ,+SöÂÂBn޼ɰaÃ$sŠå2¸¸¸Ð·o_~ùåÊËË™={6¡¡¡„††À‰'èÑ£Ï<óŒ™Æ,Þ[¯×J·nÝHOO§°°P‚Í÷èуüü|¼¼¼h×® 0ÓÜÅœ988Èq•••‘––Fff&}úôA©TR[[KTTaaaV]ûâú÷ïF£á§Ÿ~Âßߟ.]ºÈñeeeI’ySð{S˜££#ƒ ¢²²’³gÏJ'///._¾Ì©S§pwwgþüù´oß^ö!ÆÒÐÐ@`` ={ö”.Ý™3gÒ»woºté‚¿¿?§OŸÆÎÎŽ~ýú5Û?Â* £k×®¤¥¥QZZÊ AƒP*•ôìÙ“ÆÆF.\¸À¸qã7nœÄ•5]—ÆÆF¢££¹{÷.‹««+ x{{cooϬY³ÌjØï'{×ÒÝ)Üó€$Ü0èt:¢¢¢pvv&::šââb‚‚‚ 55•›7orñâE"""pww§¼¼œôôtºuëÆœ9s(//ÇÅÅEÞ•:ŽN:Ñ­[7Μ9CJJ þþþ¼öÚkhµZ0` …‚ÔÔT „««+>ø yyyœ9sF®QKe"ÕÕÕœ?ž1cÆX¥Ë³ü|AAݺu#44TzaêêêÐjµ :TÆ“’’¦Gfð+ËEͯ½½=ƒ ’îYÐÒóxà©pÚÙÙQTTD@@=zô0£™+-)Æh4âëïOî­[ÿ]¤²º¾MMMØÚÙQZRBHhÇÿž‹_ãùùwîüvÐzËX”^¯oFR+„ª)@½8°¦@ì–RKŒ"–ÂTøÚ½½½©®®nf!yzzRWW׌·ÎrNNNò0ÕÖÖR]]-KÄûˆC"b¤ÖæAXJ¥RÆp\\\$†V«µšÐ`97¢¼¥²²Ÿf õeee÷Ô¤¼¼¼¨©©¡¡¡A&шM(8û¬¹pqq1ãÑnMáJ©©©1+[iiŽŽŽ’’Í´¾µ¡¡ªªªÿÖ´µZ-kQMçSðZš*%¦ÿ:::’ššÊ‘#GxóÍ7e†°µŒtárss“¥"‰F¸ ­½³5·žpAVVVÊ3áææ&Ka***¬–Ï*5KG£ÑÈ„^¯·êʶ»««+“VXµ¢Æ¹ªªª™[Í2^ëêê*³ŽÅùuÁƒ­Vk&À,­AGGG¹´Z­¬[ó©×멪ª²J“hš0äââBSS“,SpuuÅÑÑ‘ÚÚZÉ bí\ÙÚÚÊd4AÖ ( P(få/ÖæÒôgm±ÔœœœP«ÕòŒÚÛÛãááF£Áh4âàà€Z­–gZ¬¥Š5²¢^»²²R†V”§§§¬/â³ööör¯ˆ{W»›®«N§³Šy+Þ«°°ÄÄDÖ­['ÏNk„ ^^^èt:IM'”Cwww™XªÕjÙ¶m0}¬e IDAT3gÎl®ÝÊÊJ7a•J%Cm}ž©Ë×ÍÍMr˜:;;ÓµkWàßÌþ"kZ8,´QŸ'~fp¶³³3« ƒEq‹ïÅE'Ü!–ñË…¼uëÅÅÅf¡e TÁ{ÅÉÄ{‹Ï›þÌTójk_B#2¥Ý²T(ZCàéóÖ\m)*6»e­ý½é¸ÅZµ4GmqˆKÌ´û á†ÿ-óÙVËÂ4IÄt|÷óΦsdJXlZæaZËØÒX-ë2Åù0]ÖÆ!æÈt-¯­}X–´6ŽÖö‹)uÞoOÓ=p/V˹ïЖõø­1wqþMCB™î'kkmês$Æ,ú÷¦©QbzÿYÖdš¾K[çî~ÎNKw­åØM$k‰B¦ò ¥ùlËó, :Ó„'•J%Cˆ÷¤–ïñ»Ø_hjÂæ¿Ó²-µqÓÍm©aY+Ò·ü¸­Y§­Õ;Š>üýýñôôüâëvÏ:è?ÚíöŸ?;ÿÉóhéÙkËçÛÚÚ„—ÔÖò‚{}ÞD ilÌr’­¹|,5­ßZlÛšþ¯‚‘jk3µHÿ“‡Èh4ZÕïwCþ'Ç`É…Ûk¢-Úú¿ºµÕ›ò¯l-Y¢ûƒUçÿ¶qÊÿKcºŸ=k- ø»i[ ³Lµ–>oíw¦¦~K´-AAݹsG‚Öÿž¢[S²`‘ðŸb†ut"ùŸÒÞlmmqss£ªªÊ,¦'°=«ªªþW[z¦Äâ"Žr¯Ï«Tª6‘†ÿ;š››uuu-òäþ;æOÄæDV¨ø¹€Ÿk+'èíÿ½fkk‹R©´š¤×Ö¿¡©ÿ-,;"æ*\»ÿv‹Ôš5Ø’•ØÚg­ýî›o¾¡±±‘É“'[MLjíYT$‰á#ðEEý¤Šn‰Å@¡P‘‘ABBz½žwß}¥R‰B¡X˜Z­Ö*i¬PÄó³ç‰$‘ q¯Â`777fÏž··7Ë—/—5"›U€½[{;;;ÔjµT,jkkÑét(•J‰¿*2b­Õ¢šÎGII ãÇgË–-têÔ‰úúzÜÝÝùàƒ8{ö,;vì0ƒç3}³5ÓëõTTT´ù@Ф'µZ-k …`3MZÒjµfÉ_¦ÍÁÁË—/súôi^~ùeÊÊÊî Z¿wï^vïÞM—.]xóÍ7©ªªB­V£R©0­®Ÿ<¢îRì±&¢R µ¶lll7nóæÍcôèÑ ¹~lÜÚ{ˆy{¶±±‘êêj‰,Y™Á½öaRRï¿ÿ>ß~û­,=ðððàé§Ÿ¦W¯^üõ¯E£Ñ˜Y¬¢öO(ƒâRÕjµ².Ôtoܽ{×깉;")EŒCì±."‰ç~˜tÄ:‰„º?‚æB°¤¤„]»vñúë¯SZZz_^:‘`VUUEÇŽ©¯¯ÿ_Á c4­&ÄþO´ß ZäÈN:Å Aƒ6lGåäÉ“ôíÛ—Q£FIAzz:ßÿ=!!!<ñÄ\¿~¾}ûZµl-¿·¶à=¦  ???†Ї‡YYYœ9s†úúz"##éÓ§O³ÚKñ½‹‹ [¶l¡©©‰/¾øBf©UVV²{÷n´Z-#GŽ”¸–okkËåË—III¡¡¡îÝ»ƒR©$--M‚ž?øàƒØÛÛ·xð…K±°°P^Š­¼¼œ   ܬðYôe0Ø¿?7nÜÀÍÍÁƒÓ®];òòò8qâZ­–ÐÐPYþÒRÆ«ÚÔ××›ÅÄE}š)¡€©bSQQÁæÍ›eQ¸““þþþ >N׬·%!Z^^ÎW_}…N§cذa¡Óéprr"//#GŽÐ¯_? SgM˜êt: ÆaYȲäáÝwßå…^à…^x¦×¯_çØ±c$ß³ÙtÞ)--å‹/¾ ¡¡‘#GÊŒëC‡qõêUzôèAÿþý­‚X&àäääHK:==óçÏc4éܹ3ýû÷o¶—Åük4þùÏ¢Ñh`È!¸ýûï¿§°°aÆÜlšÎ‡½½=ÕÕÕäää˜ýN0ƒtèÐÁ*™„J¥"--#GŽHnooOll,YYYHåÂÖÖ–ñãÇ›aþš ÑììlŽ?Ž»»;ÇG¥R¡×ëQ«Õœ?ž´´4Æߌ<Á²œÊñH¬Smm-ƒ ¢k׮ͲÐï%ŒÛ"î••~¯>[»ïõÿûyOkï¢×ë)--•gç~¬3;;;ÊËËyï½÷èÝ»·$Íø-ïc O×tϵ”¼ÔRöõýŒã~\»m­(..¦ªªJþnëÖ­ìÞ½›‡zˆ]»vqöìYnܸA^^cÇŽeëÖ­=z;;;Ž9B||<ƒ ââÅ‹ìØ±ø•SÔÏϯÙF6 f.Ekqttdþüù:tˆAƒqâÄ ^~ùe~ùå¦Nн½=:uâµ×^“ –Yq¢~I»ÐÔÔDUU .$??ŸÎ;“––&ÙL›Z­&33“iÓ¦áàà@xx8 .dÏž=ܸqƒE‹áççGRR7nlæ¦6…Vkjj’µ—b.Ä{÷ïߟð /˜%i‰þ\]]Y¹r¥„JÌÏÏgúôéäääðôÓOSTTDïÞ½ùðÉ—saé-e¦4[öööRiÿ·¶O„;µsçÎDDDBBB‚¸ë-¬^kEà …‚ÚÚZÉœ£ÓéX´hÅÅÅÒ ]ºt)kÖ¬áâÅ‹²D©%ïǽ¬`ÁpRTTDCCMMM¢T*ÉÈÈ`Ñ¢Exzzâèè(™|¬…'JKKyõÕW©¬¬$88˜ŒŒ ÜÜÜØ½{7›7o&88˜·ß~›ÈD:Ë}íèèH}}=µµµsµ¨¨ˆ={öA§Nˆç½÷Þ3# 0íãùçŸçܹsôëפ¤$^yåìììX²d .\ ::šK—.¡P(¬"½¼WQš"ÖI|^«ÕJÀkë/J2ºtéBDDNNNÄÇÇsáºté"kÐSSSY±bE3ÅTì¡7nðÚk¯¡R©HNN&>>^úgee±`Áâãã¹{÷n‹žA?¨Ñh¨©©A©TRYYÉk¯½ÆåË—qsscéÒ¥’Áþ±¥KÔò‚µv?YX›«Öî\k )ÖÞ¥%àˆ¶Œ£5!”ú{5´$„ÃÃɧW¯^ͼ_m}hiN,aEÐFKl/¿ÅM{¯µýM‚T ÿ,Z´ˆE‹1cÆ Nœ8AEE`Ù²e1bÄÎ;GXXnnnܼy“‡~˜.]º˜˜ÈâÅ‹ñõõeúôéœ={€ÔÔT¾ùæyä8 /¾˜˜iá Î@k€ó½{÷F¥RQTT„££#½zõÂÃÃ^½zQSSƒF£¡cÇŽ²ÝT‹E¼+W®¤¢¢‚;wî°zõj”J%?þø#7oÞ¤W¯^èt:zöìÙ •F¸Ú<==‰ŽŽ–Ï #22’O?ý”ÐÐP|ðA&MšÄ7ß|#q[-µü¢¢"^xá-Z$㾃W_}•Ž;’——‡J¥"::ºÅÍÛ£Güüü(.þµÐ8&&777bbb0”””àççG÷îÝÍÜæ.Óo¿ý–iÓ¦ñùçŸË ³®®Ž¿ýíoÌ›7¬¬,i•YnP£ÑˆJ¥bìØ±Œ?^ÆÒ^zé% X±b¯¾ú* , ¨¨¨ÙA–Hff&çÏŸçÑGeܸqTVVrüøqY¼x1]ºtÁ××W¢ÇX^NmA6ÿªT*®^½Êš5kpvvæÐ¡C$&&âááÁöíÛqssÃ××µZ-‹¿-/µZÍwß}Gii)‘‘‘ ºwïNmm-Ÿ~ú)£GfÀ€ 2„íÛ·KâSw¨££#)))<ýôÓ’±C¼þúë466RVV†¿¿?;w6ssš Á>}úH×¼Z­fèСœ;wŽ””HUU½zõjfš2¿¼óÎ;òœ :µœœfΜÉo¼!1v­Í·€Ìœ0acÇŽ¥´´”ˆˆFE=7n}ûöåÊ•+ÌŸ?ßL!ÍÙÙ™}ûö¡T*1b?þ8?ýô%%%³bÅ ÆŒƒR©4SêLßG¡PŸŸ/²6mÚD~~>wïÞ%99™9sæ0{ölù,K„,kûÅÚÿÛ* ­]ÊméÓZ~‰¥Õmù7nnnRù¤¦{KïÑVaÖàz‰ݬ޼¥¹½×»ØØØðÜsÏ‘ššŠ¯¯/^^^¬Y³†„„«ä¿GˆÞ·;¼-Z½z5l߾͛7³eËŽ;ÆŸÿügÒÓÓåñðð‡iÇŽøøøÐ®];Nœ8A×®]¥{ìܹsÊ8âo¼ÁË/¿LJJŠ|æ† xûí·[´€DëÖ­yyyäää““C§NðööÆßߟ«W¯rýúušššÌ.ASW¨Z­f×®]øúúÒ©S'víÚ…““¥¥¥hµZnܸÁ¡C‡xùå—ÉËËkFaf0ðööÆÏÏO> ,,ŒÜÜ\øì³Ï€_ y­¹!ÕjµtO¯X±¢™«ª¶¶–‚‚®_¿.k©”——sëÖ-²³³ ÅÓÓ“ÐÐP®^½JNNåååtéÒÅjŒ´±±‘„„ÆÇã?ŽÁ`ÔlGŽá­·Þ"88Ø*P¼éa¯©©¡¼¼œ7Ò§ObccùòË/¹páŸ|ò‰„ݳæ!°³³“À7nÜàøñã¨T*jjjxçwpqqaéÒ¥’Äø÷­VKŸ>}øüóÏ©¬¬äé§Ÿ–´i†²²2rssÙ¶mo½õ–U0{{{JJJ¨¨¨àÖ­[ìÛ·¿þõ¯QRR‚§§' øûûK·¸å¼+•J>úè#ºtéÂK/½dVû+bã×®]£²²Ò ÝÈÒµÛµkWnݺÅíÛ·ÉÏÏ'**JZdׯ_'99™ùóç“™™)=,¦¤………ìÚµ‹E‹IHWWWþùÏ¢ÓéX¶l™ÕÒ4Sa®×ë1dddHhE???SOLLD§Ó1jÔ(«ùöööãííMRRåååÔ××£ÑhX¶l“'OæÑGm1)PÌçš5kÐét$&&2gÎT*•L :uêéééI:±–h¹Ú’3r¿9&ÿ’8ÝC¦®]»– pæÌJKK9yòd3„ßÚÚêÒÂS¬ÑïeaûÓ××—ªª*âãã%Òš¥‚k ï?.HKKK9~ü8'Nœ`„ ÄÅÅÑ¿²³³eì+##CÒõСCܹs777‚‚‚ÈËË#==x€ääd&L˜üŠRdšM5tèP `5¶e:A«V­â¡‡">>žñãdznÝ:RSSÙ½{7K–,aÕªU³sçN©ýZ"¨äççKvŒüü|¹ÜÜܘ;w.Ë—/çÚµk’ÑtC8;;sá¾ùæ–.]ʪU«(((à‹/¾ €ââbI÷¥P(¬f&‹d ø—ØÔ…, ö–-[ÆÄ‰Y³fM³M)¬¢wÞyâããyñÅùðÃÉÊÊbÆ Ì›7+VàïïÏûï¿‹‹K3K~Eäñðð 00P>_§ÓIKÃ’Ïò=D²ÉÑ£GÉÎÎfúôé( ÊËË©««cñâÅdÕå#¬‰††bccyâ‰'¨¬¬”h8Z­–¸¸8T*_ý5ÅÅÅ¿«\ÉÖÖNG~~¾D¯*))‘‰YÝ»wçµ×^cîܹ8p Y°i‰¿¿?óçÏgÙ²e¤¥¥‘““#XV¬XAUU®®®V/ÁСR©6»<ììì5j”tÉôÑGV]óõõõ¬ZµŠI“&±|ùrÌŠ+d6òsÏ=ÇÊ•+©®®æÜ¹s©Êô< t:íÚµ“„ËB¹±³³#$$¤ëOK±Þo¿ý…BÁ£>Juu5jµš¼¼<’’’1b;w6c¡±LXÒh4Ìš5Kâq EëÌ™3¬^½WWWšYøb=nÞ¼I·nÝd¬ÞËË ___Ö®]˱cÇøä“O°··7ƒílÉEÚ7¤ðêxzzÊ÷wŒ»»{3.cSuSET&XÆý¼½½%é„éó¼¼¼ÌöPDDÓ§Oçܹs¬[·…B!×Ñôy¿¥µ„ˆæááÑ*W³éœ yË0Œ­·L8óiggGxx8éééAAAÍbS¢???‰ë+Üê®®®’¾©   ´—å÷õõõlÙ²…~ýúCUU:t@¡P°téR¶mÛFÏž=›i‘‚Ò,44.^¼Hvv6z½žàà`–.]JBB[¶lA£Ñ0}út‰£ÜV(ËïÅS(ÐÁÁARðåææRPP@FF¾¾¾VIÕëëë‰ŠŠ¢¦¦†œœ233Q©Tx{{Ó·o_NŸ>Myy¹ä`´&„i×®dJs#F#7nÜ ¤¤¤Å1ÛÙÙÄ•+W¸}û6×®]ÃÏÏ\\\¸zõ*ÙÙÙ444àëëkÖ‡%,ŸÀ€mllD¯×ãëëK]])))TUUµèFÂ.77—Ï?ÿœéÓ§ãîî.“ÈöïßOqq1O=õµµµV‘…RQQ¹¹¹¤¤¤HœëmÛ¶±yóf–,YBUU¯¾úª¬¹µ¤õs_VVF~~>ÙÙÙ8;;ãïïÏÆ™1cõõõ 4È,ûû^4j-Y9...œ9s†%K–˜!q©T*Ö¬YÃ$¦¹R©¤°°—_~Ù ËV­Vóüƒ-[¶ÈÏŠä¿… šq¸ªT*RRRXºt©Ü¿ 6Œ:ÇÆéÛ·/666'•ÁÖª)Z:?–_BéY³f ‡ÆÙÙ¹ÙýfúyµZÍŽ;HLL4Ÿ^¯gÁ‚ܸqCz>žääd^~ùe¢££%“Œ)Aµh , 33“S§NÑ¡C™…þøcéСƒÕD±ù/\¸€Á``Ê”)ØÙÙ¡Õjyä‘G˜sæÌ¡_¿~r÷î]ÊÊÊ •±á–ÒZJ˜øÿØûਮµí˜>Ì0ÀRQQÄ–k4ÖhK‚ݨ±$Fc‰=VDcD=j,€#IŒŠ-coh¨"‚t†f`€ïÇ9k}{6{0É9ïy_×uq‰Ãž½Ú³ÖzÖSîÛTa«V­(Vnee%fÏž ???Ì;?ÆŽ;Œ|iLÓûÛo¿)S¦àóÏ?ÇÑ£G±~ýz´iÓ}ôd2>ùäxyyá£>jzBüЋ-‚^¯ÇÉ“'ѦMšR•••…Ï>û ëׯÇ[o½…ùóç7 U'7’íÛ·£¨¨ .„D"ÁªU«ÐªU+|þùçøöÛo±uëVÌš5 C† ¡9‚Ì@Ž–-[báÂ…øá‡PXXHÙ4Þÿ}´mÛ¡¡¡F·U.ëˆH$ÂÅ‹ѱcG 2„B¿ÿäôéÓáììÜÀLNJee%†ŠiÓ¦aãÆ¸}û66lØ;;;äççC¥RA§ÓÁÁÁ¦1ç—8,_¾Ý»wDzeËðÃ?е§×ë±lÙ2lذ ,À€PUUeáÛ)—éñåË—¸xñ¢Ñ>ÃçóqíÚ5¤¤¤ÐC‚`ÿž9sÆHFôÝ»wx˜ëêꨞÒ|>™™™´>²—UUU¡¶¶*•ŠÞÖÊÊÊpæÌŠ³Ü˜×T@û‡ÇãáÚµkHMMm·ÀþžP(ÄÇqÿþ}:DQ8{ö,M§"ŠWFF.]ºD÷Bwww888`À€ðôô„··7Ím/--Å™3gŒ\OB¡]0÷Þ¿º4еKL͉î5ºÌÖÀÙàôæ>ç*´žišÑëõš ÔÀ¶Õ³Ñz˜ õds!Îz¢áråÞ1)¬¸ê‹ÅF7®ôbŠ"fc"Xl.QSï`n¤$í„Bàt¦9ŽÐ5qõ…IþK"h‰ÍÔÈ™ û†Çãñ ‰è‚f 5 §7 ‚·˜…´™ḻ'š&!äæ’‘H„{÷îáÂ… صkrss0G¹¢/™ï$'¹ÁÌñ4fÏ”â*`ÎkccO¨¦ÈØ“ñcÎ)¹ñ›J÷ LÒr²Èí&¦|WB¡$ï”Ù&h…)¢r@@ó™ŠÉÉeæ›23eŽ9ödH¥RhµZÎT0ò;™?¢tìg‰Î”-.à{¦ÂÔҹѓè`æžFˆ ˜û‹••är9ÊÊÊŒ@ÖIþ4“ôÚÂÂ666F„Ü\õ™Û‡­¬¬ “ɰe™Üî¾úê+„††"77·Aþ/ûwªcŽÔƒŒ…¹þ1sÜÙý#{œT*Eee% †ÔjµTö­­­QVVf¤€åX£Ñ4 ´þ/ÅÚe-³S Ø õ¦€±™ õäs"Ä̇¤}–ËŒÆ\½^OÓ˜yxd5% ‚¢·àhBÓÆÞ6 ϬI+ÅZ¶ÆË•÷Èh¢q³ûÇÕâßb?[[[ ­VÛ¤w0 6¨73퉉“Ì5–4€9f„b«)cAÞÁô?2Çž°¢˜š"›žžž˜2e éFjN¸ÞÉŽ=J}zD£JLLD||<âââššŠ—/_r*+äù¬¬,ÄÇÇ#;;ÛÈ×LÚfN"(=yyyHLL4bö`öÏo,ǃV«ÅñãÇä`?~üñññHJJBFF's cEFF½ ’ñT«ÕHHH0;žä=………¸{÷.M7·P˜ý#›ß?þˆ˜˜ðù|N$(6O~~>âããñâÅ *¤ÿ:ÏŸ?7ésbÊ-‘}BWwüøq”””4 üM‚›RSSéü1Ü---‘——GÇÎe!sM‰Åb\¿~?ÿü3͹6çÖ! å HMMEuu5=¼IÎ`zzºIz;"‡ÙÙÙ4¥ËÏÏUUUÈÎÎÆÓ§OÇ7€ldH¥¤¤ ..qqq4ל`|>ÉÉÉ ãD5jlƒm®_îÈ‘#())ÁàÁƒ9I ÌÍ)O)((€H$¢øÒ¯’7ÝT«REEbbb^ ‰Ôåááýû÷£¬¬Œ"˜ZCÎÎθ|ù2îܹz©â:Ìär9^¾|‰ððp´mÛÖ$J›H$Âøñペ¡1gµh*Ön“Ø_Èâ`§ÁÄÆÆ"$$-Z´@YYÖ¯_OOOXXX ,, +V¬ÀÅ‹áïï¼¼<¬Y³ …yyyøä“OЧOh4ôíÛ×Hã"‚N´©ô²`är9M- ·\.‡½½=lllhB8CII †ޱcÇÂÁÁZ­~~~‹Å°µµ… U¸Ø2È‹Ű´´¤¼*• 7n„ òòò(v,Iüg†Ç“ú Ū´²²Â¥K—èFtÿþ}dddàÎ;4µ‚IãvìØ1<þVVVÈÈÈ@×®]1kÖ,fOP|Ø\›DPD"¢££ dffbÁ‚/“¤ò¤#Siû ¿ÿþ;Nž< oooNÌ^"·$J–I NƳ´´”“F”o¾ùÕÕÕ¨®®Fzz:&NœˆaÆA,ã·ß~ÃâŋѾ}{üòË/P©T dÈÚ#$$bX"‘@¡P@¡PÐÈI® ‰D‚‡âÌ™3H$4íhñâÅ-+((?þø#vìØqãÆ5 ã#é"Ä,¥RI©ýˆ6mÚ@­VcþüùôfÂ\Oׯ_‡Z­¦`)·o߯íÛ·¡T*aoo¹\™LÆ©ÿÖ«µµ5ÜÝÝáêꊼ¼¼&ÑO’½$&&íÚµÃáDZlÙ2üñÇ8p Éô#®v4…†½ŽÙ9ÓÍ=LOž<‰;wî ¨¨#GŽD=hú{^¿~/^¤io¿ý6Ý™m³²²BRR~úé'<}úR©ï¾û.5!³S— ê|…€íV|¥ƒ”täèÑ£ÜyëÖ­pvvƺuëðÕW_¡]»vˆˆˆÀ¹sç°páBœ8q¿ýö>üðC8;;Ö®]‹qãÆaôèÑHHHÀЧOdddàСCxúô)6mÚ„öíÛÃÂÂS§N…T*¥¡<¦´´Û¶mC^^¦L™‚ ººááላ‹Cyy9e®0ÍãÆÃ›o¾Iy IÞÊ•+QZZŠ•+Wrj‚$066LJ¥¥%æÎ ___ìÞ½ååå8vì"""°wï^ôïßßHËc&‘WUUQ‘•+WB(býúõmiĈxï½÷8ýÊz½Ý»wG@@Z·nÓ§Ocúôéxÿý÷¡ÕjqèÐ!h4L:~~~œþËúúz„„„`Ú´i Â’%K°{÷nº Ž;†ºº:Œ1ƒ ¢‡9SpÉ&vüøq„„„`ÆŒèÚµ+ÞyçŒ?öööX¹r%|||àëëÛàP¯¨¨@§N0hÐ \¾|€šZ÷ìÙGGGDFFâðáÃÆÀM‚è3¹Í…XbccqìØ1À°aÃ0a¤¥¥aæÌ™pwwÇìÙ³Œ‘“víÚ¡gÏžhÓ¦ ’““Ñ¿Œ9½{÷ÆêÕ«éfÊæoeº9x<>Œû÷ïÃÃÃsæÌ¡·³ˆˆdggcΜ9èÔ©'Bmm-F…:ÀÁÁK–,Á—_~‰ÀÀ@ܺu ß|ó ¼¼¼ŒòZÙE  ++ ‡‚V«Eß¾}©2VRR‚E‹¡¶¶Ë—/§79æüëõz´lÙóæÍCÛ¶mQYY‰nݺ¡k×®Xºt)V¬X¬¬,ê3äšìß¿—/_†R©Äœ9s0fÌL™25556lÆG™Š˜V ¢|hµZ,]º”úÉÇŒƒ€€ØÙÙáäÉ“¸qã,--9Y_L多’S*S=s‡ó½doÑh4Ø´i ðÅ_`òäÉœòά›Ý^®}Jñ!Ÿ={†Å‹cÈ!ˆŠŠ¢uzxxP8Ÿ-[¶@,cÑ¢EX¿~=ŠŠŠ‘‘}ûöaĈœ˜•ÌR[[‹víÚáܹs˜>}:&Mš„/^P{ú;#¤¤$=zÔ¤i€l‚;wî„L&ÃÖ­[!—Ë‘””„Ž;bÛ¶m°¶¶F^^^sS‹€wÞyñññˆŒŒ„\.Gvv6JKK±wï^äççcâĉœý©­­EëÖ­aee…¬¬,üðØ6mQUU…Õ«WcРAX½z5ÕÞ¹ìÿä@'ù¯ÅÅÅHMMÅÒ¥KѹsglÙ²…Ó,ÈàÚÚZtîÜíڵÖ-[(=\II ~ûí7üðÃ9r$\]]Ü®˜Ø·l,Yb,//GMM )VkSüé\²DØ_–/_lÚ´ÉÈ”-‘H0fÌ;v <0Âe޽››Ň ÃСCÑ©S'„„„ÀÃûvíBEE%v`¶•Ô³oß>œ:u «W¯ÆèÑ£QVVFo§ÝºuC«V­èxr-z+++´nݵµµxøð!ÕÕÕ¡}ûöøôÓOѱcG|öÙgÔ¢@\J¹‡Ù’À”f}¯J£fJî¤R)•‡òòrÌ;ÁÁÁ°³³Ã‰'°dÉоDü¼uuuÐjµ4hBCCáé鉘˜,X°©©©4`Ž˜ß+++áéé‰ÈÈHtïÞ)))X°`®]»FϦ©žŒ Q™xÌÍò‘â/à#-**‚——¾ûî;„……á“O>Á‘#GPTT R\QQ¨Õj,^¼+V¬ÀíÛ·QXXH ‹ÀÝÝ÷îÝÃøñã‹N:ø'Üù½°°·nÝ¢hGæ„R*•ÂÓÓ;vìÀ¯¿þ 777XXX@    Z­Ö2ká“À >ŸO™WÈ!AnFDûf›C¬­­‡U«VaÒ¤IèØ±#ª««a0бcGdeeÁËË ÙÙÙpuu5 œLúI@áÉsÖÖÖ8sæ ªªª0qâDNú,"$UUU ‚µµ5¾ûî;¸ºº¢´´}ôÞ|óM 4ˆÓ¯BÞW]]~ýúáàÁƒØºu+áåå{{{ðù|<{ö J¥ÏŸ?o‰Ç¾Õ¡´´2™ŒÞØsssqòäIÌš5‹3ø€‰Çéèè Èd2(•Jèõzøøø`çÎØ»w/:tè777ÊFÓÜÔæíÙÖÖVVVHMM…½½=íÇCUUòòòŒdƒ+šþñ ==QQQh×®,,,•+WbÆŒ¨¨¨À¤I“L‚Ö»»»ãÅ‹>1??Ÿ*………”=†ËwCHÙ333±nÝ:L˜0[¶lV«ÅèÑ£qêÔ),Z´:t@Ë–-1hÐ £´&ÀºT*Ebb"”J%222hœ‚Á`@nn.4c¦…ƒÏç#22gÏžEDDÞzë-h4„‡‡cóæÍøè£PUU…1cÆ4˜?¦é‘È)s$&R’žÁ@H¾/•JƒôôtLŸ>¢¥‘@´²²²”pæx>¹æFöœ{÷îq¦e0âˆrxëÖ-#èC>ŸÔÔT$%%ÑHï7ÞxvvvX¶lx<ºwšäççãþýû x–?~lDûHÌÝìúškÊäR0¬¬¬‹ììlªH„††¢uëÖðõõŬY³pýúuQ Prr2ø|>d2Ξ=‹ŠŠ ôîÝS§NEff&`mmÜÜ\û ‡%K–¢¢¢ðÉ'ŸÐÅÍ…IsñâÅ8|ø0Ö­[¡PˆéÓ§£}ûöèÝ»7Ö®]‹²²2 Îöóí‰'P[[K7‰%K–àûï¿GII 6mÚ„ââb,]º”še™rMM =pNœ8ÄÄDèt:èt:zƒŸ:u*T*-Z¹\Nu˜švuu5T*6lØ€’’¼ûî»´M¡¡¡8p ¼½½9óºHÊ’%KpöìYLœ8k×®…N§ÃìٳѣGœ?žB¦qù ÉFŸŸ£G¢²²%%%X³f \]]ñá‡bëÖ­ô›>}ºÑ¡ÌôÓÕÕÕáøñãHJJ”)S`ee>ŸÃ‡ƒÇãaäÈ‘ 3™BK…ššDFF"33óæÍCYYŽ;†ŠŠ ¼xñ+W®„H$âÄ@nŠYp§vëÖ 3gÎÄæÍ›Ñ¾}{¸¸¸Ð(Ñ””|öÙghß¾=üüü`‰’±ÿÇ?þ={öàÝwßÅ_|•J…3fÀÇLJú™¸Ÿl%J§ÓaéÒ¥ Âܹsáàà€÷Þ{¤ˆ‹‹ÃÔ©S Õ˜óWWW‡ùóçC«ÕÂÛÛóçχT*Å’%K`ii Š÷jmmMáÔH©®®†££#–/_Ž#GŽàÞ½{P(X½z5ôz= °fÍXZZbèСFAb¤ …çÏŸÇÚµk1pà@|÷Ýw(,,ÄðáÃ1xð`š‚RQQa„éË<˜fMÒ/&5[ee% ¡R©(7-BÐÊÊ ¥¥¥øæ›oàçç???h4¸¹¹aøðáØ¸q#% àÂÔåò3š£[[[„††b×®]HNN¦û „$ÊIy‹ÇôéÓqéÒ%8;;£¦¦vvv˜5k pûömäååÑþ“6Y;2™ ‡Æž={ðôéS ©P(0iÒ$L˜0;wîD~~>är9ž–-[†‚‚ܸqï¿ÿ>\\\ •JéœÅÄÄ ¤¤2™ »wï†^¯‡J¥‚¿¿?Þxã ðx<üüóÏ8xð e²¶¶Æ·ß~‹‹/"##vvvxï½÷P__””|øá‡¸~ý:u¡\g‰DBqÃÿŽÒ(h=¸ÔÔT ¸»»C*•R-¹¨¨­[·†X,¦ø¨–––P©TP*•FdÍYYYpvv¦ürÅÅÅP(°²²¢Ï“+|yy9Ì2Ægee¡´´………P*•FQ¯%%%ԼѢE “7ÁÊÊJäää@ ÀÑÑR©jµš.+++JsÆØLÂÅ €¾Á`€R©¤\ž999°±±R©4Ja•——7¨ÜLÔj5ìììhÀ—meeE1e5 ݈KJ~~>¬­­QSSƒ-Z˜å¶°°€J¥Byy9\\\ŒÈŸ P^^777NkR'I›!3yoQQ„B!çaÂ4/–••!77öööts ý síää¹\nøž¤]¸p!!!4åƒëöB>/((@EE\]]! Q\\LYQH„'S˜ßW«Õc˜DÜ:;;S3ŸÁ`@QQ”JeŸó6BHÜÅb1œœœP]] µZMdzeË–fƒL—jYYÅÀöðð rZVV†ÚÚZØÛÛs®²^U*JJJвeKÈd2”””Ð^@@}`ly$k]§ÓA¯×S¬[)K6²ÂÂBª˜sµƒøÃU*Z´hASjjjhj—££#¬­­©y–} ¨T*( z€[YYÑ [$QŸ. {SòêÙm®¬¬„N§ƒ½Èår|ôÑGP©T9r$iŠáÿ%ŠÙ Hä2›iˆm¨¬¬Dee%lmmö“’’yKÆ“]Ÿ©5˜={öàÈ‘#F„¦ÒeÈ^KH D"jjjðé§Ÿ"00}úô¡æw‚ÛM8uI>pHHlll0oÞ<*kUUUFý#{àÙ³gqûömìØ±ƒÊXmm-íYK+W®„Á`À¤I“пXXXPƱÆ@ëdˆ˜­%öS¨þlMÝÛ WPˆ©4Sùn™™™(**¢ÌƒÁŒšys3¥‰gÉæFnTì(aSA Ìw°ëcF“”)ô&6È?³>pҘɅ;Ó¡OrÖ˜›wcZñµň¹ÀH®¢¹Í†IÏÆ<è˜ÄæÆÒÊÊŠúåH_ÈfIƙ̓©÷ðx<äää 55Æ 3Šì4e®bö$}3oG¦êc‚û3jjjŒ¾c äÝœ,šOSýfãO“¼Of;MÉ"S–L!•07L$ãǬ“ JИ,2“î-¸ßÉflÓßÔõЗp;‰Ø&rÌ€gËS±3·NÌÕgn­5&ƒdÎ4 îÝ»‡1cÆP+XcóDL×d϶±±Att4ºuëFy˜Ù¤'äYkkkÜ¿:u¢Iäy¦ äåå!55C‡Eii)m»$%±ººUUUÍbiÎAÚ8û‹í—QiJ«3¥M5…¦È®/ÙT™f æÂÔtƒ©2ÅZÃ>ÌSõ‘w7öSõ1•”¦|Ÿ)Hä{Í ²¹8 ™¿Mñ£p¥{4e,É!Â5v¤ æÞSWW777xyyQSSc›6³Ìü5¦¹°)Á ìÛ{ãk¬°eÙÔxš“A.àÚ¬_e,š2‡¦¬?ìtЦäl²ÛÏ$ŽnJ;¸êiÎzxÕ•Y‹siL&šêÏãz‡©yjª ÚÚÚbܸqÐh4 üȦÚÀžFƒQ£F¡ªªŠóBÆü¿N§C=('1óÌnsmm-œáááòòr£ö±ŸÕét Ίÿˆ´)!ÖÌÍÆB×ßLi´\H%\Ϲ¹¹ÁÍÍ ¯Ëëòº¼.¯ËëÒTÅã?ZßÀo.“¬)”ˆ¦$:›ú^QQEEù³Ð$*Œø;ÿ[AãÿŠBHœ äß ,ýÏäD„›Sfd®V«ý,nnþÄb1å³mnTóëÒüY$Q?ls‚ZD"‘ßìÿ$"€ÿÍ$ìy …puuýŸq#ezL_ 9И¾.‚o&Énaa!½ª7æ#e´Z­–²Q0ßûªƒüôéSäçç£ÿþÍ“fç±1MªÌ±0§ 5öަôù,;Iº©ï°°°@zz:ÒÓÓѳgOØØØI7Ö&¢Ï–M~nîìú¸|j¦æ‰(D¥¥¥hÕª•YX=ò¼V«E||<,--Ñ»wo#°‡W ›çÚP›û.öx6eþ®±on^Þ«Êò«ÖÕÜú^µ<~üYYY°³³C›6mL¦¹m¾ÿ‚δ³³£¨iÿ®67&?z½ùùùðòòjtíü]å¯X;lYH$K[_‰FfΞ.»< ¶`|ÿý÷P(˜9s&§/Ð\®É%ŒÀÿ@hN±¶¶Æ‘#G6kˆ¿‰‘@bç' ÷$ƒnÏ|ŸÏ§{PA6r¡PHA ª««M‘›$ɳ3 Ðëõ”ñƒªpf“"‹ñ믿b×®]2düüüÀãñèmÔmjqYXXÐHL’·W[[‹êêjú9ù^UU•Évvf}Lö>ŸoÒz ‰o6j—]ߪU«PRR‚€€j¡ …àóù(//¥Fð{É×ÂÂÍÚ˜È;H\UU•I—H$8uê8€aÆ¡gÏž”)E$¡ªªÊìÆHÖy?‘âãb2ét:³AKlgÊ!  cÞ°×3’•ªòWÖ÷W¤:  Cdd$üýý n±¿£V«±cÇlܸr¹µµµ´Íd½ëõú»EÈÊÊ 8xð BCC‘““ÓlœÚ¿¢õN”baù3 Âߥ˜ðšP»QÔó`¬¨¨À矎äädtéÒAAAÐét˜?>ÊÊÊPWW‡ÀÀ@Ìœ9°mÛ6ܾ}vvv†‹‹ 4 ÆŒC'hÃÌ[;‰©Ñét:ìß¿IIIpuużyóhè9///7‰ndii ܾ};vÄîÝ» ƒÁ±X kkkTVVÒR¶ Z  °°?ÿü3^¼x­V ___Ìž=‰‰‰8zô(Ý8{õê… &4ð <{ö §OŸFvv6 |}}1}útèt:üãÿ@nn.œœœðñÇ¥0ßUWW‡$$$@.—cöìÙðõõÅ‹/pðàA ±F0\¹Lò®®®HNN†@ À¡C‡˜˜xüø1ÂÃÃQSSƒbüøñFù°äƒ¸sç=˜§L™„‡‡ã÷߇¥¥% Gg²17™G!""µµµèß¿?fÍš…õë×#++ ¯1 IDATz½ÏŸ?Gxx8¶[ÇãÁÚÚÚlÄ61ËÙÚÚâ÷ßÇ×_™3gâùóçØ»w/¡V«ñý÷ß7Àf[IHjOUUÍÑ\¾|9UŠ‹‹a0pìØ±Ì7dþG&áP´´´Ä¥K—ðã?B ÀÛÛ³gÏ6ŠŠe¶ÇÕÕüñ 8€/^àòåËøî»ï““ƒeË–aĈœQÌ¥ëèÑ£HLLDuu5 ,X€ßÿ×®]£mKNNÆ—_~IómÙý ˆ4$¦¾¾yyyسgÊÊÊ P(0{ölxzz6P …B!þøãœ;wyyy¨¯¯‡ŸŸÞ{ï=:Æd]3ó‘™cA0[÷ìÙF…B9sæ U«V4¢´®®eee&­`MU´Z- €Î;ã»ï¾küµïXYYáôéÓËåhÙ²%U333)cŠ»»;>þøc#Œosÿš³’4"Ãz½¾€<{_$é)¦úaÎýÖ°|S7ÇuëÖQ×]EE püøq#…˜Ù?>Ÿ¹\ŽÒÒÒøÍqO²÷Ä&™Â›zãJHH@PP8@µºyóæá­·ÞÂŋѢE œ:u *• mÛ¶ÅùóçqñâEzˆÞ¿èèhLž<{öìðÏܽ˜˜ìÙ³¥¥¥TkˆŒŒÄ?þØ ô™9( éfìØ1ÌŸ?Ÿjð:رc’““ è˜|:+V¬@ii)ÒÓÓ±páBèõzÈd2ÄÇÇcÇŽ¸zõªQ>%;q¼¼¼>>>øâ‹/°mÛ6?~§OŸFDD^¼xãÇcäÈ‘¦l(ÌþäñaÆáûï¿ÇG}„½{÷")) aaa(..Ɖ' V«±gÏž¨„êêøñ㈉‰AXX<==±}ûvhµZlÙ²vvvˆŠŠÂ°aÃD22žM›6á?þ@uu5>üðCA­VcÍš5:t(¾ÿþ{øøøp.¦„wß}áááÈÌÌÄÑ£GñäÉ>|AAA7n‚ƒƒ)5s,û˺uë0bÄ|ÿý÷ðõõEYYV¬X 44NNN‹ÅFì.\ÿ² ØAñY³f är9¢¢¢„ºº:lÙ²“'OFJJJ öaÌçó‡íÛ·ãâÅ‹Ô"ðÕW_áÀصkêêêàààÐÀLÉ£øâ‹/ðÃ? ¾¾EEEX·n°gÏ\»vr¤²]øüóÏñìÙ3”——cÞ¼yHKKC¿~ý޼¼<ª¸p!Ôàggg} ‹ñäÉÁÅÅû÷ïǯ¿þJ“™æíªª*xyyaðàÁ°´´„Z­†X,†««+ÝœG°°0lÛ¶ -[¶4âs$àýû÷GëÖ­€ 6`îܹèÕ«.\¸€~ýúáСCèׯ~ÿýwÎt$@€[·n¡G8qâ:t耧OŸ"##)))Ðh4 Ä?þHMNìYWW(•JXZZ¢oß¾°³³ÃÓ§O¡V«‡€€Ü»wÞF™9`ؾ};>Œ &@.—cóæÍ¸ví<<<ððáCz›ÈÌÌ4‚o$8œ)))P«Õxòä pÿþ}ŠÈ£×ëqïÞ=ÊnÃÄ‹mŒˆ—Ky h2={öDuu5<<<Ð¥K hµZTUUQ±µ\&(Gjj*zõê…Ý»wãüùóJ¥ÈàÂ… ˆ‹‹Ãܹs©9”©M‹D"\¸pëׯ‡££#êëëñüùsÔÕÕA£ÑÀÛÛ-[¶„R©Dll,a÷µGP(àñxèÛ·/Äb1ôz=ÕìÍqÑ’±˜4iV¯^É“'ÃÕÕK—.E~~>jjjðìÙ3„‡‡cÔ¨QhÛ¶mÜg¡Pˆüü|,[¶ )))ðññÁƒ  ñüùs8;;£eË–èСâââ89iu:FŽI±}wíÚ…eË–¡K—.ÈÈÈ€L&£È9Lö-(==...pttDûö표œŒââb¬_¿ƒ=BHHˆ {àúaËWZ‹)Ùc~çÅ‹°±±¡JZee%îß¿=z 44}ûöELL x<žÑ\sÉ W=LŠÅóçÏãÀ¨¬¬ÄŽ;pýúuªŒ™ß7ÕscÃ|¶±ñäz/ù±8\¹r×®]ÃܹsÌù>QÀ÷ïßß鬩äÜæö‹?}êõzA,#11555¸uëîß¿>}ú@(¢mÛ¶HII³³3\]]qùòeDEE!66=Bzz:Z·n ;;;téÒOž‡ÂŒ3pöìY¤¥¥Ñ~’4S€õä6Q[[ WWWjþ¬««Cyy9:tè€àà`<|ø_}õeÿ`“¡4NNN°°°Àˆ# “ÉP]]òòr 8k×®Ehh(5K1ǃáááxçw°k×.”••!::šú|!—Ëi[¹r‡kkkQ^^ŽAƒaÍš58r䢣£agg@€ˆˆ´nÝšr2`sAëkjjààà€¡C‡¢ººšÂKX®ˆE¶É‡à»¹¹¡´´µµµHHH xµµµ ÅèѣѮ];#€r …B„……¡k×®˜3gÆŽ oooX[[cÀ€ؾ};vî܉´´4“icõõõxûí·¡T*!0bÄ æmÊÇÅuËÉÍÍÅÚµkŒ¼¼<\¸p2™ ‰gΜÁ`Àûï¿o4ö¤H¥R¬¯¯Ç‰'LR𙺅5vc17?ìK ›tÄV¸ºº¢®®Î(žÁœ\›‚-$ºëׯÃÁÁK—.…‹‹K*Çæ‚Ö›ºaregpýkê3æ;ˆoüÈ‘#èÝ»7zôèÑÀ¢B¾«ÑhЭ[7<{öŒš¤Ùû«ÜHÿ2Ó. Ò:t(„B!„B!¾úê+¤¥¥A¡PÀÛÛ«W¯Fll,ú÷ï///¸¸¸@ Pàî’’ðù|H¥RlÙ²×®]ûヒ‡¢gÏžþÉââëëKýä&Êö²®D"‡‡|||йsgdffÒ¿‘Ó‹9Ȇ®®®Ž:³Ém‚ƒƒ1wî\£C9A„hõêÕ˜0a>ýôSÿÄnÑ¢|}}ѳgO$''£¼¼ÜèìÐl‘H„aÆ!77¹¹¹pssC~~>æÌ™ƒÂÂB ¹ÇåWpttDNN&OžLö‰öîãノ;ÂÝÝYYYF)CLÖjµ´ßß’ ŽtëÖ b±  îˆ-99™²˜888àæÍ›pvv†J¥Â[o½E9j™T^Ì(pkkk…BtêÔ ]»v…H$BAA¥¦‹‰‰¡Ü’lߨ9­šKó&7ñcß9ˆYŒ#×Â’Éd8qâV­ZE•Ò/¹\Ž . ?? nì„L&Caa!~üñG¼óÎ;hÕªjjjL*$èü½²²“'OFpp0|||àáá¹\n2ÙŸÙÖáÇS³… â·ß~£<µ\1 N™2[·n…ZµjEë#ÄçcÇŽ¥|Ǧn\·&s&QZH|sL™kÎÒÒ­[·†Z­¦sÉãñ T*QVV†>ø999hÙ²¥B›¼ÚÒÒÒè–ÆtÓ0 ? Eçb#B5çFjêÉ®Ùf®Ø²w°ŸešÙe2îܹƒ¸¸8Œ?Þèðg×Gö@³Ê”#RßßY=HíííѦMÁÎÎppp@ïÞ½…S§NaòäÉX¶lΟ?7"::[·n………üüüàááøøxœ:u sçÎÅàÁƒáàà€ëׯÃÛÛðäÉtîÜpäÈýkŽ&«¾¾3fÌÀÍ›7±{÷nœ9scÇŽEûöíñöÛocëÖ­ˆŽŽÆ‰'Œè¯Øï!7BrÈiµZôïߟ²Ùëõz# óà‘H$HKKÃ{iD777„……áÑ£G˜>}:ÒÓÓ‚ÇcÈ!°³³3:؉2pãÆ „††â×_ÅæÍ›Ñ½{wøøø 00·o߯æÍ›qãÆ Ìš5«ÁF\__N‡)S¦ ¸¸›6mÂñãÇ1qâDxxx`âĉ8zô(¾þúk¤¥¥! ••• t²0 N1Ù:tè€þýûcÿþýعs'$ ú÷ï߀[•0© :ÄîÝ»‘‘‘áÇ£_¿~pttDpp0¾þúk 4ÞÞÞF&b²ávìØ}úôÁ¾}ûkkkôïßeee8räÄb1ÆŽ‹ŠŠŠ Acš»©gIðiP(Ä•+WpçÎ œNïÕ«Wƒ63o´~ø!ž>}Š={ö ** ÉÉÉÉdHNN†F£AJJ Þÿ}ξ“ùÓjµ(--¥¹€/_¾ÄÏ?ÿŒªª*ܾ}W¯^¥·:6•[QQöíÛ‡ß~û ;wîDqq1ÆŽ ½^ï¿ÿ˜6mZ?ÓBÔ£GôèÑ›7oFtt4NŸ> ‰D‚’’$$$@¯×ãáǘ3gŽQÚóVû믿"""çÎCpp0úõëwww”––ÂÆÆ†ÂT²áõ˜qeeeHLL„^¯Gll,fΜ‰6mÚ`РAxþü9¬¬¬Œ¬>ÝœLùøÈ&.“Éàãヰ°0DEE!//°±±Aÿþýñå—_RŒbKKKŒ1éééÔÊ$‹1sæLDGG#88)))˜>}:%÷õõÅõë×ijB¡@dd$|}}!‰( £ ˆ]»vÁÞÞåååxûí·¡R©(6-—Ÿ¿)7RöÁ`€\.Gÿþý±gÏÚ?¹\Žøøxøúú¢´´”îJ¥óæÍÃŒ3 T*iDuee%|}}qçÎJaYQQ U«V2dœ—ÉdèÛ·/öíÛG÷SÊߥK#bB ?kÖ,ZßßéìÓÞ{ãÛC†6ˆnÌÍÉF›vÞ …ð÷÷Ç;w››‹¾}ûÂÍÍ ÞÞÞ0 HMMÅ´iÓðÆoÀÉÉ EEEÈÌÌ„ŸŸ 4rttDË–-‹ÁƒcòäÉôñóóƒ@ €\.§4jÖÖÖðõõE÷îÝÍjGjµîîîpuuEzz:úõë‡ &@$¡OŸ>àóùÈÏÏGŸ>}¨)ÇT”˜­­-üüüàää½^O@^¾|‰êêjôíÛ·VCL»„ÀœÐ¥©ÕjH$Œ5 ­ZµBvv6:uê„™3gR­ŠM íêê ­V‹ŒŒ xzzbÖ¬Yppp€§§'}ǘ1c0hÐ NÖƒÁ777øúú"++ o¼ñ`aa D>~üx 4Ȉ8—½¨¬­­Ñ¥KQ)‹Ñ»wo‰=cÆ têÔ©%1Ã÷éÓ‡ú8&NœˆþýûC"‘ gÏž(((€§§'¦OŸÎ9$Pä7Þ õÍœ9¾¾¾Ðh4¨®®Æûï¿o¤©›º¬Ý!C†1•˜ºQ8::ÂßߟF…Þ¼yB¡£FBVVõ·±}œÕÕÕðññ³³3t:úõ뇞={¢eË–tãŸ0aÍaズ4 ”ƒ4;;öööðóó£ÊIRR ðsqq1™vB6ô®]»¢U«Vtž&OžLsjËÊÊ0vìX´mÛÖdúÁ`€ úöí‹ÚÚZ¨Õjôë׉„&&&" ƒ6Š`®‡V­ZA­V#33:tÀ|¥R‰^½zQøúú6 P`Þh+**””„qãÆaÀ€°°°À›o¾ N‡—/_¢wïÞ°··7‰ÈÖÓ­P(DÏž=QSSƒÜÜ\´jÕŠnÞ-Z´€ŸŸŸ‘5ÁÝÝ×®]CçΩ9Ò××J¥……… D=P]] KKK´hÑݺu£.&â[÷ññAûöínxJ¥ݺuƒR©DUU¼½½áêê ¥R‰[·n¡]»vèׯgä.‰´¾wïFŹvØ…ÔG¬Dä&èììŒÎ;edÈårtéÒ®®®F–Ò?@Hö—ÀÀ@( £±&Ï2ÞH}:uâ¬ÏÅÅ…Ž#À`0À¡eKdfd€ÏçC,6gjie…¢ÂBxx¶þ—¼üÓŠ“Ý8h=ÉgâÒLØx²ì<=f”+ûYfN;º‹ës.ÎÊÊBQQär9EabZZ[[Ó\Cs¹sd!ˆ6$æ“/ˆ4ño‘Égæ‹j4ÊþNÒÌ…ƒr\ÂïJ6:BôK˜%L 5i aÄ`æ\ó,ó¦x1Åb1ø|>4  +++Ê-JÈÁ¹ÞAþOR;1Ù“ñ,//7Kj`ª>™LFYEÌ¥)$%%áÎ;X´hT*•ÙîÞ½‹›7o¢[·n8p Yv™æBš#0µp}ÞX?þL}DI!±8ÿVöüóÛÀ‘Ì<™ÂÊ•(nŠí…™ÛÉ\($”¼±É#fÝ×åuiŽBðº¼.ÿ×B—.]0oÞ<êŽhLà²2þ·—ÿ8ûKsÑ”0öõÙÜÍÓÖ.ÓÄ÷º¼.¯Ëëòº˜.L×ÒÿEå’\Þärùö mL”9bo®ƒÙ´•¹¼­‚‚Ó`¿ã@mÑîc}Í)"‘Z­–âæš*M!þ³¥©ÄЧlüsOÂúKKK©ï쯖­Æˆ½ÿ·—‡|þo(ÿMk§)Å`0@*•RÓîì 5u`r%Õ³G¶™€ü-,, |>S§N5ò™6v;þ@Ó»woÌž=sçÎ…Z­¦© LÄàŸ¨!ìè3ò.‘H©TJÑyõ”……lmm1iÒ$ØÚÚâÀ(((0BºþL&£šI¬&A>$€¨1“Š­­-Þ{ï=8::bïÞ½P«Õ°µµ¥ Û$ØÄ~'Éw¬­­¥‡^S3°E  ªªÊ(`åðáø|ù2üýý±jÕ*Š'KŠ@ @NN†ŠŸþíÛ·§`$¡Ÿé"Á\J”D"¡‡5 "çóùèׯ–/_ŽÀÀ@£¤|R„B!?~Œ«W¯bÆ 4ï•«  ”P^^½^Oƒ£ðyyyy³6&f)›7X/ ‘““ƒ-[¶PÌêÐü:ò=•JõJëÕÖÖ+W®DJJ ~ùå—A$ä ·±±1ZׯZ{,HD¸D"^¯7 8ã7’OL‚ýªªªh !ƒhΜH$1|ùòe899ÑÀ×ÅøÍËË÷ß~‹äçç7ØóþJ% @"ûž©[43À‘)/lk%É©þ;J£é¿\¤œ¤……ÂÃÃqýúu¼õÖ[˜6m ´´{öìJ¥ÂâÅ‹áåå+++\¼x¿üò Z·nåË—S–AƒQM‘ÀZÏ1xð`´k׎ôd¼˜ L%ÅÊÊ :ŽœwìØcÆŒ¡ÊIhh(–-[†Å‹Óô®<;µ) )¨À/¿ü‚7n@"‘Ðèá÷Þ{;v4x’Syùòe<~ü˜¦ïj;&Z;’9'¤\8ÍlÅO$Qt5jüüüššŠK—.!''®®®€­­-UdØïb&~WWWÓ¨Òo¿ýùùùèܹ3Þ}÷]*KlQ¡PàÒ¥K¸yó&ÒÓÓa0––†ððp#€U«Vq*°ä]„IÈ`0 ¦¦†’+…Bú.¤>Ÿ¼¼üðCN„ жm[¬X±B¡S§N…Z­†¥¥%’’’””Ô*‘Ù>Ÿ   |ˆœœú™J¥Bbb¢Ùf’‰€€,]º|ðMS«Õxüø1T*U%ŠYH¤ôüììlªàž:u ß|ó ¦L™‚{÷î᫯¾j°1’÷æÍ›°µµÅòåËááá>øÉÉÉøè£PYY‰%K– 66‹-2B¼a+ÙÙÙxòäÑî³ IDAT *++Ö?YkÌøo¹©ðxP(°±±B¡€B¡0B–jJ!í{öìY“£hÙQÀ‰¶¶¶´¶¶¶œk¯rsü« IG<}ú4"##) Á:gl߾ǎÃÂ… ѪU+LŸ>ÙÙÙÿ¶›4¯)‚™™‰ØÚÚ";;£GF¯^½ðìÙ3lß¾·nÝBŸ>}‘‘AUΜ9ƒ®]»bèС¨¬¬Ä¹sç°iÓ&\½zƒÆ·ß~ ¸{÷.œœœpõêUL:€B¡PàÁƒ”bÈïdBBžX¸p!ìííÑ¢E …BÄÄÄ`èСèÑ£ÍI$c¡ÓéйsgôìÙûöíƒJ¥B÷îÝ1pà@œ;w;vì@Ÿ>}8™)šºèÙ`×ÈÍÍÅĉ!“ÉðÕW_áÚµkX¸p!Ôj5ìí표œŒ_ý•sƒ#l%[·n…^¯‡§§'rss1jÔ(\½zÁÁÁ:t(~ÿýwœ>}óçÏom&pûömJawåÊØÚÚRsóùóçáàà€=zÀÃãÁ†Júƒ}ûöÁßß<³fÍ‚Á`À²eËàèèˆììì4_\åܹshÑ¢zöì ///<þÛ¶mƒD"AYYÖ­[77·ðz<Z­ÁÁÁÐëõP©T˜7o†ŽŸþ½zõ‚••FŒàà`,^¼¸bXQQÀÀ@äååáàÁƒP©T€‡‡&Mš„?þø€©S§ÒÛ1óf# qïÞ=jV³³³ÃßÿÔÔT|ùå—5°2™UH Úµk'''ÀÆÆû÷ïGË–-1gΜÁ4)i4xyyA*•Òý+..FUU-Š~íÚ5lÚ´ +V¬0Bcúf:„´´4¬_¿QQQ V«EHHΜ9ƒ‹/"%%…`¿(•JüôÓO4här9Ö¬YƒV­ZA¥R!22P«Õ˜1cÎ;W£H: —-[†nݺ!&&cÆŒ»»;îÝ»‡ÌÌLÄÄÄÀÛÛ»†_‰Ž% )ãS©T˜1cnÞ¼‰“'OâåË—X´h=z„C‡Õ(Z@.í[·náÒ¥K˜={6¬­­±aÃH¥RÀÙÙW®\ ÊÊÊ8÷‘Yü¼S§NÐét(--¥–1R\@.—sš˜‰0·qãFxyyaÖ¬Y8vì’““)˜Ã÷ß!C†`Ïž=¼—¿%˜Í\tÅÌÝ,--ÅüãÇãØ±cøã?pûömN«„)À‘H„£G¢cÇŽP*•¼¦U®>ìììpûöm>|ǧ°©ì؂ڢ:™{¾6ý±óe=<<°eËøùùaÀ€ˆŽŽ6Y×T§ÓA&“¡I“&‰DËåÿÑÈd³i~~>­ì2nÜ8ˆÅb|õÕWÈÈÈ@xx8þõ¯!!!C‡ÅW_}…={ö 66p÷î]Èd2¨T*H$Ô­[wîÜÁرcñÃ?àÖ­[øôÓO¼­oÕª]Tooo³v}¦Ù‚ ®³¨ >  8Ј1óZIⱿ¿?:uê„Û·ocÏž=èܹ34 \\\8M©Li¨Y³fذaNŸ>êêj888@"‘@$ÁËË pssÀ0~üxÔ«W¯FAbrÁ:;;Sß’Á`À¦M›ðã?"22ùùùX½z55ï±›D"§§'š7oWWW 4£GƦM›PYYI£@‰ÿ•Ý´Z-–,Y‚ÇãÔ©S°¶¶†‹‹ T*òòò P^^Ž‚‚^dòÿmŠ KÅÁƒŒððp¬ÄÖΈ444]ºtA||<.\¸@n\\\LØ6g"cþ®P(Œµk×âÂ… ËåtÿqòäI,Z´S§NExx8§ŸF(¢¸¸ŽŽŽppp@qq1…š\±b>ŒÓ§OÃÆÆNNN¼AIEEEÔj’——hܸ1¢¢¢ V«Ñ½{wܽ{ýõ P#xN¯×£¸¸7FYY!‘HP]] F'''ZW—ë"#Ú4ó}ÉÉÉ8qâ¼¼¼ T*±iÓ&ôêÕ mÚ´1*ÊÎÆpþöíÛáãã___TUUÁÅÅ………ضmâââ ‘H8/;r¦mmmñÑG¡iÓ¦èÒ¥ ÒÒÒ‡åË—cÔ¨QHMMÅÆ1|øpTVVaa“ùäææbÏž=:t(êÖ­K5'''ØÚÚœó™ËÙ>GS&I{{{Š·¬R©àåå…yóæQe@£ÑÀÓÓ“"Õ©S2™ÌH qrr‚@  x×äýáááTÈ#hEÌ÷1Ï@:u R© P( T*©ÑÚÚš® S}W&J”æûÈØD"\\\èüȳ$˜ÔŸ&ÍÝÝr¹œ®©hM›65Š‹pssCUU”J%°k×.8::bܸq BïÞ½1zôhøùùA,SHÙÿ6T¯×£qãÆX´hâââ0hÐ 4NNN¸wï”J%¦M›†–-[ÒÉÊÊ­[·pïÞ=téÒvvvxòä ª««ñ믿B¯×£U«V¸víš6m HOOGPP5+uèÐSíg_ž*• ééé8}ú4õA<}ú»ví¢°lŸ l½wï^Èd2ܺu‹ŽÃËË :ÇŽC^^§Ǭf Óéðã?"00B¡Ÿ~ú)-ÎûêÕ+?~>>>ÔÄÜ—F£AÆ ¡R©pìØ1¼yójµB¡!!!¸~ý:’’’˜˜ˆÐÐP^_íüÔÔTäææâøñã4ÐèäÉ“>|8Ú´iCaÿø$lFƒ>úãÇÇ›7oA+L —Ïï@ª 117oÞ„¯¯/ý~bb"._¾ŒqãÆÕ"c£¥¦¦âøñãËå8}ú4´Z-|}}áããƒÜÜ\œ>}UUUFš•%|¦$"TDEE¡qãÆ°³³C=pèÐ!Ìš5 ‘‘‘èÖ­!g÷UUU…Ž;B&“áäÉ“´X=abŸ~ú)ÆŒƒ¼¼<|öÙg¼ÁÌ@kkkj>>€G¡{÷îèÝ»75ÿ°%*"ý999aݺuP©T0` ¡Pˆ/¿ü hÛ¶-7nldFbJªD2\ºt) V¬X___( œ9soÞ¼««+Ö¯_'''# nâߌˆˆ@nn.._¾ŒvíÚ¡I“&P*•X²d öíÛ‡%K–P°w®ôN‡€€œ>}ùùùpuuÅš5kàããƒùóçãØ±c¨W¯ºwïnò²pppÀ‘#G““ƒ~ýúaÀ€4¤[·n¨_¿>oÊñõuéÒEEE(**‚ (ÃLOOÇwß}‡   UHÀÿþýûX±bôz=æÎ‹ððpøùùaãÆ¸sçºwïn”¾ÀÁÊd6\)Ó§¶páB…B,]º~~~øý÷ߌ۷o#11ÕÕÕô`3Ò?þz½gÏž…D"Á!ChUŠÝ»wãåË—´¶®…B-ZàÁƒ5Î Øâ3[ú¹%‡2™ «W¯æÞØ´ÈöÍš3Ú3ãþ“ùqY¸à+**0fÌH$¬_¿‰ëÖ­£>Ò÷ É9Ïw­7%­XЉÈÌ+e^h$uœ³šø@É! …¨®®Fee%•ZlmmQ^^ΙîÁlb±vvvTò!õIIú I`'Ú×á'9‡ä©ÕjØØØÀÞÞžjL z.qtt¤—¿V«…\.‡µµ5ŒòH¹BýÉÈûH©V«5ÉD())1I ä}d=ÉßëÔ©¥RɹÊô÷9;;ÓÂØd-ˆÐbee…òòr“æ2@@Ód£">Y"ñŠD"“c‹ÅHNNƹsç°råJ¼yó¦F®)“ù0t²*•Šæï2i¸´´”3€€ý“\Y2oÞÎ^O.z&~dš»IÒìììèÅG"o¹ö€½“Âî„–ÉÈ{ h=ãàz±ˆÅbNZfû¸Hn6I ŒD"õƒsi“D;'´Ì\O’›MR ¸Š0çDr¢I~8¡!BŸ5Ü,µDeú°M­¦qD"\]]9MŸ\¦]R«”X#øL»\¦VK㘦¯_¿Æo¿ý†ØØXäååñòS¦]NÓ.©ä¤AæüØÁcl+ ^¯72í’>ØyÇ$Í‹¼¯¤¤‰þþþÞ/Ö® õzª)‹’¨éÄ)èB“±„¹‘I’¢²¤ê9aNÌßI$’øø$EmI|ФoÒ¾7w8H~[f•ðè“ÍeVµ!ÄDÌÌÏùÆÂ÷>’wHÖÔAs½¬ó’2u¨Èû˜kA‚€˜{Ê÷}æË HbÒ¹K‰½'Lšcömj,Z­–æ±ò•ý2µ„¾Ù—Lmúà[Os}0ßÃGŸµÙ?6 ”©‚\ï#æRBGd_ͲßLf–̃o=MõÁdOØ¥äˆÅ]û¶6󨪪2Š’5õ<û}¤¶+¨6ó«Íû˜tˤ&ï":±‚þ‡Aë ü»Š[rdVfgM0 yV(Ö¸„˜ÿϬ˜N˜µ9s‚««+ììì>€’h}hÚ‡öÿïÙ1¥D˜3K›[kKÀgúà2Ëpù Lýí]7Žø7?´íCûÐ>´­6üÌ’ç,mÖµy9ŸÊËŹ ÛØßaÖŽã*ÎkNZÈÉÉAaaá{ö®m#éNNNï“ô}Š››”J¥ÉBàµí“ø½t:]ÐõÿŽùñÚ&ÏÈIS8ÄŸçèèø?fÿþ_¾À†® Å4þ€uû?oŸ„B!ìíí9£üÿ·6MøÞû¶ˆqº©`¾ç¹"Î.\¸­V‹ˆˆ΢¬¦Þ%èåN|’ÕÕÕµF³ …4×H£ÑÐÜ%Kš££#îÝ»‡uëÖá×_¥ænðÄ ð ‘\>+++ØÙÙÑçÉ83°t~$pf̘1èß¿?>ýôÓæq ÁÕŒ¢ õWߺu „‡‡æÏŸOýìFp] ñVWW›õ³˜êC¥RÑ`²_£GÆàÁƒÑ½{÷ù”äûOž<Áýû÷ñÍ7ßÐÀ .«Æõë×±mÛ6üöÛoFëH‚Z˜ûG¥¸öO,S…Z­¦Ñζ¶¶ÔŸej-Äb1õûTWWC§ÓÁÁÁÁ(àI£ÑpÂ+o]$ÄÝ¡×ëiI™ }TWWóFl’µ'c®¬¬„­­­ˆ€•• fã;Sÿš¤*‘\âß~ûæ“ð¾³M‚½H.,ùœD3ó@¹šX,†H$‚N§CUU f‹Å<„¤}hÿwí ÖñøñãQRRò¿¢.)¡Ñêêj£û‚yFk3÷nÚ%’;3éš¼(33)))FPPNŸ>M/j”@Çß¼yƒÄÄDÔ¯_:uÜ»wJÌÁ2ƒ6ø˜*aLIIIËåðôôD‹-jTg†¶³#&I‰äädÈår aÆt#øú`~¿¤¤7oÞ¤Îr²©W¯^¥eÞÄb1llll„JÃŒ¸}òä ?~ ¡Pˆ-Z nݺ(++ÃÇQQQOOO´lÙÒ$ð5¹¤¯^½Š°°0hµZ\½z•"Âèõz|üñÇœA‰‰‰¨¨¨ ÄgggèõzDGG£gÏž˜0aBË’ŸŸÔÔThµZx{{£yóæFV²–|ÀÚ×õáÇÐëõhݺ5´$Òò•+WÐ¥K£$|ö\ÊËË‘Msì¸Ò¨D" ‘˜˜h¨egg‡K—.¡¼¼œV£±±±A«V­Œ¶ÈD"222ðôéSX[[#88tÕÕÕðññ¿¿(ræ¸îܹƒW¯^ÁÉÉ ¡¡¡P«Õ8yò$eb‰nnn€Z­6b¦$r=)) ¥¥¥ððð@Û¶m‘““ƒ””™nooooï(GćTZZŠ ªª >>>4èåË—‰D‰D°³³C@@gn¡­›7o¢¨¨mÚ´‹‹ Äb1.\¸€mÛ¶áðáÃðôô¤Œ½z½žâ»¸¸ U«V´гgÏžžŽ† ¢yóæ5 ã˜E ž={†´´4x{{# €ß%&&¢¬¬ ­Zµ‚‡‡'ÌເÖ33L³³/ks õ|½©`/rL•µäcuu5222Œ9ùÆjjæ˜)7û»\9ãä(,,ăдiSÔ¯_¿FzVmAëkó¬yˆ@ÆÅD‚€ÈàOž<‰eË–¡¼¼111ÈÌÌDee%òòò V«ñûï¿cíÚµ …xôè¦OŸŽ’’ÄÅÅáøñã¹\Ž–-[ÒH"¯Hô;Õ€}`wìØÇ£ºº;vì UeHp3”Ÿ½Y„éýòË/ضmž?Ž9sæ -- 666‹Åe‡XÅÜ ²&$ý„Hór¹EEE¨¬¬Ä¹sç0vìX#X.2‰D‚³gÏâ‡~@AAÒÒÒ0jÔ(dffbÏž=ÈÎÎFUU¶mÛ†™3grFdoo‘H‰D±XŒÒÒRŒ;YYYÐh4Ëå¼¾H$Â÷ß³gÏÒTáHÂñ½½½)ceßÚÚÅÅÅØºu+d2d2æÏŸOñN 0A}â:ж¶¶(**ÂìÙ³qîÜ9ܾ} ,@ii)ìììŒæg*ò”øfÊUA*•~ ©\.‡L&£ØÑcÆŒá4•K¥R=zÓ¦MƒL&CJJ ¾ûî;dggc÷îÝÈÎÎÆëׯ±bÅ ÄÅÅÑ}¦Ð(•Jƒ•+WB¥RáäÉ“7n*++Q\\Lié§Ÿ~ÂÆáèèX¶R `úôé8x𠪫«±qãF,X°ÀÛÚ½r¹ÙÙÙ7nΟ?_îÐÖÖ2™ £FÂõë×!—Ë…ßÿVVVÈÏχB¡ÀÍ›7‰gÏžÕX_BÛ111Ø·oär9.]º[[[ª‘€¯¯o T+æzž:vìøè£àè舿þú‹æ|± “`fêt:#==ùùù‹Å¸xñ"Ž9…B1cÆ ]»vFÒ7Qóe2öíۇݻw£ÿþsãÆØ´i®]»†:uêà³Ï>C×®]k$“dccƒõë×ÓÃŒþýûS„š‹/bàÀÍÈHþ_‹-PXXˆ«W¯B¯×c̘1Ëå(++Cjj*JKK9¥9|¿téRøúúÒ°zÞ¬Y3ÃËË‹šK¹’Ð¥R)¼½½Ñ¶m[888ÀÃ×.]¶mÛ ‘HÇcîܹFõHIX»T*ÅŒ3PZZŠââb$$$P?äŽ;pãÆ ØÙÙaÆŒ¨[·n ¬U±XŒÔÔTܸq·o߆««+ºuë†ÄÄD´oß³fÍ¢ˆM\Òª©ÃÈ—ìM˜éªU«žžŽ¨¨(4oÞƒ ¢µ@ :T:u8Í™¤vbË–-áàà€[·nF šƒÈÈHÊèÙŒßÝÝ!!!ÈÏÏG^^\]]1eÊH$\¸pvvv5jE‹aÏËÚÚ 4@HH-øàïïÀÀ@H¥R¬[·Mš4AŸ>}Œü_Ì>lllàçç‡àà`œ9sÕÕÕèÞ½;ÂÂÂàää„1cÆ k×®hÑ¢E ó°D"ÁÕ«WqêÔ)¬Y³ÔܼpáB<|øøþûï1zôhtêÔÉH8!°›ÝºuCß¾}áááÔÔTôêÕ ãÇÇ–-[кuktëÖ *•ª†PG4Blݺ¾¾¾˜6m‡ÐÐP8pk×®Ehh(¾úê+9r?ýô“S6‡·Ë¥ÅÕ©SÛ·oÇêÕ«qçÎZÔ]·ÙòAnòåT²NgggtïÞ˜3gŠŠŠh 9¦¹RpæÖ„oœ–˜P¹æÎU"ð¯¿þ±cÇ •J1yòdøøøP8ÓM}wÐ IDATÆ£OŸ>´ ×][ãýªuBT L%¬ñG+†ß¸´Ò++À`˜]ZäE^½z5<<<ðçŸbëÖ­X¿~=ðùçŸ#-- Íš5ƒB¡€££#ýÎôéÓÑ©S'899áöíÛhܸ1êׯOOO¤¤¤ÀÓÓˆŽŽÆ¨Q£pöìYúý‘#GbÈ!FR.—W§NdeeaÏž=¸{÷. hРvìØÀÀ@¬^½º†@ú!‰ß$'µ¬¬ J¥—.]ÂÆ1mÚ4,Y²Ä ›‹ÈÔj5 ___¬_¿žjƒjµ@jj*úõëWCJ$Gxx8êׯ}ûö!>>íÛ·GÓ¦M!•J‘™™‰Ý»wãþýû0`§‰F"‘ 66–¸‘Ë^¥R¡]»vÈÉÉÁŠ+0|øp¤¥¥Qß;‹Tß°a½dÚ·o@¡P`ذaX½z5'²!6gggܸq»wï†B¡@¯^½ T*Ѿ}{üñÇxõê:Dñ‘Ù’.bÈÉÉÁ«W¯P^^¥R‰­[·B*•bäÈ‘5Е˜¦S2ßß´Z-¾úê+xxx`óæÍH$())¡–•§OŸ¢oß¾FiZ¤UVV¢{÷îprrÂÞ½{ñ矢sçÎhܸ1µN\½z—.]¼y󨯌G @­VcàÀ(**®]»påÊ 0€j‰ùùùذaš7o޶mÛA2Ý ƒ Brr2öîÝ‹'OžàË/¿„R©„R©Ä£Gðûï¿ã_ÿúEêb2sR€áÓO?Å©S§°wï^ DDD °°jµgΜÁßÿ>}úP³.›‘“¢ W¯^Å/¿ü‚¹sç"55ëׯ§U˜öïßvíÚj0Sâ«—ÉdXµj¾þúkøùù!77999Ø¿?&OžŒãÇSÓ=[(yþü9üüü WWW¼yó¥¥¥¨¨¨ ôäããC«V™«nÂ¥=2ÿVUU…€€Zq‡ÏŒZ:åúÝT›:lØ0´mÛÖ(Ï\Àhm4VSkÃ6½²Ï¦©¦ÖE,#''«V­ÂÔ©Sáåå…%K–ÀÞÞžºCÄjRR^¼xa³Âëßð¤Ô7^ÛãÆ ®>3àÊSþ~¢ÇÅLÎghq.C‹UH|i ¡• °ªi·¤¤ñññ¸téúöí‹ &ÀÕÕiiiðññAÏž=qëÖ-ܹs­[·Š:xð` …­½½½‘““ƒÔÔT´k×IIIøüóÏåååw—0ÒaÆ!qIL:=zôÀï¿ÿŽP3à¹sç0zôh$%%Qß [ÚÑjµpvvFtt4Nœ8ùó磴´HOO‡D"Aûöí¡ÑhfT6Œ n«U«Vðôô¤u mllP]]øøx´jÕ ;v¤U-˜ëää„={ö %%Û·oÇÚµk±wï^ܼyvvvèÙ³'vïÞÏ>û sæÌá 2xýú5œÑ¦Mz9{zz"66?þø#vîÜ ‰D‚_ý•°°£ÚÖ¯_Y³faÓ¦MèÑ£¢££¡×ë!“É(ô©bÃEœÅiôèÑHzÆ (++Ãðí·ßB&“ñË( ´iÓ“&MÂòå˱iÓ&Ê\_½z´iÓ†·Nmƒæ˜û777¼~ýš3P(ˆGXXBCCiå öþÅÆÆâÅ‹عs'bbb°mÛ6¤¤¤ÀÝÝ©©©˜5k¾þúkªI1Ç¢Óé`oo¹sçÂÛÛû÷ïGdd$æÎ‹²²2888 99wïÞÅèÑ£yýcjµšâÊîÚµ ;vDTTlmm©U¤´´#FŒ ‚»ì‹/ƒ `çÎÐétX»v-ÜÜÜ ÓépäÈxyy!""¢ÒÛÌ9mÚ4lݺOŸ>ŵk× Õji`Rø øˆƒÁ€3fÐà©^½zaãÆèÖ­¹¸är9,X@Íõh£Q£Føá‡P\\üÞjVVTT ,, +V¬0‚®$Ћ„ ŒâææVÊÁÁÁ˘췛›[}®9WUUaöìÙF¥Ú8››Û? `k§z½®®®Õ‹=?v©8GGG899Õƒ»»;¢ÉZˆÅbÔ©SÇ(¥¤¤ÁÁÁðööFVV°aÃTUUaàÀX·nΞ=KÑÌøÞÇT;ÚµòGp‹´òG`@s4mÚ¾¾~ðiä‹z |àß¼9œ$6Ðô°ª­´¬¬ þþþØ»w/Nœ8 `åÊ•P*•¨¨¨üý÷߈^&“aÏž=X¸p¡‘y¸¬¬ ÔÔTDDD 99€çÏŸSmèñãLjåÅf_žIII¨¬¬„\.§U7ÒÒÒð믿"** ¡¡¡œÅp™ÒOHHvî܉Ÿþ!!!hذ!”J%ÒÒÒ ‘Hpÿþ}#­–kS?~Œ’’¸»»Ót‘7n %%cÆŒáÅ}4 z­¨¨ÔowëÖ-ʼH…>ÿ I ÉÈÈ quu5?~ N‡ÂÂB”——ÃÍÍóâ1 ÈÌÌ„J¥‚\.GAAÜÝÝ©I…ì_º‘P(Dyy9îÞ½ Fƒ’’(•JÔ«WÀßÿU«VQ¼a®Ë@§ÓÁÎΟ|ò âãã1|øpØÚÚ¢eË–J¥P(HOO¯1þÚ‚Öóͽ¬¬Œ®X,FBB?~ŒÑ£GS ŽkÿHy®¢¢"äççSÈȤ¤$üüóϘ1c~øáêOç Q^^Ž’’B*•Ò‹jóæÍG›6mx£L ¼£L&£¹”Édعs'¾þúkxzzò–¡#ñ(..Fee%…ÌÈÈÀÙ³g1aÂÞ¢ÐjµÞÞÞJ¥(**Baa¡ü%aÞl€æÞú®óçχ‹‹ víÚEÁWüýýñæÍTTT@&“ѳƾÜu:Ú·o´´4ØÚÚ"%%AAA¨W¯6lH‹z¿~ý¡¡¡œµukÛÈ=C5\’wðàA$''Óê;$ nË–-FZ9¡¹S§NÑg lß¾½F=Y®{ÀÎΛ7oÆÕ«W)ó¶±±Aqq1¶lÙbdrþ§¾KÒ÷Áƒi@ù¬¨¨[¶l¡Ö2¿ .àÌ™34è’7[·n¥p„äþLMMÅîÝ»)ì©££#¤R)²³³ñæÍøøøÐý...ÆðáÃqïÞ=¤¥¥¡iÓ¦8þ<Ξ=ËY áÿÆY¡²ªåÊ*T(ªQ¡¬zûSYÅ¿”•UÐé ïläëë‹®]»¢oß¾6l<ˆòòrŒ5 ‡Æ_|‹/bÅŠ€uëÖaðàÁ¨S§ døøãQRR‚båÊ•ˆ‰‰dffRÜÃÜÜ\ ÝD*„p1?v˜þãDZ`ÁŒ9X°`5j„°°0¬Y³™™™FNs.›{ii)æÌ™ƒÈÈH´k×}úôA×®]ñÍ7ß`þüùøñÇñòåËæ¦ÉÆÖÖ»víÂÝ»w1nÜ8h4¨T*Z’-88Ø(Ê’y‰TTT`РAèÙ³'&Nœˆ%K–`ìØ± CJJ ñr]‚•••=z4 °nÝ:X[[ÓKÿÊ•+˜2e ¦L™‚fÍšaÊ”)F>6æz¦¦¦böìÙ?~<är9–/_n$]›ó \»v Ó§OǸqãàåå…Ñ£G£M›6ðððÀòåË9ßÍ4Y[[#++ &L@tt4"##„#Fàõë×4Íè}2ŸZVV¾ÿþ{й¼ÿ~|ôÑG ¬%KZyy9†ŽöíÛ#22«W¯ÆäɓѬY3Ìœ9r¹gÏžÅ!C0cÆŒfu¡PˆÊÊJÌž=0dÈœ9sÑÑÑðððÀßÿ'Ož`РAœuH™Ö€E‹áöíÛ1bòóó±`Á…Büñǰ¶¶¦Õg¸Lt*• õêÕüyó°mÛ6Œ5 >>>=z4***°wï^"<<ÜŸ–M‡ÁÁÁ7n¢££1uêTôíÛ={öäLSâjNNNˆ‹‹ÃùóçQ\\ŒÈÈH 2ÙÙÙÔÏúÕW_¡¨¨sæÌ©ÁH!ìñãÇ£N:2d?~ŒiÓ¦ÁÃófÍŸþ‰ÈÈHtéÒ}ûöåMåªM°‘ƒƒ’’’°hÑ"#FjooÅ‹ãÔ©SÔagg‡¼¼<,Y²Ä(ÏÙÁÁ»wïÆÆ鳄Ñ,Z´Èè>㳈Åb,_¾œP Ìõõë×X²d ç\ߥú S X¼x1Î;G!Åb1^¾|‰%K–ùÀGÉü4 ¢££ñäÉ:?{{{\¹róæÍƒ­­-*++áçç‡I“&ѵ˜={6Š‹‹ñÃ?@,ã矦–M½^GGGlß¾Û¶m3 ®ã¾¿X ü;ØJÕÿýÝäÝg Ö.1èB¦ö@ðÉÀ‰ Y&‹Y <Ëô±7å`g^Ú¹¹¹(++£¹yöööF‘¾UUUÔT`*”œ¤ ÜArIϵZ-ìííyÓ˜¾r)%‰ä3œO4BtDC%õ a‘CÅ—ŠCŠhFEX©TR0–½ÆB¡šŸ ˆ;hßÔ<ó&¦Cbî!ôÂÄ5·•••4Õ‚– j¶¹ˆËŸ’””„Ó§OcíÚµ42ÓTx>¡f¹-®ýãZ{æþ‘J­VK¿Gö•ä›r!z‘sCè–С&móEl0w•JEs% v5»^'_ÖÖÖP©TÐh4°··§{Gò‰¹.#ö™µ¶¶FUU½h™ø½\©*ì3EŠZ"ÀÛÕäýUUU4ç– <ŸM¯T*iN+Áô&eºÀˆ©ìKLL&Î<£Ì±ÆÊ«P(4Â&Ï2SÙÏêt:8::ҳ̇L&«õû¸²W¯^aݺuˆ‹‹3 Zÿ¾çÇ|–¹žL¯®®†µµ5ÕT™gÇÎÎΨ¢y¡g6h}ëÐVØpà$M`ckV ­N•ZV­NµF ‰Ø/Ÿ¥aáÈÐhßYŒµKÉAc›`¤R©1€½YÌgÍå$1û0nN@ 4ûbbæ™ê‡,6©¬Až\¬ì²_|ÑjD²g¾Y~Í\ž.!Xf4$a<æ"Јɘ:˜ùdÜÀTÙ$BÜDø`ögiû}̵ ‡ÈÒ=!ó&{Â5?¾V]]  oß¾4ÒÙ(hû}ï‘ЙkljÿˆÙ¹@̓\8LšeÓ³¹F˜€H$ªQ:Ð’µ }a‡¯–¯%}:b¯2¸J ²÷„FäY2R‘ç}"+1s‘ÙçŠë=|%¹ÎyV*•âÏ?ÿ¤5o óÒh4˜;w®‘àgÉûØM£ÑÀÑÑC‡¥fæUÞçüÌ­'¡-æ™ 9æL!˜GÃŒèþ¯hf©‡iNbcû€ø¤N6œ ó|_˜ýØÚÚÂÁÁá*|hÿï7oooøúú¢ººÚÈ’ò¡}hÿ››••>úè#´k×®F )UøO›T*Eýúõ,ŽÿÛ1q›Q¼-h%ÔB¨Õ£ªªµ–Á ß‘þS?”©ü¾wÙp¦m¾nݺ¨[·î‡“õ¡}hÚ‡ö¡ýc¾de%€N§FâÕË0À *•õ6‚Ä© 0ü3FʧaZú=¾ÿç­çJüåK ®-äÓÿïø¯Éï–Ó§ñ.Ñ~µy/óÙw}iÌz„ïjµ`Jüÿ¤ŸÚtfíÌZ£´ü7Œù¿Jóbš¶ßWÝÐÿô¥Í>?äsöÝWÛ¹1û~ß{ý>ÎÎÿtšâÖGßîK3ÿ¨5zh4ZX‹l¡Óë`e‚]Z\F=6Öam5Pò½'Ož@£Ñ 00°Vé ¤/S‘vlflÒœÔbªœ¥R©òq\Uæú°ÔÔNüw  3 2·™™™°²²¢˜¹\8¹&ž­­qýúuÀÕÕÕì³ …hÖ¬gš¥kZXXˆçÏŸ#,,Œ3ÒÕÒý;tèôz=† Fƒ`Lá—ÖfÿøhñÙ³gP*•hÙ²¥Ñ¥knω¯lË–- Exx83×Ü,½ k³ö\ß«Íy`~/!!=ÂäÉ“Mµ0¼Ä×7ß~[zž,YxðàD"‘Ñ'péÒ%tèЉ„3&ÄÔ#ïËÊÊÂжm[ôéÓLjY׿Œ²ç¢P(p÷î]üë_ÿ2êó]×»àó)N|´Å×/Wÿ&5Òÿ=ïÕ+è oã#ê¸×…½ƒiÁ£¶œœ+W&“]T*•ʨ$óoÅÅÅFypÇŽý{÷Œ´滸˜/s‘´Z-d2Š‹‹QTTTHUlÿ+û’§ÉŒÞRÈåò›ÃµA¥¥¥())©ñn‚×ÊÕscKJJ P(jJUUd2oÀ“¥kk×®¥9½lÍž\ÂEEE())AQQàÂ… ¸té§ôÌ÷NöúÆÆÆâåË—¼’!óÿÏž=‹„„„c#Ø·2™ r¹œFk³çHþ}òä víÚEµöø˜ß)//§}3KÄ]¾|/^DãÆk|ö^\\ ¥RYcÿ*++!“Éx+¥pYznܸ'NxíÎÅï¿ÿNÓÈ¡O™LÆMÍŸ@£×ëQRRBsá¹.Y6sý?ù]©T¢°°UUU¨¨¨@aa¡QðÁ¹˜¨¹3ÊÞ/™L†_ýÕhÌìïšÛk®þM­-׳Ì|ö{¸bnØûÎG[üé[è?'gg8::ÁÑÑ"‘Íû-ìÍ^¤ÜÜ\,\¸ …uêÔÁªU«ðäÉŠ2áææ†Å‹£N:¨¬¬ÄܹsñæÍ ,\¸¨¨¨À°aÃè'QVLsùœ, Ñ©S'øûûC«Õ¢¼¼«V­B`` ïÔ©Sqᤥ¥ÕÌI´Wtt4rssiy¥I“&ÁÛÛsæÌAqq1 Gøî»ï8¥Âœœ¬Y³eee°¶¶†‡‡¢¢¢PVV†Ÿþ™š`†Ž?þ˜³Ò…P(ÄêÕ«ñçŸ"..áááÞ‚]ÄÆÆÂÎζ¶¶˜>}:üýýysº˜’#—¹ÜÝݽ†tI"+++„……!88:¥¥¥Ø»w/\\\躱×϶&ósgggZ„Ýœ'•JáììL/O²o«W¯ÆãÇaooªª*vïÞÍycbbàïïO™!WS«Õøä“OеkWÀ‹/°bÅ ¡E‹3f `ýúõHLLDçÎk˜ ­­­1räH´mÛ–jÙ›7oFII &NœˆvíÚÁ`0`Á‚ BݺukTÌÐëõX¶l4h@/P½^_ý{÷î…D"¡` Ë—/ç5•oݺ•®ù Aƒ¨d¿råJ„††¢¨¨ˆ÷­ªª‚¯¯/Õâ˜ëœ’’‚´´4…BÌŸ?Ÿ3¯Œ©9nذÏž=CDD =z™™™ Edd¤Q®1³‰D"ܾ})))°±±Áüùó¡×ë±xñbúÌùóç‘‘‘WWW^€f軩–ŸŸ… ¢ÿþFŸ/[¶ §OŸ†Á`À_|iÓ¦QÆÄldÿV­Z777ªñWUUaëÖ­ˆ‡µµ5rss‹¥K—ò Ë—/§°uÞÞÞ€â“O>Á?þÈËèÈg'NÄÍ›7ñãÇ£_¿~P«Õ´BZZšYeaa!6lØ™LFÿرc1vìXoÑÉvìØV­ZÕ`ÈdO333±mÛ6( Œ9:uÂÂ… ±víZ4jÔUUUˆŽŽFPPjœ‡;wbß¾}¨¨¨@^^V­Z…¼¼<„„„`ÇŽœ±\غuëp÷î]Œ1½zõBqq1bccI«NeeeÕ*öƒÝt:† †aÆaÆ hÛ¶--I;âÆ”‘ Ô¯_ƒ¯^½‚¯¯ï;û` ½ÕÖ‡lʬjéÙy>KK\zÿéâ è €J­ØÞÖ6VÿÌ´kee…øøx$''ã·ß~CŸ>}ðË/¿àÖ­[ ƒÁ`@·nÝ •Jaoo///8pÇŽCýúõÑ»woäää@(¢gÏžhݺ5 i²ÿ½{÷ðÙgŸ¡nݺF ñÙ³gÈÉÉ1i'E~‡ ‚bêÔ©xúô)„B!ðàÁŒ7ŽW:ŽT*E×®]©ÙíÑ£GhÛ¶-”J%•t·yOŸ>­!éõz4hÐmÛ¶¥¦×œœ´iÓ …‚öaee…—/_1uæ8ÈeTRRb„  éZyzzâÑ£G5œi>‰Dسg²²²píÚ5èt:,[¶ ßÿ=Z¶l‰ÌÌÌ!à„PIqó!C†`ðàÁ˜>}:”J%¤R)îÞ½‹~øuëÖÅòåËÌ¥ÌqœÏ   ,]º”š ßâÅ‹ñâÅ ìÝ»·F¢5éËÖÖwïÞŤI“àáá+VÐ"Ìjµ%%%رcFeQŸ)œìc‹-ðÛo¿aÈ!1b¶mÛ˜1c>ýôS 2ãÇ7²š°%n²gÌâ$–0^///|8-Z„åË—ÓLR;tîܹF˜¿Ìï deeaÅŠ6l&OžŒÇÓõpwwð0#;;ÛÈ•ÁlC‡ÅèÑ£ŽÅ‹Ã`0ÀÃÃr¹C‡Å!C0kÖ,:'æ^õ\³f 4h€]»v!11YYYxýú5ŠŠŠpøðaôë×S¦L¡ —‹ÀTe&ã'ï$.&%g7??ŸSÓår˜ÓÔ,©ÌÂgÚ5'ŒY¨cjm,íÏÔ³\&ZK´Ws¦]K@€V­ÛÀ?(-[ÃÉÙ:½ÿ(ýE©Tâ—_~A›6m ­V‹çÏŸÃËË !!!hÔ¨&L˜€´´4øúúÂÑÑYYYÈÌÌÄ?üÜ¿ÞÞÞ¨W¯¢¢¢žžŽÀÀ@Û­[7 $Ï”ÊI°Q@@œœœ0nÜ8,[¶ Íš5ƒƒƒШQ#<þ5BÇŽkø„¬¬¬––†ÐÐP|öÙg(--Å‚ ЫW/z黺º"++ ½{÷†§§g9‘‹îСC8zô(®]»¹\Žˆˆ,\¸nnn …HOO§kʵ&“'OF||<½¤úôéƒððp4hгfÍ‚‡‡RRR8µÒçš5k •J!•J‘••…áÇ£¨¨Gާ§'’’’0|øð’4iÍ›7G«V­0mÚ4x{{£¨¨Ë–-ƒF£ÁæÍ›‘••…;wî`ÆŒ5‚—˜ã8|ø0\]]‘””„¯¿þšþmíÚµøöÛoß«ÿ$##;wŸª««‘——‡¨¨(*Ô“&3%>¯½{÷âôéÓHOOÇwß}‡=z ** uëÖ…@ @ZZ7síÈŒ=Ó§OG›6mpðàAŒ9’Fðîß¿7oÞÄÖ­[iП–"—Ë©P(Ä©S§‡ŠŠ H¥R|ñÅ5‚ïˆ0fkk‹3gÎ@  ??ŸÎwÍš5øøãáââ›fA̲óæÍâE‹ àää„É“'ã—_~¡KFF†jqÇ¿@¢jÉß—-[wwwˆÅb¤§§S‹s=Éï“&MÂÉ“'áëë‹§OŸB,#$$ ˜3gÜÜÜh‘ >Z¬­?O¡PÐh]¦ÀþüyZ¬ƒŒïöíÛ°±±AݺuÖ OŸ>xýú5ž>} F¨T*xzzâðáÃ4h„t:¼™0•nnn7n6oÞLû¸sç:uê„7oÞ¹­Þód·¤¤$téÒ………Tø@ ¤§§C­VÃÖÖJ¥žžž8qâúôéCéyÅŠÔ´OZ2¿iÓ¦á—_~V«…H$Âõë×ѽ{wÈd2*Ì’û_§ÓááÇFƒïUë6ZO´Š«W¯B«Õ¢uëÖ¨_¿>€·ùQ999hÛ¶-ýìöíÛ4( Q£Fô’yþü9„¯¯/ÕöÕj5.]ºØÛÛÓ5ç2{”••!)) *• Mš4A`` ÕÊŸ>} <Å—v@耔¨òññ¡Ê£G€fÍšqYYY!??J¥OŸ>…««+5ªÕj<}úåúݸqûöíÃÆLk\¦­ŒŒ Zy¢C‡4˜v{xxðj¾dÿNŸ> [[[TTT aÆhÓ¦ Þ¼yƒÛ·oÃÞÞ;v¤Õ1ø‚cîÝ»‡‚‚4oÞvvv¨W¯233‘––777Óâõ|óÎÊÊ‚··7Ç·²²Bbb"är9-“Ö£G Œ…žœœŒàà` øùùA$!-- þþþfs ‰vpõêUTWW£sçÎprrBEE¡ÓéЮ];*T²Ï飴´r¹5¢óÉdHNN†V«…¿¿?š6mÊKƒžžŽŒŒ øûûS³Á`Àµk×PRR‚ÀÀ@#Z´(²Ó„e"77‰uêÔ¡ã:qâ’’’°dÉ*€XYYáÇÄ矎Î; 5YYYP«ÕhÙ²%—^¯ÇÍ›7Ú÷ƱvíZL:'N¤ÊÂÝ»wáîîoooÚ‡B¡À½{÷бcGNwó\¼xñ3gÎÄ¡C‡8£Ä-ÉÁV(HIIA‡èû¬¬¬h »   :6N‡›7o¢E‹Fšj^^^¾|IãqÈ»“““áåå…† Òg+**pÿþ}tìØ‘ZªH;e2¼OÐz³Œ”ËoÀ•gJåìÀBìpx&1qÙ¹Í}nJaƒÏÏ`N›aÿ9f.p}KýqLŸ’¹”.ÁÔ%Ì•xÏ'Aš:DµךrÑ{n|ó¨ÍžšÛ·Çãúõëøî»ï8çÁ°aî¦?j»ló°%4À·—ì>˜@ü|ëÏשu5€À×7ßú˜£ESôÆÁö=›Ûo.Z´ÔÒÁ%P±çkjŒ¦îs>Rò/Þg–‹´ÔÏÊ7O™L†ýû÷còäÉ4k‚ëû š"©C:tèÐ4ÀE‹µ›%>R®>ØèyL:b3R{?ˆlì Ñh¡Õ¿e¤j:½*µR{1^?Çê/`y¶¯’Dв“g™¥¼ØÏšB2UVëÀq%—[âdfŸërä3˜ÁœãœôÁu¹°ËÉ‘çÙù³Ìuær¦³sÈØs4\À>Ìì>Ùsæº|¹ö=f®ÏøXØÀ¦"¹´…fÍš¡Y³f&/læX¹öŠoŒ|LŒÙ·%ûÇõæ:råPóùGÙè8¦h‹™³Ï°©À .æË÷>.Úâ²Fp Ðlë ß™b_ªì{‡oŽæî K›L·’koøæÊÇdÙ`"¤2ŸÏÞÒ>ØspssÃäÉ“iù=¾ó¦P(j0R¶PÍ|ß»Ìë{–Î]§–Sp°ÞÖëÀÎÆ+ÀZo€XÿÛ|. a-B«·âŒÝµk—ïðr¿%!öæÕæ:¸.öwa ìï›»¨¸¤S°%°q\!å|Q}\›!ÈT|Ú׺›‹.4Zo §ÙÜï–„è›z†Y—O{æ[7®ý3§‘±×‡¾ø.`K×ÞœïÊÜú›Ò<-Mià[K6-óÑß÷øòkMÑ8Ÿ¶bî>2gå²4ª•ï;\ûgî.2õŒ) ö]Ç%°qÑ3ß9&>IæÙáZ+â£æ‹b¶ôà;k|ã47?sZ­±yÆG;¤$ÁQ*†Aÿo!‘ñß·÷ `g¨¬tµg¤ÿÍÔaþ'ns㻎Ϝ©‡Øþéûþ«ÂÒkBÿ®ëÿ¾Çþ.ù`æpzß÷ZþÓwYòýÚ¸$Þ×Ü-é·¶ã~—>¸ñ:Yÿ¿šÎÿ»Ï(3%М” ´iÆþŸÔøÆ£Ñ ÐØ© ­»zÁÅ­g€îÛZ§ÖxpÿþÛt+˜y¥K7”ý/ÓÄÂgrãúœ-•WWWC¡PpšHÙï`ÿp™iøú0÷9ß¡V*•xøð!/ÔÛÜðàÁZüØÜúpi) …=ª17¾õåʽâÛSkej¸úç›ßûÌ=cjm¸öŠËLÇžŸF£AEE…ɵ´”NLùÆHÐÓ™«OKÿÆu¦öéÉ“'(((àu=XrF¹ž)++CZZçšš;£¤½zõ ÏŸ?§g¦6g”´Ç£°°Ð,:ßY55GsthŽfþ·ŸQ ËËËyïT¦æ+ ©ÐʼÏ÷cj]Þç5µWV0@«·‚B¥ƒ¢J EµŠjñO•UZ¨H0<ëuK99_b/—)–ËìËÖ°È¿qqq8|ø05Åñ1\S3¦|¨|ã1åË$ÿªÕjÌœ97näõ¥1׆„j´S¨(\Ä«R©0sæL $ÁÀÅžW?æÌm\þ–Hóù¡ù.#>àp¾À>¿Û'b©éøÎ;˜;w.¥ƒð™ü™?ì ¦Öx›z”Íë2¬Îg‰ ÂlÙ²sæÌÁ›7oÌú Îž=‹©S§âþýûtî|f/>ºæ¢›ÒÒRL›6 ;wî4:¯|¦9®~RSS1aœ?ÞˆÆùLs\ôwòäIL›6 ©©©´>æÃG«|`ë\‚)áÏÀº)s²© J|g”ËDÏeJ7wGð¶°CÒ‚H!.¦nÊEÂ;b èÞÔùáêƒO¨æ»ë8ÍùÿÖ-…@(°‚P`ÕÛ¡@¡@À èW­jÉH <¾@òïÒ¥KÑ·o_ òM éHž)óPìØ±ÄäÉ“)³)++£¨;$8‰+ÀÔÁâÚ ‡bÔ¨Qôë×6mÚpöìY1öÏÿý7ƒ¦oß¾ìÞ½•JÅøñãéÒ¥ ½{÷¦ÿþtìØ‘ôôtYäµZ§§§,[ŽûÌ™3 4ˆ¾}û²gÏT*cÇŽ¥k×®b{o¼ñ†˜Æ–yzzR¬X1«=)¤7kÖŒ±cÇš/©`!Œ¿mÛ¶}:Mš4!::ºÐœÛÎýÝ»wE+áЄ|ÿ*Uª0gÎqÊ8q‚Я_?:$ÖâÄ ÆϰaÃÐétVæC¡¡o7n¤wïÞ¼ûî»b*?a|»wï&22½^_¨r¾8KõǤ_¿~ 2„óçÏ[уó•zÙcÞÂïnÞ¼Éûï¿OïÞ½Ek[AM*xQÎâ&÷×^Œˆ½ì*R‡•J¥÷³ÿ•Ú?rB†ðþÉ“'Œ3†^½z‰÷jí ´rarÁIrÏHÑš³ÖXgžW:S‘B¡ 99™õë׋H'ÈîÝ»ÉÉÉa÷îݬX±///öîÝË¥K—8|ø°œpóæMvìØAÆ ™;w.?&>>ž={öˆaÜJ¥’S§NY1Z{6ïK—.±råJN:äßëüî»ï=z4Ë—/g×®]œ8q Ó¶ž„„vïÞMñâÅÉÍÍåÚµk,_¾œëׯ³cÇY$¥RIbb"‹/&99™µk׊ óJ¥’mÛ¶áåå%~&µq”J%—.]"**Šk×®ñë¯¿ŠØ²Z­–mÛ¶±mÛ6:$¦”’Ót/^¼ÈªU«¸}û¶øýW_}…ëׯÑšäÌNßÿ=ÁÁÁlß¾%Jðõ×_Ó¨Q#vïÞ-‰ûúúÒ°aÃBA‚?cÆ ºuëÆ–-[¸yó&[·nåý÷ßgÇŽlذY³fáïï/Þ¶ðã?2iÒ$~þùg¶oßÎùóç™3g›6mbëÖ­ <˜Š+Êoj+a;J$.Üýûé§Ÿ˜2e ,`Û¶m\¼x‘¹sç²qãF¶nÝÊÀ©T©’xÇMj\¿~ 6ˆ®“ÉDÕªU‰ŽŽñf1]a½*V¬(b;¯Y³†ääd/^,f)’“ôwíÚE\\sæÌó` †*‰õkYdzgϘ1co¿ý66làï¿ÿæÏ?ÿ$66–uëÖñ÷ß³gÏ\]]%çV¡PÏ¢E‹˜1csçÎeõêÕÄÇÇsâÄ Ž=ÊæÍ›9vì®®®’ô¨T*9xð 111¬]»–¡C‡2kÖ,233Ù½{7·oßföìÙ\¹rÙ~@>(ÀêÕ«¹ÿ¾x_qòäÉT®\™M›6ñÍ7߈PŒÎà×:´d©ÅÏ™3‡O>ù„ 6pñâEöíÛ'öÅ™z‹êkt& ÏÑoŸ´^β`ùÝ·ß~KëÖ­Ù¶mƒ¥K—ŠJGQâeŠtø¼¾dg4g§RµZÍ¥K—øöÛoQ©Tœ:uŠ•+WrçÎŒF#‘‘‘Ìœ9“š5krïÞ=.\¸ ¢——‡ÙlæÂ… >œ‰'*‚·;vŒŒŒ 6mÚÄš5kÄvß{ï=FŽ)šäìÜ;wîdÑ¢E(•JvíÚÅãÇ9þ<ÔªU >úè#öîÝ+i>&iâĉLœ8‘J•*a41hµZŒFc!­Ëö2™LbnLÁ?jY0x{>ƒÁ ¶'˜RÜÜÜHHH`øðá 2„•+WJF† ‹Ú5kpwwgþüùÜ¿ŸÄÄD ¡äææb4Ñét…Æêáá!y'ÜòïÕ«W ¦yóæ¸ººòÙgŸ±ÿ~\]]ÉÍÍÅ`0XåÅ•šï?ÿü“Î;BéÒ¥éÓ§û÷ïÇÍÍ N‡^¯/ĤmëØ³g#GŽÄÃÃFQµjUΜ9#Z–,Çg[‡@ã‚f.¤àËÊÊâÊ•+äææ’À€øý÷ßyóÍ7 e˜räŸwäOþ^¾|™ÂÃÃqqqaĈìß¿¿IÚQ<н6äüÜr¾tgüâŽ|Îró#¥• ÿ'%%‘››KçÎ1 Œ?ž“'Oš Gã²ç«.ªŸÛmô¥h¤ƒ¯¾úŠJ•*Q½zuš5kÆÞ½{9qâíÚµ#33“¸¸8 C­V³zõj.­jÕªœ|HXXƒ ¢AƒtïÞNgåê°,ooo>|È­[·àÑ£GDDDвeKúõëG«V­¬/Ûzrrr äĉ \]]ÉËË£sç΄……ñé§ŸR«V-Éñ éòåËiÔ¨5"++‹P¼xqΜ9CË–-™={¶hP«ÕV~t{&]{ûÉl6‹‚°0Ÿ–¼‡'¼·Ì~d "`)hu Ió­- †eÒsK~.Cá̵'{WU\dÛ¾Y ]‚’ ðx+pËñYÎ…ï5 …|ôB½¶s$àe;ã?ª‘&''“‘‘··7{öìáìÙ³L˜0¸¸8üýý‰ˆˆ`õêÕâæüòË/ÉÌÌ$++‹ˆˆ*V¬HRRžžžøùù±eËNœ8AÇŽ9{ö,Í›7òa±?¼¼¼¬À‹å"IË"0E!ëI||¼Ö£åï“““™={6ÑÑÑLž<™“'OŠ@Ø)))äååÉFŸ fYAB6‰­´­T* ]š¶¬G`iii…Úóõõ¥téÒ”)S†#Fˆø”RS^^‰‰‰lÛ¶   ºuëFjj*ݺu£~ýú”*UŠñãÇsáÂ+)P˜_!±9ä㥠<==Åþ­ZµŠÈÈHŠ/ŽÑh””ò<==E¬ÑÎ;sûöm+PîU«V‰)¸l„ÿK”(AJJ ~~~Ô®]›„„qý233Ù¿¿äa^Ô¨?Ë$ÚÉÉÉP³fMòÓ¢8p@Vx°lK§···8–þR)Ó³%œå„ ˆå‹/¾`É’%¬Y³Fl„g,5x9­V«ÕŠ™”,çØ2¥›Üœ (@ûö퉋‹“dffŠŒO €År>“’’(]º4•+WæÞ½{âúi41©-Úåšøùùqûömš6mŠZ­&33S„mÔét<~üX¶–ôpûöm¶nÝJõêÕ‰ŒŒäÉ“'ôïߟ×_Ò¥K3zôhþúë/«À'{Q¦ö"“…CÝ~ÏËËKÜ J¥’ôôt1q…‹‹ ...…!ƒŒe„ìR–þmÛö,sµZ-¢ÊYëÙ¶'ÇWÑŽåØiO‚-3 eeeQ¼xq‘.„ñÙÎ…Ôø\\\œŸÐ7Ûùük¤îT¨P&Mš0dÈBCC©_¿>aaaìß¿Ÿ+W®0`À:w‡)))ôéÓ‡'OžˆÉmË”)ÃåË—¹zõ*&L |ùòTªT‰Ã‡‹>¿‹/Љvׯ_/:ºåœùcjܸ1_~ù%qqqDEEqïÞ=ÚµkÇ7ضmýõË—/§wïÞ"ñZ}PP111ôïߟ>ú???š6m*Ž_ЄìEé ýÉÈÈ(¤±¦¤¤p÷î]Μ9S(0F î̲=…BÁôéÓ9rä±±±Ì™3‡êÕ«[ –õtíÚ•2eÊðÑGQ­Z5RSS Ål6³iÓ&nܸÁ”)SÄu±5˪Õj"""øüóϹ}û6“&M¢qãÆ(•JΟ?Ï¥K—8p \¢í8ªV­Š‹‹ K–,!66–3fˆØ°¿üò %J” nݺ’9U…zÚ¶mËßÿÍîÝ»9~ü87nS©}÷ÝwtêÔ‰âÅ‹ËF|:’ªm5ÁvíÚñ×_±gÏŽ;Æ–-[ÄöfÏžM×®]%ÁÕ-¿F£á»ï¾ãÖ­[,X°€öíÛ‹Ÿ_ºt‰û÷ïGnnn!b·M›61eÊ D½zõ¨^½º(ØXúØ¥¤eÛ+*–. …BAzz:W®\áúõëb )-¾víÚäææ²jÕ*._¾Ì¬Y³¬Òæ A‚rÁ:uâðáÃ8p€Ã‡óÛo¿Ñ­[7ñp³u—óÕ÷íÛ—… ráÂÖ­[Grr25³‡HÑ¥¥`ÚµkWÊ—/ÏðáéP¡=¢~ýú¤¤¤°k×.bccùꫯÄl0¶wŽ 6²ìƒR©dÅŠøúúŠßÕ«WdzuëV®^½Ê?ü f‡®¹Y^SR*• 0€vídÙû½ IDATÚ¡T*EW‘îþÇX!%-[¶ Q+Ü-ÕªU“V”‹/Š?RÁHŽ´/©ñ íU©R…™3gZµwîÜ9qïA~>Þ   æÏŸO||<_|ñ…H'yyy¸¸¸päÈ+!aþüù_XX˜˜§XhO0ý[*•JzôèA×®]Åùü'ŠªzÕ*_¶iÛŽbÅŠY1·‡I«\OO/ªT©BTT'Nœ zõê„……N\\ k×®ôíÛ—ììlæÏŸÏÑ£G‰ŒŒ¤G˜ÍfѵeËj×®ÍøñãEæÐ¼ysÜÝÝÉÊÊ¢E‹¢9Q H{5Mš4ááÇlÙ²ELéæêêJ£F8pà€˜Ý¡víÚ’øJ¥J•*…··7DFFЇ•§§§UPŒ=4£ÑH:uD¢2™L|þù焆†röìY©T©’¬¹Íl6ãåå%¶'dÊØ»w/§N"44”±cÇʆÀ×®]››7o²bÅ ÜÝÝiÓ¦ nnnÔ­[—#GŽðçŸRµjU1³Ž%~¦ð·AƒsæÌ¡nݺìÙ³‡fÍšYIá–€··7ÁÁÁøùùáïïOåʕŤÓƒzõêÙ l±ÈjÖ¬)š† +W®$11QL¼Ý¼yóB™ŒzÒ"ÆÄÄðöÛoÓ²eKñ1˜âV±bŨ[·.;wîäæÍ›Œ=šÐÐPñ0 ÷‘œ«£L™2±aÃt:&LsèF^ýõB~gK ä§Ã;{ö,«W¯&00-ZàêêJíÚµÙ¿?GŽ¡aÆ <ØjØCÙ‘ºhù¼F£A¥RñÆoˆšSÆ Ù¿?'Nœ _¿~"Ÿ3 dddðæ›oŠ+áà)[¶¬˜´C µ‡Ò¶m[1‚pïÜÅÅ…Ž;Z?%%…ˆˆªT©"~¦ÓéÈÊÊ¢sçÎVíI•ììl¢££éÖ­›L ”ÖfÙžåÞÐëõdeeñæ›oŠü´qãÆœ;wŽßÿ-ZЧO+ëg»víÄ”iÂøÜÜÜèСƒÕ|'''Ó AQÆ—Í›o¾)Æ6‚CÅŠEà{a§>Âh4R28˜{ ¸¸¸àáá){ÍF©Rñ85•Š• „§ü˜¤ž´Þv¤Àµå@ëiY ¼X´Yêб\HËâ$]îî”mr`¡[Ði{ó``[jž¤®mÈ͛ԥrGk o/¡”ùQ øYêþcQ Hµé Ⱥ#Ä€³gϲcǾýöÛB)ô,Ÿ-j{¶ý–§—:lì_jO[ÖcoÌR}±ô—ÉѦ½ù“[?{ ìͧå|ÈaÏÚ›SÁ|j;>¹µyÞ E[ޤ¤ø‡£½e»7¤ÖJŽïXf„‘É—â]rûYnl<`úôé,[¶LÌþ"7ζ'upKÝ•—ŸÜÿŽÆgo>Ðúšµks4úžžøúùË:©]\ˆ½z…V‘m0™Œ€¢ õ´UÉBðí›Õò3Ëç„ÿ-Ñ‚&d™UÀ2á¶à`¶Lõ%58)'¼€²aÙgá3G‘i*•Jì“ð¼Tt«Ôá/,”í½8a>IÈQ]–íÙŽÃrW„ë=¶ó,„²Û&ºcg¹®–ó)8ë¥Ä¥H¡=íDØÔr€é–ïí­Ÿ@ Î ÚÔ¯__Lùfé·’:´ŠÒžíï-¯U m)Yú5-}8r‘åF¡>ùk,÷°ÐŽð™eRuYJß–ëg9¡>{s/7Ÿ–×ä€èmçT8tÞ 5¾¢ò)zpHJè±{¡ÏÂ~Ú“â‹B0ŽåžÆgé· ÜQ«Õb–|Õr[š;-y‰T{RÂ9äç¡^¶lf³YäÃrk.מ°÷-a9Þð2ÆgÛžÜ|þÅ1Ö®ÙŒÂÆ¡-tÆr3[â3J1gKb>fÉ0,ëÎÚÒ$c©AÉižö˜°-:›"Ͳ–EnrƒRÚª­S.k‡Ð_)IÐQ*.[_©½ôPöîoÉÕaiʵ§ Kí%©q8º\-—9BnÜRíY öÐj,çGJ*¶439³§¥.šË^RûÈ’®ìшÚ’íúÙ ŽæÒv>mJÛ Eöê’ÚËr¤œåJj/ÛÖá(µ™½ý%%DHeL²ä–¿ö†­`&5Ÿ–ÏZî;Û5ö€”Æ)UGQhGnÜRAl …Bò¶Ÿe}EŸÔÙžÊÑÃË.NŸÏÛ 9 D{è./«82ÇXšBœÑp^t.ä¤Ýk¹ƒÕ68æŸ(r„(H‡rŒúeî±Ý·Îd™±·l!ÿ“ÅžÅÆr-ìј½ÏþIæcoî-­0ϳÎÿ§ÑÿÖy¼û¿Q^”Fÿé¢~Þ8“£Ï^ô¤­Æç(Y´”?NÎW(—çQÊÿ'H§Ž|6rý§½dÅŽü/ö€ËñiÊù 6öþÊIêrón©M8J®î Ô›¹ú¤ÖVnOÈ‹ËÁÎÙJèR¾1©¾:ÒnœIuæ æ´mßìј£»ÎrkðOÒ¨œÔùFåxÑŠFõOŠ/¾lµ—ŠóeÓ¨£Ü² (•*YËmpæ i¤¶¨¶x‘R×,ý‡RÑp[¶laÛ¶mVYÎ"‰Hi]¶™¥&×R Ž‹‹cÚ´i¢ÝÝVK•ËÊ.õ^ŠÁÚng²:ØËi*·ñ-¯T*9zô( .”Œ¬tèbËÔì«Û®ð|LL Íš5ãìÙ³²eyIÚÑ]6©½eïw …BDäÀ'¤Ö_*!· ¿ž©R©dòäÉbF)xÛºåÜR¡í^–Kî µ”J%+W®aél­/rYul×IŽQ9‹öcOË´}¯T*ùôÓOyøð¡Ã¤öö„3IìèŽhÔtô£,9r·=+\  A(¶à¶ëŸœœÌgŸ}&òE©½âˆfѨ#ô&©õ³—pÄÚµÚ Àd2óäÉR="55•ÔÔT§¦òøñcñ•úèQÁõ¶Õ8ÔHd|©Í¨R©8tèǧY³f´nÝZr‚„yéÒ%öîÝKHHýû÷ !!úõëÛÕnIzàÔ©SÔ¯_ŸN:qûömV®\‰¤Ñ¨Q#Z¶liuò/¯[^î6J¥âçŸ&--?üP 9—’¶¤¤mA‚Ù»w/çÏŸ§B… ôíÛ777‡R¯%ƒŽŠŠ"99•JENNü1eË–uùš››+ÞI5k–8nNǤI“ ùì%a¾{÷.ëÖ­C­V£Óé äã?ë´ 2î·íÞ½___ ø^€šÓh4DDDн{w«H:Ë~;vŒÓ§Où÷JÃÃÃe#žåJ^^žL`/²S¥RqëÖ-víÚ@÷îÝ u5mYRSS­Pj„2kÖ,1Á¸»»;¾¾¾¼÷Þ{’uçååñÍ7ßÌG}$îdzqãFž={Fdd$ 4(¤)ØÓ¼233Å+7ö’Ä[bW:t½^Oƒ Ä{–sçÎE«Õ2|øp»è]öè!%%…íÛ·“Mdd¤x%Á¶ï=*tðšÍf¾ùæQÀpss#00P¼¾"%¨oÚ´‰¸¸84h999üøãx{{‹)µjÕ¢cÇŽVûKN˳·ìa>Ëñ 9MÝÑwö,¶¿±Ôð>Lxx¸H—ruêeË–¥\¹r²-{Ù¿œ±(UJ2³²1*Í3L¦°³µÐj4INy„R©À†ØiÐzÈ¿ç# ’,[¶Œ;vо}{¶lÙ"fIII!++ËjB¢££™={6­ZµâÒ¥Kb„ŒŒ J–,ɳgϬƒ^¯—Lßc»9·lÙÂŽ;ˆŒŒdïÞ½¬_¿ž’%KR¿~}jÖ¬Idd$;wî7…Ô ‡ŠíÚ²eK.]º$2t©¬-–ó“žžNrr²U¶›?þøƒ&Mš••Åüùó%7Ÿ¥¶õðáC¼ßh4²jÕ*úöíK«V­ˆŒŒ”ÍÈ`y€j4 îî¤päÈ @Ë–-iÞ¼¹•™SjnµZ-III"ŠÍþýûIOO§wïÞ´nÝZ¼++•ÝÁh4¢ÑhÈÊÊ"++K¼À¿lÙ2*V¬HçÎiÛ¶­xÿKJó>}ú4Û¶m#,,Œ5j°víZ~ÿýwT*:ޤ¤$1Ö°Ü–™IYÙj†7nÜ`ÆŒ”/_žÐÐP-ZdrþðáÃB“¶k/ §<~üØJ‚¯S§uêÔ¡uëÖ$&&#;÷*•Š:°jÕ*1Goff&“&MÂÓÓ“ºuë²aÃÎ;'©] }ÉÊÊûY©TйåæàÞ½{,]º”råÊΟþITT­ZµâðáÃÄÆÆÊ2M[áBà …‚[·n1uêTjÔ¨A«V­Ø¿¿˜_Õ¶ŒF#=²Š|¯[·.uêÔ¡M›6ÄÇÇ‹X­¶ÂÀ¤I“HJJ¢I“&xxx0jÔ(ŒF#5"<<\̰s÷î]Éx 9)à(ûˆ=³££¸{Z¾£´hÿݾ};ׯ_gãÆÄÆÆERR’]°”ÐêEnÜŽ9+ÅÖ­[ í7)ÍÓÙì/r®Á`àÍ.]éøF':uîBç7»ÒùÍ.´ïÐ6mÛò¯ÈH:tè@ñâÞ’Ij¤jµšôôtfϞ͓'OÈÊÊbäȑԪU‹°hÑ"ž={F›6m¸víZ­–7’ššÊ¨Q£hݺ5F£‘¨¨(&OžŒB¡`àÀ,Z´ˆÁƒsáÂ<==9~ü8cÆŒ/׫WŽ;†N§³Ò ,'èÀÌ›7âŋӰaC>øàú÷ï/¢éÄÆÆÒ¤Iz÷î-y'ÖÛÛ›Ó§O3qâDnݺÅ[o½EïÞ½ÅKí‘‘‘NùŽW¬XÁ‰'0™LÔªU‹±cDzk×.vìØJ¥¢uëÖÌœ9“ØØXpÁRÐÐjµL™2EÔlfΜIHHF£‘ÄÄDÒÓÓiÔ¨‘˜}DŠ ããã™6mÞÞÞ|È´iÓ¨Q£†ä¼•/_^̇ ΄ xÿý÷©[·®àˆ&6nÜÈÁƒÉÉÉaذa´nÝš¥K—òÆoðäÉüýý™6mš¬›ÀÕÕ•éÓ§‹Q—³gÏÆÏÏÏ x`íÚµ|óÍ7…æS¨'66–­[·Š¼cß¾}¨Õjºté" ­U«Vå£>¡äG¾Ì *0MêÞiÏž=Y¸p!äÎ;,X°€2eÊÙÊóOTIµííí]^õåOX¾4;;;_è,H'i4ÈËËC¥R‘—›+òÍçö‘Μ9“êÕ«³bÅ -ZÄ’%K8rä=zôàòåËtíÚ•ÔÔTüüü¨U«QQQÌœ9“-[¶ù9«V­Š:tàìÙ³”)S†œœL&S§NµÂ¼X´h‘˜¯Îö"½åa*˜­vìØ››¹¹¹V@ÈsçÎeðàÁ¢Äo»Ø:ooof͚Ŏ;رcéééâæpG하˜.^¼ÈÊ•+Y½zµˆÈT¹reÖ®]‹Ùl&!!;wÊ^CY²d !!!¬Y³†!C†ˆ Wª5 ßÿ=kÖ¬‘ÔÄ3âøñãY´huëÖ%''‡R¥J1tèPîÝ»Gjj*ãÆ#&&F6=Ýܹsùì³ÏX¶lS§N%//N:ѲeKîß¿Ïõë×ùøã¹sçN¡:Ìf3üòË/T­Z•;wŠhøà ?+Ðúõë©U«›7o¶ò:CÐRßU©R…cÇŽ‘™™‰F£aùòåèõz¾þúkºuëÆÊ•+™7ožˆ¿+ÅhrssiÛ¶-QQQtéÒ…… ŠÚ=@TT•*U"88X6•ŸÐ7á7¯™˜˜Hbb"Z­VD(’‹V«eÙ²e,Z´ˆ7röìYÑ-P½zuæÍ›ÇW_}%bI[˜Ûú£Só¸qã6l˜ø%mIõAømDD+W®dñâÅâÁ|æÌ.]ºDNNŽˆm-L$d Yµj­[·fñâÅVsóóÏ?S£F üüü ͧ@c_~ù%:t`àÀüë_ÿ¢sçÎ"jäÃ? СÎÜóñý·‹£~™±*V¬Hýúõ0`üñ)))v↓>8Šþµek NÿO!ãÖß|||¸råJAþ]5r2†CôñãÇ?~œììlvìØA±bÅhܸ17oÞ$""‚Ö­[sùòe† Fÿþýùù矹yó&IIIV’ŸeË–%11QLìzêÔ)ñ™{÷î‰X»Íš5+i(¥’ 0amÚ´ÀÍÍM”Nûí7Ê”)Ã믿. ‡¦P(ÈÍ͵j×ÛÛ›œœ€ÜAŠðˆˆˆM•*U0›Í|ÿý÷LŸ>Þ½{Ó¬Y3ñs©’––ƹsç8räZ­VO×®]Åg† B=èß¿¿äœ™™IíÚµE3ܱcÇxë­·ÄgzöìÉ'Ÿ|B‹-D‘0BþÓ×^{ÌÌL‚ƒƒ|½X Ë–-³ò½Zšvlnn®x9ºzõêVšø¼yóسgo½õ–¬ŸæÀüüóÏL˜0¢££Ù°aÙÙÙ¤¤¤ðöÛoËš‹BÐmÚ´A§Ó1lØ0‚‚‚ÀÇLJ[·nñÅ_ˆÙhM9æ#@¿EDDðûï¿‹L=##ƒÃ‡‹B•í}Z)“œÀ@*V¬È„ D¿vxx¸"/¤sóæMÆOFFf³rrrD˜¿jÕªY™©¥|L.ëôéÓéß¿?7–4JÍ«R©äáǬ^½šØØXÑ'(j¡äÁƒ”+WN’ù < ""‚'Nˆ²GqêÔ)~ùåYä •JÅÆùì³Ï¨S§III,_¾œnݺQ¼xqbbbP(Vq/Zlµ;GHCŽÏ¤,#±å,ÍœB‚[èÎ;´nÝš’%K:…æ¬Æko|–|Sj|öÌÜÍš5a2m­x¶çƒ”yØPEÍëßõæØÑÑÑÌÿi> Îgùò(bbbXºdqAÄϧ‘>{¦!44”åË—óÛo¿1nÜ8FŒ JÆsæÌ¡J•*üöÛo„‡‡³qãFjÔ¨AXXŸáÁƒâá–””DÓ¦M9}ú´ˆÍxûömªU«À©S§ÄlrÎlá}ÅŠY»v-ÞÞÞlÙ²…   <<<Ðh4lÞ¼™1cÆÈ:ÿ…C"::½^Orr2Æ*[‰R©MCr>©:uêMZZžžž}ú°uëV6oÞ,`mذAôk8q//¯Bü…þ„„„ˆ3k×®ÅËË ÈCÊÞ½{EÆe ùä«thJ¥’Ï?ÿœ_ýUD?R*•œ‘#GŠ=£FbÿþýÌš5‹Ù³g£R©¬òë ¥V­Z <˜qãÆÑ³gORRRÄ>öíÛ—îÝ»sþüyÑGl»yM&“QØ­[7Þ{ï=±¼¼<† F¯^½DÜX9cêÔ©üùçŸ 0€bÅŠ‰¦È„„úôéÃ[o½Å½{÷D­@J³úòË/9|ø0½zõbûöíxxxàããáC‡èÝ»7¤téÒ|ðÁ¢ä/%\”/_Þªoþþþ,]º”ž={2bĺuëFÓ¦M%%óS§N±|ùrÒÒÒxï½÷ˆŒŒdýúõüðÃL:•Áƒ£P($M­ÎÙ–%J°páBºuëÆÄ‰ùøã)Uª&L ===zðã?Š ðRû±bÅŠdggÓ«W/’““>|8qqq¸»»‹¾=¹Ôq …FC×®]IOO§C‡=z”   öíÛÇ›o¾ÉàÁƒéС‘‘‘’wc…ÄÑãǧ{÷îìÙ³ÈOkæëëË»ï¾ËÎ;™4i’• Բܽ{—ï¾ûŽgÏž1iÒ$Ú´iÃÔ©SQ( <˜sçÎ1zôh–.]*^+²KÿþýÑh4têÔ‰?ÿüSGÅ_ýEÏž=™0aãÆ£D‰’×yÂÂÂxüø1=zôàéÓ§ :Tô{úúú)‹Z%ÄAüøãÌ™3‡ž={2dÈFEÉ’%Ùµk-Z´ \¹rV‘çΚí]=‹gëÖ­…~»k×.._¾leþÎÌÌdݺubêD¡œ;ƒ2#Õ©ß8S—£:ìÕW”±5s¼£6¤î*:Û·¢úªì=ß°Q#^+pX¬9s¿Ì™¹žu*ê^vv½è^~žý\”:þ©ù|¾c7¼(ß‘ãiR˜Ì–Ï;Ó?©:µçÌZY¾ aþ‚vÑb|RϾÌùŠ‹«+Zm^~ļZM|Ü-4jŒÚÓ3ßLnÐãîîžÏ;ÌfîݽK^n®x|°QAÞµìì,nÇÝB¯Ó¡PþgñC_•Wå…‹9ÿ¢µJ¥&íqja™_ÍË«òª8%,(qqQs=öJ…óÿí¸ºº‘›  `ži44iÞŒcG’›—‡››[š— ½^ÉdFA>ŽB‹V­$µ{µÄ P£æëd¤§ýÇA¸_•Wåå¨fxµ‡_•WåíX -›€À@‚K•B§ÓáéáI‹–­¸{7V›ç¨UjPB© a£F ;4J IDATˆf]KwZJÝ7™L”-W¥RõJŠU^•WåUyUþ×tnÀ\ qæG;»»»S«VmŸ; z«ÜÂv5RKˆ>пšïWåUyU^•Wå÷Hµb² v¶(¥Õ^óswæEWž§M©÷r8Žê“¾–«Óž¿¨ÁEyæeÔioE­ó¿eþÑ©õvfÿ8³Ç‹º7ì=ó²æ÷¾¢Ñÿu}Þ[/Šî¤tvòE›ÊA}Ùc /cMPQO.q³åwÏai[WQ™°³'7¦—1·Î¶­PȯíóŽûŸ ngR@Ù#Ü/U0@½¢ÑW4úŠFÓ¨åu(e­*Ê—ðRÄ·%LuQ&ËYIÖÉW*¿¥\ûöˆÃ^Ò`Ûgµ+·Ø ˜ul/{þ,Iúy$^GLÜ™ö^&¡>¯Äël;E‡ÕJÝtöÚ‡Ãy±dÞŒçŸ:L‹²ï^„e¿½¢Ñÿ,ÊÁa:‡½ü£rü]¡Pöä —.ž'--¥RHÁIq¾¾Ô©ñï`#¬#™Õ¼*¥D> pSƒJ¡x‚õª™³ƒIQ8RHúk£Éè4lÛ‹± iZ©B©R¾Z¤Wå¹öµÉdÎÇ©µÝ§â¾6c´A** ˆ³üZ¥R‘óô).œ£„O *V¬„©CWñœt¢RªÈÌÊâò¥ ´nÓN²jgM-Κ`ä°WåŠÒ–=ID´ùy36ØÖ«V*HL~ÂÎc·xœù Õ K9¯Êÿ¥b0)(ç­£\±\´FJ‹Ã,ÿ ÍL­Úu¬À;CE¥QÈ[ÉÊÌääÉã>>¸¹»¢öµR©¤TéÒÔz=µ‹º‚"Qhï99 U©TæçÖê([¶ ƒÑiP!ùÃÔLÅR="#3?_¿BP±jGD'eVuDÌσ:b/Ù­mlÛ3íÊetw–ùˆ‡¨JÉ“ô,6Dߢax5Êû‰—t_•WÅ™âîYŒsÇöÑ ¢åCÂÐëu “Ñ„B™ïËQ(•œýë4×c¯Ñ¨q|ÛYÚ) *•J´yyÄÄ!°d0ÍZü £Ñ€âÕ®~UŠP<=½øãÀ>Z´ú%Kb4ÅVH(o2›9uâ·nÝ n½q_Ûòl)~/§(I)L–û[oЃBJ­þwr‡лÉ*äèJíè0|™ªwQ¤h¹ïí¥ž**^¦³ß»¹(9ã~þ%éÚ,ìõ¼*ÏUÒ‚Š¡T»ââ¢F©•(¸ÉhD¡TÒ¼EK¶nÞ(›+ôeѨR©$%%æïtèøjq^•ç.%|}quqÅÍÕ £ÒPh_›ÖmÚ±yãzêFÔ·ë/}¹‡ ˜M&LÂü":©ÉÈÆNý“aóö¢í„ÿ½½½ÉÌÌ¥“É„‡‡J¥Fó\¹ 6$½Á(úŒ2¹_•WEöàR(0‚Ì?DMF#mÛ¶eèСôí×m^n–)Ê,G³ÙŒ——&“‰Ü¼Ï£Ñ|:úczµ§_•çäß&“)ÿe4¡R«y¦ÑкM¾úòKÚµoÏ3O//‡ÑâÂ_233_,G¬Lf“dį0›Ì˜l¬ J…ý @{º—RúÿÎçV«Q¨ÇÂ÷–é·Ìk›&J*ߟíK Åg‚*½jõj<<< ðÍxzzrþüyŽ?.29;»ía)Õ®üÄ™e™¢Ââ¯åË™ï콜yæeÔiù™í÷E­Ó™±u\/cìrßK­‘² rÕò%õ¹ÔóruX~–¿ÿ½srrèÕ»7>%|øiþ|6nÜhuˆZÒ–B¡ X±bÄÄÄpáâE<<< ÓŽM‰¯ÿ2£•{ÿ¼÷H ÿï‘*l®hØæ‰uô¹í¼8ó¿…á“Ù„R¥$--ž½zQ¦L¦}9½{÷âîᑟ¢ yë¢ðÒét¬Y»VÌŸ*un8« ÉÑ…Jžî*|‹»âãå‚_qW¼=Õ¨UJ»tôïè)'4R¡ÃÂz÷Þ]´yZ¼½½ B§Ó¡Ñhpwwÿ·M[Æ´$üÕëõùû..öMR·ÌRòüŸæóÁûïóôéST*ž^^œüð#®ÇÆ2yÊêÖ­K©R¥ mB©1jµZ.ü™÷Þ{Ÿ ­Ô^ =I… 3fSa…ÈÓMMJZ1WS¹—N®Ö€B!A^toV²%‹“«5@v ‘JšvÕj5Z­–9?üÀÅ ósÆÿjÕŠ1cÇÒ´iSNœ8Á“Ç©¢éÕÅÕ €ÌŒt þþŒFÔ.®¬^µ’”G˜8qR’ÅÕl6ãîîN±âÞ<Óä››‹Ùl¦xñ⸹{`4èñ•ŸŸ ÀÏÏWÌvïçç‡Jí‚A¯###C|¯×iÉÎÎ.¨¯®n`6‘‘‘QmæÚÅ “Ñ@VVƒ²³³­¤!{ÄdïR°\´°\š=-Ú^›öž—“9õåªK1GLCn^ìµëìjïy{ä¶¿4h&“‰%J••E¿~ýèÞ½;»víâ—_~A­VÓ§Oºuë†ÉdâóÏ?'%%³ÙÌœ9s äÊ•+Ìœ9¥RIÆ 5jTaFk2cÐë?n<î<ÍÊ¢d`I¶lÞŒV›÷ïSOQxOxóÂ×·(”–$» W¢B¡ D‰(Uj´y¹<}úrssÑét¸¸¸àééÉÓ§O‹f“Y{óo/²ÞÞç }ØûÜûÿ 4 °uëV¾ûî;Z´hArr2óçϧdÉ’¬\¹’[·náîîιsç˜8q"½zõb̘1<{ö “ÉD£F:t¨8®¹sç2oÞ<’’’0™L¨T*ÒÓÓiß¾=íÚµcæÌ™ ÔjµUº2m^3¦OÇÝÍì¬,ÂÂBÙ¼iyy¹¾Réõ1™Lx{{ãêæŽZ­Æßß_´üùùù¡PªÈË}FNNŽ(x+ŽÙd$##£°P/¦¦|ó­)ÿ¯·§ {NÞåÀ…4eø'ŸÐ¡}{T*k×®eÍÚu´jÕƒA²Àœ<äÝwyöì7æÆëÌÿi>éééÔ¬Y“)_|Á¤‰9vü8ݺvaĈäåå±fÍ:ÖoXOåÊU˜ðÙ§øûû3ï§ùìÚµ‹ºuë2nìXÊ•¯À¨Q#ùpØ0J—.-;«!9sÀÊ´£CÚYÍË^§=wF#uÄ(œ5O=/|žÔ|8º‹fïËúT*›6m²ª+==Ý»w³qãF†J—.]عs'>>>Ìš5‹;w²téR¦L™ÂâÅ‹™6mÕªUcôèÑ\¸p:uêXùÍä[{ŒF#:7÷ü{vFƒ˜÷1¿_…çÁÍÕ˜cÇ8z4†Çóí¬o©ÀøñŸræìÞîߟ¡C‡2wî´mÛ–ð:u¸yã:;vüÊС¼ÕÞüÿ·@Sì`ö´Üÿ%xòä cÆŒáwÞc0˜R½^O¥J¡xzz2eòç,Y²˜Û·o^›>}zóúëµØ±c;+VäСhøãÀÞê߯¿þW76oÞ‚·7Û¶må·ûÓ·O¾ÿþ;Ñ< Í‘#GX½jëÖ­cëÖ­$''sôèQöìÙËÊQ(•ùvwP0eÊT~í5f}û-—.]¦˜W12Ò3Ø´y3ŸMøŒ#>aúô¯ð÷÷çè‘hR?fÇŽ_y”úˆy?Ícë–-ôìÑ´´4Î_¸ÀÖ­ÛØ·w/Í›5'99¹`ñtNß5•ƒ±²wÿÏÖ/ ÷{)éÚž+u_ÖQr~m9Ô^(º£~ÈùDìù2ìù³å|ƒrs+×ËÅöíÛùå—_¸qã:•J%¾<==Ñh4ܺu‹ÆЪU+nݺ%š€«U«@åÊ•‰— ̸w‹„;ñ$܉çÎí8îÄß&áN<·nÞ íq**µJ²j57nÜ`ê´/èÓ§'NÂÛ§Ó¦}IÕjU‰>tˆ«×®ñÇбc¾õ-gÏœaÆŒ¯‰ˆ¨‡››[‘´QGóïÌ:Jíý—Ç G–ñÿë4 Ά 0`C† !>>µZN§`ýúõ”.]WWWÜÝÝ©]»6GeÁ‚Ô«WÖ¬YÃСCÉÉÉÛ9}ú4J¥’&Mš Ñh$×P¯×wë& wîÚ×q7oþä *•Úê05›Íøx{³}ûŽ?ÁêU«ÈÍ}&ZNfΜIËV-Ùÿûï>|„ .r÷î]~œ÷_Ïøš¦M›’žžî𞨫ZÁÃ'9ìNff&:–>}zS·n=ÀÌÁƒñõõåÂÅ‹\»v³ÉL¿~}iÖ´)ƒ¡uëÖ|ôчܿŸÕ«Ñ·o?ºwïF»vmII~ÈâÅK¬Lf/Zœ1ùäÜ=8räoõ‹&|öýÞêÀþxšó”={öÃot$11‘:ááÔoЀš5k ×ëE^m+¤ zJ7%q÷38s3£ŽÏzU#¤´7J¸¨ü¸-–ËÉ4Ïò,Á…øPaÆ`0a2ƒZTîþ‹d°‘B¡ ##ƒœœFŽÀ™¿N3zÌX†}øaÁer%AÁ¥˜óý÷\ºt‰¹?ÌáÜùó|ýõLÑf®×ëóÛn>TÁæ.´ñî{ï±tÉ|}KpùÊtz=þ~þܽw*nߎG_À <=_$»„-ãš>}ºÕûGYý^¯×ãééIHH×®]£eË–\¸pŠ+@JJ ÁÁÁiÒz_çϹÉhÄh4’§ÕàãFãÊÅÝ£ ¾n<ÎЖ­Ål2SÂCAnn®J”JÏru\ŠKŬPQ&À7%ƒ³É$ X"©‘º¸¸••ÅW_MÇÛÇ•RɃ¤ ýà0›*Dï^½˜?ÿ'*W©Ì˜ûã<ÒÒÒHM}”¿(‹‡i•*U™2e f³™qãÆŠæ]Ê–-ÃòåËñó÷ãêÕ«dfdÒ§Oo† ûAƒ‘™™ÁエÉ?ÆÐaè[·.[·mç‹/ª¡ÍË#+;K4:~<ó,àêÕ«¤¥¥Ó£GwJ•*ÅÓ¦@VV5ª× 11‘)S¾ ((¥REÙ²eQªÔ¼ýÎVDEQ¥JåB0PÏld/hÂÙ@G&g¥`{þ#GR¹½HG9ÿ™TEm÷E¤ø¢eee1|øpüüüxúô):u¢mÛ¶4jÔˆ÷ßµZMƒ P«ÕtïÞñãÇóù矓ÀŒ3xçw?~<x{{Ó¤I ˜ÿwíÚu¼þzMªU«†^¯gÕÊ•4hЀJ¡¡…¤^á÷OŸ>ÅÛÛ¥R) ¢ãÇeíÚuœ:uŠGR6ô~Ýñ+*T`òä)Ì™ó=_L›ÆŒéÓÑjµEÒÖùŸ'ØÈ$&{ôá(®¨ÁFÿ¯Ó¨`MY±b\»vAƒ‰ÖÅß~ûO?ýT|6''‡Y³fáééÉ“'OhÞ¼9&“‰±cÇ2vìXÚµkǸqã0 üY'sùòe¢¢¢(W®œ¨±æ[ùÖ“ÉHTÔ š4iLÅŠÉËËcéÒeüë_­.U*ÿ²Ñ33Ò4p £ÇŒ%öú î'&’žž¿¯‡ü+V¬¤\ùò¤>zĈ#hÝ:’½ûöòöÛùZëÄ (^¼¸ÍAj=Ïy:#¥ü=øîƒprµF´:#Þž®œŠ}Âìͱ„” "(°©Ùz0›(]¦S6$P\¥eΰz¸¹8†TôìÖÅüíwߌN§µºþ’žžÎå+W0èõ„„„PµjUt:iiéüuæ/Z4oޝ¯/W®\å^â=jT¯ŽN§§rå׸~ãa¡¡ââ]ºt&‡-Z ÕjQ*•¨T*2228sæ,ÁÁAøøøàëë+JöŸ;GåÊ•1›LTªTµÚ… /’ž–F¥ÐPÜÝÜððð ##ƒòåË£ÓéðôôäîÝ»\½z•R¥JQ³fM”J%III\¾|…°°0ªT©ŒÁ`àÞ½{\¿qƒš5jP¡Bf³‰{÷îd¥‘z¹»°ãÐ’žy2¾_‡ ö©gå`å$`gàŸç°|Þ` 9éÛÑ<ÈùÊ¥ýr†™9: lÛNLLäöíÛù’³NGXX•*UàܹsÔ«WO¬#;;›óçÏóÚk¯Q¦L±›7o’ššJ£F Y5¢¤dÉ’T ©ÈîÝ{øþ‡XðÓ<~Ýù7nÜ`é’Åxyy±gÏ.ÞìÒ-_3-àÕj5>ÄÅÅL&wî$Š««+qqqܸqƒòåËS­Z5âããEMY¡Pç!*äGà›Í¨Õ.$܉çô©“|8|D!@G©³‡CQbGkëÌš:Úÿk4*ÔϽ{÷¨P¡¡¼W¯×óðáC*T¨`õlJJ ±±±øúúŠ–c§V«IHH B… ¨ÕjÑtúìÙ3²²²DmTèþ½»y-ì5J•*ņY¹j5?/˜Ï²åQdggóãÜpuueß¾=ôìÕ‡œœ‹Àl6ãááAÒÇ\¼p‘ªU«`4š ­„R©àƛ܎',4”°°0 yyyœ>}šÀÀ@ªU«fuˆº¸¸û6ÎåõÚµÑëô( L TRaÄÓ]ÅæÃ‰\HVãâáÉ£ôJùâçãÅû ŒìT†2^huF<<<¸pþ<‘mÚáëë+*YnnnüuúÔÿÇÞyÇIU^ÿ{ï>³-À² MTEE°F@±`L¬1±ÅÄø&"ÆPc}õg}S ‰b‰=*XQ‘^¤Ãö2í–ß3sÙÙÛfwÕèœÏg>»sç–ç>Ï9Ïéçdf¤©E—$ ŸÏ§ÛÀ#‘Äï’$ ijjBQ=·(¾Ÿ0My½¢Ñ˜þ‚~¿Q”Òr>SÏÈr<¹ªZt :ä÷û‘$‰X,¦‡$§üT©(0¯×‹Ïç#ëÏÝn7>Ÿh4ªçUy<¼^oÂÄ‹éÇRy¯zÚ Fj%Uv5‘š™ÊŒ—qZmbv©•™Í© ÖìžV㲓²“‚sÉTã³uÞrª®hꯑioÞÜ÷(-íFyY9y¡ï¾÷“Î:›3Î8gŸz EUñx<¼õÖíiJ¸mí{õx<:]x½^¼^¯ŽóméÏëõê'v©S¥zØffJ§õ°â˜Ó{þ7ÓhÛt #\4‹vBS)xó×8` y¡……Ì™ó"?½øb~òãóЃÐÜÒ‚Ïçã­·ßäœsϧ©UÀij¬n·¿ßßn¿Oñ–X,¦ÿ&Á`YVˆ$Ý!©q¥éçŸ-åˆ#ŽÐù‚@¢"]ʧ‹Å‰Ë2 ýgR)‚ËMÏŠbÖ¯ûŠ©Ãó˜pL%ÍQL¤Ü,_¶Œ“&œ’‘‘º¬œØ­£´R›Š¢(444èÇRÌ©õyÑh,íÃáˆî;míÇP¥]~›(Šíާî•bŒ™6¼ÖLµµY6U–:–ºW,Ó7—ÔxZ?0΄EB0ÊZå9 À±Jˆ·*Zn'ÒΘ¬ò íŽ-ÓFb7GÔê¹VSìHþ)\m{nÛóS–="QÀdM Ç~ðUU½ˆ+ ª¢àöxÒJ—µ Tj‹¿™p9aÒKÇãv&]!aÓlúøÌæ×n.¦•ÏÏÎsí´eºÏ÷™FTýÉt®K™['eLU4}û÷súé§1oî\ èOK$’PxLÖK>ÈLû}&Þ¢iMMͶöUÓSEƒQ’47 ˆ"’ rù„JxcEÝ{³s×>ŽïïbÜÑ=hŒÈÉ._‰ûh Ç&>R;Ò‘Ùk†•'Ìðf‹ieÎ1Ó8œ–•jÿl$±U”š¾}£Mƒ;š‡ÙÑÍ™6";ã5c¶MŸížã´ ´Ýû;­à ‰ÇPUU©o¨gÀ€~Äbq)jš†$Jíz;ÚÑî3i*†Jò¸ÔJãµ¢3¦™ ³Ë¦%œÓqÙ9Ïi„ygÍ©`í\9}¶Ýb)ËL"e2†ªø“xÝÀ AK2ÀD•¡$^Û4Õ ¦Øô¥ë O;Pßš¤5U’$R™`š¦QT$rõ~nÿÇŽìâ‚“úÓU­UëÔ$CFêtSi¶7u§¾:3&ÜQŸÑï1Yáð~|úŸu|üå.z–¡ª¹ŽS9° €Ÿ} 1¼žp‚8“’r4E aõD‘/W®¤¤¤›en\GiTÓ4JKËE‰Ë>gÈQCs‹”ƒì@ƒHK˜ü¼üVxÑ•(QùbÅrº÷èaÙfÓÒa—™j¨I&š2qÜ7“éß#Ä'÷¤o÷Pb[WU´ÖãKv±þ’­Ù"ë5ȲÉwW­õsã²Jò"~<~¯~¼‚ÚÆhb=s$”› h"žz”¦=lÞ²µ½(™ÇUZVÆðãF‹F³Î‰´sªª‚AÆO˜ÀÒ¥Køøã…¹EÊAV\4‘~SÇÚõk32YQ)¯(çèc† ‡UŽºž·ë%«€8 %ç„ûW4"1QÒ\,jkT³ÁH³5[˜©è}†‘/ƪ¦e&€Ó(ÃÔÿŠªJ™1¨W2*ÇFsàEEE4etŠ,ÓÜÜœÖBphž³K£Š¢PT\̤³¦XjÀ9È!Î&ë’âµ²"ÓÒ¯11³w$EJÅDÄ|ò;l[Â1Aà@·¦Ö2® àñø’ãѬ©‘ŸÒ*ÏC© IDATÞNG…lsÔ:»Rˆ©]Ý$º-ÓŽ‚–c¢9p.!ÛÄAÐóDíÔxÍ–FS÷•e™úÚÚŒN9ÈݽÖÎ9©BGQ”dT|>_oÛN(DVäyáDIbÿ¾ý”t+¡¸¨XÏúhýÜ.ò‘Z76ó‘EÖµʶ ¶Ó` QŜ䞃o€ñš0ÑΠÑÖô ¹\ä°:ß$^;Ûîÿ™®Iýõx½â‰lX¿Žêšj„äžmg^YU)-+ãð#†¤•5ÕHÔj3â¶š,;=˜×·ZŸi¡ì °“ëÕYUSìœoGcϦÂUb¾Ó÷v"ÜØ=ßN¤¹“û;éÖá¤}—ÑuvÓ„²¡Ñΰe³FvSœ¬æÕNŤ~7iÔ¬ê“݈k£û¥Àívs̰á¸].“vܶ_9O+äßv,Yk¤V“íD#m; ‚ƒÐÿïb‹&;Hk4ölÍ'V-šÌÞ×Ico;ŒÕq³œR«ÆÑVšY»÷OúHì”'´’v­Ú*¢ÜîuVí¿r4š£Ñš¯‘ªª4Ô×wZ“…L.SÓ®Óœ¤ïJ°‘Uµ§Rœ©Ð¨Oc¦¶Mv$/#mØJs1šc«â VmÔÌÞÅI³b'øeG[³òuëÿ›à¬ÝMÕŽänÔ¢ËI¯ÉL8o‡‰çh4G£9MŸ¯® s¤‘~Wmë½ÎvŸQ¾Í˜Üô§wUÛªo£µÚ·…ÿMÐÑ »æhô‡L£v‚”º\f*¾‘OЪŖÝ󌸽]³‰U=O§¹¥m£ÉÌžmÇ÷kǤådŒLfNÌJfkkµ¦v¯7»§“jv×ËéïN zd’ˆí¬©Óö]F&^«÷ÌÑhŽFs4ÚþèôHt3Ó»e°Q¶)+ß•@'Á&†ãJÊŸ);¹ñfúët±ìþžm »eú²¹ÞìžNË"væ\9}Žyɦ„ éó“•[ìÃt”F[?S€NëÃiw;R¢Ò.åhô»A£–%+³ÔÆÛÞ+õÙ·o/+–}NMMm¢D‡xªFaaG =š²òrdYvæ#uR—²kÆ×Ùí'ØU¦+GûiL%öÈ…ÊA²1{iµ[Çvj uJ£BRHE1M@ÌA:¯jˆŠ³"ýv}¤m¯‘$‰Æ†–/ûœââú÷uÚK $Q¢¶¾ž/¾XÁø 'gÜÿ]•8ÌÌB'£µêï´ýÙsÚ^#Š";wlgá‚ùÔ××'ªårØs`TU%”" ¡¨j:eèåC5ÊËË9òÈ¡øüþ´®F!¼µ59J’D]m- |Ä®»:ArÏÁ¯óóóñ |m‡×‰ÂöÝ2ä(Ü·#|¶Šo»W‹¢Èþýû‰ÇbôìÑYV:t¤¡Ñ§w{ví¢¶¶–âââ´îbi[‚ëˆ9Ö*z1›¦ÁV š­Úg™3Êá“$‰êýûùè£~ÜHºWto¿æ &™÷Þ; 9ò(êןx«Þ zqoQä“%‹X½zÇEKKK»¶mvzzZÑhjÉ„Ã|ôáôèYɸ §&J½å–*ñú­7_g̘“(-/GI,h­€¨šÆ¢…óY¿~-G;Œ–æfG½U­öîLßeYNt{q¹ô&âÙ‚€€ JÉvp™ïã²#½vDòÍæ^fh»Ç:ËY‰äÞõëÖѽ{ŽÊuÉÈA–PTTŒ(JˆÉöe.·[ÿMQDA`ä¨xá_³‰TP± ± ¢(²gÏnZÂaÆM89·89È %—$A²½Ž×r¢ü˜±ãø×ìç8šìÛÃ9f†hªŠÚAkN¢ \¢û‹Ñ, 2dúß,™ZUU ˆF£iM²­î¥(ŠáuÔÖÖ¶óãØeØFIâN̲"§™3r~Ò8’j!!Ñj _’Ëí&‹qâ˜1\uå•\tñÅD#¼>_ ÍN…‚AU%½Ù¡Ñ”œ­ª|[9œÎA‡ðZÕP—ËEC}=£O<‘»î¼“y&-ÍÍ\.Ë‚ ™ö{§E@Z3QUËÜýE#ÑgTMÒ˜H*˜›0ã㢙Ôëñxp»Ý¸Ýn<­¤çag n(((àÅ_bã¦Mx<žv&¥LUþ5M£  €9/¾È¦V×%6Çœ@ €¢(iÏ6jìy´ŒÇ2ÝÏèš Š!BXEÂe:·íFh$ Ýßló4[6¯fã2›‡Lã°sŽÙ8M»MØ`*FÌ'Óøì3ú¤=_8€÷uuuœ=e tO>õÿ÷ÿ§3Q6Z///÷æÍãÓO?%ئ«lsRí4¥· j6×N×6\ÿ!Ш]Ü5ºÆî=2~G@ÕTDId÷îÝL9ç† 9‚?Üs/½ô>¿?¡Õa^0DÓ4b±O<ñyyy(ŠbÂÔ4[{5möx4 —(ðJ=äù]ú_·Klw~:t™I›6m¢©©I— >ø`Kôx}¼ôòËLõœÇ¡‡¢k—VáñúxéÅ—ð]øcI^—bnÿ¿'˜6m º½»3{›m0Ù¤â|Û’aGÆã¤êMW&Šg“a`fgÜ©÷Þ·oÕÕÕH’D<§oß¾ø’ÌmÆ ”––RXXˆ lݺ•p8Œ øý~JKKñûýlß¾¦¦&TU¥wïÞƒÁt¡/ù̇zˆqãÆqà 7°k×Nn¸á—Œ}}ûöËè‡ñúüÌ›7ž={râ‰'êþÓ®ÄÃŽ–êû¶iÔ‰ßí¿™FA@Q¶mÛF,CUUúõë‡ÇãaÛ¶m:®øý~ºuë–&ˆíÙ³‡’’\.{÷ºQñx<QXXHKK ›7o¦W¯^´_[Ý7zß}÷qÁpÙe—±aÃzn¹e:Ç7‚îÝ{´ dËôþÑh”'Ÿzš_\= %ƒÒ.$̱¤i¤àóºØ¾§ù«ö±lc áX". wY€³Ž¯¢O÷ÂQ¥²¤ZyÈÈHƒÁ }ôç?•I'RW_‡ ˆü¿Ç£¸¸8ÁÕ=^ÐTêêêeÇC~A!ÝJJp»=i’†(Š"J.TE¦®®UUÓ®+éV‚ÇíND8ƒxýäxŒn%%(ŠBqq1¢(âr{¨Þ¿¿ßO 4êëêˆÇãx½^òò hin¢¥¥ŸÏG0”@Scáp¿ß×륮®.£3Ú)£èЦçy~6~i»ïÝ•UC²ñÚõ“›[UUÆŽËÉ'ŸL4¥¾¾ž™3gÒ£Gn¿ýv¾þúkš››¹í¶Û4hÿûßÙ²e ^¯—E‹q÷Ýw3hÐ N9å&OžÌ¶mÛ˜>}:‡vXúXTx,ÆÍ7Ý„Ç륡¾žâ¢"fÿãD"á¶§ ¯ )*,A¤[i) Äb1AÐi+ ÓØØH~~>‘H„X,†Ëå"ÐØØ˜ÕZ8-'hV*ÑnV;x–͸¾¯4úüóÏóç?ÿ™“N:‰]»vqï½÷RZZÊìٳٰa~¿ŸÅ‹sã7rÁ +W®dܸq<ùä“Lš4‰yóæñÆoP\\ÌòåË5jøÃزe wß}7;wîäÃ?D–eÜ­,”ð¹G#î¾ëN\.7 õuô®êÍìüƒ––TEɨ‘¦Þ? áñú$‰ââ"ýžÅÅÅ¢D$ÜBss3€¾ŸkªL]]}Zt;´î#ª¦Y6ón^ž¿™y+ëèV‰GÕØ‰rË_VrÅ)}=¤-QYïK _«º544rÍ´iÜy×]­Þ\å÷·ßŽ¢¨,\¸ò²2þô§?RVZÊú¹é¦óéÛ·/_¬ü‚I“&éþ I’¨®®fÆŒÛøìóÏ8rÈî¾ûn7nä¦ßü†~ýú±rå—L9ûlü >ò0ûûsŒ}áHÉåæç?¿’ŠŠ >üðCæÍ›Ë[o½Í#ël¦L™B]«kêëë¹üò˸÷Þ{¹ÿϦ®¶Žªª*šššhjnfÒä³×}6ÑhŒÅ‹—pæ™gÒ«W/®¿î:Þ|ó-ªªzqé%—àñxØ´i3 æÏçê«§ÑnáóÏ—W^u%ÿú׿xõÕW™>}:±h„k¦]Íý¾Ÿ²Ò2fÜ6ƒêýûs≜vÚéìݳW«ˆ²lú•Ú%³¼)+¢4’°íaGßɬœ—Y‹-«Ž)NKDfÛÏÑNGQ‘å„Ë¡©©Ig”­%]Aôƾ@€?þ˜x AL.‘H„ºº:jkkÛ5e…H¸%HÑ*¨HdE¡¥¥E¯:Ô›¹äâKèѽ;gžy&<øsçÎeÇöí¼þú,_±‚ÊÊJΜ8‘‰ÏäøFóÿþßãŒ{{vïÂív;*½f·Ü`6¸efÕ°“ŸnÔéÄiÿÏÿvU…#FðÊ+¯°jÕ*î¼óNþþ÷¿ãñxøè£˜9s&»wïfñâÅ<ùä“<óÌ3:#J¥­¼õÖ[Lœ8Ѷ€”¢‹¦¦F½Äek¼ŽÅã„Ãጾ×ÇGóç3uêùTTTðë_ýšO–~ À;ï¾C}C=ÿ˜=›%K–ð£3Îà믷3ô¨£8bÈ è,˺{£­§(2r<ŽèØ´½–OÖÕpÜ@™ßœw½ÊóD¯KàWóÙ×qZZD*J Y±i7’ àTⲊªË%¡*ŠacSCÓncSg5™_Þø«´ã’ä" ª*Ñh ·Û…ÇãA‘e"á|þëׯÇŽO±’n¥L:•£‡åé§ŸâÉ'Ÿâ‹/¾Àçó!Ëq¢‘0^ŸŸõÖãñ¸)éVÂÆM%kÖ¬!&6;A$#I>Ÿ—c‡ cÖ¬™D"QvìØNC}=£FŽdò¤I,Z¼˜+¯ºŠ… 0fÌ.úéEÌyéE®¹æÞxãM6nXO4¥W¯^†’–Sã¤åÙf•­6fT Ûi/;crZÃØê]Œ´§÷´lÔö¾ÍÍÍzè¡i¦1€ÊÊJ–.] ÀÊ•+éÙ³§þÛœ9s:t(yyyº)jìØ±üä'?Ió½¦J A€A‡†ßïÓ}˜ _O$FDâ±xÆñK’D,CQU¢Ñ(nw‚|+**¸è¢‹9ò8¶lÙBII ‘p óÞŸÿ¹ùf>^ø1çŸw'Ýæ08ÆÎofýH­Ö/SßËή½ý}¤QI’¨­­Åår‘——GŸ>}ô=àÕW_eðàÁ‰ø–¤f¹aÃ.¾øb6oÞŒ¢(üô§?EE6lØ@8føðá:®¤¬ßïÐ…±ÔøU5‘örÈàà ƒ´´´'p8?¿€Æ¦FDQÔµ¯ÒÒRÖ­_Ïd—›/V®ÔŸ[UÕ›Ÿ_qƒfÓæÍ 0€… ²}Ç ù®(J{Ó.‰yQEQ Gã”ú{X!×LHqž‡ýµÍì©‹—U|’F4Ã%%LÐápŒOVïB$z—‡ðy$dYN ¸£vƒ?üµ5µÔÔÔ ˆÿûsÔÖÔèÎ]UU¨­­Er¹9ãŒ38ýŒqÄᇳhÑ¢´EWä8Ç{ ïÏ›ÇW[¾båÊ/),(Àíñrúi§sÚég$¯[LCc#ç{.W^yS§žOKK˜}ûö°¿ºAhjjbܸq,]ú)7ÿÏoñz<ää3úÄ1<ôÐì[·Žh,Êq#Fÿ÷—¿°oß~êëë5rïðÿyû?ÌyñEöìÞ•–Dü}€lþ›ß×êýÍÞ1 ñÁpÛm·ÑÒÒBCCwÜq§Ÿ~:~ø!7Üp»wïæw¿ûnÚ}ûí·¹õÖ[Ó|R»ví ‰àõzõˆ÷ DQà™gžaðàÃ9òÈ!D"ìqŽ?~ýû÷7”z›šš(,(Ð ×ÕÕpóonâ‰'žä?ïü‡ÚšZ®¹f/¼0‡ƒä77ÿ>ð3fÌàî»ïNÛ`;‡2™…³)×Y8ù]ÇéΤÑ;wòøãSXXÈÆ¹üòËu<|ýõ×u_©ªªôêÕ‹>ø€§žzJÇÓ”«â´ÓNÓŸ'I›6mâÁä³Ï>ã†nàÆo¤ªªªU§•¤¥FÓxì±Ç5j$|0ÍÍÍ<üðÜ|ÊÉôèÞ½Ò4ºÚ.¹øb®¿á—¬\¹’½{öR_ŸÀëk¯¹†Gÿ÷)/¯ ®¶–oü%ãÆã­·ßæÜsÎA’$¦O¿…üüü6Œ4}ž"1…Šbw_v-…h\!/àfñšjîùçjªª ¬[>{bhšJe¯žüþù­ºb̼r(`?#L™ŸysßCQT&uv2ˆÊ¸û»Uû¦Î êp²I9iedÖµÇÉó;;J²£QV¾±5kÖè’}4eèСƒAb±Ë—/§GTVVêRýþýûéÞ½»>Žp81[VV–qlóæ¾KYi}úôá?ÿùwßóGî9“¿ú*_½Gy„@ À믿ʙ'‹ÅtFìr¹Ø·o.—‹ÂÂBTUeûöíTUUáv»Ùºu+6n¤²gOú÷ïÏ–­[©êÕ UU‘$‰­Û¶Ñ³GV÷sóÕæM,^ô1WM»V޳iyef èÊzØ™îiG¾4 °mÛ6vìØAee%½zõJš7öîÝK=Ò®IYöêêêA×VwìØA=Òæ¸±±‘eË–Q^^Ξ={8úè£ÓÒºÞ|ã5ô@EEs^|‘Ç{œ?ß?O=ý4Š"3kæLÜn7o¾ù:SÎ9¦¦&Ýœ¬ª*>Ÿ½{÷±jÕ—ôïßUU©¬¬D”D¾Úü_}µ…>}úлw•N{Ÿ¾Œ’’búõë—ÆDÝn7›6ndÙgK9|Èâ±8¢”ÀyEÕÄDj§¢(}"s>ÚÎ'_‹xAöÔ4Ñ£¼ˆ¢ü»·má†URQ Wðûý,ûüsN2EEEºÓëõ²dñ¢ÌÝ_4MÃív3jäȤ¤’°v777SUU…,ËÉ ðЫW/"‘‚ 0lرzCUUÓª¥È²ÌСCEQw€G"ÑäuÃÒ® ‡Ãäçç3aÂxýÜT^_<×ýY‚ 0bĈ„?7ÑÍh#;N7µiš†ÇãáÄÑ£QU•H$@0 //”ÆDíæ#fk Ê6GÓ®¯(›qZ™ÄÌ‚Kìú³ºJótšGhfŠÓ4C9¤Ý9©­aÆ¥™jÝnwÕ4 ¿ßŸˆV4¬* ¡ÑÒÒÂi§F0dÜ„ Lž4‰§ž|‚X,–1 =åƒêÖ­›îèÓ§ñxY–©¬¬Ôé#‹Ñ÷ >Äbqýü¾D<ïô”«ß­Ì­™ü‰NÖÌÈ\jå×ÿ>ÒhUUUUUixêr¹Ò˜hk†PRR’vž={¶Lòòò=z4€^K S׿æf.˜:•` Àñ£GséÅóЃêŒ3Œž¾~¢(‰D(..b„ iû½×8è ƒ8p Ž×)ÇèÑ' ( Ñh4s´Êü“,ï'‚¦ LjËqb1™šê8£ú{X¹yu ¡€‡PÀË—«6ðÓ‘t/öÓ‰#ŠB¢˜“<ÒÖƒ ‡Ãí~Kqâ„iWCU㺔›éüÖžbb­<2]'Š"Š¢èyC­ŸÝ–Z_ktLUU=x¤õ±¶ùG­$ýxê™èæ9A0g¶V}YÍ$p³£ÍʉÄnFìNûÈšP°«Øñ/Y•3z†Ucc« Ô¨L™ÓM/ÍT×Ôpì°a,úx!=zô &rÕÈÜ8•tßú~­}Nñx<Íןb¢©±´+Œ"$Ysàï³Òä¬|Ófѹf!#³½Q€QÛŽ ?µƒ§v,v„€vs”ÄÛ}û÷3nüxÌŸOŸ>½ijnÖ[ÑŒÑ~ŸÀãXi½Ÿ›Í™ªiˆÉFð‰"önTÀ#ˆˆ’ˆˆÆå'÷â×wRPØ›;÷2v —ìNSDFý>ZFñ#µ`b4á™$%§ÚŠ|.+IÏn{ÕT¾YV ‘ÓŽ¿ÈhN:RÁîq»ßíŒÓª¦“çf«¹fÝÛY×d3·)ËN<žÐ:UU¥¡¡ªªª„V#ˆ"šª!‰R»:”NæÜ–° imúÚÍßíŒ9¶›Vc÷ùNñðûJ£N®ÏöÜv XKäA«ª-‰×}êC,)Ø¥Š"´MS±3³²­¦ÑÙÚ­´u¯TQñJÞ´{‰L;ÓÏŒ¿­ãèþùœ?¶ÍQ@ÏiÕ²©lÔŽý®,#÷MC<g@ÿ¼ûî;lßþ5••½¾7ï–ƒoTU£¹© UQ¡ôˆAHIË‚À+–Ó­´—$ëäç·ÆYUÓ(++Ã%¹øìÓ¥}̱9œÎAV ¨ -M͉^»I¼N•ÏAYþùçô¬¬Ìh™°# :…Ð@UL´u™Á ÏŠÆd*põé½è]J0OMMëõ¢›ví¦¿õušWfǧ‘M?R;г“fgÑE¡[Y'ÏóÞ£©©)G=9pÈÄw¡¼;’áûédŸ¡ËËË>bÄßOÊ`bªÎ†F5UÅ0áä“Yºt K?YB®«w²Ák·ÛMsS7m̈ע(Ò½¢;G}4‘Tç"¾t;Z«að[òÙ™º¿´çБqH qE#W2ºütã®Ö…éwlyÎÕ4ž=+é?` ­BÊ9ÈAÛ"QØ[@…Ì^w~§îëñx9~ô‰lÚ¸šš<.w‡ÇܽG)‡ >œx›²Ÿ†ŒÔ2Lp6Y™¤'ÌËN¤pÛ'Sx¼Ýg›gU+¶­†lç|§ÌÝi}Z;yGïiGãï a)Ûr4š£Ñ(zzYg6iër15í:íRŸ ¡³ÉítªØ‘¼ÌÍ Á3U^1ÚDî™iNœJÀFšˆÄo;Z€UY@£Ät³ˆQ§oûâÆ8fG3³ÒB­æ×N!ñŒ›¢ÁÚ —Á3£+Æ£ÑæhÔœF»"€.kÔŽ´åÔömU—ÒnÕ+)ÞiO+äͶ¸@¶‰ÞUXÀn2¶Eì<×î9Nç¢#s–í1»Åœ °ÛN,›Ž,vMevq+›u´ë®qBON×&G£ß" €†ã :3Ü7ÓlíT¨êHæïd°‘M@ÈÒÈmÇ„`W “eÚrŽ9ÈETÕD)Ñt^ËP¾²3i- §S‰ë9ÈA–x­¨Ši:K&¼îÊ`ºlxŒS~`ª‘™Yì${[qõŽdÐôšOöÌVf"+ÓBÛûŠ’ÄÆõëX´ècš›š…Œsü4ˆÏëõRT\œÄA­¸®iPP˜Ï1G#/?EQ,ƒž²¥ÑT´î®];™ÿá쯮NÔ$ÍátâµÏ¨Èà÷D^faaÇ3ÀŸVãÜ gjÿ‚ͲšftÑ–ÙýÍee¾±ª0adŸ7bHF÷2bbf̯]µ–6Ïï¨ÿ%mÃÙ¹“O?ý”9‰²òŠ2äè(6!ÊãÍ7^eÈ‘GQYÙËð¼Ë—±jÕ—Œ>q ---™fGi4¥!456²pÁ†u4‡ ><Á¸sK• åñÒK/0fì8½[&ødÉbÖ¬]ÍÈ‘£hnn¶…³™ög³c–q <ʉ[ШænvQ»&A6= Í´X;c°bšv#$}—ËŦèÙ³’ƒúöûVÌ9øïŸÏ¯7ÖŽE£x¼Þ„©+ÙMcÈ‘G±~ÝÚ´|53üÍ–FEA`ß¾½ÄãqŽ6<·89ȼ^/ÑhUQe׋ª(ˆ’„£ª*ÆàŸÿø{Z;½`­ÇÌüŸFôcæ+ͤœ™]—[µî:“i´}ñÂÂÂ4V6ÏêŒñ…í§@Mv0h­ä>¹ÝO’ôŸ¯—šêj*++¹çž{p¹\é½H5--mFUUB¡>Ÿ/­‘qö40ã¦|£ªªæÖ)÷É ¯5MÓcX<^/Û¶m£¸¤„'žx—ÛmîÁ‚ PTT”±/oÛóœìßf±2fŠíƒFÒ«$Ix½^Ãh0³¶2f‘e>ŸI’ÆÆFn¿ýŠ‹‹õÉn»@í gXD«¢ fï`vqø¶ñ‚´ŒÍ,jÍ )ì<ÓŽ ÐQ¥õ3ÍÆd6~³1Ù‰ü¶n÷Ý3NëcmßÙêx¦qjÉ_}õ“&Oæª_ü‚… p×]wáõyÓq´ÕŠŠŠxþù˜7oyy!CüµK£v׺#kÔ‘ë­¢:­îë„^~h4Ú–I´ýî¯T-¡~¹jçŸ>¿ýíÿðüóÿâá‡Æç÷¡Ñªè» ΆÃaf̸¢¢¢v 8³pjŒëvx—Ñ=[k¤™Ü)mŸ•‘‘J’D]]7nLc¦©†ØŠ¢¤I ©&Ùñx<í¸¦¡“e·ÛÍÚu먮® òî{ï"¹ÜD£Q]3MB6Ûè2-²Yòu&âiûi;‘vÓ ¬r­ÜlÏD VLÉ꞉!Ãofs™)ôÜŠ©Ú}®]6ÛÌÖÛè½¶oßÎ;ï¼CmmmÚ¹K–,aÉ’%içoݺ•wÞy‡•+W¦_½z5ï¿ÿ>±X,s ^òïœ9s¸þúë¸õÖ[™={6û÷ïgÓ¦MÉsÚo.·‡/V~Áú D)­‰wŠãI3Zê{ë ¡µ5Å®€b´› ß&]ÈÑhúqQÙ²e ÿþ÷¿Ù¶m¢(êø±zõjÞyç6oÞœ¶çüñÇÌ›7úúzýX+㊜øþâœ9üþ÷·qóÍÿÃìÙ³Y¿~=»wíNh¬Á¢©¦õ²,Fyçwp¹=:Ÿ‘e¹]ñY–õ 'BŸ]!!ÓÞb6çƒï¾û./¾ô2ÿüç?Ù³{.— Aˆ¢ˆ(Äâ1Âáˆnž…D„V8&øqI.UÅãñ ¹ÜÜ;ë^~òÓŸpúé§³ÿ~ (,,ÄãñÐÜÜŒªªÑØØh(aX™¾ÛMZ·+5›UGÉäûuª!8I^¶“ßÛ¾ƒQ VW”“s:½ëµÝºu+·Ür }ûöeΜ9Üÿý„B!ž}öY-Z„ÛífÅŠüüç?gñâÅ<öØc 8 60aÂ.¼ðBæÎ˳Ï>K÷îÝ™;w.wÝuW{ÿª‹F¹é׿BU5êq¹\<ðÀDÂá„ôÙ¦¤YêZ¯×KA~.—¢¢BdY!ãv»ñù|ú³ZZZühZBXõz=ˆ¢¤÷ˆt’óiw=í–ûë*uRJï‡N£‚ °gÏæÌ™ÃóÏ?ÏsÏ=‡(мüòË|ðÁ”––òÜsÏqÑE1nÜ8~ÿûßÓÐÐ@^^³gÏæž{î¡[·niÏE‘H¸…Ûn» E–i¨¯'/âᇦ¹©U‘ 5RAÈÏÏOŒ.¡¼¼„™Øã! %ÏUii  EQ×`Õ ©b-ÿè´Ñ‰ht#¯×KAA¾nËL1ÑçŸqãÇ3á”SY»n=¥eå\ré¥üú¦›uü üøÂ ©­­¥  €wßˈ‘£¸êWsÚégðî»ïðúopå•WqÇwгgO¶lÙÊu×^ˈÇñ‡{îAEº•–qêi§Ó”¬mØ: ×JóÈTg×Lƒ1Ó2­ mu•¶Y+Sa¦ Æêx¦Š/m¥+£È·LÒ˜Qt¦çÅLc4“Ðíh#NL¯F÷KÝó‰'žàg?ûwÜq#FŒà…^@Ó4æÏŸÏO<Á£>ÊÒ¥Kxã78ÿüó¹å–[x衇xá…xî¹ç¸ï¾û˜5kªª²páÂö} “~¤X,†¢(‚A<±h·Û¥WHÊTã/ðÒ+/sÖYg1jÔ ,^¼„@ @ss3—\r)ÃGŒà®»ï& 1sæ½,^¼˜’n¥¬\ù%·ß~‡¾ù8Åi£R‰™æòÛ ÑL¥âÌèá‡N£ªª2|øpþò—¿t Æ 'œÀ<ÀôéÓ¹õÖ[yöÙgX´h<ðwÞy'¡Pˆ+VÐÞÌ¢áóû‰E#¨šJ0ÄívFðx<‰Ò ŒIUU¼>Ó§ßÊÈQÇsã¯~¥k»»wïáüó§2|Äzø|>^¯—Ùÿü''ŽÃE_L]]RòÞ™æØ(Õhϰ"ðÒ° ƒªjÌ´šF0dÁÂ…¼ûî»,\°€ÕkVsóÍ¿åµ×^cÍšµ\rñE<òÈ#Üzë­<ùäSÜ|óoxèá‡yá…çÑ4aÇcø°a\øãsÖY“™0a_ý5ÍÍÍ\qÅÏøãïáÌ3'2vìXÆŒËIcÇâv»0r ÓªQÔ—“:“™j8:õe258ñ™™*¬¤Q»¾E³H5;¦»þ®læ/Û¹îhàÙ¶mÛ8üðÃ8ì°ÃxóÍ7‰Åbi½ ½^/_}õW_}53fÌ`éÒ¥lܸ‘믿€ÆÆFÊË˨¬¬l×À[DEá³O#+íØeY¦ªw\n·'Ñölö ϱxñf̘ÁGóçså•Wqþùç1ù¬³¹á†ëyá…9\wݵ\}õ4öíÛÏ+¯¼Âôé·àr¹ˆÅbY¯G¶õy»šFíjÁ9= =¦p>Å´dY¦[·nú¹³gÏæ¼óÎàœsÎ᪫®¢  ¯×ËñÇŸ®I"ÑH„%/̸±xŒ¾}ûáv¹Ûá|qq1O<ñ$µµµ,ýd ³fÍbÍš5ÜqçÜpÃõŒ{—_~ ~LqqsæÌáµW_eõêÕD"‘DQ KQg#wTÆÌ ¶]ÙÈãñ°sçNæÎ›Ç)§žJKK˜šš]R>ï¼óhinfø°a¼õÖÛºÙ¶_¿þœtÒI444$ÌÁ‘‘H˜h4Êa‡ÊáG Tê{ 456pËôéÔÕÖˆ&4A"³âÅfEL!))hU¦ÊLJ2Ú4¬6#ÂJã0Ë74§Yª‘Fg6»3¶Ñ3­Æbv]ëÿ½^/[¶l!??Ÿc=MÓØ¸q#cÇŽMóm å¡(rúž"€ª(¸Ü.YNSãjnnæÜsÎAE†=ŠXÒOºä“Oصk÷Þw;w~”t+eÊ”³9ê<ûÌÓ~ÄvïÚ‰Çã±U¾ÎiŠš“ìJµƒ79mmëöy­Ÿsçw ™8q";vì`èС”””ðÁPSSC÷îÝÓ®U5P^~†9IÄɈ¢”PÌÚ¼³äróù²Ï™4y²,ó³ŸýŒ·Þ~€ R_WÏô[g°mÛ6Î=÷\Ö¬]ËУ†RZVΰPEQÌT-i7“fi6§íÖ6Ñ)<ãºdP5•üäÄ”W$&-?/“NË3O?¦iº©K”þ—¢¢"=È¢°°ÚÚZâñ±h”å+VP•`0ˆ?BUÕ„džÜIdYAD‚Á ¯½úo†žVxØÌfýM´Q3’xì´Ú²[ËÓªªÝŠvkŽÍ£U O#³œ™/,Û¯f›£Õ\™Sk8ôÐC™;w.çž{.}ôƒÆëõêA<‘H„=zðøãsÜqÇqúé§3dȦM›ÆW\Aii)«V­â°ÃcýúõŒ9’ 60zTVâ÷ùˆÇã„“u~~>---H’„,Ë×9 BrsJœÓ¿®»öZN=í4V¯ú—ËE]m /¾ô2>ò0o¾ù'Ÿ|2Á`Ðv*B¶~Ôo‹F­ªÐäh4½ ‡(ŠTTTè¾uQLXKî»ï>ÈùçŸ@8æ“O>áŽ;î`îܹ¬Y³¦#•$‰Ê^½ƒD¢Q¢Ñ(’(’ŸŸO}C.IBQÒD-‘EïÞ½Y¼h1gž9‘—_~…h4a5|Øa̘‘0ù®X¾Œ²²2–¯XÁÚuët/IRZºL¦µµš;>z£ë }¤)ÈÏÏç‰'ŸdÊ”)L˜0žSO=…Ñ£OäAƒøÑ™™|ÖÙüû߯ê“" UÕhni¡¸¤?úÑŒ}"×]w=ÍÍÍ4551aü8~ñ‹«¹wÖ,Š‹‹iinÖi<é7D‰_ýê×´´´t(8ÅNdžo² ƒïLóhW½Ïwí^NaÚ´i¼ýöÛL:•½{÷2eÊÎ=÷\Î?ÿ|.¼ðB&MšÀ%—\«¯¾ÊOúS¦M›Æ/ùKý·ß~;çž{.ýúõ㨣ŽÒ!Z3S¯ÇÃ>Èûï¿OIq1ªªrÛm¿OFíÏA"*÷@d{ŠÁß6ãVýßG9å”S¸é77SSSÃý÷ÿ™“'Œçêi×0qÒDî¸ãάÌè]½&E£]‡ßWE‘·ß~›ÓO?>úˆË.» ·ÛÍ}÷ÝÇÝwßÍüùó™4i=ô~¿Ÿ‰'röÙgsÁ …Ú ˆqYÆårñÇ?þ‘¥Ÿ,¥¤¤„p8Ìï~w {vï6ôû×ÔÔpùe—±~ÃN:i,ùë_uœøõ¯ÍwÝÅ)§œÂŒÛ~Ï®]»sâ‰ôïß1cÆðë›n"Zºw¾‰¹¦Lž¨Ý3såÄbÑ4®\]]­T*{ö@’\ìÞ½Y–u©¤¥¥ŸÏ—Æ …¨©©AE~??ùÉO¹ÿþûèÕ«;wîÄår%iK @MÓˆF£¸\.Ý—ÓÚô`%¥ÙÄ;Ú4X|>󿾇¢¨L:ël4MM Ã¦ÁNÆÍ;;%®zcï¶Çâñ8û÷ï§¢¢"øjkkÑ4ââb}M£Ñ(ÕÕÕäåå‘——§O Œ)_ikm`ÞÜw)+-£ªªŠeË–qÓonæÊŸÿœyï¿O^^wÞq;n·›7Þx3'NNóѦž)‚;‡ñûý¸ÝnššštwJAA $£v½444àóùô€#—ËÍW›7±xÑÇ\5íÚ ?»9ÿ6h4[Üü¡Ò¨ 455ÑÐÐ@0¤©©‰ž={ÒÒÒ‚,Ëz¶D ÐkèVWW#Ë2eeeíÌÇo¾ñ ¤¬´” rûwpíµ×ðâ‹/1pànúõ¯E‘·Þzƒ)çœGSS“ ”21ÇâqöìÞ­G{½^\.TWWSRRB(BQ$IbçÎ]~ ò óà‡Õ>࿼^/K/Ê\"0uRii©Nx©ÜNUSVV¦û{ü~šŠŸ*æ°víZž~æjkjqÜ*++‰F£”——ë¹m~¿_÷-y½‰„tUUaÞ­+›;‰p´kâ²ã‡µÊq3“8­"þ:Ú4ØÌŸ•Mã`»>R£ù°ºŸQî`¦ÿÝn7Ý»wog Lm&­ïáõzéÑ£G»ãÁ``0hPZL@C#‰pôС<úÈ#Œ9’Ë.½”Y3ÿDCC’ä"֩ɲÖ»X,†×륪ª*á.I ² ó¯H<×ÇdwC·Âi«yÿ¦iÔicï2jšF(ÒSK ô´Ç”5²íXKJJÒLÙÖ43vì?'ŸÀonº‰[§ßBmM þ@ dYFEzõê¥óMÓ’)”B¡”PÖÏïÞ½MÓPTÅrm¬JÚê2EtÛnì*´)`ÂÊÖßÔÔıÇKaaÂ~}È!ƒô‚ ©"3?„ž}]á±'%[׃ÌT¼ßÊnoÇFo×<æDzíJ©uíl©ÑïVþ#¯Þeš'£ZiLQƒšº:ªzW±vÍjB¡uõõÉØ2[Á,+·´ö¶¥Ûvt,dgr5ëIúmѨQPŽÑ:ähÔœ>ìŒ?3^k쯮æ°ÁƒY·v ÔÔÖ‚  ¨ÆÂA&üm‹×m_ëâ=NšÐuÔGêr"é9-ø+‡v(€^¬Û,,¼£³F„êD‹4’X\.ñxÄ–ödæcé씎ÜÓiýI'×c¾‰,šÈ;ñ‡9-UgÇâ@Ò<‰ðû‰Çã ¾&¨Šš4ç –xÞ%pÒ6%â›X£Îòau¤ÜdŽF;Fn‘hAA  ®r¡š4ÉÚ±˜)'VÌØÉ»ñ;ÍW,5ÒL&1³—1R›Sÿ§¨‘ÊmÄĬL!™6³ÄælBëSÇ4èÞzó V}¹’^U½QUÅZ¬ÏA’ ijl"‹%¢gãñ6è# ‰"›6-§geeÚ¦c–\Ÿ-ªªJEE@€÷ç½Ç1ÇGQäNçÀ^‡B455Q½"ŸS¯=B¥DIÂõëÖqPß~í|ñVy¼]ÙýÅnÇ0£ë,5RK³šMrËÖf׬×Õ¯¢(rÆ™gòéÒOX²xQ†æÌ9È1¨ª†?à'¨†X³fu;Ò’ÕaztïÁaƒ'‰XJÆÙÒ¨îöx9ù”SY¾üsæÒl«Ã´=Ï©ÙjÀvÚŠãÙÈt_Y–©Þ¿¿]™«äÀ–†hÓ§•2ëÚ¡Ÿli4uŽªªÔÕÕê}Isƒ®ÆëÖû«Ým³ßœh•VÁFN¯3d¤™¢3ÏD¸™*‰˜Ù¸íTÉt]¦Åh–f^³’ ÒºYGê»UnkrЙÖ³œËŽÒhÚ×&$9ø&ðÚN¥!3ækæÓ´Ë£Ì÷2;ÓuÙyq»“Ó–A9)eVo•Ûc5!v¥£Îme°Ô%Nz»¢õXG°£¾ ȶ ƒ±ÙÞ¬ÖØÎœÛí2aw~;“F»z:£ ƒÙ&šŠ]ÈÑèw—FÞÃiiH£ô)#j¦€™1{+¦Ý†‘vÜ.mÕQ¡«ÊÉ÷lî›~!­îr.´žol­³yw»ãú&Ò_œ^×ó›£Ñæh´óh´#M•HSs¾’ä 9ÈAÌôbDQÄ“¬Æ§3RQinnÊX89ÈArƒ$@UU¼^/yyù‰ÚÕ©dY¦¼¢;.É…–Ë%ËArƒä #‚€—õR…ii¸¥å[qHç 9ÈArðßÅLÁçK4ŽÐi¢…˜›ä 9ÈA,À°ÖnG´ÑŽöøëÈ33}ïºÐzõ:4¯wr:vÏÉ¥¿ØO‘ú~JÓ‚éÚ‹?ȘªE›²&ޤנù¡ÎG[ºi .»¤ƒÈX Á‚±XÝ«+$»¬U"®Yë«gÙ4²ÍO4›‡Î˜[»=…d±j»7ºjýí2PQŒã‡d§i¨Éâõm[ÆI¢@8¦QÄdÉï9O@¼.¿;Ñò+•ª ¢€(ˆ?,ACU½h\«}P„D¹Ë˜Úº ¨!#5Ú͸±Õyvruœ4 6bÔF×gÒ*í4r5Ó>Í:ÊØevfeÍ*uX×lþ:Ò4ØŠáÙ̓3+VmöžvZ+YáB[p¹\466°bÙ2êëëïöýÞ’âbŽ8ê(<^/ZŠ™ "Í1xùvÖmÙ$þ0*Åe™Ãû÷dÌ‘•x%-M3•$‰H$ÂÊåËÙ·ß÷G„„Œ…¦ipÄQGéµ[Óœ$IìܱƒÕ_~I4ýÞÓ|ïÞ½ûp𡇶+›«w—…Fûß0îïb ““ïêµÈdiE‘X,ÆŠåËéÝç 1¤Uõ÷QóH¼³ªª,Z¸€•+Vpô±Ç¶šEY²z»÷TsãO (?šú=×Äöì¯ã/¯/eE~ˆc¦è8£ª*_®\I~a!ãO=­.~?q$eu[¾ì3–/ûœ#ŽCr¹ôù$‰ÚšV¯YÍ cÆPV^ñ½¦›ê‡[ZxïÝwðmÞÌAýú!+‘‹™6œÖ£ãFe™Úš2J0™ÝÇîZo°vjšÝÛlã6G[“X¦ÂÆfµ$æÉjNÌÖ,Ó1³2Z™ÖÌÈbö~VãÈ¿ÌÞÙ '¬þO½w]m- 0øˆ!ȲÜêwÍø£© © s_òBâx«ó4MEh}Ž  µ9ç›ý$ZjšÆ¨FSSSM$> i$5ôµÛö3yÌáå‡EEѾÇ…òn…œ6ò¾Ø¸³]=íh$B}]ÃÙÆ¬§}?èïxäQG£( õuui¨.—‹­[¾bÀ€”•W$ûØò½“”97 2ê„Ø´icÂR£™h¤v̪vüqvLÄVf;³ÂÝmƒ%2™óœ6ö¶2[}73§uƒ×ÿ×Ðów­|‘v~3+ÚìÄ´kdŠÎô#Sµ™©ÕNZ+3²Õû›úgš‚AAC%"[iªù¿'ùeÀöfÐHãNšk—âò–RP>M’оŦð) @Õ´$coŽÛx15ßk×`âå¼^m}ûípQUM ükZb^ÛšÛ¢Õ· gGб€’¡Úªª­º¹Y̸€ŠšÑu0-«ß¹9$WBåh£Ö™æS£ÂÁíaçô¹]mNíhŒÎš»п ó¯Ó¶}Ù¯‡±% ý©2’ËÃîõÏÒ¸1¡n‡nú„^¥Ù{&Õ55Äe™ÂÂn¸¾" Î'X4ˆ¦ê¥ìÛü7z= ÉBÓ”ïˆËBȸ‘9]kQõùV”öïÖº…V¦ß¿FMõ€V–C’:J[3y<õŽ’ —ÕБæ–(>ïƒgM3°ê Yá‰ÎˆQpInþ²äwìkÜŽKô¢$pÅq÷ãu¾›‚†Á˜lue¡k3íÎN ’}MÂü¹N7š;²vp²IƒÉf.„$qÛ‹¤6brfïa6.³ *£À03F›ŠÎw­~%u»çSóõ+”õŸÂ®uÿ`ë_£!úLŸDÿþD‘°í_oÑøê|*~ºž>£G‚ÚmË~G¿á¡(‰ ÕöÆ£ªºÉQ–åNÌùÖ,Ù³­[·ÊË£¤¸„x<Ž$Iz°Ž,Ëlݶ•Šòr‚Á^ÆÎû¦îõM(¦š ýªí¸UUÃå’Gb¼p8Á IDATRÁ€ã[¥¿ØÑr­|¤FšT&ÿ¢Uª‰Yά“ÖGv|°™„³5Ì´>vÓ_Ìžcg­ÎqbµšÇ–ŠVÉæšM¦.¹ÈñZÖ?²Ž~£¦qhYˆðw!j2Í瞃¬(„¶nC›ù' ‡ áÄß^ËÛ¿¹‚ˆäVÐT ™Hs3~¿_O-P…p8¬k ¯¿þ:½zõbÈ!Ú‘H„@ Àš5k˜>}:¯¼ò ñxo²ES òòòðù|i›Ÿªª]ÔþÐþÆ4lØpV­ZMŸ>UzØaÌ™ó/êëêXúÙR‚Á …ùlÛö5@ƒt à)iª|ä‘Gxÿý÷QU·ÛÍ=÷ÜCQQùùùx<ž4M$ãr¹ÒÖ2uÝzndYî°ÿ« §5.‰"[vTóꇫéV࣬{ŽéÅÍ?Fu]/¼û/Î[ JÅ…!ò‚>j«ëPÕÄ=Ü.«V­bÔ¨QLž<™;v0|øpn¿ývTUÅãñèÏŠF£É¼çF.¿üòv{V4MÙLó‘Ânݺà÷ûÍçÉ–ÌeOŽÅb¬]·†ñ'MàËúÿ‹Å ¯©G\hš‚(HÄc1"Ý7"ÄÛãL¾\±†Êž½ƒˆ¢Èßþö7^zé%\ÉtœAƒq×]w!ËršÉ;e I mç²58×ÑdUDÁè»~©¶÷²ó[ëçš=ÃŽŸÎlüV÷Ȥå¶“½ @Æó™éyVã5š+'a[iǯi6F£µ²ZóL;ç=ÓÎZ¥àhš†"Gñ"^õkª~w#êCpòÕk]{-“/¿‚³N>cþ4“/ššˆ¡2ˆÒ &â=÷<¡³@ÐÐ4…BŠŠŠtb¯®®æÒK/åÔSOåƒ>Ð7‡¼¼<¾üòK~õ«_q饗rá…R__(Š¶ÆŸnšÔ,5;÷QU•©çM¥¸¨˜mÛ¾F”D=ôPþýÚ+þ{gU™­ýß9§ÆT¥2• J a228 "JsPш}»°íFh•¾WáÚ®n¯vôb!Íífé¶}¿þZ4 *ÝHëE”Y”yª*Uuêœsÿ¨J‘„Ô°uïZY+©œ¡Þ}Þóýì½ÍfRR“q:œœ?_Îâ&111¸É Þ{ï=>ùä¶oßÎÛo¿ÍË/¿Lrrr—þÈ_~ù%·ÝvwÝu'Nœ@¯×SWWÇO<Á¬Y³Ø´i¢(¢×ëùõ¯ÍôéÓY·n:.¸™Fš‡Çì¤k»Ÿ×Ð⢼ÎÁ÷ßÈÔ¹秃¦`5ñØ‚ñ¼ö“[i¬k =)޲ªVŒ±‹áÓÜÜLII [¶láý÷ß§´´”òòr ›6mbÆŒüä'?Áh4²víZvíÚŬY³Ø·o+V¬ ¤¤„5kÖ`4Y¿~=Ó¦McÆ èt:ôz=;vì`æÌ™,Y²„ºº:L&ß|ó k×®eÊ”)|ðÁètº Lz±L¢S¦‘äÛîn÷wKÍbÛçyÿÜk<0e Ížj ’™j×Ifÿ€:ék6í_Š(IÁ‚)‚ ÒÚÚÊK/½ÄÛo¿ÍöíÛÙ±c7Ýtõõõ,[¶Œ©S§òüóÏ£×ëY±bEÐÈ4 ¬_¿ž3gÎpüøqæÍ›Çüùó9uêTP)GõB"1ç‘v?&’çsµç‘ö$“Hò '“H‹8Ôg߇pÚ¬™Ô._Š{éãŒxôQEÁëñ‘—G᫯òÕͳ1.]†1+}jÚZÛE“ÉÄùóçyçwغu+o¾ù&¯¿þzüñÌ3ÏðØcñç?ÿ™×_—Ë…ÉdÂ`0P]]ÍÿøG^|ñE¦L™ÂÊ•+ƒŠ4Ò÷ïjLaŒîȆMǪª(ŠÂ¿þðG¤¤¤Q]UÇëe̘1Xã-8ÚœTU×ðÄãKÉÎÎÆëõvaùþå/¡¤¤$ÐÙIŸ>}HJJÂëõ ‹Õ«W³zõj–,YÂÊ•+X·n6›ÒÒRt:¢(²qãF}ôƒ7b4ƒðy8yQªŽîçÅ[ŒüÇò[xä–ANP~P^^N||âÃ?díÚµ<ñÄã¬_¿ž—^ú%åbõêgX´h%%%ìܹ“©S§âóÉ”––‡Çãá¯ý+.—3q‡¢ª†„#’bÙœ¢/eã‹D„ê1Î)t¶!“ۻCµ¡ˆ:Ñ’z›ÛØõ˜ž¿s,¦XHÑü-ÙHø'(ÄÞ’zò´ýŠT¨„¼^k^QÀg!Õh¢|ófÜC†¡ àõz°Ú9üû-ôQD5Й­H¢ˆ,{immaðàB~ö³ÕÁkWVV°té2rss))y„ŒŒ î¿ÿ>òòòðx<€Ÿ%ûÕW_ ­º@š‰Ú­2Sø9ø|rX«FQ|>_”ŠÔ¯[ZZxå?MQÑ`dÙ‹Õ,Ëðé¾±ÛíŒ9§ÓÙ%Þ9yò$þô§?1cÆLÌf3 õèõzDÑŸ«h4hii ïp8P…‚‚6nü?TVVr÷Ý÷pèÐ!l¶x&OžÄÂ… ©¬¬Ä`0àñ¸#ÆÂ|"þ’oB8H×/·ÎÅLF‰£§ªøŸœbÆøA8=^Ú=2UUu¤'™é—aã©'ãvËx}6«…—¶îåÔù ú§"Ë2­­-Üxã,_¾œåË—3wî\zèA’’™6m*K–,¡¶¶EQhkkÅhì`³ve¬&$$0~ü8î¸ãªªª0™L¸Ý.ž|r9)))¬ZµŠ—_þ%³gÏF–½]ÞEQðùä.³êUC2:Ö‘Ï'GÅ;hlj$-5ÆÆt&‚ŒqÌt,cÓžÕ,™þ¯~ò8Ãóe¿ —Ò‚äÑo³ÑÒÜŒ×ëA–e***¸÷Þ{ƒ{caa!Ï>û,óçßÉܹ·±dÉ~õ«_ÑÖæÀf³Ñ§OÞ|óMŽ?Æ~ô¯]º”‘Ï>‹%%•#oíàü¶mL}î9Üë×ã-‚ûÜß° y ŸÏŸËW[[ @SS#V«…ÊÊJ=ô ¿üåËäääPUUÅðáÃq:8N²³³Ù½{7O?ý4û÷ïçþûïI~â=áIZ”é@^å¾ú :½„ŇÛíáСзo_22Òèׯ/Øö_H’Ä!Cpµ»‘ÖÖî»ï>>ÌâÅ‹±Ùâihhä©§V¡ªuuu¤¥¥SXXÈwÞ‰¢(Œ?ŽÜÜþlÛöGÞ{¯«ÕÊàÁƒñxÜ,_¾œõë×söì9™>}EEE´··‡õÖ5¿¦Œ:xa9¨hÀ€~)|}®…Y‰Ôœ«fÁôB]ŸE»Ë‰*û8\VÏ{ÏÓ7ÅÌú-{ùý³óÞ«ßP®®® ÜCaþüù¬[·ŽŸþô§,[¶Œ_|‘¶6#GŽ °°ššÚ ¹¨©© €¶¶VV®\Á† 8uêÍÍÍÌœ9‹¼¼<Ö¬YKrr••UÜ~ûí´´´t1Lêëzd¾Æ²–"n‚ ÐØØ@¿¾9|yè )))dfØ™^p™gþ{Sí3§ÿ“4¹ªikuPYUɰ!Ã8sæ Š¢`4yíµß~7P[[Ë¢E‹6l|ð!§N•±gÏ pûísY¼øá@ŒÙÄ Aƒ˜ï !¨7…Â}¯X:ÙDC¼ Gˆé ,VyôÆ“ëmw—hh¡HA—R€#Ò½DQÄåtÒÐPO^þ@ÚÝîÈr‘L8š>ÃqüeêŸþÿäœ:Žw÷^ú.¸ —NÇÁ³e|}ú¤Óg¹áá‡Ñmù=Ò[oQñþ§4ÉŸ’2VÅ6‘êêròó¢ª* Ô×7 Ë2yyydffR\<šÜÜâãã™7o©©©\wÝu³oß>úõËá®»îdüøqÜ|óÍx½Þ˜Ó§O#!!¤¤$&L˜€ÕjE–e²²²5jƒ &0iÒD4McÔ¨QèõzæÎ˘1c0MLœè?Ïëõ0qâ233/’‰^¯ãØÑ#ddd`±ZƒF©N§£¢¢³9ŽÔ´4|²U(á‹/>gøˆ´´4‘ššF}CnÙI–µ€\ã ¥ÞH[{3.W{𜢢a|yð˜?ˆŠŠ òóó³ÙÌðá#˜4i"mmmÌ™s+©©)Áµ0aÂ, v»)S&3eÊ”` ͸qcIII%##ƒü`V«%*Ö» ¸ÛÛ9wö,yùù(Šâ—EyyïÚ¨õv wL¬5o£©µÎs‰å¾Ñüÿ»®¾Î(‰&]$–†ì—Ru)ÚuÑ[ƒ*š–{=Ávªê¯;«ªáï©7šh<½¼©%|:}=‡¿ÐS”“Mû¿¿À ;Aúª‘X’ÀQ¯ÒÐPÏ/~ñ BdŸÑîrÒîr-àyÈ^/G7Íž…ÛíÆétà l¢1±¸ü–C„c2é(”æZª¢0nÜvïÙEœ9Ž9·Ì!++ I’P•Ûn™Ã{ï¿ÇŸAnN.Ùö,\ù ¸þzvíÚÕã¥[š›ð¸Ý~OYÓp´µÙPå\Ng—ÏÄ€œä½Ó±B¤5ÍžÐ鸎JlzI`Ï?¾áé{†# òçhStØl dÛ3HIQ¨kvq¾¼š)mÜ=ýzjêš0´´´°iÓ¦ï×ÐP$Š´µ¶v™‹'  EA T¸ÒT5äÜ»Öù<4 O@¡ =Î7dˆôÂÞ•R±gdóÈc?Äd2!Ë>Œ=qf3:I$==5 ¸ýhTmm=Ù}ìüý³Ï¹áÝ´µ¶°nݺOQ£¡¾Q’üsé¶·»\ÍÏ¡Ää…™«.V’F”>È%]+œGmÃìË=¯Ë]<"V/ðRäØåÔ›’~Ñ–ä‹¢þç0Ž/ľ"Yá²»•„ìTû9Yy÷·v•ÿIéß’tøK’RÒ‘—&PSó%ú~2Cž˜MjNm5GÐ[ Ñë­ÔÖÔôøNv@¥é,Ýåíq»éÛ·oPÉŠM4¦ª<i¸÷7àEDº¶  &M˜ÈТ!ˆ¢ˆÙlÆh4b2QT£ÉÈ‚»àt80›Í˜ÌfLF#¢ àv»ƒqá‹¡E}Ïk­§øn¨˜o§Ïµ2 ¹Î„N×RUÔ.E TU垸kJjš(°K|}º‰}GOãòª¨èX<5Y7äàv»0ü9ž¢ P[SÝãÞ ×ë»®ÇÎsé)--™„2î{8Öÿì#4;åžF2@¼/uõ͘LÐü¥›¥6ÿû'Hèõº`íaM8_^MUMŠêï£[S]Ý£Á'J¢?´Û»i~±Ä‚;Ï7jEzéÐnlñÈX!ÔH­ºz«€/çÿ¿ëÑ¥ûmA»ÿŒ9DSV1lÍá`»óµcJABÿQ_ñâ¬vr$>TÁ´1E(Ý6{“ÉHZzŸìÝKAa¡ʼÂ׈(Š”}ó V«•øx[—Ø ,Ëôïûö}‚Ñh$11 U»òe"{e¾:tÈZá ÝËþ)¯0Yèr§¿D›½O5’­ì­ü»Û›ô—ïÙ(–b±ÆHƒ¹¤’Äð#8zø0>ûû…²yW"š ¯Š¢ˆÝn纂ͷý5s5$Q`ØõÉhb»¾:‡¢^á!ŽÀôDI`üÈA ̶  ¢! à\M(\ĉcGùüÀg¨Ðü¼FÒÓÒ<¸½ÁÐeOPUK|<ÅÅ£9rø0'OïäN^©Šô:=äa·Û ,ŽðŠôûþÍïßfúK4^[4Ðn8Å‹Ç $M3òHFB´Ï%œñUéÆ0Pm´òˆív¿^OëÀ_%ÅĨÑ7|ïá¶Ë©=ŸlTÜùU5 £$P< ‰â¼Ô«†+ ø¥H‚‚ª =Eùu:C† cèð\-CQ”`,÷"DLQHJNfòÔiW<üÝŸ|iœÝq²IDATÐÃÞ§ënšERbÑÆ¿¢‰ßŲÙÇ IÆêM]ÊÃ]#œ²‰å»õFAF{Þ\3ÖyD›Ÿz)Ï¿·Ï¹ƒUx5žŒ`[4MC@͇xÕl’~·C Äç‚ÍÞ»¬ßU¹FBíªª¡(Þ«O&=ì+:MS1èõÆ«È"¿6®kãÚ¸6®KF£¤Cg2™9sú4§ËN _ׯµqm\ׯµ~èt:ª««ø_{ÕQ‚‚ñIEND®B`‚KCemu-0.5.1/doc/window-profile-2.png0000644000175000017500000021173012417262523017334 0ustar glaubitzglaubitz‰PNG  IHDR(jªJ…sRGB®Îé IDATxÚìÝw|ÅûÀñÏÕôžž@%ô‚¨tE¿vEAŠPDVlˆ‚"`Æ],ˆX±‚€”€´Ð; é½\Ûß—;î’ )$!Àóæu/î¶ÝÌìfož™]Õ„ùÿPÑ«„B!„¢}ñêUÅiZLJw¬Q&OyPJK!„BÑ n›öžðé cU•”Ã;Ö(“î@jv±”–B!„Â¥¬¼bLfKÖÕjÔùyp׸±åÊŠ-HQMxíï´''2‹¤´…B!„g N²ó‹ØµquÖoÛý }½ìA @FnÿüöŸ¾0V¥ul¢(2ôD!„BáZv~ ™¹…¤lþ+†]GbT@­Ößs,‡Õ?,¥u×Ëôõ¨´ŒjШéÊ­c&R\ft¹‘û†Ç²pÕa§Ï€Ëi6Žó„B!„†SÙ…lüký]CX w¶ñßþTR6ÿF÷þà uØFjfÿþ²äô”35žØæM¾Òˆ,øþ°Ëi¶Ï÷ µB!“Á`d÷¾Cdçæa2™ñóñ¦G—$~ùs=ƒ.íE™ÁÀ_ë¶ ÕjЧ;*•”›BÔ„í|èÙR·ÞWÍ}H)ß–«Ä!@QΠ(ÜUóWr¹lÅiÒ]L!\++3ð÷†dt:-ý{uE¥“ÉÌöÝûÈÍ+ mb BC()-ãð±“dçäQj0 F…‡§;mâñõñ:/ó]ñ‡ÎÏÇ›6 ñxyyÔKp’²wã¯ì@‡–¡xºëØw<›‡üÂòÙ7pÍcKôõ`ùì›).52ú¹åôïÕM‚!„¨µÃÉÒâ |¿z-W^Ñ×iùª¦Û¶å*f°(–3¶àdÞw«\Î6}Þw«ÝžB\ÌÁIÊž½,Ÿ}3ùEeŒq%“Z³{Ï>¾¥mãB˜ÿ忤edc2™ÈÍÎàúmè”F¯;F³…ÔÌBÞ[õŠ¢àsž)Žùvd¶(ì;–Í›ßn"4< /ϳ Röì?ÌÃÚÓ+)’wV$óý?{ññ¬\F-"¬}¦œÈÁËÓ ùÙBˆê©”òç¿ý‡¯`òœ »¼Ï§;nËr¦¥&'æFÄÛß¿ºâ Ó<9± !Dõró iÀ®Ã™¸»é9vä0³'\Ž—‡ŽioýŽEë‰NkÄWgàÙ‡’r4‹Y­áXz>Á>Ü<°¥o?-Šf‹…cÇSIÏ̦¤´µZMP ? q1ètZLFoØ‚J¥"4$ˆÌœ\,f Á~xyy’ž‘MqI):–˜ÈæD†‡ÖÖˆµÿ&£Ñ¨éWÞÂ`0Y»!­NK¿ž]ìùú}Í¿\vIjó½eO*3ßÿ •JÅÀnqÜwCwO¿¿–NíËÓ ¡!ÁdæäâåîN—Žm1™Ì>v‚̬JË è´ZB‚hF£ =+›Î Öôÿ½í(mÛ´`ý¦ÿ¸æ±%ÄFGÐ2Ò ì?‘¯·&ó™ËP!„UU-(6 ¾šÉsVØß;ª¸¼µ…ª”êZ<æ.?ÀC×´p¹¼ã燮ia_^!„sE½Wkzס "ƒ½˜:ª/Ùù%<¼ðWš‡GàááΉ£‡yvÊNdðü‡kh›˜@dl ŠKJùàÇÝÄÅD¢wÓSf4²}G Ã{ÇÓïÆ„zc0šÙ”r’~ÜA||<»RRX>ûfÌf n=J6áèõ6íNåpZ.ý®ï@ó`o Š ,ýc7»N¤HJùz%e&næ[ºuî@Ênë´Âbw<ÿ}{væÏµºO]Ú·ûór4‹Øè¢"Âøcc2÷ÝÐØ0? ‹ŠI޾ÚV‹Â_[нM8'2 xvñ:Ô*3× hMïvÝöó  ÄÀºÇYò[ íÚ$²1ù?Þ›z5^:>zòÌ…I/¯bùì›)5˜9c…E´ˆ°^p;p<7O7’·í¬² [µJ E!Ê9v‡µÕÿ]Ú‹ÉsVØ’ŠÉä9+ti¯JñƒJEu-(gPªc"cP„¢zùù$Æ$äÅèaHޛƼ%ÿÒ¶MîîîìÙˆ[.k‹›N׫w··õ^ñžî´ne­\›Ìf¶ïLaƸKˆ`Á7ÿ²vÛq.ëÃÄk»áí©gÞ—[ö@£Q³ã`:ßü±›×FŸö‘˜Ìf¦-ú–<=®?£†uàæ'—âîáF|¸µ•áÐÉ<=½()-%<Øz·•“™xx¸ÕhLbÅ|ï9’…·¥¥¥øz¹p*§½Nw:­j£™)¯þD©4j…Y.ÇßǹŸ¯cûÁtwoÁ]WwÆÇCÏâŸ÷ËÂo6òô¸þIËãþWD$D[[nR³ ñps#?¿ÈÞ‚ràDù%FfŽëWe.\º¤¶ rð !U· \ѯ§Sâœ\ѯ§ËÖ–jÇ Œæ3&¦â|Ûç¾Úôyø-ϸ¼B\ì,…ÒÒRZD`4YÜ£¥ ¾ÞHLLjƒÑLNN>BØq0ƒ„V­\žS;ÁMiÈÏÿä·M‡X½é¯íFÇ–¡äÑ%ÁZAßs4‹5ÿ'È×””™xcé&bbbÉ+Ì #§½^G^^!½­•øƒ'sðôð °°˜Øò"5«7½ƒÑL¯îíݧzuï\)­ŽùV…½Ç²(.MÃË]Ç]W[»‰-ý#?_ƒ¼ìûßm¥]›ÖœHMã†~±D„øðÆÒMœÈ1Ñ!©-?oØÅ]Ww¦GÛæ~±o/"B­\jfþøî§”O+D§×¢×*øxP\j$5§qÃ:ž± sòòå7M!Ê9ŽA)*5Ôhª–S©T.ϯgìâu{îŒ\ÔÞú!ç€JŸ¦9ʹOü¿’½(„å ŠŠiáV£fס ¾ýkÝÞ‡Y.gÆ{b4[ð÷óÅh2âçm "ŠJ ¨Õ—ç謬úuêÀàñ îï4?#·­ZMóò bût<½<‰÷`×á ôn”Êh~:ñòô¤¨¤„¸æqåÓrñðp/oA±vÓ:™Y€›››=]=ºuªò·Ä1ߟϼ£ÉBjf ¾þ—­ópsÓÛÓºeO*ÁÁAèôZrrré• ÀúljOHÀlQðtוZFÔ ¥ee4 °æ#5Û@•”–Ò¼EpyPU€J¥v EE¿NÑg,C7½Nnü"„åtåçr°Ž´Ù¸y[¥Ö8=&¥{׎öiµujµ £ÙRu€âªyÅ£¯Bh»öϧv&9}®8ýÔNkó½í½²CNèBaSXXH—8keyÿñlvÍåÅ×òø¨¾¼tïÌ|ÿ/Ò ôz=é9E4ò&*Ôܼ<ü|}(.)!##‹ðæaèõ:ÌfÞnÜ8ýëJW¡ÜÜôøúù:u˲˜-´Œ ´§ÁËË“¢¢â;…p¨<ÉÈÌ">âtÐâáÛŒ'ÓèØ²cye¿77=Š¢°qó6§ŸªòýË¿YøÍFû“»›¡ÍBˆ‹âÀ¡£Nius³v!3›-x¸Y®l>q2>í­AË?;ŽèïGY™fÖ˜´òôåÙ·™šYˆÅâÿÙ€¥Ú2ìÔFº- !D9•‹.^›“ÿs N*’·)];w(PNoK©ë[àá* q°Ôd›Bqñ(E´Ž‰`ßñš…r"§Ì¤¼pÏå¼ðÑrÝÝùæ÷ÝÜwCw&^ÛyKÖsøðQâÂý¹íŠDVm<‚¢øáëãÃÖ}itoΈ¾­X¹v/žîtL¥_§^_º•²²RšùØ+ýF£É!@ÉÁÓÓƒ´´ âš;wç2Œ„ø[»KE‡ú±aç!w%!*ðtáÄÆÍÛœÈwëÒáŒùÞ}$“¸˜(‚‚*ý^8§µ7w?EÁÏ߇»NÒ·CƒºÇóë¦Ú·aÔ°;•Ïç¿î".>žýûÓ,ÀÓ@éõ^”•e9åßd2ŸnA9žƒ‡‡Gµe(¿eBqšÚq¼‹q%“笠sÇöö÷ŽKå»xQ]€RuBlAHÅ@¥:rNBˆÓŠŠ‹IŒ>Ý‚Ø,œÿާ¦1룵LÝ—ã/eÞ’ lHIÇðÅzþ×?‘…  ;¿„}Dz9•Y@ËÁÄFGñú·[UTÆ5ý¹mH{r JHÞ{ŠOÚNó°fìÙ»ŸæöV‰BÊŒ{}ÿñl"£b)-+!¶¹?`mA‰Ž $¼y(Ÿÿ²ƒÿõoÍ”›z’‘[Äæ”TÌZEjV!-ý›×è¼ï˜ï=G²ð s¹\Y©ÁžÖÔ¬Bbãš¡(É¢ï¶RXbà–AIÜ9¢3™y%ü´áKÿÜCtLµƒÑ@ˆÿé”°€JÛ,-3: ŽŠ¨¶ å·L!Nsõ”Ž’ì­&;$U;Ýq[®Î±ªA£¦+·Ž™ÈÑS¹•fNìx³S×-[°R±¥ª.^on["{Q!ìØ•‚Á`¤]›V¸¹¹Ù§çåçsðõ¹±Ñ‘ø““Kzz&%¥¥èt:¼<=ˆ‹¶¯g6™9~2•üüLfZ­__BC‚qw·nÿ¿í»0™ÍtHjƒF£å¿»0›Í´o×N‡¢ÀÛwb¶XhŸÔÖzí*íTéé˜-fô:=¾¾>dfe¡(Ð1©-­€-[·Ð¥SûjóݶM+Üò]‘cZµÚÓ·ö5›Íœ8™F^^>&³½N‡¿¿a¡ÍìÏ@q*ß¶‰¸éõNÛ´åwûŽŒ¦Ói©I !„°òórç§ï¿á¦›ocÿ‰¬:mÃÛÿ~YÎ+¯'¯¨Ô>Ýh²ðï/KjöW-(®ZS*v÷’A…Bá¬m›D—çH:vhç4Ïßß¿JÛp\O¥Qáò»lË%%µ±OSPhïðÙ¶Lûöm+MkÖ,˜fÍ‚¶ѼÒr:&U{ί*ß%¹H€J­&22œÈÈð3–‡«ï©¸Ív휗©I !„(?—· ¤eºìâUéÙömÕú9(%kUv¸CWÉZ8¼¨=%kO/cû|¸Â¼JÖ‚â)'v!„B!.¥F3ƒ®¼ž_¾ÿ†½×i)›cЕ×Sj4×~ Ê»Ÿ]$>B!„â‚QX\Ч»ž+†]Çê–ÖiW »Ž2ƒ‰â*žRã'É !„B!DQI~^\õ¿›ë´~™ÑDQI™‹9* P„B!„µ—•[XïÛ´oѶöÉdÙOK) !„B!ΩÖ>™Ö”å³o&;+SJD!„BqNœ8~ŒwýZŠB!„BÑTh«šáíí#¥#„B!„¨w……µP–}󥔞B!„¢Þ 2¬öÊ™VB!„BˆÚòöö9cCˆŒAB!„B4 !„B!$@B!„B P„B!„õÂl6c±Xêu›Z)V!„B!DM ~øõGþ^·†ôŒtT*Í‚BèÜ¡3C&(0H!„B!DÃËÎÉæù9/›ŸGhD(m#Ú¢×ë)*,bÍÆµüôûÏL7^Ý{J€"„B!„h8Å%Å<7çyШèÑ¿ZíéPB§×a4ÉËÍcÁ¢…$µi‡···(B!„Bˆ†ñÕ·_S\ZB×>]Q«Õ”•pòøI²3²)È/ÀÏ×—+ú_NÏn=êœH€"„B!„¨–Á`àϵÑ¢M Ôjë}¶6®ÝˆÉdbÄЫèÚ± -âOÏ;g ‡TÞ¨VK`` í۷禛näúë®C¥R5zA®\¹’·Þ~›;vRXXˆ¢(defØÓœ•™Qe~\ÍB!„âbtüäqÊ eøúÛ§Å%ÄqêÄ)nºöÆz Llä6Ã&“‰ôôtV¯^Í=÷L`ôè;0™LZˆË—/çŽ1cY·n=(Š"G–B!„u`4Zëò:½Î>-¸Y0ùùù8xÀ>-;'›_ÿXÍ£O?ΟkÿªÓwÕ[/Ç“ÉÄñãÇù曥̙;—U?üÀ;ï¼Ëĉ­ßxó-þïÿäÞI“ð÷÷—#K!„Bˆ:ðòò ´¤/o/<¼<ðñõaùª´j™ÀÆ-›8tô0Z­£ÑH^~^¾«AZP´Z-±±±<ôÐÿ1kÖ |ùÕ—Zˆ»víà)S*'Y™Ò…K!„Bˆ  ÇÏ×—Œ4ç:tHXÉÛ·²âÇ•U&:vëH‡nèÔ¡é(Ž®¿î:öï?Ш…X\\\íyÉ%„B!ÄYP«Õ„6 ãðþÃۧǶŒ¥÷¥½é5  mðòçоCtéЙب˜:}×9»‹—ã`ôÕ«W³xñ‡lÞ²™ÌÌ,E!#ý¼ñÆ›üüË/=z€èèh† ̤I v¹Ýª>W7HþLÊÊÊøø“OX¶l)){(,,$88˜¾}úpï½÷Ò¡C{9z…B!ÄçËo¿bß}7 &y}2í:·³˜÷ðò ¤¸„)À coSçïjðeéÒohÑ"Þåü3f²`áB—ó’·nå–[n%33ÓizJJ )))|þÅ|ñùçtìØ¡ÁwJjj*·Ü:’;vTšþõ7ß°lùr^}e.#GŽ”#X!„B\0~Zý3ËW­`àˆÄ¶Œåçe?³eý‚B‚ @Q ó IOK'2<’§¦M'À? Îß× ]¼Ìf3‡æ•W^eê´iÜxÃ.—]°p!ýû÷gÅòå9|È>>$//Q£F“™™IÇŽøú«/9zä0Gæ«/—о}éééŒ=šüü|ûö*Ž/±}>›q'F£‘ÛoÅŽ;0`K¿ùšƒös*-•Mÿå¦`±Xø¿‡®À!„Bq¾Z³~-/ù„K®¸„„Ö æ’‘–AÛÖméÛ­nè1‰ŠcòÝ÷ñÂSÏUpõØ‚âêy(6Cæî»ïr9¯¿~|óõW•îüÁ⍦¦’˜˜Èw+V8%¹üòËéÑ£ fß¾},þðCîŸ<¹ÁvÌ—_~ÅÖm۸ꪫXüÁûNÏt‰‹‹ãÉéÓñ÷÷gÆŒ™¼ñæ[¼ñúB9š…B!Äym˶-¼ûÑ{tëÛö]ÚS_ÀÊ/WÇ#SF§Õ5È÷6Ø]¼BBB¸ì²Ëxã×ùôÓOÐé\gࡇrù`—Ÿ~ú€GyÄå@wooo}ä‘òejгô[k7µx ÊNÞ~Ûm¬]»VŽf!„Bq^Û³o/ Þ^Hëö­éÚ»+ÅEÅ|ÿõ÷„…ð÷>Ø`Á 4ÐsPj£SÇŽ.§ïÝ»€¾}ûT¹®mÞž={tÙºm 2Ä>ÍöàÇŠÿŸ:uJŽh!„BqÞ:vü8/ÏŸCLËXú^Ñ£ÁÈKÀ]çΣ÷?‚»»{ƒ~¿ö\€···ËéT݇-00ÐiÙ†’›› XÇÖTÇh4ÊQ-„B!ÎK§ÒOñ«³hތˆ_†ÙdæÇoÄPjàÙi3ñõñið4h›jáøøø››KNN!!®Ç·ää䨗mH^^^äåå±ßÞ3LB!„BœJËJùgÃ:Žž8@dó¢"¢Xôá;xûz3pÄ@~[õyÙyÌœú4’¶& $$$°qãFþù箹æ—ˬYcïѪU«MKëÖ­Ù°akÖ¬aĈrD !„BˆóÖkþäÓ/?Ãd6áè^§çßäÉËÉÃÍÍëF]‡N¯ã¯Ÿÿâä‘“L}ð1š…5ZúÔMµà†µŽ÷xyÎ\JJJ*Í/**bÎܹNË6”«Ëƒ’g¿Daa¡ÕB!„â¼ôý/«xÿ“ §÷e½Iê’D«ö­èÚ»+ÝûvG«×òý×ß³æ—5ìݹ—'M¡E|‹FMc“ PÆÜqa¡¡ìÞ½›W_ßþIQQEEEüñÇŒ¸újöìÙCóæÍsÇ š–Ñ£GѲE RRR2tË—/'33³ÙL~~>É[·òúëopùWÈQ/„B!š¤”}{øü«/hßµ=ÑñÑh4ûž|ü|èÒ« f³™]ÿíâþ»ï£]›vžÎ&ÛÅËßߟ>ú[nIrr2×]C¥e‚ƒƒùøãðõõmдxzzòùçŸqë­#IIIaÜø;åB!„ç•ϾúœæÍñð'3=“ÌS™œúèc¾[ù)){(((ÀÛÛ›-ZзO®½öZ9ò…B!D“S\RÌCHOKÇl6Ó"®]:tfËÉ”—àá造?ÞÞÞ$oM&&2úü Pêúü“š®ÊÌ™3˜9sF½m¿®ó<==™0á&L¸GŽr!„BqÞ°=–#1¡ýz÷£kÇ.øúúb±X˜ð“ÈJÏ"26òt½×Ë“œ¼œs’V­ì.!„B!.l¡ÍBùô+MW«ÕtíÔ…{v:(f‹•êÜ WWËîB!„ââc±Xؽ7…”=)dgfÛ8n1[(È+ *2òœ¤KZP„B!„¸HF¶ïÜÎÆ­›Øœ¼…¢â"üüýHh“€N§ õD**TôêÚS!„B!DÃyñ•Ù¤ì߃_€±5 ²ŽÈÍÎåðÞÃŒ¾u^^^ç$ÒÅK!„Bˆ‹ÄM×Ýd}£€Þ]F£ÁPf 7;—½;÷²õß­\5ôJ\ré9K£´ !„Bq‘HLhÅüÙóøîÇïùûŸ¿)-+µÏ‹ŠˆâÁ‰SèÒ©Ë9M£(B!„B\D‚ƒ3r4wÜ:Šìœlò ò ÁÛÛ»I¤O!„B!.B*•Š À ‚ƒšTºd ŠB!„B!„B!„E!„BÑdU;ÅÛÛGJI!„Bqn”–}ó¥”’B!„âÜ(‡ “B!„B4ƒ"„B!„h2ä9(BÑD%ïMeé)I˹ ó©Q«‰læÇuZÓ¹UsÙñB!ŠBˆ¦&åH&‹ØÆ°K:q[T34j ª 4¯f‹…#'2øàûM˜ %tKŠ—@!$@qMQ f£‹¢ (Jƒ&F¥R¡V©Ðètèt:Ôju¥ôX,f³K§Å– Ò¨Q«5¨TUWvïÚA¯>ýÈËÍ9cyJúë/ýRžOy::u*ûö—›wAž”Õj>¾¾ü°ÓÄ5—w%.2Ôº_,æ ö‡H£‚øÈ`®¾¢ËÖþ‡!÷صmû´eB"û/°ã÷|ÊŸcZ›…†I-Pˆó-@Q…Ò’rrr8•v’‚‚‚F8q¨ñòò",,œÀ `ônz{¥EQÌ&Çc×Îdçd7ü¦F¯‰mZ‹V§«q%ÊUyJúë/ýRžgyfef’²s'»t!(8FsÁ”- ™¼ÿ×ïÄG„ R,Ö–õ…Ú~rZ\ó ¾È* mÒe‡„TºHu¾ïÓ­›7¡X,tîÞCòwŽÓºmó&´:ARâ| PŒF#ù?~”ví;Ü•‹ÅBZêIRvïÂ×ßw_ ee§ç¥§‘¼u —¸œØ¸øOÙlæÀ}¬ùëO4Z QQ1hµÚºçMÒ_oé—ò¼8ËsÏî]´i×OOOJŠ‹.س§§*ÜôjL&ÓEóƒ¤Ñ¨P¡àééAqQá·OÛ&%±'e·ä¯ ¤µMR);wÒ§_© q>(&ƒ“'ŽÓ¾}G‚›Y»4Æe³Ð0Ô*5ûöî¥_ÿp{€¢˜Ílßú.H|‹ôc©¡U«Öè4:Ö­]CX³°:WH%ýõ›~)Ï‹³< òñòöÁb±\ø'g5hÔõ…Ÿ×Šù¾P÷¯¯/E……’¿&’Öüü<„çY€bQ Âb65øøG rhV€ÜÜbbc½"££É]•‹É\÷MÒ_¿é—ò¼8ËÓb± V«õ|t.+êZ5pá÷쪔ï yÿ*0žSòWó´ !γÅ:`Ö‚Z£Åd26j¢Ôm¥+0Š¢`6›ÏIŸsN‡Ùl>«“™¤¿~Ó/åyñ–çÅR©Ðj¬ƒÇ•‹ìiUZÍ…¿%BQÇÅáTµ<ÙXONJ¥÷Vªò°ª³`|>Ÿtk³ßþøƒ‡›ê4íÅçžeÈ çEú£ü/¦ãAÊó" PÔ*4åâjBѪUR—ü !$@©Qˆâ¤  ììL—˪ÕjT*Z­Fmÿ¬V«±X,x{{£ÑèÊo1ªB¥ªŸËƒkÿù›Ö­­ñòQ‘ÑÜróÈ&»cL&¯Î_ÀgK¾dèÀþŒ¸êj6oÙÄO?þÌãÓŸäëo¿å±‡þ–4^@4=øX¹ IDAT?­ÛËÞ­ÎÙ÷'^;çŒ×.T*ØóíÃRù©sE4*–&ØÇ+.2ˆCdz,ßçbÇÄÆsäðÁz_¶©Ãg›fùB4­E©Ü‚’•A³f¡xzz:u ±ö=µ`±X°XlãV,”tîî”–ãæîŽV£•TÔ¹%ÅÑ?ëÖòØ#Ój¼üì—_hr;cý¿Yõã|÷ý*û´ï—ƒÅlÆÏן„–­h×6‰7Þ|ô“ǸqäíÜpݵ\{õÕ´mÓZŽè‹Ä«Ÿ®áõ%ÿ0þÚL;àÑn¼ºŸ5À‚Úá\±dÅÚù^Årq ת­Ïl8ÓZß~c³g=ËcSŸäžI“-mGNf5h¾ÏÕ>®Í÷žMÏuþbã[røàþ&QŽBQ·¥ žžž(Šâtg/E±Tz••ãçŠJ¥"7' 777LF:­E± RÕ_¿÷ä­Q©m­74½o½Z¥F­QÓ2¾U“Û¿þö;LƳO=ÁˆáCñóó!/¿,ðÆ›¯³~Ý’Ú·ãÆnâ–[ná×_å¶ÛGRXXHzz:·Ë› æÓ«G÷&—·{'O";; µZMpH0¯½²@þòÎÂ’Ÿ¶ñÙ[Ô¿Ëþد—;÷ÞÔëÜTxP±ëˆõ™)EE¥—XïºwY稆ûÎ*®Îæ0oÞküòëjÒÒÒðòò¢GîÜ1z}ûô9«ïŒk‘À¡û=@ѨÁRE€b±Xøä£˜ñÌó¼³è-&Lº÷‚x®FU-(q-HhÙ’Ÿ~\åtQKQÆþýÎzÕæÊÿÙŽA;—ù;t`_ƒ¶rT•?ÇôïÙ³‡ÑcÆrçøñÜuçx8Èœ¹sY¿aEEÅ´nÝš‰÷ÜͰaC­é>tˆ§fÌdóæ-tíÚ…gf%%…”–ãí * àëŠÁP†ÅbÂPVŒÙb±¯Wqûg:ñ¹zÙh´Z¶mÛFòÖm$''³eóûÿ›·lF«ÕU»­3m¿>NÜ®^LÆ‚WfÓ*!³ÙDaaGŽâë¥_²yÓRSSY¾ls_™CII mÚ´!0 ’Ú%ñÀ}÷0qòýç,ýgzeeeòÂó³7v<§ÒNÕiõ™žúx«òüíßýÌzÿº$µ¢Ì¢¦kǯØÄG+·4zy˜Ìн‘Õñe4Yjµ½ú(³É“§`4šøôãÙ½s;¿þüW¸Š _¯—ýÝØÇ˜VcmAQUñúã÷Õøùû3î®» àÏ?~sšÄ'/¦W·NÄF…1dàvíÚá4¿âË6Ï¢Xxñ…géØ.‘–±Lšp'EÅENëÚÞ—Êxàþ{Iˆ‹¤sûÖ¼ùÆ‚Zm«âË6HÞÕ>p÷pgõo¿9Mÿù—_ñðð8ë}TÛãµ¾¿§)å¯!¾Çqúæ-[¸}ô¦=þ8wއ¢(:tˆ[o»¾}ú°ú×_ؾ-™™3žbÅÊ•öõî›<…®]º°ní߬[û7:vdòý8}ÇÁý{^qBœƒÅ1(Õ¾‹Š…’¢\¼½ðók†¿(µÆ¾Œ ð÷Åß?Ÿ J‹óQ,fP,•·Y׫oZ-={ö¤wÏ^ôîÝÛéÕ·O_kײ&*.®é鸻»ãããCtT ááá >”¨¨(.¿â2âââHII!¡e+rr³ÑétDGÅàïç×ô6µZþâÎÂÖ=©L™³’íZPlQqøT>'2‹éÔ¾%ó>]˲ßw6zšÌ³ý½cGM[€ÒPWg]½Ö¯_Ï£?¾e+>ùô3.p9‰mÚ1dØ•lܸ‰¯¿ù†Ë¢Uë¶\5âRRö¸PÔ V©Ð€Ëׇ¼Çøñw¢ÆŽÏâ÷ßuš°ní¾ûþGöî;ÄðáWòèCØç§¥gÛ_sæÎcÐà!öy ç½Âöm[ùuõìØµwf=3ÃiÛ¶÷s^|žÂü|6mÙÆ­eã†õNó«ÛVÅ—­ÅUeòî»îâ­·9MûíEÜs÷ÝNÇFii)S§=A‡N]èЩ Óž˜Nii©}~YY<ú8íÚw¤G¯>,zç§õ÷³«iŽËVwÔ¦_ÓüU÷µÉ_MŽãO?ûŒ~—°³;wíªs€ò÷š5Lœt/¯Ì}™#®²ÏŸ÷Úî¹û.F޼??t:;tàõóíË8x ÷Ü>>>Lš8Ö9B\€-(Ž/kˉ‹¢àæáCAAvµëäçgâæáe_¿¦-(Õ1™LlذuÖ³nÝ:§×ÚÖžÕ³+š‡‡]»tÃÃÓÉDXXq±ñ\6àr&Ý;‘Aƒ‘˜˜H×®]qsw#>®-âZrèÈ!²s²åh¾€<žÍ˜_Ó:!ÜÜÉ)2¢BEZvù’ÚÅ3óíÕüºa£¦Ëdv¸U±C„b47~€Ò¥kž˜þ$[¶l¡¤¤¤Òü‰&°`áëö[+ŠÂü…¯sÇèQx{{óÈ#2åþûØš¼™Ï?ý˜ä­[Q…ý{SØ¿7…ý{Sìë¾ñæ[ìØ±ƒË–²aÝZÜÝܘýÒËN•Ÿµk×òÙ§³eÓF®qãßÿø“?\LòæM 6”iÓ§W ¨P«Ôj*½Ž;ÌÖäd®¿áÔj¸îúëÙšœÌñcGì˼ôò""šãííÉ}“'³cûöJÛZó÷Ÿ|¸ø}Þ^ôŽ}ÚgŸ}¬Ù/ޝ¯7O=ý4ßÿÓ¶mï—}»”gŸŽ`BB‚yö¹çœæW·­Š/Û]¼\U&‡ DVV›7o)J7“›Ãàò»Ú–ûÊ«œ:•Îê_~âןâÄÉ“¼òê<ûüW^Gvv6üö++W,çŸuëÖwuœU5¿ºã 6øšæ¯ºï¬Mþjr¯_ÿ/_~ñ9É›72hÐ@žxâÉ:åï‡âñ©Oðî¢EôéÝÛiþ?ëþaøðag (.»lo½½ˆüü|òòòxëíE p©ÓwtíÖƒÄ6í8ho¾õ6&“I!ÎCu»Í°C$aÿ#W[[ÀPV‚^ïár¼ÙlrˆD¬ékz³ÿêN,¶ZƒZ£F­RcQ,¨Ujë8µó þÆVUúÛ¶iÃ?þBn‰kJ¥Âh4âëã‹Éd&**³ÙLIqjµ†Ì¬LvïÙCqQ‘µ¿½§¾¾> ž§ú8±7D©óUMÒŸž]ÈÈ'–†§¯Y†Ós@jVyѺu½ò=oL½†>c¥<Íç[ˆWlAiˆ}SÕ6__0ŸEï¼Ë´éOrôè1‚‚‚4p “ŸŸý.é‹§§'+W~ψWqøðaþþ{ O>1 EQpsw'==ƒì¬,š7oÎ Ï=[éY1޾úêk>xÿ]BCCxø¡‡qÍ5Ìxú)û2Ï=û þþþÜ1z4s_y•gf<í4mÞkó]æÉÖ‚âêºøƒÈÊÊ$*¢¹óôÅðôŒ™öÏö÷žžž˜L&§ííÙ³‡Gy˜¯—~‹}zZj*}zõpÚ¶ªBZlïÓÓÓ‰ŠŠ¶ŽŽŽqš_“mUÌwUûX¥R1~Ü8Þ^ôo½ù:o½½ˆ;Ç·o˶Þw+¿çÓO>²çÿÉéO0jô{ôV|·’O?>=úÓü×°3îïŠÓlïkrÔô®iþªûÎÚä¯&éŸ9ã)üÊ[éÇÇÂ×ߨ¶«¨+Sxùó^¥mÛ6•–ÉÉÉ%0 àŒÛ>m*7ß2’׿[Ç1F„‡óå’ÏíëìÛ³»¼Žafßþý<ÿü,233ybÚT©í qá(µ­(¨ps÷¢¤8½ÞWA.ÈÏDïæn_¾¾n5  ÕèØ´i“ýöÆ*µ Å¢ R«P«Ô\rI?û²s_}©ÒúQ‘ÑÜtã-¾#n½ùF¾]¶œ¾}zrôØöïßG@@ *• ³ÙLaa†ò› “ž~Š‚‚B´-§ÒÒøçßÍÜ|ÃurD_` ‹ËùÄüý|  $»ÐàtÀ&5«ˆæA^$´Œfâ¬å,žyÃë-£ë)šZJNÏ7™­]¿Ê &4hÔu¿sŸÑèúÁ±L¹2SîŸ\Þ§ý0‹?üÉSà½wp×]wòÊ«¯2hÐ@æ½6ŸqcÇ Õj1Ì{u.o½õ6ó,ÄÇۛnjË\Zå÷¦:Åà¡Ã+U0—óòò²Öj5.§™Íf—yÒj¬7H«XReee|ñÅçlIÞFtt´}ú‘#G>>tëÖÕiž¿¿?§N"$$¤Êí>òØã\}õÆÜ1€ÈÃ>fÿûvÔ">ž—fÏâÊ×ðè#ˉ\€¢TD‡`$«T˜£ØÕèb“ &³JXM½]iÕjµôéÛÚz/µZƒÅb¶ÞÑK­váê¶ÄçêöÃÇ áÉÏðÀCsÃu×Ñ­kWÒÓÓ0™LѼysvïÚMff&¾¾>˜Lf eÖoÛLqaZµš‡ü¿sz0Ý7y9¹9•¦ÛÆÇ¨T*ü|ýyû-•~ X8ÿFIOM4Dzj]7™?s)f´DF†‘[d8ãð,[Á˜§¿á‹Y7Ó&®Y½¤åÝeyõ“5åWô­ÓÜõZLŠÊ¡:\f´à®×Òñæ×N3…¨P?¾xñVšz×ó…‘Êââbyü±GéÝ·Ÿ}Ë\Ê‚ yuÞklݶçZI’Úµcay÷¿×¬áɧf0à÷ÕU~oHHŸ}ú1¡ÍšU™¾ê®ÂŸiš­¥b,÷íÒoèÖµ+±1ÑÎù¡s§N,ûv)·Þz+®â@Û´ÛoɃ>Hï^=+-3vì8þïÁ)¼øâl¢¢¢Ø»w/sçÎå½÷Þ«´ë®»ž§žšÎ¼yÖ}ýäô'œæ×d[ó}¦‡ˆêt:n¿m$OÆ”ûïC§Ó9u- âø±cöîè±cÚç;Í?vì¸Óú†’’ÜÝ­Òrss«Ü·59jz ×4Õ}guù«múkzÌV7ïÚÿý?î» /<÷,—]6À>¯WÏžüøÓÏÜ~[ÕÏ'Û¼y o,\€^¯àî»î¤WŸKÎØ"e½£¨tçâ Pª‰^l÷*•cO0•ÃÉA!/÷~þÍì­%‹¥¼™_]Åu¾ºÑh5ü»á_T*5j‡_ç~ýúÙƒ›»·7¹Û¼¬?K¾ø”÷Þ]„_`0ZÞi¾ÉhÀl2a6›0ÊÈËË#"*šŒœüsžöü‚|f½ð¢Ë+•J…^¯gԨѕºv(ŠÂÂ×4xzlé((( ?¿ê2[°pþ9-KEû_^ɱÌ"â㣰X,øzh1˜ ¸Ìtúê-ôvÃ×SJz­aÍCùÄ—,}ù6â"Î:=“nìÅᓹüóß b[D£Ói±(PPbt¾šQ.3·˜¶íZYïÌdgç’“ÃÇÏÝtVÁÉ™*?cÇÝÉÍ7ßD·n] ð÷'=#ƒÅ‹?¤c‡NëÜu×<òèc<3ãi´Z­}Þ#=΄»ï"::‹EÁl2ÙçùøøpèÐ!bË[ n¾éf̘ÉÔÇ#<<œƒòö;ï2ç¥Ùõ ¨T™)÷Þ{ï2mÚ4\õ?~¿&ÛªM€0~ÜXÆEzè!ÌšýÏ=cíî6kÖl† jŸ?lø0f¿4‡gŸ™¢(¼8{¶Óú‰‰‰¼ÿÁbÆŽ¹ƒüü|^œýr•ßU“ã 6JMòWÝwV—¿Ú¦¿¾EQ0àRÌŸÇ”äá‡â×\m=ÇLšÀ˜±ãÐëõ 4öìÝËûï/æÕWæÖV‘wÞ}Q·ßÀ‡}LË–-Oÿ ?ú8wß}'ñqqœ|„è˜(Úµí̪U?˜˜È¡C‡èÚ¹‡ŽžhÐt×4ý¶;#9¨ßÛ‚ÓŠWë’þš¦GQlA´R;µpLOcÕ¥Á’ ü±éŠÙ›wÚóÒ£g'Ǫ¦ý—»ŽmÛvWª‘ŽŸù5‹g\KX°ÏY—çÌ{0á…<|œÈ˜HJ fœ† 8¤'¯È@^‘ _wÊJKÈLÏdÉ 7âï~ÖåZUeãž{îâóÏ—ð̳ÏQTTDpp0}z÷fÎ˳ÖQ«ÕÄÄDÛï dsÙ€K™òàC?~œØ˜fÍzÞ>Ì£¹é–‘³}[2ãÆŽå}3þλIÏÈ 66–{î¾³[Plã4œ÷éo¿ý^eÙ :Œ¡C‡•¹•æ;Ns5ÿtixðÁÿãÁ*Ze×õððäí·ñöÛÖn6ûöíå£>²§»ºm¹ÊwuøêŽû'ßÇó/¼È°+G0xÐ &ßw¯}þ}“&ñ̳Ï2pðP¼¼¼sÇhþú{}þŒ§Ÿäé§gòÖÛ‹mÖŒqãÆòó/¿¸Ü·59j T·^ußY]þj›þú PºtîÌ{ï¼ÃÄI÷’ÍØ1wÅ»‹1ÁB^yu¥¥¥$¶jÅØ±cìë½8ëžaï½ÿ:vd¶ÃßéÀ+.ç±Ç§ràÀA‚‚‚:d0÷O¾O!.Ä¥ÊÀÅáêb…ëså-)*ôn^WUônžöÊ ÉdÆzSÉÚµž(Ê™OŒá5@\ïÞ½}ð|ué×éth4¼½½ UHh•@aQ!þþ=z ???ôz=f³Ù^Ñ·µÙ>7ô•ýªÒïëãËÔi»œ>~ü¨T*Þ}÷ò òíƒdmé ­S¹Ÿ1=¾~Löx¥2±}®ª¬ÔjuÓS_é¿ï¦Üw“óÀ⤛: JWœÆ|X0[v|yo*>5)Oµ æ?2œÛžøšGO†Á¬TÙíÌÏKOiI éié|òìuÄ4÷«—2­j=ºw§G÷îÕ®óÝÊ•Lœ0ƹkéÐ!C:dˆËõîºóôÃäƒnÇ+Ý×ùoë–Ji­é4ëÅëw¨U4yS§Nå±Ç£¬¬ŒéÓ§sÕ•WÖ9ݶç TTU9¹š¯×ë™9ã)fÎxÊå¾Ñëu<÷ì3<÷ì3öycîmŸß:1‘%_|æ´îM7ÞàrßVwÔô®MþªûÎêòW›mÕæ˜­MþZòë/?9-ko-qµ½¸¸XÞ}çí*ç4Aåw<«ËùOq>(®îêSéy%ޕœ¨ÇNwQT”—âïW—‡ë» õéÝ·VãGÔj5ëÖ­sÙ‚Ò°'3×éwl¥2›Í„‡‡³ÿ~üýhÓ¦ GŽÀÝÝF‹N§#8$ˆÌÌLrsóëàYNwÆ;ä4Túæ¼<×åô{&ÞmOWQqï¿ûÁYU¢kœž—æ4HE¸±ÊÓ•†¿kÖ™Óã¦ÓðÞSÿãÆÇ—z"æ¡Øî4ìxÄy¹k1”•’y*w¦_M«è z+ϺnÇb±ðí²å;zŒ!ƒ›~·­ºü|z(Ñ11téÚ•ÒÒR†ÎÓŸ¨sºÏÔÅëB!ùBˆ³ PjT¡qõ^UœX»Ó8Æ6j³Ù\矫“_§ŽéÔ±s¥éo¼µÇ™Æ®”íåcPÎíí‡+¦ßb±à+..vZ®¬ÌÚ F¯×ãåå…¯¯/þ~å-,j§D£±¦=55•àààò FÓ(é¯)[ËPC=‰ý|þ!¯Mú¥Ÿ^ÏöÜ‘ú¸tuÛðõÒ³øéÿqÓÔ¯HOS *µ½Bê¦Ó`0”‘“žÁü‡‡Ñ¡e}·FÕm[»v'<<œ—f¿PÞêØô”ʼš¦I'0iâ„ú Ì.ì*¼äO!Î&@qÕåãôƒŽ,U'»}¨¦Ýƒ’ªë"UeFkqûáÆìâe2™())!##Ãi¹’’§´ØîZ¢ÓéNW}ýʃkëKFFjµš   <<<%ý5¥ÑhÐjµö€ì\§§é(Ô½Åá­Ñd®§¥fÛ òæ½éW3êée˜Qˆ‚‚F£Âd4Ÿ™Î‹÷ ¢gRD½ïŸºnoë–ò7^¯ŠJÅÅFZP$BQëçs®‚‘3}¶¾¯këÉémÔ!@©Å퇳‹—Éd¦¤¤„¬,ë“àm÷·ÝÞòLòóóðòò¬X¯ž§¦¦âé鉷·wÖoÌò·‡ª*U=•9ߟ¬Ôh`¬ÅbÝÇf³Uù±ê¸–­Ål6;Ë ™ž˜0^yà |õWE…§‡'f£‘¬ ¦ŽíË%#ê!=oåG«á¢TÕ©ÀKþ„ 8VWœN6f³E±V¬­­ U”‡ Æ9P± _©Kå¥ÎWðkqûáÆlA1ÊÊ[Q¬]¼|}|ÊÚ•¢¢"ûûÀÀRS­·q.--Å`0”ï#¥QÒ_Seee(ŠâtWµs™ž¦óC^õrÌf³ýf¶cÁb‹?sù@âââÓw¬Óhj]εIÅb!1Ò‡‡GvcΧ1ûRVÃ]×´§‡0ŠŠŠìi¨kz.æÊú"l=±å[*ð’?!„(µb±TlAq>jöÙV©²Ôa@·ãàüZd´·¦[P·¯X,h4Üôz:´kË;|ÄÐ0M„…5§´¬”¼¼<§-=v”þýûãééAFf{":2o//ÜÝܬyi°<Ô¾ü#Â#xmþ<, þþþÖ>õõ–>¥÷Wƒÿ”WJ¿-0›Íö[zÛ”2£Éz¬F,‚زÒR{w:E«E±XÐjµ ’Û«gb#µäýïS5¸Cº…SZR‚Z£A[”Ô==Rù¹I^ò'„¥Vc‰³ïºQ‡“XÇ®Ôæöà zr­~Û˜’À  n¸ö–¯\ŪŸ#4´m)ÈÏ·v‰R«éÚ¥›õIÃndfçpä¿äçå“Т=»u¡yóp|}}qssk¸<Ô¡ü§>6µáÊø<$ï*ý¶.TŽ/³Å‚¯§žô£GªÜ”¯§ÞôÛÖS«Õµ+ŸZ¤Ç¸˜L&†÷Œ$*Ä“ñAö稨T*̨Î.=.ìÞ¹ó¢9A—••^”?Lú>–ü5?¬\!5A!εZŸŸ-Z%R©±¢·¦ÒíÜÜô;~ô¬æ¦×ש²ZÛ.==º÷¬Õí‡=<<µ‹—N§C­V„F­aì¨ÛÙ²u›·meãædò œºtu|Ч»;Íš5c@ß>ôîÕO|||ðññ©ô|‡†L¨ß_p]¼T*•}ÚºD©T*¾yá*,Š‚R~£EQN?O¦¼PãÐb¡Õjk},Ô&=f• µFƒN§CQz¶ó¨÷ô¸rÛã.ª“xA~ÞE•ß‹mÿ !ÄÅÈl6“~*ukþ¢c—®Ö2@qña¶X0Ö¾èåƒJ¥ê;tY(¨¶WV4å••ZWèj9(ºCR:$u¨e¥±O0×h4xzz¢×ëñóó%,,ŒáC‡ Ñ¨íw³UFmŸ-KyW *¸¹¹¡ÕjíÏi°¥‰ JWÎóAòU¥_¥R¡ÓéÐétö– Ç– LJ¬ÙŽ Ç—íJDm˦©¥§*ÙY™rv¿@ɾBˆ‹ƒ››‰mÛ²w÷nzöé[»ÅU…E¥R¡-ï_~Ö´ÚVXÎó+æU¥_­V£×ëí·nÔ2=ŸËÿ=*ý½ÕrÜFˤ©¥G!„,_rss*Mמ©¢nÐÁÖgªÌX*o±¶4¨1[Ì^Ù± ¦?›[ãJúë7ýRžRžB!„8¿i4û£j ¨U*¼½½ÉHÏÀÓ˳Q[\T‚·ŠÅñ©ÙàçÀ±#GiÚ¬QÓ“•E@@àÙUH%ýõš~)O)O!„B\˜ª¼ —F§#<"ŠöRXP€¢X<1Šb¡° €öÒºMJËÊNW 4Úuhdž ÿ––æð–†{™LfÒÒÒX¿~­Û´A§«{÷+Iý¦_ÊSÊS!„¦*[Pt:~þþ´JlÍáƒ(,,tÙS¯Ñ’Z··7mÚ&Ô8» IDATŒ¢ÂûUUµZMxX†$Û’“ÉÏÏ;Ë'ÒWO£ÑàïçO»ví BïævVy“ô×_ú¥<¥<…Bq‘(¶AÛ¾~¾DEE£:ëgžÔŒb±Pf08'P>0W§#.>žˆˆû]„²¿¼íŽDZ­7w³z¿~Ó/å)å)êûä«`0¬µX¤<„â¢V«Ñêt¸'µÕU ÊJË(+-kô„¹ên­ÌèÐjuM® Û´M"ÏÅ]$ý {ŒHy^å)^qI ÿHç‡ 9t2W D!š°Y5^V£Ñ@»¶IDFFãîáÞäﮩ•],„7£ÁÀþã9|ýç>î¾þÚ¶G«‘-!„hªÞ˜÷"=òx–5›Í8°Ÿ?~û?|ý|)++kÒù« Ë^BÔIŇì>|ˆ-›·‘‘~Æõ4 AtéÚ…ØØ8)ÈFf0Xö÷>&Ý|)ÝZ‡K!Äy¢&-!jµš„„VhÕÖ®ý›[FÞvþ(Ö«2ÙãBˆ³ròÄIÖ¯[ǃ‹F£A)꼂‚Éh*çbÁl2sðÐAÖýózáRInL‹…Ãi¹´Š •ÂBˆó(8Q\Œ4™L.¨IVVæy1æSÚð… â§WѳW/âã[ R©0›L˜L&ŒF#FƒÒÒJJŠ)..¦´´„°ÐPbc£ùéÇURxç€Él‘n]Bq~E(•ná¿eËÚ%%±eË–Jó´Zmƒß¡³¾h«ŠÈ„âlM&Ú%u¨Õ:mÛ¶gûöRxB!D5,Š‚Å¡ÎžœœÌðáÃÉÎÎfè°a¬ZµŠÎ;ŸÕwÊÊ0”•QÓÈ@¥Ráîáá²G!D£Ú¼q½úô«tÑëõµºZ£ÕjåüBVfF£¯+„BÔÅþ õää­\uÕULŸþcÆŒañâÅ\y啬\¹’Î;Õ=@1øoû¬]óW~Ã{öîÃW ¢¤¤¤þ$@B4ÔéTQ8qì(A!ÍÎû¼H°"„âÜýžžnTxòÉ'yþùç¸ãŽ;˜8q"žžž<ùä“|÷ÝŠ³úÍ^¿n-3žy7ww—Ëäææ²lÙ2n½åžù$C‡]Ù0JC_Áüûï5Œ¿óNŽ?NqQ¡Ó@áú\¯K’——Wh~æÌ™>|˜gžyæŠÁÔ5 P~{¨ÍÛÅ‘›ƒ#7‡;~Án÷%q\bá6[ñé—®_&™dºù§RˆŠŽ¡}§»Ñ5 Ó0°Y­Ä7jBTle|}í×ì¤ÖªU+&NœÄ–-[p¹\—Í»þ›oxä‘Gymöß1b8<ÆÈ‘#øõ×ýüºµk×bÊ”©W\ïܹo²cçN¾ûÏ·ìß¿??fLŸQ(϶íÛøî?ßrö W^lÆ |õï/I>|ˆ^={1qÒdoÚ«¯Î"7'‡_¶o㇤ïÙôó&¹Ê !Ä- ))‰-Zp…å†(Ë–-£k×®œrUÛuêÔ)úöíËêÕ«™6mv»W_}õºìƒ2(%-Ûºe+?$%išÌ˜9“ÔÔTvüR0Ḧ‘£˜ùÒK¼4s&9ÙY„„V ';«P9—wáõk¯¿Î/¿ìà‡’ áéÿù¦L™ÊoȳäBˆâ…††2eÊ L™ò¦irøða,\Èà!Cù×??õæ[¸pýúõ+ÒGüæÍ[˜>c:»wïñVg+ŠrÅõ¦¦¦Ò¦Máço/}_Ltt™?Ï…à MÓ¼óT­ZÕ;_­Z59„¢Û¸q#ãÇçwÞ¡fÍš—Í«y4î{ O©Ëv»ÿøÍÀAƒðì³ÏzÛš<þøãÄÅÅ]—ýP¦aƒÏž=Ë3Ï>K—. -å•W ÝüôÓOùû¬W‰ŒŒ¤R¥J¼6ûï|úé§eÞ¸?\Æë¯Í¦rl,AAALñEÖ¬]+G¯åÄŸ=¦’¢(Ô©S‡W_y…7J[»v _|ñóæÏ/´|ð! 2”=»wqöLÇŽ)Õ爊ŠbÏî]œ;{Æ;]éQ.›ÍF~~¾wþüùóeú|‘‘‘Þêv€'NÈA'„åÔš5k3f ï¾û.wÜqå±KLLt]/õtµ×äAƒª1>|øuÛÅÖ ¨ªZh>$´à±ˆàà`:wêÄ믽V(OxxÅBógˆõ.‹%#ãL¡<—®£¸´ÔÔTZÜÙ²È?—¾W!.¸ÿþñ'MâÕW^¡jÕªþUÒ{ŠK‹ŠªÄWÿþ7111—Ý>!ÄÍiö¬Wnø:Ÿ~ú)Þ}o)“ŸzŠÜÜ\¢¢¢èÒ¥3ÿû¿K‹äŽŽfíš/xàÁ>hšÎSOMæí·Þä…¦pòÔ“ÄÄÄ0vÌh>ûìó+®wüøDÞzûmúüå!ÒÒÒ¨]»6“'Mºì{æÎËø ãy}ÎbbbHLÇš5¥PëÙgžaòä§hzG3‚‚‚1|8ßþç?rà !D93}út:wî\hùÁƒ ,!>ù½áûc ä ÿ~Þô+VòÅ_°r劫Ú6«ÕŠÛåòŽ…2hÐ Šäs»\X­Ö \) ¸4ýÁàù^à­7ßà¹ç_ Ïƒ–9@yüñÇ™4y2¯¼ü2UªTáСCÌû&ï¼³DŽd!nr¿ªµøKï{1 ÃÃ4 ^›&ªGÿí5ÆïËM`Óϯj½:t C‡—ÍsqB¥J•ØøÓï|Ïž=éÙ³g¡üÆ +ö½¿¶X,Lœ0‰¿ÕÄ\n4iÒ˜ï. (?ùäeßsñ²€€-ZÈ¢E .d‡±lùò+®W!ÄÍ%%%¥ìo2LÌß:ŸyîÙgè7à1òòòп¯XÉsç²òã¼yþEQhÛî.^š1µPÈbƒ ›¶íÚß¼ʳÏ>óÏ>G«Öm¸¿wožyæoePÆ˼ùóùËC}IOO§V­ZLš8AjP„(G.Ý01 ã·¿&.UÃ0Ì"ËÂ}e‡•Ñó/¼ÀÓO=…ÛífêÔ©ôìÙCvŠBÜ.®AiÔ¨+>ZΣýð”)T¨POV|L£F®êÿfÿºt½‡„½J¹Q&n×Õ÷ÌyŇÒÒÓRËœîççÇܹo0÷·ç¢¯ôž‹ç/~m±XŸ˜ÈøÄD9 …¢ÕªV£Uë6¸].ºwïÎ3û›ì!„¸³ð þF±òã9z4‹.¼êàÀjµár:q97ô³•ªE!ÄÍiĈáÞA&…BÜF G_¬a£†|÷Ÿo±ÙlEÒÊ P„B`³ZÐt°ÊÎBˆr¡?:¼Õj-q ÃkÕˆ]!„וÅb¡ztOçÎú±²C„¢ÈÍÉ)Sþ¬Ì,ÂÃ#0®¢Ñ¼(Bˆr£FÍÚ¤§¥â÷[„¢|ñññ¡O‡º,üä{†?ÔžøZ±Ø¬Ù1Bq+íÿë¦irþüy¶lÞD×{ïEu»oúÏf“¯W!no¾v;u«…óxÏ;øøËŸ9‘žýÛã^B!nF+ÃêÕŸ”*¯Õj¥bÅŠtìÜ™*Uª’Ÿ—W>©ABˆÛ‹Ÿ¿wƇжiM,©=Bˆ›™ÛíÆn·—:¿axTµ\'Å(«>^&ߺâé– cp”Wæo}×_‹þë…BÜ€ Ååºe?[‘呃äBü!çÏ• „Bˆk Ühûìç׿’–ž†išDFDR¯n=Å7’Ç „B!„åúËÏÏgÙŠe|òÏOÈÎɦRL%‚C‚QG®ƒÔS©X+ýîÇðÁà –oJ!„B P®½-Û¶0é™IØìÄÕãØ¡cœF!®Gpâr:ÉÌÌ$=í4¹¹¹²S„â N‰‰­LXX8~þ~7ýM¨ ìصƒ×ß|ظXBÃBùrå—4oל°ˆ0Zvj‰¢(üôÿ~bÛÛˆoOHX!a!„E„1ñ|ªV®J环û¶nܸ‘ÄÄDNŸ>MJJÊU—W¹råkRŽB\‡ÜÜN:AÃÆMˆˆˆÄjµÊŽBˆ[€a˜¤§¦°ÿ^‚ƒCðõ Á}“ÖxCÇÃèñ£QU• !tèÞ.½» (Š7ϱƒÇ¼ÁILÕºÜ÷û#]Q•£èÖ§ÏÏxžõŸ¯'((èºnïK/½ÄË/¿Ì½÷Þ+Gµâ–§©*§SNѸqS"*Ea:š¦ÉŽBˆ[DdT4‹•C‡Ð>¦³(+?]I…ˆ <>ùñ"i©'RÙñóï; € ?}‡ô-’¯ZíjT«]wÞ‡Iã&»žÊ•+ ( AAAT«VÎ;3bÄÂÃÃK½½û÷ïçî»ï¾.ûBjS„7Ã4q8„…‡£ëš´?Bˆ[PhXŽÜÜrÑKîußBÓ4yïïѲsË"içÒÏñéÿ~Êá}‡‰o@ý&õK,«i›¦¬Xµâ²Q_JJ §Nbûöí¼ñƸ\.î¹çNž~•’’â}ýÄO0lØ0víÚÅ®]»¨U«Ó§O/óÎ.®l!„¸ÉB™d’I&™þäéz“Ë‹ŸcêÔ©Ÿ~ú)}ûöåÓO?-„|ÿý÷Å./NzF:~~E/‚¦É¾íûhÛµ-ëÿ¹ž»î¹ €Å¯,.TµnźBÁËéb϶=$ŽN,õ‡ŒŠŠâüùóÞù+VðñÇSP«óÜsÏqÏ=÷ðꫯûþï¾ûÎûÚÏÏgžy†Ö­[Ë2Bˆ[,:)_wØ„â¶8/ÿ‰T·Õí.up£( ~þþWÝTâ²ï..H)KpàÑ<ÅvW©y4²Îg±þŸëipGRO¦É£ë:º®_õÎMOO§bÅŠÞù´´4:vìXd‡–dëÖ­¼üòËìÙ³‡üüü+æBܼ6üô£F&%%…sgÏ™¿’ðˆÈRå+—×AÊ×6!„¸åã“+¤ççåxýUe×î]lø1éÊA…ÍFë¶íèÚõœNçõ P. RÆǼyóJœDGEãÚá*²|׿]ÄÕŽ£n㺇“v*|G>aaäfçR¡bï;̧†p.ã+—¬Äjµß,ž Z”éC~üñÇ…’J•*±víZ¢££Kõþ#F0mÚ4ºtéBPP‡ƒúõëúBœN'þþ™233å%ÄMjÚ´™ý÷YtïÞ½ØùÛþJ(5(Bq—K>'Ÿ:q‚=»wÒôŽæÄ\§¶Í¦iòóÆ ¼8ãì~~—Íëv¹˜9} Ý{ôºþÊÅAJçÎ¯ØæäRujÕá\ƹBË’¾JB×uîý˽Ø| 6!ªrõ×#íT±q±äåæ±gÛ>ZøýFô£zÝêt¹¯ ÿ÷Ïÿ£Þýõ®¸^§ÓIrr2«W¯fíÚµ|ñÅÞ´AƒñôÓOóÒK/Q¹re>Ì[o½Å¢E‹Š-Ëåra·Û±Ûíœ8q‚Y³fJgñâÅŒ9’ììl¦NZâv…„„œœL­ZµäG'ÄuYìò µûöí£k×®Þå—Î_íºËsíJI5(_¯[C÷ûî—ƒK!þ„órIÁÉþ½» «Èî];0áº)º®_18°ûù]“'ŸJ \Ròóó½µ¥ÕêÎV¸ò]œM;KDtÙ™ÙôлH^¿?ª×­€¯Ý—¡OeéëKYüÊbîìp'Š¢~:Ží;–¸¾Ê•+£( ÄÅÅѹsg¾ùæ"""¼yÆŽË‚ xä‘GHKK£víÚŒ?¾Ä2çÌ™ÃôéÓ6lÑÑÑŒ9’5kÖxÓ_{í5&OžÌ›o¾Itt4cÆŒáË/¿,¶¬Q£FÑ£Gòòò¤¡¼×Éå‚·ÛO‰ó·ý¥°„»u!!¡ädgÉ.BˆzZ.zN>uòÝOçn÷@VV&›Ú@Llì-ñ±ËÔ‚¥¬Á <þôÈC°}Ûv:õê„ÛåFó”n„bÿ@ž˜øï¿ñ>[ØŠÕj%ážBCB‹Í_Úø- ãÆcܸq¥*§{÷îEÿu’Ž]ºák÷EUU¹³u;ìÛCl•*åf¬“Ëþ¯~#V2üÉá?xœÔ“©ØýìTЭıƒÇJõÞ  ê5©GÏG{²{ËnÆ/G«å†RÆÜ×·ó‰ AÀ¹³g¼ÓÅósç¾ÉŽ;ùî?ß²ÿ>üüü™1}F‘²Ö¯ÿ†Gûõcöì¿3bÄðbË*Ky7Í•ð ýñÿ²u3qÕkÑ«÷ƒôîÓ—°Š9rè@Á7'cÈ$“L2]×qP¬…VmïÂ××]Ӽ˃‚iÕ¶¦aܺã \k!!!<ÿ?ϳ~Õz²ÏgÓ¦K¶þ°•×ÿÈž­{8}ü4ºVü3kÇÃ?ÀŸŸ¿ý™1ÃÇ#ÿó !.+<"²ÈTZË?úˆY³^%66–à  ¦Nyu—<²ùÞÒ¥Lš<™+>¦gW]^yj·rW‡ÎÄՍަk8óó¨Wƒô´tüýäÀBˆq/É4‹më¡ë:æ-ÒщíF­¨gBO:ÀŠ¥+èñHü9™9dËâô‰Óü{Õ¿þŠ?Ÿ,û„QÃFÉÀˆBˆâÉ'ž`â¤I=zMÓØ·oC‡ +”'66–5kÖðÑò˜ûæ›Þå¡¡¡:|¸Ìå•å´?›¡‡àv»8yò8’¾—ƒF!n«ÕJ•¸8vþ²¼¼<r²sؽsµëÖÃïthu3²ý+­Q½o½öç3Ïóýß³wÿ^RÓSivG3¢Ã£iyoK:wìL¥ÈJr$ !ʬ¸øKûØ×øñ‰¼õöÛôùËCÞnÈ'OšT$_Lt4_|ñ9öù º¦óÔS“;f ݺvÑ—ç]_iË»´¡¼| JÝz ؽc;yyyØívªÆU'#=Í›.„âZž—ͯqÛ·l"((‡#—f-ZyÕ$–¹]®R ÔhµZËo€rAŰŠô¹¿}îï#G ⚸R riú¥ó‹…‰&0q„+¾?**Š¿õ=0iÒD&MšX¦òÊ<ý4M+tÁ‰¨IåªU  Ájµbè:µëÔ“O!n ðˆH4lľ=»iѲ5á×%8Q…¶íîâ¥SÑ´Ëb³ÙhÛ®}ùP„BÜÊŽ;°ÛíXmVvü²ƒ'Nàv»5j•+W&''‹¥ðÈÆ¦iˆ¯Ýƒ]»öÈ/@qÛ³( AAAœÉ8C@`€ì!„¸åç9 Æ4 P®USp©:¾¾>,_¾œ£GŽ¢Xܪ???|l>X,>øà6å~’ IDATlHïÞ½1ŒÂ‘¢‚‚ 8|8Ó°a·ûÊÑ*„¸íY}|ˆ­\•ääƒÔ¨Q‹À @Å";F!n¦içÈãèÑdš4mŠËí¾é·¹Ü(šÇIˆ¿/+V¬$0ПˆÈLÓÄÏéƒáRQìlŠ‚ªªlݺ•-[¶ðð#ãcó!åT nÕͺuëðõµ£VKñU®\™””߆îß¿Ÿ0bÄFŽ ÀáÇ™5k7n$// 0fÌî»ï¾bËLNNæ…^`Ë–-´lÙ’—^z‰Zµjy×y©‹·àÀ<ñÄlܸ±È{.Í+„¥åããCh… Ô­WŸcG’q8åà›Bˆ+³X,Ñ ¾Ã+‘çÈ-±)„(eݹ8òÝ´iÛ†vmÛðõ×_“–šŠ½^5ìõãÈ^ù-J€«ÕŠÍfCQ–/_ŽêQY½r5yùyL˜0ýû÷3nÜ8 N§¦]q½[·neÈ!¼øâ‹ôéS0âý‘#GèÛ·/'NdöìÙ²wï^-ZTb€2jÔ(X¼x1K–,aôèѬ_¿¾ÔAFRR:u*’¿¸àF!Êrñòõõ%$4„ªU«¡X¤öD!n%¦aàVÕrœ”«Å©)¸U¸jUiܸ1ÑÑÑ躎ÅîƒâëƒoÓ.¬ÿæ>LNN‡¶­ÛòÆ›oàg/x,åt QQQ†‚#7÷ŠAbb"óæÍ£cÇŽÞåsæÌa̘1<þøãÞeÍ›7çÝwß-±¬Ã‡³víZìv;‰‰‰,Y²¤Lû ))‰þýû˯LqÍ)Š‚Ûå¾&# !„¸yÏõåA¹¹M¦è*º©¡z<äççcµZ±Ûíø˜ V·†n<ú裴oßžÜÜ\üýýÙ¾};7¦víÚÄU£]»v<òÈ#øúÚQy—íºíË/¿dòäÉ,[¶¬Ppðã?rÿý÷—iû»uëÆ‚ ÈÉÉ!;;› еk×By6lH\\:t`Þ¼yã¼üFUU6oÞÌ]wÝ%¿.!„BqË*?5(ºŽÇãñŽ{ryQD˜›[Pm…ËåÂîg'""‚Ðüýü©U³~ÜÀÙsgÑô ©oÔ¨Q,^¼˜ÆIËÌÌ,óÓ§Oç`Μ9@ÁcYkÖ¬ñ¦_x\K×u8À´iÓ8{ö,Ó§O`Û¶mÔ©S‡ÐÐP9j…B!Ä-«ÜÔ ˜†Ž¢©˜Å¦i¢(Š7`QU•fÍš1tèP233ñx<Ô¬Y“Fñˆ‰ŽAu«ôíûÐoŸ\Á¤ä”Ù³góôÓOóóÏ?I ãܹseÚþ‰'òðóoß>öíÛGß¾}™0aB‘|V«•øøx,XÀªU«¼Ë“’’ŠÔä!„Bq«)?ã ¨<:(ÅŠ¢zLKù­¯àà`Z´hÁO6ðÐ}÷óëÑdTUÅ×LJY0 £Ûíºì dýúõ#,,ŒÁƒ3wî\¼iíÛ·gݺu 2¤ÔÛ¿iÓ&>øàƒBmP4hPräh±êE'))‰)S¦È+„¸.LÓDUUtÔå…âV¡( EÁêãƒO¹¬±ü<âeè身HÇ…Ú“K/¦Í7aCÚa,wÔ¤¶i ab5jtë@ÌéC¨9N.÷ˆ@BBï¿ÿ>C† !++‹G}€É“'óÐCa·ÛéÕ«ìÛ·… –ØP¾nݺ̟?Ÿ¡C‡ðÎ;ïP¯^=oúèÑ£ILL¤víÚœ:uŠ)S¦x{ËÊÊ"99™-ZȯLq]‚—ÓIff&éi§É½B"B!Ê‹ÅB`` ÑѱT À×î+Ý _³«»ÑTÝÛ—ó¥ÑßÅ;Ú0 Z¶nÍŒ¦õ©…_P4ŠÕŠ „~„ïOÃÓ(Å ÂÖ­[³jÕ*ȹsç=z45kÖdÕªUÌš5‹—_~§ÓI||<£G.±œùóçóÜsϱpáBZ´hÁüùó½é=zô`ìØ±ž±NJJ*S{!„( Ã4q8„…‡£ëš´?Bˆ[P…Ša8rsËÅ`¼å&@éyߣüûßkð ÐéÞ«'ªËƒ;/—Ó5#Gd$=†;8lv”Ô\•ªàr9q8DÄec =ÂÙ_š“‘“Åž£Éäç嗋ϾqãFùU !®Ó41 «Õ†¦yd‡!ÄŸlÇö­´i×—ËyÍÊ´Zm…:`’åIHèÅν›öÄHP¬4lX_;•cc8¹}±UªàÉ<Çé$ B8[·`ñ±b¨:}ô ŽlŸí8M“Ü.·Œ˜,„…*—íÝP!Ä>-ßžçär X­Vê×nÆgŸ­áÉ'ŸÀåt¡ püèTNÆéTòU7ýÉ<~ ƒ`{(9Š›Ìì r9Xð!ç·j.É]!$DB!çd PÊä•×_ÁîcaЀ>躂‰QЖİaê*šGCÕÃÄ­« ¹ ×MÿuŽülöí9Ht•8š4iÂĉåÈBï•PjP„â¦;/ÿ‰T·Õí.u ¤( ~þþØlWb”»eÊ3σ v»–/gÑâE¤¥¥“žžV$Ô¼0R¼iB“Æq»Ý|öùçÄÅÅý¶\.ÄBˆòmÆŸ5z4)))œ;{¦È|™®ƒH ŠBÜTñÉÒAAA×/@QUvíÞņ“®TØl´nÛŽ®]ïÁ鼺¶3å.@±ûÚ½¯8ÇüÃeÝìƒÔ!DqÂ#"½ÁÇ´_äïŸEîÝ‹/{„rýB”¯Ö­¡Ç}÷Ë(„¥>/—|N>uâ{÷ì¢IÓfÄ\46Þµ]½ÉÏ7ðâŒW°ûù]6¯Ûåbæô)tïÑëö P„¢´ÿ¼‡GDz—Ò¼E f½ú õêÕó¦×«W ?þP膅iš´»«=,±""²>>>Øl6ïäãcCQ,œ={–ô´Ôëö/Þ¦ýû÷Óí¢öt—Η9>)fù×ëÖY‰­Z¹±óõº5t/eÐÑý¾û  %''[T!„(åy¹¤àdÿÞÝT¨Æî];0áº)º®_18‚±u]¿&ë”EqK»ðÏ|NNï¾û#FŽä¿ß}çMð÷gý7ßÐ=!Á»ìß_}E`@ÀeË={&£è…Ä4?awÝu× û|.— ŸçË|),án]@@i©§‰‰‰-’JNvV©ÖPÚ|B!(öœ|êä ø•Î]ï% 0€¬ÌL6oÜ@Llì-ñ±ËU€räÈ~ªD…aR0h|¾fÁ¢;QuM· ¸]81±h.Txô|,:8uÜ.›éæÈ±üu¨ôBÜFBBB;v ¯Ï™Shù¸qcyûíy…”·ßžGbâ8ž\¶Rÿö̳4j؈GyÄ»ìââ–9N&?õ4k×®%((ˆQ£F2}úŒBµ@/ÍœÉÂE‹HMMåì™ ïû/Ô]\StñüÅe”¶=JIwëš·lÍ·ß|EXÅpìv{±ï3 ƒÃrò$º®M|£ÆÞ€iý—kIèÕÛû:¾QcŽ9ŒËå&0(˜FM›*«B”pNÖuÓ§NÑ¡óÝøÚí¨ªJ@` w¶nÃ}ûˆ­R¥ÜŒurK(ÇŽ¤B°?Ù9r¹XÑuS÷ ê€fâÑTtSÇãÑ0t tššÇÀ£yÐ<TW>¾~þ¬Xþ÷öèCxx¸ýBÜrrrxçwiÔ¨Q¡å½{÷æåW^aóæÍ´jÕŠ7l 3ó<÷Ýw_™ÊŸ1c&áá >¬Lï{õÕYäæäðËömŒ?¡HžmÛ·ñݾ%""¢Ðò AÊÅÁGY‚‘b¯„%Ô øúúR?¾!»¶o£e›¶Å¼×ähò!r²³étwWƒ‚Ù±}+G“S·^}o¶ÐÐ dge››K»]æà_9°o/mÚµ¿f!DùP Ÿ“­ ­Ú¶Ãb± kšwyPP0­Ú¶+NnN ÊM€R©b çÎeÓ­{_2ÒÓÐMÅT@‹¢àÑ5, †i`ê_Œaš‰Åª€a¢zTš5kÎø‘O,¾·¸‹k¢£¢øê«J·X,Œ=†·ßžÇòåËxë­·;f,‹¥Ôëxýõ98]N¦NRæíû×gŸ±níoð1sæ ¾^¿¾Pž™3g NÊâ,—¨X1œs+rüØQâª×(’~úäIZ·ï@pH(ùyªW¯ÁÏ?ýHÓ;šãtæÉßüÎVX, Îü|¢cbØ¿w7þ8rsäÀBˆc³Ø9·ÒÍr X­6RSO“‘‘Æ“O>NzF:GªGEu«äææâÈsàt:QLG¾‡Ó…Å4‰¬€G50L‹Å®]»fÈÐ!|ðÁ29Ò…¸…;{Ó49vìã'L`÷îÝT«V­Pž~ýeöìÙüóŸÿbßÞ½,_öa©Ë_¼x GŽeÁüyhû222¨ZµªwþÒmˆ‰Ž¾!ûJÓ5TU-1]UUªT­ÆÎ_¶V1¿‹MªªŠËíæ»ÿû¦Ð{Àæãƒš­Ê ÝÅŸ=“áíòÝ0 ¬Vëe·A!n'·ëù°Ü(Šb¢XmX¬VLŽ9Ši𤥧¡( VKÁEíäÉt¾z{$›ö`Ãî£X…ùO=Dç‘ó9›íÄßÝS1صkùBÜE¡F,^´ˆn÷ÜCÇN¾¨ßx»ÝΰáÃ=f Ï=÷l±m,Šóá‡Ëذaï¿ÿ¿%v[n³ÙÈÏÏ'à·F÷çÏŸ/”ÉÉ“'©^½:'Nœøóv”i^v|(Ó4±X,Ô©WŸ½»vÒ¼eëBi¾¾vºuïéý¬—¾·¸×Å=+-cT !DñçC]×ÙýËvê6ˆ' 0л<7'›äC‡hÚ¼Å-1Œ†¥¼l¨ª)¨š‰©ëd¤g‘žÁ‰“'p»Ý¸\.òòóðx<¼ÿâcL}ï|lV¦=y/Ïþµ+÷Ž[ÌĹ»EòÝnt]Gó€Ýî+G¾·‘ØØXZ·nÃ?ÿùÏ"iÆ'=-•ñ‰‰¥*kõ§ŸòÙçŸóî»ï\vÄÜF ²`ÁBòóóIMMeòSOJÿË_ú0eê4Î;ǹsç˜2eê5ÿÜ—6¢¿ZAAADÇVæhòáBËc*DzmóÏœ8~Œ´ÔÓI>Ä¿ý?2. ¤+„âªX­VªÄűó—mäåå“Ãî;¨]·~þþ·Äç,7ŠæqbÑUtÃDóh(V‹b ^+Š‚¦„WÄîëƒnšèÄD„bQtS/ˆDM05VKñfåKú‘Þ¿?Íš5cñâÅÞe‡fèС4lØêÕ«Ó£GÖ­[Wâö'''Ó¿j×®MíÚµéß¿?ÉÉÉ…Öyét©жmAãÔï¾ûŽGy„š5kÒ°aCÆŽËÙ³gå—+ÄüuÐ@>üðë.gìØq$%%Q¹JUÂ#"‹LÌ;—õojÔ¬Ež½èС}¡rž}æ‚izG3îjß;ï¼ó*º ¾:¦Yp·îÒé÷ôß—EÇÄŸç(”VµZuBBBÙ½c;?~ÿû÷î!2*ŠÐ %Ö \i=2É$“L·ãt¹óaxD$uêÕgû–Mü²u ;ÙJ“;š‰Ëé,U¹e ŠÜ.×ó¹].¬Vë5¹•›G¼,xtPÈwæcªGâ((Êï {i$ÜÉOÛòíÏ{Ñ úÕÂynÑZœùNBB‚p:5TCçtê•ïêmݺ•!C†ðâ‹/Ò§OŽ9Bß¾}™8q"³gÏ&00½{÷²hÑ¢{þ5j Þ gÉ’%Œ=šõ5†MII¹ì¶$%%Ñ©S'ÞyçFŽIëÖ­q:¼ñÆŒ=šU«VÉ â¶vqƒðâ‡wéÒ….]º”˜^RY—*í@ŒMš4æ»ÿü§Ð²ÁO>é}À¢E Y´h!bÙòå—݆Ë}Æ+åÿ#:ÝÝ­È2EQˆoÜ„°°Š…–EÇÆR«N]°X­hšFž#·H9Å•YÜ2!„E…GDÒ a#öíÙM‹–­ ˆ¸êÑÛ‹£( mÛÝÅK3¦¢]ÔkX±A…ÍFÛvío¯Å©)èhšFNNùù.|ÈÉqc·ÛPCÓèúäcdUŠ%ºq#5 Åj%=%•Ž5Z°óóÏÉÉHÀÐÁ‘›{Å€ 11‘yóæÑ±cGïò9sæ0fÌüqï²æÍ›óî»ï–XÖáÇY»v­÷ÙöÄÄD–,YR¦}””DÿþýX±b…wy`` S¦L!>>^~±B”CÏ¿ðO?õn·›©S§Ò³g?e;LJ¾Ã––zºØåçÏŸ+²ÌáÈÅáȽb9Å•YÒz„âvt¹ZŠá´ëЉÀÀ òóó¯ËúýüéÒõzô*íãv¹¯z½åæ/EWÑ Š¢›—‹êÑyýû<¤%™ÙN,‹Í†€©æZ)ŒÀŠÁ„T #(ØG^áᘚŽi˜˜šzÙ/ýË/¿dòäÉ,[¶¬Ppðã?rÿý÷—iû»uëÆ‚ ÈÉÉ!;;› еk×By6lH\\:t`Þ¼y…º‹SU•Í›7—8BuRR-Z´_²åPµªÕhÕº ­Zµ&4$”gþö7Ù)B!®ü¼ÅRl7î׊ÕjÃåt’“]º)'·ÛuÕë-?5(ºŽæñàÑ4²ÏçR;:Œ%olÂ0 êW‰$9õÁ>ÿòÿ¨Ý¼ þÙ:¶|>þ6|Ò8~ÞÃñÝÛ ÆŸ‡ªt€Y¼Q£F±xñb7n\$-33³Ìx€9¿b]¹reÖ¬YãM¿ðx—®ë8p€iÓ¦qöìY¦OŸÀ¶mÛ¨S§¡¡EGYÞ³gÓ¦Mã£>’_ªåЈÃ1bøŸ¿!¦ô %„7“Ûõœ\nÓб˜n—ÊäÄ»hU?–|—L ¶3çI,_ýZÝͤZcÉÿ.Åâx¸“³mjòðîGk ¦i`Rò—>{ölž~úi*V¬H›6m ¥………qîÜ9¢¢¢J½ý'Näá‡føð‚B–,Y„ X¹rå%‘ª•øøx,X@§N¼JRRR‘š€Ÿ~ú‰ &°dÉjÕª%¿d!„B!Ê ¨TÍ ¶m=AŒo)©ÙØlVb*³m÷QÆvG“ÊÙtz oþô¾AdægÒ¥zg5HtX4yî< ÓÀíQ ‚•ôë×°°0ÌܹsIHHð¦µoßžuëÖ1dÈRoÿ¦M›øàƒ µAiРA‰ù-K¡ñ’’’˜2¥ð(Õ_|ñÓ§Oçý÷ß§iÓ¦r4 !®ÊåÚ !„øÎËRƒrss:ºæÂfóáó¯w³úË_xðFäæxøúë„û±*}%ïüÓ4±YmœÉÉ ++‹­f a¾x²õ“¼ýýÛ_¸fr¹G¼xÿý÷2dYYY<úè£Lž<™‡z»ÝN¯^½`ß¾},\¸°Ä†òuëÖeþüù :(è…«^½zÞôÑ£G“˜˜HíÚµ9uêS¦Lñö–••Errr¡6&K–,aéÒ¥|òÉ'Ô©SG~ÁBˆ?LQ,ËeoÚ!„¸qjÔ¬]êÞ"Kìçz P®‹îÆðhšŠ¿¿/F®AËÕØðÓQ‚ƒ}Ájâcõ%Àꃦi¨ºŠ®ê„ø‡ðkƯì9Y0j¼¿_Á6†f”**mݺ5«V­bàÀœ;wŽÑ£GS³fMV­ZŬY³xùå—q:ÄÇÇ3zôèË™?>Ï=÷ t%Ú¢E æÏŸïMïÑ£cÇŽåàÁƒDFFÒ»woþö[CÙ 6ЪU«Bc#̘1€Î;ZÏÁƒ ¼hdQ!„¸âùUQ âLÆd‡!Ä-(?ÏIPp0æEOèH€r•4Ý‚_P~þäææ£“'}ƒ ?œn7aapi.2³²±Y-蚎/v›¾Vt]Ç£k„V¨&=ãÒñHâããÙ¾}{¡euêÔaéÒ¥¥Þþ:uê°zõêÓ{÷îMïÞ½‹M+®ýÉ•ÆLBˆÒ²úø[¹*ÉÉ©Q£A(ŠEvŒBÜLÓ Ï‘ÇÑ£É4iÚ—Û}Óos¹ PŽø`™BˆÛžiš¨ªŠîñ`˜¦tÃ.„·EQ°( V|||°XnþqÚmågçš(V«S#GŽbš&iéi(Š‚ÕbEUUNžLç«·G²iß 6ì>ŠUQ˜ÿÔCt9Ÿ³ÙNüí¾øÚ}0ƒ]»¤KR!„0M—ÓIff&éi§ÉÍÍ•"„·‹ÅB`` ÑѱT À×î{ÓµQnUSP5S×ÉHÏ #=§ÛYø.Ÿ ï¿øSßû†;6dÚ“÷¢÷Ž[ÌÄùvó¾ÝvÓÐÑ<`·ûÊQ+„¸íy<rss8uê 7!""«Õ*;F!n†a–zš_÷ï#¤BÁ~!¨n·(ׂæqbÑUtÃDóh(V‹bA7tEAQLL4Ý ¼B v_tÓD7 &"‹¢ ›zA@c‚©y°ZŠ+W®LJJŠw~ÿþý 0€#F0räH>̬Y³Ø¸q#yyy4hЀ1cÆpß}÷[frr2/¼ð[¶l eË–¼ôÒKÔªUË»ÎK]¼ à‰'ž`ãÆ|ûí·,X°€_~ù…€€:vìÈÔ©S‰‰‰‘_¢¢lçWUåtÊ)7nJD¥( CGÓ4Ù1Bq‹¨E±pèàA:tŒ•åZ±àÑAQ ß™a¨ ‹¢ (Ñ!À°—VðHÂü´ý ßþ¼ÝЩ_-œç­Å™ï$$$§SC5tN§¦]q½[·neÈ!¼øâ‹ôéÓ€#GŽÐ·o_&NœÈìÙ³ dïÞ½,Z´¨ÄeÔ¨Q$$$°xñb–,YÂèÑ£Y¿~}‰É¥’’’èÔ©‹/fذa´k׫ÕÊÒ¥K1bkÖ¬‘_¡¢L ÓÄáp‹…³» IDATŽ®kÒþD!nA*†áÈÍE‘6(׎SSÐ Ð4œœòó]ø“ãÆn·¡( †¦ÑõÉÇȪKtãFjŠÕJzJ*k´`ç矓“‘^pAÖÁq…笓’’HLLdÞ¼ytìØÑ»|Μ9Œ3†ÇÜ»¬yóæ¼ûî»%–uøðaÖ®]‹Ýn 11‘%K–”i$%%Ñ¿V¯^](møðá¼õÖ[òëB”™iš†ÕjCÓ<²C„âO¶cûVÚ´ë€Ëå¼feZ­6ï ý›¥¼|QŠ®¢E!7/Õ£óú÷1xHK2³X, › % SÍ%´Rƒ ©FP°/޼ÂÃ15Ó015õ²w ¿üòK&OžÌ²eË '?þø#÷ß™¶¿[·n,X°€œœ²³³Y°`]»v-”§aÆÄÅÅÑ¡CæÍ›‡®ëÞ4UUÙ¼y3wÝuW‘²óóóYºt)íÛ·—_´âjB0e’I&™dúÓ§ßï ]Ÿrorå§E×Ñ<<šFöù\jG‡±äM†Aý*‘$§ž#8Їã_þµ›·Á?[Ç–ïÁÇ߆OšÇÏ{8¾{AÁ¸óóP5ƒ‚ñè‹7jÔ(/^LãÆ‹¤eff–y€ÇéÓ§óÀ0gΠ ÍÉÅc]x¼K×u8À´iÓ8{ö,Ó§O`Û¶mÔ©S‡ÐÐÐBå^h»Î_|!ÿ_ !®6DB!çd PJõ:SÃíR™œx­êÇ’ïò€ !Ávæü#‰å«`@«»™Tk,ùßå¢XüQwr¶MMÞýèo$˜¦y™¯}öìÙ<ýôÓT¬X‘6mÚJ ãܹsDEE•zû'NœÈÃ?ÌðáÂ6(&L`åÊ•…òY­VâããY°`:uò(IIIEjr.6¹¹¹¼÷Þ{Lš4‰Ï>ûL~ÍBˆ?x¢-_wØ„â¶8/ÿ‰T·UUKÝ6QQüüý±Ù®.Ä(?ã ¨TÍ ¶m=AŒo)©ÙØlVb*³m÷QÆvG“ÊÙtz oþô¾AdægÒ¥zg5HtX4yî< ÓÀíQ/û¥÷ë×°°0ÌܹsIHHð¦µoßžuëÖ1dÈRoÿ¦M›øàƒ µAiРA‰ù-K¡ç“’’˜2eJ±yƒƒƒ9r$o¿ý¶ü…¸FÂ#"9wöÌíuDjP„âf;/_ŽÃá ((èú(ªÊ®];ÙðcÒ•ƒ ›VmÚÒµ[.gþí 8 ]sa³ùðù×»Yýå/<ø@#rs<|ýõBƒýX•¾’w~„išØ¬6Îäd••ÅV30ß <ÙúIÞþ¾àŸxS3¹Ü#^ ¼ÿþû 2„¬¬,}ôQ&OžÌC=„Ýn§W¯^°oß>.\XbCùºuë2þ|† À;ï¼C½zõ¼é£G&11‘ÚµksêÔ)¦L™âí,++‹äädZ´háÍŸøÿÙ»ïø¨ª¼ñãŸ;“É$“F„Ð`P‚€º¨< *" ‚¢‚J³fYvíˆXÙGB³,?pEôµ*`a÷±aé½%!”@ m2íÎ-¿?"#C ®º ù¾_¯¼˜¹ç̹÷ž9æ›Órrxàèܹ3ååå,X° (]!~^„òë…(¯ZÁÐn”zBˆF.7ü™|äÐ!vîØF‹{’TÏv¿ÌéMÖ~÷ 3žz†°°°³æõz½<=óq†^wÿîÜþæ³Ì°îÃðhšJxx(†Ó w¯|óí¢¢BÁjb³†â°ÚÐ4 UWÑUèðhö”íaÇáÚ]ãÃÃÂ04£QÝU}ûöeùòåŒ7Ž“'O2yòdRSSY¾|9Ï=÷³fÍÂãñ‘‘ÁäÉ“,'//Gy„ùóçЫW/òòòéC‡eêÔ©ìÛ·ÄÄD† ÆŸÿüg¾ùæúôéƒÍf äÿ¯ÿú/²³³Ù·o­Zµâꫯ,a,DKŸÔv3GFFÒ©SG®¾êj&OÎ&!!A*è§â“z޲j ‰­éÕ§o݇?Yµ‚kt\{ÃDEÇP]]%•-„ü\n(8Ù½s;­ZŲ}ÛLøÕ‚]×28 Zà©E(šn!,2’°pN§˜ö‡ÀbéÃãóÛ ¯æ¥¢²Š«]Ó±ÙB±‡„jE×uüºFL«V`‚E©³3÷#ÉÈÈ`Ó¦MAÇÒÓÓyýõ×}ýéééu–>ݰaÃ6lX½iõÍ?9[~!ZºSC³\.…¼µì- ¼Š?ú:Hí¿Âþpãp8(9v”¤¤ä:iÑÑ1TWU6ê Í'„‚z?“>Äþ½{xÍ`*+*øþ»oHJN>/n»Ù(E‡Å+óò(..@3-`è†Õg¢(àu»0+tT¿Xðú|`*h¦]÷ãu$'·Å«z1•æ1ÚzÍš5ç4ßEQ+""‚=2éÑ#“èèhž}ö9,¨íÅÔugžy–¥o¾‰ËåâÚk‡0g΢NËûòܹ̟¿—ËÅM7 ç//¾˜GVß•Óy<¦ýq:+W®$22’ììIÌœùTÐkšâ<—†>³z÷åÓ~Ll\| Î|aäïÛKñáÃèºFb›¶d\”èý]ýáJ†\?,ð8ã¢LŠ óñz}DDFqÑÅ# W!øLÖu£GŽpåÀ« µÛQUGD—ö½Œ½»v‘Ü®]³Ùëä¼P®»á6>þxºâ¤ß€þ¨^?>W%^KÙqjPŠ⋊«¥äÞÄvx}^œn‰ª°FpbK'œÕì,*Äír7‹{ÿî»ïä7TˆÓãÆ1ø´Å.æÌù+[¶nåóÏ>%*:š‡~„§f>Å‹/¾ô»÷Õš/x '‡çž{ž3žhÔùž}ö9œÕÕlÞ´€ßÿþÁæñ?a=(¡¡¡\Ñm›6Òû²Ëëy­É‚ýTWU1àêkˆˆŒb˦ (ȧk· ÙbbZQUY€ÓéäŠ+¯"**Š}{÷°w×N.»¢ß/6D@!š„ü™lµXèsùX,tM ŒŒ¢ÏåWÔ'çÁjŒ!Íéb¾ž­;¿çÞ»&b¥{÷®ØBí¤$'qxË6’ÛµÃ_U‰ßãÁÑ*ž²Í›°Ø¬ªÎ²e›©©òc±mÅcš8«kj{W„-B›6m(/¯<_ú曼óÎr’èâñÇ0ðª eÖÓO“˜˜øÃãYÜ4bD£”¼÷«V®Ì{ùïÿ~ŠOV¯ÊÓÜV ‹‹‹çd\‹бSç:éG¦o¿+‰ŠŽÁíª¡S§Î¬ýök.¾$ O=+ºd]Ú‹EÁãvÓ6)‰Ý;·ÆY- V!ŒYÌzÿs>ýq§Y(V«• ÒzòÞ{+¸ûî»ðz¼((hÒ¤ªªx}>>ÿ×?ƒë±ÙP«Ô ¼v»ÇË –†Õj=ë5!DKÒR?CšÛ?ó—g°Û,Üqût]ÁĨKb„`ê*š_CÕÃħ« ùˆ×Mî¹ójÜUìÚ±¶í:Ò£Grss¥å ÑB,Yº”ž·iÓ†ÕŸ|LRRRƒ¯9xð ©©©:t(Лµë½»ÝnåååA¯MLLäðáÃtêÔ)ðú&Ï4Ϻº¡išX,Ò»]ÀÎm[ÉêÝ7(-4ÔΠk¯ ÔÉ™¯­ïq}c¥MÙ,R!êý<Ôuí›7Ñõ ãÎê* öïçâ¬^uþØ&Êoàñ‡³ö/oo.]Ê‚… ())¥´´ä‡wò´7õ‡'¦ =23ñù|¼÷þû¿ŠÊ‚BœßÜn7ùù,{{|°‚?ú0v÷]w‘û‡?ðì3Ïо}{öíÛÇKsæðÚi{=þøüÏÿü€Ç{œ‘·ÜH»¨{wæÍ›Ï”)“©ªªâ‘G :÷Í7àñ'fð×9/Ê:SsÝ 222’¶É)(È:ž”’ÌÆï×Ò±s*¡¡¡¸Ý.‘qQ¦4F!„øX­VÚuìÈÖÍéѳTWU³cÛz\’EXx8>¯W”ßš=ôÇÕcÆŽÇØqã~vYçC„)„ Þ/þŠ¢ápЩsg®¾ê*¾øü³ ßÿ>‡ÿyùeFÜ| %%%¤¥¥1í*§ïe}éwe\.7Þx#=ôç@Úœ9søýƒ¿ç/³g“””DNάX±"þðC1mÚ¹ø’žDFFrÿ}÷ñégŸ5éz3M~²å”¶IIìÞ±=(­}‡N”;Æö-›ðx<„;tJíBôiãÏ,§¾óÉ„¢áÏÃSû}mZ¿ŽÈÈ(jjœôìÕ›„ÄD<Ï/~ V«¯×Û¨­VkË P„âlÛ#a±XÈ}ðAr|ð¬åä<ð@½é=zdòùÇ=wßxìp8X°`~`Yã}û÷³déÒŸu­ÿi®T瘢(ddö 66.èXÛädº¤wÅáp`±ZÑ4 W³N9õ•Yß1!„Ô¤\Øý"víØN¯Þ}‰OHøU‚EQè{ùÌzê ´ÓV «7¨ á²+~÷‹tH€"„¿’G{Œéü#>Ÿ'žx‚ë®Ú¤¯×¤á9(%ÇŽÖ{¼¼üdc55Nj~JÎVN}e6t!„h‰ÎÖ£ŸÀW ""·û×Ù:#ÜÎ5ƒ3ôºÐx=ÿþ³f î¦]›XLjW†qk,ºU7Ñt ŠÏ‹‹æEõƒ_wcÑÁ£+àóRã71}sû¥Õ !~UÚw OßËðy½\{íµ<ôç?K¥!„øÅX,–z—qÿ¥X­!x=¼¿BïÌy í£UT8UÕ58kœXÑuS÷£ê€fâ×TtSÇï×0t t?ššßÀ¯ùÑü~T¯›Ð°pÞZúƒ‡Ž >>^Z·âWqÿý÷qÿý÷5Ÿ 6eþ‡B4©åú™Ül”Öqœ§ÓI«ǃbÔ¸}Ôx¼XL“Ä8~ÕÀ0 , Û¶mÃÅ„‰xã%Ò „‚³ÏABñø\–”¦MQLk«S˜¦IIi Š¢`µÔî>|øp)¿<‰u»ñÍöX…¼?ÞÂÀIyœ¨òn%ÔnÃT ¶mÛ!-_Ñâ)Š‚Åb©]gX!Ä\çÔ4JKŽýÂÁNíê%@ù©š‚ª™˜ºNYie¥ex|žàÈÒ„ÅOŽå‰×þÉMý»3ãîÁè†Áà’{û@>ý~/Ÿn܇ièh~°ÛCå7@ˆßÐ?ÞYVçØUC†KÅü‡Y…ÈÈHŽ—Çá BˆóÛå!2* Ó0šþÿKÍ¥R5¿‹®¢&š_C±*X ˜ PûXQ4Ý ¾UöPºi¢”ƒEQÐM½6 1ÁÔüX-õ¯Óœ’’ô|÷îÝôìÙ“… Žåçç3qâDºwïN§N:t(«V­jðú 3f iii¤¥¥1fÌ ‚ÎyæÏ™öîÝËå—_t¬¼¼œÞ½{×›_ˆ¦ææQ£¹é–Û¸vØ- ¾þf®:B*¥ °Úl$§´§ `5N'¦iH¥!ÄyÂ4 jœN öqÁ…âõùšü57›‹~Ü7†a ú5,Š‚¢ÔNˆ¸÷é·¸uÈ¥|»iŸ®Ý‰nè\Ð!žG¬Äãö‰Ç£¡:G•üäy7lØÀ„ xòÉ'1¢öËTaa!#GŽ$77—^xˆˆvîÜÉ‚ ¸á†ú׉ÎÎÎfÈ! gÑ¢ELž<™Õ«WòŸõZÖ¬YÀ‚Žýå/áÎ;ïä¹çž“ß@!ÄÏb³ÙˆiÕŠ®Ý. ¨°€šššÀgªBˆæÍb±É…ßWóÙLQÀ£)èhšFuu5n·—‡êjv{Š¢`h×Ü=–ÊÖɴͼˆMC±Z)->FÿνØúþûT—•`èPãtþd@““Ãܹséß¿àøìÙ³™2e ãÇËÊÊâÕW_m°¬üü|V®\‰Ýn ''‡E‹S¬Y³†1cÆžïß¿Ÿ/¾ø‚Ï>ûLÑ,ȯ¦ûŸWhh(Ñ1Ñ´oßÅb‘JBˆóˆiøTµY'Í*@QtÍð£( N—Õ¯3oþpÖ~wˆ¼yß뀇SuÓ:¿×KˆÝŽZ}’ÃùÕ8âã©:zÓ015õ¬+#|øá‡<ùä“,Y²„ÌÌÌ ´¯¿þš'žx✮РAÌ›7‰'bš&¯½ö×\sMPžîÝ»SSSC‡¸õÖ[™}:aaaò›'š…›GÆ0L¼ª†a˜è†)©o*Ÿ±Š‚ÏëÃçõIe!ÄyüYß4Ÿ]GóûñkUåNÒÚÆ²è¥u†Áí)8v’¨?üiY—^¥âöc ÁVRCÍÚܾGd>· U3¨Ý¾~ÙÙÙ,\¸°NpPQQqÎ<Μ9“áÇ3{öl vÎÉŠ+駆wéºÎÞ½{™1c'Nœ`æÌ™lܸ‘ôôtbbb€ÚÞ”òòrnºé&ùmB!„çf ˜†ŽÅÔðyU¦åüŽ>$ãöúÁ„è(;³ÿw KßùŠÛû\ͺLÅý¹ÅŽø¹”—¥2jûmµËhšµ†LîAyá…˜>}:qqq\vÙeAi±±±œVEHˆ•¤ÖQlÜ~€©ý GJ&뎮ç¯ßþ¡‘T¸+¸ªÓ@îÈGÛØ¶¸|. ÓÀçWϺæÿèÑ£‰åž{îaΜ9 2$Ö¯_?V­ZÅ„ }ýëÖ­ã7Þšƒrá…6˜ßb± }Y³f ?þxàùž={“öOIIIùɉöBü'É/!„Bœ7ŠÇÐÑ5/!!6Þÿd;ï|¸™›†_„³ÚÏ'Ÿì%&*Œå¥ËøûÖ71M“kǫ˨¬¬dƒAlh+îî{7/ù2¦fr¶!^C† añâÅL˜0ÊÊJn»í6¦M›Æ-·Ü‚Ýnçúë¯Çáp°k×.æÏŸßàDù®]»’——Çĉxå•WèÖ­[ }òäÉäää––Æ‘#GxüñÇ+‚UVVRPP@¯^½ùÏ D$8B!„ ü†,ºÃo i*áá¡NƒÞ½:ðÍ·ˆŠ «‰ÍŠÃjCÓ4T]EWu¢Ã£ÙS¶‡‡kw ÀÐŒ³N’?¥oß¾,_¾œqãÆqòäI&OžLjj*Ë—/ç¹çžcÖ¬Yx<222˜}°ÙlÒb…B!„(M¦[‹Œ$,ÜÓéF¦ýá°D:Âðø|ÄÆ¶Â«y©¨¬"ÄjA×tl¶Pì!aD„ZÑu¿®Óª˜ÔnôX3{"222Ø´iSбôôt^ýõF_zz:ï¼óNƒéÆ cذaõ¦9ÿ¤1×,Ds÷Õ—Ÿ3dè ¸Ý®Àc!„BH€Òd>HLT¯ÌË£¸¸Í´€¡c~TŸ‰¢€×íÂP¬XÐQý:`©Ý-ÓTÐLºîÇë4HNn‹Wõb*f³¸÷5kÖœÓ|!Χ$œ!„ 49×Ýp¼]qÒo@T¯Ÿ«¯Ç‡¥ì85 (EñEE€ÕŽRrob;¼>/N·‡ÄNUX£ 8±%‹Îjvâv¹›Å½÷ÝwÒRE‹ãv»ê},„B PšŒÁƒ¯gëÎï¹÷®I XéÞ½+¶P;)ÉIÞ²ävíðWUâ÷xp´Š§ló&,6+†ª³lÙfjªüXl[ñ˜&ÎêšÚÞ!D“$C¼„Bˆ–ÉÒœ.ÖjµrAZOÞ{o­bbðz¼hªÊÁ…x=^ÊŽ£øX)ªßOñÁ"4݋݂_Ѩ¨*£¼æ å•”>‚»ª²ÎNîBˆ¦C†x !„-SHs»àgþò v›…;n®+˜µsIŒL]Eók¨`˜øt4ñºÉ=wÞA»Š];öѶ]GzôèAnn®´!š(â%„BH€Ò,<þУ`‚ÝnçÍ¥KY°p%%¥”––Ôf8mÞû©âMzdfâóùxïý÷騱ãÇMiB4Q2ÄK!„¥Y°‡ÚÇŽÇØqã~vYŠ¢H ¢‰’!^B!„(BÑdÈ/!„¢e²H!𢝾ü‡#¢Îc!„BœßšUJaánÚµ‰ÅÀ­Y°èTÝDÓ-(>/L,šÕ~ÝE®€ÏKß ÄôQXTÌíwN”w_ˆ&L†x !„ 4iEEûhNUu Î'Vt]ÇÔý¨: ™ø5ÝÔñû5 ]Ýf€æ7ðk~4¿Õë&4,œ·–¾Æà¡#ˆ—V D$C¼„B Pš´Öqœ^¯—Û…ßïgñ“cyâµb ±2ãîÁ<|ç5 ~`!¹·äê^é¸}>t]GóƒÝ*-@ˆ&JVñB!$@iÒ4¿‹®¢&š_C±*X ˜ PûXQ4Ý ¾UöPºi¢”ƒEQÐM½v÷xLÍÕRÿF)))AÏwïÞMÏž=Y¸paàX~~>'N¤{÷îtêÔ‰¡C‡²jÕª¯¿  €1cÆ––FZZcÆŒ¡   èœgþœiïÞ½\~ùåÎ/Ds&C¼„Bˆ–©Ù ñ²à×AQÀíqcª_â((Jí„x€{Ÿ~‹[‡\Ê·›öñéÚè†ÎâydÁJFÿνØúþûT—•`èPãtþd@““Ãܹséß¿àøìÙ³™2e ãÇËÊÊâÕW_m°¬üü|V®\‰Ýn ''‡E‹S¬Y³†1cÆH«-‚¬â%„B´LÍfˆ—¢«h†EQpºœ¨~¿¼t÷LèME•‹EÁ‚âp`ªNbZÇEtëX"£B©qUãˆÇÔtLÃÄÔÔÚá^ øðÙ6mK–, N¾þúkn¼ñÆsºþAƒ1oÞ<ª««©ªªbÞ¼y\sÍ5AyºwïNÇŽ¹òÊ+™;w.º®ÒTUåûï¿çw¿û]£ò ÑÜÉ/!„¢ej>=(ºŽæ÷ã×4ªÊ¤µeÑKë0 ƒ Ú%Rpì$Q6~ø/Ò².#¼J'ÄíÇ‚­¤†šµ;8¸}#ŽÈ(|nªfP»}ý²³³Y¸p!™™™uÒ***ÎyƒÇ™3g2|øpfÏž ÔÎ!Y±bE ýÔp-]×Ù»w/3fÌàĉÌœ9€7’žžNLLL£ò ÑÜÉ/!„¢ej6=(¦¡c15|^•i9¿cþ_næ±i×ðÄÿ‹ÅóneøÝ9Z^Jï”^üw—©Üðy7¯çÆ5”Ç.›†pj’¼i`ÒpÊ /¼ÀôéÓY»vm´ØØXNž|xƒåäåå±víZ²²²ÈÊÊbýúõäååÒ‡ÊÔ©SIMMå–[n¡K—.<ýôÓ|óÍ7ôéÓ›ÍÖ¨üBœdˆ—BÑ25›!^šn!,2’°pN§˜ö‡ÀbéÃãóÛ ¯æ¥¢²Š«]Ó±ÙB±‡„jE×uüºFL«V`R»Ñc=ÎÜ_$##ƒM›6KOOçõ×_oôõ§§§óÎ;ï4˜>lØ0† VoZ}óOΖ_ˆó ñB!$@iÒŠ$&*ŠWæåQ\\€fZÀÐ1 ?ªÏDQÀëva(V,è¨~°àõùÀTÐLºîÇë4HNn‹Wõb*f³¸÷5kÖœÓ|!Î²Š—B!J“vÝ ·ññÇ+Ð'ýôGõúñ¹*ñz|XÊŽS“€Rt_TXí(%Gð&¶Ãëóât{HìT…5º€[²8á¬fgQ!n—»YÜûwß}'-U´8²Q£B!J“7xðõlÝù=÷Þ5 +Ý»wÅj'%9‰Ã[¶‘Ü®þªJüŽVñ”mÞ„ÅfÅPu–-ÛLM•‹m+ÓÄY]SÛ»"„h’dˆ—B!J“gµZ¹ ­'ï½·‚»ï¾ ¯Ç‹‚ÂÁ…¨~²£Çp«>ZE„Sq°ƒ({ ÕŠŠª2œ5ÕX°QítÔÙÉ]ÑtÈ/!„B”fᙿ<ƒÝfáŽÛG ë &Fí\#SWÑüª&>]ÍG¼nrÏwPã®b׎}´mב=z››+-@ˆ&J†x !„ 4 ?ô(˜`·ÛyséR,\@II)¥¥%µN›÷~j§xÓ„™™ø|>Þ{ÿ}:vìøÃqSZ€M” ñB!$@iì¡öÀã±ãÆ1vܸŸ]–¢(Ò„h¢dˆ—BÑ2Y¤ „M‘lÔ(„BH€"„M† ñB!Z¦f5Ä«°p7íÚÄb àÖ,Xtªn¢éŸ&Í‹ê¿îÆ¢ƒGWÀç¥Æobú(,*æö;'Ê»/D&C¼„B Pš´¢¢}´Švpüx9UÕ•h¦]×AWñé h~ME7uüªC×0u?~tUGÕühš†Ïí"<ªo-}ÁCo">>^ZM¬â%„BH€Ò¤µŽ‹ ´ô$÷fOGÓUÝ(fídwÃ4PP0 P+t™˜?®ÖeÖ>w„9;j1ÑQÒ„h¢dˆ—B!J“fµ†pð`ññ±ÜrËtÝÀ4M,¯×‹ß¯†×çkp…®ØØXþû¿ŸÆ΄‰xã%Ò „h‚dˆ—B!J“¦(&–ºnpôè1¶lÙ‚ÝnÇbeËæ-:tŸÏGvv6)))TWWc±X‚ö:1M“ˆˆBí6L ¶mÛ!-@ˆ&J†x !„ 4iª¦àUuBCm,]º”…P, >ÕGXX¶‹…7ÞxƒîÝ»3lØ0 ÃÀbùq¡2…yóæ‘Ÿ_€i„`·‡J ¢‰’!^B!„(Mšæ÷Ê[o-#""œ„ÄLÓ$ÌcÃðª(v !Š‚ªªlذõë×3êÖQØBl)ƧúXµj¡¡vCÃj©XJJ ÅÅÅç»wïæöÛoçþûïgÒ¤IäççóÜsÏñÝwßár¹¸ð ™2e 7ÜPÿ©‚‚{ì1Ö¯_@ïÞ½yúé§éÒ¥KàœgŠŒŒdïÞ½ÒJE‹$C¼„Bˆ–©Ùìƒb1 Æíã²Ë/ãþûï'ÂAMµ#µ ö›ûá9Q‰×ëE×uBBB eéÒ¥,zuãÇgìØ±üßÿýsçÎEU} =Vò“çݰa£Gæ‰'ž'………Œ9’+¯¼’¯¾úн{÷2kÖ,>øàƒËÉÎÎæÒK/eãÆlܸ‘ž={2yòä@zqqqÐÏŒ37nœ´PÑbÉFB!DËô«ö |ùå— 8°Ñù¿øâ  PošGSð©;´'33“¶mÛ¢ë:» %ÔFèÅW±úŸÿ$??Ÿêêjü~?—÷½œ—þúaöÚ!`ÅG‹iÓ¦ †¡PãtžõzÖ¬YCNNsçÎ¥ÿþã³gÏfÊ”)Œ?>p,++‹W_}µÁ²òóóY¹r%v»€œœ-ZTo^UUùÛßþÆ{ï½'-T´X2ÄK!„h™~Õ”ðÅ_À_|išu~NOo(8PtÝÔPý~Ün7V«»ÝŽÍT°ú4tÃà¶Ûn£_¿~8NÂÃÃÙ´i™™™¤¥¥Ñ±SG®¸â n½õVBCí¨WÐú3}øá‡L›6%K–'_ý57Þxã9ÕÅ Aƒ˜7oÕÕÕTUU1oÞ<®¹æšzó¾ûî»\qÅ$%%I -–Ûí í:ý±B!$@ù·ƒ”wß}—‘#Gòå—_¥}ùå—Œ9’wß}÷¬Á €G×ñûý}ON9b(Š‚ÓéDQÚ´iƒaØÃì$$$Ð%½ e^ÄðáÃIˆO@U}hú©Tê—ÍÌ™3ÉÌ̬“VQQqÎ<Μ9“eË–qá…’‘‘ÁÛo¿ÍSO=U'Ÿa,X°€ììli¢E“!^B!„(¿ir.Á €iè(šŠyZLaš&Š¢UUéÙ³''N¤¢¢¿ßOjj*e\DRÛ$TŸÊÈ‘·üpç & ÷ ¼ð LŸ>µk×ÖI‹åäÉ“çT¹¹¹Œ5Š]»v±k×.FŽɃ>X'ßÊ•+éÒ¥ éééÒ:E‹&C¼„B P~³ å©§ž:§à@QýøuPN‹)E .¦ü°ŠWTT½zõâxYY™TWWãv»ñz=Ô˜µ:ú|^8˯ѣGóÒK/qÏ=÷°zõê ´~ýúVk¬uëÖ‘““CLL 111äää°nݺ:ùæÍ›Ç”)S¤eŠO†x !„-ÓoºÌð© eàÀ?9çäLCG×½uúiB!„B4!–æt±V«• ÒzòÞ{+hƒ×ãESU(ÄëñRvôÅÇJQý~Š¡é^ì–üŠFEUå5)¯¨¤ôðÜU• îä.„B!„øÏinüÌ_žÁn³pÇí#Ðu£v.‰‚©«h~ U Ÿ®‚æ#^7¹çÎ;¨qW±kÇ>Ú¶ëH=ÈÍÍ• „B!„(?ßã= &ØívÞ\º” PRRJiiIm†Ó潟Ú)Þ4¡Gf&>Ÿ÷ÞŸŽ;þp\&É !„B!Ê¿Áj<;ncÇûÙe5´Ì°B!„â?Ã"U „B!„E!„B!Î"UP—®ë|´ú#Ö|³†Kz\ÂÍ7ÞLxx¸TŒB!„ üö¦?6cåÇpD9øèËøü«Ïy-ï5©!„B!$@ùõèºÎË ^fÖ ˜†É„;'–šFqi1­;´Àéàø‘ã¬üh%ÿXùÜn7t½€?<ðb¢c¤ !„Bñ jÑsPžxú 6îÚH\»8âÚÇ1ÿoóyíװ؃«¥¦¦†Eÿ»ˆð„pZwnÍ’üñ‘?JëB!„B”_†ßïg×Þ]ĶŽj—NNMfóöͨ>õÇ|ªŸªŠ*:^Ð«Õ @L| U5Uœ,?)-H!„B Pþ}¥e¥èºŽ¦iAÇÛ¥µ£¼´<ð¼hiÝÓ°X~¬*Ó4q»Ü=vT6{B!„B”Ïósž'÷Ñ\B¡ìÙ²‡›vR]Y €-ÔFhX(·ͯ¡úT"£#ðy}ìÛ±v` ·ñôKO“ý`6†aÔ{ž””” ç»wï¦gÏž,\¸0p,??Ÿ‰'Ò½{w:uêÄСCYµjUƒ×^PPÀ˜1cHKK#--1cÆPPPtÎ3ºuëÖ`yŸþ9·Þz+©©©tïÞ©S§râĉ:÷qêç\ËkRRR8p` Ï4M ð³ÎÿK:½ÒÓÓ¹í¶ÛØ·o_Pž={ö0nÜ8ÒÓÓIOOgܸqìÞ½»YݧB!„(¿¡â£Ålز¶Ú’Ô1‰‹.½ˆ®u娡cìݾ]×Ié”±CÇ(-.%©}Gaߎ}´ëÔŽÌÞ™´KmGëö­©òV±êãU?yÞ 60zôhžxâ &Mš@aa!#GŽäÊ+¯ä«¯¾bï޽̚5‹>ø Ár²³³¹ôÒKÙ¸q#7n¤gÏžLž<ùÇû+.ú™1cãÆk°¼W^y…I“&±}ûv¾üòK¢££ƒÊ;½ÌßBxx8ÿú׿‚Ž­^½‡ÃÑ4ÚÏu±qãF.¿ür¦NH;pà·Þz+C† aÓ¦MlÚ´‰!C†pÛm·qàÀfuŸB!„ üFvïÙÕn :f µÑ­G7Ú¦´eûúíèºNÙ±2Ž!ÄÂÎM;Q, ™—f∠þéˆv°yëæ³žsÍš5Lœ8‘¹sç2bĈÀñÙ³g3eÊÆO\\v»¬¬,^}õÕËÊÏÏgêÔ©ÄÄÄCNNùùùõæUU•¿ýíoLœ8±ÁòÞzë-®¾új"""HHHàñÇgýúõÿ±÷gòäÉÌŸ??èØ¼yó˜2eJÐ1]×yæ™gÈÌ̤K—.dggSSSH÷x<üþ÷¿'--‹/¾˜ùóçõLùd£¯³ººšùóçÓ½{÷À±¯¾ú*(=eĈ|õÕW?ë>…B!Zš·JjçT.íq)ë6­Ãæ°árºð¸>þœ®æÌ™ >œÙ³gµóV¬XQ'Ÿa,X°€¿ýío.{ÇŽ̘1ƒ7ß|óg×o}ó'Îû,|ðÿøÇ?õ;cÆŒ !U_|ñEàqxx8?ü0}úô9§ûkݺuPÝ———“˜˜Xç5‰‰‰”——ÿ¬ûB!„¥}ËhÖ­_‡³ÒIBÛ"»D¢(Jí—Ìãåì.@×t,V ®­“[Ó¹kg v"³ÇåádÙIt¯ÎŸ¦ü ›ÍÖà¹^xá¦OŸN\\—]vYPZll,'Ož¤M›6¾öÜÜ\FÅ}÷ÝÀ¢E‹xðÁY¶lYP¾•+WÒ¥KÒÓÓUî·ß~˃>È¢E‹èÒ¥ËÏ®Û3ƒ”””sž¿2jÔ(fÏžÍûï¿ÏîÝ»Y¼xq<%%% 0 èØ©÷ ¬¬ŒvíÚž·oß>(ïúõë™5k;vìÀãñÔyýéÈé×_\\ŒišüäÃĵ‹£s·ÎDÅD}1K¬ý"¹xÎb–¼¼„â¢bÚwnô%Øé }j{:\Ч_|šŠÊІƒ¡Ñ£y饗¸çž{X½zuPZ¿~ýκbW}Ö­[GNNNДuëÖÕÉw.ó>øà¦NÊ«¯¾JÏž=ÿãïÝng„ äää0qâDìv{mÚ4òòòXºt)ø|>6oÞ̽÷ÞÛ`Y]»v%//ªª*ªªª˜;wne„?ýôSÂÃÃéÝ»w½eœÞ;°hÑ"fÍšÅÛo¿ÍÅ_ÜdÞ§©S§rèСƒ¬;?ýéO¡i»wï&;;;>|øpfΜIyy9åååÌœ93èõ^¯—°°0ìv;‡âOúÓ9_crr2}úô %¹¹¹,X°€%K–àt:q:,]º” ››û³îS!„B”ó\hh(V‹µÎÞ%n—›mßo#2:’¶íÚCbR"aŽ0Ú§¶g׿]T•WÕ)Ïçò‘Ú9õ'ÏÛ·o_–/_ÎóÏ?X½)55•åË—óùçŸsÅWЭ[7}ôQ†Þ`9yyy¬]»–¬¬,²²²X¿~=yyyAyæÎ[g©à†<õÔS3pàÀ }>\.WP@s*¨ù¹û¡üLŸ>}¸õÖ[éÒ¥ S¦LáÚk¯ ¤ÿéO"""‚Þ½{3pà@²²² ùqDãìÙ³yòÉ'IKKcÔ¨Q s?eìØ±9;iii¼ýöÛ|òÉ'ôìÙ“ž={òÑG±lÙ²kØœB!DK¢<0y’ùò¼”Ÿ¬]b5.>Ἷ鯿ûš_~‘˜ÄTŸÊñ’ãX,:wëŒ=ÌNÁîÚ¤´Áj£hÝ2»aóârºˆo#ÂÇéaàå™rŸüõ»©ËÏÏgܸq¬]»V*ãWtês ÷åró°!T»ý膉a?ükâU5 ìs<.ÊÎÚµß2'gp½å¼jcÇßt!„B4O›/>ý?†ÞP»ªmñ‘üúÊ+-s’|¿ËûÑ>¥=÷åÜGlÛXº\Ø%0äK×u\NW`÷xEQðy}ØÃìtîÚ]ש8QAÉÁžêyz^ÜSZW5cÆ rssQU•™3gõ°!„Bˆ¦©Å®išœ”LDd‰mƒæ£›xÞ¡Kòwþ¸¢Õj%¡M±ñ±´iÝFZPÖ¾}{®¼òJ~÷»ßÍôéÓ¥R„B!š¸–zã6›ä6ÉTWVÝ*€ãÅÇi×¶ÞWå ÃnçPþ!Úwi¢(¸]nì!v’“’¥5a'NdâĉRB!„ÍH‹Þîù§ž'ÆCIa Åû‹|å`r&å`¨Áè[Å´âÚ×R¼¿˜’ÂBý¡ÌynŽ´!„B!~a!-ùæ#""xùÅ—ƒŽ™¦‰#ÔAåÉJbâbp9] Áý÷ÜOöÄli1B!„BüŠ,RÁEaî‹sÉê–ʼn¢tˆïÀË/¾ŒÅ"U%„B!į-Dª ®ˆˆr§æJE!„Bñ“n!„B!D“Q§åÉ¿ï’ZBü,9CZK%!„â— PLS*Å4tŽìû†Òƒ[ˆm›NÇ ¯"$4L*F!„Bˆß<@A"”ÿz™ðP'm[GàªÞÈúO6rÙJkB!„â7PZPŠièì]·œŠÒ½˜†IçKn *¶hå$¥ÖnÂèˆtàª9ÆÁ]k8¶ÿKt¿—ȸŽ\pùBÃ"¥ !„Bñë(-çæ·~þ*ö .¼( Ó4Éßñ¶ˆöDE‡åÓTGv® [fg¬V+'*ØôϹôö°´ !„B!~Ý¥eD(†®áª(¢Ó%ÚýOÒ3Ú³ks>¡ñŽ@>¿êÇYYÍÅ—õì…›ÃÉãÅx]•Ø1ÒŠ„B!„åßãvžDÓt4M#$äÇjHïÞ‘=[ö’Ü¡vˆWÑþ"Ò/J Ú¨Ñ4MÜ.7®ê2laQ(Š"-I!„Bˆ_%@i7½ç»¥x+÷Îî-{°XÚ§¶'ºU4¶P¶°P¿Á“ßQoy]S¢èß=‘Ž­#P5ƒ}ÅNV­?ŠË«ÝÇ)§ßOcœY?å§êãôkñú ö;ù`í\>=p¼u+;ã¯îÌ‹ÿØÃ³ã{PVécÎ{ëœ+÷¦n´Ž±Ÿó= !„Bˆß2@9Ï{PÜÕÇñ”ï'=£ÝGRð«~ ÷rìð1Ò2Òhß9…c‡Ža³“Ô> €#ŽPq²‚.tÁùã°c‡Ë(Þû )ÝúÕ{¾SõÙ!ÑÁWwfÕúb¶VʽCºðé–þñía|~ƒä¸pd¶f{Qe½åБ]‡ªyó‹"úwOdÌ€Ž¼¼býïÖ üý2‰vØ|_ûe$°fGJ]ØB, º¤ cúwàÕÕ<§Ê|Vûhìk[§®'",„z'3âòv,ù¼(ž–ž£ÎÀyUÍà‚vQì>\È“Ñ!Õo´ˆ6/„BÑœXêû2y>ÿT• :Æt϶PÝzt£mJ[¶¯ßŽ®ë”+ãHÑBl!ìÜ´Å¢yifPpIUé¾zÏuª>Ó’"¹ãêμµæ › *éƒ.iËÛJùnÏ \^ M78tÜÅ’Ï4xý­cÂølk Ÿ†Ç§ñéÖcÂêÍkQàŠ øjgYƒå½¶º€=Gªñùuj<~>ü¾˜Ž­#Îz?çòs.¯iL}œ^^ÇÏkžTNzr$û‹«ù¿Ø^Ê€ÌÖAyf¶æ‹í¥-¢Íÿ–?B!„¿B€r~ÿD´JÆåö×[1q1tëÑmßo#¡Mºt`Ëw[Hl›HJÇ”z_ãrzˆŒïTï¹.êÃÈ~øÛ? Ø_ì JOKŠbKaÅ9]ÿ®ÃU Ìlƒ=Ä‚Ýfe`fv®ª7oV—8 Jj¨rù]~Zr4Ë\ ÞϹÖ÷¹¼¦1õQ_y§³( ÚD²ÿhM mûJ"ÃBèiBç6‘8ìV¶¨lmþ·üB!„øwµ¸!^±ÉØ"»°o×>ââÃq9]x\ž@ºÇí!"*‚›î¼ «ÕÊ}(;V†i˜ €#ÂAtl4.—¯/ŒYý¬·±WufÉg8rÂ]÷ZÂB¨ñøÏé‹ÝßaCz^ IDATê°® Îj @EJÞÊ}uί2[ó¿ÿWØè÷49.œû¦ðê'ù ¾æ§ÊzqBÏ:Ç^¸ç’ çÓ_ß\ÿ{ÓÈú8u a!ÜÐ'å‡ÀïÔPºÊ*½x|?Ρ1L“/¶•2°Gkþ÷_…\Õ£5_l+Å8­GF!„B4Ñ¥%Hév5Û?ÛE¥RM›äD"»DVâ*?^NÁîtMÇbµàªqÑ:¹5»v|™õ¸</=IU¹—®—Äbm¸ßýú£úuÀåÕ8PR”æòjD„…àôh¾öÑ:²q9_î(ƒ‚Ñ:òÊÇùAùztnÅñ*/e•ÞF•Û%)’Ñý;òÿ>;À‰jßÏ®Û3ƒ'ôl0 9ScëãTT;I¾šw¿>Hëšžâê:¯Ù°¿œÁYI\’KR\8‹ÿU(¿ýB!„Í!@ñkúyÓ»¾z• .JÆf¯“—GÁîÏYLhh(n—›Ë®º,®( ŽH#´ïl°óû%d\3а¨zÏõí®2ª]*w JåïŸ`ÇÁ'{ï+®æ¢Ž1¬ù!ØhŒÎm"Yøá>t£ö¯þŸl(æ¹»³ê¼oW]܆w¿:Ô¨÷³g—8nº¢=¯}²ŸÃÇÝgÍûsÚGc_ÓØúxpцÓÒ’£X±öÿ³wçñUU÷þÿ_{Ÿsr2’‘ ÂŒ€Úªx§Š•ë€"ZQä§m-·ëÅ‚­ôkõÇd•^ÄK¯-êµ_k Òª@‚aŠ cÈtr†=|ÿˆH˜ ò~>G²÷ÚÃÚk¯÷'{ Ÿ59gIJ‰Ë7ìaÌÐÎüï‡åÃÖ9UçEDDDÎç\'y+ÆC¤Ùà`û–íddeàõz;\÷éNɦlûȇXÓ4INK ¾j÷1;ˆoØYżÿ»•1úpAôhú_>,㊹¨gq1&¦¹íã¹ýÊ‚£æ¿²ª+v$Ögë3¹r`G*64Ù¦Wn;‡핵Íã©ÿ¥Îâ¸áÛ˜óúJ÷ÖŸ²ï'²OKÊãXÇ‹õ™d¦Ä²½²®Ùíÿ¶¦‚žýˆ¿­©8©kÒGäEDDäôi¦Ê7<"óøˆØà8N“ÉõJ>)!«SI)IX ¬ŸØøXrósÙ´fyùy$§59¾æP“³Zn‡×oÛ]Ǭ׷0áÚBc½ü}m%{…˜µd ×}»7|;ŸÏ¤|€¿¯©8êñ^|g£ÿ­ —Ÿ×ØeÇž:^üÛ¶&Û_10ûó‡ð£—Ãá´ï^œ ÀC7ök’þÓy« [ÃðΜpAtýÿwãÏ“žþ°ÅeÞÒ:ÕÒò8Úñºç´c{E-¶í¶êüz®iÓÊ7ÿi­S¿‘lZ÷?ävÎ  ³¯r¦iRØ¿¬Ÿ’MÛè˜Û_ŒŸî¤°_!}õaWÉ.>Ûñi™é$$ij_-ÉYçáó'4[n÷ÍýW“åòý¦¼Ø´?FeUøË§-Î{eU3—l>æ6OýiÓ1Ó¿œ¯¯æñxÛ·Vk÷=^yëx…Ú±å³ê&÷âxç?™k‘3 œsɧæô%6±=›—=E^~&½ ¢M¾lÛ¦®¶>:{¼a„‚!ü±~ºöèŠmÛTí¯b[qùßGr‡îçD™ zæ&óîúJÝ‘oT€rŽ<ÛÅ$¤Oû¬öMÖ—l.%½}jt9¯ O7–Ð÷ü>@ã°Ã2¨ª ŸªæAmÈ#/­U!ˆˆˆˆ|ó”sã‰Û0=˜1©TW՜ڀҕX¤—èD·‹‹%&6†­›wнg à P 4ð'¤«c°ˆˆˆˆˆ”S#ÿÛãØ¶òyÊví¶mR;]@N~oª¶."#ó‹íbb“pã{°nõb|^ð&Qpñ] NDDDDDNw€r.5ß÷xcé1dÂZYƒIÕþC¤¤'S_[OMM„^\CnßëÎÙ²ùZ”s¾ƒ±Ý.¹›Ý›þ®ÕÅħt"ÿâQ`*‘3 ¨Ù¦×O§þßU¹ˆˆˆˆˆ|ýŠ EDDDDDÚH€òìý—¨TDä„<°_… """§6@i˶oßL§©¸€,Ón l»X¶‰ Ò€‹i G b0mh° ©‹8xÝÛw–óï·Ž×ÝQ€rbvîÜJJRÕ5uÔÖÕâàÁ¶m\;BØ,—ˆÆvm" ǶÀŽ`9`E"V+! ÇÂàªß#==]µ@DDDDDJëd¦%pà@5W\]ÄÞ=•Ø®á`€iDl Ó4q\œÆNíŽãàиŒ8.áH˜ñÿÝ}Éí’TDDDDD ´žÇ㥢b7{÷VrûícÙ³wuuõ„#aµj÷ÔSç©&n ¶p]‡Hµƒë¸ÉXvµ‹'ÑdÆõÄ'%qÇø;xñÅ—T DN£¤X/¶ëâ:¶ ®ãë3q]Ûiº^ctˆˆˆÈY †‹áñbzLŒˆ‡[K±=•»ö`t ãùžEø /‘z¼àî7àºZ ‹õZ<®ÇÆ;6€³Ù‹÷ƒ\ÃúõUDN£×Þx[… """ßÌ%l„-‚Û²6²#q Æ'±¸ya¸¸w»B±†·ÆÀ3¶«° téÒ…#Fðæ›ouûmÛ¶1f̺uëF·nÝ3f Û¶m‹¦»®ËôéÓéÕ«½{÷æ±ÇÓÄ""""¢¥MgÔËnÌq¤Ü‚ZpM¸5.n² † .àw§'ÎÀõ8¸eîg`ãÖ¹¸]"X쮨lu>¶oßNQQ—^z)ÿüç?)..fúôé,Y²ä¨ûL˜0óÏ?ŸÕ«W³zõjÈ=÷ÜM_°`+W®dÙ²e,]º”+V°páBÕNQ€r*-_¾Ã0ZüY¾|ùQÕ`X.D_N:tèQeØa,Â`BÅ5›ñTû `bÜwj<iÎÌdœ1 ÍÂH5qÆçàÆüN£»…Ó ? aÛà:¡jFõÞ{ïqà 7´jŸ+®¸‚9sæPSSCuu5sæÌáòË/¦3`À€èrÿþý)..Ví‘sÎiï$?tèP^}õUŠŠŠxõÕW›!Ë—/ov}sl˲°#ÅK¨ÖŸ‘aà6x ÞÅHù|ΓX0Ú5¶ö2ÒÁ¬1 làbB88DìÃóÑ·NUUU«'wœ:u*#GŽä‰'žû¸¼þúëÑôúúz¢Ë‰‰‰ÔÕÕ©vŠˆˆˆÈ9çŒôAùrr¸Wk‚×±1"ì Çà}ä lÀýß8ŒÿØCê ÞÄu€r/nÐÁøñ^ìÕ‚3ˆ¹Ø"abÁW=¸8–É̺ššÊZµÏ<À¨Q£Ø´i›6m¢¨¨ˆûï¿?šž@}}}t¹®®ŽÄÄDÕNQ€r&‚”G}´UÁ €ŽŽ®Cø¿ciøœjþœ«caG x] À=`Â’$ÜOb°^‹#ü±AÃÿšWBàL\Ó!à 4ñ2dÈ1GìjΪU«˜4iR“>(«V­Š¦²nݺèòúõë),,Tí‘sÎåp2lذãö9ùªÇƱƒ¸ئ»2ËçB¼…gu\ãðÂÞÆ˜Ãˆ7`Yá¥Á@"Dv€k›±ÁµN¬‰×O~ò~ðƒà÷û¹öÚk‰gÓ¦MÌ;÷¨å{ôèÁìÙ³?~<Ï>ûl“¤¨¨ˆ3fЭ[7f̘Á7Þ¨Ú)"""" PÎDˆ‹‹kÕ~¦‰8XVÓ0ñÄ™8®ƒë¸8~×uñ˜|¦Û¶±M›0!LÃÄq¼~Žã`&aÂM¼Žñ¥¹¹PÊËËÉÏÏgÑ¢Eüæ7¿aúôé444лwï&ÃÕìÙ³y衇˜;w.ƒföìÙÑô[n¹…ÒÒR†ÀÍ7ß̘1cT;EDDDDÊ™ÐÚàÀ²Mb‰‹§®.ÐØ”Ëqqpðš^Bá)©)D"ªUãõ˜Ø–/&p0 p±›ä”pÁ4šoáV^^~̼tïÞÿú¯ÿjqÞ»wïÎâÅ‹šnS¦LaÊ”)ª‘""""¢ål°ó³]$'%ñìœÙ”—oÃrM\ËÂq#D"µ‚zÉM8Ò8«c0×Àr°íÁZ‡ìì,‚á ®¡ÙÚEDDDD œ€k®û!ùËëØF-C†þá`„Pý!‚ !̽û¨ËÈÀع‹PRxü•eÛw" Rh }—j<í¶±í ö×ÖðÉÎíêª""""" PNÌUW]˺OþÅ·Ý †‡>}zà‹ñ““Ý‘ÏÖ®'»S'"Õ‡ˆ44Ÿ’ÎÞ5cú<8a›?þq uÕLß:\—ÚšºÆ·+"""""Òf˜gSf==» äOz”äd‚ A¬p˜];¶l²wwå{G"”ïÚ‰eñ›^"†EUõ^Öíâ`Õ!ö|VF úP“ÙÜEDDDDäëç=Û2üØÿy ¿Ïä–ÿ¶màâ4ö%q¼¸v+b¶Ç%d‡Á ‘n»Œ»õêÕlÚ¸•¬Néß¿?<ð€j€ˆˆˆˆˆ”÷ðü\ðûý¼¼`Oÿþi*+÷°gOeã_ê÷~x¦x×…þýú …øÓŸÿLçÎ?_¯Nò""""" PN‚?Æýù¦›o榛o>ác†¡ """"Ò†˜*Q€""""""ò^Á‘lÛæ­·ßâïÿƒóúŸÇ÷oø>qqq*(gÞƒS¤â`ñIñ¼µü-–ýs˜ýŒˆˆˆˆˆ”ÓǶmf>=“Ö~„ë¸ÜqëtËïFùžr2ó2ˆOŒg_Ù>Þxë ^{ã5={ôäÇ÷ý˜ävɪA"""""§Ð9Ýå—Ó~ÉêM«Ië”FZnsŸ›Ë^ü¦¿i±ÔÕÕñÌ Ï—Gf×LvTîà§ýTµGDDDDDÊ©‰DØT¼‰ÔÌT qÈáìülÖlXC8þb»p„êªj:÷ìŒÇã 9=™êºj< tŠÍœ9“qãÆµ™üäääœñs®X±‚ .¸ zîã-/·ß~;³gÏVå(mÙž½{°m˲š¬ïÔ­÷Œ.ïüt'ÝútÃ4¿(*×u ÔØ]±[“=žB@€yóæñðßÓåð«_ýŠiÓ¦Q^^Þ¢åã™2e Ï<ó ªd"""¢¥-züÉÇyàÖµ[øäãO¨9T€/ÆGLl ¬ˆE8&±]"¡`ˆ­·²ñ£øâ|LûÝ4&Ü?Çqš=Ïñþ²]RRÂøñãéÓ§]ºtaĈ¼ùæ›GÝ~Û¶mŒ3†nݺѭ[7ÆŒömÛšNÓ§O§W¯^ôîÝ›Ç{¬UTNNNôÓ½{w~øÃ²uëÖ#¶›;w.¹¹¹Ì;·Ùc 6ìˆóº®ËСCY&o½õßúÖ·èÚµktݲeË=z4ùùùôéÓ‡‰'²ÿþ_óɦŸÇ»¦-[¶pÙe—µxùx 8ÿüóùë_ÿªo<Q€ÒÖ”ï.磵‘Õ%‹Ž;Ò÷ü¾ôèÛƒŠÒ Š7cÛ69]r¨(­`Où:æv lG[7n¥S—Nô» ò;‘™›Iu°š7ÿòf«ó±}ûvŠŠŠ¸ôÒKùç?ÿIqq1Ó§OgÉ’%GÝg„ œþù¬^½šÕ«W3pà@î¹çžhú‚ X¹r%Ë–-céÒ¥¬X±‚… ¶®|ÊË)//gõêÕ\tÑELœ8±Iºã8ÌŸ?Ÿ©S§òÒK/5œÅÅÅñÎ;ï4Y÷öÛoÌs¿óÎ;Œ1¢ÉºgŸ}–»ï¾› 6°|ùrÚµkתk>ÙôÓáx× …ðù|-^n‰n¸AŠˆˆˆ(@i‹6oÙŒÇïi²Î㣰!Y9Yløp¶m³·b/e;Ëðú¼|òñ'¦A¿óûŸØô!;¾]žxâ î½÷^ÆŽKZZ~¿ŸAƒ1oÞ¼£îSRRÂĉINN&99™I“&QRRM_¼x1“'O&++‹¬¬,&OžÌ¢E‹N¨œÚµkÇ„ Žxƒ²téRRRR7n©©©,[¶ìˆ}ï¹çž#ޮ̙3‡{ï½÷˜ç\·nƒn²náÂ…\vÙe$$$‘‘ÁÃ?̇~Øâk>Ùt€ùóçsá…Ò¹sg®ºê*6nÜxRuðX×ôå~%‡?ÇZni Äš5kô'""" PÚšü®ù¸vóMx’Ó’)ì_Èú­'£Cyy¬]±–öYíÉéÜ|Ó¤`}Þ½z·:ï½÷7ÜpC«ö¹âŠ+˜3g555TWW3gÎ.¿üòhzqq1 ˆ.÷ïߟâââ*§ššæÎKŸ>}š¬ñŹí¶Û;v,/¼ðÂû^{íµìß¿?úÐýÁPUUÅ5×\sÌsîÛ·:s›üãM‚˜ã]óɦCc§ô%K–°yóf®¾új~ö³ŸÒ:ùåk:ܯäð›¬ã-·4ÙÙÙìÙ³Gßx"""Òæsó äwÍçüþç³êãUøâ}Ô×ÖÓPÿEçá†@ I |÷Öïàñxرu{+öâ:.ŸO»Ôv8‡Ô„T¾{Ýw[ªª*ÒÓÓ[µÏÔ©S9r$O<ñÐøWô×_=š^__OBBBt911‘ºººVãË•ÏÌÌlrü]»v±víÚè[ž‘#G2mÚ4JKKÉËËû"ê5Mî¾ûnæÎËóÏ?ÏìÙ³™0aB“šãº.^ïÑ«äÆyä‘Gxùå—[|Í'›ðØc‘šÚ8ÚÛ„ xê©§NY}lîšNÄéÌ£ˆˆˆÈ™tNv’¿ñ7‚ µ‡jIkŸFaÿBzèIÏ=éÜ­3VĶl\×¥¾®žÌìLúîK¿ úÑwp_:æv$ÒPÛÀ·ÝÙêþ©©©8кaŠxàFŦM›Ø´iEEEÜÿýÑô„„êëë£Ëuuu$&&¶êåå唕•ñþûŸß¤©Ðüùó9xð äääPPPÀÁƒ™?þÇ5jk×®åÏþ3›7o¦¨¨è¸çÎÌ̤¢¢¢Ù´>ø€qãÆñôÓOSPPÐâk>ÙôÃ÷ê°¸¸8lÛ>f€÷ÕæWGs´k:ÇËãîÝ»ÉÌÌÔ7žˆˆˆ(@i‹~þŸ?'­S] »’”œ„aÑ´´öi<ÿäó¼4ó%Êw–“Û57šnñ‰ñäæç’×3i¿FÕ¡ªVçaÈ!DZ«9«V­bÒ¤IMú ¬Zµ*š^XXȺuë¢Ëëׯ§°°°Õy3 ƒ.]º0kÖ,~þóŸSWWG0dÑ¢E¬\¹²Is£+VðÊ+¯ ›Ãï÷sÇw0iÒ$Æßï?îy ÀÇ|Äú%K–0qâDæÍ›ÇÀ›¤ïšO6½µ¾ÚëhŽuM§ÃÇ|FÎ#"""¢¥•Âá0 Áü±Í?0oß²Œ¬ ¼^/®ëÒ½OwJ6•4ûWsÓ4‰MŠeÇέÎÇO~òfϞ͂ ¨ªª" ±fÍî¼óΣîÓ£GfÏžMuu5ÕÕÕÌš5«ÉÃtQQ3fÌ ²²’ÊÊJf̘ÁèÑ£›£5fggsá…ò§?ý‰%K–0hÐ rss›l“——Ç€š4;lâĉ”––·süaW^yåÇyæ™g˜>}:¯¼òJ“¾"-½æ“M?ŽwM§Ão¼Á•W^©o<ióι>(111xLŽã4é¨PòI Y²HJIŠXøcýÄÆÇ’›ŸË¦5›ÈËÏ#9-¹ÉñBõ!ò»æõ|Íåååäçç³hÑ"~ó›ß0}útèÝ»w“áf¿jöìÙ<ôÐCѲÜd†ð[n¹…ÒÒR†ÀÍ7ß̘1c¢é~ø!\pA«Ê릛nâ׿þ5†aðàƒ6»Í­·ÞÊSO=uÒö×^{-S§NeÇŽѹP}ôQ† ÖdÛ­[·’pÜk>ÙôÓáx×tªmß¾>úˆ9sæèODDDÚ<ã¾{îvgÎyšƒ'ŠKKÏøÆ_ô{+Þã·3Krûd¡0û*÷aš&] »âõ³mó6:ätÀãcç§;)ìWˆã8ì*ÙE}m=é™éÄ'ÄÓPÛÀ°‹†qï]÷ž×=jÔ(î¿ÿ~.¹ä’6›ÇY³f±fÍž{î9ývž"ãÆcРAGÌis:þxsÉŸè×¾˜<O‹ñ᪕\7ò{ͦýåÍ×¹iì¸&瑳SCC€wÿþ7F\×8²myÙgÌ{öÙsï À‹†›“Ë]“î"5+•‚^Ñ&_¶mS_[=Þ0 BÁþX?]{tŶmªöWQ¹«’Ç}œΞvý‹/nóy¼ï¾ûôÛzŠ)Ø‘³‰y®^xvÇlhŸÕ¾I”òmå¤f|1"R^A%Ÿ|1¢Çã!£C©é©tÈì $""""¢åäù|>²;dSs¨&ºn_ù>:euj2[|l\,þ8?¥%¥¸nãú~¯ŸìŽÙªA""""" PNÇ}œd_2•Û+)ÿ´œ«.½ŠIwO ;M¶KINáêaWSþi9•Û+‰‰ÄðäožTí9żçòÅ'$$0ó·3›¬s]—ø˜x8DrZ2õµõ`ÁÆýˆ ã'¨ÆˆˆˆˆˆœF¦Š )Ã0˜õÛY *ÄþûÉKÏcæog6’XDDDDDN¯ŠàH <0ñ„ˆˆˆˆÈ¦×"""""¢EDDDDDä«ÔÄ«¶móÖÛoñ÷ÿÁyýÏãû7|Ÿ¸¸8Œˆˆˆˆˆ”3ïÁ)Rq°‚ø¤xÞZþËþ¹Œ?Ìþƒ FDDDDDÊécÛ63ŸžÉGk?Âu\î¸õºåw£|O9™y™Ä'Ƴ¯lo¼õ¯½ñ@€ž=zòãû~Lr»dÕ ‘SèœîƒòËi¿dõ¦Õ¤uJ#-7¹ÏÍå/þÓß´Xêêêxæ…gˆËˆ#³k&;*wðÓ‡~ªÚ#""""¢åÔˆD"l*ÞDjf*Ð8ÿIv~6k6¬! ±]8BuU5{vÆãñœžLu]5P :ÅfΜɸqãÚL~rrrÎø9W¬XÁ\=÷ñ–—ÇÛo¿Ù³g«r‰ˆˆˆ”¶lÏÞ=ضeYMÖwêÖ‰ƒ{F—w~º“n}º5™¨Ñu]õvWìÆu]Õ¢S$0oÞ<~øásº~õ«_1mÚ4ÊËË[´|}ú0qâDöïßßâk>ÙôÓáËå|øSXXMß²e —]vY‹—§  €óÏ?Ÿ¿þõ¯úÆ(mMùîr>ZûY]²èع#}ÏïK¾=¨(­ xC1¶m“Ó%‡ŠÒ ö”ï¡cnGÊv”±uãV:uéD¿ úÑ)¿™¹™T«yó/o¶:Û·o§¨¨ˆK/½”þóŸ3}út–,YrÔ}&L˜ÀùçŸÏêÕ«Y½z5äž{/X°€•+W²lÙ2–.]ÊŠ+X¸paëʧ¼œòòrV¯^ÍE]Äĉ›¤;ŽÃüùó™:u*/½ôR³ÁY\\ï¼óN“uo¿ý6ñññÇ<÷;ï¼Ãˆ#š¬{öÙg¹ûî»Ù°aË—/§]»v­ºæ“M?-uðó2>üyä‘G¸ù曣é¡PŸÏ×â喸ᆠˆˆˆˆ”¶hó–Íxüž&ë|1> û’•“ņ7`Û6{+öR¶³ ¯ÏË'‚aô;¿ñ‰M²ãÛųfÝšVçã‰'žàÞ{ïeìØ±¤¥¥á÷û4hóæÍ;ê>%%%Lœ8‘ääd’““™4i%%%ÑôÅ‹3ÐÎI IDATyòd²²²ÈÊÊbòäÉ,Z´è„Ê©]»vL˜0áˆ7(K—.%%%…qãÆ‘ššÊ²eËŽØ÷ž{î9âíÊœ9s¸÷Þ{yÎuëÖ1xðà&ë.\Èe—]FBB<üðÃ|øá‡-¾æ“M˜?>^x!;w檫®bãÆ§¬>†Ãaž{î9ÆФ_Éáϱ–[šÇAƒ±fÍ}㉈ˆˆ”¶&¿k>®Ý|žä´d û²þ_ëÉèA^AkW¬¥}V{r:7ß4)X¤w¯Þ­ÎÇ{ï½Ç 7ÜЪ}®¸â æÌ™CMM ÕÕÕÌ™3‡Ë/¿<š^\\Ì€¢Ëýû÷§¸¸ø„Ê©¦¦†¹sçÒ§OŸ&ë_|ñEn»í6ÆŽË /¼pľ×^{-û÷ï|ðUUU\sÍ5Ç<ç¾}ûèСÃ1·ùÇ?þÑ$ˆ9Þ5Ÿl:4vJ_²d ›7oæê«¯æg?ûÙ)«¯¾ú*_|1;6¾©;ܯäËoX޵ÜÒªªªHOOoÕ>S§NeäÈ‘<ñÄ@ã_Ñ_ýõhz}}= ÑåÄÄDêêêZuŽ/ÿU>33³ÉñwíÚÅÚµk£oyFŽÉ´iÓ(--%//×4¹ûî»™;w.Ï?ÿ<³gÏf„ MhŽëºx½G¯’7nä‘Gáå—_nñ5Ÿl:Àc=Fjjãho&Là©§ž:%uÑqž~úiž{>ÖéÊ£ˆˆˆÈ™vNv’¿ñ7‚ µ‡jIkŸFaÿBzèIÏ=éÜ­3VĶl\×¥¾®žÌìLúîK¿ úÑwp_:æv$ÒPÛÀ·ÝÙêþ©©©8кaŠxàFŦM›Ø´iEEEÜÿýÑô„„êëë£Ëuuu$&&¶êåå唕•ñþûŸß¤©Ðüùó9xð äääPPPÀÁƒ™?þÇ5jk×®åÏþ3›7o¦¨¨è¸çÎÌ̤¢¢¢Ù´>ø€qãÆñôÓOSPPÐâk>ÙôÃ÷ê°¸¸8lÛ>f€÷ÕæWGóÆoPPP@÷îÝOºN/»wï&33Sßx"""¢¥-úùþœ´Nit-ìJRr†aDÓÒÚ§ðü“ÏóÒÌ—(ßYNn×ÜhºaÄ'Æ“›ŸK^Ï<¦ývU‡ªZ‡!C†sÄ®æ¬ZµŠI“&5郲jÕªhzaa!ëÖ­‹.¯_¿¾ÉèP-e]ºtaÖ¬Yüüç?§®®Ž`0È¢E‹X¹re“æF+V¬à•W^! 69†ßïçŽ;î`Ò¤IŒ?¿ßÜó0€?þøˆõK–,aâĉ̛76I;Þ5Ÿlzk}µ)Ö±´¤_ΩòñÇQv"""" PÚ€p8LC°lóÌÛ·l'#+¯×‹ëºtïÓ’M%ÍþÕÜ4Mb“bÙ±sG«óñ“Ÿü„Ù³g³`Áªªª…B¬Y³†;ï¼ó¨ûôèуٳgS]]Muu5³fÍjò0]TTÄŒ3¨¬¬¤²²’3f0zôè&ÇhÍăÙÙÙ\xá…üéObÉ’% 4ˆÜÜÜ&Ûäåå1`À€&MÁ›8q"¥¥¥-~¿òÊ+8Î3Ï<ÃôéÓyå•Wšôié5Ÿlúéò÷¿ÿ¸¸8.¸à‚3Rïßxã ®¼òJ}㉈ˆH›wÎõA‰‰‰Áczp§IŸˆ@}€’OJÈê”ERJVÄÂë'6>–Üü\6­ÙD^~ÉiÉMŽª‘ß5ÿ¨çk. (//'??ŸE‹ñ›ßü†éÓ§ÓÐÐ@ïÞ½› ¡ûU³gÏæ¡‡ŠŽ5xðà&3„ßrË-”––2|øpn¾ùfÆŒMÿðÃ[ý@|ÓM7ñë_ÿÃ0xðÁ›ÝæÖ[oå©§ž:éûk¯½–©S§²cÇŽè\(>ú(Æ k²íÖ­[IHH8î5Ÿlúé2kÖ¬cÞëSiûöí|ôÑGÌ™3Gßx"""Òæ÷Ýs·;sÎÓ<Ð8ù]ZzÆ7þ¢ß[ñ¿ù[’Û'…ÙW¹Ó4éZجŸm›·Ñ!§¾;?ÝIa¿BÇaWÉ.êkëIÏL'>!ž†Ú†]4Œ{ïº÷¬¸îQ£Fqÿý÷sÉ%—´Ù<Κ5‹5kÖœ’ŽãÒhܸq 4èˆ9mN‡Ãß#o.ùýúÀƒÇãiñ1>\µ’ëF~¯Ù´¿¼ù:7×ä<"""rvjhðîßÿƈëG¶-/ûŒyÏ>{î½ArÑrsr¹kÒ]¤f¥RЫ Úä˶mêk룳džA(Âë§k®Ø¶MÕþ**wUòø£3pÀÙÓ®ñâÅm>÷ÝwŸ~[O1{"""r61ÏÕ Ïî˜MBbí³Ú7éR¾­œÔŒ/FDÊ+È£ä“/&Côx ‚9ÃôZ@DDDDD ˆˆˆˆˆˆ|ÕYÕÄkû¶MätHÅ¥±¯H Á4 "Ûv‡ÃØ®‹k‰DÀ¶0lX.Xa ˲صk7ý‘ˆˆˆˆ”³sçVR’⨮©¥®®Ûq±×u‰D,\Bá0¸6VĶ-\;‚e›D¬0®ëÒÐĶ,bcãX¸ày¾3âÒÒÓU DDDDD ´NûÔx¨âÊkŠØ½»ߣ`šŽë`4¾ZÁu\ÇÆvç3q7úo$að ó¸wÂ$%%ªˆˆˆˆˆ(@i=ÇKEe%{öìãŽq·°oß^ ¡Pˆp(BMmuõu„C!Âá0–mGg~wlÇq0ŒÆ`fíº ´KJäλîâ…^T-9”åË—3tèÐÚ×4ÃÄçõcz(Ù¶ a²gï\LÓ$ c[‰mÛ¸46;üŲ,\×%6ÖklX¿A5@DDDD¤ 9££x 6ŒåË—ŸÐ¾¡ˆMIJ GBì=p€P0DEe%5µµúè£h´`ÁFŽɾýûxîÏ1âšdgg³páB¦L™‚m;8.˜X¸ŽÕì¹:uêD—.]èÖ­={ö¤oß¾œwÞy 4ˆ¼¼¼&ÛæääD?_åº.Ó§O§W¯^ôîÝ›Ç{,Úì¬%ûÿýïçûßÿ>]»v¥OŸ>L˜0ŠŠ ÕZQ€rª¼úê«'¤X‹HÄ&!>žÕ}ÄW\Ák¯½ÆgŸ}F\\•••̘1ƒAƒñË_þ’`0HFF¶m“×9¡C‡’““CçÎ1MƒPÌÏû¤|UYY;w¤„-[¶°qãFÖ¬YÃðáÃùÝï~×dÛòòrÊËË›=΂ X¹r%Ë–-céÒ¥¬X±‚… ¶xÿßÿþ÷Üyç¬]»–U«VѳgO~ô# ,"""" PN™¡C‡žPbÙ …‚üà? ªªŠÝ»wóÞ{˜È¾}ûðù|ìÛ·€ÿþïÿ¦CfÞ]ö.K–,¡¬¬ŒmÛ¶á8–dûö]->ÿ”)SèÝ»7EEE-ÞgñâÅLž<™¬¬,²²²˜}:éééÜqÇ­ºÎââb ]îß¿?ÅÅÅ'Tf@€ÿú¯ÿbÈ!ªµ""""òõµ 3† F}}}4¨8š†P˜H$BMu5S¦LaÙ²e|ï{ßã7Þ 11‘˜˜vîÜɰaâM¦¼^/áp˜n¸8ŽãP]}ÇqZ.s©Û“O>I0ä¿øE«¯±¾¾ž„„„èrbb"uuu­>Îáþ)ééé,Y²DµVDDDD¾±Ì¯ëÄË—/gÖ¬Y¼ûî»Ç N°Ã8VÓô°rÕJ’’’øáHff&¯¼ò ©©©Œ7Ž|;3ÌÌLÖ¬YÃæ-›ùãÂ?Ò@žþy>û¬ p£ÿ9ºyóæ±sçN}ôѺƄ„êëë£Ëuuu$&¶~rÈòòr¶lÙÂí·ßÎücÕZùÆúZÞ ,_¾œ¢¢"^}õÕÏ‹[Øx¼Ö¯[ÇØwþ@vv6/¿ü2‰‰‰´k׎k¯½–œœ¼^/ëÖ­#bEHOOç >>ž`0H89f|òòË/³bÅ ž}öÙè­UXXȺuë¢Í²Ö¯_Oaaá +))‰»ï¾›™3gªÖŠˆˆˆÈ7Öƒr"Á €ãØØV˶ñx½duÌ"«c¶c“’’‚išØ¶Mnnnã䌮‹×çÅqqqqøý~lÛÆqçB9š×^{×_¹sçâõžx WTTÄŒ3¨¬¬ŒŽ26zôèï?iÒ$>ýôS,Ëbï޽̘1ƒÁƒ«ÖŠˆˆˆÈ7Öƒr"Á €k‡±#®mcš&–eá8†a`Ù3Ä{<LÃÄ1ס!ЀaãM“ÃýNÛ£¼¹ÿþû±m›‚‚‚fÓ¿<,ð—ç/9üóáô[n¹…ÒÒR†ÀÍ7ß̘1cšëXû_yå•L˜0­[·’’’Âe—]Æïÿ{ÕZQ€rªœHpÒPxˆKL">!žÚºzw$qq1 ƒp8LZjáH„ªª*¼>/‘p„¿\ǃ‰)i)¸Ÿ.Í)--mq¾Ž6‡ €aL™2…)S¦œÐþ×_=×_½j©ˆˆˆˆ(@9Þ}÷Ý N¶VJjROÏ|’Ý»±¬Žë‚ë†1½^‚ lב®á!rqÝ!,˦®&HNvŽÁÐý9w” N®»~o¾µÛlà߆\L("®«%\UM$-k[1nz{\×À¿»Œê?ŸØ1Bû®5¸…ýëQyè ëKJ¨TDDDDDÎÕådøÎu¬ûä_L¸ã^\ WB|q1dçtâ³ÖÒ)/‡ÈŽR¡ q)iT®]ÏçÁ¶,^Y´êC¼1ip jkjTDDDDDÚólʬÇã¡W·,~õ5Û¥…ˆ„CìÚ±P(HEÙn>Û½˲¨Ø¹Ë ãu "ŽCUM%Uueì?xˆŠ]»¨¯ªâŠ+®P iC¼g[†óÄcÄzb¸ùÆ"l×ÂØŽÙ86—"±‰D\Ç!‰`;6`±ÿ>†ÚPë7‘Ó)pÿý÷«ˆˆˆˆˆ(@9qýì€ßÃË//à™gž¡²r•{*1pÁ5pù|a\×åâ‹.& QSSßÿügòòò€Æ4Q€rÂü~ôç›nº™›nºù„u¢3Ä‹ˆˆˆˆÈéaªDDDDDDŠˆˆˆˆˆÈWœUM¼¶—|BNVzãìñ@À21í"–‹í@8¶mÀ%Š`ÛA – V˜pIJ,víÚÅMc¤»/r•WTR^Q©‚‘of€²sÇRÚÅS]SC]]6lÛÆµÂDìÆï¡P °"¶Ƶ-,Û$b…q]—†† ¶eÇÂÏó7–ž®Z ršLþù/p]÷‹ã4þ‹‹±>_ïDÓkkjX°à%œˆˆˆ”¶¯}Z"Tqå5EìÞ]  cš­Ô×ÁpÃÀu\ÇÆv\Çþ‰D<è<îpII‰ª"§™ã88NãÐßÑŸ]‡P(tDšˆˆˆÈY x<^***Ù»g?wŒ»…}ûö ‡BCaêêÔÖÕ …ˆ„ÃX¶Fر~ÚµvÝÚ%%rç]wñ /ªˆˆˆˆˆ(@iÓpÁôãÃg™l|+†i°§b/¾/þäjÊëׇq]ð$xL\Ç¥~_^¯_’—ØX?®a°aýÕ‘¶ôܶd4dDl—†šeUÑû•lzý¡#ßYq!ÃÚ±¯øƒgôàÚå3ò£KéöÃ\"Õ®ãð½÷‡1ú_WÐk|ì€mÛ„B61±±ª"gÈ’%K¨ªªj²îСC¼õÖ[*9û;ÒvÇ‚˜/¥ÜËÊ»7ñ/_A÷[:‘Ü-‘5l¥º¸Žõ—Pö—Æ7+CfŸÇ;£V±äÊåĶ÷×Ñã8˜X¸ŽuÌsÎ;—ÜÜ\æÎ{DZNNΟcmóU®ë2}útzõêEïÞ½yì±ÇšÌlߒ㋜MÞ~ûm®»þúhRUuˆQ£F³té2Žˆˆˆœ}Še»DlÃ;l>!T&\cáD0Á ØDêl"µ‘:‹còؽl?á* Ã4ø×¯6R·'@(æ1f’w‡ùóç3uêT^zé¥f;ð–——7ù-½9 ,`åÊ•,[¶Œ¥K—²bÅ .\ت㋜MfÏžMÿþý6|8S~˜ï\}5}ûöeÆŒÇU8"""r6(ÿFªÊk8ï?»1샸þƒK8¸±–pU$:ZÐ8Üp­7Áƒiš¸¶‹?5Ókâº.–dûö]G=ßÒ¥KIIIaܸq¤¦¦²lÙ©ý+ïâÅ‹™êù^|ñEn»í6ÆŽË /¼pÄ6}úô¡sçÎ\zé¥Ìš5ëóI"[¦¸¸˜D—û÷ïOqqñ);¾H[ RfÏšÅïŸ~š'÷„‚9ÂY3ŠWCC+BÈÈ‘'Æ‹Ý`cÕÛ„k,Ò%“Ò;‰ð!‹ÐÁ[Ÿ+åÛ3ûÒùºŽ4T7Ð}L.ÿšö — årx.•¯Úµkk×®eÞ¼yŒ9’iÓ¦QZZJ^^@´É•mÛóÈ#°ÿ~¦Nڢ멯¯'!!!ºœ˜˜H]]]tùd/Ò–ƒ”ÿ÷1ÑyPDDDDš<+œM™ul¯iRú· ü©1ä^ŸIáylš½“àž®Î¤þ³Rz'’Ü=oœ—÷î]GÞ÷2éó£|¶.ÚEMy`຀Û|€2þ|º\WWGbbâ);¾È×Í0 Âáp«ö±m;:_ÑÑ‚½Iùf°m»ÙÖgÍ”H8‚mÛ8^‡}ªøô–]xñâÁƒ?=†¸¬XÖ?^‚k¹¸¶KL²O¼ILª—¿Ž[‰M“ØøBÁ0áH¤Ùø$ ²hÑ"V®\Innnt}ii)×^{-?ýéO‰mfxbÓ4[õ×àÂÂBÖ­[Ç!CX¿~=………Ç|0Ó_›ålâózÙ´qýœ×â}6}²Ÿ÷è_K))©Ø¿¯×«9ËÕÖÖ’’zö(¶Á¶BضƒëuIꘀ‹‹×ãÅt \Ë%®} Ží‰DÔˆmƒe5v”wlÇq°­æ‡^²d ƒ jœäåå1`À^ýuFÍ=÷ÜäI“èÖ­eee<üðÃ\wÝu-¾ž¢¢"f̘A·nݘ1c7Þxc4ýd/òuûÎ5×°|ÙRâââÉëÒÏ1ú›¸®Ëž={Ù±c߹暣n×£W/Þ[¾Œî…=INIÁãñ¨ EDDÎ2¶mS}èŸoaÀ Ágo€âÚa숃kÛxLOã›ÇÅvl\³qd.ëÁgú°l ×u Co,Ó5?oÐÖøÚıσ™¦^xá|ðÁfópë­·òÔSO1zôhFŒÁĉÙºu+íÛ·çúë¯gòäÉM¶ÿòÜ%‡>Ü·ä–[n¡´´”áÇpóÍ73f̘èö-9¾H[–Ý1›‹/Âû¼Ço,9fÓ,ÇCZz:_2„ìŽÙGÝ.%%•>ý°mk1×Wë­¢ˆˆÈYÈ4M’““éÓ@³oPŒûî¹Û9çiدÒ‘¯EyÙgÌ{öY4Ƨˆˆˆˆˆ´ PDDDDDDŠˆˆˆˆˆÈWÑI~ó¦*9#zõî{ìåÛ_ªR‘3¢úPÕ±”¯n """""r¦¨Šˆˆˆˆˆ(@Q€"""""" PDDDDDD ˆˆˆˆˆÈYë"9=\×%cG"8®‹ëº*”¯‘a˜†ÇçÃçóašæqïŸãظ¶ƒ£{×&îŸÓô`Æq÷ql Ûvô»×†î¡Çcbz¼ PDDD¾Žà$ØÐ@UU{*wS[[«Bùš™¦IBBYYÙ¤¥gã9êC®ëºØ–EÙgŸ±é“O8XuPø5óxLÚ%%SØ«';wÁëó3H‰D"”—•±iãFÝ¿6òû—Ü.™ž½z‘Û¹3111 PDDDΤH$Bmm ee¥ôéןŒŒöx<Ì×Èq*+v³eó&Ú¥´#)¶áPèèÛî­dÍÚ:ì2ºtÍ×ýûšÙ¶Í¶mŸòÞ?–ãñzÈÍíŒ×Ûü£¬cÛìÛ·—?^ÍðáÃéܵ@÷¯ Ü¿Û>eùòÆû——×ó(÷DŠˆˆÈi`…Ãì./£_¿ddvÀql,ËRÁ|Í2;da&ŸnÝÊ¥ÿ–}Ôŵm6¬]ϰáW_P ‚k<=zôÄçñ±âý÷ÈÊÌ:j€bÛ6ëÖ¬å²+® kWÝ¿¶rÿºõè‰ÇëcÅ{ïÑ!³q PDDDÎÇu©««#-=ǶÔ¾ IMK¥®¶ã}P\àС*:wé¢kc:ååqè­CXöÑ~×u©ª:H^žî_›»¹yª®"bYÄe("""§AckÓãŲ"*6Äôxqç¸÷϶m5 jƒ|>¶m7èwG÷¯ÍÞ?×=úï ‘ÓªÀz{¨¯% `G"x|>âcã‰OH:åûœ‹Á¦œ½÷E÷ïì£EDDäô‡(§ýA­êà^ Ó$%%ŸÏG$¡úÐUWãõҰ,»ñþ^11~,+ˆ?&¦É>55U4¤¦e¶hW95þø·õÌ\´ËqÀuq]p?ÿöøÎ·z0ýGW*@‘S=œö7(u5‡ÀuIMIçà}„BAÂÁû÷í'%-ìNiĤ¦D›»Ø¶M8¢ü³TT•‘Þ¾†˜X~,iéí9x`/u5‡Hj—¢û'rX¶Ãïþø>¿ºërbýØ®å€ãBMÀâ×ÏýEŠˆˆˆœ=zÚgfqðÀ>|11Ü_E]m-] ˆ‹#..öó8©±Í·išÄÆÆ‘“Cjj*ŸíÜIb»v$&µãà}¤¤f°oo¥”Vª¨ØÍü—æSW_Ëða—sÙðËŽ¹ýšµ³ðÿMRb£GßHaBâ9äÓ²d§ašF´ZrB,Ë×–v B„lƒËÏËå\k¥fªzˆˆˆœ>îøØŽ…×C8¦r÷B¡=z÷Æ*ÊÊC¸Ÿ7iü4Îp`ß> Ó¤{ïÞƒA*wï! ãõÅ`;ÖIçë­7–DÞ¿?ËþöN“u_ç§Å÷Ïu[üyë/o‘Ñ>¾}ûòÎßÞæÕÿY|ÔmW¬\Á />ÏÀéܹ3/½ôb«ÎÕšÇã9©ô£}JJJ2dqqq\pÁ”””œ¶køêçtÜ¿3ùùûGÛ¸}Ú«Æ—úȸ.Ž ‘ÿ×Þ½‡GQÞ ÿÎìÌÞ“lî„@XËE.^ÛsT¨Š Z/¢µž¶V<Ç Xlícís>ŸY³f±sçÎ^Î;w2lØ0yä‘]V2E!„è寧;{½é>\7-§ÝAC]FÜÀátGèhogxéH²²³hinæ@Õ^¼ii¸].Âa° 37—ôô âñ8YY¹]òžžA0ÐÚmŽÝ×%Í‘wŠèºN¸£}pÕÞ t)***âöÛîäÑÇ–3yòÙ´Zóõ1l} –eQ8´ÿ©x‘sÏ9—@k+Þ´t*++)ŸwãÇŸÕãuÊËË9r$o¾ù&ÅÅÅ´´´°aÃxà.ºè¢>ŽÏ³¿;‘H„ôôt~øaÖ®]˪U«䔾!OµAþã‘78³´ˆ+§ ‡Þ9aÅ9ßÿuJº…¿Z€Í¦pñ¹£Y|ãtšm]>GUU_|1?ûÙÏxá…¨¨¨à’K.áí·ß¦´´´Ë篬¬äºë®ã—¿ü%åååzúe P„BˆANQ4ÍNQq1.—‹Âáà ¶¶ èhogüäÉèú§ÿägçäžáãïÛ¶a·ÛÉÌÎ&-#»ÃÁÐaE„ÃᓞbøOXËÌ+fwÙðÒ‹¿`æ³1M“=»wQ[]M"a›_ÀØqãÑu}P×ŨÒQÉ e„‰´üœùµ3Ù²õ=:::8çìs[ñzÒØºe åå70uÊÔ^ϹaÃ***ðz½äææRVVFYYY2M<gÉ’%¼ð †Á}÷ÝÇÂ… “ûW­ZÅC=D]]cÇŽå©§žbâĉ]®utºièœíméÒ¥<óÌ3´µµ1{ölžxâ ÒÒRß“óàƒ²k×.²²²R¶ïx]×yüñÇû”¯ÁlËÇ5Ü÷ä:.ýæD¾>²€=‡Ú˜0"ƒÇÏASA³)ØmàÐm84—CÇëv (Ðè ‘0QÕÔûñþûïgáÂ…ÌŸ??¹mþüù~þóŸóì³Ï¦¤_·nßûÞ÷xî¹ç˜1cÆ€/3éâ%„Bô'ëÔ ÔD¢Ø:ºC'§ Íé px1šÖu´¦Ù^:E×ÈÎÏC?z¬ÝÞ9¨¾‡A­½ x=ºžžáKÙ~é峘sý̹þFÒ3|ì­ÚC0à‚é3˜}õu8NöV ¼AÖŸ'HÙ±c;v»«Ÿ3Î8ƒI'´âtºxÿƒ÷)Ÿwýqƒ€óÏ?Ÿ PYYI8î6Íý÷ßÏÇÌÖ­[Ù³g555)û7nÜÈÆill䪫®bÁ‚ǽîƒ>ȶmÛØ²e µµµ¸\.–,YÒm€¼mÛ¶“:þdò5˜<ÿç,ýÍ_)»ì ÍÏáŸum˜¦ÅÇìª °»&ÀžÚVþY`wŸÝÕÍ|¼¿žúæþ6vhÀ²èòƒÁúõë)//ïr½òòrÖ¯_Ÿ²íÕW_åæ›ofÍš5ƒ"8‘E!„ø’0FçÀv,@élШ*¹yy=“™•…¢ªG? Ð9£“‘è~ÂK/þŽ?ÿß]–hõhõSW]ÍY“&‘–žA$ÜÁˆ%ª­Áår)êãh²}ÇvœN'õõ‡¨­«Åétñá‡Û¸¡ü;L:­Oçzùå—)..æ–[n!//ÒÒR-Z„ßïÿ´!üüó,_¾œ¢¢"|>Ë–-K9Çc=Faa!‡E‹±}ûöã^÷™gžIž3--_üâ¼öÚk]Ò-[¶ŒÿøÇ,]º”D"qBÇŸL¾‹ûž\Çk›ª˜7ûâèìo wÞªŠ¢ª€‚…‚iuŠO˜†i‘HtιgY ÙT¢q·#µÓSSSùùù]®™ŸŸOSSSʶn¸eË–1iÒ¤ASvÒÅK!„èçÀ!‹õÿuâFr€³¢(˜¦‰ï¼vOݵ,ˈ$ LÓL>Y8zÜg͹þÆ å˜ã­G¢Qþú—7SΣš® ÄLý%Æ ?V]]šªb&GÊÖ"n8NVdòäÉ}:Ûíâ§?]ÊOº˲ؽ{7>úóæÍeíÚÎîs‡¢¨¨X,Úí9¼^OrŸ¦Ù0 #%mwëµµµŒ7.µŽ¥KÚ¹sç0wî–/_Áüùóy≕}>þxùúÜ÷…?éúû¼"±8X`ñ„E,a¢%T¬X‚@»‚…¦Z¸t§®àÔÕäºeZ ‚Ó¡Sßbx/¥\²²²¨©©fèС]¾sÙÙÙ)i{ìQ~øÃ’‘‘Á7¿ù P„BqŠþA×l˜f"ù¶xL“V¿ŸÌÏŒ 8ª©±õ˜àEQÀ0hš­Çë4nøBòk·;øÖÌËq»öË:¹AÖï½WÉ˯¼ÌèQ£ñ·úIOÏÀ²,B¡ Çgs廀ÅU½ÌÞÕ“3Î8ƒ‡úoŠŠ†%óVPPÀÞ½{=ztÁhoÛº[/((à­·Öwi÷tÜM7}—Q£F³rå¯OêøÞ¶êúû"ü×ÍñìÿFÅÚÌž1•âl7û·Óã°q$(Q0TŽ,† ¦‰[ÓÉð¸XùêfœS’ò9.¼ðBV¯®`áÂ;S®¹zu^xaJÚo¼‘¬¬læÎË“O>ÉW\>àÿžI/!„¢Ÿ[¸§bL…n·DÁ‚x4J{(„ÇãæÀ¾}Äãñ.éãñ8µÕÕdd¤éèÀˆÅÀ‚h$‚n·®1(Ç[·,‹!…Cù`K%ì§þP{«ö°aý_8ÜP?ÀÆ œø¹7Wn¦âå JFŒ 5ЊËéæ“O>áŸ|‚¦iƒ!Ї cÓ»›xíõ׎{¾™3/ã•W^¡¡¡Ã0¨®®féÒ¥œ{î¹É4×_=?úÑÝÔÔÔà÷û¹÷Þ{S>kwŸÿxë?øÁ÷¹í¶Û¨ªª"³sçNnºéߺMkš&›7W2dÈ“:¾·m§ºþ¾È妙ãY|ÃT^ýÓ;Ô76sfQ6UaÆ„.ŸÏ7Æä3åÌ<ÎÇ„Ò<ÆŒÈeÔ°:"«ªçÁç߯ëÒ¹ú_ÎL9ï’%‹Y±bO?ý4Á``0Èoû[V¬XÁâÅ]ëþòË/£¢b5 ,àùçŸð/j”'(B!Ä ,Œx„ÚƒMø|>üMMØròóÉËËcçöí—”$Ÿ¤ø[Z8¸oEÅðÛí4Ö×Ó áËΦ¥¥_v&–eôL^}Q<¼„úCuü}û6Âá0.·›’‘£ÈÈðèa*ãÓU¶'Ò ~oK%/ÿþ%Š‹Gp»½Tí­bNÙ}:Ï=÷l2o‹ßËO~òŸL›v>`qÏ=÷œÐ“ŠîÖ.\ȯ~µœÙ³¯äСCŒ=š»ï¾»KÚôô E¡¤¤„+–Ÿðñ½åë ø}à´O§;uL!+ﺌ=¾Ž–ÀΟ8 Ó‚»ù}·é²Ò]æ¤3wúþeBñ‘@ëÓ4£FbÍš5,]º”%Kî`Ú´i¼þúë”––v[ÆÓ¦Mã7ÞàÚk¯¥±±‘;î¸cÀþMSn»õëÑÇWÒÒÜ$á…Bˆ/H(äÃmï3ý[—wôëµÚÛ‚Äã1öWí'ÓçËÂ0 œ.Ùùùñ8mmmXGUQðefb×474Ð`Ó4,:_ 8¢tºnÇãMO¹N~Áêu›‡c÷õeý(Ç‹ÛíFµuŽ?ho ‰Dú½~6oz‡YW]M0èv,奊ÕÌ¿åVâñ¾‰Ùµk7«~óEEEtttàv{¨®®¦ìÚë8çœÎ§ûìgÕSOR8´X<ŠÓᢶ®ŽËfÎä¢ §ËÓGÏ>ýf_y%¾Ì^ëïæ·ž’1`}ºO#q~òÔ¢¦«gœÍO¾ÎÆÇ¾+õwŒÚšjžZµJž !„ƒ]8ÜAn^m¡6š›ÉÉÉÁ´,"á0‡QPTDfvvò‰ˆeYÄ¢Qêêh…Pm64]§¹¹™œ¼2³rh<\Ÿ P6¾µ®Où¸`ú·R‚žÖ“¶ö6ÚÛÛpéöý Ê_7¬gÈ!„‚!ÜÕÕ˜yéå >‚††,ËÂãö0§l«+^dÈ!´µ·QPPÀºõë¸ð‚‹N*‡¾é­­þ¯ô½q*¦•î+·CãáŸÁ¯mãéW7vR±XòiåÑEMάwâõýe©{ P„BˆþmÞö{)‘0Ð4;§oZ-Í-dfeaÄãD#QT›F"a~¦ámÁš¦aÓuZZüxÓÒp8hšDÂHæû_/šAÁ¡}ÊKý¡º/Y·ï]„|>‡7 ÛÔÔÔ2ý¢+¦±±Ã0°,PU·ËÅìYWñúšÿ%//p8LvVÎIOüþ–^è_íåô—išÄãq‰†a0øtV® ÑÜÜœL§(*ªª`³Ù°Ùl÷¦Í†®ë¨ªÚ§úþ²Ô½(B!Ä §ÚlÄã1tÝNVn‰„ISS¾Œ 2³³¼ýÓ>ìŠÒ9¯/+‹P0Hss3n‡¬Ü,âñªÍö¥›VUÕ¯Ô÷C!„b7\n/@3-þFÒ}™èºN<Ç›á¥#&hí|ã‘|¨Jg7—×Mv^¾ìä1-þFLËÄåöJƒ™ï"¤i^¯Ç"‘H$_‚™H$R›ªª¢iZʸ Ñ·ŸuÚ»ÝÞù$Ä4“‹aÉï‡eYÉn]6› ÕfÃvÌ÷䫸ýE!„äEÁçË!nÇïoÂ4 T›†ÓáÄëí|Aàg›7Ê‘ãbÑ0þ–&Ì„ªi¸.œi)Ô/ {´ÁÙ{$IG˜¥Œ 8ìv{³ÿÕü~H€"„B Ðî‰r8Ý8N°k–ÓåÁéòH£¨ç ”òÜñ‰ÔŸ(B!„’Ýydàó@l´š)³"õT6›JâÈ1p$ l6Ûq_$ªª*¦eJý ´ú3Íã>Y”E!„誢àõzi<܈Û#Î’Žö0Þ´4,Óì9@222©>p¼ü<)´¤¥¹™Ì̬^”În>ª 7Wêo`Õ_™™Y¨Š*ŠBq*Ùt¡…èªÚMII)¯EQ¥`N#Ë2iokgß¾*Κ0H4Ús×fcìYcyï½w9÷¼©äääb³IýNÓg7òþÖ-Lœ8 ]ïy‡ÍfcüYg±ùÝw™2e*9¹y¨ª"…x™¦ESãa¶ny‰“'£÷2G!„¢èºN†ÏÇ_;“ý{«hkkÃìå{ÑÿTUÅëõòõ1ãÈÊΣ½-Ôã¯ðªª2´ Ø¸;>ü`0œ*Xœ¦ ßf×ácìØ±ääfcw8z®k›‚!C?~<Û?ÜF0 !÷ßÀ¨¿qãÈÉÎÆérI€"„BœêưÝn'=#aÊQTùõ} °L“h,Ökp]„4]§däH “ÓÁÊx†Óçè{A4MÃátw‘®ëŒ‚ à ?~' O ==cÇŽE‡š=sòäIX,õ(9( :ƒ•ðÛJ°í·0EaÄ9ç;:8{ ŽïÞˆ‚Re {ç(ǽµ¥È?v¥%%¨««Œ&„„G£Ëà³Ð5Ìäº#ëqòÈœqÎj†¥ö&<°ÃÏÎh3þÎØ²ú,.Ž~‰„µö"bûjNíBz@E¸«ù'6‡Ñ‹®ÂÚøP|÷Ìü»ë9èE‘hŸaTQ Œ†Æ~ÕY¸¿|û ^èZÀÍK×â¼)—ºü»³p „“ˆÛ-V„‡àÜsÏÅîÝ»Qc‚“º rÛ>ÔY-(((À÷ß.]»à¾…÷á,ëYHMMŶ­ÀbWžD{¬•GÕ5 Pyb'¬½yxüÁË0*òžxöSl Žn!QdìŒúÃûñäŠÏ±» ±]ãqÙ…c‘k°!Ì`h³Ì‹vÿ†ón¸K‹Äö¯ÂôïŽ"¦ÏP¼wû;„ÃÆ O|$ÄÚ*üðã¯x= HJ0áÏíûKGÖ*LXø ‰=[÷8f[–rŒ¿÷k$…ÕÃ<̱ü–ýGBB 4dÖ/ëѸt[__‹ìì|¼õÑïÈŠd¬_6©1Ž/üóF@æÛàž­À¬‹‡cZúx$Ç„¢®ª ÛwìÇóŸe¢Sz?غë—Í…h·aíöBLÜ!•{qÑ3{1d$EB÷KL¢KLb›áfLš›—®m„–ÂpóҵȘ4£U<š†+y‰Éb­‡Õj…ÑhAXXØié‹ÔÔT‚€êêj¬Y³aaaˆë‡ÜÜ\ 4v»KL~@yY& ptÜ9уñîÕýQ¶wæüg/"ÓÏA|HÊ÷ìÅèÙ3Ð!È€/Wÿàc@Px,º¦Žq[ùcB‚ðs¹Óbƒqißh¼½u3Λâè$wýü "†6>o­:„"c/¬šQ´áåAèà ¼£iü3·U¢¦h=„£Žk½ÏFïNE‰L>=6!*+׆ožœŒƒ!ªv+î]ö1¬á ‡cÚÅ“ðÌÝï¢[§îïØ°t´N‚½¾!‘ŽŽ¿¾ê8 ¦x×ecF'ÇLàëõ0EÄcÚ+ùSlá(­¨q|ÈÞ›‹¥OÎB°ØóÝ·øÌÒÝm¶Öõ©IüàêÅspu“Ë»?øwí"cGªJwá¹mõ ;]¿«pû;{Ü;§N8N¨¯Î‚bP\PŠøÁf@ÙÁ|"º¡¤ä"ã[·kJóa2¡Þ´P#l–Jü^kBB¯.X³z¬6+lv@´Öa׎ݨ²@TDwˆÖŸP^Šnç8ò³ô`>L±fÄŠûÑïÒI8+&ëßø_¥ ëàسåw`N*:§Ž‚åÔ;ˆê5Äñþ²}¸íÃÄî&ÛšŽévf&]tJVa!Á§—‚ÎôÕrÂmyŸ³p „Áɶ k½6»ξ¸‰¢ˆ„„t뙄îƒRa(s,)uè•„2K5j ‹†IôƒÝš‡Ðiˆ2PY²7½¼9o^}xî}vŽvŽ‘!°ÚE¤„Ë8;º<ÚÊYâOć•—ôľ_~ÃÂO"²ç ¼×YtþPˆßn‚ÁàWeoEÆ•30:Ê„ªâƒ¸ëëZtÔÙéûšÆ¿¶â &=ôK³ë¡‰£´8>Pd)Ú€Èè>Žwï@™©'¬%èè‘ê¢C0„t…µ, )#KG9›+`ŠM½²3aï­‚!Ò€Ó€Ó³Œ}@Pg”fÁœË2pvj$v C¨ÉØØj+Aq°V•¢w/GãÎÛR SlʲkqÛÇû^Ý]…Îýca«a Ž>Öjˆ:ŸNKÞ¶ýŠëƒÐ`+²-15üÿ莟%=Û3ýüVa5ç,܆°[Ζ›n^º¶U˜-ÃmC N—˜ì6‚ƒMFË{ƒMÁ¸äòË‹èJ `0@ 2¢4ëªí¢Ó0‰Ž¢¢Ó::¼}y8q¤ ׿&âÍyÃñâ£Óðø¿¾ÁVËP„™ŒØRmÃ¸È Lˆ2aCM=bÃa©)GUq.ºBXPÛe]TXŒ9à³Ñ öïpL¡[ l•aè<‰Ý^g^ø‘ýG7«ümÅ¿4; ¦ŽéHìÕÜš´æ€ñi Ñ¢?«`´‹è>º P8SL/XKsÑý<Çví‚må0ÅÆ£ªÐŠ)qŽ]E¿æ×!<É„ŠcÕ˜yú{É}Õ0‰FtæøþQ´7°ãÖ{¯ÅÌÎ!x{õ—xw÷Iœª³¡Ï—àÍéQzh?‚¢PSQ„q‘ަ÷[^"z„ ÌÄ™ gDØÔæïE·!Ž][…»¶ ÈÔ$-ÕêÆ6ægKLAMþï¬o¹$Ôôþ†°ÊÜY¸‡3×5 ·åGê‘è=l|›á:gÐb³#ºCü¹g7D›Ý±}Ï.Â.Ú!Š ¿v« 6ƒÑn…Ýn@‡ÈHœ0 Í†Mô¥¤¯rtŒÙ›N!,i8ŒÅ{pý à­[†ãñû/Á‹¯|ޝ"c°ìG0nN_Ü~ë]µûÊlHL솫¦ÆžŸ¶àPÜÀ6E"@¹H0¡G$þ—µ SfLqt|þSǾ0е(8v Ë–N†ÑüñÉWØ6ÝCLÒâÿK9¬åy8*4ŒbŒHz.ê,V u nvž´ ¨F„y cygÿ¶J„v GÝÁzŒìíèx÷üY…°ø0TæŠ0‡;fM½’"ñå-22³OoÈ,µ"¨FDÿ&¨E»O¿k÷±RTB18½7¿Ð!Hû~*Ch—T—‹0‡9Â>i4 d÷¯ˆŠ ÁŠƒ5X˜»†ÇãyazôKÅÓ³“PSšƒEï–!ÂhoLËŽ" »›ØÆüma4z(.ÆVa5„ç.Ü›—®EßÿßT8\…+y±1/Ý’{"996‹ õ5U°ªDDXjka‡Ö: j A°ˆU9мXí&œÚQÉÑΩ¨µâò®ŽQò×'êÝ'aQÃP—/àú"Þºeî¾ã t~ó ¬Ù»óÞ*Çü ýðÒ£³;JË+›Õ•ÁHêÚvÅïÖoxy=˜9½sn7%Å¥øüÛ xåÇSH0G6bÚ —``¨å9»qßú`ôWkYMã?öö«±¾é¨Ý†9÷½ƒ*›‘A€õU6Ô[KO³ø¬Ä‚è®A8a1-ÚqÏWåVD'šÑ­ wžß—ß2ËNaûî#¨³¡F`C• ›Øìul·nxðóxô‚>øÇ#× ´ä6ïÈBÔiá|/·1i¡ˆŒÃ3¿ÇÝc“ð̓ז<ô&¾^ù%b.‹¯˜Šo0¡¢¼[6lÃk_‚ØjwÿÒ˜– U6D±ùM˨錠atû¾+ gFúÎÂí?jRc¸ýGÙ)×Öß…Û,î g1í?^Òú"ì­ËljMïÂVr I‰]êº:„‡†ÀnµÂjQWoAQQ1öe@]åÕ5(-.Å•Ëv°vèœajmv$¤G¤éL'o-ÏÆ±ƒ‡!ˆØ^£Ð©S$êJŽ ¨°u55°Ã€ àp„DÄ"±O·ï±Uå£0ç(j«ª»ŸB¢Ñ)q ‰h˜x”Ú€“eµ0Fô@ïý åCGCü[W^#z˜ÏGˆÑ€£™?ÁbÑcØ„£™ë`±‹H6aFÙÛ×Á*ŠH6¡§Þnž8 » 0†„#"¦+*O†(=‡M@°Ñ€œÌŸPk‘`È #j ÷¢0¿V›ch8"bº£ªð ìhú> âø7îGïš~>¢ƒ,(9¶§ÊJa³Ùa4E <6q‰=|ú¹æi¡8ø±±éãW1rú<ÔÖ[d…aµ‰Ø÷ÃjŒ™9¥§j4 Ê*ª›ŸÅä| bDµ5]žÚ}ß#""V» Á¦`X¬6‚`- EHD(ÂÃÃP~ª5öpô>û~¤ö’[¬E6“‚>#Sšý-,®’âzÉz)*‰\ÞÓwbTŠSR†Opù;`@¯Z=™8½[ü±Góô'·+¼[Rº¥µˆdVaw葎=Z/ÆÅ¥¤#΃´ÿYb**¯BÇÈ0Ya–”7†Õò#µÚá:]bjs-ÓSTWt> ‡·|¢ãû`©:å°s°¢h‡vÀŠ °h ž>¦.ýÕ9™ë£„€§ÞbCÆe·bãÿ–#åÜÙèÜѳc_ŠÊ«prˇȸìVÔ[lýªVá:ˆ¶Ö2ƒ":£Q vâ@IJ¼ !D25uØEcfÎǦ_E¶Œ0ÆÌœÚz+êê­}µVáz6ƒ „¢‹Å†°Îu›¬ç­6;,NFùZ…+yA!D9•ÕõŠžo«Ö*\0™;×âËO>`éBiÄܹÖ1ƒX¿l.ò €'°BH€Ò0›ÈÉÍÅÊ•Ûad–Bq‚BˆSZtÃ%&B LZ~°æ ‚BˆS(„BœÂ%&B!êÍ ’“ÛüñÞ|—š<0&¹õm»ë´ÕçaDßA8Xcõ‹4nüð%\7ã| JMAïÔ4ŒŸ1/}°eMˆÌúìi}ײ}È^b:ž“ëôÇ_ Å[Ìû["îûâxÛùúå½µ}ÃõïJò½û.¼Wvಅ/`cæìþÀK‹®À®ópÑ¢µ~[F„²—˜ô°åiôçäK±çì Î|Þéõ—žÜŠk>\QqìxŽn—üNüþ0ÿпlz ]ƒÆÁ|ö¥xõ«q¸eì8<¼q"žÛEqé9Ñ¢ïÒKߦÙGêÉIÈüh®žvÒú¥ oÿ˜vÍ­øúà)dÿø&nœ9ƒú÷FŸþƒ1sîÃØWmmöl[a¶EmɬxhõNAÚгð—û_B±ÕÞì¹ÉI?MY¿ú LÍ0£wÏ ˘‚§Þ\ßê½[?xWO;û¦ gùŠÖ$ÿ‚9­®Uæ®ÄÖsqW¯NÓ›õÕr\yÁôí•‚ôÑ“ðµÛÏ\[} †M[Óì~»¥ãf ÐÒÜ¡Î#úãõüJEåûÉCŸbʲ¥MÄ¡I¥ ŽÇSË.Äg}Ò,׿ñ¸#ŸSR0,ãB<ó^f«²uVFrÊkÛÏcÖHíÕ}ûÁ̹cOå™:VyôGÜ}ÝÅ0§õA¯ÞýpÎÔ«°ü³ì¹ˆîpÕîõ‘®Ú™n®{qn|üulßs»7ÿ€Ùý²qÛÔ©¸ô‰ßpõC¯bËî,ü¹ù;\‘¸×]÷®¢w ›ôWT¸8ˆÍ?¬Åhëg¸|ÑÏ#І~Î,éÜ¿¼°w½òöʧ¯ü ;Ÿ» ¿j¾ tý ;1wÉÈÜwGe+Šë¤§.Æê‡mõ÷ ®ÂÐ{ïwêH­h˳˜z盘ºhv8ˆÞy {Ÿ»OþVèyÙB”í]Š‚&bpô“{p"¤ ??Öø7Kåø°:s¢¥áœJÜbnÛµM\ú|Tæ¼Ýìos_Ú‹{^ý ûfá³WïðÌUXüs¾Û2jŠÔòºá•½¸y雨‘•›¾ÄŒøÍ¸nö[×ï¹d>¢.^„·ìÅÁý;ñæÓ PôÕý숮p×îáªyŠaÞüâŠå/7žÅd±¸w]׳Gr›×Ž;ÞxÏ¿3`z\xã5[Ý1ôî7/gÀÅ-þÞoàL>´­ñÙ†pZ¾·iøÎîi:zNz#îýÆåý€¨·6âÁÿVòçS8û†jìÙº´ñÙ§6íÅœîQꔺXK‡ŽÁ [7#%Ô±Êg«ÏÁYƒ§âý™èfjçf Dí3?á±sº_‹Q—lÂÞí/5åÿþ/îÀŽ[Ìi˜üÁSxôÊŸ°'s9 Ž~z5æ|{;~}ålEIèÓ³þêH[“Ÿì£g–»R®øJv-E±Õ޽©ÿœ ¸öŸSñÞ¢Ï`³äcY^üíô7%ÌNŒÂŠÅm^/Þù¢¯s§”*æ¨gé¦,ùëÞyÃñãçpÓ„a¸åù칈®Òî%ŒHe¿_Ó]LmÝãîïLA8\cA¯&£éÚâ¯[=ÛðÿU˱å›kdhü{éþWšÝc2`EµxçŒNáxõ@)îo2%+;ð Â;]êô]j;×…/Ä‹‡Ê17ä=|m?{S¢[½§á÷k»E`m^nOn{&Òq<®Œ­Ác¿~€Ÿ²{AÞ¢(¢ó°'rÈŒO×o@xúC7(OÏŒ%ã…;ÅÉËÑÙÔ\òíÖb,¾ó\ôÂÍÞóZVîÐ$Ÿ.Gxün˨i>(-¯¦ï>ølÌìXj«/ߊ´á7C¼;“½Ñ©»˜¤´û–á¹kgº™AÈåΡpëï ·¬vk-gþ€…WÝ׿ý—t‹ÄÂ×¾Fq•¶úJìX·7\ùr³{†GcÍŽ<´œSÜú÷ ±úº[ñýÎã°Ú­8¾ó{ÜvÝjL}bæé¼þ‘³ðîÃ?`ý£o`è¢E.ï÷ï[ñæÜG°N8„j‹ÖšSØýûWxø/4»ï†¿öÅ×óïG¿[žDHÃÀÁŠ'oéƒE ¾Ã¸ûÏR%î]Ç.ÅÃçǤ‹à³õ»PQc…µ¦nüwLŸ€cç<Œ%c»6{fõìÛðîXíVäìú·]ûÌüÇ<·e¤Ey]pãøbÃ.”×Xa«¯„ðó·‰Íž‹è ©íÞ“væ•DJÏNÿ~$û¨âÄì·ßÆá»ÆÅcŸDy½Ýû¦ãŠùo /s:J|ì£xøÞ%8ï¹ÛQm7!¡÷ Ì|p v>0«ñžüýzÌ;/ª„]ã™4í9¼vâI,½uæç–¡cb*.»c¾0QÓ$LXË]SðÁˆ_éáô³*óíøø±÷ðä’¸sGª aè7tfßòb³çRfÝñ™»±ô¦~ÍþÞ÷¦§ö⵸P¬ji¹æŸ_ ÇËðê?ïÄÃŽ¡aHN5ã’—aÙ•ç´zÏë·õÇ’[§ã–Ü2tHHÅ•÷¬Áç'¸-£¦ù ´¼þ¾lÎ <÷ÂBÜ—™[H ÒFMÀ«Ÿþí-ˆ®fRÛ}Óÿ»kgžÐjS]]K¨N¯”žÍ:|BˆþÚYhh(»˜z¥ôt{;eù§÷<”šÖBä·=´—˜ÉV<} d¤äŸÞóPjZ¦…õ‚°ýg{Ün0K9Ï» ×ìBH;EßKLæ6Fó„B\ ´‰†0 !„´…I÷1Ôj™Çì…wBg~&„BüxáN\íBjz]pq­­g !„è|“œkj=Oá „84”#„B „B „B „B „B „B „B „â/èû,&w>!0Ë .Â$^“r½å=R®K9+JÙT7€-IDATéQ$‚Jy''}pS~RËWPø-Ê_ÊLÅW›Ô¨¿j}ãáìH[æÍ_ Š¢(æåˆyù"}ýþ&¨¦š÷ >NŸ»gÔÎ?AãüÓ"~‚ñö4>jÕ/we¨VüÕn?j×-Úœþ4èÀæ­ÛÄyóˆúþH-u'ŠÞãèíôy'=æŸYåðýµ¾qåÐäGnøjlòð×òõô½ÍUеª¯ì ”NñµLŸÔ÷k¾Z©4|9–Þ®Ò'õ#¶¯—@Ü•¯’ö#¥Œ”Ú¡(Miçáªõµ„Z#<%é“j‡¡uø¾%v žØ)ÈÉ__¯‹+É;oÍŽ•ÀøíAsô¹Ä$eD`Öqãó‡ôé=ÿÔø#JGÆZž¦VýURƇžA¸›ÂkmÑô)§…¶5ínëºéS²_}þRóXÎèZp’‡fÓ¯vi–yÜÙ¥”üõ÷ú¥´|‰*ЂB€Övú?jÃÕ6)»(äN‘]…/xx]ñ~OFèîÒ'¨œP˜~½Ô!©÷ 2òW¸I©û‚›ûäÔBN£‡AR¦Ÿj°ò†?oæ¡Yåüs÷¼Yb9:‚ÌkR}e¢£®7ÎûoïÔSc}9#vw£g5Ôj·Œ»à´ÜeFˆng‚‡ DÐ(R¯ûb¼ÙMØZn”ú‘Ð[Çy»šÑ( w¾:´Ø"­F•ÖBà/.Gµ°ƒðdTí©i=4<-ý-xâÓå㉘yšF)"¡EýÖC9“€GŸKLæ&?€úÛ©£ž—é½Ó¬P`”Öo-/„î:>_œ—ïÉ ¾?%#L¥ù§õ>ô¦á«u”Š¿²•úCÑú hA!ýAHUybÅëìwwñw—ö~ž¿”pôìï@òóÆyVZÌžIÀ ß%&OÌðµ˜F+]–P²MQŠ)I¿§˜]-s(=²BŠø2\ÅE‰Žš¹•ÖO.C‘6з„Òóæ½=ËQ«s4{)JýQ(ù€«ÄÀ¬ƒrRÃNGIþ±C';ƒÐËyóJfj}ÄÕÊ_„Ô4È _Žÿ=æâ W<ìŽø­@¨5úõ–Hh5ÂSz¾”{´ð·aÖAPš?RýIÚÙh¹„Ç%&"úƒP{¶£†¸Hi´íá<-—Ç´6ÒSÃN‡3á B…ÎCmÎ:ɶ>Lj¹SÄÕèÝÕ2@{ðá*ýîò_ëüѺþJ¡H™Á Â×Û`‹èÚABà/v-G9Zïs÷ÔZÊÙLR—äŽ$½uX VïWÓm+GÀ„h‚¾ë“Ú©Êél”î›—²þ­Ö2‚§éWËNDË÷›Æ‹Y Ñý~¤6{p¯?¢T<¤¦_и ”¼_- <¸Žˆ††ïÎPN©%ªàft+Å!V¾(ÔØ£ÖÝÛï×b Añÿ8jC‹}æf…ï׺cRºÏ^ ;­ß…ñ£8 ¡´ƒ÷‡ø»rFã®#4k˜?Þz¿?ãBÐiçÙVg µ?¥»œÔ ­óGM#7-ޯĎƒÒÎgÞ!kùn³†qñuÌ>ÎcŠ!*Þð¡$|OgJ·˜š5Ì®åBüJ ÜuˆjÛA@Fø¾ÜçïÎÎBjþp‹(!Äï“®?vržZZk™¯ Bˆ_ „Ô™‚̰¥Ì&´xÞìaú/ç+!„À_ÚP£“Óò$R5fÞ02£`Büv¡e¯VÔþþáôñ#BH»­÷Á{¾Ÿf/§v„v-¾´ƒ" îî5kœ~Oã¨ç™!„áZú;êMNê=f•ÃWë#¹ù§ÔÎCÎÎ3Oâ Ô‡'Vð¼oç¢FPÃ_‡^Þh?R˾½´æÍ_ Š¢(æåˆyù"ßÿ W;|ȸ_P1ü¶îÄ žW;ÿ ³<•ÂW; ñûµn?‚JñðVÿ•ËÃÓöÕŽ~t`óÖmâ¼ù D£ß+÷ñû~©=ŽžÔò‡¡äy¹[œÍ*¶ŸöÞ¾äF©åqÿ\b’PÁ¥Lqµ´ƒðäºK¾î”µ^bÐú0Fo,¡(µSñ†±¢  ýèÙ˜RÍòSÚöÚñN@ýžÅä îN •ZI´å¹j ZUL³Æ_©?5ÃתsÑÚŸ…[!­ý‰h}ÝåGà¿KLf•„%*Aãüiyè.íÞØ¥¦Ôc¢’]nævÞÌ>hOœAhÔ8µôáÎŽAÎ; £|Ow:yâÑNª?©‰³Ã=]‚S²KI ku5ýu(õw¡µ¿ ÁÍ2Œ¯ýy¨u]ný2{؆½íFGæÍ_ ®Xþ2ò ݺq^E!H^~ '7+W® `;³›ßáf„«äyBñüó#µþ ¤,/(}–Â!~LàÚA(ùÐÔt ’"@á ‹x²{F‰1‘”}mÍ&´ÞJ!¸«Ñ¾³+q‘ºœ"Ai§è‰I®)¼!’'ºí$„páa\/ï¨-p1ká,BÐ ÞôaVøn­Ž „ „‹Q¼ÜÈjöæ, Oü)´¼G©¿ ©y¤$µô·áî5òOjÒª~ùú°A_û› ÍÅAj§¦¶„”û]} –ã€2â¯ÕQÓRK”:{’SRÎRã8 -ê—ÚõO‹÷+Ù`á ;$¢ ôû‘ÚìAeUrÝ—³ %i×jæ ·üÓ*}Þª_‚Ò)÷º,¸Aƒá·€’óÞÕpân+Hlàjuî‰8¸š!¸Ë{ÁÍèUp3‹ñµC­œ“ZÿÌ^~¿–ƒâW˜ü6æZ7¥Sh5F°R—H\-AÉ}^êišjùÓ0ËÈ©å&·|´ô™@q @è=Ÿg¯uãTÓ™ŽÖv&¾¬JÊÁ¬óú§ÆûµÌBм“äÇ®ÔN“]8R? Ëñ‡ æ‰µr:WWïVÓáŠYæ=JDBËú¥µ¿_ûs ýABàOþ Üb´öánÄ쉄·÷É«OãèéìIíüÕz›©³7AAüÕô7"ø(ÿÔt§J.šA;WËJ€/÷É»³ú¼«²Pb¡4[.ù⃩ °ãÐú‰ZB¦ROSöEþПK#þi¡d4ëN~|•>l$íÁ_‡/ËÕ[ù§Äƒþ\|¡FEWâ/›G%È@Úž&+u'•Òôka%®d„n†ûãܽ±KIî«K$ZçŸÒý¹P T-f0j40WkžR×è}i%e‰I‰À¸[öD<åÔ­—@”ްÍÖ]oäŸÔ–Yƒü‘š>âÇ–Ô‚‰¯¦Ðf'?zLŸ–KjÕ ÷×á‹åoåŸZN¿¹~ì ÂÕ¡;;­÷i{¾£¥éS#̾KÎN/)uCNB‹ŽIêN.%æA…2|”ZðèÏEhA!@{±ƒPÓŸ‚ÜÑýHÏ?9åC„øÿ´ƒðÔGíóŠèÏÀ³üƒŒò¡¿B|ŽûƒðÔbÕŸðwžgî*ôW@B¶ˆx2’–ÛÁÑŸçåÒôGР|ÔH?!Ä%þo(çj—Œ–»TèÏ@ÝótÔƒâ@H€Î ¤ŒÊÛ‹?oœÚù§VùÐ_!œA¸ìd|áÂÓþ ¼¾Ò÷Bü\ |9öÖ»Í î1û8 þ~âÇ!u‰AŠ­ýAx×!„¡¹8ȽGïþ ®kµÏ_MüØKBwHݪÕ>~½‰£Ùé£8BðËÔ“]0zô!wö¢Vú<iŠ!¿eûÂBËÎUþ („P ü2ÖRÖÈõäB‹- !+JÎË÷¾LŸ¯íH!Õf rîÓzyÉ“ƒô´˜á¨G=ÎÀ!—³=úƒÐÚNBé6]µŸw—GžÆ_M; ÁGù§õ9TJë«üõvùšæƒ^íˆ`å¿vJí<}{zŸ;ƒ¦óEeSâ®ÓY´š!*íhµœáJñס•? -‹ôFû‘â6VÊq*rŽcTȿټá¿þ Ôð7 ç´+õY¬w×R¼•âðÞ¬aÙ™¡GA¥é‘Ò¿@ù›ÚE…u7RГëÞ¡›[¤Ý»¼¤Ž°åNñ}Zwª‚Æõ>ŒŸÖ.x0““2{à]}¦v›25ì ÜR=™bË¿\ŸZ.¨1ÂVÃ[ž/óOj'¥Æœœo Þ¸‹ŸÔüU»VÃ¥/@ú\Bh9÷çi¬/–w¼•ÒÁ*—‘ a¡u½—ëï=ÀÊŸþ äÎ$”ø{òÎ3$O:5í8”柣|¥ù§Ôg¸Òô{ºÄéIýÕºý˜=ÈC9þPÜÅ[p“‡jø+i'æÍ_ ®Xþ2ò ݺq^E!H^~ '7+W®òsî¶È))ÙÇïM;BÑÿµƒðäã£ÓA5–wø‘Œ¢cüÓ“ŽUî‡.AaÜýÝŽBðÛ˜K1dQjé+(x?É&„ø9þk¡åY9RDBê2 Bg:o‡Óžì!œAè½ØA¸‹Ÿ–ï „ „Œ‘»–þ Ìþ™÷ST!£t_ùƒz\q[ï¦!„¡¡8H¡ 2:x5…ËÕGr¹¹ !ÄÇø¯?©¿àÃøs!„3Î2¤Ô)õ¡õ ‰"B¡@ø@Ô˜Á*„!w†D!>‚v„Bül¡ä,#­í ÔŸv„ „F3_ÚA¸ _©!„P $Œ²å8½WãºÒÑ¿;; w¢¢ôyOÒ`V¹|´ŽŸÒð¥øóPsÀABqÚ1©ý»”FÓg< ß?©Ïˉ»éwW>J;T)ñSs†HA ÄÏBêöTAãëþ:Ãòuù(™¡˜=,w-|Ks2!íÄBÐèºV3 µž—kŒ§õ ³j½.eö 7ü¶žÓâèxBüÿvdÖðº¤ÊIyÞ* ߛƂZ”‘àÃò'„áC|¹ËIâè-¡õUü¤nPÐ{þâǦ?¥v B‹½-6Râ/õŒ*³‚˜Üò‘*m…¡Fú•æ/!ˆvÞ'ïíôI±¡PcŸ» aø¾NŸÀú‰v`Ñ>ýA(õ.æH¡2ÃöÖ>q=§OË2Rš÷Çô©Y±~êˆöo¡dŸµÒ¸iián› Òô©aG¡dŸ¼Òg†6v$jvàzLŸZõ'ë'¢‹CËJä‹ç•Žý}ŸºÒô¹ëDÕ°“\ÜçïéSZ¡~R 4P{÷áÏûÔ}>­ßßRüÍí,}`ý¤„·:A9û”Õð' 5n¾¨ í}Ÿz ìÃWR¾,?ÿOŸŸ@;B!ÅBë}ÊîBiù¨ñ~=•Ë0Ú»‡7ê¯?—¿·ÚŸ7h·þ ¼¹Ï;ýAhi§÷™ ïSthÇ¡õûý=@cÿZûûðcaáÉ:p{÷¡åyú‚߯t†£ÆûÕðH'x!]ZìÓW+|Á õ^K;A§éW }/1I-ÁM'f–ù¼–³’ç=霥ìÓ|T>rß/õ# ÖåßVøf‰ˆ’÷»ûHªåûÕ _­ò‡ò_ª8ø²ý©@û÷¡d¶Ò/ýAøûyú€2j”¿  ~i=»‘šþöXþj´/ð÷APØ+mØí¹þÚóyþZ—¿àã÷ë=ýÞ,Ò>RRýW‘öi¡õ>e½ûƒð÷óôݽ?ÐýПƒïë¿'³J?¶“ !„­í ŒÌB!Π@B¡@B¡@B¡@B¡@B¡@B¡@B¡@x€+§ä‚›ß !„(FŸGm´4s—r"'!„™AÈB!Š!„P œ£sG„B HBH»DŸ©=9/Ý[IB!íH ¤ˆ‚Ô{ !„´3påh\®°B‘Œ~¿Aðû!„P („B HBB%¸C‰B(B¡@P!„!Š!„ø“ßŘÂA!>ƒ „B „B „B „B „B „B „B „B(„B(„B(„B(„B(„B(„B(„B(„B(„B(„B(„B(„B‚B‚B‚B‚B‚B‚B‚B‚B‚B‚B‚BH€ajù‡7ÞZÃ\!„ÒZ `ìè³.#’“ñþGlú !KÓþÏ­@@‡Ñaž~Bá7B!B! D÷„nNZRqäGÜqõÐ+={õÇ…WߎŸ²+$½#ûã'‘1¸»'8 ›Bˆ¶˜ä>˜—_àòº¥j'¦O¾ç?¶þs.:à~ýð%ÌŸt1þ·ã Ž vùüßx÷~‘‰Ëúű”!Ä_fRØùôÀ•«ñ÷ë'"."Áq˜xýãøÏ•"î|f—Ûç·VX(„ÒâÏŽã†;‡µúû°;oıOßqùl÷„n°‰b³¥«î Ýð۪Ř+þ;ï/\Þx}cy®¹dâ¢BŽÞæñXüú÷,eB‘¬Ô?¾±äÌ/!ñsÑ\¼›fÁ°éá‘?WâLFœ´ØÑµ…HØ-'a4Éû¶° µc³ßcú݆ꓣ<xnöÌ5_:£ÒÓ1êÜ HKˆd)Bˆ·fÎèrj˾kü}|l(¾*®mu_mñ— Ò[ Í~›úôçøí½§0<)º÷0çœÁøë¿6°” !Ä—Q‘»!Ñ¿_7=o.ÛÞê¾íËV£Ç%sd½cyVy³ß˾Œˆø+›ý-ièy¸iÁB<÷êlÜö_|ûâ<–2!„xK &Þð¾ü}NÕX`«¯Äî_?ÀÜéObÊ#O5Þ3ôÁeÀoÄãoÿˆ’+¬5%øñí¿ã/ÿ5àÅû‡ÈŠì®ºßï<«ÝŠã;¿Ã¼+_ÇåÏÞzfÖrÝ"|öÛN”×X`«¯@æß $f,K™Bd ëÄËsâ_ÏÞ{¶ïG†ži#0ëÑ÷qçå}ï ŽŠÏ¿{>ø4Æ>zjŽ´Ñ`ù÷_`ˆ#¹¶X}ç<~óTü%§ºÀ5÷½G&v?3øq0žý×]X¸ý¬¡1tÖ$¬úêE–2!„xK Lº¯OºÞí}ѽ'áßÿ$+bÎ,µÏùëøá¯O¸ˆ× X5é–*!„¨ë#„B „ÒÂÝငBÔÅé7ˆä¤Ä€Î”@O?!„´)Î|“ž~Bq*S&Od®BáGjB!nf9¹¹Ì B!æÍ_ 2!„´äÿN3Ç$±K¥¢IEND®B`‚KCemu-0.5.1/doc/kcemu.png0000644000175000017500000004715212417262523015341 0ustar glaubitzglaubitz‰PNG  IHDR,`§OÖbKGDÿÿÿ ½§“ pHYs  šœtIMEÖ 1ñ IDATxÚí½Ûs#Wžç÷Í̃¼ AU"‹*I]ê®VkF31Ýk»·#ìpx<Ž ÿ á?øÅÿý_Ø‚ü䈉µß&6ÖÛ½3=£QK£ZIU¬b•X yÁÉÌ}8—½›û½ ˜UhmñÛõ½«©ßªh*°***¹×Ü+Xæ–ÎDïÁ0ˆã1h2Eâû@Da sP…V2¬V9K«ZM§j¥ú ´d'w¬ÞAbC«\›š{5*Jž_Q5ånÝyùá÷s^éCl æ"´¶ÀÚ®ïXëüV5°¢ñSÀÏðPÿº­#¶ShÄ€e!uÈ;ÇÍõBŸmÆ`æ#¹ôà§ìøúË?E(€ú°dÊ”7|3ù$¨ü‚¿Ëñs`R—0U+ýkšë Õx­RR !U¨ÜòÊs-™äê9òë,Ïs ­íú€u7 ür ¢qµ:X¡¬ª`E´}´Ú–Î¡Ž›³ @×êaÇ5Ò—¸@£Y¥B ø”AKUO¶]ë›JÒ)Ïà(§ö±=©ßcÇg]Hˆ*RŽmh¸Wù† 6oï*"mòxœÛCª,J—+)©CO9æÕRáÌ>óœK=Ϧç·IWˆíú¿ÈÁjErèJ3Ðó€‚ê¯øm‘{Ýé"¾šàrrýá[Ð{]hSK©`¿maôê’Kí‡CÊt­$| ]ã~®¶]RTyPe€Øž6 Ûº•ÆURZØÇ4™¢…žB4â¹­ªUÜØ ÕÄÜk¤¨*ÀDÌCÐè >¬„õæLe‰ç‚ö¼¶*k»¾`U½1kJnÖÁŠ’ ÛBh]À6Oú瘅Sìß?†1Ø…fv`´\ÄK®|–c‡¸÷Þ#Àço~ìHÿ“pˆWA @T9p ±!LÓ¶Ýq0yuŠÐa9Lñí¸À$ЩËÁå÷ØçÐ’OPe^U[ëÒ Š  ‚êDÚ&€ðYèHC4¾áÅôtàrž2ºc´°Ü5áîwñþño$äÒÐC’Œ¡ëƒLÕ6ÖVUm×w¬*uµÂo¥.+ùQx °·¼Ö¶º@: ±³{c° ÒyÍdo`C³@#öù¡bÿþ1ƒÄ‚Û2Љ™ÀG•¥V€85Ò‚nëH::lîC G§€ýá[€™]ºtbÂ}kÁŒ}îÑñ ìö‰<&gæ©mƒÒe­&€R}núeÎl«„T»Þ/¾z†Ó§ŸK8]>ÍGB‡™RvS´³Ñ ¸\bzéáï>ÿ¿ðó?ûöðvþú „T÷ÙS ZÊE)LAñÜl¶] Ö›9Ý›8Úo&e'ûü<‰E ´5¤ý$z¯Ë¢ŒÁ.Zƒ÷a.`X@‚ú×H¯^#º>CJcXû'Ð< ½öù¯a%5?‡5°Rþˆ¨4K53‹ìé³%h2E|5ÁÙ‹Sxܧö'ÿå_I`éá>t÷^Þ—&Þ«¢—*¨„O¬NEÕ@*Xœ—ž¿øçϯ@BJÀéðÁ.Ž{Ð{ÐmvÌDÛgj·}øò‹'ƒôÒÇÿý¿‚EHÓPKv¤¢ÕÝ{µNxâv¶Î÷íÚx½™Ó½ÊÑ^¥®*LAH|‰ÆÓÚb{:`½‡(šAïuAÜ{V.Š8öGc$ ûkÿ‘wóº‡È #èƒâ9H¢¤7ؤRòðk`¥÷ºHu+Æá>4³Ò9dÇ Ž=¤­4/„Ö¶`w$—^…C{‰Çýiª/«­2e‚À>]oâñµt˜Yº?ÇÓÏÿPiæýô‡xøð´¦ò’ ‘¿ê¶šŽ qSêÇßÅ | @¢é¸ñÆØq1¬ð@*-]Hó;gª*KõemïÛõݘ„å–1µ¦`Áo•­)(<vIG‡é"òΡ÷ºÐ{ChV—ʱ‡4Š˜¢™2 Ñd D4Áúü»R$)Û ºã”ÕVDïIX‘Ãã TÖžm¢ªèú /¾øÑ“+øq^±u÷»øðáÏ`:Ì$¥é‘ÿià,\,‘ϹÒÚ hLÂ>Ÿ|Dû÷ÒÚ} ±€€ ÂLo¯[|tò&¯t¾« ½I·ŠíÚë[SWZª)È•Ž„…PW‚ºrfz9»Vˆ=Ðù9’)óáÈŸ°ºÉ6E2»„Þ– %ÿ\€UlOr°°V 3€ÎÏ‘ún®/0ìÀØëgËd'pÆ%‡¹H»(–É¥BBª€•PT_ýý¿ƒ7š¡ua¹k—K8F d`ãáÏ~ή­·'Ux—â« 0l£…Ûõ­kSu%6ÊÑॄUÎÉZPW¤s˜b<]œçLAÍôq”‡ÕM"‰³­¬ÄéðTФ£Cw$¾›ë ôïŸ`e+ ¢ «dz‰øj‚ws÷Hh:BË¿—?ßAºë”ÔTU)P®è›ƒJÔQžþý?J?,wM´®#¸?;dQJ~œùÍ<– Of Àt"Iys´ßfªÊv¥Ylp³&SÀ’^†9€åìòãq¡Å(7·E aúù9¾Âïðþñodd”¥amïÛõ«Iƒâ³¨r´3u5-©«¥3E"L=3ß¹ gÒ¡­;N淚̀oV~I]qŸ•PVY ƒýûǸ¹ÎT‡Ñr‘F("Äw˜Ï–Hv¬)™ªÚ=Bä#]„0 QÀR+Àò˱̛öÄ|€eûSm_–È—gŸàú³—Ї.Ü}ÒäÒÃÞ»8ºÏT0CEÔ,\Ði˜SS%Xñ´†ØNÑj?`÷‚ûüL÷I·•™Å°y²çˆ½ì<®ùÃ4teüFj}›Ú°]ߎÂÚ`©®Ô'av‰ÏÑÇâÉ é"àŠ0´ƒÚCN´±•p°¶«^Vë!–½v"*ABy#A#´¤„ã^økv@“)è8 1UE÷ùù§+/¥°Z $`ÅÚé8RU}õÅ?28 ó)û9Uz2,& ÓÕ°Òûm¦à8¬„ª ýsÀ‡ 6hBU=€è ̇'^&Jd`Ý2@•`ƒ®˜„kŸ­m]ávݰš:ÚKÝCË9WU¾«pt c¯ŸSWESPwàåñª•æRÊ_•@±ÎÒ™âõWO$4Õ%`•LgXÓÌ_ÆM@! õë´¬€¬6Òê½X=è°¡„<â÷ô ÿu„yX™î!ƒ9‡•¨C4‚>À¿Bö!š¥4TAk¤Ô—iÓÿ³Û)°Þ0A ¬4Û­UW²„Da NgÐ&)i "ç“1´ž€ÁJ8Õ[ö;TÁâ4×EA,?Màðæû÷3PMÏÐ ¬ð ˧K¦¨ðvÉ¡.Ê€Ö­\†?YÊèœ0Q'¯NY˜ËáMc\NXö¼µ"Ë’ áþª O– s R¯Q¬L÷úà8§ª¨JʪVšÄ‹‰ôáÉ:ÎUk´rŽwz;uVû¤“æþÙ-Ø~„ÀjÒöX>'Õi ª9¸Ä4²Ãr}ŠêЧ Y6»j ÎÄAµ#WÒeIU©}Ÿ–»ùÎÑtì>~[úƒÁXBªKþÌU¹5TVÕÐæ0o÷atnd6¹€U×êAkg›zæa9–ìH!ÊÔ”…*X•|VVj‚«¶w†9±ù~~T¸§O8¬®J°‘QóŸáíìâI²º>`Þ¢ÅÌ-•ü­Më‹€k ¶vß÷ Áuçô„4iü5UWª£]Ic§B]A³8_#M©¢ë3¦n”¨ UÚ›ƒÀm{ D‡ÕÍ’ƒó¯ž¡uÁY]¨³s÷»²¹^êð {V¥¡ ™ªªR Ä~;çŸÑÃb½¢„7±£K• ²„+×ÅTÀJ|^|ÅF¡ >’€Ê*ƒUõZöG%;"*a¥¿u Ã<±‡·†•¨IT}xâÚ”ÌÁMMÀ7QR+¡ßœßFa6!ߺ{Ðnú¿À‘•J×ï,©+uÝ$9uÅHÄÕ•ˆ ¶\i ŠŸ+l…º½90É`Õž41u[Gä¿ÆéÓÏYgLqlbïšØ{÷û÷¥9°Âa‘Ã$Ášìdõ&j[Óä?ùŸ« •Á*3•¸EJG×ê1xó~õñø³pÊJ„<ÖÑÐrö*ŸUÎo…y+ñ½ƒ]h¡¬n«¬~³¢•«Mru’Ò¬›´¤¬™_´ªà´¤o‹MÕÙì6c=t+¯AÔë Cé·wͪ¾ûŽ!FØ*u(cå+ÔÕWëÕU"æYmX<á@š8)æÐÚ6(YB#.’ñ¾zú<× ÎuØiu÷»Yr¥XŠ¢ªJ…UÕl´Z‚–t´C©µz½nÖP ¢2¥"eHFÉj€Öà}–ƒV¿§¡‡pÀ6 }5*ÊuÞ!=¸`ô»Ùó<«ØÄ;%³¯J9åæ6Y‹€ý­‚ÊZY;)àÖmÁ0Ò‡‡ˆÊ‚jÑ‘"wŒ+`•öæ mÊÀØ6qs}Áü`¼]û`%O¥ VUêjÊj¬œŠpZ7Mý¹:…·&ãþ®UÝJ(.øéŠÊl<è·`f×}FIÝD9n¨¸ÈÚ“n’Õî;ÙL¿¶  fÖkªm±¶0ð•&pÙÁY½÷ÃBŒ1±—±wÑ«X<Íò¸ÄØ©ãÞ´h¤…”.K=ÉÕ0;s¾@Ì%so-¨Ö¸oÛZ êßø´í1WW“W§¹Be¦~‹¨Œ&“ ­S +a¶°Ç®=_¡B¿Ï7¦aA'vTì×Í”UeðûùJêjs°PE85…Õ:hU}Îm·Éªä:(æTÞúùn㕊s¯PM*«8S]EŵZ¤¤®ÔšÁâ VdµËŸQ`eº‡ˆ­z┦ÎÈÎ \a¤ÑñøZ¶zi?²R™4K1!õ”FòÍß‚ÚOœ…ÙÙh,7( %z%¨šŽß#ï9´ªWf*«ùg;î —Ý_M¦2B*Ò9V)«ü })nXW ¾„¯0¡(ždç\"Ž.²ºMµ…O ¬ŠêJþ}çp½2­ë…µJAÕÍg/ u˜l2¬~É(ÿ¯ÖLU‡Ú~K|öН ,·1UïB-¾‘½¬ñ‘ ÜÐ"«+õÍžN¥9HÌõO Û: °ˆ Á'ÏL=¨Žöœ×ÆKFh!u Ýt™#Ú­l.à\¾ÀA¡M; Jh‘m*ösz:Õ^²!-ßÞ)ÀŠ?蹺øpE¡ü÷ÊÑ\¨n¥£Ù®4‹‹ÙýªYœ(]"t~~ÅR¤:u•©É—°´wáJ~f¼ô@â ¡ JýèUXɺMÞ#÷°41íÐZ§v*Zlç %é^˜|­_2芖6´îðV@Òåj\ÅqVþü*(Ö)ÁÈîÄT nYçyK3ºÒô-ª­¢‰X-ÒØ!§–¨Y¢Ð˜¦#Üxc„—ßȖâ‹§H›4ÛÕI·CÄшBhf‰ ˜8D„sÄvMyfEç€ý&»Z®û¨L-P¦ç”|-EXÕ½Åß‹k`Ûù T²ÁÍA¸r¾€\g _lpl¤¼v²ÉÒ¯Ykv¾,뜦#èsV‰ˆ²êóZìJ7 ¡fŀجÔhà XåLÁºÍÚD¹TAjÅlÆÚ±gô0. öjZ…p"¤ƒ9(‚2ŒWŒh«üùØ*¯SÅK²öº®óÅm}ëTâ:º²9p‰ü»¢ÚR-¾ h‘Zgûªn¢üÆ'ÉXN„ õO CGðò3<}ú\&k\’eeT°¸Œ–+ó²b¾‰Å”œÔ±¡'’ˆB·Ä4ËϪÚÀUÐ’óüLa­òc¬zxVA$ÍúÖÍA­meµ“|8,x¡Å^imÚAkân&ÝñX4#`tù öMƒO¾[&õ$S–d[„ë“_†UÎo¥š‚MÕUP!°ÈòütdJ³4ö YºJ’H0–•$)O*xÓ’{€š_*@ù°1 r0l:sAùº51_›˜™UÏê]™¼ÅwCUV ®JßV½yHEŠÎöšA_ð»úÃŽ#3ËuÇÉ%E %AÜ{¬+Ï=Ò›E[Lm¦´\ĦǦҌ¯y'Ì.Ì`ÀBLmÖÔr²¨„V•¹¦ÛÝš`Ek5¬Š7LT,øÖÆ5•-Y²y‹å[`bqz!7éòš•ê´vWßtÙP4ÂÒŽp²Ÿàtô £W/0\„ÙgcNe†½è¸ új‰²Ÿ¨T¿•j Öù®<Ðtñ0òÏTU½yVΑé.ÒГ©+Yº‰³2(Ç—€ÓC¥mQøºú…T1–-I2@ª \õÿ×^»Úl-¹-V™™UªµhJ¯„ÓÑJóy-\UÕh;ep­ƒV½Ó}½³½è¿*=0;;ø‹_|ýÑ=™k%’€UêÐ{Ã,YÔì õ¤©3qïñ-†f=@sæ²Ur­.b@BkÙI~"Áú àÿá~¬$nVï¶Áb +»>•D³ü BJ/1ê¬6 Ó\4býì'ûïàtô g³SÙ Pt„°Ì#W§2“¾ ¬J¦àŸŽêó#¤•ýÏ:ÿÒÌ+*§ *Fž•žA®ºÒðšHµ©›ü-‚0¾Ã •T¿ht}³&ªáç°™“ –HPV§B°d¾^9s³Æ—ºJÒèÄl˜g¸NUªp øq©`­jÑ”-BKð¨ÂŸEyõÕQªæ ­ƒhGˆ¯`î!1[yXùtHks¤‹ÍIôàòIË(^ƒh4Ó„fš æ!èü¦Ëœï²õLZÚ´ƒe?ßmS˜†9_V…ʪö¹J9"¥• ‹˜9ÿUö÷v©Gº˜8M1­„ÔÊF˜ÀBea£ßÑöqüPGÊ_FªÊZΟC RÄÁ¼9¬Äß¹Í:‡ª¦Õ3H%³‰51«Aå¯y&:" VûHV6,ÛŸB›ðÞòU=öuÞø±·_úµB…U%m=Á<nº IDAT¤nµ*+Ô-‚Oþ^Q{EÓõÖ/X5šo~ =ÜŹâËËßÐûlz¯ÿî¶ :ÿ ‚QA™©f«P[ü×ïàÑÇûePUÁŠo¬çH¯BLÂSÙ%6˜ñèìå?¡ýpˆ£þ¯@B F¹¤´§Nµìç¾!ù¯a:€æÝžóÍŸæþ?Äú°ÔfŸS4Y¥™Ê÷ ³* JMLÉÔõAÞªi±’%äˆuÅÿ§ÀJL§ä•l $Fµ*TÍ`ù)å1×8ÙŸÃŒþ´¤´dÕƒ: ¼f( )9ÛëÌÁ;™FÏåù´pˆl€‚F ¹‰o®/dcºøj"{¢ ‘‹ùÑ Öͱ¼†áŽ Í4•Ù€Z0h)n`L§•~,Õ—Eçç9§qNeš+ü1¥a7ݬU³òj¯+ù ‚ 1n—°¨BK€«-vbå¢î/yk˜¬ˆ¹ÒªPW•oð¶Ý(ºÇD'»æçϯñÓÇeX…ú'üYú‰4mm<”ÅêôÙŒ¶…tbN1põõî=~Æ"Öd”MÏ­¾ìøÊ†q8ÍŸÿþ3ÌF3x>Åáƒ]<úé_—Ep™Î=ùÒfÅö®Ñ,<@z™âÏ[¬€"°$gÖ,Èp³V¥­]ü3«†óN^âúÿgcäÄÔð rNÍ÷•Í`ç[ò „ÞÅÌàgìM î¯¢yXê6›ÿ3ÙȬpˆóbL@´}$äŠÍµó|Ù)Spãñ“2 â« ´ {»«y>ék”—t¨ì4ÊQ(sñ Ã:Yëi@Lm©´Äöʈ¡êËZdQ®’iX‘#D›ø Ö,Ñ7]'6Ê"¤ ˜úÐÚ`§Ðû˽´€Ü Ù¹W|¹YïÃ(  UoK>ÀšäÙbt/±F Ñ9NïÁóiæ›Jv$¨ä¹i_±çjòOžþ è8Ø2™X´³f{ÇÁŽo!ôC$—NGÏðÞA}þš:õ[tó]³Ù~šÀ1Zð@qÜ;@þ'賯êg´yEos­µ-NŸ 7¹fÃM’Kúðk¼üˆl6ŠÁj  Ç>·ÝÏŸ}Ã7ç~Ù‡§úå* î×)cÕ ,çúù9¦ŸŸãÏÿÛ‡yXšrJ_¦ïH3XC¦PU“z¯@"€â„´éÿ3ùÓ´r*«h •…&yXꆭpÀ…ú'0{²/yª/_=‘=Éo¼1B?Äþýã,Æa¥F÷tÌ7%Bíš3GÎX €a3h™Zšc#>)ÐÊ›‡uІÐEôÈE5´Š>­âµXá¿¢Ó·n®X%EeC³ºÐÔŸò‡!BÚ¶Y û+ýXUÐ&¢8–¬´áí(«T $ž/ÛaU9ŒER±šZê7(Zh1ž±ç(üOyXòœ¾àågøÝ?}×! C&Òµz¹´Z äêãîДåi-y­4ÓÛ6ŒNWÂ*ĹœüÝ~8„>óáa†!ûíLjü× x ¢¦Q´û¼ôBœ#¾šàrÂ\v×AÀÍðäòoð“Ç¿á/aõ³¦òïDo71›R3õ!ú¶9>ètè î×6Ž”Ï£{-ÍVS¿'`ê²Iå/ž~ »ë°cùð´®#9[RšÂA ùŒ'ºÆÊèì LÜË þM¦3¼øâkkïðkP’AKŸ¿´où¢¯2³´Y²¨pæ u%Ö,œ"ôCÖæ‡XŽŸË êdR&ƒt“}Žˆ jV—©+Ò›z‡M†Æ!dÚC•yXrL¯ƒ–R&5ѯ¢ êÁ¡m†ÝE)ž篧Nl@ñc½‡¨3ƒ¸TV´Tp•£T£ü¤¡†þ9ÝqÊЪs«é…ÚMÍr¥ºb÷eÄrÕ‚$—|üù¿ÿq9÷1ì8xïÏ?îÛ²ÌKøûŒÐbÝ.½`ž”ú1©3UXYŽ…®ÕÃ,̬‡ãw°¨þW¼fóeésn®/еzòå,\!Ì·æ!´.`¤:â•JM·uÅ<%]³Qopt|Í5 ÏGHlÖ —/%D²gºB×ìÓÑå7Ùx;ñ—ü]šåb|ÅÚ/-X©[.˜´H¥)+ (Z} •*Û“Ë‹‡ÿÍ¿|€p¿]Ìó©u*«`’*s°6Y´àÄKÝ×@ŠlžWWR}q‡èÎîÂ茕›È jF‡˜O¢;9É ELÀNYŽï#õùœÃ`ðqé¬÷>`(é9h1v"Ÿ±­BKnÄ"´Ú¶ ÑÖ–‡,ò]V«:ަ‹11¡uø›2¢¦á#P~,MšL¡Á†Þ‚ž¿u2ËÆ±‰ñh,*ª•`%ʤìö Âè 7ÞXæ ÀŽoaä3µeÝËñ36)iáJ¥¦vÐÕÚFןH+B¨>Ñ*©Ï?·˜¬">KkÛ¹Ú[q\£Ëo2•6óñü÷ŸáÁÇA´Dx-ÕY¢uö-Ü7v236U‰Oª ­ =¶§¤wÜ` Vøàþ;Ìá$Ì× 7ÿÜ?KÉ–s­íHXM/&R¥¬_¦Ÿ&|oôr)-G › &)åaÝbµìw“KÁë‚™»ëÈYzGÇ'L]Í™ºjaaúBª«.²n ­É¾„–Nöc"¡\"m¹€1EBé@'6(%9ên­\ª‡VÍrTjFwfH1ÏE^ñb"gäº'è¤ÄôÞ ‡V20ÙH4ñ«1Z»ýµ)ê¿7…W2Þ ZÒ‡±Â¢ÃÇöº¦ËHœÿõïŽßç*o?§¶TX=üÙÏ#eV®àL½‡ÄÌŽ'+A›|g÷ T)À Û:›v!¥1ú÷OX©Th!¶B€ŸßñÃwåK4Â7yðquðâ‹'°»ö‡oÉò3ÈQ'—Û]‡§”$,Õ¥ÕŠn¼šI$üD0A¨´°ë`N™ÊJuР$U÷«7 †þy VâEÌ|èCÚQt>’-¹Õ1r –ìïZ°q’{YÌ4Ÿ^Làh:ô¡ ‡ÀBÏG‹Ö[QeU$’Û@*Æ3@χš‰ÞÃËË'¹IÅv×±×G8Íßx6í¦Ú\Ðb©Jû¹¢Üt<Õ,ÃBÂÓé€ Š_hShq:˜#‘ÎÏ¡»NÎD\..žöä[Ô4ÙÇu”TV‹d*«Ò9Ä’'Øš.«Ÿ”Ðê{@‰`²@'áÕ\ë U45ªL`Ýqò];MµVÕÕg_~…áÃŒsV«ëùï?ËÁJ\?öY14“€&SX‹‡+ª@¨ùýá[¹j>œh$â7ÞXÂJÔ«²jŠýá[l¨íø¹lñS¾^W8²ï·úÐ{ÝR'’Ô uæèZ=t­\(uÁàŠO,áGÛ¿,á'Tšôí|Ü&rx®TÌJdœÀ’@Œí-å;ºVOªþoŒéÅ„ÍåtÐç ´ÉÈ")ù?ÓÞKÌs S5«E&€ ´qø«÷_䀑dt´ÐV\VõÀ*vå)ý‰5Â<¬R—¥1u%h}üÁ#´üRÏD¼–™b}Ɇ6í n³ÄЄ›é‘wà y/-[* ­îÉ­ÍCáÓ‚ÏÍ;®¶tשÍu) ÝÀtíy¥~Àünf(– yØOÀà}$ß¼`¦¡-‘ kÀ$Qp5…Ö*ßV%¸¿Fd!zJFÐHKÂJLßþòÅßJ %m¼Ø‹/ž€ŽiÆH•iÛ¢d)D`qõ{éßQ7†: MUWBÅÅ"ú‘‰?²"s÷!ÏLùñܤ½9âWcüóå7xüþ{ÐÞÊ‘Ñr¬ —Õ‡¦Š¯—@‰³¹ë$8ýür>¦1ØUª= Óx0¹`Ýjí #ö<£S2õÅ=\â Ï9¦«P?1d‰–„ŠIeúÛƒéE! §]y=EÔ¶èúxðñcXæ‘ hÉôp ×s®bšCmâèª%êæ”ú#5)néLAÐÃÙ‹Ó¬z}èŽÃÔUšH?nº,AqÀ6H­Êê_@_´‘Ø®L8UýYFÏeæ ßôw-ÕDNdÕ‘¬»N¨ØúÇ/‹ÓÏ®ð×ý—LŠ/D8Ö’iY» í”î€Nú@"ôAÆÌg£;ZƒCÄö)ô‰ ­m#î{2pQ£MVÕ_ ¶ºZɶŠ—<»¿UŠx…¯¾Æôs¶ùv¿-A%2É¥2°ñðg?—ýèKÖ@C|~…¯ÿÀ|¥"ÍaØ?¨„•PW›),NYVµDŠç?±²±.÷?V·§~ú”EÍ>üå/e@´AHŠ8ö²ò3nÚéó¤€m¿ÉÀ–*U´—Ý<:‡HfK û™R'-¤`õ¦ÅiXÇ_ëZ= «wPÛ©£+u“¤2yu*Íphà™Ç<‚…C„ÑÌp/ך\÷k鳪}6Yçp¯ò¦Õzˆ×§[úçáÑGÐ<  $AÊÆª#eƒ)¸Ý­š UðÒ¦$¸‚Ž=™ /ó³Z. MÃ*h‰ ûÍ•3ÙÅÉ9˜ë`›À1˜¼ '/`µ%¾’oP1Äem]b@JŸÈ¶ÅÒ4Ĉa!¶ºÐÆ!âñ5–`¹'ˆÚç0Æ:;€«ï& ’÷ÃJ˜¥TˆBB,Ú})ivus0EBX@&|õ _ýÝï‡vånáKgŠÓÑ3è{öÂéLoÍú _ÃJ>Bâ(¥GAÐÌ,¼µKÉbµZ.Ÿbz1)™‚ògÂP{$;Áèé@&HæÞì^b£P.BàÁ˜³Tñ6 Þk&™é<ç¼–ÐjC`yyZ‚VBöàjuôPQ[9p©‰x….¦ïãŸqŽÓëK¼{ÿ¥|`Rº„XHÚ™òÓÌs†‹vî.0x=áæ"€fžKG¼î8ÀÛs/4è—}~ÛfQI®¼j}k…‡°ü¤goS2—l‰g²««è×Ï~€[¦_l§ 4&̓Á×À¯ž»&Lf&ðK] ¹žIŸ§åX²{Äéè’KOf¬MöŸø?€f³s'™¢ÊÎ}!ͱiQ{}ÖšÚÙå@È·÷‰­ÉØ—>×LZµìNát1gÊ_)¡Š­°´™ÒhÎL8+„ì\Í?sñŒ=çïþɇ ¨&µ{T[ün´\$Ü—káKþE×Jl2ÑA°8E2½D6.=šOJc¸r&"±3àR æÒ L£—ù’Z~OB´¨þ¶kü‘P7¹ºY îç‘oa–(šIg«šÖ¢Bëý~PôÁ2 ˆÞC¸˜ä"L±²™ÂÔ{ˆpYy¬¼VúíœÃYøŒÁ.‹ ®|¹%4¯@ÐB àéç½ðîàqNu¨¾!QèŸø>HoEyŸÃî—Õmx0‚.4 ¼Í’,±ûNr=b+„Þë"¦™Ó¥óg¸¨„\Dú†PpĽj½†ž°¨£€_ºäõS“mÓ¾� 6˜--ñÒËæŒ.=iÖÆ6‹òŠ*´+{Né×Wøzú7xü_ýow¬ÀÏõ°‰ôbHX=ÿçÿ/Ï·®ƒöáLjã1Z~X責A×@U§_7KÐí®,°Ô»Ã²Úâo#Yºƒ Zšcƒ.Îe~–:fUôÐÚ?a2ºì-ÇÕ–ø¾ìû…_¡—«¬Q09$ã~Í´hA›´€McޝX¯´ÀÁö›s8”ýÙõ^fšBé‚ÁM£•ÝêÞˆü3#ø²5jí¸ì>‹”H;°»SVØC2¾‚¡”ÃûBÁðœ#mÙ¦NA³5¿/ûôWFàèXh î!ËÜçŸcPîk3zÐ,WÕI·Ã³DgHí”Yksýü›çØ}üvæcRZ‰³ º8õ^gf°»„î° {™0+×—MDÅð_6K”=ûĆL¶\Ä]•KõØ5H…EY‹àågø·ÿÏoqòx¿úþ×_š%`·ÃRl§vЋ/ž°âÆÑ ަc÷ñÛ¬kB8®´SKÍü«6Å‚ƒË"¹šeŠ@Q[­›w€–7Wˆ±Ø)îÑÐRò™ò¥/6XA€Áû2òyç0ÝCP‡ûLøÍg’6Qü=&b2a[9U…v‚0:ç¿ýme}vfÀ”9CãÉE¾À{`– E:` !Ïä_.¢’€!ß„`RP^WÃöi8Ë©€7]*EX[ÀêèøZÛbAT÷ØýØÍ|Hïã¯Ï–ˆ­™h`êlÂvdžËäD¯’©>™Iµ{ò¿Q+9bŽR$Ì1ËFy¯å±ˆìúx2+å 0Šœ®Ð?—ŽlÕ•F‘th3>~ÌÛPG•[mÚÚÌÝ!Ì©,Áx #eH[3ÐhÎT’ÅŸý« è«^L/@ÇÞûóa½#ýƒYšzBÚ‡€f!ŽÆÌA®¼lDê —Î|Vî$"ÿDïA3¬ãˆo"ž~%A[€E"ñÇè)žüþopþüZî‘Ç¿úŸrî¦ÍÕ"¦É¾>ý[L??QÕÕÉoXtÌ$ô¾t²Ëq ;zê °È—Çëû ÐbÍñ®ØdDH‡¼UšI2h¥!H;d¥.JôP'v¦¾d{š9¢ñ9t‡E7áf-wS^U¹EƒÕ?ÿöáùÇ=üäño %;YÞ™’ý®:Z« •ø>ÒÁˆ=$Øcj*§®êT@ñ„E]ø]*BWÍ“Jg.)ä Õ­âH¶4ŠØd#¡â”޲—–õ¼¿û«ÅG%h¶›©&õ\x"'±ºH[3hK1X/ÿ´¨òÈŽé"„6I‘žótÌÎõÝÿúÏà ?B„o$ µØc]?ÂÌœNý7ר¾Å^€ó¤>·‰—¤ˆî ýû'Ò´׊A•ÿŸÈ Y¸ +çL¦‹€EyÅ\Kež$xÁ?{Ivõ¾¹¾@è‡X<½”ç,ºZS"r€!Y*^:Êý˺·zúäðX¶<•&ìÙ"HˆÍ@Ø9Ìæ\Ngx~ù‰<¶Ë9ûÌ¿ú7 «ÿnu_ùíÉE ÍèOéÿ€e{†éÅžOናùÍoÔ8Ÿdƒª¦)šÓ«Bôóo ±èoݼƒåÎ3hÔ†6i!OÊ4 {¸ýqÏã€Bç…Ò¹lrb3Gýâ\nºÈ˃ `-csoEî»XbŠøj‚/þþSP~-~ù«?f¹'¼á÷{-©NÕ(@+]„ˆq àKP³ÃÕk\HÉß+Yýëá%–W˜…Cƒ n¨j“Ír”ÔKVÒá?ewÑZEd7«Ñ=Ñí@kÛ\µZ2:˜›R-ü@m7o5“¥¨‘CQ«&¢‘É¥:àÇKt÷»xðñcØíÄñé’•èK¤­óãp³9™^Ê}±’ÀuÕÂbÂ"tˆh.ÀFhš}æÍõ… $èã1¯£ÕÐA²«U¶þÉå*) ƆÑË5'ÐÌt'®³è<ع®â3àpPGc¤]U¬=”7ÜŸÃ1®a…–Œú‹î£æîQ¦ÂÜïO7È{®h€„Ø,0ÀUXdfÁŒôŽ{øàÏ>„¥v2]·Ô¹…«€U2 M  @kÑEï W8ƒçSüì¿ûÎÎcéß2ƒŸfÖŽ†´®¦§òw„L€K˜ˆçZ¤ÚjaËÏ£š¸ÐƒÉÀ”9"2(ÜÉÔŠÚåH,ÖéA³X»dÍ™Kpe¹N,AV:p—O_MpöâÞh†Öuʳ·íÃ_ =XÖO@ƒQ³ü2-µ¯=;g¦”»í²6ÎFì‚Ò9 ù¤ :Ó‘Ò'õjVý 1Z$êqÿ˜ª°DM›™= ú÷O¤2§¼vVj^êÆ£ïóȧæ“aJÈààjÍ /[òíZ¢ˆ%`¥C:±Åqö‡•;Y¯YÃ?ï\‚ÅÂ!‚Å)´ EzsS¾–=Kö7k™G8{õ;y¾š3åÊÕÏÏb¤¼Ms¾Ž6ÙÕd‚t { ¤¼ mr}оßÍÚ*‰‚ê(b>,aNxðÖà°Ã}„ ’•5š"(Åo -–ÒÁ›šPžäŠë|Ô_k33•̲¤ÛbJ•ºÙknE·óÑðk™—ù&KI!%ùìÒâ—’_!¢ÿ÷N~ƒ{ÿóoÇcé„—@·?Ï~>ùÓ•€*{öÃ,çËVð°Z7@kZ X.K¥Ð”›X©{M=6X/­\eš>x ßIDATúž|Ó¤QÄúÈëÙÛ<]„xþmiØAq“<ú/þR´øâ~º8Íeö¯‚–f»XÏŽ.ýQtx‰ÃœÐF‹%Æ‘2×îDþ¤VIUFü¸‰È E ª*”ªJŸB­maxôQîZ Ǻ0Eýh ]Ðôi ¾ˆí©bg÷£W/dõÑ,Àð¸¿Å W\ð¯Ë”`'`Ä},ðîÏå6nl³çA¨!å‚PÞ¾ÿD&¹Šn¸-ìULbSµSÜ ŒÎ°xz‰öÃ!QÙd2æÊOfOgò3¥ŽY7ØœY(*"„Y("àós¤æq4–÷AÀúèø1rf¬>OÎs/ƒ¬Ÿ+gcÌ5<—Lgò9ÅЈ(’hÚC`žJ„`ÄyõFsDÞuîøìöI=¬*æÖÕ®4 «œï&ùWšÿ¡«F²›…Ò‰iåR檠…]¾™ÊJ 2å!>!í±Ä¾Ô´‘`Ê7‘ßrsh‘ ñ‘:v| ©ÊÊvZæ£=¼ÿÁ¯«ÏÃ~›u…TÌY5“^æ˜ñè'ëko!¶™‰+¾”«>ͱA¹ßÄ0Êi Q]RuÃ-¿UÎ!Eòá­L‘à™úÆ^_&ŠFÞyTó„îƒ,’Ì稨LÜ Y¿0ž{”´aŸAk?‹ ä‹+üh‰ïçZ˜U¥n\ÑÝO/ Ýœ·ÿ8«ÉL¶m©ëÄJ´}Ðùt úáXŽ•µ·áMüZ~Ëù´º$UÝ0f ”…ýE²çèòìÐ{l^§ªjÅwU%Öj¶ËÒ@Ì‘×Ëik–isÓ^øœn¼q–Qéd/6–F4 §èòƒe4þR¾55s@ô£Ó ¼#»5HF˜V™BDU6ð[¥² C.¯¬n©ÜÏE!H»“3Uh±‹0ÀF·°Ç:+ÂC~³:”ErxŸm­m±NÎk™“RÌL›Öh¹2_E”$-õ#ÿàÏ>”e&jûŒìœÞ.™³E3Q¶.Á bÊÍu4 .qâ-ˆé 0yÖ>.Y*o@§:€›FùDó:é~¢,š »YgÏ(𱯄|úQ‚FÐgÔ"e9kkÚí$A}¡58Á>1˜)%ÔçÒc Á<²'6„È£g˱rW|nJY‘ÖvØO´ž\ÁÛ5åTr¬æüæŠA;:+Òßѳ<°ƒDÛ‡/±Í\z†®Lß°J¯}y ‚)ôî TЦ¾|3<»ïÁ DÌ¡²ž_ü…¬Â*WÀ÷Á΀½ &¯N±ãûH”>øEª>7õ:‹wš˜¡kõX`%œr% AVŠ3ã/ÊóÂè  »JyŒ#épo!Ai²˜gM²(ͫԽ!ð7ƒOC¹Wù=¼—:ÀUöâI¦Yz¶9èÎR&Ð ¿Vqª­lW…êU'¯pðÚ]G÷•¤¬Š“‚EgN5ï©êÁ&“šü(Î#¶Ó¬MI±s.ªª7Á•¯øÿr¨k2•™òÂ%âå å”a¥z:¨?×,·M´*f°PM¹‰8Šª›BüŒêàÑH‚·e ‘“ñ<„vèÀ¢à)+ÌOGRÖ¿6– Ãbèjä¿ÆéÓÏ¥cÚØë³„iéµÏº¬÷:$ÄóŸ[ª¦hk d«{„ȽÂ7Æõg/¥óºwÐÇþîG \üœ+Ûé ß»^k[ð2СÞ¥UE¶»nëH:ºlø'òìÄgî¸ÖÚ[ Ž˜Þ^vLÉÛ"Õɶ™0QÔ•äƒêp'så˜v°* U ”"¼n©µàªV’Nå,ÀZhµ½,ß4\)eWZõÁ7G®›e¯ËrQ¼<¬ÔRzÕ–4x5³“sõ}² Ÿ×ó©­Sšf­6WÂÃ!V ñ— ¥lÆ’SÕæäUû™/inòLisñŽBÉ”üx;76‹Á~’n!L»ÈE¾|ÒÒqËëd“¬7½—&&ŸøÎÊ¡©Å‚zÑ­5í3³°e¿ƒOe5e±ÞR¼]‹€•˜/)ÍoѨÝGڿɽDB×êåæd ³~Uh1Ÿ[,}™â~˜¦4†¬†•e¿ XÂ, X ­Zp5…T‹”ÍÏuªî ¡•Ë|VÀ•S<…á¹±î|s¨jC<œª]^„UUV¿<憪K8è¼T€‰² µk‚š+¦©ám¥ow%XæImˆ]À)ïø|;›š¢üJì·×B²¬"P"÷J^óâ†÷ ïàGVxªší ,ë'Ü¥MaP?‰¹8hƒ+7™&çð¼<Ô¾øÊw©#ï5Ë•ŠP˜¥µ°*(Xñ¢ÉÎb`Lˆs©€„”/¢?/´.rÏYREX€îÞk+E]P€Y”¨´êÀU«¤¨È E|¸j %CíÊæ/K4˜Sº`J…R0jÓA ÊÊrY÷Dq3ŠSsoàì­¥š¶MÍÅ"¼ŠSëçrÿ®œwI)•¾¨§…º){%ä6z±GXq3†V”U(=µÔ†lŸMaÊIݯVz ¬r]56]Ž_©œl®¢xàµ?[ òª¦…ÉÏRµl.¡¢‹Š6W¬ÏU,PÝ£lÖ+m§‹ŠMì'®ŠkÅŠ¨Q\$ºÖcû¶3ßU°D†¢®@L躮K…FqNaL%}U©©µ6aþ»JÐ@…"¬Q[ù›Æ§ëŠö½¿FÉĪ2 ëÞ ¬r%HuYýê Z¸€« ÀÖÞe@†øóêÕ+™z9À«8\§ù¦,,1ù¹Ê|ËÎ;kW4ç*UR•B*ŒËmª&€I§ù( Ÿƒ:uÝä36p¶v)ŠMU†U5¡E«¾Jfp~U¦|ÕçÅv7©\ ×T^¦°ªQWÕÀZ-õßzôËo¬Uµº«‚V­Ú*lþrk˜iÖ1“+­©(n˜º·Æ*PUE?r3¼D§Ì5æbS€•.yÅôi1 t¤Ô7¶ø½Q®^¯ªAE•©F°Äæ\±Pÿ$SÄš®Ð¯‡TÕ¬D§*å“;î¶½1h䬃¤¦½Œx&øœËÒ‹kÍ5ª„˜jjVŒZ«òO§ÕnݪÝ>š^gym9¬$¨D&Á:X)êŠ}®VR‰¤‚©n*ô&KU³°"b™3Ao&ehñ^·ñÅÈîÚ¯æ]ŠËJ>ª|K° Tëj¢„R,{Sp­ƒWãÅC÷2OŒƒITÉé,γs¸P«V¼Ä¦ô7:%Uá­…h\¾…µöV²‚ó»n¼\ÛxUÍ›\¨âË@**åº6‚•”‘gE%°ª|o®¢šjj6…V‰¨š[ñÓRjAñC’ûÙï«üoç"¨rõ‘ÒÑm­Vº5ªK>ŒÊñ7m £B­j|yå†_cêåÞš½.¯fåæ,žï*³H@M¹/•&XœV)wÜM^8u?³êßÖ|fí”ñ5»•©Yób¨3é×>7*½ÄÅuY« S0ƒb°*¯· ]‚TS¸ô½UЪók‰‡dÍÆßø ´JÞa¥¾9ä [sãÕc¯ƒWA‰T¥GT>¤k€¶2õa¤*ﱪ\µ9‹›²Æ4j¬šjÀ´”šœOÕD©ºÿ§>Å\Æâç¨MjÚY¯4-ßpk×*•Z×ä  ªn«ÕÀª×­õ°¹Ó=z#µµ \ëdõ&oŽÒ&­*-h,Á ðªÛÐMý@ÁšL…¼¯5¥êνjsÞf“W)‹`ƒ fÛ«M¯UÇTü7ÛÁ÷ºTUÁ°fäÞJ¨ÝæšÞÒT^ii4…U…)ØXo®M µ©ÚZ—³Uô­0C½EV©‰ P5M”]™Œ{çñ¦oÏu*ªâa|£Yu®MýBkº|ŸPªzå3VU•Dáf_¾éÏo²ê^5ÏEî:[ǬÕfÀú¾VQm­È«W“7ùš7H훣 ¨Z¾»¦ ¹›žÇ›¬*¥²JAÕlüÆ¥WëÌã7Ù<@i“*Œïä‘÷æ·ÿÏëLÍoXMž‰u Z!v~øÀÚзU ®5>‚nH“7GTuÁ†¹m”׊si¢P*ã«Tʆ€z£làolÚ¤Éq¶È÷÷Œ¯Èq|#ˆ}O«t½«öðúqk´*ÔÖÚMß\·QM2úï^wý6ÝÀtZ[ÍpËyW›òÖ`"äðŒÓFûÖ•Ú]^óº=ÑÀüq«ÊD¬WÅ;˛×Rë’dåÁÅw°ïúa¼-œœcÝ9o¤æŠPú>€´I¢tSm Ì¾—µ®Âå úñkSpÝѦßÈäkš$[uüĨ/‹ú–ÕI£·d“QœGÓMZ<¿†ÃPrÇ&þ_S@5=Ö7¾¨äö Ú$ïq]ÚQÕõ¹­ÙºêsV=U?³a`îÇ ¬¦àºc™½RU¬UñæTE^›$êÞåùÜö-¹JA¬óÙ5Ý”ë6aSÅ´ H?3ðÛ‚Ø÷¹Ö=·Ì øñk¸šnú7yK®‚Ômnʺ„Ýuì]%ø6yW^—p¾Íùm ¥ÆP3XÏð]¨ªïXä[¹ÆXØ®íÚ®íú¬ÿ ÿÓdO“”ƒžIEND®B`‚KCemu-0.5.1/doc/window-profile-3.png0000644000175000017500000025301412417262523017336 0ustar glaubitzglaubitz‰PNG  IHDR(jªJ…sRGB®Îé IDATxÚìÝgxÕÛ€ñ{¶¥÷JH „ ½ ‚RDÔ¿ÅD,¨`âب¯½ƒ‚ˆbE¥Jï¡·@Bz/Ûæý°É²›lH! ž×^ìNÛ3g&³ç™SF7g5X¿LE!„B!ÐW¯OR*NÓ9~8¼c¥ 0qÒƒ’[B!„BˆuË´T€ÏgÜ©T PïX©Ž¿g,)YE’[B!„B—2s‹0[¬uZW§Õäç ÀÝcî, TþO-R”qo®æðN[pr<£Pr[!„BqÚà$+¯]ëÿ¨Óúí»_F ¯—=HHÏ)dõŸ?òùŒ;cgU•®'B!„BײòŠÉÈ) iãŸ\6ìZÚFÔjý=DzùãçE´ëz)¾•–Q~R½ùŽû(*5¹ÜÈ„+¢™·ì°ÓgÀå´rŽó„B!„MÃɬÖÿ³ŒþƒGè]§mlÛŸBÒÆ?éÞÿ ¶‘’‘Ï¿}}ªÊé*OÊçM¼ÒˆÌýé°ËiåŸ'\mÿ,„B4&£ÑÄî}‡ÈÊÉÅl¶àçãM. üö÷Z_Ò‹R£‘ÖlB§Ó2 OwEòM!j¢üzèÅZ·ÖW¡>$•mËU â ¨§ PT¸*€9K¹\¶â4i.&„®•–ùwÝfôzý{uEQÀl¶°}÷>rróiß¶a!—”røØ ²²s)1Ñ àáéNû¸X|}¼ÎËý®øCççãM|\,^^õœ$íÝÇØ+Il†§»ž}ÉY<2÷7Ϻ€‘}M ¯‹gÝHQ‰‰Û^XLÿ^Ý$HBˆÐ8\,­ÊO¬àÊËú:-_Õôòm¹ŠìŠõ4EypòÆ«\®|ú?¬v{Bq!'I{ö²xÖä–2ö¥¥tJhÇî=ûxä¦^´ aÎ7ÿ‘šž…Ùl&'+ÿ ˆç¢¸p‚|Ý1Y¬¤dðÁ²m¨ªŠÏy¤8î·#‹Ueß±,Þù~aQxyžY²gÿanÖ‘^ ‘,X²™ŸVïÅdzrµjnk3}àx6^ž^¨¨ÈÏ–BTOq PÊ.œ?ÿ¹š¹Œ`âì% »´Ïi§;nËzº¥&æÉÃcíï__rÐiž\Ø…¢z9y´kÀ®Ã¸»8vä0³Æ]Š—‡žiïþ…Uç‰^gÂWoäù/'éh&3?Yɱ´<šûpã ”U¼ýt¨*X¬VŽ%§–‘EqI † @âbZ¢×ë0›Ìü»nŠ¢DFvV‹•à@?¼¼‚ãéù<ÿÑ4Š…k´£w‡nûy_ldÍŽd¾þ3‰ñmY¿yL—‡€Ož‰Åª2þ•e,žu#%F3£¦ÿ@~A!­šÛn¸HÎÆÍÓÍ[wV™‡mÚÄI"„e›Ã–—ÿ_Ò‹‰³—Ø’ŠÉÄÙK|I¯Jñƒ¢P] Êé”êú˜H!„¨^^^>m[&äÅmÃÙ¼7•7¾þöñq¸»»³gÿ!nØ7½–oþØIt‹x{ÛÆŠ÷ôp§][áÚl±°}gÓÇ\LlDsþǪ­É ìÚ’û®é†·§7¾ÙDD°Z­†ÓX¸b7o=<Œ>#1[,L›ÿ­›ð̘þŒ–ÈO-ÂÝÃØ[-áÙxzzQ\RBD°m´•ùxx¸Õ¨ObÅýÞs$oJJJðõràdv!½þTZ5 F“…I¯/§ÄZÊÌq—âïãΫ_®aûÁ4†toÅÝ#:ããaà£_÷ͼ…ëyfLޤæòÀë¿ q-l57)™x¸¹‘—Wh¯A9p<›¼bÏŽéWeÎ[´•„öqrò !U× \Ö¯§Sâœ\Ö¯§ËÚ–jû M–Ó&¦âüòÏ3¾ÝôëÛòÈÕ­O»¼B\è¬V•’’Z5Àd¶2¤G+JŒfæ~·ž–-£ÐhõM²³ó¸(. €Ó‰kÓÆå5õð±ãÜ0 -­#ùõ¿ƒü¹á0l8Ä}×t£Së0ò ég+ ï9šÉÊmÉùÚ‚‚âR3o/Ú@Ë–Ñädž]„Á '7·€^mm…øƒ'²ñôð   ˆè²"%³7ƒ£ÉB¯îíͧzuï\)­Žû­ª*{eRT’Š—»ž»GØš‰-Z‘„Ÿ¿/A^öÀáý·Ð!¾ÇSR¹®_4ÍC|x{ÑŽg›ILhϯëvq÷ˆÎôhßœW¿Z‡·ÍÃl\JF>þøá§–M+@oÐaЩøxPTb"%»€1Ã:6³sóä7M!Ê8öA),1Öhª–SÅåõõ´M¼n͹žQó;Ú>d_Pé³Ó4GÙ×ñ™ÿ·r…¢L~a­šû£ÓjØu(ïÿÙÃc·öaæ¸K™þÁߘ,Vüý|1™MøyÛ‚ˆÂb#Öå5:33›~õ`HX†ôˆušŸžS„N£¡YYP±ý@ž^žÄFø°ëp:7J¥´Ž8ŒxyzRX\LL³˜²i9xx¸—Õ ØšiÈÈÇÍÍÍž®Ý.ªò·Äq¿¾|öZLf+)ùÌýî?¶ÌÅÍÍ`Oë¦=)¡7èÈÎΡWB$kw$‡Åªâé®/ ´Lh´ZJJK °íGJ–-€*.)¡Y«à² *EÑ8uǪÐÍC7ƒ^~Bˆ2ú²k9Øú@–[¿qk¥Ú8Õ'¥{×NöiZm‚Éb­:@qU½âÑW%¬Ãûç“;œ>Wœ~r§­ú¾ü½ºC.èBQ®  €.1¶Âòþä,vÍá¥OWñøè¾¼|ÿe<ûá?¤ Ò² iäMT˜9¹¹øùúPT\Lzz&ÍÂ1ôX,f¼=ܸþÉï*Ý…rs3àëçëÔ,Ëj±Ò:2О//O ‹‰½(€CeÁHzF&±ÍO-¾¡?‘J§ÖÊ û¸¹PU•õ·8ýøTµß¿ýwy ×Û˜ÜÝÜ !&:ЇŽ:¥ÕÍÍÖ„Ìb±âáfû¹*¨ðñ©ôéh ZVïH&ÐßÒR#¡¶˜Ô²ôåÚ·™’Q€Õê°ÿdzkµy˜˜/Í–…¢Œâ¢‰×ÆÍÛœ‚“Šä˃”®Ë”SÛRëÚ¥<ðp¸ Xj²M!„¸ð”BÚµŒ`_r6¡!Ï.µ)3î½”Ÿ¬$ÇÝ…ífÂuݹïšn¼ñõZ>JL„?·\Ö–eë ª~øúø°e_*Ýã#Þ· KWíÅÓÃNqaô»¨%o-ÚBii Í‚|ì…~“Éì dãééAjj:1Íœ›s&BümÍ¥Z„ù±nç!†t&.*ðTáÄú[:Èwë’xÚýÞ}$ƒ˜–QTú½pNknî~¨ªŠŸ¿ëw obƒ»Çòû†$:¶ aô°DŽÌãËßwËþý‡ ð´Pƒ¥¥™Nûo6[NÕ $gãááQmÊo™Bœ¢qì$ï¢_ÉÄÙKèÜ©£ý½càRy/ª PªNHyR1P©Ž\Ó…┢"Ú¶8UƒA€É)©ÌüdSoëËô±—ðÆ×ëX—”†ñ«µ\Ý¿-ó@V^1ûŽeq2#ŸÖ­‚‰nÅ[ßobta)#û·å–¡ÉÉ/fóÞ“|¾|;ÍÂCÙ³w?Íìµ”šŒöúþä,"£¢))-&º™?`«AiHD³0¾ümW÷oǤz’žSÈÆ¤,V­F!%³€ÖþÍjtÝwÜï=G2ñ w¹\i‰ÑžÖ”Ì¢cBQUhÉü·PPlä¦Á Ü5¼3¹Å,_w€Eï¡EË´-F“‘ÿS5(!á•¶YRjrê ß"ªyµy(¿eBqŠ«ç tJL°×štJL¨vºã¶\]c•Á£ŸTo¾ã>ŽžÌ©4ó¾N7:5Ý*V*Ö TÕÄë­_ËQB;v%a4šèß777ûôܼ<²=·#ºE$þdeç––AqI z½/Ob¢[Ø×³˜-$ŸH!//³ÅŒN§Ç×ׇ°`ÜÝmÛß¶}f‹…Ä„x´ZÛvìÂb±Ð±C;ôz=ª Û¶ïÄbµÒ1!½Îvï*õd:iiéX¬ z¾¾>ddf¢ªÐ)¡=Z€M[¶Ð墎Õîwûø6¸;ìwEŽiÕéN ík±X8~"•ÜÜ<Ì ½?ÂÃBíÏ@qÊßömq3œ¶Y¾¿Ûw$a2ŸJKMòP!„Ÿ—;ËZÈ 7ÞÂþã™uÚ†·‡ÿü¶˜¡WþÜÂût“ÙÊ¿}]³ç ¸ªAqU›R±¹—t*BgíãÛº¼FúøøÐ)±ƒÓ<?üýý*mÃq=E«!*ª¹Ëï*_.!!Þ>ME¥£Ãçòe:vl_iZhh0¡¡ÁNÛlÞ¼Y¥å.ê”Pí5¿ªý®(ÁEÚ†ÈÈ"##N›®¾§â6;tp^¦&y(„¢ìz\Vƒ’šUಉWM¤eåÛ·Uëç ¯R8ì0BWñ*8<¿#Å«N-Sþùp…‘¼ŠWê)v!„B!šŠ“…ÁWþß~ZHb¯!uÚFÒÆ?|åÿ(1Yjßå}/Îl$>B!„¢É((*ÁÓÝÀeîåŸÕi— »–R£™¢*žRã'É !„B!Daq)~^\uõuZ¿Ôd¦°¸ÔÅE!„B!DíeæÔû6Ëû·èÚùdðÃò%—…B!„gU;Ÿ [ ÊâY7’•™!9"„B!„8+Ž'cÁüh$+„B!„ç ]U3¼½}$w„B!„õ®  ¿ö À ¿‘ÜB!„BÔ»AC‡Õ>@9ÝŠB!„BQ[ÞÞ>§­‘>(B!„Bˆs†(B!„B P„B!„B!„B!D½°X,X­ÖzݦN²U!„BQSF£‘Ÿÿ…׬$-= EQ ¡sbg†BP`(B!„Bˆ†—•Å‹³g“—KXó0Ú7oÁ` ° •ëW±ü¯_¹oÌ8zuï)ŠB!„¢áñÂìA«Ð£tºS¡„Þ Çd4‘›“ËÜùóHˆï€···(B!„Bˆ†ñí÷ßQTRL×>]Ñh4s"ùYéYäçåãçëËeý/¥g·uN$@B!„BTËh4ò÷ªhß Æ6ÎÖúUë1›Í ¿ü*ºvêB«ØSóÎÄ(AÁ!•7ªÓHÇŽ¹á†ëùßµ×¢(J£gäÒ¥Ky÷½÷رc'¨ªJfFº=Í™éUî«yB!„B\ˆ’O$Sj,Å?Ðß>-&.†“ÇOrÃ5××K`R®A†6›Í¤¥¥ñÇpï½ã¸í¶Û1›Íš‰‹/æö;îdÍšµäç磪ªœYB!„BÔÉd+Ëë zû´àÐ`òòò8pð€}ZVv¿¯øƒGŸyœ¿WýS§ïª·&^Ž5f³™ääd.\ÄìW_eÙÏ?³`ÁûÜw߸FËÄ·ßy€‡zûÇÇßß_Î,!„B!êÀËË€’â¼¼½ððòÀÇׇÅ˖Цuë7màÐÑÃèt:L&¹y¹uú®©AÑétDGGóðÃ1sæ ¾ùö›FÍÄ]»v0yÒ¤JÁIfFº4áB!„¢†"Â#ðóõ%=Õ¹ Âæí[XòËRLŠ™NÝ:‘Ø-€Ä„Äs'@qô¿k¯`ÿþš‰EEEeÑž—œQB!„BœFCXh8‡÷¦¨°È>=ºu4½/éM¯½ˆk‡?‡ö¢Kbg¢£ZÖé»ÎÚ(^ŽÑÿøã>úèc6nÚHFF&ªª’žv€ôôtÞ~û~ýí7Ž= @‹-:dãÇßGpp°ËíVõ¹ºNò§SZZʧŸ}Æ?ü@RÒ ¦oŸ>Üÿý$&v”³W!„B49ß|ÿ-ûì#84˜Ík7Ó¡s{‡y/Š‹Š9t,pç­wÔù»<@Y´è{ZµŠu9úôg™;ožËy›·lᦛn&##ÃizRRIII|ùÕW|õå—tê”Øà%%%…›nÅŽ;*MÿnáB~X¼˜×_{•Q£FÉ,„B!šŒåüÊâeK4|Ñ­£ùõ‡_Ù´vA!A ª*y¤¥¦ÉÓÓž$À? Îß× M¼, ‡æµ×^gê´i\Ýõ.—;oýû÷gÉâÅ9|ÈÞ?$77—Ñ£o###ƒNùîÛo8zä0GæÛo¾¦cÇÒÒÒ}ÛmäååÙ·W±Iùç3éwb2™¸õÖÑìØ±ƒ°háw<°Ÿ“©)lXÿ“'OÂjµòÐÃT `„B!„8_­\»ŠO¿þŒ‹/»˜¸vqäžšNûvíéÛ­n0™ˆŠaâ=˜ñô gœ@=Ö ¸zJ¹¡C†pÏ=w»œ×¿_?~÷m¥±“ÿï£HII¡mÛ¶ü¸d‰S_’K/½”=z0hðöíÛÇGÌ'6Øùæ›oÙ²u+W]uý߇NÏt‰‰‰á©'ŸÄßߟéÓŸåíwÞåí·æÉÙ,„B!Îk›¶nâýO> [ßntìÒ‘ü¼|–~³”Ø–1L™ôz¾A¾·ÁFñ aàÀ¼ýö[|þùgèõ®wàáGvù`—åËàÑ)S\vt÷ööæÑ)SÊ–]Þ gÑ÷¶fjNž\å'o½åV­Z%g³B!„8¯íÙ·—¹ïÍ£]ÇvtíÝ•¢Â"~úî'B‚Bxèþ,8zJm\Ô©“Ëé{÷î oß>U®[>oÏž½ z€Ê›m :Ô>­üÁÿ?yò¤œÑB!„â¼u,9™WæÌ¦eëhú^Ö“ÑÄÏ‹~Æ]ïΣLÁÝݽA¿_w¶3ÀÛÛÛåôüü|ªnÃè´lCÉÉÉl}kªc2™ä¬B!„祓i'™ñúLB#BxÅ@,f ¿|ÿ Æ#ÏO{_ŸOƒî\ÍrrrÈÎÎ&$Äuÿ–ììlû² ÉËË‹ÜÜ\öïÛ{Ú€I!„BˆóAIi «×­áèñcD6kNTó(æ¼o_o ÀŸËþ$7+—g§>C`@`£¤íœ PâââX¿~=«W¯fäÈ‘.—Y¹ÒÖߣM›6 š–víÚ±nÝ:V®\ÉðáÃåŒB!„ç­+ÿæóo¾Àl1ãèAoà¿Íÿ‘›‹››׎¾½AÏ?¿þÉ#'˜úàc„‡†7Zú4çjÆ]~¹­¿Ç+³_¥¸¸¸ÒüÂÂBf¿úªÓ² eDYPòÒ¬—)((³Z!„Bœ—~úm~öD´Œ ÷ÀÞ$tI MÇ6tíÝ•î}»£3èøé»ŸXùÛJöîÜ˃ã'Ñ*¶U£¦ñœ Pî¸ývÂÃÂØ½{7ÃGŒäï¿ÿ¦°°ÂÂBV¬XÁð#سgÍš5ãŽÛooдÜvÛhZ·jERRC/ÆâÅ‹ÉÈÈÀb±——Çæ-[xë­·¹ô²Ëä¬B!„礤}{øòÛ¯èØµ#-b[ Õjí=øøùÐ¥W, »¶íâ{&Ð!¾C£§óœmâåïïÏ'Ÿ|ÌM7bóæÍ\û¿ë*-̧Ÿ~‚¯¯oƒ¦ÅÓÓ“/¿ü‚›oERRcÆÞ%g¸B!„8¯|ñí—4kÞ ÿ2Ò2È8™Á‰c'ðõó¥[ßnèõzÚvh˦µ› 9+éÔ˙صkWVþûo¿ý¿þöÇŽÙ:ñDEE1tÈî¿|•èë[ll,ýõ'Ÿ|ò)?.ý‘¤¤=äççãííM«V­èÛ§×\sœùB!„âœST\ÄCHKMÃb±Ð*¦];³iÛfŠ‹ŠñðôÀ?Ðooo6oÙLËÈç_€R×çŸÔt½°°0ž}v:Ï>;½Þ¶_×yžžžŒw/ãÆÝ+g¹B!„8o”?–£m\úõîG×N]ðõõÅjµ2î¡ñd¦eyªÜëåIvnöYI«N—B!„M[XhŸ/ø´ÒtFC׋º°cÏN§Åbµ (g§»ºF—B!„«ÕÊî½I$íI"+#ËþÀq«ÅJ~n>Q‘‘g%]Rƒ"„B!ÄÂd2±}çvÖoÙÀÆÍ›(,*ÄÏ߸ø8ôz=)ÇSPPèÕµ§(B!„Bˆ†óÒk³HÚ¿¿?šG7'(4ÈÞ9 '+‡Ã{sÛÍ£ñòò:+i”&^B!„B\ n¸öÛ î´Z-ÆR#9Y9ìݹ—-ÿmáªË¯dÀÅ—œµ4J ŠB!„ˆ¶qm˜3ë ~üå'þ]ý/%¥%öyQÍ£xð¾It¹¨ËYM£(B!„B\@‚ƒ¸cÔmÜ~óh²²³ÈËÏ#$(ooïs"} !„BqR… À ‚ƒÎ©tI!„B!„(B!„B!ŠB!„âœUmooÉ%!„B!ÄÙ P òøaá7’KB!„Bˆ³  :LrH!„BÑh¤ŠB!„âœ!ÏABqÎØ¼7…E+’8’šÝdöI«ÑêǵÚѹM39ÈB!ŠBˆóAÒ‘ >úy+Ã.¾ˆ[¢BÑj´(M`¿,V+Gާó?mÀb,¦[B¬l!„¨k€¢ª*F£‹É„UUQUµA£( EA«×£×ëÑh4•ÒcµZP-V¬ œ–òô(€¢Õ ÑhQ”ª*wïÚA¯>ýÈÍÉ>m~Júë/ý’ŸN~::y2•ûö›“Û$/Ê‚¯/­ãÚ°¿ ïkÅ}þy§™‘—v%&2Ìv.Z-Mbÿ´ ÄF3â²nü°jÆœcMꘞOç¬cZCÃÂ¥(Äù ¨ªJIq1ÙÙÙœL=A~~~#\84xyyA`P07ƒ½Ð¢ª*³™äcÇØµs'YÙY ÿ£¢ÕàëãGÛøv´lN¯¯q!ÊU~Júë/ý’Ÿf~ffd´s'ºt!(8­VÛä.ÊV«•Œôt¶lÜ€jµÒ¹{‚CB*ݰiŠûüá?Û<EµÚjN4J“ÚϘfA|•™Oû„MꘞOçlyZ·nÜ€N¯'00HJ‚BœOŠÉd"??ää£tè˜Hp#¬V+©)'HÚ½ __|Ü}1––žš—–Êæ-›¸dÀ¥DÇÄ6xz, ìcå?£Õi‰Šj‰N§«û¾Iúë-ý’Ÿf~îÙ½‹øíñôô¤¸¨°É^˜===hŸÀž¤ÝxzzPTXÐäŒ<==PPq3h0›ÍMrµZµIÓóéœõôô >!¤;éÓ¯¿”…8Ÿ³ÑȉãÉtìØ‰àP[u{cüh„†…£Q4ìÛ»—~ý#ìŠj±°}Ë6 Dl«Vôc¢¥M›vèµzÖ¬ZIxhx ¤’þúM¿äç…™Ÿùùyxyû`µZ›üÅÙÇח‚‚ b_í?HÐj´¨k“ÞǦzLϧsÖÇ×—¼¼\„çY€bUU  Âj17xÿGäç£8T«@NN6-££=“"[´ gYfKÝ4Iý¦_òóÂÌO«ÕŠF£iÔëÑÙ¤6Bß¿s­ð®ÓJÓÞǦ|LϧsöBúÛ¢É(¶³V4Zf³©Q¥Ñê*ÝQU‹ÅrVÚœëõz,Ë]Ì$ýõ›~ÉÏ 7?/´BÅ hmÊUMÓÞǦ~L¥à/„h°ÅáRµ¼ØØ.Nj¥÷6JYGXåŒ:ŸÏÝÚlçÏ+xø±©NÓ^záy†t^¤¿1òÿB:$?%@iÒ?H­VÁª6~JëÈ`ö'gÔû²®öQ!„8ãÅ9¼ÈÏ/ +ËõÅY£Ñ ( :­Vcÿ¬Ñh°Z­x{{£ÕêˆUP”ú¹U¶jõ¿¬^³ªÆËGE¶à¦G³Æl6óúœ¹|ñõ7\>¨?ï @ˆ IDATÁÆMXþ˯<þäS|÷ý÷<öðC´n¤þâܳ|Í^†önsÖ¾¿í5³O{ïBQ`Ï÷HáGö·…wÐ* Ö³ÔÆ«6O]©ëZÎV¯–ѱ9|PÎY!D PÔÊ5(Y™é„††áéééÔ$ÄÖöÔŠÕjÅj-ï·b¥¸¨°¢ww§¤¸7wwtZ(P¨sMŠ£ÕkVñØ”i5^~Ö+3郱ö¿õ,ûå~üi™}ÚO‹bµXðóõ'®u:´OàíwÞ"íÄ1®u+×]{ ׌AûøvrF_ ^ÿ|%o}½š±×ô`êÎRmåúýl‘V4׊¯—¬jïU/ NãçêþFǶæðÁý  h4 ®F§mD\›¶üö×*§ß UU4 û÷íåȉÌ3úþÚŒŠ[×tuš³wLË¿·¡Žß…ú7*„8J<==QUÕid/UµVz•–á熢(äd§âææ†Ùd@¯Ó£ªV¥þÚ½oÞ²ES^{£E«ÕÚÛÖk ­†Ö±mιñûŸ1eê4žú †_q9~~>äæåƒÞ~ç-Ö®YGBÇ\Ý ÜtÓMüþûïÜrë( HKKã–;îä¹sèÕ£û9·o÷OOVV&†à`Þ|m®ü寗oå‹_¶0¸ÿEü°b7¾^îÜC¯³SàAa×Û3S K(*¶º7°sTÃ}gwgóòóyã7ùí÷?HMMÅËË‹=ºsûm£éÛ§Ï}gL«8Øwvòø4w£ç/xŸ—_™Í£Sáž»ïj´4:°¯Aî’ÛFñk…þúc9ƒ‡\nŸöËÏ?ãéé ØÖ=µY_{&Š‹¼‹iG\ëÖ,ÿeY¥lÈåÃØ¿ÿÀŸƒåßÛPÇïtçlÅ¿¡={öpÛwrר±Ü}×X8ÈìW_eíºuÑ®];î»÷† ³ïC‡ñôôgÙ¸q]»vá¹éÏcÿWçªâüSí%V­â¥Ñj+LS±ª¶WQQÅÅ””áí Š‚ øú‡a4–bµš1–a±ZíëUÜþé.|®^ö Ž­[·²yËV6oÞ̦›ìÿoÜ´N_í¶N·ýú¸p»zM™:¹¯Í¢M\‹™‚‚BŽ9Äw‹¾aã†M¤¤¤°ø‡%¼úÚlŠ‹‹‰'0 :$0y½Ü7ñ³–þÓ½233˜ñâLÆÜ9–“©'ë´úLO}¼ÎV~þùß~f~¸‚. m(µjèÚ)Ž–là“¥›=?ÌÕ^Éêø2™­µÚ^}äÙĉ“0™Ì|þéÇìÞ¹ß]ΈáW1wÞ[õr¼ÏÖyVÕ<‹ÅÂgŸ}ΓOLãóÏ¿°4p>¿tZ[ Šââe»Ù1‰·çÍqšþö¼7™ðÀdû4£ÉÈ£L&>.šø¸h›ò F“Ñ>ßd6òÐä‰ÄÅDÒ¹c;Þ}gžÓú‘áA•¾ßqšã²VÕÊK3ž§S‡¶´ŽnÎøqwQXTèrbï$ïêX»{¸óÇŸ:Mÿõ·ßñðð8ãs°±Î᪾ÇqúÆM›¸õ¶;˜öøãÜ5v ªªrèÐ!n¾åVúöéÿÿÆö­›yvúÓ,YºÔ¾Þ„‰“èÚ¥ kVýËšUÿrQ§NL|`²ÓwÜ¿×éÕ×q!ÄYPlƒZíKµª Z).ÌÁÛ;?¿PüýÃÐj´öeÀß? ÿ0||‚()ÊCµZ@µVÞf]ïÀétôìÙ“Þ={Ñ»wo§Wß>}mMËÎQ11­HKOÃÝÝZDµ$""‚aW\NTT—^6˜˜’’’ˆk݆ìœ,ôz=-¢ZâïçwîŸlMøIØaËž&Í^Jb‡VYŸÌãxFulÍŸ¯â‡¿v6zš,V‹ý½cCÍò¥¡îκz­]»–G§ûUU¹ñæQüøãR§uŽ?N¯>“——Ç_+þfè°+iß~— 䫯¿AUUb[Ûj\c[·!¶uûºf³™—_™M·½hŸÈÄI“)((°Ïm݆Ï>ÿ‚K\JÛø v%ë×oà»… ¹tÐ`Ú´kÏUÃG’”´§N…Êÿ¯Ÿ·¾ÿþþû§ù±­Ûðù_Ðï’öïÚ¹k—ÓüНÚì[ùûââbžò(:v¢G¯>¼7A­¶å h@£(h¡Ò `øUÃÉÌÈ`ÓúÿÐëV­$';›«®¼ÊvƒªìõÊÌ8™šÊšuX½v'’“™=óE‡ù3ÈÊÌ`ýÆ-ü¹b%«ÿýÇi}ªø~Wïç½ñÛ·ná÷?V°c×^<Ü=˜ùÜt—û u¨Aqu¬ï¹ûnÞ}o¾Óô÷ޛϽ÷Üãt.T—§¥¥¥Lyôqû1™¿`Óúµ=Ö§;j ü»r%÷¿Ÿ×^}…áï²Ïã͹Ü{ÏÝŒu3þ~~èõz:%&òÖÜ9öe<ȸ{ïÁÇÇÆß7ŽÖ9B4ÁÇ—­æÄŠUUqóð!??«Úuòò2póð²¯_Ó”ê˜ÍfÖ­[ÇšukY³fÓkÕêUgô슆æááA×.ÝðððÀl6NLt,\ÊøûïcðàÁ´mÛ–®]»âæîFlL+ZÅ´æÐ‘CdegÉÙÜ„LÎâŽéßÑ.®%¸¹“]hBA!5«ô<# byö½?ø}ÝþFM—Ùâ0T±C„b²4~€Ò¥kžxò)6mÚDqqq¥ù÷ÇÜyo9Õ4Ì™÷·ß6ooo¦Ly”IL`Ëæ|ùù§lÞ²UUÙ¿7 €ý{“Ø¿7ɾîÛï¼ËŽ;XòÃ"Ö­Y…»›³^~Å©ð³jÕ*¾øüS6mXψáW1æ®»ùkÅß|úñGlÞ¸aÃ.gÚ“OÖ)@ùì³/}ë-¨ªÊ-£FñégŸWZwíÚÿøæ«/Ù¼q=ƒâ‰'ž²Ï/ߟý{“xñ…ç¸tà€Zí[ùû×^ƒüü|þþë–-]Âú œæW·-çEA£¨h4TzÙn@i?aoÍ}æÎ}ƒû'ND§Ó”ݱ½¾_´gÌ 44„°°f¼4‹ï¿_è0ÿ;§ù/Î|Éi}Ç÷®¦9¾ÿâ‹Ï˜9ëešGFàëëÍÓÏ<ÃO?ýèr4šS£x¹:ÖC‡ &33“7•ÝëÈÎÉfHÙ¨5ÍÓ×^ƒ¬¬,Vüù;K—,fõšµNë×f[ÕGµ P~þe9O}‚÷çϧOïÞNóW¯YÍW ;m@1pàÞ}o>yyyäææòî{ó0à§ïèÚ­mã;0hðPÞy÷=Ìf³(B4É\Õ˜œŠ$l5'ŽÑ…í³±´ØÅ<ÛËb6WX¾æ5(Õ]hjSƒr.5éiÏÏ¿üFrò1bcZ׺ !Á¡´ŠmEóˆHú÷ÀàAC¹âò+èÑ­'AAìÝ¿ŸM[6³cÇNrsrñõõ9'›x5Ä6Îd[ç[¯“™ùŒzâkZD†ãéëCV¾ñÔÝ %³¼b íÚÅððk?±jËáFkâe±:!^±¥1›x½5wL{ò)ºvïIÿ—òü 3ÈÉÉAUUú]ÜOOO–.ýÉÞ¤äßWÚ ùnî¥“•™I³f͘ñÂó§-t}ûíw<ýÔ“„…Ù yäá‡Yþë¯Në¼ðüs„‡‡ãîîÆí·ÝFaa!ÏMÆiÚöí;j]Ø;zô(Û¶oçª+¯@UU®¼bÛ¶oçØ±cNë>;ýiBCCqwwgì˜1.ï|¯ZµšÏ¿ø’×^]«}+¿ô§eL{ü1`Úã;ͯn[®jP/° ¨róM7³yó&¾_´ˆ];wrÓ79ÍW…ôôt¢£c쟣££IOO·NKK£eËh§ùŽë;¾w5Íñ}jJ }zõ 48Ðà@:Ä·%##Ãå>(ŠrÚEQ;f ïÍ_€ªª¼ûÞ|î;Öþ5ÍÓ%?.å‰iS $(('Ÿ˜Ve€R“c]“ó¨&ʤÉòä´©´o_i~vv§½N<9m*ß}·Î]»Ó¥[.\ÄSOL³Ïß·g7ëÿ[ËŽm[˜3ç V®\ÅÌ—fI€"ÄyèŒÚ;¹þWps÷¢¸(ƒÁWÎÏËÀàæn_¾¾†ÐiõlذÁ>¼±¢QP­*ŠFA£h¸øâ~öe_}ýåJëGE¶à†ëojôqó×óý‹éÛ§'Gaÿþ}¢( ‹…‚‚|Œeƒ ‘–v’üütZ'SSYýßFn¼îZ9£›˜‚¢RF=ñ5þ~¾„’U`tªÝ,—’YH³ /âZ·à¾™‹ùèÙëèÜ6¢ÞÒa4¹~¢Å©¦Du¨Y±5ý*5V®±Ôé´h5u¹Ïd2UY9é‰Lz`bYr˜>þ˜‰“&óÁ‚ùÜ}÷]¼öúë <ˆ7ޜØ;ï@§Óa2™xãõWy÷Ý÷˜3w>ÞÞ<þøc pI•ß›zò$C.¿Âùê§(NËyyyÙ?ëtZ—Ó,K•ûTÕþ~úÙdee‘xQ…éŸóÈÃÙ?{zzžö»8ÀÓÓ§óÁ‚ù û¼šì[ùûŒôtBBCíŸÃÂBæ×d[§®ß¶Aáª:;ÀÍÍ{îÇýãÇ1mÚ¸¹¹U ‘CBB8vô11±=r˜àà`ûüÐÐP§ùÇŽqZ_§ÓQR\lïû‘••U!?õ>,,Œ_–ÿF³fÍjøUõ9l2™~Õ•Ì™;/!iÏæÎyþ|Mó4#=°ð0ûçfáá•Î¥ÚŸêΣšþ>;ýi¦=ù>>>tëÖÕiž¿¿?'Ož$$$¤ÊíNyìqFŒÎ·ßÀÿ}ô1<ú˜ýïÛQ«ØX^ž5“+‡äÑ)ȉM.@Q+"ªÃ?(ï$«V˜£–?ªÑÅ&UÌ zE Xm½ÝÍÐétôéÛ­Æ6Š—F£ÅjµØFôÒhœúA¸–øl ?|ÅС<5ý9&?ü×]{-ݺv%--³ÙLAa!Íš5c÷®ÝdddàëëƒÙlÁXjdíÖä£ÓhxøÁ‡ÎêÉ4aâx²s²+M/ï£( ~¾~Œºõ¦J?†Ì›óv£¤§&"=µ.ˆ›-Œ}vtDF†“Sh8¹Êù×\s-OL›Êܹ¶ÎïÓ¦>ε×þÏ>ÿÿ»Ž§ž|‚9s梪*OL›ê´~BBoÍ›ËĉÉÉÉaêTçùŽïï¼s =8‰—^šETT{÷îåÕW_åƒ>pý¥9ýCRõz=·Þ2ŠÇ§NcÒÐëõN55ÉÓàà`’£E‹¶ìXr•ǯ>Ïãêæ]sõÕøûù3áIÌxáy`Ÿ×«gO~Yþ+·ÞRõóÉ6nÜÄÛóæb0¸çî»èÕçâ*¿OQ”²E¥¶Dˆ¦ T½”ÿÝ+ŠcË,Åáâ ’›s?ÿP{m‰Õj-«òÖ@=>”K«ÓòߺÿP ‡_“~ýúÙƒ”r;wo?ç†4°?_õ9¼?¿À`tzƒÓ|³ÉˆÅlÆb1c6–’››Kó¨¤gçõ´çåç1sÆK.¬EÁ`00zôm•ž{£ª*óÞšÛàé)O@~~>yyUçÙÜysÎj^ª*<ðÊRŽe…ÕjÅ×C‡Ñ E¥æSwʃ@o7|= ( t„7 aÔß°è•[ˆipÆé}/ŸÈaõ¶ãD·j^¯ÃªB~±ÉùnF™Œœ"Úwhc¹ÈÊÊ!;+›O_¸áŒ‚“Ó~îs7Þxݺu%Àߟ´ôt>úèc:%&:­s÷Ýw1åÑÇxnú3èt:û¼)=θ{î¦E‹X­*³Ù>ÏÇLJC‡Ù›ÜxÃuLŸþ,SŒˆˆ<È{ Þgö˳4@Yöó/tLìHD… ¢yD:tàç_–3rÄðj¿kÂÄIÜu×X.º¨S¥åj³oÃ.¿œ—_™ÍôéÏØnò¼<Ûi~M¶åXxW‡GëT*pžþÜ(ŸÿôÓO1eʺvíÀÕW_ÍSO=iŸÿä“O0yòd;âããÄ øí·ßìóß|óM&NœÈìٯЬY3&OžÌ’%‹¾_q–Þ|óM®¾z$©©©´nÝšGy¤Ê´V Œs'cÇÜYe P]ž»b³^žÍóÏMGUU^š5«ÎÛªÏEUU ¸„¹sÞ`ÒäyäᇹzäÛ5fü8î¸s ƒ!ƒáááÁž½{ùðÃxý5Û9Õ*6–ïÀè[oàãO>¥uëÖ§þ†}œ{ؘNœ8ÁÌ—f1xð` P„hŠŠÙbÆh4:O3›1›Í˜Læ #ÛƒAE«s##Ývצ¼9WfÆ ÛWo ÑiõeÏ@©y‡Z‹Åìôì•J;¤Õѯ_?Û³P4çç h4NÊæÍ›Ñ(BïÞ§ž“`4–6X†W›~½ooºuïFjêI"›7'99™ÂÂB>B‹–Qthß™eË~¦mÛ¶:tˆ®/âÐÑ㠚¿|d$ǵâûòà´â]Áº¤¿¦éQÕò Z- ˆÛ ;¦§1΃êÒ?÷ëu¬ØpU…¬;íûÒ£§c“žS% /w=[·î®T‚ûìw|4ýƒ}Î8?Ÿ½wãf,áàád"[FRl´àÔÅ!=¹…Fr ùºSZRLFZ_ϸ÷3Îת ÷Þ{7_~ù5Ï=ÿ………Ó§wof¿2ËiFCË–-ì#•8à&=ø0ÉÉÉD·lÉÌ™/ÚçßqûmÜpÓ(ŠŠŠØ¾u3cùˆ±wÝCZz:ÑÑÑÜ{Ï] ^ƒòåW_1aüx—ëÜpÃu¼÷ÞF ¿ªÚïÚºm[·mã‰'Ÿ²Ï«Ë¾M¸<Ï>÷ƒÅËË‹[oÅÊU«ìók²­S…÷ò>•K÷ÙÙ9§=/ç»»{0wî<{ JEnnî¼óλ¼óλöi<0Éþ>1±ÿýÓ:cÆŒuù]–|ˆkXƒ]ÞI¾6çvÅùÕåé„ñãyîùç4är¼¼¼¸ãöÛøçß•._}žÇ5 PºtîÌ pßøûÉÊÊâÎ;n§ETïÏŸÏœ¹óxíõ7())¡m›6Üyçöõ^š9ƒgÌäƒÿ€‹:ub–Ãßé Ë.å±Ç§ràÀA‚‚‚¸|è˜8A!šb€Reàâpw±Â=¬²šƒ›—Ã]Uƒ›§½0h6[° ºX»ÚU=ý…±yDÍ×»wo4Ц,xÑÖøGâLnûz½­V‹··7aa*qmâ((,À?ÀŸ£Gáçç‡Á`Àb±Ø úå5EåŸúÎ~Ué÷õñeê´Ç]N;ö.Eáý÷—ŸW©óiXXXòý´éñõcê´Ç+å‰c'WW4MÓS_éŸpC&ÜÐÃiZ óœ:¥«N}>¬X¬*;¾¹¿NŸšä§F9S®à–'¾ãøÑ„5ÇhQ«lvæçe ¤¸˜´Ô4>{þZZ6ó«—<­j=ºw§G÷îÕ®óãÒ¥Ü7nZ­sÓÒˇåò¡C]®w÷]§&çÜ¡ùÔîŠëlÛ²©RZk:í´ÊçŸU™—ôïÏ%ýû£ªjµßµm˦*¿«6ûæææÆŒŸgÆ‹ÏpèÐa.ú¾ÆÛr¾Ád[^£Ðd•?¥¢êÎÇùÕå©Á ç…çŸã…石ϻãöÛ\¿ú:«;¶׉‹kÍï¿-wZ>&&Ú^[âj{11Ѽ¿à½*ç<ˆÁe#žÕåú'„8ŸW£]Tm˱¢ÚcEulôqêGQŠ‹Jð÷«Ë…Ãõè}z÷­UÿFÚ5k\Ö 4ìÅÌuúk©, ìß¿¿âãã9räHÙAw´Zz½žà 222ÈÉÉlmÓõz½SÁ¿±Ò0û•W]N¿÷¾{ìé*,*äÃ÷ÿïŒ Ñ5NÏ˳¤ ÜXùéJMFÍjÈô¸éµ|ðôÕ\ÿø×¤O%¤Yå# ;žq^î:Œ¥%dœLcÁ“#hÓ"¨Þò³®Û±Z­|ÿÃbŽ=ÆÐ!çO³ó!¯Ì~•{ï¹£ÉÄìW_µY\ë$MÙoHSP4M¿À,¢á”h\½WÊ‚[sÇØF£Õc±Xê|ásuñ»¨Sg.êÔ¹Òô·ßÇcS¦±+i{Y-­¢ÁªZÏB Šsú­V[¾¢¢"§åJKmÍ` ^^^øúúâàWVâq @´Z[ÚSRR. b´’þš*¯j¨azÏçòڤ߹Sú©õÊŸ;r¦yQ“ôøzøè™«¹aê·¤¥*…ƒ¢±*ÝôZŒÆR²ÓÒ™óÈ0[×wmTݶչkw"""xyÖŒ²ZÇóå¼9÷ÓÑŒá#¯Áh42à’þŒ¿ïÞ:¥[Wv5áøäTÖ´C)] !6@qÕäãÔ8âÖ*‚“ŠÍ>‡ig6yuM¤ªÜÑZ ?ܘM¼Ìf3ÅÅŤ§§;-W\\ì”–òQKôzý©‚¢¯_Y0c«}IOOG£Ñd³¡Ó_SZ­NgÈÎvzÎ…º× 8¼5™-õ ÔláAÞ|ðäF?ó‚QQÑjÌ&#yi¼4a0=š×ûñ©ëö¶lZß(ã ÄžëFÝ|£n¾éŒÓmë$ߔéABˆz PNwá9p8ß9©ú³í}]kONm£?|µ~¸1›x™ÍŠ‹‹ÉÌ´³_>~¼»»{µ[ÊËËÅËË ‹j»{ž’’‚§§'ÞÞÞ5Z¿1óߪ*J=÷•9߸¥Ö¨c¬Õj;Æ‹¥ì\u\«¼Åb±8Ë ™ž–á>¼6ù2|ýwTUÁÓËÉDAf:SïìËÅš×Cz¤ðs!í¯N{aì£(Bq†ŠZ¡Àb±XPU[ÁÚV RÕEIubœ•òî+u)¼Ôù~-†nÌ£±´¬ÅÖÄË×Ç×)¯]),,´¿ %Å6ŒsII F£±ì©’þš*--EUU§QÕÎfzÎòªGȱX,öÁÊÏ«´.þd,eAŠŠŠNX§ÕÖ:Ÿk“«ÕJÛHÕÙŸ¯ÇâHi~6wìHÿÄp íi¨kz¤ðsaí¯¦‰×ž”ï£(Bq†JEVkÅçà£fŸË UÖ:tèvìœ_‹­ÅðÃ4p ŠãöU«­V‹›Á@b‡ö,ø¿O¸|ÐÌ&3ááÍ()-!77×i G¥ÿþxzzž‘ÍÞ‡h‰·—înn¶}i°}¨}þ7hΛsÞÀjµâïïok_^oéSøx5øOy¥ô—‹Å>¤wy€Rj2¢5ÛÎU“É„µB[ZRboN§êt¨V+:®AÒSþêÙ6€Qƒ[óáOIŒÒ†¡Ý"().F£Õ¢+ Jêž)üHaOŽ©ìŸB”j8ÆgÞt£±:ö]©Íðà zq­þò>%AA\wÍH/]Ʋ_ÿ$,,”ø¶mÉÏ˳5‰ÒhèÚ¥›íIÃnddesdÛNòróˆkÕŠžÝºÐ¬Y¾¾¾¸¹¹5Ü>Ô!ÿ§>6µáòø<ï$ï*ýåM¨_«_OiGT¹)_Oƒ=è/_O£ÑÔ.j‘žòÀÅl6sEÏH¢BF®ìM\~^n“Ý79…ÂÖ!íd*kVþC§.] ¬e€â"â Âbµb6™lmÑË:•¨jÕ#tÙ(¨±V´e…•ZèjÙ):1!‘Ä„ÄZ0@qñs­V‹§§'ƒ??_ÂÃùâò¡hµû¨cå…ÑòÏV«µ¬©E±=,M§ÓÙŸ7Ò`Ê9Ö)]=Ï;ÉW•~EQÐëõèõz{M…cM†ãCÖÊÏ ÇWùˆÚæÍ¹–žª|òṺ !„ç¹®=z°w÷nzöé[»ÅUEQteíËϸ€VÛËy~Ǽªôk4 ƒ}8áFÍÓó9ÿ›èùPéï­–ý6êœ'çZzN㪑×È•]!„8O-]ü=>>¾äädWš§;]!DÓ ­OW˜±Vêßb«iÐ`±Zp&¦Á IDAT½@ZÞ™þL†Æ•ô×oú%?%?…Bq~ÓjµöG)Ô(@Ñ( ÞÞÞ¤§¥ãéåÙ¨‰-*,ÆÛÇÕêøÔlðó àØ‘£„†…6jz²23 <³©¤¿^Ó/ù)ù)„Bˆ¦©Êa¸´z=Í£8p`/ùù¨ªµÁ£ªV òó9p`/íâã))-=U€ÒjéØuëV“ššêð–†{™ÍRSSY»v íâãÑëëÞüJÒ_¿é—ü”üB!DÓTe Š^¯ÇÏߟ6mÛqøà \VÁÔk´¤ÑàííM|ûƒB),È·ßUÕh4D„7ǘ`dëæÍäååžáé«§Õjñ÷ó§C‡‡aps;£}“ô×_ú%?%?…Bq(å¶}ý|‰ŠjrÆÏ<©Õj¥Ôht N ¬c®^OLl,Í›7·"ÔíåËG$Òét¸¹{œÑs_$ýõ›~ÉOÉO!„B\`Jy¢´¤”Ò’ÒFO˜«öè¶ÂŒNÎed|ûr]ŒB éoØsDòóÂÈOqz¶!Ÿ-¨«mØw!„â,•%@ÑjÐhê>ŽN²R!ÎïàÄb6“|ì»vî$+;K2E!ÄY¡Õjðõñ£m|;Z¶ŒFWö|¾3Pƒ‚%w…u’•™áôùÈáÃlÜ´‘ô´´j.hZƒ‚èÚ¥+-££%#kÁjµ’š–Êæ-›¸dÀ¥DÇÄÖé!¸B!Ä™²X,8°•ÿüV§%*ªe­Ÿæ2@0K%‡…gäDÊ Ö¬YÅ Á—Ó¢eK´Z-jÙSçUTÌ&sY?+³…C‡±zÕJôn"šEHÖj±°}Ë6 Dl«V’!B!έVK›6íÐkõ¬Yµ’ðÐð:(Ò+UÑ –/[F¯^}ˆ‰EQ,f3f³“É„Éh¤¤¤˜ââ"ŠŠŠ())&,,”˜˜–/[&™W›ÈÉÉvªy1b„ü/ÿËÿò¿ü/ÿŸµÿ#[´ '7³Å\§ß6eâøqꜷޱ7Í ¦´´D~õ…µVXP`?ÿ½w™üÐ#ö§ÄªV+Ö²—ªZ)--=õ¹ì“ÉÄW_}É=÷Žs¹ýŸ—.á–ÛÇðɇ ¸jä5’ေ´”o¾þЉ“BUUFŽÉâÅ‹%c„BÔÈšUÿЫO¿z`ò¼7_gÄÈ‘øúù»œ¿tñ÷\6d(+þøaWÙ›ãÉÇX0¾ë&^ªŒ#„¨…ë×Ñ«O¿J׃ÁP«ç©hµZ¹þœ! N„Bœ-o’Õõ7Ýu£0) !ˆªª?vŒ ÉŒFøqB!K}ýþœ•”ÿ]ÉØ»î"99™¢Â§yž^Þ•¦ !šNp²}Û’¡Et 1±Ò©û\ýqB!j«¾n’¹ì$¯6ðkÚOðÚk¯RXX€Z””ÏkŒï——¼äU¿¯š'Û¶n&;+“¶ñíÉÊÌàÐÁçe“® àYöLƒ?UU1b„ý½¼ÎþkÆŒ\sÍ5çDZÊ›P6ÖkÅŠDGGÛ¿·âçêÒsõÕWóÒK/Éy$/y5ð«âïHU¯}ûöU»Ì?üPi»õ 8|‘×ÿ³wžáQk~w7ɦ‡ô@!ôÞAÄ€ åB¤I)©:„Þ¥‚ Qé(Õ‹å DZ@iÒ‹B*)$›mçþˆY³¤Cƒó>Ï<»g¾oÊ™=;s¾©VÖW¾¼;">>þ™ ââÅ‹¼õÖ[†ëôô4£›‹p•ÍÊ­0~?{†´ÔÚ½ÕŸªÕhÒ¬9©)¸së¦èr#(¯$?&<<œ… þ+ïâĉ„‡‡£Õjó½.Š?þ˜åË—“™™)&à%I:uˆŒŒ,r¥4Ð÷·ÒÓRIOKå·sgQ*Í 1Ö)¡S©T˜š˜ä/2}á„îŸïŠkywÞhÛ.{Ç.¹\AÝú )ïQ3¥²ÔG8^kõzãI’$Z¾Öê…j7¯9®´†×Ÿä?þ wïÞ¸¸¸`iiI‹-عs§AnbbbpŽŽŽôë×øøx#y½zõò-Ϻuë¹Ç½©©)–––ØÚÚâè舫«+*TÀÓÓsssƒ^rr2ýúõÃÖÖ777fÍšUh¼¹ómbb‚““½zõâÖ­[Fz.\ k×®”+WŽråÊѵkWΟ?Ÿ'¾¢ôžL/·Ëo¾ù†×_Ÿb‚Mš4 '''œ ËÓ»ù,òÒ&¿rppp0ÈÏŸ?O§N ¼.ŠjժѢE öìÙ#Þ‚—lœÓ A‚ƒƒ 5RJ«“¬È”Ü×NNN,üøc~üé'ƒŸµ-+W­¢zØØÚ!I™™™SÞ݃òî“™™iа¶±ÅÚÆÖà—_zZ­–iÓ§S©²7Î.® ~ÿ}ÒÒÒDµp•Á·òîèuz#}…BR©DUú‡ÃZZXpðûïü|÷V––ÿ¨Š?1!žÄ„øgŽ'¿áuI’¸zõ*íÛ·§]»v\ºt‰¤¤$V¬XÁ¶mÛŒ~?FƒF£áÒ¥K(•JüýýäìÛ·Ï(îÝ»wcùWyö|¨Õj?~LJJ ÄÆÆr÷î]:vìÈgŸ}fÐ ÄÒÒ’[·nqñâEnÞ¼Iddd¡Ï]N¾Õj5/^¤fÍšôíÛ×hJB‡xûí·¹sçwîÜáí·ß¦cÇŽFÓŠ£—“–F£1J[£Ñ䛿}ûöÑ­[·bÿ>ûì3¢¢¢øí·ß8wî‡bݺu¥&/í ¹ï_£Ñ°xñb>úè#ƒ\¥RabbRàuqòÓ»woöîÝ+êYá„{IS¼Ö¯_ϤI“8tèÇçСCLš4‰õë×竟»Î{aJ~7púÔiŽDE‘ò(I’˜5{6<àÜÙhÎFŸáÏ?ï1{Î$I"5å©)HMy”'Üß-^ÌÙ³ç8r$ŠׯannÎÔ©ÓÄÃ$œpeÐ@yѾÒÈ/<|%!!ÁF~*•ŠQ¡¡TªìM¥ÊÞ„ŽJõ÷YPYYY‡PÑÓ‹šµj³rÕª<# ùŠ”æKIèÞ½»ÑõìÙ³7nÇÇÑÑ¥RI³fÍØ¶m[¾á]\\Xºt)?üðƒ‘ÿرcY´h‘‘ߢE‹7nÜSÝ×È‘#©W¯üÛ€ÎÎθ¸¸°háÇìØ±£Ä™ûê« ,^´ww¬­­™9c{öîOŒ@PFx™Æ‹ŸŸ ñœô3GŽýG—ù“Ãÿþ÷?z÷î]¢8ò;¬«gÏžÄÇÇsüøq>LRR=z”üÀÌÉ“'ãììLPPP‘ÏKnc£(âããY°`Í›77øýôÓOôïß?nÿþýùé§ŸJ¬Wbcc)_¾¼‘߬Y³¸té§NâÚµkÜ»wÏ »té’á% Q£F\ºt©Ôä9¿Ûálj§[·nøûûz…å776lÀ×׃aóä(Sîëâæ§bÅŠÄÄĈÊT x ˜››E£FŒü5jDTT”ÑÝ‚:Éž“‚zBr“s¤ m|}Y¼h‘‘Ž££ƒÑu\\<îîî?wwwâââtžL#?Ùƒhܤiž†óɰ@§÷E.'0 ðð•lܸ+ B.7î—Ù¹k{vïÆù¯sYæÏ›G÷=˜9sFv‡ËÎìÙý­A>oî\š?å ëÓPÒé_Ý»w72R y/îKþĉi×®]žò eÑ¢EìÚµ‹… 2zôè<åYsçÎ%33“yóæå‘uêÔ‰ &ðñÇ0aÂÒÓ ßv>wo<€½½=?ÿü³á:!!WW×<á\]]IHH(±^I ô'ó·qãFîa¡:Oê;;;sçÎ*W® ÀíÛ·qrr*4L~2WW¾;p O”8iZ (,\0復߯__.\Èλ¸tñ"7|•ï y¥J^†ëJ•¼ŒˆÇÅÅáåe,ÿ'¢ÓjÑj5lß¶uÖßÃîÄÜ¿‡››[±^ômmmyóͶ,_¾Ì(u–Š~}û0kÖ,6nÜÀï¿ÿÎÖ-› :9ŸVÖ6†0Ó_ŽWEDpõêU>]»Æ(î–.YBpH0^^^ØØØ0lèPóÕÍ/äädÖ¬Y˨‘#Ù¿ŽÜûó.îîîFábbbŒâ.®^n Ë€››·nÞ R¥J¿PÁÃ=ß°ÖÖÖ$%&`k›½V3%%ƒî³Ê¬­, ×& 9Z­¶Ðß®°üæ°cçN|||¨â]9^Q×…åàÖ­[¸¹¹YÖàÙ)ÿÙ;½û°ãëí/Æ@)Ê xRÞ½[7¦LaÅòåL›BîÝKl  <˜ÑcÆ0oî\*T¨Àµk×X¶l9Ÿ~ºV>žÉaaôìù÷ºŠ^={2uê4ˆ'lJ˜Qø:µk±šŒŒ ^ºt)ëׯ'11 •JÅ©S§8pÐSÕó¡¡¡$%%2jÔ¨b‡ßºu;wî"2r}¡‡óqïÞ=222Ø»w/ ,`„ñÅn=zÄŠáT­ZÕà7qâÂÃÃY·n=)))¤¤¤°~ýzÂÃÙ0aB‰õJ²UçÎØµë#¿wßíϸqc¹wïÉÉÉL˜0Ñ ëׯ?³fÍ&&&†˜˜f͚̀ï–š<¿<u…åW’$<ˆ……-Z4/2îâ¼_<é÷Í7ßÒ©S'QÏ 'ÜKØÅK©T2hÐ ºwïÁ™3ÑH’Ä™3ÑtïÞƒAƒ¡T*óÙy¯ÏóÛÅ+7c”XnnnβeK¹qý7®_cÙ²¥FÖ“ar_çþ.—Ë™ӧ¸÷ç]ú¹Ô€€°¿l7iÚŒ&M›áææÊäI“ òI“&bW® 6¢õ¾´jÕÊ(ü²eË8ðÝ*{W¡óºÐºõë%6@rŒg9%ûH‰>}ú5ÞÞÞìÙ³›ü‘ êãáQ±cÇÒ³gÏgêˆ*‰ÜßߟC‡áâ⊭­]—£×¬Y3Þ|³•+{óÙgŸ³iÓ&||| M7w<5jÔä—_~!2òïí/}||ؽû[öíÛGõê5¨^½{öìåÛo¿¡J•*%Ö+‰âççǯ¿þÊ7 ~&L Zµê¼öZ+êÕ«O…  ²>xŸ–-[мysš7oÎk¯½Æ AƒJMþ4Jaù•$‰%K–2rdH±ž‹’(ׯ_çĉtíÚE¼D 'ÜKÚfxàÀÌœ9“N:áëÛ†N:1sæL˜¯þ¶m[KÅ@‘ŒÂ#>!)1á¯!v§"@ ÈÍõkWhñZkR%üBÿ§§_GR34èôz½þ¯O •Z‹^/åñw°Qò믿°,¤C¾é|·oÈWë?£k·¢àuVÛ·meè±È?¥K—qæÌi£©k‚â1`Àš4iBhh¨( à9rá÷s´x­5éO¬ÌÍÆ5*”åË—mÿ$ýúõcëÖ­|¹~~o¿]9û|u÷íþ†v:rè§éÜõmîßû“Ï>ý´xkP@ðÏ&g¥_¿þlݺEÈ?„œ5-¢]-97ne'¼ÐvD*´Ã eË–x{{ª·eË–RùÏ E ^¦I’زe³¨Ã@Pª @åÊ•‹Ôéßÿ]¶lÙ, @ðò©ìíÃÃØùÚ$xq Kö¢æwÙ¼y³(@ ”ªR6oÞôüFP@PÖ–ìÆeÓ¦M¢“I /Å@y÷ÝlÞüìkîÄŠ@ ¼"Ф×3`à 6mÜ ÊC %kFôúgŽcÓÆ ¥Ožm†·oÞÀ±¨C 'œp%v‚L&C¡£Óg~¹qÃW økûGñ)>ŧøŸâ³¨ÏjÕkÎ,­xµZ- …™Lötm[~Û ÁÓS€ØføE¡U«ùþûïiа.®.¢@@ðÒIˆçÜÙ³´z½6¶vùê”x›áÉå+—ùãÊÄ>ŒE’$œœ©^­:ujÕA.—‹_X  A¦PP»^mNœø…¦ÍZàääŒB!êN@ ¼xt:= ñœ>u’ bjjöTñ¼%##ƒ [6°mç6RRSp)ï‚­ 2™Œô´tÜ{€B¦ _ï~ ûp666â‚|Ë帻y ®£æ·³gIMMA§Ó‰‚Á G¡PPήµkׯÉÙ3¥²l(§ÎœbôÄÑ(-•xÕðâöµÛüyëOZwjMƒ ø~×÷(Í•üxôG¾þækæÏœO[ß¶âW‚'Éd˜˜šRÙÛt:aËa@ ^t›$“É011AinñÔ³¡^¨²yûf,^€^¯§KÇ.>p˜ÚjãìæLýæõÐiu¼Õã-6¬Ü@÷A݉¹ÃØÉc4ŠAý‰_^ ò3RLL111…!‚2Ï 3PÎý~ŽÅËãî厽û·î§Ñk°w²§©oSd2¿üø gŽž VÃZØÚÛbko‹½“=«Ö¬¢¢GEÚ¼Ñæ¹çõøñã„„„Ãýû÷Ÿ9>R‰G @ J) Ñh€Z­Æ¶œ-­;µ¦­_[£­Çn_½m0NÊW,OÛ®Oérõp¥}ö„Í ãà·±¶¶~®ù={6sæÌ¡cÇŽâ @ ^5e뎭”s*Çà1ƒóÈÜ}À¹_ÏqýÒu,¬,xgÈ;yô<}<ñôñäÓÈO<:ßt<<<€ìéVVVxyyáëëˈ#ptt,v~ÿøãÞ|óÍçRb4E @ x‰Š$I|þÅç´y»MYâÃDv¬ßdOéºtö5êÕ(0®ú-ê³e݇¢,`W€œ—ÿŒŒ n޼ɶmÛx뭷ؽ{7+V,Vž³²²05s¹AÙA¯Ó¢ÓéÅâx@ ¼Tr–+žÞÌÈ7äáÇiÓ¦M±#9tè¾¾¾ùÊÎ_wîÜaúôé;v ­VËk¯½ÆŠ+prr2è>9*Rß“q Á³¢Ñhˆ¹K.’”œ$ D /¹\Ž­5jÖ ‚§ff¥xН¯/‡âwÞaÇŽù‡.Tn0P.œÇÅÝ%ߣî;ñ ± ÔmZ—‡÷²3r'#& þA<¶ óq&½>è…»—»!Œ³‡3ç/œ/Ò@ÉÍ»ï¾K—.] ×áááœ?žƒbkkËÔ©S™;w.óçÏçþýûyŒ‹Áƒ3gÎ>ùä4 ‹/fÆŒ¬ZµªD…_Ü@ð,èu:âããˆ>MÛ7ßÄ«²7 …BŒ@ ^8:Ž›7®uèr…OO/äOÑ&8öâëëËŽ;ò5BŠkœ<Œ{ˆ¹¥yI’¸}‰–íZrpçAZ½Õ €5óÖt û¶ì32nT™*.œ¹@H@H±oÒÅÅ…äädÃõ–-[ؼy3îîÙ†ÏäÉ“iß¾=óçÏÏ7ü¡C‡ ß-,,˜4iÍš5O¡@ øG4¿;Ç›íÛSÙ»Š(@ ¼4 U«UÇÄÄ„_ŽÁÕÅ +«Ò3P 2RJbœh´š|{ó´-’qpçAj6¨Éƒ?äÛð–Æ‰Èqqq888®cccóä=¿žN:Åܹs¹pá™™™Eê Á‹B’$%'ãéUI†@ þT¨èIJÊ#4Z-O¾ÈÕ+¹”àà`V®\YlãÀÍÕ Õ9UÿßOþŽ—ÕêVÃÆÎ†Ø{±d¤g`ïdOZJåÊqýÒu†ŒBb\"[×nE¡PP«a-×l\¢›Ü¼y3­[·6\»ºº²gÏÊ—/_¬ð#FŒ`Ú´i´mÛÒÓÓ©Q£†‘µ˜™™‰…EöO”$æ€ ‚‡^¯Óº@ðT;rˆ¯µ.ÕvÄÔÔô¯[ôO¾XçÏç)Ó§O/‘qPµJUãü¢¾‹"õQ*zvÀ§–®®Ôo^¿wýð©åC—~]hвªL›Vo¢œc9*U«Ä{#ß#9>™êU«™nff&.\`Ú´ilÙ²…qãÆdƒ büøñܾ}­VËåË—ñ÷÷/0.•J…¹¹9J¥’»wï2~üx#y­Zµøä“OÈÌÌäÁƒLœ8±À¸lmm¹~ýºø7@ Ok ä)%2Nš5i†*CEBl‚Á/%9…¶]Ûbbj<€cniN¥j•0SšaïdÏGã>"%)…5óÖàäê„L&ãaÌCÞxýÓóðð B… Ô«WÐÐP”J%ßÿ½ÑÃAAA4kÖŒ>}úP¥JéÔ©Sq.Y²„3fàããCïÞ½iÚ´©‘|ñâŽú}&ß.¾d©²Ðj´ÅKÏÊ‚÷Cß'ri$§œF¡PÐñ­ŽØÙÚå«_Üݱär9ÁÁÁ+žN:å1`>üðCÃ÷:uêpðàA#ùàÁƒóoäÈ‘Œ9R½ú°cÝÞH¯{Q·i]lìlˆ¹Cä²Hôº¼+ýÿtœÛWoãÛÊ—Á‹'D ‰£“3¯µzI’Œü%I¢åk­þ1£?ýô=zôÄ£BE|ªVcÄâããK=?þøƒ^½záèèˆR©¤iÓ¦ìØ±Ã —ÉdW®\9úôéc”™LFíÚµó-ÏZµj9Z!—ËQ*•XYYQ®\9œœœ(_¾<˜ššô’““éÓ§VVV8;;3cÆŒBãÍï'‚Ò7NiР/ÄH‘¿È %4(”ÝvóóÞŸ‘ËåxUõ¢Ië&ÔnT›SQ§ ºéDˆ")>‰½0kÊ,ñ„‚bciaÁÁï¿7ò;ðÝwXYZþcò¸ú“5påËÿå¶¶¶ 6¼TÓ¸vímÛ¶¥}ûö\½z•ÔÔTV­ZÅÖ­[ó’$qõêU”J%ÇçÃÒÒ’}ûöùíÞ½«bÀ¥×ëÉÊÊâñãÇÁÔ¯_ŸAƒüöïßϲeËpppÀÁÁåË——J#¨R©:t(vvvØÙÙ1lØ0£ßX&“±páB\]]±²²âÃ?$++«Xò7Þx#±w÷î]ÜÝÝIIID@PfQ©T¬[·ŽƒÒ¤Iš4iÂÁƒY·nQ=Zæ €Ê•*³bÑ <Ĉ÷GP£b l64lЊŽÜg0?îÿ‘Ï#>§fõšâ %ÆÏÏ„„xNþõÂôØ1’““èÚµ«‘Þ¼yó‰åÔÉœ<ñ+÷îÝgþüùüù HLL úÌiú™#GŽ>·<:|˜¦5¥ÅO?ýDß¾}K&¿¡^½zÇ/¿ü’×C‡HLL¤gÏž%ÎÓĉqvv&$$ÄÈ?¿ .=¬sçÎŒ;–ääd’““;v,éééESE­AÙ²e Ë—/ÇÅÅWWWÂÃÃÙ²e‹‘NŽÜÅÅ…åË—³yóæbÉ;v숵µµaåÚµkqÂx&M£gîL:•1cFcj¢(4ß@ðOãŸTgÉÅÏ!^U”J%C‡ % 0aÇ¡T*óè8;;sçÎÃõíÛwprr2\»¸¸ÉïܹkÞÄÄ„ŒŒ ÃuRRR‰òøÍ7ß2|ø¾ø"2Ï0zIÐKy]Û7Û²cÇŽ|e9@¥ÊD¥Ê$.î![¶lÆÙÙÙH®—$LÍÌ äƒ‡„©™™‘\/I†xTªL£4>_·ŽÃ‡£X³f R.ýÜÎÁÑmÛ¶’œœÄ»wððð MÛ6…æ»82nÞºe¸¾qófžûË-¿uû6...Å–ÿ§KÌÌÌ›2…_ý•!C†ZÞ 'œpÿ$—Óþ™™¼áÛ†3ÑgüÏDŸå ß6ddf+Þ§¡L Ü¼y™ ®öH€ ÈÐÊ‘ë2Që$´:9²,™Hȵ*ÔÐè2ë S'ƒ,é=&R7oßçÝ÷>ooÁ¿€Q#G2jdÁ¼öèѰ)S_±€ÉaaôìÙà ïÕ³'S§NcÅŠåH’DØ”0£ðuj×&"b5¤¤¤09lJ±ó¶zõ'¬ýôS¾Ùµ“jÕªå«ãèä\¬i^’”ÿް°0Þz«J¥9={öÀÒÒ’óçϳdÉR¶lÙœ+¼TDüÙò±cÇ0vì˜Í(lË–¯Ñ¨Qc?~LÏž=˜:uJ‰är¹  Œ@ðJ(ï½÷’íÚµ§V­Z\ºt‰eË–ýåÿüêº2c ¸8Xñða"Cýǡթ1 £HÙs§õ’²¿æ`Ë …&ån´¥ìkKsKôöÃÎÖF<Á+HQ#¹å„¯XaAysssVG¬buÄßÛ ¾×«W—Ÿÿ÷?£0~ðA±òRœ‘‘â.’/ìêÕ«–<Ù=~œ^hCó¬ò””GÅjß{oï½7¨ØHaéæ–™››³zõjV¯^]`Ü¡¡£ õÔòÍ›·Vè‘@ ”5%§n‰ààV® ç½÷=÷z®Ì( … wîÜÆÑÑž^½z Óé‘$ ¹\†J¥B£Ñf¿l˜›£ÊÊ*p7{{{fÏžƒÒÊ‚! áË/7ˆ'R ¼ âÅø94ÌEÉõz=_~ù7nÜ W¯žâ7¯d=8hÐ Zµj…··÷ ©çÊŒ"“IÈMLÑéôÄÄ<àܹs(•J& Î=ÇÝ»wÉÊÊÂßßRSS‘Ëåy¦0XYYa¦4EBÏï¿_O£@ xUšñrü [[;<==ùê«/‘Édâ7¯l=X¹råVÇ•E­•¡Rë033eãÆÜºy ™\F–: sssLML‘Ëå|ùå—Ô®]???ôz½Ñý2dDDDpýú $½ J¥™xÁ+Ò°ˆ”§%55¥Ð²+LžššRìÆ] ʲò")3ŠV“‰­…[¶lÅÊÊ'g'$IÂ<Ó½JL)ÇD&C­VsúôiN:Eï>½151åþ½ûd©³Ø·offJdz- yþÓÀ<<<¸ÿ¾áúòå˼ûî» >œ#Fpýúu,XÀñãÇyüø15kÖ$000Ï)Õ9ܸqƒ)S¦pêÔ)š6mÊœ9s¨R¥Š!Í'É€+W®ðþûïsüøñû¬À¸®_¿ÎÞ½{ Å…„„öä/.QQQôïß_üƒr¹½^'FP@PbjשGZ®éª¥N§C¡P¼úŠL§F'iQk4dddFJ$¤,-: oß¾>|˜mÛ¶aooOtt4uëÖEÒ7ÚffJÔ™ mÌ÷ïßÏŒ3ذauëÖ5’=z”i_P\Ú·oODD}ô’$ñùçŸÓ®];ã¤vmÒÓÓñôô¤OŸ>~\µZÍÉ“'Yµj•ø' ‚¿ëF™ »rvܽ{7·ò¢@@ðÒ‰§œ½=r™üÕ6P2u:4áÜ“¤\tZZ2™ WWWT*Js%NNNØÚÙbanAï*;zŒ„Ä´ºœƒTòÇßߟ5kÖä1N’““K|ÀãÌ™3éÖ­K–,²§eå>Ì-gº–N§ãÊ•+LŸ>„„fΜ À™3g¨Zµ*vvvâ© uëÖãøÑc4oÙW×gêµàiÑétÄ=|ÈÉ¿R¿aCLÍžnCª2c Hz2­)—M!I’‘±¢V«iذ!UªTaöìÙØÚÚâí훫¨³Ô¼óN/Ö¬] r ,\¸qãÆáàà@‹-Œdööö$&&¦‹‡ÐÐPz÷îͰaÀì5(£FbëÖ­y^6jÕªEDD¾¾¾%**Êhš™@ È ÜÊ»S§^ÎFŸ!5%X‹"‚—€B¡ œ]9jש“£#毶"SkÐè@–˦xrÏyÙ_»xÙØØÐ¸qc~9vŒ^]ßæ[7P«Õ˜™š’.e蘕¥ÊÞ—³úõ뇽½=~ø!Ë–-£cÇŽÙ믿ξ}û2dH±óâÄ ¾üòK£5(5kÖ,ø¥C.GŸë%#**Š©S§Š'_ äÁÔԔʕ½qw÷@«Õ!IÂ@ÁËA.“cbj‚¹…åSÇQv¦xéuètªYó ±±yø06[!×ô뜓â% êÕ­KVVß|û-^^^ù‹¹Ú l#IÉÉIxzV…!‚*zò(%VËÓœ%_æ ¥™Òð}ÀÀ 8ð©ã*h›a@ (Kèõz …ètA‰9~,Нµ.Õ÷b“¿6nÑ?Ux¹øY@ Á?a @ ‚ ejŠ×Í›—©àjDö¡ñZ9r]&j„V'G–¥" ¹V…Z]rdêd¥"]£ÇDÊâæíû¼ûÞGâ×@ „òtܾ}•r6¤¤¦“–ž†:I§A­´­¤C£Ñ¢×iA§A«­FF«A«Ñ Ve`fnÁ–ŸÓ¡sÅS J„£“3‰ ñ¥®û,H’$Ö ”´41A«ÕŠ‚ŠÞ<êúõëøøø%7.V$&¦Ð¾Ó;Ä=ŒE'éI2\&C£Ó"—ËÑKz$]vëõzôèÑk%ä è%Ô5 6bäˆ÷±³µO£@ @P‘‘‘øûûóÉ'ŸðÁ<÷ôÊÌ…„bˆ‹‹åƒã×µ mÚúòZ«–4j܈Z5kR¡‚ÎNN¸º8bemÌÔ ¹‰WÊÙØakk‹‹³ ¿ÿþ;–66 ùhˆxâ‚WG'g^kõzžÞ I’hùZ+œÿùüá‡ñ{ûmÜ=*àSµ ʃJ=?þøƒÞ½{ãââ‚¥¥%Í›7gç鉉‰Á9::Ò¯_?âããäõêÕË·<ëÖ­‹‰Iá}]¦¦¦XZZbkk‹££#®®®T¨POOOÌÍÍ zÉÉÉôë×[[[ÜÜܘ5kV‘÷öûï¿Ó¹sgìììðôô$222NBB•+W.2Ÿ…‘»ŒÊ•+G‡¸téR½Å‹£T*Y¼xq¾qÁÁÁùÖ³ÿZE&“)L+H2¸yó>äòåËܼu“¤¤$ÒÓÒ¹}+†Õ£»س%¯×«D›Þ^ˆ™‰ŒôŒL4 fJS$™žß¿ ž:àÅÒ‚ƒßoäwà»ï°²´üÇä1""‚ÇsùÒEΞ¦VÍZ|ðáÓwœäLóÊí®]»Fûöíi×®—.]"))‰ððp¶mÛf4-L£Ñ Ñh¸téJ¥#¹……ûöí3Š{÷îÝXþUžù¥ãÔj5?&%%…„„bcc¹{÷.:tà³Ï>3èbiiÉ­[·¸xñ"7oÞä‹/¾(0Þ«W¯Ò½{w†JLL GŽáèÑ£yôf̘ÁðáÃó䳨|?©›SF·o߯××—Aƒéèt:Ö¬YÃ’%KX»vmö4ä'âx–rN8á„{®°6$22’I“&qèÐ!~ýõW:ĤI“ˆŒŒ,v¼¯´¢ÖÊPk%$ޏ‡qÄ=ŒãîŸwÉÊÊB¥Rñ8ã1†È˜öù÷˜š(˜þA&½×ŽÁk}· o6®JFV:­”J3ñ'¼¢¾ÒÈ/<|%!!ÁF~*•ŠQ¡¡TªìM¥ÊÞ„ŽJ¥2ȳ²² ¡¢§5kÕfåªUFáó)îÍ·ß~C—.]°³³ÃÆÚÿœ?þ©â*ˆY³f1nÜ8†Ž££#J¥’fÍš±mÛ¶|õ]\\Xºt)?üðƒ‘ÿرcY´h‘‘ߢE‹7nÜSåkäȑԯ_Ÿ¹Î²:pà‹/ÆÁÁ–,YRhOݬY³˜:u*=zôÀÒÒOOO>ÿüs#?þøƒï¿ÿž‘#GšŸèèh*UªÄÊ•+‹Ì»cÆŒáòåËFþÿýï±··'00GGG<˜'li—£@ ±±±œ:y‚“'~åÞ½ûÌŸ¿À Ÿ?‰‰ DŸ9ÍáC?säÈÑç’ßdzöÓOyãÖ¥ïÿþ÷?z÷î]¢0ùÖÕ³gOâââ8~ü8‡&11‘=z”8O“'OÆÙÙ™   #ÿüzÜ.^¼X`|[[Û<ñ ÿfär9†Q”+ B.7®övîÚÅÜ9sqvvÆÅÅ…ùóæ±s×.ƒ|ÇÎÌ3Ç Ÿ7wn©çÕÑÉO¯J¬Y³–¹sæÉžu°ÄÄDœ‹? ÏØ±ci×®]žò3fŒ¡÷áÂ…Œ;6OyÅܹsÉÌÌdêÔ©yd:ubüøñ$''“œœÌøñãIOO/0®„„n޼ɹsç¸uë–––FFÏ?þHBBýúõ+0ŽO>ù„€€öìÙÃÛo¿]hÞMMM155ÅÉɉµkײe˃ìÖ­[œ>}š¾}ûЧONŸ>ÍíÛ·ŸK9 Á«L™Y‘—©•¡ÓƒV«%55•Œ V–¦¤¦f¡Tš “ÉÐkµ´û`\Üq«[+­™BÁÃûx£rc~ûö[Rãf4:HOK+4ͨ¨(BBBX¹r%o¼ñ†ÁÉ’%2xð`ƒ_£Føì³Ï ŒëúõëìÝ»¥R @HHk×®-QDEEÑ¿£†ÑÊÊŠ©S§R«V-ñD ¹èׯ/ .dçÎ]\ºx‘¾Ê÷…¼R%/Ãu¥J^F Äãââðò2–—6‰ ñ¤¥¥±ví§„Œɾ½{K‡V£A«Õäñwpp æþ=ÜÜÜŠ|ù°±±¡Ý›o²bù2ÔYß«³TôíÓ›™3g²qã~ÿýw¶nÙlÐÉù´²þ{wÄÇéÆu쪈®^½Ê§k×Åò¥K ÆËË † Š££c¾º–––Ì™= k«ìõóæÎ¡Fšý±cDz|ù24ê,£û0JsÙRÞ}·?õêÖ)0Ü÷#I·nß&À?€S'ORÞÍÈ^OñŒÎâ–£@ ¼hþIõOÙY$¯S£ÕkÉd¤=NC­Ñ±xiW>Ò”ä”Lärrd––Hê4ì\ì±r°ÁÖÅk3Ò§bé舤Õ!é%$­ºÐ<û÷ïg̘1lذÁÈ88zôh‘=mOÒ¾}{"""HMM%%%…ˆˆˆ<=”µkׯËˋ֭[³råJt:ÝßZÍÉ“'iÕªUÆKÎü@@R©dè°¡2lø0CAnœ¹sçŽáúöí;899®]\\ŒäwîÜ5îå11!##Ãp””ôTyµ±±!00€èè³O^BB/åumÚø²s×7ùÊr@ZZ*ii©ÄÄÜgÃÆ 89;Éõ’„©™þþ#:tþ˜š™Éõ’dˆ'--Õ(õ‘‘DE!"bR.ýÜÎÞÁM›6÷7®ãîᎯïæ»N:yïE&3|¿xñ"o½Õ+kƒádemct_ß}÷»v}òåË‹,#½$!•*Uâ³Ï?cTh(©iiddf²iÓ&.^¼`tÿ.œgãÆMddf–¸…N8á^”ËáIÿŒÌLÞlמè³çŒü£ÏžãÍví u[Qñ¾ÒJ¦N‡V£A£Õ’’”†›=k—žàì±ûÔ¨àLjª ™¤çÎþ0¹ó‹É,St˜Æ¦“þëîœ9ƒ‰™½¤G­Õ“}}þøûû3sæLêÖmb IDAT­›G–œœ\âgΜÉÖ­[©Y³&µjÕbÛ¶mF[hÞ¿ß°kÍÚµk‰ŠŠ2’Ÿ9s†ªU«bgg—'î .0}út>þøcñF*<Á¨‘#yû€‘!!ùÊ{ôèNØ”)ÄÇÇÏä°0zöü{=@¯ž=™:u ÄÇÇ6%Ì(|Úµ‰ˆXMFF<`ÌØâ/väêÕ«hµZ>|ȼùóiÚ¤‰‘NqÉKRþ;°Lš4‰¥K—²~}$III¨T*NŸ>ÍÀ‹½›Unyhh(II‰Œ5ªØá·mÛÆÎ;‰Œ\B¡(P/00ˆ{÷î“‘‘ÁÞ½{™7o>&L(PàÀLžf˜6qâ$:uêd§¦¦9€ÔÔ£|»»»óÝwøò˯X¼xI±Ê@’$ÜÝÝiÙ²Û¶mgÇŽ4iÒ„Š+éxzzÒ°aCvîÜY*å(œp ÷"wñR*•¼÷Þ ºwïNtt4’$M÷îÝyï½A(•Êç¶‹W™™â%éuÈ%-Y*5cBZѬ†;* H`k£dÉQlüúï6{“ÑU‚Èø9 ™Ü ¡ -¼é}¾ï_­8H’žì¾°üY¸p!ãÆÃÁÁ-ZÉìííILLÄÕÕµØù ¥wïÞ 6 €µk×2jÔ(¶nÝj¤§P(¨U«øúú2sæLÃÉ“#9¿üò £FbíÚµT©RE¼ %$lòd&LœH“¦ÍèÖím&OšdOš4‘ÑcÆÒ a#¬­­ à‡~4È—-[ÆÈQ#Y¼d åË—'$$˜={ö+íŽ;ðÑÐa\¹r{{{ÚµkÇçŸö´µd¾ ‚··7{öìföìÙL›6ÌÌLêԩèQ#ó4L…@O/1­V‹‹KþufJÊ#š5kÆ›o¶åÑ£Z´hÁ–-›ñññ)0îr÷îŸ4l؈ŒŒ :tè@xøŠBó’ß$nnnìß¿?¿·Ñj5Œ?¾XaÌŒ3‘Ëå„…MÎ7Ý!C†°páBÃôÜg-g@ xnïÚùÔ?ÙYбc'jÖ¬ÉåË—Y¼x±¡“ëyQf ™ZƒZ+zΜ¾Ky3Kî?HÁÄDAyΜ¿EÐÁÔó¨Ë‰˜S,ÿeVfÖ$g$Ó¶R5ˆ›½³£—ôdiÔPHÁöë×{{{>üðC–-[FÇŽ ²×_}ûö1dHñÏ+8qâ_~ù¥Ñ”š5k¨/—ËÑëõ†ë¨¨¨<‹JwïÞÍÌ™3‰ŒŒÌ³›Œ@ðo¦¨…å¹å„¯XAøŠùêš››³:b«#þÞ^88×BìzõêòóÿþgæÃ\§ì–—nݺѭ[·gº—'{¾ò£Zµjlذ¡ÀÆèÑ£äBšg•'q9aÀÀJôÂ>iÒD&MšX¬0Oæ3÷µ‹‹ 'NüZ`øüî±mÛ¶´mÛ¶Ðt;uêH§N‘$é™ËQ ^´’S7ƒÄ¨Q¡,_¾Œ<÷ºªì,’×ëÐiU˜˜˜òíÏóõþ³tïV‡´T ÿýïìlÌÙþp+›Û„$I˜(LˆOãÑ£Gœ–¬°7+ÇÍ? üpxö •(lŠ@ÇŽ‰ŒŒdÈ!ûÌìÌ~3OQÀY\„¡¨XÐq{tÀ‚ÓåSA3èºgAdd œn'¦R1.æÉÉÉÔßEq]^Z$@B!Ê•ô÷³fÍ t¥€ÖmÛàvzpåât¸°ddRXµ*Ê‘£¸‚ƒ@µ£¤ýŠ3¢6N—“‚bõòP+§µ£Yùì9rˆâ¢â ñÙ7nÜ(ß!Äù/,†‰yÆÀB!Ä…]G®žkˆµ"U܃>ÄÎ=›ôä`PT¢£oÆæg§VdMŽïØEdíÚxòrñ8††“±}›ŠáÖY¼x;…y,¶8L“‚üÂ’»+BQÁY, Ó;(B!.ØÍ·4äTvÖeݦn¨ªz}(ªªrkTS–-[A¿~Oât8QP8zønNƉ“»]„sô Áöò9yæcÁF~AÀ93¹ !DE£( ¡¡¡?v”ˆˆjR!B!þt§²³ «Rfïk*@xéµ—°Û,<ѳ º®`b”ô%1¬˜ºÍ£áÖÃÄ¥»As®›ôïó…ÅyìÝ}€µëÒ¤I’’’äBThªªÓ¤ ¿ÿž;ïlIÕˆjX,ŠTŒBˆ+Î0L²23øqó&noÖ ›Ÿßõ Œ}~ ˜`·Ûù`Ñ"æÎ›KZZ:ééi%Îhápz¦xÓ„&11¸\.–}þ9uëÖým¹4‡BTlU¥FÍHbbbر}ùyyèÒE!ÄŸ@UUBCB‰nܘªááø\ŠÝÏî}Þ«wozõî}ÑÛRù/£¢â³ÙlÔ¯_ŸZµj¡i:¦)ŠBˆ?‡E±`µYñ¼èmX¥…¢âS­6­6©!„?È‘*B!„B\-*Ô”C‡öQ»z& Åš‹îÀ­›hºÅåĉEsâö€G/Æ¢ƒCWÀå¤Ðc`5]:’JÏ>eï !„B!ÊÅ9rä¡ÁäåRPX€Š®ë˜º·h&Ínêx<†®îA3@óx4šÇƒÛYŒŸ-z›Ûw!<<\Ž!„B!$@¹0Õª‘ÇëFFzº©£˜ (`Q<ºö¿ÉÊô’ѹ ÃÀÀÀÐL,ª†‰Ûã¦iÓf<3øIB*Ë „¸&º†®ËdB!þ\Š¢ ª,êŇ&@QU+'Ož ##~ýú’ž‘Naan·ËMAA…E…8Ó °ØE¡Ã‰Å4‰¨ˆÇm`˜‹…]»vÌ€xï½…r$ !*4ÇC꯿²w÷nN園 Bñ§°X,„TáÖ† ¹¡n]ü®õyPÅDQ­XTSC‡cš&iéi%‘šEÅívsüx:kf fÓÞcløé0ª¢0ëÙG¸wð,²òØýð³Û0ƒ]»vË‘$„¨Ð ]'33ƒmÛ¶ò—¿ü…º7Þ„ªªR1B!®8]×9œò ëÖ­CµªÔ©SËE\“*L€âÖÜš‰©ëd¤g‘žÃåðmÎ`‚ ½÷öWtnÍø~¢&Ì#©ç½|³y?ßl=€ièh°ÛýäHBTø‹ÁÎí;¸ï¸ñÆ›¤B„BüiTU%êæ[Q­66®_OõjÕ  ºàíT˜a†5‹îF7L4†¢*X ˜ Pò\Q4Ý <4»Ÿ Ý4Ñ ¨Y5‹¢ ›zI@c‚©yP-¥OÔX«V-Ÿ×ûöí£iӦ̛7Ï»ìàÁƒ 8èèhêÕ«GûöíY¹re™åOII¡GDEEE=HIIñyϳgÛ¿?­Zµà›o¾¡k×®ÜxãDGGÇÉ“'å›!ÄuÆ4MrrNQ§N=© !„W…Ú7Ô!7/¦]ÔúæŠÅŠÅŽb ÃÀíѰ( ŠRÒ!`ЋñX»æ|¿íßü°ÝйµN8£ç~£ØAåÊ•p84܆Ή“i¿û¾[¶laÀ€L˜0.]ºpèÐ!ºuëFRRS¦L!((ˆ={ö0wî\:tèPêvâââh×®7È™?>ñññ|ùå—Þ<©©©ç-Krr2mÛ¶`Þ¼y 4ˆ»îº UUyçwxúé§Y±b…|+„¸Î†ªªÒA^!ÄÛ¸!™–w݃¢(—m›V«õ·[Œk;@qh ºš¦‘ŸŸOq±“ @ùù.ìv+Š¢`h÷÷ëEnµHjÄ4&HÓPT•ôÔ“´¹1–ŸN~FzÉ]‡Â‚‚ß ™9s&mÚ´ñ.Ÿ:u*C† ¡oß¾ÞeÍš5ã­·Þ*s[ä‹/¾Àn·˜˜Èüùó/¨’““éÑ£Ÿ|ò‰OÚSO=ÅôéÓå[&„B!*´ ÓÄKÑÝh†EQ((*ÀíÑyíõôp9y,‹ÕŠˆé. ¤ZAU‚©\-ŒJÁ~厩阆‰©¹Ïû߯U«V1bÄ.\蜬_¿ž‡~ø‚ÊÿÀ0{ölòóóÉËËcöìÙÜÿý>y¢££©[·.÷Üs3gÎD×uošÛífóæÍÜ}÷Ýçl»¸¸˜wÞy‡Ö­[Ë-„B!*´ŠsE×Ñ<<šFÞ©¢j„1ÿõM†Á­µ#H9™Mp£«þCT³–äéX‹=جØÒ )üa7GÚJ`¥`\ÅE¸5ƒ’ùèKǼy󈉉9'-''ç‚'xœ8q":ubêÔ©@IŸ“3›cnÞ¥ë:û÷ïgüøñdee1qâD¶nÝJƒ  ñÙîé¾*ááá,_¾\Žh!„B!Ê•`:SÃåt3"ñnZÜI±Ó&T¶3õ_É,úä;z¶¸á7 ¥øÛK à¡9Y-ëóèOÃéNò¦IÙwP¦L™ÂÈ‘#©R¥ -[¶ôI #;;›êÕ«—»üIII<úè£<õÔS@I”aƱxñbŸ|ªªÒ¨Q#fÏžMÛ¶m½Jrrò9wrN6¼ýöÛ >œeË–ÉQ-Ä,¼jÙY™—=ï%#Mó’û X­V´‹ìÐxU_è.às]«u „幎œÏÁƒ‰ŠŠº"e©8M¼ÜÜš lÝrŒã‡rÙµõ{w¥sô—¶þt˜¡m¸÷¦¿°éÄ XGž¥×ò¼·óCªU¥FX 0 ÓÀåq—+eèÞ½;¯¿þ:ýû÷÷éÈкuëóŽØUšM›6‘˜˜HHH!!!$&&²iÓ¦²wŒÅâíø¾ 88˜Áƒ³cÇùv !þ´ @!ĵiÁ‚4nܘ H€r&‡¡£kN¬VŸÿû'úŽùˆÍÇñåÎtñ!§Ò4–ü´˜çW?Ï ÿ~Ü¢Ždâè‰Ãl9ü#+w¯¤ßý0~MÀÔLÎ×Ä  ]»v,X°€#FðñÇ{—1‚Y³f±hÑ"rrrp¹\lß¾Aƒ•¹­›o¾™Y³f‘——G^^3gÎä–[nñ¦ÇÇÇóóÏ?£iGŽ!))É;"Xnn.)))ÄÆÆzó'&&òË/¿ iL™2Å']ˆëYxÕõ9ÿ 2M“VwÝMxÕˆ«ª¼ÙÙÙ4¹íö«®\âRî:X­Vš4iRêþЉ‰‘àG!þäà$!!Ûn»„„„+¤Tœa†u†Ç@ÓÜøaÜ[‡ ß&8ØT›êG jCÓ4ܺÝ­S9 2?güÌîã%³Æø`hF¹šCÜyç,Y²„Þ½{“M||<õë×gÉ’%Lž<™I“&áp8hÔ¨ñññengÖ¬YŒ=š9sæˬY³¼éíÛ·gèС8p€ˆˆ:vìÈsÏ=À† hÑ¢6›Í›ÿ¯ý+qqq8p€ÐÐPî»ï>ŸyZ„¸ÞðåW_ñ·ví¼ËV¯YCP`àUWÖW^™B¿~Oòâ‹“.i;åmâ•‘‘ÁG}Äûï¿ÏÖ­[/j—[@@+W®ôª}ùòåþ¶¿.µ\²þé¼±±±ôíÛ—îÝ»S­Z5ùR !®i¥'ÿõ¯1jÔ(Ö®]Kll,[·nõž§Ÿ|òÉ?îwE©4M·à_©þcb0bør–.Ýæö—[€a˜8]N2³³)*(Âãò`š`·úB¥ÀJ¦IHh(˜”LôXгç#iÔ¨Û¶mó @4hÀ;ï¼Ã¾}û8rä«W¯.s”Óù?ùäRRRHIIaÉ’%>íø:vìÈ×_ͱcÇØºu+&L  $˜*­y×™ùwíÚÅo¼AÕªUåÛ%Äo†2cÆLŸe3fÌ$11Ág™ÓédXRõn¬O½ë“4|8N§Ó›îr¹šÈ uêÒ°Q43ÏøÇPê] ¹ràÀþûí·Ä \jú庫âr¹øì³Ïèܹ3ÑÑÑìØ±ƒW_}µÌüÛ¶m£^½zÌœYR‡º®3fÌ"##©\¹2½zõ¢àŒ¡ÚÏüŠÍfãÍ7ß$**ŠÀÀ@š7oÎÎ;Ï[¾gŸ}öœò¼ú꫌9òœýõôÓONxx8ƒ>g 0€j׮혤´ržoÙé÷ß¾};5¢K—.,]º·Û-_.!ÄuÁétòî»ï²zõjo+ØØXV¯^Í»ï¾ësî½Ü*Ì”#ÇÌ›³g‘šš‚fZÀÐ1 n—‰¢€³¸CQ± ãö耧˦‚f:Ðu΃ÈÈ8ÝNL¥bLj–œœÌ€ä›"ÄèØ±#“^z‰Í›7Ó¢E ÖoØ@NΩsþ‘ðÒK/“––Æ›7aš&C†&ðòË“™8q/¿<™ìì,¶mÝ‚iš MH¼¬å7~<Ï?ÿþþþH=lÞ¼™÷ߟO?ý”&MšÐ»wo-ZD¥J•Ê\gÕªU 4ˆyóæy‡TŸ}C‡ Åbñ½súÙÒ¥¬X¾œˆˆ’;/¿ô»tñ(Ÿ~ö+–îMiÒ$îüæ›ËRƵk×’}ŠGºv-3Ï¥Žv÷ÝwS§N–-[F«V­~7ÿܹs™¬_¿ž'žx‚yóæáñxä‹&„×s€ðàƒ±sÏf=9•èè›±ùÙ©Y“ã;vY»6ž¼\<¡ádl߆Ŧb¸u/ÞNaž‹m'Ó¤ ¿°äîŠâšÕ½ûãL™2…Ï>[ÊÞ={X´ðýsòdffR¯^]ïëzõê’™ù¿  ##ƒºu}Ó/—±ãÆóê”WPå’·¥yyÎ|^)(ÐûÚªZJúºÊnàv9yü±G™8q"‹-d×®],þèCï:§ÿ¦§§S+²¦÷u­È𤧧{_§¥¥Y³†OúÙe+­çK/,*bù石èƒÙ½{7tíJ¯^½Îûy„¢¢¹šÎi*@QU•[£š²lÙ úõ{§Ã‰‚ÂÑÇp{t2Nœ¤Øí"4(€œ£GP0¶‡¯¸ÈÉË  0 6òk7}öLîBˆk‹ÝngÐSƒˆ2„Ñ£Ga·ÛÏÉÁÑ£G©_¿>GŽõéÏU­Z5Ÿô£GùžD­VŠ‹‹½¹O:UîòíÝ»—‡:tôYv±ó¦˜˜¥tpl~Gsšßќɓ'³zõj>øàCžùzèïôèу{ï½×'ÿš5køûß"44”gžyÆ»¼F|óÍ×DFFúä?ó=Ëz~¾eg¦Ùüüˆ‹Ì AO1nÜXl~~ÞuNÿ­V­‡ñîC‡áM¯^½ºOúá#G|Ö·Z­೿J+ûÚµkùè£X¹rwÝuƒ ¤}ûöÞãÈ0Mù’ !®gŸÓœN':täµ×^ãöÛoó.ß±c'Ï>û,+W~ñ‡5O®pc7¾ôÚKØmžèÙ]W01Jú’VLÝæÑpk€aâÒÝ ¹×Mú÷y‚Ââ<öî>@ÚuiÒ¤ IIIr4 qöÌ3 ;ã‡öÙºté̘^`ÆôéŒ3†®]ÿ×ïá‘®];vÓ§¿išŒyaŒÏú££™={C†Ä“——Çè1/”»lg"¥'å XLóü#Uùùùѹsg:wîLFFK–,aÔ¨Q|ÿý÷>ù"##Y³f5:tÄãÑ1b8ýû÷'!!‘W_ 7ÜÀþýûyíµ×|†›<óýK+ËùÊw:-))É{n.m{]»våÿxŽ9sf0rä?xä‘G¼éݺuãùçG1{ö,LÓäÿxÎgýÆ3}útžy&‘œœžþù2ßkôèÑôìÙ“ÿû¿ÿó6ñû½Ï!„ÕÙç6»ÝNŸ>Oйsg–.ýŒ¦M›²}ûvºv}„þs"v»ý;V¸eìócÀ,©´-bî¼¹¤¥¥“žžö[ížQÑ¿½0MhƒËåbÙçŸ{›kÈEF1fôhž{þyšßQÒá¹S§‡=j”7}Ô¨ç>âYnoÚŒJ•*1dH<ÿùÏ×ÞôiÓ¦ñ̰gxmêTjÖ¬Ibb+V¬ø3.-å>§EDD0dȆ RêÜ#5jÔ`Õª•tìø0šæáÿøIIÃxã7èС#iii4hÅÈ‘#Ë J.6@ù½ô±cÇ2rä³ÜvÛíÞó…^ð¦3šaÆM¥JÁ$$$ðÕW_yÓgΜÁ!C™2e 5kÖ$)iŸ¾¼Ô²¯_¿^‚!Äu ôîÝÓ„víþFÆ Ù·o¯½öÚoËÿ¸ó¢’?Øœ1{.§²³¨.CÕ !.Îéó@ÒŒ¯èÚ±ùÅtÃÄ0Œßþš8݆až³¼J°~øži‰–ºý5+WЫoÞ÷-:tê"¸].–|¼˜Aƒãd\!„l÷®´¼ë Ê̳hÑ"† Kâ7¦Ñ»wïrm÷½wß¡ãÃVjúÊå˸ÿÁv¬ýækÚw(12õ×ã¼õæ›Èô¼Bq ø½&^B!Äù¯#e_CzõêE«V­¨_¿þ¹ÖH€"„ׯ¥E!„H€pã7^±ëL… PÚGíêa˜€k,º·n¢é—&͉Û½‹]—“BÕtqèH*=û ”#Qq ]XäŠBˆ?.@¹’*ÎLòG@^~!…¨èºŽ©{pë€fâÑÜ覎ǣaèè44Gó y<¸ÅøùðÑ¢·y°}ÂÃÃåˆB\ — P„BH€r%U«Dvvü­éi覎b* €EQðè‹Ã40õ߯Í7 ÍÄ¢*`˜¸=nš6mÆ3ƒŸ$¤r°BˆkãÂb˜˜†!!„â"¯#WÏ5¤Â(ªjåäÉdd¤Ñ¯__Ò3Ò),,Âíqãv¹)(( °¨‡Ãb»(t8±˜&Uñ¸ ÓÀb±°k×.ƒƒ0pï½·PŽH!D…æýçŒÜABqn¾¥¡Ï(œ—ƒn¨ªzí(Šb¢¨V,ªŠ©À¡C‡1M“´ô4EAµ¨¸ÝnŽOgÍŒÁlÚ{Œ ?FUf=û÷žEVžƒ»~v¦b°k×n9*…š¢(„††rüØQ""ªI…!„øÓÊÎ",¬ Årm(nMÁ­™˜ºNFzé8\ßÿš°`B/ƽýÛD3¾ßƒè†Áƒ óHêy/ßlÞÏ7[`:šìv?9‚„¸‚–~²øœei×I*YW ¼ IDAT横JL“&lüþ{î¼³%U#ªa±(R1B!®8Ã0ÉÊÌàÇÍ›¸½Y3l~÷[»Â(šÇEw£&šGCQ,ŠÝÐQEQ01ÑtƒðÐ ì~6tÓD7 fÕ,Š‚nê% ¦æA-ã"^«V-RSS½¯÷íÛGÏž=yúé§(Æ cñbß&/ªªÒ¨Q#fÏžMÛ¶m½Jrr²O3³‰'òòË/£(2Z¨8¤‰—B!®™Eq{pk&`°uË1jú’z2«U¥fµ`¶þt˜¡mhR+†M'~äï§äW‰œâþRï^žhÖ›a5(ra˜.»$X)C÷îÝ £ÿþL›6víÚyÓZ·nÍÊ•+0`@¹Ë¿iÓ&Þ{ï=Ÿ>( 6,3¿Åbñiú’œœÌرc½¯þùgo§ýÓÎ}Lˆ«4ñúc˜¦‰a蘺!“5 !„ø3³+ ªjÁ¢^|˜Qqšx:ºæÄjµñù¿â“UÛéÜ©1ùþýïý„û³$}1îüÓ4±ªV2ó3ÈÍÍe‹D˜_(ýîìÇŒu3J.èšÉùšx´k׎ 0`ÀrssyüñÇ1b<òv»‡zˆÀÀ@öîÝËœ9sÊì(óÍ73kÖ,À›o¾É-·ÜâM'11‘¨¨(~ýõWÆŽë,77—””bcc½ùÏD$8âú NtMã×ãÇÙ»g§rNI¥!„øSX,B*‡pkÆÜP·.~×ú<(Ý…á1Ð47~wÄÖaÃ÷‡ öÕĦú¨ÚÐ4 ·îFwëT¨ÌÏ?³ûxɬñþ%ã1šqÞNò§Ýyç,Y²„Þ½{“M||<õë×gÉ’%Lž<™I“&áp8hÔ¨ñññengÖ¬YŒ=š9sæëÓá½}ûö :”AÇŽyî¹çذa-Z´Àf“z„¾ à -#í;¶ÑöÞû¨wc}ïàB!Ä•¤ë:‡S~aݺu¨V•:uêb¹ˆkRÅ™¨Q·à_©þ£#†/‹A¥@.aa¡85'9¹yXU º¦c³ùa·úä§¢ë:]#$4Ì’qšKsöˆF±mÛ6Ÿe 4àwÞ)wù4hÀ'Ÿ|RfzÇŽ騱c©ig÷?)O™…¨è¾[÷-íÚw ¸¸Èû\œËÔu~Ú±‹{ÿòõ›øU!„ø3¨ªJÔÍ·¢Zml\¿žêÕªtí(GŽ%$8˜7gÏ"55Í´€¡cÜ.Egq†¢bAÇíÑ N— LÍt ëœ‘‘5pº˜JÅh«œœ|Aý]„¸œHpržÈÍÍ¡n½zRB!® µo¨Cn^Mãbæ’¯0Êß;<Κ5+ЕZ·mƒÛéÁU”‹ÓáÂ’‘IaÕª(GŽâ ÕŽ’ö+ΈÚ8]N ŠDÔËC­œBÖŽfdä³çÈ!Š‹Š+Äg߸q£éâºS\\TêsqV€bšèºŽªªåj¶*„BøüÎÜL˻#ÃZ­VtÝÀ4/n kEªÀ|ˆ{63èÉÁ ¨DGߌÍÏN­Èšß±‹ÈÚµñäåâq8 'cû6,6í³xñv ó?L°Ûí|°hsçÍ%--ôô´’ g4Á>=S¼iB“˜\.Ë>ÿœºuëþ¶\Úk qµºš›x…W ;+ó²ç½¦i^ò9Íjµ¢iÚµw¡»€Ïu­ÖB”ç:r>$**J”ÒØýìÞç½z÷¦WïÞ½­ËÙHqyI¯k7BQ±,X°€¸¸8æÎK¿~ýþð÷³H• !®FÅÅEÞ¦]g>/ðªÜuwësþdš&­îº›ðªWÅg ¯qΣ¢º”àÄjµÒ¤I“R÷WLL V«U¾Bñ'' ÜvÛm$$$°`Á‚?ü=å¬/„¸*]j¯À€¾üê+þÖ®wÙê5k ¼ª>çåjþu!M¼222øè£X¸p![¶l9g;†€€V®\I‡ÿÛÏË—/'ð·ýu©åºõOçmÞ¼9}úô¡{÷îT«VM¾”BˆkZiçÉýë_Œ5еk×ËÖ­[½çé'Ÿ|ò+K…ºƒrèÐ>ÜEi¸ŠÒp¥‘›—Aþ©£de!-íéGpäè~Ž¥ìäàÏ;Ù·g#ûwmdÇöØñÃZÖ÷_~H^Çï¿-G¡W¹Kmâ•0”3fú,›1c&‰‰ >ËœN'Ã’’¨wc}êÝXŸ¤áÃq:Þt—ËÅЄDn¨S—†¢™9k–Ïú¥Ýõ¸œwB.×¶\.Ÿ}ö;w&::š;v0eÊ”2óoݺ•zõê1sfIêºÎ˜1cˆŒŒ¤råÊôêÕ‹‚‚o~›ÍæóüÍ7ß$**ŠÀÀ@î¸ãvìØqÞò=ûì³¼úê«>Ë^}õUFŽyÎþÿ¡x饗IKKãÇ͛ؼé~ý5•—_žìMùåÉdgg±mëÖ­ý–ï¾[Y?gTƒ›©Q3’;ïlÉ´7Þ@×õ˺ýÍ›73tèPêÖ­ËüùóéÚµ+‡fÁ‚Üwß}¥®³jÕ*:vìÈŒ3HH( è&OžÌ¶mÛØ¼y3©©©0jÔ¨2ßwݺu¬[·ŽÌÌL:uêD\\ÜyËÙµkW233½Ó®[·ŽS§NÑ¥KŸ|ãÆãĉìÛ·½{÷rìØ1ÆïM?~<™™™üòË/lݺ•o¿ýö¢ëî¾ûîcÁ‚9r„Î;3gÎêÔ©CBB‚÷¸Bˆk•¿¿?ÉÉÉ4mÚÔgyÓ¦MINNÆßßÿ{ï ÓÄ«Z• ²³óxàoÝÈHOC7uS,Š‚G×°X,¦©—Ü¢2 C3±¨ &n›¦M›ñÌà' ©,GŸW©Kmâe±X?„3f²hÑB¦OŸÁÐ!C±X|ÿ/óÙÒ¥¬X¾œˆˆ’;/¿ô»taâÄ |úÙg¬Xþ¹7ý¥I“¸ó›o.Ëg<ݼK×u~þùgÆŒy¬¬,&½øâ9y.ÖÝwßM:uX¶l­ZµúÝüsçÎeòäɬX±‚æÍ›{—/X°€U«VQ»vm&MšDll,³Îº£tÚÌ™3©R¥ ÇgÒ¤I¿»¿’’’xõÕWYºt)S¦Laøðáçì¯?þ˜¯¿þÚÛäjÚ´i<øàƒ¼òÊ+,^¼Ø'ýõ×_'::ú’ê°R¥JôíÛ—¾}û²~ýzžxâ æÍ›‡Çã‘/ªB\ÏŠªZ9yòiôë×—ôŒt ‹p{ܸ]n (,*Äáp ˜…Å. N,¦ID•@Jy隆¦ûƒùÛÿ~Ã~H—.iÓ„ž={ЩS'‚‚‚JÝδiÓèÙ³Mbãvýïö}jj*7öÉ«(ŠOž3ŸW ô¾¶ª4MóI?›Ûå¤ûãñÏþ“E‹²k×.ô¡wÓÓÓÓ©]+Òûºv­HÒÓÓ½¯ÓÒÒ¨YÓ'ý첕VŽó¥²|ùr>øàCvïÙM×®]éÕ³çy?BT4WÓ9­Â(Šb¢¨V,ªŠ©À¡C‡1M“´ô4EAµ¨¸ÝnŽOgÍŒÁlÚ{Œ ?FUf=û÷žEVžƒ»~v¦b°k×n9…¸J]މív;ƒžDü!Œ= »Ý~NžˆˆŽ=Jýúõ8rä(U«Võ¦W«VÍ'ýèÑc¾'Q«•ââbogîS§N]ôg¶X,†qQ뚘¥tpl~Ç4¿ã&OžÌêÕ«ùðÃùçøûßÛÓ£Gî½÷^Ÿük֬桇"$$”aÞñ.¯Q£ß|ó5‘‘‘>ùÏ|ϲžŸoÙ™i6??ââ3hÐSŒ7›ŸŸwÓ«U«Æ¡Ã‡¹é¦›H9t˜ˆˆozõêÕ}Ò>â³¾Õj¥°¨È»¿²³O•Yöµk×òÑG±jÕj ¤}ûöÞãȹ´„׳ÏiN§“:òÚk¯qûí·y—ïØ±“gŸ}–•+¿øÃšyU˜>(nMÁ­™˜ºNFzé;~ —Ë…Ó館¸Ç ½÷öWج*ãû=Ȩ>÷ó`Â<’zÞË}± (v¹ÐuÍv»ŸB\¥¾[÷-Aç<¿PÞy†ô´“<“˜Xjz—.ó dff’™™Éè1cèÚõýéÚ•±cÇ‘••Eff&c^ã³~ãèhfÏžCqq1'Oždij#Ë]¶AO=ž}ûÐ4Ç“˜ÈÃwôÉSÞNò§Gñ*ëáççGçÎY²d [¶üHãÆ5j´O€ÈÈHV¯^Íûï¿Ïk¯Mõ¦õïߟ„„DRRáñxؽ{7O>ù¤Ïº¥=?ß²ÒÒ’’’8u*›aÆ•šÞµkWž{îy222ÈÈÈà¹çþÁ#<âMïÖ­£F&33ó·ôç|Ö‰iÌôé3(**"55•aÆ•YöÑ£Çöm[ùøãéÔ©~~~¿[×ò‡<äQ‘e]Gìv;}úO`·Û˵Ýk:@Ñ<,ºÝ0Ñ<Šª`Q,`‚BÉsEQÐtƒðÐ ì~6tÓD7 fÕ,Š‚nê%f‚©yP-¥OÔX«V-Ÿ×ûöí£iӦ̛7Ï»ìàÁƒ 8èèhêÕ«GûöíY¹re™åOII¡GDEEE=HIIñyϳgÛ¿¿· yyò Q‘]©‰ÇŒMDDÍïhAó;ZP£FuFŸÑù{Ô¨ç åö¦Í¸§M[î¾ûnŸõ§M›Æê5«¹±þM´ÿûCÜsOër¿w‡‡âéÁqÔª}îDTT¯Lž|qwPLÊ}1Šˆˆ`È!lذ¾Ô@¡F¬Zµ’Å‹óÊ+¯ü8 £U«–<üðÃT¯^ƒÒ¡C‡Ë ü^úر/P­Z·ßÞ”ÛooJ5xá…1Þô1cFJttcZ¶lEëÖ­}ÖŸ>}«V­¤víxðÁv´isO™e_¿þ;âãã©Zµªüˆ‘‡<äqÝ(¦iÒ»wo&NœH»v£mÛ{i×îoLœ8‘Þ½{—{»£Â4ñ²àÑAQ ØQŒa¸=EAQð6‹ôâG<Ö®9ßo;À7?ìA7tn­Îè¹_à(vP¹r% ·¡sâdÚï¾ï–-[0`&LðŽ&sèÐ!ºuëFRRS¦L!((ˆ={ö0wîÜsF:-..ŽvíÚyƒœùóçÏ—_~éÍ“ššzÞ²$''Ó¶mÛrç¢"»”&^¿×±üÌô€€fLŸÎŒéÓKÍëïïϜٳ˜3ûÁ†õ>oÒ$†oÿû_ŸuúŸ1ËîùÊÒ©S':uêtIŸåŒå’/¹¹9ÞmT«VM›~ð^´E!))‰¤¤¤sîÜœ½î™ÏKÛöùÞ÷÷Òýýý™9s¦wøã³Ëa·Û™;wsçÎñ¦%&&xÓ›4‰aݺu¾û«ÿó–]!®eûz÷î˜ –ÄoL£wï^øy²Â(MA7Jf+ÎÏϧ¸ØIP ü|v»EQ04ûûõ"·Z$5b¤i(ªJzêIÚÜËÎÏ?'?#C‡Â3Æð/+ HLLdæÌ™´iÓÆ»|êÔ© 2„¾}ûz—5kÖŒ·Þz«ÌmiëׯgܸqTþx€Ù³g3pà@LÓäí·ßæþûï÷ÉMaa!uêÔá±Ç#>>UUp»ÝlÞ¼ÙgHÏó墢»RM¼®¡K‹(B!þàÆo¼b×™ŠsE×Ñ<<šFÞ©¢j„1ÿõM†Á­µ#H9™Mp£«þCT³–äéX‹=جØÒ )üa7GÚJ`¥`\ÅE¸5PÊ|¿¸¸8æÍ›wNp““Cxxø•âĉtêÔÉ;«q­ZµX±b…7ýts-]×Ù¿?ãÇ'++‹‰'%³:7hЀr墢»£x]o P„BüQÊ•TaÓб˜.§›‰wÓâÖHŠ0¡r°©ÿJfÑ'ßѳÅ} ¿i(Åß XPÍÉjYŸGzü·v`š&eïˆ)S¦0räHªT©BË–-}ÒÂÂÂÈÎΦzõêå.RR>ú(O=õPÒeذa,^¼Ø'Ÿªª4jÔˆÙ³gÓ¶m[oÀ‘œœìÓÌì÷ò QÑI¯ ½°H/!„ \QŠÛƒ[3ƒ­[ŽQÓ/Ô“yX­*5«³õ§Ã m“@“Z1l:ñ#o|? ¿Jäçð—z÷òD³ÞÔ«A‘«Ã4pyÜ%Wô2tïÞ°°0ú÷ïÏ´iÓh×®7­uëÖ¬\¹’”»ü›6mâ½÷ÞóéƒÒ°aÃ2óŸ=Brr2cÇŽ-w~!*:iâuáŠ)ç!„{¹Š®!§‰—¡£kN¬VŸÿû'>YµÎSïáßÿÞOH°?KÒóáÎ0M«j%3?ƒÜÜ\¶˜A„ù…ÒïÎ~ÌX7£d'h&çkâЮ];,XÀ€ÈÍÍåñÇ`Ĉ<òÈ#Øívzè!Ù»w/sæÌ)³£üÍ7ß̬Y³8p o¾ù&·Ür‹7=>>žÄÄD¢¢¢øõ×_;v¬wD°ÜÜ\RRRˆ-W~!®ÒÄ«|EAU-è†.wP„B\°›oiÈ©ì¬ËºMÝ0.©_tÅfXwax 4ÍM@€FÁ±uØðýa‚ƒý@5±©~ª64Mí»ÑÝ:•*ósÆÏì>^2k|€†f”ëb~çw²dÉz÷îMvv6ñññÔ¯_Ÿ%K–0yòd&Mš„Ãá Q£FÄÇÇ—¹Y³f1zôhæÌ)ú266Ö§Ã{ûöí:t( ""‚Ž;z'Û°a-Z´Àf³•+¿×iâUÎ ãøÑcT«^M*D!ÄŸîTvaaUJæ,¼–M·à_©þ£#†/‹A¥@.aa¡85'9¹yXU º¦c³ùa·úä§¢ë:]#$4Lʬ´³çiÔ¨Û¶móYÖ AÞyçr—¿Aƒ|òÉ'e¦wìØ‘Ž;–šVZÿ“óåâZ M¼Ê ¨*ÑM¢Ù´é{îhÑ’ªU#PU‹TŒBˆ+Î0L²23øqó&noÖ ›Ÿßµ 9~”à`Þœ=‹ÔÔ4Ó†Žaxp»LœÅEŠŠ·G,8].04Ó®{pDFÖÀévb*£9DrròõwâZ M¼ÊÇb±Y£îÆnvnßN~~º®KÅ!„¸âTU%4$”èÆ©Ž@Àµ ü½Ãã¬Y³]) uÛ6¸\E¹8.,™V­Šrä(®à Pí(i¿âŒ¨Ó夠ØAD½<ÔÊ)díhFVA>{Ž¢¸¨¸B|ö7Ê/®;ÒÄ«|EÁj³qcýúÔªU ]×eÈa!„‹bÁj³âxÑÛ°V¤üàƒ±sÏf=9•èè›±ùÙ©Y“ã;vY»6ž¼\<¡ádl߆Ŧb¸u/ÞNaž‹m'Ó¤ ¿°äîŠâª$M¼.0H±Ú°ZmRB!*¼  ¨ªÊ­QMY¶lýú=‰ÓáDAáèáC¸=:'NRìv@ÎÑ#(ÛCÈW\ääePP˜ùçÌä.„¸zH/!„B” á¥×^Ân³ðDÏ.躂‰Qҗİbên4†[ —îÍE¸nÒ¿Ïç±w÷jÔ®K“&MHJJ’#@ˆ«”4ñB!$@©Æ>?L°Ûí|°hsçÍ%--ôô´’ g4»>=S¼iB“˜\.Ë>ÿœºuëþ¶\Úh qµ’&^B!„(‚ÝÏî}Þ«wozõî}ÑÛREŽ!®RÒÄ«üLÓÄ0tLÝÀ¼!„ø“(Š‚(ª‹E½èßÚV©J!ÄÕHšx•?8Ñ5_gïž=œÊ9%•"„âO¡ª*‡pKÃ[©[·V›í¢‚ P„W%iâU>†a–‘ÆöÛh{ï}Ô»±>ªªJÅ!„¸ât]'%åÖ'¯CµªÜpC]¬Ö 7*T€rèÐ>jWàX³`ѸuM· ¸œ80±hNÜðèÅXtpè ¸œz ¬¦‹CGRéÙg EB\Ť‰Wù˜ºÎO;vqï_ þM7I…!„øÓ¨ªÊÍ7ߊMµ±qÃzjT«qm(GŽ ´r ™™§ÈËÏE3Õ’Ù’u7.]ÍÀ£¹ÑMÛƒ¡k˜ºº[Ç­yÐ4 WqÁ¡|´èlß™ððp9š„¸ I¯r(@nnuëÕ“ÊBqU¨]§¹«sÑtí¢Ö¯0Jµ*A¤§g3(n$šîÆ{Å,éc˜ †¡Šw„.“3fT6K^úÒëÑŽ„T–#Hˆ«”4ñ*g€bšèºŽªª22¡Bˆ ¶qC2-ïºç²eµZÑuý¢¯K&@QU+G!<<ŒGé‚®˜¦‰Å¢àt:ñxJ"´Ê IDATœ.W™•Æÿýߋ؃0pï½·PŽL!®BÒÄK!„¨Ø®ùEQL,VºnpâÄIvìØÝnGµªìؾƒcÇŽár¹ˆ‹‹£V­Zäççc±X|*Æ4M‚‚‚ð³Û01صk·9B\¥¤‰—Bq}ª0Š[Spºuüül,Z´ˆÃ‡£X\nþþþج6, ï½÷ÑÑÑtìØÃ0°X,ÿ rP˜={6¦`Vìv?9„¸JI/!„B”«šæqP9À>ZLPPU#ªbš&þ†Ób·`UÜn7[¶láÇäÑÇÅfµ‘úk*.·‹•+WàçgG14TKéÍÀjÕªEjjª÷õ¾}ûèÙ³'O?ý4ƒààÁƒLž<™7RTTDÆ 2d:”þC*%%…^xü€;_|‘›~u§V­Zç¬S©R%öïß/G©¸.]ÍM¼Â«F•yÙó^ Ó4/¹ŠÕjEÓ´kîXºÏu­ÖB”ç:r>$**ꊔÅRQ*Íb@a±‹–­ZòôÓODa~FýêØ»¶Æ‘•‹ÓéD×u¬V+~~~,Z´ˆùoͧoß¾ôêÕ‹¯¿þš™3gâv»08q2íwßwË–-tïÞqãÆyƒ“C‡Ñ­[7î¹ç¾ûî;öïßϤI“X¾|y™Û‰‹‹£yóælݺ•­[·Ò´iSâãã½é©©©>ñãÇÓ»woù¶ˆëÖwë¾%00èœçâê „B\›,X@ãÆY°`Á•¹¦ü‘_·n÷Þ{o¹ó¯]»–¶mÛ–šæÐ\nºun &&†5j ë:» Åφßmá˯¾âàÁƒäççãñxhug+^ãuüí%MÀRO¤R½zu C¡° à¼åINN&11‘™3gÒ¦Mïò©S§2dÈúöíë]Ö¬Y3Þzë­óF_|ñv»€ÄÄDæÏŸ_j^·ÛÍ»ï¾Ë²eËä!®[—ÒÄ+¼j·Ür Öç3`†išÜuwk8pEîj”ÇîÝ»™0ñŸlÞ¼™àà`FE¯^=+Üþº”»V«•F±sçÎsöW“&MØ·oŸÜÕBˆ?18IHHàöÛo'!!€~ýúý¡ïù‡ÞAiÛ¶-k×®¥jÕª¬]»ÖÛáÌÇ™ée'ŠîF75ÜÅÅŨªŠÝnÇf*¨. Ý0xüñÇiݺ5°mÛ6bbbˆŠŠ¢n½ºÜu×]<öØcøùÙq;ŠÎ{+kÕªUŒ1‚… ú'ëׯçᇾ ºxà˜={6ùùùäåå1{ölî¿ÿþRó~úé§Üu×]Ô¬YS¾âºU\\ämÚuæóò à˯¾òY¶zÍ‚¯šÏxð` ½z?Á“}ûðó¾½|ùï5ü°é‡‹ÚViçײééé¼ñÆÄÆÆú,¿Ðí\®@@@+W®ôY¾|ùrÛ_—ºý‹ÉËôéÓIOOÿSêEò‡<®Ô9¸¬óä»ï¾Ë¨Q£X»v-7ndíÚµŒ5Šwß}·ÜÛ½ê”ÓAʧŸ~J·nÝX·nOÚºuëèÖ­Ÿ~úéyƒ‡®ãñx¼óžx+ót£( ( Õ«WÇ0 ìþvªV­ÊM n¢qLc:uêDÕðª¸Ý.4ýôD*¥‹‹‹câĉÄÄÄœ“–““sÁQ=(å)•1N$ƒ™Nƒ$3ýb(“ÉŒ‹F£¡E‹Œ9’ÌÌL´Z-ÞÞÞ4ñkBm×Úh 5ôïßïÖ•ËÊ}q˜:u*G–üšiooOzzz¥tÂk¯½FLL 111ôïߟ‰'–ˆ÷Ã?P¿~}|}}Å/CP­¹_/^½{÷&--•ãÇpèða233J8²˜?ÿ’’’8qüÇåúõD>ùdQþÉ' HOO#:êOìßÇï¿zpFØ¡C¤¤¤àïß„:u=>b7oÞ| z<~ü8ãÇÇÓÓ“Õ«WD\\tíÚµÔ4»wï¦wïÞ„††»ó,X@tt4Ç'11KKK¦OŸ^æy8ÀHMM¥OŸ>÷üèDjj*GŽ1¦ÏÈÈ oß¾&ñfÏžÍ?ÿüÃùó牉‰áêÕ«Ì™3Ç(Ÿ3g©©©\ºt‰¨¨(öíÛWeÝuíÚ•ˆˆâãã dÕªUÔ­[—àà`ã}%O+ju¹RÑ8æÂB5”Óý4`À>ûì3†Î?þh"ëØ±£Ñ#XE9vì&LÀÖÖ[[[&L˜À±cÇJÄ[¹r%ãÆ¿ Aµç~‡xÉårÆgìEY¾<”ñãÆ›¸غmó>ž‡““ÎÎÎ|2>[·m3Ê·lÝʼ?6ÊçÏ›÷À®1==ø„xú3§OaiiÅ”»z îw®L‡Ø»w/Û·oç§Ÿ~bèÐ¡ØØØ”?<<œ±cDzk×.“¡¬,[¶ jÔ¨Á¼yóرcG™ù„……áîµ5“&MºgŠ\.'$$ÄØ‹²hÑ"&MšT¢¾6mÚÄ’%KpvvÆÅÅ…¥K—²iÓ&£|ãÆ&òÏ>ûì¾ëÉÆÆ†aÆñË/¿°eË"##éСƒø‘ ÁCâ_u»rÛHéÒ¥Ë=çœÜMA^¯.Ñçq»÷äî±n-šp8)yso|$:$’ ¯n¨ýÏ%4Ù”7Ä  GDDD0âÖWÍ7Þx€É“'Ó¯_?T*¯¼ò VVVÄÄİjÕª2'Ê7hЀ+V0räHÖ¬YCÆ Mâüúë¯XZZÒ¦Mqg €Þ`Ñ¢Elݺ˜sçX÷í7%⤦¦R¯ž§ñ¸^=ORSï)))xzšÊVVVÌýðCìììøøÿ>¢yóUÊK¯Ó¡ÓiK„ïûíW¾[¿ž¾} hÀ›o¤OŸ>X[—>dnéÒ¥¼ùæ@š6ASx§û>11‘&Mš”xþS|߯ÚÊx¬TÈÑét&ò»ÑªðÆë|ôÑG¬[÷-gΜaã†õÆ4·ÿ'''ãáîf<öpw#99Ùxœ””„»[mùÝe+­åÉsssÙ¹s'ß}·ž³çÎÄ 7ß,÷zàIãqz¦ýë~!;wîL~~>–––•J'×¢Óè‘ËåØØØ”øªV|^ŠÁ` Í³ÏòQ³F8»º`aãŠL¡@j,p8Ÿ„¶%Pù;Ï>û,›7ofðàÁ¤§§3vìX¼½½Ù¼y3 ,`Þ¼yàççgâ6ønV¬XÁŒ3XµjP4†oÅ]cÙÃÂÂÊÍC T•JŨ·G1vÜ8f̘nô¢W'''ðöö >>GGG£ÜÙÙÙDžpÕô!ªT’ŸŸoœÌ‘‘Qáòùûû• ”ɪt­†Rz…[·iCë6mX°`{öìaýúõLö/¿Ü“–ð´¸wï^yålmí˜8ñ]c¸««+¿þú nnn&ñ‹Ÿ³¬ýòŠËÌÌÍ3f4£F½ÍìÙ³0377¦¹ýßÙÙ™+qqÆ5¤._‰ÃÉÉÉ(wqq1‘_‰‹7I¯T*ÉÍË3ÖWzzF™eß¿?6l`÷î=´oߎ‘£FÒ³gOã}d¸ÏI @ð8q÷3M­VÓ»wo/^LóæÍá§NbêÔ©üðÃm˜×#q\_Yã@§—SÃÎŽ””~ˆŒD¯ÓSÔ"!»­TEöd2$ƒ„™¬è«A!3çRYX ³P¢”ÉMŒšâ_¤ÀÏÏèèh“0___¾úê« —ß××—ï¿ÿ¾Ü8å —Ucâ»ï2ñÝwË”÷íÈÌ> tùrfÌœIPÐyý‚‚˜5k6Ë—/C’$f~0Ó$}V®\ŸqcÉÊÊbÆÌ*\¶7¾Éì9søhî\>˜5›Ý»›Ä©èB÷òšbnnN`` ¤¤¤°yóf¦OŸÁ6‰çææÆž={èÕ«7:ŽÉ“'0|øp‚ƒ'°hÑ"êÖ­Ã… øôÓOM|âßí ¦´2–W~(š¯Rf~AAA¼÷Þû¬Zµ€÷Þ›F¿~ýŒòþýû3}ú V®\$I¼÷Þ{&é›6mÂòå¡L˜ÌÍ›7yÿýéežkÆŒ™¼ùæ@þïÿþ''§ ]‡@ <©ÜýlS©T 2„ÀÀ¾lݺ•–-[}’~ýúñÑGsQ©TíyøÄ,Ô-'{†¾9€FõÝiØ ¾Þîøx¹P×Ã…z.¸;ÚRÛÙ×Z68ÚZS£¦Ö6Ô°Paaæfò23y±c'´-’L42AugæŒ899ѺÍ3´nó ®®.Ì(6ù{úô÷±µ³£y‹–tz®s‰¹K—.eÏÞ=xy×§ç˯ЩSÇ Ÿ{Р7qssã™gÛÒ4 ùùù,Z´°Š KÅ]é:991nÜ8>Tª‹]WWWvïŽdãÆ,\¸I’ ™H»vmyõÕWqqqeĈ‘ôêÕ«T÷¼Å÷+âê·<ÙÝòY³>ÀÙÙ‰æÍ[мy \]]ùàƒ™FùÌ™3°³³Ãß¿ mÛ¶£cÇŽ&é—/e÷îH<<êн{ž{®S™e?tèwÆŽ‹£££pE*6±‰­ZºiÊ›ÿé|Tfr†¼Ù½^†„¡h.‰A‰¤× ÓêÐèƒD¡^ºBôÇ!7?‹˜³qõð$ À8S ž††E(@ xXÊ¿Ég Ìz&HEž¾[·ŽðÏÃIJJ&99é–v‹)šÛ! iS Ù¾c‡qMј ‚§§aÏ4@ å‘ 2¿³ŽÁ ÁƒTÁ‰:¥!«âz@ð8Z(’Á ô ‚ª5#Q¢Õ!O.2™ …BŽÞ =(@ ¨4 66ñÂù Ðëõ(Š*wE žd°µµçZÂUœ]œ…B@ðÈÉHOÇÞ¾–0P´Õ·çÇ=<|æÍ z5KKK¡@ðø( þþ;ömži‹££ …\(F àÚ@ZZ*ž8Nóæ-033ʃbêS¹‘q«Vì9°‡}¿ïãË_ łǹ\Ž›«;š&NŸþ>&]T’$‘Ÿ—Ï?7þÃ(@ a Ü —.$dfæVæü}êoÎEŸ#ûf6fæf˜[˜S_€N«CS¨Á¦¦ …êB.ž½ÈÙ?ÏbfiÆÇŸ}̘‰c0”±°»»»ÉñùóçiÑ¢Ÿþ¹1,66–‘#GâïïO½zõèÙ³'‘‘‘e–ýòåË 8|||8p —/_69çÝ[Æ ËÌoß¾}¼þúëx{{ãïïÏøñãIKK+q··ÊR™4îîîtéÒ¥„Ñ'I;w®Òù$ÅõàëëËo¼ÁÅ‹Mâüý÷ß <___|}}þøcÂÃÃÑjµ|úé§|øá‡¬X±¢BåÌÎÎæ«¯¾Âßßßöûï¿3sæÌqûöíËš5kªtÁ½0èõ¤¦¦ÅóÏ?§W}£C@ þMôz=q—/qàÀJuëz"¯B›T- ”Ö­9} 3+3òrò(È+0Ê ò °®aMàÐ@ hÁ™¸‹q¤ÜHA2H +k+jÚ×Ä 5`omO`¯À2Ï7fÌ>ÿüóÆ @ff&•*ÿܹséÓ§K–,І]íÚµ«äK‹Á@xx8k×®­pÞgÏžeΜ9|÷ÝwUÖoiÃÀî»{ÚÝ–÷èÑ£Yµj¬X±‚1cÆ”ð£½aÃÖ¯_››3fÌ [·nFeçÎl۶ͨß9sæðóÏ?Óï߿߸oiiÉôéÓyæ™g*u}ÎÎÎ&ºÏÈÈÀÉÉ©D'''222ªtAEƒÓ'Oѵ[7¼¼ê …à‘¡P(ðiÐ…ÒŒ#‡áâì‚¥µµ0P*€~8vâ97sptuĦ¾ 2™¬è%35ƒËç/£×é‘+ääåæáìæŒWƒ¢ù’$QW@zJ:zµžiã¦afVöÚ‹-bêÔ©ÔªU‹¶mÛšÈìííIOOÇÅÅ¥Âe áµ×^ãí·ßŠæ Lœ8‘7šÄûᇨ_¿>¾¾¾Ê÷?þ`âĉ¬^½šúõ«þ’s·ñáîî^®AR¯½öK–,aÇŽœ?žˆˆˆq’’’èܹ³IØí:HIIÁÃÃÃx\§N“¸'Nœ`Þ¼yœ={–‚‚‚é‹"ÅËŸ˜˜ˆ$I$$$0yòdΞ=kÌÛÞÞžÔÔÔ=V©©©ÔªU«J×)Ü I’ÈÌÌ nÝzB@ x,ð¨S—›Y™hu:,«¾Z(Ó?œN-Z¨,T%dµœjqùüe"–F`nnN~^>mŸokòlec…•ƒLDxövö¥C`ooÏðáÃYºt)=zô0Ê:vìHdd$#FŒ¨pÙ;Æ×_m2¥qãÆ%â­\¹’yóæU(Ï;w2wî\"""hÖ¬Ù#¯•Jň#˜0aï½÷žñZ‹ãââ®]»Ê¾æääÄõë×ñôôàÚµk&òÑ£G3{ölžþyjÔ¨Ann.5*ÓкÛªW¯aaa¼üòËtêÔ :uêÄöíÛ;v¬IüíÛ·Ó±cÇ*]§@P  …BLA¥9rø mÛw2ùP{¿(•Ê[Ž[ UJ_íÆ“h4 Ô¥'Wþ¾‚£«#J¥I’ðõ÷%6&½^_Ryr95,ˆ‹+÷œ=zô ""‚É“'³iÓ&cøäÉ“Y±bëÖ­#33“ÂÂBNž<ɨQ£ÊÌ«Aƒ¬X±‚¬¬,²²² +áFø×_ÅÒÒ’6mÚ”šGñÞÕ«W3oÞ<6mÚôX'·?~ûì³lÞ¼™… ²jÕ*¼½½Ù¼y3ûöí£}ûö4lØ™3gÒ§OŸ2óY±bG¥eË–´lÙ’'N”˜ØVâ+~Y|ôÑG$&&Ò¥K“u>òòòL šÛFMU×CyÌ3Ï<Ã믿Nýúõ7n/½ô’Q>mÚ4¬­­iÓ¦ ]ºt¡eË–(•w: —,Y‡~ˆ¯½öZ™ÆÜ½4hqÎŽ›6mâÿû-Z´ E‹ìÙ³‡7Þ×°9@ ‚êDµâ5ȧ.ÆÖÉM¡†Ô¤Tär9 ¢²Pqùüejש™¹ñ—âiØ´!þ-ýIˆMàZÜ5œ°²¶¢ §€n»agkWêyî&äççGtt´I˜¯¯/_}õU…ËîëëË÷ß_nœ;v”+¿{Nލì’ª¦½WÜâr¹\Npp0ÁÁÁ¥Æµ´´$,,ÌèÚ766–õë×å/½ô’‰A0|øðJ—¯sçÎ&saüüüîéd 2×)@ ”j@Çv©ã^‡·'¼½«=õ×7ùÒëõäåäW—Édª QY¨ðjà…^¯'3-“¤„$~´ÍZˆ»è1eΜ9„„„ Ñh˜;wn ƒD ¨*ŽN¤§¥>ð¸÷ƒ$I÷=E©T¢Óéž¾†®×õ´ê@ *ÒŽ”Gll,>>>ÿJYª­OS·ÚnXÛXãäêd2%ñr"öŽw&¼×­_—Øs±Æc…B£‹#öö¸8»ˆ»ù1¦N:têÔ‰:P³‚¿Ù IDATfM¦N*”"ÜìÙ³‡µkך<{…ò‘Éd„-£e֤ŧQס.¡‹C‘Ë…ª‚'‰Þ½{“––ÊñãÇ8tø0™™&_èæÏÿ„¤¤$N?ÆñcG¹~=‘O>Y`”òÉÒÓÓˆŽú“û÷ñûï‡Jy7mÚL‡íË\|´ª?~œñãÇãééÉêÕ« "..ŽˆˆºvíZjšÝ»wÓ«W/BCCžò,X@tt4Ç'11 ¦OŸ^æy8ÀHMM%00Ñ£G—[Π  RRR8räˆ1}zz:}ûö5‰7{ölnܸÁùó牉‰áÚµkÌ™s§×{Μ9¤¥¥qéÒ%¢¢¢Ø·o_•u×µkW"""ˆ§oß¾¬ZµŠºuël¼¯àiÅ‚ƒÒ¢…©C¨-ZpðàA,,,Ú¹ÅÀÞR°¶¶&d|ˆP„@ð#—Ë7v¡¡a¬[÷-Ë—‡2~Üø¶nÛÆ®;qr*ê©ødþ|ûöeîÜزu+»vî0Êçϛdz¿þú@Ëj0X±bß~ûM ÙýzëСuëÖeûöí´k×îžñÃÃÃY°`»ví¢uëÖÆðˆˆöìÙƒ‡‡Ç-Ãn>­Zµ*±Óm¨U«“&MbÞ¼y÷¬¯É“'³xñb¶mÛÆ¢E‹˜2eJ‰úÚ´i¿þú«qÈÕ²eËxñÅY¸p!7n4‘/]º??¿ûÒ¡ C‡eèС:tˆ!C†ðù矣ÕjÅM „"gÀ€7X´h[·n#æÜ9Ö•b¤¦¦R¯ž§ñ¸^=ORSï)))xzšÊ4;wîÂÇLJ T9V‹NWò…yßo¿ñÝúï $ €Ao¤OŸ@¬­KŸ‹³tég¼ùæ@š6ASx§û>11“¸2™Ì$Nñ}k+ã±R!G§Ó™ÈïFS¨æ×_cîܹ¬[÷-gΜaã†õÆ4·ÿ'''ãîVÛxìîV›äädãqRRnµ]Mäw—­´r”'ÏÍËc玬ûn=gÏž¥_Pƒ *÷zàIãqz¦•0P>\#jH T‰ =¯‰Ä*•ŠQobì¸q̘1•JU"Ž““ x{yÏŠOÀÑÑÑ(wvv6‘'$\5}ˆ*•äçç'sgddTºœËC—³pÁ‚ûºV C)[·iMë6­Y°`{öìá»ïÖ3eê4^yåeH—.]LâïÝ»——_~;;;Þ}÷]c¸««+¿þú nn¦Þ ‹Ÿ³¬ýòŠËÌÌÍ3f4£F½ÍìÙ³0377¦¹ýßÙÙ™¸øxc}\‰‹ÃÉÉÉ(wqq1‘ÇÅÇ›¤W*•äæåceeiR_¥•}ÿþýlذÈÈÝ´oßžQ£FÒ³gOã}dxDàap÷3M­VÓ«Wo>ýôSš7of ?uê4S¦L!2ò‡‡6Ì«ÄÄ I›A¯çêùƒœø_(±§ö¢-T ½ˆMlØG&¾û.ÉI7xw„Rå}û2óƒHMM%55•3gtgÞC¿  fÍšMZZ©©©Ìü`¦Iú&þþ¬\¹Šüü|nܸÁä)•[oççŸÁÒÒŠgŸ}¶TyE'ÉÕTæfnnN`` ß¿™¨¨?iÒ¤ Ó§O7‰àææÆÞ½{øúëoøôÓ%FÙðáà žÀ•+WÐjµœ={–·ÞzË$miûå…•& !##‰'–* bÚ´÷HII!%%…©S§Ñ¯_?£¼ÿþ¼ÿþtRSSIIIaÚ´÷LÒ7iÒ„åË—“ŸŸObb¢Ñ+í\3fÌ iÓ¦œ<ÍæÍ›èÓ§æææåêYlb›Øž´íN;b®R©:tDGG#IÑÑÑ2tèT*U…ò}0Šø#êçP²oìÇÕY‹.;ŠÿûThEü‰¿ ü=‰Ìœ1'''Z·y†ÖmžÁÕÕ…Å&OŸþ>¶vv4oÑ’NÏu¦C‡&é—.]Êž½{ðò®OÏ—_¡S§Ž•:ÿ²åËÿ®¤â‘““ãÆãðáÃ¥ ®®®ìÞÉÆY¸pá-Ãa"íÚµ¥W¯Þ¸¸¸2bÄzõêõÀ ”{ÉgÍš…³³Íš5§Y³æÔ®íÊ|`”Ïœ9;;[üýýiÛ¶;v4IJdd$îî¼øbwž{î¹2Ë~èÐ!ÆŽ‹£££x‰›ØÄVí I’öµ<_àÆ¥èµjljyÒ¨Ý@Ì-lD @PŒž®wöC"¨w²óµè ƒáÖ µF‡Á •¯UCÅÑ£°tB÷Róß¹‹AÆóÍÚ/èÕ§¯P8 ),dó¦Œ=F¸ÀA¥9{æmÛw"77§Ì8ëÖ­câÄ–-[ÊàÁƒ+”ï×k¿¢÷«¯bkg_ªµkpñŸãy5:mHµ3P²Râ¨ikºX›™¹ ’•‘Å_'þ»‘7)7RÉd4nÞ˜sÑç°s°£ië¦%ò³­eCjòEÜt(óåÜ×­o<çɆƒ ÄþsÇCB·æ®ì?“Ì‘¿ÓŒaWSóøö·¸2ËïlkÁŠÓÑŠêé×ÓItjâ\j½)ä2Ú7v$|Ï¥2ëõËb†H¡VÏîã‰|8( ÌøÓ@©¨>nç—[ eçÑëÌxÃßä¾n6œ¸˜n ÛÿW2›:sõN¯T—¦Îìÿ+™ÁÏ׊à‰G.—c â^A¥iа±Ñ›ïƒBo0 P(¤òtW‚µiqÚRe¶µliШCQ¸z¸b]ÚSGNѨY#œÝJ_!;/§‡&eê­‰§-½Ÿõ`íO—IL/0‘ùÔ®Aä±ÄJé<æZ]šºpè\ Èdtòwâüµ¬RóhY¿—“rÉÊÓV8·š$¤ä•Y¦ªÜMSQ}—ßÞ¿ý_!—QÏņõûŒaÅÝä¥Vµ©ëdMBJÞ®6X©üwž¯^žëO2™ ;;;®]MÀÉÉY(D œŒô4ìík!/e D ”§ûmÍÚÞ 3›ú\Œ¹H-Kòrò(È»c8ä`]ÚÀ¡E/¼ qãH¹‘‚d@VÖVÔ´¯I^žu¡-;–©·AÏ{ñíoq\OË/Y %¹ÚJ½ ï›-‡®e Ükp11»Dš?/eнemš{ÛS»–%?_OÁS\¡Àµ¶M›6åÔÉh²³²Ð‹¹(@ x( ìlíðoÒG,,-Œ¢ÕéŸzåÅüþš¸¡²P•ÕrªÅåó—‰X¹¹9ùyù´}¾­Q.“ɰ²±ÂÓÆŠ:^Îÿ¿¦bnQ£Ôsý“Bvž†·ºy³~_gîLö¾˜˜MO[Þ26*‚—‹ Ÿï¾3å&²à?-KÔÛóÍ\ØòûÕ Õg‹úµl_‡/ÿw‰k©ù寭ÊýQÑ4ÕÇÄÕ–)óq«Á®£×LΩÕéÑþJf`gOvŸHD­ÑU«{^ðtcff†··7îîîètz$I(@ x4Èer”fJ,,­ªœGµâ¥×iQ -Õ8¸ò÷]IO.šdíëïKlL,¾M|KLö‘ËåØÖ²&/óÌ\”šŸ$IüŸÉÿÓ2²‡/;Ž\ãø…¢‰H{O\gBŸÆhuN]É PkÀÝÑŠnÍk³ö§ØRóKÊ,àŵÙ&é–!âÊŒ“z»í¡êJRN©y,݆w??Q”>À•Î.¬Üõ7Éèmy˜“ä+ª²ò³4WàlgÁ•¤\“8·÷9yƒ_NÞ ºÝó‚êBi†•ÒL(B O<Õn’¼\a†VƒÁdñÅü¼|bÏÅâêáJ »è´:T*,¬,¨ã]‡˜“1Ôõ®‹m-Ó•ã³oPÛÖíž“Ê/ÿ“KØ®¿óJCl,”üz*‰”›…„íü›^m=xµmÌÌä$¦åóëÉeæ÷õÏ—yý¹z¼Ð¼hJ\r._ÿrÙ$~·nüRNÅËؾ3˜z(›òE]ÑWØÐ1mLŒ€ á'*a T,^EõQV~¾î5¹r#½^ªÔù…}"@ðX(OÿÛšGÓ>ÄœÞJOG4…R“R‘Ëå4 hˆÊBElÌejש™¹ñ—âiØ´!þ-ýIˆMàZÜ5j9;`mmEZj¶®Í1SY—ª·àUÇMŽÓòùàkÓùI™|¹÷R…Ëž”Y@èÎóåÆY¶=¦\yñrÝ]Æ{ů,•M{/}”—_Cšü}-ˤ.îuþû¹6@ Á¿a TƒµäíÝ›`aãÄù}˨ëíLýÆõC¾ôz=¹9yÆÕãe2…êBT*¼x¡×ëÉLËäò…ëx·Ž­‹oµÐÙ“@£:¶ì?“$êC à©2PªÉ»¹µVV8¹:™„Çž¿Šƒ“½ñ¸nýº\:K“Öþ@‘wGG23 1·²Ã#æ|{J(APm1èuèõb±F@ þ"v5,ÉÊÎ%'7 ôz=’^‹Fè$´: zIV«Ã ×^‹Î:­­N‹N«E£ÎÇÜÂ’ 뾤{Ͼ888ˆ»@ T G'ÒÓRxÜûA’¤ûžƒ¢T*ÑétO_CW‰ëzZu iGÊ#66a ǹ–5ééYt{©?)ÉIè%=2I2Ëdhõ:är9Ɇ"%  # ­†-Zòîè·°­YCÜ@ð/@ x²ˆˆˆ`̘1„‡‡óŸÿüG(·Q(”ܸñ))Iüç?ÃHNI&77Vƒ&GKNr¹Š,Ôš´’d@›e@2HÈl  “¡Ï’PØÈùë¯3XÕ¨Áˆ‘#øúëoÅ]'xuêzÒØÏŸ°+LÒ;8:•8wia¥qéR,ß}[[[lmm™Â¥K±UÊë^²uëVñ÷÷çÔ©S,^¼¸ÌøÑÑÑÔ«W°°"êõzfΜ‰››5kÖdРAäääã›™™™ì¯Y³¬¬¬hݺ5§OŸ.·|S¦L)QžÅ‹3uêÔõõÎ;ïààà€ƒƒ£G.Q_#FŒÀÖÖ–,Yb’¾x9Ë »}þ“'OâççGß¾}Ù¶mFü¸Aµ@­V³víZöìÙC«V­ŒnöìÙÃÚµkMž½ÕÖ@Ñi ë5´êZ¹HŽ:ä98è‘ȶØ!+P‚¢Èˆ¡™ý†C–ÈëQ46 þÑÝu9 o’Z‡B^ú‚4îîîå–%66–‘#GâïïO½zõèÙ³'‘‘‘eÆ¿|ù2ÄÇÇÈåË—M,ÖyóæÑ¸qcüüü˜?¾XpM ¸Oz÷îMZZªqøÔ¡Ã‡ÉÌÌ0ùB0þ'$%%qâø1Ž;Êõë‰|òÉ£ü“OžžFtÔŸØ¿ß?ôÀÊØ½{wBCÃÈÎÎ&++‹å¡¡¼øâ‹TÇgüøñxzz²zõj‚‚‚ˆ‹‹#""‚®]»–šf÷îÝôêÕ‹ÐÐPcwþ‚ ˆŽŽæøñã$&&baaÁôéÓË<ï8pà©©©2zôèrËDJJ GŽ1¦OOO§oß¾&ñfÏžÍ78þ<111\»v9sæåsæÌ!--K—.ž}ûª¬»®]»A||<}ûöeÕªUÔ­[—àà`ã}%O+Þõ}ذa#óç›æ¿se:tèÀÞ½{Ù¾};?ýôC‡ÅÆÆ¦ÌøáááŒ;–]»vñꫯÃ#""X¾|9Ô¨Qƒùóç³cÇŽ2ó ÃÝÝkkk&MšÄ©S§îY_“'O6ö¢,Z´ˆ)S¦”¨¯M›6ñÙgŸáì쌋‹ Ë–-cÓ¦MFùÆMäK—.½ïz²±±aèСüòË/lÙ²…ÈÈH:tk† ÁÃâ¡ÎA9pà]ºt©püýû÷Ó¹sçRe:: ´ŠB NPž«‰N®…DÚ€dÿÉ…0Óéº åäl¤ ¤Ÿ­PçkYJèd^7ÃÐr‹ O¨(K–,aܸq 6ÌÖ²eK¾øâ‹2ÓÄÆÆòÃ? R©˜0a«W¯6Ê¿ÿþ{Þ{ï=\]]xï½÷øôÓOyóÍ7Å*ܼÁ¢E‹Øºu1çαîÛoJÄIMM¥^=Oãq½zž¤¦Þ1 RRRðô4•?(Ææ7^gì˜1@Ñ”qãÆ³më–Jç¥ÓjÑé´%Â÷ýöß­ÿŽÀÀ@ôæ@úô ÄÚºô¹8K—~Æ›o$ i4…wºïñ÷÷7‰+“ÉLâß·±¶2+rt:‰ün4…jÞxý5æÎ˺ußræÌ6nXoLsûrr2înµÇînµINN6'%%áVÛÕD~wÙJ+Gyòܼ>GGGã±³³³‰yŠ®/t#¿  Bù>vÊm#eË–-ôïߟ”èaéß¿?[¶l)×8(ÐëÑétè zdv249zPË9Ê @yrdvdÎz°YÍ[†Ème ‘!!G0`@«¿½}åÈÌ̬ôâŽsçÎeãÆÆ9&›6mâ£>2Êóòò°¶¶¾óåÑÆ†ÜÜ\ñv)<&¾û.ÉI7xw„Rå}û2óƒHMM%55•3gtgÞC¿  fÍšMZZ©©©Ìü`¦Iú&þþ¬\¹Šüü|nܸÁä)S+\¶† °lùr²²²ÈÊÊbé²e4nÔÈ$NE'ÉK¥~º½™››È÷ßo&*êOš4iÂôéÓM⸹¹±wï¾þú>ýt‰Q6|øp‚ƒ'påÊ´Z-gÏžå­·Þ2I[Ú~ya¥ÉBBBÈÈHgâĉ¥Êƒ‚‚˜6í=RRRHIIaêÔiôë×Ï(ïß¿?ï¿?ÔÔTRRR˜6í=“ôMš4aùòåäç瓘˜È»ï¾[fÙg̘AÓ¦M9y2šÍ›7ѧOÌÍÍËÕ³ØÄ&6±=iÛvÄ4\¥R1t艎ŽF’$¢££ dèÐ!¨Tª åûX(e)•1N$ƒ™V‹¾P‚hs”sÒ¡EÒnKdï§BÇ\È“#€D%’Ú€lR ú(ê_d˜·×a=¾õ2$ :UYuÁÞÞžô[_Ü*JHH¯½ö111ÄÄÄп&Nœh”[[[“—wÇsQnnn¹cÄÁƒcæŒ899ѺÍ3´nó ®®.Ì(6ù{úô÷±µ³£y‹–tz®s‰¹K—.eÏÞ=xy×§ç˯ЩSÇ Ÿ{õçŸsä#ø7iŠ“¦?vœÏW^Å+©xcäääĸqã8|øp©†‚««+»wG²qãF.\xËp˜H»vméÕ«7..®Œ1‚^½z=på^òY³fáììD³fÍiÖ¬9µk»òÁå3gÎÀÎÎÚ¶mGÇŽMÒ‡……‰»»/¾Øçž{®Ì²:tˆ±cÇâèè(^bÄ&6±U;E’$ÌܹséÑã%:wîB/1wî\\á|«Â¿¶Jq#%88˜°°° '2 hÖ[PØ´y– Åx¦’ ”RºÙÎH ÑP ÉР͖#ÙéÑý)G’(ÔhŠ>9V’Ž;Ɉ#*œæØ±c|ýõ×&sP7n\ì+jCNŸ>mlHÏœ9CÆ Å›£@PEî5±¼¸ÜÒÒ’ÐåË ]¾¼Ô¸¬Z¹‚U+ï¸?Þ¸дĺ%Ë-`U^Y4hÀŽÛïëZînX73y8;;sìØQcÞ2™ŒBBBJœ÷î´Å÷KË»¼óÞKna¡",,Ìèþøîr¨T*ÂÃà 7Ê&L6Ê›6mÊÁƒ¦½ùÇ/·ì@P(ëÙ7xð @bâÄ–-[ÊàÁƒúsò_]¨ñ¶‘Ò¥K—{Î9¹›ƒƒ^$½\tÔ™V:Q–Eî…•E6‡Ì¤|Ú#J ôù`Ú8ôrdPƒ¤«Ú¯É“'Ó¯_?T*¯¼ò VVVÄÄİjÕª2'Ê7hЀ+V0räHÖ¬Ycb€ôïߟE‹áããy¯0`€ø¥‚J4,ˆk@ yrE!DuLêLQaÁݧ¢ª †K#@1 tJìɧŸ~ƃ>€µÊŠÇŽÆîP8u2‹ÝF ÅÇŽ¢CÅÏ@™ÎFqé)Ê+ÊÐc¢¬¼Àm4w!„ht:Ï:FXX¸TˆBˆß]QaAAÁuö÷þC(sþ1³IϽ¾EÑ¡¡V÷%QhŠ§Ã‰Ý ¨6ÅN!ŠÆèûî¥ÂRJzÚA"¢ãèÑ£G÷ù !Dkc0èÞ£›~ú‰>}®$4,½^'#„â¢SU‚üSlýy —¥¤üú²ªK @™þ̳ UÆõáòå,~s1¹¹yäååV¯pƧGŠ×4èѽ;6›Oÿóâââ~].C!Z7½Á@DÛHºwïή;(+-E‘¾(B!~ƒÀ€@ºvëFhHžçðæÞV ˜=Ì®Ÿï5Š{F:ç}étò-£¢õ3™LÄÇÇ…Ó© i !„ø}èuzŒ&#ž^Þç¼£T£B´~£ o£I*B!Dër¤ „B!„-…ÜA©…¢(¬ûrßýø—õ¸Œ;†Ý×9>C'„B!„å¼<=íirŠrðöófÝÆulø~ÿ\ðO©!„B!$@i>Š¢0oñ<¶íÚ†¦jor>>Ljj*×^{-ßÿ=Ìž=›5kÖÔ¹ÍØ±céÝ»7Û·ogûöíôìÙ“qãÆ¹Ò—/_ÎæÍ›Ù°aëׯgÓ¦M¬X±¢iõ“Mvv6Û·o窫®b„ n骪²lÙ2f̘Á|PkpæååÅW_}å¶ìË/¿ÄÛ»þE¿úê+ì¶ìí·ßæ±ÇcïÞ½lܸÿ&•ù|Ó›CCe²Ùl˜L¦FÏ7ưaÃ$@ù£(v;{öìæÍÅ œþ¹äMvïÙ…¯Ÿÿ%Q7Íyx©_\>ÿ÷¿óòË/QX/õ!íF PÎÕþû1˜ nËL&’z$ÁÞ­{Q…S9§8qôF“‘};ö¡ÓëèÞ»;Þ¾îÙÞþÞìܽ³ÉùxõÕW?~<÷ß?ÁÁÁ˜ÍfRRRX²dIÛdff2aÂ`âĉdffºÒW¯^ÍäÉ“‰ˆˆ ""‚É“'³jÕªsª'ÆŽ[ãÊúõë dôèѱaÆÛŽ7®ÆÝ•… 2~üøz¹{÷nzõêå¶lÅŠ 8BCC™>}:[·nmt™Ï7`Ù²e\qÅÄÅÅqà 7––v^m°¾2Ù¯äôTß|có˜’’ÂÎ;åïLÓ46oú‘çgÎáŹ¯Õ:ýmÊt:vîγÏÍd˦Ÿðð05xuõ5}k½#zÕÕ×´š‹¬ÓÏ­mßÍqQ|zjŸÀè‡r»{{NS÷ïçúë®;çú8݆.µ öÖÔn„å"ˆo¦ÔþO@pI=’ØóóBÛ„›Ë®M»‹#*®öG“¬•VºtîÒä|üðà 6¬IÛ\ýõ,\¸²²2JKKY¸p!×ñ‡!##ƒääd×|=ÈÈÈ8§z*++cÑ¢EtíÚÕmùûï¿Ï<Àý÷ßÏÒ¥Kkl;dÈ \Ý?ýôÅÅÅÜ|óÍõ3??Ÿ6mÚÔ»Îwß}çÄ4TæóM‡êNékÖ¬aÿþýÜtÓMüío» mòÌ2îWrúNVCóÍcdd$yyyò‰÷§( žžžµ¦?~œaÆ1mÚ4vìØ¢(Ú§·—_žu÷mÝ_àÓÀQÑr/Œ òùyËfÌfž|êüÞHiµZ›|G·¶ u¹`B\òJï½É9’CA^Ç2q`÷·ÉÇχÛî»A·¢Sr'ŽŠ‹‹ iÒ63fÌà£>rõ—X¹r%3gÎt¥WVVâãããš÷õõ¥¢¢¢IÇ8ýÍ|çÎY¶lo¾ù¦+íØ±cìÚµ‹Ûn«.ï­·ÞÊ®]»ÈÊÊroTz==ö˜ë.Ê‚ ;v¬Û‹j£iFcÝC󤥥ñüóÏóòË/7ºÌç›0gÎÚ¶m‹··7cÇŽ=ï;( •é\4gEëW^^ΨQ£8räÏ>û,W_}u£·}üñ Ì›7ßmÙ¼yó™8ññªOLšD»öñ´kϤ'ŸÄjµºÒm6ŸHLl»teþYo–kJEQxá…Y$uêLtL,Cy=Ÿugî'$4Œ÷–.岞)D´¤ÿ€ìÝ»·Îm›’ï†òõõ×_sMßk‰hÉe=SøàƒåÞ6$4Œwß{”^½iÅ5}¯eóæÍ¬X±‚+úôq•%==½Qç5,,Œ9sfóí·ßºcñâ7éÞ#™Ð°ðÏë™w?šz'¤1ç{ÞüùtêÜ…˜Ø8Ÿ8›ÍÖ¤ú:»,õÕ¿Ãá`ÚôétLêD|B" º?P_›©íXÉß…,kSÚ´ ´Pwßy7(P^RNpX0I=’è”܉NɈKŒÃép¢84M£²¢’ðÈpºõêF÷˻ӭW7ÚÆ´Åj±RU^ŘƜӷGAAA6í5Å“&Mbøðᤧ§“žžNjj*O<ñ„+ÝÇLJÊÊJ×|EE¾¾¾M:Fvv6'NœàÇ$>>ÞíBwÙ²e‘@TT ±lÙ²û>|8»víâ?ÿùû÷ï'55µÁc‡‡‡“““SkÚO?ýÄèÑ£Y¼x1 .óù¦Ÿ>W§yyyÕûÍóÙbÕ§®2‹†òxòäIÂÃÃåïqf›˜9s&™™™<óÌ3nýã–[n¡  ŸŸþ€~ü‘ââ"†zVü"¹¹¹lýy ?oÙ̉Ù¼øâK®ô_|‰ÂÂvl߯Æo7ðý÷?œsù^ý víÞ͆õß°:žž^Ìœ1³ÑÛÿøã|±îÿ8”ù Cn¤'Ÿªsݦ仡|?g&ÿcGðùÚÏØ¶}[“Ê´qãw¬ýl ‡2!õÎ;¹ëî‘|õõ×|úÉ'>”É­Ãn­·,gÓét5–mß± ë¿¡ ÿTƒçõÌ»ÍqdÓ¦M|ÿÝFvlßF~~>/½ôr“êëì²ÔWÿ/ÏË|»a=;wlçdÎÉ&µ™³ÕÔ6z¾emJ›B”jÊß§Lû¤öøø¹}H‡W[òú{|0ï²fÓ>ÆíÝÛ×›˜øb;Å2ë•Y—79}ûö­÷]µÙ²e 'Nt냲eËWzRR»wïvÍïÙ³‡¤¤¤&çM§ÓÑ®];æÏŸÏ”)S¨¨¨Àjµ²jÕ*6oÞìö¸Ñ¦M›X¹r¥Û7¥f³™‡zˆ‰'òðÃc6›VSÛèù–µ)mZ PZ »ÝN•µ ³gí̇&4"£Ñˆ¦itèÚÌôÌZ¿5×ëõxúyräè‘&çã©§žbÁ‚,_¾œââbl6;wîd̘1unÓ±cG,X@ii)¥¥¥ÌŸ?ßíb:55•¹sç’››Knn.sçÎeĈnûhÊÀƒ‘‘‘\qÅ|ú駬Y³†””bbbÜÖ‰%99™Ï>û¬Æö&L ++«ÁÎñ§ 4¨Æ~Þzë-fÏžÍÊ•+ÝúŠ4¶Ìç›Þ*SsX»v-ƒ ’O¼KDvv6wÞy'YYY<ÿüó˜Íf^zé¥sÞßÝwßÅÎ;ù÷¿?!}ß>æïH~~>íÚŹæÛµ‹#?ÿ·oÕO:E\œ{ú¹ÊÉÉáÊ+¯r=ZÔ¹KW·c5äÌ;ŽÞÞÞõ¾n¹)ùn(_K—¾Ç† ßÒ¯ÿzõ¾œÿ~ùe“Êì–ïÚ–5ôêèÓûï}ùTVVòê«ÿpKoѤóڜά÷¸¸XN:Õ¤ú:»,õÕ^^^½ç¶¡6sö±šÚFÏ·¬MiÓB´ÆK­ÀôTUuûÐRi!s_&Ñøúát81{šñôö$&>†ôéÄÆÇà¶?[¥øöñu¯¶€ ;;›øøxV­ZÅK/½ÄìÙ³©ªª¢K—.õ>~±`Á¦NêêÛÑ«W/·Âï½÷^²²²0`£FbäÈ‘®ô­[·rùå—7©¾î¹ç^|ñEt:O?ýt­ëÜwß}¼ñÆç}a?dÈf̘Á‘#G\c¡œîcÓ¿·u<ˆOƒe>ßôæÐP™.´Ã‡³mÛ6.\(Ÿx—€û©S§rÕUWÕ/´8ó¨©Ìf3cøñã™:uJ­wDÃÂÂ8vìññÕŸ‡GsûF9<<Ü-ýØ1÷¾kF£‹Åâºð.**ª3?mÚ´áËÿ~AÛ¶m›½>ÊwSò•Ò³'~¸MÓøúëoøËá¦}û.j™šú(VCçõœ/>q¾ÏËwÜîJ¿óŽ;˜>ý9 ÈÏÏçÙiϺmß­kW.\„Åb!''‡§þZ÷gÕƒ<À¤'ŸäÈ‘#8NÒÓÓyø”±6 å»)ùóÈ#dddàp8Ð4 §Sù]ÊÔ ×sÕ˜ó}ºÞ ˜6m:©wÞy^õU_ýß}÷]<3e 'Ož¤´´”g§M;¯ò55º¬BH€Ò õ½ª/ó^žG^Vè ¡s’;aö4£( •啸úûbö4£Óé°YmèõzÚwlOçË:cò0‘{,—©OLeü#ã[M¹W¯^Í5×\Ó¢óøøãóî»ïÊoæôî»ïžSßÑúƒ”_|‘>}ú¸îH6§g§N%,¬úѡޗ_ADD¦N™âJŸ2幬g ×þ©_Ï¢×_u_¬£}|ƒoµ×ö­óXùËDúôéÃíwÜItL,<úCnÒ,åj(ßMÉ×à›sÿýÇŒ™3ysñ¢ß¥Lò¼ž«Æœï>Wö¡ïµ¢gJ/‚‚ƒyæ™ÉçU_õÕÿßž~šŽ;ð§~ýIéÕ›è¨èó*_Sów¡Ë*Dk§{|ÜcÚ¼…‹)*¬¬)8$ô’(¸Ãáà®ï"*Ñý¬¬ƒYèŒ:bâ«ûZX«¬J?D×^îãœÊ:Åë³_'²m¤´"!~uúsàó5ŸÒ½G2& C£÷±uËf†ÞZû7´_|þ÷Ü?šeï.©sKUyYKÞ^Ì´ç_p åÔ©S5ÞàfµZ™5c:ae¥¥RyB!.ºÏ×|Êu7ÜÈ·ß|Íà¡ÕcfŸ8Î’·ß¾ôú œf2™ˆlIYIþþägçM±õ··ryzybö2“•™ELB :K¥³Ñ,Á‰¢ÅÐétô¹êjfÏ|®Á²F£‘+¯¾¦Ö×Ì !„¿7ã¥\ø—g¾Ì”¿O!çpŠ¢0ôÆ¡\så5>ž®]»2a ]æóMogÖóé)))É•~àÀØèù†$$$лwoþ÷¿ÿÉ'žB!$@ii²Of³m×6"ÚEÐ6®-Ýzw£c·Žädå±7EQˆjENVyÙy´i À‰#'8˜vèvÑt¿¼;ÑñфDŽSj-åó/>or>>Ljj*×^{-ßÿ=Ìž=›5kÖÔ¹ÍØ±céÝ»7Û·ogûöíôìÙ“qãÆ¹Ò—/_ÎæÍ›Ù°aëׯgÓ¦M¬X±¢iõ“Mvv6Û·o窫®b„ n骪²lÙ2f̘Á|PkpæååÅW_}å¶ìË/¿ÄÛÛ»ÞcõÕW <ØmÙÛo¿Íc=ÆÞ½{Ù¸q#þþþM*óù¦7KüµŽOOÏ?ÿ<£Fr¥Ûl6L&S£çcذa !„B”–hÿýÌ·e&I=’ˆˆŠ`ïÖ½(ŠÂ©œSœ8z£ÉȾûÐéutïÝo_÷‹loovîÞÙä|¼ú꫌?žû￟àà`Ìf3))),Y²¤Îm233™0a0qâD233]é«W¯fòäÉDDDÁäÉ“YµjÕ9Õ“¿¿?cÇŽ­qeýúõ2zôh‚‚‚ذaCmÇWãîÊÂ… ?~|½Çܽ{7½zõr[¶bÅ ˆ¡¡¡LŸ>­[·6ºÌç›°lÙ2®¸â âââ¸á†HKK»`íÑn·óî»ïòðøõ+9=Õ7ߨ<¦¤¤°sçNùÄB!„(-M|ûx4¥öGx‚Hê‘ÄžŸ÷Ú&”Ø„XvmÚEXDQqµ?šd­´Ò¥s—&çã‡~`ذaMÚæúë¯gáÂ…”••QZZÊÂ… ¹îºë\é$''»æ{ôèAFFÆ9ÕSYY‹-¢k×®nËßÿ}xàî¿ÿ~–.]ZcÛ!C†PPPà $~úé'Š‹‹¹ùæ›ë=f~~>mÚ´©wï¾ûÎ-ˆi¨Ìç›ÕÒ׬YÃþýû¹é¦›øÛßþvÁÚãÇÌÕW_MÛ¶ÕwêN÷+9óK}óÍcdd$yyyò‰'„Bˆï’%¾}<½{ôfËŽ-˜¼MT–WRUù[çá*K>~>Üvßm Ž<©œShª:ðöñÆ?ÈÕ¡äÄmCokr>Š‹‹ iÒ63fÌàÖ[oåÕW_ª¿Eÿì³Ï\é•••øøø¸æ}}}©¨¨hÒ1ÎüV><<ÜmÿÇŽc×®]®»<·Þz+³fÍ"++‹ØØØß¢^½žÇ{ŒE‹ñÞ{ï±`ÁÆŽëö¢Úhš†ÑXw“LKKãùçŸçÃ?lt™Ï7`Μ9U¿ímìØ±¼ñƤ-ªªÊâÅ‹y÷ÝwÏ{_Í•G!„Bˆ‹í’ì$÷wƒå%凓Ô#‰NÉè”܉¸Ä8œ'ŠSAÓ4*+* §[¯nt¿¼;Ýzu£mL[¬+UåUŒy`L“ûQXØ´×Oš4‰áÇ“žžNzz:©©©<ñÄ®t*++]óøúú6éÙÙÙœ8q‚ü‘øøx·G…–-[FQQ DEE‘@QQË–-«±Ÿádzk×.þóŸÿ°ÿ~RSSÆ•®Óéðöõ&&>†ØN±ÌzeÅ%ÅMÎCß¾}ë}cWm¶lÙÂĉÝú lٲŕž””ÄîÝ»]ó{öìq{;Tcét:ÚµkÇüùó™2e X­VV­ZÅæÍ›Ý7Ú´i+W®ÄjµºíÃl6óÐC1qâD~øaÌfsƒÇMNNfÇŽ5–¯Y³† &°dÉzöìé–ÖP™Ï7½©Î~«>é—s¡ìر£FÝ !„BH€ÒØívª¬U˜=k¿`>|à0¡¡F4M£C×d¦gÖú­¹^¯ÇÓÏ“#G49O=õ ,`ùòåc³Ùعs'cÆŒ©s›Ž;²`ÁJKK)--eþüùnÓ©©©Ì;—ÜÜ\rss™;w.#FŒpÛGSŒŒŒäŠ+®àÓO?eÍš5¤¤¤ã¶Nll,ÉÉÉn‚6a²²²}>hРûyë­·˜={6+W®të+ÒØ2Ÿozsùæ›oðòòâòË/¿(í~íÚµ 4H>ñ„BÑâ]r}P<<<0è ¨ªêÖ'ÂRi!s_&Ñøúát81{šñôö$&>†ôéÄÆÇà¶?[¥øöñu¯¶€ ;;›øøxV­ZÅK/½ÄìÙ³©ªª¢K—.n¯Ð=Û‚ ˜:uªë Y½zõr!üÞ{ï%++‹0jÔ(FŽéJߺuk“/ˆï¹ç^|ñEt:O?ýt­ëÜwß}¼ñÆç}a?dÈf̘Á‘#G\c¡Ìœ9€þýû»­{ðàA|||,óù¦7—ùóç×{®/¤Ã‡³mÛ6.\(ŸxB!„hñt{L›·p1E…Ճ߇„þá ýæxeÞ+„`·ÙÉÏÍG¯×Ó>©=fO3‡ö¢MTL&Žþr”¤îI¨ªÊ±ÌcT–W‚·7UåUô¿ª?ãß*Ê=|øpžxâ ®¹æš›Çùóç³sçÎ Òq\T=z4)))5Æ´i§?G>_ó)Ý{$còðÀ`04z[·lf護ךöÅçŸqÏý£Yöî’:×B!DË÷ùšO¹î†ùö›¯<´úͶÙ'޳äí·/½;(}¯êKLT L|„ ˆ :'¸ùR…ÊòJ×èñ:›Õ†ÙÓLûŽíQ…â‚bråòòÌ—é™Üzžë_½zu‹Ïãã?.¿±˜{B!„hMô—jÁ#ÛFâãëCXD˜[”ìCÙ…þöF¤Ø„X2÷ý6¢Á` ´M(A!A´ o#-H!„B PΟÉd"²M$e%e®eùÙùDGD»ïéå‰ÙËLVfšV=À£¥Ò‚Ùh&²m¤´ !„B!$@¹0^žù2¦rç’ýK67\{›ˆjWÝÖ ä¦þ7‘ýK6¹‡sñpxðúK¯KëB!„â3^Ê…÷ññaÞ+óÜ–iš†·‡7%…%PY^ Nxtô£Œ}x¬´!„B!š‘^ªÀN§cþ+óIIJ¡àh±!±Ì{ežÛ+‰…B!„ÍÃ(UP““&L’ŠB!„â"“ÛB!„B P„B!„âl­ê¯Ã‡Ò‰j„Fu_‹Õ^¯ÃáPP»ÝŽ¢ihN+(J:,N œvì'N§“cÇŽqÏýÊÙB!„B”ssôèAý¼(-+§¢¢EÕPT MÓp8œhØìvМ'ŠâDS8=§MÓ¨ª²¢8xzz±bù{Ü8xÁ!!Ò „B!„¥i‚¼),,fÐÍ©œ<™ Õ÷QÐëu¨šŠ®úÖ šª¡ª ŠV=ž‰¦j®½R.cü؇ðóó• „B!„(Mg0ÉÉÍ%//Ÿ‡FßK~þ),+6› »ÍAYy•Øm6ìv;NEqü®**ªª¢ÓU3»vïÅßÏ—1<ÂÒ¥ïK+B!„âR P6nÜH¿~ýÎi[½Ðé1Mxè d:†A§'ïTšz½»ÃŽâ¬LEA£ú°ÓwPœN'š¦áéiFÓ騻g¯´!„B!Z‹ú¯þýû³qãÆsÚÖæPp8ì§ ±YmääæRV^NQQV«•’⩬¬Äìa¦¬¼ 4ªçÍfìv;š¦¢8Øl žžÒ„B!„¸T€ÔÔÔs R”_ï‚Xm6âÚµgáÂ…lݺ•„ø¶mÛæ €–/_έ·ÞJ~A>ïþó]ß<˜ÈÈHV¬XÁ´iÓPU=N4ÕYë±¢££i×®‰‰‰têÔ‰nݺqÙe—‘’’Bll¬ÛºQQQ®élš¦1{öl:wîL—.]˜3gŽë±³ÆlÿÍ7ßpÇwо}{ºvíÊØ±cÉÉÉ‘V+„B!$@¹P>þøãs Rœ'‡‚·7Û·mãúë¯ç“O>áøñãxyy‘››ËܹsIIIá¹çžÃjµŠ¢(ÄÆÅÒ¯_?¢¢¢ˆ‹‹C¯×as€þ×>)g;qâG%33“––ÆÎ;0`¯½öšÛºÙÙÙdgg׺ŸåË—³yóf6lØÀúõëÙ´i+V¬hôöo¾ù&cÆŒa×®]lÙ²…N:ñè£òzd!„B!ÊÓ¯_¿s RœŠŠ°ÙlX,Vî¼óNŠ‹‹9yò$?üð¾¾¾äççc2™ÈÏÏà_ÿúmÂÛðí†oY³f 'NœàСC¨ªŠÓiåðác>þ´iÓèÒ¥ ©©©ÞfõêÕLž<™ˆˆ"""˜ûl“ËXYY‰kÞ××—ŠŠŠ&ïçtÿ”Ö¬Y#­V!„Büaé¯oܸ‘ùóçóí·ß6œ ØQvôz›·lÆÏϻððpV®\IPP£Gæé§Ÿf̘1„‡‡³sçNöØÏG+>¢GrÞ{ï=Ž?h®ÿÕmÉ’%=z”™3gžS}||¨¬¬tÍWTTàëÛôÁ!³³³9pà>ø O>ù¤´Z!„Bñ‡õ»ÜAÙ¸q#©©©|üñÇÅnw¢¨`0س{7÷õ5‘‘‘|øá‡øúúâïïÏ!CˆŠŠÂh4²{÷nN!!!Lš4 ooo¬V+v‡£ÞøäÃ?dÓ¦M¼ýöÛ®›*))‰Ý»w»ËÚ³gIIIç´/???{ì1æÍ›'­V!„Büa]ô;(眨ª‚â´áT F#m#ˆh¢*¢×ëQ…˜˜˜êÁ5 £ÉˆªªX,¼¼¼0›Í(Š‚ªV…R—O>ù„Ï>ûŒE‹a4ž{ —ššÊܹsÉÍÍu½elĈÞ~âĉüòË/8NN:ÅܹséÕ«—´Z!„Bñ‡uÑï œKp )v‡Š¦(èõzœN'ªª¢Óép*Õ#Ä ô:=ªNEÕTª,UèСÓéª;Æëõœîw¢**Ôqcä‰'ž@QjM?óµÀgŽ_rúçÓé÷Þ{/YYY 0€Q£F1räH·}Õ·ý Aƒ;v,$00òæ›oJ«B!„ \(çœT¼|ýðöñ¦¼¢’ÓI44t:v»à `ìÅÅÅMFvfh: N‡ÐˆökàR›¬¬¬Fç«®1Lt:Ó¦McÚ´iç´ý-·ÜÂ-·Ü"­T!„BH€Ò¾ýöÛs NÏ"ÈÏÅó^çdÎIœNª¦¦a·ÚÑX«,(š Ø64›MCÓè°át*T”Y‰ŠŒBUèäü !„Bqé(çœ ½e8Ÿ¯[ƒ¢¯âO}¯Æf·a±X°W”c/.ÅŠóPZHš¦Ã|ò¥mÚþ:°£ƒ°öeà{€‚=)ä–±'3“J‹EZ€B!„—j€r¾ß8”Ýû~fìCãрΓ0yyÍñm»ˆŽÂq$ »ÍŠW`0¹»ö`2PœNV®ÚKi‰£GUšŽò²2,–*iB!„B´ úÖ”YƒÁ@çÄž¬þø|ýƒ°Øl8ì6Ž9ŒÍf%çÄIŽŸ<‰Óé$çèœN;FM‡CU).Ë¥¸âE%ä;Feq1×_½´!„B!ZckËðK¯ÎÁÓàÁ¨»SQ4'@QõÕïæRm8 ‡Š¦ª8UÁbµrÿŸGRn³’¶'¨èX’““yâ‰'¤!„B!ʹ›ú·gf³~¸œ·Þz‹ÜÜ„ŸŸ¯´!š™ªª¨jõ«¿]?k*6›­FšB!D« P #99¹œÊ+à¡Ñ÷’Ÿ ‹ÅŠÝfÃj³SQa¡¼¢›Í†ÃnÇ©(®×«JõÅÏé·víÚ½?_Æ<òK—¾/­@!„B PšF¯Ó@oÀÃÄɩ'íǃèô:òrNa 4bð ,»{¥Mƒ¯ƒMը̯BEÅh4`ò3âéiFÓ騻g¯´!„B!ZÒukɨͩáhT•UQQL—•‘tþg[nÜt¡ýýÉÏ(¤×ÜŽ Ùx5·n»–Ä»bp”:ÑT•ÛìψŸ¯§óÃíP, Š¢`³)xxzJ â"Y³f ÅÅÅnËJJJX·nTŽB!Z_€¢8ª@q :Á#ÁHÖG§ØüX:ÿ½nî& їϤ4£‚=/grâ‹ê;+}\ÆW÷°fÐF<ÃÌxµ5£ª*zœhª³Þc.Z´ˆ˜˜-ZT#-**ªÆTß:gÓ4Ù³gÓ¹sgºtéœ9sÜF¶oÌþ…hM¾üòK†Þr‹+H)..aøð¬_¿A*G!„­/@q*EC§ÅîÄ^âÀVjÇ^æDu¨ §EÁQ¡à(wâ¨pÒqd,'7`/v¢Óëøù…4*ò,Ø ¯g$yUUY¶l3fÌàƒ>¨µovv¶ÛTWzm–/_ÎæÍ›Ù°aëׯgÓ¦M¬X±¢Iû¢5Y°`=zô ÿ€L›>oº‰nݺ1wîËR9B!„hJõ¿»ƒâì2.û{"ý?Já–Ÿ®¡(­{±Ãõ¶. úuÃå Fz½MÑ0y 7êÑ4 §ÓÊáÃÇê<Þúõë dôèѱaÃ…ý–wõêÕLž<™ˆˆ"""˜<ð÷ß?K—.­±N×®]‰‹‹ãÚk¯eþüù¿Ù8$''»æ{ôèAFFÆÛ¿-5HY0>o.^Ì믽*Á‰B!jh5oñªªªÂát`SìX,"‡bð0¢T)8+ìeNBRì⇽ĉ­ÈÁÁw³¸r^7↶¥ª´Š#cøyÖ>,UV§Æé±TÎvìØ1víÚÅ’%K¸õÖ[™5kYYYÄÆÆ¸¹R…ŒŒ žþy ˜1cF£ÊSYY‰kÞ××—ŠŠ ×üùî_ˆ–¤üùÏ#]ã !„B¸]+´¦ÌªŠŠQ¯'ëëÌAÄÜNÒ˜XÒÅšg#ú¦p*WØÅ—€>½Œü0~7±·‡ÓõÑx®:FYv CÓ­öeÙ²e‘@TT ±lÙ²ë ºtéÂÂ… ›ôˆ–•••®ùŠŠ |}}/Øþ…ø½ét:ìv{“¶QÅ5^Q]ÁÜIB!þE©õiŠVsÅaw ( ªQ%o1¿Ü{ #F 0‡xàáÉž—3Ñœš¢á`Âà­Ç#ÈÈÿFoFÁ=žÞجvìG­ñ‰ÕjeÕªUlÞ¼™˜˜×ò¬¬,† Â_ÿúWhh FôšÍ©áæ:ª¢âp8°TZðô÷Àé¬î(¯*ªª¢8kÅðš5kHIIq NbccINNæ³Ï>cĈŒ7މ'’˜˜È‰'˜>}:C‡mtyRSS™;w.‰‰‰Ì;—»ï¾Û•~¾ûâ÷vãÍ7³qÃz¼¼¼‰m×C=ýM4M#/ïGŽáÆ›o®s½Ž;óÃÆ ôìÕ›€À@ ƒT´BÑÊ(ŠBiI éé$§ôj½ЦØQ*š¢`Ðªï”¨Šª é«ßÌeÐ ˜ô&œŠMÓ°YmÕwœ*zMÿëmÕ·MTEý5˜q·téRž~úéZópß}÷ñÆo0bÄÌ„ 8xð aaaÜrË-Lž<Ùmý3Ç.9ýóé¾%÷Þ{/YYY 0€Q£F1räH×úÙ¿-YdÛH®¾º/?þôk×®©÷Ñ,ƒÁ@pHW_ӗȶ‘u®D×É:˜AÚžR¹«(„B´Bz½ž€€ºöH®õŠîñqió.¦¨°@jK!„Bñ»È>qœ%o¿¼ãS!„BÑbH€"„B!„E!„B!ÎV£“üþô4©!„B!ÄEѹK·ú”+¯¾VjI!„BqQ”–× œ½‚B!„B\,ÒE!„B!ŠB!„BH€"„B!„E!„B!$@B!„B´F©!„¢™hv»‡ÃªªR-€^¯Çh2a6›µ¾ª8QMÓ¤òZN‡Á Go0ÊùûŸ? P„Bˆfb©ª¢´¤˜Üœ“”——K…´€àÄÇLJ¶‘Q…àéåYï…«Ãá ûÄ ÒÓÒ(*.’ lç/À?€N;‡‡‡G½ëËùk½çO!„¢8ìv*ÊË9~üÝ»'†Á`Šù©ªF^N6û÷ïÃÏÏl6[íë* ùù§Ø±c; ®}‚œ¿ß™¢(9ô 7nÄ`4‡¾Žs"ç¯uŸ? P„Bˆf`·Û9™}œ=zŽª*8N©˜ßYX›ôz¿ü’Aß¶ýë PEa÷Î] ¼þzÚ·OŠk ‰;a0šØôô oƒ—œ¿?àù“E!„hªªRQQAPpªâ”gà[À  *ÊËÑëë~W¦iÛN*¬…‰Ž‰¥¤´‡Ó‰—œ¿?äù“E!„hÆ Eo0àt:¤2Z½ÁШ—¨ª*µ@&“é׎煮¿?èù“E!„hV\¤»'–Êr,V ŠÃÁdÂÛÓo¿ ¾Í%wåî—œ?qQI€"„B4ˆÒì`ÅE§Ðéõ†`2™p8”–RRZŠÑä‰ÝnÃéTªÿø xx˜q:­˜=<ܶ)++¦Êj!(8N''Oˆ‹ä£¯÷0oÕ&œª š†¦öë§Ç}:2ûÑA !„âE'Íü nEY hA!æc³Y±[äLdt0A®Ç]EÁn·‘}¼œâkæ"NIDAT„„•ááiÂlö$8$Œ¢ÂST”•àç(çOˆ‹À©¨¼öѼðÈuøxšQ4NT Ê,N^|÷ P„BÑzX,•„…GPT˜Éâ‚b*ÊËiŸ€§—^^žÕ߯þúÌ·^¯ÇÓӋȨ(‚‚‚8~ô(¾þþøúùST˜O`P(ù§r%@i¢œœ“,û`•å è ¬wý»v°â£áçëLjw“Ô1I*ñòˉB"ƒÑëu®ÇÐ|<Ù¸+ »ªÃ曢ãºËb¸ÔžRÓKóB!šv&Eub4y`wØÉ=™‡Íf£c—.h@ΉX­6´_©žªG¸/ÌÏG§×Ó¡K¬V+¹'ó°;ìM(ªó¼óµní×Ï……løúnË~Ï©ÑçOÓ=­ûb¡a!tëÖ¯¾þ’ÿ½ºÎu7mÞÄÒ÷ߣgÏžÄÅÅñÁï7éXM™ Ãy¥×5effrÍ5×àååEïÞ½ÉÌÌl¶2œ=5Çù»˜Ó7Ûñà¬ÑéÎè#£i¨8T°;5Š†Ã©aµ;Ðët-¶,Íqþ$@B!š;DÑšwÒë 8ì6¬+ee´OH ²¬Œ’ü|œv;å%%èÝÿ•SUYIei)ÖÊJÚ'$P^ZŠÕbÅa·¡×Î)/_¬]óÛ<àççšÆô}të~Ãï¾ÇµìwšAYYªªRZZJ÷îÝÙ¶}ÿþäãëmÞ²™Vþ‹>}úP^^†Á`ÀÔÀ¨è‹ÑØø‡kÆÇ7ÞHaa!#FŒà©§ž’_÷&XüÉÏü¿U?Qeûm\¤ÓˆªSE§ªCQ¡¤´ü’«' P„BˆæQšuòòò¡¨¨€‚üB¢Ûµ£²¢‚ÒâbœŠ‚‡§'¥%%9r”¬ãÇÉ:~œ£GŽPVV†ÙË‹*«•ÊŠ ¬UUDÇÅQ_HQQ^^>nÇøâóÏê<þ™i7 †Ÿ€Û] ¨(/':.Ž*«•²²ÒVs¥)î¼#•Ý»wcö0W)ݺ±mûV· eóæM|´ò_\qÅ”—•áããËÏ[æ¶a·Õ¹ßÒÒRž|òIñôô$,,Œ;õë×_ð24e0Ñü‘‰'âååÅ•W^É÷ß/¿ìõ°XüåÿcûÁ\&ºÎ=QWÝ.U­:(±+P^iE³—Óµ]h­ûÛ·oC‡%00ÀÀ@†JZZZ½gZZ111¼öÚk-º®¤ŠBѬÑIó¿fØ×ןS§rñõóÇÓÃLÞÉ“8NÌžžTUY±TV—OpHE……;t_??¼½¼¨²TAaaøûàp8«‘oÿÊJKjÍÙi5ÖÑ4EÁd2Re©l…§°qç/::š‰?Á¼ùo’Ò‹’ÒºtîÂÖm?£iQ‘Q¬Xù/.ï}9¥%%øúù³yófFÞ}Ý»÷¨ó8#GŽ$>>ž¯¾úŠ˜˜ŠŠŠøöÛo™5k ¸ e8—WñZ­VüýýùÇ?þÁÚµkyûí·[ä+}[Bž²ó˘ðÚçtJˆfØÀ$̦êVô½Èm½I¯€Á cÐåxæÞ”VÔ(Ç¡C‡4hÿûßùðÃX¹r%7Üpß}÷ 5Ê¿yófRSSyå•W9rd‹~ý²(B!D+§Óé0=ˆŽÅËË‹¨¸8ÊJJ(/-ÅRYI÷”L¦ßþ䇄†âÈÞ;ððð ($¿€<Ìf"c¢©ªª:çW ÿ÷ÿÖrÓ[j,Xõ¯åÜ4ä4Mã`ƲGq:‹hK÷î=0[÷¥IbB¢+HIN¾Œ’Òb:%uâç­[°X,ôîÕ›Ò²|}üØúóÏŒyWö¹²Þ}~ûí·¬\¹___ÂÂÂ>|8Çw­ãp8˜2e ~ø!N§“©S§2iÒ$WúÛo¿Íܹs9yò$]ºtáwÞ!99¹Æ±N¿nªßööÜsÏñÞ{ïQQQÁ-·Ü›o¾‰ŸŸû89/½ô»-oh{“ÉÄÂ… •¯ÖìçôL}ëknì{ã#ø%§‚äv,|fF= :< `60õx™Møz›Ñé °Ô‚¢¨èõî¿3gÎdÒ¤IŒ3Ƶl̘1”––ò /°téR·õ¿þúk|ðAÞÿ}®»îº_gòˆ—BÑŒªo 4§S«Õ†‡Ù„††Él"4¢ FO3Qq±5;AââÑ™Œ„´ Çtz[êNõutj­¯ÃëéŸýÝ–ßxóPFüù^Füù^ü9”y²Ò\7ˆaÿ¿½»Ž¢N8þížîyO2yI/ –‡²ˆ/%èî‰pž âËzÑó¸º-E¼²\ñ<Àòb•uåy[ÇíÊEðuë¨-•–Ú;kE—³D/Æ-ËSyÉ I&Éd2y™™~»?f I AB^x>USÕÌüºû—ß33<Ïtÿº¼¯×Ë‘#‡ÝÇhM²þ>EÊ_Tãv{‰´E¸âŠ+˜sÍ¢Ñ6¼^Ÿýïg,àÁó'7Ýt«V­âàÁƒtwwØæ…^૯¾âÓO?åðáÃÔÖÖöy}ÿþýìß¿Ÿp8̽÷ÞËc=vÞý¾ôÒKTUUqèÐ!êêêðz½¬[·nÀ¹ªªê‚Ö¿~'[ßý‚Š×>`éâ›)ÌÏáH}¶íðÕÉ(ßÔFù¶6Êáº6ŽÔGù¶6·5-|u¼†–áHßœhÄqè÷ƒÁ¾}ûX¾|y¿ý-_¾œ}ûöõynçÎ<úè£ìÙ³g\'R !„„i™=Ûq¥'¡QUróò]'3+ EU{“è¹¢“i <áí_ý'ïþno¿ÇpDÛ"DÛ"ÔÖÔ0{ÎuÒ‚ÄãÝL›^J}m ^¯oBÄãt‘RýE5^¯—††SÔÕ×áõúøüó*Zþ×Ì;oHÛÚ±c%%%¬\¹’¼¼ž¾‚矯Àq>LeåÊËËÙ»·çô¹S§NQTTH2™pÁ` õš¦¹0M³OÛ–ëêê¸êª«úlGQ”~mËË—Q^¾ŒÊÊJyä^yeÓ×?_¿F3~ßWØ÷{𪊑áoûÀÁlß±iS§ÒmÃçõóõ×_ó_¦i´·Ç(™<™>þˆ]»ww{‹-æwÞ¡±±Ó4©©©¡¢¢‚n¸!ÕæÁäé§Ÿ¦¶¶–¶¶6Ö¬YÓçoèï?ßòO~òw<ñÄ|÷Ýw†Á—_~ÉŠ;`[Û¶9pà´þ¹ž»Ôñ»˜‹f±ö¡¹ìüïi·peq.Uaáìn™•ÏÍ3ó¹ñÊ<®›‘ÇìÒ¿ŸéÓËHÏ z)ãÑÛáýÿÉ¡ƒìøõÛ””L%ÚÅïrô»£,[ú¹¹9übÓË”L.!‹Q\\ÌG8ܽäžA·¹fͶlÙ“Oþ”X,FAA> ,ä—¿|+Õ·µk×ðÜsÿļy7á8kÖüã°ŽT ´üÔSOñóŸÿwÞy ̘1ƒgžy¦_Ûôô EaÚ´ilذaØëŸ«_—:~#aîÌ"6=½˜xù=Z£S¹éš2lžù÷_Ø^Q +ÝGQN:å fò£Ù%½…ÖŸÚ”••±gÏ***X·îYæÍ›ÇîÝ»)--pŒçÍ›ÇÞ½{¹ÿþû ‡Ã<ùä“cö;MyâñÇœ /o¢µ¥Y¾á…Bˆ‹$ÖÞÎçUŸ±à¶ÛéîêÑ}uv´cIŽ=Nf(Žƒišx}>²óó1 ƒŽŽœÞ‚CUB™™¸5¦ÆF:¢Q\š†CÏM§–NE×Ý‚é}ö“_0‰Æ†SöáÌ׆²|Z Äç÷÷LÎ7Íž›FÆ»G<>>ú»î¹öhtÀד‰oo߯£«ò¢o¾ù–-¯½Bqq1]]]øýjjjXzÿ_qýõ=G;ŽŸ8ΖW7STXDÒHàõø¨«¯gñ¢EÜ:|p†è­×_cÉÝw“ʼhñiqƒç^ý ÛÅ} ¯ãŸ7ïfÿÆ¿‘ø¡®¶†W·l‘#(B!Äx×ÝÝEn^±ZÂ-äää`;ñîn§NQP\Lfvvꈈã8$ ëëéŒÅP].4]§¥¥…œ¼2³r75¤ ”ýï¿7¤~ܲà/ú!ƒ-§’¶Î:;;ÆìØ產þ°I“&káø¨©9Á¢Ûï`Ê”©466â8€eK`Ûö_1iÒ$::;(((à½}ï1ÿ–[/¨¡A’t€¶¶ÈeýÙ¸—•*¿Gãßþ~!¯ìªâõû{ ©d2u´òôCM]Yoøñž(±—E!„Ù iÄ$Ë2Ñ47¯‡`Z­-­dfea‰xÕ¥aYöÙÝ¢£=†¦i¸tÖÖÁ´4<^𿯲ÌT¿ÿüÖ…L*R_NÕO´ð 9~¡Pˆ¦¦Ft·‡ÚÚ:ܺ’É%„ÃaLÓÄq@Uü>KÝ{~C^^ÝÝÝdgå\ðû$i=g‚~™üF} lÛÆ0 ,ËÂ4M¸e“B:›~£¥¥%ÕNQTTUÁårár¹z>›.º®£ªêâ=Qb/ŠB1Ω.†‘D×ÝdåfaY6ÍÍÍ„22ÈÌÎF×uÎ<‡]Qz.çÊÊ"ÖÞNKK þ@€¬Ü, #‰êrMèÂc). 1ÑûËÛnÇ0 ¹gÉÝ“ˆÇI$$ ,ËÆíÖql‡¼œ–/[NUõçàØ=sP.óbb´ã7LÓÄ0ŒÔãô¿g—Xóã™DZ[±mUUqiZoA¢ë:š¦¡ë:¶eáv»û^¡o‚“E!„ç|^?m‘f²²óhm “‘™†Ïç¥9ÜŒiÛøÓÓñx<©Ç4-‰mÑ6bí1rrsp{u²²simiÂçõËÀ¦òÛ¡%¸éé,½)ñxœD"I2™@×4¼^oꆊ¢àÒ4tM#33“ÒÒRîÞ+§‰Ñ‹ßH8óÔ­³OãšZ†m[©S¼TÕ•:½ë춪ª^Vï)P„Bˆ‘Ì.A‚äó‰F[h„Ie¢ë:†aÌÒÕÝM4ÚÖs3ÆÞ~¨JÏi$¾ Ÿì¼,2BÙ©uZ#alÇÆçJ ½wôú8hšF0$p°,+uL˲ú$›ªª¢iZŸyAbôã7ŠÛíî9bÛ©‡iš©÷‡ã8©Óº\.ªË…ëŒ÷ÉåøþE!„çE!Ê!ÞÝI$ÒŒmš¨. ¯ÇK0ØsƒÀ³Ó¥w½d¢›Hk3¶e¢j>oZ@õŒ óB“ÃÓ ç¹7/…ÉXßÅvfÁáv»‡ØýËóý!ŠB1’ùÑ%ü×ãõãæ©Y^_¯/ IÑàù­Œ‡ÄOH"„BL g^yGŒ¿Ø¨ªŠíØ’àŽ1–mi¸ÄoüÆO !„b„à`0HsS>¿L8Kº»º¦¥aÛö mzN› Qsò¹¹y2hcHkK3™™Y¨Š*ñ› ñ“E!„º®STT‘Ãß0­´Œ`0Me èèˆqìèfÍžC2‘´ËåbÖ~À?æÆç’“›‡ª*2€£È¶šÃM|z讹öZôsÌãøïøI"„BŒ·ÇCzFWþÙL¾;r„ŽÎŽsþb/FžªªAf^=‹ìœº:;oërQ0©Y³fQýyíÑ(–ÄoT¹\.B!®ºújr²³ñú|¿ ?)P„BˆâõyI¥SXáýÿÇO‡â†‘±dËÎMëõ^Ôн_Ÿ§£\ûõË_Ô©n×Ñšë®Wƒïꆯ\¦s&H«ž|A?zõCíjËWÑô)úxÉiãÚß¹Šjû–jÜÚ¤=ÚTP8B“§«“=üc™ú¿¾$I*ž1Uë7oמƒí>j´Ž+*RÞÎ­Úø¡©ý‡¢1jŒŽ?ñMS7]Égu™—õ^²qìJ.8KW-}4öÚpíãìù`þ¾~—\.—ò 5~ÂDvŽ–Üót,d'†í%÷<­‹>vN—rØç›4t÷Ô»§>Ûôé §œ;OÿqÕ íݺA·ÖÊuÒ,<º@ÑhTá¦úÞi£%IÿlÑ)sOа<—$—FskÆ8·¢Ñ¨ölyGísÎÕ­—NÑ–—_ÖçžÜ λ@w\~¾¦¶ÿA?n÷™G·è{?~ZçÎRÕ—fë‹å—ªñ…—µôž—4â虪úÒiZT>W×þÇkqû8­ã…¹P’º¼Ž{ÏÎ\¨GÜ5¬úåÖ§Bºó*¯^ÿqµþêY=³±]³Žë¸kɨ|—BÛuâð?¶Ð7Ãòóbÿokïx\ûËÁWÓšöLßIR~^Ç<òò\:ÔùÈ÷d󵿨Ê-îãmÍ3Õ|“†îdÍà#ÏjÊìÆ^o{ãԸ׉ïo{ãTIŠý?úOvªúgÝ /ëkûêžkOÖuÿúqzô9ý:ܦS‹Ü:Ö]¨Gþ¹G?ðÕççŽÑ×7iöô ÊwEµO‹>ܶMÇÏ8Ic òôÆþ6>2__ÿnBï ]’æùætÙi§skTkoç)?/ªÖC-Ê/tw™Îš¿}®h4ªwÖoÖÐÑu$°rµžmÜ¥VêÉ»Äî ;zÊqzý¥Wõù¿5èØ£Ç«hú±úú•'éúϯ…ßûsÊï“μSÖEß?­z€4¸RtIŒí–Üótl|+_Û»Ä%›o°áµ¸ù&þÒ Þ¾âÓSÎ×.ϾLü³‡j+P[¯íÿv·cå?þøëí_¢á[ßÕÿõºv·çéÊk/ÑNÚ­×ÞÛ®1Ó=z奔襦C:íÊR}jF›Âo¾¡†×ßÒðê µáÝwtÜÑ£õp݇’¤›®œ¡‰#ò5|ÄÍ:¥H7ßð …ׯK+&{o|~žöµÉåréZïh½þÖf•\ë—ƒ¯ê©e×ê©e×êå૽þþÑhTí¶V’½û)š?\¹ø‚¸ñÞ½¯{?çÓÓFéƒ÷·«aýöŽéÛ[årå©Ð%}ØÚ1ÿ™£óceIgÞ©¦Mçûslà?þ2õg¿˜ÙÞíU¿îÄñó\J{¾KîyZÅsNSñœÓbá;ùÚ÷éiÝ2ÐjÝî)dwݱrF ÿÆ3Cù6êËÔ=‹|ò_åרÿ§‡ß> gNÑŠŸ¬ÖG?6Kþøtå'G©Ð%íÝ»O›·6ko{¡FL>^»_Qßo©ëΩ‡¾W,:¨ð†mª«ÿ‹FO.ÒŽ]o÷¸ÿJöÞñž©úÙ/ÿ¡›ÎÒ5_¸L—Dvê¹ú ¤ÒŒí£QéDÏTÝñß¯êæ«fê+_ù„¾ØÒ¢5õAI%±ñŠ& ×½Ïo×§.9[ߘ>^ÃզͷêÉg^Ñq3<ѲE?®Û¨[>vœ–ÝÞÑEðª¥êôÇô8oÏÑîäÓž8-ëß’¶tÛv&‰A8ièîr——퉔]ç;çôScósú©=¾Ÿl¾qï_ô¹ïDÿåß¾¤Û"]~iεqÝF¬nïN’ø¯}œ_}”µ@Ÿ¬ýÇë’¤¹gþÍHëÞf­[¿E‡$¹§zä9jLgŠkÕŽmª)Ò¢})ª¨òò‡iäÈQ:iÆôØô»v| ­;"Úw Uråkä˜1š4ù(M;<åg¦óÞ¡=M oÜ®=©`ØMœ2Mlz/nœdóéí÷?Ô²C¡Í;´÷`«ò 5aÊ4}¸97Þ¾]ÍúàÃ&íÚ³_í®< 9ZGs¬&îhcÙ½m“ÂîÔ¡¶hüwHcÞ)§ÍÂ÷€dÆ¡?þîq}êÚÏèÝ-M}šÇ˜‘ÃõççžÒ%—_£{ögu¾’t¨µ]/=÷hz÷éNÖÒ¬Õ;±¿7?”ÐWgÌ9µË~$o¤¡Y§Iö1ùš0eª&L™ÚmËÆ˜‰StâÄ))ÇIö™é¼—?j‚N˜9!nžGO8µÇy÷öû癨gNŒñã kèø±FÊï8ê¨c5û¨c»¼ŸÎ¼SN›…ïÉX-Ò4ïîó-?ln‰Í+ñ‰”™žo\Ù­–îðÖæ.¿°÷Óýª˜ŸúÖdÄè‘#4¬ OÏýîq;ó\¹ÇéÕô‘»µyÝ ºèòkt¨µ]{öíÏê|%©½]ñ-ÝÉÙÏÐLƒ2d÷Þý5¢P¥—^­ºÕ«´¹ó(½ôj8ت½¶ûlgk¾vi?‘8Òöì;  ãGëŠO^Û§éjÕž}l¾7§%t Ç4EvçÌ|­þâ3ÇîГü KÈ‚™cwt´t?µìZ57í F€ Ú²y“ª:üDJÙQjÀ˜1c© M»w·ô>tKÒ“ÿ†ÚÒä¿äÒÞ‡îî&Ða̘±Ý6XÓ§È2B7@èÝÝêZ[[õ`õCz/"tÙ°oÿ>ýãµWµùýÍ„n ÆŽ«Ë.¾T¬{Vííí„n öìÝ£ ›6hë[ Ý@6œrÒ)’¤ÍM„n Î8mŽN=åTE£ÑýܪCÉÛï¾­aà tÆisœº'NšÜ«ñ›vlg àˆr¹\2܆šMs@?wдt['™ ÷Ù˜'ެKJ/Ö®]»r#t' ¢„T8Ý?^U›6oÔ§” ØgòCJ )mmmjkØûtX÷’MkŸÕ?ú„êþòw­ßðZ]…š<ýD]pÑ'õÍ[É;²kQþüÿîÕ<­µo…µs_›ÆMœªSÏúˆ®»þ]÷±cãÙû—'ö5·ZÝ{ûùé̳§–ýTÃcïoߪÕUwéÿyZ¯¾³IûZóµãÃ-l YtâŒ5jäÈÁºÏ¸ø3 ïÒ–wþ¡Gßù‡ž®©Õš`N²ßï¼R V¼7…ùáýå™ úË3èº^vaéíç„Gn¸P_­y;öÚ劲dYÝŸêtÞÙçÎÐí=wýÛµºðœb7Å-Ü¥w_û›üÁ7ôë—ÿªÏ÷e½pÏá/ÿõ_‘$]tóýºóó—húQãu e»þùòŸôÿVÞ7ï¦Û{luîíç§3Ïþúú[µøÎŸ«òêMŸ4V.¶€´íÙ³G¿nµZv·¤=;ýûµ{ÏnýóÍ7TýÈ/zõy.—KçÌ;[§œ|ŠsC÷Ë¿ $|²[³Ï¹L?~üxýzú…ÚøôJ¶ÐÛÒÙÏæòy'É0Æ© /Oã§èlÿµ:ÛmÖ? |dÙïõŸ?™- ª~ù°^nx¥OÓ¾ÿÁûzÿƒ÷{=]ý_þ¤{ÿýnMîåí³,t›ëêõÓ•¿Rý ÿPã–mÚ³ÿPÜ“€îŠïJrϧNÒgyK_»ö}=¯PÇÎ8Y³O›« /ºTe æË]àÊêç„–yÙZúèõ·þ©“fŸ¤YsfÉl2µ+²KÇÏ8^{vïQÓ‡Mšî.Ijx±AÅçK’Ö¾°VsÏ{ÿÔ¹§jXá0½¿é}訩Giÿ¾ý ½Ò¬9³$I/ýå%õ‘³t`ÿ­^µZo¾ý–>æÄнí¯wëÌkîÑžn~%ÚÞº3îõÇ\§ÿ7g…þõSzáÕwµiýëÚ´þuýaÕ/uÇg*ð‡]:mtÖ> Ì5Œ­ öï߯ñÆxM6UùùùÊËËÓÔiSe6›Ú·gŸ¦N›*Iz{ÌÛ±ÿ+÷þÑÓŽVaa¡öíݧÂÂBM6U{vïÑ›?ˆ7rÔHM6U”$:t¨×eÐýýŠŸiO[»æþë·uÇõ—ë¤ãÑø1£TçR´m·&MñtÈ5L¿~©>~ýRµÚ­ð;oék_Òï~ýžzéeݸà>½÷ÒmÙûü4 ËséP{T£RaBÃ{ûÁ­l YöþÆ÷µ&²FímíjkkÓ– [´ÓÜ©á#†kû¶Žßåm{›Ö¬^#IŠF£zâžÐ¸ñãtèÐ!ýµî¯Ú¿w¿¢Ñ¨†®wÞ|GÑö¨š¶7ißê}±iÖ¬îøŒ¾ÐýtsG½ì+š4,þÖà<ÿçÏ6F3fŸ©³ÏÔ'¯ý¤ž:æ íÚX%épè.Ìsé`{T{Û£•çÊÈçw7OI:iÄ0½±÷ VíØ§ë&ÇßvfÓng+Ȳc¦£yç΋½>xð ‚ êÜ ÿVïOü“.¼äÂØëþô‚|çùTXX(I ­©°°PÇlÊi¬y¯k}ŸÊ9 Ç9sLǪ¸ó…>Ü¥öh›v}ب§þC•^÷ˤӜqѧuwàQ­}³Q»÷”ÚÛÔ´e½~}ïÍ’¤üÂcãÆ/ÓÑUã?þðšö·Fûýù=ÍS’ÍrK’¾»ð=¿n‹µ·kwÓ&ýöç?ÐÅ‹~ËVI’kÉ ‹£÷=ð š›vÄ 3f¬ž|ü7ò_riÚ3Ku‹½u^çßúû¤ÓÌþ—ûôƯ¿Òeº‰=tNÿÄ×迾tZìuýçháÿ¾×e¼¦Ûûôù=ÍS’Z6ü¯N;û«jiíz©anÅÃZ[õŤóÍö­†‚ÏT|NÓ=Ó5rôáM6i䨑5f”öíÙ§‚aÚ·wŸÆ¹Ç©õP«Zµª½½]#G”+ÏÇår©`XZµª­­M­‡Z5zlüïÛÛÚµþ­õºþ3ÿ&ÿ…¥ieç-›7©*˜î%3¿øK==r¹–UÕhí;›tPÃ5ý¤9ºê³_Ö·¿x‰&w†^»W×üFÿûØ“ªûó‹zë½ÍÚsH?ñhÍ*>WŸºþ+úléIqãìÇÏèö±·éÑ?<¯ðûM:hësÓ—Ïïiž’4öøëôÊ3ºõΕúSð-µ´ê¸æèš/|C·}îMì ÝÈŽ)Ó¦Äu/±w Y÷Ïuš0i‚Ž:ú(IÒ‡|¨mïoÓisOK:¾5NóŽfÍÖ½¤­µMùùjkmÓ¯VþJÑö¨òòóÔÞÖ®GĦioo×{ï¼÷Z’^[ûšUÇ4ííúÕÊ_©½­]ùù’è^€!êÄY'ƺ—Ø»„˜Í¦67nŽ»SIO6oجÝ-»cw.Ù³{Þzý­ØüûÓ½„Ð €œd¸ m|ocìuóöf½òÂ+’¤}{÷i—¹KH{~{wïÕ¡ƒ‡´»e·$©õP«Ì&3nž’4nì8B7††‹.ôë7OÖhÛÖm±÷ìÿ—¤áýþœÆwcÿŸ4q’NŸ}Z¯çAè@Nºêò+5ç´ÓµíÃäó ‡ Ó¬™³4|øpB7†Ž¢éE*š^äørrË@€Ð ºt£Ç>ÝcÆŒ¥–€l„îÝ»[$IO>þj ÈFè–$ÿ%—RC@?ѧ t„nÝHÙ§{â¤ÉÔÐ M;¶÷.tKÒC+ï§æ€~¢{ @èÝÝ¡ t t„n€Ð €Ð ººB7@è@èÝ¡¡p¾ª 3/ZûÿC+ïW0Ø µÁUT–ÇW¨V°ó}Ÿ¯¸Ë´•å±éRÍc Ê_¨Ž½g•5lˆ•Ózo ÊTQY+ÏW{m•'qœl×çâEKôÐÊûcÿOül«næúŠãêÉ>Ūkû÷²¦³ÿ ÖÓdŸŸX¯‰ß!Sõh_÷¬ú°o7½YÎöõÕ¾ÎZuÉïÐÓú–¸Ý'ûÞÙÚ†×Óîê)±ŽRm[öe t¸Äƒ["+ÀØ`U긮=$éò'X«Õ±÷í8ÛaÁª«<ö‚Äð_•¦‚Á†Ž:í¬ûlJV_=±‚O²#µžö4]6O®RÕÇÜĺMc9WT–«"á$"Óa7ÙzšÎvŸí°Ý•å±z³¶¥d'Bm躗8Ô@¶r »héÎ {ëk*áP£$É4#)Ç …e†üþùô¥Ã­×¡P£ªÕòz=*õ—±:µ.Ë›fDÁ`ƒ"fD^¯G¡PXuµõZlß?_oQÒåàóǺHd³KL¦ë+jìv=ÉæzšÉézbµ Z-ÞÖr¶¶K]m½jkëµ°lA¿–󑸚”l»håý]ºqd{Û¶¯§¦‘a¸Øú „nô™uðïî²}(–išÝ†)¯·H>_qì@i…Él³úwZ—ç½Þ¢#ÞÒ^QY® -Œ­ 6È0 ù|Å …Â*õ—t XÉÊ<Á0äõz2Ã[&ë+jT]¨¾ã;ªdÀ×Óî¦ËÖvc±–sb(,õ—( ÷{9¯Íbèž`2 £ËICªí>Ùz”ÀmïÖb­§ö>ÝépÂþrÝKX©¿D•åòö¤=Þ"y¼Eª­]3 7ÙÔœÂ:è÷¥^<Þ¢Œ¶ÎY?HËV€«­]0‡k9÷ey¥³œ­õ<<'Ìkƒ qË/Õv?!Ö©Û3 5´tgPb÷ ë2¹ÔÑ–Ì@´tõU²ò[­w†a¤üN™n½Ø[­ΨÏ`°¡Ë3»«¯Tå³·ŒÚ»Íx½†[¡„.±žz½E:ß³/g{¹³}çšø~¸<ö–b'l7‰ë©×ëQ³ij®¯X‘βé“§Ä;%Û†L3¢p¨1¶Þ¥³?¨+p0XäŸ}æ¼ï_zùÚ·ooÜ€åËïÖŸ¸ŒJÓÖ­Äþ**Ëu`ÿmݺ5öžT9fª íˆÑ1ÇLU©¿D¿{ful¼Ù³gÅÞöˆ kÙ.¿up¶Ê‘¬üÖ{\p^Vº>_q¬^Ž9fjÒz±—ÇoÿþýqË"[õi_fÝ-ïžÊWê/ÑÈ‘#õüó/È0 •úK1#ºà‚óTê/‘KŠ­3µž–úK5êÍ7ߊ-gûtöu%ë]âò²—gäÈš={V¯–³µ­†»Ëçõ÷{Ø×Sk?ÿü Úºõƒ¸å™¸Ýïß¿?£åè®~­;ü¤ª'ÓŒhÿþýÚ¿—uÍ*[²õd öK‹fÏ:5îuË®]Z ʵä†ÅÑûxPÍM;âF˜8i²#ng䊲k®‹{½eó&Uôé²Ð ºB7B7@èR¡Æ.¸vëžÈö{óR¾Þ« Tóp’ Kõ˜x¶õþoO”݃Jmíš}Òd_Ãb(V(vdhtzù—±Q¡P£ãƒw]m½ªÕ±€XW[¯ºÚzÇÖk8Ô¨€­¼lëý[öN]Ö‰'0œÀ tˆ1͈–/[!¯×#¯·¨óÏ£åËV8²¥.lPMÍ*ÍõkÙ²{}õ *P-Ÿ¯X ˨²²\BXF–ý-KoÊØ˜²eaÙ†›à#²ÔÕÖÇþµŸ¤¦5v9™­«­=6lP0Ø ª@uìÿ\É!tŽboí²ïàªÔêiµÀ—úKbï•úKâ^;IÇÉGuµõòûç'-?ú¶®†Bòûç;¶ŒÖ2ÏëgntÙÁàÙŽ×4×W,Ÿ¯Xs}űîmÝ k6M…Bá.džfÓ”a¸åëœ&lˆýßé'¾è¿ªÉØŸFêsГI=Þ"UT–+¸hI,†aUT–;¦Œ C†at ÙzÔw†[·,½)özñ¢%ŽªO»ŠÊr-_¶B55«d†*ZNk]½ëGw8z;ϵ“+·H¦iªÙ4åQ;jd]³iÆö“Ö¿Ö¾<Ù0ÃpÇÞ·~wD˜†…–n ÁÀX,z IDATêú+}º-uµõ±–ï\¦åÀ*õ—Èãíù¤ÏêjÈþ „n ËÁû®Ý‘}ºíëR§[f¬˜ÏW¬‡VÞ;±¡_7'òÚ`B÷â÷ÏÏ©~”N’ }º“)õ—ÄúJ;•Óûr'–Ï;¡)J«Õ šÇ[¤[–Þ¤Ûn½]!Z¼ ÝTrmfõ7¶ÿ8±¢²Ü1Á+jÔm·Þw5Ê0 M0 ÇÖmU Z•åz¬æ -_¶Âñ-ó迊Êòœºˆu÷§þ>Cƒu’t†ÛÑ¿?¡{PË…{÷¢'‰}ºjU:èÄ ‘½/wmíG¶ÌÛï²bø¬ú¥ÏdfêÔéAÇéwƒÁàc5”X!Û4#ª©Y¥ˆI:Ì´½Ÿx\ðrEnÈãî%Gè@‡þñùŠc;6'¶zY}º­VÄŠhå°úr/]ú ÕÖ®QYÙÕŽª[ë.+Uj…'´e®N½!£»éÔÖ®qô‰k8Ô˜²1ÅïŸO¨åéüMNU Z†á–iFäõÞVR kšTºp-¹aqô¾TsÓŽ¸'MŽ»m€¾ˆ­7üÊ®¹.îõ–Í›TÐÒ daHî^²¨òÆý¼•ŸõiºÅ‹– h9ûzõrRNÊI9)'åtB9sE®äE¼ÜsÅJ®Ÿü t„n„n€Ð ººB7@èq®%7,ŽÞ÷ÀƒjnÚ7`â¤ÉƒþiS@&•]s]Üë-›7©* ¥ȶ§(lPÄŒÈm¸1#’¤RI·Ã¡F…BáØx’TW[/¯×#·áV(–$­ 6h®¯X’äõz1# äñIR—ÏË–p¨Q’bŸëDÁ`CÜk_g½Q¾þ•ÙëõÈ0ÜŽ*—iFbÛH"'–7qÙO0 GmK¹^ŸNÝ–(gæCͦ™sûѪ›î²A_²ˆÇ[ÔítöÏsòþ"uØÓ÷íK=IJ™õœT‡yN[HVeù|Åšë+V0Ø p¨±ÛaͦÙå  …Õlš2 ·|Óƒ ±ÿ†[ͦ)Ó4cïÙç™ÍïT«¶vc7–ºÚzÕÕÖ§|MùúVæª@uÊ0v$…BaUªsbGž Ë:U}:qùçʶD9³sʵmk t— úšEzšÎþyöœ2ë°»ïÛ×zê.ë9IÓ’¤X%Y•˜j˜œ­Ö%ÓŒô«‚íóô¨h@vtNl¥©©Yןßç+ÖâEKä¶-#y°…ºeéMŽ,_2Õ<áȰÈé­\ÉÖM'š`±~\èf[§œ±lÙ½ª¨,—ÏW 3¥þUª»=’óFwY¤7ùÆ:Ž5Í!Y‡C±žß§»Ô_’Ö¥cÓŒhù²ýj¥¶‚ûÃÈÚ÷©¬,—×ÁÝJœÎã-REeyΔ·®¶^¡P8§ÊŒÌ¯£Ö%fë2(†§·çBCd"XÓšÝ%¨Ã¡YOƒå‹x½Eòûç+¨Ö]?º#íéB¡ÆØ¥`ÓŒÄú^eë`ìt>_±| -‰áP£ ÃÈêÉHN,ŸÕÂmo•w2úÌfï`c]îtҥΠ†!Ã05ÆöMNßÖsI.\á²·xKλs$¥Ê}mmõx‹äõzT¨Žíüþù±mÏþy‰Ãc¦ú¾ƒ½ž ÓFâñé–¥7é¶[o—¤XGúî†[¦‘ÏWœõPæ"«%¤²²ÜQ+v8Ôë 5:®|¹ÔÂíõz’¶ÌF̈㷉\(g(väÉ—Ç[¤ÊÊrÕ±«oNÜ–¬+uµõ9³¶oÿ·Ýú]$9ÈÛÍUUëDÚþ:¥þ’Ø:lšUªUVvuŸ—«ºËWÝ}ßÁ\OŽÝáP£Ü½h2 wì@’îø•åZ¾lEV[¹ Ü™ Ö†WW[¯ššUª¨,wDKb®ô=¶o‰­ÅNî'o/ÓûóK? tâAÂ4#ª©Y%¿íç´mÉZ?oYzSÇQÎÿmD®]áBÿ÷™k®¾¥;tú8çz=õ7_ ¶zrTŸîľ<ÖA!bëd–ªPÇå‰Þ-ÜŠÊrÕÖ®á×Û9¸“[­‰€“8¹/·µÍØ[ œ¼-UT–Çý9U.ý†ÃïŸÏ1/ËÆÊ)¦Q]m}Zf°éM¾ìõ䨖îľ<‰}¬S ËÄ/Z í…eW«*P=ä[¼¸­{ ;¹¯u÷Š\¹ _.Ôi® …±– ¹Ô½°lAìv¦RÇ•#úóg/ÃHJ™aû*['Eƒ!‹$櫎}c÷ßw°Ö?¬Ɖ­!Noá¶úwÙûˆÕÕÖ+lpÔ%ñd/Z÷£%êtð/{'oë¹¼-±~ö]`€ìJõxB÷(/Ûz½Gý8ÈþÅDN:›L<Óͅ˹UjGŸ‘çJæÒ²·.§:ù€¹PŸÉö¬Ÿ™¯S§íçB7€^…î<ªÈ.B7@èÝÝ¡ t蛪 gáP£‚Á†Ø„"fDRǰ‡Y¼^"fD¡PØÑÊ¡ÀšMS¦ij¡o$É4#ª TËëõtf …;B·Ý„nôŠa¸en5›&•уŋ– èç9ñ©êô鲌–n€ …U¨Ž½öûçwéã=Ôe»z [Ô ÝÌë-REe9¤è^ºœÇ4#2͈&•ѽ Mö~Û¦‘×ë‘Ç[¤æ Ù¥O·Ôѯ;q:û0ú|º`ãóËç+îõ0ŠR¡psž­ÓŒWÖjâ–-’¤¦iÓôÞ¼¹zõâRBw6,ª¼q@?oeàg}š.WnöN9)'夜”“r:¡œ¹"WrH®”3ãvì?ð MÞ°1îýÉ6jò†šñÊZÕV^¯]“&åä:Å)pÄ% ܉áÛøEÎ~?B7ލ9ÏÖu¸íÁ{γu„n ·f¼²6+㺀NÖ&3=.¡BÝ8¢š¦MËʸ„n Ó{óæfe\B7ÐéÕ‹Kµýøé=Ž·ýøé9ûB7ޏÚÊë» ÞÛŸ®ÚÊësöû¹–ܰ8zߪ¹iGÜ€‰“&ú§M û¬'¦¦“-ûóøÞ|N¶”]s]Üë-›7©*pîcà0ô¼zqiÎv!éŽãBw0Ø ˆ‘Ûp+bF$I¥þ’n‡…C …±ñÒg8Ô¨`°Ao‘$uù¼l|7;Ÿ¯Øquïõzdî´Þ?RL3¢P(œtX.”ÓiË=Wê4×–{ârvÚv”+û¥\*k.móèß2^lÐ\_ql›N–Cêjëåõzäñu›m2¥§,”ªìÝå$û:mMç´}n.qTŸîp¨1¶P}¾bÍõ+lP8ÔØí°fÓLy0îi:Ó4åK2,ÓêjëUW[ŸòµTª“Öcª÷”P(¬ª@µã7®dåtârïi]uº\Y?VÎ\_/Xæ\Ýæ­c,zfnù:³‚ÏW žÉrH(V³iv›C2©»,Ô]Ù»+Ÿ5}:û´èGµt7›flŰ¯ ©††;ö~oæ™j:û0Š2Ú:SS³*®‘ÏW¬Å‹–ÈmûŽè\©7{9ºÜíÛÚÚÎÖD§Õ¯‘¢ÎªØú½~:u™çê>4¶y{àtž(TV–Ç®ü¢÷L3"ÓŒt ¤ÉrÈ-KortörRùÇß½¤Ô_2`;kƒ™`¬@°.ßz½*èc஬,Wee¹jZ¼û™!–/[Ñ¥­LavvÛp§—o0ò?¤ …c—M3ëdë g'vðXÍ …´Ȁm¾ŸÛ:æYÁ›ï¾ñz‹ä÷ÏW P­»~tGì}·H^¯GUêXk²ß?ß1uìôòºÃpË4#òùгöJdGbßÉŠÊrÇ—3j䀖uµõ …ÂŽ]æ`ßäômÞã-Š †©ÞCïëõ–¥7é¶[o—¤ØKý%±ŒašUªUVvµcÖ‹,ŸuK?B·C[ ÜYì°onUT–kù²´rwrâ!™\ \Ö”…e 8"e-Üp:N‡6ÃpÇ®¤žße²üN.¡;CìýЬèššU*+»:é0«ÿuw?¦LwºŠÊr=V³J^¯gÈ·xWªåõzb—ÑÿpU Zuµõ\Mé'Z¸䂎.E±üaÝ$1‡8Á@•.:,t'ö+JìcjXsÐŒë›m±ú$u7ýÌnaÙÕ±À™­^ëNmA¶Z¸Ký%òùŠSž©£w­·,½IË—­iFhñî£dw°€5ª¶vMìx™Nßg«Ÿtªl“IÝe¡TeÈòºÆÞ¯(ÝaÖ}#{;ÏÄé²u›ëî Öjy;Oœv׿~¬®<Þ"UV–kÙ²{ÙR2€ï¡Á¾½[Ë™»¬P§<Þ"UT–«"b¿"×]¶É”ž²Pª²§[><úϵä†ÅÑûxPÍM;âLœ4™ Î0§ÿ¸&UtZë¼ýl=ÙIƒÓÊ™Ø"ÝÖ‘#¹X;a'É•åžl{O<SÎÁYÖTÛ<€¡¥ìšëâ^oÙ¼IU¡ûH5ÀÐÝTÍ‘Á­™†Ž<ª t„n„n€Ð ºô · `ˆsêC±Ž¤`°A3"·áVÄŒÄê'jT0Ø{Ɔ}X¢p¨Q¡P8íaÖ“Vy~ÇàDK7`šƒ ]‚•õTß\*÷P5jm°As;­>×W¬`°AáP£šMS¦iÆ»n–¨Ù4 …“~F²a¡PXͦÉ t€îÔÕÖÇZ­';](NÙ;TYÁ×0ܱ}¾â¤ã†[†áîSX6͈ÌΖrº@ í[–Þ¤`°AÕ<¡@ Z••åŽï*P¨VEe9 °¥þ’¤ËÒ Î £O¡{ù²Ž¿‚Ì O75ª¶v$©¶v ÃPmíy½Ƕ"[}ˆ½^ °B¡FUu^Å0ÍHŸûa{½Eòûç+¨Ö]?ºƒŠ%t€žx¼Eª¨,×c5OÄÞ[Xvu¬‹‚ÓX}¹}¾bÇ–Ñ© Ã-ÓŒÈç+î÷ •Ç[¤[–Þ¤Ûn½]’47E7ä>º—!uµõ …ª¨,—×뉵†:}¹{'jŒõ¿¶w%ÊD×Ãp«’.>ƒž#Zº/ZâÈÊyhåý¬!€´CY(Ö-Ko’$-,[ûa¥ƒ-}¹S³úg›f$Öª]S³JeeWÇ×qecUFºy¼Eòr«@B7è94%†Xúrçî²´®TX¡Ûê·Ý<|—ÃpkaÙÕª T§ì×mïÿmñûçSÉ„î#Ë)-ËNmy SèËݽRIÒ“&ëþÜöàm]Ýèiܸ`¯¢.øò@èƒ,P tK’UÞ8 Ÿ·2ð³>M7Эâ}½@9)'夜”“r:¡œ¹"WrÈ@—3Wôµ>³‰»—„n€Ð €Ð ºB7B7@èÝ2εä†ÅÑûxPÍM;âLœ4yÀž6e=EË)O·rZyÊ®¹.îõ–Í›TÐÒ d[U0p‚Á†¸×>_1eíÓŒ( wy߉õ™ª¬’äõzdn–y/ë2±\Á`ƒãê2ê5—ê3UY5*lÇ[”t 6(bFä6ÜŠ˜IR©¿$¶m¥†®uk¯£p¨Q¡P8®¾êjëåõz$)å°Äåt¤ÑÒ=@êjëUW[Ÿò5eM_(VU ºÛ2;¹¬,óÌÖeU :å‰Së—íhpnG¹$lˆûCzšMS¦iÊç+Žû3 ·Â¡F­ 6hnç{s}Å 5v; ÉëÖ^GͦÙe? …ÕlšÝsZºhçVS³*®¸ÏW¬Å‹–Èm¸Õz“ª¬UjyCÎ:k´×›Së3YYY?‡Ÿ¯Xk;C“ëò±š' …uËÒ›Xhƒ\]m½‚Á†XË`]m½"f„V× „FI±«D†áŽmOÖ‰}ûÖî†[†áN+<›fD¦qìOB7z¥¢²œJ‚Ëܺt‡ÁÂB¡0Ûy†ëTr^÷N²³g‚aÄ`:ᓜô‚ôÃè1x›fDË—­Pee¹ãº”ºÑíNÃ0 …CŽ^q‘}|‡Z¸³ÃºÜ]*‚Õà[¶qÝüþùòx‹äñÉëõ¨*P ÝÖ0ô¾nM3ë—Ýì>t{½Eòûç+¨Ö]?ºƒÐÜàñ©²²\@µ¼¶-`ý“ØÕÉõ™ì`âäºDÿÃ!Ûwæùýó{2í³µr›fDUj••]͉vš¼Þ¢”ÛL©¿$Ö‚m¯[¤Ç0Ü2͈|¾â^_ ðx‹tËÒ›tÛ­·K’æ:p}&t’®¸ö3źÚz-_¶B•åŽï/åT¹j¬².^´Ds}Åò¨ÈÑu켯>ú®®¶^ ËPÞæÊqÉëõÐÕ!K²»>ÉáP£ÜãàpUT–kù²}ºûˆa¸c ‡N4$ï^òã÷±°`ÿË¥þ…BaÇß!pRˆuê݉’í—B¡pΔ™ Ü†áæ„+CL3¢ºÚz™·º³÷I¶÷÷¶þ­©Y»-ºî—jk×ÄöKÉêϪÛd'¼^‡žô:¾¥;Êårõ{»¯ßô•>O;vÜèŸ\êÏkÝaaù²2Í,ƒÖ NåÔ.0Îß¾»\¹¶wųNfì}’%Åõ÷N†®û¥…eWÇ®Ä$ö—ïMoBw7V>ô°N>ù$¹\.}ìÂÈåré·OÿNcÇŽ•+Ï¥¹sÏÐØ±cµiÓf…Þ +ªÙ4µ`Á•ºáK_Õµ×.ÔŸÿüW}÷öÛôܳuºø¿$éùç_Ðù矫––ýä'è¼óÎVii‰}ô1=eŠ\y.Íž}Š&Mš4äWöÄÛGY7™wò,r¡ŒNeÕ[]m}N-s'³~Ðc݃7jT¥Ã¯nUT–«*P·ˆgÝC:{ŸîÞ C׺µßr±»úK¶Lœz²ë¸Ð½hñcÿÿÆMKuïŠe:÷¼s4iÒDIÒw¾ý}ýû|_=ö„¾þõ޾œo¿½^.—Kº°ä£º°ä£’¤üüüؼ¬ÿ;VÇ;M¥¥ îüóÏÕqÇ+Iúþ÷þ]ßÿÁw2þ&FÒÔç+NziäHŸ]Þ²ô¦ŽŽw'qÒ ¬úLlipâÝR-{–ùàÞŽ¬$×Ö®‘$GÞÆ*±>íëÓîÉŸj›·NpœØZ˜ ]­õ“ÒC4tÛÝ»bYg`>Üõ|üøq]GŒFã^îܹ+ùx=ÈFà¶ÀÉvjNÞÑ9¹lžn~9NYoHȵíÈéË>—ê3—¶£\•,€Ð­—þþŠ6lب—_~EËï¾S«ÿ¬&L0ÔÔܬ›oéh}Û¼i‹j~³J’´cG“Nžy’òóóUó›Ujoo×µ×-TAAì ½ýÎz]|Q)K€NtuÝ:ëìy:ëìyZ»¶ã±©_âWSS³>~éűqŽ;îX•}ªãÞ—ï¼ó®$©­­-öž$µ¶¶êš…? zñÅ—XÚ8"}ËÀ‘#GÆþòÉ'ÆÝÒ*ªÃ]J¢íí}þŒûÄþ¿|Ù ÖdœãZº›ššõ裩µµUß½ý6IÒðáÃ%IóK/Ô¯ÿç7ú—OJ³g›Æê¿}ö9gÆÍkêÔ£cÿŸ<¹ã®$Û·ïP{[›~ú“Ÿé«_»Q'œ8CÿùŸ:xˆÇ `h„î‰'è†*ãÞ;vŒ$Éåré_>ý)IŠÝ P’Žî ןýì¿ÄM7köá`>c†7¾¿ðÅ‹/ñó€LÊ£ B7`„C±ú8‰iF 6°€º¹¸I>ãuµõq?¦çä¡“Û‰OΔ?-3lÐc5O8¾>kk×ÄžöX/Z¢Å‹–P„n»ÈÑe­¨,W(Ιo²»ªÜNÜÒáïåËVÈ4#ZX¶ÀQuiµn‡:»–Tuv×ñûç;ª~íeM䴲溛¿y›î¾ç.*„n p—ç\Ȫ¨,WU ZuµõŽy”¹Ç[¤ŠÊò¸°m½v{Y‘]--»u×wë¶oÝLe€Ð C‘Ç[$¿¿D55«TQY.ÃpçLÙ­î%N ÜšÒí>²aÃFýô'Pa tÀPUê/‘iFT¨Î™'òÖÕÖ+ ;º¥Öëõ°r W\qi·ÃŸyfuìÿ_ýÚ—éã B7 e ˨®¶^Ë—­p|‹÷c5O( ;þø!º?qYZ¡û¡•÷SYÄÝK`È+õ—ÈëõÄú";Q.´p‰Ü tâ,,[ Ÿ¯Ø‘·ã ‡c-ܹÔ÷nÀnPt/yîô:½2c­¶LÜ"IšÖ4MóÞ›«‹^+e @šœÚ-‚»m€B÷¶cÜU•þB&oŒ{ÃäÚ0y£^™±Vu×kÒ®IY+Ã@ÿ0¢¯-夜”“rRNÊIˆLߢÊôóV~–åÌ}­ÏlÊéî%Éwbø®*ýkÝ}ñÜéuÝn{ð~îô:–4ݽõÊŒµY tw²~4™éqB7@èÓš¦ee\€ÐÝiÞ{s³2.@èîtÑk¥:~ûôÇ;~ût’Bw_UÔ]ßmð>~ûtUÔ]ÏRÀåZrÃâè}<¨æ¦q&Nš<`O›²ž¢Õ×ÏËôcàû[ Me×\÷zËæMª rû1ð–‹^+¥ ËQ¡ÛjalL3¢P(,Ÿ¯8îý`°A^¯G†á¦¬} 6ĽN,7õÙ»r&¢>û&j”Ç[”´ü’·è{fáªxïÛ3"·áV¤sŸXê/‰;­ 6hnç~ÞÚ·§š.jT0ØÛçÚ‡9 ÷é¡PXUê.ïWª“ÊšžºÚzÕÕÖ§|M}ö¯œÔgßÕ ‡sb;ù ŽÔ V öùŠ5×W¬`°AáP£ Ã-_çûÁ`Cìÿ†áîvºfÓ”iš±ñíÜÆ-݃ý,Ñç+ÖZ_±ªÕª¨,|­„²öíL¹¦fUܺãókñ¢%rwn¸èÛò§>ûÏ4M-[v¯–.ý†<Þ"™f$¸KUBƒÐÍß¼JèA³iJ:|µÏ0ܺeéM}šÎ0ܱ÷íìÃ<*rÔ÷§¥{€øýó 5*Üù 5ÊïŸOY3¬¢²\^¯Ç1åñz=òz=]Zä­÷Ñ7NkOµY-ÞUj–70ˆÝuçÝjiÙMEô`‚at6LD²ö¦‘iFbŸå$¬Ãã-ŠõI²ÎÄ’õù¤¬ýã´YëŒÛÞ …cï;YÇå>Ñ;®`°A¦ѲŽÞæ}¾bÕòûKTê/Qmív†CìÄЉýJ‘Y?ýÉÚ°acìuO]L†rp·H^¯GUêØ1ÐïŸßïŒêlܰB·×ëqdn!t ŠÊòØJauÝ ¬ƒŸ½ÅÓÚ9T:´Níý¥­r:qÇe­ŸuµõŽ5o‘cëÙeõݧ;Ñà÷Õ¯}9.h_qÅ¥TJ7J;!¬€\¨VYÙÕýÚOz½E9‘UÝÈÞºéôVÎÄîNnQÌ…3{Ó4c}ÏLÓtl³ï´êjëUS³J•åŽ[_­~€Ë—­ÈêeÊL- Í“m§ ‡S^uÉD«ãPôÐÊûcÁûŠO\F…ô29±ÿ5¡¦¶vMÜ) Ýý?['2¹Ò?¾Ô_¢ššUIoÑ礓„dw38Ùê¾l\ÁÌnðFr¦‰Ý…Ä0Üi÷¿¶÷Oœ.Ù) Ýȉw+I¼›‰“-^´D•åŽ ‰oQ¬e‰>ž™cµxs Z¬®Z´È‰ÁÝï³­œa…çtú_'ö·O×$t#§Wën%ö>Çö>ÉN9ÈÙï b…X'ßÄ^®\¹‹wYSY'°NÞŸò›6’³÷éîMݦšÎ‰·_&t£±(.\wœa9ªŒV gU Z¡Àᇤs¿Ï#U^k§àÄþü C¾Î+vN«O«œÉvºNºËJªò8­œ¹9ìútG†kÉ ‹£÷=ð š›vÄ ˜8i2gq0DÐ2›9Ö|¾bº“CPÙ5׎޲y“ªŽ„ÄH¬$2#K膺—Tê/É™~‘NgïNZº€HHB7@è@èÝ¡¡ t„n„n€Ð €Ð ºB7B7@膆§lQå,$V~–õI9Y?©O¶#ÊÉú™ËX?Y?3–n€Ð ººB7@è@èÝ¡@ƹ–ܰ8zߪ¹iGÜ€‰“&ë¡•÷SCl…÷ŸÂIDAT@šÊ®¹.îõ–Í›TÐÒ d[“  6(bFä6ÜŠ˜IR©¿DáP£B¡°Jý%±qëjëåõzäñÉ4# …ÂZlÐ\_±¼^ íp¨QÁ`ƒ<Þ¢¸Ïñz=’¤P(,I±é¬a†áfMp|Ì¡ã£UG«~ìß±®¶^¥þ’¸zYXvuÊ:ñz=]ê"±’-{™$Å-³Äe™¸M3+g.ä‘îÖ¥Hg='[?݆;åz1#ÝÎÓ>Ì^·N“çä…fUºÏW¬¹¾bƒ ‡Õlš±c …Âj6MI’a¸åëßç+Ž­¤Í¦)Ó4å뜧õgîØ4öéìÓÀñ17Žö:J¬ŸÄºI¬—îê$Y]$ÖC²e`/Sâ2K\–‰Ë±*P+c.èn]ênýìn=ëižöaöº%t÷b¡ÙW2Ãpë–¥7u9ËAf-^´„òCÐOò@Δõ™ßþ~Hoë{WGN©{à·Ê•lY&òùе°lÁ Y6¦‘i»‘i‰uKèNÃÈ- Œ›¿yߢ'Ûo½µNwÝy7•‘8>î:²NL3¢åËV8²›DC÷òe+²Öm…zkp’'¯t^¯GUêØ™Ÿß??¶2†B±K.Ök«ÿOw§³Ïs(»ëλÕÒ²{P|—––ݺëλuÛ·næÈ¤¸-6lÔÍß¼MwßsãðPÆñ±wudÿ.‰u“n t}„Baùýós²þ»[—¼Þ"ùýóTë®Ý‘‘yÚ‡™f$öBw/”úKbgx¦QU ZeeWÇZEeyl\û‚èNât踬¼aÃÆ¤ádŽä­$Ó½¤¼aÃFýô'è«_û2 èÅöÔÒ²[‹-á–±Çñ1ý:J¬ŸÞÔÍ‘¬û6sMOõæñé–¥7é¶[o—¤´N »›§a¸ešù|ÅŽ¾2P+ ÐÉ}trÝW¿ö布ïW\êØ²öT¶gžY÷½ô|ýÌo¯gžYMÐÎQWýX]b íŠÊò.w\LË¥²²\4O {šWEe¹–/[áØVnG‡nÓŒÄ~ÑkÁX}tرdçàkï+>q™sCwe³B7áÀ`Åñ±wud½>ÒõcïcœØïØ4#±eIè‡^[»F^¯gÐõí–¬n@™ È•åz¬f•cë˱¡Ûê§fõDz÷Ñiv¿Ñ„Cª­]›ž~Û½Þ¹þ=`°âøØ»:’ÔcýØë%-Ë©ú[ýÌíËÌÞ÷Ü4#ºeéMqå\XvµªÕŽnÁíéû[uíy†ÛÑõÅcà`ˆËµî%t‡àd©_@ÕrAâ•8ûk8§Ë£ ¹ Y°;v ¡€lïãŸÎ=źÈVð>å”™< @N¡O7 qW|â2Gß*4îà ×ÐÒ ºB7B7@èÝÝ¡ t t„n„n€Ð º¤« Õ€¦Û© héÝ¡¡ tƒV—»—¼õæ?© N™uj÷¡ûœó>B-ý°3bvºGÐ?ôéÝ¡¡ tƒVUZTÒVó šö´éPkÇkôKÒ°i¨Úà ^xåŸz².¨k.>SÛFåiÊøÂ¤ã6ínÓs§Ö¾Òu—ÌÕ‰Ó§(?ŸÞÆ}uèP«Þ oÕª5¯éÜaù7Ò­‰cò ÝàÈÛÞÒ¦5/¾¦OùO×ùgžF…ôÓˆá…*9® T÷÷7tiÉÙš2^)Bw»þ±nƒ>s©O'4•×OÆèô“ŽÓ°ü<ýö/oÊ=n\ÊÐÍ© P[¥­Íû5oÎL*#ƒ|§ÏÔûÍût°­»ºêƒ¦Ýò{–A'LŸ¢švwÛGž–n0 ¢’ÚÛ£*,¦ö(}¹3¥°pX}㣒ÚÚÛ•ŸŸ§(uŸ1ùjkoïöÁ„np„Òw´ã Áœ*G$s‹[bè O7@èƒQ´=: ãF¦=<Õÿ£íQ…½MgLŸ ñ£‡÷8ÏþK»î£ÑžÿÚèÉû¿­‹Î:U“ÆÒ°ÂQ:Úsª>Yþ ­úÛ{éÍ#U~~~¯ÆIg|ûß¡=oêkeÓ”ñ£4|´¡s®ü²ÞÜs¨WóÈÄ¡83tðŸz1\ÝL÷¥¯þL·þqÌ–ýŠì>0àߣ§ï)až¾õ稾½ò 5nߥý-;ôÊ~¥kçMÔ}ý"ǬGK/Ö_Žþ´‚šÔ²mn<í ]vÍÿ:n}§O78±{ ?³çá‘ÝûÆ=üÿ—ZjõÉ“4Ø{¤é×ëôú®hÊ0«v¤¦t†®;é ]÷¥Û²ö¹­­­½ÿ/}¨ÿøM‘¯öC{4íÌkµõ'wHú¬£ê“–npd"w´ãÖõ')íáî1#R¾ßíø×>Î[O¬Ðå眤)î1òΜ§Û«ÿ> ßÍ^Öôë¿ûî3GÓ/þþAZ]+ÞXu¯.šw’Æ®£òÈ·õð'ëÌ‹®ÑÍßû‘ªyL/¿ýA—ñ¶þé[:wñãúüÝkkd·þYû°FþíÖ¸q®\þº¾öÀoõÁ®}ÚöÞ‹ºö¨çuÙ¥+{,ö¿}Og~þA-øÁÿjÛÎýãwwëõ;>®›ë¶twAÙwõŸý½î¸©B—_taŸæÓ×r¦ƒÐ üÿöî<&Š+ŽøwgרåÚ]ïZÀQ¨W4¨ÕØ ^µÚ#@ÚŠ%„j£Ò4ZÛ[o0k›ˆ&õj‰µµÕF ¦*Öj=VQ¹”+ì1Ó? ”cg/pì÷C6y3ïí{o~áß ï1DDäÞXï¬ ð•ýέén¼ímHýú$M…¯Z…¨)Øyb=ö¼›Ó£×t÷_‰+e×°>ãU„ÇøõØ>$O†g'¥àlUcK»ÏæaÑÑB$Nz~jB†Äâƒ?·é+ÿäÌ¿^4úAHË=€òóŸ8œÃ¦”-H;x Kf¾Z…Ðè©Øjv¤¬êÐöÙŠÍÛâ¡It»wçé ®é&"""¯°ZÌ.¯ßí¬²òjÙºPC̦ÿ’I¹rûã=÷jP={(¶·ëO¡PÂlÚÞ-coq6öŠ@L˜>¦7ßlˆuø2gfMù·Î¼Ø}·Diaj£Ö…¶õB¬æò6çl•ó5¨Š„6bk2å·iŸ·(3r’ðÍÇïáµ%k°õÃ$ø4?^v¶gæÉ¤›ˆˆˆzQ‚Ç_ïh¼ÖõråŽu@ÉÝ z .ç-M/ucn ?¼±z?Ò¶Œ„$-wº?¹ºÖçm•­p£êBlĶ}ûIë¾Ç•ô;¨}p›Vd`L pao¢Ëý¸2Wpy y-ó“Dxì8_/W¶uœ¦ÁÆ:^‹½kp2ø7Î\U€F±ãySýe¨|†¶'‡úaÃÅr» —+§öÓ`·±ÖáƦ²ý"ú#2fr qýÐ27ûqî<7RQ J€äÁŸæTÓ©z¹²­ã´¼LìJ^†¢â?Qg¶ÂÜP’_aEÒx^ŸW^Žã8‘<¹1Ñ“Ppì,ªêͰ6Ö¡ôÜ1d$¤bLfnK»¥["ö[8púL”ß(ƺÅS»$éÎÜ•…¼×³qü÷«¨k´ÂT_ § ‘5œlÿ¢¥‹¢·îåNõÓÕI7——‘wHVH¢Õ³C:¯u½\¹ý±~d´kV/@FñU4(|1lD’Ó·{üú\$Ñþ£ñ’ر÷+lÌ~Yw+uGÄœÔ|ä-ÙòýиÕ(ú,˳çañÕ{ЄEaÁò mú—K®Í¿eCl6ŠÖíÅÊœ¼}¾õðEdÌD,ÌÌïÐ>0(¸)¹í­EdÌdì8²Ù­~ÍÓ]Lº‰ˆˆÈ[yŸK¯.ï¬[ÆvÇk]/W–ë§ßøDäO´q=wM÷€Q X;*ke:hýíás²ðÝœ¬vMš_4TUis¬ÖçåÊ—Œ‚¸dShÛ¾ºªR¶+ýØ›'“n"""êqDHÛh8(¢¯Ómÿ¾sÿé¿áÔ%‰d°No·¾ª²‚¿èLº‰ˆˆÈ«‰Ÿÿ{ÉõÛeÎß Hc金Šòÿ},™tQ·Ïüºëò‹ÿAð»äI71é&""¢nN”$ˆ’È@xå~‡I7“n"""zª)‚µµ5P©˜Št‹ÅAP8Œ½RP[[¥ƒ¶ä<«(A)P0é&""¢îB­‚}pùš/D`@ºÈ•¿Œ×ùB­”ìÄ^P½Ƈ5èßÇŸAë"Ƈ5Õk¡V)˜tQ÷`Ð*1yìsøöø9˜,¼9*¥’q“ÅjEIé-üpîæ½2|â§Ó=‡O—"~ì3>ðvŸ(7Ëáè™k7bôZ%“n"""êúªQÝ€¹ÓFã§³—pä·›¹¡Òm‚ @¸Îs§A€Öa:_Ù¶z­ƒ3|~,¾‰û•u°Š\Wï.¥  Nƒ˜áC¢ „^+0é&""¢îA¡"Ã|pÏG@üäÑ0Y“ÎR+%ù?‡±Ò þ>zô5ÃdqååñÔ!žhZ²¬`ð·ÿ×&ÝDDDä•d% Karl Berry wrote: > On Tue, Dec 19, 2006 at 07:07:14PM -0600, Karl Berry wrote: > > If I preprocess the file, I see this, > > case 0x01: return "bn_IN"; > > case 0x01: return "bn_BD"; > > for the corresponding source, > > case SUBLANG_BENGALI_INDIA: return "bn_IN"; > > case SUBLANG_BENGALI_BANGLADESH: return "bn_BD"; > > > > Well, texinfo is just copying that file from gettext. I am not sure > > what can be done in general. What system are you on? It seems like a > > potential bug in the headers somewhere for them to be defined as the > > same value. Bruno, any thoughts? See full msg below. > > This is compiled nativly on mingw. Are you suggesting this is not a > texinfo bug, but a gettext bug? I'm applying this patch to gettext. I hope it fixes it. Bruno 2006-12-21 Bruno Haible * localename.c (SUBLANG_BENGALI_INDIA): Change value from 0 to 1. (SUBLANG_BENGALI_BANGLADESH): Change value from 1 to 2. (SUBLANG_PUNJABI_INDIA): Change value from 0 to 1. (SUBLANG_PUNJABI_PAKISTAN): Change value from 1 to 2. (SUBLANG_ROMANIAN_ROMANIA): Change value from 0 to 1. (SUBLANG_ROMANIAN_MOLDOVA): Change value from 1 to 2. (SUBLANG_SINDHI_INDIA): Remove macro. (SUBLANG_SINDHI_AFGHANISTAN): New macro. (SUBLANG_TAMAZIGHT_ALGERIA_LATIN): Renamed from SUBLANG_TAMAZIGHT_LATIN. (SUBLANG_TIGRINYA_ETHIOPIA): Change value from 0 to 1. (SUBLANG_TIGRINYA_ERITREA): Change value from 1 to 2. (_nl_locale_name_default): Update. Reported by Bob Rossi . --- localename.c 25 Oct 2006 11:43:26 -0000 1.15 +++ localename.c 21 Dec 2006 14:26:42 -0000 @@ -494,10 +494,10 @@ # define SUBLANG_AZERI_CYRILLIC 0x02 # endif # ifndef SUBLANG_BENGALI_INDIA -# define SUBLANG_BENGALI_INDIA 0x00 +# define SUBLANG_BENGALI_INDIA 0x01 # endif # ifndef SUBLANG_BENGALI_BANGLADESH -# define SUBLANG_BENGALI_BANGLADESH 0x01 +# define SUBLANG_BENGALI_BANGLADESH 0x02 # endif # ifndef SUBLANG_CHINESE_MACAU # define SUBLANG_CHINESE_MACAU 0x05 @@ -590,16 +590,16 @@ # define SUBLANG_NEPALI_INDIA 0x02 # endif # ifndef SUBLANG_PUNJABI_INDIA -# define SUBLANG_PUNJABI_INDIA 0x00 +# define SUBLANG_PUNJABI_INDIA 0x01 # endif # ifndef SUBLANG_PUNJABI_PAKISTAN -# define SUBLANG_PUNJABI_PAKISTAN 0x01 +# define SUBLANG_PUNJABI_PAKISTAN 0x02 # endif # ifndef SUBLANG_ROMANIAN_ROMANIA -# define SUBLANG_ROMANIAN_ROMANIA 0x00 +# define SUBLANG_ROMANIAN_ROMANIA 0x01 # endif # ifndef SUBLANG_ROMANIAN_MOLDOVA -# define SUBLANG_ROMANIAN_MOLDOVA 0x01 +# define SUBLANG_ROMANIAN_MOLDOVA 0x02 # endif # ifndef SUBLANG_SERBIAN_LATIN # define SUBLANG_SERBIAN_LATIN 0x02 @@ -607,12 +607,12 @@ # ifndef SUBLANG_SERBIAN_CYRILLIC # define SUBLANG_SERBIAN_CYRILLIC 0x03 # endif -# ifndef SUBLANG_SINDHI_INDIA -# define SUBLANG_SINDHI_INDIA 0x00 -# endif # ifndef SUBLANG_SINDHI_PAKISTAN # define SUBLANG_SINDHI_PAKISTAN 0x01 # endif +# ifndef SUBLANG_SINDHI_AFGHANISTAN +# define SUBLANG_SINDHI_AFGHANISTAN 0x02 +# endif # ifndef SUBLANG_SPANISH_GUATEMALA # define SUBLANG_SPANISH_GUATEMALA 0x04 # endif @@ -670,14 +670,14 @@ # ifndef SUBLANG_TAMAZIGHT_ARABIC # define SUBLANG_TAMAZIGHT_ARABIC 0x01 # endif -# ifndef SUBLANG_TAMAZIGHT_LATIN -# define SUBLANG_TAMAZIGHT_LATIN 0x02 +# ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN +# define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 # endif # ifndef SUBLANG_TIGRINYA_ETHIOPIA -# define SUBLANG_TIGRINYA_ETHIOPIA 0x00 +# define SUBLANG_TIGRINYA_ETHIOPIA 0x01 # endif # ifndef SUBLANG_TIGRINYA_ERITREA -# define SUBLANG_TIGRINYA_ERITREA 0x01 +# define SUBLANG_TIGRINYA_ERITREA 0x02 # endif # ifndef SUBLANG_URDU_PAKISTAN # define SUBLANG_URDU_PAKISTAN 0x01 @@ -1378,8 +1378,8 @@ case LANG_SINDHI: switch (sub) { - case SUBLANG_SINDHI_INDIA: return "sd_IN"; case SUBLANG_SINDHI_PAKISTAN: return "sd_PK"; + case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF"; } return "sd"; case LANG_SINHALESE: return "si_LK"; @@ -1432,7 +1432,7 @@ { /* FIXME: Adjust this when Tamazight locales appear on Unix. */ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic"; - case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin"; + case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin"; } return "ber_MA"; case LANG_TAMIL: KCemu-0.5.1/src/0000755000175000017500000000000012417262523013540 5ustar glaubitzglaubitzKCemu-0.5.1/src/fileio/0000755000175000017500000000000012417262523015007 5ustar glaubitzglaubitzKCemu-0.5.1/src/fileio/load_BIN.c0000644000175000017500000001016612417262523016566 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "fileio/loadP.h" #define CHECK_SIG(s) \ ((data[1] == (s)) && (data[2] == (s)) && (data[3] == (s))) static int loader_BIN_check(const char *filename, unsigned char *data, long size) { int a; unsigned char crc; if (size >= 130) { if ((data[0] != 0x00) && (data[0] != 0x01)) return 0; crc = 0; for (a = 1;a < 129;a++) crc += data[a]; if (crc == data[129]) return 1; } return 0; } static void copy_blocks(unsigned char *dptr, const unsigned char *sptr, long size) { while (size >= 130) { memcpy(dptr, sptr, 129); dptr += 129; sptr += 130; size -= 130; } } static int loader_BIN_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { int a; long xsize; *prop = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (*prop == NULL) return -1; memset(*prop, 0, sizeof(fileio_prop_t)); xsize = 129 * (size / 130); (*prop)->load_addr = 0; (*prop)->start_addr = 0; (*prop)->autostart = 0; if (CHECK_SIG(0xd3)) { (*prop)->type = FILEIO_TYPE_BAS; memcpy((*prop)->name, data + 4, 8); (*prop)->name[8] = '\0'; for (a = 7;(a > 0) && (*prop)->name[a] == ' ';a--) (*prop)->name[a] = '\0'; } else if (CHECK_SIG(0xd4)) { (*prop)->type = FILEIO_TYPE_DATA; memcpy((*prop)->name, data + 4, 8); (*prop)->name[8] = '\0'; for (a = 7;(a > 0) && (*prop)->name[a] == ' ';a--) (*prop)->name[a] = '\0'; } else if (CHECK_SIG(0xd5)) { (*prop)->type = FILEIO_TYPE_LIST; memcpy((*prop)->name, data + 4, 8); (*prop)->name[8] = '\0'; for (a = 7;(a > 0) && (*prop)->name[a] == ' ';a--) (*prop)->name[a] = '\0'; } else if (CHECK_SIG(0xd7)) { (*prop)->type = FILEIO_TYPE_PROT_BAS; memcpy((*prop)->name, data + 4, 8); (*prop)->name[8] = '\0'; for (a = 7;(a > 0) && (*prop)->name[a] == ' ';a--) (*prop)->name[a] = '\0'; } else { (*prop)->type = FILEIO_TYPE_COM; (*prop)->valid = (FILEIO_V_LOAD_ADDR | FILEIO_V_START_ADDR | FILEIO_V_AUTOSTART); (*prop)->load_addr = data[18] | (data[19] << 8); (*prop)->start_addr = data[22] | (data[23] << 8); (*prop)->autostart = (data[17] > 2); memcpy((*prop)->name, data + 1, 11); (*prop)->name[11] = '\0'; /* * strip trailing COM */ if ((data[8] == 'C') && (data[9] == 'O') && (data[10] == 'M')) (*prop)->name[8] = '\0'; } /* * the kc85/1 method to disable autostart is to set * the start address to 0xffff which contains 0xc9 (RET) * of cause this will not catch all cases... */ if ((*prop)->start_addr == 0xffff) (*prop)->autostart = 0; (*prop)->size = xsize; (*prop)->data = (unsigned char *)malloc(xsize); if ((*prop)->data == 0) return -1; copy_blocks((*prop)->data, data, size); return 0; } static const char * loader_BIN_get_type(void) { return "BIN"; } static const char * loader_BIN_get_name(void) { return "loader for binary tape files (block size 130 bytes)"; } static file_loader_t loader = { loader_BIN_check, loader_BIN_load, loader_BIN_get_type, loader_BIN_get_name }; void loader_BIN_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/fileio/load_HS.c0000644000175000017500000000774112417262523016475 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "fileio/loadP.h" static void calc_check_sum(unsigned char *data) { int a; int sum; sum = 0; for (a = 0;a < 34;a += 2) sum += (data[a + 1] << 8) | data[a]; data[34] = sum & 0xff; data[35] = (sum >> 8) & 0xff; } static int loader_HS_check(const char *filename, unsigned char *data, long size) { int load, end; /* * HeaderSave: * * 00h - 01h: load address * 02h - 03h: end address * 04h - 05h: start address * 06h - 0bh: free for additional info * 0ch: file type * 0dh - 0fh: signature 0d3h, 0d3h, 0d3h * 10h - 1fh: file name * * file type: * * C - COM file (with autostart) * T - TEXT file * B - BASIC program * M - COM file (no autostart) * S - SOURCE file (assembler) * P - PASCAL program * D - DATA file * I - introduction, information * E - EPROM data * SPACE - no type * */ if ((data[0x0d] != 0xd3) || (data[0x0e] != 0xd3) || (data[0x0f] != 0xd3)) return 0; load = (data[1] << 8) | data[0]; end = (data[3] << 8) | data[2]; if (end <= load) return 0; return 1; } static int loader_HS_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { int a, addr, len; fileio_prop_t *p; unsigned char *src, *dst; *prop = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (*prop == NULL) return -1; p = *prop; memset(p, 0, sizeof(fileio_prop_t)); p->autostart = 0; p->valid = FILEIO_V_LOAD_ADDR; p->load_addr = (data[1] << 8) | data[0]; switch (data[0x0c]) { case 'C': p->autostart = 1; /* fall through */ case 'M': case 'X': case 'Y': case 'Z': p->type = FILEIO_TYPE_COM; p->valid |= FILEIO_V_START_ADDR | FILEIO_V_AUTOSTART; p->start_addr = (data[5] << 8) | data[4]; break; case 'B': p->type = FILEIO_TYPE_BAS; break; default: p->type = FILEIO_TYPE_UNKNOWN; break; } memcpy(p->name, &data[0x10], 11); p->name[11] = '\0'; for (a = 10;(a > 0) && (p->name[a] == ' ');a--) p->name[a] = '\0'; p->size = 36 * ((size + 31) / 32); p->data = (unsigned char *)malloc(p->size); if (p->data == 0) return -1; memset(p->data, 0, p->size); src = data; dst = p->data; dst[0] = 0xe0; dst[1] = 0x00; memcpy(&dst[2], src, 32); calc_check_sum(dst); size -= 32; addr = p->load_addr; while (size > 0) { src += 32; dst += 36; dst[0] = addr & 0xff; dst[1] = (addr >> 8) & 0xff; len = (size < 32) ? size : 32; memcpy(&dst[2], src, len); calc_check_sum(dst); size -= 32; addr += 32; } return 0; } static const char * loader_HS_get_type(void) { return "HeaderSave"; } static const char * loader_HS_get_name(void) { return "loader for HeaderSave images"; } static file_loader_t loader = { loader_HS_check, loader_HS_load, loader_HS_get_type, loader_HS_get_name }; void loader_HS_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/fileio/load.c0000644000175000017500000001702412417262523016076 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "fileio/loadP.h" static fileio_kctype_t kctype; static file_loader_t *loaders[MAX_FILE_LOADERS]; void fileio_init(void) { fileio_set_kctype(FILEIO_KC85_3); memset(loaders, 0, sizeof(loaders)); /* * order is importend * first check for types with unique signatures * unsafe guesses come last */ loader_AF_init(); loader_GPF_init(); loader_BASIC_init(); loader_BASICODE_init(); loader_SSS_init(); loader_HS_init(); loader_BIN_init(); loader_TAPE_init(); loader_UNKNOWN_init(); /* fallback */ } fileio_kctype_t fileio_get_kctype(void) { return kctype; } void fileio_set_kctype(fileio_kctype_t type) { kctype = type; } int fileio_register_loader(file_loader_t *loader) { int a; for (a = 0;a < MAX_FILE_LOADERS;a++) if (loaders[a] == NULL) { loaders[a] = loader; return 1; } return 0; } int fileio_load_file(const char *filename, fileio_prop_t **prop) { int a, ret; FILE *f; unsigned char *data; struct stat stat_buf; if (filename == NULL) return -1; if (prop == NULL) return -1; *prop = NULL; if (stat(filename, &stat_buf) != 0) return -1; if (!S_ISREG(stat_buf.st_mode)) return -1; data = (unsigned char *)malloc(stat_buf.st_size); if (data == 0) return -1; f = fopen(filename, "rb"); if (f == NULL) { free(data); return -1; } if (fread(data, 1, stat_buf.st_size, f) != stat_buf.st_size) { free(data); return -1; } ret = -1; for (a = 0;a < MAX_FILE_LOADERS;a++) { if (loaders[a]) if (loaders[a]->check) { /* printf("trying %s...\n", loaders[a]->get_name()); */ if (loaders[a]->check(filename, data, stat_buf.st_size)) { /* printf("using %s.\n", loaders[a]->get_name()); */ ret = loaders[a]->load(filename, data, stat_buf.st_size, prop); (*prop)->filetype = loaders[a]->get_type(); break; } } } free(data); return ret; } void fileio_free_prop(fileio_prop_t **prop) { fileio_prop_t *ptr; for (ptr = *prop;ptr != NULL;ptr = ptr->next) { free(ptr->data); } } long fileio_get_image_z1013(fileio_prop_t *prop, unsigned char *buf) { int a, b, len; len = prop->size - 36; a = 36; b = 0; while (len-- > 0) { switch (a % 36) { case 0: case 1: case 34: case 35: break; default: buf[b] = prop->data[a]; b++; break; } a++; } return b; } long fileio_get_image(fileio_prop_t *prop, unsigned char *buf) { int a, b, len; if (fileio_get_kctype() == FILEIO_Z1013) return fileio_get_image_z1013(prop, buf); b = 0; switch (prop->type) { case FILEIO_TYPE_COM: case FILEIO_TYPE_UNKNOWN: a = 130; len = prop->size - 128; break; case FILEIO_TYPE_BAS: case FILEIO_TYPE_PROT_BAS: case FILEIO_TYPE_DATA: case FILEIO_TYPE_LIST: a = 14; len = prop->size - 13; break; case FILEIO_TYPE_BASICODE: a = 0; len = prop->size; break; } while (len-- > 0) { buf[b] = prop->data[a]; b++; a++; if ((a % 129) == 0) a++; } return b; } void fill_header_HS(unsigned char *data, fileio_prop_t *prop) { int a, c; int end = prop->load_addr + ((prop->size / 36) * 32) + 1; memset(data, 0, 36); memset(data + 18, ' ', 16); data[0] = prop->load_addr & 0xff; data[1] = (prop->load_addr >> 8) & 0xff; data[2] = prop->load_addr & 0xff; data[3] = (prop->load_addr >> 8) & 0xff; data[4] = end & 0xff; data[5] = (end >> 8) & 0xff; data[6] = prop->start_addr & 0xff; data[7] = (prop->start_addr >> 8) & 0xff; data[14] = ' '; data[15] = 0xd3; data[16] = 0xd3; data[17] = 0xd3; for (a = 0;a < 16;a++) { c = toupper(prop->name[a]); if (c == 0) break; data[a + 18] = c; } } void fill_header_COM(unsigned char *data, fileio_prop_t *prop) { int a, c, end; memset(data, 0, 128); memcpy(data, " COM", 11); for (a = 0;a < 8;a++) { c = toupper(prop->name[a]); if (c == 0) break; data[a] = c; } if ((prop->valid & FILEIO_V_LOAD_ADDR) == FILEIO_V_LOAD_ADDR) { end = prop->load_addr + prop->size + 1; data[16] = 2; data[17] = prop->load_addr & 0xff; data[18] = (prop->load_addr >> 8) & 0xff; data[19] = end & 0xff; data[20] = (end >> 8) & 0xff; } if ((prop->valid & FILEIO_V_START_ADDR) == FILEIO_V_START_ADDR) { data[16] = 3; data[21] = prop->start_addr & 0xff; data[22] = (prop->start_addr >> 8) & 0xff; } } void fileio_copy_blocks(unsigned char *dptr, const unsigned char *sptr, long size, int block) { long len; while (size > 0) { if (size > 128) *dptr = block++; else *dptr = 0xff; len = (size > 128) ? 128 : size; memcpy(dptr + 1, sptr, len); dptr += 129; sptr += 128; size -= 128; } } void fileio_debug_dump(fileio_prop_t *prop, int write_file) { FILE *f; char buf[100]; const char *type; fileio_prop_t *ptr; printf("fileio: dumping file properties...\n"); for (ptr = prop;ptr != NULL;ptr = ptr->next) { switch (ptr->type) { case FILEIO_TYPE_UNKNOWN: type = "(UNKNOWN)"; break; case FILEIO_TYPE_COM: type = "(COM)"; break; case FILEIO_TYPE_BAS: type = "(BASIC)"; break; case FILEIO_TYPE_PROT_BAS: type = "(BASIC*)"; break; default: type = "(?)"; break; } printf("fileio: %-14s %-10s - ", ptr->name, type); printf("%04x-%04lx/", ptr->load_addr, ptr->load_addr + ptr->size + 1); if (ptr->autostart) printf("%04x", ptr->start_addr); else printf(" - "); printf(" : %5ld bytes [%s]", ptr->size, ptr->filetype); if (write_file) { sprintf(buf, ".out-%s", ptr->name); f = fopen(buf, "wb"); if (f) { while (ptr->size > 0) { ptr->data++; ptr->size--; if (ptr->size == 0) break; fwrite(ptr->data, 1, 128, f); ptr->data += 128; ptr->size -= 128; } fclose(f); printf(" -> '%s'", buf); } } printf("\n"); } printf("fileio: done.\n"); } void fileio_show_config(void) { int a; printf("available fileio plugins:\n"); for (a = 0;a < MAX_FILE_LOADERS;a++) { if (loaders[a]) printf(" %s\n", loaders[a]->get_name()); } } KCemu-0.5.1/src/fileio/load_TAPE.c0000644000175000017500000000762712417262523016717 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "fileio/loadP.h" static int check_addr(unsigned char *data, long size) { unsigned short load, end, start, x; /* * finally look if specified addresses are plausible */ x = data[16]; load = data[17] | (data[18] << 8); end = data[19] | (data[20] << 8); start = data[21] | (data[22] << 8); if (load >= end) return 0; if ((end - load - 1) > size) return 0; if (x > 2) if ((start < load) || (start >= end)) return 0; return 1; } static int loader_TAPE_check(const char *filename, unsigned char *data, long size) { /* * standard kc tape image (128 bytes/block no checksum) * This is somewhat tricky because we don't have a simple * signature to check against. Instead we test some * constraints that should detect most of the tape images. */ if (size > 128) if ((data[16] >= 2) && (data[16] <= 0x0a)) return check_addr(data, size - 128); return 0; } static int loader_TAPE_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { long xsize; *prop = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (*prop == NULL) return -1; memset(*prop, 0, sizeof(fileio_prop_t)); xsize = 129 * ((size + 127) / 128); (*prop)->type = FILEIO_TYPE_COM; (*prop)->valid = (FILEIO_V_LOAD_ADDR | FILEIO_V_START_ADDR | FILEIO_V_AUTOSTART); (*prop)->load_addr = data[17] | (data[18] << 8); (*prop)->start_addr = data[21] | (data[22] << 8); (*prop)->autostart = (data[16] > 2); memcpy((*prop)->name, data, 11); (*prop)->name[11] = '\0'; /* * strip trailing COM */ if ((data[8] == 'C') && (data[9] == 'O') && (data[10] == 'M')) (*prop)->name[8] = '\0'; /* * the kc85/1 method to disable autostart is to set * the start address to 0xffff which contains 0xc9 (RET) * of cause this will not catch all cases... */ if ((*prop)->start_addr == 0xffff) (*prop)->autostart = 0; (*prop)->size = xsize; (*prop)->data = (unsigned char *)malloc(xsize); if ((*prop)->data == 0) return -1; *(*prop)->data = 0; // block number /* * FIXME: fill_header_COM() doesn't handle KC85/1 filenames correctly */ //fill_header_COM((*prop)->data + 1, *prop); //fileio_copy_blocks((*prop)->data + 129, data + 128, size - 128, 1); switch (fileio_get_kctype()) { case FILEIO_KC85_1: fileio_copy_blocks((*prop)->data, data, size, 0); break; case FILEIO_KC85_3: fileio_copy_blocks((*prop)->data, data, size, 1); break; case FILEIO_Z1013: return -1; } return 0; } static const char * loader_TAPE_get_type(void) { return "TAPE"; } static const char * loader_TAPE_get_name(void) { return "loader for raw KC-Tape images"; } static file_loader_t loader = { loader_TAPE_check, loader_TAPE_load, loader_TAPE_get_type, loader_TAPE_get_name }; void loader_TAPE_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/fileio/kc2img.c0000644000175000017500000000251312417262523016330 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "fileio/load.h" int main(int argc, char **argv) { fileio_prop_t *prop; if (argc != 3) { printf("usage: %s infile outfile\n", argv[0]); exit(1); } fileio_init(); if (fileio_load_file(argv[1], &prop) < 0) { printf("can't load file '%s'\n", argv[1]); return 1; } if (fileio_save_img_prop(argv[2], prop) < 0) { printf("can't save file '%s'\n", argv[2]); return 1; } return 0; } KCemu-0.5.1/src/fileio/test_load.c0000644000175000017500000000405312417262523017133 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "fileio/load.h" #define FILE_TAP "/home/tp/projects/KCemu-data/KC-Office/wp1990/wp1990.tap" #define FILE_GPF "/home/tp/projects/kc85/emu/PRG/ladder2.gpf" #define FILE_IMG "/home/tp/projects/KCemu/PRG/BENNION.tape" #define FILE_BAS "/home/tp/projects/KCemu/PRG/kc-basic-programs/labyrint" #define FILE_PBAS "/home/tp/projects/KCemu/PRG/ts+ve.prg" #define FILE_XXX "/home/tp/projects/KCemu/PRG/bennion_rbs_0x0200_0x46c0.prg" int main(int argc, char **argv) { int a, ret; fileio_prop_t *prop; fileio_init(); if (argc > 1) { for (a = 1;a < argc;a++) { ret = fileio_load_file(argv[a], &prop); fileio_debug_dump(prop, 1); } } else { ret = fileio_load_file(FILE_TAP, &prop); fileio_debug_dump(prop, 1); ret = fileio_load_file(FILE_GPF, &prop); fileio_debug_dump(prop, 1); ret = fileio_load_file(FILE_IMG, &prop); fileio_debug_dump(prop, 1); ret = fileio_load_file(FILE_BAS, &prop); fileio_debug_dump(prop, 1); ret = fileio_load_file(FILE_PBAS, &prop); fileio_debug_dump(prop, 1); ret = fileio_load_file(FILE_XXX, &prop); fileio_debug_dump(prop, 1); } return 0; } KCemu-0.5.1/src/fileio/load_UNKNOWN.c0000644000175000017500000001121712417262523017313 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "fileio/loadP.h" static int loader_UNKNOWN_check(const char *filename, unsigned char *data, long size) { return 1; } static int str2int(const char *str) { int a; unsigned long value; char *endptr, buf[11]; strncpy(buf, str, 10); buf[10] = '\0'; a = 2; while ((buf[a] != '\0') && (strchr("0123456789abcdefABCDEF", buf[a]) != NULL)) a++; buf[a] = '\0'; if (a < 3) return -1; value = strtoul(buf, &endptr, 0); if (*endptr == '\0') if (value <= 0xffff) return value; return -1; } void copy_headersave(unsigned char *data, long size, fileio_prop_t *prop) { char *src = data; char *dst = prop->data + 36; int a = 0; while (size > 0) { switch (a++ % 36) { case 0: case 1: case 34: case 35: *dst++ = 0; break; default: size--; *dst++ = *src++; break; } } } static int loader_UNKNOWN_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { int a; const char *ptr; unsigned long val; unsigned short load, start; a = 0; load = 0; start = 0; ptr = strstr(filename, "0x"); if (ptr != NULL) { val = str2int(ptr); if (val != -1) { load = val; a = 1; } } if (a == 1) { ptr = strstr(ptr + 1, "0x"); if (ptr != NULL) { val = str2int(ptr); if (val != -1) { start = val; a = 2; } } } *prop = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (*prop == NULL) return -1; memset(*prop, 0, sizeof(fileio_prop_t)); (*prop)->type = FILEIO_TYPE_UNKNOWN; (*prop)->valid = FILEIO_V_NONE; (*prop)->load_addr = 0; (*prop)->start_addr = 0xffff; switch (a) { case 2: (*prop)->start_addr = start; (*prop)->valid |= FILEIO_V_AUTOSTART; (*prop)->valid |= FILEIO_V_START_ADDR; /* fall through */ case 1: (*prop)->load_addr = load; (*prop)->valid |= FILEIO_V_LOAD_ADDR; (*prop)->type = FILEIO_TYPE_COM; break; } (*prop)->autostart = (a == 2); /* * guess a name for the kc file header and make it all upper case */ ptr = strrchr(filename, '/'); if (ptr) ptr++; else ptr = filename; memcpy((*prop)->name, ptr, 11); (*prop)->name[11] = '\0'; for (a = 0;a < 11;a++) (*prop)->name[a] = toupper((*prop)->name[a]); /* * copy data... */ if (fileio_get_kctype() == FILEIO_Z1013) { unsigned long xsize = 36 * ((size + 31) / 32) + 36; (*prop)->size = xsize; (*prop)->data = (unsigned char *) malloc(xsize); if ((*prop)->data == 0) return -1; memset((*prop)->data, 0, xsize); fill_header_HS((*prop)->data, *prop); copy_headersave(data, size, *prop); } else { unsigned long xsize = size + (size + 127) / 128; (*prop)->size = size + 128; (*prop)->data = (unsigned char *) malloc(xsize + 129); if ((*prop)->data == 0) return -1; memset((*prop)->data, 0, xsize + 129); *(*prop)->data = 0; // block number fill_header_COM((*prop)->data + 1, *prop); fileio_copy_blocks((*prop)->data + 129, data, size, 1); } return 0; } static const char * loader_UNKNOWN_get_type(void) { return "UNKNOWN"; } static const char * loader_UNKNOWN_get_name(void) { return "fallback loader for unknown file types"; } static file_loader_t loader = { loader_UNKNOWN_check, loader_UNKNOWN_load, loader_UNKNOWN_get_type, loader_UNKNOWN_get_name }; void loader_UNKNOWN_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/fileio/save_IMG.c0000644000175000017500000000273412417262523016613 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "fileio/loadP.h" int fileio_save_img(const char *filename, const unsigned char *data, int size) { int a; int len; FILE *out; out = fopen(filename, "wb"); if (out == NULL) return 1; len = size; while (len > 0) { a = 128; if (len < a) a = len; data++; if (fwrite(data, 1, 128, out) != 128) return 1; data += 128; len -= 129; } fclose(out); return 0; } int fileio_save_img_prop(const char *filename, fileio_prop_t *prop) { return fileio_save_img(filename, prop->data, prop->size); } KCemu-0.5.1/src/fileio/Makefile.am0000644000175000017500000000145012417262523017043 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in bin_PROGRAMS = kc2img kc2tap kc2wav kc2raw noinst_PROGRAMS = test-load noinst_LIBRARIES = libfileio.a AM_CPPFLAGS = \ -I../../include \ -DVERSION=\"$(VERSION)\" \ -DFILEIO_DEBUG libfileio_a_SOURCES = \ load.c \ load_AF.c \ load_GPF.c \ load_SSS.c \ load_BIN.c \ load_HS.c \ load_TAPE.c \ load_BASIC.c \ load_BASICODE.c \ load_UNKNOWN.c \ save_IMG.c \ save_TAP.c \ save_WAV.c \ save_RAW.c kc2img_SOURCES = kc2img.c kc2img_LDADD = libfileio.a $(INTLLIBS) kc2tap_SOURCES = kc2tap.c kc2tap_LDADD = libfileio.a $(INTLLIBS) kc2wav_SOURCES = kc2wav.c kc2wav_LDADD = libfileio.a $(INTLLIBS) kc2raw_SOURCES = kc2raw.c kc2raw_LDADD = libfileio.a $(INTLLIBS) test_load_SOURCES = test_load.c test_load_LDADD = libfileio.a $(INTLLIBS) KCemu-0.5.1/src/fileio/load_GPF.c0000644000175000017500000000521512417262523016571 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "fileio/loadP.h" static int loader_GPF_check(const char *filename, unsigned char *data, long size) { /* * files from the GEMINI Emulator */ if (size > 128) if ((data[2] == 'B') && (data[3] == ':') && (data[7] == 'E') && (data[12] == 'S')) { return 1; } return 0; } static int loader_GPF_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { int a; const char *ptr; *prop = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (*prop == NULL) return -1; memset(*prop, 0, sizeof(fileio_prop_t)); (*prop)->type = FILEIO_TYPE_COM; (*prop)->valid = (FILEIO_V_LOAD_ADDR | FILEIO_V_START_ADDR | FILEIO_V_AUTOSTART); (*prop)->load_addr = data[ 4] | (data[ 5] << 8); (*prop)->start_addr = data[14] | (data[15] << 8); (*prop)->autostart = 1; ptr = strrchr(filename, '/'); if (ptr) ptr++; else ptr = filename; memcpy((*prop)->name, ptr, 11); (*prop)->name[11] = '\0'; for (a = 0;a < 11;a++) (*prop)->name[a] = toupper((*prop)->name[a]); (*prop)->size = size; (*prop)->data = (unsigned char *)malloc(size); if ((*prop)->data == 0) return -1; fill_header_COM((*prop)->data, *prop); memcpy((*prop)->data + 128, data + 128, size - 128); return 0; } static const char * loader_GPF_get_type(void) { return "GEMINI"; } static const char * loader_GPF_get_name(void) { return "loader for GEMINI-Emulator files"; } static file_loader_t loader = { loader_GPF_check, loader_GPF_load, loader_GPF_get_type, loader_GPF_get_name }; void loader_GPF_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/fileio/save_WAV.c0000644000175000017500000001412612417262523016632 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include "fileio/loadP.h" #define RATE (44100) #define BIT_0 (2400) #define BIT_1 (1200) #define BIT_S (600) typedef struct wav_header { uint32_t MainChunkID; // it will be 'RIFF' uint32_t Length; uint32_t ChunkTypeID; // it will be 'WAVE' uint32_t SubChunkID; // it will be 'fmt ' uint32_t SubChunkLength; uint16_t AudioFormat; uint16_t NumChannels; uint32_t SampleFreq; uint32_t BytesPerSec; uint16_t BytesPerSample; uint16_t BitsPerSample; uint32_t DataChunkID; // it will be 'data' uint32_t DataLength; } wav_header_t; static int _value = -1; static int _start_block = 1; struct tape_buf { int blockno; unsigned char *buf; struct tape_buf *next; }; static int write_silence(FILE *out, int samples) { int a; for (a = 0;a < samples;a++) if (fputc(0x80, out) == EOF) return -1; return a; } static void write_bit(FILE *out) { unsigned char c; c = 0x80 - (126 * _value); fwrite(&c, 1, 1, out); } static long write_bits(FILE *out, int freq, int count, int *sync) { int a, b; double fact; long flen = 0; switch (freq) { case BIT_0: fact = 120; break; case BIT_1: fact = 120; break; case BIT_S: fact = 120; break; default: fact = 120; break; } for (a = 0;a < count;a++) { for (b = 0;b < 2;b++) { while (*sync < RATE) { *sync += freq * 2; write_bit(out); flen++; } _value = -_value; *sync -= RATE; } } return flen; } static long write_byte(FILE *out, unsigned char b, int *sync) { int a; long flen = 0; for (a = 0;a < 8;a++) { if (b & (1 << a)) flen += write_bits(out, BIT_1, 1, sync); // 1 bit else flen += write_bits(out, BIT_0, 1, sync); // 0 bit } flen += write_bits(out, BIT_S, 1, sync); // sync bit return flen; } static long write_block(FILE *out, int block, unsigned char *buf, int sync_bits) { int a; int sync = -1; long flen = 0; unsigned char crc = 0; //printf("[%02x] ", block); fflush(stdout); flen += write_bits(out, BIT_1, sync_bits, &sync); flen += write_bits(out, BIT_S, 1, &sync); // sync bit flen += write_byte(out, block, &sync); // block number for (a = 0;a < 128;a++) { crc += buf[a]; flen += write_byte(out, buf[a], &sync); // data } flen += write_byte(out, crc, &sync); // checksum return flen; } static long write_file(FILE *out, const unsigned char *data, int size) { long flen; int a, len; int sync_bits; struct tape_buf *first, *buffer, *tmp; flen = 0; first = 0; buffer = 0; a = 0; len = size; while (len > 0) { tmp = (struct tape_buf *)malloc(sizeof(struct tape_buf)); tmp->buf = (unsigned char *)malloc(129); tmp->next = 0; memset(tmp->buf, 0, 129); if (len > 129) memcpy(tmp->buf, data + a, 129); else memcpy(tmp->buf, data + a, len); a += 129; len -= 129; tmp->blockno = tmp->buf[0]; if (buffer != 0) buffer->next = tmp; if (first == 0) first = tmp; buffer = tmp; } buffer->blockno = 0xff; sync_bits = 8000; for (buffer = first;buffer != 0;buffer = buffer->next) { flen += write_block(out, buffer->blockno, buffer->buf + 1, sync_bits); sync_bits = 200; } return flen; } static int _fileio_save_wav(FILE *out, const unsigned char *data, int size) { wav_header_t header; long flen, start_silence, end_silence; switch (fileio_get_kctype()) { case FILEIO_KC85_1: _start_block = 0; break; case FILEIO_KC85_3: _start_block = 1; break; case FILEIO_Z1013: // FIXME: not implemented return -1; } start_silence = RATE / 2; end_silence = RATE * 2; header.MainChunkID = 'R' | 'I' << 8 | 'F' << 16 | 'F' << 24; header.ChunkTypeID = 'W' | 'A' << 8 | 'V' << 16 | 'E' << 24; header.SubChunkID = 'f' | 'm' << 8 | 't' << 16 | ' ' << 24; header.SubChunkLength = 16; header.AudioFormat = 1; header.NumChannels = 1; header.SampleFreq = RATE; header.BytesPerSec = 5512; header.BytesPerSample = 1; header.BitsPerSample = 8; header.DataChunkID = 'd' | 'a' << 8 | 't' << 16 | 'a' << 24; header.DataLength = 0; header.Length = header.DataLength + 44 - 8; if (fwrite(&header, 1, sizeof(header), out) != sizeof(header)) return -1; if (write_silence(out, start_silence) != start_silence) return -1; flen = write_file(out, data, size); if (write_silence(out, end_silence) != end_silence) return -1; header.DataLength = flen + start_silence + end_silence; header.Length = header.DataLength + 44 - 8; if (fseek(out, 0, SEEK_SET) != 0) return -1; if (fwrite(&header, 1, sizeof(header), out) != sizeof(header)) return -1; return 0; } int fileio_save_wav(const char *filename, const unsigned char *data, int size) { int ret; FILE *out; out = fopen(filename, "wb"); if (out == NULL) return -1; ret = _fileio_save_wav(out, data, size); fclose(out); return ret; } int fileio_save_wav_prop(const char *filename, fileio_prop_t *prop) { return fileio_save_wav(filename, prop->data, prop->size); } KCemu-0.5.1/src/fileio/save_TAP.c0000644000175000017500000000260112417262523016614 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "fileio/loadP.h" int fileio_save_tap(const char *filename, const unsigned char *data, int size) { FILE *out; out = fopen(filename, "wb"); if (out == NULL) return 1; if (fwrite("\xc3KC-TAPE by AF. ", 1, 16, out) != 16) return 1; if (fwrite(data, 1, size, out) != size) return 1; fclose(out); return 0; } int fileio_save_tap_prop(const char *filename, fileio_prop_t *prop) { return fileio_save_tap(filename, prop->data, prop->size); } KCemu-0.5.1/src/fileio/kc2raw.c0000644000175000017500000000251312417262523016345 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "fileio/load.h" int main(int argc, char **argv) { fileio_prop_t *prop; if (argc != 3) { printf("usage: %s infile outfile\n", argv[0]); exit(1); } fileio_init(); if (fileio_load_file(argv[1], &prop) < 0) { printf("can't load file '%s'\n", argv[1]); return 1; } if (fileio_save_raw_prop(argv[2], prop) < 0) { printf("can't save file '%s'\n", argv[2]); return 1; } return 0; } KCemu-0.5.1/src/fileio/load_AF.c0000644000175000017500000001407312417262523016445 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "fileio/loadP.h" static int check_signature(const char *data) { if (strncmp(data, "KC-TAPE by AF", 13) == 0) return 1; return 0; } static int loader_AF_check(const char *filename, unsigned char *data, long size) { /* * files from the KC-Emulator by Arne Fitzenreiter */ if (size >= (16 + 128)) /* file signature + first block */ return check_signature((const char *)&data[1]); return 0; } static void set_type(unsigned char *data, fileio_prop_t *prop) { int load, start, autostart; load = 0; start = 0; autostart = 0; if ((data[1] == 0xd3) && (data[2] == 0xd3) && (data[3] == 0xd3)) { prop->type = FILEIO_TYPE_BAS; prop->valid = FILEIO_V_NONE; memcpy(prop->name, data + 4, 8); prop->name[8] = '\0'; } else if ((data[1] == 0xd4) && (data[2] == 0xd4) && (data[3] == 0xd4)) { prop->type = FILEIO_TYPE_DATA; prop->valid = FILEIO_V_NONE; memcpy(prop->name, data + 4, 8); prop->name[8] = '\0'; } else if ((data[1] == 0xd5) && (data[2] == 0xd5) && (data[3] == 0xd5)) { prop->type = FILEIO_TYPE_LIST; prop->valid = FILEIO_V_NONE; memcpy(prop->name, data + 4, 8); prop->name[8] = '\0'; } else if ((data[1] == 0xd7) && (data[2] == 0xd7) && (data[3] == 0xd7)) { prop->type = FILEIO_TYPE_PROT_BAS; prop->valid = FILEIO_V_NONE; memcpy(prop->name, data + 4, 8); prop->name[8] = '\0'; } else { prop->type = FILEIO_TYPE_COM; prop->valid = (FILEIO_V_LOAD_ADDR | FILEIO_V_START_ADDR | FILEIO_V_AUTOSTART); memcpy(prop->name, data + 1, 11); prop->name[11] = '\0'; load = data[18] | (data[19] << 8); start = data[22] | (data[23] << 8); autostart = (data[17] > 2); } prop->load_addr = load; prop->start_addr = start; prop->autostart = autostart; } /* * check if we have the last block of the current file * * for machine code we simply check the block counter but * basic files seem to be sometimes larger than 255 blocks * so in case of basic files we check for the basic end * marker in the current block (three zero bytes) */ static int check_end(unsigned char *data, int type) { int a; int is_last_block = 0; switch (type) { case FILEIO_TYPE_BAS: case FILEIO_TYPE_PROT_BAS: for (a = 1;a < 127;a++) if ((data[a] | data[a + 1] | data[a + 2]) == 0) is_last_block = 1; break; default: if ((*data) == 0xff) is_last_block = 1; break; } return is_last_block; } /* * return number of bytes used from the original file or -1 on error */ static long fill_prop(unsigned char *data, long size, fileio_prop_t *prop) { long len; int first; len = 0; first = 1; while (242) { if (size < 129) return -1; len += 129; if (first) { first = 0; set_type(data, prop); } if (check_end(data, prop->type)) { prop->size = len; return len; } data += 129; size -= 129; } } /* * return number of bytes used from the original file or -1 on error */ static int do_load(unsigned char *data, unsigned long size, fileio_prop_t *prop) { long len; len = fill_prop(data, size, prop); if (len < 0) return -1; prop->data = (unsigned char *)malloc(prop->size); if (prop->data == NULL) return -1; memcpy(prop->data, data, prop->size); return prop->size; } static int loader_AF_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { int olen; unsigned char *ptr; fileio_prop_t *tmp, *prop_ptr, *prop_lptr; ptr = data; prop_ptr = 0; prop_lptr = 0; while (size > 0) { /* * ignore trailing garbage if we don't find * file header (might be caused by basic files * which often store the last block twice) * * so we don't simply bail out here but instead * skip one block of 129 bytes and try to go on... */ if (!check_signature((const char *)&ptr[1])) { ptr += 129; size -= 129; continue; } ptr += 16; /* skip header... */ size -= 16; if (size < 0) break; tmp = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (tmp == NULL) return -1; memset(tmp, 0, sizeof(fileio_prop_t)); olen = do_load(ptr, size, tmp); if (olen < 0) { free(tmp); *prop = prop_ptr; return -1; } if (prop_ptr == 0) prop_ptr = prop_lptr = tmp; else { prop_lptr->next = tmp; prop_lptr = prop_lptr->next; } size -= olen; ptr += olen; } *prop = prop_ptr; return 0; } static const char * loader_AF_get_type(void) { return "AF"; } static const char * loader_AF_get_name(void) { return "loader for KC85/3+4 Emulator by Arne Fitzenreiter"; } static file_loader_t loader = { loader_AF_check, loader_AF_load, loader_AF_get_type, loader_AF_get_name }; void loader_AF_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/fileio/load_BASIC.c0000644000175000017500000000537612417262523017006 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "fileio/loadP.h" static int loader_BASIC_check(const char *filename, unsigned char *data, long size) { /* * BASIC */ if (size > 12) if ((data[0] == 0xd3) && (data[1] == 0xd3) && (data[2] == 0xd3)) return 1; /* * protected BASIC */ if (size > 12) if ((data[0] == 0xd7) && (data[1] == 0xd7) && (data[2] == 0xd7)) return 1; return 0; } static int loader_BASIC_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { int b; long xsize, len; unsigned char *sptr, *dptr; *prop = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (*prop == NULL) return -1; memset(*prop, 0, sizeof(fileio_prop_t)); switch (*data) { case 0xd3: (*prop)->type = FILEIO_TYPE_BAS; break; case 0xd7: (*prop)->type = FILEIO_TYPE_PROT_BAS; break; default: return -1; } xsize = size + (size + 127) / 128; (*prop)->valid = FILEIO_V_NONE; (*prop)->load_addr = 0; (*prop)->start_addr = 0; (*prop)->autostart = 0; (*prop)->size = xsize; memcpy((*prop)->name, data + 3, 8); (*prop)->name[8] = '\0'; (*prop)->data = (unsigned char *)malloc(xsize); if ((*prop)->data == 0) return -1; sptr = data; dptr = (*prop)->data; b = 1; while (size > 0) { *dptr++ = b++; len = (size > 128) ? 128 : size; memcpy(dptr, sptr, len); dptr += 128; sptr += 128; size -= 128; } return 0; } static const char * loader_BASIC_get_type(void) { return "BASIC"; } static const char * loader_BASIC_get_name(void) { return "loader for standard BASIC files"; } static file_loader_t loader = { loader_BASIC_check, loader_BASIC_load, loader_BASIC_get_type, loader_BASIC_get_name }; void loader_BASIC_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/fileio/kc2tap.c0000644000175000017500000000251312417262523016340 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "fileio/load.h" int main(int argc, char **argv) { fileio_prop_t *prop; if (argc != 3) { printf("usage: %s infile outfile\n", argv[0]); exit(1); } fileio_init(); if (fileio_load_file(argv[1], &prop) < 0) { printf("can't load file '%s'\n", argv[1]); return 1; } if (fileio_save_tap_prop(argv[2], prop) < 0) { printf("can't save file '%s'\n", argv[2]); return 1; } return 0; } KCemu-0.5.1/src/fileio/save_RAW.c0000644000175000017500000000512412417262523016624 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "fileio/loadP.h" char * make_filename(const char *filename, int load, int start) { int a; char *buf, *ptr; if ((load < 0) && (start >= 0)) load = 0; buf = (char *)malloc(strlen(filename) + 20); ptr = strrchr(filename, '.'); if (ptr == NULL) { strcpy(buf, filename); if (load >= 0) { strcat(buf, "_0x"); snprintf(buf + strlen(buf), 5, "%04x", load); } if (start >= 0) { strcat(buf, "_0x"); snprintf(buf + strlen(buf), 5, "%04x", start); } strcat(buf, ".img"); } else { a = ptr - filename; strncpy(buf, filename, a); buf[a] = '\0'; if (load >= 0) { strcat(buf, "_0x"); snprintf(buf + strlen(buf), 5, "%04x", load); } if (start >= 0) { strcat(buf, "_0x"); snprintf(buf + strlen(buf), 5, "%04x", start); } strcat(buf, ptr); } return buf; } int fileio_save_raw(const char *filename, const unsigned char *data, int size, int load, int start) { int a; int len; FILE *out; char *name; name = make_filename(filename, load, start); out = fopen(name, "wb"); free(name); if (out == NULL) return 1; len = size; while (len > 0) { a = 128; if (len < a) a = len; data++; if (fwrite(data, 1, 128, out) != 128) return 1; data += 128; len -= 129; } fclose(out); return 0; } int fileio_save_raw_prop(const char *filename, fileio_prop_t *prop) { int load = -1; int start = -1; if (prop->valid & FILEIO_V_LOAD_ADDR) load = prop->load_addr; if (prop->valid & FILEIO_V_START_ADDR) start = prop->start_addr; return fileio_save_raw(filename, prop->data, prop->size, load, start); } KCemu-0.5.1/src/fileio/load_BASICODE.c0000644000175000017500000000613712417262523017332 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "fileio/loadP.h" static int loader_BASICODE_check(const char *filename, unsigned char *data, long size) { /* * BASICODE */ if (size >= 5) if (memcmp(data, "1000 ", 5) == 0) return 1; return 0; } static void loader_BASICODE_set_filename(unsigned char *data, const char *filename) { int a, c; const char *name; static const char *allowed_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ����0123456789+-()"; name = strrchr(filename, '/'); if (name == NULL) name = filename; a = 0; while (a < 8) { if (*name == '\0') break; c = toupper(*name++); if (c == '.') break; if (strchr(allowed_chars, c) != NULL) data[a++] = c; } data[a] = '\0'; } static int loader_BASICODE_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { int newline; long a, xsize; unsigned char c, *sptr, *dptr; *prop = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (*prop == NULL) return -1; memset(*prop, 0, sizeof(fileio_prop_t)); (*prop)->type = FILEIO_TYPE_BASICODE; (*prop)->valid = FILEIO_V_NONE; (*prop)->load_addr = 0; (*prop)->start_addr = 0; (*prop)->autostart = 0; loader_BASICODE_set_filename((*prop)->name, filename); (*prop)->data = (unsigned char *)malloc(size); if ((*prop)->data == 0) return -1; sptr = data; dptr = (*prop)->data; newline = xsize = 0; for (a = 0;a < size;a++) { c = *sptr++; /* * basicode newline is 0dh */ if (c == 0x0a) c = 0x0d; /* * remove multiple newlines */ if (c == 0x0d) { if (newline) continue; else newline = 1; } else { newline = 0; } *dptr = c; dptr++; xsize++; } (*prop)->size = xsize; return 0; } static const char * loader_BASICODE_get_type(void) { return "BASICODE"; } static const char * loader_BASICODE_get_name(void) { return "loader for BASICODE files (ASCII)"; } static file_loader_t loader = { loader_BASICODE_check, loader_BASICODE_load, loader_BASICODE_get_type, loader_BASICODE_get_name }; void loader_BASICODE_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/fileio/kc2wav.c0000644000175000017500000000301612417262523016350 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "fileio/load.h" int main(int argc, char **argv) { int arg_idx = 1; fileio_prop_t *prop; if ((argc < 3) || (argc > 4)) { printf("usage: %s [-1] infile outfile\n", argv[0]); exit(1); } fileio_init(); if (strcmp(argv[1], "-1") == 0) { fileio_set_kctype(FILEIO_KC85_1); arg_idx++; } if (fileio_load_file(argv[arg_idx], &prop) < 0) { printf("can't load file '%s'\n", argv[arg_idx]); return 1; } if (fileio_save_wav_prop(argv[arg_idx + 1], prop) < 0) { printf("can't save file '%s'\n", argv[arg_idx + 1]); return 1; } return 0; } KCemu-0.5.1/src/fileio/load_SSS.c0000644000175000017500000000720412417262523016625 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "fileio/loadP.h" /* * raw basic files as found on www.robotron-net.de * in fact there are simply the first 11 bytes missing * those contain the basic marker bytes (3 times 0xd3) and * the filename (8 bytes padded with spaces) */ static int loader_SSS_check(const char *filename, unsigned char *data, long size) { int len; const char *name; len = data[0] | (data[1] << 8); /* too restricting... if (size != ((len + 127) & ~127)) return 0; */ if (len > size) return 0; if ((len + 129) < size) return 0; if (data[3] != 4) return 0; len = strlen(filename); if (len >= 4) { name = filename + len - 4; if (strcmp(name, ".sss") == 0) return 1; if (strcmp(name, ".SSS") == 0) return 1; } return 0; } static void loader_SSS_set_filename(unsigned char *data, const char *filename) { int a, c; const char *name; static const char *allowed_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ����0123456789+-()"; name = strrchr(filename, '/'); if (name == NULL) name = filename; a = 0; while (a < 8) { if (*name == '\0') break; c = toupper(*name++); if (c == '.') break; if (strchr(allowed_chars, c) != NULL) data[a++] = c; } data[a] = '\0'; } static int loader_SSS_load(const char *filename, unsigned char *data, long size, fileio_prop_t **prop) { int b; long xsize, len; unsigned char *sptr, *dptr; *prop = (fileio_prop_t *)malloc(sizeof(fileio_prop_t)); if (*prop == NULL) return -1; memset(*prop, 0, sizeof(fileio_prop_t)); size += 11; xsize = size + (size + 127) / 128; (*prop)->type = FILEIO_TYPE_BAS; (*prop)->valid = FILEIO_V_NONE; (*prop)->load_addr = 0; (*prop)->start_addr = 0; (*prop)->autostart = 0; (*prop)->size = xsize; loader_SSS_set_filename((*prop)->name, filename); (*prop)->data = (unsigned char *)malloc(xsize); if ((*prop)->data == 0) return -1; sptr = data; dptr = (*prop)->data; b = 1; while (size > 0) { *dptr++ = b++; len = (size > 128) ? 128 : size; if (b == 2) // first block as b is incremented above !!! { memset(dptr, 0xd3, 3); memset(dptr + 3, 0x20, 8); memcpy(dptr + 3, (*prop)->name, strlen((char *)(*prop)->name)); dptr += 11; len -= 11; } memcpy(dptr, sptr, len); dptr += len; sptr += len; size -= 128; } return 0; } static const char * loader_SSS_get_type(void) { return "BASIC"; } static const char * loader_SSS_get_name(void) { return "loader for raw BASIC files (*.sss)"; } static file_loader_t loader = { loader_SSS_check, loader_SSS_load, loader_SSS_get_type, loader_SSS_get_name }; void loader_SSS_init(void) { fileio_register_loader(&loader); } KCemu-0.5.1/src/util/0000755000175000017500000000000012417262523014515 5ustar glaubitzglaubitzKCemu-0.5.1/src/util/tp-type.c0000644000175000017500000000311012417262523016256 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include int main(void) { int c; while (242) { c = fgetc(stdin); if (c == EOF) break; if (c == 0x1a) break; c = c & 0x7f; switch (c) { case 0x02: continue; case 0x05: continue; case 0x11: continue; case 0x12: continue; case 0x19: continue; case 0x1e: continue; case 0x0f: c = '-'; break; case 0x1f: c = '-'; break; // encoding: latin1 case 0x5d: c = 0xc4; break; // [ -> Ä case 0x5e: c = 0xd6; break; // \ -> Ö case 0x5f: c = 0xdc; break; // ] -> Ü case 0x7b: c = 0xe4; break; // { -> ä case 0x7c: c = 0xf6; break; // | -> ö case 0x7d: c = 0xfc; break; // } -> ü case 0x7e: c = 0xdf; break; // ~ -> ß } fputc(c, stdout); } return 0; } KCemu-0.5.1/src/util/dump2img.c0000644000175000017500000000707212417262523016413 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include /* * AnaDisk 2.07 26-Aug-92 * * * DUMP DISKETTE TO A DOS FILE * * Dump provides a facility to read selected areas of a diskette and * write them to a DOS file. The range of cylinders to be "dumped" * to diskette, as well as the side of the diskette may be speci- * fied. This function is not limited to DOS diskettes. * * Each sector written to the file is optionally preceded by an 8- * byte header record of the following form: * * +------+------+------+------+------+------+---------+ * | ACYL | ASID | LCYL | LSID | LSEC | LLEN | COUNT | * +------+------+------+------+------+------+---------+ * * ACYL Actual cylinder, 1 byte * ASID Actual side, 1 byte * LCYL Logical cylinder; cylinder as read, 1 byte * LSID Logical side; or side as read, 1 byte * LSEC Sector number as read, 1 byte * LLEN Length code as read, 1 byte * COUNT Byte count of data to follow, 2 bytes. If zero, * no data is contained in this sector. */ int dump_header(void) { int acyl, asid, lcyl, lsid, lsec, llen, c, count; acyl = getchar(); if (acyl == EOF) return -1; asid = getchar(); if (asid == EOF) return -1; lcyl = getchar(); if (lcyl == EOF) return -1; lsid = getchar(); if (lsid == EOF) return -1; lsec = getchar(); if (lsec == EOF) return -1; llen = getchar(); if (llen == EOF) return -1; c = getchar(); if (c == EOF) return -1; count = c; c = getchar(); if (c == EOF) return -1; count |= (c << 8); fprintf(stderr, "H/C/S: %d/%d/%d\n", lsid, lcyl, lsec); fprintf(stderr, "+------+------+------+------+------+------+-----------+\n"); fprintf(stderr, "| acyl | asid | lcyl | lsid | lsec | llen | count |\n"); fprintf(stderr, "| %3d | %3d | %3d | %3d | %3d | %3d | %9d |\n", acyl, asid, lcyl, lsid, lsec, llen, count); fprintf(stderr, "+------+------+------+------+------+------+-----------+\n"); return count; } int dump_sector(void) { unsigned char buf[16]; int a, b, c, len, blen, ret; len = dump_header(); if (len < 0) return -1; a = 0; ret = 0; while (a < len) { for (b = 0;b < 16;b++) { if ((a + b) >= len) break; c = getchar(); if (c == EOF) { ret = -1; break; } buf[b] = c; blen = b + 1; } for (b = 0;b < 16;b++) if (b < blen) fputc(buf[b], stdout); if (blen != 16) break; a += 16; } return ret; } int main(void) { while (242) { if (dump_sector() < 0) break; } return 0; } KCemu-0.5.1/src/util/tape-check-bc.c0000644000175000017500000000363612417262523017257 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include static int verbose = 0; int check(const char *filename) { int c; int crc; int last; int bytes; FILE *f; f = fopen(filename, "rb"); if (f == NULL) return 0; printf("\n* checking file '%s'...\n", filename); crc = 0; last = 0; bytes = 0; while (242) { c = fgetc(f); if (c == EOF) break; bytes++; crc ^= (0x80 ^ last); last = c; if (verbose > 0) printf(" %8d, %02x, %02x\n", bytes, c, crc ^ c); } printf(" %d bytes.\n", bytes); if (crc == last) printf(" CRC (%02x) ok.\n", crc); else printf(" CRC ERROR: file crc is %02x, calculated %02x!\n", last, crc); return crc == last; } int main(int argc, char **argv) { int a; if (argc == 1) { printf("usage: %s file [file ...]\n", argv[0]); exit(1); } for (a = 1;a < argc;a++) { if (strcmp("-v", argv[a]) == 0) { verbose = 1; continue; } if (check(argv[a])) printf(" all ok.\n"); else printf(" has errors!\n"); } return 0; } KCemu-0.5.1/src/util/tape-merge.c0000644000175000017500000000522412417262523016712 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include typedef struct data { FILE *f; const char *filename; unsigned char buf[130]; struct data *next; } data_t; static FILE *out = NULL; static data_t *data = NULL; int check(const unsigned char *buf) { int a; unsigned char crc; crc = 0; for (a = 1;a < 129;a++) crc += buf[a]; if (crc == buf[129]) return 1; return 0; } int read_block(void) { int len; int block; int written; data_t *ptr; block = -1; written = 0; for (ptr = data;ptr != NULL;ptr = ptr->next) { len = fread(ptr->buf, 1, 130, ptr->f); if (len == 0) return 1; if (len != 130) { printf("i/o error\n"); exit(1); } if (block < 0) { block = ptr->buf[0]; printf("BLOCK %3d (%02x) ", block, block); } if (block != ptr->buf[0]) { printf("block %d not found in file %s\n", block, ptr->filename); exit(1); } if (!written && check(ptr->buf)) { printf("%s", ptr->filename); written = 1; fwrite(ptr->buf, 1, 130, out); } } if (!written) { printf("no block found with valid crc, using file %s", data->filename); fwrite(data->buf, 1, 130, out); } printf("\n"); return 0; } int main(int argc, char **argv) { int a; data_t *ptr; if (argc < 3) { printf("usage: %s output file [file ...]\n", argv[0]); exit(1); } if (access(argv[1], F_OK) == 0) { printf("output file already exists, abort.\n"); exit(1); } out = fopen(argv[1], "wb"); if (out == NULL) exit(1); for (a = 2;a < argc;a++) { ptr = (data_t *)malloc(sizeof(data_t)); if (ptr == NULL) exit(1); ptr->f = fopen(argv[a], "rb"); ptr->filename = argv[a]; ptr->next = data; data = ptr; } while (!read_block()); return 0; } KCemu-0.5.1/src/util/tape-tool.c0000644000175000017500000003000312417262523016561 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "libaudio/libaudio.h" #define STATE_NO_SYNC (0) #define STATE_SYNC (1) #define STATE_BIT (2) #define STATE_BIT_SYNC (3) static int _state; static int _counter; static float _lock = 1e20; static FILE *f = NULL; static char filename[100]; static int filename_idx = 0; static int _verbose = 0; static int _byte_idx; static unsigned char _buf[130]; int check_file_type(char *name, char *type, unsigned char *buf); void new_file(void) { while (242) { snprintf(filename, 100, "output-%04d.img", filename_idx++); if (access(filename, F_OK) != 0) break; if (filename_idx > 9999) { printf("out of filenames!\n"); exit(1); } } if (f != NULL) fclose(f); f = fopen(filename, "wb"); if (f == NULL) { printf("can't write file '%s'\n", filename); exit(1); } printf("- writing to file '%s'\n", filename); _lock = 1e20; } void set_state(int state) { if (_verbose > 1) printf("set_state(): %d\n", state); switch (state) { case STATE_NO_SYNC: _byte_idx = 0; memset(_buf, 0, 130); _buf[129] = 0xff; break; case STATE_SYNC: break; case STATE_BIT: break; case STATE_BIT_SYNC: break; } _state = state; } void handle_block(void) { int a, b; unsigned char crc; char name[100], type[100]; if (_byte_idx == 0) return; if (f != NULL) { fwrite(_buf, 1, 130, f); fflush(f); } crc = 0; for (a = 1;a < 129;a++) crc += _buf[a]; if ((_buf[0] == 0) || (_buf[0] == 1)) if (check_file_type(name, type, _buf)) printf("*\n* FILE: '%s' [%s]\n*\n", name, type); printf("+ BLOCK: %3d (%02x) [%3d], CRC = %02x / %02x%s%s\n", _buf[0], _buf[0], _byte_idx, _buf[129], crc, (_buf[129] != crc) ? " *** CRC ERROR ***" : "", (_byte_idx != 130) ? " *** INCOMPLETE DATA ***" : ""); if (_verbose > 0) for (a = 0;a < 8;a++) { printf("%02x:", 16 * a); for (b = 0;b < 16;b++) { printf(" %02x", _buf[16 * a + b + 1]); if (b == 7) printf(" "); } printf(" | "); for (b = 0;b < 16;b++) { printf("%c", isprint(_buf[16 * a + b + 1]) ? _buf[16 * a + b + 1] : '.'); if (b == 7) printf(" "); } printf("\n"); } _byte_idx = 0; } void handle_byte(int byte) { if (_verbose > 1) printf("BYTE: %02x '%c' (%d)\n", byte, isprint(byte) ? byte : '.', _byte_idx); _buf[_byte_idx++] = byte; if (_byte_idx == 130) { handle_block(); set_state(STATE_NO_SYNC); } else set_state(STATE_BIT_SYNC); } void handle_NO_SYNC(float val) { int a; float v, p; static int idx = 0, cnt = 0; static float buf[10] = { 0.0, }; v = 0; for (a = 0;a < 10;a++) v += buf[a]; v /= 10; buf[idx++] = val; if (idx >= 10) idx = 0; p = (100.0 * (v - val)) / v; if (p > 25.0) cnt = 0; else if (p < -25.0) cnt = 0; else cnt++; if (v > 20 * _lock) new_file(); if (_verbose > 1) printf("NO SYNC: %6.2f, %6.2f, %10.2f, %d\n", val, v, p, cnt); if (cnt > 100) { idx = 0; cnt = 0; for (a = 0;a < 10;a++) buf[a] = 0.0; _lock = v; if (_verbose > 1) printf("LOCK: %.2f\n", _lock); set_state(STATE_SYNC); } } void handle_SYNC(float val) { float p; static int cnt = 0; p = (100.0 * (val - _lock)) / _lock; if (_verbose > 1) printf("SYNC: %6.2f, %6.2f => %6.2f\n", val, _lock, p); if (p > 30.0) { cnt++; } else if (p < -30.0) { handle_block(); set_state(STATE_NO_SYNC); } else { cnt = 0; } if (cnt == 2) { cnt = 0; set_state(STATE_BIT); return; } } void handle_BIT_SYNC(float val) { float p; static int cnt = 0; p = (100.0 * (val - _lock)) / _lock; if (_verbose > 1) printf("BIT SYNC: %6.2f, %6.2f => %6.2f\n", val, _lock, p); if (p < -30.0) { handle_block(); set_state(STATE_NO_SYNC); return; } if (cnt == 0) { cnt++; } else { cnt = 0; set_state(STATE_BIT); } } void handle_BIT(float val) { int bit; float p, l; static float sum; static int cnt = 0; static int idx = 0; static int byte = 0; if (cnt == 0) { sum = val; cnt++; return; } else { sum += val; cnt = 0; } l = 2.0 * _lock; p = (100.0 * (sum - l)) / l; if (p < -18.0) bit = 0; else if (p > 60.0) bit = -1; // STOP-BIT else bit = 128; if (_verbose > 1) printf("BIT: %6.2f, %6.2f => %3d (%d)\n", sum, p, bit, idx); byte >>= 1; byte = (byte & 0x7f) | (bit & 0x80); idx++; if (idx == 8) { idx = 0; handle_byte(byte); } } void handle_zero_transition(int tics) { static float c = 0; c = tics; switch (_state) { case STATE_NO_SYNC: handle_NO_SYNC(c); break; case STATE_SYNC: handle_SYNC(c); break; case STATE_BIT: handle_BIT(c); break; case STATE_BIT_SYNC: handle_BIT_SYNC(c); break; } } void show_sample(int sample, int fill, const char *text) { int a, b, c; b = 0; for (a = 0;a < 78;a++) { c = (sample + 32768) / (65536 / 78); if (a == c) { printf("#"); b++; continue; } if (a == (78 / 2)) { printf("|"); b++; continue; } if (!fill && (b == 2)) break; printf(" "); } printf("%s", text); } int find_zero_transition(int *buf, int len, int min, int max) { int a; int zero = (min + max) / 2; if (min == 40000) return 0; for (a = 0;a < len;a++) { if ((buf[a] <= zero) && (buf[a + 1] > zero)) return len - a; if ((buf[a] >= zero) && (buf[a + 1] < zero)) return len - a; } return len / 2; } void handle_sample(int sample) { #define LENGTH (3) long v; int a; static int x = -1; static int idx = 0; static long buf[LENGTH] = { 0, }; if (sample < -32000) sample = -32000; if (sample > 32000) sample = 32000; buf[idx] = sample; idx = (idx + 1) % LENGTH; v = 0; for (a = 0;a < LENGTH;a++) v += buf[a]; v /= LENGTH; if (_verbose > 2) show_sample(v, 0, "\n"); _counter++; if (x < 0) { if (v > 0) { handle_zero_transition(_counter); x = 1; _counter = 0; } } else { if (v < 0) { handle_zero_transition(_counter); x = -1; _counter = 0; } } } void handle_sample2(int sample) { #define LEN (1000) int a, z; int tics = -1; static int x = 1; static int idx = 0; static int cnt = 0; static int min = 40000; static int max = -40000; static int counter = 0; static int old_counter = 0; static int buf[LEN]; counter++; for (a = LEN - 1;a > 0;a--) buf[a] = buf[a - 1]; buf[0] = sample; if (_verbose > 2) show_sample(sample, 1, ""); if (_verbose > 1) printf("%8d, %8d, %8d, %8d (%8d) - %d %8d / %8d ", cnt, old_counter, counter, sample, idx, x, min, max); idx++; if (x) { if (sample > max) { cnt = 0; max = sample; } else { cnt++; if ((max - sample) > 20000) { z = find_zero_transition(buf, idx, min, max); tics = 0; if (_verbose > 1) printf("max %d, %d", tics, z); min = 40000; idx = 0; x = 0; } } } else { if (sample < min) { cnt = 0; min = sample; } else { cnt++; if ((sample - min) > 20000) { z = find_zero_transition(buf, idx, min, max); tics = 0; if (_verbose > 1) printf("min %d, %d", tics, z); max = -40000; idx = 0; x = 1; } } } if (_verbose > 1) printf("\n"); //if (tics > 0) //handle_zero_transition(tics); } void fastloader(int counter) { int bit; float v; static int x = 0; static int cnt = 0; static int state = 0; static int crc = 0xff; static int byte = 0; static int byte_cnt = 0; static int lock = 0; static int old_counter = 0; static float sum = 0; static int block = 0; bit = counter >= lock ? : 0; if (bit == 1) { x = 0; if (_verbose > 2) printf(" => %d | %4d | %d", state, counter, bit); } else { if (x == 0) { if (_verbose > 2) printf(" => %d | %4d | ?", state, counter); x = counter; return; } if (_verbose > 2) printf(" => %d | %4d | %d", state, x + counter, bit); x = 0; } switch (state) { case 0: v = (counter - old_counter); v = (100.0 * v) / old_counter; old_counter = counter; if (v < 20) { cnt++; sum += counter; } else { cnt = 0; sum = 0; } if (cnt > 200) { cnt = 0; state = 1; block = 0; lock = (int)((3 * (sum / 200.0)) / 4 + 0.5); printf("LOCK: %.2f => %d\n", sum / 200.0, lock); sum = 0; } break; case 1: if ((cnt > 0) && (bit == 1)) { cnt = 0; state = 0; } else { if (bit == 0) cnt++; } if (cnt == 2) { cnt = 0; byte = 0; state = 2; byte_cnt = 0; } break; case 2: cnt++; byte >>= 1; byte |= (bit == 1) ? 256 : 0; if (cnt == 9) { byte_cnt++; if ((byte_cnt > 1) && (((byte_cnt - 1) % 17) == 0)) { printf("CRC = %02x, calculated: %02x (byte_cnt = %d, block = %d) %s\n", byte / 2, crc, byte_cnt, block, (byte / 2) == crc ? "OK" : "*** ERROR ***"); if (byte_cnt == 137) { block++; if (f != NULL) { fputc((crc + 1) % 0xff, f); fflush(f); } state = 1; crc = 0xff; } } else { if (byte_cnt > 1) crc = (crc + (byte / 2)) & 0xff; if (f != NULL) { fputc((byte / 2) & 0xff, f); fflush(f); } printf(" BYTE %02x (%d)", (byte / 2) & 0xff, byte_cnt); printf(" %c", isprint((byte / 2) & 0xff) ? (byte / 2) & 0xff : '.'); if (byte & 1) printf(" [ERROR]"); printf("\n"); } cnt = 0; byte = 0; } break; } } void handle_sample3(int sample) { float v; static int x = -1; static int old_sample = 0; //vv += (sample - old_sample); //vv *= 0.8; v = sample; if (v > 30000) v = 30000; if (v < -30000) v = -30000; if (_verbose > 2) { show_sample((int)v, 1, ""); printf("%10.2f", v); } _counter++; if (x < 0) { if (v > 0) { fastloader(_counter); x = 1; _counter = 0; } } else { if (v < 0) { fastloader(_counter); x = -1; _counter = 0; } } old_sample = sample; if (_verbose > 2) printf("\n"); } int main(int argc, char **argv) { int a, c, channels; libaudio_prop_t *prop; libaudio_init(LIBAUDIO_TYPE_ALL); new_file(); _counter = 0; set_state(STATE_NO_SYNC); for (a = 1;a < argc;a++) { if (strcmp("-v", argv[a]) == 0) { _verbose++; continue; } prop = libaudio_open(argv[a]); channels = libaudio_get_channels(prop); while (242) { c = libaudio_read_sample(prop); if (c == EOF) break; if (channels == 2) { c += libaudio_read_sample(prop); c /= 2; } handle_sample(c - 32768); } libaudio_close(prop); } return 0; } KCemu-0.5.1/src/util/dump2txt.c0000644000175000017500000000732512417262523016457 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include /* * AnaDisk 2.07 26-Aug-92 * * * DUMP DISKETTE TO A DOS FILE * * Dump provides a facility to read selected areas of a diskette and * write them to a DOS file. The range of cylinders to be "dumped" * to diskette, as well as the side of the diskette may be speci- * fied. This function is not limited to DOS diskettes. * * Each sector written to the file is optionally preceded by an 8- * byte header record of the following form: * * +------+------+------+------+------+------+---------+ * | ACYL | ASID | LCYL | LSID | LSEC | LLEN | COUNT | * +------+------+------+------+------+------+---------+ * * ACYL Actual cylinder, 1 byte * ASID Actual side, 1 byte * LCYL Logical cylinder; cylinder as read, 1 byte * LSID Logical side; or side as read, 1 byte * LSEC Sector number as read, 1 byte * LLEN Length code as read, 1 byte * COUNT Byte count of data to follow, 2 bytes. If zero, * no data is contained in this sector. */ int dump_header(void) { int acyl, asid, lcyl, lsid, lsec, llen, c, count; acyl = getchar(); if (acyl == EOF) return -1; asid = getchar(); if (asid == EOF) return -1; lcyl = getchar(); if (lcyl == EOF) return -1; lsid = getchar(); if (lsid == EOF) return -1; lsec = getchar(); if (lsec == EOF) return -1; llen = getchar(); if (llen == EOF) return -1; c = getchar(); if (c == EOF) return -1; count = c; c = getchar(); if (c == EOF) return -1; count |= (c << 8); printf("H/C/S: %d/%d/%d\n", lsid, lcyl, lsec); printf("+------+------+------+------+------+------+-----------+\n"); printf("| acyl | asid | lcyl | lsid | lsec | llen | count |\n"); printf("| %3d | %3d | %3d | %3d | %3d | %3d | %9d |\n", acyl, asid, lcyl, lsid, lsec, llen, count); printf("+------+------+------+------+------+------+-----------+\n"); return count; } int dump_sector(void) { unsigned char buf[16]; int a, b, c, len, blen, ret; len = dump_header(); if (len < 0) return -1; a = 0; ret = 0; while (a < len) { for (b = 0;b < 16;b++) { if ((a + b) >= len) break; c = getchar(); if (c == EOF) { ret = -1; break; } buf[b] = c; blen = b + 1; } printf("%04x: ", a); for (b = 0;b < 16;b++) { if (b < blen) { printf("%02x ", buf[b]); } else { printf(" "); } if (b == 7) printf("- "); } printf(" | "); for (b = 0;b < blen;b++) { printf("%c", (isprint(buf[b])) ? buf[b] : '.'); if (b == 7) printf(" - "); } printf("\n"); if (blen != 16) break; a += 16; } printf("\n"); return ret; } int main(void) { while (242) { if (dump_sector() < 0) break; } return 0; } KCemu-0.5.1/src/util/Makefile.am0000644000175000017500000000405712417262523016557 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in # bin_PROGRAMS = wav2kc noinst_PROGRAMS = disk-tool tape-tool tape-check tape-check-bc tape-merge tape-test tape-basicode tape-split tape-rename basic-decode make-font tp-type dump2txt dump2img # send_file show-wav ft disp-wav wavtokc audio2kc LIBS= AM_CPPFLAGS = \ -I../../include \ `gtk-config --cflags` \ -DDEBUG #wav2kc_SOURCES = \ # wav2kc.c #wavtokc_SOURCES = \ # wavtokc2.c wav2kc.c #wavtokc_LDADD = \ # -lm #audio2kc_SOURCES = \ # audio2kc.c # #audio2kc_LDADD = \ # -laudiofile #send_file_SOURCES = \ # send_file.c #show_wav_SOURCES = \ # show-wav.c #show_wav_LDFLAGS = \ # `gtk-config --libs` #ft_SOURCES = \ # ft.c #ft_LDADD = \ # -lm #disp_wav_SOURCES = \ # disp-wav.c #disp_wav_LDADD = \ # -lncurses disk_tool_SOURCES = \ disk-tool.c tape_tool_SOURCES = \ tape-tool.c tape-type.c tape_tool_LDADD = \ ../libaudio/libaudio.a \ $(SNDFILE_LIBS) \ $(AUDIOFILE_LIBS) \ $(MP3LAME_LIBS) \ $(VORBIS_LIBS) \ $(F_L_A_C_LIBS) tape_test_SOURCES = \ tape-test.c tape_test_LDADD = \ ../libaudio/libaudio.a \ $(SNDFILE_LIBS) \ $(AUDIOFILE_LIBS) \ $(MP3LAME_LIBS) \ $(VORBIS_LIBS) \ $(F_L_A_C_LIBS) tape_basicode_SOURCES = \ tape-basicode.c tape_basicode_LDADD = \ ../libaudio/libaudio.a \ $(SNDFILE_LIBS) \ $(AUDIOFILE_LIBS) \ $(MP3LAME_LIBS) \ $(VORBIS_LIBS) \ $(F_L_A_C_LIBS) tape_split_SOURCES = \ tape-split.c tape_check_SOURCES = \ tape-check.c tape-type.c tape_check_bc_SOURCES = \ tape-check-bc.c tape_merge_SOURCES = \ tape-merge.c basic_decode_SOURCES = \ basic-decode.c basic_decode_LDADD = \ ../fileio/libfileio.a make_font_SOURCES = \ make-font.c make_font_LDADD = \ $(INTLLIBS) tape_rename_SOURCES = \ tape-rename.c tape-type.c tp_type_SOURCES = \ tp-type.c KCemu-0.5.1/src/util/tape-rename.c0000644000175000017500000000373712417262523017071 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include int check_file_type(char *name, char *type, unsigned char *buf); static int _verbose = 0; void do_rename(const char *filename) { FILE *f; int a, len; unsigned char crc; unsigned char buf[130]; char name[100], type[100]; f = fopen(filename, "rb"); if (f == NULL) return; len = fread(buf, 1, 130, f); if (len != 130) { printf("# i/o error reading first block of file '%s'\n", filename); return; } crc = 0; for (a = 1;a < 129;a++) crc += buf[a]; if (crc != buf[129]) { printf("# crc error: in file %02xh, calculated %02xh\n", buf[129], crc); return; } if (check_file_type(name, type, buf)) printf("mv '%s' '%s' # type = %s\n", filename, name, type); else printf("# can't determine type of file '%s'\n", filename); } int main(int argc, char **argv) { int a; if (argc == 1) { printf("usage: %s file [file ...]\n", argv[0]); exit(1); } for (a = 1;a < argc;a++) { if (strcmp("-v", argv[a]) == 0) { _verbose++; continue; } do_rename(argv[a]); } return 0; } KCemu-0.5.1/src/util/tape-check.c0000644000175000017500000000567512417262523016702 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include static int verbose = 0; int check_file_type(char *name, char *type, unsigned char *buf); int check(const char *filename) { int a; int len; int ret; FILE *f; int error; int block = -1; int first = -1; int blocks; int blocks_ok; long offset; unsigned char crc; unsigned char buf[130]; char name[100], type[100]; ret = 1; offset = 0; blocks = 0; blocks_ok = 0; f = fopen(filename, "rb"); if (f == NULL) return 0; printf("\n* checking file '%s'...\n", filename); while (242) { len = fread(buf, 1, 130, f); if (len == 0) break; if (len != 130) { printf(" i/o error\n"); exit(1); } crc = 0; for (a = 1;a < 129;a++) crc += buf[a]; blocks++; if (buf[129] != crc) ret = 0; else blocks_ok++; error = 0; if (block > 0) if ((((block + 1) & 0xff) != buf[0]) && (buf[0] != 0xff)) { ret = 0; error = 1; } block = buf[0]; if ((block == 0) || (block == 1)) if (check_file_type(name, type, buf)) printf("\n FILE: '%s' [%s]\n", name, type); if (first < 0) first = block; if ((buf[129] != crc) || error || verbose) printf(" BLOCK %3d (%02x), CRC = %02x / %02x [%8ld]%s%s\n", block, block, buf[129], crc, offset, (buf[129] != crc) ? " *** CRC ERROR ***" : "", error ? " *** BLOCK ERROR ***" : ""); offset += len; } if (blocks == 0) { printf(" empty file.\n"); } else { printf(" first block: %3d (%02x)\n", first, first); printf(" last block: %3d (%02x)\n", block, block); printf(" %d blocks, %d ok.\n", blocks, blocks_ok); } return ret; } int main(int argc, char **argv) { int a; if (argc == 1) { printf("usage: %s file [file ...]\n", argv[0]); exit(1); } for (a = 1;a < argc;a++) { if (strcmp("-v", argv[a]) == 0) { verbose = 1; continue; } if (check(argv[a])) printf(" all ok.\n"); else printf(" has errors!\n"); } return 0; } KCemu-0.5.1/src/util/tape-split.c0000644000175000017500000000376412417262523016755 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include static int verbose = 0; void split(const char *filename) { int a; int len; FILE *f, *f2; unsigned char crc; unsigned char buf[130]; char fbuf[1000]; f = fopen(filename, "rb"); if (f == NULL) return; printf("\n* splitting file '%s'...\n", filename); while (242) { len = fread(buf, 1, 130, f); if (len == 0) break; if (len != 130) { printf(" i/o error\n"); exit(1); } crc = 0; for (a = 1;a < 129;a++) crc += buf[a]; if (buf[129] != crc) continue; snprintf(fbuf, 1000, "%04d_%s", buf[0], filename); printf(" BLOCK %3d (%02x), CRC = %02x => %s\n", buf[0], buf[0], buf[129], fbuf); f2 = fopen(fbuf, "wb"); if (f2 != NULL) { fwrite(buf, 1, 130, f2); fclose(f2); } } fclose(f); } int main(int argc, char **argv) { int a; if (argc == 1) { printf("usage: %s file [file ...]\n", argv[0]); exit(1); } for (a = 1;a < argc;a++) { if (strcmp("-v", argv[a]) == 0) { verbose = 1; continue; } split(argv[a]); } return 0; } KCemu-0.5.1/src/util/tape-type.c0000644000175000017500000000515112417262523016573 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include int check_file_type(char *name, char *type, unsigned char *buf) { int a; const char *t = NULL; if ((buf[1] == 0xd3) && (buf[2] == 0xd3) && (buf[3] == 0xd3)) { t = "BASIC"; memcpy(name, &buf[4], 8); name[8] = '\0'; } if ((buf[1] == 0xd4) && (buf[2] == 0xd4) && (buf[3] == 0xd4)) { t = "DATA"; memcpy(name, &buf[4], 8); name[8] = '\0'; } if ((buf[1] == 0xd5) && (buf[2] == 0xd5) && (buf[3] == 0xd5)) { t = "LIST"; memcpy(name, &buf[4], 8); name[8] = '\0'; } if ((buf[1] == 0xd7) && (buf[2] == 0xd7) && (buf[3] == 0xd7)) { t = "BASIC*"; memcpy(name, &buf[4], 8); name[8] = '\0'; } if ((buf[9] == 'C') && (buf[10] == 'O') && (buf[11] == 'M')) { t = "COM"; memcpy(name, &buf[1], 8); name[8] = '\0'; } if ((buf[9] == 'A') && (buf[10] == 'S') && (buf[11] == 'M')) { t = "ASM"; memcpy(name, &buf[1], 8); name[8] = '\0'; } if ((buf[9] == 'T') && (buf[10] == 'X') && (buf[11] == 'T')) { t = "TXT"; memcpy(name, &buf[1], 8); name[8] = '\0'; } if ((buf[9] == 'P') && (buf[10] == 'A') && (buf[11] == 'S')) { t = "PAS"; memcpy(name, &buf[1], 8); name[8] = '\0'; } if ((buf[9] == 'S') && (buf[10] == 'C') && (buf[11] == 'R')) { t = "SCR"; memcpy(name, &buf[1], 8); name[8] = '\0'; } if ((buf[9] == '\0') && (buf[10] == '\0') && (buf[11] == '\0')) if (strchr("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", buf[1]) != NULL) { t = "(none)"; memcpy(name, &buf[1], 8); name[8] = '\0'; } if (t == NULL) return 0; for (a = 7;(a > 0) && name[a] == ' ';a--) name[a] = '\0'; strcpy(type, t); return 1; } KCemu-0.5.1/src/util/disk-tool.c0000644000175000017500000000241612417262523016571 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include void dump_sector(int c, int h, int s) { int a; putchar(c); // acyl putchar(h); // asid putchar(c); // lcyl putchar(h); // lsid putchar(s); // lsec putchar(3); // llen putchar(0); // count low putchar(4); // count high for (a = 0;a < 1024;a++) putchar(0xe5); } int main(void) { int c, h, s; for (c = 0;c < 80;c++) for (h = 0;h < 2;h++) for (s = 1;s < 6;s++) dump_sector(c, h, s); return 0; } KCemu-0.5.1/src/util/make-font.c0000644000175000017500000000467612417262523016557 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include static unsigned char __font[2048]; int reverse(int byte) { int a, ret; ret = 0; for (a = 0;a < 8;a++) { ret <<= 1; ret |= byte & 1; byte >>= 1; } return ret; } void print_char(int c) { int a; printf("STARTCHAR char%d\n", c); printf("ENCODING %d\n", c); printf("SWIDTH 1000 0\n"); printf("DWIDTH 8 0\n"); printf("BBX 8 8 0 -2\n"); printf("BITMAP\n"); for (a = 0;a < 8;a++) { //printf("%02X\n", reverse(__font[8 * c + a])); printf("%02X\n", __font[8 * c + a]); } printf("ENDCHAR\n"); } int main(int argc, char **argv) { FILE *f; int a, size, b1, b2; size = 8; if (argc < 3) { printf("usage: %s \n", argv[0]); exit(1); } f = fopen(argv[1], "rb"); if (f == NULL) { printf("can't open file `%s'!\n", argv[1]); exit(1); } if (fread(__font, 1, 2048, f) != 2048) { printf("could not read 2048 bytes from font file!\n"); exit(1); } if (argc >= 4) size = atoi(argv[3]); if (size < 8) size = 8; b1 = (size - 8) / 2; b2 = (size - 8) - b1; printf("STARTFONT 2.1\n" "FONT %s\n" "SIZE %d 72 72\n" "FONTBOUNDINGBOX 8 %d 0 -2\n" "STARTPROPERTIES 9\n" "POINT_SIZE 8\n" "PIXEL_SIZE 1\n" "RESOLUTION_X 72\n" "RESOLUTION_Y 72\n" "FONT_ASCENT %d\n" "FONT_DESCENT %d\n" "AVERAGE_WIDTH 8\n" "SPACING \"M\"\n" "DEFAULT_CHAR 32\n" "ENDPROPERTIES\n" "CHARS 256\n", argv[2], size, size, 7 + b1, 1 + b2); for (a = 0;a < 256;a++) print_char(a); printf("ENDFONT\n"); return 0; } KCemu-0.5.1/src/util/basic-decode.c0000644000175000017500000001614612417262523017173 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include static int _binary = 0; static int _verbose = 0; static struct token { int val; const char *text; } token[] = { { 0x80, "END" }, { 0x81, "FOR" }, { 0x82, "NEXT" }, { 0x83, "DATA" }, { 0x84, "INPUT" }, { 0x85, "DIM" }, { 0x86, "READ" }, { 0x87, "LET" }, { 0x88, "GOTO" }, { 0x89, "RUN" }, { 0x8a, "IF" }, { 0x8b, "RESTORE" }, { 0x8c, "GOSUB" }, { 0x8d, "RETURN" }, { 0x8e, "REM" }, { 0x8f, "STOP" }, { 0x90, "OUT" }, { 0x91, "ON" }, { 0x92, "NULL" }, { 0x93, "WAIT" }, { 0x94, "DEF" }, { 0x95, "POKE" }, { 0x96, "DOKE" }, { 0x97, "AUTO" }, { 0x98, "LINES" }, { 0x99, "CLS" }, { 0x9a, "WIDTH" }, { 0x9b, "BYE" }, { 0x9c, "!" }, { 0x9d, "CALL" }, { 0x9e, "PRINT" }, { 0x9f, "CONT" }, { 0xa0, "LIST" }, { 0xa1, "CLEAR" }, { 0xa2, "CLOAD" }, { 0xa3, "CSAVE" }, { 0xa4, "NEW" }, { 0xa5, "TAB(" }, { 0xa6, "TO" }, { 0xa7, "FN" }, { 0xa8, "SPC(" }, { 0xa9, "THEN" }, { 0xaa, "NOT" }, { 0xab, "STEP" }, { 0xac, "+" }, { 0xad, "-" }, { 0xae, "*" }, { 0xaf, "/" }, { 0xb0, "^" }, { 0xb1, "AND" }, { 0xb2, "OR" }, { 0xb3, ">" }, { 0xb4, "=" }, { 0xb5, "<" }, { 0xb6, "SGN" }, { 0xb7, "INT" }, { 0xb8, "ABS" }, { 0xb9, "USR" }, { 0xba, "FRE" }, { 0xbb, "INP" }, { 0xbc, "POS" }, { 0xbd, "SQR" }, { 0xbe, "RND" }, { 0xbf, "LN" }, { 0xc0, "EXP" }, { 0xc1, "COS" }, { 0xc2, "SIN" }, { 0xc3, "TAN" }, { 0xc4, "ATN" }, { 0xc5, "PEEK" }, { 0xc6, "DEEK" }, { 0xc7, "PI" }, { 0xc8, "LEN" }, { 0xc9, "STR$" }, { 0xca, "VAL" }, { 0xcb, "ASC" }, { 0xcc, "CHR$" }, { 0xcd, "LEFT$" }, { 0xce, "RIGHT$" }, { 0xcf, "MID$" }, { 0xd0, "LOAD" }, { 0xd1, "TRON" }, { 0xd2, "TROFF" }, { 0xd3, "EDIT" }, { 0xd4, "ELSE" }, { 0xd5, "INKEY$" }, { 0xd6, "JOYST" }, { 0xd7, "STRING$" }, { 0xd8, "INSTR" }, { 0xd9, "RENUM" }, { 0xda, "DELETE" }, { 0xdb, "PAUSE" }, { 0xdc, "BEEP" }, { 0xdd, "WINDOW" }, { 0xde, "BORDER" }, { 0xdf, "INK" }, { 0xe0, "PAPER" }, { 0xe1, "AT" }, { 0xe2, "PSET" }, { 0xe3, "LINE" }, { 0xe4, "CIRCLE" }, { 0xe5, "!" }, { 0xe6, "PAINT" }, { 0xe7, "LABEL" }, { 0xe8, "SIZE" }, { 0xe9, "ZERO" }, { 0xea, "HOME" }, { 0xeb, "!" }, { 0xec, "GCLS" }, { 0xed, "SCALE" }, { 0xee, "SCREEN" }, { 0xef, "POINT" }, { 0xf0, "XPOS" }, { 0xf1, "!" }, { 0xf2, "YPOS" }, { 0x00, NULL } }; typedef struct decode_state { int state; int size; int addr; int last; int len; int lineno; unsigned char *line; char *text; int cnt; } decode_state_t; static decode_state_t decode_state; const char * decode_token(int byte) { int a; static char buf[5]; for (a = 0;token[a].val != 0;a++) if (token[a].val == byte) return token[a].text; //fprintf(stderr, "can't decode token %02x\n", byte); snprintf(buf, 5, "[%02x]", byte); return buf; } void print_line(decode_state_t *s) { if (s->last != 0) if (s->last != (s->addr - s->len - 5)) fprintf(stderr, "decode error, address calculation error\n"); if (_verbose > 1) printf("[%04xh-%04xh] : %5d %s\n", s->addr - s->len - 5, s->addr - 1, s->lineno, s->text); else printf("%5d %s\n", s->lineno, s->text); s->last = s->addr; } void decode_byte(int byte) { char *ptr; decode_state_t *s = &decode_state; if (byte == EOF) { if (s->state == 8) { if (_verbose > 0) printf("%d bytes after basic end\n", s->cnt); } else { fprintf(stderr, "decode error, reached EOF\n"); } return; } switch (s->state) { case 0: s->cnt = 0; s->last = 0; s->size = byte; s->state++; break; case 1: s->size += 256 * byte; s->state++; break; case 2: s->addr = byte; s->state++; break; case 3: s->addr += 256 * byte; s->state++; if (s->addr == 0) s->state = 8; break; case 4: s->lineno = byte; s->state++; break; case 5: s->lineno += 256 * byte; s->state++; s->len = 0; s->line = (unsigned char *)malloc(160); s->text = (char *)malloc(1000); s->text[0] = '\0'; break; case 6: if (byte == 0) { s->state = 2; print_line(s); } else { s->line[s->len++] = byte; if (byte & 0x80) strcat(s->text, decode_token(byte)); else { ptr = strrchr(s->text, '\0'); ptr[0] = isprint(byte) ? byte : (_binary ? byte : '.'); ptr[1] = '\0'; ptr++; } if (byte == '"') s->state = 7; } break; case 7: if (byte == 0) { s->state = 2; print_line(s); } else { s->line[s->len++] = byte; ptr = strrchr(s->text, '\0'); ptr[0] = isprint(byte) ? byte : (_binary ? byte : '.'); ptr[1] = '\0'; ptr++; if (byte == '"') s->state = 6; } break; case 8: s->cnt++; break; } } void decode(fileio_prop_t *prop) { int a; int size; unsigned char *d = prop->data; if ((prop->type != FILEIO_TYPE_BAS) && (prop->type != FILEIO_TYPE_PROT_BAS)) { printf("file '%s' is not a basic file.\n", prop->name); return; } size = prop->size; if (_verbose > 0) { printf("======================\n"); printf("filename : '%s'\n", prop->name); printf("file size : %d\n", size); printf("basic size: %d\n", 256 * d[13] + d[12]); printf("----------------------\n\n"); } a = 12; decode_state.state = 0; while (a <= size) { decode_byte(d[a++]); if ((a % 129) == 0) a++; } decode_byte(EOF); if (_verbose > 0) printf("======================\n\n"); } int main(int argc, char **argv) { int a; fileio_prop_t *prop; fileio_init(); for (a = 1;a < argc;a++) { if (strcmp("-1", argv[a]) == 0) { fileio_set_kctype(FILEIO_KC85_1); continue; } if (strcmp("-3", argv[a]) == 0) { fileio_set_kctype(FILEIO_KC85_3); continue; } if (strcmp("-a", argv[a]) == 0) { _binary = 0; continue; } if (strcmp("-b", argv[a]) == 0) { _binary = 1; continue; } if (strcmp("-v", argv[a]) == 0) { _verbose++; continue; } if (fileio_load_file(argv[a], &prop) == 0) decode(prop); } return 0; } KCemu-0.5.1/src/util/tape-basicode.c0000644000175000017500000001700312417262523017362 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "libaudio/libaudio.h" #define STATE_NO_SYNC (0) #define STATE_SYNC (1) #define STATE_BIT (2) #define STATE_BIT_SYNC (3) static int _state; static int _counter; static float _lock = 1e20; static FILE *f = NULL; static char filename[100]; static int filename_idx = 0; static int _verbose = 0; static int _byte_idx; static unsigned char _buf[130]; void new_file(void) { while (242) { snprintf(filename, 100, "output-%04d.img", filename_idx++); if (access(filename, F_OK) != 0) break; if (filename_idx > 9999) { printf("out of filenames!\n"); exit(1); } } if (f != NULL) fclose(f); f = fopen(filename, "wb"); if (f == NULL) { printf("can't write file '%s'\n", filename); exit(1); } printf("writing to file '%s'\n", filename); _lock = 1e20; } void set_state(int state) { if (_verbose > 1) printf("set_state(): %d\n", state); switch (state) { case STATE_NO_SYNC: _byte_idx = 0; memset(_buf, 0, 130); _buf[129] = 0xff; break; case STATE_SYNC: break; case STATE_BIT: break; case STATE_BIT_SYNC: break; } _state = state; } int c(int byte) { return isprint(byte) ? byte : '.'; } void write_byte(int byte) { if (f != NULL) fputc(byte, f); if (_verbose > 0) { if (byte == 0x0d) printf("\n"); else printf("%c", isprint(byte) ? byte : '.'); fflush(stdout); } if (_verbose > 1) printf("BYTE: %02x '%c' (%d)\n", byte, isprint(byte) ? byte : '.', _byte_idx); } void handle_byte(int byte) { static int idx = 0; static int crc = 0; static int state = 0; switch (state) { case 0: if (byte == 0x02) { idx = 1; state = 1; crc = (0x80 ^ byte); write_byte(byte); } break; case 1: idx++; crc ^= (0x80 ^ byte); write_byte(byte); if ((byte == 0x03) && (idx > 2)) state = 2; break; case 2: state = 0; write_byte(byte); if (crc == byte) printf("\nCRC ok.\n"); else printf("\nCRC ERROR: calculated %02x, in file %02x\n", crc, byte); set_state(STATE_NO_SYNC); exit(0); new_file(); return; } set_state(STATE_BIT_SYNC); } void handle_NO_SYNC(float val) { int a; float v, p; static int idx = 0, cnt = 0; static float sum = 0; static float buf[10] = { 0.0, }; v = 0; for (a = 0;a < 10;a++) v += buf[a]; v /= 10; buf[idx++] = val; if (idx >= 10) idx = 0; p = (100.0 * (v - val)) / v; if ((p > 30.0) || (p < -30)) { cnt = 0; sum = 0; } else { cnt++; sum += val; } if (v > 20 * _lock) new_file(); if (_verbose > 1) printf("NO SYNC: %6.2f, %6.2f, %10.2f, %d\n", val, v, p, cnt); if (cnt > 1000) { idx = 0; cnt = 0; for (a = 0;a < 10;a++) buf[a] = 0.0; _lock = sum / 1000; printf("."); fflush(stdout); if (_verbose > 1) printf("LOCK: %.2f\n", _lock); set_state(STATE_SYNC); } #if 0 if ((4 * val) < 80) { for (a = 0;a < (4 * v);a++) printf(" "); printf("#\n"); } #endif } void handle_SYNC(float val) { float p; static int cnt = 0; p = (100.0 * (val - _lock)) / _lock; if (_verbose > 1) printf("SYNC: %6.2f, %6.2f => %6.2f\n", val, _lock, p); if (p > 50.0) { cnt++; } else if (p < -30.0) { set_state(STATE_NO_SYNC); } else { cnt = 0; } if (cnt == 2) { cnt = 0; set_state(STATE_BIT); return; } } void handle_BIT_SYNC(float val) { float p; static int cnt = 0; p = (100.0 * (val - _lock)) / _lock; if (_verbose > 1) printf("BIT SYNC: %6.2f, %6.2f => %6.2f\n", val, _lock, p); if (p > 50) cnt++; if (cnt == 2) { cnt = 0; set_state(STATE_BIT); } } void handle_BIT(float val) { int bit; float p, l; static float sum; static int cnt = 0; static int idx = 0; static int byte = 0; if (cnt == 0) { sum = val; cnt++; return; } else { cnt++; sum += val; } l = 2.0 * _lock; p = (100.0 * (sum - l)) / l; bit = -1; if ((cnt == 2) && (p > 50)) { if (_verbose > 1) printf("BIT 0: %6.2f %6.2f, %6.2f (%d)\n", val, sum, p, idx); cnt = 0; bit = 0; } if (cnt == 4) { if (_verbose > 1) printf("BIT 1: %6.2f %6.2f, %6.2f (%d)\n", val, sum, p, idx); cnt = 0; bit = 1; } if (bit < 0) return; byte >>= 1; byte = (byte & 0x1ff) | (bit << 9); idx++; if (idx == 10) { idx = 0; handle_byte((byte & 0xff) ^ 0x80); if ((byte & 0x300) != 0x300) printf("BYTE ERROR\n"); } } void handle_zero_transition(void) { float c = _counter; // printf("COUNTER: %d\n", _counter); switch (_state) { case STATE_NO_SYNC: handle_NO_SYNC(c); break; case STATE_SYNC: handle_SYNC(c); break; case STATE_BIT: handle_BIT(c); break; case STATE_BIT_SYNC: handle_BIT_SYNC(c); break; } _counter = 0; } void handle_sample(long sample) { #define LENGTH (3) long v; int a, b, c; static int x = -1; static int idx = 0; static long buf[LENGTH] = { 0, }; if (sample < -32000) sample = 32000; if (sample > 32000) sample = 32000; buf[idx] = sample; idx = (idx + 1) % LENGTH; v = 0; for (a = 0;a < LENGTH;a++) v += buf[a]; v /= LENGTH; v = sample; if (_verbose > 2) { b = 0; for (a = 0;a < 78;a++) { c = (v + 32768) / (65536 / 78); if (a == c) { printf("#"); b++; continue; } if (a == (78 / 2)) { printf("|"); b++; continue; } if (b == 2) break; printf(" "); } printf("\n"); } _counter++; if (x < 0) { if (v > 0) { handle_zero_transition(); x = 1; } } else { if (v < 0) { handle_zero_transition(); x = -1; } } } int main(int argc, char **argv) { int a, c, channels; libaudio_prop_t *prop; libaudio_init(LIBAUDIO_TYPE_ALL); new_file(); _counter = 0; set_state(STATE_NO_SYNC); for (a = 1;a < argc;a++) { if (strcmp("-v", argv[a]) == 0) { _verbose++; continue; } prop = libaudio_open(argv[a]); channels = libaudio_get_channels(prop); while (242) { c = libaudio_read_sample(prop); if (c == EOF) break; if (channels == 2) { c += libaudio_read_sample(prop); c /= 2; } handle_sample(c - 32768); } libaudio_close(prop); } return 0; } KCemu-0.5.1/src/util/tape-test.c0000644000175000017500000000343612417262523016575 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "libaudio/libaudio.h" static long _x = 0; static long buf[40]; static long diff[40]; void x() { int a, z; static int zz = 0; static float val = 0; z = 0; for (a = 1;a < 10;a++) { z += diff[20 - a]; z += diff[20 + a]; } val += z - zz; val *= .8; printf("%ld %ld %.2f\n", _x++, 0L, val); } void handle_sample2(long sample) { int a; for (a = 1;a < 40;a++) buf[a - 1] = buf[a]; buf[39] = sample; for (a = 1;a < 40;a++) diff[a - 1] = buf[a] - buf[a - 1]; x(); } int main(int argc, char **argv) { int a, c; libaudio_prop_t *prop; libaudio_init(LIBAUDIO_TYPE_ALL); for (a = 1;a < argc;a++) { prop = libaudio_open(argv[a]); while (242) { c = libaudio_read_sample(prop); if (c == EOF) break; handle_sample2(c - 32768); } libaudio_close(prop); } return 0; } KCemu-0.5.1/src/libdbg/0000755000175000017500000000000012417262523014763 5ustar glaubitzglaubitzKCemu-0.5.1/src/libdbg/dbg-test.cc0000644000175000017500000000231412417262523017003 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #define DBG_LEVEL 3 #include "libdbg/dbg.h" using namespace std; int main(void) { DBG_add_path("test/path/s1"); cout << *DBGI(); DBG_add_path("test/path/s2"); cout << *DBGI(); DBG_clear(); DBG_add_path("test/path2/s3"); cout << *DBGI(); DBG(0, form("test/path/s1", "%s -> %d\n", "hallo", 3)); DBG(1, form("test/path/s4", "%s -> %d\n", "hallo", 3)); } KCemu-0.5.1/src/libdbg/Makefile.am0000644000175000017500000000042012417262523017013 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libdbg.a noinst_PROGRAMS = dbg-test AM_CPPFLAGS = \ -I../../include \ -DVERSION=\"$(VERSION)\" libdbg_a_SOURCES = \ dbg.cc dbg_test_SOURCES = \ dbg-test.cc dbg_test_LDADD = \ libdbg.a KCemu-0.5.1/src/libdbg/dbg.cc0000644000175000017500000001170412417262523016031 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "libdbg/dbg.h" p_map::p_map(const char *name, bool allow_subkeys) { _name = strdup(name); _allow_subkeys = allow_subkeys; } p_map::~p_map(void) { if (_name) free(_name); } const char * p_map::get_name(void) { if (_name) return _name; return ""; } void p_map::set_allow_subkeys(bool allow_subkeys) { _allow_subkeys = allow_subkeys; } bool p_map::get_allow_subkeys(void) { return _allow_subkeys; } p_tree::p_tree(void) { _map = new p_map("", false); } p_tree::~p_tree(void) { delete _map; } void p_tree::add(const char *data, bool allow_subkeys) { p_map *m; char *ptr, *tmp; char d[1024]; strncpy(d, data, 1024); d[1023] = '\0'; m = _map; ptr = strtok(d, "/"); while (ptr != 0) { p_map::const_iterator m_it = m->find(ptr); if (m_it == m->end()) { tmp = strdup(ptr); p_map *new_map = new p_map(tmp, false); (*m)[tmp] = new_map; m = new_map; } else { m = (*m_it).second; } ptr = strtok(0, "/"); } if (allow_subkeys) m->set_allow_subkeys(true); } bool p_tree::check_path(const char *data) { p_map *m; char *ptr; char d[1024]; strncpy(d, data, 1024); d[1023] = '\0'; m = _map; ptr = strtok(d, "/"); while (ptr != 0) { if (m->get_allow_subkeys()) break; p_map::const_iterator m_it = m->find(ptr); if (m_it == m->end()) { return false; } m = (*m_it).second; ptr = strtok(0, "/"); } return true; } void p_tree::clear() { clear(_map); } void p_tree::clear(p_map *map) { for (p_map::iterator it = map->begin();it != map->end();it++) clear((*it).second); map->clear(); if (_map != map) // don't free top level object delete map; } void p_tree::dump(std::ostream& os, p_map *map, int level) const { for (int a = 0;a < level;a++) os << " "; os << map->get_name(); if (map->get_allow_subkeys()) os << " <*>"; os << std::endl; for (p_map::iterator it = map->begin();it != map->end();it++) dump(os, (*it).second, level + 1); } std::ostream& operator<< (std::ostream& os, const p_tree& t) { os << "p_tree:" << std::endl; t.dump(os, t._map, 0); return os; } DBG_class *DBG_class::_singleton = 0; DBG_class::DBG_class(void) { _o = &std::cout; load_config(); } DBG_class::~DBG_class(void) { _tree.clear(); } DBG_class * DBG_class::instance(void) { if (_singleton == 0) _singleton = new DBG_class(); return _singleton; } void DBG_class::clear(void) { _tree.clear(); } void DBG_class::load_config(void) { char *filename, *tmp; clear(); tmp = getenv("HOME"); if (tmp) { filename = new char[strlen(tmp) + 8]; strcpy(filename, tmp); strcat(filename, "/.debug"); load_file(filename); delete[] filename; } } void DBG_class::load_file(const char *filename) { std::ifstream is; char line[4096]; is.open(filename); if (!is) return; while (242) { is.getline(line, 4096); if (is.eof()) break; if (line[0] != '#') add_path(line, false); } is.close(); } void DBG_class::set_output_stream(std::ostream *os) { _o = os; } void DBG_class::add_path(const char *path, bool allow_subkeys) { _tree.add(path, allow_subkeys); } void DBG_class::form(const char *path, const char *format ...) { char buf[8192]; if (!_tree.check_path(path)) return; va_list ap; va_start(ap, format); vsnprintf(buf, 8192, format, ap); *_o << buf; _o->flush(); va_end(ap); } void DBG_class::print(const char *path, const char *msg) { if (!_tree.check_path(path)) return; *_o << "DEBUG: " << path << " - " << msg; _o->flush(); } void DBG_class::println(const char *path, const char *msg) { if (!_tree.check_path(path)) return; *_o << "DEBUG: " << path << " - " << msg << std::endl; _o->flush(); } bool DBG_class::check(const char *path) { return _tree.check_path(path); } std::ostream& operator<< (std::ostream& os, const DBG_class& dbg) { os << "DBG:" << std::endl; os << dbg._tree; return os; } KCemu-0.5.1/src/libgtkex/0000755000175000017500000000000012417262523015351 5ustar glaubitzglaubitzKCemu-0.5.1/src/libgtkex/Makefile.am0000644000175000017500000000031412417262523017403 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libgtkex.a AM_CPPFLAGS = \ -I../../include \ $(GTK_CFLAGS) libgtkex_a_SOURCES = \ gtkfilebutton.c \ gtkledline.c KCemu-0.5.1/src/libgtkex/gtkledline.c0000644000175000017500000000663112417262523017645 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "libgtkex/gtkledline.h" G_DEFINE_TYPE(GtkLedLine, gtk_led_line, GTK_TYPE_DRAWING_AREA); GtkWidget * gtk_led_line_new(guint number_of_leds) { if (number_of_leds == 0) number_of_leds = 1; GtkLedLine *led_line = GTK_LED_LINE(g_object_new(GTK_TYPE_LED_LINE, NULL)); led_line->number_of_leds = number_of_leds; return GTK_WIDGET(led_line); } static void draw(GtkWidget *widget, cairo_t *cr) { int a; GtkLedLine *led_line; double x, y, radius, rx, ry; led_line = GTK_LED_LINE(widget); rx = widget->allocation.width / led_line->number_of_leds / 2 - 4; ry = widget->allocation.height / 2 - 4; radius = MIN(rx, ry); x = radius + 2; y = widget->allocation.height / 2; for (a = 0; a < led_line->number_of_leds; a++) { cairo_arc(cr, x, y, radius, 0, 2 * M_PI); cairo_set_source_rgb(cr, 1, 1, 1); cairo_fill_preserve(cr); cairo_set_source_rgb(cr, 0, 0, 0); cairo_stroke(cr); x += 2 * radius + led_line->spacing; } } static void gtk_led_line_size_request(GtkWidget *widget, GtkRequisition *requisition) { g_return_if_fail(widget != NULL); g_return_if_fail(GTK_IS_LED_LINE(widget)); g_return_if_fail(requisition != NULL); GtkLedLine *led_line = GTK_LED_LINE(widget); requisition->width = (20 + led_line->spacing) * led_line->number_of_leds - led_line->spacing; requisition->height = 20; } static void gtk_led_line_size_allocate(GtkWidget *widget, GtkAllocation *allocation) { g_return_if_fail(widget != NULL); g_return_if_fail(GTK_IS_LED_LINE(widget)); g_return_if_fail(allocation != NULL); printf("%dx%d+%d+%d\n", allocation->width, allocation->height, allocation->x, allocation->y); widget->allocation = *allocation; if (GTK_WIDGET_REALIZED(widget)) gdk_window_move_resize(widget->window, allocation->x, allocation->y, allocation->width, allocation->height); } static gboolean gtk_led_line_expose(GtkWidget *widget, GdkEventExpose *event) { cairo_t *cr; cr = gdk_cairo_create(widget->window); cairo_rectangle(cr, event->area.x, event->area.y, event->area.width, event->area.height); cairo_clip(cr); draw(widget, cr); cairo_destroy(cr); return FALSE; } static void gtk_led_line_class_init(GtkLedLineClass *class) { GtkWidgetClass *widget_class; widget_class = GTK_WIDGET_CLASS(class); widget_class->size_request = gtk_led_line_size_request; widget_class->size_allocate = gtk_led_line_size_allocate; widget_class->expose_event = gtk_led_line_expose; } static void gtk_led_line_init(GtkLedLine *led_line) { led_line->spacing = 2; } KCemu-0.5.1/src/libgtkex/gtkfilebutton.c0000644000175000017500000002170212417262523020400 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "libgtkex/libgtkex.h" enum { FILEBUTTON_CHANGED_SIGNAL, LAST_SIGNAL }; static guint filebutton_signals[LAST_SIGNAL] = { 0 }; G_DEFINE_TYPE(GtkFilebutton, gtk_filebutton, GTK_TYPE_TABLE); static GtkWidget * create_button(const gchar *stock_id) { GtkWidget *button, *image; button = gtk_button_new(); image = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_BUTTON); gtk_container_add(GTK_CONTAINER(button), image); gtk_widget_show(image); gtk_widget_show(button); return button; } static GtkWidget * create_comboboxentry(void) { GtkWidget *comboboxentry, *entry; comboboxentry = gtk_combo_box_entry_new(); gtk_combo_box_set_active(GTK_COMBO_BOX(comboboxentry), -1); gtk_combo_box_entry_set_text_column(GTK_COMBO_BOX_ENTRY(comboboxentry), 0); entry = gtk_bin_get_child(GTK_BIN(comboboxentry)); gtk_editable_set_editable(GTK_EDITABLE(entry), FALSE); gtk_widget_show(comboboxentry); return comboboxentry; } static void add_recent_info(const gchar *filename, const gchar *group) { GtkRecentManager *manager = gtk_recent_manager_get_default(); GFile *file = g_file_new_for_path(filename); gchar *uri = g_file_get_uri(file); g_object_unref(file); gchar *groups[2]; GtkRecentData recent_data; memset(&recent_data, 0, sizeof(recent_data)); recent_data.mime_type = "application/octet-stream"; recent_data.app_name = "KCemu"; recent_data.app_exec = "xdg-open %u"; if (group != NULL) { recent_data.groups = groups; recent_data.groups[0] = (gchar*)group; recent_data.groups[1] = NULL; } gtk_recent_manager_add_full(manager, uri, &recent_data); g_free(uri); } static GtkListStore * get_list_store(const gchar *recent_group) { GtkRecentManager *manager = gtk_recent_manager_get_default(); GtkListStore *store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING); GList *ptr; int count = 0; GtkTreeIter iter; GList *list = gtk_recent_manager_get_items(manager); for (ptr = list; (ptr != NULL) && (count < 10); ptr = ptr->next) { GtkRecentInfo *info = ptr->data; if (!gtk_recent_info_has_application(info, "KCemu")) continue; if ((recent_group != NULL) && !gtk_recent_info_has_group(info, recent_group)) continue; GFile *file = g_file_new_for_uri(gtk_recent_info_get_uri(info)); if (g_file_is_native(file) /* && g_file_query_exists(file, NULL) */) { gchar *path = g_file_get_path(file); gchar *basename = g_file_get_basename(file); if ((path != NULL) && (basename != NULL)) { gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, basename, 1, path, -1); count++; } g_free(path); g_free(basename); } g_object_unref(file); } return store; } GtkWidget* gtk_filebutton_new(const gchar *recent_group) { GtkWidget *widget = GTK_WIDGET(g_object_new(gtk_filebutton_get_type(), NULL)); gtk_filebutton_set_recent_group(GTK_FILEBUTTON(widget), recent_group); return widget; } gchar * gtk_filebutton_get_filename(GtkFilebutton *filebutton) { g_return_val_if_fail(filebutton != NULL, NULL); g_return_val_if_fail(GTK_IS_FILEBUTTON(filebutton), NULL); return g_strdup(filebutton->filename); } void gtk_filebutton_set_recent_group(GtkFilebutton *filebutton, const gchar *recent_group) { g_return_if_fail(filebutton != NULL); g_return_if_fail(GTK_IS_FILEBUTTON(filebutton)); // Prepare for the case that we are called with the old value of // filebutton->recent_group. In this case we need to prevent to // access the old value after it is already feed. gchar *old = filebutton->recent_group; filebutton->recent_group = g_strdup(recent_group); g_free(old); GtkListStore *store = get_list_store(filebutton->recent_group); gtk_combo_box_set_model(GTK_COMBO_BOX(filebutton->comboboxentry), GTK_TREE_MODEL(store)); g_object_unref(store); } static void gtk_filebutton_set_entry_text(GtkFilebutton *filebutton, const gchar *text) { GtkEntry *entry = GTK_ENTRY(gtk_bin_get_child(GTK_BIN(filebutton->comboboxentry))); g_signal_handler_block(filebutton->comboboxentry, filebutton->changed_id); gtk_entry_set_text(entry, text); g_signal_handler_unblock(filebutton->comboboxentry, filebutton->changed_id); } static void gtk_filebutton_set_filename(GtkFilebutton *filebutton, const gchar *filename) { if (g_strcmp0(filebutton->filename, filename) == 0) return; g_free(filebutton->filename); filebutton->filename = g_strdup(filename); const gchar *basename; if (filename == NULL) { filename = ""; basename = ""; } else { GFile *file = g_file_new_for_path(filename); basename = g_file_get_basename(file); g_object_unref(file); add_recent_info(filename, filebutton->recent_group); gtk_filebutton_set_recent_group(filebutton, filebutton->recent_group); } gtk_filebutton_set_entry_text(filebutton, basename); gtk_widget_set_tooltip_text(GTK_WIDGET(filebutton), filename); gtk_widget_set_sensitive(GTK_WIDGET(filebutton->button_clear), filebutton->filename != NULL); g_signal_emit(G_OBJECT(filebutton), filebutton_signals[FILEBUTTON_CHANGED_SIGNAL], 0); } static void gtk_filebutton_class_init(GtkFilebuttonClass *class) { filebutton_signals[FILEBUTTON_CHANGED_SIGNAL] = g_signal_new("changed", G_TYPE_FROM_CLASS(class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET(GtkFilebuttonClass, filebutton), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } static void on_comboboxentry_changed(GtkComboBoxEntry *comboboxentry, GtkFilebutton *filebutton) { GtkTreeIter iter; if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(comboboxentry), &iter)) { gchar *filename; GtkTreeModel *model = GTK_TREE_MODEL(gtk_combo_box_get_model(GTK_COMBO_BOX(comboboxentry))); gtk_tree_model_get(model, &iter, 1, &filename, -1); gtk_filebutton_set_filename(filebutton, filename); g_free(filename); } else { gtk_filebutton_set_filename(filebutton, NULL); } } static void on_filebutton_clear(GtkButton *button, GtkFilebutton *filebutton) { gtk_filebutton_set_filename(filebutton, NULL); } static void on_filebutton_open(GtkButton *button, GtkFilebutton *filebutton) { GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new("Select file", GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(filebutton))), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); gtk_filebutton_set_filename(filebutton, filename); g_free(filename); } gtk_widget_destroy(dialog); } static void gtk_filebutton_init(GtkFilebutton *filebutton) { filebutton->button_open = create_button(GTK_STOCK_OPEN); filebutton->button_clear = create_button(GTK_STOCK_CLOSE); filebutton->comboboxentry = create_comboboxentry(); gtk_widget_set_sensitive(GTK_WIDGET(filebutton->button_clear), FALSE); filebutton->changed_id = g_signal_connect(filebutton->comboboxentry, "changed", G_CALLBACK(on_comboboxentry_changed), filebutton); g_signal_connect(filebutton->button_open, "clicked", G_CALLBACK(on_filebutton_open), filebutton); g_signal_connect(filebutton->button_clear, "clicked", G_CALLBACK(on_filebutton_clear), filebutton); gtk_table_resize(GTK_TABLE(filebutton), 1, 3); gtk_table_attach(GTK_TABLE(filebutton), filebutton->comboboxentry, 0, 1, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0); gtk_table_attach(GTK_TABLE(filebutton), filebutton->button_clear, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 2, 0); gtk_table_attach(GTK_TABLE(filebutton), filebutton->button_open, 2, 3, 0, 1, GTK_FILL, GTK_FILL, 0, 0); }KCemu-0.5.1/src/libaudio/0000755000175000017500000000000012417262523015330 5ustar glaubitzglaubitzKCemu-0.5.1/src/libaudio/load_wav.c0000644000175000017500000001024112417262523017266 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include "libaudio/libaudioP.h" typedef struct wav_header { uint32_t MainChunkID; // it will be 'RIFF' uint32_t Length; uint32_t ChunkTypeID; // it will be 'WAVE' uint32_t SubChunkID; // it will be 'fmt ' uint32_t SubChunkLength; uint16_t AudioFormat; uint16_t NumChannels; uint32_t SampleFreq; uint32_t BytesPerSec; uint16_t BytesPerSample; uint16_t BitsPerSample; uint32_t DataChunkID; // it will be 'data' uint32_t DataLength; } wav_header_t; static char loader_name[1024]; static libaudio_loader_t *self = NULL; static int loader_wav_check(const char *filename, unsigned char *data, long size) { if (data == NULL) return 0; if (size < 44) return 0; if (memcmp(&data[0], "RIFF", 4) != 0) return 0; if (memcmp(&data[8], "WAVE", 4) != 0) return 0; if (memcmp(&data[12], "fmt ", 4) != 0) return 0; return 1; } static libaudio_prop_t * loader_wav_open_prop(const char *filename, libaudio_prop_t *prop) { FILE *f; wav_header_t wav_header; f = fopen(filename, "rb"); if (f == NULL) return NULL; if (fread(&wav_header, 1, sizeof(wav_header_t), f) != sizeof(wav_header_t)) return NULL; prop->type = LIBAUDIO_TYPE_WAV; prop->loader = self; prop->loader_data = f; prop->sample_freq = wav_header.SampleFreq; prop->sample_size = wav_header.BitsPerSample; prop->channels = wav_header.NumChannels; return prop; } static libaudio_prop_t * loader_wav_open(const char *filename) { libaudio_prop_t *prop, *ret; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; ret = loader_wav_open_prop(filename, prop); if (ret == NULL) free(prop); return ret; } static void loader_wav_close(libaudio_prop_t *prop) { FILE *f; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_WAV); assert(prop->loader_data != NULL); f = (FILE *)(prop->loader_data); fclose(f); } static libaudio_prop_t * loader_wav_rewind(libaudio_prop_t *prop) { assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_WAV); assert(prop->loader_data != NULL); loader_wav_close(prop); return loader_wav_open_prop(prop->filename, prop); } static int loader_wav_read_sample(libaudio_prop_t *prop) { FILE *f; int c1, c2; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_WAV); assert(prop->loader_data != NULL); f = (FILE *)(prop->loader_data); c1 = fgetc(f); if (c1 == EOF) return EOF; if (prop->sample_size == 8) return 256 * c1; if (prop->sample_size == 16) { c2 = fgetc(f); if (c2 == EOF) return EOF; c1 = 256 * c2 + c1; if (c1 > 32767) c1 = c1 - 65536; return c1 + 32768; } return EOF; } static const char * loader_wav_get_type(void) { return "WAV"; } static const char * loader_wav_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_wav_check, loader_wav_open, loader_wav_rewind, loader_wav_close, loader_wav_read_sample, loader_wav_get_type, loader_wav_get_name }; void loader_wav_init(void) { snprintf(loader_name, sizeof(loader_name), "loader for wav files"); if (libaudio_register_loader(&loader)) self = &loader; } KCemu-0.5.1/src/libaudio/load_mp3.c0000644000175000017500000001255712417262523017204 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "libaudio/libaudioP.h" #ifdef HAVE_LIBMP3LAME #include #define FILE_BUF_SIZE (1024) /* * FIXME: don't know how to calculate a safe amount of * FIXME: pcm buffer for the decoding routine * FIXME: 32k samples seems to be enough for now... */ #define PCM_BUF_SIZE (32 * 1024) typedef struct mp3_data { FILE *f; int eof; // 1: EOF in file, 2: EOF in decoded data int pcm_idx; int pcm_size; unsigned char f_buf[FILE_BUF_SIZE]; short pcm_l[PCM_BUF_SIZE]; short pcm_r[PCM_BUF_SIZE]; mp3data_struct mp3data; } mp3_data_t; static char loader_name[1024]; static libaudio_loader_t *self = NULL; static int loader_mp3_check(const char *filename, unsigned char *data, long size) { if (size < 2) return 0; if (data[0] != 0xff) return 0; if ((data[1] & 0xe0) != 0xe0) return 0; return 1; } static libaudio_prop_t * loader_mp3_open_prop(const char *filename, libaudio_prop_t *prop) { FILE *f; int len, ret, ok; mp3_data_t *data; data = (mp3_data_t *)malloc(sizeof(mp3_data_t)); if (data == NULL) return NULL; f = fopen(filename, "rb"); if (f == NULL) { free(data); return NULL; } ok = 0; lame_decode_init(); while (242) { len = fread(data->f_buf, 1, FILE_BUF_SIZE, f); ret = lame_decode1_headers(data->f_buf, len, data->pcm_l, data->pcm_r, &data->mp3data); if (len < FILE_BUF_SIZE) break; if (ret < 0) break; if (data->mp3data.header_parsed) { ok = 1; data->eof = 0; data->pcm_idx = 0; data->pcm_size = 2 * ret; break; } } if (!ok) { fclose(f); free(data); return NULL; } data->f = f; prop->type = LIBAUDIO_TYPE_MP3; prop->loader = self; prop->loader_data = data; prop->sample_freq = data->mp3data.samplerate; prop->sample_size = 16; prop->channels = data->mp3data.stereo; return prop; } static libaudio_prop_t * loader_mp3_open(const char *filename) { libaudio_prop_t *prop, *ret; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; ret = loader_mp3_open_prop(filename, prop); if (ret == NULL) free(prop); return ret; } static void loader_mp3_close(libaudio_prop_t *prop) { mp3_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_MP3); assert(prop->loader_data != NULL); data = (mp3_data_t *)prop->loader_data; fclose(data->f); free(data); } static libaudio_prop_t * loader_mp3_rewind(libaudio_prop_t *prop) { assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_MP3); assert(prop->loader_data != NULL); loader_mp3_close(prop); return loader_mp3_open_prop(prop->filename, prop); } static int loader_mp3_read_sample(libaudio_prop_t *prop) { int c, len, ret; mp3_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_MP3); assert(prop->loader_data != NULL); data = (mp3_data_t *)prop->loader_data; if (data->pcm_idx >= data->pcm_size) { if (data->eof > 0) { data->eof = 2; return EOF; } while (data->eof == 0) { len = fread(data->f_buf, 1, FILE_BUF_SIZE, data->f); ret = lame_decode(data->f_buf, len, data->pcm_l, data->pcm_r); if (len < FILE_BUF_SIZE) data->eof = 1; if (ret > 0) { data->pcm_idx = 0; data->pcm_size = 2 * ret; break; } if (ret < 0) { data->eof = 2; return EOF; } } } if (data->pcm_idx < data->pcm_size) { if (data->pcm_idx % 1) c = data->pcm_r[data->pcm_idx / 2]; /* always 0 when mp3 file is mono */ else c = data->pcm_l[data->pcm_idx / 2]; data->pcm_idx++; if (data->mp3data.stereo == 1) /* skip second channel on mono files */ data->pcm_idx++; return c + 32768; } return EOF; } static const char * loader_mp3_get_type(void) { return "MP3"; } static const char * loader_mp3_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_mp3_check, loader_mp3_open, loader_mp3_rewind, loader_mp3_close, loader_mp3_read_sample, loader_mp3_get_type, loader_mp3_get_name }; void loader_mp3_init(void) { snprintf(loader_name, sizeof(loader_name), "loader for mp3 files (using libmp3lame %s)", get_lame_short_version()); if (libaudio_register_loader(&loader)) self = &loader; } #else /* HAVE_LIBMP3LAME */ void loader_mp3_init(void) { } #endif /* HAVE_LIBMP3LAME */ KCemu-0.5.1/src/libaudio/load_snd.c0000644000175000017500000001267212417262523017267 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "libaudio/libaudioP.h" #ifdef HAVE_LIBSNDFILE #include #define MAX_CHANNELS (16) static char loader_name[1024]; static libaudio_loader_t *self = NULL; typedef struct snd_data { int eof; int idx; int size; short buf[MAX_CHANNELS]; SNDFILE *sndfile; } snd_data_t; static int loader_snd_check(const char *filename, unsigned char *data, long size) { SF_INFO info; SNDFILE *sndfile; #if HAVE_LIBSNDFILE_V0 sndfile = sf_open_read(filename, &info); #else /* HAVE_LIBSNDFILE_V0 */ sndfile = sf_open(filename, SFM_READ, &info); #endif /* HAVE_LIBSNDFILE_V0 */ if (sndfile == NULL) return 0; #if HAVE_LIBSNDFILE_V0 if ((info.pcmbitwidth != 8) && (info.pcmbitwidth != 16)) return 0; #else /* HAVE_LIBSNDFILE_V0 */ switch (info.format & SF_FORMAT_SUBMASK) { case SF_FORMAT_PCM_U8: case SF_FORMAT_PCM_S8: case SF_FORMAT_PCM_16: break; default: return 0; } #endif /* HAVE_LIBSNDFILE_V0 */ if (info.channels > MAX_CHANNELS) return 0; sf_close(sndfile); return 1; } static libaudio_prop_t * loader_snd_open_prop(const char *filename, libaudio_prop_t *prop) { SF_INFO info; SNDFILE *sndfile; snd_data_t *data; data = (snd_data_t *)malloc(sizeof(snd_data_t)); if (data == NULL) return NULL; #if HAVE_LIBSNDFILE_V0 sndfile = sf_open_read(filename, &info); #else /* HAVE_LIBSNDFILE_V0 */ sndfile = sf_open(filename, SFM_READ, &info); #endif /* HAVE_LIBSNDFILE_V0 */ if (sndfile == NULL) { free(data); return NULL; } data->eof = 0; data->idx = 0; data->size = 0; data->sndfile = sndfile; prop->type = LIBAUDIO_TYPE_SND; prop->loader = self; prop->loader_data = data; prop->sample_freq = info.samplerate; #if HAVE_LIBSNDFILE_V0 prop->sample_size = info.pcmbitwidth; /* hmm, deprecated but quite useful... */ #else /* HAVE_LIBSNDFILE_V0 */ switch (info.format & SF_FORMAT_SUBMASK) { case SF_FORMAT_PCM_U8: case SF_FORMAT_PCM_S8: prop->sample_size = 8; break; case SF_FORMAT_PCM_16: prop->sample_size = 16; break; default: /* should not be reached; blocked by loader_snd_check() */ return NULL; } #endif /* HAVE_LIBSNDFILE_V0 */ prop->channels = info.channels; return prop; } static libaudio_prop_t * loader_snd_open(const char *filename) { libaudio_prop_t *prop, *ret; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; ret = loader_snd_open_prop(filename, prop); if (ret == NULL) free(prop); return ret; } static void loader_snd_close(libaudio_prop_t *prop) { snd_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_SND); assert(prop->loader_data != NULL); data = (snd_data_t *)prop->loader_data; sf_close(data->sndfile); free(data); } static libaudio_prop_t * loader_snd_rewind(libaudio_prop_t *prop) { assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_SND); assert(prop->loader_data != NULL); loader_snd_close(prop); return loader_snd_open_prop(prop->filename, prop); } static int loader_snd_read_sample(libaudio_prop_t *prop) { int c, len; snd_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_SND); assert(prop->loader_data != NULL); data = (snd_data_t *)prop->loader_data; if (data->eof) return EOF; if (data->idx >= data->size) { len = sf_readf_short(data->sndfile, data->buf, 1); if (len == 0) { data->eof = 1; return EOF; } data->idx = 0; data->size = prop->channels; } c = data->buf[data->idx]; data->idx++; if (prop->sample_size == 8) return 256 * (128 + c); if (prop->sample_size == 16) return 32768 + c; return EOF; } static const char * loader_snd_get_type(void) { return "SNDFILE"; } static const char * loader_snd_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_snd_check, loader_snd_open, loader_snd_rewind, loader_snd_close, loader_snd_read_sample, loader_snd_get_type, loader_snd_get_name }; void loader_snd_init(void) { char buffer[1024]; #if HAVE_LIBSNDFILE_V0 sf_get_lib_version(buffer, sizeof(buffer)); #else /* HAVE_LIBSNDFILE_V0 */ sf_command(NULL, SFC_GET_LIB_VERSION, buffer, sizeof(buffer)); #endif /* HAVE_LIBSNDFILE_V0 */ snprintf(loader_name, sizeof(loader_name), "loader for audio files supported by %s", buffer); if (libaudio_register_loader(&loader)) self = &loader; } #else /* HAVE_LIBSNDFILE */ void loader_snd_init(void) { } #endif /* HAVE_LIBSNDFILE */ KCemu-0.5.1/src/libaudio/load_flc.c0000644000175000017500000001616612417262523017251 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "libaudio/libaudioP.h" #ifdef HAVE_LIBFLAC #include static char loader_name[1024]; static libaudio_loader_t *self = NULL; typedef struct flc_data { int eof; int idx; int size; const FLAC__int32 *buf_l; const FLAC__int32 *buf_r; FLAC__FileDecoder *decoder; unsigned int sample_rate; unsigned int channels; unsigned int bits_per_sample; } flc_data_t; static int loader_flc_check(const char *filename, unsigned char *data, long size) { if (size < 4) return 0; if (data[0] != 0x66) return 0; if (data[1] != 0x4c) return 0; if (data[2] != 0x61) return 0; if (data[3] != 0x43) return 0; return 1; } static FLAC__StreamDecoderWriteStatus flac_write_callback(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) { flc_data_t *data = (flc_data_t *)client_data; data->size = frame->header.blocksize; data->buf_l = buffer[0]; if (data->channels >= 2) data->buf_r = buffer[1]; return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE; } static void flac_metadata_callback(const FLAC__FileDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) { flc_data_t *data = (flc_data_t *)client_data; if (metadata->type != FLAC__METADATA_TYPE_STREAMINFO) return; data->sample_rate = metadata->data.stream_info.sample_rate; data->channels = metadata->data.stream_info.channels; data->bits_per_sample = metadata->data.stream_info.bits_per_sample; } static void flac_error_callback(const FLAC__FileDecoder *decoder, const FLAC__StreamDecoderErrorStatus status, void *client_data) { flc_data_t *data = (flc_data_t *)client_data; data->eof = 1; } static FLAC__bool flac_init(FLAC__FileDecoder *decoder, flc_data_t *data, const char *filename) { if (!FLAC__file_decoder_set_md5_checking(decoder, 0)) return 0; if (!FLAC__file_decoder_set_filename(decoder, filename)) return 0; if (!FLAC__file_decoder_set_client_data(decoder, data)) return 0; if (!FLAC__file_decoder_set_write_callback(decoder, flac_write_callback)) return 0; if (!FLAC__file_decoder_set_metadata_callback(decoder, flac_metadata_callback)) return 0; if (!FLAC__file_decoder_set_error_callback(decoder, flac_error_callback)) return 0; return 1; } static libaudio_prop_t * loader_flc_open_prop(const char *filename, libaudio_prop_t *prop) { flc_data_t *data; FLAC__FileDecoder *decoder; data = (flc_data_t *)malloc(sizeof(flc_data_t)); if (data == NULL) return NULL; decoder = FLAC__file_decoder_new(); if (decoder == NULL) return NULL; if (!flac_init(decoder, data, filename)) { FLAC__file_decoder_delete(decoder); free(data); return NULL; } if (FLAC__file_decoder_init(decoder) != FLAC__FILE_DECODER_OK) { FLAC__file_decoder_delete(decoder); free(data); return NULL; } /* * The metadata callback should fill the sample_rate, channels * and bits_per_sample values in our data structure. */ data->sample_rate = 0; if (!FLAC__file_decoder_process_metadata(decoder)) { FLAC__file_decoder_delete(decoder); free(data); return NULL; } if (data->sample_rate == 0) { /* * We got no stream info while processing the metadata, odd. */ FLAC__file_decoder_delete(decoder); free(data); return NULL; } data->eof = 0; data->idx = 0; data->size = 0; data->decoder = decoder; prop->type = LIBAUDIO_TYPE_FLC; prop->loader = self; prop->loader_data = data; prop->sample_freq = data->sample_rate; prop->sample_size = data->bits_per_sample; prop->channels = data->channels; return prop; } static libaudio_prop_t * loader_flc_open(const char *filename) { libaudio_prop_t *prop, *ret; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; ret = loader_flc_open_prop(filename, prop); if (ret == NULL) free(prop); return ret; } static void loader_flc_close(libaudio_prop_t *prop) { flc_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_FLC); assert(prop->loader_data != NULL); data = (flc_data_t *)prop->loader_data; FLAC__file_decoder_delete(data->decoder); free(data); } static libaudio_prop_t * loader_flc_rewind(libaudio_prop_t *prop) { flc_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_FLC); assert(prop->loader_data != NULL); data = (flc_data_t *)prop->loader_data; FLAC__file_decoder_seek_absolute(data->decoder, 0); data->eof = 0; data->idx = 0; data->size = 0; return prop; } static int loader_flc_read_sample(libaudio_prop_t *prop) { int c; flc_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_FLC); assert(prop->loader_data != NULL); data = (flc_data_t *)prop->loader_data; if (data->eof) return EOF; if (data->idx >= data->size) { /* * Let the FLAC library process one frame of the audio data * and call the flac_write_callback() which fills the * buffer and the size variable. */ data->size = 0; FLAC__file_decoder_process_one_frame(data->decoder); if (data->size == 0) { data->eof = 1; return EOF; } data->idx = 0; if (prop->channels >= 2) data->size *= 2; } if (prop->channels >= 2) { if ((data->idx & 1) == 0) c = data->buf_l[data->idx / 2]; else c = data->buf_r[data->idx / 2]; } else c = data->buf_l[data->idx]; data->idx++; if (prop->sample_size == 8) return 256 * (128 + c); if (prop->sample_size == 16) return 32768 + c; return EOF; } static const char * loader_flc_get_type(void) { return "FLAC"; } static const char * loader_flc_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_flc_check, loader_flc_open, loader_flc_rewind, loader_flc_close, loader_flc_read_sample, loader_flc_get_type, loader_flc_get_name }; void loader_flc_init(void) { snprintf(loader_name, sizeof(loader_name), "loader for FLAC compressed audio files"); if (libaudio_register_loader(&loader)) self = &loader; } #else /* HAVE_LIBFLAC */ void loader_flc_init(void) { } #endif /* HAVE_LIBFLAC */ KCemu-0.5.1/src/libaudio/load_als.c0000644000175000017500000001135512417262523017257 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "libaudio/libaudioP.h" #ifdef HAVE_LIBASOUND #include #define ALS_BUF_SIZE (1024) static char loader_name[1024]; static libaudio_loader_t *self = NULL; typedef struct als_data { int eof; int idx; snd_pcm_t *capture_handle; unsigned char buf[ALS_BUF_SIZE]; } als_data_t; static int loader_als_check(const char *filename, unsigned char *data, long size) { if (strcmp(filename, "/dev/snd") == 0) return 1; return 0; } static libaudio_prop_t * loader_als_open(const char *filename) { int err; als_data_t *data; libaudio_prop_t *prop; snd_pcm_hw_params_t *hw_params; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; data = (als_data_t *)malloc(sizeof(als_data_t)); if (data == NULL) { free(prop); return NULL; } data->eof = 0; data->idx = 0; err = snd_pcm_open(&data->capture_handle, "plughw:0,0", SND_PCM_STREAM_CAPTURE, 0); if (err < 0) return NULL; err = snd_pcm_hw_params_malloc(&hw_params); if (err < 0) return NULL; err = snd_pcm_hw_params_any(data->capture_handle, hw_params); if (err < 0) return NULL; err = snd_pcm_hw_params_set_access(data->capture_handle, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED); if (err < 0) return NULL; err = snd_pcm_hw_params_set_format(data->capture_handle, hw_params, SND_PCM_FORMAT_S8); if (err < 0) return NULL; err = snd_pcm_hw_params_set_rate_near(data->capture_handle, hw_params, 44100, 0); if (err < 0) return NULL; err = snd_pcm_hw_params_set_channels(data->capture_handle, hw_params, 1); if (err < 0) return NULL; err = snd_pcm_hw_params(data->capture_handle, hw_params); if (err < 0) return NULL; snd_pcm_hw_params_free(hw_params); err = snd_pcm_prepare(data->capture_handle); if (err < 0) return NULL; prop->type = LIBAUDIO_TYPE_ALS; prop->loader = self; prop->loader_data = data; prop->sample_freq = 44100; prop->sample_size = 8; prop->channels = 1; return prop; } static libaudio_prop_t * loader_als_rewind(libaudio_prop_t *prop) { assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_ALS); assert(prop->loader_data != NULL); /* * can't do anything sensible here, just checking if called * on the appropriate stream... */ return prop; } static void loader_als_close(libaudio_prop_t *prop) { als_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_ALS); assert(prop->loader_data != NULL); data = (als_data_t *)(prop->loader_data); snd_pcm_close(data->capture_handle); free(data); } static int loader_als_read_sample(libaudio_prop_t *prop) { int c, err; als_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_ALS); assert(prop->loader_data != NULL); data = (als_data_t *)(prop->loader_data); if (data->eof) return EOF; if (data->idx >= ALS_BUF_SIZE) { err = snd_pcm_readi(data->capture_handle, data->buf, ALS_BUF_SIZE); if (err < 0) { snd_pcm_prepare(data->capture_handle); fprintf(stderr, "audio error (%s)\n", snd_strerror(err)); } //if (snd_pcm_readi(data->capture_handle, data->buf, ALS_BUF_SIZE) != ALS_BUF_SIZE) { //data->eof = 1; //return EOF; } data->idx = 0; } c = 256 * data->buf[data->idx]; data->idx++; return c; } static const char * loader_als_get_type(void) { return "ALSA"; } static const char * loader_als_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_als_check, loader_als_open, loader_als_rewind, loader_als_close, loader_als_read_sample, loader_als_get_type, loader_als_get_name }; void loader_als_init(void) { snprintf(loader_name, sizeof(loader_name), "loader for ALSA line input (/dev/snd)"); if (libaudio_register_loader(&loader)) self = &loader; } #else /* HAVE_LIBASOUND */ void loader_als_init(void) { } #endif /* HAVE_LIBASOUND */ KCemu-0.5.1/src/libaudio/load.c0000644000175000017500000001204412417262523016414 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include "libaudio/libaudioP.h" static libaudio_loader_t *loaders[MAX_LIBAUDIO_LOADERS]; void libaudio_init(int l) { memset(loaders, 0, sizeof(loaders)); /* * order is importend * first check for types with unique signatures * unsafe guesses come last */ if ((l & LIBAUDIO_TYPE_OSS) != 0) loader_oss_init(); if ((l & LIBAUDIO_TYPE_ALS) != 0) loader_als_init(); if ((l & LIBAUDIO_TYPE_SND) != 0) loader_snd_init(); if ((l & LIBAUDIO_TYPE_AUD) != 0) loader_aud_init(); if ((l & LIBAUDIO_TYPE_FLC) != 0) loader_flc_init(); if ((l & LIBAUDIO_TYPE_WAV) != 0) loader_wav_init(); if ((l & LIBAUDIO_TYPE_OGG) != 0) loader_ogg_init(); if ((l & LIBAUDIO_TYPE_MP3) != 0) loader_mp3_init(); if ((l & LIBAUDIO_TYPE_UNKNOWN) != 0) loader_raw_init(); /* fallback */ } int libaudio_register_loader(libaudio_loader_t *loader) { int a; for (a = 0;a < MAX_LIBAUDIO_LOADERS;a++) if (loaders[a] == NULL) { loaders[a] = loader; return 1; } return 0; } void libaudio_free_prop(libaudio_prop_t *prop) { free(prop->filename); free(prop); } libaudio_prop_t * libaudio_open(const char *filename) { FILE *f; int a; long size; unsigned char *data; struct stat stat_buf; libaudio_prop_t *retval; size = 0; data = NULL; if (filename == NULL) return NULL; if (stat(filename, &stat_buf) != 0) return NULL; if (S_ISREG(stat_buf.st_mode)) { size = 65536; if (stat_buf.st_size < size) size = stat_buf.st_size; /* prevent malloc(0) */ if (size == 0) size++; data = (unsigned char *)malloc(size); if (data == 0) return NULL; f = fopen(filename, "rb"); if (f == NULL) { free(data); return NULL; } if (fread(data, 1, size, f) != size) { free(data); return NULL; } fclose(f); } retval = NULL; for (a = 0;a < MAX_LIBAUDIO_LOADERS;a++) { if (loaders[a]) if (loaders[a]->check) { /* printf("trying %s...\n", loaders[a]->get_name()); */ if (loaders[a]->check(filename, data, size)) { /* printf("using %s.\n", loaders[a]->get_name()); */ retval = loaders[a]->open(filename); break; } } } if (data) free(data); if (retval != NULL) { retval->filename = (char *)malloc(strlen(filename) + 1); strcpy(retval->filename, filename); } return retval; } void libaudio_rewind(libaudio_prop_t *prop) { libaudio_prop_t *ret; if (prop == NULL) return; if (prop->loader == NULL) return; ret = prop->loader->rewind(prop); if (ret == NULL) libaudio_free_prop(prop); } void libaudio_close(libaudio_prop_t *prop) { if (prop == NULL) return; if (prop->loader == NULL) return; prop->loader->close(prop); libaudio_free_prop(prop); } int libaudio_read_sample(libaudio_prop_t *prop) { if (prop == NULL) return EOF; if (prop->loader == NULL) return EOF; return prop->loader->read_sample(prop); } const char * libaudio_get_type(libaudio_prop_t *prop) { if (prop == NULL) return "?"; if (prop->loader == NULL) return "?"; return prop->loader->get_type(); } const char * libaudio_get_name(libaudio_prop_t *prop) { if (prop == NULL) return "?"; if (prop->loader == NULL) return "?"; return prop->loader->get_name(); } const char * libaudio_get_filename(libaudio_prop_t *prop) { if (prop == NULL) return ""; return prop->filename; } int libaudio_get_sample_freq(libaudio_prop_t *prop) { assert(prop != NULL); return prop->sample_freq; } int libaudio_get_sample_size(libaudio_prop_t *prop) { assert(prop != NULL); return prop->sample_size; } int libaudio_get_channels(libaudio_prop_t *prop) { assert(prop != NULL); return prop->channels; } void libaudio_show_config(void) { int a; printf("available libaudio plugins:\n"); for (a = 0;a < MAX_LIBAUDIO_LOADERS;a++) { if (loaders[a]) printf(" %-10s %s\n", loaders[a]->get_type(), loaders[a]->get_name()); } } KCemu-0.5.1/src/libaudio/load_aud.c0000644000175000017500000001173212417262523017250 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "libaudio/libaudioP.h" #ifdef HAVE_LIBAUDIOFILE #include #define BUF_SIZE (1024) static int af_error; static char loader_name[1024]; static libaudio_loader_t *self = NULL; typedef struct audio_data { int eof; int idx; int size; int load_size; unsigned short buf[BUF_SIZE]; AFfilehandle afFile; } aud_data_t; static void loader_aud_error_func(long code, const char *str) { af_error = 1; } static int loader_aud_check(const char *filename, unsigned char *data, long size) { AFerrfunc func; AFfilehandle file; af_error = 0; func = afSetErrorHandler(loader_aud_error_func); file = afOpenFile(filename, "r", AF_NULL_FILESETUP); afSetErrorHandler(func); if (file == AF_NULL_FILEHANDLE) return 0; if (af_error != 0) return 0; afCloseFile(file); return 1; } static libaudio_prop_t * loader_aud_open_prop(const char *filename, libaudio_prop_t *prop) { int sampfmt; int sampwidth; aud_data_t *data; data = (aud_data_t *)malloc(sizeof(aud_data_t)); if (data == NULL) return NULL; data->afFile = afOpenFile(filename, "r", AF_NULL_FILESETUP); if (data->afFile == AF_NULL_FILEHANDLE) { free(data); return NULL; } /* * set the virtual sample format to 16 bit unsigned; this is * exactly the format required by libaudio_read_sample() */ afGetSampleFormat(data->afFile, AF_DEFAULT_TRACK, &sampfmt, &sampwidth); if (afSetVirtualSampleFormat(data->afFile, AF_DEFAULT_TRACK, AF_SAMPFMT_UNSIGNED, 16) != 0) { afCloseFile(data->afFile); free(data); return NULL; } prop->type = LIBAUDIO_TYPE_AUD; prop->loader = self; prop->loader_data = data; prop->sample_freq = (int)afGetRate(data->afFile, AF_DEFAULT_TRACK); prop->sample_size = sampwidth; prop->channels = afGetChannels(data->afFile, AF_DEFAULT_TRACK); data->eof = 0; data->idx = 0; data->load_size = BUF_SIZE / prop->channels; data->size = data->load_size; return prop; } static libaudio_prop_t * loader_aud_open(const char *filename) { libaudio_prop_t *prop, *ret; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; ret = loader_aud_open_prop(filename, prop); if (ret == NULL) free(prop); return ret; } static void loader_aud_close(libaudio_prop_t *prop) { aud_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_AUD); assert(prop->loader_data != NULL); data = (aud_data_t *)prop->loader_data; afCloseFile(data->afFile); free(data); } static libaudio_prop_t * loader_aud_rewind(libaudio_prop_t *prop) { assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_AUD); assert(prop->loader_data != NULL); loader_aud_close(prop); return loader_aud_open_prop(prop->filename, prop); } static int loader_aud_read_sample(libaudio_prop_t *prop) { int c, len; aud_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_AUD); assert(prop->loader_data != NULL); data = (aud_data_t *)prop->loader_data; if (data->eof) return EOF; if (data->idx >= data->size) { len = afReadFrames(data->afFile, AF_DEFAULT_TRACK, data->buf, data->load_size); if (len == 0) { data->eof = 1; return EOF; } data->idx = 0; data->size = len * prop->channels; } c = ((unsigned short *)data->buf)[data->idx]; data->idx++; return c; } static const char * loader_aud_get_type(void) { return "AUDIOFILE"; } static const char * loader_aud_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_aud_check, loader_aud_open, loader_aud_rewind, loader_aud_close, loader_aud_read_sample, loader_aud_get_type, loader_aud_get_name }; void loader_aud_init(void) { snprintf(loader_name, sizeof(loader_name), "loader for audio files supported by libaudiofile v%d.%d", LIBAUDIOFILE_MAJOR_VERSION, LIBAUDIOFILE_MINOR_VERSION); if (libaudio_register_loader(&loader)) self = &loader; } #else /* HAVE_LIBAUDIOFILE */ void loader_aud_init(void) { } #endif /* HAVE_LIBAUDIOFILE */ KCemu-0.5.1/src/libaudio/Makefile.am0000644000175000017500000000045412417262523017367 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libaudio.a AM_CPPFLAGS = \ -I../../include \ -DDEBUG -DLINUX libaudio_a_SOURCES = \ load.c \ load_oss.c \ load_als.c \ load_snd.c \ load_aud.c \ load_mp3.c \ load_ogg.c \ load_flc.c \ load_wav.c \ load_raw.c KCemu-0.5.1/src/libaudio/load_oss.c0000644000175000017500000001022712417262523017301 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "libaudio/libaudioP.h" #ifdef HAVE_OSS #include #include #include #include OSS_HEADER #define OSS_BUF_SIZE (1024) static char loader_name[1024]; static libaudio_loader_t *self = NULL; typedef struct oss_data { int fd; int eof; int idx; unsigned char buf[OSS_BUF_SIZE]; } oss_data_t; static int loader_oss_check(const char *filename, unsigned char *data, long size) { if (strcmp(filename, "/dev/dsp") == 0) return 1; return 0; } static libaudio_prop_t * loader_oss_open(const char *filename) { oss_data_t *data; libaudio_prop_t *prop; int speed, bits, stereo; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; data = (oss_data_t *)malloc(sizeof(oss_data_t)); if (data == NULL) { free(prop); return NULL; } data->eof = 0; data->idx = 0; data->fd = open(filename, O_RDONLY); if (data->fd < 0) { free(prop); free(data); return NULL; } speed = 44100; bits = 8; stereo = 0; if (ioctl(data->fd, SNDCTL_DSP_SYNC, NULL) < 0) return NULL; if (ioctl(data->fd, SNDCTL_DSP_SPEED, &speed) < 0) return NULL; if (ioctl(data->fd, SNDCTL_DSP_SAMPLESIZE, &bits) < 0) return NULL; if (ioctl(data->fd, SNDCTL_DSP_STEREO, &stereo) < 0) return NULL; prop->type = LIBAUDIO_TYPE_OSS; prop->loader = self; prop->loader_data = data; prop->sample_freq = 44100; prop->sample_size = 8; prop->channels = 1; return prop; } static libaudio_prop_t * loader_oss_rewind(libaudio_prop_t *prop) { assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_OSS); assert(prop->loader_data != NULL); /* * can't do anything sensible here, just checking if called * on the appropriate stream... */ return prop; } static void loader_oss_close(libaudio_prop_t *prop) { oss_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_OSS); assert(prop->loader_data != NULL); data = (oss_data_t *)(prop->loader_data); if (data->fd >= 0) close(data->fd); free(data); } static int loader_oss_read_sample(libaudio_prop_t *prop) { int c; oss_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_OSS); assert(prop->loader_data != NULL); data = (oss_data_t *)(prop->loader_data); if (data->eof) return EOF; if (data->idx >= OSS_BUF_SIZE) { if (read(data->fd, data->buf, OSS_BUF_SIZE) != OSS_BUF_SIZE) { data->eof = 1; close(data->fd); data->fd = -1; return EOF; } data->idx = 0; } c = 256 * data->buf[data->idx]; data->idx++; return c; } static const char * loader_oss_get_type(void) { return "OSS"; } static const char * loader_oss_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_oss_check, loader_oss_open, loader_oss_rewind, loader_oss_close, loader_oss_read_sample, loader_oss_get_type, loader_oss_get_name }; void loader_oss_init(void) { snprintf(loader_name, sizeof(loader_name), "loader for Open Sound System line input (/dev/dsp)"); if (libaudio_register_loader(&loader)) self = &loader; } #else /* HAVE_OSS */ void loader_oss_init(void) { } #endif /* HAVE_OSS */ KCemu-0.5.1/src/libaudio/load_raw.c0000644000175000017500000000604112417262523017265 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "libaudio/libaudioP.h" static char loader_name[1024]; static libaudio_loader_t *self = NULL; static int loader_raw_check(const char *filename, unsigned char *data, long size) { if (data == NULL) return 0; if (size == 0) return 0; return 1; } static libaudio_prop_t * loader_raw_open_prop(const char *filename, libaudio_prop_t *prop) { FILE *f; f = fopen(filename, "rb"); if (f == NULL) return NULL; prop->type = LIBAUDIO_TYPE_UNKNOWN; prop->loader = self; prop->loader_data = f; prop->sample_freq = 44100; prop->sample_size = 8; prop->channels = 1; return prop; } static libaudio_prop_t * loader_raw_open(const char *filename) { libaudio_prop_t *prop, *ret; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; ret = loader_raw_open_prop(filename, prop); if (ret == NULL) free(prop); return ret; } static void loader_raw_close(libaudio_prop_t *prop) { FILE *f; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_UNKNOWN); assert(prop->loader_data != NULL); f = (FILE *)(prop->loader_data); fclose(f); } static libaudio_prop_t * loader_raw_rewind(libaudio_prop_t *prop) { assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_UNKNOWN); assert(prop->loader_data != NULL); loader_raw_close(prop); return loader_raw_open_prop(prop->filename, prop); } static int loader_raw_read_sample(libaudio_prop_t *prop) { FILE *f; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_UNKNOWN); assert(prop->loader_data != NULL); f = (FILE *)(prop->loader_data); return fgetc(f); } static const char * loader_raw_get_type(void) { return "RAW"; } static const char * loader_raw_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_raw_check, loader_raw_open, loader_raw_rewind, loader_raw_close, loader_raw_read_sample, loader_raw_get_type, loader_raw_get_name }; void loader_raw_init(void) { snprintf(loader_name, sizeof(loader_name), "loader for raw files (44100kHz 8bit mono samples)"); if (libaudio_register_loader(&loader)) self = &loader; } KCemu-0.5.1/src/libaudio/load_ogg.c0000644000175000017500000001035412417262523017252 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "libaudio/libaudioP.h" #ifdef HAVE_LIBVORBIS #include static char loader_name[1024]; static libaudio_loader_t *self = NULL; #define BUF_SIZE (4096) typedef struct ogg_data { int eof; int idx; int size; unsigned char buf[BUF_SIZE]; OggVorbis_File file; } ogg_data_t; static int loader_ogg_check(const char *filename, unsigned char *data, long size) { FILE *f; OggVorbis_File file; f = fopen(filename, "rb"); if (f == NULL) return 0; if (ov_test(f, &file, NULL, 0) != 0) { fclose(f); return 0; } ov_clear(&file); return 1; } static libaudio_prop_t * loader_ogg_open_prop(const char *filename, libaudio_prop_t *prop) { FILE *f; ogg_data_t *data; vorbis_info *info; data = (ogg_data_t *)malloc(sizeof(ogg_data_t)); if (data == NULL) return NULL; f = fopen(filename, "rb"); if (f == NULL) { free(data); return NULL; } if (ov_open(f, &data->file, NULL, 0) != 0) { free(data); fclose(f); return NULL; } data->eof = 0; data->idx = 0; data->size = 0; prop->type = LIBAUDIO_TYPE_OGG; prop->loader = self; prop->loader_data = data; info = ov_info(&data->file, -1); prop->sample_freq = info->rate; prop->sample_size = 16; prop->channels = info->channels; return prop; } static libaudio_prop_t * loader_ogg_open(const char *filename) { libaudio_prop_t *prop, *ret; prop = (libaudio_prop_t *)malloc(sizeof(libaudio_prop_t)); if (prop == NULL) return NULL; ret = loader_ogg_open_prop(filename, prop); if (ret == NULL) free(prop); return ret; } static void loader_ogg_close(libaudio_prop_t *prop) { ogg_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_OGG); assert(prop->loader_data != NULL); data = (ogg_data_t *)prop->loader_data; ov_clear(&data->file); free(data); } static libaudio_prop_t * loader_ogg_rewind(libaudio_prop_t *prop) { assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_OGG); assert(prop->loader_data != NULL); loader_ogg_close(prop); return loader_ogg_open_prop(prop->filename, prop); } static int loader_ogg_read_sample(libaudio_prop_t *prop) { int c, len; int bitstream; ogg_data_t *data; assert(prop != NULL); assert(prop->type == LIBAUDIO_TYPE_OGG); assert(prop->loader_data != NULL); data = (ogg_data_t *)prop->loader_data; if (data->eof) return EOF; if (data->idx >= data->size) { len = ov_read(&data->file, (char *)data->buf, BUF_SIZE, 0, 2, 1, &bitstream); if (len <= 0) { data->eof = 1; return EOF; } data->idx = 0; data->size = len; } c = 256 * data->buf[data->idx + 1] + data->buf[data->idx]; data->idx += 2; return 32768 + c; } static const char * loader_ogg_get_type(void) { return "OggVorbis"; } static const char * loader_ogg_get_name(void) { return loader_name; } static libaudio_loader_t loader = { loader_ogg_check, loader_ogg_open, loader_ogg_rewind, loader_ogg_close, loader_ogg_read_sample, loader_ogg_get_type, loader_ogg_get_name }; void loader_ogg_init(void) { snprintf(loader_name, sizeof(loader_name), "loader for OggVorbis audio files"); if (libaudio_register_loader(&loader)) self = &loader; } #else /* HAVE_LIBVORBIS */ void loader_ogg_init(void) { } #endif /* HAVE_LIBVORBIS */ KCemu-0.5.1/src/Makefile.am0000644000175000017500000000035212417262523015574 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in if USE_INCLUDED_GETOPT GETOPTDIR = getopt endif SUBDIRS = \ sys \ $(GETOPTDIR) \ libdbg \ fileio \ libtape \ libdisk \ libaudio \ libgtkex \ cmd \ ui \ kc \ util KCemu-0.5.1/src/libdisk/0000755000175000017500000000000012417262523015161 5ustar glaubitzglaubitzKCemu-0.5.1/src/libdisk/teledisk.c0000644000175000017500000002164512417262523017141 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "libdisk/teledisk.h" static int decode_sector_copy(teledisk_prop_t *prop, int track_idx, unsigned char *buf) { int a, c, size; size = prop->offset[track_idx].l; for (a = 0;a < size;a++) { c = fgetc(prop->f); if (c == EOF) return -1; buf[a] = c; } return 0; } static int decode_sector_mult(teledisk_prop_t *prop, int track_idx, unsigned char *buf) { int a, b1, b2, idx, len; len = fgetc(prop->f); len = len + 256 * fgetc(prop->f); b1 = fgetc(prop->f); b2 = fgetc(prop->f); idx = 0; for (a = 0;a < len;a++) { buf[idx++] = b1; buf[idx++] = b2; } return 0; } static int decode_sector_rle(teledisk_prop_t *prop, int track_idx, unsigned char *buf) { int a, c, code, b1, b2, len, idx; idx = 0; while (idx < prop->offset[track_idx].l) { code = fgetc(prop->f); switch (code) { case 0: len = fgetc(prop->f); for (a = 0;a < len;a++) { c = fgetc(prop->f); buf[idx++] = c; } break; case 1: len = fgetc(prop->f); b1 = fgetc(prop->f); b2 = fgetc(prop->f); for (a = 0;a < len;a++) { buf[idx++] = b1; buf[idx++] = b2; } break; default: return -1; } } return 0; } static int decode_sector(teledisk_prop_t *prop, int track_idx, unsigned char *buf) { int type; char *name; type = fgetc(prop->f); switch (type) { case 0x00: name = "copy"; break; case 0x01: name = "mult"; break; case 0x02: name = "rle"; break; default: name = "unknown"; break; } //printf("track: %d, type = %d (%s)\n", track_idx, type, name); memset(prop->buf, 0, sizeof(prop->buf)); switch (type) { case 0x00: return decode_sector_copy(prop, track_idx, buf); case 0x01: return decode_sector_mult(prop, track_idx, buf); case 0x02: return decode_sector_rle(prop, track_idx, buf); default: break; } return -1; } static int read_sectors(teledisk_prop_t *prop) { int o, t, s1, s2, s3, s4, s5, s6, s7, s8; o = ftell(prop->f); s1 = fgetc(prop->f); s2 = fgetc(prop->f); s3 = fgetc(prop->f); s4 = fgetc(prop->f); s5 = fgetc(prop->f); s6 = fgetc(prop->f); s7 = fgetc(prop->f); s8 = fgetc(prop->f); //printf("SECTOR: %02x %02x %02x %02x %02x %02x %02x %02x\n", s1, s2, s3, s4, s5, s6, s7, s8); t = prop->sectors_total; prop->sectors_total++; prop->offset[t].c = s1; prop->offset[t].h = s2; prop->offset[t].s = s3; switch (s4) { case 0: prop->offset[t].l = 128; break; case 1: prop->offset[t].l = 256; break; case 2: prop->offset[t].l = 512; break; case 3: prop->offset[t].l = 1024; break; default: return -1; } if (prop->sector_size == 0) prop->sector_size = prop->offset[t].l; else if (prop->sector_size != prop->offset[t].l) prop->sector_size = -1; if (prop->cylinders < (s1 + 1)) prop->cylinders = s1 + 1; if (prop->sectors < s3) prop->sectors = s3; prop->offset[t].o = o; prop->offset[prop->sectors_total].o = 0; return decode_sector(prop, t, prop->buf); } static int read_tracks(teledisk_prop_t *prop) { int a, t1, t2, t3, t4; t1 = fgetc(prop->f); t2 = fgetc(prop->f); t3 = fgetc(prop->f); t4 = fgetc(prop->f); //printf("TRACK: %02x %02x %02x %02x\n", t1, t2, t3, t4); if (t1 == 0xff) // end marker? { //printf("TRACK END MARKER?\n"); return 1; } for (a = 0;a < t1;a++) if (read_sectors(prop) < 0) return -1; return 0; } static int set_density(teledisk_prop_t *prop, int density) { switch (density) { case 0: prop->density = "250K bps MFM"; break; case 1: prop->density = "300K bps MFM"; break; case 2: prop->density = "500K bps MFM"; break; case 128: prop->density = "250K bps FM"; break; case 129: prop->density = "300K bps FM"; break; case 130: prop->density = "500K bps FM"; break; default: return 0; } return 1; } static int set_drive_type(teledisk_prop_t *prop, int drive_type) { switch (drive_type) { case 1: prop->drive_type = "360k"; break; case 2: prop->drive_type = "1.2M"; break; case 3: prop->drive_type = "720k"; break; case 4: prop->drive_type = "1.44k"; break; default: return 0; } return 1; } static int read_header(teledisk_prop_t *prop) { char buf[2048]; struct { unsigned char file_id[2]; unsigned char volume_sequence; unsigned char check_signature; unsigned char version_number; unsigned char source_density; unsigned char drive_type; unsigned char track_density; unsigned char dos_mode; unsigned char heads; unsigned short crc; } h; struct { unsigned short crc; unsigned short len; unsigned char year; unsigned char month; unsigned char day; unsigned char hour; unsigned char minute; unsigned char second; } comment; const char *month[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; if (fread(&h, sizeof(h), 1, prop->f) != 1) return 0; /* * check file identifier */ if ((h.file_id[0] != 'T') && (h.file_id[0] != 't')) return 0; if ((h.file_id[1] != 'D') && (h.file_id[1] != 'd')) return 0; if (h.volume_sequence != 0) return 0; prop->id[0] = h.file_id[0]; prop->id[1] = h.file_id[1]; prop->id[2] = 0; prop->volume = h.volume_sequence; prop->signature = h.check_signature; prop->version_major = h.version_number / 16; prop->version_minor = h.version_number & 15; prop->heads = h.heads; prop->dos_mode = h.dos_mode; if (!set_density(prop, h.source_density)) return 0; if (!set_drive_type(prop, h.drive_type)) return 0; // check for comment if ((h.track_density & 0x80) != 0) { // comment header if (fread(&comment, sizeof(comment), 1, prop->f) != 1) return 0; snprintf(buf, sizeof(buf), "%02d. %s %04d, %02d:%02d:%02d", comment.day, month[comment.month], comment.year + 1900, comment.hour, comment.minute, comment.second); prop->comment_date = strdup(buf); if (comment.len >= (sizeof(buf) - 1)) return 0; /* * read comment */ memset(buf, 0, sizeof(buf)); if (fread(buf, 1, comment.len, prop->f) != comment.len) return 0; printf("comment: %s\n", buf); prop->comment = strdup(buf); } return 1; } teledisk_prop_t * teledisk_open(const char *filename) { int ret; FILE *f; teledisk_prop_t *prop; f = fopen(filename, "rb"); if (f == NULL) return NULL; prop = malloc(sizeof(teledisk_prop_t)); if (prop == NULL) return NULL; prop->f = f; prop->heads = 0; prop->cylinders = 0; prop->sector_size = 0; prop->sectors_total = 0; prop->comment = NULL; prop->comment_date = NULL; if (!read_header(prop)) { free(prop); return NULL; } prop->filename = strdup(filename); while (242) { ret = read_tracks(prop); if (ret > 0) break; if (ret < 0) { teledisk_close(prop); return NULL; } } return prop; } void teledisk_close(teledisk_prop_t *prop) { if (prop == NULL) return; free(prop->filename); if (prop->comment != NULL) free(prop->comment); if (prop->comment_date != NULL) free(prop->comment_date); free(prop); return; } int teledisk_read_sector(teledisk_prop_t *prop, int c, int h, int s) { int a = -1; while (242) { a++; if (prop->offset[a].o == 0) return -1; if (prop->offset[a].c != c) continue; if (prop->offset[a].h != h) continue; if (prop->offset[a].s != s) continue; break; } if (fseek(prop->f, prop->offset[a].o + 8, SEEK_SET) < 0) { memset(prop->buf, 0, sizeof(prop->buf)); return -1; } if (decode_sector(prop, a, prop->buf) < 0) { memset(prop->buf, 0, sizeof(prop->buf)); return -1; } return prop->offset[a].l; } KCemu-0.5.1/src/libdisk/Makefile.am0000644000175000017500000000056512417262523017223 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in bin_PROGRAMS = tdtodump EXTRA_DIST = extract-system-tracks.sh noinst_LIBRARIES = libdisk.a AM_CPPFLAGS = \ -I../../include \ -DDEBUG -DLINUX libdisk_a_SOURCES = \ disk.c \ teledisk.c \ load_dir.c \ load_cdm.c \ load_td0.c \ load_22dsk.c tdtodump_SOURCES = \ tdtodump.c tdtodump_LDADD = \ libdisk.a KCemu-0.5.1/src/libdisk/load_dir.c0000644000175000017500000004531112417262523017106 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include "libdisk/libdiskP.h" // CP/M record size is 128 #define RECORD_SIZE (128) // size of one directory entry #define DIR_ENTRY_SIZE (32) #define SIZE_TO_REC(x) (((x) + (RECORD_SIZE - 1)) / RECORD_SIZE) // directory size in bytes #define DIR_SIZE(dpb) (DIR_ENTRY_SIZE * ((dpb)->drm + 1)) // disk size in bytes #define DISK_SIZE(dpb) (RECORD_SIZE * (((dpb)->dsm + 1) << ((dpb)->bsh))) // sector size in bytes #define SECTOR_SIZE(dpb) (RECORD_SIZE << ((dpb)->bsh)) // size of allocation unit #define AU_SIZE(dpb) (RECORD_SIZE << (dpb)->bsh) #define SIZE_TO_AU(dpb,x) (((x) + (AU_SIZE(dpb) - 1)) / AU_SIZE(dpb)) // FIXME: uses hardcoded disk geometry #define CHS_TO_SECT(dpb,c,h,s) (((s) - 1) + 5 * (h) + 10 * (c)) // FIXME: still uses hardcoded information that AU is 2 * SECTOR size #define CHS_TO_AU(dpb,c,h,s) (CHS_TO_SECT((dpb), (c), (h), (s)) / 2) // FIXME: still uses hardcoded information that AU is 2 * SECTOR size #define AU_TO_OFFSET(dpb,au,c,h,s) (CHS_TO_SECT((dpb), (c), (h), (s)) - 2 * (au)) // first data allocation unit (after directory, not counting system tracks) #define FIRST_AU(dpb) ((DIR_SIZE(dpb) + (AU_SIZE(dpb) - 1)) / AU_SIZE(dpb)) #define SYSTEM_NAME "@boot.sys" /* * * CP/M 2.2 disc formats * (see http://www.seasip.demon.co.uk/Cpm/format22.html) * * CP/M 2.2 works with a much larger range of discs than CP/M 1.4. The * disc statistics are stored in a parameter block (the DPB), which * contains the following information: * * DEFW spt ;Number of 128-byte records per track * DEFB bsh ;Block shift. 3 => 1k, 4 => 2k, 5 => 4k.... * DEFB blm ;Block mask. 7 => 1k, 0Fh => 2k, 1Fh => 4k... * DEFB exm ;Extent mask, see later * DEFW dsm ;(no. of blocks on the disc)-1 * DEFW drm ;(no. of directory entries)-1 * DEFB al0 ;Directory allocation bitmap, first byte * DEFB al1 ;Directory allocation bitmap, second byte * DEFW cks ;Checksum vector size, 0 for a fixed disc * ;No. directory entries/4, rounded up. * DEFW ofs ;Offset, number of reserved tracks * * The directory allocation bitmap is interpreted as: * * al0 al1 * b7b6b5b4b3b2b1b0 b7b6b5b4b3b2b1b0 * 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 * * - ie, in this example, the first 4 blocks of the disc contain the * directory. * * * The DPB is not stored on disc. It is either hardwired into the BIOS or * generated on the fly when a disc is logged in. * * The reserved tracks will contain an image of CP/M 2.2, used when the * system is rebooted. Discs can be formatted as data only discs, in * which case they have no system tracks and cannot be used to reboot the * system. * * CP/M 2.2 directory * * The CP/M 2.2 directory has only one type of entry: * * UU F1 F2 F3 F4 F5 F6 F7 F8 T1 T2 T3 EX S1 S2 RC .FILENAMETYP.... * AL AL AL AL AL AL AL AL AL AL AL AL AL AL AL AL ................ * * UU = User number. 0-15 (on some systems, 0-31). The user number * allows multiple files of the same name to coexist on the disc. * User number = 0E5h => File deleted * Fn - filename * Tn - filetype. The characters used for these are 7-bit ASCII. * The top bit of T1 (often referred to as T1') is set if the * file is read-only. * T2' is set if the file is a system file (this corresponds * to "hidden" on other systems). * EX = Extent counter, low byte - takes values from 0-31 * S2 = Extent counter, high byte. * * An extent is the portion of a file controlled by one directory * entry. If a file takes up more blocks than can be listed in one * directory entry, it is given multiple entries, distinguished by * their EX and S2 bytes. The formula is: Entry number = * ((32*S2)+EX) / (exm+1) where exm is the extent mask value from * the Disc Parameter Block. * * S1 - reserved, set to 0. * RC - Number of records (1 record=128 bytes) used in this extent, low * byte. The total number of records used in this extent is * * (EX & exm) * 128 + RC * * If RC is 80h, this extent is full and there may be another one on * the disc. File lengths are only saved to the nearest 128 bytes. * * AL - Allocation. Each AL is the number of a block on the disc. If an * AL number is zero, that section of the file has no storage * allocated to it (ie it does not exist). For example, a 3k file * might have allocation 5,6,8,0,0.... - the first 1k is in block 5, * the second in block 6, the third in block 8. * * AL numbers can either be 8-bit (if there are fewer than 256 * blocks on the disc) or 16-bit (stored low byte first). * ************************************************************************* * * $a = 2 * $au; * $s = ($a % 5) + 1; * $h = ($a % 10) / 5; * $c = ($a / 10); * * ($s - 1) + $h * 5 + $c * 10 * * Used disk layout: 2 sides, 80 tracks with 5 sectors of 1024 bytes each * (This is the default disk format for the KC) */ static const char * loader_dir_get_name(void); static int loader_dir_open(libdisk_prop_t *prop, const char *path); static void loader_dir_close(libdisk_prop_t *prop); static int loader_dir_read_sector(libdisk_prop_t *prop, unsigned char *buf, int len); static int loader_dir_write_sector(libdisk_prop_t *prop, unsigned char *buf, int len); static libdisk_loader_t _loader = { loader_dir_get_name, loader_dir_open, loader_dir_close, loader_dir_read_sector, loader_dir_write_sector }; #define __DRM (127) // FIXME: hack, change to use dpb #define __DIR_SIZE (DIR_ENTRY_SIZE * (__DRM + 1)) // FIXME: hack, change to use dpb typedef struct { char *path; libdisk_dpb_t *dpb; char *filename[__DRM + 1]; long size[__DRM + 1]; long au[__DRM + 1]; unsigned char dir[__DIR_SIZE]; } dir_data_t; typedef struct sector_data_struct { int c; int h; int s; int au; int len; unsigned char *data; struct sector_data_struct *next; } sector_data_t; /* * DISK PARAMETER BLOCK (for disk format 5*1024*80*2 OFF 2) */ static libdisk_dpb_t _dpb = { // logical disc descriptor 80, // spt: number of 128-byte records per track 4, // bsh: block shift. 3 => 1k, 4 => 2k, 5 => 4k.... 15, // blm: block mask. 7 => 1k, 0Fh => 2k, 1Fh => 4k... 0, // exm: extent mask 389, // dsm: (no. of blocks on the disc) - 1 127, // drm: (no. of directory entries) - 1 192, // al0: directory allocation bitmap, first byte 0, // al1: directory allocation bitmap, second byte 16, // cks: checksum vector size, No. directory entries/4, rounded up. 2, // ofs: offset, number of reserved tracks // physical disc descriptor 3, // psh: physical block shift 7, // phm: physical block mask 5, // eot: number of last sector 15, // gap: sector gap 80, // ntr: number of tracks }; static sector_data_t *_sector_data_head = NULL; static sector_data_t *_sector_data_last = NULL; static void dump_sector(unsigned char *sector, int length); static void cache_sector_data(dir_data_t *data, int c, int h, int s, unsigned char *buf, int len); static void set_filename(unsigned char *buf, char *filename) { int a; char *ptr; memset(buf, ' ', 11); for (a = 0;a < 8;a++) { if (filename[a] == '\0') break; if (filename[a] == '.') break; buf[a] = toupper(filename[a]); } ptr = strrchr(filename, '.'); if (ptr == NULL) return; ptr++; for (a = 0;a < 3;a++) { if (ptr[a] == '\0') break; buf[8 + a] = toupper(ptr[a]); } } static int set_directory_entry(dir_data_t *data, int idx, int start_au, long size, char *filename) { int a; int au; int rec; int extend; au = 0; extend = 0; rec = SIZE_TO_REC(size); printf("set_directory_entry(): %d: '%s'\n", start_au, filename); do { memset(&data->dir[32 * idx], 0, 32); //printf("%d: %s - %d\n", extend, filename, rec); set_filename(&data->dir[32 * idx + 1], filename); data->dir[32 * idx] = 0; // user data->dir[32 * idx + 12] = extend; data->dir[32 * idx + 13] = 0; data->dir[32 * idx + 14] = 0; data->dir[32 * idx + 15] = (rec > 0x80) ? 0x80 : rec; for (a = 0;a < 8;a++) if (au < SIZE_TO_AU(data->dpb, size)) { data->dir[32 * idx + 2 * a + 16] = (start_au + au) & 0xff; data->dir[32 * idx + 2 * a + 17] = (start_au + au) >> 8; au++; } rec -= 0x80; extend++; idx++; } while (rec > 0); return extend; } static const char * loader_dir_get_name(void) { return "disk loader for unix directories"; } static int loader_dir_open(libdisk_prop_t *prop, const char *path) { DIR *d; int a, idx, ro, au; char pwd[4096]; // FIXME: fix getcwd()! dir_data_t *data; struct stat statbuf; struct dirent *dirent; if (prop == NULL) return -1; if (getcwd(pwd, 4096) == NULL) return -1; if (chdir(path) < 0) return -1; ro = 1; d = opendir("."); if (d == NULL) return -1; data = (dir_data_t *)malloc(sizeof(dir_data_t)); if (data == NULL) return -1; data->path = strdup(path); data->dpb = &_dpb; memset(data->dir, 0xe5, DIR_SIZE(data->dpb)); memset(data->au, 0, (data->dpb->drm + 1) * sizeof(long)); memset(data->filename, 0, (data->dpb->drm + 1) * sizeof(char *)); a = 0; while (242) { dirent = readdir(d); if (dirent == NULL) break; if (dirent->d_name[0] == '.') continue; if (strcmp(dirent->d_name, SYSTEM_NAME) == 0) continue; if (stat(dirent->d_name, &statbuf) < 0) continue; if (!S_ISREG(statbuf.st_mode)) continue; if (statbuf.st_size > DISK_SIZE(data->dpb)) continue; data->size[a] = statbuf.st_size; data->filename[a] = strdup(dirent->d_name); a++; } closedir(d); if (chdir(pwd) < 0) printf("can't restore working directory!\n"); // FIXME: idx = 0; au = FIRST_AU(data->dpb); for (a = 0;(a <= data->dpb->drm) && (data->filename[a] != NULL);a++) { data->au[a] = au; idx += set_directory_entry(data, idx, au, data->size[a], data->filename[a]); au += SIZE_TO_AU(data->dpb, data->size[a]); } #if 0 { FILE *f; f = fopen("/tmp/dir", "wb"); fwrite(data->dir, 1, DIR_SIZE, f); fclose(f); } #endif prop->read_only = ro; prop->head_count = 2; prop->cylinder_count = 80; prop->sector_size = 1024; prop->sectors_per_cylinder = 5; prop->data = data; prop->loader = &_loader; _sector_data_head = NULL; return 0; } static void loader_dir_close(libdisk_prop_t *prop) { dir_data_t *data; sector_data_t *sector_data; if (prop == NULL) return; if (prop->data == NULL) return; data = (dir_data_t *)prop->data; free(data); while (_sector_data_head != NULL) { sector_data = _sector_data_head; _sector_data_head = sector_data->next; free(sector_data->data); free(sector_data); } prop->data = NULL; } static int read_block(dir_data_t *data, unsigned char *buf, int idx, long offset, int len) { FILE *f; char pwd[4096]; // FIXME: fix getcwd()! printf("read_block(): '%s' [%ld]\n", data->filename[idx], offset); if (getcwd(pwd, 4096) == NULL) return -1; if (chdir(data->path) < 0) return -1; f = fopen(data->filename[idx], "rb"); if (f == NULL) return -1; if (fseek(f, offset, SEEK_SET) < 0) return -1; memset(buf, '\0', len); fread(buf, 1, len, f); fclose(f); if (chdir(pwd) < 0) printf("can't restore working directory!\n"); // FIXME: return len; } static int write_block(dir_data_t *data, unsigned char *buf, int idx, long offset, int len) { FILE *f; char pwd[4096]; // FIXME: fix getcwd()! printf("write_block(): '%s' [%ld]\n", data->filename[idx], offset); if (getcwd(pwd, 4096) == NULL) return -1; if (chdir(data->path) < 0) return -1; f = fopen(data->filename[idx], "r+b"); if (f == NULL) return -1; if (fseek(f, offset, SEEK_SET) < 0) return -1; fwrite(buf, 1, len, f); fclose(f); if (chdir(pwd) < 0) printf("can't restore working directory!\n"); // FIXME: return len; } static int read_system_block(char *path, unsigned char *buf, int block, int len) { FILE *f; char pwd[4096]; // FIXME: fix getcwd()! printf("read_system_block(): block %d\n", block); if (getcwd(pwd, 4096) == NULL) return -1; if (chdir(path) < 0) return -1; f = fopen(SYSTEM_NAME, "rb"); if (f == NULL) return -1; if (fseek(f, block * 1024, SEEK_SET) < 0) return -1; memset(buf, '\0', len); fread(buf, 1, len, f); fclose(f); if (chdir(pwd) < 0) printf("can't restore working directory!\n"); // FIXME: return len; } static int write_system_block(char *path, unsigned char *buf, int block, int len) { FILE *f; char pwd[4096]; // FIXME: fix getcwd()! printf("write_system_block(): block %d\n", block); if (getcwd(pwd, 4096) == NULL) return -1; if (chdir(path) < 0) return -1; f = fopen(SYSTEM_NAME, "r+b"); if (f == NULL) return -1; if (fseek(f, block * 1024, SEEK_SET) < 0) return -1; fwrite(buf, 1, len, f); fclose(f); if (chdir(pwd) < 0) printf("can't restore working directory!\n"); // FIXME: return len; } static int is_system_sector(libdisk_dpb_t *dpb, int c, int h, int s) { return c < dpb->ofs; } static int is_directory_sector(libdisk_dpb_t *dpb, int c, int h, int s) { /* * Get allocation unit index translated by number of system tracks * so we get index 0 for the first directory sector. The directory * block allocation mask can only store 16 bits, so the maximum * index of a directory allocation unit is 15. */ int dir_al = CHS_TO_AU(dpb, c - dpb->ofs, h, s); if (dir_al > 15) return 0; int dir_al_mask = (dpb->al0 << 8) | dpb->al1; return dir_al_mask & (1 << (15 - dir_al)); } static int find_index(dir_data_t *data, int c, int h, int s) { int a; int au = CHS_TO_AU(data->dpb, c - data->dpb->ofs, h, s); for (a = data->dpb->drm;a >= 0;a--) { if (data->au[a] == 0) continue; if (data->dir[32 * a] == 0xe5) // skip deleted continue; if (data->au[a] <= au) break; } return a; } static int loader_dir_read_sector(libdisk_prop_t *prop, unsigned char *buf, int len) { int h, c, s; dir_data_t *data; if (prop == NULL) return -1; if (prop->data == NULL) return -1; h = prop->head; c = prop->cylinder; s = prop->sector; data = (dir_data_t *)prop->data; if (is_system_sector(data->dpb, c, h, s)) { int block = CHS_TO_SECT(data->dpb, c, h, s); return read_system_block(data->path, buf, block, len); } if (is_directory_sector(data->dpb, c, h, s)) { int block = CHS_TO_SECT(data->dpb, c - data->dpb->ofs, h, s); memcpy(buf, &data->dir[block * len], len); return len; } /* * normal data sector */ int idx = find_index(data, c, h, s); if (idx < 0) { printf("*** allocation unit not found for sector C/H/S %d/%d/%d ***\n", c, h, s); //memset(buf, 0xe5, len); //int block = CHS_TO_SECT(data->dpb, c, h, s); //memcpy(buf, _debug_sector_buffer + len * block, len); return len; } int au_ofs = AU_TO_OFFSET(data->dpb, data->au[idx], c - data->dpb->ofs, h, s); return read_block(data, buf, idx, len * au_ofs, len); } static int loader_dir_write_sector(libdisk_prop_t *prop, unsigned char *buf, int len) { int h = prop->head; int c = prop->cylinder; int s = prop->sector; dir_data_t *data = (dir_data_t *)prop->data; printf("loader_dir_write_sector(): C/H/S = %d/%d/%d, len = %d\n", c, h, s, len); dump_sector(buf, len); int block = CHS_TO_SECT(data->dpb, c, h, s); if (is_system_sector(data->dpb, c, h, s)) { write_system_block(data->path, buf, block, len); } else if (is_directory_sector(data->dpb, c, h, s)) { int block = CHS_TO_SECT(data->dpb, c - data->dpb->ofs, h, s); memcpy(&data->dir[block * len], buf, len); } else { int idx = find_index(data, c, h, s); if (idx < 0) { cache_sector_data(data, c, h, s, buf, len); } else { int au_ofs = AU_TO_OFFSET(data->dpb, data->au[idx], c - data->dpb->ofs, h, s); return write_block(data, buf, idx, len * au_ofs, len); } } return len; } static void cache_sector_data(dir_data_t *data, int c, int h, int s, unsigned char *buf, int len) { sector_data_t *sector_data; sector_data = malloc(sizeof(sector_data_t)); sector_data->c = c; sector_data->h = h; sector_data->s = s; sector_data->au = CHS_TO_AU(data->dpb, c - data->dpb->ofs, h, s); sector_data->len = len; sector_data->next = NULL; sector_data->data = malloc(len); memcpy(sector_data->data, buf, len); if (_sector_data_head == NULL) { _sector_data_head = _sector_data_last = sector_data; } else { _sector_data_last->next = sector_data; _sector_data_last = sector_data; } } // DEBUG static void dump_sector(unsigned char *sector, int len) { int a, b, blen; unsigned char buf[16]; a = 0; while (a < len) { for (b = 0;b < 16;b++) { if ((a + b) >= len) break; buf[b] = sector[a++]; if (a >= len) { printf("\n"); return; } blen = b + 1; } printf("%04x: ", a); for (b = 0;b < 16;b++) { if (b < blen) { printf("%02x ", buf[b]); } else { printf(" "); } if (b == 7) printf("- "); } printf(" | "); for (b = 0;b < blen;b++) { printf("%c", (isprint(buf[b])) ? buf[b] : '.'); if (b == 7) printf(" - "); } printf("\n"); if (blen != 16) break; } printf("\n"); } void loader_dir_init(void) { libdisk_register_loader(&_loader); } KCemu-0.5.1/src/libdisk/load_td0.c0000644000175000017500000000534512417262523017022 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "libdisk/teledisk.h" #include "libdisk/libdiskP.h" static const char * loader_td0_get_name(void); static int loader_td0_open(libdisk_prop_t *prop, const char *path); static void loader_td0_close(libdisk_prop_t *prop); static int loader_td0_read_sector(libdisk_prop_t *prop, unsigned char *buf, int len); static int loader_td0_write_sector(libdisk_prop_t *prop, unsigned char *buf, int len); static libdisk_loader_t loader = { loader_td0_get_name, loader_td0_open, loader_td0_close, loader_td0_read_sector, loader_td0_write_sector }; static const char * loader_td0_get_name(void) { return "disk loader for Sydex TeleDisk images"; } static int loader_td0_open(libdisk_prop_t *prop, const char *path) { teledisk_prop_t *data; if (prop == NULL) return -1; data = teledisk_open(path); if (data == NULL) return -1; prop->head_count = 2; prop->cylinder_count = 80; prop->sector_size = 1024; prop->sectors_per_cylinder = 5; prop->data = data; prop->loader = &loader; prop->read_only = 1; return 0; } static void loader_td0_close(libdisk_prop_t *prop) { teledisk_prop_t *data; if (prop == NULL) return; if (prop->data == NULL) return; data = (teledisk_prop_t *)prop->data; teledisk_close(data); prop->data = NULL; } static int loader_td0_read_sector(libdisk_prop_t *prop, unsigned char *buf, int len) { teledisk_prop_t *data; if (prop == NULL) return -1; if (prop->data == NULL) return -1; if (len != 1024) return -1; data = (teledisk_prop_t *)prop->data; if (teledisk_read_sector(data, prop->cylinder, prop->head, prop->sector) < 0) return -1; memcpy(buf, data->buf, len); return len; } static int loader_td0_write_sector(libdisk_prop_t *prop, unsigned char *buf, int len) { return -1; } void loader_td0_init(void) { libdisk_register_loader(&loader); } KCemu-0.5.1/src/libdisk/disk.c0000644000175000017500000000644512417262523016270 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "libdisk/libdiskP.h" static libdisk_loader_t *loaders[MAX_DISK_LOADERS]; void libdisk_init(void) { memset(loaders, 0, sizeof(loaders)); /* * order is importend * first check for types with unique signatures * unsafe guesses come last */ loader_dir_init(); loader_cdm_init(); loader_td0_init(); loader_22dsk_init(); } int libdisk_register_loader(libdisk_loader_t *loader) { int a; for (a = 0;a < MAX_DISK_LOADERS;a++) if (loaders[a] == NULL) { loaders[a] = loader; return 1; } return 0; } int libdisk_open(libdisk_prop_t **prop, const char *path) { int a; if (path == NULL) return -1; if (prop == NULL) return -1; *prop = (libdisk_prop_t *)malloc(sizeof(libdisk_prop_t)); if (*prop == NULL) return -1; for (a = 0;a < MAX_DISK_LOADERS;a++) { if (loaders[a] == NULL) continue; if (loaders[a]->open(*prop, path) == 0) { //printf("loader: %s\n", loaders[a]->get_name()); return 0; } } free(*prop); *prop = 0; // ensure pointer to be NULL on failure! return -1; } void libdisk_close(libdisk_prop_t **prop) { libdisk_prop_t *p; if (prop == NULL) return; p = (*prop); if (p == NULL) return; if (p->loader != NULL) if (p->loader->close != NULL) p->loader->close(p); free(p); *prop = 0; } int libdisk_seek(libdisk_prop_t **prop, int head, int cylinder, int sector) { libdisk_prop_t *p; if (prop == NULL) return -1; p = (*prop); p->head = head; p->cylinder = cylinder; p->sector = sector; return 0; } int libdisk_read_sector(libdisk_prop_t **prop, unsigned char *buf, int len) { libdisk_prop_t *p; if (prop == NULL) return -1; p = (*prop); if (p) if (p->loader != NULL) if (p->loader->read_sector != NULL) return p->loader->read_sector(p, buf, len); return 0; } int libdisk_write_sector(libdisk_prop_t **prop, unsigned char *buf, int len) { libdisk_prop_t *p; if (prop == NULL) return -1; p = (*prop); if (p) if (p->loader != NULL) if (p->loader->write_sector != NULL) return p->loader->write_sector(p, buf, len); return 0; } void libdisk_show_config(void) { int a; printf("available libdisk plugins:\n"); for (a = 0;a < MAX_DISK_LOADERS;a++) { if (loaders[a]) printf(" %s\n", loaders[a]->get_name()); } } KCemu-0.5.1/src/libdisk/extract-system-tracks.sh0000755000175000017500000000262512417262523022006 0ustar glaubitzglaubitz#!/bin/bash # # KCemu -- The emulator for the KC85 homecomputer series and much more. # Copyright (C) 1997-2010 Torsten Paul # # This program 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 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. if test "x$1" = x then echo "usage: $0 disk-dump " exit 1 fi TMP=`mktemp` if test $? -ne 0 then echo "cannot create temporary file, abort." exit 1 fi trap "rm -f \"$TMP\"" 0 SECT=0 while test $SECT -lt 20 do SRC_OFFSET=`expr $SECT \* \( 1024 + 8 \) + 8` DST_OFFSET=`expr $SECT \* 1024` dd if="$1" of="$TMP" bs=1 skip=$SRC_OFFSET seek=$DST_OFFSET count=1024 2>/dev/null if test $? -ne 0 then echo "error while extracting system tracks from \"$1\", abort." exit 1 fi SECT=`expr $SECT + 1` done if test "x$2" = x then cat "$TMP" else mv "$TMP" "$2" fi KCemu-0.5.1/src/libdisk/tdtodump.c0000644000175000017500000001120212417262523017161 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "libdisk/teledisk.h" static void print_underline(const char *text, int c) { int a; fprintf(stderr, "%s\n", text); for (a = 0;a < strlen(text);a++) fputc(c, stderr); fputc('\n', stderr); } static void usage(const char *program) { fprintf(stderr, "usage: %s [-o filename] [-s] teledisk-dump\n", program); exit(1); } static void dump(const char *image_name, const char *out_name, int by_sector) { FILE *out; int c, h, s; char buf[2048]; teledisk_prop_t *prop; prop = teledisk_open(image_name); if (prop == NULL) { fprintf(stderr, "can't open `%s'\n", image_name); exit(1); } if (!by_sector) { out = out_name == NULL ? stdout : fopen(out_name, "wb"); if (out == NULL) { fprintf(stderr, "can't write `%s'\n", out_name); exit(1); } } snprintf(buf, sizeof(buf), "Teledisk file `%s'", prop->filename); print_underline(buf, '='); fprintf(stderr, "Id : %s\n", prop->id); fprintf(stderr, "Version : %d.%d\n", prop->version_major, prop->version_minor); fprintf(stderr, "Volume : %d\n", prop->volume); fprintf(stderr, "Check-Byte : %d (%02xh)\n", prop->signature, prop->signature); fprintf(stderr, "Density : %s\n", prop->density); fprintf(stderr, "Drive-Type : %s\n", prop->drive_type); fprintf(stderr, "Dos-Mode : %s\n", prop->dos_mode ? "Yes" : "No"); fprintf(stderr, "Heads : %d\n", prop->heads); fprintf(stderr, "Cylinders : %d\n", prop->cylinders); fprintf(stderr, "Sectors : %d\n", prop->sectors); if (prop->sector_size < 0) fprintf(stderr, "Sector-Size : variable\n"); else fprintf(stderr, "Sector-Size : %d\n", prop->sector_size); if (prop->comment != NULL) { fprintf(stderr, "Comment-Date : %s\n", prop->comment_date); fprintf(stderr, "Comment : %s\n", prop->comment); } fprintf(stderr, "\n"); int old_size = 0; for (c = 0; c < prop->cylinders; c++) { for (h = 0; h < prop->heads; h++) { for (s = 1; s < prop->sectors; s++) { int size = teledisk_read_sector(prop, c, h, s); if (size < 0) { continue; } else if ((old_size > 0) && (old_size != size)) { fprintf(stderr, "Sector Size Change %d -> %d at %d/%d/%d (C/H/S)\n", old_size, size, c, h, s); } old_size = size; if (by_sector) { if (out_name) snprintf(buf, sizeof(buf), "%s_c%02dh%02ds%02d", out_name, c, h, s); out = out_name == NULL ? stdout : fopen(buf, "wb"); } //fputc(c, out); //fputc(h, out); //fputc(c, out); //fputc(h, out); //fputc(s, out); //fputc(3, out); //fputc(0, out); //fputc(4, out); fwrite(prop->buf, 1, size, out); if (by_sector) { fclose(out); out = NULL; } } } } fprintf(stderr, "\n"); fprintf(stderr, "\n"); if (out != NULL) fclose(out); teledisk_close(prop); } int main(int argc, char **argv) { int opt; int by_sector = 0; char *out_name = NULL; while ((opt = getopt(argc, argv, "so:")) != -1) { switch (opt) { case 's': by_sector = 1; break; case 'o': out_name = strdup(optarg); break; default: usage(argv[0]); } } if ((optind + 1) != argc) usage(argv[0]); dump(argv[optind], out_name, by_sector); return 0; } KCemu-0.5.1/src/libdisk/load_22dsk.c0000644000175000017500000002135412417262523017256 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ /* * The following CP/M Disk Parameter Block description is from the * 22DISK Tool by Sydex: * * BSH refers to the block shift or the number of left shifts needed * to translate an allocation block number to a relative sector * address. * * BLM refers to the block mask or a bit mask of ones corresponding * to the number of bits specified by BSH. For example, if BSH * is 3, BLM is 7 (3 bits). * * EXM refers to the extent mask or a bit mask of ones used in * delimiting extents, or groups of 128 128-byte records. * * DSM refers to the total number of sectors present on a diskette. * This quantity, like all of the CP/M system variables, as- * sumes a 128-byte sector. * * DRM refers to the total number of directory entries available on * a diskette. DRM is also related to the AL0 and AL1 fields. * * AL0 and AL1 form a bit mask, beginning with the most significant * bit in byte AL0 and ending with the least significant bit in * AL1. These two bytes map the first 16 allocation blocks of * the disk. A 1 bit in a position indicates that an alloca- * tion block is reserved, usually for the directory (see DRM, * above). * * OFS indicates the number of tracks that are used for storing the * CP/M system and BIOS at the beginning of a diskette. * * SOFS indicates the number of sectors that are used for storing * the CP/M system and BIOS at the beginning of a diskette. * SOFS is used when the number of sectors used by the CP/M is * not an integral number of tracks, such as for the Coleco * Adam. * * * A working parameter block to read standard KC-CAOS disks looks * like this: * * BEGIN KC KC * DENSITY MFM,LOW * CYLINDERS 80 * SIDES 2 * SECTORS 5,1024 * SIDE1 0 1,2,3,4,5 * SIDE2 1 1,2,3,4,5 * ORDER SIDES * BSH 4 BLM 15 EXM 0 DSM 390 DRM 127 AL0 11000000B AL1 0 OFS 4 * END * */ #include #include #include #include #include "libdisk/libdiskP.h" typedef struct { FILE *f; gzFile gzf; int read_only; int len; struct { int head; int cylinder; int sector; int count; long offset; } offset[5000]; } dsk_data_t; static const char * loader_22dsk_get_name(void); static int loader_22dsk_open(libdisk_prop_t *prop, const char *path); static void loader_22dsk_close(libdisk_prop_t *prop); static int loader_22dsk_read_sector(libdisk_prop_t *prop, unsigned char *buf, int len); static int loader_22dsk_write_sector(libdisk_prop_t *prop, unsigned char *buf, int len); static libdisk_loader_t loader = { loader_22dsk_get_name, loader_22dsk_open, loader_22dsk_close, loader_22dsk_read_sector, loader_22dsk_write_sector }; static gzFile try_open_gzip(const char *path) { gzFile f; char *filename; f = gzopen(path, "rb"); if (f == NULL) { filename = (char *) malloc(strlen(path) + 4); if (filename == NULL) return NULL; strcpy(filename, path); strcat(filename, ".gz"); f = gzopen(filename, "rb"); free(filename); } return f; } static dsk_data_t * do_open(const char *path) { int ro; FILE *f; int b1, b2; gzFile *gzf; dsk_data_t *data; f = NULL; gzf = NULL; ro = 0; f = fopen(path, "rb+"); if (f == NULL) { ro = 1; f = fopen(path, "rb"); if (f == NULL) return NULL; } /* check for gzip file header */ b1 = fgetc(f); b2 = fgetc(f); fseek(f, 0, SEEK_SET); if ((b1 == 0x1f) && (b2 == 0x8b)) { fclose(f); f = NULL; ro = 1; gzf = try_open_gzip(path); if (gzf == NULL) return NULL; } data = (dsk_data_t *)malloc(sizeof(dsk_data_t)); if (data == NULL) return NULL; data->f = f; data->gzf = gzf; data->read_only = ro; return data; } static int do_seek(dsk_data_t *data, long offset) { if (data->gzf != NULL) return gzseek(data->gzf, offset, SEEK_SET); return fseek(data->f, offset, SEEK_SET); } static int do_read(dsk_data_t *data, unsigned char *buf, int len) { if (data->gzf != NULL) return gzread(data->gzf, buf, len); return fread(buf, 1, len, data->f); } static int do_write(dsk_data_t *data, unsigned char *buf, int len) { if (data->gzf != NULL) return gzwrite(data->gzf, buf, len); return fwrite(buf, 1, len, data->f); } static int do_getc(dsk_data_t *data) { if (data->gzf != NULL) return gzgetc(data->gzf); return fgetc(data->f); } static int read_offsets(dsk_data_t *data) { long idx; int a, acyl, asid, lcyl, lsid, lsec, llen, c, count; idx = 0; data->len = 0; while (242) { acyl = do_getc(data); idx++; if (acyl == EOF) return 0; asid = do_getc(data); idx++; if (asid == EOF) return -1; lcyl = do_getc(data); idx++; if (lcyl == EOF) return -1; lsid = do_getc(data); idx++; if (lsid == EOF) return -1; lsec = do_getc(data); idx++; if (lsec == EOF) return -1; llen = do_getc(data); idx++; if (llen == EOF) return -1; c = do_getc(data); idx++; if (c == EOF) return -1; count = c; c = do_getc(data); idx++; if (c == EOF) return -1; count |= (c << 8); data->offset[data->len].head = lsid; data->offset[data->len].cylinder = lcyl; data->offset[data->len].sector = lsec; data->offset[data->len].count = count; data->offset[data->len].offset = idx; data->len++; for (a = 0;a < count;a++) { c = do_getc(data); idx++; if (c == EOF) return -1; } } } static const char * loader_22dsk_get_name(void) { return "disk loader for Sydex AnaDisk disk-dumps"; } static int loader_22dsk_open(libdisk_prop_t *prop, const char *path) { dsk_data_t *data; if (prop == NULL) return -1; data = do_open(path); if (data == NULL) return -1; if (read_offsets(data) < 0) return -1; prop->head_count = 2; prop->cylinder_count = 80; prop->sector_size = 1024; prop->sectors_per_cylinder = 5; prop->data = data; prop->loader = &loader; prop->read_only = data->read_only; return 0; } static void loader_22dsk_close(libdisk_prop_t *prop) { dsk_data_t *data; if (prop == NULL) return; if (prop->data == NULL) return; data = (dsk_data_t *)prop->data; if (data->f != NULL) fclose(data->f); if (data->gzf != NULL) gzclose(data->gzf); free(data); prop->data = NULL; } static int loader_22dsk_seek(libdisk_prop_t *prop) { long offset; int a, h, c, s; dsk_data_t *data; if (prop == NULL) return -1; if (prop->data == NULL) return -1; h = prop->head; c = prop->cylinder; s = prop->sector; if ((h < 0) || (h > 1)) return -1; if ((c < 0) || (c > 79)) return -1; if ((s < 1) || (s > 5)) return -1; data = (dsk_data_t *)prop->data; offset = -1; for (a = 0;a < data->len;a++) { if ((h == data->offset[a].head) && (c == data->offset[a].cylinder) && (s == data->offset[a].sector)) { offset = data->offset[a].offset; break; } } if (offset == -1) return -1; if (do_seek(data, offset) < 0) return -1; return 0; } static int loader_22dsk_read_sector(libdisk_prop_t *prop, unsigned char *buf, int len) { int l; dsk_data_t *data; if (loader_22dsk_seek(prop) < 0) return -1; data = (dsk_data_t *)prop->data; // seek doesn't succeed if this would fail! l = do_read(data, buf, len); if (l != len) return -1; return l; } static int loader_22dsk_write_sector(libdisk_prop_t *prop, unsigned char *buf, int len) { int l; dsk_data_t *data; if (loader_22dsk_seek(prop) < 0) return -1; data = (dsk_data_t *)prop->data; // seek doesn't succeed if this would fail! l = do_write(data, buf, len); if (l != len) return -1; return l; } void loader_22dsk_init(void) { libdisk_register_loader(&loader); } KCemu-0.5.1/src/libdisk/load_cdm.c0000644000175000017500000000762012417262523017074 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ /* * CDM is the disk manager program which comes with the * yaze CP/M emulator. * * parameters for CDM create command: * * $> create disk.img 819200 -b1024 -d127 -o0 -s5 */ #include #include #include #include "libdisk/libdiskP.h" typedef struct { FILE *f; } cdm_data_t; static const char * loader_cdm_get_name(void); static int loader_cdm_open(libdisk_prop_t *prop, const char *path); static void loader_cdm_close(libdisk_prop_t *prop); static int loader_cdm_read_sector(libdisk_prop_t *prop, unsigned char *buf, int len); static int loader_cdm_write_sector(libdisk_prop_t *prop, unsigned char *buf, int len); static libdisk_loader_t loader = { loader_cdm_get_name, loader_cdm_open, loader_cdm_close, loader_cdm_read_sector, loader_cdm_write_sector }; static const char * loader_cdm_get_name(void) { return "disk loader for Yaze CP/M files"; } static int loader_cdm_open(libdisk_prop_t *prop, const char *path) { int ro; FILE *f; char buf[128]; cdm_data_t *data; if (prop == NULL) return -1; ro = 0; f = fopen(path, "rb+"); if (f == NULL) { ro = 1; f = fopen(path, "rb"); if (f == NULL) return -1; } if (fread(buf, 1, 128, f) != 128) return -1; if (strncmp(buf, "", 10) != 0) return -1; data = (cdm_data_t *)malloc(sizeof(cdm_data_t)); if (data == NULL) return -1; data->f = f; prop->read_only = ro; prop->head_count = 2; prop->cylinder_count = 80; prop->sector_size = 1024; prop->sectors_per_cylinder = 5; prop->data = data; prop->loader = &loader; return 0; } static void loader_cdm_close(libdisk_prop_t *prop) { cdm_data_t *data; if (prop == NULL) return; if (prop->data == NULL) return; data = (cdm_data_t *)prop->data; fclose(data->f); free(data); prop->data = NULL; } static int loader_cdm_seek(libdisk_prop_t *prop) { long offset; int h, c, s; cdm_data_t *data; if (prop == NULL) return -1; if (prop->data == NULL) return -1; h = prop->head; c = prop->cylinder; s = prop->sector; if ((h < 0) || (h > 1)) return -1; if ((c < 0) || (c > 79)) return -1; if ((s < 1) || (s > 5)) return -1; s--; offset = (10 * c + 5 * h + s) * 1024 + 128; data = (cdm_data_t *)prop->data; if (fseek(data->f, offset, SEEK_SET) < 0) return -1; return 0; } static int loader_cdm_read_sector(libdisk_prop_t *prop, unsigned char *buf, int len) { int l; cdm_data_t *data; if (loader_cdm_seek(prop) < 0) return -1; data = (cdm_data_t *)prop->data; // seek doesn't succeed if this would fail! l = fread(buf, 1, len, data->f); if (l != len) return -1; return l; } static int loader_cdm_write_sector(libdisk_prop_t *prop, unsigned char *buf, int len) { int l; cdm_data_t *data; if (loader_cdm_seek(prop) < 0) return -1; data = (cdm_data_t *)prop->data; // seek doesn't succeed if this would fail! l = fwrite(buf, 1, len, data->f); if (l != len) return -1; return l; } void loader_cdm_init(void) { libdisk_register_loader(&loader); } KCemu-0.5.1/src/ui/0000755000175000017500000000000012417262523014155 5ustar glaubitzglaubitzKCemu-0.5.1/src/ui/hsv2rgb.cc0000644000175000017500000000733412417262523016050 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * * Copyright (C) 1995, 1996 Robert Gentleman and Ross Ihaka * Copyright (C) 1997--2000 Robert Gentleman, Ross Ihaka and the * R Development Core Team * Copyright (C) 2001 Torsten Paul * * For the original licence statement of the graphics.c file * see below... * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * 2001-03-28: * - Code for colorspace conversion from HSV to RGB stolen from * the file R-1.1.0/src/main/graphics.c of the R statistical * language. * - modified to use different input/output ranges * */ /* * R : A Computer Language for Statistical Data Analysis * Copyright (C) 1995, 1996 Robert Gentleman and Ross Ihaka * Copyright (C) 1997--2000 Robert Gentleman, Ross Ihaka and the * R Development Core Team * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * * This is an extensive reworking by Paul Murrell of an original * quick hack by Ross Ihaka designed to give a superset of the * functionality in the AT&T Bell Laboratories GRZ library. * */ #include #include #include "kc/system.h" #include "ui/hsv2rgb.h" #include "libdbg/dbg.h" /* hsv2rgb -- HSV to RGB conversion */ /* Based on HSV_TO_RGB from Foley and Van Dam First Ed. Page 616 */ /* See Alvy Ray Smith, Color Gamut Transform Pairs, SIGGRAPH '78 */ void hsv2rgb(double h, double s, double v, int *r, int *g, int *b) { int i; double f, p, q, t; h = h / 360.0; /* original function had h in [0,1] */ t = 6 * modf(h, &f);/* h = t/6 + f = fract. + int. */ i = (int)floor(t+1e-5);/* 0..5 */ f = modf(t, &p); p = v * (1 - s); q = v * (1 - s * f); t = v * (1 - (s * (1 - f))); switch (i) { case 0: *r = (int)(v * 255); *g = (int)(t * 255); *b = (int)(p * 255); break; case 1: *r = (int)(q * 255); *g = (int)(v * 255); *b = (int)(p * 255); break; case 2: *r = (int)(p * 255); *g = (int)(v * 255); *b = (int)(t * 255); break; case 3: *r = (int)(p * 255); *g = (int)(q * 255); *b = (int)(v * 255); break; case 4: *r = (int)(t * 255); *g = (int)(p * 255); *b = (int)(v * 255); break; case 5: *r = (int)(v * 255); *g = (int)(p * 255); *b = (int)(q * 255); break; default: *r = 0; *g = 0; *b = 0; DBG(1, form("KCemu/warning", "bad hsv to rgb color conversion")); break; } } KCemu-0.5.1/src/ui/status.cc0000644000175000017500000000240712417262523016012 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "ui/status.h" Status *Status::_instance = 0; Status::Status(void) { } Status * Status::instance(void) { if (_instance == 0) { _instance = new Status(); } return _instance; } void Status::addStatusListener(StatusListener *listener) { _l.push_back(listener); } void Status::setMessage(const char *msg) { for (status_list_t::iterator it = _l.begin();it != _l.end();it++) (*it)->setStatus(msg); } KCemu-0.5.1/src/ui/Makefile.am0000644000175000017500000000037712417262523016220 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = generic gtk noinst_LIBRARIES = libui.a AM_CPPFLAGS = \ -I../../include \ -DVERSION=\"$(VERSION)\" libui_a_SOURCES = \ log.cc \ error.cc \ status.cc \ commands.cc \ hsv2rgb.cc KCemu-0.5.1/src/ui/error.cc0000644000175000017500000000236412417262523015622 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "ui/error.h" Error *Error::_instance = 0; Error::Error(void) { } Error * Error::instance(void) { if (_instance == 0) { _instance = new Error(); } return _instance; } void Error::addErrorListener(ErrorListener *listener) { _l.push_back(listener); } void Error::info(const char *msg) { for (error_list_t::iterator it = _l.begin();it != _l.end();it++) (*it)->errorInfo(msg); } KCemu-0.5.1/src/ui/generic/0000755000175000017500000000000012417262523015571 5ustar glaubitzglaubitzKCemu-0.5.1/src/ui/generic/ui_muglerpc.cc0000644000175000017500000000442412417262523020417 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" #include "ui/generic/ui_muglerpc.h" UI_MuglerPC::UI_MuglerPC(void) { int a; set_real_screen_size(64 * 8 + 32, 32 * 8 + 32); _dirty_size = (get_real_width() * get_real_height()) / 64; _dirty = new byte_t[_dirty_size]; create_buffer(get_real_width() * get_real_height()); _pix_cache = new byte_t[_dirty_size]; for (a = 0;a < _dirty_size;a++) { _dirty[a] = 1; _pix_cache[a] = 0xff; } } UI_MuglerPC::~UI_MuglerPC(void) { } void UI_MuglerPC::generic_put_pixels(byte_t *ptr, byte_t val) { for (int a = 0;a < 8;a++) ptr[a] = (val & (128 >> a)) ? 1 : 0; } void UI_MuglerPC::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { byte_t *irm = memory->get_irm(); byte_t *chr = memory->get_char_rom(); byte_t *ptr = _bitmap; int width = get_real_width(); ptr += 16 * width + 16; int d = 137; int offset = 0; for (int y = 0;y < 256;y += 8) { offset = 0x400 - offset; int z = (y / 16) * 64 + offset - 1; for (int x = 0;x < 512;x += 8) { z++; d++; byte_t pix = irm[z]; if (_pix_cache[z] != pix) _dirty[d]++; if (clear_cache) _dirty[d]++; if (!_dirty[d]) continue; _pix_cache[z] = pix; byte_t *chr_ptr = chr + 8 * pix; for (int a = 0;a < 8;a++) generic_put_pixels(ptr + width * a + x, chr_ptr[a]); } d += 4; ptr += 8 * width; } } KCemu-0.5.1/src/ui/generic/ui_led.cc0000644000175000017500000001250112417262523017340 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_led.h" UI_LED::UI_LED(int width, int height, int a, int b, int c, int d, int e, int f, int g, int h) { int len = width * height; _a = a; _b = b; _c = c; _d = d; _e = e; _f = f; _g = g; _h = h; set_real_screen_size(width, height); _bitmap = new byte_t[len]; _dirty_size = len / 64; _dirty = new byte_t[_dirty_size]; for (int i = 0;i < len;i++) _bitmap[i] = 0; for (int i = 0;i < _dirty_size;i++) _dirty[i] = 1; } UI_LED::~UI_LED(void) { delete[] _bitmap; delete[] _dirty; } void UI_LED::generic_put_pixel(int x, int y, byte_t col, bool clear_cache) { int idx = y * get_real_width() + x; if ((_bitmap[idx] != col) || clear_cache) { _bitmap[idx] = col; _dirty[(y / 8) * (get_real_width() / 8) + (x / 8)] = 1; } } void UI_LED::generic_draw_hline(int x, int y, byte_t col, bool clear_cache) { for (int a = 2;a < 38;a++) generic_put_pixel(x + a, y, col, clear_cache); for (int a = 3;a < 37;a++) { generic_put_pixel(x + a, y - 1, col, clear_cache); generic_put_pixel(x + a, y + 1, col, clear_cache); } for (int a = 4;a < 36;a++) { generic_put_pixel(x + a, y - 2, col, clear_cache); generic_put_pixel(x + a, y + 2, col, clear_cache); } for (int a = 5;a < 35;a++) { generic_put_pixel(x + a, y - 3, col, clear_cache); generic_put_pixel(x + a, y + 3, col, clear_cache); } } void UI_LED::generic_draw_vline(int x, int y, byte_t col, bool clear_cache) { for (int a = 2;a < 38;a++) { int q = a / 8; generic_put_pixel(x - q, y + a, col, clear_cache); } for (int a = 3;a < 37;a++) { int q = a / 8; generic_put_pixel(x - q - 1, y + a, col, clear_cache); generic_put_pixel(x - q + 1, y + a, col, clear_cache); } for (int a = 4;a < 36;a++) { int q = a / 8; generic_put_pixel(x - q - 2, y + a, col, clear_cache); generic_put_pixel(x - q + 2, y + a, col, clear_cache); } for (int a = 5;a < 35;a++) { int q = a / 8; generic_put_pixel(x - q - 3, y + a, col, clear_cache); generic_put_pixel(x - q + 3, y + a, col, clear_cache); } } void UI_LED::generic_draw_led(int x, int y, byte_t col, bool clear_cache) { int space[10] = { 6, 4, 3, 2, 1, 1, 0, 0, 0, 0 }; int len[10] = { 8, 12, 14, 16, 18, 18, 20, 20, 20, 20 }; for (int yy = 0;yy < 10;yy++) for (int xx = 0;xx < len[yy];xx++) { generic_put_pixel(x + xx + space[yy], y + yy, col, clear_cache); generic_put_pixel(x + xx + space[yy], y + 19 - yy, col, clear_cache); } } void UI_LED::generic_draw_point(int x, int y, byte_t col, bool clear_cache) { int space[4] = { 2, 1, 0, 0 }; int len[4] = { 4, 6, 8, 8 }; for (int yy = 0;yy < 4;yy++) for (int xx = 0;xx < len[yy];xx++) { generic_put_pixel(x + xx + space[yy], y - 4 + yy, col, clear_cache); generic_put_pixel(x + xx + space[yy], y - 4 + 7 - yy, col, clear_cache); } } /* * * LC 80 POLY 880 VCS 80 C 80 * * 4 32 1 1 * -a- --- --- --- --- * | | 2 | | 1 64 | | 128 64 | | 2 32 | | 2 * b f | 8 | |16 | |32 | |64 | * -g- --- --- --- --- * | | 64 | | 32 1 | | 4 16 | | 4 16 | | 4 * c e | | | | | | | | * -d- (h) --- --- --- --- * 128 (16) 2 (8) 8 (-) 8 (128) */ void UI_LED::generic_draw_digit(int x, int y, int index, byte_t led_value, bool clear_cache) { byte_t fg, bg; fg = 1; bg = 2; generic_draw_hline(x + 4, y , (led_value & _a) ? bg : fg, clear_cache); generic_draw_hline(x , y + 40, (led_value & _g) ? bg : fg, clear_cache); generic_draw_hline(x - 4, y + 80, (led_value & _d) ? bg : fg, clear_cache); generic_draw_vline(x + 4, y , (led_value & _b) ? bg : fg, clear_cache); generic_draw_vline(x + 44, y , (led_value & _f) ? bg : fg, clear_cache); generic_draw_vline(x , y + 40, (led_value & _c) ? bg : fg, clear_cache); generic_draw_vline(x + 40, y + 40, (led_value & _e) ? bg : fg, clear_cache); generic_draw_point(x + 42, y + 80, (led_value & _h) ? bg : fg, clear_cache); } KCemu-0.5.1/src/ui/generic/ui_base.cc0000644000175000017500000000416212417262523017512 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "ui/generic/ui_base.h" #include "libdbg/dbg.h" UI_Base::UI_Base(void) { _width = 0; _height = 0; _dirty_size = 0; _dirty = 0; _bitmap = 0; } UI_Base::~UI_Base(void) { } void UI_Base::create_buffer(int buffer_size) { _bitmap = new byte_t[buffer_size]; memset(_bitmap, 0, buffer_size); } void UI_Base::set_real_screen_size(int width, int height) { _width = width; _height = height; } byte_t * UI_Base::get_buffer(void) { return _bitmap; } byte_t * UI_Base::get_dirty_buffer(void) { return _dirty; } int UI_Base::get_dirty_buffer_size(void) { return _dirty_size; } int UI_Base::get_real_width(void) { if (_width == 0) { DBG(0, form("KCemu/internal_error", "KCemu: call to UI_Base::get_real_width() while width is still 0!\n")); abort(); } return _width; } int UI_Base::get_real_height(void) { if (_height == 0) { DBG(0, form("KCemu/internal_error", "KCemu: call to UI_Base::get_real_height() while height is still 0!\n")); abort(); } return _height; } void UI_Base::generic_signal_v_retrace(bool value) { } int UI_Base::generic_get_mode(void) { return 0; } void UI_Base::generic_set_mode(int mode) { } KCemu-0.5.1/src/ui/generic/module.cc0000644000175000017500000000213412417262523017365 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "ui/generic/module.h" DummyModuleHandler::DummyModuleHandler(void) { } DummyModuleHandler::~DummyModuleHandler(void) { } void DummyModuleHandler::insert(int slot, ModuleInterface *m) { } void DummyModuleHandler::activate(int slot, byte_t value) { } KCemu-0.5.1/src/ui/generic/ui_8.cc0000644000175000017500000000305012417262523016742 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/pio8.h" #include "ui/generic/ui_8.h" UI_8::UI_8(void) : UI_LED(464, 112, 4, 2, 64, 128, 32, 1, 8, 16) { } UI_8::~UI_8(void) { } void UI_8::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { byte_t led_value; for (int a = 0;a < 6;a++) { led_value = ((PIO8_1 *)pio)->get_led_value(a); generic_draw_digit(65 * a + 62, 12, a, led_value, clear_cache); } /* TAPE OUT led */ led_value = ((PIO8_1 *)pio)->get_led_value(6); generic_draw_led(18, 20, led_value ? 1 : 4, clear_cache); /* HALT led */ led_value = z80->get_halt(); generic_draw_led(18, 60, led_value ? 3 : 1, clear_cache); } KCemu-0.5.1/src/ui/generic/ui_1.cc0000644000175000017500000001312012417262523016732 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/prefs/prefs.h" #include "kc/pio1.h" #include "kc/timer1.h" #include "kc/memory.h" #include "kc/module.h" #include "ui/generic/ui_1.h" UI_1::UI_1(void) { int a; set_real_screen_size(320 + 64, 192 + 64); _dirty_size = (get_real_width() * get_real_height()) / 64; _dirty = new byte_t[_dirty_size]; _bitmap = new byte_t[get_real_width() * get_real_height()]; _pix_cache = new byte_t[_dirty_size]; _col_cache = new byte_t[_dirty_size]; for (a = 0;a < _dirty_size;a++) { _dirty[a] = 1; _pix_cache[a] = 0xff; _col_cache[a] = 0xff; } } UI_1::~UI_1(void) { delete[] _dirty; delete[] _bitmap; delete[] _pix_cache; delete[] _col_cache; } void UI_1::generic_put_pixels(byte_t *ptr, byte_t val, word_t color) { for (int a = 0;a < 8;a++) ptr[a] = (val & (128 >> a)) ? (color >> 8) : color; } void UI_1::generic_set_border_24(int width, int height, byte_t border) { int a, x, y, z; byte_t *ptr = _bitmap; z = -1; for (y = 0;y < height;y += 8) for (x = 0;x < width;x += 8) { z++; if ((y >= 32) && (y < 224) && (x >= 32) && (x < 352)) continue; _dirty[z]++; for (a = 0;a < 8;a++) generic_put_pixels(ptr + (y + a) * width + x, 0, border); } } void UI_1::generic_set_border_20(int width, int height, byte_t border) { int x, y; byte_t *ptr = _bitmap; for (y = 40;y < 232;y += 10) for (x = 32;x < 352;x += 8) { generic_put_pixels(ptr + y * width + x, 0, border); generic_put_pixels(ptr + (y + 1) * width + x, 0, border); } } void UI_1::generic_update_24(int width, int height, int fchg, byte_t flash, bool clear_cache) { word_t color; byte_t pix, col; int a, x, y, z, d; byte_t *irm = memory->get_irm(); byte_t *font = memory->get_char_rom(); byte_t *ptr = _bitmap; z = -1; d = 195; for (y = 0;y < 192;y += 8) { for (x = 0;x < 320;x += 8) { z++; d++; col = irm[z]; if (_col_cache[z] != col) _dirty[d]++; if (fchg && (col & 0x80)) _dirty[d]++; pix = irm[0x400 + z]; if (_pix_cache[z] != pix) _dirty[d]++; if (clear_cache) _dirty[d]++; if (!_dirty[d]) continue; _col_cache[z] = col; _pix_cache[z] = pix; color = (0x0011 * col) & 0x0707; if (flash && (col & 0x80)) color = ((color << 8) & 0x0700) | ((color >> 8) & (0x0007)); for (a = 0;a < 8;a++) generic_put_pixels(ptr + (a + 32) * width + x + 32, font[8 * pix + a], color); } ptr += 8 * width; d += 8; } } void UI_1::generic_update_20(int width, int height, int fchg, byte_t flash, bool clear_cache) { word_t color; byte_t pix, col; int a, x, y, z, d; byte_t *irm = memory->get_irm(); byte_t *font = memory->get_char_rom(); byte_t *ptr = _bitmap; z = -1; d = 195; for (y = 0;y < 200;y += 10) { for (x = 0;x < 320;x += 8) { z++; d = (y / 8 + 4) * 48 + (x / 8) + 4; col = irm[z]; if (_col_cache[z] != col) _dirty[d]++; pix = irm[0x400 + z]; if (_pix_cache[z] != pix) _dirty[d]++; if (clear_cache) _dirty[d]++; if (!_dirty[d]) continue; _dirty[d + 48]++; _col_cache[z] = col; _pix_cache[z] = pix; color = (0x0011 * col) & 0x0707; for (a = 0;a < 8;a++) generic_put_pixels(ptr + (a + 32) * width + x + 32, font[8 * pix + a], color); } ptr += 10 * width; d += 8; } } void UI_1::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { static byte_t old_flash = 0xff; static byte_t old_lmode = 0xff; static byte_t old_border = 0xff; static byte_t old_color_expansion = 0xff; int fchg = 0; int width = get_real_width(); int height = get_real_height(); int flash = ((Timer1 *)timer)->get_flash(); if (old_flash != flash) { fchg = 1; old_flash = flash; } byte_t lmode = ((PIO1_1 *)pio)->get_line_mode(); if (old_lmode != lmode) { old_lmode = lmode; clear_cache = true; } bool color_expansion_installed = !module->is_empty(61); if (old_color_expansion != color_expansion_installed) { old_color_expansion = color_expansion_installed; clear_cache = true; } if (clear_cache) old_border = 0xff; // force drawing of screen border if (color_expansion_installed || clear_cache) { byte_t border = color_expansion_installed ? ((PIO1_1 *)pio)->get_border_color() : 0; if (old_border != border) { old_border = border; generic_set_border_24(width, height, border); if (lmode) generic_set_border_20(width, height, border); } } if (lmode) generic_update_20(width, height, fchg, flash, clear_cache); else generic_update_24(width, height, fchg, flash, clear_cache); } KCemu-0.5.1/src/ui/generic/ui_vcs80.cc0000644000175000017500000000412712417262523017544 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/pio.h" #include "kc/z80.h" #include "ui/generic/ui_vcs80.h" #include "libdbg/dbg.h" UI_VCS80::UI_VCS80(void) : UI_LED(624, 112, 1, 64, 16, 8, 4, 2, 32, 128) { _counter = 7; for (int a = 0;a < VCS80_NR_OF_LEDS;a++) _led_value[a] = 0; } UI_VCS80::~UI_VCS80(void) { } void UI_VCS80::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { generic_draw_digit(65 * 4 + 32, 12, 4, 0, clear_cache); for (int a = 0;a < VCS80_NR_OF_LEDS;a++) { int idx = 7 - a; if (idx > 3) idx++; generic_draw_digit(65 * idx + 32, 12, a, _led_value[a], clear_cache); } } void UI_VCS80::generic_signal_v_retrace(bool value) { led_update(); } void UI_VCS80::led_update(void) { _led_value[_counter] = pio->in_B_DATA() & 0x7f; DBG(2, form("KCemu/ui/vcs80/led_update", "UI_VCS80::led_update(): LED: [%d] %02x %02x %02x %02x - %02x %02x %02x %02x\n", _counter, _led_value[7], _led_value[6], _led_value[5], _led_value[4], _led_value[3], _led_value[2], _led_value[1], _led_value[0])); // trigger next display interrupt _counter = (_counter + 1) % 8; pio->set_A_EXT(0xf7, _counter | 0x70); pio->set_A_EXT(0xf7, _counter | 0xf0); } KCemu-0.5.1/src/ui/generic/Makefile.am0000644000175000017500000000060412417262523017625 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libui_generic.a AM_CPPFLAGS = \ -I../../../include libui_generic_a_SOURCES = \ ui_base.cc \ ui_0.cc \ ui_1.cc \ ui_3.cc \ ui_4.cc \ ui_6.cc \ ui_8.cc \ ui_9.cc \ ui_led.cc \ ui_kramermc.cc \ ui_muglerpc.cc \ ui_vcs80.cc \ ui_c80.cc \ scanline.cc \ memaccess.cc \ module.cc \ tape.cc KCemu-0.5.1/src/ui/generic/tape.cc0000644000175000017500000000306112417262523017031 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "ui/generic/tape.h" DummyTapeHandler::DummyTapeHandler(void) { } DummyTapeHandler::~DummyTapeHandler(void) { } void DummyTapeHandler::tapeAttach(const char *name) { } void DummyTapeHandler::tapeDetach(void) { } void DummyTapeHandler::tapePower(bool power) { } void DummyTapeHandler::tapeProgress(int val) { } void DummyTapeHandler::tapeNext(void) { } void DummyTapeHandler::tapeAddFile(const char *name, long load, long start, long size, unsigned char type) { } void DummyTapeHandler::tapeRemoveFile(int idx) { } int DummyTapeHandler::tapeGetSelected(void) { return 0; } const char * DummyTapeHandler::tapeGetName(int idx) { return ""; } void DummyTapeHandler::tapeAddArchive(const char *name) { } KCemu-0.5.1/src/ui/generic/ui_0.cc0000644000175000017500000001345612417262523016745 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/gdc.h" #include "kc/memory.h" #include "ui/generic/ui_0.h" UI_0::UI_0(void) { _font = NULL; _dirty = NULL; _bitmap = NULL; _pix_cache = NULL; _col_cache = NULL; generic_set_mode(UI_GENERIC_MODE_Z1013_32x32); init(); } UI_0::~UI_0(void) { dispose(); } void UI_0::init(void) { _dirty_size = (get_real_width() * get_real_height()) / 64; _dirty = new byte_t[_dirty_size]; _bitmap = new byte_t[get_real_width() * get_real_height()]; _pix_cache = new byte_t[_dirty_size]; _col_cache = new byte_t[_dirty_size]; memset(_dirty, 1, _dirty_size); memset(_bitmap, 0, get_real_width() * get_real_height()); } void UI_0::dispose(void) { if (_dirty) delete[] _dirty; if (_bitmap) delete[] _bitmap; if (_pix_cache) delete[] _pix_cache; if (_col_cache) delete[] _col_cache; } void UI_0::generic_put_pixels(byte_t *ptr, byte_t val, word_t color) { for (int a = 0;a < 8;a++) ptr[a] = (val & (128 >> a)) ? (color >> 8) : color; } void UI_0::generic_update_gdc(byte_t *font, bool clear_cache) { if (gdc == NULL) return; int a, x, y, z, p, c, fg, bg, col; long offset = gdc->get_pram_SAD(0); int width = 80; int height = 25; int lines = 10; int linecount = 0; int subscreen = 0; byte_t *ptr = _bitmap; z = -1; for (y = 0;y < height;y++) { if (linecount >= gdc->get_pram_LEN(subscreen)) { subscreen++; linecount = 0; offset = gdc->get_pram_SAD(subscreen) - z - 1; // compensate value of loop variable! } linecount += lines; for (x = 0;x < width;x++) { z++; p = gdc->get_mem(z + offset); c = gdc->get_col(z + offset); _dirty[z] = clear_cache; if (p != _pix_cache[z]) { _dirty[z]++; _pix_cache[z] = p; } if (c != _col_cache[z]) { _dirty[z]++; _col_cache[z] = c; } if (gdc->get_cursor(z + offset)) { _pix_cache[z] = 255; // invalidate cache on cursor position to force _col_cache[z] = 255; // update there when cursor position changes } if (!_dirty[z]) continue; fg = c & 15; bg = (c >> 4) & 7; col = 0x0100; if (p & 0x80) { p &= 0x7f; col = 0x0001; } ptr = _bitmap + y * 8 * 8 * width + 8 * x; for (a = 0;a < 8;a++) { int xor_val = 0; if (gdc->get_cursor(z + offset, a)) xor_val = 0x0101; generic_put_pixels(ptr + a * 8 * width, font[8 * p + a], col ^ xor_val); } } } } void UI_0::generic_update_32x32(byte_t *font, bool clear_cache) { byte_t pix; int a, i, x, y, z, width, height; byte_t *irm = memory->get_irm(); byte_t *ptr = _bitmap; width = get_real_width(); height = get_real_height(); i = -1; z = 73; ptr += 16 * width + 16; for (y = 0;y < 256;y += 8) { for (x = 0;x < 256;x += 8) { i++; z++; _dirty[z] = clear_cache; pix = irm[i]; if (_pix_cache[i] != pix) _dirty[z]++; if (!_dirty[z]) continue; _pix_cache[i] = pix; for (a = 0;a < 8;a++) generic_put_pixels(ptr + a * width + x, font[8 * pix + a], 0x0100); } z += 4; ptr += 8 * width; } } void UI_0::generic_update_64x16(byte_t *font, bool clear_cache) { byte_t pix; int a, i, x, y, z, width, height, width8; byte_t *irm = memory->get_irm(); byte_t *ptr = _bitmap; width = get_real_width(); height = get_real_height(); width8 = width / 8; i = -1; ptr += 6 * width + 8; for (y = 0;y < 16;y++) { z = (((12 * y + 6) / 8) * width8); for (x = 0;x < 512;x += 8) { i++; z++; _dirty[z] = clear_cache; pix = irm[i]; if (_pix_cache[i] != pix) _dirty[z]++; if (!_dirty[z]) continue; _dirty[z + width8]++; _pix_cache[i] = pix; for (a = 0;a < 8;a++) generic_put_pixels(ptr + a * width + x, font[8 * pix + a], 0x0100); } ptr += 12 * width; } } void UI_0::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { byte_t *font = memory->get_char_rom(); if (_font != font) { _font = font; clear_cache = true; } switch (_mode) { case UI_GENERIC_MODE_Z1013_32x32: generic_update_32x32(font, clear_cache); break; case UI_GENERIC_MODE_Z1013_64x16: generic_update_64x16(font, clear_cache); break; case UI_GENERIC_MODE_GDC: generic_update_gdc(font, clear_cache); break; } } void UI_0::generic_signal_v_retrace(bool value) { if (_mode == UI_GENERIC_MODE_GDC) if (gdc != NULL) gdc->v_retrace(value); } int UI_0::generic_get_mode(void) { return _mode; } void UI_0::generic_set_mode(int mode) { _mode = mode; switch (_mode) { case UI_GENERIC_MODE_Z1013_32x32: set_real_screen_size(288, 288); break; case UI_GENERIC_MODE_Z1013_64x16: set_real_screen_size(528, 200); break; case UI_GENERIC_MODE_GDC: set_real_screen_size(640, 200); break; } dispose(); init(); } KCemu-0.5.1/src/ui/generic/ui_3.cc0000644000175000017500000001203712417262523016742 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" #include "ui/generic/ui_3.h" UI_3::UI_3(void) { int a, b, n1, n2; set_real_screen_size(320, 256); b = (get_real_width() * get_real_height()) / 8; _bitmap = new byte_t[get_real_width() * get_real_height()]; _dirty_size = b / 8; _dirty = new byte_t[_dirty_size]; _pix_cache = new byte_t[b]; _col_cache = new byte_t[b]; _scan_cache = new byte_t[b]; for (a = 0;a < 256;a++) { n1 = (a & 0x03) << 2; n2 = (a & 0x0c) >> 2; _bitswap1[a] = ((a & 0xf0) | n1 | n2); n1 = (a & 0x03) << 4; n2 = (a & 0x30) >> 4; _bitswap2[a] = ((a & 0xcc) | n1 | n2); } for (a = 0;a < 256;a++) _bitswap3[a] = 0x3000 + (_bitswap1[_bitswap2[a] >> 2] << 3); for (a = 0;a < _dirty_size;a++) _dirty[a] = 1; for (a = 0;a < b;a++) { _pix_cache[a] = 0; _col_cache[a] = 0; _scan_cache[a] = 0; } } UI_3::~UI_3(void) { delete[] _dirty; delete[] _bitmap; delete[] _pix_cache; delete[] _col_cache; delete[] _scan_cache; } void UI_3::generic_put_pixels(int x, int y, byte_t val, byte_t fg, byte_t bg) { int idx = y * get_real_width() + x; _dirty[(y / 8) * (get_real_width() / 8) + (x / 8)] = 1; for (int a = 0;a < 8;a++) { if (val & 0x80) _bitmap[idx++] = fg; else _bitmap[idx++] = bg; val <<= 1; } } void UI_3::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { int x, y; int changed; int p, pc, ys, yc, s; byte_t val, col, fg, bg; byte_t *irm = memory->get_irm(); p = 0; for (y = 0;y < 256;y++) { pc = (p & 0x7f) | (((p & 0xfe00) >> 2) + 0x2800); ys = _bitswap1[y]; s = 0; if (scanline) s = scanline->get_value(ys); for (x = 0;x < 32;x++) { changed = clear_cache; val = irm[p]; col = irm[pc + x]; if (val != _pix_cache[p]) { changed++; _pix_cache[p] = val; } if (col != _col_cache[p]) { changed++; _col_cache[p] = col; } bg = (col & 7) | 0x10; fg = (col >> 3) & 15; if (memaccess) { byte_t m = memaccess->get_value(x, y); switch (m) { case 2: /* * access in the current frame */ if ((fg == bg) || (val == 0)) { /* * nothing to change so we don't need to * update in the next frame */ memaccess->set_value(x, y, 0); } else { fg = bg; changed++; } break; case 1: /* * access in the previous frame */ changed++; break; } } if (col & 128) { if (_scan_cache[40 * y + x] != s) { changed++; _scan_cache[40 * y + x] = s; if (s) fg = bg; } } p++; if (!changed) continue; generic_put_pixels(8 * x, ys, val, fg, bg); } } p = 0x2000; for (y = 0;y < 256;y++) { ys = _bitswap2[y]; yc = _bitswap3[y]; s = 0; if (scanline) s = scanline->get_value(ys); for (x = 0;x < 8;x++) { changed = clear_cache; val = irm[p]; col = irm[yc + x]; if (val != _pix_cache[p]) { changed++; _pix_cache[p] = val; } if (col != _col_cache[p]) { changed++; _col_cache[p] = col; } bg = (col & 7) | 0x10; fg = (col >> 3) & 15; if (memaccess) { byte_t m = memaccess->get_value(32 + x, y); switch (m) { case 2: /* * access in the current frame */ if ((fg == bg) || (val == 0)) { /* * nothing to change so we don't need to * update in the next frame */ memaccess->set_value(32 + x, y, 0); } else { fg = bg; changed++; } break; case 1: /* * access in the previous frame */ changed++; break; } } if (col & 128) { if (_scan_cache[40 * y + x + 32] != s) { changed++; _scan_cache[40 * y + x + 32] = s; if (s) fg = bg; } } p++; if (!changed) continue; generic_put_pixels(8 * x + 256, ys, val, fg, bg); } } } KCemu-0.5.1/src/ui/generic/ui_6.cc0000644000175000017500000000303112417262523016737 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/ports6.h" #include "ui/generic/ui_6.h" UI_6::UI_6(void) : UI_LED(560, 112, 32, 64, 1, 2, 4, 128, 16, 8) { _idx = 0; for (int a = 0;a < NR_OF_LEDS;a++) for (int b = 0;b < HISTORY_LEN;b++) _data[a][b] = 0; } UI_6::~UI_6(void) { } void UI_6::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { for (int a = 0;a < NR_OF_LEDS;a++) { _data[a][_idx] = ((Ports6 *)porti)->get_led_value(a); byte_t led_value = 0; for (int b = 0;b < HISTORY_LEN;b++) led_value |= _data[a][b]; generic_draw_digit(65 * a + 32, 12, a, led_value, clear_cache); } _idx = (_idx + 1) % HISTORY_LEN; } KCemu-0.5.1/src/ui/generic/ui_kramermc.cc0000644000175000017500000000432412417262523020401 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/memory.h" #include "ui/generic/ui_kramermc.h" UI_KramerMC::UI_KramerMC(void) { int a; set_real_screen_size(64 * 8 + 32, 16 * 8 + 32); _dirty_size = (get_real_width() * get_real_height()) / 64; _dirty = new byte_t[_dirty_size]; _bitmap = new byte_t[get_real_width() * get_real_height()]; _pix_cache = new byte_t[_dirty_size]; for (a = 0;a < _dirty_size;a++) { _dirty[a] = 1; _pix_cache[a] = 0xff; } } UI_KramerMC::~UI_KramerMC(void) { } void UI_KramerMC::generic_put_pixels(byte_t *ptr, byte_t val) { for (int a = 0;a < 8;a++) ptr[a] = (val & (128 >> a)) ? 1 : 0; } void UI_KramerMC::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { byte_t *irm = memory->get_irm(); byte_t *chr = memory->get_char_rom(); byte_t *ptr = _bitmap; int width = get_real_width(); ptr += 16 * width + 16; int z = -1; int d = 137; byte_t pix; for (int y = 0;y < 128;y += 8) { for (int x = 0;x < 512;x += 8) { z++; d++; pix = irm[z]; if (_pix_cache[z] != pix) _dirty[d]++; if (clear_cache) _dirty[d]++; if (!_dirty[d]) continue; _pix_cache[z] = pix; byte_t *chr_ptr = chr + 8 * pix; for (int a = 0;a < 8;a++) generic_put_pixels(ptr + width * a + x, chr_ptr[a]); } ptr += 8 * width; d += 4; } } KCemu-0.5.1/src/ui/generic/ui_c80.cc0000644000175000017500000000251312417262523017170 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/c80/display.h" #include "ui/generic/ui_c80.h" #include "libdbg/dbg.h" UI_C80::UI_C80(void) : UI_LED(560, 112, 1, 32, 16, 8, 4, 2, 64, 128) { } UI_C80::~UI_C80(void) { } void UI_C80::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { for (int a = 0;a < C80_NR_OF_LEDS;a++) { byte_t led_value = display_c80->get_led_value(a); generic_draw_digit(65 * a + 32, 12, a, led_value, clear_cache); } } KCemu-0.5.1/src/ui/generic/ui_4.cc0000644000175000017500000001157112417262523016745 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/ports.h" #include "kc/memory.h" #include "ui/generic/ui_4.h" UI_4::UI_4(void) { int a, b, y; set_real_screen_size(320, 256); y = get_real_height(); b = (get_real_width() * y) / 8; _bitmap = new byte_t[get_real_width() * y]; _dirty_size = b / 8; _dirty = new byte_t[_dirty_size]; _pix_cache = new byte_t[b]; _col_cache = new byte_t[b]; _scn_cache = new byte_t[y]; for (a = 0;a < _dirty_size;a++) _dirty[a] = 1; for (a = 0;a < b;a++) { _pix_cache[a] = 0; _col_cache[a] = 0; } for (a = 0;a < y;a++) _scn_cache[a] = 0; } UI_4::~UI_4(void) { delete[] _bitmap; delete[] _dirty; delete[] _pix_cache; delete[] _col_cache; delete[] _scn_cache; } void UI_4::generic_put_pixels(int x, int y, byte_t val, byte_t fg, byte_t bg) { int idx = y * get_real_width() + x; _dirty[(y / 8) * (get_real_width() / 8) + (x / 8)] = 1; for (int a = 0;a < 8;a++) { if (val & 0x80) _bitmap[idx++] = fg; else _bitmap[idx++] = bg; val <<= 1; } } void UI_4::generic_update_hires(Scanline *scanline, byte_t *irm, bool clear_cache) { int x, y, yy, z, p; int yyadd, idx, val, col, changed; p = 0; yy = 0; yyadd = get_real_width(); for (y = 0;y < get_real_height();y++) { for (x = 0;x < 320;x += 8) { changed = clear_cache; idx = 32 * x + y; val = irm[idx]; col = irm[idx + 0x4000]; if (val != _pix_cache[p]) { changed++; _pix_cache[p] = val; } if (col != _col_cache[p]) { changed++; _col_cache[p] = col; } p++; if (!changed) continue; _dirty[(y / 8) * (yyadd / 8) + (x / 8)] = 1; for (z = 0;z < 8;z++) { /* * some bit juggling to map one bit from val and * col to the color index for the current pixel * * mapping is: * * val | col | color index | color * ----+-----+-------------+------ * 0 | 0 | 0 (000b) | black * 0 | 1 | 5 (101b) | cyan * 1 | 0 | 2 (010b) | red * 1 | 1 | 7 (111b) | white */ val <<= 1; _bitmap[yy + x + z] = ((val & 256) | (5 * (col & 128))) >> 7; col <<= 1; } } yy += yyadd; } } void UI_4::generic_update_lores(Scanline *scanline, byte_t *irm, bool clear_cache) { int x, y, p, s; int idx, changed; bool scanline_changed; byte_t val, col, fg, bg; p = 0; for (y = 0;y < get_real_height();y++) { s = 0; if (scanline) s = scanline->get_value(y); scanline_changed = false; if (s != _scn_cache[y]) { _scn_cache[y] = s; scanline_changed = true; } for (x = 0;x < 40;x++) { changed = clear_cache; idx = 256 * x + y; val = irm[idx]; col = irm[idx + 0x4000]; if (val != _pix_cache[p]) { changed++; _pix_cache[p] = val; } if (col != _col_cache[p]) { changed++; _col_cache[p] = col; } bg = (col & 7) | 0x10; fg = (col >> 3) & 15; if (col & 128) { if (scanline_changed) changed++; if (s) fg = bg; } p++; if (!changed) continue; generic_put_pixels(8 * x, y, val, fg, bg); } } } void UI_4::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { int a; int hires; byte_t *irm; static byte_t *irm_old = NULL; static int hires_old = -1; irm = memory->get_irm(); if (irm != irm_old) { /* * on screen switch we need to ignore the * display cache */ irm_old = irm; clear_cache = true; } hires = ((ports->in(0x84) & 8) == 0); if (hires != hires_old) { /* * when switching lores/hires mode ignore the * display cache too */ hires_old = hires; clear_cache = true; } if (clear_cache) for (a = 0;a < _dirty_size;a++) _dirty[a] = 1; if (hires) generic_update_hires(scanline, irm, clear_cache); else generic_update_lores(scanline, irm, clear_cache); } KCemu-0.5.1/src/ui/generic/scanline.cc0000644000175000017500000001015212417262523017673 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/prefs/prefs.h" #include "ui/generic/scanline.h" #include "libdbg/dbg.h" static inline void set_bit(int nr, void *addr) { ((unsigned short *)addr)[nr >> 4] |= (1UL << (nr & 15)); } static inline void clear_bit(int nr, void *addr) { ((unsigned short *)addr)[nr >> 4] &= ~(1UL << (nr & 15)); } static inline int test_bit(int nr, const void * addr) { return ((1UL << (nr & 15)) & (((const unsigned short *)addr)[nr >> 4])) != 0; } Scanline::Scanline(void) { reset(true); } Scanline::~Scanline(void) { } void Scanline::update(void) { int c; _count++; if (_count == 3) _count = 0; if (_idx < 255) { c = _val; if (_idx != 0) c = test_bit(_idx - 1, _v3); if (c) { while (_idx < 255) set_bit(_idx++, _v3); } else { while (_idx < 255) clear_bit(_idx++, _v3); } } /* * new frame time will be set when the first call to trigger() * occurs this is needed to synchronize the flash frequency * with the screen update */ _frame_time = 0; _idx = 0; switch (_count) { case 0: _v1 = &_vec[0]; _v2 = &_vec[16]; _v3 = &_vec[32]; break; case 1: _v1 = &_vec[16]; _v2 = &_vec[32]; _v3 = &_vec[0]; break; case 2: _v1 = &_vec[32]; _v2 = &_vec[0]; _v3 = &_vec[16]; break; default: break; } } /* * Linefrequency: 15.625 kHz => 64�s/line => 112 cycles/line * * This function is called by the CTC channel 2. */ void Scanline::trigger(bool enable) { /* * time (clock counter) of the previous call to this function */ static long long t = 0; /* * floating time offset to fine tune the scrolling effect * that is caused by the interference between the flash * frequency and the crt refresh */ static long long offset = 0; /* * config value that is added to offset each time this function * is called */ static long long o = Preferences::instance()->get_int_value("flash_offset", 50); /* * difference between the current and the previous call to * this function in clock ticks */ long long diff; if (!enable) { _enabled = true; // force reset of flash variables reset(false); return; } _val = !_val; _time = z80->getCounter(); if (_frame_time == 0) { offset += o; diff = _time - t; /* * synchronize flash only if flash frequency is high enough * to change the flash value twice per frame * (128 lines * 112 tics/line) */ if (diff < 14336) _val = 0; /* * reset flash scrolling offset */ if (offset > 2 * diff) offset = 0; _frame_time = _time + offset; } while (242) { if (_idx >= 255) break; if ((112 * _idx) > (_time - _frame_time)) break; if (_val) set_bit(_idx++, _v3); else clear_bit(_idx++, _v3); } t = _time; } int Scanline::get_value(int y) { return test_bit(y, _v1); } void Scanline::reset(bool enable) { _enabled = enable; _val = 0; _idx = 0; _time = 0; _count = 0; _frame_time = 0; for (int a = 0;a < 48;a++) _vec[a] = 0; _v1 = &_vec[0]; _v2 = &_vec[16]; _v3 = &_vec[32]; } KCemu-0.5.1/src/ui/generic/ui_9.cc0000644000175000017500000001773412417262523016761 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/gdc.h" #include "kc/vis.h" #include "ui/ui.h" #include "ui/generic/ui_9.h" UI_9::UI_9(void) { _dirty = NULL; _bitmap = NULL; _pix_cache = NULL; _col_cache = NULL; generic_set_mode(UI_GENERIC_MODE_LORES); init(); } UI_9::~UI_9(void) { dispose(); } void UI_9::init(void) { int a; _max_ptr = get_real_width() * get_real_height(); _dirty_size = (get_real_width() * get_real_height()) / 64; _dirty = new byte_t[_dirty_size]; _bitmap = new byte_t[get_real_width() * get_real_height()]; _pix_cache = new byte_t[_dirty_size]; _col_cache = new byte_t[_dirty_size]; for (a = 0;a < _dirty_size;a++) _dirty[a] = 1; for (a = 0;a < _dirty_size;a++) { _pix_cache[a] = 0; _col_cache[a] = 0; } } void UI_9::dispose(void) { if (_dirty) delete[] _dirty; if (_bitmap) delete[] _bitmap; if (_pix_cache) delete[] _pix_cache; if (_col_cache) delete[] _col_cache; } void UI_9::set_pixel(int x, int y, int color) { int yaddr = y * get_real_width(); if (yaddr >= _max_ptr) return; if (_bitmap[yaddr + x] == color) return; _bitmap[yaddr + x] = color; _dirty[(y / 8) * (get_real_width() / 8) + x / 8] = 0xff; } void UI_9::set_char(int x, int y, int c, int fg, int bg, int width, int lines) { byte_t *chr = vis->get_memory(); int xx, yy, pix, col_fg, col_bg, addr; addr = width * y + x; c *= 8; x *= 8; y *= lines; y += 20; // move smaller screen a little bit to // the center of the window if (lines < 10) y += (10 - lines) * 12; for (yy = 0;yy < 8;yy++) { pix = chr[c]; if (gdc->get_cursor(addr, yy)) { col_fg = bg; col_bg = fg; // not truncated to 3 bit! } else { col_fg = fg; col_bg = bg; } for (xx = 0;xx < 8;xx++) { if (pix & (1 << xx)) set_pixel(x + xx + 32, y, col_fg); else set_pixel(x + xx + 32, y, col_bg); } y++; c++; } // fill space between lines (if any) with the background color for (yy = 8;yy < lines;yy++) { for (xx = 0;xx < 8;xx++) set_pixel(x + xx + 32, y, bg); y++; } } void UI_9::generic_update_border(int border, int lines) { int x, y, top; lines++; top = 20 + (10 - lines) * 12; for (x = 0;x < get_real_width();x++) for (y = 0;y < top;y++) { set_pixel(x, y, border); set_pixel(x, y + top + 25 * lines, border); } for (x = 0;x < 32;x++) for (y = 0;y < 25 * lines;y++) { set_pixel(x, top + y, border); set_pixel(get_real_width() - x - 1, top + y, border); } } void UI_9::generic_update_text(int width, int height, int lines, bool clear_cache) { int x, y, z, p, c, fg, bg; long offset = gdc->get_pram_SAD(0); z = 0; for (y = 0;y < height;y++) { if ((lines * y) == gdc->get_pram_LEN(0)) offset = gdc->get_pram_SAD(1) - z; // compensate value of loop variable! for (x = 0;x < width;x++) { int changed = _dirty[z]; p = gdc->get_mem(z + offset); c = gdc->get_col(z + offset); if (p != _pix_cache[z]) { changed++; _pix_cache[z] = p; } if (c != _col_cache[z]) { changed++; _col_cache[z] = c; } if (vis->get_changed(p)) changed++; if (gdc->get_cursor(z + offset)) { changed++; _pix_cache[z] = 255; // invalidate cache on cursor position to force _col_cache[z] = 255; // update there when cursor position changes } z++; if (!changed) continue; fg = c & 15; bg = (c >> 5) & 7; set_char(x, y, p, fg, bg, width, lines); } } vis->reset_changed(); } void UI_9::generic_update_graphic_2(bool clear_cache) { int a, x, y, col; long offset = gdc->get_pram_SAD(0); for (y = 0;y < 200;y++) for (x = 0;x < 320;x++) { a = x & 7; col = (gdc->get_mem(offset + 40 * y + x / 8) >> a) & 1; col += 2 * ((gdc->get_col(offset + 40 * y + x / 8) >> a) & 1); set_pixel(x + 32, y + 44, vis->get_color(col)); } } void UI_9::generic_update_graphic_3(bool clear_cache) { int a, x, y, col; long offset = gdc->get_pram_SAD(0); for (y = 0;y < 200;y++) for (x = 0;x < 640;x++) { a = x & 7; col = (gdc->get_mem(offset + 80 * y + x / 8) >> a) & 1; col += 2 * ((gdc->get_col(offset + 80 * y + x / 8) >> a) & 1); set_pixel(x + 32, y + 44, vis->get_color(col)); } } void UI_9::generic_update_graphic_5(bool clear_cache) { int a, x, y, mem, col, val; long offset = gdc->get_pram_SAD(0); for (y = 0;y < 200;y++) for (x = 0;x < 80;x++) { mem = gdc->get_mem(offset + 80 * y + x); col = gdc->get_col(offset + 80 * y + x); for (a = 0;a < 4;a++) { val = (mem >> a) & 1; val += (mem >> (a + 3)) & 2; val += ((4 * col) >> a) & 4; val += (col >> (a + 1)) & 8; set_pixel(4 * x + a + 32, y + 44, val); } } } void UI_9::generic_update(Scanline *scanline, MemAccess *memaccess, bool clear_cache) { int mode; int border; int screen_on; int nr_of_lines; static int old_mode = -1; static int old_border = -1; static int old_screen_on = -1; static int old_nr_of_lines = -1; screen_on = gdc->get_screen_on(); if (screen_on != old_screen_on) { old_screen_on = screen_on; if (!screen_on) { memset(_bitmap, 0, get_real_width() * get_real_height()); memset(get_dirty_buffer(), 0xff, get_dirty_buffer_size()); return; } } mode = vis->get_mode(); border = vis->get_border(); nr_of_lines = gdc->get_nr_of_lines(); if (mode != old_mode) { // call to ui->set_mode below will trigger new update, we need to // make sure that we do not get into a loop. old_mode = mode; clear_cache = true; switch (mode) { case 0: case 2: case 5: ui->set_mode(UI_GENERIC_MODE_LORES); break; case 1: case 3: ui->set_mode(UI_GENERIC_MODE_HIRES); break; } } if (border != old_border) clear_cache = true; if (nr_of_lines != old_nr_of_lines) clear_cache = true; if (vis->is_color_palette_changed()) { clear_cache = true; vis->reset_color_palette_changed(); } old_border = border; old_nr_of_lines = nr_of_lines; if (clear_cache) { memset(_bitmap, 0, get_real_width() * get_real_height()); memset(get_dirty_buffer(), 0xff, get_dirty_buffer_size()); generic_update_border(border, nr_of_lines); } switch (mode) { case 0: generic_update_text(40, 25, nr_of_lines + 1, clear_cache); break; case 1: generic_update_text(80, 25, nr_of_lines + 1, clear_cache); break; case 2: generic_update_graphic_2(clear_cache); break; case 3: generic_update_graphic_3(clear_cache); break; case 5: generic_update_graphic_5(clear_cache); break; } } void UI_9::generic_signal_v_retrace(bool value) { gdc->v_retrace(value); } int UI_9::generic_get_mode(void) { return _mode; } void UI_9::generic_set_mode(int mode) { _mode = mode; switch (_mode) { case UI_GENERIC_MODE_LORES: set_real_screen_size(384, 288); break; case UI_GENERIC_MODE_HIRES: set_real_screen_size(704, 288); break; } dispose(); init(); } KCemu-0.5.1/src/ui/generic/memaccess.cc0000644000175000017500000000435112417262523020043 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include // DEBUG #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/kc.h" #include "kc/z80.h" #include "ui/generic/memaccess.h" #include "libdbg/dbg.h" MemAccess::MemAccess(void) { reset(); } MemAccess::~MemAccess(void) { } void MemAccess::update(void) { _base_counter = z80->getCounter(); } void MemAccess::set_value(int x, int y, byte_t value) { _buf[40 * y + x] = value; } byte_t MemAccess::get_value(int x, int y) { int idx = 40 * y + x; byte_t val = _buf[idx]; if (val > 0) _buf[idx]--; return val; } void MemAccess::reset() { _base_counter = 0; memset(_buf, 0, BUFFER_SIZE); } void MemAccess::memory_read(word_t addr) { DBG(3, form("KCemu/MemAccess/read", "MemAccess::memory_read(): addr = %04x\n", addr)); } void MemAccess::memory_write(word_t addr) { static double line_val = 35000.0 / 288.0; static int val = Preferences::instance()->get_int_value("display_mem_access", 0) ? 2 : 0; DBG(3, form("KCemu/MemAccess/write", "MemAccess::memory_write(): addr = %04x\n", addr)); if (_base_counter == 0) return; double diff = z80->getCounter() - _base_counter; if (diff >= 35000) return; int y = (int)(diff / line_val); if (y >= 256) return; diff -= (y * line_val); int x = (int)((diff * 384.0) / line_val); if (x >= 320) return; x /= 8; _buf[40 * y + x] = val; } KCemu-0.5.1/src/ui/commands.cc0000644000175000017500000000152512417262523016270 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ KCemu-0.5.1/src/ui/log.cc0000644000175000017500000000232312417262523015245 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "ui/log.h" #include "ui/status.h" #include "libdbg/dbg.h" LOG::LOG(void) { Status::instance()->addStatusListener(this); } LOG::~LOG(void) { } void LOG::setStatus(const char *msg) { DBG(0, form("KCemu/LOG", "LOG::STATUS | %s\n", msg)); } void LOG::errorInfo(const char *msg) { DBG(0, form("KCemu/LOG", "LOG::ERROR | %s\n", msg)); } KCemu-0.5.1/src/ui/gtk/0000755000175000017500000000000012417262523014742 5ustar glaubitzglaubitzKCemu-0.5.1/src/ui/gtk/info.cc0000644000175000017500000003604012417262523016207 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/z80.h" #include "kc/pio.h" #include "kc/ctc.h" #include "kc/memory.h" #include "ui/gtk/cmd.h" #include "ui/gtk/info.h" #include "libgtkex/libgtkex.h" class CMD_info_window_toggle : public CMD { private: InfoWindow *_w; public: CMD_info_window_toggle(InfoWindow *w) : CMD("ui-info-window-toggle") { _w = w; register_cmd("ui-info-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; void InfoWindow::update(GtkWidget *w, InfoWindow *self) { int p; p = gtk_notebook_current_page(GTK_NOTEBOOK(self->_w.notebook)); self->do_update(p); } void InfoWindow::switch_page(GtkWidget *w, GtkNotebookPage *page, gint page_num, InfoWindow *self) { self->do_update(page_num); } void InfoWindow::do_update_cpu(void) { word_t b, m; char buf[20]; unsigned int a; word_t af, bc, de, hl, ix, iy, sp, pc; struct { int reg; const char *fmt, *name; word_t *val; int shift, mask; } r[] = { { A, "%02xh", "A", &af, 8, 0xff }, { F, "%02xh", "F", &af, 0, 0xff }, { B, "%02xh", "B", &bc, 8, 0xff }, { C, "%02xh", "C", &bc, 0, 0xff }, { D, "%02xh", "D", &de, 8, 0xff }, { E, "%02xh", "E", &de, 0, 0xff }, { H, "%02xh", "H", &hl, 8, 0xff }, { L, "%02xh", "L", &hl, 0, 0xff }, { IX, "%04xh", "IX", &ix, 0, 0xffff }, { IY, "%04xh", "IY", &iy, 0, 0xffff }, { SP, "%04xh", "SP", &sp, 0, 0xffff }, { BC, "%04xh", "BC", &bc, 0, 0xffff }, { DE, "%04xh", "DE", &de, 0, 0xffff }, { HL, "%04xh", "HL", &hl, 0, 0xffff }, { PC, "%04xh", "PC", &pc, 0, 0xffff }, }; af = z80->getAF(); bc = z80->getBC(); de = z80->getDE(); hl = z80->getHL(); ix = z80->getIX(); iy = z80->getIY(); sp = z80->getSP(); pc = z80->getPC(); for (a = 0;a < (sizeof(r) / sizeof(r[0]));a++) { b = (*(r[a].val) >> r[a].shift) & r[a].mask; sprintf(buf, r[a].fmt, b); gtk_label_set(GTK_LABEL(_cpu.reg_lh[r[a].reg]), buf); sprintf(buf, "%d", b); gtk_label_set(GTK_LABEL(_cpu.reg_ld[r[a].reg]), buf); if (r[a].mask == 0xffff) { m = ((memory->memRead8(b)) | (memory->memRead8(b + 1) << 8)); sprintf(buf, "(%s) = %04xh", r[a].name, m); gtk_label_set(GTK_LABEL(_cpu.reg_lp[r[a].reg]), buf); } else { //gtk_led_line_set_value(GTK_LED_LINE(_cpu.reg_led[r[a].reg]), b); } } } void InfoWindow::do_update_pio(void) { byte_t a; char buf[10]; const char *mode[] = { _("byte output"), _("byte input"), _("byte input/output"), _("bit input/output") }; /* * channel a */ gtk_label_set(GTK_LABEL(_pio.mode_v[A]), mode[pio->getModeA()]); gtk_label_set(GTK_LABEL(_pio.irq_v[A]), (pio->getIRQA() ? "enabled" : "disabled")); a = pio->getIRQVectorA(); sprintf(buf, "%02xh (%d)", a, a); gtk_label_set(GTK_LABEL(_pio.irqvec_v[A]), buf); /* * channel b */ gtk_label_set(GTK_LABEL(_pio.mode_v[B]), mode[pio->getModeB()]); gtk_label_set(GTK_LABEL(_pio.irq_v[B]), (pio->getIRQB() ? "enabled" : "disabled")); a = pio->getIRQVectorB(); sprintf(buf, "%02xh (%d)", a, a); gtk_label_set(GTK_LABEL(_pio.irqvec_v[B]), buf); } void InfoWindow::do_update_ctc(void) { int a, c; char buf[20]; for (c = 0;c < 4;c++) { gtk_label_set(GTK_LABEL(_ctc.irq_v[c]), (ctc->getIRQ(c) ? "enabled" : "disabled")); a = ctc->getIRQVector(c); sprintf(buf, "%02xh (%d)", a, a); gtk_label_set(GTK_LABEL(_ctc.irqvec_v[c]), buf); } } void InfoWindow::do_update(int page) { switch (page) { case 0: do_update_cpu(); break; case 1: do_update_pio(); break; case 2: do_update_ctc(); break; } } InfoWindow::InfoWindow(void) { _cmd = new CMD_info_window_toggle(this); } InfoWindow::~InfoWindow(void) { delete _cmd; } GtkWidget * InfoWindow::create_reg(int reg, const char *frame_title, int led) { _cpu.reg_f[reg] = gtk_frame_new(frame_title); /* * vbox */ _cpu.reg_v[reg] = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(_cpu.reg_f[reg]), _cpu.reg_v[reg]); gtk_widget_show(_cpu.reg_v[reg]); if (led) { /* * led line */ _cpu.reg_lp[reg] = NULL; _cpu.reg_led[reg] = gtk_led_line_new(8); gtk_box_pack_start(GTK_BOX(_cpu.reg_v[reg]), _cpu.reg_led[reg], TRUE, TRUE, 0); gtk_widget_show(_cpu.reg_led[reg]); } else { /* * label */ _cpu.reg_led[reg] = NULL; _cpu.reg_lp[reg] = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_cpu.reg_lp[reg]), 1, 0.5); gtk_misc_set_padding(GTK_MISC(_cpu.reg_lp[reg]), 4, 2); gtk_box_pack_start(GTK_BOX(_cpu.reg_v[reg]), _cpu.reg_lp[reg], TRUE, TRUE, 0); gtk_widget_show(_cpu.reg_lp[reg]); } /* * hbox */ _cpu.reg_h[reg] = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(_cpu.reg_v[reg]), _cpu.reg_h[reg]); gtk_widget_show(_cpu.reg_h[reg]); _cpu.reg_lh[reg] = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_cpu.reg_lh[reg]), 0, 0.5); gtk_misc_set_padding(GTK_MISC(_cpu.reg_lh[reg]), 4, 2); gtk_box_pack_start(GTK_BOX(_cpu.reg_h[reg]), _cpu.reg_lh[reg], TRUE, TRUE, 0); gtk_widget_show(_cpu.reg_lh[reg]); _cpu.reg_ld[reg] = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_cpu.reg_ld[reg]), 1, 0.5); gtk_misc_set_padding(GTK_MISC(_cpu.reg_ld[reg]), 4, 2); gtk_box_pack_start(GTK_BOX(_cpu.reg_h[reg]), _cpu.reg_ld[reg], TRUE, TRUE, 0); gtk_widget_show(_cpu.reg_ld[reg]); return _cpu.reg_f[reg]; } GtkWidget * InfoWindow::create_page_cpu(void) { GtkWidget *w; unsigned int a; struct { int reg; const char *name; int r1, c1, r2, c2, led; } r[] = { { A, "A", 0, 1, 0, 1, TRUE }, { F, "F", 1, 2, 0, 1, TRUE }, { PC, "PC", 2, 3, 0, 1, FALSE }, { B, "B", 0, 1, 1, 2, TRUE }, { C, "C", 1, 2, 1, 2, TRUE }, { BC, "BC", 2, 3, 1, 2, FALSE }, { D, "D", 0, 1, 2, 3, TRUE }, { E, "E", 1, 2, 2, 3, TRUE }, { DE, "DE", 2, 3, 2, 3, FALSE }, { H, "H", 0, 1, 3, 4, TRUE }, { L, "L", 1, 2, 3, 4, TRUE }, { HL, "HL", 2, 3, 3, 4, FALSE }, { IX, "IX", 0, 1, 4, 5, FALSE }, { IY, "IY", 1, 2, 4, 5, FALSE }, { SP, "SP", 2, 3, 4, 5, FALSE }, }; _cpu.table = gtk_table_new(5, 3, FALSE); gtk_container_border_width(GTK_CONTAINER(_cpu.table), 4); gtk_table_set_row_spacings(GTK_TABLE(_cpu.table), 2); gtk_table_set_col_spacings(GTK_TABLE(_cpu.table), 4); gtk_widget_show(_cpu.table); for (a = 0;a < (sizeof(r) / sizeof(r[0]));a++) { w = create_reg(r[a].reg, r[a].name, r[a].led); gtk_table_attach(GTK_TABLE(_cpu.table), w, r[a].r1, r[a].c1, r[a].r2, r[a].c2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), 0, 0); gtk_widget_show(w); } return _cpu.table; } GtkWidget * InfoWindow::create_channel_pio(int c, const char *frame_title) { /* * channel frame */ _pio.frame[c] = gtk_frame_new(frame_title); _pio.table[c] = gtk_table_new(1, 2, FALSE); gtk_container_border_width(GTK_CONTAINER(_pio.table[c]), 4); gtk_table_set_row_spacings(GTK_TABLE(_pio.table[c]), 2); gtk_table_set_col_spacings(GTK_TABLE(_pio.table[c]), 4); gtk_container_add(GTK_CONTAINER(_pio.frame[c]), _pio.table[c]); gtk_widget_show(_pio.table[c]); /* * mode */ _pio.mode_l[c] = gtk_label_new(_("Mode:")); gtk_misc_set_alignment(GTK_MISC(_pio.mode_l[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_pio.table[c]), _pio.mode_l[c], 0, 1, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_pio.mode_l[c]); _pio.mode_v[c] = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_pio.mode_v[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_pio.table[c]), _pio.mode_v[c], 1, 2, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_pio.mode_v[c]); /* * irq */ _pio.irq_l[c] = gtk_label_new(_("IRQ:")); gtk_misc_set_alignment(GTK_MISC(_pio.irq_l[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_pio.table[c]), _pio.irq_l[c], 0, 1, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_pio.irq_l[c]); _pio.irq_v[c] = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_pio.irq_v[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_pio.table[c]), _pio.irq_v[c], 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_pio.irq_v[c]); /* * irq vector */ _pio.irqvec_l[c] = gtk_label_new(_("IRQ Vector:")); gtk_misc_set_alignment(GTK_MISC(_pio.irqvec_l[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_pio.table[c]), _pio.irqvec_l[c], 0, 1, 2, 3, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_pio.irqvec_l[c]); _pio.irqvec_v[c] = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_pio.irqvec_v[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_pio.table[c]), _pio.irqvec_v[c], 1, 2, 2, 3, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_pio.irqvec_v[c]); return _pio.frame[c]; } GtkWidget * InfoWindow::create_page_pio() { GtkWidget *w; _pio.hbox = gtk_hbox_new(TRUE, 0); gtk_widget_show(_pio.hbox); w = create_channel_pio(A, _("Channel A")); gtk_box_pack_start(GTK_BOX(_pio.hbox), w, TRUE, TRUE, 0); gtk_widget_show(w); w = create_channel_pio(B, _("Channel B")); gtk_box_pack_start(GTK_BOX(_pio.hbox), w, TRUE, TRUE, 0); gtk_widget_show(w); return _pio.hbox; } GtkWidget * InfoWindow::create_channel_ctc(int c, const char *frame_title) { /* * channel frame */ _ctc.frame[c] = gtk_frame_new(frame_title); _ctc.table[c] = gtk_table_new(1, 2, FALSE); gtk_container_border_width(GTK_CONTAINER(_ctc.table[c]), 4); gtk_table_set_row_spacings(GTK_TABLE(_ctc.table[c]), 2); gtk_table_set_col_spacings(GTK_TABLE(_ctc.table[c]), 4); gtk_container_add(GTK_CONTAINER(_ctc.frame[c]), _ctc.table[c]); gtk_widget_show(_ctc.table[c]); /* * irq */ _ctc.irq_l[c] = gtk_label_new(_("IRQ:")); gtk_misc_set_alignment(GTK_MISC(_ctc.irq_l[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_ctc.table[c]), _ctc.irq_l[c], 0, 1, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_ctc.irq_l[c]); _ctc.irq_v[c] = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_ctc.irq_v[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_ctc.table[c]), _ctc.irq_v[c], 1, 2, 1, 2, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_ctc.irq_v[c]); /* * irq vector */ _ctc.irqvec_l[c] = gtk_label_new(_("IRQ Vector:")); gtk_misc_set_alignment(GTK_MISC(_ctc.irqvec_l[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_ctc.table[c]), _ctc.irqvec_l[c], 0, 1, 2, 3, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_ctc.irqvec_l[c]); _ctc.irqvec_v[c] = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_ctc.irqvec_v[c]), 0, 0.5); gtk_table_attach(GTK_TABLE(_ctc.table[c]), _ctc.irqvec_v[c], 1, 2, 2, 3, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), (GtkAttachOptions)0, 0, 0); gtk_widget_show(_ctc.irqvec_v[c]); return _ctc.frame[c]; } GtkWidget * InfoWindow::create_page_ctc() { GtkWidget *w; _ctc.hbox = gtk_hbox_new(TRUE, 0); gtk_widget_show(_ctc.hbox); w = create_channel_ctc(0, _("Channel 0")); gtk_box_pack_start(GTK_BOX(_ctc.hbox), w, TRUE, TRUE, 0); gtk_widget_show(w); w = create_channel_ctc(1, _("Channel 1")); gtk_box_pack_start(GTK_BOX(_ctc.hbox), w, TRUE, TRUE, 0); gtk_widget_show(w); w = create_channel_ctc(2, _("Channel 2")); gtk_box_pack_start(GTK_BOX(_ctc.hbox), w, TRUE, TRUE, 0); gtk_widget_show(w); w = create_channel_ctc(3, _("Channel 3")); gtk_box_pack_start(GTK_BOX(_ctc.hbox), w, TRUE, TRUE, 0); gtk_widget_show(w); return _ctc.hbox; } void InfoWindow::init(void) { /* * window */ _window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_set_name(_window, "InfoWindow"); gtk_window_set_title(GTK_WINDOW(_window), _("KCemu: Info")); gtk_widget_set_uposition(_window, 650, 50); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-info-window-toggle"); // FIXME: /* * vbox */ _w.vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(_window), _w.vbox); gtk_widget_show(_w.vbox); /* * notebook */ _w.notebook = gtk_notebook_new(); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.notebook, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(_w.notebook), "switch_page", GTK_SIGNAL_FUNC(switch_page), this); gtk_widget_show(_w.notebook); gtk_notebook_append_page(GTK_NOTEBOOK(_w.notebook), create_page_cpu(), gtk_label_new(_("CPU"))); gtk_notebook_append_page(GTK_NOTEBOOK(_w.notebook), create_page_pio(), gtk_label_new(_("PIO"))); gtk_notebook_append_page(GTK_NOTEBOOK(_w.notebook), create_page_ctc(), gtk_label_new(_("CTC"))); /* * separator */ _w.separator = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.separator, FALSE, FALSE, 5); gtk_widget_show(_w.separator); /* * button box */ _w.bbox = gtk_hbutton_box_new(); gtk_button_box_set_layout(GTK_BUTTON_BOX(_w.bbox), GTK_BUTTONBOX_END); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.bbox, FALSE, FALSE, 5); gtk_widget_show(_w.bbox); /* * update button */ _w.b_update = gtk_button_new_with_label(_("Update")); gtk_container_add(GTK_CONTAINER(_w.bbox), _w.b_update); gtk_signal_connect(GTK_OBJECT(_w.b_update), "clicked", GTK_SIGNAL_FUNC(update), this); GTK_WIDGET_SET_FLAGS(_w.b_update, GTK_CAN_DEFAULT); gtk_widget_show(_w.b_update); /* * close button */ _w.b_close = gtk_button_new_with_label(_("Close")); gtk_container_add(GTK_CONTAINER(_w.bbox), _w.b_close); gtk_signal_connect(GTK_OBJECT(_w.b_close), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (char *)"ui-info-window-toggle"); // FIXME: GTK_WIDGET_SET_FLAGS(_w.b_close, GTK_CAN_DEFAULT); gtk_widget_grab_default(_w.b_close); gtk_widget_show(_w.b_close); } KCemu-0.5.1/src/ui/gtk/ffmpeg.cc0000644000175000017500000001255212417262523016522 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/config.h" #ifdef HAVE_LIBAVFORMAT #include "kc/system.h" #include "ui/gtk/ffmpeg.h" FfmpegVideoEncoder::FfmpegVideoEncoder(void) { _context = NULL; _stream = NULL; _frame = NULL; _buf = NULL; } FfmpegVideoEncoder::~FfmpegVideoEncoder(void) { close(); } bool FfmpegVideoEncoder::init(const char *filename, int width, int height, int fps_den, double quality) { if (filename == NULL) return false; _width = width; _height = height; av_register_all(); AVOutputFormat *fmt = guess_format("avi", NULL, "video/x-msvideo"); if (fmt == NULL) return false; _context = avformat_alloc_context(); if (_context == NULL) return false; _context->oformat = fmt; snprintf(_context->filename, sizeof (_context->filename), "%s", filename); _stream = av_new_stream(_context, 0); if (_stream == NULL) { close(); return false; } _stream->codec->codec_id = fmt->video_codec; _stream->codec->codec_type = CODEC_TYPE_VIDEO; _stream->codec->codec_tag = MKTAG('D', 'X', '5', '0'); _stream->codec->bit_rate = 79000 + 1000 * pow(1.4, quality * 20.0); _stream->codec->width = width; _stream->codec->height = height; _stream->codec->time_base.den = 50; _stream->codec->time_base.num = fps_den; _stream->codec->gop_size = 100 / fps_den; _stream->codec->pix_fmt = PIX_FMT_YUV420P; // some formats want stream headers to be separate if (_context->oformat->flags & AVFMT_GLOBALHEADER) _stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER; if (av_set_parameters(_context, NULL) < 0) { close(); return false; } AVCodec *codec = avcodec_find_encoder(_stream->codec->codec_id); if (avcodec_open(_stream->codec, codec) < 0) { close(); return false; } _bufsize = 10 * width * height; _buf = (byte_t *)av_malloc(_bufsize); if (_buf == NULL) { close(); return false; } _frame = avcodec_alloc_frame(); if (_frame == NULL) { close(); return false; } int size = avpicture_get_size(_stream->codec->pix_fmt, width, height); byte_t *buf = (byte_t *) av_malloc(size); if (buf == NULL) { close(); return false; } avpicture_fill((AVPicture *) _frame, buf, _stream->codec->pix_fmt, width, height); if (url_fopen(&_context->pb, filename, URL_WRONLY) < 0) { close(); return false; } //dump_format(_context, 0, filename, 1); av_write_header(_context); return true; } void FfmpegVideoEncoder::allocate_color_rgb(int idx, int r, int g, int b) { _col[idx].y = (0.257 * r) + (0.504 * g) + (0.098 * b) + 16; _col[idx].u = -(0.148 * r) - (0.291 * g) + (0.439 * b) + 128; _col[idx].v = (0.439 * r) - (0.368 * g) - (0.071 * b) + 128; } bool FfmpegVideoEncoder::encode(byte_t *image, byte_t *dirty) { for (int y = 0;y < _height;y++) { int z = y * _frame->linesize[0]; for (int x = 0;x < _width;x++) { _frame->data[0][z + x] = _col[image[z + x]].y; } } for (int y = 0;y < _height / 2;y++) { int z = 2 * y * _width; for (int x = 0;x < _width;x += 2) { int u = _col[image[z + x]].u + _col[image[z + x + 1]].u + _col[image[z + x + _width]].u + _col[image[z + x + _width + 1]].u; int v = _col[image[z + x]].v + _col[image[z + x + 1]].v + _col[image[z + x + _width]].v + _col[image[z + x + _width + 1]].v; _frame->data[1][y * _frame->linesize[1] + x / 2] = u / 4; _frame->data[2][y * _frame->linesize[2] + x / 2] = v / 4; } } int out_size = avcodec_encode_video(_stream->codec, _buf, _bufsize, _frame); if (out_size == 0) return true; AVPacket pkt; av_init_packet(&pkt); if (_stream->codec->coded_frame->pts != AV_NOPTS_VALUE) pkt.pts = av_rescale_q(_stream->codec->coded_frame->pts, _stream->codec->time_base, _stream->time_base); if (_stream->codec->coded_frame->key_frame) pkt.flags |= PKT_FLAG_KEY; pkt.stream_index = _stream->index; pkt.data = _buf; pkt.size = out_size; return av_interleaved_write_frame(_context, &pkt) == 0; } void FfmpegVideoEncoder::close(void) { if (_context == NULL) return; av_write_trailer(_context); avcodec_close(_stream->codec); av_free(_frame->data[0]); av_free(_frame); av_free(_buf); for (unsigned int i = 0;i < _context->nb_streams;i++) { av_freep(&_context->streams[i]->codec); av_freep(&_context->streams[i]); } url_fclose(_context->pb); av_free(_context); _context = NULL; _stream = NULL; _frame = NULL; _buf = NULL; } #endif /* HAVE_LIBAVFORMAT */KCemu-0.5.1/src/ui/gtk/image.cc0000644000175000017500000001553112417262523016340 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "ui/error.h" #include "ui/gtk/image.h" CMD_ui_image_props::CMD_ui_image_props(void) : CMD("ui-image-get-properties") { register_cmd("ui-image-get-properties", 0); } CMD_ui_image_props::~CMD_ui_image_props(void) { } void CMD_ui_image_props::ok(GtkWidget * /* widget */, gpointer data) { CMD_ui_image_props *self = (CMD_ui_image_props *)data; if (!self->check_values(self->_args)) return; gtk_widget_destroy(self->_w.dialog); self->_args->call_callbacks("ui-image-get-properties-CB-ok"); } void CMD_ui_image_props::cancel(GtkWidget * /* widget */, gpointer data) { CMD_ui_image_props *self = (CMD_ui_image_props *)data; gtk_widget_destroy(self->_w.dialog); self->_args->call_callbacks("ui-image-get-properties-CB-cancel"); } int CMD_ui_image_props::delete_event(GtkWidget *widget, GdkEvent *event, gpointer data) { cancel(widget, data); return true; } void CMD_ui_image_props::toggle_autostart(GtkWidget *w, gpointer data) { CMD_ui_image_props *self = (CMD_ui_image_props *)data; self->_autostart = GTK_TOGGLE_BUTTON(w)->active; gtk_widget_set_sensitive(self->_w.start_addr, self->_autostart); } bool CMD_ui_image_props::check_values(CMD_Args *args) { const char *load, *start; char *l_endptr, *s_endptr; unsigned long load_address, start_address; if (!args) return false; load = gtk_entry_get_text(GTK_ENTRY(_w.load_addr)); start = gtk_entry_get_text(GTK_ENTRY(_w.start_addr)); load_address = strtoul(load, &l_endptr, 0); start_address = strtoul(start, &s_endptr, 0); if (!((*load != '\0') && (*l_endptr == '\0'))) { Error::instance()->info(_("error in given load address!\n\n" "valid addresses have to be in the " "range from 0 to 65535\n" "hexadecimal values need to be " "prefixed with 0x (e.g. 0x1234),\n" "octal values require a leading 0 " "(e.g. 0444)")); return false; } _args->set_long_arg("load-address", load_address); if (!_autostart) return true; if (!((*start != '\0') && (*s_endptr == '\0'))) { Error::instance()->info(_("error in given start address!")); return false; } _args->set_long_arg("start-address", start_address); return true; } void CMD_ui_image_props::execute(CMD_Args *args, CMD_Context context) { GtkWidget *button, *label, *table; _args = args; /* * dialog */ _w.dialog = gtk_dialog_new(); gtk_signal_connect(GTK_OBJECT (_w.dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event), this); gtk_window_set_title(GTK_WINDOW(_w.dialog), _("Input Image Properties")); gtk_window_position(GTK_WINDOW(_w.dialog), GTK_WIN_POS_MOUSE); gtk_container_set_border_width(GTK_CONTAINER(_w.dialog), 0); /* * label */ label = gtk_label_new(_("It was not possible to automatically determine the\n" "type of the selected file. Thus I don't know at which\n" "address the file should be loaded\n\n" "To load the file nevertheless you need to type in the\n" "needed values yourself.")); gtk_misc_set_padding(GTK_MISC(label), 10, 10); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(_w.dialog)->vbox), label, TRUE, TRUE, 0); gtk_widget_show(label); /* * table */ table = gtk_table_new(3, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), 2); gtk_table_set_col_spacings(GTK_TABLE(table), 4); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(_w.dialog)->vbox), table, FALSE, TRUE, 0); gtk_widget_show(table); /* * load addr */ label = gtk_label_new(_("Load address:")); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); gtk_widget_show(label); _w.load_addr = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(table), _w.load_addr, 1, 2, 0, 1); gtk_widget_show(_w.load_addr); /* * start addr */ label = gtk_label_new(_("Start address:")); gtk_misc_set_alignment(GTK_MISC(label), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); gtk_widget_show(label); _w.start_addr = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(table), _w.start_addr, 1, 2, 1, 2); gtk_widget_show(_w.start_addr); /* * autostart */ _autostart = false; if (args && args->get_long_arg("auto-start")) _autostart = true; button = gtk_check_button_new_with_label(_("Start Program after Loading")); gtk_table_attach_defaults(GTK_TABLE(table), button, 1, 2, 2, 3); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), _autostart); gtk_widget_set_sensitive(_w.start_addr, _autostart); gtk_signal_connect(GTK_OBJECT(button), "toggled", GTK_SIGNAL_FUNC(toggle_autostart), this); gtk_widget_show(button); /* * ok button */ button = gtk_button_new_with_label(_("OK")); GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(_w.dialog)->action_area), button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(ok), this); gtk_widget_grab_default(button); gtk_widget_show(button); /* * cancel button */ button = gtk_button_new_with_label(_("Cancel")); GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(_w.dialog)->action_area), button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cancel), this); gtk_widget_show(button); /* * show dialog now */ gtk_widget_show(_w.dialog); } KCemu-0.5.1/src/ui/gtk/help.cc0000644000175000017500000005155212417262523016211 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * Handling of hyperlinks in GtkTextView taken from the gtk demos source * code provided as example for programming with GTK - The GIMP Toolkit. * * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * Context help handling taken from "The GIMP" * * Copyright (C) ??? * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "ui/gtk/cmd.h" #include "ui/gtk/help.h" #include "libdbg/dbg.h" using namespace std; class CMD_help_window_toggle : public CMD { private: HelpWindow *_w; public: CMD_help_window_toggle(HelpWindow *w) : CMD("ui-help-window-toggle") { _w = w; register_cmd("ui-help-window-toggle"); register_cmd("ui-help-window-toggle-home", 1); register_cmd("ui-help-window-toggle-index", 2); register_cmd("ui-help-window-show", 3); register_cmd("ui-help-window-context-help", 4); } void execute(CMD_Args *args, CMD_Context context) { const char *topic = NULL; switch (context) { case 0: _w->toggle(); break; case 1: _w->toggle(); _w->scroll_to("home", TRUE); break; case 2: _w->toggle(); _w->scroll_to("index", TRUE); break; case 3: _w->show(); if (args != NULL) topic = args->get_string_arg("help-topic"); _w->scroll_to(topic, TRUE); break; case 4: g_idle_add(_w->context_help_idle_start, _w); break; } } }; void HelpWindow::sf_button_back(GtkButton *button, gpointer data) { HelpWindow *w = (HelpWindow *)data; w->history_back(); } void HelpWindow::sf_button_forward(GtkButton *button, gpointer data) { HelpWindow *w = (HelpWindow *)data; w->history_next(); } void HelpWindow::sf_button_home(GtkButton *button, gpointer data) { HelpWindow *w = (HelpWindow *)data; w->scroll_to("home", TRUE); } void HelpWindow::sf_button_index(GtkButton *button, gpointer data) { HelpWindow *w = (HelpWindow *)data; w->scroll_to("index", TRUE); } void HelpWindow::sf_button_refresh(GtkButton *button, gpointer data) { HelpWindow *w = (HelpWindow *)data; w->load_text(); } /* * Links can be activated by pressing Enter. */ gboolean HelpWindow::sf_key_press_event(GtkWidget *text_view, GdkEventKey *event, gpointer data) { GtkTextIter iter; GtkTextBuffer *buffer; HelpWindow *w = (HelpWindow *)data; switch (event->keyval) { case GDK_Return: case GDK_KP_Enter: buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view)); gtk_text_buffer_get_iter_at_mark(buffer, &iter, gtk_text_buffer_get_insert(buffer)); w->follow_if_link(text_view, &iter); break; default: break; } return FALSE; } /* * Also update the cursor image if the window becomes visible * (e.g. when a window covering it got iconified). */ gboolean HelpWindow::sf_visibility_notify_event(GtkWidget *text_view, GdkEventVisibility *event, gpointer data) { gint wx, wy, bx, by; HelpWindow *w = (HelpWindow *)data; gdk_window_get_pointer (text_view->window, &wx, &wy, NULL); gtk_text_view_window_to_buffer_coords(GTK_TEXT_VIEW(text_view), GTK_TEXT_WINDOW_WIDGET, wx, wy, &bx, &by); w->set_cursor_if_appropriate(GTK_TEXT_VIEW(text_view), bx, by); return FALSE; } /* * Update the cursor image if the pointer moved. */ gboolean HelpWindow::sf_motion_notify_event(GtkWidget *text_view, GdkEventMotion *event, gpointer data) { gint x, y; HelpWindow *w = (HelpWindow *)data; gtk_text_view_window_to_buffer_coords(GTK_TEXT_VIEW(text_view), GTK_TEXT_WINDOW_WIDGET, (gint)event->x, (gint)event->y, &x, &y); w->set_cursor_if_appropriate(GTK_TEXT_VIEW(text_view), x, y); gdk_window_get_pointer(text_view->window, NULL, NULL, NULL); return FALSE; } /* * Links can also be activated by clicking. */ gboolean HelpWindow::sf_event_after(GtkWidget *text_view, GdkEvent *ev, gpointer data) { gint x, y; GtkTextBuffer *buffer; GdkEventButton *event; GtkTextIter start, end, iter; HelpWindow *w = (HelpWindow *)data; if (ev->type != GDK_BUTTON_RELEASE) return FALSE; event = (GdkEventButton *)ev; if (event->button != 1) return FALSE; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (text_view)); /* we shouldn't follow a link if the user has selected something */ gtk_text_buffer_get_selection_bounds(buffer, &start, &end); if (gtk_text_iter_get_offset(&start) != gtk_text_iter_get_offset(&end)) return FALSE; gtk_text_view_window_to_buffer_coords(GTK_TEXT_VIEW(text_view), GTK_TEXT_WINDOW_WIDGET, (gint)event->x, (gint)event->y, &x, &y); gtk_text_view_get_iter_at_location(GTK_TEXT_VIEW(text_view), &iter, x, y); w->follow_if_link(text_view, &iter); return FALSE; } const gchar * HelpWindow::get_attribute(const gchar *name, const gchar **attribute_names, const gchar **attribute_values) { for (int i = 0;attribute_names[i] != NULL;i++) { if (strcmp(attribute_names[i], name) == 0) { return attribute_values[i]; } } return NULL; } void HelpWindow::sf_parser_start_element_handler(GMarkupParseContext *context, const gchar *element_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { HelpWindow *w = (HelpWindow *)user_data; if (strcmp(element_name, "ref") == 0) { const gchar *val = get_attribute("name", attribute_names, attribute_values); if (val != NULL) { w->insert_ref(val); } } else if (strcmp(element_name, "size") == 0) { const gchar *val = get_attribute("value", attribute_names, attribute_values); if (val != NULL) { int value = atoi(val); if (value < -3) value = -3; if (value > 3) value = 3; w->text_size = value; } } else if (strcmp(element_name, "link") == 0) { const gchar *val = get_attribute("ref", attribute_names, attribute_values); if (val != NULL) { w->link_name = strdup(val); } w->parse_state = PARSE_STATE_LINK; } else if (strcmp(element_name, "img") == 0) { const gchar *val = get_attribute("src", attribute_names, attribute_values); if (val != NULL) { w->insert_image(val); } } else if (strcmp(element_name, "b") == 0) { w->parse_flags |= PARSE_FLAGS_BOLD; } else if (strcmp(element_name, "i") == 0) { w->parse_flags |= PARSE_FLAGS_ITALIC; } else if (strcmp(element_name, "u") == 0) { w->parse_flags |= PARSE_FLAGS_UNDERLINE; } else if (strcmp(element_name, "c") == 0) { w->parse_flags |= PARSE_FLAGS_CENTER; } else if (strcmp(element_name, "m") == 0) { w->parse_flags |= PARSE_FLAGS_MONOSPACE; } else if (strcmp(element_name, "p") == 0) { w->parse_state = PARSE_STATE_TEXT; } } void HelpWindow::sf_parser_end_element_handler(GMarkupParseContext *context, const gchar *element_name, gpointer user_data, GError **error) { HelpWindow *w = (HelpWindow *)user_data; if (strcmp(element_name, "size") == 0) { w->text_size = 0; } if (strcmp(element_name, "b") == 0) { w->parse_flags &= ~PARSE_FLAGS_BOLD; } if (strcmp(element_name, "i") == 0) { w->parse_flags &= ~PARSE_FLAGS_ITALIC; } if (strcmp(element_name, "u") == 0) { w->parse_flags &= ~PARSE_FLAGS_UNDERLINE; } if (strcmp(element_name, "c") == 0) { w->parse_flags &= ~PARSE_FLAGS_CENTER; } if (strcmp(element_name, "m") == 0) { w->parse_flags &= ~PARSE_FLAGS_MONOSPACE; } if (strcmp(element_name, "p") == 0) { w->parse_state = PARSE_STATE_NONE; } else if (strcmp(element_name, "link") == 0) { w->parse_state = PARSE_STATE_TEXT; } } void HelpWindow::sf_parser_text_handler(GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error) { HelpWindow *w = (HelpWindow *)user_data; switch (w->parse_state) { case PARSE_STATE_LINK: w->insert_link(text, w->link_name); free(w->link_name); w->link_name = NULL; break; case PARSE_STATE_TEXT: w->insert_text(text, NULL); break; default: break; } } void HelpWindow::sf_parser_passthrough_handler(GMarkupParseContext *context, const gchar *passthrough_text, gsize text_len, gpointer user_data, GError **error) { DBG(1, form("KCemu/Help/parser", "passthrough text (%ld chars): '%.*s'\n", text_len, text_len, passthrough_text)); } void HelpWindow::sf_parser_error_handler(GMarkupParseContext *context, GError *error, gpointer user_data) { DBG(1, form("KCemu/Help/parser", "error: %s\n", error->message)); } HelpWindow::HelpWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _history = NULL; _history_ptr = NULL; _hovering_over_link = FALSE; _hand_cursor = gdk_cursor_new(GDK_HAND2); _regular_cursor = gdk_cursor_new(GDK_XTERM); parser.start_element = sf_parser_start_element_handler; parser.end_element = sf_parser_end_element_handler; parser.text = sf_parser_text_handler; parser.passthrough = sf_parser_passthrough_handler; parser.error = sf_parser_error_handler; _cmd = new CMD_help_window_toggle(this); init2(); } HelpWindow::~HelpWindow(void) { delete _cmd; } void HelpWindow::init(void) { } void HelpWindow::init2(void) { _window = get_widget("help_window"); g_signal_connect(G_OBJECT(_window), "delete_event", G_CALLBACK(cmd_exec_sft), (char *)"ui-help-window-toggle"); // FIXME: /* * textview / textbuffer */ _w.text_view = get_widget("main_textview"); _w.text_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(_w.text_view)); _w.tag_bold = gtk_text_buffer_create_tag(_w.text_buffer, "bold", "weight", PANGO_WEIGHT_BOLD, NULL); _w.tag_italic = gtk_text_buffer_create_tag(_w.text_buffer, "italic", "style", PANGO_STYLE_ITALIC, NULL); _w.tag_underline = gtk_text_buffer_create_tag(_w.text_buffer, "underline", "underline", PANGO_UNDERLINE_DOUBLE, NULL); _w.tag_center = gtk_text_buffer_create_tag(_w.text_buffer, "center", "justification", GTK_JUSTIFY_CENTER, NULL); _w.tag_monospace = gtk_text_buffer_create_tag(_w.text_buffer, "monospace", "family", "Monospace", NULL); _w.tag_size[0] = gtk_text_buffer_create_tag(_w.text_buffer, "size -3", "scale", PANGO_SCALE_XX_SMALL, NULL); _w.tag_size[1] = gtk_text_buffer_create_tag(_w.text_buffer, "size -2", "scale", PANGO_SCALE_X_SMALL, NULL); _w.tag_size[2] = gtk_text_buffer_create_tag(_w.text_buffer, "size -1", "scale", PANGO_SCALE_SMALL, NULL); _w.tag_size[3] = NULL; _w.tag_size[4] = gtk_text_buffer_create_tag(_w.text_buffer, "size +1", "scale", PANGO_SCALE_LARGE, NULL); _w.tag_size[5] = gtk_text_buffer_create_tag(_w.text_buffer, "size +2", "scale", PANGO_SCALE_X_LARGE, NULL); _w.tag_size[6] = gtk_text_buffer_create_tag(_w.text_buffer, "size +3", "scale", PANGO_SCALE_XX_LARGE, NULL); g_signal_connect(_w.text_view, "key-press-event", G_CALLBACK(sf_key_press_event), this); g_signal_connect(_w.text_view, "event-after", G_CALLBACK(sf_event_after), this); g_signal_connect(_w.text_view, "motion-notify-event", G_CALLBACK(sf_motion_notify_event), this); g_signal_connect(_w.text_view, "visibility-notify-event", G_CALLBACK(sf_visibility_notify_event), this); /* * Buttons */ _w.button_back = get_widget("navigation_button_back"); _w.button_next = get_widget("navigation_button_forward"); g_signal_connect(_w.button_back, "clicked", G_CALLBACK(sf_button_back), this); g_signal_connect(_w.button_next, "clicked", G_CALLBACK(sf_button_forward), this); g_signal_connect(get_widget("navigation_button_home"), "clicked", G_CALLBACK(sf_button_home), this); g_signal_connect(get_widget("navigation_button_index"), "clicked", G_CALLBACK(sf_button_index), this); g_signal_connect(get_widget("navigation_button_refresh"), "clicked", G_CALLBACK(sf_button_refresh), this); init_dialog("ui-help-window-toggle", NULL); /* * force initialization directly on gui creation, otherwise the first * call to show the context help will go wrong as it does not wait * for the expose of the window :-( */ load_text(); gtk_widget_realize(_window); } void HelpWindow::load_text(void) { GtkTextBuffer *buf = _w.text_buffer; string datadir(kcemu_datadir); string help_doc = datadir + "/doc/kcemu-help.xml"; gchar *text; gsize length; GError *error = NULL; if (!g_file_get_contents(help_doc.c_str(), &text, &length, &error)) { fprintf (stderr, "%s\n", error->message); g_error_free (error); return; } text_size = 0; parse_flags = 0; link_name = NULL; parse_state = PARSE_STATE_NONE; gtk_text_buffer_set_text(buf, "", 0); gtk_text_buffer_get_start_iter(buf, &iter); gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(_w.text_view), &iter, 0.0, TRUE, 0.0, 0.0); GMarkupParseContext *context = g_markup_parse_context_new(&parser, (GMarkupParseFlags)0, this, NULL); if (!g_markup_parse_context_parse(context, text, length, NULL)) { g_markup_parse_context_free(context); return; } if (!g_markup_parse_context_end_parse(context, NULL)) { g_markup_parse_context_free(context); return; } g_markup_parse_context_free(context); } void HelpWindow::history_next(void) { if (_history_ptr != g_list_first(_history)) { _history_ptr = g_list_previous(_history_ptr); if (scroll_to((const char *)_history_ptr->data, FALSE)) { gtk_widget_set_sensitive(_w.button_back, TRUE); } } gtk_widget_set_sensitive(_w.button_next, _history_ptr != g_list_first(_history)); } void HelpWindow::history_back(void) { if (_history_ptr != g_list_last(_history)) { _history_ptr = g_list_next(_history_ptr); if (scroll_to((const char *)_history_ptr->data, FALSE)) { gtk_widget_set_sensitive(_w.button_next, TRUE); } } gtk_widget_set_sensitive(_w.button_back, _history_ptr != g_list_last(_history)); } void HelpWindow::insert_ref(const char *name) { gtk_text_buffer_create_mark(_w.text_buffer, name, &iter, TRUE); } void HelpWindow::insert_text(const char *text, GtkTextTag *tag) { GtkTextTag *tags[7]; tags[0] = tags[1] = tags[2] = tags[3] = tags[4] = tags[5] = tags[6] = NULL; int i = 0; if (parse_flags & PARSE_FLAGS_BOLD) tags[i++] = _w.tag_bold; if (parse_flags & PARSE_FLAGS_ITALIC) tags[i++] = _w.tag_italic; if (parse_flags & PARSE_FLAGS_UNDERLINE) tags[i++] = _w.tag_underline; if (parse_flags & PARSE_FLAGS_CENTER) tags[i++] = _w.tag_center; if (parse_flags & PARSE_FLAGS_MONOSPACE) tags[i++] = _w.tag_monospace; if (_w.tag_size[text_size + 3] != NULL) tags[i++] = _w.tag_size[text_size + 3]; if (tag != NULL) tags[i++] = tag; gtk_text_buffer_insert_with_tags(_w.text_buffer, &iter, text, -1, tags[0], tags[1], tags[2], tags[3], tags[4], tags[5], tags[6], NULL); } void HelpWindow::insert_image(const char *name) { string datadir(kcemu_datadir); string docdir = datadir + "/doc/"; string filename = docdir + name; GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(filename.c_str(), NULL); if (pixbuf == NULL) return; gtk_text_buffer_insert_pixbuf(_w.text_buffer, &iter, pixbuf); } void HelpWindow::insert_link(const char *text, const char *ref) { GtkTextTag *tag = gtk_text_buffer_create_tag(_w.text_buffer, NULL, "foreground", "blue", "underline", PANGO_UNDERLINE_SINGLE, NULL); g_object_set_data(G_OBJECT(tag), "ref", (gpointer)strdup(ref)); insert_text(text, tag); } gboolean HelpWindow::scroll_to(const char *topic, gboolean update_history) { GtkTextMark *mark = gtk_text_buffer_get_mark(_w.text_buffer, topic); if (mark == NULL) { const char *fallback_topic = "home"; DBG(1, form("KCemu/Help/help", "help-topic not found: '%s' (reverting to topic '%s')\n", topic, fallback_topic)); mark = gtk_text_buffer_get_mark(_w.text_buffer, fallback_topic); if (mark == NULL) { DBG(1, form("KCemu/Help/help", "help-topic not found: '%s'\n", fallback_topic)); return FALSE; } } if (update_history) { while (_history_ptr != _history) { g_free(_history->data); _history = g_list_delete_link(_history, _history); } if ((_history == NULL) || (strcmp((const char *)_history->data, topic) != 0)) _history = g_list_prepend(_history, g_strdup(topic)); _history_ptr = _history; gtk_widget_set_sensitive(_w.button_back, _history_ptr != g_list_last(_history)); gtk_widget_set_sensitive(_w.button_next, FALSE); } DBG(1, form("KCemu/Help/history", "history: ---top-\n")); for (GList *ptr = _history;ptr != NULL;ptr = g_list_next(ptr)) { DBG(1, form("KCemu/Help/history", "history: %s%s\n", ptr == _history_ptr ? "->" : " ", ptr->data)); } gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(_w.text_view), mark, 0, true, 0.0, 0.0); return TRUE; } /* * Looks at all tags covering the position of iter in the text view, * and if one of them is a link, follow it by showing the page identified * by the data attached to it. */ void HelpWindow::follow_if_link(GtkWidget *text_view, GtkTextIter *iter) { GSList *tags = NULL, *tagp = NULL; tags = gtk_text_iter_get_tags (iter); for (tagp = tags;tagp != NULL;tagp = tagp->next) { GtkTextTag *tag = (GtkTextTag *)tagp->data; const char *ref = (const char *)g_object_get_data(G_OBJECT(tag), "ref"); if (ref != NULL) { DBG(1, form("KCemu/Help/help", "follow link to ref: '%s'\n", ref)); scroll_to(ref, TRUE); } } if (tags) g_slist_free (tags); } /* * Looks at all tags covering the position (x, y) in the text view, * and if one of them is a link, change the cursor to the "hands" cursor * typically used by web browsers. */ void HelpWindow::set_cursor_if_appropriate(GtkTextView *text_view, gint x, gint y) { GSList *tags = NULL, *tagp = NULL; GtkTextBuffer *buffer; GtkTextIter iter; gboolean hovering = FALSE; buffer = gtk_text_view_get_buffer(text_view); gtk_text_view_get_iter_at_location(text_view, &iter, x, y); tags = gtk_text_iter_get_tags(&iter); for (tagp = tags;tagp != NULL;tagp = tagp->next) { GtkTextTag *tag = (GtkTextTag *)tagp->data; const char *ref = (const char *)g_object_get_data(G_OBJECT(tag), "ref"); if (ref != NULL) { hovering = TRUE; break; } } if (hovering != _hovering_over_link) { _hovering_over_link = hovering; if (_hovering_over_link) gdk_window_set_cursor(gtk_text_view_get_window(text_view, GTK_TEXT_WINDOW_TEXT), _hand_cursor); else gdk_window_set_cursor(gtk_text_view_get_window(text_view, GTK_TEXT_WINDOW_TEXT), _regular_cursor); } if (tags) g_slist_free (tags); } gboolean HelpWindow::context_help_idle_start(gpointer data) { UI_Gtk_Window *w = (UI_Gtk_Window *)data; if (!gtk_grab_get_current ()) { GtkWidget *invisible = gtk_invisible_new_for_screen(gtk_widget_get_screen(w->get_window())); gtk_widget_show(invisible); GdkCursor *cursor = gdk_cursor_new_for_display(gtk_widget_get_display(invisible), GDK_QUESTION_ARROW); GdkGrabStatus status = gdk_pointer_grab(invisible->window, TRUE, (GdkEventMask)(GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK), NULL, cursor, GDK_CURRENT_TIME); gdk_cursor_unref(cursor); if (status != GDK_GRAB_SUCCESS) { gtk_widget_destroy (invisible); return FALSE; } gtk_grab_add(invisible); g_signal_connect(invisible, "button_press_event", G_CALLBACK(context_help_button_press), w); } return FALSE; } gboolean HelpWindow::context_help_button_press(GtkWidget *widget, GdkEventButton *bevent, gpointer data) { UI_Gtk_Window *w = (UI_Gtk_Window *)data; GtkWidget *help_widget = gtk_get_event_widget((GdkEvent *)bevent); if (help_widget && (bevent->button == 1) && (bevent->type == GDK_BUTTON_PRESS)) { gtk_grab_remove(widget); gdk_display_pointer_ungrab(gtk_widget_get_display(widget), bevent->time); gtk_widget_destroy(widget); if (help_widget != widget) sf_help_recursive(help_widget, w); } return TRUE; } KCemu-0.5.1/src/ui/gtk/ui_gtk9.cc0000644000175000017500000000403612417262523016627 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_9.h" #include "ui/gtk/ui_gtk9.h" UI_Gtk9::UI_Gtk9(void) : UI_Gtk_Base(new UI_9()) { _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 240)); /* blue */ _colors.push_back(UI_Color(false, 120)); /* green */ _colors.push_back(UI_Color(false, 180)); /* cyan */ _colors.push_back(UI_Color(false, 0)); /* red */ _colors.push_back(UI_Color(false, 300)); /* magenta */ _colors.push_back(UI_Color(false, 60)); /* yellow */ _colors.push_back(UI_Color(false, 0xd0, 0xd0, 0xd0)); /* white */ // saturation_fg *= 0.80; // brightness_fg = 1.0; // black_level = 0.40; // white_level = 1.0; _colors.push_back(UI_Color(true, 0x20, 0x20, 0x20)); /* black */ _colors.push_back(UI_Color(true, 240)); /* blue */ _colors.push_back(UI_Color(true, 120)); /* green */ _colors.push_back(UI_Color(true, 180)); /* cyan */ _colors.push_back(UI_Color(true, 0)); /* red */ _colors.push_back(UI_Color(true, 300)); /* magenta */ _colors.push_back(UI_Color(true, 60)); /* yellow */ _colors.push_back(UI_Color(true, 0xff, 0xff, 0xff)); /* white */ } UI_Gtk9::~UI_Gtk9(void) { } KCemu-0.5.1/src/ui/gtk/thanks.cc0000644000175000017500000000325712417262523016550 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/gtk/cmd.h" #include "ui/gtk/thanks.h" class CMD_thanks_window_toggle : public CMD { private: ThanksWindow *_w; public: CMD_thanks_window_toggle(ThanksWindow *w) : CMD("ui-thanks-window-toggle") { _w = w; register_cmd("ui-thanks-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; ThanksWindow::ThanksWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _cmd = new CMD_thanks_window_toggle(this); } ThanksWindow::~ThanksWindow(void) { delete _cmd; } void ThanksWindow::init(void) { _window = get_widget("thanks_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-thanks-window-toggle"); // FIXME: init_dialog("ui-thanks-window-toggle", NULL); } KCemu-0.5.1/src/ui/gtk/ui_gtk3.cc0000644000175000017500000000514512417262523016623 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_3.h" #include "ui/gtk/ui_gtk3.h" #include "libdbg/dbg.h" UI_Gtk3::UI_Gtk3(void) : UI_Gtk_Base(new UI_3()) { _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 240)); /* blue */ _colors.push_back(UI_Color(false, 0)); /* red */ _colors.push_back(UI_Color(false, 300)); /* magenta */ _colors.push_back(UI_Color(false, 120)); /* green */ _colors.push_back(UI_Color(false, 180)); /* cyan */ _colors.push_back(UI_Color(false, 60)); /* yellow */ _colors.push_back(UI_Color(false, 0xe0, 0xe0, 0xe0)); /* white */ _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 260)); /* blue + 30° */ _colors.push_back(UI_Color(false, 20)); /* red + 30° */ _colors.push_back(UI_Color(false, 320)); /* magenta + 30° */ _colors.push_back(UI_Color(false, 140)); /* green + 30° */ _colors.push_back(UI_Color(false, 210)); /* cyan + 30° */ _colors.push_back(UI_Color(false, 90)); /* yellow + 30° */ _colors.push_back(UI_Color(false, 0xe0, 0xe0, 0xe0)); /* white */ _colors.push_back(UI_Color(true, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(true, 240)); /* blue */ _colors.push_back(UI_Color(true, 0)); /* red */ _colors.push_back(UI_Color(true, 300)); /* magenta */ _colors.push_back(UI_Color(true, 120)); /* green */ _colors.push_back(UI_Color(true, 180)); /* cyan */ _colors.push_back(UI_Color(true, 60)); /* yellow */ _colors.push_back(UI_Color(true, 0xe0, 0xe0, 0xe0)); /* white */ } UI_Gtk3::~UI_Gtk3(void) { } Scanline * UI_Gtk3::get_scanline(void) { return &_scanline; } MemAccess * UI_Gtk3::get_mem_access(void) { return &_memaccess; } KCemu-0.5.1/src/ui/gtk/kc851_keyboard.xpm0000644000175000017500000132575412417262523020224 0ustar glaubitzglaubitz/* XPM */ static char *kc851_keyboard[] = { /* width height num_colors chars_per_pixel */ " 721 256 85 2", /* colors */ ".. c #989993", ".# c #000000", ".a c #656662", ".b c #333331", ".c c #444442", ".d c #222221", ".e c #111111", ".f c #777773", ".g c #555552", ".h c #878883", ".i c #ffffff", ".j c #ff0000", ".k c #c75350", ".l c #ea1f1e", ".m c #fd0403", ".n c #a6857f", ".o c #272725", ".p c #979892", ".q c #31312f", ".r c #585855", ".s c #595956", ".t c #4b4b48", ".u c #595a56", ".v c #8b8c86", ".w c #7b7c77", ".x c #464744", ".y c #010101", ".z c #1a1a19", ".A c #52524f", ".B c #5d5e5a", ".C c #1b1c1b", ".D c #555652", ".E c #40413e", ".F c #84857f", ".G c #0b0b0a", ".H c #848580", ".I c #141413", ".J c #272826", ".K c #71726e", ".L c #050505", ".M c #60615d", ".N c #373836", ".O c #181817", ".P c #878882", ".Q c #232321", ".R c #71716d", ".S c #898a85", ".T c #62625f", ".U c #434341", ".V c #0e0e0d", ".W c #3e3e3c", ".X c #50504d", ".Y c #3d3e3b", ".Z c #0b0b0b", ".0 c #2f2f2e", ".1 c #080808", ".2 c #41413f", ".3 c #454542", ".4 c #1e1f1d", ".5 c #646460", ".6 c #111110", ".7 c #282827", ".8 c #72736f", ".9 c #747470", "#. c #858681", "## c #2e2f2d", "#a c #2a2b29", "#b c #8b8c87", "#c c #3f3f3d", "#d c #80807b", "#e c #3c3d3a", "#f c #6e6e6a", "#g c #757671", "#h c #83847f", "#i c #353533", "#j c #292927", "#k c #292928", "#l c #0d0d0c", "#m c #1f1f1e", "#n c #4c4c49", "#o c #53c750", "#p c #1fea1e", "#q c #04fd03", "#r c #84a77f", "#s c #00ff00", /* pixels */ "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.#.#...a.b.........b.#.a.....#.#.#.a.b...a.b...................................................#.#.#...a.#.#.#.b.b.#.#.a.................................................#.#.#.a.#.#.b...b.#.#.#.a.#.#.#.#.a.b...a.b...................................#.....#.a.#.#.#.b.b.a.......#.........a.#.b...b.a...b.a.....................................#.#.#...a.b.......b.a...b.a.#.#.#.#.....................................#.....#...a.#.b.....b.#.#.a.#.#.#.#.a.b...a.b.b.#.#.#.a...#.#.....................................#.#.#.a.b...a.b...b.#.a...#.....#.............................................#.....#.a.b...a.b.b.#.#.a...#.#.#.#.a.#.#.#.b..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.....#.a.b.......b.a...b.a.#.......a.b...a.b...................................................#.....#.a.b.......b.a...b.a.............................................#.......a.b...a.b.b.a.......#.......a.#.b.a.b...................................#.....#.a.b.......b.a.......#.......a.b...a.b.b.a...b.a.....................................#.....#.a.b.......b.a...b.a.#...........................................#.#.#.#.a.b...a.b.b.a.......#.......a.#.b.a.b.....b.a...#.....#.................................#.......a.b...a.b.b.a...b.a.#.#...#.............................................#.....#.a.b...a.b...b.a.........#...a.b........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.....#.a.b.......b.a...b.a.#.......a.b.a.b.....................................................#.....#.a.b.......b.a...b.a.............................................#.......a.b...a.b.b.a.......#.......a.#.b.a.b...................................#.....#.a.b.......b.a.......#.......a.b...a.b.b.a...b.a.....................................#.....#.a.b.......b.a...b.a.#...........................................#.#.#.#.a.b...a.b.b.a.......#.......a.#.b.a.b.....b.a...#.....#.................................#.......a.b...a.b.b.a...b.a.#.#...#.............................................#.....#.a.b...a.b...b.a.........#...a.b........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.b.b.a.a.b.......b.c.a.d.a.#.......a.e.c.f.....................................................#.a.a.b.a.e.b.g...b.a...b.a.............................................#...b.#.a.d.a.g.g.b.d.b.f...#.b.b...a.b.a.#.b...................................#.....#.a.e.b.g...b.a.......#.......a.b...a.b.b.a.f.d.a.....................................#.b.b.a.a.b.......b.a...b.a.#.b.b.......................................#.b...#.a.d.a.c.b.b.a.g.e.a.#.b.b...a.b.a.#.b.....b.a...#.a.a.#.................................#.......a.b...a.b.b.c.a.d.a.#...#.#.............................................#...a.#.a.e.b.d.b...b.a.........#...a.e.b.g....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.....#.a.b.......b.d.b.e.a.#.......a.b.f.c.f...................................................#.b.b.a.a.b.......b.a...b.a.............................................#.....#.a.e.b.c.f.b.a.......#.......a.b.f.d.b...................................b.a.a.#.a.b.......b.a.......#.......a.b...a.b.b.c.d.#.a.....................................#.....#.a.b.......b.a...b.a.#...........................................#.....#.a.e.b.d.b.b.a...b.a.#.......a.b.f.d.b.....b.a...#.b.b.#.................................#.......f.c.a.c.b.b.d.b.e.a.#...b.#.............................................#.a.#.#.a.b...a.b...b.a.........#...a.b........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.....#.a.b.......b.a...b.a.#.......a.b...a.b...................................................#.....#.a.b.......b.a...b.a.............................................#.....#.a.b...a.b.b.a.......#.......a.b...a.b.....................................b.b.#.a.b.......b.a.......#.......a.b...a.b.b.#.#.#.a.....................................#.....#.a.b.......b.a...b.a.#...........................................#.....#.a.b...a.b.b.a...b.a.#.......a.b...a.b.....b.a...#.....#.................................#.........f.b.d.b.b.a...b.a.#.....#.............................................#.#.#.#.a.b...a.b...b.a.........#...a.b........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.a.a.b.a.d.a.a.f.b.a...b.a.b.a.a.a.a.b...a.b...................................................#.....#.a.d.a.a.f.b.c.a.c.f.............................................b.a.a.#.a.b...a.b.b.c.a.a.h.#.a.a.a.a.b...a.b...................................a.a.a.b.a.d.a.a.f.b.c.a.a.h.#.a.a.a.f.c.a.g.g.b.d.b.e.a.....................................#.a.a.b.a.d.a.a.f.g.g.a.c.f.#.a.a.a.....................................#.....#.a.b...a.b.g.g.a.d.a.#.a.a.a.a.b...a.b.....b.a...#.....#.................................b.a.a.a.h.a.a.g.g.b.a...b.a.#.....#.............................................#.b.b.#.a.b...a.b.f.d.c.h.......#...a.d.a.a.f..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................b.b.b...f.b.b.b.g.g.f...g.f...b.b.b.f.g...f.g...................................................b.....b.f.b.b.b.g.g.b.b.f.................................................b.b.b.f.g...f.g.g.b.b.b.f.b.b.b.b.f.g...f.g...................................b.b.b...f.b.b.b.g.g.b.b.b.f.b.b.b.b...f.b.g...g.f...g.f.....................................b.b.b...f.b.b.b.g...g.b.f...b.b.b.b.....................................b.....b.f.g...f.g...g.b.b.f.b.b.b.b.f.g...f.g.....g.f...b.....b...................................b.b.b.f.b.b.g...g.f...g.f.b.....b.............................................b.....b.f.g...f.g.g.b.b.f.......b...f.b.b.b.g..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".............................................................................................................................................................................f.f...............................................................................a.h.h.a.........................................................................a.h.h.a.............................................................................b.b.......................................................................................................................................................................h.a.f.................................................................................f.f.................................................................................a.h...............................................................................a.h......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................#.a.a.#.........................................................................#.a.a.#...........................................................................b.e.e.b...............................................................................g.b.f...g.g...........................................................................d.c.e.f...............................................................................b.b...............................................................................g.d.h...............................................................................c.d......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................#.a.a.#.........................................................................#.a.a.#.......................................................................h.d.g.b.b.g.d.h.........................................................................a.#.a.#.h.d.g.........................................................................b.g...f.e...............................................................................b.b.............................................................................a.#.....................................................................................b.b.........................................................................................................................................................................................................................................................................................................................a.g.a.g.g.....a.g.a.g.g...f.g.......g.f.h.a.a.b.a.a.h......................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................#.a.a.#.....................................................................f.b.#.d.d.#.b.f...................................................................a.#...b.b...a.h.........................................................................h.d.d.c.a.#...........................................................................b.g...f.e.............................................................................f.e.f.............................................................................d.c.....................................................................................f.e.f.....................................................................................................................................................................................................................................................................................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b.......b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................................................................................................#.a.a.#.......................................................................f.e.f.b.b.......................................................................................#.a.............................................................................d.#.e.f...............................................................................................................................................................#.a.......................................................................................#.a.....................................................................................................................................................................................................................................................................................................................a.b.......g.f.a.b.......b.a.a.d.h.....b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................................................................................................#.a.a.#.........................................................................f.e.e.e.b...................................................................................g.d.h.............................................................................d.#.e.f.f.f...........................................................................................................................................................#.a.......................................................................................#.a.....................................................................................................................................................................................................................................................................................................................a.b...........a.b.......b.a.a.e.e.f...b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................................................................................................#.a.a.#.............................................................................b.b.g.d.h.............................................................................h.d.g...........................................................................h.d.g...f.e.e.f...........................................................................................................................................................#.a.......................................................................................#.a.....................................................................................................................................................................................................................................................................................................................a.b...........a.b.......b.a.a.b.f.e...b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................f.f...........................................................................................................................................................f.b.#.d.d.#.b.f.........................................................................b.b...#.a.............................................................................a.#.............................................................................a.#.......b.b.............................................................................................................................................................#.a.......................................................................................#.a.....................................................................................................................................................................................................................................................................................................................a.b...........a.b.......b.a.a.b...h.e.e.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................f.f...............................................................................................................................................................#.a.a.#.......................................................................f.e.f.b.b.f.e.f.............................................................................#.a.c.d.d.h.....................................................................a.#.......b.b.............................................................................................................................................................a.#.....................................................................................b.b.......................................................................................................................................................................................................................................................................................................................a.b.......f.h.a.b.......b.a.a.b.....f.e.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................................................................................................#.a.a.#.........................................................................f.e.e.e.e.f.............................................................................g.d.h.#.a.#.a.....................................................................h.d.g...f.e.e.f...........................................................................................................................................................h.d.g.................................................................................f.e.f.......................................................................................................................................................................................................................................................................................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b.......b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................g.g...............................................................................................................................................................b.f.f.b.............................................................................b.b.................................................................................g.g...f.b.g...........................................................................b.b.b.f.f.f...............................................................................................................................................................b.f...............................................................................b.f.............................................................................f.b.b.b.b.b.b.f...............................................................................................................................................................................................................................g.d.b.d.c.....g.d.b.d.c...a.b.......b.a.......#............................................................................................................................................................................................................................................", "...................................................................................................................................................................................................................................................................................................................................................................................................................................f.f............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...........................................................a.g.a.g.g.....a.g.a.g.g...f.g.......g.f.h.a.a.b.a.a.h.f.c.a.a.g.g.................................................f.f...............................................................................a.a.a.a.........................................................................a.a.a.a...................................................................................a.h.........................................................................h.a.a.a.a.a.a.h.........................................................................a.a.a.a.f.......................................................................h.a.a.a.a.a.a.h.........................................................................a.a.a.a.............................................................................a.a.a.a.............................................................................a.a.a.a.............................................................................f.a.a.a.a.....................................................................................................................................f.c.a.a.g.g.....a.g.a.g.g...f.g.......g.f...a.g.a.g.g...f.c.a.a.a.a.h.............................................................................................f.c.a.a.g.g...f.c.a.a.a.a.h...a.g.a.g.g...f.c.a.a.a.a.h.h.a.a.b.a.a.h............................................................", ".........................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b.......b.a.......#.......a.b.....h.d.f.............................................f.e.b.............................................................................g.d.a.a.d.g.....................................................................g.d.a.a.d.g...............................................................................g.#.a.........................................................................a.#.a.a.a.a.a.h.......................................................................g.d.a.a.a.f.......................................................................a.#.a.a.a.a.#.a.......................................................................g.d.a.a.d.g.........................................................................g.d.a.a.d.g.........................................................................g.d.a.a.d.g.........................................................................f.e.a.a.a.d.g...................................................................................................................................a.b.....h.d.f.f.b.h...h.d.f.a.b.......b.a.f.b.h...h.d.f.a.b.......................................................................................................a.b.....h.d.f.a.b...........f.b.h...h.d.f.a.b.................#..................................................................", ".........................................................a.b.......g.f.a.b.......b.a.a.d.h.....b.a.......#.......a.b.......b.a...........................................f.e.e.b...........................................................................a.#.........#.a.................................................................f.b.........#.a...........................................................................c.d.#.a.........................................................................a.#.................................................................................a.#.................................................................................f.b.........#.a.....................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................a.#.........#.a.......................................................................#.a...f.a.a.#.a.................................................................................................................................a.b.......b.a.a.b.......b.a.a.b.......b.a.a.b...........a.b.......................................................................................................a.b.......b.a.a.b...........a.b...........a.b.................#..................................................................", ".........................................................a.b...........a.b.......b.a.a.e.e.f...b.a.......#.......a.b.....h.d.f...........................................f.f.b.b...........................................................................a.#.........#.a.............................................................................#.a.........................................................................g.d.h.#.a.........................................................................a.#.................................................................................a.#...........................................................................................g.d.h.....................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................a.#.......g.#.a.......................................................................#.a.f.e.a.a.#.a.................................................................................................................................a.b.....h.d.f.a.b.......b.a.a.b.......b.a.f.b.h.........a.b.......................................................................................................a.b.....h.d.f.a.b...........f.b.h.........a.b.................#..................................................................", ".........................................................a.b...........a.b.......b.a.a.b.f.e...b.a.......#.......a.e.b.b.d.c.................................................b.b.....................................................................................f.e.f...........................................................................f.e.f.......................................................................c.d.....#.a.........................................................................a.#.a.a.a.a.........................................................................a.#.a.a.a.a.................................................................................h.d.g.......................................................................f.e.f.....f.e.f.....................................................................a.#.........#.a.....................................................................a.#.....c.d.#.a.......................................................................#.a.#.a.....#.a.................................................................................................................................a.e.b.b.d.c...a.b.......b.a.a.b.......b.a...g.d.b.b.f...a.e.b.b.b.f...............................................................................................a.e.b.b.d.c...a.e.b.b.b.f.....g.d.b.b.f...a.e.b.b.b.f.........#..................................................................", ".........................................................a.b...........a.b.......b.a.a.b...h.e.e.a.......#.......a.d.d.g.....................................................b.b...................................................................................f.e.f.......................................................................f.b.b.e.f.......................................................................g.d.h.....#.a.........................................................................h.a.a.a.a.d.g.......................................................................a.#.a.a.a.d.g...............................................................................a.#...........................................................................f.e.b.b.e.f.......................................................................h.d.g.......#.a.....................................................................a.#...g.d.h.#.a.......................................................................#.a.#.a.....#.a.................................................................................................................................a.b...........a.d.a.a.a.d.a.a.b.......b.a.........h.d.f.a.b.......................................................................................................a.d.d.g.......a.b...................h.d.f.a.b.................#..................................................................", ".........................................................a.b.......f.h.a.b.......b.a.a.b.....f.e.a.......#.......a.b...d.f...................................................b.b.................................................................................f.e.f...............................................................................g.d.h...................................................................a.#.........#.a.....................................................................................#.a.....................................................................a.#.........#.a.............................................................................#.a.........................................................................h.d.g.....g.d.h.........................................................................b.b.b.b.#.a.....................................................................a.#.c.d.....#.a.......................................................................#.a.#.a.....#.a.................................................................................................................................a.b...........a.b.......b.a.a.b.......b.a...........b.a.a.b.......................................................................................................a.b...d.f.....a.b.....................b.a.a.b.................#..................................................................", ".........................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b.......b.a.......#.......a.b...h.b.g.................................................b.b...............................................................................f.e.f...................................................................................#.a...................................................................a.#.........#.a.....................................................................................#.a.....................................................................a.#.........#.a...........................................................................g.d.h.........................................................................a.#.........#.a.................................................................................#.a.....................................................................a.#.d.h.....#.a.......................................................................#.a.c.d.....#.a.................................................................................................................................a.b...........a.b.......b.a.f.b.h...h.d.f.h.g.h...h.d.f.a.b.......................................................................................................a.b...h.b.g...a.b...........h.g.h...h.d.f.a.b.................#..................................................................", "...........................................................g.d.b.d.c.....g.d.b.d.c...a.b.......b.a.......#.......a.b.....h.d.f...............................................b.b.............................................................................f.e.f.........................................................................h.a.........#.a...................................................................f.b.b.b.b.b.#.a.........................................................................h.a.........#.a.....................................................................a.#.........#.a...........................................................................b.b...........................................................................a.#.........#.a.................................................................................#.a.....................................................................a.#.........#.a.......................................................................#.a...g.b.b.b.f.................................................................................................................................a.b...........a.b.......b.a...g.d.b.d.c.....g.d.b.d.c...a.e.b.b.b.b.f.............................................................................................a.b.....h.d.f.a.e.b.b.b.b.f...g.d.b.d.c...a.e.b.b.b.b.f.......#..................................................................", ".............................................................................................................................................................................b.b...........................................................................f.e.f...........................................................................h.d.g.....g.d.h...............................................................................#.a.........................................................................h.d.g.....g.d.h.....................................................................h.d.g.....g.d.h...........................................................................b.b...........................................................................h.d.g.....g.d.h...............................................................................g.d.h.....................................................................h.d.g.....g.d.h.......................................................................c.d................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".........................................................................................................................................................................g.b.b.b.b.g.......................................................................f.b.b.b.b.b.b.f.....................................................................b.b.b.b...................................................................................b.f.............................................................................b.b.b.b.............................................................................b.b.b.b...............................................................................g.g...............................................................................b.b.b.b...........................................................................g.b.b.b.b.............................................................................b.b.b.b.............................................................................g.b.b.b.b.b.f....................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.c.a.a.g.g...f.c.a.a.a.a.h.f.g......................................................................................................................................................................................................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.....h.d.f.a.b...........a.b......................................................................................................................................................................................................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.b...........a.b...............................................................................................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.b...........a.b...............................................................................................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.e.b.b.b.f...a.b...............................................................................................................................#.#.................................................#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.b...........a.b...............................................................................................................................#.#.................................................#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.b...........a.b...............................................................................................................................#.#.................................................#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.....h.d.f.a.b...........a.b...............................................................................................................................#.#.................................................#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.e.b.b.d.c...a.e.b.b.b.b.f.a.e.b.b.b.b.f.....................................................................................................................#.#.................................................#.#................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.................................................#.#................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#...................k.l.m.m.l.k...................#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#...............n.l.j.j.j.j.j.j.l.n...............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#...............l.j.j.j.j.j.j.j.j.l...............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............k.j.j.j.j.j.j.j.j.j.j.k.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............l.j.j.j.j.j.j.j.j.j.j.l.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............m.j.j.j.j.j.j.j.j.j.j.m.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............m.j.j.j.j.j.j.j.j.j.j.m.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............l.j.j.j.j.j.j.j.j.j.j.l.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............k.j.j.j.j.j.j.j.j.j.j.k.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#...............l.j.j.j.j.j.j.j.j.l...............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#...............n.l.j.j.j.j.j.j.l.n...............#.#................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#...................k.l.m.m.l.k...................#.#................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.................................................#.#................................................................", "...........................................................a.g.a.g.g.....a.g.a.g.g...f.g.............a.g.a.g.g...f.c.a.a.g.g.............................................a.a.a.a.........................................................................a.h.........a.h.....................................................................h.a.a.a.a.a.a.h.....................................................................h.a.a.a.a.a...........................................................................h.a.a.a.a.a.a.h...................................................................h.a.a.a.a.a.a.h.....................................................................h.a.........a.h.........................................................................a.a.a.a...............................................................................a.a.a.a.........................................................................h.a.a.a.a.a.......................................................................................................................................................................................................................................h.a.b.a.h...f.g.......g.f...a.g.a.g.g.........................................f.g.............h.a.b.a.h.....a.g.a.g.g...h.a.a.b.a.a.h.........................#.#.................................................#.#................................................................", ".........................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b...........f.b.h...h.d.f.a.b.....h.d.f.........................................g.d.a.a.d.g.......................................................................#.a.........#.a.....................................................................a.#.a.a.a.a.a.h.....................................................................a.#.a.a.a.d.g.........................................................................h.a.a.d.d.a.a.h...................................................................h.a.a.a.a.a.#.a.....................................................................a.#.........#.a.........................................................................a.d.d.a.............................................................................g.d.a.a.d.g.......................................................................a.#.a.a.a.d.g...............................................................................f.f.......................................................................................................................................................#.......a.b.......b.a.f.b.h...h.d.f.......................................a.b.................#.......f.b.h...h.d.f.......#...............................#.#.................................................#.#................................................................", ".........................................................a.b.......g.f.a.b.......b.a.a.b...........a.b.......b.a.a.b.......b.a.......................................a.#.........#.a.....................................................................#.a.........#.a.....................................................................a.#.................................................................................a.#.........#.a.............................................................................b.b.....................................................................................#.a.....................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#.........#.a...........................................................................f.e.e.f.....................................................................................................................................................#.......a.d.h.....b.a.a.b.................................................a.b.................#.......a.b.................#...............................#.#.................................................#.#................................................................", ".........................................................a.b...........a.b.......b.a.a.b...........a.b.......b.a.a.b.....h.d.f.......................................a.#.........#.a.....................................................................#.a.........#.a.....................................................................a.#.................................................................................a.#.........#.a.............................................................................b.b...................................................................................g.d.h.....................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#.........#.a.........................................................................f.e.f.f.e.f...................................................................................................................................................#.......a.e.e.f...b.a.f.b.h...............................................a.b.................#.......f.b.h...............#...............................#.#.................................................#.#................................................................", ".........................................................a.b...........a.b.......b.a.a.b...........a.b.......b.a.a.e.b.b.d.c.........................................a.#.........#.a.....................................................................#.a.........#.a.....................................................................a.#.................................................................................a.#.......f.e.f.............................................................................b.b.................................................................................c.d.........................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#.......f.e.f.......................................................................f.e.f.....f.e.f.................................................................................................................................................#.......a.b.f.e...b.a...g.d.b.b.f.........................................a.b.................#.........g.d.b.b.f.........#...............................#.#.................................................#.#................................................................", ".........................................................a.b...........a.b.......b.a.a.b...........a.b.......b.a.a.d.d.g.............................................a.#.........#.a.....................................................................#.a.........#.a.....................................................................a.#.b.b.b.b.........................................................................a.#.b.b.b.e.f...............................................................................b.b...............................................................................g.d.h.........................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#.b.b.b.e.f.........................................................................................................................................................................................................................................#.......a.b...h.e.e.a.........h.d.f.......................................a.b.................#...............h.d.f.......#...............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#................................................................", ".........................................................a.b.......f.h.a.b.......b.a.a.b...........a.b.......b.a.a.b...d.f...........................................a.#.........#.a.....................................................................#.a.h.d.f...#.a.....................................................................a.#.................................................................................a.#.d.c.....................................................................................b.b.............................................................................c.d.............................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#...................................................................................................................................................................................................................................................#.......a.b.....f.e.a...........b.a.......................................a.b.................#.................b.a.......#...............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#................................................................", ".........................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b...........f.b.h...h.d.f.a.b...h.b.g.........................................a.#.........#.a.....................................................................#.a.d.c.e.f.#.a.....................................................................a.#.................................................................................a.#.h.d.g...................................................................................b.b...........................................................................g.d.h.............................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#...................................................................................................................................................................................................................................................#.......a.b.......b.a.h.g.h...h.d.f.......................................a.b.................#.......h.g.h...h.d.f.......#......................................................................................................................................................", "...........................................................g.d.b.d.c.....g.d.b.d.c...a.e.b.b.b.b.f...g.d.b.d.c...a.b.....h.d.f.......................................a.#...f.f...#.a.....................................................................#.#.g...f.e.#.a.....................................................................a.#.................................................................................a.#.....d.c.................................................................................b.b.........................................................................a.#.................................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#...............................................................................................................................................................................................................................................f.b.#.b.f...a.b.......b.a...g.d.b.d.c.........................................a.e.b.b.b.b.f...f.b.#.b.f.....g.d.b.d.c.........#......................................................................................................................................................", ".....................................................................................................................................................................h.d.g.f.e.b.d.h.....................................................................#.c.......f.#.a.....................................................................a.#.................................................................................a.#.....h.d.g...............................................................................b.b.........................................................................a.#.................................................................................h.d.g.....g.d.h...........................................................................b.b.............................................................................h.d.g.....g.d.h.....................................................................a.#....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".........................................................................................................................................................................b.b.b.e.f.......................................................................g...........f.f.....................................................................f.b.b.b.b.b.b.f.....................................................................f.b.........b.f.............................................................................g.g.........................................................................f.b.b.b.b.b.b.f.........................................................................b.b.b.b.............................................................................b.b.b.b...............................................................................b.b.b.b.........................................................................f.b....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...............................................................................................................................................................................f.e.f..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.g.......................................................................................................................................a.g.a.g.g...f.c.a.a.g.g...........f.g...........f.g.......g.f..................................................................................................................................................................................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.a.......f.f...............................................................................h.d.g.....................................................................................................................................f.b.h...h.d.f.a.b.....h.d.f.........a.b...........a.b.......b.a..................................................................................................................................................................................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.d.g...f.e.f...............................................................................a.#.......................................................................................................................................a.b.......g.f.a.b.......b.a.........a.b...........a.d.h.....b.a..................................................................................................................................................................................................................................", "...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................d.c.e.f.................................................................................#.a.......................................................................................................................................a.b...........a.b.....h.d.f.........a.b...........a.e.e.f...b.a..................................................................................................................................................................................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.b.d.#.e.b.g.............................................................................g.d.h.......................................................................................................................................a.b...........a.e.b.b.d.c...........a.b...........a.b.f.e...b.a..................................................................................................................................................................................................................................", "...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................c.d.d.h.............................................................................h.d.g.........................................................................................................................................a.b...........a.d.d.g...............a.b...........a.b...h.e.e.a..................................................................................................................................................................................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.d.h.c.d.............................................................................a.#...........................................................................................................................................a.b.......f.h.a.b...d.f.............a.b...........a.b.....f.e.a..................................................................................................................................................................................................................................", ".....................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.b.......g.g...........................................................................#.a...........................................................................................................................................f.b.h...h.d.f.a.b...h.b.g...........a.b...........a.b.......b.a..................................................................................................................................................................................................................................", ".....................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.d.h.............................................................................................................................................g.d.b.d.c...a.b.....h.d.f.........a.e.b.b.b.b.f.a.b.......b.a..................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.g..............................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.........................................a.a.a.a...............................................................................a.a.a.a.......................................................................h.a.a.a.a.a...........................................................................h.a.a.a.a.a.a.h.......................................................................a.a.a.a.........................................................................h.a.........a.h.............................................................................a.a.a.a.....................................................................h.a.........a.h.......................................................................h.a...................................................................................................................................................................................................................................................................................................................................f.c.a.a.a.a.h...a.g.a.g.g.....a.g.a.g.g.......................................................................................................................................f.c.a.a.g.g...f.g.......g.f.f.g.......g.f..............................................................", ".....................................................#.#.....................................................................#.#.......................................g.d.a.a.d.g...........................................................................g.d.a.a.d.g.....................................................................a.#.a.a.a.d.g.........................................................................a.#.a.a.a.a.a.h.....................................................................g.d.a.a.d.g.......................................................................a.#.........#.a.............................................................................a.d.d.a.....................................................................a.#.......g.d.h.......................................................................a.#.......................................................................................................................................................................a.a.a.a.....................................................................................................................................................a.b...........f.b.h...h.d.f.f.b.h...h.d.f.....................................................................................................................................a.b.....h.d.f.a.b.......b.a.a.b.......b.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.........#.a.......................................................................a.#.........b.f...................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.....................................................................a.#.........#.a...............................................................................b.b.......................................................................a.#.....c.d...........................................................................a.#.....................................................................................................................................................................g.d.a.a.d.g...................................................................................................................................................a.b...........a.b...........a.b.......g.f.....................................................................................................................................a.b.......b.a.a.b.......b.a.a.d.h.....b.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........a.h.....................................................................a.#.........#.a...............................................................................b.b.......................................................................a.#...g.d.h...........................................................................a.#.......................................................................................g.g.........................................................................a.#.........#.a.................................................................................................................................................a.b...........f.b.h.........a.b...............................................................................................................................................a.b.....h.d.f.a.b.......b.a.a.e.e.f...b.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.........#.a.......................................................................f.e.f.............................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.................................................................................a.#.........#.a...............................................................................b.b.......................................................................a.#.c.d...............................................................................a.#.......................................................................................b.b.........................................................................a.#.........#.a.................................................................................................................................................a.e.b.b.b.f.....g.d.b.b.f...a.b...............................................................................................................................................a.e.b.b.d.c...a.b.......b.a.a.b.f.e...b.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.........#.a.........................................................................f.e.b.b.b.......................................................................a.#.........#.a.......................................................................a.#.b.b.b.b.......................................................................a.#.....b.b.b.f.....................................................................a.#.b.b.b.b.#.a...............................................................................b.b.......................................................................a.#.d.h...............................................................................a.#.......................................................................................f.f.................................................................................h.d.g...................................................................................................................................................a.b...................h.d.f.a.b...............................................................................................................................................a.d.d.g.......a.b.......b.a.a.b...h.e.e.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.b.b.b.b.#.a.................................................................................g.d.h...................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.....................................................................a.#.........#.a...............................................................................b.b.......................................................................a.#.d.c...............................................................................a.#...........................................................................................................................................................................d.c.....................................................................................................................................................a.b.....................b.a.a.b.......f.h.....................................................................................................................................a.b...d.f.....a.b.......b.a.a.b.....f.e.a..............................................................", ".....................................................#.#.....................................................o...............#.#.....................................a.#.........#.a...................................................................................#.a...................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.....................................................................a.#.........#.a.......................................................................g.g.....b.b.......................................................................a.#.h.d.g.............................................................................a.#.........................................................................................................................................................................b.b.......................................................................................................................................................a.b...........h.g.h...h.d.f.f.b.h...h.d.f.....................................................................................................................................a.b...h.b.g...f.b.h...h.d.f.a.b.......b.a..............................................................", ".....................................................#.#...........p.................p.............................p.........#.#.....................................a.#.........#.a.......................................................................h.a.........#.a...................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.....................................................................a.#.........#.a.......................................................................b.b.....b.b.......................................................................a.#.....d.c...........................................................................a.#.......................................................................................b.b...............................................................................f.f.......................................................................................................................................................a.e.b.b.b.b.f...g.d.b.d.c.....g.d.b.d.c.......................................................................................................................................a.b.....h.d.f...g.d.b.d.c...a.b.......b.a..............................................................", ".....................................................#.#...q.r.s.....t.r.u.v...w.s.r.x.p.y.r.z.p.A.....B...v.C.D...E.r.u.F...#.#.....................................a.#.........#.a.......................................................................h.d.g.....g.d.h...................................................................a.#.......g.d.h.......................................................................a.#...............................................................................h.d.g.....g.d.h.....................................................................a.#.........#.a.......................................................................f.e.f.f.e.f.......................................................................a.#.....h.d.g.........................................................................a.#.......................................................................................b.b...............................................................................f.f............................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.........G...H.....I...J.....K...L.......g.....M.....N.....w.....O...#.#.....................................f.b.........b.f...........................................................................b.b.b.b.......................................................................f.b.b.b.b.b...........................................................................f.b...................................................................................b.b.b.b.........................................................................f.b.........b.f.........................................................................f.b.b.f.........................................................................f.b.........b.f.......................................................................f.b.b.b.b.b.b.f.............................................................................................................................................................b.b............................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.............P.....Q...J.....R...L...S...g.....M.....N.....w.........#.#...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.g............................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....T.U.V...W.X.Y.....Z.U.U.0...1.U.2...s.3.4.5.....N.....w.........#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.........6...H.K.......7.....8...L.......g.....M.....N.....w.........#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.........z...H...g.....J.....R...L.......g.....M.....N.....9.....d...#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#..#.###a.p..#b...p#c...A....#d..#e......#f....#g..#h#i#j....###k.....#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.f.........................................................................h.a........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f.........................................................................h.d.g...................................................................................f.f................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f...............................................................................d.c.................................................................................b.b.........................................................................................................................................................................................................................................................................#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f.................................................................................h.d.g...............................................................................b.b.................................................................................................................................................................................................................................................................#.......#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f.......................................................................................d.c.......................................................................f.b.b.e.e.b.b.f.......................................................................f.b.b.b.b.b.b.f.....................................................................................................................................................................##l.....#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f.........................................................................................h.d.g...........................................................................b.b.................................................................................................................................................................................................................................................................#.##m...#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.d.h.......................................................................................c.d.............................................................................b.b.................................................................................................................................................................................................................................................#.#.#.#.#.#.#.#.#.#.##k.#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................c.d.....................................................................................g.d.h.............................................................................g.g................................................................................................................................................................................................................................................#n#n#n#n#n#n#n#n.#.#.#...#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.d.h...............................................................................c.d.....................................................................................................................................................................................................................................................................................................................................................#.#.....#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................c.d.............................................................................g.d.h.....................................................................................................................................................................................................................................................................................................................................................#.......#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.g.........................................................................f.b.................................................................................................................................................................................................................................................................................................................................................................#.#....................................................................................................................................................................................................................................................", ".....................................................#.#............................#o#p#q#q#p#o.............................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#........................#r#p#s#s#s#s#s#s#p#r.........................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#........................#p#s#s#s#s#s#s#s#s#p.........................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#o#s#s#s#s#s#s#s#s#s#s#o.......................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#p#s#s#s#s#s#s#s#s#s#s#p.......................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#q#s#s#s#s#s#s#s#s#s#s#q.......................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#q#s#s#s#s#s#s#s#s#s#s#q.......................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#p#s#s#s#s#s#s#s#s#s#s#p.......................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#o#s#s#s#s#s#s#s#s#s#s#o.......................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#........................#p#s#s#s#s#s#s#s#s#p.........................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#........................#r#p#s#s#s#s#s#s#p#r.........................#.#...................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#............................#o#p#q#q#p#o.............................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....................................h.a.........a.h.......................................................................h.a.........a.h.........................................................................a.a.a.a.........................................................................h.a.........a.h.....................................................................h.a.a.a.a.a.........................................................................h.a.........a.h.....................................................................f...........h.h.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.........................................................................................................................................................a.g.a.g.g...h.a.a.b.a.a.h...a.g.a.g.g...f.c.a.a.g.g................................................................", ".....................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....................................a.#.........#.a.......................................................................a.#.........#.a.......................................................................g.d.a.a.d.g.......................................................................a.#.........#.a.....................................................................a.#.a.a.a.d.g.......................................................................a.#.........#.a.....................................................................e.f.........d.a.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.......#...............................................................................................................................................f.b.h...h.d.f.......#.......f.b.h...h.d.f.a.b.....h.d.f..............................................................", ".......................................................................................................................................................................b.b.....b.b...........................................................................b.b.....b.b.......................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................#.#.f...h.d.#.a.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#....#l.#...............................................................................................................................................a.b.................#.......a.b.......b.a.a.b.......b.a..............................................................", ".......................................................................................................................................................................f.e.f.f.e.f...........................................................................f.e.f.f.e.f.......................................................................a.#.........a.h.....................................................................h.d.g.....g.d.h.....................................................................a.#.........#.a.....................................................................a.#.g.......#.a.....................................................................#.c.e.f.d.c.#.a.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#..#m.#.#...............................................................................................................................................f.b.h...............#.......a.b.......b.a.a.b.....h.d.f..............................................................", ".........................................................................................................................................................................d.c.c.d...............................................................................d.c.c.d.........................................................................a.#...................................................................................b.b.....b.b.......................................................................a.#.......f.e.f.....................................................................a.#.d.c.....#.a.....................................................................#.a.f.e.g...#.a...................................................................................................................................................................................................................................................g.g...............................................................................................................................................................................................................................................#.##k.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................................g.d.b.b.f.........#.......a.b.......b.a.a.e.b.b.d.c................................................................", ".........................................................................................................................................................................h.d.d.h...............................................................................h.d.d.h.........................................................................a.#...................................................................................f.e.f.f.e.f.......................................................................a.#.b.b.b.e.f.......................................................................a.#.h.d.g...#.a.....................................................................#.a...f.....#.a...................................................................................................................................................................................................................................................b.b...............................................................................................................................................................................................................................................#.#...#.#.##n#n#n#n#n#n#n#n.......................................................................................................................................h.d.f.......#.......a.b.......b.a.a.b........................................................................", "...........................................................................................................................................................................b.b.................................................................................c.d.d.c.........................................................................a.#.....................................................................................#.a.a.#.........................................................................a.#.......g.d.h.....................................................................a.#.....d.c.#.a.....................................................................#.a.........#.a...................................................................................................................................................................................................................................................f.f...........................................................................f.b.b.b.b.b.b.f.....................................................................................................................................................#.#.....#.#.........................................................................................................................................................b.a.......#.......a.b.......b.a.a.b........................................................................", "...........................................................................................................................................................................b.b.................................................................................#.a.a.#.........................................................................a.#.....................................................................................c.d.d.c.........................................................................a.#.........#.a.....................................................................a.#.....h.d.#.a.....................................................................#.a.........#.a.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.......#...............................................................................................................................................h.g.h...h.d.f.......#.......f.b.h...h.d.f.a.b........................................................................", "...........................................................................................................................................................................b.b...............................................................................b.b.....b.b.......................................................................a.#.........#.a.........................................................................a.#.#.a.........................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................#.a.........#.a.................................................................................................................................................................f.f.................................................................................................................................................................................................................................................................................................................................#.#.........................................................................................................................................................g.d.b.d.c.........#.........g.d.b.d.c...a.b........................................................................", "...........................................................................................................................................................................................................................................................f.e.f.....f.e.f.....................................................................h.d.g.....g.d.h.........................................................................h.d.d.h.........................................................................a.#.......g.d.h.....................................................................a.#.........#.a.....................................................................#.a.........#.a.................................................................................................................................................................b.b...............................................................................b.b..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...........................................................................................................................................................................................................................................................f.b.........b.f.........................................................................b.b.b.b...............................................................................g.g...........................................................................f.b.b.b.b.b.........................................................................f.b.........b.f.....................................................................b.f.........b.f...........................................................................b.b...................................................................................g.g...............................................................................b.b...........................................................................f.b.b.b.b.b.b.f....................................................................................................................................................................................................................................................................................................................................................................................................................................", ".........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................b.b...................................................................................................................................................................h.d.g..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.d.g...................................................................................................................................................................h.a................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.a........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".................................................................a.g.a.g.g...f.g.......g.f...h.a.b.a.h...f.c.a.a.a.a.h.h.a.a.b.a.a.h.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.g.a.g.g...f.g.......g.f...h.a.b.a.h...f.c.a.a.a.a.h.h.a.a.b.a.a.h...............................................................................a.g.g.g...f.......g...h.a.b.h...f.c.a.a.a.h.a.a.b.a.h.......f.g...........a.a.g.g...a.g.a.g...f.g...h.c.h...................................................................................f.c.a.a.a.a.h.f.g.......g.f.h.a.a.b.a.a.h.f.c.a.a.a.a.h.f.c.a.a.g.g................................................................", "...............................................................f.b.h...h.d.f.a.b.......b.a.......#.......a.b.................#.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.b.h...h.d.f.a.b.......b.a.......#.......a.b.................#...................................................................................f.b.h.h.d.f.a.......b.......#.....a.b.............#...........a.b.........f.b...h.d.f.b.h...h.f.a.b...d.c.....................................................................................a.b...........a.b.......b.a.......#.......a.b...........a.b.....h.d.f..............................................................", "...............................................................a.b...........a.b.......b.a.......#.......a.b.................#.............................................................................................................................#...............................................................................................#............................................................................................................................................................................................................................................................................................................................................................................................................................#k....................................................................................#n.#.............................................................................................................................a.b...........a.b.......b.a.......#.......a.b.................#...................................................................................a.b.........a.......b.......#.....a.b.............#...........a.b.........a.b.....b.a.b.......f.a.b...g.......................................................................................a.b...........a.d.h.....b.a.......#.......a.b...........a.b.......b.a..............................................................", "...............................................................f.b.h.........a.b.......b.a.......#.......a.b.................#..........................................................................................................................#l.#...............................................................................................##l.........................................................................................................................................................................................................................................................................................................................................................................................................................#.##m..................................................................................#n.#.............................................................................................................................f.b.h.........a.b.......b.a.......#.......a.b.................#...................................................................................f.b.h.......a.......b.......#.....a.b.............#...........a.b.........a.b.....b.a.b.........a.d.d.........................................................................................a.b...........a.e.e.f...b.a.......#.......a.b...........a.b.....h.d.f..............................................................", ".................................................................g.d.b.b.f...a.e.b.b.b.e.a.......#.......a.e.b.b.b.f.........#........................................................................................................................#m.#.#...............................................................................................#.##m.....................................................................................................................................................................................................................................................................................................................................................................................................................#.#.#.##l................................................................................#n.#...............................................................................................................................g.d.b.b.f...a.e.b.b.b.e.a.......#.......a.e.b.b.b.f.........#.....................................................................................g.d.b.f...a.b.b.b.e.......#.....a.e.b.b.f.......#...........a.b.........a.b.....b.a.b.........a.#.c.........................................................................................a.e.b.b.b.f...a.b.f.e...b.a.......#.......a.e.b.b.b.f...a.e.b.b.d.c................................................................", ".......................................................................h.d.f.a.b.......b.a.......#.......a.b.................#......................................................................................................................#k.#.#.#.#.#.#.#.#.#.#.#...............................................................#.#.#.#.#.#.#.#.#.#.##k.................................................................................................................................................................................................................................................................................................................................................................................................................#.#.#.#.#.#.#..............................................................................#n.#.....................................................................................................................................h.d.f.a.b.......b.a.......#.......a.b.................#.........................................................................................h.d.f.a.......b.......#.....a.b.............#...........a.b.........a.b.....b.a.b.........a.d.d.........................................................................................a.b...........a.b...h.e.e.a.......#.......a.b...........a.d.d.g....................................................................", ".........................................................................b.a.a.b.......b.a.......#.......a.b.................#.........................................................................................................................#.#.##n#n#n#n#n#n#n#n..............................................................#n#n#n#n#n#n#n#n.#.#.#......................................................................................................................................................................................................................................................................................................................................................................................................................#n.#....................................................................................#n.#.......................................................................................................................................b.a.a.b.......b.a.......#.......a.b.................#...........................................................................................b.a.a.......b.......#.....a.b.............#...........a.b.........a.b.....b.a.b.......h.a.b...f.......................................................................................a.b...........a.b.....f.e.a.......#.......a.b...........a.b...d.f..................................................................", "...............................................................h.g.h...h.d.f.a.b.......b.a.......#.......a.b.................#...........................................................................................................................#.#...............................................................................................#.#........................................................................................................................................................................................................................................................................................................................................................................................................................#n.#....................................................................................#n.#.............................................................................................................................h.g.h...h.d.f.a.b.......b.a.......#.......a.b.................#...................................................................................h.g.h.h.d.f.a.......b.......#.....a.b.............#...........a.b.........f.b...h.d.f.b.h...h.f.a.b...b.g.....................................................................................a.b...........a.b.......b.a.......#.......a.b...........a.b...h.b.g................................................................", ".................................................................g.d.b.d.c...a.b.......b.a...f.b.#.b.f...a.b.................#.............................................................................................................................#...............................................................................................#..........................................................................................................................................................................................................................................................................................................................................................................................................................#n.#....................................................................................#n.#...............................................................................................................................g.d.b.d.c...a.b.......b.a...f.b.#.b.f...a.b.................#.....................................................................................g.d.d.c...a.......b...f.b.#.f...a.b.............#...........a.e.b.b.b.f...g.b.d.c...g.d.b.d...a.b...h.d.f...................................................................................a.e.b.b.b.b.f.a.b.......b.a.......#.......a.e.b.b.b.b.f.a.b.....h.d.f..............................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#n.#....................................................................................#n.#................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#n.#.................................................................................#.#.#.#.#.#.#..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#n.#...................................................................................#.#.#.##l............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#n.#.....................................................................................#.##m..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#n.#......................................................................................#k................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................." }; KCemu-0.5.1/src/ui/gtk/a5105_keyboard_pressed.png0000644000175000017500000001332112417262523021610 0ustar glaubitzglaubitz‰PNG  IHDRÐúç²sRGB®Îé‹IDATxÚíÝ_pSçÆñŸlYøL-#‹ÔXE øÄ^ e=§hº\lšÉE·Ít7Iógg<Ét3°Pf‡ìÅÎäfïÊ… C;;ëÝÍv“²Û’Ýtv†2KÚ$¥ÆvDIš"Ä6•!¶$CËvŒ1ދê*YÀ6GïyÏÑ÷sEå<ç}_ù¼OŽ$ãé;vTJ©‚)@á p  pP8…€Â(€Â@á@á p …P8…€Â(€Â@á  p …P8…€Â(7yÕG&S©½%“IËlÆžíϱ˜¶gPϪÝÁA‡‚!/•§ïØQT «f™ªÔ×lZÕ¥…£g×nsIŒX´dfÈœâÞýût>Ã?xAEYd‘¥$kÙ»ƒ½‡nCÖ½p$S©ž; K„-I¦¸÷¥KítŠÏ°ø§‹,²È"‹,mw{7݆ì€ÂavÀâ% ›,<~&—-žâet:ÅgxË ”,²È"‹,=w7 ‡¼lê>4Zx«xIÂ-­–<=: 6erÙh$|sŠ—þvšâ3$‹,²È"K}–µ¶(鯡ç—Íž¯ÅZ¾$æ¡,ì•*Ï,²È"‹,§ì*7ý‡ì€ÂQŠ%qôÉ"‹,²ÈrÊÅ\“,ýOC—Âʇ×ÞøüÔÔ‰“ý"âñxüuuÛÛýþºÂƒ¦v£­¥¹¹ð¿MžËd®_¿¾µûÁºÚZ– Ç]LÏÌô'ÁU«ïœ>ÝŸHìxîYóÁ@CCc "³³³ÅÿIßàà7Æ2™-›6Q8 p,–‹m‹Ç?>8•ÍMx«¼"ÒÛïî‘>_ñ“Ÿ}æé¾Á±L†Å€Â±Ó£o¼õö™³ç|>_ Ð0™Ï‹HßÀ`ßÀ ˆô<õdñ[*€Â±“ùüØøøºÖ֮͛kª«ÍÂÑÙѱeS§ˆ„‚AÖ Ç½ê0Ú¶Åã·<¸²ÞÿÿÞØÈML䧦DäÊÕ«>_ÕÊúzVÍ9ïk±ÿøÃë‘9rüÍ·XBôgóŽP0øâ {ó`ÁßîÚɲà,üâ/@á  p …P8(€Â(@áGŽôè0$‹,²È"ËqsM²ô? - G&—µvFÌC™‡uÜ’EYd‘å”ÝA寡ÿ—Ä«>rh$„3¹l(Ødᘓ;4’^ö ÃH&“ŠÏ,²È"‹,•Y†aX¸£•zãÐpÈËæé;vTMR÷Cßy,*"ÑH¸UFD’©!ó—:´ÃG^ùÞ÷_Vy†d‘EYd)ÎúÎ_=óأ߲êÈÉTªgÇÎ’žü½¹÷¥F,VŽ…£°0¥PüÚ]FáøÙ›ƒfWUs†*gƒ,²È"‹,Ã0¾ú•. ‡ˆôìÚ]êã‡Ü»_™ÞáPf…#^ûƒþØ|éÜÄ0Œo?õÍ‘ôEk G2•Ú{ðž‡a{¶?¯Ãí ±å3šëÝ¿OçW`Ùûnÿà ë‹i¸qhU5ì,*oÐ-ûÕ³È'««ˆ,²È"‹,“²›ôËØ8ôÿ û GI?dÄ¢–tÍÇEYd‘E–cî¯0"¢þ3Åó 6Yxüâo™³¿¼Ïp|©ëËš‹,²È"‹¬å]çûOXþçîzî¿ÃQ<ïá–VKŽ™›2¹l4¾—_Åá”q‘EYd‘å̆ɞß4jí¼emyÔ|\d‘EYd9³!6þ]*Î{‰¨ÿ¸È"‹,²Èr fÃæ¯Å槦NœìÇã¯«ÛØÞî÷×4µm-ÍÍæŸ§¦§ßùõéÜ•‰ÊŠJãþØýë× ÐžÍ=ýôÌL"ñÁÈðÕ>úʼnÿðòËsss惩>È]¹’»revv¶ðüL6;ò»ßÇ2™ÃG^»˜N³„èO‹_üeÄbÛâñ£Ç$NesÞ*¯ˆ´Å6Ä»»Ed…ÏWxæÚpø/ŸX+"«C¡í?¯\½º6f pÜÝÅôèo½}æì9ŸÏ4Læó"Ò70Ø70("=O=YxK¥¢¢BDæææ§êý~ÞR€Â±X“ùüØøøºÖ֮͛kª«ÍÂÑÙѱeS§ˆ„‚Áâ'OOO¿ú“#SÓÓÏ<þxmm-K…cQ:Œ¶mñø-®¬÷nlW“yõG333<ô§“ù¼×[ù¹•+YE(VÏf¯\½*"?yý§"²-¾Õüœ pÜV(|ñ…=‹yд¾µõvÿ P8éÂÄ™÷ÇÇ'/‰Èêú5«»Ö¯z€imÝHž½‘H,\¾,"žææŠ-[*Œ6¦…¡{Ûx=ù¯#WS×ççDÄ›©ºrökÆÓtжm\õÕç/ÈÜœˆHUUE*å}â :‡*˜‚Ûy|päjjnþÚ‚,,ÈÂÜüµ‘«©÷Ç™дp$7Î_k×daAäÚµç/ÜH$˜ ‡ÖÆ'/™÷6 ®ÏÏ™o¯4´pùòÍ{ssæÛ+ p G[]¿Æ[YUüˆ·²juýfôäin–ª?¸nKU•ç3¿Ò ½t¬îŠbU•>x<⩪ôE±ŽÕ]Ì hº¥mÙR±a½ø|âñˆÇ#>_ņõ[¶03:à[*·µ~Õ_3žæk±à˜Âa´yŸx‚¯ÅR8Ù9hà¬ÎAÃÐti˜@á  p €s GztXóê?.²È"‹,²œ‚Ù°§pdrYk'Ë<”yX©Yd‘EYNÁlˆ-¿økh$„3¹l(Ødáì›ó>4’¶k*UŽ‹,²È"‹,§`6Lž¾cGÕ$u?ô°ù#‘h$\ŠE‘djÈüÇ¥íð‘W"áµ_êú²æã"‹,²È"ky×ùþÁ#é‹=ú-v½²(…Ù/…âW¼â¡l\d‘EYd-ã:ß?xÂüÃR¯ónÝõÊ¢p¨¡¾p3 ãÛO}s‘O¾ÇÛÉTjïÁCÉdÒé3¶gûóF,¦8—¿¼ à`Édò;÷÷†a|õ+]w~f$¼vÙmÃU£0c=;vª¯ö•·õÜ1®ÅŒ”³d‘EVÙf™U wÿ¾EÚ†›flïÁC¥›±ÏâC£¿§í‡Fï:Rá£gd‘EY"½/(Åÿ²'S©ž;™1‡Žâ ›,<~ñ„ÌyTY8J7®ÅŒT嬒EYdi›eF)þ—½g×îd2ÉŒÝ#ÞR)žÁpK«%ÇL‡‚M™\6 Ûõ¥äRŒkñ#U9«d‘EYzf•è3…Ã2c÷žß4jù®lªÔ·ÔkI#U9«d‘EY:g¹cÿrÙ^iÛߥbù®\Òm^«Ó¸C„ÊY%‹,²ÈÒ9Ëû—›öJ›¿›Ÿš:q²_D<¿®nc{»ß_WxÐÔn´µ47›ž››{óį>úøãÊÊÊu­‘íí´gsᘞ™éO$‚«Wß9}º?‘Øñܳ惆†Æ@@Dfgg Ï¿víZ~z*ÔÔtîÂùßœ9SW[»®µ•U€ÂqwF,¶-?züø@âT67á­òŠH[lC¼»[DVø|…gÖÕÕ}ý‘GD¤ºzŇcã‡%€Â±(Ó£o¼õö™³ç|>_ Ð0™Ï‹HßÀ`ßÀ ˆô<õdá-óɇùtvvC4DXB(‹2™Ï¯kmíÚ¼¹¦ºÚ,[6uŠH(,~ró}«Ÿyâñ3gÏýòäÉSï¾÷Åά"Ž»ë0Ú¶Åã·<¸²Þ_|cÔ›˜XXXhlh4|ND¦¦§XB(Ëär?yý§ "ò…––/vv²„P8î" ¾øÂžÅÿšÎ𦠼hpXáXÎ{½+ëëÍdÏçN™™^˜ŸOeÕ§Ù‚›¥s°TLÁíä/½;31¼0MdAdaaþÚÌÄpþÒ»Ì Ë\ûd̼·Q°0?g¾½(€Âᾕ÷y*«ŠñTVùVÞÇÌ@á°ŒMgͪVO¥OÄ#âñTújVµú×ðE\–ÌËÜNMÓ†à¦GùZ,Ž’w÷Ž·T…P8(€Â(@ḽôè°æÔö4î¡rVÉ"‹,²tÎrÇþ妽Ҟ‘Ée­¶y(ó°6²|\K©ÊY%‹,²ÈÒ9Ëû—ËöJ~ÓèÐH: grÙP°ÉÂy4gph$mWÛ(Ѹ9R•³JYd‘¥s–å ÃH&“®œ1Ã0”í’ž¾cGÕ$u?ôðÍáÅ¢"„K±å‹H25dþãR‡vøÈ+‘ðÚ/u}Y·qÝu¤*g•,²È"Kç¬RljÉTªgÇNWÎXïKŒX̵…£0¥P¼ZŠ GIÇu瑪œU²È"‹,³J´©õìÚmÞäpÓŒ†Ñ»Ÿ›ïp(³ì‘L¥öhhh Ddvvö–ÿê¿vìÜ… µµµ(‹eÄbÛâñ£Ç$NesÞ*¯ˆ´Å6Ä»»Ed…ÏWüä÷Ï$'®^]‰|˜É°~8B…'q1=úÆ[oŸ9{Îçó æƒ}ƒßÝà»û\úðÃÂ3óSS?ûùÏ¿þÈ#•ÞJ§ÐâÇd>?6>¾®µµkóæšêêÉ|^D:;:¶lê‘P0Xxæ¯>W_?zùÒG}<77÷›3gþèXE(w×a´m‹Çoype½ÿ–ÏŠŠHmMÍ‚,œ~ÿý?ùäúõëgSç)P8,¶õÁ·>ø ˆ~íµÑËþù×ÿŒ%€Âq¡`ðÅö,æÁ[<öo°x8ES(€Â@á@á p …P8…€Â(€Â@áŽ;HsÀÒeÙ›NYd‘åЭ¤œw=wŽL.kíd™‡2ë¸3´<ËÞt²È"‹,•[¸…WþrÞõðªIG#áL. 6Y8û漤—}Ã0’ɤâ3,Q–½éd‘EY*7ò†¡áF«í®§˜§ïØQ5IÝ=|ó‹ŠH4.Å¢ŠH25dþãR‡–L¥zvìTy†%Ͳ7,²È"KÙv^8ÃÞ—±˜&'¦ÿ®çþÂQ˜ýR(þ©XÆÐzví6or¨9ÃRφ½éd‘EY*¯l†aôîß§ÏY9b×sáPcCK¦R{2;À) ÃØ³ýyooè¶}Ø>!jP5Ü\5´­¼¥â†‘º) (7åðFŒæ·úï‘‚÷âïe ôy§É†o©”ôã3F,úÙŸ(Ûª¥Â‘º# (7nýYÖíj\ÒÛÅmC«ÏÒšKL&“©”79Tßá(^’P°ÉÂãAÈ|•Û{‡CåHÝ‘”·þ,ës5Vv{C· ã-K ÉMîp/I¸¥Õ’c¦G‡CÁ¦L.„õùR²Ê‘:= (7nýYÖój\Â;ÿ÷Ñ }.ŒŸ]M>_bÏoµ|IÌCiø?Ü*Gêè, Ü¸õgYÛ«±/ø.[‚ {gDç:q¤ŽÎʳs”Õu£œ×´ Oã^{ãóSS'Nö‹ˆÇãñ×Õmlo÷ûë šÚ¶–æfóÏóóóÿó‹7 ÿjk÷ƒuµµ\¶ÐœÍ…czf¦?‘®j\h|çôéþDbÇsÏš™-<~~¾?‘hin®««‘7n°„P8ňŶÅãGHœÊæ&¼U^i‹mˆww‹È Ÿï–ç·¬i¾/Z×ûý,!ŽE¹˜}ã­·Ïœ=çóù†É|^DúûE¤ç©' o©ˆHMuõè¥Ë¿~ï7óóóO?öá5kXE(w7™Ï¯kmíÚ¼¹¦ºÚ,[6uŠH(,<ÓçóýÍŽíãÙìþéŸßûío)P8¥ÃhÛßòàÊzñ S&—›ššjþüç?‘êÕ,!‹ÍÎÎþǽþé§ŸŠÈZZº»þ˜%€Âq¡`ðÅö,æASxÍšvþu>?Ué­¬©æöŽ’ñûëX9¤‚)@á p  pP8…€Â(€Â@á@ápráHk~@'ŽÔÑY@¹qëÏr9_4»žK`OáÈä²ÖΈy(ó°ZQ9RGgå¹3¹ïgYÛ«±/ø.[¯²$Ã0’ɤˆ ¤£‘p&— ›,\sr‡FÒ…8»æTñHM.ÈÊsrßϲ>Wc\ðÝ´ž¾cGÕ$%S©ž;EĈEE$ [aNn25$"½/0b1[æTñHo¾ž\‘”·þ,kr5vÇß5K ®pˆHÏ®Ýf4¦4k?d¶¹ÞýûlœVe#ýƒ¢íŠ, Ü¸õgY“«±;.øîX¥…#™Jí=xÈ\˜Ò1 cÏöçímsjF :Óáj\æ|­–@iá(õÚèöâ¦v j” Ý.ø. …”~ñ p …P8…€Â(@á  p …P8(€Â(@á  pP8…P8(€Â(@á p pÿ09ÞQ®ûÄIEND®B`‚KCemu-0.5.1/src/ui/gtk/theora.cc0000644000175000017500000001420512417262523016535 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/config.h" #ifdef HAVE_LIBTHEORA #include #include #include #include "kc/system.h" #include "ui/gtk/theora.h" using namespace std; TheoraVideoEncoder::TheoraVideoEncoder(void) { _f = NULL; _context = NULL; _buf_y = _buf_u = _buf_v = NULL; } TheoraVideoEncoder::~TheoraVideoEncoder(void) { close(); } bool TheoraVideoEncoder::init(const char *filename, int width, int height, int fps_den, double quality) { if (filename == NULL) return false; if (quality < 0) quality = 0; if (quality > 1) quality = 1; _f = fopen(filename, "wb+"); if (_f == NULL) return false; #ifdef HAVE_LIBTHEORA11 _format = (quality >= 0.85) ? TH_PF_444 : TH_PF_420; #else _format = TH_PF_420; #endif th_info_init(&_info); _info.pic_x = 0; _info.pic_y = 0; _info.pic_width = width; _info.pic_height = height; _info.frame_width = (width + 15) & ~0x0f; _info.frame_height = (height + 15) & ~0x0f; _info.target_bitrate = 0; _info.quality = 63.0 * quality; _info.fps_numerator = 50; _info.fps_denominator = fps_den; _info.aspect_numerator = 1; _info.aspect_denominator = 1; _info.colorspace = TH_CS_ITU_REC_470BG; _info.pixel_fmt = _format; _buf_y = new byte_t[_info.frame_width * _info.frame_height]; _buf_u = new byte_t[_info.frame_width * _info.frame_height]; _buf_v = new byte_t[_info.frame_width * _info.frame_height]; _context = th_encode_alloc(&_info); if (_context == NULL) return false; srand(time(NULL)); if (ogg_stream_init(&_stream, rand()) != 0) return false; th_comment comment; th_comment_init(&comment); th_comment_add_tag(&comment, "ENCODER", "KCemu"); th_comment_add_tag(&comment, "ENCODER_VERSION", KCEMU_VERSION); ogg_packet packet; while (th_encode_flushheader(_context, &comment, &packet) > 0) { th_comment_clear(&comment); ogg_stream_packetin(&_stream, &packet); ogg_page page; if (ogg_stream_pageout(&_stream, &page) != 0) if (!write_page(&page)) return false; } return flush(); } void TheoraVideoEncoder::allocate_color_rgb(int idx, int r, int g, int b) { _col[idx].y = (0.257 * r) + (0.504 * g) + (0.098 * b) + 16; _col[idx].u = -(0.148 * r) - (0.291 * g) + (0.439 * b) + 128; _col[idx].v = (0.439 * r) - (0.368 * g) - (0.071 * b) + 128; } bool TheoraVideoEncoder::write_page(ogg_page *page) { if (fwrite(page->header, 1, page->header_len, _f) != (size_t) page->header_len) return false; if (fwrite(page->body, 1, page->body_len, _f) != (size_t) page->body_len) return false; return true; } bool TheoraVideoEncoder::flush(void) { ogg_page page; while (ogg_stream_flush(&_stream, &page) != 0) if (!write_page(&page)) return false; fflush(_f); return true; } void TheoraVideoEncoder::encode_444(byte_t *image, byte_t *dirty) { for (unsigned int y = 0;y < _info.frame_height;y++) { int z = y * _info.frame_width; for (unsigned int x = 0;x < _info.frame_width;x++) { _buf_y[z + x] = _col[image[z + x]].y; _buf_u[z + x] = _col[image[z + x]].u; _buf_v[z + x] = _col[image[z + x]].v; } } } void TheoraVideoEncoder::encode_420(byte_t *image, byte_t *dirty) { for (unsigned int y = 0;y < _info.frame_height;y++) { unsigned int z = y * _info.frame_width; for (unsigned int x = 0;x < _info.frame_width;x++) { _buf_y[z + x] = _col[image[z + x]].y; } } for (unsigned int y = 0;y < _info.frame_height;y += 2) { unsigned int z = y * _info.frame_width; for (unsigned int x = 0;x < _info.frame_width;x += 2) { int u = _col[image[z + x]].u + _col[image[z + x + 1]].u + _col[image[z + x + _info.frame_width]].u + _col[image[z + x + _info.frame_width + 1]].u; int v = _col[image[z + x]].v + _col[image[z + x + 1]].v + _col[image[z + x + _info.frame_width]].v + _col[image[z + x + _info.frame_width + 1]].v; _buf_u[(z + x) / 2] = u / 4; _buf_v[(z + x) / 2] = v / 4; } } } bool TheoraVideoEncoder::encode(byte_t *image, byte_t *dirty) { th_ycbcr_buffer buffer; buffer[0].data = _buf_y; buffer[1].data = _buf_u; buffer[2].data = _buf_v; for (int a = 0;a < 3;a++) { buffer[a].width = _info.frame_width; buffer[a].height = _info.frame_height; buffer[a].stride = buffer[a].width; } if (_format == TH_PF_444) { encode_444(image, dirty); } else { buffer[1].width /= 2; buffer[2].width /= 2; buffer[1].height /= 2; buffer[2].height /= 2; encode_420(image, dirty); } if (th_encode_ycbcr_in(_context, buffer) != 0) { return false; } ogg_packet packet; while (th_encode_packetout(_context, 0, &packet)) { ogg_stream_packetin(&_stream, &packet); ogg_page page; if (ogg_stream_pageout(&_stream, &page) != 0) if (!write_page(&page)) return false; } return flush(); } void TheoraVideoEncoder::close(void) { if (_context != NULL) { th_encode_free(_context); _context = NULL; } if (_f != NULL) { fclose(_f); _f = NULL; } if (_buf_y != NULL) { delete[] _buf_y; delete[] _buf_u; delete[] _buf_v; _buf_y = _buf_u = _buf_v = NULL; } } #endif /* HAVE_LIBTHEORA */ KCemu-0.5.1/src/ui/gtk/vcs80.key0000644000175000017500000000176312417262523016426 0ustar glaubitzglaubitzvcs80_keyboard.xpm vcs80_keyboard_pressed.xpm ########################## # VCS80 Keyboard Layout ########################## # # first row # +c :14,20,76,75 =14,20,76,75 +d :90,20,76,75 =90,20,76,75 +e :166,20,76,75 =166,20,76,75 +f :242,20,76,75 =242,20,76,75 +KC_KEY_F2 :378,20,76,75 =378,20,76,75 +KC_KEY_F3 :454,20,76,75 =454,20,76,75 # # second row # +8 :14,95,76,75 =14,95,76,75 +9 :90,95,76,75 =90,95,76,75 +a :166,95,76,75 =166,95,76,75 +b :242,95,76,75 =242,95,76,75 +KC_KEY_F6 :378,95,76,75 =378,95,76,75 +KC_KEY_F5 :454,95,76,75 =454,95,76,75 # # third row # +4 :14,170,76,75 =14,170,76,75 +5 :90,170,76,75 =90,170,76,75 +6 :166,170,76,75 =166,170,76,75 +7 :242,170,76,75 =242,170,76,75 +KC_KEY_F8 :378,170,76,75 =378,170,76,75 +KC_KEY_F7 :454,170,76,75 =454,170,76,75 # # fourth row # +0 :14,245,76,75 =14,245,76,75 +1 :90,245,76,75 =90,245,76,75 +2 :166,245,76,75 =166,245,76,75 +3 :242,245,76,75 =242,245,76,75 +KC_KEY_F4 :378,245,76,75 =378,245,76,75 +KC_KEY_F1 :454,245,76,75 =454,245,76,75 KCemu-0.5.1/src/ui/gtk/wav.cc0000644000175000017500000001437112417262523016054 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "cmd/cmd.h" #include "ui/gtk/cmd.h" #include "ui/gtk/wav.h" class CMD_ui_wav_window_toggle : public CMD { private: WavWindow *_w; public: CMD_ui_wav_window_toggle(WavWindow *w) : CMD("ui-wav-window-toggle") { _w = w; register_cmd("ui-wav-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; class CMD_ui_wav_info : public CMD { private: WavWindow *_w; public: CMD_ui_wav_info(WavWindow *w) : CMD("ui-wav-info") { _w = w; register_cmd("ui-wav-info", 0); register_cmd("ui-wav-file-selected", 1); register_cmd("ui-wav-file-closed", 2); } void execute(CMD_Args *args, CMD_Context context) { switch (context) { case 0: if (args == NULL) return; if (_w->is_visible()) _w->update(args->get_long_arg("gap")); break; case 1: if (args == NULL) return; _w->selected(args->get_string_arg("filename")); break; case 2: _w->selected(NULL); break; } } }; void WavWindow::sf_expose(GtkWidget *widget, GdkEvent *event, gpointer *data) { WavWindow *self = (WavWindow *)data; self->expose(); } WavWindow::WavWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _cmd_wav_info = new CMD_ui_wav_info(this); _cmd_wav_toggle = new CMD_ui_wav_window_toggle(this); } WavWindow::~WavWindow(void) { delete _cmd_wav_info; delete _cmd_wav_toggle; } void WavWindow::init(void) { /* * wav window */ _window = get_widget("audio_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-wav-window-toggle"); // FIXME: _w.tooltips = gtk_tooltips_new(); /* * canvas, needs GDK_EXPOSURE_MASK to be set! */ _w.canvas = get_widget("main_drawingarea"); gtk_drawing_area_size(GTK_DRAWING_AREA(_w.canvas), WINDOW_WIDTH, WINDOW_HEIGHT); gtk_signal_connect(GTK_OBJECT(_w.canvas), "expose_event", GTK_SIGNAL_FUNC(sf_expose), this); /* * comboboxentry */ _w.comboboxentry = get_widget("file_comboboxentry"); /* * open button */ _w.open = get_widget("file_button_open"); gtk_signal_connect(GTK_OBJECT(_w.open), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (gpointer)"kc-wav-open"); gtk_tooltips_set_tip(_w.tooltips, _w.open, _("Open"), NULL); /* * close button */ _w.close = get_widget("file_button_close"); gtk_signal_connect(GTK_OBJECT(_w.close), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (gpointer)"kc-wav-close"); gtk_tooltips_set_tip(_w.tooltips, _w.close, _("Close"), NULL); /* * play button */ _w.play = get_widget("control_togglebutton_play"); gtk_signal_connect(GTK_OBJECT(_w.play), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (gpointer)"kc-wav-play"); gtk_tooltips_set_tip(_w.tooltips, _w.play, _("Play"), NULL); /* * stop button */ _w.stop = get_widget("control_button_stop"); gtk_signal_connect(GTK_OBJECT(_w.stop), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (gpointer)"kc-wav-stop"); gtk_tooltips_set_tip(_w.tooltips, _w.stop, _("Stop"), NULL); /* * record button */ _w.record = get_widget("control_togglebutton_record"); gtk_signal_connect(GTK_OBJECT(_w.record), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (gpointer)"kc-wav-record"); gtk_tooltips_set_tip(_w.tooltips, _w.record, _("Record"), NULL); init_dialog("ui-wav-window-toggle", "window-audio"); _w.gc = NULL; _image_y = 0; _image = gdk_image_new(GDK_IMAGE_FASTEST, gdk_visual_get_system(), WINDOW_WIDTH, 2 * WINDOW_HEIGHT); } void WavWindow::selected(const char *filename) { gboolean sensitive = TRUE; if (filename == NULL) { filename = ""; sensitive = FALSE; } gtk_widget_set_sensitive(_w.close, sensitive); gtk_widget_set_sensitive(_w.play, sensitive); gtk_widget_set_sensitive(_w.stop, sensitive); gtk_widget_set_sensitive(_w.record, FALSE); GtkEntry *entry = GTK_ENTRY(GTK_BIN(_w.comboboxentry)->child); gtk_entry_set_text(GTK_ENTRY(entry), filename); } void WavWindow::expose(void) { if (_w.gc == NULL) { _w.gc = gdk_gc_new(GTK_WIDGET(_w.canvas)->window); /* * clear image not in initialization to decrease startup time * instead we do it when receiving the first expose event */ for (int y = 0;y < 2 * WINDOW_HEIGHT;y++) for (int x = 0;x < WINDOW_WIDTH;x++) gdk_image_put_pixel(_image, x, y, 0xffffffff); } gdk_draw_image(GTK_WIDGET(_w.canvas)->window, _w.gc, _image, 0, _image_y, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); } void WavWindow::update(int gap) { int a, x; static int cnt = 80; if (_w.gc == NULL) return; x = gap / 5; if (x >= WINDOW_WIDTH) return; gdk_image_put_pixel(_image, x, _image_y, 0); gdk_image_put_pixel(_image, x, _image_y + WINDOW_HEIGHT, 0); if (--cnt >= 0) return; cnt = 80; _image_y++; for (a = 0;a < WINDOW_WIDTH;a++) { gdk_image_put_pixel(_image, a, _image_y, 0xffffffff); gdk_image_put_pixel(_image, a, _image_y + WINDOW_HEIGHT, 0xffffffff); } gdk_image_put_pixel(_image, 550 / 5, _image_y, 0xff0000); gdk_image_put_pixel(_image, 550 / 5, _image_y + WINDOW_HEIGHT, 0xff0000); gdk_image_put_pixel(_image, 1000 / 5, _image_y, 0x00ff00); gdk_image_put_pixel(_image, 1000 / 5, _image_y + WINDOW_HEIGHT, 0x00ff00); expose(); if (_image_y >= WINDOW_HEIGHT) _image_y = 0; } KCemu-0.5.1/src/ui/gtk/main.cc0000644000175000017500000007234512417262523016210 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/prefs/prefs.h" #include "sys/sysdep.h" #undef Status #include "ui/status.h" #include "ui/gtk/cmd.h" #include "ui/gtk/main.h" #include "libdbg/dbg.h" class CMD_toggle_main : public CMD { private: MainWindow *_w; public: CMD_toggle_main(MainWindow *w) : CMD("ui-toggle-main") { _w = w; register_cmd("ui-status-bar-toggle", 0); register_cmd("ui-menu-bar-toggle", 1); } void execute(CMD_Args *args, CMD_Context context) { switch (context) { case 0: _w->status_bar_toggle(); break; case 1: _w->menu_bar_toggle(); break; } } }; MainWindow::MainWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _gc = NULL; _image = NULL; _colormap = NULL; _dirty_old = NULL; _visual = gdk_visual_get_system(); _width = 0; _height = 0; _expose = false; _w.status_sec = 0; _cmd_ui_toggle = new CMD_toggle_main(this); _accel_map_path = string(kcemu_homedir) + "/keys.map"; #if 0 switch (_visual->type) { case GDK_VISUAL_STATIC_GRAY: cout << "GDK_VISUAL_STATIC_GRAY" << endl; break; case GDK_VISUAL_GRAYSCALE: cout << "GDK_VISUAL_GRAYSCALE" << endl; break; case GDK_VISUAL_STATIC_COLOR: cout << "GDK_VISUAL_STATIC_COLOR" << endl; break; case GDK_VISUAL_PSEUDO_COLOR: cout << "GDK_VISUAL_PSEUDO_COLOR" << endl; break; case GDK_VISUAL_TRUE_COLOR: cout << "GDK_VISUAL_TRUE_COLOR" << endl; break; case GDK_VISUAL_DIRECT_COLOR: cout << "GDK_VISUAL_DIRECT_COLOR" << endl; break; default: cout << "unknown visual type" << endl; break; } #endif } MainWindow::~MainWindow(void) { delete _cmd_ui_toggle; } void MainWindow::attach_remote_listener(void) { GdkAtom atom; atom = gdk_atom_intern("_KCEMU_REMOTE_COMMAND", FALSE); gdk_property_change(_window->window, atom, GDK_TARGET_STRING, 8, GDK_PROP_MODE_REPLACE, (unsigned char *) "", 1); gdk_flush(); } gboolean MainWindow::on_property_change(GtkWidget *widget, GdkEventProperty *event, gpointer data) { gboolean ret; guchar *prop_data; char *ptr, *val, *atom; GdkAtom actual_property_type; gint actual_format, actual_length; CMD_Args *args; MainWindow *self = (MainWindow *) data; if (event == NULL) return TRUE; atom = gdk_atom_name(event->atom); if (atom == NULL) return TRUE; if (strcmp(atom, "_KCEMU_REMOTE_COMMAND") == 0) { DBG(1, form("KCemu/UI/remote", "property_change: %s\n", atom)); prop_data = NULL; ret = gdk_property_get(self->_window->window, event->atom, GDK_TARGET_STRING, 0, (65536 / sizeof (long)), FALSE, &actual_property_type, &actual_format, &actual_length, &prop_data); if (!ret || (*prop_data == '\0')) { DBG(1, form("KCemu/UI/remote", "empty or invalid property!\n")); } else { ptr = (char *) prop_data; DBG(1, form("KCemu/UI/remote", "command: %s'\n", ptr)); args = new CMD_Args(); while (242) { ptr += strlen(ptr) + 1; if ((ptr - (char *) prop_data) >= actual_length) break; val = strchr(ptr, '='); if (!val) continue; *val++ = '\0'; DBG(1, form("KCemu/UI/remote", " arg: %s -> '%s'\n", ptr, val)); args->set_string_arg(ptr, val); } CMD_EXEC_ARGS((const char *) prop_data, args); } if (prop_data != NULL) g_free(prop_data); } g_free(atom); return TRUE; } gboolean MainWindow::on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { static int x = 1; MainWindow *self = (MainWindow *)user_data; self->_expose = true; if (x) { x = 0; self->attach_remote_listener(); Status::instance()->addStatusListener(self); string greeting("KCemu v" KCEMU_VERSION " ("); greeting += Preferences::instance()->get_kc_variant_name(); greeting += ")"; Status::instance()->setMessage(greeting.c_str()); } return FALSE; /* propagate event */ } gboolean MainWindow::on_button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { MainWindow *self = (MainWindow *)user_data; switch (event->button) { case 2: { /* hmm, is TEXT the correct selection type ??? */ GdkAtom atom = gdk_atom_intern("TEXT", FALSE); if (atom == GDK_NONE) break; gtk_selection_convert(self->_window, GDK_SELECTION_PRIMARY, atom, GDK_CURRENT_TIME); break; } case 3: { gtk_menu_popup(GTK_MENU(self->_w.popup_menu), NULL, NULL, NULL, NULL, 3, event->time); break; } } return FALSE; /* propagate event */ } void MainWindow::on_accel_group_changed(GtkAccelGroup *accel_group, guint keyval, GdkModifierType modifier, GClosure *accel_closure, gpointer user_data) { MainWindow *self = (MainWindow *)user_data; if (self->_w.idle_id == 0) { // prevent multiple saves as a single user change might cause many signals self->_w.idle_id = g_idle_add(on_accel_group_changed_idle_func, self); } } gboolean MainWindow::on_accel_group_changed_idle_func(gpointer data) { MainWindow *self = (MainWindow *)data; gtk_accel_map_save(self->_accel_map_path.c_str()); self->_w.idle_id = 0; return FALSE; /* remove from idle list */ } GtkWidget * MainWindow::get_main_window(void) { return _window; } void MainWindow::wire_menu_item(const char *name, const char *shortcut, const char *command) { GtkMenuItem *item = GTK_MENU_ITEM(get_widget(name)); GtkWidget *parent = gtk_widget_get_parent(GTK_WIDGET(item)); const char *parent_name = gtk_widget_get_name(parent); string path = string("/") + parent_name + "/" + name; gtk_menu_item_set_accel_path(item, path.c_str()); g_signal_connect(item, "activate", G_CALLBACK(cmd_exec_mc), (gpointer)(command)); string popup_name = string(name) + "_p"; GtkMenuItem *popup_item = GTK_MENU_ITEM(get_widget_or_null(popup_name.c_str())); if (popup_item != NULL) { gtk_menu_item_set_accel_path(popup_item, path.c_str()); g_signal_connect(popup_item, "activate", G_CALLBACK(cmd_exec_mc), (gpointer)(command)); } if (shortcut != NULL) { guint accel_key; GdkModifierType accel_mods; gtk_accelerator_parse(shortcut, &accel_key, &accel_mods); gtk_accel_map_add_entry(path.c_str(), accel_key, accel_mods); } } void MainWindow::add_menu_accel_group(const char *base, const char *name) { string path = string(base) + "/" + name; GtkMenu *menu = GTK_MENU(get_widget(name)); gtk_menu_set_accel_group(menu, _w.accel_group); //gtk_menu_set_accel_path(menu, path.c_str()); } gboolean MainWindow::get_display_effect(void) { return kcemu_ui_display_effect; } void MainWindow::set_display_effect(gboolean effect) { GtkWidget *widget = get_widget("menuitem_display_effects"); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), effect); kcemu_ui_display_effect = effect; } void MainWindow::init(void) { _window = get_widget("main_window"); g_signal_connect(_window, "delete-event", G_CALLBACK(cmd_exec_sft), (gpointer)"emu-quit"); g_signal_connect(_window, "property-notify-event", G_CALLBACK(on_property_change), this); _w.accel_group = gtk_accel_group_new(); gtk_window_add_accel_group(GTK_WINDOW(_window), _w.accel_group); init_icon(); string title(Preferences::instance()->get_kc_type_name()); title += " Emulator"; gtk_window_set_title(GTK_WINDOW(_window), title.c_str()); _w.menubar = GTK_MENU_BAR(get_widget("menubar")); _w.status_hbox = GTK_HBOX(get_widget("status_hbox")); _w.drawingarea = GTK_DRAWING_AREA(get_widget("drawingarea")); _w.popup_menu = GTK_MENU(get_widget("menu_popup")); _w.status_label = GTK_LABEL(get_widget("status_label")); _w.status_statusbar = GTK_STATUSBAR(get_widget("status_statusbar")); g_signal_connect(_w.drawingarea, "expose_event", G_CALLBACK(on_expose_event), this); g_signal_connect(_window, "button-press-event", G_CALLBACK(on_button_press_event), this); add_menu_accel_group("", "menu_emulator"); add_menu_accel_group("", "menu_view"); add_menu_accel_group("", "menu_options"); add_menu_accel_group("", "menu_popup"); add_menu_accel_group("", "menu_view_p"); GtkMenuItem *helpitem = GTK_MENU_ITEM(get_widget("menubaritem_help")); gtk_menu_item_set_right_justified(helpitem, TRUE); // initialize before attaching signal handlers set_display_effect(get_display_effect()); wire_menu_item("menuitem_run", NULL, "kc-image-run"); wire_menu_item("menuitem_load", "L", "kc-image-load"); wire_menu_item("menuitem_save", "S", "ui-save-memory-window-toggle"); wire_menu_item("menuitem_tape", "T", "ui-tape-window-toggle"); wire_menu_item("menuitem_disk", "D", "ui-disk-window-toggle"); wire_menu_item("menuitem_vdip", "V", "ui-vdip-window-toggle"); wire_menu_item("menuitem_module", "M", "ui-module-window-toggle"); wire_menu_item("menuitem_audio", "U", "ui-wav-window-toggle"); wire_menu_item("menuitem_screenshot", "H", "ui-screenshot-window-toggle"); wire_menu_item("menuitem_plotter", "O", "ui-plotter-window-toggle"); wire_menu_item("menuitem_video", NULL, "ui-video-window-toggle"); wire_menu_item("menuitem_reset", "R", "emu-reset"); wire_menu_item("menuitem_power", "P", "emu-power-on"); wire_menu_item("menuitem_quit", "Q", "emu-quit"); wire_menu_item("menuitem_zoom1", "1", "ui-zoom-1"); wire_menu_item("menuitem_zoom2", "2", "ui-zoom-2"); wire_menu_item("menuitem_zoom3", "3", "ui-zoom-3"); wire_menu_item("menuitem_keyboard", "K", "ui-keyboard-window-toggle"); wire_menu_item("menuitem_menubar", NULL, "ui-menu-bar-toggle"); wire_menu_item("menuitem_statusbar", NULL, "ui-status-bar-toggle"); wire_menu_item("menuitem_colors", "C", "ui-color-window-toggle"); wire_menu_item("menuitem_display_effects", NULL, "ui-display-effects-toggle"); wire_menu_item("menuitem_no_speed_limit", "G", "ui-speed-limit-toggle"); wire_menu_item("menuitem_profiles", NULL, "ui-options-window-toggle"); wire_menu_item("menuitem_help", NULL, "ui-help-window-toggle-home"); wire_menu_item("menuitem_help_index", NULL, "ui-help-window-toggle-index"); wire_menu_item("menuitem_context_help", NULL, "ui-help-window-context-help"); wire_menu_item("menuitem_about", NULL, "ui-about-window-toggle"); wire_menu_item("menuitem_thanks", NULL, "ui-thanks-window-toggle"); wire_menu_item("menuitem_licence", NULL, "ui-copying-window-toggle"); wire_menu_item("menuitem_no_warranty", NULL, "ui-warranty-window-toggle"); gtk_accel_map_load(_accel_map_path.c_str()); g_signal_connect(_w.accel_group, "accel-changed", G_CALLBACK(on_accel_group_changed), this); } void MainWindow::init_icon(void) { const EmulationType &emulation_type = Preferences::instance()->get_system_type()->get_emulation_type(); GdkPixbuf *icon = get_icon(emulation_type.get_icon_name()); if (icon != NULL) gtk_window_set_icon(GTK_WINDOW(_window), icon); g_object_set_data(G_OBJECT(_window), "help-topic", (gpointer)emulation_type.get_help_topic()); } void MainWindow::process_events(void) { if (_w.status_sec == 0) return; long tv_sec, tv_usec; sys_gettimeofday(&tv_sec, &tv_usec); if (tv_sec - _w.status_sec > 10) { gtk_statusbar_pop(_w.status_statusbar, 1); } } void MainWindow::show(int width, int height) { init(); gtk_drawing_area_size(_w.drawingarea, width, height); UI_Gtk_Window::show(); } bool MainWindow::resize(int width, int height) { if ((_width == width) && (_height == height)) return false; if (_image) gdk_image_destroy(_image); _image = gdk_image_new(GDK_IMAGE_FASTEST, _visual, width, height); gtk_drawing_area_size(_w.drawingarea, width, height); if (!GTK_WIDGET_VISIBLE(_window)) gtk_widget_show(_window); if (_gc) gdk_gc_destroy(_gc); _gc = gdk_gc_new(GTK_WIDGET(_w.drawingarea)->window); // force reallocation of dirty buffer if (_dirty_old != NULL) { delete _dirty_old; _dirty_old = NULL; } return true; } void MainWindow::allocate_color_rgb(int idx, int r, int g, int b) { _col[idx].red = r << 8; _col[idx].green = g << 8; _col[idx].blue = b << 8; _colormap = gdk_colormap_get_system(); gdk_color_alloc(_colormap, &_col[idx]); } static gulong lighter_color(gulong col) { static int color_add = 50; // RC::instance()->get_int("DEBUG UI_Gtk Color Add", 50); int r = (col >> 16) & 0xff; int g = (col >> 8) & 0xff; int b = (col ) & 0xff; r += color_add; g += color_add; b += color_add; if (r > 255) r = 255; if (g > 255) g = 255; if (b > 255) b = 255; return (r << 16) | (g << 8) | b; } static gulong darker_color(gulong col) { int r = (col >> 16) & 0xff; int g = (col >> 8) & 0xff; int b = (col ) & 0xff; r = (2 * r) / 3; g = (2 * g) / 3; b = (2 * b) / 3; return (r << 16) | (g << 8) | b; } #define ADD_COL(weight) \ r += weight * ((p >> 16) & 0xff); \ g += weight * ((p >> 8) & 0xff); \ b += weight * ((p ) & 0xff); \ w += weight /* * +---+---+---+ * | 0 | 1 | 2 | * +---+---+---+ * | 3 | 4 | 5 | * +---+---+---+ * | 6 | 7 | 8 | * +---+---+---+ */ gulong MainWindow::get_col(byte_t *bitmap, int which, int idx, int width) { gulong p; long r, g, b, w; w = 0; r = 0; g = 0; b = 0; switch (which) { default: return _col[bitmap[idx]].pixel; case 1: p = _col[bitmap[idx]].pixel; ADD_COL(9); p = _col[bitmap[idx - width]].pixel; ADD_COL(3); break; case 3: p = _col[bitmap[idx]].pixel; ADD_COL(9); p = _col[bitmap[idx - 1]].pixel; ADD_COL(3); break; case 5: p = _col[bitmap[idx]].pixel; ADD_COL(9); p = _col[bitmap[idx + 1]].pixel; ADD_COL(3); break; case 7: p = _col[bitmap[idx]].pixel; ADD_COL(9); p = _col[bitmap[idx + width]].pixel; ADD_COL(3); break; case 0: p = _col[bitmap[idx]].pixel; ADD_COL(12); p = _col[bitmap[idx - 1]].pixel; ADD_COL(5); p = _col[bitmap[idx - width]].pixel; ADD_COL(5); p = _col[bitmap[idx - width - 1]].pixel; ADD_COL(1); break; case 2: p = _col[bitmap[idx]].pixel; ADD_COL(12); p = _col[bitmap[idx + 1]].pixel; ADD_COL(5); p = _col[bitmap[idx - width]].pixel; ADD_COL(5); p = _col[bitmap[idx - width + 1]].pixel; ADD_COL(1); break; case 6: p = _col[bitmap[idx]].pixel; ADD_COL(12); p = _col[bitmap[idx - 1]].pixel; ADD_COL(5); p = _col[bitmap[idx + width]].pixel; ADD_COL(5); p = _col[bitmap[idx + width - 1]].pixel; ADD_COL(1); break; case 8: p = _col[bitmap[idx]].pixel; ADD_COL(12); p = _col[bitmap[idx + 1]].pixel; ADD_COL(5); p = _col[bitmap[idx + width]].pixel; ADD_COL(5); p = _col[bitmap[idx + width + 1]].pixel; ADD_COL(1); break; } r = r / w; g = g / w; b = b / w; return (r << 16) | (g << 8) | b; } void MainWindow::update_1(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height) { int d = -1; for (int y = 0;y < height;y += 8) { for (int x = 0;x < width;x += 8) { d++; if (!dirty[d]) continue; int z = y * width + x; for (int yy = 0;yy < 8;yy++) { for (int xx = 0;xx < 8;xx++) { gdk_image_put_pixel(_image, x + xx, y + yy, _col[bitmap[z + xx]].pixel); } z += width; } } } } void MainWindow::update_1_debug(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height) { static int frame_delay = 50; if (_dirty_old == NULL) { _dirty_old = new byte_t[dirty_size]; memset(_dirty_old, 0, dirty_size); //frame_delay = 50; // RC::instance()->get_int("DEBUG UI_Gtk Frame Delay", 50); } int d = -1; for (int y = 0;y < height;y += 8) { for (int x = 0;x < width;x += 8) { d++; if (dirty[d]) _dirty_old[d] = frame_delay; if (_dirty_old[d] == 0) continue; if (_dirty_old[d] > 0) _dirty_old[d]--; dirty[d] = 1; int z = y * width + x; if (_dirty_old[d]) { for (int yy = 0;yy < 8;yy++) { for (int xx = 0;xx < 8;xx++) { gdk_image_put_pixel(_image, x + xx, y + yy, lighter_color(_col[bitmap[z + xx]].pixel)); } z += width; } } else { for (int yy = 0;yy < 8;yy++) { for (int xx = 0;xx < 8;xx++) { gdk_image_put_pixel(_image, x + xx, y + yy, _col[bitmap[z + xx]].pixel); } z += width; } } } } } void MainWindow::update_2(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height) { int d = -1; for (int y = 0;y < height;y += 8) { for (int x = 0;x < width;x += 8) { d++; if (!dirty[d]) continue; int z = y * width + x; for (int yy = 0;yy < 16;yy += 2) { for (int xx = 0;xx < 16;xx += 2) { gulong pix = _col[bitmap[z++]].pixel; gdk_image_put_pixel(_image, 2 * x + xx, 2 * y + yy , pix); gdk_image_put_pixel(_image, 2 * x + xx + 1, 2 * y + yy , pix); gdk_image_put_pixel(_image, 2 * x + xx , 2 * y + yy + 1, pix); gdk_image_put_pixel(_image, 2 * x + xx + 1, 2 * y + yy + 1, pix); } z += width - 8; } } } } void MainWindow::update_2_scanline(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height) { int d = -1; for (int y = 0;y < height;y += 8) { for (int x = 0;x < width;x += 8) { d++; if (!dirty[d]) continue; int z = y * width + x; for (int yy = 0;yy < 16;yy += 2) { for (int xx = 0;xx < 16;xx += 2) { gulong pix = _col[bitmap[z++]].pixel; gdk_image_put_pixel(_image, 2 * x + xx, 2 * y + yy , pix); gdk_image_put_pixel(_image, 2 * x + xx + 1, 2 * y + yy , pix); gdk_image_put_pixel(_image, 2 * x + xx , 2 * y + yy + 1, darker_color(pix)); gdk_image_put_pixel(_image, 2 * x + xx + 1, 2 * y + yy + 1, darker_color(pix)); } z += width - 8; } } } } void MainWindow::update_3(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height) { int d = -1; for (int y = 0;y < height;y += 8) { for (int x = 0;x < width;x += 8) { d++; if (!dirty[d]) continue; int z = y * width + x; for (int yy = 0;yy < 24;yy += 3) { for (int xx = 0;xx < 24;xx += 3) { gulong pix = _col[bitmap[z++]].pixel; gdk_image_put_pixel(_image, 3 * x + xx , 3 * y + yy , pix); gdk_image_put_pixel(_image, 3 * x + xx + 1, 3 * y + yy , pix); gdk_image_put_pixel(_image, 3 * x + xx + 2, 3 * y + yy , pix); gdk_image_put_pixel(_image, 3 * x + xx , 3 * y + yy + 1, pix); gdk_image_put_pixel(_image, 3 * x + xx + 1, 3 * y + yy + 1, pix); gdk_image_put_pixel(_image, 3 * x + xx + 2, 3 * y + yy + 1, pix); gdk_image_put_pixel(_image, 3 * x + xx , 3 * y + yy + 2, pix); gdk_image_put_pixel(_image, 3 * x + xx + 1, 3 * y + yy + 2, pix); gdk_image_put_pixel(_image, 3 * x + xx + 2, 3 * y + yy + 2, pix); } z += width - 8; } } } } void MainWindow::update_3_smooth(byte_t *bitmap, byte_t *dirty, int dirty_size, int width, int height) { int d = -1; byte_t dirty_buf[dirty_size]; memcpy(dirty_buf, dirty, dirty_size); for (int y = 0;y < height;y += 8) { for (int x = 0;x < width;x += 8) { d++; if (dirty[d]) { int z = y * width + x; for (int yy = 0;yy < 24;yy += 3) { for (int xx = 0;xx < 24;xx += 3) { gdk_image_put_pixel(_image, 3 * x + xx , 3 * y + yy , get_col(bitmap, 0, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 1, 3 * y + yy , get_col(bitmap, 1, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 2, 3 * y + yy , get_col(bitmap, 2, z, width)); gdk_image_put_pixel(_image, 3 * x + xx , 3 * y + yy + 1, get_col(bitmap, 3, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 1, 3 * y + yy + 1, get_col(bitmap, 4, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 2, 3 * y + yy + 1, get_col(bitmap, 5, z, width)); gdk_image_put_pixel(_image, 3 * x + xx , 3 * y + yy + 2, get_col(bitmap, 6, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 1, 3 * y + yy + 2, get_col(bitmap, 7, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 2, 3 * y + yy + 2, get_col(bitmap, 8, z, width)); z++; } z += width - 8; } } else { /* * not dirty but we need to check the neighbour pixels due to * the antialiasing */ if ((d > 0) && (dirty[d - 1])) { int z = y * width + x; for (int yy = 0;yy < 24;yy += 3) { gdk_image_put_pixel(_image, 3 * x, 3 * y + yy , get_col(bitmap, 0, z, width)); gdk_image_put_pixel(_image, 3 * x, 3 * y + yy + 1, get_col(bitmap, 3, z, width)); gdk_image_put_pixel(_image, 3 * x, 3 * y + yy + 2, get_col(bitmap, 6, z, width)); z += width; } dirty_buf[d] = 1; } if (dirty[d + 1]) { int z = y * width + x + 7; for (int yy = 0;yy < 24;yy += 3) { gdk_image_put_pixel(_image, 3 * x + 23, 3 * y + yy , get_col(bitmap, 2, z, width)); gdk_image_put_pixel(_image, 3 * x + 23, 3 * y + yy + 1, get_col(bitmap, 5, z, width)); gdk_image_put_pixel(_image, 3 * x + 23, 3 * y + yy + 2, get_col(bitmap, 8, z, width)); z += width; } dirty_buf[d] = 1; } if (dirty[d + width / 8]) { int z = (y + 7) * width + x; for (int xx = 0;xx < 24;xx += 3) { gdk_image_put_pixel(_image, 3 * x + xx , 3 * y + 23, get_col(bitmap, 6, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 1, 3 * y + 23, get_col(bitmap, 7, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 2, 3 * y + 23, get_col(bitmap, 8, z, width)); z++; } dirty_buf[d] = 1; } if ((d > width / 8) && (dirty[d - width / 8])) { int z = y * width + x; for (int xx = 0;xx < 24;xx += 3) { gdk_image_put_pixel(_image, 3 * x + xx , 3 * y, get_col(bitmap, 0, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 1, 3 * y, get_col(bitmap, 1, z, width)); gdk_image_put_pixel(_image, 3 * x + xx + 2, 3 * y, get_col(bitmap, 2, z, width)); z++; } dirty_buf[d] = 1; } } } } memcpy(dirty, dirty_buf, dirty_size); } void MainWindow::update(UI_Base *ui, int image_width, int image_height, bool full_update) { byte_t *bitmap = ui->get_buffer(); byte_t *dirty = ui->get_dirty_buffer(); int dirty_size = ui->get_dirty_buffer_size(); int width = ui->get_real_width(); int height = ui->get_real_height(); switch (kcemu_ui_scale) { case 1: if (kcemu_ui_debug) update_1_debug(bitmap, dirty, dirty_size, width, height); else update_1(bitmap, dirty, dirty_size, width, height); break; case 2: if (kcemu_ui_display_effect) update_2_scanline(bitmap, dirty, dirty_size, width, height); else update_2(bitmap, dirty, dirty_size, width, height); break; case 3: if (kcemu_ui_display_effect) update_3_smooth(bitmap, dirty, dirty_size, width, height); else update_3(bitmap, dirty, dirty_size, width, height); break; } if (full_update || _expose) { _expose = false; gdk_draw_image(GTK_WIDGET(_w.drawingarea)->window, _gc, _image, 0, 0, 0, 0, image_width, image_height); return; } int d = -1; int s = 8 * kcemu_ui_scale; for (int y = 0;y < image_height;y += s) { for (int x = 0;x < image_width;x += s) { d++; if (!dirty[d]) continue; gdk_draw_image(GTK_WIDGET(_w.drawingarea)->window, _gc, _image, x, y, x, y, s, s); } } } void MainWindow::set_fps(unsigned long fps) { char buf[20]; snprintf(buf, sizeof(buf), " %ld fps ", fps); gtk_label_set(_w.status_label, buf); } void MainWindow::status_bar_toggle(void) { if (GTK_WIDGET_VISIBLE(_w.status_hbox)) gtk_widget_hide(GTK_WIDGET(_w.status_hbox)); else gtk_widget_show(GTK_WIDGET(_w.status_hbox)); } void MainWindow::menu_bar_toggle(void) { if (GTK_WIDGET_VISIBLE(_w.menubar)) gtk_widget_hide(GTK_WIDGET(_w.menubar)); else gtk_widget_show(GTK_WIDGET(_w.menubar)); } void MainWindow::setStatus(const char *msg) { long tv_sec, tv_usec; sys_gettimeofday(&tv_sec, &tv_usec); _w.status_sec = tv_sec; gtk_statusbar_pop(GTK_STATUSBAR(_w.status_statusbar), 1); gtk_statusbar_push(GTK_STATUSBAR(_w.status_statusbar), 1, msg); } GdkColor * MainWindow::get_colormap() { return _col; }KCemu-0.5.1/src/ui/gtk/a5105.key0000644000175000017500000000517112417262523016213 0ustar glaubitzglaubitza5105_keyboard.png a5105_keyboard_pressed.png ########################## # A5105 Keyboard Layout ########################## # # function keys # +KC_KEY_F1 :36,34,36,36 =36,34,36,36 +KC_KEY_F2 :36,70,36,36 =36,70,36,36 +KC_KEY_F3 :36,106,36,36 =36,106,36,36 +KC_KEY_F4 :36,142,36,36 =36,142,36,36 +KC_KEY_F5 :36,178,36,36 =36,178,36,36 # # first row # +KC_KEY_HOME :90,34,36,36 =90,34,36,36 +1 :126,34,36,36 =126,34,36,36 +2 :162,34,36,36 =162,34,36,36 +3 :198,34,36,36 =198,34,36,36 +4 :234,34,36,36 =234,34,36,36 +5 :270,34,36,36 =270,34,36,36 +6 :306,34,36,36 =306,34,36,36 +7 :342,34,36,36 =342,34,36,36 +8 :378,34,36,36 =378,34,36,36 +9 :414,34,36,36 =414,34,36,36 +0 :450,34,36,36 =450,34,36,36 +? :486,34,36,36 =486,34,36,36 +# :522,34,36,36 =522,34,36,36 +' :558,34,36,36 =558,34,36,36 # # second row # +KC_KEY_CONTROL :108,70,36,36 =108,70,36,36 +q :144,70,36,36 =144,70,36,36 +w :180,70,36,36 =180,70,36,36 +e :216,70,36,36 =216,70,36,36 +r :252,70,36,36 =252,70,36,36 +t :288,70,36,36 =288,70,36,36 +z :324,70,36,36 =324,70,36,36 +u :360,70,36,36 =360,70,36,36 +i :396,70,36,36 =396,70,36,36 +o :432,70,36,36 =432,70,36,36 +p :468,70,36,36 =468,70,36,36 +ü :504,70,36,36 =504,70,36,36 +< :540,70,36,36 =540,70,36,36 # # third row # +KC_KEY_SHIFT_LOCK :108,106,42,36 =108,106,42,36 +a :150,106,36,36 =150,106,36,36 +s :186,106,36,36 =186,106,36,36 +d :222,106,36,36 =222,106,36,36 +f :258,106,36,36 =258,106,36,36 +g :294,106,36,36 =294,106,36,36 +h :330,106,36,36 =330,106,36,36 +j :366,106,36,36 =366,106,36,36 +k :402,106,36,36 =402,106,36,36 +l :438,106,36,36 =438,106,36,36 +ö :474,106,36,36 =474,106,36,36 +ä :510,106,36,36 =510,106,36,36 ++ :546,106,36,36 =546,106,36,36 # # forth row # +KC_KEY_ESC :90,142,36,36 =90,142,36,36 +KC_KEY_SHIFT :126,142,42,36 =126,142,42,36 +y :168,142,36,36 =168,142,36,36 +x :204,142,36,36 =204,142,36,36 +c :240,142,36,36 =240,142,36,36 +v :276,142,36,36 =276,142,36,36 +b :312,142,36,36 =312,142,36,36 +n :348,142,36,36 =348,142,36,36 +m :384,142,36,36 =384,142,36,36 +, :420,142,36,36 =420,142,36,36 +. :456,142,36,36 =456,142,36,36 +- :492,142,36,36 =492,142,36,36 +KC_KEY_SHIFT :528,142,54,36 =528,142,54,36 # # fifth row # +KC_KEY_GRAPHIC :114,178,36,36 =114,178,36,36 +KC_KEY_ALT :150,178,36,36 =150,178,36,36 +KC_KEY_SPACE :186,178,288,36 =186,178,288,36 +KC_KEY_INSERT :474,178,36,36 =474,178,36,36 +KC_KEY_DEL :510,178,36,36 =510,178,36,36 # # cursor keys # +KC_KEY_STOP :621,34,54,36 =621,34,54,36 +KC_KEY_UP :630,70,36,36 =630,70,36,36 +KC_KEY_LEFT :612,106,36,36 =612,106,36,36 +KC_KEY_RIGHT :648,106,36,36 =648,106,36,36 +KC_KEY_DOWN :630,142,36,36 =630,142,36,36 +KC_KEY_ENTER :621,178,54,36 =621,178,54,36 KCemu-0.5.1/src/ui/gtk/screenshot.cc0000644000175000017500000002425612417262523017437 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/kc.h" #include "kc/system.h" #include "cmd/cmd.h" #include "ui/gtk/cmd.h" #include "ui/gtk/screenshot.h" #include "libgtkex/libgtkex.h" class CMD_ui_screenshot_window_toggle : public CMD { private: ScreenshotWindow *_w; public: CMD_ui_screenshot_window_toggle(ScreenshotWindow *w) : CMD("ui-screenshot-window-toggle") { _w = w; register_cmd("ui-screenshot-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; void ScreenshotWindow::on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { ScreenshotWindow *self = (ScreenshotWindow *)user_data; self->expose(event); } void ScreenshotWindow::on_save_clicked(GtkButton *button, gpointer user_data) { ScreenshotWindow *self = (ScreenshotWindow *) user_data; self->save(); } void ScreenshotWindow::on_screenshot_clicked(GtkButton *button, gpointer user_data) { ScreenshotWindow *self = (ScreenshotWindow *) user_data; self->screenshot(); } void ScreenshotWindow::configure_spinbutton(GtkWidget *spinbutton1, GtkWidget *spinbutton2, double range) { GtkAdjustment *adj1 = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(spinbutton1)); GtkAdjustment *adj2 = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(spinbutton2)); gtk_adjustment_set_upper(adj2, range - gtk_adjustment_get_value(adj1) - 1); gtk_widget_queue_draw(_w.canvas); } void ScreenshotWindow::on_spinbutton_left_changed(GtkSpinButton *spinbutton, gpointer user_data) { ScreenshotWindow *self = (ScreenshotWindow *)user_data; self->configure_spinbutton(self->_w.crop_left_spinbutton, self->_w.crop_right_spinbutton, self->_width); } void ScreenshotWindow::on_spinbutton_right_changed(GtkSpinButton *spinbutton, gpointer user_data) { ScreenshotWindow *self = (ScreenshotWindow *)user_data; self->configure_spinbutton(self->_w.crop_right_spinbutton, self->_w.crop_left_spinbutton, self->_width); } void ScreenshotWindow::on_spinbutton_top_changed(GtkSpinButton *spinbutton, gpointer user_data) { ScreenshotWindow *self = (ScreenshotWindow *)user_data; self->configure_spinbutton(self->_w.crop_top_spinbutton, self->_w.crop_bottom_spinbutton, self->_height); } void ScreenshotWindow::on_spinbutton_bottom_changed(GtkSpinButton *spinbutton, gpointer user_data) { ScreenshotWindow *self = (ScreenshotWindow *)user_data; self->configure_spinbutton(self->_w.crop_bottom_spinbutton, self->_w.crop_top_spinbutton, self->_height); } gboolean ScreenshotWindow::timeout_handler(ScreenshotWindow *self) { if (self->_window->window == NULL) return FALSE; if (!self->is_visible()) return FALSE; self->_offset += 1; if (self->_offset > 16) self->_offset = 0; gtk_widget_queue_draw(self->_w.canvas); return TRUE; } ScreenshotWindow::ScreenshotWindow(const char *ui_xml_file, UI_Gtk *ui) : UI_Gtk_Window(ui_xml_file) { _ui = ui; _width = 0; _height = 0; _pixbuf = NULL; _cmd_screenshot_toggle = new CMD_ui_screenshot_window_toggle(this); } ScreenshotWindow::~ScreenshotWindow(void) { delete _cmd_screenshot_toggle; } void ScreenshotWindow::init(void) { /* * screenshot window */ _window = get_widget("screenshot_window"); g_signal_connect(_window, "delete_event", G_CALLBACK(cmd_exec_sft), (char *)"ui-screenshot-window-toggle"); // FIXME: /* * canvas, needs GDK_EXPOSURE_MASK to be set! */ _w.canvas = get_widget("drawingarea"); g_signal_connect(_w.canvas, "expose_event", G_CALLBACK(on_expose_event), this); _w.button_screenshot = get_widget("dialog_button_screenshot"); g_signal_connect(_w.button_screenshot, "clicked", G_CALLBACK(on_screenshot_clicked), this); _w.button_save = get_widget("dialog_button_save"); g_signal_connect(_w.button_save, "clicked", G_CALLBACK(on_save_clicked), this); _w.format_combobox = get_widget("format_combobox"); _w.store = get_pixbuf_formats(); gtk_combo_box_set_model(GTK_COMBO_BOX(_w.format_combobox), GTK_TREE_MODEL(_w.store)); gtk_combo_box_set_active(GTK_COMBO_BOX(_w.format_combobox), 0); bind_list_model_column(GTK_COMBO_BOX(_w.format_combobox), 0, "xalign", 1, NULL); _w.filebutton = gtk_filebutton_new("Image"); GtkWidget *c = get_widget("image_file_container"); gtk_container_add(GTK_CONTAINER(c), _w.filebutton); gtk_widget_show(_w.filebutton); _w.crop_left_spinbutton = get_widget("crop_left_spinbutton"); _w.crop_right_spinbutton = get_widget("crop_right_spinbutton"); _w.crop_top_spinbutton = get_widget("crop_top_spinbutton"); _w.crop_bottom_spinbutton = get_widget("crop_bottom_spinbutton"); g_signal_connect(_w.crop_left_spinbutton, "value-changed", G_CALLBACK(on_spinbutton_left_changed), this); g_signal_connect(_w.crop_right_spinbutton, "value-changed", G_CALLBACK(on_spinbutton_right_changed), this); g_signal_connect(_w.crop_top_spinbutton, "value-changed", G_CALLBACK(on_spinbutton_top_changed), this); g_signal_connect(_w.crop_bottom_spinbutton, "value-changed", G_CALLBACK(on_spinbutton_bottom_changed), this); init_dialog("ui-screenshot-window-toggle", "window-screenshot"); } GtkListStore * ScreenshotWindow::get_pixbuf_formats(void) { GtkListStore *store = gtk_list_store_new(4, G_TYPE_STRING, G_TYPE_FLOAT, G_TYPE_STRING, G_TYPE_STRING); GtkTreeIter iter; GSList *formats = gdk_pixbuf_get_formats(); for (GSList *ptr = formats;ptr != NULL;ptr = ptr->next) { GdkPixbufFormat *format = (GdkPixbufFormat *)ptr->data; if (!gdk_pixbuf_format_is_writable(format)) continue; gchar *name = gdk_pixbuf_format_get_name(format); if (strcmp(name, "ico") == 0) continue; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, name, 1, 1.0, 2, NULL, 3, NULL, -1); if (strcmp(name, "png") == 0) gtk_list_store_set(store, &iter, 2, "compression", 3, "9", -1); if (strcmp(name, "jpeg") == 0) gtk_list_store_set(store, &iter, 2, "quality", 3, "90", -1); } g_slist_free(formats); return store; } void ScreenshotWindow::toggle(void) { UI_Gtk_Window::toggle(); if (_w.timeout_id != 0) g_source_remove(_w.timeout_id); if (!is_visible()) return; screenshot(); _w.timeout_id = g_timeout_add(200, (GSourceFunc)timeout_handler, this); } void ScreenshotWindow::screenshot(void) { if (_pixbuf != NULL) gdk_pixbuf_unref(_pixbuf); _pixbuf = _ui->get_screenshot(); int width = gdk_pixbuf_get_width(_pixbuf); int height = gdk_pixbuf_get_height(_pixbuf); if ((_width != width) || (_height != height)) { _width = width; _height = height; gtk_widget_set_size_request(_w.canvas, width, height); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.crop_left_spinbutton), 0.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.crop_right_spinbutton), 0.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.crop_top_spinbutton), 0.0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.crop_bottom_spinbutton), 0.0); } gtk_widget_queue_draw(_w.canvas); } void ScreenshotWindow::expose(GdkEventExpose *event) { if (_pixbuf == NULL) return; GtkStyle *style = gtk_widget_get_style(_w.canvas); gdk_pixbuf_render_to_drawable(_pixbuf, _w.canvas->window, style->black_gc, 0, 0, 0, 0, _width, _height, GDK_RGB_DITHER_NONE, 0, 0); cairo_t *cr = gdk_cairo_create(_w.canvas->window); double x1 = gtk_spin_button_get_value(GTK_SPIN_BUTTON(_w.crop_left_spinbutton)); double y1 = gtk_spin_button_get_value(GTK_SPIN_BUTTON(_w.crop_top_spinbutton)); double x2 = gtk_spin_button_get_value(GTK_SPIN_BUTTON(_w.crop_right_spinbutton)); double y2 = gtk_spin_button_get_value(GTK_SPIN_BUTTON(_w.crop_bottom_spinbutton)); if (x1 + x2 + y1 + y2 < 0.5) return; // align on pixel x1 += 0.5; y1 += 0.5; x2 += 0.5; y2 += 0.5; double dash[2] = { 4.0, 12.0 }; cairo_set_line_width(cr, 1); cairo_set_source_rgb(cr, 1.0, 1.0, 1.0); cairo_move_to(cr, x1, y1); cairo_line_to(cr, _width - x2, y1); cairo_line_to(cr, _width - x2, _height - y2); cairo_line_to(cr, x1, _height - y2); cairo_line_to(cr, x1, y1); cairo_set_dash(cr, dash, 2, _offset); cairo_stroke(cr); cairo_set_source_rgb(cr, 0.0, 0.0, 0.0); cairo_move_to(cr, x1, y1); cairo_line_to(cr, _width - x2, y1); cairo_line_to(cr, _width - x2, _height - y2); cairo_line_to(cr, x1, _height - y2); cairo_line_to(cr, x1, y1); cairo_set_dash(cr, dash, 2, _offset + 8.0); cairo_stroke(cr); cairo_destroy(cr); } void ScreenshotWindow::save(void) { gchar *filename = gtk_filebutton_get_filename(GTK_FILEBUTTON(_w.filebutton)); if (filename == NULL) return; int x1 = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(_w.crop_left_spinbutton)); int y1 = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(_w.crop_top_spinbutton)); int x2 = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(_w.crop_right_spinbutton)); int y2 = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(_w.crop_bottom_spinbutton)); GdkPixbuf *pixbuf = gdk_pixbuf_new_subpixbuf(_pixbuf, x1, y1, _width - x2 - x1, _height - y2 - y1); if (pixbuf == NULL) return; GtkTreeIter iter; if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(_w.format_combobox), &iter)) return; gchar *type, *option, *value; gtk_tree_model_get(GTK_TREE_MODEL(_w.store), &iter, 0, &type, 2, &option, 3, &value, -1); gdk_pixbuf_save(pixbuf, filename, type, NULL, option, value, NULL); g_free(type); g_free(option); g_free(value); g_free(filename); } KCemu-0.5.1/src/ui/gtk/ui_gtk_base.cc0000644000175000017500000000246112417262523017530 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/gtk/ui_gtk_base.h" UI_Gtk_Base::UI_Gtk_Base(UI_Base *generic_ui) { _generic_ui = generic_ui; } UI_Gtk_Base::~UI_Gtk_Base(void) { } UI_Base * UI_Gtk_Base::get_generic_ui(void) const { return _generic_ui; } const list & UI_Gtk_Base::get_colors(void) const { return _colors; } Scanline * UI_Gtk_Base::get_scanline(void) { return NULL; } MemAccess * UI_Gtk_Base::get_mem_access(void) { return NULL; } KCemu-0.5.1/src/ui/gtk/module.cc0000644000175000017500000002442212417262523016542 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/prefs/prefs.h" #include "kc/mod_list.h" #include "cmd/cmd.h" #include "ui/gtk/cmd.h" #include "ui/gtk/module.h" #include "libgtkex/libgtkex.h" class CMD_ui_module_window_toggle : public CMD { private: ModuleWindow *_w; public: CMD_ui_module_window_toggle(ModuleWindow *w) : CMD("ui-module-window-toggle") { _w = w; register_cmd("ui-module-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; ModuleWindow::ModuleWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _cmd = new CMD_ui_module_window_toggle(this); init2(); // FIXME: can't use delayed init() } ModuleWindow::~ModuleWindow(void) { delete _cmd; } void ModuleWindow::sf_color_expansion(GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON(widget)->active) module_list->insert(61, module_list->get_color_expansion()); else module_list->insert(61, NULL); } void ModuleWindow::sf_activate(GtkWidget *widget, gpointer data) { long slot = (long)data; if (GTK_CHECK_MENU_ITEM(widget)->active) { ModuleListEntry *e; e = (ModuleListEntry *)gtk_object_get_user_data(GTK_OBJECT(widget)); module_list->insert(slot, e); } } GtkWidget * ModuleWindow::create_menu(int slot) { kc_type_t type = Preferences::instance()->get_kc_type(); GtkWidget *menu = gtk_menu_new(); GSList *group = NULL; for (ModuleList::iterator it = module_list->begin();it != module_list->end();it++) { if (((*it)->get_kc_type() & type) == 0) continue; GtkWidget *menuitem = gtk_radio_menu_item_new_with_label(group, (*it)->get_name()); if ((*it)->get_mod() != NULL) gtk_widget_set_sensitive(menuitem, (*it)->get_mod()->is_valid()); gtk_object_set_user_data(GTK_OBJECT(menuitem), (*it)); gtk_signal_connect(GTK_OBJECT(menuitem), "activate", GTK_SIGNAL_FUNC(sf_activate), (gpointer)slot); group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(menuitem)); gtk_menu_append(GTK_MENU(menu), menuitem); gtk_widget_show(menuitem); } _w.g[slot] = group; return menu; } void ModuleWindow::init_device(const char *name, int base, int active_slots) { char buf[10]; int a, b, c, idx, slot; a = base / 16; /* * frame */ _w.frame[a] = gtk_frame_new(name); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.frame[a], FALSE, FALSE, 0); gtk_widget_show(_w.frame[a]); /* * table */ _w.table[a] = gtk_table_new(2, 6, 0); gtk_container_border_width(GTK_CONTAINER(_w.table[a]), 4); gtk_table_set_row_spacings(GTK_TABLE(_w.table[a]), 2); gtk_table_set_col_spacings(GTK_TABLE(_w.table[a]), 4); gtk_table_set_col_spacing(GTK_TABLE(_w.table[a]), 2, 16); gtk_container_add(GTK_CONTAINER(_w.frame[a]), _w.table[a]); gtk_widget_show(_w.table[a]); for (b = 0;b < 4;b++) { /* * skip slots that are not active for the * current device (e.g. slot 0 and 4 for the * basis device) */ if ((active_slots & (1 << b)) == 0) continue; c = b ^ 3; slot = 16 * a + 4 * b; idx = slot / 4 - 2; sprintf(buf, "%X", 4 * b); _w.l[idx] = gtk_label_new(buf); gtk_misc_set_alignment(GTK_MISC(_w.l[idx]), 0, 0.5); gtk_table_attach(GTK_TABLE(_w.table[a]), _w.l[idx], 3 * (c & 1), 3 * (c & 1) + 1, (c & 2) / 2, (c & 2) / 2 + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show(_w.l[idx]); _w.m[idx] = gtk_option_menu_new(); gtk_option_menu_set_menu(GTK_OPTION_MENU(_w.m[idx]), create_menu(idx)); gtk_table_attach(GTK_TABLE(_w.table[a]), _w.m[idx], 3 * (c & 1) + 1, 3 * (c & 1) + 2, (c & 2) / 2, (c & 2) / 2 + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_FILL, 0, 0); gtk_widget_show(_w.m[idx]); _w.led[idx] = gtk_led_line_new(1); gtk_table_attach(GTK_TABLE(_w.table[a]), _w.led[idx], 3 * (c & 1) + 2, 3 * (c & 1) + 3, (c & 2) / 2, (c & 2) / 2 + 1, (GtkAttachOptions)0, GTK_FILL, 0, 0); gtk_widget_show(_w.led[idx]); } } void ModuleWindow::init_device_1(const char *name, int nr_of_slots) { int a; char buf[10]; gboolean color_expansion_active; /* * frame */ _w.frame[0] = gtk_frame_new(name); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.frame[0], FALSE, FALSE, 0); gtk_widget_show(_w.frame[0]); /* * table */ _w.table[0] = gtk_table_new(5, 3, 0); gtk_container_border_width(GTK_CONTAINER(_w.table[0]), 4); gtk_table_set_row_spacings(GTK_TABLE(_w.table[0]), 2); gtk_table_set_col_spacings(GTK_TABLE(_w.table[0]), 4); gtk_table_set_col_spacing(GTK_TABLE(_w.table[0]), 2, 16); gtk_container_add(GTK_CONTAINER(_w.frame[0]), _w.table[0]); gtk_widget_show(_w.table[0]); if (nr_of_slots == 0) { _w.l[0] = gtk_label_new(_("No module slots available for this computer.")); gtk_misc_set_alignment(GTK_MISC(_w.l[0]), 0, 0.5); gtk_table_attach(GTK_TABLE(_w.table[0]), _w.l[0], 0, 2, 0, 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_FILL, 0, 0); gtk_widget_show(_w.l[0]); } for (a = 0;a < nr_of_slots;a++) { snprintf(buf, 10, _("Slot %d"), nr_of_slots - a); _w.l[a] = gtk_label_new(buf); gtk_misc_set_alignment(GTK_MISC(_w.l[a]), 0, 0.5); gtk_table_attach(GTK_TABLE(_w.table[0]), _w.l[a], 0, 1, a, a + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_FILL, 0, 0); gtk_widget_show(_w.l[a]); _w.m[a] = gtk_option_menu_new(); gtk_option_menu_set_menu(GTK_OPTION_MENU(_w.m[a]), create_menu(a)); gtk_table_attach(GTK_TABLE(_w.table[0]), _w.m[a], 1, 2, a, a + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_FILL, 0, 0); gtk_widget_show(_w.m[a]); _w.led[a] = gtk_led_line_new(1); #if 0 gtk_table_attach(GTK_TABLE(_w.table[0]), _w.led[a], 2, 3, a, a + 1, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_FILL, 0, 0); #endif gtk_widget_show(_w.led[a]); } kc_type_t type = Preferences::instance()->get_kc_type(); kc_variant_t variant = Preferences::instance()->get_kc_variant(); if (type & KC_TYPE_85_1_CLASS) { color_expansion_active = false; if (type == KC_TYPE_85_1) if (variant == KC_VARIANT_85_1_11) color_expansion_active = true; if (type == KC_TYPE_87) if (variant != KC_VARIANT_87_10) color_expansion_active = true; _w.color_exp = gtk_check_button_new_with_label(_("IRM Color Expansion")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.color_exp), color_expansion_active); gtk_table_attach(GTK_TABLE(_w.table[0]), _w.color_exp, 1, 2, 4, 5, (GtkAttachOptions)(GTK_EXPAND | GTK_FILL), GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(_w.color_exp), "toggled", GTK_SIGNAL_FUNC(sf_color_expansion), NULL); gtk_widget_show(_w.color_exp); } } void ModuleWindow::init(void) { /* * can't use delayed init, need to fix the insert() and * activate() methods for this */ } void ModuleWindow::init2(void) { int a; char buf[100]; memset(_w.l, 0, sizeof(GtkWidget *) * NR_OF_SLOTS); memset(_w.m, 0, sizeof(GtkWidget *) * NR_OF_SLOTS); memset(_w.led, 0, sizeof(GtkWidget *) * NR_OF_SLOTS); memset(_w.g, 0, sizeof(GSList *) * NR_OF_SLOTS); _nr_of_bd = module_list->get_nr_of_busdrivers(); /* * window */ _window = get_widget("module_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-module-window-toggle"); // FIXME: /* * vbox */ _w.vbox = get_widget("main_vbox"); kc_type_t type = Preferences::instance()->get_kc_type(); if (Preferences::instance()->get_int_value("d004", 0) && (type & KC_TYPE_85_2_CLASS)) init_device(_("Floppy Disk Basis [F0]"), 0xf0, 3); if (type & KC_TYPE_85_2_CLASS) for (a = _nr_of_bd;a > 0;a--) { sprintf(buf, _("D002: Busdriver [%02X]"), 16 * a); init_device(buf, 16 * a, 15); } const EmulationType &emulation_type = Preferences::instance()->get_system_type()->get_emulation_type(); int module_slots = emulation_type.get_module_slots(); if (module_slots >= 0) init_device_1(_("Basis Device"), module_slots); else init_device(_("Basis Device"), 0, -module_slots); const char *help_topic_module = emulation_type.get_help_topic_module(); if (help_topic_module != NULL) g_object_set_data(G_OBJECT(_w.vbox), "help-topic", (gpointer)help_topic_module); init_dialog("ui-module-window-toggle", "window-module"); } /* * UI_ModuleInterface */ void ModuleWindow::insert(int slot, ModuleInterface *m) { int a; GSList *e; GtkObject *o; ModuleInterface *m2; e = _w.g[slot]; /* * FIXME: This depends on the fact that the GSList used for * radio_option_menu_items has the items stored in * reverse order! */ a = g_slist_length(e) - 1; while (e != 0) { o = GTK_OBJECT(e->data); m2 = ((ModuleListEntry *)gtk_object_get_user_data(o))->get_mod(); if (m2 == m) { gtk_option_menu_set_history(GTK_OPTION_MENU(_w.m[slot]), a); return; } a--; e = e->next; } } void ModuleWindow::activate(int slot, byte_t value) { if (_w.m[slot]) { gtk_widget_set_sensitive(_w.m[slot], !(value & 1)); //gtk_led_line_set_led(GTK_LED_LINE(_w.led[slot]), 0, value & 1); } } KCemu-0.5.1/src/ui/gtk/poly880_keyboard_pressed.xpm0000644000175000017500000071004212417262523022324 0ustar glaubitzglaubitz/* XPM */ static char *poly880_keyboard_pressed[] = { /* width height num_colors chars_per_pixel */ " 680 340 52 1", /* colors */ ". c #563f49", "# c #000000", "a c #7c0a00", "b c #7a7a70", "c c #780004", "d c #a93b0c", "e c #a3998b", "f c #9d0303", "g c #a3360b", "h c #962c08", "i c #700e01", "j c #831d05", "k c #9c310a", "l c #761302", "m c #7d1803", "n c #902707", "o c #892206", "p c #968c7d", "q c #827768", "r c #7c7061", "s c #8f8576", "t c #9d9284", "u c #756a5a", "v c #685c4c", "w c #6f6353", "x c #897e6f", "y c #960303", "z c #890202", "A c #900202", "B c #820202", "C c #750101", "D c #610000", "E c #680000", "F c #6e0101", "G c #7c0101", "H c #135817", "I c #04a403", "J c #039702", "K c #039002", "L c #049e03", "M c #017d01", "N c #006900", "O c #017601", "P c #028a02", "Q c #007000", "R c #028301", "S c #432f38", "T c #302026", "U c #49353e", "V c #503a43", "W c #3d2a32", "X c #36252c", /* pixels */ "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#................", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#...............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#cccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccccc#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddddddddddghhhhddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddkjliiiiiimndddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiimjhdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddgmiiiiiiiiiiilkdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiiiiiindddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddddhiiiiiljjjliiiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddhiiiijkdddddkmiiiikdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddhoiiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddgliiihdddddddddjiiildddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddgliiioddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddoiiihdddddddddddmiiinddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddgliiigdddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddgiiimddddddddddddkiiimddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddhiiiodddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddoiiikdddddddddddddljohddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddliildddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddliiiddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddoiiikddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddhiiihddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddkiiinddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddgiiioddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiljjjjjjjjjjjnddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddhiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddddiiijddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiijddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddhiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddddiiijddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiijddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddhiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddddiiijddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiimhhhhhhhhhhhkddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddhiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddddiiijddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeepqrrrseeeeeeeeetsrrrseeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeepsspeeeeeetssseeessssssssssteesssteeeeeepsspeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddgiiioddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddkiiioddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeetuvvvvvvwseeeeeexvvvvvvvxeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervvueeeeeexvvveeevvvvvvvvvvseevvvxeeeeeeuvvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffyzzzzzzzAffffffzzzzzzzzzzyffffyBCCCzfffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddhiiihddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeepvvqpeepqvvpeeeeqvwxtetxwvqeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervvvteeeeervvveeevvssssssssteevvvueeeeeevvvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDDDDDDDDEzffffDDDDDDDDDDzfffzDDDDDDEzfffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddjiiiddddddddddddddkimjkdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddoiiigddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeewvseeeeeexvueeepvwteeeeetwvpeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervrvseeeeevrvveeevveeeeeeeeeeevvrveeeeesvrvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDFzzzzzCDDyfffDDzzzzzzzzyffADDBffyGDEyffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddniiikdddddddddddddoiiindddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddliildddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeesvueeeeeeeewueeeuvxeeeeeeexvueeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsvreeeesvsvveeevveeeeeeeeeeevvsvseeeervsvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffffGDGfffDDfffffffffffGDBfffffCDBffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddgiiimdddddddddddddliiigdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddniiindddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeervseeeeeeeeeeeeevveeeeeeeeevveeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsrveeeervevveeevveeeeeeeeeeevvevreeeevrsvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffffzDCfffDDfffffffffffCDzfffffACBffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddoiiihdddddddddddoiiioddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddgliiigdddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeevveeeeeeeeeeeeesvreeeeeeeeervseeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsxvseeewuevveeevvssssssspeeevveuveeepvxsvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffffBDCfffDDfffffffffffBDEyfffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddgliiihdddddddddniiiigddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddgliiinddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeevveeeeepssssstesvreeeeeeeeervseeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervstvqeepvxevveeevvvvvvvvvreeevvexvpeeqvtsvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffffBDDAfffDDzzzzzzzAffffEDDFBAffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddhiiiimkdddddkmiiiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddghoiiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeevveeeeervvvvvsesvreeeeeeeeervseeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsewweeqvtevveeevvssssssspeeevvepvqeewuesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDDDDDDDDDGffffDDDDDDDDDCfffffGEDDDEGyfffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddddhiiiiiljjjliiiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeewvteeeepsssuvsepvueeeeeeeeeuvpeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseqvpeuweevveeevveeeeeeeeeeevveewwetvqesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDECCCDDCAfffffDDzzzzzzzAfffffffAGFDDEyffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddhliiiiiiiiiiilhdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiiiiilndddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeervxeeeeeeeervseevvteeeeeeetvveeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsepvxtvqeevveeevveeeeeeeeeeevveeqvtxvpesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffADEyfffffDDffffffffffffffffffyCDCffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddnmiiiiiiimndddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiijjhdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeepvweeeeeeeervseeqvqeeeeeeeqvqeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseevuxvseevveeevveeeeeeeeeeevveesvxuveesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffzDEyffffDDffffffffffACBffffffyDDffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddddddddddkhhhhddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeervrteeeeepwvseetwvseeeeesvwteeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseervrveeevveeevveeeeeeeeeeevveeevrvreesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffffCDCffffDDffffffffffADEfffffffDDffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeervwqssxuvvrteeeswvuxsxuvvseeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseesvvreeevveeevvrrrrrrrrxeevveeervvseesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffffyEDAfffDDfffffffffffEDCfffffBDCffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeexwvvvvvupeeeeeetuvvvvvrteeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseeevvseeevveeevvvvvvvvvvreevveeesvveeesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffffBDEfffDDCCCCCCCCBffADDFBzzFDEyffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeetssseeeeeeeeeeeessseeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffffffFDGffDDDDDDDDDDCfffAFDDDDDFyfffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccfffffffffffffffffffffffffffffffffffffffffffffffzzzyfffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddkhhhhhkddddddkojjhdddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjiiiiiimgdddjimjjilgdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjddddkloddolkdddglmdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjdddddnidgihdddddkikddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjdddddhidnidddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjdddddmmdjjdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjljjjjlikdjjdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjljjjjngddjjdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjddddddddhidddddddnkddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjddddddddgindddddginddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjdddddddddolkdddglldddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjddddddddddjimjjilgdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddkkdddddddddddkojjndddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcccc#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#cccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccccc#..............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#..............", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#...............", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#...............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddkjliiijnddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddhjiiimogddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddniiiigdddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiimjkdddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddgmiiiiiiiilgddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddgliiiiiiiiodddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddliiiindddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiimgdddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddliiiiiiiiiilgdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddgliiiiiiiiiijddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddkiiiiildddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiilgddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddoiiimkddgoiiildddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddliiimhddgnliiodddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddoiijiiikddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddghmiiimddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddiiijddddddniiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddoiiijddddddgliikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddiiinjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddmiiikdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddhiiikdddddddliioddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddliilddddddddniijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddniiigkiiigdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddkiiiodddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddhiiiddddddddjiijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddgiiindddddddddiiiddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddmiijddliindddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddiiijdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddhiiigdddddddmiijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiigdddddddddjiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddkiiikddoiildddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddiiijdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddiiinddddddgiiihddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiiddddddddddjiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddoiimdddgiiikddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddkiiihdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddoiiihddddgliildddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiiddddddddddjiiodddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddiiinddddmiijddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddmiilddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddjiiiljjmiiilgdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddkiiikdddddddddiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddniiigddddniiigdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddhmiiihddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddddkliiiiiiindddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiioddddddddniiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddmiijddddddiiindddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiilhdddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddhliiiiiiiiinddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddoiiihddddddgliiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiihddddddjiildddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiinddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddjiiilohhnmiiijdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddgiiiiokddgniiiiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddoiiidddddddkiiikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiilhddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddhiiijddddddhiiioddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddhiiiiiiiiiijjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiioddddddddliijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddhoiiiihdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddkhhkddddddghhhddddddknjjokddddddghhddddddghkdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddliimddddddddniiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddhliiiiiiiodjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddniiiiiiiiiiiiiiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddgliildddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjiimddddddniiiddddgjiiiiiilkddddhiihdddddhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddgiiihdddddddddiiindddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddgomiiljkddmiihdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddmiiiiiiiiiiiiiiiindddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddniiihddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjiiigdddddjiiiddddlimhddkoiikdddhiilgddddhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddhiiiddddddddddjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddiiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddkiiiiiiiiiiiiiiiiildddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddgiiijddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeesrrrxteeeessssssssssstetsssssssssseeessssssspeeeeeeeeeebbb##bbbeeeeeeeeeeeeeetssssssspeeeeeessssssssssteeeeeesrrrqpeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjijihdddddijiidddoijddddddhildddhiiioddddhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddhiiiddddddddddjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddkiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddoiiigddddddddddniiikddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddiiijddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeetwvvvvvvqeeevvvvvvvvvvvsesvvvvvvvvvveeevvvvvvvvwseeeeeeeebbb##bbbeeeeeeeeeeeeeesvvvvvvvvwseeeevvvvvvvvvvseeeeswvvvvvvuteeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihijddddhihiiddgiigdddddddminddhimiikdddhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddhiiigdddddddddmiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddhnjkddddddddoiilddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiimdddddddddddgiiijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddgiiijddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeewvrteexwvseessssqvusssstesvusssssssseeevvsssssrvvteeeeeeebbb##bbbeeeeeeeeeeeeeesvusssssrvvteeevvssssssssteeeqvwxteesuvweeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihjiddddjidiiddhijddddddddhijddhijoildddhijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddiiinddddddddgiiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddliijddddddddliioddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddniiinddddddddddddjiiigdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddniiihddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeepvueeeeesvueeeeeesvreeeeeesvreeeeeeeeeeevveeeeeervxeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeeqvqeeevveeeeeeeeeeepvwteeeeeeuvxeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihnihdddlmdiiddjihdddddddddiiddhijdlioddhijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddmiilgdddddddjiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiiigddddddoiiigddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddmiiidddddddddddddhiiindddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddgliiigddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeesvreeeeeerreeeeeesvreeeeeesvreeeeeeeeeeevveeeeeesvreeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeesvreeevveeeeeeeeeeervxeeeeeeepvxeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihgioddkindiiddjihdddddddddiiddhijdkiigdhijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddkiiilkddddgjiiioddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiilgdddgjiiiodddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddkiiijddddddddddddddiiildddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddknliiiodddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeetvvseeeeeeeeeeeeesvreeeeeesvreeeeeeeeeeevveeeeeexvreeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeexvreeevveeeeeeeeeeevveeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihdllddoigdiiddjihdddddddddiiddhijddoimdhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddoiiiiljjmiiiildddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddjiiiimjjiiiijddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddoiiikddddddddddddddoiiikddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiilddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeqvvwqseeeeeeeeeesvreeeeeesvusssssssteeevveeeeetwvseeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeexvvpeeevvssssssspeesvreeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihdoikdmlddiiddoinddddddddgilddhijddglinhijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddoiiiiiiiiiijgdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddjiiiiiiiiijdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddliildddddddddddddddkiiioddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiodddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeesuvvvvrpeeeeeeesvreeeeeesvvvvvvvvvseeevvrrrrrvvreeeeeeeebbb##bbbeeeeeeeeeeeeeesvvvvvvvvvqeeeevvvvvvvvvreesvreeeeesssssseeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihdkingioddiiddhimddddddddnijddhijdddhiinijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddddkjiiiiiimndddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddnliiiiimhddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddiiioddddddddddddddddliiiddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiljngddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeetxrvvvseeeeeesvreeeeeesvusssssssteeevvvvvvvuqeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvwrrrvvrpeeeeevvssssssspeesvreeeeevvvvvveeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihddimnihddiidddlikdddddddlikddhijddddjilijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddkhhhddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddghhhdddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeexvveeeeeesvreeeeeesvreeeeeeeeeeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeepvwteeeeevveeeeeeeeeepvueeeeessssvveeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihddjijidddiidddhilgdddddjijdddhijddddgliijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeerreeeeeeeuvseeeeesvreeeeeesvreeeeeeeeeeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeesvwteeeevveeeeeeeeeeevvteeeeeeeevveeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihddhiijdddiiddddoiijhholilgdddhijdddddniijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeewvpeeeeeervseeeeesvreeeeeesvreeeeeeeeeeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeervreeeevveeeeeeeeeeeqvqeeeeeeeevveeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihdddiihdddiidddddhliiiilodddddhijddddddmijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeqvwteeeetvveeeeeesvreeeeeesvreeeeeeeeeeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeetwvpeeevveeeeeeeeeeetwvxeeeeeexvveeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddghhkddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeewvwqssqvvseeeeeesvreeeeeesvwrrrrrrrrpeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeexvweeevvrrrrrrrrxeeetwvuxssqwvvxeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeetqvvvvvwseeeeeeesvreeeeeesvvvvvvvvvvseevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeeeuvqeevvvvvvvvvvreeeetqvvvvvvqteeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeepsspeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeepsspeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddkkddkhhhhhhhgdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkdghgdddddhkdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkdhkddddddkhdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddgnjjngddddhhhhhhgdddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjiiiiiiihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddmmddddnigdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdnigddddgindddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddklljjlihdddiiiiiiioddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddglnddkinddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddmjddddmmddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddmjddddoigddihddddnikdddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddhikdljdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddkihddhikddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddihdddddjkddihdddddmjdddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddjlolgdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddolgglodddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddljgddddddddihdddddjjdddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjmhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddglihddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddljjlddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddhiimokdddddihddddgindddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjiiiiiiiddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddglihddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddkiikddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkjliilhdddimjjjjilddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddjlolgdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddddddgnlikddimjjjjhdddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddhikdljdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddghddddddljddihddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddgloddkihddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddkikdddddjjddihddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddmlddddnlgdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddlmgdddkihddihddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjiiiiiiijdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdnigdddddmmdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddglijjmijdddihddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddkkddkhhhhhhhkdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkdhkddddddghgddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkdddddkkdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddddhjjokddddhgddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#..............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#...............", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#................", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#...............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#HHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHH#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#HHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddgomiiimogdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkjjjjjjjjjjjjjjjjnddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddkjjjjjjjjjjjjkddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddoiiiiiiiiioddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddhiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddhjjkddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddjiiiiiiiiiiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddjiiiiiiiiiiijdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddhiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddddddkiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddmiiiiiiiiiiiihddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddoiiimhddgnliiikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkjjjjjjjjjjjjjliihddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIJKKJIIIIIILKKKIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddgliiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddiiimjjjjjjjjjkddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiijddddddgiiimddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddhiindddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNNOIIIIIIPNNNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddmiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddkiiihddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiilddddddddoiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddhiijddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNNNLIIIIIMNNNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddddoiiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddhiiidddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiinddddddddgiljkdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddglilgddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNMNKIIIIINMNNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddhiiiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddjiildddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiidddddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddmiihdddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKNMIIIIKNKNNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddgiiiliiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddmiijdddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddoiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddniimddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKMNIIIIMNINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddliiihiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddiiinddkhhgdddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddjiioddkjliimogdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddgliigddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKPNKIIIQOINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddjiiindiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiihnliiiilndddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddliihgmiiiiiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddoiiodddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKLNRIIJNPINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddhiiijddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddhiiiliiiiiiiimgdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiinliiiiiiiiiihdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddgiiigdddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIQQIIRNLINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddkiiilgddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiiiiimjjmiiiimdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiililngddkoiiiikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddmiioddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIRNJIOQIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddgliiikdddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddmiiimgddddgjiiioddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiilgddddddgliilddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddgiiigddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIJNPLNRIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddjiiihddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjmijddddddddmiiiddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiigddddddddniiikdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddoiimdddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIINOPNKIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddniiijdddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddkiiihdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijddddddddddiiindddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddiiihdddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIIMNMNIIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddhiiilddddddiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddliiodddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiihddddddddddjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddhiiiddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeetsssssssssteeeeepqrrxteeeepsssssssssspeeeeeeeeeeeeeebbb##bbbeeeeeeeetsssssspeeeeeeeeetsseeeeeeeeeetxrrqpeeeeetspeeeeeepsseeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIIKNNMIIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddgliiigddddddiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddjiihddddddddddjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvvvvvvvvvseeetuvvvvvvseeervvvvvvvvvvreeeeeeeeeeeeeebbb##bbbeeeeeeeesvvvvvvvwseeeeeeervvseeeeeeeeqvvvvvvreeeesvreeeeesvvseeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIIINNKIIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddjiiiljjjjjjjiiimjjndddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddjiihddddddddddjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvusssssssteetwvqpeexvvseepssssvvsssspeeeeeeeeeeeeeebbb##bbbeeeeeeeesvussssqvvteeeeetvuvueeeeeeervuseepwvreeesvreeeesvvseeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddjiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddkhddddddddddjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiijddddddddddiiindddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddhiiidddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeeuvxeeeeesvweeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeeqvqeeeeexvxuvteeeeexvueeeeetwvpeesvreeesvvseeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddjiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiigdddddddddiiihdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddgiiigddddddddkiiikdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddoiimdddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeetvweeeeeeewrpeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeesvreeeeewvesvqeeeeeuvpeeeeeequxeesvreesvvseeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddnjjjjjjjjjjjiiimjjndddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiinddddddddniiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiimdddddddgliimddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddmiijdddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeexvreeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeeqvxeeeepvreewweeeetvveeeeeeeeeeeesvresvvseeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddmiilgddddddgliimddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddgiiilkddddkliiikddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddiiihdddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvusssssseeervseeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvussssqvreeeeervpeeqvseeesvreeeeeeeeeeeesvrsvvxeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiilkddddkliiigddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddhiiiiljjliiiijdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddgiiihdddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvvvvvvvveeervseeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvvvvvvvvpeeeetvweeepvueeesvreeeeeeeeeeeesvwvvvueeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddjiiiimjjliiiihdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddhiiiiiiiiiijddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddhiiiddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvusssssseeervseeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvussssqwvseeexvxeeeeuvteesvreeeeeeeeeeeesvvvswvreeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddjiiiiiiiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddgoiiiiiimkdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddhiiiddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeqvxeeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeetvvteewvvvvvvvvqeepvueeeeeeeeeeeesvvsetwvseeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIKMMMKIIIIJKJIIIIIIIIJKJIIIILPMMRJIIIIILKJIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddkmiiiiiiogdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddkhhhddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeesvreeeeeeexuxeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeeervsepvwrrrrrrvweeevveeeeeeetwreesvreeesvvteeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIKQNNNNNQLIILNNJIIIIIIJNNLIIIRNNNNNNMIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddhhhkddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeevvteeeeeewvseeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeeeuvseuvseeeeeervxeervxeeeeeeqvreesvreeeeqvwteeeeeeeebbb#............................................................#HHHIIIIIIIIIIKNQPLILMNQLIIPNQLIIIILQNPIIIMNOKIIJQNMIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeeqvuteeeervweeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeesvvetvveeeeeeepvueepvvpeeeesvvpeesvreeeeervreeeeeeeebbb#............................................................#HHHIIIIIIIIILNNLIIIIIMNRIIIMNMIIIIMNOIIIPNOIIIIILQNJIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeeervwqssuvvpeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvwrrrruvvseqvqeeeeeeeewvpeesvvrssqvvqeeesvreeeeetwvxeeeeeeebbb#............................................................#HHHIIIIIIIIIPNRIIIIIIJQMIIILQNKIIKNQLIIIONJIIIIIIROPIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeeeeqvvvvvuteeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvvvvvvvrpeewvpeeeeeeeeqvqeeeswvvvvwseeeesvreeeeeepvvseeeeeebbb#............................................................#HHHIIIIIIIIIONKIIIIIIIIIIIIIKNQLLQNKIIILNNIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeesssteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeepsspeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIINNIIIIIIIIIIIIIIIMNMMNMIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIINNIIIIIIIIIIIIIIILQNNQLIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIINNIIIIIIIIIIIIIIIIKNNKIIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIQNLIIIIIIIIIIIIIIIINNIIIIIIJNOIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIMNKIIIIIIIOMJIIIIIINNIIIIIIINNIIIIIIILQMIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIKNOIIIIIIJNNIIIIIIINNIIIIIIIMNPIIIIIIRNMIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIQNRIIIILQNRIIIIIIINNIIIIIIIJNNJIIIIKNNJIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIILQNOPKPQNQIIIIIIIINNIIIIIIIIKNNMKKRNNRIIIKNQMMMMMMJIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIILONNNNNRIIIIIIIIINNIIIIIIIIIKQNNNNQKIIIIKNNNNNNNNKIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIILKKKIIIIIIIIIIIIIIIIIIIIIIIIJKKJIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddgkddddddhhhhhhhkdddghdhhgdddddhhgddhgdddddddddddddddddddddddaaa##aaadddddkhhhhhgddddddkojjhddddddghdhhgdddddhhgddddkojjnddddddddddddddddaaa##aaadddddkhhhhhgdddddhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkddddddhgddhgddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddmigdddddiiiiiiijdddomdiioddddkiihddihdddddddddddddddddddddddaaa##aaadddddjiiiiiioddddjimjjilgddddomdiioddddkiihdddoiljjilhddddddddddddddaaa##aaadddddjiiiiiimgdddiiiiiiiidddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddgijndddddihdddddddddlodilmddddnlihddihdddddddddddddddddddddddaaa##aaadddddjjddddninddolkdddglmddddlodilmddddnlihddoihdddgjigdddddddddddddaaa##aaadddddjjddddklldddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddookldddddihddddddddgikdioigdddmoihddihdddddddddddddddddddddddaaa##aaadddddjjdddddjjdgihdddddkikddgikdioigdddmoihdginddddddmmdddddddddddddaaa##aaadddddjjdddddginddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddlkdlkddddihddddddddniddihinddgihihddihdddddddddddddddddddddddaaa##aaadddddjjdddddmodnidddddddddddniddihinddgihihdnidddddddhidddddddddddddaaa##aaadddddjjddddddomddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddhlddojddddiohhhhkdddjjddihjjddhidihddihdddddddddddddddddddddddaaa##aaadddddjmhhhhmigdjjdddddddddddjjddihjjddhidihdjjddddddddihddddddddddddaaa##aaadddddjjddddddhiddiohhhhhkdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjljjjjjjihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddmoddgigdddiiiiiijdddihddihhiddjjdihddihdddddddddddddddddddddddaaa##aaadddddjiiiiiijddjjdddddddddddihddihhiddjjdihdjjddddddddihddddddddddddaaa##aaadddddjjddddddhiddiiiiiiijdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjljjjjjjihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddgimjjjindddihdddddddhigddihgihdindihddihdddddddddddddddddddddddaaa##aaadddddjjddddklodjjddddddddddhigddihgihdindihdjjddddddddihddddddddddddaaa##aaadddddjjddddddhiddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddoljjjjmldddihdddddddomdddihdmohigdihddihdddddddddddddddddddddddaaa##aaadddddjjdddddhidhidddddddnkdomdddihdmohigdihdnldddddddhigddddddddddddaaa##aaadddddjjddddddjmddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddlnddddgikddihdddddddlodddihdololddihddihdddddddddddddddddddddddaaa##aaadddddjjdddddnidgindddddgindlodddihdololddihdginddddddmmdddddddddddddaaa##aaadddddjjdddddginddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddhiddddddjjddihddddddgikdddihdkiloddihddihdddddddddddddddddddddddaaa##aaadddddjjddddkloddolkdddglldgikdddihdkiloddihddoihddddjikdddddddddddddaaa##aaadddddjjddddhlldddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddmjddddddhigdihddddddniddddihddiihddihddihdddddddddddddddddddddddaaa##aaadddddjiiiiiimgdddjimjjilgdniddddihddiihddihdddoiljjilhddddddddddddddaaa##aaadddddjiiiiiimgdddiiiiiiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddiiiiiiidddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddhgdddddddhgdhgddddddkkddddhgddkhdddhgddhgdddddddddddddddddddddddaaa##aaadddddkhhhhhgddddddkojjndddkkddddhgddkhdddhgddddkojjngdddddddddddddddaaa##aaadddddkhhhhhgdddddhhhhhhhhgddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkddddddhgddhhhhhhhdddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#HHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHH#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#HHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHH#..............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#..............", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#...............", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", ".................######################################################################......######################################################################......######################################################################......######################################################################........................................................................................................######################################################################........................................................................................................######################################################################.................", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#......................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#......................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#................", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#....................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#...............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#..................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#..................................................................................................#cccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccccc#..................................................................................................#HHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHH#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#..................................................................................................#ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcccc#..................................................................................................#HHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddmijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddnjiiimokddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddkjliiijhdddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddniijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddgomiiiljhddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddgliiiiiiiiodddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddjiiiiiiiimgdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddhiiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddoiiiiiiiiilkddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddgliiiiiiiiiijddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddjiiiiiiiiiilgddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddhiiiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddjiiiiiiiiiiiihdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddliiiokddkmiiindddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddniiilhddkjiiijddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddoiiiiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddoiiilngddkjiiilgddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddniiihddddddmiildddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddliimddddddjiiikdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddkliiiiiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddiiimdddddddhiiinddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiimdddddddkiiikddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddhiiigdddddddliiodddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddmiiiinjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddhiiigddddddddmiimddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjminddddddddiiihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddjiimddddddddniildddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddiiilkdjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddjiimdddddddddhiiiddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddliinddddddddgiiikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddilndddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddkhjndddddddddhiiiddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddniiidddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddiiihdddddddddiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddndddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddoiilddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddhiiiodddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddgiiikdddddddddliinddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddliijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddkhnmiiijddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddoiiikddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddjiiiiindddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddhiiimdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddmiiiiiioddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddhiiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddohhnmiiilgddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddhiiiihddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddhiiijddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddhiiiihdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddniiikdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddiiindddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddkiiiddddddddddmiioddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddgjiiiihdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddjiijdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffyzzzzzzzzzzffzzyffffffzzAffzzzzzzzzzzyfffffyBCCGAfffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIKMMMKIIIIJKJIIIIIIIIJKJIIIILPMMRJIIIIILKJIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddiiihdddddddddiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddgliiilgddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddkhddddddddddjiijdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDDDDDDDDDDffBDEyffffzDDyffDDDDDDDDDDzffffGDDDDDDCffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIKQNNNNNQLIILNNJIIIIIIJNNLIIIRNNNNNNMIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddiiihdddddddddiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddgliiijgdddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiikdddddddddmiijdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDFzzzzzzzzfffCDCfffyEDBfffDDzzzzzzzzyfffCDFzffAEDCfffffffffccc#..................................................................................................#HHHIIIIIIIIIIIKNQPLILMNQLIIPNQLIIIILQNPIIIMNOKIIJQNMIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddjiijddddddddhiiidddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddgliiijdddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiioddddddddkiiihdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCfffffffffffyEDzffCDCffffDDfffffffffffBDFfffffyEDAffffffffccc#..................................................................................................#HHHIIIIIIIIIILNNLIIIIIMNRIIIMNMIIIIMNOIIIPNOIIIIILQNJIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddniiiddddddddjiimdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddliiihddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddmiiigdddddddmiilddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCffffffffffffzDEyBDEyffffDDfffffffffffFDAffffffGFBffffffffccc#..................................................................................................#HHHIIIIIIIIIIPNRIIIIIIJQMIIILQNKIIKNQLIIIONJIIIIIIROPIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddgiiijddddddhiiindddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddoiiihdddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiilkddddkmiiinddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCfffffffffffffCDCDDzfffffDDffffffffffyDDffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIONKIIIIIIIIIIIIIKNQLLQNKIIILNNIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddoiiijddddhiiilddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddgiiijhhhhhhhhhhhhgdddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddoiiiiljjmiiiijdddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDFzzzzzzzyfffffyEDDCffffffDDzzzzzzzAffzDCffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIINNIIIIIIIIIIIIIIIMNMMNMIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddgliiiijjliiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddoiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddoiiiiiiiiiioddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDDDDDDDDDzffffffBDDAffffffDDDDDDDDDCffzDCffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIINNIIIIIIIIIIIIIIILQNNQLIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddgliiiiiiiiihdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddliiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddkmiiiiiijkdddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDFzzzzzzzyfffffADDDFffffffDDzzzzzzzAffzDCffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIINNIIIIIIIIIIIIIIIIKNNKIIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddgoiiiiiimkddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddiiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddhhhhddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCfffffffffffffEDGEDGfffffDDffffffffffADFffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIQNLIIIIIIIIIIIIIIIINNIIIIIIJNOIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddkhhhdddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCffffffffffffGDEfyDDAffffDDfffffffffffDDfffffffyECffffffffccc#..................................................................................................#HHHIIIIIIIIIIMNKIIIIIIIOMJIIIIIINNIIIIIIINNIIIIIIILQMIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCfffffffffffADDAffBDEffffDDfffffffffffCDBffffffGDCffffffffccc#..................................................................................................#HHHIIIIIIIIIIKNOIIIIIIJNNIIIIIIINNIIIIIIIMNPIIIIIIRNMIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCffffffffffyEDBffffFDGfffDDfffffffffffADDAffffzDDAffffffffccc#..................................................................................................#HHHIIIIIIIIIIIQNRIIIILQNRIIIIIIINNIIIIIIIJNNJIIIIKNNJIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDECCCCCCCCAfCDFfffffyDDzffDDCCCCCCCCBfffzDDCzzGDDGfffffffffccc#..................................................................................................#HHHIIIIIIIIIIILQNOPKPQNQIIIIIIIINNIIIIIIIIKNNMKKRNNRIIIKNQMMMMMMJIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDDDDDDDDDDzzDDyffffffzDEyfDDDDDDDDDDCffffzEDDDDEzffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIILONNNNNRIIIIIIIIINNIIIIIIIIIKQNNNNQKIIIIKNNNNNNNNKIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffAzzAffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIILKKKIIIIIIIIIIIIIIIIIIIIIIIIJKKJIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddgkddddddhhhhhhhkdddghdhhhhhhgdddghddddddddddddddddddddddddddaaa##aaaddddkhhhhhgddddddkojjhddddddghdhhhhhhgddddddhjjjkdddddddddddddddddddaaa##aaaddddkhhhhhgdddddhhhhhhhhddddghdhhgdddddhhgddhhhhhhhhddddddddddddddddaaa##aaadddddkkddddddhgddhgdddddddddhgkhhhhhhhddhgddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddmigdddddiiiiiiijdddomdiiiiiiioddhiddddddddddddddddddddddddddaaa##aaaddddjiiiiiioddddjimjjilgddddomdiiiiiiiodddgmimjmimgdddddddddddddddddaaa##aaaddddjiiiiiimgdddiiiiiiiiddddomdiioddddkiihddiiiiiiiiddddddddddddddddaaa##aaadddddjjddddddihddihddddddddkigjiiiiiiiddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddgijndddddihdddddddddlodihddddnikdhiddddddddddddddddddddddddddaaa##aaaddddjjddddninddolkdddglmddddlodihddddnikddllgdddklmdddddddddddddddddaaa##aaaddddjjddddklldddihddddddddddlodilmddddnlihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddddoldjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddookldddddihddddddddgikdihdddddmjdhiddddddddddddddddddddddddddaaa##aaaddddjjdddddjjdgihdddddkikddgikdihdddddmjdnigdddddginddddddddddddddddaaa##aaaddddjjdddddginddihdddddddddgikdioigdddmoihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddddmodjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddlkdlkddddihddddddddniddihdddddjjdhiddddddddddddddddddddddddddaaa##aaaddddjjdddddmodnidddddddddddniddihdddddjjdmjdddddddjjddddddddddddddddaaa##aaaddddjjddddddomddihdddddddddniddihinddgihihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihdddddddgihdjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddhlddojddddiohhhhkdddjjddihddddgindhiddddddddddddddddddddddddddaaa##aaaddddjmhhhhmigdjjdddddddddddjjddihddddgindihdddddddhiddddddddddddddddaaa##aaaddddjjddddddhiddiohhhhhkdddjjddihjjddhidihddiohhhhhkddddddddddddddddaaa##aaadddddjljjjjjjihddihdddddddhiddjmhhhhhdddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddmoddgigdddiiiiiijdddihddimjjjjilddhiddddddddddddddddddddddddddaaa##aaaddddjiiiiiijddjjdddddddddddihddimjjjjilddihdddddddhiddddddddddddddddaaa##aaaddddjjddddddhiddiiiiiiijdddihddihhiddjjdihddiiiiiiijddddddddddddddddaaa##aaadddddjljjjjjjihddihdddddddjjddjiiiiiidddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddgimjjjindddihdddddddhigddimjjjjhdddhiddddddddddddddddddddddddddaaa##aaaddddjjddddklodjjddddddddddhigddimjjjjhdddihdddddddhiddddddddddddddddaaa##aaaddddjjddddddhiddihddddddddhigddihgihdindihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihdddddddinddjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddoljjjjmldddihdddddddomdddihddddddddhiddddddddddddddddddddddddddaaa##aaaddddjjdddddhidhidddddddnkdomdddihddddddddmodddddddjmddddddddddddddddaaa##aaaddddjjddddddjmddihddddddddomdddihdmohigdihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddkigddjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddlnddddgikddihdddddddlodddihddddddddhiddddddddddddddddddddddddddaaa##aaaddddjjdddddnidgindddddgindlodddihddddddddnigdddddginddddddddddddddddaaa##aaaddddjjdddddginddihddddddddlodddihdololddihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddoldddjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddhiddddddjjddihddddddgikdddihddddddddhiddddddddddddddddddddddddddaaa##aaaddddjjddddkloddolkdddglldgikdddihdddddddddllgdddglldddddddddddddddddaaa##aaaddddjjddddhlldddihdddddddgikdddihdkiloddihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddmodddjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddmjddddddhigdihddddddniddddihddddddddhiddddddddddddddddddddddddddaaa##aaaddddjiiiiiimgdddjimjjilgdniddddihdddddddddgmimjmimgdddddddddddddddddaaa##aaaddddjiiiiiimgdddiiiiiiiihniddddihddiihddihddiiiiiiiihdddddddddddddddaaa##aaadddddjjddddddihddiiiiiiigihdddjjddddddddiiiiiiidddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddhgdddddddhgdhgddddddkkddddhgddddddddghddddddddddddddddddddddddddaaa##aaaddddkhhhhhgddddddkojjndddkkddddhgdddddddddddhjjjhdddddddddddddddddddaaa##aaaddddkhhhhhgdddddhhhhhhhhgkkddddhgddkhdddhgddhhhhhhhhgdddddddddddddddaaa##aaadddddkkddddddhgddhhhhhhhghddddkkddddddddhhhhhhhdddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#..................................................................................................#ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcccc#..................................................................................................#HHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHH#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#..................................................................................................#cccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccccc#..................................................................................................#HHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHH#..............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#..................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#..............", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#....................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#...............", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#......................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#......................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#................", ".................######################################################################......######################################################################......######################################################################......######################################################################........................................................................................................######################################################################........................................................................................................######################################################################.................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................STTTS....USU........USU....VWTTXU.." }; KCemu-0.5.1/src/ui/gtk/vnc.cc0000644000175000017500000000712612417262523016045 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/config.h" #ifdef HAVE_LIBVNCSERVER #include #include #include #include "kc/system.h" #include "ui/gtk/vnc.h" using namespace std; VncVideoEncoder::VncVideoEncoder(void) { _width = -1; _height = -1; _rfbScreen = NULL; rfbLogEnable(FALSE); } VncVideoEncoder::~VncVideoEncoder(void) { close(); } bool VncVideoEncoder::init(const char *filename, int width, int height, int fps_den, double quality) { if ((_width == width) && (_height == height) && (_rfbScreen != NULL)) { rfbMarkRectAsModified(_rfbScreen, 0, 0, _width, _height); return true; } _width = width; _height = height; char *framebuffer = (char *)new byte_t[width * height * 4]; if (_rfbScreen == NULL) { int argc[] = { 1 }; char *argv[] = { "KCemu", NULL }; _rfbScreen = rfbGetScreen(argc, argv, width, height, 8, 3, 4); _rfbScreen->desktopName = "KCemu " KCEMU_VERSION; _rfbScreen->alwaysShared = TRUE; _rfbScreen->serverFormat.trueColour = TRUE; _rfbScreen->frameBuffer = framebuffer; rfbInitServer(_rfbScreen); } else { char *oldfb = _rfbScreen->frameBuffer; rfbNewFramebuffer(_rfbScreen, framebuffer, width, height, 8, 3, 4); delete[] oldfb; rfbInitServer(_rfbScreen); } return true; } void VncVideoEncoder::allocate_color_rgb(int idx, int r, int g, int b) { _col[idx].r = r; _col[idx].g = g; _col[idx].b = b; } bool VncVideoEncoder::encode(byte_t *image, byte_t *dirty) { int x_min = _width; int x_max = -1; int y_min = _height; int y_max = -1; int d = -1; for (int y = 0;y < _height;y += 8) { for (int x = 0;x < _width;x += 8) { d++; if (dirty && !dirty[d]) continue; if (x < x_min) x_min = x; if (x > x_max) x_max = x; if (y < y_min) y_min = y; if (y > y_max) y_max = y; int z = y * _width + x; for (int yy = 0;yy < 8;yy++) { for (int xx = 0;xx < 8;xx++) { int s = 4 * (z + xx); _rfbScreen->frameBuffer[s] = _col[image[z + xx]].r; _rfbScreen->frameBuffer[s + 1] = _col[image[z + xx]].g; _rfbScreen->frameBuffer[s + 2] = _col[image[z + xx]].b; } z += _width; } } } if (x_max >= 0) { rfbMarkRectAsModified(_rfbScreen, x_min, y_min, x_max + 8, y_max + 8); } while (rfbProcessEvents(_rfbScreen, 0)); return true; } void VncVideoEncoder::close(void) { if (_rfbScreen != NULL) { rfbShutdownServer(_rfbScreen, TRUE); _rfbScreen = NULL; } } #endif /* HAVE_LIBVNCSERVER */ KCemu-0.5.1/src/ui/gtk/ui_gtk.cc0000644000175000017500000006732112417262523016544 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include /* FIXME: only for testing */ #include #include #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/keys.h" #include "kc/memory.h" // text_update() #include "kc/keyboard.h" #include "sys/sysdep.h" #include "cmd/cmd.h" #include "ui/error.h" #include "ui/gtk/cmd.h" #include "ui/gtk/debug.h" #include "ui/gtk/ui_gtk.h" #include "ui/gtk/wav.h" #include "ui/gtk/main.h" #include "ui/gtk/help.h" #include "ui/gtk/tape.h" #include "ui/gtk/disk.h" #include "ui/gtk/vdip.h" #include "ui/gtk/info.h" #include "ui/gtk/about.h" #include "ui/gtk/debug.h" #include "ui/gtk/color.h" #include "ui/gtk/thanks.h" #include "ui/gtk/module.h" #include "ui/gtk/keyboard.h" #include "ui/gtk/copying.h" #include "ui/gtk/tapeadd.h" #include "ui/gtk/options.h" #include "ui/gtk/selector.h" #include "ui/gtk/savemem.h" #include "ui/gtk/screenshot.h" #include "ui/gtk/plotter.h" #include "ui/gtk/video.h" #include "ui/gtk/ui_gtk0.h" #include "ui/gtk/ui_gtk1.h" #include "ui/gtk/ui_gtk3.h" #include "ui/gtk/ui_gtk4.h" #include "ui/gtk/ui_gtk6.h" #include "ui/gtk/ui_gtk8.h" #include "ui/gtk/ui_gtk9.h" #include "ui/gtk/ui_gtk_kramermc.h" #include "ui/gtk/ui_gtk_muglerpc.h" #include "ui/gtk/ui_gtk_vcs80.h" #include "ui/gtk/ui_gtk_c80.h" #include "ui/generic/ui_0.h" #include "libdbg/dbg.h" using namespace std; static UI_Gtk *self; class CMD_ui_toggle : public CMD { private: UI_Gtk *_w; public: CMD_ui_toggle(UI_Gtk *w) : CMD("ui-toggle") { _w = w; register_cmd("ui-speed-limit-toggle", 0); register_cmd("ui-zoom-1", 1); register_cmd("ui-zoom-2", 2); register_cmd("ui-zoom-3", 3); register_cmd("ui-display-effects-toggle", 4); } void execute(CMD_Args *args, CMD_Context context) { switch (context) { case 0: _w->speed_limit_toggle(); break; case 1: case 2: case 3: _w->gtk_zoom(context); break; case 4: _w->display_effects_toggle(); break; } } }; class CMD_update_colortable : public CMD { private: UI_Gtk *_ui; ColorWindow *_colwin; public: CMD_update_colortable(UI_Gtk *ui, ColorWindow *colwin) : CMD("ui-update-colortable") { _ui = ui; _colwin = colwin; register_cmd("ui-update-colortable"); } void execute(CMD_Args *args, CMD_Context context) { _ui->allocate_colors(_colwin->get_brightness_fg(), _colwin->get_contrast_fg(), _colwin->get_brightness_bg(), _colwin->get_contrast_bg()); _ui->update(true, true); } }; void UI_Gtk::idle(void) { gtk_main_quit(); } void UI_Gtk::sf_selection_received(GtkWidget *widget, GtkSelectionData *sel_data, gpointer *data) { GdkAtom atom; UI_Gtk *self; CMD_Args *args; self = (UI_Gtk *)data; if (sel_data->length < 0) return; atom = gdk_atom_intern("TEXT", FALSE); if (atom == GDK_NONE) return; /* * may check sel_data->type here... */ // printf("selection (%d bytes) = %s\n", sel_data->length, sel_data->data); args = new CMD_Args(); args->set_string_arg("text", (const char *)sel_data->data); CMD_EXEC_ARGS("keyboard-replay", args); } void UI_Gtk::key_press_release(GdkEventKey *event, bool press) { int c = 0; int key_code; key_code = event->hardware_keycode; switch (event->keyval) { case GDK_Alt_L: case GDK_Alt_R: case GDK_Meta_L: case GDK_Meta_R: case GDK_Super_L: case GDK_Super_R: case GDK_Hyper_L: case GDK_Hyper_R: c = KC_KEY_ALT; break; case GDK_ISO_Level3_Shift: case GDK_Mode_switch: c = KC_KEY_ALT_GR; break; case GDK_Shift_L: case GDK_Shift_R: c = KC_KEY_SHIFT; break; case GDK_Control_L: case GDK_Control_R: c = KC_KEY_CONTROL; break; case GDK_Left: case GDK_KP_Left: c = KC_KEY_LEFT; break; case GDK_Right: case GDK_KP_Right: c = KC_KEY_RIGHT; break; case GDK_Up: case GDK_KP_Up: c = KC_KEY_UP; break; case GDK_Down: case GDK_KP_Down: c = KC_KEY_DOWN; break; case GDK_Escape: c = KC_KEY_ESC; break; case GDK_Home: c = KC_KEY_HOME; break; case GDK_End: c = KC_KEY_END; break; case GDK_Pause: c = KC_KEY_PAUSE; break; case GDK_Print: c = KC_KEY_PRINT; break; case GDK_Delete: case GDK_KP_Delete: c = KC_KEY_DEL; break; case GDK_Insert: case GDK_KP_Insert: c = KC_KEY_INSERT; break; case GDK_Page_Up: case GDK_KP_Page_Up: c = KC_KEY_PAGE_UP; break; case GDK_Page_Down: case GDK_KP_Page_Down: c = KC_KEY_PAGE_DOWN; break; case GDK_F1: case GDK_KP_F1: c = KC_KEY_F1; break; case GDK_F2: case GDK_KP_F2: c = KC_KEY_F2; break; case GDK_F3: case GDK_KP_F3: c = KC_KEY_F3; break; case GDK_F4: case GDK_KP_F4: c = KC_KEY_F4; break; case GDK_F5: c = KC_KEY_F5; break; case GDK_F6: c = KC_KEY_F6; break; case GDK_F7: c = KC_KEY_F7; break; case GDK_F8: c = KC_KEY_F8; break; case GDK_F9: c = KC_KEY_F9; break; case GDK_F10: c = KC_KEY_F10; break; case GDK_F11: c = KC_KEY_F11; break; case GDK_F12: c = KC_KEY_F12; break; case GDK_F13: c = KC_KEY_F13; break; case GDK_F14: c = KC_KEY_F14; break; case GDK_F15: c = KC_KEY_F15; break; case GDK_KP_0: c = '0'; break; case GDK_KP_1: c = '1'; break; case GDK_KP_2: c = '2'; break; case GDK_KP_3: c = '3'; break; case GDK_KP_4: c = '4'; break; case GDK_KP_5: c = '5'; break; case GDK_KP_6: c = '6'; break; case GDK_KP_7: c = '7'; break; case GDK_KP_8: c = '8'; break; case GDK_KP_9: c = '9'; break; case GDK_KP_Equal: c = '='; break; case GDK_KP_Multiply: c = '*'; break; case GDK_KP_Add: c = '+'; break; case GDK_KP_Subtract: c = '-'; break; case GDK_KP_Divide: c = '/'; break; case GDK_KP_Enter: c = 0x0d; break; case GDK_dead_circumflex: c = '^'; break; case GDK_dead_acute: c = '\''; break; case GDK_dead_grave: c = '\''; break; default: c = event->keyval & 0xff; break; } DBG(2, form("KCemu/UI/key_kc", "%s - keyval = %5d/0x%04x / keycode = %5d -> kccode = %5d/0x%04x\n", press ? "press " : "release", event->keyval, event->keyval, key_code, c, c)); if (press) keyboard->keyPressed(c, key_code); else keyboard->keyReleased(c, key_code); } gboolean UI_Gtk::sf_key_press(GtkWidget */*widget*/, GdkEventKey *event) { DBG(2, form("KCemu/UI/key_press", "key_press: keyval = %04x, keycode = %04x\n", event->keyval, event->hardware_keycode)); /* * Don't handle the key event if the ALT modifier * is set. This allows for better handling of the * accelerator key in the menu bar. */ if ((event->state & GDK_MOD1_MASK) == GDK_MOD1_MASK) return FALSE; key_press_release(event, true); return TRUE; } gboolean UI_Gtk::sf_key_release(GtkWidget */*widget*/, GdkEventKey *event) { DBG(2, form("KCemu/UI/key_release", "key_release: keyval = %04x, keycode = %04x\n", event->keyval, event->hardware_keycode)); /* * Don't handle the key event if the ALT modifier * is set. This allows for better handling of the * accelerator key in the menu bar. */ if ((event->state & GDK_MOD1_MASK) == GDK_MOD1_MASK) return FALSE; key_press_release(event, false); return TRUE; } void UI_Gtk::sf_focus_in(GtkWidget * /* widget */, GdkEventFocus *event) { DBG(2, form("KCemu/UI/focus_in", "got focus\n")); keyboard->keyReleased(-1, -1); } void UI_Gtk::sf_focus_out(GtkWidget *widget, GdkEventFocus *event) { DBG(2, form("KCemu/UI/focus_out", "lost focus\n")); keyboard->keyReleased(-1, -1); } void UI_Gtk::sf_leave_notify(GtkWidget *widget, GdkEventCrossing *event) { keyboard->keyReleased(-1, -1); } void UI_Gtk::speed_limit_toggle(void) { _speed_limit = !_speed_limit; } void UI_Gtk::text_update(void) { #if 0 static GdkFont *font = 0; unsigned long val = 0; if (font == 0) font = gdk_font_load("fixed"); byte_t *irm = memory->getIRM(); for (int a = 0;a < 8;a++) { val |= (irm[40 * a + 320] & 0xf); val <<= 4; } char buf[100]; snprintf(buf, 100, "%08x", val); gdk_draw_string(_text.canvas->window, font, _gc, 10, 10, buf); #endif } void UI_Gtk::gtk_sync(void) { static int count = 0; static bool first = true; static long tv_sec, tv_usec; static long tv1_sec = 0, tv1_usec = 0; static long tv2_sec, tv2_usec; static unsigned long frame = 25; static unsigned long long base, d2; static long basetime_sec = 0, basetime_usec = 0; unsigned long timeframe, diff, fps; if (++count >= 60) { count = 0; sys_gettimeofday(&tv2_sec, &tv2_usec); diff = ((1000000 * (tv2_sec - tv1_sec)) + (tv2_usec - tv1_usec)); fps = 60500000 / diff; _main_window->set_fps(fps); tv1_sec = tv2_sec; tv1_usec = tv2_usec; } if (first) { first = false; sys_gettimeofday(&tv1_sec, &tv1_usec); sys_gettimeofday(&basetime_sec, &basetime_usec); base = (basetime_sec * 50) + basetime_usec / 20000; base -= 26; // see comment below } sys_gettimeofday(&tv_sec, &tv_usec); d2 = (tv_sec * 50) + tv_usec / 20000; timeframe = (unsigned long)(d2 - base); frame++; /* * because of this test we start with frame = 25 otherwise it * would fail due to the fact that timeframe is unsigned! */ if (frame < (timeframe - 20)) { DBG(2, form("KCemu/UI/update", "counter = %lu, frame = %lu, timeframe = %lu\n", (unsigned long)z80->getCounter(), frame, timeframe)); frame = timeframe; } if (_speed_limit) { if (frame > (timeframe + 1)) { sys_usleep(20000 * (frame - timeframe - 1)); } } else { frame = timeframe; } /* * if (!_auto_skip) * { * processEvents(); * update(); * } */ sys_gettimeofday(&tv_sec, &tv_usec); d2 = (tv_sec * 50) + tv_usec / 20000; timeframe = (unsigned long)(d2 - base); _auto_skip = false; if (frame < timeframe) { if (++_cur_auto_skip > _max_auto_skip) _cur_auto_skip = 0; else _auto_skip = true; } } UI_Gtk::UI_Gtk(void) { _ui = 0; _init = false; _video_encoder_state = VideoEncoder::VIDEO_ENCODER_STATE_STOP; _video_encoder = _video_encoder_dummy = new DummyVideoEncoder(); } UI_Gtk::~UI_Gtk(void) { delete _about_window; delete _help_window; delete _thanks_window; delete _color_window; delete _tape_window; delete _tape_add_window; delete _disk_window; delete _vdip_window; delete _save_memory_window; delete _module_window; delete _keyboard_window; delete _copying_window; delete _options_window; delete _selector_window; delete _debug_window; delete _info_window; delete _wav_window; delete _screenshot_window; delete _plotter_window; delete _video_window; delete _edit_header_window; delete _dialog_window; delete _file_browser; delete _main_window; } void UI_Gtk::init(int *argc, char ***argv) { self = this; _shift_lock = false; _speed_limit = true; _auto_skip = false; _cur_auto_skip = 0; _max_auto_skip = 6; #ifdef ENABLE_NLS /* * We need to get all text in UTF-8 because this is required * for GTK versions above 2.0 (more precisely it's required by * the Pango library). * * And we do it here because this way it's possible to get the * help/usage messages still in the default locale of the user. * From this point all messages that are sent to the console are * encoded in UTF-8 too. */ bind_textdomain_codeset(PACKAGE, "UTF-8"); #endif /* ENABLE_NLS */ gtk_init(argc, argv); string datadir(kcemu_datadir); /* * load gtk ressource files */ string rc_filename = datadir + "/.kcemurc.gtk"; gtk_rc_parse(rc_filename.c_str()); const char *tmp = kcemu_homedir; if (tmp) { string homedir(tmp); string home_rc_filename = homedir + "/.kcemurc.gtk"; gtk_rc_parse(home_rc_filename.c_str()); } else cerr << "Warning: HOME not set! can't locate file `.kcemurc.gtk'" << endl; /* * don't let gtk catch SIGSEGV, make core dumps ;-) */ signal(SIGSEGV, SIG_DFL); Error::instance()->addErrorListener(this); _dialog_window = new DialogWindow("dialog.glade"); _selector_window = new ProfileSelectorWindow("selector.glade"); _help_window = new HelpWindow("help.glade"); } void UI_Gtk::init2(void) { create_ui(); _main_window = new MainWindow("main.glade"); _about_window = new AboutWindow("about.glade"); _thanks_window = new ThanksWindow("thanks.glade"); _color_window = new ColorWindow("color.glade"); _tape_window = new TapeWindow("tape.glade"); _tape_add_window = new TapeAddWindow("tapeedit.glade"); _disk_window = new DiskWindow("disk.glade"); _vdip_window = new VDIPWindow("vdip.glade"); _module_window = new ModuleWindow("module.glade"); _keyboard_window = new KeyboardWindow("keyboard.glade"); _copying_window = new CopyingWindow("legal.glade"); _options_window = new OptionsWindow("options.glade"); _wav_window = new WavWindow("audio.glade"); _screenshot_window = new ScreenshotWindow("screenshot.glade", this); _plotter_window = new PlotterWindow("plotter.glade"); _save_memory_window = new SaveMemoryWindow("savemem.glade"); _video_window = new VideoWindow("video.glade", this); _edit_header_window = new EditHeaderWindow(); _file_browser = new FileBrowser(); _debug_window = new DebugWindow(); _info_window = new InfoWindow(); ColorWindow *color_window = (ColorWindow *)_color_window; allocate_colors(color_window->get_brightness_fg(), color_window->get_contrast_fg(), color_window->get_brightness_bg(), color_window->get_contrast_bg()); /* this _must_ come last due to some initialization for menus */ _main_window->show(get_width(), get_height()); CMD *cmd; cmd = new CMD_ui_toggle(this); cmd = new CMD_update_colortable(this, color_window); GtkWidget *main_window = _main_window->get_main_window(); g_signal_connect(main_window, "selection_received", G_CALLBACK(sf_selection_received), this); g_signal_connect(main_window, "key_press_event", G_CALLBACK(sf_key_press), this); g_signal_connect(main_window, "key_release_event", G_CALLBACK(sf_key_release), this); g_signal_connect(main_window, "focus_in_event", G_CALLBACK(sf_focus_in), this); g_signal_connect(main_window, "focus_out_event", G_CALLBACK(sf_focus_out), this); // static GtkTargetEntry targetlist[] = { // { "STRING", 0, 1 }, // { "TEXT", 0, 2 }, // { "COMPOUND_TEXT", 0, 3 } // }; // gint ntargets = sizeof(targetlist) / sizeof(targetlist[0]); // gint nentries = sizeof(entries) / sizeof(entries[0]); // gint nentriesP = sizeof(entriesP) / sizeof(entriesP[0]); // // g_selection_add_targets(_main.window, GDK_SELECTION_PRIMARY, targetlist, ntargets); } void UI_Gtk::gtk_resize(void) { if (_main_window->resize(get_width(), get_height())) set_video_encoder_state(VideoEncoder::VIDEO_ENCODER_STATE_STOP); } int UI_Gtk::ensure_range(double val) { if (val < 0) return 0; if (val > 255) return 255; return (int)val; } void UI_Gtk::allocate_colors(double brightness_fg, double contrast_fg, double brightness_bg, double contrast_bg) { int idx = 0; list colors(_ui->get_colors()); for (list::const_iterator it = colors.begin();it != colors.end();it++, idx++) { double r, g, b; if ((*it).is_rgb()) { r = (*it).get_red(); g = (*it).get_green(); b = (*it).get_blue(); } else { int red, green, blue; //double s = (*it).is_bg() ? 0.85 : 1.0; //double v = (*it).is_bg() ? 0.70 : 1.0; hsv2rgb((*it).get_hue(), 1.0, 1.0, &red, &green, &blue); r = red; g = green; b = blue; } double contrast; double brightness; if ((*it).is_bg()) { contrast = contrast_bg; brightness = brightness_bg; } else { contrast = contrast_fg; brightness = brightness_fg; } r *= 1.5 * contrast; g *= 1.5 * contrast; b *= 1.5 * contrast; r += (256 * brightness - 127); g += (256 * brightness - 127); b += (256 * brightness - 127); int red = ensure_range(r); int green = ensure_range(g); int blue = ensure_range(b); DBG(2, form("KCemu/UI/color", "%c(%3d): %5.2f / %5.2f - %7.2f, %7.2f, %7.2f - %3d, %3d, %3d\n", (*it).is_bg() ? 'B' : 'F', idx, brightness, contrast, r, g, b, red, green, blue)); _main_window->allocate_color_rgb(idx, red, green, blue); _video_encoder->allocate_color_rgb(idx, red, green, blue); } } void UI_Gtk::set_video_encoder(VideoEncoder *encoder) { if (_video_encoder == encoder) return; _video_encoder->close(); _video_encoder = (encoder == NULL) ? _video_encoder_dummy : encoder; } void UI_Gtk::set_video_encoder_state(int state) { if (state == _video_encoder_state) return; if (state == VideoEncoder::VIDEO_ENCODER_STATE_PAUSE) { _video_encoder_state = VideoEncoder::VIDEO_ENCODER_STATE_PAUSE; CMD_EXEC("ui-video-pause"); } if (state == VideoEncoder::VIDEO_ENCODER_STATE_STOP) { if (_video_encoder_state == VideoEncoder::VIDEO_ENCODER_STATE_RECORD) _video_encoder->close(); _video_encoder_state = VideoEncoder::VIDEO_ENCODER_STATE_STOP; CMD_EXEC("ui-video-stop"); } if (state == VideoEncoder::VIDEO_ENCODER_STATE_RECORD) { UI_Base *ui = _ui->get_generic_ui(); int width = _ui->get_generic_ui()->get_real_width(); int height = _ui->get_generic_ui()->get_real_height(); if (_video_encoder->init(_video_encoder_filename, width, height, _video_encoder_frame_skip, _video_encoder_quality)) { // cheat a bit by forcing color table update and repaint CMD_EXEC("ui-update-colortable"); _video_encoder->encode(ui->get_buffer(), NULL); _video_encoder_state = VideoEncoder::VIDEO_ENCODER_STATE_RECORD; _video_frame = _video_skip = _video_encoder_frame_skip; CMD_EXEC("ui-video-record"); } else { _video_encoder_state = VideoEncoder::VIDEO_ENCODER_STATE_STOP; CMD_EXEC("ui-video-stop"); } } } void UI_Gtk::set_video_encoder_config(const char *filename, double quality, int frame_skip, bool start_on_reset) { _video_encoder_filename = filename; _video_encoder_quality = quality; _video_encoder_frame_skip = frame_skip; _video_encoder_start_on_reset = start_on_reset; } void UI_Gtk::show(void) { _init = true; gtk_resize(); } void UI_Gtk::gtk_zoom(int zoom) { if (zoom < 1) zoom = 1; if (zoom > 3) zoom = 3; kcemu_ui_scale = zoom; gtk_resize(); update(true, true); } void UI_Gtk::processEvents(void) { _main_window->process_events(); while (gtk_events_pending()) gtk_main_iteration(); } void UI_Gtk::display_effects_toggle(void) { _main_window->set_display_effect(!_main_window->get_display_effect()); update(true, true); } void UI_Gtk::update(bool full_update, bool clear_cache) { Scanline *scanline = _ui->get_scanline(); if (scanline != NULL) { scanline->update(); } MemAccess *memaccess = _ui->get_mem_access(); if (memaccess != NULL) { memaccess->update(); } UI_Base *ui = _ui->get_generic_ui(); ui->generic_update(scanline, memaccess, clear_cache); _main_window->update(ui, get_width(), get_height(), full_update); if (_video_encoder_state == VideoEncoder::VIDEO_ENCODER_STATE_RECORD) { if (_video_frame <= 0) { _video_frame = _video_skip; // we can use the dirty buffer only when not skipping frames _video_encoder->encode(ui->get_buffer(), _video_skip == 1 ? ui->get_dirty_buffer() : NULL); } _video_frame--; } memset(ui->get_dirty_buffer(), 0, ui->get_dirty_buffer_size()); processEvents(); gtk_sync(); } UI_ModuleInterface * UI_Gtk::getModuleInterface(void) { return (ModuleWindow *)_module_window; } TapeInterface * UI_Gtk::getTapeInterface(void) { return (TapeWindow *)_tape_window; } DebugInterface * UI_Gtk::getDebugInterface(void) { return (DebugWindow *)_debug_window; } void UI_Gtk::errorInfo(const char *msg) { _dialog_window->show_dialog_ok(_("Info"), msg); } GdkPixbuf * UI_Gtk::get_screenshot(void) { UI_Base *ui = _ui->get_generic_ui(); GdkColor *colormap = _main_window->get_colormap(); int width = ui->get_real_width(); int height = ui->get_real_height(); int count = width * height; byte_t *image = ui->get_buffer(); byte_t *buf = new byte_t[3 * count]; for (int src = 0, dst = 0;src < count;src++) { GdkColor col = colormap[image[src]]; buf[dst++] = col.red >> 8; buf[dst++] = col.green >> 8; buf[dst++] = col.blue >> 8; } return gdk_pixbuf_new_from_data(buf, GDK_COLORSPACE_RGB, FALSE, 8, width, height, 3 * width, on_pixbuf_destroy, NULL); } void UI_Gtk::on_pixbuf_destroy(guchar *pixels, gpointer user_data) { delete[] pixels; } char * UI_Gtk::select_profile(void) { _selector_window->show(); return ((ProfileSelectorWindow *)_selector_window)->get_selected_profile(); } void UI_Gtk::create_ui(void) { const SystemType *system_type = Preferences::instance()->get_system_type(); _callback_value = system_type->get_ui_callback_value(); _callback_value_retrace = system_type->get_ui_callback_retrace_value(); switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: case KC_TYPE_87: _ui = new UI_Gtk1(); break; case KC_TYPE_85_2: case KC_TYPE_85_3: _ui = new UI_Gtk3(); break; case KC_TYPE_85_4: case KC_TYPE_85_5: _ui = new UI_Gtk4(); break; case KC_TYPE_LC80: _ui = new UI_Gtk8(); break; case KC_TYPE_Z1013: _ui = new UI_Gtk0(); break; case KC_TYPE_A5105: _ui = new UI_Gtk9(); break; case KC_TYPE_POLY880: _ui = new UI_Gtk6(); break; case KC_TYPE_KRAMERMC: _ui = new UI_Gtk_KramerMC(); break; case KC_TYPE_MUGLERPC: _ui = new UI_Gtk_MuglerPC(); break; case KC_TYPE_VCS80: _ui = new UI_Gtk_VCS80(); break; case KC_TYPE_C80: _ui = new UI_Gtk_C80(); break; case KC_TYPE_ALL: case KC_TYPE_NONE: case KC_TYPE_85_1_CLASS: case KC_TYPE_85_2_CLASS: DBG(0, form("KCemu/internal_error", "KCemu: got unhandled value from get_kc_type(): %d\n", Preferences::instance()->get_kc_type())); break; } z80->register_ic(this); add_callback(); } void UI_Gtk::destroy_ui(void) { z80->unregister_ic(this); delete _ui; } void UI_Gtk::add_callback(void) { z80->addCallback(_callback_value, this, (void *)0); if (_callback_value_retrace > 0) z80->addCallback(_callback_value_retrace, this, (void *)1); } void UI_Gtk::callback(void *data) { if (data == (void *)1) { if (_ui != NULL) { _ui->get_generic_ui()->generic_signal_v_retrace(false); } } else { if (_ui != NULL) { update(); _ui->get_generic_ui()->generic_signal_v_retrace(true); } add_callback(); } } void UI_Gtk::flash(bool enable) { Scanline *scanline = _ui->get_scanline(); if (scanline != NULL) { scanline->trigger(enable); } } int UI_Gtk::get_mode(void) { if (_ui == NULL) { DBG(1, form("KCemu/warning", "UI_Gtk::get_mode(): generic ui not yet initialized!\n")); return 0; } return _ui->get_generic_ui()->generic_get_mode(); } void UI_Gtk::set_mode(int mode) { if (_ui == NULL) { DBG(1, form("KCemu/warning", "UI_Gtk::set_mode(): generic ui not yet initialized!\n")); return ; } _ui->get_generic_ui()->generic_set_mode(mode); gtk_resize(); update(true, true); } void UI_Gtk::memory_read(word_t addr) { MemAccess *memaccess = _ui->get_mem_access(); if (memaccess != NULL) { memaccess->memory_read(addr); } } void UI_Gtk::memory_write(word_t addr) { MemAccess *memaccess = _ui->get_mem_access(); if (memaccess != NULL) { memaccess->memory_write(addr); } } int UI_Gtk::get_width(void) { return kcemu_ui_scale * _ui->get_generic_ui()->get_real_width(); } int UI_Gtk::get_height(void) { return kcemu_ui_scale * _ui->get_generic_ui()->get_real_height(); } void UI_Gtk::reset(bool power_on) { if (_video_encoder_start_on_reset) { _video_encoder_start_on_reset = false; CMD_EXEC("ui-video-reset"); set_video_encoder_state(VideoEncoder::VIDEO_ENCODER_STATE_RECORD); } }KCemu-0.5.1/src/ui/gtk/savemem.cc0000644000175000017500000004100412417262523016705 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "cmd/cmd.h" #include "kc/kc.h" #include "kc/memory.h" #include "ui/gtk/savemem.h" #include "ui/gtk/cmd.h" #include "libdbg/dbg.h" class CMD_ui_save_memory_window_toggle : public CMD { private: SaveMemoryWindow *_w; public: CMD_ui_save_memory_window_toggle(SaveMemoryWindow *w) : CMD("ui-save-memory-window-toggle") { _w = w; register_cmd("ui-save-memory-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; SaveMemoryWindow::SaveMemoryWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { init(); _cmd_window_toggle = new CMD_ui_save_memory_window_toggle(this); } SaveMemoryWindow::~SaveMemoryWindow(void) { delete _cmd_window_toggle; } gboolean SaveMemoryWindow::on_output(GtkSpinButton *spin_button, gpointer user_data) { GtkAdjustment *adj = gtk_spin_button_get_adjustment(spin_button); int value = (int)gtk_adjustment_get_value(adj); gchar *text = g_strdup_printf("%04X", value); gtk_entry_set_text(GTK_ENTRY(spin_button), text); g_free(text); return TRUE; } gboolean SaveMemoryWindow::on_input(GtkSpinButton *spin_button, gdouble *new_value, gpointer user_data) { const gchar *text = gtk_entry_get_text(GTK_ENTRY(spin_button)); gchar *err = NULL; unsigned long value = strtoul(text, &err, 16); if (*err) return GTK_INPUT_ERROR; *new_value = (gdouble)value; return TRUE; } void SaveMemoryWindow::on_adjustment_start_value_changed(GtkAdjustment *adjustment, gpointer user_data) { SaveMemoryWindow *self = (SaveMemoryWindow *)user_data; gdouble value_start = gtk_adjustment_get_value(adjustment); gdouble value_end = gtk_adjustment_get_value(self->_w.adjustment_end); if (value_end < value_start) { value_end = value_start; self->set_adjustment_value_with_blocked_handler(self->_w.adjustment_end, value_end, self->_w.on_adjustment_end_value_changed_id); } self->set_length_adjustment(); self->apply_selection((int)gtk_adjustment_get_value(self->_w.adjustment_start), (int)gtk_adjustment_get_value(self->_w.adjustment_end)); on_jump_to_start(self->_w.toggle_button_jump_to_start, self); } void SaveMemoryWindow::on_adjustment_end_value_changed(GtkAdjustment *adjustment, gpointer user_data) { SaveMemoryWindow *self = (SaveMemoryWindow *)user_data; gdouble value_start = gtk_adjustment_get_value(self->_w.adjustment_start); gdouble value_end = gtk_adjustment_get_value(adjustment); if (value_end < value_start) { value_start = value_end; self->set_adjustment_value_with_blocked_handler(self->_w.adjustment_start, value_start, self->_w.on_adjustment_start_value_changed_id); } self->set_length_adjustment(); self->apply_selection((int)gtk_adjustment_get_value(self->_w.adjustment_start), (int)gtk_adjustment_get_value(self->_w.adjustment_end)); on_jump_to_end(self->_w.toggle_button_jump_to_end, self); } void SaveMemoryWindow::on_adjustment_length_value_changed(GtkAdjustment *adjustment, gpointer user_data) { SaveMemoryWindow *self = (SaveMemoryWindow *)user_data; gdouble value_start = gtk_adjustment_get_value(self->_w.adjustment_start); gdouble value_length = gtk_adjustment_get_value(adjustment); gdouble value_end = value_start + value_length - 1; self->set_adjustment_value_with_blocked_handler(self->_w.adjustment_end, value_end, self->_w.on_adjustment_end_value_changed_id); self->apply_selection((int)gtk_adjustment_get_value(self->_w.adjustment_start), (int)gtk_adjustment_get_value(self->_w.adjustment_end)); on_jump_to_end(self->_w.toggle_button_jump_to_end, self); } void SaveMemoryWindow::set_length_adjustment(void) { gdouble value_start = gtk_adjustment_get_value(_w.adjustment_start); gdouble value_end = gtk_adjustment_get_value(_w.adjustment_end); // adjust upper bound before setting the new length value to prevent constraint problems _w.adjustment_length->upper = _w.adjustment_start->upper + 1 - value_start; g_signal_emit_by_name(G_OBJECT(_w.adjustment_length), "changed"); gdouble value_length = value_end - value_start + 1; set_adjustment_value_with_blocked_handler(_w.adjustment_length, value_length, _w.on_adjustment_length_value_changed_id); } void SaveMemoryWindow::set_adjustment_value_with_blocked_handler(GtkAdjustment *adjustment, gdouble value, gint handler_id) { g_signal_handler_block(adjustment, handler_id); gtk_adjustment_set_value(adjustment, value); g_signal_handler_unblock(adjustment, handler_id); } void SaveMemoryWindow::on_populate_popup(GtkTextView *textview, GtkMenu *menu, gpointer user_data) { #if 0 GtkWidget *separator = gtk_separator_menu_item_new(); gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), separator); gtk_widget_show(separator); GtkWidget *bottom = gtk_image_menu_item_new_from_stock(GTK_STOCK_GOTO_BOTTOM, NULL); gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), bottom); gtk_widget_show(bottom); GtkWidget *top = gtk_image_menu_item_new_from_stock(GTK_STOCK_GOTO_TOP, NULL); gtk_menu_shell_prepend(GTK_MENU_SHELL(menu), top); gtk_widget_show(top); #endif } void SaveMemoryWindow::jump_to(int line, gdouble within_margin, gboolean use_align, gdouble yalign) { GtkTextIter iter; gtk_text_buffer_get_iter_at_line(_w.text_buffer, &iter, line); gtk_text_view_scroll_to_iter(_w.text_view, &iter, within_margin, use_align, 0.0, yalign); } void SaveMemoryWindow::on_jump_to_start(GtkToggleButton *button, gpointer user_data) { SaveMemoryWindow *self = (SaveMemoryWindow *)user_data; if (gtk_toggle_button_get_active(button)) { int start_addr = (int)gtk_adjustment_get_value(self->_w.adjustment_start); self->jump_to(start_addr / 16, 0.0, TRUE, 0.1); } } void SaveMemoryWindow::on_jump_to_end(GtkToggleButton *button, gpointer user_data) { SaveMemoryWindow *self = (SaveMemoryWindow *)user_data; if (gtk_toggle_button_get_active(button)) { int end_addr = (int)gtk_adjustment_get_value(self->_w.adjustment_end); self->jump_to(end_addr / 16, 0.05, FALSE, 0.0); } } void SaveMemoryWindow::on_refresh(GtkButton *button, gpointer user_data) { SaveMemoryWindow *self = (SaveMemoryWindow *)user_data; self->refresh(); } void SaveMemoryWindow::on_save(GtkButton *button, gpointer user_data) { SaveMemoryWindow *self = (SaveMemoryWindow *)user_data; GtkWidget *filechooser = gtk_file_chooser_dialog_new(_("Save As..."), GTK_WINDOW(self->_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(filechooser), TRUE); char buf[1024]; int start_addr = (int)gtk_adjustment_get_value(self->_w.adjustment_start); snprintf(buf, sizeof(buf), _("memorydump_0x%04x.img"), start_addr); gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filechooser), buf); char *filename = NULL; if (gtk_dialog_run(GTK_DIALOG(filechooser)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser)); } gtk_widget_destroy (filechooser); if (filename == NULL) return; int end_addr = (int)gtk_adjustment_get_value(self->_w.adjustment_end); self->save(filename, start_addr, end_addr); self->hide(); g_free(filename); } void SaveMemoryWindow::save(const char *filename, int start_addr, int end_addr) { CMD_Args *args = new CMD_Args(); args->set_string_arg("filename", filename); args->set_long_arg("start-address", start_addr); args->set_long_arg("end-address", end_addr); CMD_EXEC_ARGS("kc-image-save", args); delete args; } void SaveMemoryWindow::remove_selection(int start_line, int end_line) { if (start_line == end_line) return; for (int a = start_line;a < end_line;a++) line_selected[a] = false; GtkTextIter iter, iter2; gtk_text_buffer_get_iter_at_line(_w.text_buffer, &iter, start_line); gtk_text_buffer_get_iter_at_line(_w.text_buffer, &iter2, end_line); gtk_text_buffer_remove_tag(_w.text_buffer, _w.text_tag_bold, &iter, &iter2); } void SaveMemoryWindow::apply_line_selection(int line, int bytes, int line_offset, int line_offset2, int separator_offset, int chars_per_byte, bool add) { if (bytes == 0) return; GtkTextIter iter; gtk_text_buffer_get_iter_at_line(_w.text_buffer, &iter, line); if (!gtk_text_iter_forward_chars(&iter, line_offset)) return; int chars = chars_per_byte * bytes + line_offset2; if (bytes > 7) chars += separator_offset; GtkTextIter iter2 = iter; if (!gtk_text_iter_forward_chars(&iter2, chars)) return; if (add) { gtk_text_buffer_apply_tag(_w.text_buffer, _w.text_tag_bold, &iter, &iter2); } else { line_selected[line] = false; gtk_text_buffer_remove_tag(_w.text_buffer, _w.text_tag_bold, &iter, &iter2); } } void SaveMemoryWindow::apply_selection(int start_addr, int end_addr) { int start_line = start_addr / 16; int end_line = end_addr / 16; // Remove bold tag from all lines before and after the selection // _including_ the line that contains the last byte but _not_ the // line that contains the first byte. remove_selection(0, start_line); remove_selection(end_line, NR_OF_LINES); GtkTextIter iter, iter2; for (int line = start_line;line < end_line;line++) { if (line_selected[line]) continue; line_selected[line] = true; gtk_text_buffer_get_iter_at_line(_w.text_buffer, &iter, line); if (gtk_text_iter_forward_chars(&iter, 7)) { gtk_text_buffer_get_iter_at_line(_w.text_buffer, &iter2, line + 1); gtk_text_buffer_apply_tag(_w.text_buffer, _w.text_tag_bold, &iter, &iter2); } } // order is important in case of start_line == end_line apply_line_selection(end_line, end_addr % 16 + 1, 7, 0, 2, 3, true); apply_line_selection(end_line, end_addr % 16 + 1, 56, 3, 3, 1, true); apply_line_selection(start_line, start_addr % 16, 7, 0, 2, 3, false); apply_line_selection(start_line, start_addr % 16, 56, 3, 3, 1, false); } void SaveMemoryWindow::load_memory(int start_addr, int end_addr) { char buf[20]; GtkTextIter iter, iter2; for (int line_addr = 0;line_addr < 0x10000;line_addr += 16) { snprintf(buf, sizeof(buf), "%04xh: ", line_addr); gtk_text_buffer_get_end_iter(_w.text_buffer, &iter); gtk_text_buffer_insert_with_tags(_w.text_buffer, &iter, buf, -1, _w.text_tag_italic, NULL); string line; for (int idx = 0;idx < 16;idx++) { int addr = line_addr + idx; snprintf(buf, sizeof(buf), "%02x%s", memory->memRead8(addr), (idx == 7) ? " | " : " "); line += buf; } line += " "; for (int idx = 0;idx < 16;idx++) { int addr = line_addr + idx; byte_t b = memory->memRead8(addr); int c = ((b >= 0x20) && (b < 0x7f)) ? b : '.'; snprintf(buf, sizeof(buf), "%c%s", c, (idx == 7) ? " | " : ""); line += buf; } line += "\n"; gtk_text_buffer_get_end_iter(_w.text_buffer, &iter); gtk_text_buffer_insert(_w.text_buffer, &iter, line.c_str(), -1); } gtk_text_buffer_get_start_iter(_w.text_buffer, &iter); gtk_text_buffer_get_end_iter(_w.text_buffer, &iter2); gtk_text_buffer_apply_tag(_w.text_buffer, _w.text_tag_monospace, &iter, &iter2); apply_selection(start_addr, end_addr); } void SaveMemoryWindow::refresh(void) { gtk_text_buffer_set_text(_w.text_buffer, "", 0); for (int a = 0;a < NR_OF_LINES;a++) line_selected[a] = false; if (is_visible()) { int start_addr = (int)gtk_adjustment_get_value(_w.adjustment_start); int end_addr = (int)gtk_adjustment_get_value(_w.adjustment_end); load_memory(start_addr, end_addr); } } void SaveMemoryWindow::show(void) { UI_Gtk_Window::show(); refresh(); } void SaveMemoryWindow::init(void) { _window = get_widget("save_memory_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-save-memory-window-toggle"); // FIXME: _w.button_save = GTK_BUTTON(get_widget("dialog_button_save")); g_signal_connect(_w.button_save, "clicked", G_CALLBACK(on_save), this); _w.button_refresh = GTK_BUTTON(get_widget("dialog_button_refresh")); g_signal_connect(_w.button_refresh, "clicked", G_CALLBACK(on_refresh), this); _w.toggle_button_jump_to_start = GTK_TOGGLE_BUTTON(get_widget("toggle_button_jump_to_start")); g_signal_connect(_w.toggle_button_jump_to_start, "toggled", G_CALLBACK(on_jump_to_start), this); _w.toggle_button_jump_to_end = GTK_TOGGLE_BUTTON(get_widget("toggle_button_jump_to_end")); g_signal_connect(_w.toggle_button_jump_to_end, "toggled", G_CALLBACK(on_jump_to_end), this); _w.spin_button_start_hex = GTK_SPIN_BUTTON(get_widget("spin_button_start_hex")); _w.spin_button_start_dec = GTK_SPIN_BUTTON(get_widget("spin_button_start_dec")); _w.spin_button_end_hex = GTK_SPIN_BUTTON(get_widget("spin_button_end_hex")); _w.spin_button_end_dec = GTK_SPIN_BUTTON(get_widget("spin_button_end_dec")); _w.spin_button_length_hex = GTK_SPIN_BUTTON(get_widget("spin_button_length_hex")); _w.spin_button_length_dec = GTK_SPIN_BUTTON(get_widget("spin_button_length_dec")); _w.adjustment_start = gtk_spin_button_get_adjustment(_w.spin_button_start_hex); _w.adjustment_end = gtk_spin_button_get_adjustment(_w.spin_button_end_hex); _w.adjustment_length = gtk_spin_button_get_adjustment(_w.spin_button_length_hex); gtk_spin_button_set_adjustment(_w.spin_button_start_dec, _w.adjustment_start); gtk_spin_button_set_adjustment(_w.spin_button_end_dec, _w.adjustment_end); gtk_spin_button_set_adjustment(_w.spin_button_length_dec, _w.adjustment_length); g_signal_connect(_w.spin_button_start_hex, "output", G_CALLBACK(on_output), NULL); g_signal_connect(_w.spin_button_end_hex, "output", G_CALLBACK(on_output), NULL); g_signal_connect(_w.spin_button_length_hex, "output", G_CALLBACK(on_output), NULL); g_signal_connect(_w.spin_button_start_hex, "input", G_CALLBACK(on_input), NULL); g_signal_connect(_w.spin_button_end_hex, "input", G_CALLBACK(on_input), NULL); g_signal_connect(_w.spin_button_length_hex, "input", G_CALLBACK(on_input), NULL); _w.on_adjustment_start_value_changed_id = g_signal_connect(_w.adjustment_start, "value-changed", G_CALLBACK(on_adjustment_start_value_changed), this); _w.on_adjustment_end_value_changed_id = g_signal_connect(_w.adjustment_end, "value-changed", G_CALLBACK(on_adjustment_end_value_changed), this); _w.on_adjustment_length_value_changed_id = g_signal_connect(_w.adjustment_length, "value-changed", G_CALLBACK(on_adjustment_length_value_changed), this); _w.text_view = GTK_TEXT_VIEW(get_widget("textview")); _w.text_buffer = gtk_text_view_get_buffer(_w.text_view); _w.text_tag_bold = gtk_text_buffer_create_tag(_w.text_buffer, "bold", "weight", PANGO_WEIGHT_BOLD, "background", "#D0D0D0", "background-set", TRUE, NULL); _w.text_tag_italic = gtk_text_buffer_create_tag(_w.text_buffer, "italic", "style", PANGO_STYLE_ITALIC, NULL); _w.text_tag_monospace = gtk_text_buffer_create_tag(_w.text_buffer, "monospace", "family", "Monospace", NULL); g_signal_connect(_w.text_view, "populate-popup", G_CALLBACK(on_populate_popup), this); init_dialog("ui-save-memory-window-toggle", "window-save-memory"); } KCemu-0.5.1/src/ui/gtk/color.cc0000644000175000017500000000651312417262523016374 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/prefs/prefs.h" #include "ui/gtk/cmd.h" #include "ui/gtk/color.h" #include "libdbg/dbg.h" class CMD_color_window_toggle : public CMD { private: ColorWindow *_w; public: CMD_color_window_toggle(ColorWindow *w) : CMD("ui-color-window-toggle") { _w = w; register_cmd("ui-color-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; void ColorWindow::sf_adjustment_changed(GtkAdjustment *adj, double *data) { *data = adj->value; CMD_EXEC("ui-update-colortable"); } ColorWindow::ColorWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _brightness_fg = Preferences::instance()->get_int_value("color_brightness_fg", 50) / 100.0; _contrast_fg = Preferences::instance()->get_int_value("color_contrast_fg", 70) / 100.0; _brightness_bg = Preferences::instance()->get_int_value("color_brightness_bg", 35) / 100.0; _contrast_bg = Preferences::instance()->get_int_value("color_contrast_bg", 50) / 100.0; _cmd = new CMD_color_window_toggle(this); } ColorWindow::~ColorWindow(void) { delete _cmd; } GtkAdjustment * ColorWindow::init_adjustment(GtkRange* range, double *val_ptr) { GtkAdjustment *adj = gtk_range_get_adjustment(range); gtk_range_set_value(range, *val_ptr); gtk_object_set_data(GTK_OBJECT(adj), "self", this); gtk_signal_connect(GTK_OBJECT(adj), "value_changed", GTK_SIGNAL_FUNC(sf_adjustment_changed), val_ptr); return adj; } void ColorWindow::init(void) { _window = get_widget("color_window"); gtk_window_position(GTK_WINDOW(_window), GTK_WIN_POS_MOUSE); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-color-window-toggle"); // FIXME: /* * foreground contrast */ _w.c_fg_vscale = get_widget("foreground_contrast_vscale"); _w.s_fg_adj = init_adjustment(GTK_RANGE(_w.c_fg_vscale), &_contrast_fg); /* * foreground brightness */ _w.b_fg_vscale = get_widget("foreground_brightness_vscale"); _w.v_fg_adj = init_adjustment(GTK_RANGE(_w.b_fg_vscale), &_brightness_fg); /* * background contrast */ _w.c_bg_vscale = get_widget("background_contrast_vscale"); _w.s_bg_adj = init_adjustment(GTK_RANGE(_w.c_bg_vscale), &_contrast_bg); /* * background brightness */ _w.b_bg_vscale = get_widget("background_brightness_vscale"); _w.v_bg_adj = init_adjustment(GTK_RANGE(_w.b_bg_vscale), &_brightness_bg); init_dialog("ui-color-window-toggle", "window-colors"); } KCemu-0.5.1/src/ui/gtk/poly880_keyboard.xpm0000644000175000017500000071003212417262523020576 0ustar glaubitzglaubitz/* XPM */ static char *poly880_keyboard[] = { /* width height num_colors chars_per_pixel */ " 680 340 52 1", /* colors */ ". c #563f49", "# c #000000", "a c #7c0a00", "b c #7a7a70", "c c #780004", "d c #c9460e", "e c #c1b5a5", "f c #ba0403", "g c #c4400d", "h c #bb350a", "i c #9e1301", "j c #ac2405", "k c #c03b0b", "l c #a31902", "m c #a81e04", "n c #b62f08", "o c #b12a07", "p c #b7a998", "q c #a79885", "r c #a2927e", "s c #b1a392", "t c #bcaf9f", "u c #9d8c78", "v c #92806b", "w c #978672", "x c #ac9e8b", "y c #b50403", "z c #a90302", "A c #af0302", "B c #a40202", "C c #990101", "D c #880000", "E c #8e0000", "F c #930101", "G c #9e0201", "H c #135817", "I c #05c204", "J c #04b803", "K c #03b303", "L c #04bd04", "M c #02a301", "N c #009400", "O c #019e01", "P c #03ae02", "Q c #019900", "R c #02a902", "S c #432f38", "T c #302026", "U c #49353e", "V c #503a43", "W c #3d2a32", "X c #36252c", /* pixels */ "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#................", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#...............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#cccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccccc#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddddddddddghhhhddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddkjliiiiiimndddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiimjhdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddgmiiiiiiiiiiilkdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiiiiiindddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddddhiiiiiljjjliiiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddhiiiijkdddddkmiiiikdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddhoiiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddgliiihdddddddddjiiildddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddgliiioddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddoiiihdddddddddddmiiinddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddgliiigdddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddgiiimddddddddddddkiiimddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddhiiiodddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddoiiikdddddddddddddljohddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddliildddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddliiiddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddoiiikddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddhiiihddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddkiiinddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddgiiioddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiljjjjjjjjjjjnddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddhiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddddiiijddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiijddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddhiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddddiiijddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiijddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddhiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddddiiijddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiimhhhhhhhhhhhkddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddhiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddddiiijddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeepqrrrseeeeeeeeetsrrrseeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeepsspeeeeeetssseeessssssssssteesssteeeeeepsspeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddgiiioddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddkiiioddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeetuvvvvvvwseeeeeexvvvvvvvxeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervvueeeeeexvvveeevvvvvvvvvvseevvvxeeeeeeuvvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffyzzzzzzzAffffffzzzzzzzzzzyffffyBCCCzfffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddhiiihddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeepvvqpeepqvvpeeeeqvwxtetxwvqeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervvvteeeeervvveeevvssssssssteevvvueeeeeevvvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDDDDDDDDEzffffDDDDDDDDDDzfffzDDDDDDEzfffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddjiiiddddddddddddddkimjkdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddoiiigddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeewvseeeeeexvueeepvwteeeeetwvpeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervrvseeeeevrvveeevveeeeeeeeeeevvrveeeeesvrvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDFzzzzzCDDyfffDDzzzzzzzzyffADDBffyGDEyffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddniiikdddddddddddddoiiindddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddddliildddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeesvueeeeeeeewueeeuvxeeeeeeexvueeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsvreeeesvsvveeevveeeeeeeeeeevvsvseeeervsvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffffGDGfffDDfffffffffffGDBfffffCDBffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddgiiimdddddddddddddliiigdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddddniiindddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeervseeeeeeeeeeeeevveeeeeeeeevveeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsrveeeervevveeevveeeeeeeeeeevvevreeeevrsvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffffzDCfffDDfffffffffffCDzfffffACBffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddoiiihdddddddddddoiiioddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddddddgliiigdddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeevveeeeeeeeeeeeesvreeeeeeeeervseeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsxvseeewuevveeevvssssssspeeevveuveeepvxsvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffffBDCfffDDfffffffffffBDEyfffffffffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddgliiihdddddddddniiiigddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijddddddddddgliiinddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeevveeeeepssssstesvreeeeeeeeervseeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervstvqeepvxevveeevvvvvvvvvreeevvexvpeeqvtsvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffffBDDAfffDDzzzzzzzAffffEDDFBAffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddhiiiimkdddddkmiiiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiijdddddddghoiiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeevveeeeervvvvvsesvreeeeeeeeervseeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsewweeqvtevveeevvssssssspeeevvepvqeewuesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDDDDDDDDDGffffDDDDDDDDDCfffffGEDDDEGyfffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddddhiiiiiljjjliiiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiiiiiiijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeewvteeeepsssuvsepvueeeeeeeeeuvpeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseqvpeuweevveeevveeeeeeeeeeevveewwetvqesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDECCCDDCAfffffDDzzzzzzzAfffffffAGFDDEyffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddhliiiiiiiiiiilhdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiiiiilndddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeervxeeeeeeeervseevvteeeeeeetvveeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervsepvxtvqeevveeevveeeeeeeeeeevveeqvtxvpesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffADEyfffffDDffffffffffffffffffyCDCffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddnmiiiiiiimndddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiiiiiiiiiiijjhdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeepvweeeeeeeervseeqvqeeeeeeeqvqeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseevuxvseevveeevveeeeeeeeeeevveesvxuveesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffzDEyffffDDffffffffffACBffffffyDDffffffffffffffccc#..............", "..............#aaadddddddddddddddddddddddddddddddkhhhhddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeervrteeeeepwvseetwvseeeeesvwteeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseervrveeevveeevveeeeeeeeeeevveeevrvreesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffffCDCffffDDffffffffffADEfffffffDDffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeervwqssxuvvrteeeswvuxsxuvvseeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseesvvreeevveeevvrrrrrrrrxeevveeervvseesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffffyEDAfffDDfffffffffffEDCfffffBDCffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeexwvvvvvupeeeeeetuvvvvvrteeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeervseeevvseeevveeevvvvvvvvvvreevveeesvveeesvreeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCffffffBDEfffDDCCCCCCCCBffADDFBzzFDEyffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeetssseeeeeeeeeeeessseeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccfffffffffffffffzDCfffffffFDGffDDDDDDDDDDCfffAFDDDDDFyfffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccfffffffffffffffffffffffffffffffffffffffffffffffzzzyfffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddkhhhhhkddddddkojjhdddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjiiiiiimgdddjimjjilgdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjddddkloddolkdddglmdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjdddddnidgihdddddkikddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjdddddhidnidddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjdddddmmdjjdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjljjjjlikdjjdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjljjjjngddjjdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjddddddddhidddddddnkddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjddddddddgindddddginddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjdddddddddolkdddglldddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddjjddddddddddjimjjilgdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaadddddkkdddddddddddkojjndddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcccc#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#cccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccccc#..............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#..............", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#...............", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#...............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddkjliiijnddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddhjiiimogddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddniiiigdddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiimjkdddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddgmiiiiiiiilgddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddgliiiiiiiiodddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddliiiindddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiimgdddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddliiiiiiiiiilgdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddgliiiiiiiiiijddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddkiiiiildddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiilgddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddoiiimkddgoiiildddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddliiimhddgnliiodddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddoiijiiikddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddghmiiimddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddiiijddddddniiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddoiiijddddddgliikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddiiinjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddmiiikdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddhiiikdddddddliioddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddliilddddddddniijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddniiigkiiigdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddkiiiodddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddhiiiddddddddjiijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddgiiindddddddddiiiddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddmiijddliindddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddiiijdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddhiiigdddddddmiijddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiigdddddddddjiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddkiiikddoiildddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddiiijdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddiiinddddddgiiihddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiiddddddddddjiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddoiimdddgiiikddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddkiiihdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddoiiihddddgliildddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiiddddddddddjiiodddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddiiinddddmiijddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddmiilddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddjiiiljjmiiilgdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddkiiikdddddddddiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddniiigddddniiigdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddhmiiihddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddddkliiiiiiindddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiioddddddddniiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddmiijddddddiiindddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiilhdddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddhliiiiiiiiinddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddoiiihddddddgliiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiihddddddjiildddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiinddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddjiiilohhnmiiijdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddgiiiiokddgniiiiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddoiiidddddddkiiikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiilhddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddhiiijddddddhiiioddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddhiiiiiiiiiijjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiioddddddddliijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddhoiiiihdddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddkhhkddddddghhhddddddknjjokddddddghhddddddghkdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddliimddddddddniiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddhliiiiiiiodjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddniiiiiiiiiiiiiiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddgliildddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjiimddddddniiiddddgjiiiiiilkddddhiihdddddhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddgiiihdddddddddiiindddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddgomiiljkddmiihdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddmiiiiiiiiiiiiiiiindddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddniiihddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjiiigdddddjiiiddddlimhddkoiikdddhiilgddddhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddhiiiddddddddddjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddiiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddkiiiiiiiiiiiiiiiiildddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddgiiijddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeesrrrxteeeessssssssssstetsssssssssseeessssssspeeeeeeeeeebbb##bbbeeeeeeeeeeeeeetssssssspeeeeeessssssssssteeeeeesrrrqpeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjijihdddddijiidddoijddddddhildddhiiioddddhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddhiiiddddddddddjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddkiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddoiiigddddddddddniiikddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddddiiijddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeetwvvvvvvqeeevvvvvvvvvvvsesvvvvvvvvvveeevvvvvvvvwseeeeeeeebbb##bbbeeeeeeeeeeeeeesvvvvvvvvwseeeevvvvvvvvvvseeeeswvvvvvvuteeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihijddddhihiiddgiigdddddddminddhimiikdddhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddhiiigdddddddddmiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddhnjkddddddddoiilddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddiiimdddddddddddgiiijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddgiiijddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeewvrteexwvseessssqvusssstesvusssssssseeevvsssssrvvteeeeeeebbb##bbbeeeeeeeeeeeeeesvusssssrvvteeevvssssssssteeeqvwxteesuvweeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihjiddddjidiiddhijddddddddhijddhijoildddhijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddiiinddddddddgiiihdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddliijddddddddliioddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddniiinddddddddddddjiiigdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijdddddddddddniiihddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeepvueeeeesvueeeeeesvreeeeeesvreeeeeeeeeeevveeeeeervxeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeeqvqeeevveeeeeeeeeeepvwteeeeeeuvxeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihnihdddlmdiiddjihdddddddddiiddhijdlioddhijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddmiilgdddddddjiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiiigddddddoiiigddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddmiiidddddddddddddhiiindddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddddgliiigddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeesvreeeeeerreeeeeesvreeeeeesvreeeeeeeeeeevveeeeeesvreeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeesvreeevveeeeeeeeeeervxeeeeeeepvxeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihgioddkindiiddjihdddddddddiiddhijdkiigdhijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddkiiilkddddgjiiioddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiilgdddgjiiiodddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddkiiijddddddddddddddiiildddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiijddddddddknliiiodddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeetvvseeeeeeeeeeeeesvreeeeeesvreeeeeeeeeeevveeeeeexvreeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeexvreeevveeeeeeeeeeevveeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihdllddoigdiiddjihdddddddddiiddhijddoimdhijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddoiiiiljjmiiiildddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddjiiiimjjiiiijddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddoiiikddddddddddddddoiiikddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiilddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeqvvwqseeeeeeeeeesvreeeeeesvusssssssteeevveeeeetwvseeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeexvvpeeevvssssssspeesvreeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihdoikdmlddiiddoinddddddddgilddhijddglinhijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddoiiiiiiiiiijgdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddjiiiiiiiiijdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddliildddddddddddddddkiiioddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiiiiiodddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeesuvvvvrpeeeeeeesvreeeeeesvvvvvvvvvseeevvrrrrrvvreeeeeeeebbb##bbbeeeeeeeeeeeeeesvvvvvvvvvqeeeevvvvvvvvvreesvreeeeesssssseeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihdkingioddiiddhimddddddddnijddhijdddhiinijdddddddddddaaa#..............", "..............#aaadddddddddddddddddddddddddddddkjiiiiiimndddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddnliiiiimhddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddiiioddddddddddddddddliiiddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiiiiiiiiiiiljngddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeetxrvvvseeeeeesvreeeeeesvusssssssteeevvvvvvvuqeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvwrrrvvrpeeeeevvssssssspeesvreeeeevvvvvveeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihddimnihddiidddlikdddddddlikddhijddddjilijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddkhhhddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddghhhdddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeexvveeeeeesvreeeeeesvreeeeeeeeeeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeepvwteeeeevveeeeeeeeeepvueeeeessssvveeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihddjijidddiidddhilgdddddjijdddhijddddgliijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeerreeeeeeeuvseeeeesvreeeeeesvreeeeeeeeeeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeesvwteeeevveeeeeeeeeeevvteeeeeeeevveeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihddhiijdddiiddddoiijhholilgdddhijdddddniijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeewvpeeeeeervseeeeesvreeeeeesvreeeeeeeeeeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeervreeeevveeeeeeeeeeeqvqeeeeeeeevveeeeeeeeeeeeebbb#............................................................#aaadddddddddddddjihdddiihdddiidddddhliiiilodddddhijddddddmijdddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeqvwteeeetvveeeeeesvreeeeeesvreeeeeeeeeeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeetwvpeeevveeeeeeeeeeetwvxeeeeeexvveeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddghhkddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeewvwqssqvvseeeeeesvreeeeeesvwrrrrrrrrpeevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeexvweeevvrrrrrrrrxeeetwvuxssqwvvxeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeetqvvvvvwseeeeeeesvreeeeeesvvvvvvvvvvseevveeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeesvreeeeeeeuvqeevvvvvvvvvvreeeetqvvvvvvqteeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeepsspeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeepsspeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddkkddkhhhhhhhgdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkdghgdddddhkdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkdhkddddddkhdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddgnjjngddddhhhhhhgdddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjiiiiiiihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddmmddddnigdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdnigddddgindddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddklljjlihdddiiiiiiioddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddglnddkinddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddmjddddmmddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddmjddddoigddihddddnikdddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddhikdljdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddkihddhikddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddihdddddjkddihdddddmjdddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddjlolgdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddolgglodddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddljgddddddddihdddddjjdddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjmhhhhhhddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddglihddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddljjlddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddhiimokdddddihddddgindddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjiiiiiiiddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddglihddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddkiikddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkjliilhdddimjjjjilddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddjlolgdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddddddgnlikddimjjjjhdddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddhikdljdddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddghddddddljddihddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddgloddkihddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddkikdddddjjddihddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjjddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddmlddddnlgdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddlmgdddkihddihddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddjjddjiiiiiiijdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdnigdddddmmdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjdddddjjdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddglijjmijdddihddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddkkddkhhhhhhhkdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkdhkddddddghgddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkdddddkkdddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddddhjjokddddhgddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#..............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#...............", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#................", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#...............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#HHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHH#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#HHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddgomiiimogdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkjjjjjjjjjjjjjjjjnddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddkjjjjjjjjjjjjkddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddoiiiiiiiiioddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddhiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddhjjkddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddjiiiiiiiiiiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddjiiiiiiiiiiijdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddhiiiiiiiiiiiiiiiijddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddddddkiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddmiiiiiiiiiiiihddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddoiiimhddgnliiikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkjjjjjjjjjjjjjliihddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIJKKJIIIIIILKKKIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddgliiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddiiimjjjjjjjjjkddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiijddddddgiiimddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddhiindddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNNOIIIIIIPNNNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddmiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddkiiihddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiilddddddddoiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddhiijddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNNNLIIIIIMNNNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddddoiiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddhiiidddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiinddddddddgiljkdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddglilgddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNMNKIIIIINMNNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddhiiiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddjiildddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiidddddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddmiihdddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKNMIIIIKNKNNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddgiiiliiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddmiijdddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddoiijdddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddniimddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKMNIIIIMNINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddliiihiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddiiinddkhhgdddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddjiioddkjliimogdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddgliigddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKPNKIIIQOINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddjiiindiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiihnliiiilndddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddliihgmiiiiiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddoiiodddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKLNRIIJNPINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddhiiijddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddhiiiliiiiiiiimgdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiinliiiiiiiiiihdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddgiiigdddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIQQIIRNLINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddkiiilgddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiiiiimjjmiiiimdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiililngddkoiiiikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddmiioddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIRNJIOQIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddgliiikdddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddmiiimgddddgjiiioddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiilgddddddgliilddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddgiiigddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIJNPLNRIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddjiiihddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjmijddddddddmiiiddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiiigddddddddniiikdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddoiimdddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIINOPNKIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddniiijdddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddkiiihdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiijddddddddddiiindddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddiiihdddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIIMNMNIIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddhiiilddddddiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddliiodddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddiiihddddddddddjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddhiiiddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeetsssssssssteeeeepqrrxteeeepsssssssssspeeeeeeeeeeeeeebbb##bbbeeeeeeeetsssssspeeeeeeeeetsseeeeeeeeeetxrrqpeeeeetspeeeeeepsseeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIIKNNMIIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddgliiigddddddiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddjiihddddddddddjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvvvvvvvvvseeetuvvvvvvseeervvvvvvvvvvreeeeeeeeeeeeeebbb##bbbeeeeeeeesvvvvvvvwseeeeeeervvseeeeeeeeqvvvvvvreeeesvreeeeesvvseeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIMNKIIINNKIIINNIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddjiiiljjjjjjjiiimjjndddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddjiihddddddddddjiijdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvusssssssteetwvqpeexvvseepssssvvsssspeeeeeeeeeeeeeebbb##bbbeeeeeeeesvussssqvvteeeeetvuvueeeeeeervuseepwvreeesvreeeesvvseeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddjiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddkhddddddddddjiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiijddddddddddiiindddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddhiiidddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeeuvxeeeeesvweeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeeqvqeeeeexvxuvteeeeexvueeeeetwvpeesvreeesvvseeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddjiiiiiiiiiiiiiiiiijdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiigdddddddddiiihdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddgiiigddddddddkiiikdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddoiimdddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeetvweeeeeeewrpeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeesvreeeeewvesvqeeeeeuvpeeeeeequxeesvreesvvseeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddnjjjjjjjjjjjiiimjjndddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiinddddddddniiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiimdddddddgliimddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddmiijdddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeexvreeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeeqvxeeeepvreewweeeetvveeeeeeeeeeeesvresvvseeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddmiilgddddddgliimddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddgiiilkddddkliiikddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddiiihdddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvusssssseeervseeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvussssqvreeeeervpeeqvseeesvreeeeeeeeeeeesvrsvvxeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiilkddddkliiigddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddhiiiiljjliiiijdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddgiiihdddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvvvvvvvveeervseeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvvvvvvvvpeeeetvweeepvueeesvreeeeeeeeeeeesvwvvvueeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddjiiiimjjliiiihdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddhiiiiiiiiiijddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddhiiiddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvusssssseeervseeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvussssqwvseeexvxeeeeuvteesvreeeeeeeeeeeesvvvswvreeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddjiiiiiiiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddgoiiiiiimkdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddhiiiddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeqvxeeeeeeeeeeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeetvvteewvvvvvvvvqeepvueeeeeeeeeeeesvvsetwvseeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIKMMMKIIIIJKJIIIIIIIIJKJIIIILPMMRJIIIIILKJIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddkmiiiiiiogdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddkhhhddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeesvreeeeeeexuxeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeeervsepvwrrrrrrvweeevveeeeeeetwreesvreeesvvteeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIKQNNNNNQLIILNNJIIIIIIJNNLIIIRNNNNNNMIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddhhhkddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeevvteeeeeewvseeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeeeuvseuvseeeeeervxeervxeeeeeeqvreesvreeeeqvwteeeeeeeebbb#............................................................#HHHIIIIIIIIIIKNQPLILMNQLIIPNQLIIIILQNPIIIMNOKIIJQNMIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeeqvuteeeervweeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvreeeeesvvetvveeeeeeepvueepvvpeeeesvvpeesvreeeeervreeeeeeeebbb#............................................................#HHHIIIIIIIIILNNLIIIIIMNRIIIMNMIIIIMNOIIIPNOIIIIILQNJIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeeervwqssuvvpeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvwrrrruvvseqvqeeeeeeeewvpeesvvrssqvvqeeesvreeeeetwvxeeeeeeebbb#............................................................#HHHIIIIIIIIIPNRIIIIIIJQMIIILQNKIIKNQLIIIONJIIIIIIROPIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeesvreeeeeeeeeeeeqvvvvvuteeeeeeeevveeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeesvvvvvvvrpeewvpeeeeeeeeqvqeeeswvvvvwseeeesvreeeeeepvvseeeeeebbb#............................................................#HHHIIIIIIIIIONKIIIIIIIIIIIIIKNQLLQNKIIILNNIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeesssteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeepsspeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIINNIIIIIIIIIIIIIIIMNMMNMIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIINNIIIIIIIIIIIIIIILQNNQLIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIINNIIIIIIIIIIIIIIIIKNNKIIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIQNLIIIIIIIIIIIIIIIINNIIIIIIJNOIIIIIIIIIIIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIMNKIIIIIIIOMJIIIIIINNIIIIIIINNIIIIIIILQMIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIKNOIIIIIIJNNIIIIIIINNIIIIIIIMNPIIIIIIRNMIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIQNRIIIILQNRIIIIIIINNIIIIIIIJNNJIIIIKNNJIIKNMIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIILQNOPKPQNQIIIIIIIINNIIIIIIIIKNNMKKRNNRIIIKNQMMMMMMJIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIILONNNNNRIIIIIIIIINNIIIIIIIIIKQNNNNQKIIIIKNNNNNNNNKIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIILKKKIIIIIIIIIIIIIIIIIIIIIIIIJKKJIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddgkddddddhhhhhhhkdddghdhhgdddddhhgddhgdddddddddddddddddddddddaaa##aaadddddkhhhhhgddddddkojjhddddddghdhhgdddddhhgddddkojjnddddddddddddddddaaa##aaadddddkhhhhhgdddddhhhhhhhhdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkddddddhgddhgddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddmigdddddiiiiiiijdddomdiioddddkiihddihdddddddddddddddddddddddaaa##aaadddddjiiiiiioddddjimjjilgddddomdiioddddkiihdddoiljjilhddddddddddddddaaa##aaadddddjiiiiiimgdddiiiiiiiidddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddgijndddddihdddddddddlodilmddddnlihddihdddddddddddddddddddddddaaa##aaadddddjjddddninddolkdddglmddddlodilmddddnlihddoihdddgjigdddddddddddddaaa##aaadddddjjddddklldddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddookldddddihddddddddgikdioigdddmoihddihdddddddddddddddddddddddaaa##aaadddddjjdddddjjdgihdddddkikddgikdioigdddmoihdginddddddmmdddddddddddddaaa##aaadddddjjdddddginddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddlkdlkddddihddddddddniddihinddgihihddihdddddddddddddddddddddddaaa##aaadddddjjdddddmodnidddddddddddniddihinddgihihdnidddddddhidddddddddddddaaa##aaadddddjjddddddomddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddhlddojddddiohhhhkdddjjddihjjddhidihddihdddddddddddddddddddddddaaa##aaadddddjmhhhhmigdjjdddddddddddjjddihjjddhidihdjjddddddddihddddddddddddaaa##aaadddddjjddddddhiddiohhhhhkdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjljjjjjjihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddmoddgigdddiiiiiijdddihddihhiddjjdihddihdddddddddddddddddddddddaaa##aaadddddjiiiiiijddjjdddddddddddihddihhiddjjdihdjjddddddddihddddddddddddaaa##aaadddddjjddddddhiddiiiiiiijdddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjljjjjjjihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddgimjjjindddihdddddddhigddihgihdindihddihdddddddddddddddddddddddaaa##aaadddddjjddddklodjjddddddddddhigddihgihdindihdjjddddddddihddddddddddddaaa##aaadddddjjddddddhiddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddoljjjjmldddihdddddddomdddihdmohigdihddihdddddddddddddddddddddddaaa##aaadddddjjdddddhidhidddddddnkdomdddihdmohigdihdnldddddddhigddddddddddddaaa##aaadddddjjddddddjmddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddlnddddgikddihdddddddlodddihdololddihddihdddddddddddddddddddddddaaa##aaadddddjjdddddnidgindddddgindlodddihdololddihdginddddddmmdddddddddddddaaa##aaadddddjjdddddginddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddhiddddddjjddihddddddgikdddihdkiloddihddihdddddddddddddddddddddddaaa##aaadddddjjddddkloddolkdddglldgikdddihdkiloddihddoihddddjikdddddddddddddaaa##aaadddddjjddddhlldddihdddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddihddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddmjddddddhigdihddddddniddddihddiihddihddihdddddddddddddddddddddddaaa##aaadddddjiiiiiimgdddjimjjilgdniddddihddiihddihdddoiljjilhddddddddddddddaaa##aaadddddjiiiiiimgdddiiiiiiiihddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddjjddddddihddiiiiiiidddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddhgdddddddhgdhgddddddkkddddhgddkhdddhgddhgdddddddddddddddddddddddaaa##aaadddddkhhhhhgddddddkojjndddkkddddhgddkhdddhgddddkojjngdddddddddddddddaaa##aaadddddkhhhhhgdddddhhhhhhhhgddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddkkddddddhgddhhhhhhhdddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#............................................................#bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb##bbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbb#............................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#............................................................#bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb##bbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbb#............................................................#HHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHH#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#............................................................#bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb##bbbbbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeebbbbb#............................................................#HHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHH#..............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb##bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#............................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#..............", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..............................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#..............................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#...............", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#................................................................#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#....#bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb#................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#................", ".................######################################################################......######################################################################......######################################################################......######################################################################..................................................................######################################################################......######################################################################..................................................................######################################################################.................", ".................######################################################################......######################################################################......######################################################################......######################################################################........................................................................................................######################################################################........................................................................................................######################################################################.................", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#......................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#......................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#................", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#....................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#...............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#..................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#..................................................................................................#cccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccccc#..................................................................................................#HHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHH#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#..................................................................................................#ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcccc#..................................................................................................#HHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddmijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddnjiiimokddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddkjliiijhdddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddniijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddgomiiiljhddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddgliiiiiiiiodddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddjiiiiiiiimgdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddhiiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddoiiiiiiiiilkddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddgliiiiiiiiiijddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddjiiiiiiiiiilgddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddhiiiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddjiiiiiiiiiiiihdddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddliiiokddkmiiindddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddniiilhddkjiiijddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddoiiiiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddoiiilngddkjiiilgddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddniiihddddddmiildddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddliimddddddjiiikdddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddkliiiiiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddiiimdddddddhiiinddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjiimdddddddkiiikddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddhiiigdddddddliiodddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddmiiiinjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddhiiigddddddddmiimddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddjminddddddddiiihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddjiimddddddddniildddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddiiilkdjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddjiimdddddddddhiiiddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddiiihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddliinddddddddgiiikddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddilndddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddkhjndddddddddhiiiddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddniiidddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddiiihdddddddddiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddndddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddoiilddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddhiiiodddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddgiiikdddddddddliinddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddliijddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddkhnmiiijddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddoiiikddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddjiiiiindddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddhiiimdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddmiiiiiioddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddhiiiigdddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddohhnmiiilgddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddhiiiihddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddhiiijddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddhiiiihdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddniiikdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddhiiiddddddddddjiijddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiiiihddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddiiindddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddkiiiddddddddddmiioddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddgjiiiihdddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddddddddddjiijdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffyzzzzzzzzzzffzzyffffffzzAffzzzzzzzzzzyfffffyBCCGAfffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIKMMMKIIIIJKJIIIIIIIIJKJIIIILPMMRJIIIIILKJIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddiiihdddddddddiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddddgliiilgddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddkhddddddddddjiijdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDDDDDDDDDDffBDEyffffzDDyffDDDDDDDDDDzffffGDDDDDDCffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIKQNNNNNQLIILNNJIIIIIIJNNLIIIRNNNNNNMIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddiiihdddddddddiiihddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddgliiijgdddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddhiiikdddddddddmiijdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDFzzzzzzzzfffCDCfffyEDBfffDDzzzzzzzzyfffCDFzffAEDCfffffffffccc#..................................................................................................#HHHIIIIIIIIIIIKNQPLILMNQLIIPNQLIIIILQNPIIIMNOKIIJQNMIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddjiijddddddddhiiidddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddgliiijdddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddiiioddddddddkiiihdddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCfffffffffffyEDzffCDCffffDDfffffffffffBDFfffffyEDAffffffffccc#..................................................................................................#HHHIIIIIIIIIILNNLIIIIIMNRIIIMNMIIIIMNOIIIPNOIIIIILQNJIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddniiiddddddddjiimdddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddliiihddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddmiiigdddddddmiilddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCffffffffffffzDEyBDEyffffDDfffffffffffFDAffffffGFBffffffffccc#..................................................................................................#HHHIIIIIIIIIIPNRIIIIIIJQMIIILQNKIIKNQLIIIONJIIIIIIROPIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddgiiijddddddhiiindddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddoiiihdddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddkiiilkddddkmiiinddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCfffffffffffffCDCDDzfffffDDffffffffffyDDffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIONKIIIIIIIIIIIIIKNQLLQNKIIILNNIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddoiiijddddhiiilddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddgiiijhhhhhhhhhhhhgdddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddoiiiiljjmiiiijdddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDFzzzzzzzyfffffyEDDCffffffDDzzzzzzzAffzDCffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIINNIIIIIIIIIIIIIIIMNMMNMIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddgliiiijjliiiihddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddoiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddoiiiiiiiiiioddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDDDDDDDDDzffffffBDDAffffffDDDDDDDDDCffzDCffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIINNIIIIIIIIIIIIIIILQNNQLIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddgliiiiiiiiihdddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddjiijddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddliiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddddkmiiiiiijkdddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDFzzzzzzzyfffffADDDFffffffDDzzzzzzzAffzDCffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIINNIIIIIIIIIIIIIIIIKNNKIIIIIKNMIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddgoiiiiiimkddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaadddddddddddddddddddddddddddiiiiiiiiiiiiiiiiihdddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddhhhhddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCfffffffffffffEDGEDGfffffDDffffffffffADFffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIQNLIIIIIIIIIIIIIIIINNIIIIIIJNOIIIIIIIIIIIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddddddddddddddddddddddddddkhhhdddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCffffffffffffGDEfyDDAffffDDfffffffffffDDfffffffyECffffffffccc#..................................................................................................#HHHIIIIIIIIIIMNKIIIIIIIOMJIIIIIINNIIIIIIINNIIIIIIILQMIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCfffffffffffADDAffBDEffffDDfffffffffffCDBffffffGDCffffffffccc#..................................................................................................#HHHIIIIIIIIIIKNOIIIIIIJNNIIIIIIINNIIIIIIIMNPIIIIIIRNMIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDCffffffffffyEDBffffFDGfffDDfffffffffffADDAffffzDDAffffffffccc#..................................................................................................#HHHIIIIIIIIIIIQNRIIIILQNRIIIIIIINNIIIIIIIJNNJIIIIKNNJIIKNMIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDECCCCCCCCAfCDFfffffyDDzffDDCCCCCCCCBfffzDDCzzGDDGfffffffffccc#..................................................................................................#HHHIIIIIIIIIIILQNOPKPQNQIIIIIIIINNIIIIIIIIKNNMKKRNNRIIIKNQMMMMMMJIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffzDDDDDDDDDDzzDDyffffffzDEyfDDDDDDDDDDCffffzEDDDDEzffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIILONNNNNRIIIIIIIIINNIIIIIIIIIKQNNNNQKIIIIKNNNNNNNNKIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffAzzAffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIILKKKIIIIIIIIIIIIIIIIIIIIIIIIJKKJIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddgkddddddhhhhhhhkdddghdhhhhhhgdddghddddddddddddddddddddddddddaaa##aaaddddkhhhhhgddddddkojjhddddddghdhhhhhhgddddddhjjjkdddddddddddddddddddaaa##aaaddddkhhhhhgdddddhhhhhhhhddddghdhhgdddddhhgddhhhhhhhhddddddddddddddddaaa##aaadddddkkddddddhgddhgdddddddddhgkhhhhhhhddhgddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddmigdddddiiiiiiijdddomdiiiiiiioddhiddddddddddddddddddddddddddaaa##aaaddddjiiiiiioddddjimjjilgddddomdiiiiiiiodddgmimjmimgdddddddddddddddddaaa##aaaddddjiiiiiimgdddiiiiiiiiddddomdiioddddkiihddiiiiiiiiddddddddddddddddaaa##aaadddddjjddddddihddihddddddddkigjiiiiiiiddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddgijndddddihdddddddddlodihddddnikdhiddddddddddddddddddddddddddaaa##aaaddddjjddddninddolkdddglmddddlodihddddnikddllgdddklmdddddddddddddddddaaa##aaaddddjjddddklldddihddddddddddlodilmddddnlihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddddoldjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddookldddddihddddddddgikdihdddddmjdhiddddddddddddddddddddddddddaaa##aaaddddjjdddddjjdgihdddddkikddgikdihdddddmjdnigdddddginddddddddddddddddaaa##aaaddddjjdddddginddihdddddddddgikdioigdddmoihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddddmodjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddddlkdlkddddihddddddddniddihdddddjjdhiddddddddddddddddddddddddddaaa##aaaddddjjdddddmodnidddddddddddniddihdddddjjdmjdddddddjjddddddddddddddddaaa##aaaddddjjddddddomddihdddddddddniddihinddgihihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihdddddddgihdjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddhlddojddddiohhhhkdddjjddihddddgindhiddddddddddddddddddddddddddaaa##aaaddddjmhhhhmigdjjdddddddddddjjddihddddgindihdddddddhiddddddddddddddddaaa##aaaddddjjddddddhiddiohhhhhkdddjjddihjjddhidihddiohhhhhkddddddddddddddddaaa##aaadddddjljjjjjjihddihdddddddhiddjmhhhhhdddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddmoddgigdddiiiiiijdddihddimjjjjilddhiddddddddddddddddddddddddddaaa##aaaddddjiiiiiijddjjdddddddddddihddimjjjjilddihdddddddhiddddddddddddddddaaa##aaaddddjjddddddhiddiiiiiiijdddihddihhiddjjdihddiiiiiiijddddddddddddddddaaa##aaadddddjljjjjjjihddihdddddddjjddjiiiiiidddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddgimjjjindddihdddddddhigddimjjjjhdddhiddddddddddddddddddddddddddaaa##aaaddddjjddddklodjjddddddddddhigddimjjjjhdddihdddddddhiddddddddddddddddaaa##aaaddddjjddddddhiddihddddddddhigddihgihdindihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihdddddddinddjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddoljjjjmldddihdddddddomdddihddddddddhiddddddddddddddddddddddddddaaa##aaaddddjjdddddhidhidddddddnkdomdddihddddddddmodddddddjmddddddddddddddddaaa##aaaddddjjddddddjmddihddddddddomdddihdmohigdihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddkigddjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaadddddlnddddgikddihdddddddlodddihddddddddhiddddddddddddddddddddddddddaaa##aaaddddjjdddddnidgindddddgindlodddihddddddddnigdddddginddddddddddddddddaaa##aaaddddjjdddddginddihddddddddlodddihdololddihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddoldddjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddhiddddddjjddihddddddgikdddihddddddddhiddddddddddddddddddddddddddaaa##aaaddddjjddddkloddolkdddglldgikdddihdddddddddllgdddglldddddddddddddddddaaa##aaaddddjjddddhlldddihdddddddgikdddihdkiloddihddihddddddddddddddddddddddaaa##aaadddddjjddddddihddihddddddmodddjjddddddddihddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddmjddddddhigdihddddddniddddihddddddddhiddddddddddddddddddddddddddaaa##aaaddddjiiiiiimgdddjimjjilgdniddddihdddddddddgmimjmimgdddddddddddddddddaaa##aaaddddjiiiiiimgdddiiiiiiiihniddddihddiihddihddiiiiiiiihdddddddddddddddaaa##aaadddddjjddddddihddiiiiiiigihdddjjddddddddiiiiiiidddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddhgdddddddhgdhgddddddkkddddhgddddddddghddddddddddddddddddddddddddaaa##aaaddddkhhhhhgddddddkojjndddkkddddhgdddddddddddhjjjhdddddddddddddddddddaaa##aaaddddkhhhhhgdddddhhhhhhhhgkkddddhgddkhdddhgddhhhhhhhhgdddddddddddddddaaa##aaadddddkkddddddhgddhhhhhhhghddddkkddddddddhhhhhhhdddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa##aaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaa#..................................................................................................#cccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccc#..................................................................................................#HHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHH#..............", "..............#aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa##aaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaa#..................................................................................................#ccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcccc#..................................................................................................#HHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHH#..............", "..............#aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa##aaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddaaaaa#..................................................................................................#cccccffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffccccc#..................................................................................................#HHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHH#..............", "..............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#..................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#..............", "...............#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#..#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#....................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#...............", "................#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#....#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa#......................................................................................................#cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc#......................................................................................................#HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH#................", ".................######################################################################......######################################################################......######################################################################......######################################################################........................................................................................................######################################################################........................................................................................................######################################################################.................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................STTTS....USU........USU....VWTTXU.." }; KCemu-0.5.1/src/ui/gtk/copying.cc0000644000175000017500000000730512417262523016726 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "ui/gtk/cmd.h" #include "ui/gtk/copying.h" using namespace std; class CMD_copying_window_toggle : public CMD { private: CopyingWindow *_w; public: CMD_copying_window_toggle(CopyingWindow *w) : CMD("ui-copying-window-toggle") { _w = w; register_cmd("ui-copying-window-toggle", 0); register_cmd("ui-warranty-window-toggle", 1); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); if (context == 0) _w->scroll_to_copying(); else _w->scroll_to_warranty(); } }; CopyingWindow::CopyingWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _font_desc = pango_font_description_new(); pango_font_description_set_family(_font_desc, "Courier"); pango_font_description_set_style(_font_desc, PANGO_STYLE_NORMAL); pango_font_description_set_variant(_font_desc, PANGO_VARIANT_NORMAL); pango_font_description_set_weight(_font_desc, PANGO_WEIGHT_NORMAL); pango_font_description_set_stretch(_font_desc, PANGO_STRETCH_NORMAL); pango_font_description_set_size(_font_desc, 10 * PANGO_SCALE); _cmd = new CMD_copying_window_toggle(this); } CopyingWindow::~CopyingWindow(void) { delete _cmd; pango_font_description_free(_font_desc); } void CopyingWindow::init(void) { /* * copying window */ _window = get_widget("copying_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-copying-window-toggle"); // FIXME: /* * scrolled window */ _w.scrolled_window = get_widget("main_scrolledwindow"); /* * label copying */ _w.label_license = get_widget("main_label_license"); gtk_label_set_text(GTK_LABEL(_w.label_license), kc_get_license()); gtk_widget_modify_font(_w.label_license, _font_desc); /* * label warranty */ string warranty_text = kc_get_warranty(); string text = warranty_text + kc_get_license_trailer(); _w.label_warranty = get_widget("main_label_warranty"); gtk_label_set_text(GTK_LABEL(_w.label_warranty), text.c_str()); gtk_widget_modify_font(_w.label_warranty, _font_desc); init_dialog("ui-copying-window-toggle", NULL); /* * force allocation calculation for this window; so we get * the values for the label width */ gtk_widget_realize(_window); } void CopyingWindow::scroll_to_copying(void) { GtkAdjustment* adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(_w.scrolled_window)); if (adj == NULL) return; adj->value = 0.0; gtk_signal_emit_by_name(GTK_OBJECT(adj), "value_changed"); } void CopyingWindow::scroll_to_warranty(void) { GtkAdjustment* adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(_w.scrolled_window)); if (adj == NULL) return; adj->value = _w.label_license->requisition.height; gtk_signal_emit_by_name(GTK_OBJECT(adj), "value_changed"); } KCemu-0.5.1/src/ui/gtk/ui_gtk6.cc0000644000175000017500000000255712417262523016632 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_6.h" #include "ui/gtk/ui_gtk6.h" UI_Gtk6::UI_Gtk6(void) : UI_Gtk_Base(new UI_6()) { _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 0x00, 0x20, 0x00)); /* really dark green */ _colors.push_back(UI_Color(false, 0x00, 0xe0, 0x00)); /* green */ _colors.push_back(UI_Color(false, 0xff, 0x8c, 0x00)); /* dark orange */ _colors.push_back(UI_Color(false, 0x9a, 0xcd, 0x32)); /* led green */ } UI_Gtk6::~UI_Gtk6(void) { } KCemu-0.5.1/src/ui/gtk/ui_gtk_vcs80.cc0000644000175000017500000000364612417262523017567 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_vcs80.h" #include "ui/gtk/ui_gtk_vcs80.h" UI_Gtk_VCS80::UI_Gtk_VCS80(void) : UI_Gtk_Base(new UI_VCS80()) { _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 0x00, 0x20, 0x00)); /* really dark green */ _colors.push_back(UI_Color(false, 0x00, 0xe0, 0x00)); /* green */ _colors.push_back(UI_Color(false, 0xff, 0x8c, 0x00)); /* dark orange */ _colors.push_back(UI_Color(false, 0x9a, 0xcd, 0x32)); /* led green */ } UI_Gtk_VCS80::~UI_Gtk_VCS80(void) { } //void //UI_Gtk_VCS80::callback(void *data) //{ // int val = (int)data; // // switch (val) // { // case 0: // z80->addCallback(VCS80_CB_OFFSET, this, 0); // update(); // break; // case 1: // //VCS80_LED_CB_OFFSET = 4000, // z80->addCallback(VCS80_LED_CB_OFFSET, this, (void *)1); // led_update(); // break; // default: // DBG(0, form("KCemu/internal_error", // "UI_Gtk_VCS80: called callback() with invalid data %p\n", // data)); // break; // } //} KCemu-0.5.1/src/ui/gtk/ui_gtk4.cc0000644000175000017500000000501112417262523016614 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_4.h" #include "ui/gtk/ui_gtk4.h" UI_Gtk4::UI_Gtk4(void) : UI_Gtk_Base(new UI_4()) { _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 240)); /* blue */ _colors.push_back(UI_Color(false, 0)); /* red */ _colors.push_back(UI_Color(false, 300)); /* magenta */ _colors.push_back(UI_Color(false, 120)); /* green */ _colors.push_back(UI_Color(false, 180)); /* cyan */ _colors.push_back(UI_Color(false, 60)); /* yellow */ _colors.push_back(UI_Color(false, 0xe0, 0xe0, 0xe0)); /* white */ _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 260)); /* blue + 30° */ _colors.push_back(UI_Color(false, 20)); /* red + 30° */ _colors.push_back(UI_Color(false, 320)); /* magenta + 30° */ _colors.push_back(UI_Color(false, 140)); /* green + 30° */ _colors.push_back(UI_Color(false, 210)); /* cyan + 30° */ _colors.push_back(UI_Color(false, 90)); /* yellow + 30° */ _colors.push_back(UI_Color(false, 0xe0, 0xe0, 0xe0)); /* white */ _colors.push_back(UI_Color(true, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(true, 240)); /* blue */ _colors.push_back(UI_Color(true, 0)); /* red */ _colors.push_back(UI_Color(true, 300)); /* magenta */ _colors.push_back(UI_Color(true, 120)); /* green */ _colors.push_back(UI_Color(true, 180)); /* cyan */ _colors.push_back(UI_Color(true, 60)); /* yellow */ _colors.push_back(UI_Color(true, 0xe0, 0xe0, 0xe0)); /* white */ } UI_Gtk4::~UI_Gtk4(void) { } Scanline * UI_Gtk4::get_scanline(void) { return &_scanline; } KCemu-0.5.1/src/ui/gtk/selector.cc0000644000175000017500000002701112417262523017072 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "ui/gtk/cmd.h" #include "ui/gtk/selector.h" class CMD_profile_selector_window_toggle : public CMD { private: ProfileSelectorWindow *_w; public: CMD_profile_selector_window_toggle(ProfileSelectorWindow *w) : CMD("ui-profile-selector-window-toggle") { _w = w; register_cmd("ui-profile-selector-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; ProfileSelectorWindow::ProfileSelectorWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _w.liststore_iconview = NULL; _w.treestore_treeview = NULL; _cmd = new CMD_profile_selector_window_toggle(this); } ProfileSelectorWindow::~ProfileSelectorWindow(void) { if (_w.liststore_iconview != NULL) gtk_list_store_clear(_w.liststore_iconview); if (_w.treestore_treeview != NULL) gtk_tree_store_clear(_w.treestore_treeview); delete _cmd; } void ProfileSelectorWindow::on_dialog_ok(GtkWidget *widget, gpointer user_data) { ProfileSelectorWindow *self = (ProfileSelectorWindow *)user_data; self->close(); } void ProfileSelectorWindow::on_dialog_quit(GtkWidget *widget, gpointer user_data) { exit(0); } void ProfileSelectorWindow::on_dialog_cancel(GtkWidget *widget, gpointer user_data) { ProfileSelectorWindow *self = (ProfileSelectorWindow *)user_data; self->cancel(); } gboolean ProfileSelectorWindow::on_window_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data) { ProfileSelectorWindow *self = (ProfileSelectorWindow *)user_data; self->cancel(); return TRUE; /* DO NOT propagate event */ } void ProfileSelectorWindow::on_iconview_selection_changed(GtkIconView *iconview, gpointer user_data) { ProfileSelectorWindow *self = (ProfileSelectorWindow *)user_data; GList *list = gtk_icon_view_get_selected_items(iconview); if (g_list_length(list) == 0) { self->select(NULL); return; } gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(self->_w.treeview)); GtkTreePath *path = (GtkTreePath *)list->data; self->select(GTK_TREE_MODEL(self->_w.liststore_iconview), path, ICONVIEW_DATA_COLUMN); g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL); g_list_free(list); } void ProfileSelectorWindow::on_iconview_item_activated(GtkIconView *iconview, GtkTreePath *path, gpointer user_data) { ProfileSelectorWindow *self = (ProfileSelectorWindow *)user_data; self->select(GTK_TREE_MODEL(self->_w.liststore_iconview), path, ICONVIEW_DATA_COLUMN); self->close(); } void ProfileSelectorWindow::on_tree_selection_changed(GtkTreeSelection *selection, gpointer user_data) { ProfileSelectorWindow *self = (ProfileSelectorWindow *)user_data; GtkTreeIter iter; GtkTreeModel *model; if (!gtk_tree_selection_get_selected(selection, &model, &iter)) return; gtk_icon_view_unselect_all(self->_w.iconview); gchar *profile; gtk_tree_model_get(model, &iter, TREEVIEW_DATA_COLUMN, &profile, -1); self->select(profile); g_free(profile); } void ProfileSelectorWindow::on_tree_row_activated(GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) { ProfileSelectorWindow *self = (ProfileSelectorWindow *)user_data; self->select(GTK_TREE_MODEL(self->_w.treestore_treeview), path, TREEVIEW_DATA_COLUMN); self->close(); } void ProfileSelectorWindow::on_edit_button_clicked(GtkButton *button, gpointer user_data) { CMD_EXEC("ui-options-window-toggle"); } char * ProfileSelectorWindow::get_selected_profile(void) { if (_selected_profile.length() == 0) return NULL; return strdup(_selected_profile.c_str()); } void ProfileSelectorWindow::select(const char *profile) { if (profile == NULL) { _selected_profile = ""; } else { _selected_profile = profile; } gtk_widget_set_sensitive(GTK_WIDGET(_w.button_ok), profile != NULL); } void ProfileSelectorWindow::select(GtkTreeModel *model, GtkTreePath *path, int column) { GtkTreeIter iter; GValue value = { 0, }; gtk_tree_model_get_iter(model, &iter, path); gtk_tree_model_get_value(model, &iter, column, &value); const gchar *profile = g_value_get_string(&value); select(profile); } void ProfileSelectorWindow::iconview_model_add(GtkListStore *store, GdkPixbuf *pixbuf, const char *text, const char *tooltip, const char *profile) { GtkTreeIter iter; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, ICONVIEW_PIXBUF_COLUMN, pixbuf, ICONVIEW_TEXT_COLUMN, text, ICONVIEW_TOOLTIP_COLUMN, tooltip, ICONVIEW_DATA_COLUMN, profile, -1); } GtkListStore * ProfileSelectorWindow::get_iconview_model(void) { GtkListStore *store = gtk_list_store_new(ICONVIEW_N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); emulation_type_list_t list = EmulationType::get_emulation_types(); for (emulation_type_list_t::iterator it = list.begin();it != list.end();it++) { GdkPixbuf *pixbuf = get_icon((*it)->get_image_name()); iconview_model_add(store, pixbuf, (*it)->get_short_name(), (*it)->get_name(), (*it)->get_config_name()); g_object_unref(pixbuf); } return store; } void ProfileSelectorWindow::treeview_model_add(GtkTreeStore *store, GdkPixbuf *pixbuf, const char *text, const char *comment, const char *profile, GtkTreeIter *iter, GtkTreeIter *parent) { gtk_tree_store_append(store, iter, parent); gtk_tree_store_set(store, iter, TREEVIEW_PIXBUF_COLUMN, pixbuf, TREEVIEW_TEXT_COLUMN, text, TREEVIEW_COMMENT_COLUMN, comment, TREEVIEW_DATA_COLUMN, profile, TREEVIEW_ALIGN_COLUMN, 0.0, TREEVIEW_WEIGHT_COLUMN, parent == NULL ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL, TREEVIEW_WEIGHT_SET_COLUMN, TRUE, -1); } GtkTreeStore * ProfileSelectorWindow::get_treeview_model(void) { GtkTreeStore *store = gtk_tree_store_new(TREEVIEW_N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_DOUBLE, G_TYPE_INT, G_TYPE_BOOLEAN); int nr_of_user_profiles = 0; GdkPixbuf *pixbuf_default = NULL; emulation_type_list_t types = EmulationType::get_emulation_types(); for (emulation_type_list_t::const_iterator it = types.begin();it != types.end();it++) { list profiles = Preferences::instance()->find_child_profiles((*it)->get_config_name()); if (profiles.size() == 0) continue; if (pixbuf_default == NULL) { pixbuf_default = get_icon("icon-default.png"); } GtkTreeIter parent; GdkPixbuf *pixbuf = get_icon((*it)->get_icon_name()); treeview_model_add(store, pixbuf, (*it)->get_name(), "", (*it)->get_config_name(), &parent, NULL); g_object_unref(pixbuf); for (list::const_iterator it2 = profiles.begin();it2 != profiles.end();it2++) { GtkTreeIter iter; treeview_model_add(store, pixbuf_default, (*it2)->get_name(), (*it2)->get_comment(), (*it2)->get_config_name(), &iter, &parent); nr_of_user_profiles++; } } _nr_of_user_profiles = nr_of_user_profiles; return store; } void ProfileSelectorWindow::show(void) { UI_Gtk_Window::show(); gtk_main(); } void ProfileSelectorWindow::close(void) { hide(); gtk_main_quit(); } void ProfileSelectorWindow::cancel(void) { select(NULL); close(); } void ProfileSelectorWindow::init(void) { _window = get_widget("profile_selector_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(on_window_delete_event), this); _w.iconview = GTK_ICON_VIEW(get_widget("iconview_system_profiles")); _w.liststore_iconview = get_iconview_model(); gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(_w.iconview), ICONVIEW_PIXBUF_COLUMN); gtk_icon_view_set_text_column(GTK_ICON_VIEW(_w.iconview), ICONVIEW_TEXT_COLUMN); gtk_icon_view_set_tooltip_column(GTK_ICON_VIEW(_w.iconview), ICONVIEW_TOOLTIP_COLUMN); gtk_icon_view_set_model(GTK_ICON_VIEW(_w.iconview), GTK_TREE_MODEL(_w.liststore_iconview)); g_signal_connect(_w.iconview, "selection-changed", G_CALLBACK(on_iconview_selection_changed), this); g_signal_connect(_w.iconview, "item-activated", G_CALLBACK(on_iconview_item_activated), this); _w.treeview = GTK_TREE_VIEW(get_widget("treeview_user_profiles")); _w.treestore_treeview = get_treeview_model(); gtk_tree_view_set_model(GTK_TREE_VIEW(_w.treeview), GTK_TREE_MODEL(_w.treestore_treeview)); GtkTreeViewColumn *column1 = gtk_tree_view_column_new(); add_icon_renderer(GTK_TREE_VIEW(_w.treeview), column1, "", "pixbuf", TREEVIEW_PIXBUF_COLUMN, "yalign", TREEVIEW_ALIGN_COLUMN, NULL); add_text_renderer(GTK_TREE_VIEW(_w.treeview), column1, "Profile", "text", TREEVIEW_TEXT_COLUMN, "yalign", TREEVIEW_ALIGN_COLUMN, "weight", TREEVIEW_WEIGHT_COLUMN, NULL); gtk_tree_view_append_column(_w.treeview, column1); GtkTreeViewColumn *column2 = gtk_tree_view_column_new(); add_text_renderer(GTK_TREE_VIEW(_w.treeview), column2, "Comment", "text", TREEVIEW_COMMENT_COLUMN, "yalign", TREEVIEW_ALIGN_COLUMN, NULL); gtk_tree_view_append_column(_w.treeview, column2); gtk_tree_view_expand_all(_w.treeview); gtk_tree_view_columns_autosize(GTK_TREE_VIEW(_w.treeview)); g_signal_connect(_w.treeview, "row-activated", G_CALLBACK(on_tree_row_activated), this); /* Setup the selection handler */ GtkTreeSelection *select = gtk_tree_view_get_selection(_w.treeview); gtk_tree_selection_set_mode(select, GTK_SELECTION_SINGLE); g_signal_connect(select, "changed", G_CALLBACK(on_tree_selection_changed), this); GtkWidget *cancel_button = get_widget("dialog_button_cancel"); g_signal_connect(cancel_button, "clicked", G_CALLBACK(on_dialog_cancel), this); _w.button_ok = GTK_BUTTON(get_widget("dialog_button_close")); g_signal_connect(_w.button_ok, "clicked", G_CALLBACK(on_dialog_ok), this); _w.button_quit = GTK_BUTTON(get_widget("dialog_button_quit")); g_signal_connect(_w.button_quit, "clicked", G_CALLBACK(on_dialog_quit), this); _w.expander_system_profiles = GTK_EXPANDER(get_widget("expander_system_profiles")); _w.expander_user_profiles = GTK_EXPANDER(get_widget("expander_user_profiles")); gtk_expander_set_expanded(_w.expander_user_profiles, _nr_of_user_profiles != 0); this->select(NULL); init_dialog(NULL, NULL); } KCemu-0.5.1/src/ui/gtk/ui_gtk_kramermc.cc0000644000175000017500000000224512417262523020417 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_kramermc.h" #include "ui/gtk/ui_gtk_kramermc.h" UI_Gtk_KramerMC::UI_Gtk_KramerMC(void) : UI_Gtk_Base(new UI_KramerMC()) { _colors.push_back(UI_Color(true, 0x00, 0x00, 0x00)); _colors.push_back(UI_Color(false, 0xd0, 0xd0, 0xd0)); } UI_Gtk_KramerMC::~UI_Gtk_KramerMC(void) { } KCemu-0.5.1/src/ui/gtk/ui_gtk_muglerpc.cc0000644000175000017500000000224512417262523020434 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_muglerpc.h" #include "ui/gtk/ui_gtk_muglerpc.h" UI_Gtk_MuglerPC::UI_Gtk_MuglerPC(void) : UI_Gtk_Base(new UI_MuglerPC()) { _colors.push_back(UI_Color(true, 0x00, 0x00, 0x00)); _colors.push_back(UI_Color(false, 0xd0, 0xd0, 0xd0)); } UI_Gtk_MuglerPC::~UI_Gtk_MuglerPC(void) { } KCemu-0.5.1/src/ui/gtk/about.cc0000644000175000017500000000420112417262523016360 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "ui/gtk/cmd.h" #include "ui/gtk/about.h" using namespace std; char AboutWindow::APP_NAME[] = ("KCemu v" KCEMU_VERSION); class CMD_about_window_toggle : public CMD { private: AboutWindow *_w; public: CMD_about_window_toggle(AboutWindow *w) : CMD("ui-about-window-toggle") { _w = w; register_cmd("ui-about-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; AboutWindow::AboutWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _cmd = new CMD_about_window_toggle(this); } AboutWindow::~AboutWindow(void) { delete _cmd; } void AboutWindow::init(void) { string version_text(string("") + APP_NAME + ""); _window = get_widget("about_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-about-window-toggle"); // FIXME: GtkWidget *version = get_widget("main_label_version"); gtk_label_set_text(GTK_LABEL(version), version_text.c_str()); gtk_label_set_use_markup(GTK_LABEL(version), TRUE); GtkWidget *build = get_widget("main_label_build"); gtk_label_set_text(GTK_LABEL(build), "build: " __DATE__ " / " __TIME__); init_dialog("ui-about-window-toggle", NULL); } KCemu-0.5.1/src/ui/gtk/Makefile.am0000644000175000017500000000322512417262523017000 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libui_gtk.a keymapdir = $(pkgdatadir)/keymaps KEYMAPS = \ kc851.key \ kc851_keyboard.xpm \ kc851_keyboard_pressed.xpm \ kc854.key \ kc854_keyboard.xpm \ kc854_keyboard_pressed.xpm \ poly880.key \ poly880_keyboard.xpm \ poly880_keyboard_pressed.xpm \ lc80.key \ lc80_keyboard.xpm \ lc80_keyboard_pressed.xpm \ vcs80.key \ vcs80_keyboard_pressed.xpm \ vcs80_keyboard.xpm \ a5105.key \ a5105_keyboard.png \ a5105_keyboard_pressed.png keymap_DATA = $(KEYMAPS) EXTRA_DIST = $(KEYMAPS) AM_CPPFLAGS = \ -I../../../include \ $(LIBTHEORA_CFLAGS) \ $(XVIDCORE_CFLAGS) \ $(LIBDIRAC_CFLAGS) \ $(LIBSCHROEDINGER_CFLAGS) \ $(LIBAVFORMAT_CFLAGS) \ $(VNCSERVER_CFLAGS) \ $(GTK_CFLAGS) \ $(SDL_CFLAGS) \ $(X11_CFLAGS) \ $(XMU_CFLAGS) libui_gtk_a_SOURCES = \ ui_gtk.cc \ ui_gtk_base.cc \ ui_gtk0.cc \ ui_gtk1.cc \ ui_gtk3.cc \ ui_gtk4.cc \ ui_gtk6.cc \ ui_gtk8.cc \ ui_gtk9.cc \ ui_gtk_kramermc.cc \ ui_gtk_muglerpc.cc \ ui_gtk_vcs80.cc \ ui_gtk_c80.cc \ cmd.cc \ window.cc \ main.cc \ disk.cc \ vdip.cc \ tape.cc \ tapeadd.cc \ info.cc \ help.cc \ about.cc \ thanks.cc \ color.cc \ module.cc \ keyboard.cc \ options.cc \ screenshot.cc \ selector.cc \ debug.cc \ copying.cc \ savemem.cc \ fbrowse.cc \ dialog.cc \ image.cc \ wav.cc \ plotter.cc \ video.cc \ theora.cc \ xvid.cc \ dirac.cc \ schro.cc \ ffmpeg.cc \ vnc.cc \ gif.cc \ hedit.cc if !TARGET_MINGW bin_PROGRAMS = kcemu-remote kcemu_remote_SOURCES = kcemu-remote.c kcemu_remote_LDADD = $(X11_LIBS) $(XMU_LIBS) $(INTLLIBS) endif KCemu-0.5.1/src/ui/gtk/cmd.cc0000644000175000017500000000311012417262523016007 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "ui/gtk/cmd.h" void cmd_exec_sf(GtkWidget *widget, gpointer data) { const char *name = (const char *)data; CMD_EXEC(name); } int cmd_exec_sft(GtkWidget *widget, GdkEvent *event, gpointer data) { const char *name = (const char *)data; CMD_EXEC(name); return true; } void cmd_exec_sftb(GtkWidget *widget, gpointer data) { const char *name = (const char *)data; if (GTK_TOGGLE_BUTTON(widget)->active) CMD_EXEC(name); } void cmd_exec_mc(gpointer data, guint action, GtkWidget *widget) { const char *name = (const char *)action; CMD_EXEC(name); } void cmd_exec_mci(gpointer data, guint action, GtkWidget *widget) { const char **callbacks = (const char **)data; const char *name = callbacks[action]; CMD_EXEC(name); } KCemu-0.5.1/src/ui/gtk/debug.cc0000644000175000017500000003375312417262523016352 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/memory.h" #include "ui/gtk/cmd.h" #include "ui/gtk/debug.h" using namespace std; extern "C" int disass(int, char **); /* FIXME */ class CMD_debug_window_toggle : public CMD { private: DebugWindow *_w; public: CMD_debug_window_toggle(DebugWindow *w) : CMD("ui-debug-window-toggle") { _w = w; register_cmd("ui-debug-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; class CMD_single_step_executed : public CMD { private: DebugWindow *_w; public: CMD_single_step_executed(DebugWindow *w) : CMD("single-step-executed") { _w = w; register_cmd("single-step-executed"); } void execute(CMD_Args *args, CMD_Context context) { _w->do_goto_int(z80->getPC()); } }; void DebugWindow::do_goto_int(int addr) { _op->go_to(this, addr); _op->update(this); (new debug_op_reg())->update(this); } void DebugWindow::do_goto_string(const char *str) { long val; char *endptr; if (str != NULL) { val = strtol(str, &endptr, 16); if ((*str != '\0') && (*endptr == '\0')) if ((val >= 0) && (val <= 0xffff)) { do_goto_int(val); return; } } gdk_beep(); gtk_entry_select_region(GTK_ENTRY(_w.op), 0, -1); } gint DebugWindow::key_press_func(GtkWidget *widget, GdkEventKey *event, gpointer data) { DebugWindow *self; int clear_op = 0; self = (DebugWindow *)data; if (event->state & GDK_CONTROL_MASK) { switch (event->keyval) { case 'd': delete self->_op; self->_op = new debug_op_asm(); self->_op->activate(self); break; case 'm': delete self->_op; self->_op = new debug_op_mem(); self->_op->activate(self); break; case 'r': delete self->_op; self->_op = new debug_op_reg(); self->_op->activate(self); break; case 'g': /* gtk_label_set_text(GTK_LABEL(self->_w.op), "go to: "); */ if (self->_op->can_go_to()) { // gtk_widget_show(self->_w.op); self->_minibuffer_active = true; gtk_widget_set_sensitive(self->_w.op, true); gtk_entry_select_region(GTK_ENTRY(self->_w.op), 0, -1); gtk_widget_grab_focus(self->_w.op); } break; case 'p': case 'b': case GDK_Up: case GDK_KP_Up: self->_op->update(self, SCROLL_PREV_PAGE); break; case 'f': case 'n': case GDK_Down: case GDK_KP_Down: self->_op->update(self, SCROLL_NEXT_PAGE); break; } } else { switch (event->keyval) { case GDK_Return: case GDK_KP_Enter: if (!GTK_WIDGET_VISIBLE(self->_w.op)) break; self->do_goto_string(gtk_entry_get_text(GTK_ENTRY(self->_w.op))); break; case GDK_Escape: clear_op = 1; break; case GDK_BackSpace: break; case GDK_Up: case GDK_KP_Up: self->_op->update(self, SCROLL_BACKWARD); break; case GDK_Down: case GDK_KP_Down: self->_op->update(self, SCROLL_FORWARD); break; case GDK_Page_Up: case GDK_KP_Page_Up: self->_op->update(self, SCROLL_PREV_PAGE); break; case GDK_Page_Down: case GDK_KP_Page_Down: self->_op->update(self, SCROLL_NEXT_PAGE); break; } } if (clear_op) { /* gtk_label_set_text(GTK_LABEL(self->_w.op), ""); */ // gtk_widget_hide(self->_w.op); gtk_widget_set_sensitive(self->_w.op, false); self->_op->update(self); } if (!self->_minibuffer_active) gtk_signal_emit_stop_by_name(GTK_OBJECT(widget), "key_press_event"); return FALSE; } DebugWindow::DebugWindow(void) { _pc = 0xe000; _mem = 0xe000; _minibuffer_active = false; _font_desc = pango_font_description_new(); pango_font_description_set_family(_font_desc, "Courier"); pango_font_description_set_style(_font_desc, PANGO_STYLE_NORMAL); pango_font_description_set_variant(_font_desc, PANGO_VARIANT_NORMAL); pango_font_description_set_weight(_font_desc, PANGO_WEIGHT_NORMAL); pango_font_description_set_stretch(_font_desc, PANGO_STRETCH_NORMAL); pango_font_description_set_size(_font_desc, 8 * PANGO_SCALE); _cmd1 = new CMD_debug_window_toggle(this); _cmd2 = new CMD_single_step_executed(this); } DebugWindow::~DebugWindow(void) { delete _cmd1; delete _cmd2; pango_font_description_free(_font_desc); } void DebugWindow::init(void) { int a; GdkCursor *cursor; /* * window */ _window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_set_name(_window, "DebugWindow"); gtk_window_set_title(GTK_WINDOW(_window), _("KCemu: Debugger")); gtk_widget_set_uposition(_window, 650, 50); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-debug-window-toggle"); // FIXME: gtk_signal_connect(GTK_OBJECT(_window), "key_press_event", GTK_SIGNAL_FUNC(key_press_func), this); /* * vbox */ _w.vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(_window), _w.vbox); gtk_widget_show(_w.vbox); /* * hbox */ _w.hbox = gtk_hbox_new(TRUE, 0); gtk_container_add(GTK_CONTAINER(_w.vbox), _w.hbox); gtk_widget_show(_w.hbox); /* * active/ op label */ _w.active = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_w.active), 0, 0.5); gtk_box_pack_start(GTK_BOX(_w.hbox), _w.active, FALSE, TRUE, 0); gtk_widget_show(_w.active); /* * asm eventbox */ _w.evb_asm = gtk_event_box_new(); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.evb_asm, FALSE, TRUE, 0); gtk_widget_show(_w.evb_asm); gtk_object_set_user_data(GTK_OBJECT(_w.evb_asm), this); gtk_widget_realize(_w.evb_asm); cursor = gdk_cursor_new(GDK_HAND1); gdk_window_set_cursor(_w.evb_asm->window, cursor); gdk_cursor_destroy(cursor); gtk_widget_show(_w.evb_asm); /* * asm frame/ vbox */ _w.frame_asm = gtk_frame_new(DEBUG_ASM_HEADLINE); gtk_container_add(GTK_CONTAINER(_w.evb_asm), _w.frame_asm); gtk_widget_show(_w.frame_asm); _w.vbox_asm = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(_w.frame_asm), _w.vbox_asm); gtk_widget_show(_w.vbox_asm); /* * mem eventbox */ _w.evb_mem = gtk_event_box_new(); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.evb_mem, FALSE, TRUE, 0); gtk_widget_show(_w.evb_mem); gtk_object_set_user_data(GTK_OBJECT(_w.evb_mem), this); gtk_widget_realize(_w.evb_mem); cursor = gdk_cursor_new(GDK_CROSSHAIR); gdk_window_set_cursor(_w.evb_mem->window, cursor); gdk_cursor_destroy(cursor); gtk_widget_show(_w.evb_mem); /* * mem frame/ vbox */ _w.frame_mem = gtk_frame_new(DEBUG_MEM_HEADLINE); gtk_container_add(GTK_CONTAINER(_w.evb_mem), _w.frame_mem); gtk_widget_show(_w.frame_mem); _w.vbox_mem = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(_w.frame_mem), _w.vbox_mem); gtk_widget_show(_w.vbox_mem); /* * reg eventbox */ _w.evb_reg = gtk_event_box_new(); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.evb_reg, FALSE, TRUE, 0); gtk_widget_show(_w.evb_reg); gtk_object_set_user_data(GTK_OBJECT(_w.evb_reg), this); gtk_widget_realize(_w.evb_reg); cursor = gdk_cursor_new(GDK_XTERM); gdk_window_set_cursor(_w.evb_reg->window, cursor); gdk_cursor_destroy(cursor); gtk_widget_show(_w.evb_reg); /* * reg frame/ vbox */ _w.frame_reg = gtk_frame_new(DEBUG_REG_HEADLINE); gtk_container_add(GTK_CONTAINER(_w.evb_reg), _w.frame_reg); gtk_widget_show(_w.frame_reg); _w.vbox_reg = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(_w.frame_reg), _w.vbox_reg); gtk_widget_show(_w.vbox_reg); _w.trace = gtk_toggle_button_new_with_label(_("Trace")); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.trace, FALSE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(_w.trace), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (char *)"z80-trace-toggle"); // FIXME: gtk_widget_show(_w.trace); _w.single_step = gtk_toggle_button_new_with_label(_("Single Step")); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.single_step, FALSE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(_w.single_step), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (char *)"z80-single-step-toggle"); // FIXME: gtk_widget_show(_w.single_step); _w.execute_step = gtk_button_new_with_label(_("Execute Step")); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.execute_step, FALSE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(_w.execute_step), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (char *)"z80-execute-step"); // FIXME: gtk_widget_show(_w.execute_step); /* _w.op = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(_w.op), 0, 0.5); */ _w.op = gtk_entry_new(); gtk_widget_set_sensitive(_w.op, false); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.op, FALSE, TRUE, 0); gtk_widget_show(_w.op); /* *--------------------------------------------------------------------------- */ /* * labels */ for (a = 0;a < DEBUG_NR_OF_ASM_LABELS;a++) { _w.l_asm[a] = gtk_label_new(""); gtk_widget_modify_font(_w.l_asm[a], _font_desc); gtk_misc_set_alignment(GTK_MISC(_w.l_asm[a]), 0, 0.5); gtk_box_pack_start(GTK_BOX(_w.vbox_asm), _w.l_asm[a], FALSE, TRUE, 0); gtk_widget_show(_w.l_asm[a]); } for (a = 0;a < DEBUG_NR_OF_MEM_LABELS;a++) { _w.l_mem[a] = gtk_label_new(""); gtk_widget_modify_font(_w.l_mem[a], _font_desc); gtk_misc_set_alignment(GTK_MISC(_w.l_mem[a]), 0, 0.5); gtk_box_pack_start(GTK_BOX(_w.vbox_mem), _w.l_mem[a], FALSE, TRUE, 0); gtk_widget_show(_w.l_mem[a]); } for (a = 0;a < DEBUG_NR_OF_REG_LABELS;a++) { _w.l_reg[a] = gtk_label_new(""); gtk_widget_modify_font(_w.l_reg[a], _font_desc); gtk_misc_set_alignment(GTK_MISC(_w.l_reg[a]), 0, 0.5); gtk_box_pack_start(GTK_BOX(_w.vbox_reg), _w.l_reg[a], FALSE, TRUE, 0); gtk_widget_show(_w.l_reg[a]); } /* * initial display */ _op = new debug_op_reg(); _op->update(this); delete _op; _op = new debug_op_mem(); _op->update(this); delete _op; _op = new debug_op_asm(); _op->update(this); _op->activate(this); } void debug_op_t::activate(DebugWindow *w) { char buf[256]; sprintf(buf, "Active Window: %s", get_name()); gtk_label_set_text(GTK_LABEL(w->_w.active), buf); } void debug_op_asm::go_to(DebugWindow *w, int addr) { w->_pc = addr; } void debug_op_asm::update(DebugWindow *w, scroll_dir_t direction) { int a; int done; char *ptr = NULL; int pc, newpc; if (direction == SCROLL_NEXT_PAGE) { direction = SCROLL_NONE; w->_pc = w->_pc_np; } newpc = w->_pc - 20; a = 0; done = 0; do { pc = newpc; newpc = 0; // FIXME: call disassembler here free(ptr); switch (direction) { case SCROLL_NONE: done = 1; break; case SCROLL_FORWARD: if ((pc <= w->_pc) && (newpc > w->_pc)) { w->_pc = newpc; done = 1; } break; case SCROLL_BACKWARD: if ((pc < w->_pc) && (newpc >= w->_pc)) { w->_pc = pc; done = 1; } break; default: break; } if (++a > 22) { cerr << "ARGH! (" __FILE__ ":" << __LINE__ << ")" << endl; return; } } while (!done); pc = w->_pc; for (a = 0;a < DEBUG_NR_OF_ASM_LABELS;a++) { if (a == (DEBUG_NR_OF_ASM_LABELS - 2)) w->_pc_np = pc; pc = 0; // FIXME: call disassembler here gtk_label_set_text(GTK_LABEL(w->_w.l_asm[a]), ptr); free(ptr); } gtk_widget_queue_draw(w->_w.vbox_asm); } void debug_op_mem::go_to(DebugWindow *w, int addr) { w->_mem = addr; } void debug_op_mem::update(DebugWindow *w, scroll_dir_t direction) { int c; int a, b, mem; char mem_str[100]; switch (direction) { case SCROLL_NONE: break; case SCROLL_FORWARD: w->_mem += 16; break; case SCROLL_BACKWARD: w->_mem -= 16; break; case SCROLL_NEXT_PAGE: w->_mem += 16 * DEBUG_NR_OF_MEM_LABELS; break; case SCROLL_PREV_PAGE: w->_mem -= 16 * DEBUG_NR_OF_MEM_LABELS; break; } mem = w->_mem; for (a = 0;a < DEBUG_NR_OF_MEM_LABELS;a++) { sprintf(mem_str, "%04xh:", mem); for (b = 0;b < 16;b++) { sprintf(strchr(mem_str, 0), " %02x", memory->memRead8(mem + b)); if (b == 7) sprintf(strchr(mem_str, 0), " -"); } sprintf(strchr(mem_str, 0), " | "); for (b = 0;b < 16;b++) { c = memory->memRead8(mem + b); sprintf(strchr(mem_str, 0), "%c", ((c >= 0x20) && (c < 0x80)) ? c : '.'); if (b == 7) sprintf(strchr(mem_str, 0), "-"); } mem += 16; gtk_label_set_text(GTK_LABEL(w->_w.l_mem[a]), mem_str); } } void debug_op_reg::update(DebugWindow *w, scroll_dir_t direction) { int a; char buf[256]; a = 0; sprintf(buf, "PC = %04xh SP = %04xh", z80->getPC(), z80->getSP()); gtk_label_set_text(GTK_LABEL(w->_w.l_reg[a++]), buf); sprintf(buf, "AF = %04xh BC = %04xh DE = %04xh HL = %04xh", z80->getAF(), z80->getBC(), z80->getDE(), z80->getHL()); gtk_label_set_text(GTK_LABEL(w->_w.l_reg[a++]), buf); sprintf(buf, "AF' = %04xh BC' = %04xh DE' = %04xh HL' = %04xh", z80->getAFs(), z80->getBCs(), z80->getDEs(), z80->getHLs()); gtk_label_set_text(GTK_LABEL(w->_w.l_reg[a++]), buf); sprintf(buf, "IX = %04xh IY = %04xh IFF = %02xh I = %02xh", z80->getIX(), z80->getIY(), z80->getIFF(), z80->getI()); gtk_label_set_text(GTK_LABEL(w->_w.l_reg[a++]), buf); gtk_widget_queue_draw(w->_w.vbox_reg); } KCemu-0.5.1/src/ui/gtk/ui_gtk0.cc0000644000175000017500000000215712417262523016620 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_0.h" #include "ui/gtk/ui_gtk0.h" UI_Gtk0::UI_Gtk0(void) : UI_Gtk_Base(new UI_0()) { _colors.push_back(UI_Color(true, 0x00, 0x00, 0x00)); _colors.push_back(UI_Color(false, 0xd0, 0xd0, 0xd0)); } UI_Gtk0::~UI_Gtk0(void) { } KCemu-0.5.1/src/ui/gtk/video.cc0000644000175000017500000002647712417262523016377 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/kc.h" #include "kc/system.h" #include "cmd/cmd.h" #include "ui/gtk/ui_gtk.h" #include "ui/gtk/cmd.h" #include "ui/gtk/video.h" #include "ui/gtk/vnc.h" #include "ui/gtk/gif.h" #include "ui/gtk/xvid.h" #include "ui/gtk/dirac.h" #include "ui/gtk/schro.h" #include "ui/gtk/ffmpeg.h" #include "ui/gtk/theora.h" #include "libgtkex/libgtkex.h" class CMD_ui_video_window_toggle : public CMD { private: VideoWindow *_w; public: CMD_ui_video_window_toggle(VideoWindow *w) : CMD("ui-video-window-toggle") { _w = w; register_cmd("ui-video-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; class CMD_ui_video_record : public CMD { private: VideoWindow *_w; public: CMD_ui_video_record(VideoWindow *w) : CMD("ui-video-record") { _w = w; register_cmd("ui-video-reset", -1); register_cmd("ui-video-record", VideoEncoder::VIDEO_ENCODER_STATE_RECORD); register_cmd("ui-video-pause", VideoEncoder::VIDEO_ENCODER_STATE_PAUSE); register_cmd("ui-video-stop", VideoEncoder::VIDEO_ENCODER_STATE_STOP); } void execute(CMD_Args *args, CMD_Context context) { _w->ui_set_state(context); } }; VideoWindow::VideoWindow(const char *ui_xml_file, UI_Gtk *ui) : UI_Gtk_Window(ui_xml_file) { _ui = ui; _cmd_video_toggle = new CMD_ui_video_window_toggle(this); _cmd_video_record = new CMD_ui_video_record(this); } VideoWindow::~VideoWindow(void) { delete _cmd_video_toggle; delete _cmd_video_record; } void VideoWindow::set_state(int state) { _ui->set_video_encoder_state(state); } void VideoWindow::ui_set_state(int state) { switch (state) { case VideoEncoder::VIDEO_ENCODER_STATE_RECORD: gtk_widget_set_sensitive(_w.encoder_combobox, false); gtk_widget_set_sensitive(_w.record_button, false); gtk_widget_set_sensitive(_w.stop_button, true); gtk_widget_set_sensitive(_w.pause_button, true); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.record_button), TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.pause_button), FALSE); set_config_widget_sensitivity(false); break; case VideoEncoder::VIDEO_ENCODER_STATE_STOP: gtk_widget_set_sensitive(_w.encoder_combobox, true); gtk_widget_set_sensitive(_w.record_button, true); gtk_widget_set_sensitive(_w.stop_button, false); gtk_widget_set_sensitive(_w.pause_button, false); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.record_button), FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.pause_button), FALSE); set_config_widget_sensitivity(true); break; case VideoEncoder::VIDEO_ENCODER_STATE_PAUSE: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.pause_button), TRUE); break; default: gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.start_on_reset_checkbutton), FALSE); break; } } void VideoWindow::set_config_widget_sensitivity(bool enable) { gboolean enable_encoder = FALSE, enable_filebutton = FALSE, enable_config = FALSE; GtkTreeIter iter; if (enable && gtk_combo_box_get_active_iter(GTK_COMBO_BOX(_w.encoder_combobox), &iter)) { enable_encoder = TRUE; gtk_tree_model_get(GTK_TREE_MODEL(gtk_combo_box_get_model(GTK_COMBO_BOX(_w.encoder_combobox))), &iter, 2, &enable_filebutton, 3, &enable_config, -1); } gtk_widget_set_sensitive(_w.filebutton, enable_filebutton); gtk_widget_set_sensitive(_w.fps_combobox, enable_config); gtk_widget_set_sensitive(_w.quality_spinbutton, enable_config); gtk_widget_set_sensitive(_w.start_on_reset_checkbutton, enable_config); } void VideoWindow::on_record_clicked(GtkWidget *widget, gpointer user_data) { VideoWindow *self = (VideoWindow *) user_data; GtkToggleButton *button = GTK_TOGGLE_BUTTON(widget); if (button->active) { self->set_state(VideoEncoder::VIDEO_ENCODER_STATE_RECORD); } } void VideoWindow::on_stop_clicked(GtkWidget *widget, gpointer user_data) { VideoWindow *self = (VideoWindow *) user_data; self->set_state(VideoEncoder::VIDEO_ENCODER_STATE_STOP); } void VideoWindow::on_pause_clicked(GtkWidget *widget, gpointer user_data) { VideoWindow *self = (VideoWindow *) user_data; GtkToggleButton *button = GTK_TOGGLE_BUTTON(widget); int state = button->active ? VideoEncoder::VIDEO_ENCODER_STATE_PAUSE : VideoEncoder::VIDEO_ENCODER_STATE_RECORD; self->set_state(state); } void VideoWindow::on_config_changed(GtkWidget *widget, gpointer user_data) { VideoWindow *self = (VideoWindow *) user_data; gchar *filename = gtk_filebutton_get_filename(GTK_FILEBUTTON(self->_w.filebutton)); double quality = gtk_spin_button_get_value(GTK_SPIN_BUTTON(self->_w.quality_spinbutton)); int video_skip = get_active_value_as_int(GTK_COMBO_BOX(self->_w.fps_combobox), 1); bool start_on_reset = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(self->_w.start_on_reset_checkbutton)); self->_ui->set_video_encoder_config(filename, quality / 100.0, video_skip, start_on_reset); } void VideoWindow::on_encoder_changed(GtkComboBox *combobox, gpointer user_data) { VideoWindow *self = (VideoWindow *) user_data; GtkTreeIter iter; if (!gtk_combo_box_get_active_iter(combobox, &iter)) return; gpointer encoder; gtk_tree_model_get(GTK_TREE_MODEL(gtk_combo_box_get_model(combobox)), &iter, 1, &encoder, -1); self->_ui->set_video_encoder((VideoEncoder *) encoder); self->set_config_widget_sensitivity(true); on_config_changed(GTK_WIDGET(combobox), user_data); } gint VideoWindow::get_active_value_as_int(GtkComboBox *combobox, int column) { GtkTreeIter iter; if (!gtk_combo_box_get_active_iter(combobox, &iter)) return 0; guint value; gtk_tree_model_get(gtk_combo_box_get_model(combobox), &iter, 1, &value, -1); return value; } void VideoWindow::init_fps(GtkComboBox *combobox) { GtkTreeIter iter; GtkListStore *store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, "50", 1, 1, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, "25", 1, 2, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, "16", 1, 3, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, "12", 1, 4, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, "10", 1, 5, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, "5", 1, 10, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, "2", 1, 25, -1); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, "1", 1, 50, -1); gtk_combo_box_set_model(combobox, GTK_TREE_MODEL(store)); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_end(GTK_CELL_LAYOUT(combobox), renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combobox), renderer, "text", 0, NULL); gtk_combo_box_set_active(combobox, 0); g_object_unref(store); } void VideoWindow::init_encoder(GtkComboBox *combobox) { GtkTreeIter iter; GtkListStore *store = gtk_list_store_new(4, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN); gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _(""), 1, new DummyVideoEncoder(), 2, FALSE, 3, FALSE, -1); #ifdef HAVE_LIBTHEORA gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Theora/Ogg"), 1, new TheoraVideoEncoder(), 2, TRUE, 3, TRUE, -1); #endif #ifdef HAVE_LIBAVFORMAT gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("AVI"), 1, new FfmpegVideoEncoder(), 2, TRUE, 3, TRUE, -1); #endif #ifdef HAVE_LIBXVIDCORE gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("MPEG 4"), 1, new XvidVideoEncoder(), 2, TRUE, 3, TRUE, -1); #endif #ifdef HAVE_LIBDIRAC gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Dirac"), 1, new DiracVideoEncoder(), 2, TRUE, 3, TRUE, -1); #endif #ifdef HAVE_LIBSCHROEDINGER gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Schroedinger"), 1, new SchroedingerVideoEncoder(), 2, TRUE, 3, TRUE, -1); #endif #ifdef HAVE_LIBGIF gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("Animated GIF"), 1, new GifVideoEncoder(), 2, TRUE, 3, TRUE, -1); #endif #ifdef HAVE_LIBVNCSERVER gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, _("VNC"), 1, new VncVideoEncoder(), 2, FALSE, 3, TRUE, -1); #endif gtk_combo_box_set_model(combobox, GTK_TREE_MODEL(store)); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox), renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combobox), renderer, "text", 0, NULL); gtk_combo_box_set_active(combobox, 0); g_object_unref(store); } void VideoWindow::init(void) { /* * video window */ _window = get_widget("video_window"); g_signal_connect(_window, "delete_event", G_CALLBACK(cmd_exec_sft), (char *) "ui-video-window-toggle");// FIXME: _w.start_on_reset_checkbutton = get_widget("start_on_reset_checkbutton"); g_signal_connect(_w.start_on_reset_checkbutton, "toggled", G_CALLBACK(on_config_changed), this); _w.quality_spinbutton = get_widget("quality_spinbutton"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.quality_spinbutton), 80); g_signal_connect(_w.quality_spinbutton, "value-changed", G_CALLBACK(on_config_changed), this); _w.fps_combobox = get_widget("fps_combobox"); init_fps(GTK_COMBO_BOX(_w.fps_combobox)); g_signal_connect(_w.fps_combobox, "changed", G_CALLBACK(on_config_changed), this); _w.encoder_combobox = get_widget("encoder_combobox"); init_encoder(GTK_COMBO_BOX(_w.encoder_combobox)); g_signal_connect(_w.encoder_combobox, "changed", G_CALLBACK(on_encoder_changed), this); _w.filebutton = gtk_filebutton_new("Video"); GtkWidget *c = get_widget("video_file_container"); gtk_container_add(GTK_CONTAINER(c), _w.filebutton); gtk_widget_set_sensitive(_w.filebutton, FALSE); gtk_widget_show(_w.filebutton); g_signal_connect(_w.filebutton, "changed", G_CALLBACK(on_config_changed), this); _w.record_button = get_widget("record_button"); g_signal_connect(_w.record_button, "clicked", G_CALLBACK(on_record_clicked), this); _w.stop_button = get_widget("stop_button"); g_signal_connect(_w.stop_button, "clicked", G_CALLBACK(on_stop_clicked), this); _w.pause_button = get_widget("pause_button"); g_signal_connect(_w.pause_button, "clicked", G_CALLBACK(on_pause_clicked), this); init_dialog("ui-video-window-toggle", "window-video"); }KCemu-0.5.1/src/ui/gtk/options.cc0000644000175000017500000016773412417262523016766 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ /* * Enable Sound * Joystick Device * Enable V24-Module * Custom ROM Module * Custom ROM Module (Name) * Custom ROM Module (Id) * Custom ROM Module (File) * Custom ROM Module (Size) * V24-Baudrate * V24-Device * Flash Offset * Foreground Saturation * Foreground Brightness * Background Saturation * Background Brightness * Black Value * White Value * Max Auto Skip * DEBUG UI_Gtk Color Add * DEBUG UI_Gtk Frame Delay */ #include #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/prefs/prefs.h" #include "kc/prefs/strlist.h" #include "kc/kc.h" #include "kc/mod_list.h" #include "sys/sysdep.h" #include "ui/gtk/cmd.h" #include "ui/gtk/dialog.h" #include "ui/gtk/options.h" class CMD_options_window_toggle : public CMD { private: OptionsWindow *_w; public: CMD_options_window_toggle(OptionsWindow *w) : CMD("ui-options-window-toggle") { _w = w; register_cmd("ui-options-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; class CMD_options_window_dialog : public CMD { private: OptionsWindow *_w; public: CMD_options_window_dialog(OptionsWindow *w) : CMD("ui-options-window-dialog") { _w = w; register_cmd("ui-options-window-dialog"); } void execute(CMD_Args *args, CMD_Context context) { if (args == NULL) args = new CMD_Args(); switch (context) { case 0: args->set_string_arg("ui-dialog-title", _("Save profiles?")); args->set_string_arg("ui-dialog-text", _("Some profiles were changed!\n\n" "'Yes' will save changes to disk, 'No' will reject all changes.\n" "'Cancel': will allow to continue editing.")); args->set_string_arg("ui-dialog-text-arg", "filename"); args->add_callback("ui-dialog-cancel-CB", this, 1); args->add_callback("ui-dialog-yes-no-CB-no", this, 2); args->add_callback("ui-dialog-yes-no-CB-yes", this, 3); CMD_EXEC_ARGS("ui-dialog-yes-no-cancel", args); break; case 1: // cancel break; case 2: // no _w->reject(); break; case 3: // yes _w->save(); break; } } }; const char * OptionsWindow::FILE_CHOOSER_BUTTON_KEY = "filechooser_button"; const char * OptionsWindow::FILE_CHOOSER_CLEAR_BUTTON_KEY = "filechooser_clear_button"; const char * OptionsWindow::DATA_KEY_CHECK_BUTTON = "key_check_button"; const char * OptionsWindow::PREFERENCES_KEY = "preferences_key"; const char * OptionsWindow::DEFAULT_DIR_KEY = "default_dir_key"; const char * OptionsWindow::TARGET_WIDGET1_KEY = "target_widget1_key"; const char * OptionsWindow::TARGET_WIDGET2_KEY = "target_widget2_key"; const char * OptionsWindow::TARGET_WIDGET3_KEY = "target_widget3_key"; OptionsWindow::OptionsWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _current_profile = NULL; _current_kc_type = KC_TYPE_NONE; _open_rom_last_path = NULL; _w.liststore_modules = NULL; _cmd = new CMD_options_window_toggle(this); _cmd_dialog = new CMD_options_window_dialog(this); } OptionsWindow::~OptionsWindow(void) { delete _cmd; delete _cmd_dialog; } void OptionsWindow::on_button_up_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; self->move_row((GtkPathMoveFunc)gtk_tree_path_prev, gtk_tree_store_move_before); } void OptionsWindow::on_button_down_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; self->move_row(gtk_tree_path_next, gtk_tree_store_move_after); } void OptionsWindow::on_button_expand_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; self->expand_tree(); } void OptionsWindow::on_button_collapse_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; self->collapse_tree(); } void OptionsWindow::expand_tree(void) { gtk_tree_view_expand_all(GTK_TREE_VIEW(_w.treeview)); } void OptionsWindow::collapse_tree(void) { gtk_tree_view_collapse_all(GTK_TREE_VIEW(_w.treeview)); GtkTreeSelection *select = gtk_tree_view_get_selection(GTK_TREE_VIEW(_w.treeview)); GtkTreePath *path = gtk_tree_path_new_first(); gtk_tree_view_expand_to_path(GTK_TREE_VIEW(_w.treeview), path); gtk_tree_selection_select_path(select, path); gtk_tree_path_free(path); } void OptionsWindow::on_button_new_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; Profile *profile = Preferences::instance()->create_user_profile(self->_current_profile); if (profile == NULL) return; GtkTreeIter iter; GtkTreeModel *model = self->get_selected_tree_iter(&iter); if (model == NULL) return; GtkTreeIter iter_child; gtk_tree_store_append(GTK_TREE_STORE(model), &iter_child, &iter); gtk_tree_store_set(GTK_TREE_STORE(model), &iter_child, TREE_INT_COLUMN, 2, TREE_TEXT_COLUMN, profile->get_name(), TREE_CONFIG_NAME_COLUMN, profile->get_config_name(), TREE_ICON_COLUMN, self->_w.pixbuf_default, -1); self->expand_and_select(GTK_TREE_VIEW(self->_w.treeview), model, &iter_child); gtk_notebook_set_current_page(self->_w.notebook, 0); } void OptionsWindow::expand_and_select(GtkTreeView *treeview, GtkTreeModel *model, GtkTreeIter *iter) { GtkTreePath *path = gtk_tree_model_get_path(model, iter); gtk_tree_view_expand_to_path(treeview, path); gtk_tree_path_free(path); gtk_tree_selection_select_iter(gtk_tree_view_get_selection(treeview), iter); } void OptionsWindow::on_button_copy_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; Profile *profile = Preferences::instance()->copy_user_profile(self->_current_profile); if (profile == NULL) return; GtkTreeIter iter; GtkTreeModel *model = self->get_selected_tree_iter(&iter); if (model == NULL) return; GtkTreeIter parent; if (!gtk_tree_model_iter_parent(model, &parent, &iter)) return; GtkTreeIter copy; gtk_tree_store_insert_after(GTK_TREE_STORE(model), ©, &parent, &iter); gtk_tree_store_set(GTK_TREE_STORE(model), ©, TREE_INT_COLUMN, 2, TREE_TEXT_COLUMN, profile->get_name(), TREE_CONFIG_NAME_COLUMN, profile->get_config_name(), TREE_ICON_COLUMN, self->_w.pixbuf_default, -1); self->expand_and_select(GTK_TREE_VIEW(self->_w.treeview), model, ©); gtk_notebook_set_current_page(self->_w.notebook, 0); } void OptionsWindow::on_button_delete_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkTreeIter iter; GtkTreeModel *model = self->get_selected_tree_iter(&iter); if (model == NULL) return; gtk_tree_store_set(GTK_TREE_STORE(model), &iter, TREE_ICON_COLUMN, self->_w.pixbuf_deleted, -1); self->_current_profile->set_deleted(true); } gboolean OptionsWindow::tree_model_foreach_func_delete(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; gchar *config_name; gtk_tree_model_get(model, iter, TREE_CONFIG_NAME_COLUMN, &config_name, -1); if (Preferences::instance()->find_profile(config_name) == NULL) { gchar *path_string = gtk_tree_path_to_string(path); self->_delete_path.push_back(path_string); g_free(path_string); } g_free(config_name); return FALSE; } void OptionsWindow::on_button_ok_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; self->save(); } void OptionsWindow::on_button_close_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; if (Preferences::instance()->has_changed_profiles()) { CMD_EXEC("ui-options-window-dialog"); } else { self->hide(); } } void OptionsWindow::on_tree_selection_changed(GtkTreeSelection *selection, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkTreeIter iter; GtkTreeModel *model; if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gchar *key; gtk_tree_model_get(model, &iter, TREE_CONFIG_NAME_COLUMN, &key, -1); self->_current_profile = Preferences::instance()->find_profile(key); self->apply_profile(); g_free(key); profile_level_t level = self->_current_profile->get_level(); gtk_widget_set_sensitive(self->_w.b_new, level == PROFILE_LEVEL_SYSTEM_USER); gtk_widget_set_sensitive(self->_w.b_copy, level == PROFILE_LEVEL_USER); gtk_widget_set_sensitive(self->_w.b_delete, level == PROFILE_LEVEL_USER); gtk_widget_set_sensitive(self->_w.b_up, level == PROFILE_LEVEL_USER); gtk_widget_set_sensitive(self->_w.b_down, level == PROFILE_LEVEL_USER); } } void OptionsWindow::on_media_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkWidget *filechooser_button = GTK_WIDGET(g_object_get_data(G_OBJECT(togglebutton), FILE_CHOOSER_BUTTON_KEY)); GtkWidget *filechooser_clear_button = GTK_WIDGET(g_object_get_data(G_OBJECT(togglebutton), FILE_CHOOSER_CLEAR_BUTTON_KEY)); gtk_widget_set_sensitive(filechooser_button, togglebutton->active); gtk_widget_set_sensitive(filechooser_clear_button, togglebutton->active); if (!togglebutton->active) { const char * key = (const char *)g_object_get_data(G_OBJECT(filechooser_button), PREFERENCES_KEY); self->_current_profile->remove_value(key); self->apply_filechooserbutton(GTK_FILE_CHOOSER(filechooser_button)); // apply parent value } } void OptionsWindow::on_media_clear_button_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkFileChooser *filechooser = GTK_FILE_CHOOSER(g_object_get_data(G_OBJECT(button), FILE_CHOOSER_BUTTON_KEY)); gtk_file_chooser_unselect_all(filechooser); const char * key = (const char *)g_object_get_data(G_OBJECT(filechooser), PREFERENCES_KEY); self->_current_profile->set_null_value(key); } void OptionsWindow::on_media_filechooser_file_set(GtkFileChooserButton *filechooserbutton, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; const char * key = (const char *)g_object_get_data(G_OBJECT(filechooserbutton), PREFERENCES_KEY); gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooserbutton)); if (filename == NULL) { self->_current_profile->set_null_value(key); } else { self->_current_profile->set_string_value(key, filename); } g_free(filename); } void OptionsWindow::set_widget_sensitive_by_key(GObject *object, const gchar *key, bool sensitive) { gpointer widget = g_object_get_data(object, key); if (widget == NULL) return; gtk_widget_set_sensitive(GTK_WIDGET(widget), sensitive); } /** * Returns true if the profile value was removed. In this case the display value * need to be applied again to fetch the now valid parent value. */ bool OptionsWindow::check_button_toggled(GtkToggleButton *togglebutton) { set_widget_sensitive_by_key(G_OBJECT(togglebutton), TARGET_WIDGET1_KEY, togglebutton->active); set_widget_sensitive_by_key(G_OBJECT(togglebutton), TARGET_WIDGET2_KEY, togglebutton->active); set_widget_sensitive_by_key(G_OBJECT(togglebutton), TARGET_WIDGET3_KEY, togglebutton->active); const char * key = (const char *)g_object_get_data(G_OBJECT(togglebutton), PREFERENCES_KEY); if (togglebutton->active) { ProfileValue *value = _current_profile->get_value(key); if (value != NULL) _current_profile->set_value(key, new ProfileValue(value)); //_current_profile->set_int_value(key, _current_profile->get_int_value(key, 0)); } else { _current_profile->remove_value(key); } return !togglebutton->active; } void OptionsWindow::on_display_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; if (self->check_button_toggled(togglebutton)) self->apply_display_settings(); } void OptionsWindow::on_display_scale_value_changed(GtkSpinButton *spin_button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; int display_scale = gtk_spin_button_get_value_as_int(spin_button); self->_current_profile->set_int_value("display_scale", display_scale); } void OptionsWindow::on_display_effects_changed(GtkComboBox *combobox, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; int display_effects = gtk_combo_box_get_active(combobox); self->_current_profile->set_int_value("display_effects", display_effects); } void OptionsWindow::on_display_debug_changed(GtkComboBox *combobox, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; int display_debug = gtk_combo_box_get_active(combobox); self->_current_profile->set_int_value("display_debug", display_debug); } void OptionsWindow::on_display_mem_access_changed(GtkComboBox *combobox, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; int display_mem_access = gtk_combo_box_get_active(combobox); self->_current_profile->set_int_value("display_mem_access", display_mem_access); } void OptionsWindow::on_profile_name_changed(GtkEditable *editable, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; const char *name = gtk_entry_get_text(GTK_ENTRY(editable)); GtkTreeIter iter; GtkTreeModel *model; GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self->_w.treeview)); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { gtk_tree_store_set(self->_w.treestore, &iter, TREE_TEXT_COLUMN, name, -1); } self->_current_profile->set_name(name); self->_current_profile->set_string_value("name", name); } void OptionsWindow::on_comment_changed(GtkTextBuffer *textbuffer, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkTextIter start, end; gtk_text_buffer_get_iter_at_offset(textbuffer, &start, 0); gtk_text_buffer_get_iter_at_offset(textbuffer, &end, 0); gtk_text_iter_forward_to_end(&end); gchar *text = gtk_text_buffer_get_text(textbuffer, &start, &end, FALSE); const char *key = "comment"; if (strlen(text) == 0) { self->_current_profile->remove_value(key); } else { self->_current_profile->set_string_value(key, text); } g_free(text); } void OptionsWindow::on_system_type_changed(GtkComboBox *combobox, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkTreeIter iter; if (!gtk_combo_box_get_active_iter(self->_w.combobox_system_type, &iter)) return; int kc_type; gtk_tree_model_get(GTK_TREE_MODEL(self->_w.liststore_system), &iter, 1, &kc_type, -1); self->_current_profile->set_int_value("system", kc_type); self->apply_system_variant((kc_type_t)kc_type, KC_VARIANT_NONE); self->apply_modules_settings((kc_type_t)kc_type); self->apply_roms_settings((kc_type_t)kc_type, KC_VARIANT_NONE); } void OptionsWindow::on_system_variant_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data) { const char *key = "variant"; OptionsWindow *self = (OptionsWindow *)user_data; gtk_widget_set_sensitive(GTK_WIDGET(self->_w.combobox_system_variant), togglebutton->active); if (togglebutton->active) { self->_current_profile->set_int_value(key, self->_current_profile->get_int_value(key, KC_VARIANT_NONE)); } else { self->_current_profile->remove_value(key); self->apply_system_variant(self->_current_kc_type, (kc_variant_t)self->_current_profile->get_int_value(key, KC_VARIANT_NONE)); } } void OptionsWindow::on_system_variant_changed(GtkComboBox *combobox, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkTreeIter iter; if (!gtk_combo_box_get_active_iter(self->_w.combobox_system_variant, &iter)) return; int kc_variant; GtkTreeModel *model = gtk_combo_box_get_model(self->_w.combobox_system_variant); gtk_tree_model_get(model, &iter, 1, &kc_variant, -1); self->_current_profile->set_int_value("variant", kc_variant); self->apply_roms_settings(self->_current_kc_type, (kc_variant_t)kc_variant); } void OptionsWindow::on_module_changed(GtkComboBox *combobox, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; string list; const char *ptr = ""; for (int a = 0;a < NR_OF_MODULES;a++) { GtkTreeIter iter; if (gtk_combo_box_get_active_iter(self->_w.combobox_module[a], &iter)) { gchar *modif; GtkTreeModel *model = gtk_combo_box_get_model(self->_w.combobox_module[a]); gtk_tree_model_get(model, &iter, MODULES_MODIF_COLUMN, &modif, -1); if (modif != NULL) { list += ptr; list += modif; ptr = ","; g_free(modif); } } } self->_current_profile->set_string_value("modules", list.c_str()); } void OptionsWindow::on_modules_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data) { const char *key = "modules"; OptionsWindow *self = (OptionsWindow *)user_data; for (int a = 0;a < NR_OF_MODULES;a++) { gtk_widget_set_sensitive(GTK_WIDGET(self->_w.combobox_module[a]), togglebutton->active); } if (togglebutton->active) { self->_current_profile->set_string_value(key, self->_current_profile->get_string_value(key, "")); } else { self->_current_profile->remove_value(key); self->apply_modules_settings(self->_current_kc_type); } } void OptionsWindow::on_kc85_settings_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; if (self->check_button_toggled(togglebutton)) self->apply_kc85_settings(); } void OptionsWindow::on_kc85_d004_changed(GtkComboBox *combobox, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; int d004 = gtk_combo_box_get_active(combobox); self->_current_profile->set_int_value("d004", d004); } void OptionsWindow::on_kc85_f8_rom_changed(GtkComboBox *combobox, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; int d004_f8 = gtk_combo_box_get_active(combobox); self->_current_profile->set_int_value("d004_f8", d004_f8); } void OptionsWindow::on_kc85_busdrivers_changed(GtkSpinButton *spin_button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; int busdrivers = gtk_spin_button_get_value_as_int(spin_button); self->_current_profile->set_int_value("busdrivers", busdrivers); } void OptionsWindow::on_roms_settings_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; if (self->check_button_toggled(togglebutton)) self->apply_system_type(); } void OptionsWindow::on_rom_changed(GtkComboBoxEntry *comboboxentry, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkTreeIter iter; if (!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(comboboxentry), &iter)) return; gchar *rom; GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(comboboxentry)); gtk_tree_model_get(model, &iter, 1, &rom, -1); const char *key = self->get_preferences_key(G_OBJECT(g_object_get_data(G_OBJECT(comboboxentry), DATA_KEY_CHECK_BUTTON))); self->_current_profile->set_string_value(key, rom); self->apply_system_type(); // let apply_roms_settings change the tooltip text for the combobox! } void OptionsWindow::on_rom_open_clicked(GtkButton *button, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; GtkWidget *filechooser = gtk_file_chooser_dialog_new(_("Open ROM Image..."), GTK_WINDOW(self->_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); if (self->_open_rom_last_path == NULL) self->_open_rom_last_path = sys_gethome(); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(filechooser), self->_open_rom_last_path); free(self->_open_rom_last_path); const char *key = self->get_preferences_key(G_OBJECT(g_object_get_data(G_OBJECT(button), DATA_KEY_CHECK_BUTTON))); if (gtk_dialog_run(GTK_DIALOG(filechooser)) == GTK_RESPONSE_ACCEPT) { char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser)); self->_current_profile->set_string_value(key, filename); g_free(filename); } self->_open_rom_last_path = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(filechooser)); gtk_widget_destroy(filechooser); self->apply_system_type(); // let apply_roms_settings add the filename from profile to combobox model! } void OptionsWindow::apply_entry_value(GtkEntry *entry, gint signal_id) { const char * key = get_preferences_key(G_OBJECT(entry)); ProfileValue *value = get_current_profile_value(key); g_signal_handler_block(entry, signal_id); gtk_entry_set_text(entry, value == NULL ? "" : value->get_string_value()); g_signal_handler_unblock(entry, signal_id); GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON(g_object_get_data(G_OBJECT(entry), DATA_KEY_CHECK_BUTTON)); gtk_toggle_button_set_active(toggle_button, _current_profile->contains_key(key)); } void OptionsWindow::apply_network_settings(void) { apply_entry_value(_w.entry_network_ip_address, _w.on_network_changed_id[0]); apply_entry_value(_w.entry_network_netmask, _w.on_network_changed_id[1]); apply_entry_value(_w.entry_network_gateway, _w.on_network_changed_id[2]); apply_entry_value(_w.entry_network_dns_server, _w.on_network_changed_id[3]); } void OptionsWindow::on_network_settings_check_button_toggled(GtkToggleButton *togglebutton, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; if (self->check_button_toggled(togglebutton)) self->apply_network_settings(); } void OptionsWindow::on_network_changed(GtkEntry *entry, gpointer user_data) { OptionsWindow *self = (OptionsWindow *)user_data; const char * key = self->get_preferences_key(G_OBJECT(entry)); gchar *text = pango_trim_string(gtk_entry_get_text(entry)); gtk_entry_set_icon_from_stock(entry, GTK_ENTRY_ICON_PRIMARY, *text && !self->is_ip_address(text) ? GTK_STOCK_DIALOG_WARNING : NULL); gtk_entry_set_icon_activatable(entry, GTK_ENTRY_ICON_PRIMARY, FALSE); self->_current_profile->set_string_value(key, text); g_free(text); } GtkTreeModel * OptionsWindow::get_selected_tree_iter(GtkTreeIter *iter) { GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(_w.treeview)); GtkTreeModel *model; if (gtk_tree_selection_get_selected(selection, &model, iter)) return model; return NULL; } /** * FreeBSD 8 still uses glib 2.20 as default version. That does * not include g_hostname_is_ip_address() which has the good point * to be available in MinGW environment too. * I'm not going to to create a wrapper just for the GUI check, so * there's no nice warning icon until glib is upgraded to at least 2.22. */ bool OptionsWindow::is_ip_address(const char *addr) { #if GLIB_CHECK_VERSION(2, 22, 0) return g_hostname_is_ip_address(addr); #else return true; #endif } ProfileValue * OptionsWindow::get_current_profile_value(const char *key) { if (_current_profile == NULL) return NULL; return _current_profile->get_value(key); } const char * OptionsWindow::get_preferences_key(GObject *object) { const char * key = (const char *)g_object_get_data(object, PREFERENCES_KEY); g_assert(key != NULL); return key; } void OptionsWindow::set_preferences_key(GObject *object, const char *key) { g_assert(object != NULL); g_assert(key != NULL); g_object_set_data(object, PREFERENCES_KEY, strdup(key)); } /** * Apply the profile value to the given spinbutton. The key of the value to apply will * be fetched from the data set on the checkbutton that enables/disables this spinbutton. * * While setting the value the signal handler is blocked to prevent loops with the * handler writing changes back to the profile. */ void OptionsWindow::apply_spin_button_value(GtkCheckButton *check_button, GtkSpinButton *spin_button, gint signal_id, int default_value) { const char *key = get_preferences_key(G_OBJECT(check_button)); ProfileValue *value = get_current_profile_value(key); int spin_value = value == NULL ? default_value : value->get_int_value(); g_signal_handler_block(spin_button, signal_id); gtk_spin_button_set_value(spin_button, spin_value); g_signal_handler_unblock(spin_button, signal_id); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), _current_profile->contains_key(key)); } /** * Apply the profile value to the given combobox. The key of the value to apply will * be fetched from the data set on the checkbutton that enables/disables this combobox. * * While setting the value the signal handler is blocked to prevent loops with the * handler writing changes back to the profile. * * The value for the combobox is currently limited to be 0 or 1. */ void OptionsWindow::apply_combobox_value(GtkCheckButton *check_button, GtkComboBox *combobox, gint handler_id) { const char *key = get_preferences_key(G_OBJECT(check_button)); ProfileValue *value = get_current_profile_value(key); int val = value == NULL ? 0 : value->get_int_value(); g_signal_handler_block(combobox, handler_id); gtk_combo_box_set_active(combobox, val ? 1 : 0); g_signal_handler_unblock(combobox, handler_id); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_button), _current_profile->contains_key(key)); } void OptionsWindow::apply_profile(void) { g_signal_handler_block(_w.entry_profile_name, _w.on_profile_name_changed_id); gtk_entry_set_text(_w.entry_profile_name, _current_profile->get_name()); g_signal_handler_unblock(_w.entry_profile_name, _w.on_profile_name_changed_id); gtk_widget_set_sensitive(GTK_WIDGET(_w.entry_profile_name), _current_profile->get_level() == PROFILE_LEVEL_USER); apply_comment(); apply_system_type(); apply_display_settings(); apply_kc85_settings(); apply_network_settings(); apply_filechooserbutton(GTK_FILE_CHOOSER(get_widget("media_filechooserbutton_tape"))); apply_filechooserbutton(GTK_FILE_CHOOSER(get_widget("media_filechooserbutton_audio"))); apply_filechooserbutton(GTK_FILE_CHOOSER(get_widget("media_filechooserbutton_disk1"))); apply_filechooserbutton(GTK_FILE_CHOOSER(get_widget("media_filechooserbutton_disk2"))); apply_filechooserbutton(GTK_FILE_CHOOSER(get_widget("media_filechooserbutton_disk3"))); apply_filechooserbutton(GTK_FILE_CHOOSER(get_widget("media_filechooserbutton_disk4"))); apply_filechooserbutton(GTK_FILE_CHOOSER(get_widget("media_filechooserbutton_hd1"))); apply_filechooserbutton(GTK_FILE_CHOOSER(get_widget("media_filechooserbutton_hd2"))); } void OptionsWindow::apply_comment(void) { g_signal_handler_block(_w.textbuffer_comment, _w.on_comment_changed_id); gtk_text_buffer_set_text(_w.textbuffer_comment, _current_profile->get_comment(), -1); g_signal_handler_unblock(_w.textbuffer_comment, _w.on_comment_changed_id); gtk_widget_set_sensitive(GTK_WIDGET(_w.textview_comment), _current_profile->get_level() == PROFILE_LEVEL_USER); } void OptionsWindow::apply_system_type(void) { gtk_widget_set_sensitive(GTK_WIDGET(_w.combobox_system_type), _current_profile->get_level() == PROFILE_LEVEL_DEFAULT); ProfileValue *system = get_current_profile_value("system"); ProfileValue *variant = get_current_profile_value("variant"); g_signal_handler_block(_w.combobox_system_type, _w.on_system_type_changed_id); GtkTreeIter iter; bool valid = system != NULL; if (valid) valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(_w.liststore_system), &iter); while (valid) { int kc_type; gtk_tree_model_get(GTK_TREE_MODEL(_w.liststore_system), &iter, 1, &kc_type, -1); if (system->get_int_value() == kc_type) { gtk_combo_box_set_active_iter(_w.combobox_system_type, &iter); apply_system_variant((kc_type_t)kc_type, variant == NULL ? KC_VARIANT_NONE : (kc_variant_t)variant->get_int_value()); apply_roms_settings((kc_type_t)kc_type, variant == NULL ? KC_VARIANT_NONE : (kc_variant_t)variant->get_int_value()); apply_modules_settings((kc_type_t)kc_type); break; } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(_w.liststore_system), &iter); } if (!valid) { gtk_combo_box_set_active(_w.combobox_system_type, -1); apply_system_variant(KC_TYPE_NONE, KC_VARIANT_NONE); apply_roms_settings(KC_TYPE_NONE, KC_VARIANT_NONE); apply_modules_settings(KC_TYPE_NONE); } g_signal_handler_unblock(_w.combobox_system_type, _w.on_system_type_changed_id); } void OptionsWindow::set_roms_liststore(int idx, const char *rom_key, SystemROM *rom) { ProfileValue *profile_value = get_current_profile_value(rom_key); const char *profile_rom_filename = (profile_value == NULL) ? NULL : profile_value->get_string_value(); GtkListStore *store = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(_w.roms_comboboxentry[idx]))); gtk_list_store_clear(store); int active = -1; int list_entry = 0; ROMEntry *active_entry = NULL; const rom_entry_list_t roms = rom->get_roms(); for (rom_entry_list_t::const_iterator it2 = roms.begin();it2 != roms.end();it2++) { ROMEntry *entry = (*it2); GtkTreeIter iter; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, ROMS_DESCRIPTION_COLUMN, entry->get_description().c_str(), ROMS_FILENAME_COLUMN, entry->get_filename().c_str(), ROMS_TYPE_COLUMN, 1, -1); if ((profile_rom_filename != NULL) && (entry->get_filename().compare(profile_rom_filename) == 0)) { active = list_entry; active_entry = entry; } list_entry++; } if ((active < 0) && (profile_rom_filename != NULL)) { GtkTreeIter iter; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, ROMS_DESCRIPTION_COLUMN, sys_basename(profile_rom_filename), ROMS_FILENAME_COLUMN, profile_rom_filename, ROMS_TYPE_COLUMN, 2, -1); active = list_entry; } if (active < 0) { active = 0; active_entry = *roms.begin(); int idx = 0; for (rom_entry_list_t::const_iterator it = roms.begin();it != roms.end();it++) { ROMEntry *entry = (*it); if (entry->is_default()) { active = idx; active_entry = entry; break; } idx++; } } char tooltip[128]; snprintf(tooltip, sizeof(tooltip), _("ROM image is '%s'. The ROM size needs to be %04xh (%d) bytes."), active_entry != NULL ? active_entry->get_filename().c_str() : profile_rom_filename, rom->get_size(), rom->get_size()); gtk_widget_set_tooltip_text(GTK_WIDGET(_w.roms_comboboxentry[idx]), tooltip); g_signal_handler_block(_w.roms_comboboxentry[idx], _w.on_rom_changed_id[idx]); gtk_combo_box_set_model(GTK_COMBO_BOX(_w.roms_comboboxentry[idx]), GTK_TREE_MODEL(store)); gtk_combo_box_set_active(GTK_COMBO_BOX(_w.roms_comboboxentry[idx]), active); g_signal_handler_unblock(_w.roms_comboboxentry[idx], _w.on_rom_changed_id[idx]); } void OptionsWindow::apply_roms_settings(kc_type_t kc_type, kc_variant_t kc_variant) { const SystemType *type = SystemInformation::instance()->get_system_type(kc_type, kc_variant); if (type == NULL) return; system_rom_list_t rom_list = type->get_rom_list(); int idx = 0; for (system_rom_list_t::const_iterator it = rom_list.begin();(it != rom_list.end()) && (idx < NR_OF_ROMS);it++) { SystemROM *rom = (*it); const char *rom_key = rom->get_name().c_str(); set_roms_liststore(idx, rom_key, rom); string text = string(gettext(rom_key)) + ":"; gtk_label_set_text(_w.roms_label[idx], text.c_str()); gpointer val = g_object_get_data(G_OBJECT(_w.roms_check_button[idx]), PREFERENCES_KEY); g_object_set_data(G_OBJECT(_w.roms_check_button[idx]), PREFERENCES_KEY, strdup(rom_key)); free(val); gtk_widget_show(GTK_WIDGET(_w.roms_label[idx])); gtk_widget_show(GTK_WIDGET(_w.roms_comboboxentry[idx])); gtk_widget_show(GTK_WIDGET(_w.roms_open_button[idx])); gtk_widget_show(GTK_WIDGET(_w.roms_check_button[idx])); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.roms_check_button[idx]), _current_profile->contains_key(rom_key)); gtk_widget_set_sensitive(GTK_WIDGET(_w.roms_check_button[idx]), _current_profile->get_level() != PROFILE_LEVEL_DEFAULT); idx++; } for (;idx < NR_OF_ROMS;idx++) { gtk_widget_hide(GTK_WIDGET(_w.roms_label[idx])); gtk_widget_hide(GTK_WIDGET(_w.roms_comboboxentry[idx])); gtk_widget_hide(GTK_WIDGET(_w.roms_open_button[idx])); gtk_widget_hide(GTK_WIDGET(_w.roms_check_button[idx])); } } void OptionsWindow::apply_system_variant(kc_type_t kc_type, kc_variant_t kc_variant) { _current_kc_type = kc_type; system_type_list_t list = SystemInformation::instance()->get_system_types(); GtkListStore *store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); for (system_type_list_t::iterator it = list.begin();it != list.end();it++) { SystemType *type = (*it); if (type->get_kc_type() != kc_type) continue; GtkTreeIter iter; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, type->get_display_name(), 1, type->get_kc_variant(), -1); } g_signal_handler_block(_w.combobox_system_variant, _w.on_system_variant_changed_id); gtk_combo_box_set_model(_w.combobox_system_variant, GTK_TREE_MODEL(store)); g_object_unref(store); if (kc_variant == KC_VARIANT_NONE) { gtk_combo_box_set_active(_w.combobox_system_variant, 0); } else { GtkTreeIter iter; bool valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter); while (valid) { int v; gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 1, &v, -1); if (kc_variant == v) { gtk_combo_box_set_active_iter(_w.combobox_system_variant, &iter); break; } valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(store), &iter); } if (!valid) { gtk_combo_box_set_active(_w.combobox_system_variant, 0); } } g_signal_handler_unblock(_w.combobox_system_variant, _w.on_system_variant_changed_id); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.check_button_system_variant), _current_profile->contains_key("variant")); } void OptionsWindow::apply_display_settings(void) { apply_spin_button_value(_w.check_button_display_scale, _w.spin_button_display_scale, _w.on_display_scale_value_changed_id, 1); apply_combobox_value(_w.check_button_display_effects, _w.combobox_display_effects, _w.on_display_effects_changed_id); apply_combobox_value(_w.check_button_display_mem_access, _w.combobox_display_mem_access, _w.on_display_mem_access_changed_id); apply_combobox_value(_w.check_button_display_debug, _w.combobox_display_debug, _w.on_display_debug_changed_id); } void OptionsWindow::apply_kc85_settings(void) { apply_spin_button_value(_w.check_button_busdrivers, _w.spin_button_busdrivers, _w.on_kc85_busdrivers_changed_id, 0); apply_combobox_value(_w.check_button_d004, _w.combobox_d004, _w.on_kc85_d004_changed_id); apply_combobox_value(_w.check_button_f8_rom, _w.combobox_f8_rom, _w.on_kc85_f8_rom_changed_id); } void OptionsWindow::apply_modules_settings(kc_type_t kc_type) { const char *key = "modules"; ProfileValue *modules = get_current_profile_value(key); string modules_list = modules == NULL ? "" : modules->get_string_value(); StringList list(modules == NULL ? "" : modules->get_string_value()); for (int a = 0;a < NR_OF_MODULES;a++) { g_signal_handler_block(_w.combobox_module[a], _w.on_module_changed_id[a]); } if (_w.liststore_modules != NULL) { gtk_list_store_clear(_w.liststore_modules); // FIXME: gtk_list_store_free() ??? } _w.liststore_modules = get_modules_list_model(kc_type); for (int a = 0;a < NR_OF_MODULES;a++) { gtk_combo_box_set_model(_w.combobox_module[a], GTK_TREE_MODEL(_w.liststore_modules)); gtk_combo_box_set_active(_w.combobox_module[a], 0); } int a = 0; for (StringList::iterator it = list.begin();(it != list.end()) && (a < NR_OF_MODULES);it++) { GtkTreeIter iter; GtkTreeModel *model = gtk_combo_box_get_model(_w.combobox_module[a]); bool valid = gtk_tree_model_get_iter_first(model, &iter); while (valid) { gchar *modif; gtk_tree_model_get(model, &iter, MODULES_MODIF_COLUMN, &modif, -1); if ((modif != NULL) && (strcmp((*it).c_str(), modif) == 0)) { gtk_combo_box_set_active_iter(_w.combobox_module[a], &iter); break; } g_free(modif); valid = gtk_tree_model_iter_next(model, &iter); } a++; } for (int a = 0;a < NR_OF_MODULES;a++) { g_signal_handler_unblock(_w.combobox_module[a], _w.on_module_changed_id[a]); } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_w.check_button_modules), _current_profile->contains_key(key)); } void OptionsWindow::apply_filechooserbutton(GtkFileChooser *filechooser) { const char * key = (const char *)g_object_get_data(G_OBJECT(filechooser), PREFERENCES_KEY); const char * dir = (const char *)g_object_get_data(G_OBJECT(filechooser), DEFAULT_DIR_KEY); ProfileValue *value = get_current_profile_value(key); const char *filename = value == NULL ? NULL : value->get_string_value(); if (filename == NULL) { gtk_file_chooser_unselect_all(filechooser); } else { if (!sys_isabsolutepath(filename) && (dir != NULL)) { string path = string(kcemu_datadir) + dir + filename; gtk_file_chooser_select_filename(filechooser, path.c_str()); } else { gtk_file_chooser_select_filename(filechooser, filename); } } GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON(g_object_get_data(G_OBJECT(filechooser), DATA_KEY_CHECK_BUTTON)); gtk_toggle_button_set_active(toggle_button, _current_profile->contains_key(key)); } void OptionsWindow::move_row(GtkPathMoveFunc path_func, GtkIterMoveFunc move_func) { GtkTreeIter iter; GtkTreeModel *model; GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(_w.treeview)); if (!gtk_tree_selection_get_selected(selection, &model, &iter)) return; GtkTreePath *path = gtk_tree_model_get_path(model, &iter); path_func(path); GtkTreeIter position; if (gtk_tree_model_get_iter(model, &position, path)) { move_func(_w.treestore, &iter, &position); } gtk_tree_path_free(path); } void OptionsWindow::add_system(GtkTreeStore *store, GtkTreeIter *iter, const char *name, const char *config_name, const char *icon_name) { GtkTreeIter iter_system; GdkPixbuf *pixbuf = get_icon(icon_name); gtk_tree_store_append(store, &iter_system, iter); gtk_tree_store_set(store, &iter_system, TREE_INT_COLUMN, 2, TREE_TEXT_COLUMN, name, TREE_CONFIG_NAME_COLUMN, config_name, TREE_ICON_COLUMN, pixbuf, -1); list children = Preferences::instance()->find_child_profiles(config_name); for (list::iterator it = children.begin();it != children.end();it++) { GtkTreeIter iter_child; gtk_tree_store_append(store, &iter_child, &iter_system); gtk_tree_store_set(store, &iter_child, TREE_INT_COLUMN, 2, TREE_TEXT_COLUMN, (*it)->get_name(), TREE_CONFIG_NAME_COLUMN, (*it)->get_config_name(), TREE_ICON_COLUMN, _w.pixbuf_default, -1); } } GtkTreeStore * OptionsWindow::get_tree_model(void) { GtkTreeStore *store = gtk_tree_store_new(TREE_N_COLUMNS, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING); GtkTreeIter iter_root; gtk_tree_store_append(store, &iter_root, NULL); gtk_tree_store_set(store, &iter_root, TREE_INT_COLUMN, 1, TREE_TEXT_COLUMN, "Default", TREE_ICON_COLUMN, _w.pixbuf_root, TREE_CONFIG_NAME_COLUMN, "default", -1); emulation_type_list_t list = EmulationType::get_emulation_types(); for (emulation_type_list_t::iterator it = list.begin();it != list.end();it++) { add_system(store, &iter_root, (*it)->get_name(), (*it)->get_config_name(), (*it)->get_icon_name()); } return store; } GtkListStore * OptionsWindow::get_system_list_model(void) { GtkListStore *store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); emulation_type_list_t list = EmulationType::get_emulation_types(); for (emulation_type_list_t::iterator it = list.begin();it != list.end();it++) { GtkTreeIter iter; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, (*it)->get_name(), 1, (*it)->get_kc_type(), -1); } return store; } GtkListStore * OptionsWindow::get_variant_list_model(kc_variant_t kc_variant, const char *name, ...) { GtkListStore *store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); va_list ap; va_start(ap, name); while (242) { GtkTreeIter iter; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, name, 1, kc_variant, -1); kc_variant = (kc_variant_t)va_arg(ap, int); if (kc_variant < 0) break; name = va_arg(ap, const char *); } va_end(ap); return store; } GtkListStore * OptionsWindow::get_modules_list_model(kc_type_t kc_type) { GtkListStore *store = gtk_list_store_new(MODULES_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); for (ModuleList::iterator it = module_list->begin();it != module_list->end();it++) { kc_type_t mod_kc_type = (*it)->get_kc_type(); if ((mod_kc_type & kc_type) == 0) continue; const char *name = (*it)->get_name(); const char *modif_name = (*it)->get_mod() == NULL ? NULL : (*it)->get_mod()->get_name(); GtkTreeIter iter; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, MODULES_NAME_COLUMN, name, MODULES_MODIF_COLUMN, modif_name, MODULES_POINTER_COLUMN, (*it), -1); } return store; } void OptionsWindow::wire_check_button(const char *preferences_key, const char *default_dir, const char *check_button_name, const char *filechooser_button_name, const char *button_clear_name) { GtkWidget *check_button = get_widget(check_button_name); GtkWidget *filechooser_button = get_widget(filechooser_button_name); GtkWidget *button_clear = get_widget(button_clear_name); g_object_set_data(G_OBJECT(check_button), FILE_CHOOSER_BUTTON_KEY, filechooser_button); g_object_set_data(G_OBJECT(check_button), FILE_CHOOSER_CLEAR_BUTTON_KEY, button_clear); g_object_set_data(G_OBJECT(button_clear), FILE_CHOOSER_BUTTON_KEY, filechooser_button); g_object_set_data(G_OBJECT(filechooser_button), DATA_KEY_CHECK_BUTTON, check_button); g_object_set_data(G_OBJECT(filechooser_button), PREFERENCES_KEY, strdup(preferences_key)); if (default_dir != NULL) g_object_set_data(G_OBJECT(filechooser_button), DEFAULT_DIR_KEY, strdup(default_dir)); g_signal_connect(check_button, "toggled", G_CALLBACK(on_media_check_button_toggled), this); g_signal_connect(button_clear, "clicked", G_CALLBACK(on_media_clear_button_clicked), this); g_signal_connect(filechooser_button, "file-set", G_CALLBACK(on_media_filechooser_file_set), this); } void OptionsWindow::wire_check_button(const char *preferences_key, GtkCheckButton *check_button, GCallback callback, GtkWidget *target1, GtkWidget *target2, GtkWidget *target3) { g_object_set_data(G_OBJECT(check_button), PREFERENCES_KEY, strdup(preferences_key)); g_object_set_data(G_OBJECT(check_button), TARGET_WIDGET1_KEY, target1); g_object_set_data(G_OBJECT(target1), DATA_KEY_CHECK_BUTTON, check_button); if (target2 != NULL) { g_object_set_data(G_OBJECT(check_button), TARGET_WIDGET2_KEY, target2); g_object_set_data(G_OBJECT(target2), DATA_KEY_CHECK_BUTTON, check_button); } if (target3 != NULL) { g_object_set_data(G_OBJECT(check_button), TARGET_WIDGET3_KEY, target3); g_object_set_data(G_OBJECT(target3), DATA_KEY_CHECK_BUTTON, check_button); } g_signal_connect(check_button, "toggled", callback, this); } void OptionsWindow::init(void) { _window = get_widget("options_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-options-window-toggle"); // FIXME: _w.pixbuf_root = get_icon("icon-root.png"); _w.pixbuf_default = get_icon("icon-default.png"); _w.pixbuf_deleted = get_icon("icon-deleted.png"); _w.treestore = get_tree_model(); _w.treeview = get_widget("tree_treeview"); gtk_tree_view_set_model(GTK_TREE_VIEW(_w.treeview), GTK_TREE_MODEL(_w.treestore)); gtk_tree_view_columns_autosize(GTK_TREE_VIEW(_w.treeview)); GtkTreeViewColumn *column1 = gtk_tree_view_column_new(); add_icon_renderer(GTK_TREE_VIEW(_w.treeview), column1, "", "pixbuf", TREE_ICON_COLUMN, NULL); add_text_renderer(GTK_TREE_VIEW(_w.treeview), column1, "Profile", "text", TREE_TEXT_COLUMN, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(_w.treeview), column1); //add_text_column(GTK_TREE_VIEW(_w.treeview), "Comment", "text", TOOLTIP_COLUMN, NULL); _w.notebook = GTK_NOTEBOOK(get_widget("notebook")); _w.b_new = get_widget("tree_button_new"); g_signal_connect(_w.b_new, "clicked", G_CALLBACK(on_button_new_clicked), this); _w.b_copy = get_widget("tree_button_copy"); g_signal_connect(_w.b_copy, "clicked", G_CALLBACK(on_button_copy_clicked), this); _w.b_delete = get_widget("tree_button_delete"); g_signal_connect(_w.b_delete, "clicked", G_CALLBACK(on_button_delete_clicked), this); _w.b_up = get_widget("tree_button_up"); g_signal_connect(_w.b_up, "clicked", G_CALLBACK(on_button_up_clicked), this); _w.b_down = get_widget("tree_button_down"); g_signal_connect(_w.b_down, "clicked", G_CALLBACK(on_button_down_clicked), this); _w.b_expand = get_widget("tree_button_expand"); g_signal_connect(_w.b_expand, "clicked", G_CALLBACK(on_button_expand_clicked), this); _w.b_collapse = get_widget("tree_button_collapse"); g_signal_connect(_w.b_collapse, "clicked", G_CALLBACK(on_button_collapse_clicked), this); _w.b_ok = get_widget("dialog_button_ok"); g_signal_connect(_w.b_ok, "clicked", G_CALLBACK(on_button_ok_clicked), this); _w.b_close = get_widget("dialog_button_close"); g_signal_connect(_w.b_close, "clicked", G_CALLBACK(on_button_close_clicked), this); /* setup the selection handler */ GtkTreeSelection *select = gtk_tree_view_get_selection(GTK_TREE_VIEW(_w.treeview)); gtk_tree_selection_set_mode(select, GTK_SELECTION_SINGLE); g_signal_connect(G_OBJECT(select), "changed", G_CALLBACK(on_tree_selection_changed), this); _w.entry_profile_name = GTK_ENTRY(get_widget("system_entry_profile_name")); _w.on_profile_name_changed_id = g_signal_connect(_w.entry_profile_name, "changed", G_CALLBACK(on_profile_name_changed), this); _w.textview_comment = GTK_TEXT_VIEW(get_widget("system_textview_comment")); _w.textbuffer_comment = gtk_text_view_get_buffer(_w.textview_comment); _w.on_comment_changed_id = g_signal_connect(_w.textbuffer_comment, "changed", G_CALLBACK(on_comment_changed), this); wire_check_button("tape_file", "/tapes/", "media_check_button_tape", "media_filechooserbutton_tape", "media_button_tape_clear"); wire_check_button("audio_file", NULL, "media_check_button_audio", "media_filechooserbutton_audio", "media_button_audio_clear"); wire_check_button("disk_1", "/disks/", "media_check_button_disk1", "media_filechooserbutton_disk1", "media_button_disk1_clear"); wire_check_button("disk_2", "/disks/", "media_check_button_disk2", "media_filechooserbutton_disk2", "media_button_disk2_clear"); wire_check_button("disk_3", "/disks/", "media_check_button_disk3", "media_filechooserbutton_disk3", "media_button_disk3_clear"); wire_check_button("disk_4", "/disks/", "media_check_button_disk4", "media_filechooserbutton_disk4", "media_button_disk4_clear"); wire_check_button("hard_disk_1", NULL, "media_check_button_hd1", "media_filechooserbutton_hd1", "media_button_hd1_clear"); wire_check_button("hard_disk_2", NULL, "media_check_button_hd2", "media_filechooserbutton_hd2", "media_button_hd2_clear"); _w.check_button_display_scale = GTK_CHECK_BUTTON(get_widget("display_check_button_scale")); _w.check_button_display_effects = GTK_CHECK_BUTTON(get_widget("display_check_button_effects")); _w.check_button_display_mem_access = GTK_CHECK_BUTTON(get_widget("display_check_button_mem_access")); _w.check_button_display_debug = GTK_CHECK_BUTTON(get_widget("display_check_button_debug")); _w.spin_button_display_scale = GTK_SPIN_BUTTON(get_widget("display_spin_button_scale")); _w.combobox_display_effects = GTK_COMBO_BOX(get_widget("display_combobox_effects")); _w.combobox_display_mem_access = GTK_COMBO_BOX(get_widget("display_combobox_mem_access")); _w.combobox_display_debug = GTK_COMBO_BOX(get_widget("display_combobox_debug")); wire_check_button("display_scale", _w.check_button_display_scale, G_CALLBACK(on_display_check_button_toggled), GTK_WIDGET(_w.spin_button_display_scale)); wire_check_button("display_effects", _w.check_button_display_effects, G_CALLBACK(on_display_check_button_toggled), GTK_WIDGET(_w.combobox_display_effects)); wire_check_button("display_mem_access", _w.check_button_display_mem_access, G_CALLBACK(on_display_check_button_toggled), GTK_WIDGET(_w.combobox_display_mem_access)); wire_check_button("display_debug", _w.check_button_display_debug, G_CALLBACK(on_display_check_button_toggled), GTK_WIDGET(_w.combobox_display_debug)); _w.on_display_scale_value_changed_id = g_signal_connect(_w.spin_button_display_scale, "value-changed", G_CALLBACK(on_display_scale_value_changed), this); _w.on_display_effects_changed_id = g_signal_connect(_w.combobox_display_effects, "changed", G_CALLBACK(on_display_effects_changed), this); _w.on_display_mem_access_changed_id = g_signal_connect(_w.combobox_display_mem_access, "changed", G_CALLBACK(on_display_mem_access_changed), this); _w.on_display_debug_changed_id = g_signal_connect(_w.combobox_display_debug, "changed", G_CALLBACK(on_display_debug_changed), this); _w.check_button_d004 = GTK_CHECK_BUTTON(get_widget("kc85_checkbutton_d004")); _w.check_button_f8_rom = GTK_CHECK_BUTTON(get_widget("kc85_checkbutton_f8_rom")); _w.check_button_busdrivers = GTK_CHECK_BUTTON(get_widget("kc85_checkbutton_busdrivers")); _w.combobox_d004 = GTK_COMBO_BOX(get_widget("kc85_combobox_d004")); _w.combobox_f8_rom = GTK_COMBO_BOX(get_widget("kc85_combobox_f8_rom")); _w.spin_button_busdrivers = GTK_SPIN_BUTTON(get_widget("kc85_spinbutton_busdrivers")); wire_check_button("d004", _w.check_button_d004, G_CALLBACK(on_kc85_settings_check_button_toggled), GTK_WIDGET(_w.combobox_d004)); wire_check_button("d004_f8", _w.check_button_f8_rom, G_CALLBACK(on_kc85_settings_check_button_toggled), GTK_WIDGET(_w.combobox_f8_rom)); wire_check_button("busdrivers", _w.check_button_busdrivers, G_CALLBACK(on_kc85_settings_check_button_toggled), GTK_WIDGET(_w.spin_button_busdrivers)); _w.on_kc85_d004_changed_id = g_signal_connect(_w.combobox_d004, "changed", G_CALLBACK(on_kc85_d004_changed), this); _w.on_kc85_f8_rom_changed_id = g_signal_connect(_w.combobox_f8_rom, "changed", G_CALLBACK(on_kc85_f8_rom_changed), this); _w.on_kc85_busdrivers_changed_id = g_signal_connect(_w.spin_button_busdrivers, "value-changed", G_CALLBACK(on_kc85_busdrivers_changed), this); for (int a = 0;a < NR_OF_MODULES;a++) { _w.combobox_module[a] = GTK_COMBO_BOX(get_widget("modules_combobox_module", a + 1)); _w.on_module_changed_id[a] = g_signal_connect(_w.combobox_module[a], "changed", G_CALLBACK(on_module_changed), this); bind_list_model_column(_w.combobox_module[a], MODULES_NAME_COLUMN, NULL); } _w.check_button_modules = GTK_CHECK_BUTTON(get_widget("modules_check_button")); g_signal_connect(_w.check_button_modules, "toggled", G_CALLBACK(on_modules_check_button_toggled), this); _w.liststore_system = get_system_list_model(); _w.combobox_system_type = GTK_COMBO_BOX(get_widget("system_combobox_system_type")); gtk_combo_box_set_model(_w.combobox_system_type, GTK_TREE_MODEL(_w.liststore_system)); bind_list_model_column(_w.combobox_system_type, 0, NULL); _w.on_system_type_changed_id = g_signal_connect(_w.combobox_system_type, "changed", G_CALLBACK(on_system_type_changed), this); _w.combobox_system_variant = GTK_COMBO_BOX(get_widget("system_combobox_system_variant")); bind_list_model_column(_w.combobox_system_variant, 0, NULL); _w.on_system_variant_changed_id = g_signal_connect(_w.combobox_system_variant, "changed", G_CALLBACK(on_system_variant_changed), this); _w.check_button_system_variant = GTK_CHECK_BUTTON(get_widget("system_check_button_system_variant")); g_signal_connect(_w.check_button_system_variant, "toggled", G_CALLBACK(on_system_variant_check_button_toggled), this); for (int a = 0;a < NR_OF_ROMS;a++) { _w.roms_label[a] = GTK_LABEL(get_widget("roms_label_rom", a + 1)); _w.roms_comboboxentry[a] = GTK_COMBO_BOX_ENTRY(get_widget("roms_comboboxentry_rom", a + 1)); _w.roms_open_button[a] = GTK_BUTTON(get_widget("roms_open_button_rom", a + 1)); _w.roms_check_button[a] = GTK_CHECK_BUTTON(get_widget("roms_check_button_rom", a + 1)); wire_check_button("rom_dummy", _w.roms_check_button[a], G_CALLBACK(on_roms_settings_check_button_toggled), GTK_WIDGET(_w.roms_comboboxentry[a]), GTK_WIDGET(_w.roms_open_button[a])); g_signal_connect(_w.roms_open_button[a], "clicked", G_CALLBACK(on_rom_open_clicked), this); _w.on_rom_changed_id[a] = g_signal_connect(_w.roms_comboboxentry[a], "changed", G_CALLBACK(on_rom_changed), this); GtkListStore *store = gtk_list_store_new(ROMS_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); gtk_combo_box_set_model(GTK_COMBO_BOX(_w.roms_comboboxentry[a]), GTK_TREE_MODEL(store)); gtk_combo_box_entry_set_text_column(_w.roms_comboboxentry[a], 0); g_object_unref(store); } _w.entry_network_ip_address = GTK_ENTRY(get_widget("ip_address_entry")); set_preferences_key(G_OBJECT(_w.entry_network_ip_address), "network_ip_address"); _w.on_network_changed_id[0] = g_signal_connect(_w.entry_network_ip_address, "changed", G_CALLBACK(on_network_changed), this); wire_check_button("network_ip_address", GTK_CHECK_BUTTON(get_widget("ip_address_checkbutton")), G_CALLBACK(on_network_settings_check_button_toggled), GTK_WIDGET(_w.entry_network_ip_address)); _w.entry_network_netmask = GTK_ENTRY(get_widget("netmask_entry")); set_preferences_key(G_OBJECT(_w.entry_network_netmask), "network_netmask"); _w.on_network_changed_id[1] = g_signal_connect(_w.entry_network_netmask, "changed", G_CALLBACK(on_network_changed), this); wire_check_button("network_netmask", GTK_CHECK_BUTTON(get_widget("netmask_checkbutton")), G_CALLBACK(on_network_settings_check_button_toggled), GTK_WIDGET(_w.entry_network_netmask)); _w.entry_network_gateway = GTK_ENTRY(get_widget("gateway_entry")); set_preferences_key(G_OBJECT(_w.entry_network_gateway), "network_gateway"); _w.on_network_changed_id[2] = g_signal_connect(_w.entry_network_gateway, "changed", G_CALLBACK(on_network_changed), this); wire_check_button("network_gateway", GTK_CHECK_BUTTON(get_widget("gateway_checkbutton")), G_CALLBACK(on_network_settings_check_button_toggled), GTK_WIDGET(_w.entry_network_gateway)); _w.entry_network_dns_server = GTK_ENTRY(get_widget("dns_server_entry")); set_preferences_key(G_OBJECT(_w.entry_network_dns_server), "network_dns_server"); _w.on_network_changed_id[3] = g_signal_connect(_w.entry_network_dns_server, "changed", G_CALLBACK(on_network_changed), this); wire_check_button("network_dns_server", GTK_CHECK_BUTTON(get_widget("dns_server_checkbutton")), G_CALLBACK(on_network_settings_check_button_toggled), GTK_WIDGET(_w.entry_network_dns_server)); collapse_tree(); init_dialog(NULL, NULL); } void OptionsWindow::save(void) { string config_name = _current_profile->get_config_name(); Preferences::instance()->save(); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(_w.treeview)); gtk_tree_model_foreach(model, tree_model_foreach_func_delete, this); /* select parent if we have deleted the currently selected profile */ if (Preferences::instance()->find_profile(config_name.c_str()) == NULL) { GtkTreeIter iter; GtkTreeModel *model = get_selected_tree_iter(&iter); if (model != NULL) { GtkTreeIter parent; if (gtk_tree_model_iter_parent(model, &parent, &iter)) { GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(_w.treeview)); gtk_tree_selection_select_iter(selection, &parent); } } } // delete in reverse order. otherwise we invalidate the collected path strings for (list::reverse_iterator it = _delete_path.rbegin();it != _delete_path.rend();it++) { GtkTreeIter iter; if (gtk_tree_model_get_iter_from_string(model, &iter, (*it).c_str())) { gtk_tree_store_remove(GTK_TREE_STORE(model), &iter); } } _delete_path.clear(); hide(); } void OptionsWindow::reject(void) { Preferences::instance()->reject(); apply_profile(); hide(); } KCemu-0.5.1/src/ui/gtk/gif.cc0000644000175000017500000001503712417262523016024 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #ifdef HAVE_LIBGIF #include "kc/system.h" #include "ui/gtk/gif.h" using namespace std; GifVideoEncoder::GifVideoEncoder(void) { _width = -1; _height = -1; _cmap = NULL; _gif = NULL; _buf = NULL; } GifVideoEncoder::~GifVideoEncoder(void) { close(); } bool GifVideoEncoder::init(const char *filename, int width, int height, int fps_den, double quality) { /* * Netscape Application Extension * (see: http://www.let.rug.nl/~kleiweg/gif/netscape.html) * * byte 1 : 33 (hex 0x21) GIF Extension code * byte 2 : 255 (hex 0xFF) Application Extension Label * byte 3 : 11 (hex 0x0B) Length of Application Block * (eleven bytes of data to follow) * bytes 4 to 11 : "NETSCAPE" * bytes 12 to 14 : "2.0" * byte 15 : 3 (hex 0x03) Length of Data Sub-Block * (three bytes of data to follow) * byte 16 : 1 (hex 0x01) * bytes 17 to 18 : 0 to 65535, an unsigned integer in * lo-hi byte format. This indicate the * number of iterations the loop should * be executed. * byte 19 : 0 (hex 0x00) a Data Sub-Block Terminator. */ static unsigned char EXT_NETSCAPE[] = {'N','E','T','S', 'C','A','P','E', '2','.','0' }; static unsigned char EXT_NETSCAPE_LOOP[] = { 1, 0, 0 }; // loop counter = 0 if ((_width == width) && (_height == height) && (_gif != NULL)) { return false; } _width = width; _height = height; _fps_den = fps_den; _frame_delay = 0; EGifSetGifVersion(&GIF89_STAMP[GIF_VERSION_POS]); _gif = EGifOpenFileName(filename, 0); if (_gif == NULL) return false; _cmap = MakeMapObject(256, NULL); for (int a = 0;a < 256;a++) { _cmap->Colors[a].Red = 0; _cmap->Colors[a].Green = 0; _cmap->Colors[a].Blue = 0; } if (EGifPutScreenDesc(_gif, _width, _height, 256, 0, _cmap) != GIF_OK) return false; string comment = "Created by KCemu " KCEMU_VERSION; if (EGifPutComment(_gif, comment.c_str()) != GIF_OK) return false; if (EGifPutExtensionFirst(_gif, 0xFF, 11, EXT_NETSCAPE) != GIF_OK) return false; if (EGifPutExtensionLast(_gif, 0, 3, EXT_NETSCAPE_LOOP) != GIF_OK) return false; return true; } void GifVideoEncoder::allocate_color_rgb(int idx, int r, int g, int b) { if (_cmap == NULL) return; _cmap->Colors[idx].Red = r; _cmap->Colors[idx].Green = g; _cmap->Colors[idx].Blue = b; } bool GifVideoEncoder::encode(byte_t *image, byte_t *dirty) { _frame_delay += 2 * _fps_den; if (_frame_delay > MAX_FRAME_DELAY) _frame_delay = MAX_FRAME_DELAY; if (dirty) { if (_buf == NULL) { _buf = new byte_t[_width * _height]; memcpy(_buf, image, _width * _height); return true; } bool changed = false; for (int a = 0;a < (_width * _height) / 64;a++) { if (dirty[a]) { changed = true; break; } } if (!changed) return true; } bool ret; if (_buf) { ret = flush_buffer(_buf, _frame_delay); memcpy(_buf, image, _width * _height); } else { ret = flush_buffer(image, _frame_delay); } _frame_delay = 0; return ret; } bool GifVideoEncoder::flush_buffer(byte_t *buf, int delay) { /* * Graphic Control Extension * (see: http://local.wasp.uwa.edu.au/~pbourke/dataformats/gif/) * * byte 1: | 3 bit Reserved | 3 bit Disposal Method | User Input | Transparent | * Disposal Method: * 0 - No disposal specified. The decoder is * not required to take any action. * 1 - Do not dispose. The graphic is to be left * in place. * 2 - Restore to background color. The area used by the * graphic must be restored to the background color. * 3 - Restore to previous. The decoder is required to * restore the area overwritten by the graphic with * what was there prior to rendering the graphic. * 4-7 - To be defined. * User Input: * 0 - User input is not expected. * 1 - User input is expected. * Transparent: * 0 - Transparent Index is not given. * 1 - Transparent Index is given. * byte 2 & 3: * Delay Time - If not 0, this field specifies the number of * hundredths (1/100) of a second to wait before continuing with the * processing of the Data Stream. The clock starts ticking immediately * after the graphic is rendered. This field may be used in * conjunction with the User Input Flag field. * byte 4: * Transparency Index - The Transparency Index is such that when * encountered, the corresponding pixel of the display device is not * modified and processing goes on to the next pixel. The index is * present if and only if the Transparency Flag is set to 1. */ unsigned char EXT_GCE[] = {0, delay, delay >> 8, 0}; if (EGifPutExtension(_gif, 0xF9, 4, EXT_GCE) != GIF_OK) return false; if (EGifPutImageDesc(_gif, 0, 0, _width, _height, 0, _cmap) != GIF_OK) return false; if (EGifPutLine(_gif, buf, _width * _height) != GIF_OK) return false; } void GifVideoEncoder::close(void) { if (_gif != NULL) { if (_buf) flush_buffer(_buf, _frame_delay); EGifCloseFile(_gif); _gif = NULL; } if (_cmap != NULL) { FreeMapObject(_cmap); _cmap = NULL; } if (_buf != NULL) { delete[] _buf; _buf = NULL; } } #endif /* HAVE_LIBGIF */ KCemu-0.5.1/src/ui/gtk/tapeadd.cc0000644000175000017500000000651412417262523016661 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "cmd/cmd.h" #include "ui/status.h" #include "ui/gtk/cmd.h" #include "ui/gtk/tapeadd.h" TapeAddWindow::TapeAddWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file), CMD("ui-tape-name-edit") { register_cmd("ui-tape-name-edit"); } TapeAddWindow::~TapeAddWindow(void) { } void TapeAddWindow::execute(CMD_Args *args, CMD_Context context) { const char *filename, *text; _args = args; filename = _args->get_string_arg("tape-filename"); if (!filename) return; text = _args->get_string_arg("tape-rename-title"); if (!text) return; init(filename, text); } void TapeAddWindow::ok(GtkWidget *widget, gpointer *data) { CMD_Args *args; TapeAddWindow *self = (TapeAddWindow *)data; args = self->_args; args->set_string_arg("tape-filename", gtk_entry_get_text(GTK_ENTRY(self->_tape_add.tapename))); gtk_widget_hide(self->_window); args->call_callbacks("ui-tape-name-edit-CB-ok"); } void TapeAddWindow::cancel(GtkWidget *widget, gpointer *data) { CMD_Args *args; TapeAddWindow *self = (TapeAddWindow *)data; args = self->_args; gtk_widget_hide(self->_window); args->call_callbacks("ui-tape-name-edit-CB-cancel"); } void TapeAddWindow::init(void) { } void TapeAddWindow::init(const char *tapename, const char *text) { /* * window */ _window = get_widget("tapeedit_window"); gtk_window_set_title(GTK_WINDOW(_window), _("KCemu: Rename File")); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cancel), this); /* gtk_signal_connect(GTK_OBJECT(_window), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &_window); */ /* * label */ GtkWidget *label = get_widget("label_text"); gtk_label_set_text(GTK_LABEL(label), text); _tape_add.tapename = get_widget("tapename_entry"); gtk_entry_set_text(GTK_ENTRY(_tape_add.tapename), tapename); gtk_signal_connect(GTK_OBJECT(_tape_add.tapename), "activate", GTK_SIGNAL_FUNC(ok), this); gtk_entry_select_region(GTK_ENTRY(_tape_add.tapename), 0, -1); gtk_widget_grab_focus(_tape_add.tapename); /* * ok button */ _tape_add.b_ok = get_widget("dialog_button_ok"); gtk_signal_connect(GTK_OBJECT(_tape_add.b_ok), "clicked", GTK_SIGNAL_FUNC(ok), this); /* * cancel button */ _tape_add.b_cancel = get_widget("dialog_button_cancel"); gtk_signal_connect(GTK_OBJECT(_tape_add.b_cancel), "clicked", GTK_SIGNAL_FUNC(cancel), this); init_dialog(NULL, NULL); gtk_widget_show(_window); } KCemu-0.5.1/src/ui/gtk/tape.cc0000644000175000017500000004430012417262523016203 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/tape.h" #include "ui/error.h" #include "ui/status.h" #include "ui/gtk/tape.h" #include "ui/gtk/cmd.h" class CMD_ui_tape_window_toggle : public CMD { private: TapeWindow *_w; public: CMD_ui_tape_window_toggle(TapeWindow *w) : CMD("ui-tape-window-toggle") { _w = w; register_cmd("ui-tape-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; class CMD_ui_tape_rename_selected : public CMD { private: TapeWindow *_w; public: CMD_ui_tape_rename_selected(TapeWindow *w) : CMD("ui-tape-rename-selected") { _w = w; register_cmd("ui-tape-rename-selected"); } void execute(CMD_Args *args, CMD_Context context) { const char *name; switch (context) { case 0: if (args == NULL) args = new CMD_Args(); name = _w->tapeGetName(_w->tapeGetSelected()); args->set_string_arg("filename", name); args->set_string_arg("tape-filename", name); args->set_string_arg("tape-rename-title", _("Please enter the new name for the file.")); args->add_callback("ui-tape-name-edit-CB-ok", this, 1); CMD_EXEC_ARGS("ui-tape-name-edit", args); break; case 1: if (args == NULL) return; /* * rename callback */ CMD_EXEC_ARGS("tape-rename-file", args); break; } } }; class CMD_ui_tape_load_selected : public CMD { private: TapeWindow *_w; public: CMD_ui_tape_load_selected(TapeWindow *w) : CMD("ui-tape-load-selected") { _w = w; register_cmd("ui-tape-load-selected", 0); register_cmd("ui-tape-run-selected", 1); register_cmd("ui-tape-export-selected", 2); register_cmd("ui-tape-export-wav-selected", 3); register_cmd("ui-tape-delete-selected", 4); register_cmd("ui-tape-play-selected", 5); register_cmd("ui-edit-header-selected", 6); } void execute(CMD_Args *args, CMD_Context context) { if (args == NULL) args = new CMD_Args(); args->set_string_arg("tape-filename", _w->tapeGetName(_w->tapeGetSelected())); switch (context) { case 0: CMD_EXEC_ARGS("tape-load", args); break; case 1: CMD_EXEC_ARGS("tape-run", args); break; case 2: CMD_EXEC_ARGS("tape-export", args); break; case 3: CMD_EXEC_ARGS("tape-export-wav", args); break; case 4: CMD_EXEC_ARGS("tape-delete", args); break; case 5: CMD_EXEC_ARGS("tape-play", args); break; case 6: CMD_EXEC_ARGS("ui-edit-header", args); break; } } }; class CMD_ui_tape_attach : public CMD { private: TapeWindow *_w; public: CMD_ui_tape_attach(TapeWindow *w) : CMD("ui-tape-attach") { _w = w; register_cmd("ui-tape-attach", 0); register_cmd("ui-tape-detach", 1); register_cmd("ui-tape-stop", 2); register_cmd("ui-tape-attached", 3); register_cmd("ui-tape-detached", 4); } void execute(CMD_Args *args, CMD_Context context) { const char *filename = NULL; switch (context) { case 0: CMD_EXEC("tape-attach"); break; case 1: CMD_EXEC("tape-detach"); break; case 2: _w->stop(); CMD_EXEC("tape-stop"); break; case 3: if (args) filename = args->get_string_arg("filename"); /* fall through */ case 4: _w->attached(filename); // filename == NULL if detached called! break; } } }; TapeWindow::TapeWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { init(); } TapeWindow::~TapeWindow(void) { } void TapeWindow::sf_tape_file_select(GtkTreeSelection *selection, gpointer data) { TapeWindow *self = (TapeWindow *)data; self->set_selected_index(selection); } void TapeWindow::sf_tape_archive_select(GtkWidget *widget, gpointer data) { CMD_Args *args; const gchar *filename; /* for some reason this is called twice */ filename = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(data)->entry)); if (strlen(filename) == 0) return; args = (new CMD_Args())->set_string_arg("filename", (const char *)filename); CMD_EXEC_ARGS("tape-attach", args); } void TapeWindow::sf_power_expose(TapeWindow *self) { int width, height; GdkColor *col; static GdkGC *gc = NULL; if (self->_w.led_power->window == NULL) return; if (gc == NULL) gc = gdk_gc_new(self->_w.led_power->window); width = self->_w.led_power->allocation.width; height = self->_w.led_power->allocation.height; if (self->_power) if (self->_play) col = &self->_col[2]; else if (self->_record) col = &self->_col[1]; else col = &self->_col[3]; else col = &self->_col[0]; gdk_gc_set_foreground(gc, col); gdk_draw_rectangle(self->_w.led_power->window, gc, TRUE, width / 2 - 6, height / 2 - 2, 12, 4); } /* * define some ungly typecasts to suppress some * compiler warnings :-( */ #define CF(func) ((GtkItemFactoryCallback)(func)) #define CD(string) ((unsigned int)(string)) void TapeWindow::init(void) { GtkItemFactory *ifactP; GtkAccelGroup *agroupP; static const char *callbacks[] = { "ui-tape-run-selected", "ui-tape-load-selected", "ui-tape-export-selected", "ui-tape-export-wav-selected", "ui-edit-header-selected", "ui-tape-rename-selected", "ui-tape-delete-selected", "tape-add-file", }; GtkItemFactoryEntry entriesP[] = { { _("/_Run File"), (gchar*)"R", CF(cmd_exec_mci), 0, NULL }, { _("/_Load File"), (gchar*)"L", CF(cmd_exec_mci), 1, NULL }, { _("/_Export File"), (gchar*)"E", CF(cmd_exec_mci), 2, NULL }, { _("/Export _Wav"), (gchar*)"W", CF(cmd_exec_mci), 3, NULL }, { _("/sep1"), NULL, NULL, 0, (gchar*)"" }, { _("/Edit _Header"), (gchar*)"H", CF(cmd_exec_mci), 4, NULL }, { _("/Re_name File"), (gchar*)"N", CF(cmd_exec_mci), 5, NULL }, { _("/_Delete File"), (gchar*)"D", CF(cmd_exec_mci), 6, NULL }, { _("/sep2"), NULL , NULL, 0, (gchar*)"" }, { _("/_Add File"), (gchar*)"A", CF(cmd_exec_mci), 7, NULL }, }; int nentriesP = sizeof(entriesP) / sizeof(entriesP[0]); static char *titles[] = { _("Name"), _("Type"), _("Load"), _("Start"), _("Size") }; _play = 0; _record = 0; _power = 0; _selected = 0; /* * popup item factory */ agroupP = gtk_accel_group_new(); ifactP = gtk_item_factory_new(GTK_TYPE_MENU, _(""), agroupP); gtk_item_factory_create_items(ifactP, nentriesP, entriesP, callbacks); /* * popup menu */ _w.menu = gtk_item_factory_get_widget(ifactP, _("")); _w.m_run = gtk_item_factory_get_widget(ifactP, _("/Run File")); _w.m_load = gtk_item_factory_get_widget(ifactP, _("/Load File")); _w.m_edit = gtk_item_factory_get_widget(ifactP, _("/Edit Header")); _w.m_delete = gtk_item_factory_get_widget(ifactP, _("/Delete File")); _w.m_rename = gtk_item_factory_get_widget(ifactP, _("/Rename File")); _w.m_export = gtk_item_factory_get_widget(ifactP, _("/Export File")); _w.m_wav = gtk_item_factory_get_widget(ifactP, _("/Export Wav")); /* * tape window */ _window = get_widget("tape_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-tape-window-toggle"); // FIXME: _w.treeview = get_widget("main_treeview"); gtk_signal_connect(GTK_OBJECT(_w.treeview), "button_press_event", GTK_SIGNAL_FUNC(sf_tape_button_press), this); _w.b_play = get_widget("control_button_play"); gtk_signal_connect(GTK_OBJECT(_w.b_play), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sftb), (gpointer)"ui-tape-play-selected"); _w.b_stop = get_widget("control_button_stop"); gtk_signal_connect(GTK_OBJECT(_w.b_stop), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (gpointer)"ui-tape-stop"); _w.b_record = get_widget("control_button_record"); gtk_signal_connect(GTK_OBJECT(_w.b_record), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sftb), (gpointer)"tape-record"); _w.b_prev = get_widget("control_button_previous"); _w.b_next = get_widget("control_button_next"); _w.b_attach = get_widget("file_button_open"); gtk_signal_connect(GTK_OBJECT(_w.b_attach), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (gpointer)"ui-tape-attach"); _w.b_detach = get_widget("file_button_close");; gtk_signal_connect(GTK_OBJECT(_w.b_detach), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (gpointer)"ui-tape-detach"); _w.led_power = get_widget("progress_led"); gtk_signal_connect_object(GTK_OBJECT(_w.led_power), "expose_event", GTK_SIGNAL_FUNC(TapeWindow::sf_power_expose), (GtkObject *)this); _w.list_store = gtk_list_store_new(TREEVIEW_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); for (int a = 0;a < TREEVIEW_N_COLUMNS;a++) { GtkTreeViewColumn *column = gtk_tree_view_column_new(); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_set_title(column, titles[a]); if (a < 2) { gtk_tree_view_column_pack_start(column, renderer, FALSE); } else { gtk_tree_view_column_pack_end(column, renderer, FALSE); } gtk_tree_view_column_set_attributes(column, renderer, "text", a, NULL); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_expand(column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(_w.treeview), column); } gtk_tree_view_set_model(GTK_TREE_VIEW(_w.treeview), GTK_TREE_MODEL(_w.list_store)); gtk_tree_view_columns_autosize(GTK_TREE_VIEW(_w.treeview)); GtkTreeSelection *select = gtk_tree_view_get_selection(GTK_TREE_VIEW(_w.treeview)); gtk_tree_selection_set_mode(select, GTK_SELECTION_SINGLE); g_signal_connect(G_OBJECT(select), "changed", G_CALLBACK(sf_tape_file_select), this); /* * Scale */ _w.scale = get_widget("progress_hscale"); _w.scale_adj = gtk_range_get_adjustment(GTK_RANGE(_w.scale)); allocate_colors(); init_dialog("ui-tape-window-toggle", "window-tape"); CMD *cmd; cmd = new CMD_ui_tape_window_toggle(this); cmd = new CMD_ui_tape_load_selected(this); cmd = new CMD_ui_tape_rename_selected(this); cmd = new CMD_ui_tape_attach(this); } void TapeWindow::stop(void) { gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(_w.b_play), FALSE); gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(_w.b_record), FALSE); } void TapeWindow::attached(const char *name) { /* * block changed signal when setting the entry field! */ // gtk_signal_handler_block_by_data(GTK_OBJECT(GTK_COMBO(_w.combo)->entry), _w.combo); // gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(_w.combo)->entry), name); // gtk_signal_handler_unblock_by_data(GTK_OBJECT(GTK_COMBO(_w.combo)->entry), _w.combo); } void TapeWindow::sf_tape_scale_changed(GtkAdjustment *adjustment, gpointer data) { TapeWindow *self = (TapeWindow *)data; if (self->_scale_value != adjustment->value) tape->seek((int)adjustment->value); } int TapeWindow::sf_tape_button_press(GtkWidget */*widget*/, GdkEventButton *event, gpointer data) { TapeWindow *self = (TapeWindow *)data; GtkTreePath *path; gboolean ret = gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(self->_w.treeview), (int)event->x, (int)event->y, &path, NULL, NULL, NULL); if (ret) { gint *indices = gtk_tree_path_get_indices(path); self->_selected = indices[0]; } if ((event->button == 1) && (event->type == GDK_2BUTTON_PRESS)) { CMD_EXEC("ui-tape-run-selected"); } else if (event->button == 3) { gtk_widget_set_sensitive(self->_w.m_run, ret); gtk_widget_set_sensitive(self->_w.m_load, ret); gtk_widget_set_sensitive(self->_w.m_edit, ret); gtk_widget_set_sensitive(self->_w.m_delete, ret); gtk_widget_set_sensitive(self->_w.m_rename, ret); gtk_widget_set_sensitive(self->_w.m_export, ret); gtk_widget_set_sensitive(self->_w.m_wav, ret); gtk_menu_popup(GTK_MENU(self->_w.menu), NULL, NULL, NULL, NULL, 3, event->time); } /* * run other event handlers too... */ return false; } void TapeWindow::set_selected_index(GtkTreeSelection *selection) { GtkTreeModel *model; GList* path_list = gtk_tree_selection_get_selected_rows(selection, &model); if (path_list == NULL) return; GtkTreePath *path = (GtkTreePath *)g_list_nth_data(path_list, 0); gint *indices = gtk_tree_path_get_indices(path); if (indices == NULL) return; _selected = indices[0]; g_list_foreach(path_list, (GFunc)gtk_tree_path_free, NULL); g_list_free(path_list); } void TapeWindow::allocate_colors(void) { int a; const char *color_names[] = { "#000000", "#d00000", "#00d000", "#a0a000" }; _colormap = gdk_colormap_get_system(); for (a = 0;a < 4;a++) { gdk_color_parse(color_names[a], &_col[a]); gdk_color_alloc(_colormap, &_col[a]); } } void TapeWindow::tapeAttach(const char *name) { clear_list(); gtk_widget_set_sensitive(_w.b_stop, TRUE); gtk_widget_set_sensitive(_w.b_play, TRUE); gtk_widget_set_sensitive(_w.b_record, TRUE); gtk_widget_set_sensitive(_w.b_detach, TRUE); _play = 0; _record = 0; tapeProgress(0); } void TapeWindow::tapeDetach(void) { clear_list(); gtk_widget_set_sensitive(_w.b_stop, FALSE); gtk_widget_set_sensitive(_w.b_play, FALSE); gtk_widget_set_sensitive(_w.b_record, FALSE); gtk_widget_set_sensitive(_w.b_detach, FALSE); _play = 0; _record = 0; tapeProgress(0); } void TapeWindow::tapePower(bool power) { _power = power; sf_power_expose(this); #if 0 if (!power) { stop(); } #endif } int TapeWindow::tapeGetSelected(void) { return _selected; } const char * TapeWindow::tapeGetName(int idx) { char *name; GtkTreePath *path = gtk_tree_path_new_from_indices(idx, -1); g_assert(path != NULL); GtkTreeIter iter; gtk_tree_model_get_iter(GTK_TREE_MODEL(_w.list_store), &iter, path); gtk_tree_path_free(path); gtk_tree_model_get(GTK_TREE_MODEL(_w.list_store), &iter, 0, &name, -1); return name; } void TapeWindow::tapeProgress(int val) { _scale_value = val; GTK_ADJUSTMENT(_w.scale_adj)->value = val; gtk_signal_emit_by_name(GTK_OBJECT(_w.scale_adj), "value_changed"); } void TapeWindow::tapeNext(void) { GtkTreeModel *model; GtkTreeIter iter; GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(_w.treeview)); if (!gtk_tree_selection_get_selected(selection, &model, &iter)) return; if (gtk_tree_model_iter_next(model, &iter)) { // sets _selected via callback! (sf_tape_file_select) gtk_tree_selection_select_iter(selection, &iter); CMD_Args *a = new CMD_Args(); a->set_long_arg("tape-play-delay", 10); CMD_EXEC_ARGS("ui-tape-play-selected", a); } } void TapeWindow::clear_list(void) { _nr_of_files = 0; gtk_list_store_clear(_w.list_store); gtk_widget_set_sensitive(_w.b_stop, FALSE); gtk_widget_set_sensitive(_w.b_play, FALSE); gtk_widget_set_sensitive(_w.b_record, FALSE); } void TapeWindow::tapeAddArchive(const char *name) { } void TapeWindow::tapeAddFile(const char *name, long load, long start, long size, unsigned char type) { char buf_load[40]; char buf_start[40]; char buf_size[40]; const char *ptr_type; const char *ptr_load; const char *ptr_start; kct_file_type_t t = (kct_file_type_t)type; snprintf(buf_load, 40, "%04lxh", load); if (start != 0xffff) snprintf(buf_start, 40, "%04lxh", start); else snprintf(buf_start, 40, "-"); snprintf(buf_size, 40, "%ld", size); ptr_load = "-"; ptr_start = "-"; switch (t) { case KCT_TYPE_COM: ptr_type = "COM"; ptr_load = buf_load; ptr_start = buf_start; break; case KCT_TYPE_BAS: ptr_type = "BAS"; break; case KCT_TYPE_DATA: ptr_type = "DATA"; break; case KCT_TYPE_LIST: ptr_type = "LIST"; break; case KCT_TYPE_BAS_P: ptr_type = "BAS*"; break; case KCT_TYPE_BIN: ptr_type = "BIN"; break; case KCT_TYPE_BASICODE: ptr_type = "BAC"; break; default: ptr_type = "???"; break; } GtkTreeIter iter; gtk_list_store_append(_w.list_store, &iter); gtk_list_store_set(_w.list_store, &iter, TREEVIEW_COLUMN_NAME, name, TREEVIEW_COLUMN_TYPE, ptr_type, TREEVIEW_COLUMN_LOAD, ptr_load, TREEVIEW_COLUMN_START, ptr_start, TREEVIEW_COLUMN_SIZE, buf_size, -1); _nr_of_files++; if (_nr_of_files == 1) { gtk_widget_set_sensitive(_w.b_stop, TRUE); gtk_widget_set_sensitive(_w.b_play, TRUE); gtk_widget_set_sensitive(_w.b_record, TRUE); } } void TapeWindow::tapeRemoveFile(int idx) { if (_nr_of_files == 1) clear_list(); else { GtkTreePath *path = gtk_tree_path_new_from_indices(idx, -1); g_assert(path != NULL); GtkTreeIter iter; gtk_tree_model_get_iter(GTK_TREE_MODEL(_w.list_store), &iter, path); gtk_tree_path_free(path); gtk_list_store_remove(_w.list_store, &iter); _nr_of_files--; } } KCemu-0.5.1/src/ui/gtk/ui_gtk_c80.cc0000644000175000017500000000260212417262523017205 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_c80.h" #include "ui/gtk/ui_gtk_c80.h" UI_Gtk_C80::UI_Gtk_C80(void) : UI_Gtk_Base(new UI_C80()) { _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 0x00, 0x20, 0x00)); /* really dark green */ _colors.push_back(UI_Color(false, 0x00, 0xe0, 0x00)); /* green */ _colors.push_back(UI_Color(false, 0xff, 0x8c, 0x00)); /* dark orange */ _colors.push_back(UI_Color(false, 0x9a, 0xcd, 0x32)); /* led green */ } UI_Gtk_C80::~UI_Gtk_C80(void) { } KCemu-0.5.1/src/ui/gtk/plotter.cc0000644000175000017500000002431612417262523016750 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/kc.h" #include "kc/system.h" #include "kc/plotter.h" #include "cmd/cmd.h" #include "ui/gtk/cmd.h" #include "ui/gtk/plotter.h" class CMD_ui_plotter_window_toggle : public CMD { private: PlotterWindow *_w; public: CMD_ui_plotter_window_toggle(PlotterWindow *w) : CMD("ui-plotter-window-toggle") { _w = w; register_cmd("ui-plotter-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; void PlotterWindow::sf_expose(GtkWidget *widget, GdkEventExpose *event, gpointer data) { PlotterWindow *self = (PlotterWindow *)data; self->expose(event); } void PlotterWindow::sf_next_page(GtkWidget *widget, gpointer data) { PlotterWindow *self = (PlotterWindow *)data; plotter->show_page(); gtk_widget_queue_draw(self->_w.canvas); } void PlotterWindow::sf_save_as_png(GtkWidget *widget, gpointer data) { PlotterWindow *self = (PlotterWindow *)data; GtkWidget *filechooser = gtk_file_chooser_dialog_new(_("Save As PNG..."), GTK_WINDOW(self->_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(filechooser), TRUE); char *filename = NULL; if (gtk_dialog_run(GTK_DIALOG(filechooser)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser)); } gtk_widget_destroy (filechooser); if (filename == NULL) return; plotter->save_as_png(filename); g_free(filename); } void PlotterWindow::sf_open_pdf(GtkWidget *widget, gpointer data) { PlotterWindow *self = (PlotterWindow *)data; GtkWidget *filechooser = gtk_file_chooser_dialog_new(_("Plot to PDF..."), GTK_WINDOW(self->_window), GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(filechooser), TRUE); char *filename = NULL; if (gtk_dialog_run(GTK_DIALOG(filechooser)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser)); } gtk_widget_destroy (filechooser); if (filename == NULL) return; plotter->open_pdf(filename); gtk_widget_set_sensitive(self->_w.close, TRUE); GtkEntry *entry = GTK_ENTRY(GTK_BIN(self->_w.comboboxentry)->child); gtk_entry_set_text(GTK_ENTRY(entry), filename); g_free(filename); } void PlotterWindow::sf_close_pdf(GtkWidget *widget, gpointer data) { PlotterWindow *self = (PlotterWindow *)data; plotter->close_pdf(); gtk_widget_set_sensitive(self->_w.close, FALSE); GtkEntry *entry = GTK_ENTRY(GTK_BIN(self->_w.comboboxentry)->child); gtk_entry_set_text(GTK_ENTRY(entry), ""); } void PlotterWindow::sf_bg_color(GtkColorButton *widget, gpointer data) { const double f = 65536.0; GdkColor color; gtk_color_button_get_color(widget, &color); plotter->set_bg_color((double)color.red / f, (double)color.green / f, (double)color.blue / f); } void PlotterWindow::sf_pen_color(GtkColorButton *widget, gpointer data) { const double f = 65536.0; GdkColor color; gtk_color_button_get_color(widget, &color); plotter->set_pen_color((double)color.red / f, (double)color.green / f, (double)color.blue / f); } void PlotterWindow::sf_line_width(GtkSpinButton *widget, gpointer data) { gdouble line_width = gtk_spin_button_get_value(widget); plotter->set_line_width(line_width); } void PlotterWindow::sf_origin_x(GtkSpinButton *widget, gpointer data) { gdouble origin_x = gtk_spin_button_get_value(widget); plotter->set_origin_x(origin_x); } void PlotterWindow::sf_origin_y(GtkSpinButton *widget, gpointer data) { gdouble origin_y = gtk_spin_button_get_value(widget); plotter->set_origin_y(origin_y); } void PlotterWindow::sf_display_refresh(GtkSpinButton *widget, gpointer data) { PlotterWindow *self = (PlotterWindow *)data; self->_display_refresh = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(self->_w.display_refresh)); self->init_timeout(); } void PlotterWindow::sf_show_pen(GtkToggleButton *widget, gpointer data) { plotter->set_show_pen(gtk_toggle_button_get_active(widget)); } void PlotterWindow::sf_show_plot_area(GtkToggleButton *widget, gpointer data) { plotter->set_show_plot_area(gtk_toggle_button_get_active(widget)); } PlotterWindow::PlotterWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _display_refresh = 20; _cmd_plotter_toggle = new CMD_ui_plotter_window_toggle(this); } PlotterWindow::~PlotterWindow(void) { delete _cmd_plotter_toggle; } gboolean PlotterWindow::timeout_handler(PlotterWindow *self) { if (self->_window->window == NULL) return FALSE; if (!self->is_visible()) return FALSE; if (plotter->is_dirty()) { cairo_rectangle_t *rect = plotter->get_dirty_rectangle(); if (rect != NULL) gtk_widget_queue_draw_area(self->_w.canvas, rect->x, rect->y, rect->width, rect->height); } return TRUE; } void PlotterWindow::toggle(void) { UI_Gtk_Window::toggle(); init_timeout(); } void PlotterWindow::init_timeout() { if (_w.timeout_id != 0) g_source_remove(_w.timeout_id); if (is_visible()) _w.timeout_id = g_timeout_add(_display_refresh, (GSourceFunc)timeout_handler, this); } void PlotterWindow::init(void) { _w.timeout_id = 0; /* * plotter window */ _window = get_widget("plotter_window"); g_signal_connect(_window, "delete_event", G_CALLBACK(cmd_exec_sft), (char *)"ui-plotter-window-toggle"); // FIXME: /* * canvas, needs GDK_EXPOSURE_MASK to be set! */ _w.canvas = get_widget("main_drawingarea"); g_signal_connect(_w.canvas, "expose_event", G_CALLBACK(sf_expose), this); /* * comboboxentry */ _w.comboboxentry = get_widget("file_comboboxentry"); /* * bg color */ GdkColor bg_color; _w.bg_color = get_widget("colorbutton_bg_color"); bg_color.red = plotter->get_bg_red() * 65535; bg_color.green = plotter->get_bg_green() * 65535; bg_color.blue = plotter->get_bg_blue() * 65535; gtk_color_button_set_color(GTK_COLOR_BUTTON(_w.bg_color), &bg_color); g_signal_connect(_w.bg_color, "color-set", G_CALLBACK(sf_bg_color), this); /* * pen color */ GdkColor color; _w.pen_color = get_widget("colorbutton_pen_color"); color.red = plotter->get_pen_red() * 65535; color.green = plotter->get_pen_green() * 65535; color.blue = plotter->get_pen_blue() * 65535; gtk_color_button_set_color(GTK_COLOR_BUTTON(_w.pen_color), &color); g_signal_connect(_w.pen_color, "color-set", G_CALLBACK(sf_pen_color), this); /* * check boxes */ _w.show_pen = get_widget("checkbutton_show_pen"); g_signal_connect(_w.show_pen, "toggled", G_CALLBACK(sf_show_pen), this); _w.show_plot_area = get_widget("checkbutton_show_plot_area"); g_signal_connect(_w.show_plot_area, "toggled", G_CALLBACK(sf_show_plot_area), this); /* * buttons */ _w.open = get_widget("file_button_open"); g_signal_connect(_w.open, "clicked", G_CALLBACK(sf_open_pdf), this); _w.close = get_widget("file_button_close"); g_signal_connect(_w.close, "clicked", G_CALLBACK(sf_close_pdf), this); _w.next_page = get_widget("button_next_page"); g_signal_connect(_w.next_page, "clicked", G_CALLBACK(sf_next_page), this); _w.save_as_png = get_widget("button_save_as_png"); g_signal_connect(_w.save_as_png, "clicked", G_CALLBACK(sf_save_as_png), this); /* * spin buttons */ _w.line_width = get_widget("spinbutton_line_width"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.line_width), plotter->get_line_width()); g_signal_connect(_w.line_width, "value-changed", G_CALLBACK(sf_line_width), this); _w.origin_x = get_widget("spinbutton_origin_x"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.origin_x), plotter->get_origin_x()); g_signal_connect(_w.origin_x, "value-changed", G_CALLBACK(sf_origin_x), this); _w.origin_y = get_widget("spinbutton_origin_y"); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.origin_y), plotter->get_origin_y()); g_signal_connect(_w.origin_y, "value-changed", G_CALLBACK(sf_origin_y), this); _w.display_refresh = get_widget("spinbutton_display_refresh"); g_signal_connect(_w.display_refresh, "value-changed", G_CALLBACK(sf_display_refresh), this); gtk_spin_button_set_value(GTK_SPIN_BUTTON(_w.display_refresh), _display_refresh); init_dialog("ui-plotter-window-toggle", "window-plotter"); } void PlotterWindow::expose(GdkEventExpose *event) { cairo_t *cr = gdk_cairo_create(_w.canvas->window); /* set a clip region for the expose event */ GdkRectangle *area = &event->area; cairo_rectangle(cr, area->x, area->y, area->width, area->height); cairo_clip(cr); cairo_surface_t *surface = plotter->get_onscreen_surface(); if (surface != NULL) { cairo_set_source_surface(cr, surface, 0, 0); cairo_paint(cr); } cairo_destroy(cr); } KCemu-0.5.1/src/ui/gtk/a5105_keyboard.png0000644000175000017500000001343612417262523020072 0ustar glaubitzglaubitz‰PNG  IHDRÐúç²sRGB®ÎéØIDATxÚíÝmpT×}Çñÿ®@€$`$$KZ7¶âË:öÂB,%’±Ü"pëÒÁI„½¨ëàœÉ4I›¤‰“”À ãt•Ú16ƒA"ESÀyÂD‡hªKÖ¬¼Á6Z$ê‹›n¶Pƒ$îž{îÝïç^¯ïïžs¤{~¾û€çÈÁýL^¦P8…€Â(€Â@á  p …P8…€Â(@á  p …P8(€Â(@á  püAºúÈP8¼±a[(²üȆalXó„Q^®íÔ³jwpÐÆ¡`Ècå9rp¿ ª†U³LÕj‡k6­j‡ÒÂQÿäzsIª+‚IŠ8|´ÍœâÆÍ›t>ÃDd‘EYd©É÷î`ïÆ¡Ûu/¡p¸~íºø’~Ë#ÚÚ;âSܸuËX;â3Lüí"‹,²È"KÛÝÁÞC·!; p˜0qI|%e?íIœâqt:ÅgxÝ(Yd‘EYzî6nyÜÔ½i4þúVâ’øg,9xGg»¯¤,í üæãå4ÅgHYd‘E–ú,kßl‘ÔCÏ!›=‹µ|IÌCYØ+Už!Yd‘EYNÙTnúÙ…#Kâè’EYd‘唋¹&YúŸ†.…¤Žt{ãcýý/ïÞ#"^¯7/7wÁCóóóòâšjª«ß^ûó_þ²ûTdxx¸nÙÒÜ©SYB(·088Ø´¯¥¤¸øŽâ¢}û4·´loØj>8³  ¸h¦ˆ ]HüO^Ùûã«W¯uŸ:õ—‹R8 pŒVueÅêuÏ<רÔÒ‰F'dfŠHUeEݲ¥"21;;ñÉ ¿³«yo÷©S,N¡Å{8Žwv6¾¸ãPkkvVVQa¡ùà®æ½KV®Z²rÕ‰®.Ö GÓâÇÙ¾XW÷ɹsf/~dÑ䜜¾XLDj®yta­ˆøJKY'(·«¦ºjõŠºëœžŸÿÿ~ë[o¿ëï‘ÞÓ¿ÏÊÊš1m«€æœ÷±Øu_øâ+{,"_þæÓ?|þG,!ú³ù‡¯´ôզݣy0®ùÅX6œ…/þ@á p  pP8…€Â(€Â@á@áptáèèlç€d‘EYd9îb®I–þ§¡EáˆD{¬óPæaw†d‘EYd9ewP¹qè?ä1IWÙÖÞ ø#Ñ_I™… cNn[{Ǹ`F(R|†d‘EYd©Ì2 ÃÂ-Ù‡†C7Ï‘ƒûÕ$UÖ.2ÿP]‘`ÀŸŒ*#"‡¶™ÿ8Ö¡íܳãûÏ>¯ò É"‹,²ÈRœõ¹¿_õéÇê¬:r(®_».©'ûCnܺÅ(/OÅÂ_˜dHüÙGá8pè˜ÙUÕœ¡ÊÙ ‹,²È"Ë0Œ…óçYX8D¤þÉõÉÞ8nsÈ›7¥èeÆQ8|%e?øÑ+æÀM Ãx|å²H´ÇÚ ‡76lÓsã0 cÚ't¸½!¶¼‡Cs›7éüÓ÷¾ûú±Vë^^®áÆ¡UÕ°³p¨¼A7Q>YýKEd‘EYd™”ݤÇÆ¡ÿ ãM£d¾¤òÀ¼Oj>.²È"‹,²ÆwýX«å/©8w×syáHœw_I™…ÇOü9û* ‡Êq‘EYd‘5¾ë¼ú¡ól(fÃK*‰óä˜í¾’²H´'ðßÎWq8e\d‘EYd9³a²ç›F­÷ø¡¬-š‹,²È"‹,§`6ÄÆ¿KÅÂyOÒõYd‘EYNÁlØü±ØXÿË»÷ˆˆ×ëÍËÍ]ðÐüü¼¼øƒ¦šêªø{úþcÿèÛ½iéiVVV~|žíÙü×Ó6íkù͵Ÿ>sæ…—w®ÙðÔ¥K—ÌûM´·7ÚÛ;4t!þüS=oµãŽâ¢îS‘¯<ý­ÿîè` П_üU]Y±zEÝ3Ï56µ´D¢Ñ ™™"RUYQ·l©ˆLÌÎŽ?ó>ÿ¬ïýó×Dä#wÞùOßúvïéßßç÷³ŠhΫÃIïìl|qÇ¡ÖÖ쬬¢ÂBóÁ]Í{—¬\µdåª]]ñg¦¥¥‰È¥K—š[Z¦åçⳄèO‹;gûb]Ý'çΙ½ø‘E“srúb1©}¸æÑ…µ"â+-M|òÀàà—¾ñÍsýßýúW§N™Â@ᕚêªÕ+®ÿ–éùù7~ |_,öù/}ùý÷ϯ{üïúbç222 fÌ` pXédOÏéߟ‘o|ï_Däoë–¯øÔ2V ÇÍøJK_mÚ=šMófÏþ°(ŽÔÕ×ùÆ;ÇÞy¿WD &ß[0ï®i³˜ÐÖµÐ﮵µœ>-"ž¢"o0è5îaZ(º·‡^ˆœ _¹zYDÒßÍ8ûÝbã3tжm\yé¥kovÉåË""Þp8}ùr:‡¼LÁ‡yãc‘sáËW‡GddDF._Žœ ¿ñÎ1f4-mm×Þì’áa‘‘¾öf×µ¶6f†Â¡µwÞï5ïmÄ]¹zÙ|y ¡‘Ó§ÿpo#îòeóåP8…#…L.NOËH|$=-£`r13zòIÆÿ¹nKF†§¨ˆ™¡phíÞ‚y¾¼òŒ´Lx<âÉHËôå•ß[ÀßO ºniÁ ÷î»$3S<ñx$3Ó{÷]Þ`™ÑŸRùPwM›µØø ‹ÇãžôåËùX,…у†Îê4 M—†)@á p  p8·ptt¶k~@ýÇEYd‘E–S0öŽH´ÇÚÉ2eÖF*ÇEYd‘E–S0b˵µwþH´ÇWRfáì›óÞÖÞa×TªYd‘EYNÁl˜ù6oo„Âá ÛB¡ÓglÚ'ŒòrŹüåm …BŸû‡¯†±pþ¼›?ÓWR6î¶áŽªŸ±úµëÔ×{ ‡ÊÛzî×hFÊY²È"+e³Ì*иyS’"âmÃM3¶±a[òfìF¼iô´}Óè-G*¼õŒ,²È"K¤që–dü/{(®_»ŽsXáHœA_I™…ÇOü€9* GòÆ5š‘ªœU²È"‹,m³ ÃHÆÿ²×?¹> 1c·É†—TgÐ?+`É1;:Û}%e‘hO0à·ëCÉÉ×èGªrVÉ"‹,²ôÌJÒ{,â‡eÆn‡=ß4jù®l*Ù·ÔkL#U9«d‘EY:g¹cÿrÙ^iÛߥbù®œÔm^«Ó¸I„ÊY%‹,²ÈÒ9Ëû—›öJ›?ëïy÷ñz½y¹¹ šŸŸ—ÐTS]KË\zaçÎ3ï¾—‘ž>wvàÏš/@{6ŽÁÁÁ¦}-%ÅÅwíÛ ¹¥e{ÃVóÁ™ÅE3EdhèBüù?¸xn`àβÒ_ýúØO_{-wêÔ¹³¬"Ž[«®¬X½¢î™ç›ZZ"Ñè„ÌL©ª¬¨[¶TD&fgÇŸ™—›ûԺϊHΤIovw{¼– Ǩïìl|qÇ¡ÖÖ쬬¢Â¾XLDv5ïÝÕ¼WD¶|ûéÄO ïèüÊÓß:?4ôñàœ9÷ÝÇ@ᕳ}±®î“sçÌ^üÈ¢É99fá¨}¸æÑ…µ"â+-M|òÝùÈw¿þÕC­¿zi÷žÿüÉOþ|ÁV Ç­ÕTW­^qý÷ÛOÏÏ¿ñëÏÞzûík×FŠfΜYP "çúXB(‹¼õÖ7¾·éÚµk"ò±YÆ_Ôr{ Ç­øJK_mÚ=šM~âóæ Lš8iâÄìdŸÞÅ÷Þ<ßûÛáÁ3"’9¥0§øþìwóC€Ã Ç8dfd̘>]AÐÅ÷Þ<Û¾çbß©‘«—EÄ“–ñÁ{ÝÓÑ9+/SðaÎ÷þöbß©‘«Ã"#"##W‡/ö:ßû[f ‡e†Ϙ÷6âF®^6_^@ápˆÌ)…ž´ŒÄG®1T嬒EYdéœåŽýËe{¥ ß4ÚÖÞ ø#Ñ_I™…óhÎ`[{‡]m#IãåHUÎ*Yd‘E–ÎY–3 # ¹rÆ ÃP¶KzŽܯ&©²v‘ù‡êŠ ˆþdlù"røh›ùcÚÎ=;|%eÌû¤nãºåHUÎ*Yd‘E–ÎYÉØÔBápýÚu®œ±Æ­[Œòr׎ø<&Câj).I×ÍGªrVÉ"‹,²tÎJÒ¦Vÿäzó&‡›fÌ0ŒÆÍ›Ü|‡C™qŽP8¼±a›ù³p$mjîÛ ÃØ°æ e·7„¿-ö&5€?lÏåå›7¹£v¨¯v•·¤Æä?zÅM7ÍìM'‹,²È²ëÊ–ÔÚ1Ê'ëÿFÅxÓèíܳãûÏ>/ny[½éd‘EYj(xÓ¨[w=—ŽÄy÷•”YxüÄú˜³?Ö¡™/¦¨<ÃäeÙ›NYd‘¥Æí_ùSy×S̆—TçÝ?+`É1;:Û}%e‘hO0à÷²ã/Ë©<ÃddÙ›NYd‘¥†%WþTÞõ³ç›F-ÿI5eayTy† ~oU¦“EYd©aù•?•w=׎dü¤:ú€ ~oU¦“EYd9t+Iå]/ÙlþXl¬¿ÿåÝ{DÄëõæåæ.xh~~^^üASMuÕuŸÞéxi÷ž‰ÙÙ³ü¯P8nnpp°i_KIqñÅEûöhniÙÞ°Õ|pfAAqÑLºpÝõýgð«×;u*… ÇhUWV¬^Q÷ÌsM--‘htBf¦ˆTUVÔ-[*"³³Ÿü³×÷ž>=7è:uŠõÀ¼:œÄñÎÎÆwjmÍÎÊ**,4ÜÕ¼wÉÊUKV®:ÑÕf¬¿ÿÙÛþÔºÏfdd°x8…w8ÎöźºOÎ3{ñ#‹&çäôÅb"RûpÍ£ kEÄWZ殦æÓ§užŸy÷K—.ýôµ×þôÁYE(·VS]µzEÝuNÏÏ¿ñ›Þ§L™22"~öówß;{ix¸õèë([¾ô±åK‘|úÛ¡pø+Om`  pÜ‚¯´ôզݣyð:_ýâX<œÂË  pP8…P8(€Â@á@á p  pP8…ã&::Û9`ò²ìM'‹,²ÈrèV’Ê»ž; G$Úcíd™‡2ë¸3´<ËÞt²È"‹,•[¸…WþTÞõHWÙÖÞ ø#Ñ_I™…³oÎ{[{Ǹ`F(R|†Iʲ7,²È"KåF?CÃ04ÜhµÝõó9¸_MReí"óÕA üÉXT9|´ÍüDZ-ׯ]§ò “šeo:Yd‘E–²í<~†[·ååšœ˜þ»žû G|ö“!ñ·bC«r½y“CÍ&{6ìM'‹,²ÈRye3 £qó&}ÎÊ»žû ‡ãZ(ÞØ°Íì§0 cÚ'l¼½¡Ûöaû„P8¨@ÕpsÕжvð’ŠFê¦, դ 1šßê¿M ^‹¿%Ðç•&>¥’Ô·ÏTWoü²‹Ê‘º# H5ný]ÖíjœÔÛ‰mC«÷ÒšK …Bá°79TßáH\_I™…ÇOü€ùSnï•#uGjÜú»¬ÏÕXÙí Ý.Œ×-&79l¸Ã‘¸$þYKŽÙÑÙî+)‹D{‚¿>JV9R§g©Æ­¿Ëz^“x‡ãߺ¡Ï…ñÆ%Ðäý%ö|Ó¨åKbJÃÿáV9RGg©Æ­¿ËÚ^xÁwÙxíèÄ‘:: HÍΑR×T^Ó<ë¤Ûëïy÷ñz½y¹¹ šŸŸ—ÐTS]·Ë•+Wþõߟÿ«ºeKs§Nå²€æl.ƒƒƒMûZJŠ‹ï(.Ú·ÿ@sKËö†­æƒ3 Š‹fŠÈÐÐ…øó/_¹Ò´¯Å(/ÏËÍ‘+W®²„P8F¥º²bõŠºgžklji‰D£23E¤ª²¢nÙR™˜}Ýóý÷|ôO|¾ûï½wú´|–ýyu8‰ã/î8ÔÚš•UTXh>¸«yï’•«–¬\u¢«+ñÉ“sr:O„žûáê5k;~w‚%@ZÜá8Ûëê>9wÎìÅ,šœ“Ó‹‰HíÃ5.¬_iiü™Y&ìÚÞ˜––v2ÒóøúÏÿä¿ðßóQV Ç­ÕTW­^Qw݃Óóóoüf´žhô\ÿÀGïº+ÜÝ-"“&Mb  pXlèÂ…¯müîùóçEäc³ŒOýÕb– Ç-øJK_mÚ=šMþ{îÙóüösýý“srX?(IáñxòóòX9ÄË  pP8…P8(€Â@á@á p  p8¹ptt¶k~@'ŽÔÑY@ªqëïr*_4»žK`OáˆD{¬óPæaµ¢r¤ŽÎRsgrßï²¶Wc'^ð]¶éÊ’ Ã…B"ÒÖÞ ø#Ñ_I™… cNn[{G<ή9Uget_string_arg("ui-file-select-title"); if (arg_title) title = arg_title; } path = NULL; if (_args) path = _args->get_string_arg("ui-file-select-path"); bool dironly = _args && _args->get_long_arg("ui-file-select-dir-only"); init(title, path, dironly); } void FileBrowser::sf_response(GtkDialog *dialog, gint response_id, gpointer user_data) { FileBrowser *self = (FileBrowser *)user_data; if (response_id == GTK_RESPONSE_ACCEPT) { char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); self->_args->set_string_arg("filename", filename); g_free(filename); self->_args->call_callbacks("ui-file-select-CB-ok"); } else { self->_args->call_callbacks("ui-file-select-CB-cancel"); } gtk_widget_destroy(GTK_WIDGET(dialog)); } void FileBrowser::init(const char *title, const char *path, bool dironly) { GtkFileChooserAction action = dironly ? GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER : GTK_FILE_CHOOSER_ACTION_OPEN; GtkWidget *filechooser = gtk_file_chooser_dialog_new(title, NULL, action, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(filechooser), TRUE); if (path) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(filechooser), path); g_signal_connect(filechooser, "response", G_CALLBACK(sf_response), this); gtk_widget_show(filechooser); } KCemu-0.5.1/src/ui/gtk/dialog.cc0000644000175000017500000001544612417262523016522 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "ui/gtk/dialog.h" DialogWindow::DialogWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file), CMD("ui-dialog-yes-no") { _args = NULL; _delete_handler_id = 0; register_cmd("ui-dialog-ok", 0); register_cmd("ui-dialog-yes-no", 1); register_cmd("ui-dialog-yes-no-cancel", 2); init(); } DialogWindow::~DialogWindow(void) { } void DialogWindow::execute(CMD_Args *args, CMD_Context context) { char * textbuffer; const char *text; const char *title; const char *text_arg; const char *text_val; const char *text_arg_val; _args = args; text = NULL; text_val = NULL; text_arg = NULL; textbuffer = NULL; title = _("???"); if (_args) { text_val = _args->get_string_arg("ui-dialog-text"); text_arg = _args->get_string_arg("ui-dialog-text-arg"); title = _args->get_string_arg("ui-dialog-title"); if (text_arg) { text_arg_val = _args->get_string_arg(text_arg); if (text_arg_val) { textbuffer = new char[strlen(text_val) + strlen(text_arg_val) + 1]; sprintf(textbuffer, text_val, text_arg_val); text = textbuffer; } } if (text == NULL) text = (char *)text_val; // FIXME: } if (text == NULL) text = ""; switch (context) { case 0: init_ok(title, text); break; case 1: init_yes_no(title, text); break; case 2: init_yes_no_cancel(title, text); break; default: break; } delete[] textbuffer; } void DialogWindow::ok(GtkWidget */*widget*/, gpointer data) { DialogWindow *self = (DialogWindow *)data; self->_dialog_result = GTK_RESPONSE_OK; if (self->_args != NULL) self->_args->call_callbacks("ui-dialog-ok-CB"); self->hide(); } void DialogWindow::cancel(GtkWidget */*widget*/, gpointer data) { DialogWindow *self = (DialogWindow *)data; self->_dialog_result = GTK_RESPONSE_CANCEL; if (self->_args != NULL) self->_args->call_callbacks("ui-dialog-cancel-CB"); self->hide(); } void DialogWindow::yes(GtkWidget */*widget*/, gpointer data) { DialogWindow *self = (DialogWindow *)data; self->_dialog_result = GTK_RESPONSE_YES; if (self->_args != NULL) self->_args->call_callbacks("ui-dialog-yes-no-CB-yes"); self->hide(); } void DialogWindow::no(GtkWidget */*widget*/, gpointer data) { DialogWindow *self = (DialogWindow *)data; self->_dialog_result = GTK_RESPONSE_NO; if (self->_args != NULL) self->_args->call_callbacks("ui-dialog-yes-no-CB-no"); self->hide(); } int DialogWindow::delete_event_yes_no(GtkWidget *widget, GdkEvent *event, gpointer data) { no(widget, data); return true; } int DialogWindow::delete_event_yes_no_cancel(GtkWidget *widget, GdkEvent *event, gpointer data) { cancel(widget, data); return true; } int DialogWindow::delete_event_ok(GtkWidget *widget, GdkEvent *event, gpointer data) { ok(widget, data); return true; } void DialogWindow::init(void) { _w.button_ok = get_widget("dialog_button_ok"); _w.button_cancel = get_widget("dialog_button_cancel"); _w.button_yes = get_widget("dialog_button_yes"); _w.button_no = get_widget("dialog_button_no"); _w.image_info = get_widget("header_image_info"); _w.image_question = get_widget("header_image_question"); g_signal_connect(_w.button_ok, "clicked", G_CALLBACK(ok), this); g_signal_connect(_w.button_cancel, "clicked", G_CALLBACK(cancel), this); g_signal_connect(_w.button_yes, "clicked", G_CALLBACK(yes), this); g_signal_connect(_w.button_no, "clicked", G_CALLBACK(no), this); gtk_widget_hide(_w.button_ok); gtk_widget_hide(_w.button_cancel); gtk_widget_hide(_w.button_yes); gtk_widget_hide(_w.button_no); gtk_widget_hide(_w.image_info); gtk_widget_hide(_w.image_question); } void DialogWindow::show_buttons(bool button_ok, bool button_cancel, bool button_yes, bool button_no) { if (button_ok) gtk_widget_show(_w.button_ok); if (button_cancel) gtk_widget_show(_w.button_cancel); if (button_yes) gtk_widget_show(_w.button_yes); if (button_no) gtk_widget_show(_w.button_no); } void DialogWindow::init_misc(const char *title, const char *text, GCallback callback) { _dialog_result = GTK_RESPONSE_NONE; _window = get_widget("dialog_window"); if (_delete_handler_id != 0) { g_signal_handler_disconnect(_window, _delete_handler_id); } _delete_handler_id = g_signal_connect(_window, "delete_event", callback, this); gtk_window_set_title(GTK_WINDOW(_window), title); GtkWidget *header_label = get_widget("header_label"); g_assert(GTK_IS_LABEL(header_label)); gtk_label_set_text(GTK_LABEL(header_label), title); GtkWidget *main_textview = get_widget("main_textview"); g_assert(GTK_IS_TEXT_VIEW(main_textview)); GtkTextBuffer *buf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(main_textview)); gtk_text_buffer_set_text(buf, text, -1); init_dialog(NULL, NULL); } void DialogWindow::init_ok(const char *title, const char *text) { init_misc(title, text, G_CALLBACK(delete_event_ok)); show_buttons(true, false, false, false); gtk_widget_show(_w.image_info); show(); } void DialogWindow::init_yes_no(const char *title, const char *text) { init_misc(title, text, G_CALLBACK(delete_event_yes_no)); show_buttons(false, false, true, true); gtk_widget_show(_w.image_question); show(); } void DialogWindow::init_yes_no_cancel(const char *title, const char *text) { init_misc(title, text, G_CALLBACK(delete_event_yes_no_cancel)); show_buttons(false, true, true, true); gtk_widget_show(_w.image_question); show(); } void DialogWindow::show_dialog_ok(const char *title, const char *text) { _args = NULL; init_ok(title, text); } void DialogWindow::show_dialog_yes_no(const char *title, const char *text) { _args = NULL; init_yes_no(title, text); } void DialogWindow::show_dialog_yes_no_cancel(const char *title, const char *text) { _args = NULL; init_yes_no_cancel(title, text); } int DialogWindow::get_dialog_result(void) { return _dialog_result; } KCemu-0.5.1/src/ui/gtk/ui_gtk1.cc0000644000175000017500000000271312417262523016617 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_1.h" #include "ui/gtk/ui_gtk1.h" UI_Gtk1::UI_Gtk1(void) : UI_Gtk_Base(new UI_1()) { _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); _colors.push_back(UI_Color(false, 0xd0, 0x00, 0x00)); _colors.push_back(UI_Color(false, 0x00, 0xd0, 0x00)); _colors.push_back(UI_Color(false, 0xd0, 0xd0, 0x00)); _colors.push_back(UI_Color(false, 0x00, 0x00, 0xd0)); _colors.push_back(UI_Color(false, 0xd0, 0x00, 0xd0)); _colors.push_back(UI_Color(false, 0x00, 0xd0, 0xd0)); _colors.push_back(UI_Color(false, 0xd0, 0xd0, 0xd0)); } UI_Gtk1::~UI_Gtk1(void) { } KCemu-0.5.1/src/ui/gtk/xvid.cc0000644000175000017500000001031712417262523016225 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/config.h" #ifdef HAVE_LIBXVIDCORE #include #include #include #include "kc/system.h" #include "ui/gtk/xvid.h" using namespace std; XvidVideoEncoder::XvidVideoEncoder(void) { _f = NULL; _buf = NULL; _image = NULL; } XvidVideoEncoder::~XvidVideoEncoder(void) { close(); } bool XvidVideoEncoder::init(const char *filename, int width, int height, int fps_den, double quality) { if (filename == NULL) return false; if (quality < 0) quality = 0; if (quality > 1) quality = 1; _quality = quality; _f = fopen(filename, "wb+"); if (_f == NULL) return false; memset(&_gbl_init, 0, sizeof (xvid_gbl_init_t)); _gbl_init.version = XVID_VERSION; xvid_global(NULL, XVID_GBL_INIT, &_gbl_init, NULL); memset(&_enc_create, 0, sizeof (xvid_enc_create_t)); _enc_create.version = XVID_VERSION; _enc_create.width = width; _enc_create.height = height; _enc_create.zones = NULL; _enc_create.fincr = fps_den; _enc_create.fbase = 50; _enc_create.max_key_interval = 500 / fps_den; _enc_create.bquant_ratio = 150; _enc_create.bquant_offset = 100; memset(&_plugin_single, 0, sizeof(xvid_plugin_single_t)); _plugin_single.version = XVID_VERSION; _plugins[0].func = xvid_plugin_single; _plugins[0].param = &_plugin_single; _enc_create.plugins = _plugins; _enc_create.num_plugins = 1; xvid_encore(NULL, XVID_ENC_CREATE, &_enc_create, NULL); _buf = new byte_t[3 * width * height]; _image = new byte_t[3 * width * height]; return true; } void XvidVideoEncoder::allocate_color_rgb(int idx, int r, int g, int b) { _col[idx].r = r; _col[idx].g = g; _col[idx].b = b; } bool XvidVideoEncoder::encode(byte_t *image, byte_t *dirty) { int d = -1; for (int y = 0;y < _enc_create.height;y += 8) { for (int x = 0;x < _enc_create.width;x += 8) { d++; if (dirty && !dirty[d]) continue; int z = y * _enc_create.width + x; for (int yy = 0;yy < 8;yy++) { for (int xx = 0;xx < 8;xx++) { int s = 3 * (z + xx); _image[s] = _col[image[z + xx]].b; _image[s + 1] = _col[image[z + xx]].g; _image[s + 2] = _col[image[z + xx]].r; } z += _enc_create.width; } } } xvid_enc_frame_t frame; memset(&frame, 0, sizeof(xvid_enc_frame_t)); frame.version = XVID_VERSION; frame.bitstream = _buf; frame.length = -1; frame.input.plane[0] = _image; frame.input.csp = XVID_CSP_BGR; frame.input.stride[0] = 3 * _enc_create.width; frame.vol_flags = 0; frame.vop_flags = XVID_VOP_HALFPEL | XVID_VOP_TRELLISQUANT | XVID_VOP_HQACPRED; frame.type = XVID_TYPE_AUTO; frame.quant = _quality; frame.motion = XVID_ME_ADVANCEDDIAMOND16 | XVID_ME_HALFPELREFINE16 | XVID_ME_EXTSEARCH16 | XVID_ME_ADVANCEDDIAMOND8 | XVID_ME_HALFPELREFINE8 | XVID_ME_EXTSEARCH8; int size = xvid_encore(_enc_create.handle, XVID_ENC_ENCODE, &frame, NULL); return fwrite(_buf, 1, size, _f) == (size_t)size; } void XvidVideoEncoder::close(void) { if (_f != NULL) { xvid_encore(_enc_create.handle, XVID_ENC_DESTROY, NULL, NULL); fclose(_f); } if (_buf != NULL) delete _buf; if (_image != NULL) delete _image; _f = NULL; _buf = NULL; _image = NULL; } #endif /* HAVE_LIBXVIDCORE */ KCemu-0.5.1/src/ui/gtk/lc80.key0000644000175000017500000000216512417262523016226 0ustar glaubitzglaubitzlc80_keyboard.xpm lc80_keyboard_pressed.xpm ####################### # LC80 Keyboard Layout ####################### # # first row # +KC_KEY_RESET :26,260,30,20 =26,260,30,20 ?Key: Escape +KC_KEY_F1 :70,260,30,20 =70,260,30,20 ?Key: F1 +KC_KEY_F2 :114,260,30,20 =114,260,30,20 ?Key: F2 ++ :158,260,30,20 =158,260,30,20 +- :202,260,30,20 =202,260,30,20 # # second row # +KC_KEY_NMI :26,298,30,20 =26,298,30,20 ?Key: F8 +c :70,298,30,20 =70,298,30,20 +d :114,298,30,20 =114,298,30,20 +e :158,298,30,20 =158,298,30,20 +f :202,298,30,20 =202,298,30,20 # # third row # +KC_KEY_F4 :26,336,30,20 =26,336,30,20 ?Key: F4 +8 :70,336,30,20 =70,336,30,20 +9 :114,336,30,20 =114,336,30,20 +a :158,336,30,20 =158,336,30,20 +b :202,336,30,20 =202,336,30,20 # # fourth row # +KC_KEY_F3 :26,374,30,20 =26,374,30,20 ?Key: F3 +4 :70,374,30,20 =70,374,30,20 +5 :114,374,30,20 =114,374,30,20 +6 :158,374,30,20 =158,374,30,20 +7 :202,374,30,20 =202,374,30,20 # # fifth row # +KC_KEY_ENTER :26,412,30,20 =26,412,30,20 ?Key: Enter +0 :70,412,30,20 =70,412,30,20 +1 :114,412,30,20 =114,412,30,20 +2 :158,412,30,20 =158,412,30,20 +3 :202,412,30,20 =202,412,30,20 KCemu-0.5.1/src/ui/gtk/kc854_keyboard_pressed.xpm0000644000175000017500000233722012417262523021744 0ustar glaubitzglaubitz/* XPM */ static char * kc854_keyboard_pressed_xpm[] = { "762 412 505 2", " c None", ". c #E6E6E6", "+ c #C2CAC2", "@ c #AAB6AA", "# c #A2AEA2", "$ c #E00000", "% c #CA3D39", "& c #C64742", "* c #DADADA", "= c #D2D2D2", "- c #BAC2BA", "; c #A1ADA2", "> c #98A3A6", ", c #97A3A6", "' c #9EAAA3", ") c #9FABA3", "! c #BE5E58", "~ c #DC0A09", "{ c #A4A79B", "] c #A5A398", "^ c #D81514", "/ c #C44D47", "( c #D81513", "_ c #A2ABA0", ": c #AC9187", "< c #A3AA9E", "[ c #A2AB9F", "} c #DC0808", "| c #C2534D", "1 c #A79D92", "2 c #DE0303", "3 c #A89C91", "4 c #DD0807", "5 c #C44C47", "6 c #D6D6D6", "7 c #A6B2A6", "8 c #0000EA", "9 c #575DC3", "0 c #0708E6", "a c #0809E6", "b c #090AE5", "c c #939EA8", "d c #2D31D5", "e c #0404E8", "f c #5258C5", "g c #DA100F", "h c #D32321", "i c #C05851", "j c #D32421", "k c #B18178", "l c #B1837A", "m c #B0857B", "n c #D4201E", "o c #BE5C56", "p c #DD0605", "q c #BE5D57", "r c #B47870", "s c #B47A72", "t c #AA948A", "u c #DF0201", "v c #AE8B82", "w c #D91211", "x c #BD615A", "y c #AF897F", "z c #DE0404", "A c #BC625C", "B c #DF0000", "C c #AE8A80", "D c #0506E7", "E c #8792AD", "F c #3235D3", "G c #464BCA", "H c #9CA8A4", "I c #9EA9A3", "J c #5359C5", "K c #CE322F", "L c #BE5E57", "M c #C1544E", "N c #C1554F", "O c #B96D65", "P c #C2534E", "Q c #C3514B", "R c #DD0606", "S c #AB9489", "T c #DD0706", "U c #D41F1D", "V c #B27F76", "W c #B27E76", "X c #B37C74", "Y c #DA0E0D", "Z c #B5766D", "` c #D22623", " . c #D22422", ".. c #DF0101", "+. c #B7716A", "@. c #E2E2E2", "#. c #3437D2", "$. c #1415E0", "%. c #4146CC", "&. c #99A5A5", "*. c #C05852", "=. c #B37D74", "-. c #B0857C", ";. c #A9998E", ">. c #DB0D0C", ",. c #B6746C", "'. c #DA0F0D", "). c #A79E93", "!. c #B18279", "~. c #B28078", "{. c #D32220", "]. c #A3A99E", "^. c #DE0403", "/. c #AC9086", "(. c #DA0F0E", "_. c #B0867D", ":. c #AA978D", "<. c #A3A99D", "[. c #AA968C", "}. c #A2ACA0", "|. c #CC3532", "1. c #848DAF", "2. c #4D53C7", "3. c #1618DF", "4. c #0808E6", "5. c #95A0A7", "6. c #A79F94", "7. c #A5A397", "8. c #C93E39", "9. c #A99A8F", "0. c #000000", "a. c #121312", "b. c #676F67", "c. c #6C746C", "d. c #585F58", "e. c #A2ADA1", "f. c #D61B19", "g. c #CD3531", "h. c #C05953", "i. c #CB3834", "j. c #A6A095", "k. c #DC0908", "l. c #B77169", "m. c #B7726A", "n. c #DE0505", "o. c #A3A89C", "p. c #A4A79C", "q. c #D4201D", "r. c #BF5A54", "s. c #D81312", "t. c #97A2A6", "u. c #7780B4", "v. c #0607E6", "w. c #3B40CF", "x. c #363AD1", "y. c #8B95AC", "z. c #8D98AB", "A. c #3F44CD", "B. c #DB0C0C", "C. c #AD8D83", "D. c #C8413C", "E. c #BD605A", "F. c #D51E1C", "G. c #AF877D", "H. c #BA6A63", "I. c #CD332F", "J. c #A0ACA0", "K. c #788078", "L. c #080908", "M. c #262826", "N. c #9EAA9E", "O. c #1E201E", "P. c #BC645E", "Q. c #B77068", "R. c #CD3430", "S. c #D22522", "T. c #B86D66", "U. c #D22624", "V. c #C15550", "W. c #D51E1B", "X. c #BA6962", "Y. c #CF2D2A", "Z. c #0A0AE5", "`. c #1416E0", " + c #6168BE", ".+ c #4045CD", "++ c #1112E2", "@+ c #666DBC", "#+ c #CF2D29", "$+ c #A89B90", "%+ c #C93E3A", "&+ c #C54A45", "*+ c #DC0A0A", "=+ c #B6736B", "-+ c #DB0C0B", ";+ c #B86F67", ">+ c #BF5A53", ",+ c #C54944", "'+ c #161716", ")+ c #444944", "!+ c #717971", "~+ c #666D66", "{+ c #4C514C", "]+ c #C9403B", "^+ c #BB655E", "/+ c #D81413", "(+ c #D61A18", "_+ c #AF877E", ":+ c #C15650", "<+ c #020202", "[+ c #A89C92", "}+ c #A4A69B", "|+ c #DB0B0A", "1+ c #BC645D", "2+ c #B28077", "3+ c #AF887F", "4+ c #030303", "5+ c #707870", "6+ c #8B958B", "7+ c #242624", "8+ c #A1ADA1", "9+ c #8F9A8F", "0+ c #8892AD", "a+ c #9CA7A4", "b+ c #CF2E2B", "c+ c #9DA9A3", "d+ c #A0ABA2", "e+ c #C93F3B", "f+ c #A6A297", "g+ c #A6A195", "h+ c #798379", "i+ c #313531", "j+ c #474D47", "k+ c #343834", "l+ c #3E42CE", "m+ c #474CCA", "n+ c #8993AD", "o+ c #1A1CDE", "p+ c #0505E7", "q+ c #1A1BDE", "r+ c #929DA8", "s+ c #0303E8", "t+ c #919CA9", "u+ c #292DD7", "v+ c #0304E8", "w+ c #0A0BE5", "x+ c #535AC4", "y+ c #AD8C82", "z+ c #CC3734", "A+ c #D02A28", "B+ c #D12926", "C+ c #B5776F", "D+ c #CF2F2B", "E+ c #7B847B", "F+ c #798279", "G+ c #7A837A", "H+ c #5960C2", "I+ c #7880B4", "J+ c #7881B4", "K+ c #5A60C1", "L+ c #2A2DD7", "M+ c #555CC3", "N+ c #565CC3", "O+ c #828BB0", "P+ c #5A61C1", "Q+ c #8A94AC", "R+ c #3337D3", "S+ c #5055C6", "T+ c #7F89B1", "U+ c #5C62C1", "V+ c #0000E9", "W+ c #2F33D4", "X+ c #494FC9", "Y+ c #484DC9", "Z+ c #D61B1A", "`+ c #D12724", " @ c #C64641", ".@ c #0F110F", "+@ c #99A4A5", "@@ c #747CB6", "#@ c #0D0EE4", "$@ c #6D76B9", "%@ c #2B2FD6", "&@ c #6C74B9", "*@ c #2326DA", "=@ c #474DCA", "-@ c #2224DA", ";@ c #9AA5A5", ">@ c #D02B28", ",@ c #B37E75", "'@ c #BA6861", ")@ c #B37C73", "!@ c #D4211F", "~@ c #B0847B", "{@ c #95A1A7", "]@ c #0C0DE4", "^@ c #7D86B2", "/@ c #5F67BF", "(@ c #6067BF", "_@ c #8D97AB", ":@ c #0E0FE3", "<@ c #8C96AB", "[@ c #1D20DC", "}@ c #4F55C6", "|@ c #545AC4", "1@ c #858FAE", "2@ c #929CA9", "3@ c #3034D4", "4@ c #1D1FDD", "5@ c #3438D2", "6@ c #1B1EDD", "7@ c #7A83B3", "8@ c #7B85B2", "9@ c #96A1A7", "0@ c #393DD0", "a@ c #0F10E3", "b@ c #686FBB", "c@ c #7F88B1", "d@ c #1719DF", "e@ c #949FA7", "f@ c #1C1EDD", "g@ c #5056C6", "h@ c #2E31D5", "i@ c #2F32D5", "j@ c #AD8E84", "k@ c #D71715", "l@ c #A9988D", "m@ c #B5786F", "n@ c #D12825", "o@ c #AB9287", "p@ c #CE312D", "q@ c #868FAE", "r@ c #BD6059", "s@ c #A5A599", "t@ c #A5A499", "u@ c #CE302D", "v@ c #BB665F", "w@ c #4349CB", "x@ c #4348CC", "y@ c #CB3A36", "z@ c #C54943", "A@ c #0102E9", "B@ c #0202E8", "C@ c #B86E66", "D@ c #4A50C8", "E@ c #5D64C0", "F@ c #1E20DC", "G@ c #0101E9", "H@ c #282AD8", "I@ c #8089B0", "J@ c #C6CAC2", "K@ c #DADEDA", "L@ c #EEEEEE", "M@ c #F2F2F2", "N@ c #EAEAEA", "O@ c #D6DAD6", "P@ c #AEB6AA", "Q@ c #CACACA", "R@ c #DEDEDE", "S@ c #DEE2DE", "T@ c #AEBAAE", "U@ c #A6B2A2", "V@ c #BEC2BE", "W@ c #E2E6E2", "X@ c #CAD2CA", "Y@ c #AAB6A6", "Z@ c #AAB2A6", "`@ c #E6EAE6", " # c #B2BEB2", ".# c #AAB2AA", "+# c #EAEEEA", "@# c #AEBAAA", "## c #CACECA", "$# c #CECECE", "%# c #C2C6C2", "&# c #CED6CE", "*# c #A6AEA2", "=# c #E2E2DE", "-# c #EAEAE6", ";# c #6E6E6E", "># c #2E2E2E", ",# c #121212", "'# c #2A2A2A", ")# c #5A5A5A", "!# c #BABABA", "~# c #969696", "{# c #222222", "]# c #3A3A3A", "^# c #8A8A8A", "/# c #A2A2A2", "(# c #AAAAAA", "_# c #3E3E3E", ":# c #D2D6CE", "<# c #464646", "[# c #DADAD6", "}# c #323232", "|# c #A6A6A6", "1# c #B2BAAE", "2# c #C6CAC6", "3# c #262626", "4# c #BEC6BE", "5# c #1E1E1E", "6# c #4A4A4A", "7# c #868686", "8# c #9A9A9A", "9# c #CED2CE", "0# c #B6BEB2", "a# c #AEB6AE", "b# c #C2C6BE", "c# c #B2B6AE", "d# c #BAC2B6", "e# c #7A7A7A", "f# c #B6C2B6", "g# c #B96B64", "h# c #BB675F", "i# c #B96B63", "j# c #D71716", "k# c #B47971", "l# c #B6756D", "m# c #CA3C37", "n# c #6A716A", "o# c #484D48", "p# c #D91311", "q# c #D02A27", "r# c #AA968B", "s# c #5B625B", "t# c #1B1E1B", "u# c #585E58", "v# c #5C625C", "w# c #BB6760", "x# c #BC635C", "y# c #BF5B55", "z# c #C34F49", "A# c #D71614", "B# c #C7443F", "C# c #D51C1A", "D# c #C44E49", "E# c #C64843", "F# c #7F887F", "G# c #161816", "H# c #060606", "I# c #4A504A", "J# c #1A1B1A", "K# c #818B81", "L# c #C54B46", "M# c #A79E94", "N# c #D51D1B", "O# c #1C1E1C", "P# c #5E655E", "Q# c #9BA79B", "R# c #5C635C", "S# c #030403", "T# c #A9988E", "U# c #BD5F58", "V# c #C8423D", "W# c #CE312E", "X# c #B96C65", "Y# c #9CA79C", "Z# c #050505", "`# c #9CA89C", " $ c #050605", ".$ c #D3221F", "+$ c #DF0202", "@$ c #CC3733", "#$ c #C05751", "$$ c #B37B72", "%$ c #B47A71", "&$ c #5F675F", "*$ c #5E645E", "=$ c #1F221F", "-$ c #778077", ";$ c #202220", ">$ c #AB9288", ",$ c #AA958B", "'$ c #494F49", ")$ c #6A726A", "!$ c #0F100F", "~$ c #3E433E", "{$ c #6B736B", "]$ c #BF5C55", "^$ c #616861", "/$ c #828B82", "($ c #CE2F2C", "_$ c #D71816", ":$ c #7E7E7E", "<$ c #565656", "[$ c #AEB2AE", "}$ c #C6CEC6", "|$ c #B6BAB2", "1$ c #5E5E5E", "2$ c #828282", "3$ c #A6AEA6", "4$ c #B2B6B2", "5$ c #C2CABE", "6$ c #8E8E8E", "7$ c #626262", "8$ c #929292", "9$ c #9E9E9E", "0$ c #666666", "a$ c #BEC6BA", "b$ c #727272", "c$ c #B2B2B2", "d$ c #B6BEB6", "e$ c #1A1A1A", "f$ c #363636", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ $ $ $ % & # & % # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . - # # # # # # # # # # # # # # # # # # # # # # # # # ; > , # # # ' ) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ ! # $ # # $ ~ { ~ $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ # # # ] ^ / ( ] # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # _ : # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # < < # # # [ [ # # _ : # # # # # # # [ [ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ } | 1 2 3 # # $ $ } | # $ $ $ $ # $ $ 4 5 # # # # # # # # # # # # - . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . 7 # # # # # # # # # # # # # # # # # # # # 8 8 8 8 # 9 0 a b # c d e b f # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ g { $ # # $ h i j $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ # # # # k $ l # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ } | # $ $ 4 5 # # m n $ $ $ $ $ % & # & % # # # # # # # # # # # # # # # # # # # # # # # # # o p p q # r ~ ~ s # m n # # t u # # r ~ ~ s # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ ! # $ # # $ # v w x # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # y z A B x # # $ # y z # $ # # # # $ # C 4 # # # # # # # # # # # # # 7 . . . . . . . . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . * # # # # # # # # # # # # # # # # # # # # # # 8 # # # # D E # # # F G H I J # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ K L $ # # $ M 4 N $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # $ $ $ $ # ! $ O # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # y z # $ # C 4 # # P Q # # $ # # ] ^ / ( ] # # # # # # # # # # # # # # # # # # # # # # # # # R t S T # U V W n # P Q # # % $ # # U V W n # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ g { $ # # $ X Y Z # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ } | ` / .# # $ $ } | # $ # # # # $ $ ..+.# # # # # # # # # # # # # # # * . . . . . . . . . . . . . . . . . . . . . . @.= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = @.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # #.$.%.E # D &.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *.2 $ # *.2 $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ =.Y $ # # $ m $ -.$ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ # # # ;.>.,.'.).# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ } | # $ $ ..+.# # h !.# # $ # # # k $ l # # # # # # # # # # # # # # # # # # # # # # # # # # n ~.V {.# 2 ].].^.# h !.# /.(.$ # # 2 ].].^.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ K L $ # # $ 4 _.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # :.Y <.(.[.# $ # # # # $ $ $ $ # $ }.| |.# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . 7 # # # # # # # # # # # # # # # # # # # # # # # 8 8 8 8 # # 1.2.3.# 4.5.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # $ $ $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 6.A / x 7.# # # # # $ $ $ $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 6.A / x 7.# # # # # # # # # # # # # # # # # 6.8.# # # # # # # # >.9.# # >.9.# # # # # # # # # # # # # # # # # # # 0.# # 0.0.0.a.b.# # 0.c.# # # d.0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ e.f.$ # # $ [ ^ _ $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ $ $ $ g.h.# M i.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ }.| |.# j.k.< # # $ # # # ! $ O # # # # # # # # # # # # # # # # # # # # # # # # # # l.T T m.# n.o.p.p j.k.< # i.L $ # # n.o.p.p # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ =.Y $ # # $ q.N # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # r.$ $ $ r.# $ # # # # $ # # # # $ # o.s.y # # # # # # # # # # # # # # # 7 . . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . - # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # , t.u.v.# w.x.y.z.A.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # $ $ $ $ B.# # # # # # # # # # # # # # # # # # # # # # # # # # # C.(.D.E.5 F.# # # # # $ # # # # # # G.H.G.# # # # # # # # # # # # # # # # # # # # # # # # # # C.(.D.E.5 F.# # # # # # G.H.G.# # # # # # # # ,.I.# # G.H.G.# # # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.# J.K.L.# # 0.M.# # N.O.0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # P.$ # # $ # # # $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # o.s.y Q.R.# # # $ # # ;.>.,.'.).# # # # # # # # # # # # # # # # # # # # # # # # # 4 G.G.} # S.T.T.U.Q.R.# # B $ $ $ # S.T.T.U.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ e.f.$ # # $ j.U V.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # W.l # m W.# $ # # # # $ $ $ $ # $ # # X.Y.# # # # # # # # # # # # # # # # - . . . . . . . . . . . . . . . . . . 6 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # 8 8 8 8 # b Z.`. +# &..+++3.@+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # # G.P # # # # # # # # # # # # # # # # # # # # # # # # # # # #+H.# # # $+# # # # # $ # # # # # i w %+w r.# $ &+2 # $ r.*+'.=+P *+-+;+# # # # # # # # # # # #+H.# # # $+# # # # # i w %+w r.# $ >+~ B.T.# ,+q # i w %+w r.# $ $ $ # $ $ $ # # # # # # # # # # # # # # # # # # # 0.# # 0.# J.K.'+# # 0.)+!+# ~+{+0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # X.Y.]+^+# # # $ # # g.h.# M i.# # # # # # # # # # # # # # # # # # # # # # # # # h./+/+>+# _.(+(+_+]+^+# # # # $ # # _.(+(+_+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ # P.$ # # $ # j.F.:+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . = = = = = = = = = = = <+= = <+<+<+<+<+= = <+<+<+<+= = = = = <+<+<+= = = = <+<+<+= = = <+<+<+<+<+<+<+= = = = = = <+<+<+<+<+<+<+<+= = = <+<+<+<+<+<+<+<+<+= = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # # I.[+# # # # # # # # # # # # # # # # # # # # # # # # # # # n.}+# # # # # # # # # $ $ $ $ # # |+S # S -+# $ O _ # $ 1+p.W 2 1+p.2+'.# # # # # # # # # # # n.}+# # # # # # # # # |+S # S -+# $ 1+p.X Y # F.3+# |+S # S -+# # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.0.0.4+5+# # 0.6+7+8+O.9+0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # a+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b+[.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b+[.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c+d+# # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . * = = = = = = = = = = = <+= = <+<+<+<+<+= <+<+<+<+<+= = = = = <+<+<+= = = <+<+<+= = = <+<+<+<+<+<+<+<+<+= = = = <+<+<+<+<+<+<+<+<+<+= = <+<+<+<+<+<+<+<+<+= = = = = = = = * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # # # -.e+# # # # # # # # # # # # # # # # # # # # # # # # # # # # } f+# # # # # # # # # $ # # # # # R j.# 6.T # $ [ # # $ }.# # $ }.# # $ # # # # # # # # # # # } f+# # # # # # # # # R j.# 6.T # $ }.# # $ g+} [ # R j.# 6.T # # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.# 8+h+'+# # 0.# i+j+k+# 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # ' ) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # n+o+p+q+n+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ' ) # # # # # # # # # # ' ) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ' ) # # # # a+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 8 4.2.r+s+t+# # t+u+v+w+x+# 8 8 8 8 # # # # # # # # # # # # # # # # # # # # @ . . . . . . . . . . . . . . . . = = = = = = = = = = = <+<+= = <+<+<+<+= = <+<+<+<+<+= = = = = <+<+<+= = <+<+<+= = = <+<+<+<+= = = = <+<+= = = = <+<+<+= = = = <+<+<+= = <+<+= = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # Y.y+# # # # # # # # # # # # # # # # # # # # # # # # # # # # z+i # # # C # # # # # $ # # # # # e+A+E.B+D.# $ # # # $ # # # $ # # # $ # # # # # # # # # # # z+i # # # C # # # # # e+A+E.B+D.# $ # # # $ C+D+# # e+A+E.B+D.# # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.# 8+E+L.# # 0.# F+0.G+# 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # c d e b f # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # L+M+# N+u+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c d e b f # 8 # # # 8 # c d e b f # 8 # O+++P+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c d e b f # n+o+p+o+Q+# 8 8 4.2.R+S+# S+R+# # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # T+e U+V+P+# # W+X+c+c Y+# 8 # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = <+<+= = <+<+<+= = <+<+<+<+<+<+= = = = = <+<+<+<+<+<+<+= = = = <+<+<+= = = = = = = = = = = <+<+<+= = = = <+<+<+= = <+<+<+<+<+<+<+<+= = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # $ $ $ $ $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # l A+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # 9.Z+`+ @I.U.# # # # # $ # # # # # <.P.,+^+].# $ # # # $ # # # $ # # # $ # # # # # # # # # # # 9.Z+`+ @I.U.# # # # # <.P.,+^+].# $ # # # $ 5 h.# # <.P.,+^+].# # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.0.0..@~+# # 0.# # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # F G H I J # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # p++@# +@p+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # F G H I J # 8 # # # 8 # F G H I J # 8 @@#@$@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # F G H I J # L+M+# N+%@# 8 # T+e t+#@&@#@t+# # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 8 4.2.*@=@-@# # D ;@# b 8 # 8 # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = <+<+<+= = <+<+<+= = <+<+<+<+<+<+= = = = = <+<+<+<+<+<+= = = = = <+<+<+= = = = = = = = = = = = <+<+<+<+<+<+<+<+= = = <+<+<+<+<+<+<+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # >@C+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # [ ,@'@)@_ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # [ ,@'@)@_ # # # # # # # # # # # # # # # # !@~@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D &.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # v.{@# 5.]@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D &.# # # # 8 # # # 8 # D &.# # # # 8 0 ^@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # R+S+# S+R+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D &.# # # # p++@# +@D # 8 8 4.2.# /@8 (@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # _@#@c+:@<@# 4.5.# # 8 # 8 8 8 8 # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = <+<+<+= = <+<+= = <+<+<+<+<+<+<+= = = = = <+<+<+<+<+<+= = = = = <+<+<+= = = = = = = = = = = = <+<+<+<+<+<+<+<+= = = = = = = = = <+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # )@].# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4.5.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R+G c m+G # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4.5.# # # # 8 # # # 8 # 4.5.# # # # 8 [@}@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# t+#@&@#@t+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4.5.# # # # v.{@# 5.4.# 8 # # # # ; 8 ; # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # |@8 8 8 |@# x.%.t+1@8 # 8 # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = <+<+<+<+= = <+<+= = <+<+<+<+<+<+<+= = = = = <+<+<+= <+<+<+= = = = <+<+<+= = = = = = = = = = = <+<+<+= = = = <+<+<+= = = = = = = = <+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.x.y.z.A.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2@d D 3@c+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.x.y.z.A.# 8 # # # 8 # w.x.y.z.A.# 8 5.4@S+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # /@8 (@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.x.y.z.A.# R+G c m+5@# 8 # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # 6@7@# 8@6@# 9@0@a@q+b@# 8 8 8 8 # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = <+<+<+<+= = <+= = <+<+<+<+<+<+<+<+= = = = = <+<+<+= = <+<+<+= = = <+<+<+<+= = = = <+<+= = = = <+<+<+= = = = <+<+<+= = <+<+= = = = <+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &..+++3.@+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c@d@e@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &..+++3.@+# 8 8 8 8 8 # &..+++3.@+# 8 # 5.f@g@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; 8 ; # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &..+++3.@+# 2@h@#@i@c # 8 # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = <+<+<+<+<+= = <+= <+<+<+<+<+<+<+<+<+= = = = = <+<+<+= = = <+<+<+= = = <+<+<+<+<+<+<+<+<+= = = = <+<+<+<+<+<+<+<+<+<+= = <+<+<+<+<+<+<+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # 6.A / x 7.# # # j@P P j@# # # $ H.# # # $ # $ $ $ $ $ # $ $ ..k@=+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+<+<+<+<+<+= = = = <+<+<+<+<+<+<+<+<+= = = = = <+<+<+= = = = <+<+<+= = = <+<+<+<+<+<+<+= = = = = = <+<+<+<+<+<+<+<+= = = = <+<+<+<+<+<+<+= = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # C.(.D.E.5 F.# # 2+Y N M Y k # # $ #+l@# # $ # # # $ # # # $ # [ s |+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # #+H.# # # $+# # U.m@# # Z n@# # $ o@p@e.# $ # # # $ # # # $ # [ s /+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # ; > , # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # q@# # q@# # # # # # # # # a+# # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # n.}+# # # # # # z o.# # p.n.# # $ # E.r@# $ # # # $ # # # $ $ $ q./.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # ' ) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # 9 0 a b # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r+s+t+# # 8 # # 8 # 8 8 8 8 8 # n+o+p+o+Q+# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # } f+# # # # # # T s@# # t@4 # # $ # e.u@o@$ # # # $ # # # $ # }+&+,@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # c d e b f # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # D E # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # 6@8@# 8@6@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # 8 8 4.2.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # U+V+P+# # 8 # # 8 # # # 8 # # # L+M+# N+%@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # z+i # # # C # # D+'@# # v@p@# # $ # # l@>@$ # # # $ # # # $ # # o.!@f+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # F G H I J # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #.$.%.E # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# |@w@# x@|@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # 8 # T+e # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *@=@-@# # 8 # # 8 # # # 8 # # # p++@# +@D # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = = = = <+= = <+<+<+<+<+<+<+= = <+= = = = = <+= = <+<+<+<+<+= = = = = <+<+<+<+<+= = = = = = <+= = = = = <+<+<+<+<+<+= = = <+<+<+<+<+= = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # 9.Z+`+ @I.U.# # C.Y y@y@(./.# # $ # # # X.$ # # # $ # # # $ # # # X.z@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D &.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1.2.3.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # _@a@I :@<@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 8 4.2.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # _@#@c+:@<@# A@' ' B@# # # 8 # # # v.{@# 5.4.# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = = = <+= = = <+= = = = = = = = <+= = = = = <+= = <+= = = = <+= = = <+= = = = = <+= = = = <+= <+= = = = <+= = = = = <+= = <+= = = = <+= = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # [ ,@'@)@_ # # # j.C@;+g+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4.5.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # , t.u.v.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *@D@-@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |@8 8 8 |@# 4@E@E@F@# # # 8 # # # R+G c m+5@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = = <+= = = = <+= = = = = = = = = <+= = = <+= = = <+= = = = = <+= = <+= = = = = <+= = = <+= = = <+= = = <+= = = = = <+= = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.x.y.z.A.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b Z.`. +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # U+G@P+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 6@7@# 8@6@# c@H@H@I@# # # 8 # # # 2@h@#@i@c # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = <+= = = = = <+= = = = = = = = = = <+= <+= = = = <+= = = = <+= = = <+= = = = = <+= = <+= = = = = <+= = <+= = = = = <+= = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &..+++3.@+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r+s+t+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+<+<+= = = = = = <+<+<+<+<+= = = = = = = <+= = = = = <+<+<+<+<+= = = = <+= = = = = <+= = <+= = = = = <+= = <+<+<+<+<+<+= = = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= <+= = = = = = <+= = = = = = = = = = = <+= = = = = <+= = = = <+= = = <+= = = = = <+= = <+= = = = = <+= = <+= = <+= = = = = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # U@V@O@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@L@W@X@Y@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = <+= = = = = <+= = = = = = = = = = = <+= = = = = <+= = = = = <+= = <+= = = = = <+= = <+<+<+<+<+<+<+= = <+= = = <+= = = = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+# ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # 7 = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@R@@## # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = = <+= = = = <+= = = = = = = = = = = <+= = = = = <+= = = = = <+= = <+= = = = = <+= = <+= = = = = <+= = <+= = = = <+= = = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # %#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@&## # # # # # # # # # # # # # . . . . . . . . . . . . . . . . * = = = = = = <+= = = = <+= = = <+= = = = = = = = = = = <+= = = = = <+= = = = <+= = = <+= = = = = <+= = <+= = = = = <+= = <+= = = = = <+= = <+= = = = <+= = = = = = = = = * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # *#O@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@7 # # # # # # # # # # # # . . . . . . . . . . . . . . . . . = = = = = = <+= = = = = <+= = <+<+<+<+<+<+<+= = = = = <+= = = = = <+<+<+<+<+= = = = = <+<+<+<+<+= = = <+= = = = = <+= = <+= = = = = <+= = <+<+<+<+<+= = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # # R@M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@-#7 # # # # # # # # # # # . . . . . . . . . . . . . . . . . 6 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # O@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@W@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # %#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@:## # # # # # # # # # . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@L@T@# # # # # # # # # . . . . . . . . . . . . . . . . . . . @.= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = @.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # = M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@S@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@P@# # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@P@# # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@ ## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # U@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@L@Y@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . 6 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # 2#M@M@M@M@* 3#~#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@O@# # # # # 2#M@M@M@M@* 3#~#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#~#3#^#M@M@M@M@O@# # # # # 2#M@M@M@M@* 3#~#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # 2#M@M@M@M@* 3#~#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # 2#M@M@M@M@* 3#~#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # 2#M@M@M@M@* 3#~#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # 2#M@M@M@M@* 3#~#(#(#<+<+<+<+<+(#(#(#(#<+<+<+<+<+<+(#(#(#<+(#(#(#(#(#<+(#~#3#^#M@M@M@M@W@# # # # # ##M@M@M@M@* 3#~#(#(#<+<+<+<+(#(#<+<+<+<+<+<+<+(#(#<+<+<+<+(#(#<+<+<+<+(#~#3#^#M@M@M@M@S@# # # # # 2#M@M@M@M@* 3#~#(#(#<+<+<+<+<+(#(#(#<+(#(#(#(#(#<+(#(#(#<+<+<+<+<+(#(#(#~#3#^#M@M@M@M@S@# # # # # 2#M@M@M@M@* 3#~#(#(#<+<+<+<+<+(#(#(#(#<+<+<+<+<+<+<+(#(#<+(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # 2#M@M@M@M@* 3#~#(#(#(#<+<+<+<+<+(#(#(#<+(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#~#3#^#M@M@M@M@S@# # # # # 4#M@M@M@M@* 3#~#(#<+(#(#(#(#<+(#(#<+<+<+<+(#(#<+(#(#(#(#(#<+(#<+<+<+<+<+~#3#^#M@M@M@M@X@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#]#5#. M@M@M@N@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#]#5#. M@M@M@N@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#<+(#(#(#(#<+(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#<+(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#<+(#(#(#<+(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#<+(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#<+(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#]#5#. M@M@M@L@# # # # # O@M@M@M@M@^#]#(#(#<+(#(#(#(#<+(#<+(#(#(#(#<+(#<+(#(#(#(#(#<+(#<+(#(#(#(#(#]#5#. M@M@M@W@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@L@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#7#6#!#M@M@M@L@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#<+(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#<+(#(#(#<+(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#<+(#(#(#(#(#<+<+(#(#(#(#<+(#(#<+(#(#(#(#(#<+(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#<+(#(#(#(#<+(#<+(#(#(#(#<+(#<+<+(#(#(#<+<+(#<+(#(#(#(#(#7#6#!#M@M@M@L@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#<+<+<+<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#<+(#(#(#(#<+(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#<+(#(#(#<+(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#<+(#(#(#(#(#<+(#<+(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#<+(#(#(#(#<+(#<+(#(#(#(#<+(#<+(#<+(#<+(#<+(#<+(#(#(#(#(#/#3#8#M@M@M@L@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#<+<+(#(#(#(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#<+(#<+<+<+<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#<+<+<+<+<+(#(#(#(#<+<+<+<+<+<+(#(#(#<+<+<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#<+<+(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#<+<+<+<+(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#<+<+<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#<+(#(#(#(#(#<+(#(#<+<+<+<+<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#<+<+<+<+<+<+(#<+(#(#(#(#<+(#<+(#<+(#<+(#<+(#<+<+<+(#(#(#(#3#8#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+<+(#(#(#(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#<+(#(#(#(#<+(#(#(#<+(#(#<+(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#<+<+(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#<+(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#<+(#<+(#(#(#(#(#(#<+<+(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#<+(#(#(#(#<+(#<+(#(#(#(#<+(#<+(#(#<+(#(#<+(#<+(#(#(#(#(#(#3#8#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#<+(#(#(#(#<+(#(#<+(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#<+(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#<+<+(#(#(#(#(#(#(#(#<+(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#<+(#(#(#(#<+(#<+(#(#(#(#<+(#<+(#(#<+(#(#<+(#<+(#(#(#(#(#/#3#8#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#<+(#(#(#<+(#(#(#<+(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#<+(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#<+(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#<+(#(#(#(#<+(#<+(#(#(#(#<+(#<+(#(#(#(#(#<+(#<+(#(#(#(#(#7#6#!#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#<+(#(#(#(#<+(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#<+(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#(#(#(#<+(#<+(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#<+(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#<+(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#<+(#(#(#(#<+(#<+(#(#(#(#<+(#<+(#(#(#(#(#<+(#<+(#(#(#(#(#]#5#. M@M@M@L@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#~#3#;#M@M@M@M@`@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#~#3#;#M@M@M@M@`@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#<+<+<+<+<+(#(#(#(#<+(#(#(#(#(#<+(#(#<+(#(#(#(#(#<+(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#<+<+<+<+(#(#(#(#(#<+(#(#(#(#(#<+<+<+<+(#(#<+(#(#(#(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#<+<+<+<+<+(#(#(#<+(#(#(#(#(#<+(#(#(#<+<+<+<+<+(#(#(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#<+<+<+<+<+(#(#(#(#<+<+<+<+<+<+<+(#(#<+<+<+<+<+<+<+(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#<+<+<+<+<+(#(#(#<+<+<+<+<+<+<+(#(#<+(#(#(#(#(#<+(#~#3#;#M@M@M@M@L@# # # # # ##M@M@M@M@* 3#~#(#<+(#(#(#(#<+(#(#<+<+<+<+(#(#<+(#(#(#(#(#<+(#<+<+<+<+<+~#3#;#M@M@M@M@S@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@4## # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # $#M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@W@# # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # :.g## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.# |.# # # # # # h#h## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.# |.# # # # # # # h#h## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1+# 1+# # # # # # # # k@z+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ;+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # i#:.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C+# C+# # # # # # $ @# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.# |.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C+# C+# # # # # # # @$ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z@# z@# # # # # # # # B }.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1+# 1+# # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1+# 1+# # # # # z+j## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # k#$ k## # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C+# C+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # I.# # # # I.# # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# 0.# # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# 0.# # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ,.'.-+l## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # < ..# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z@# z@# # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z@# z@# # # # # }.B # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # u@m#p@# # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # j@P P j@# # # # # 8.).# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.0.0.a.b.# # # # 0.# # # # # 0.# # # # # n#o#n## # # # # # # # # # # # # # # # # # # # # # # # 0.0.0.a.b.# # # # 0.# # # # # 0.# # # # 0.0.0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # p#!.G.j## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ w k## # # # v@]+q## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # G.H.G.# # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ..[ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r#U _ U [.# # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2+Y N M Y k # # # # I.=+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# J.K.L.# # # # 0.# # # # # 0.# # # # s#t#u#t#v## # # # # # # # # # # # # # # # # # # # # # # 0.# J.K.L.# # # # 0.# # # # # 0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # I.# # # # I.# # { w#/ x#s@# # 6.8.# $ $ z Z+y#_ # $ $ $ $ $ # # # # # # # # # # # # # # # # # # # # # # # # # # $ e.z#g.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # }.k A## # # # B#C#5 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # i w %+w r.# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # $ # # # # # q#]+v@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D#,.# ,.z## # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # U.m@# # Z n@# # # # L E## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# J.K.'+# # 0.# 0.# F#G#H#I#0.# # # # J#K## K#J## # # # # # # # # # # # # # # # # # # # # # # 0.# J.K.'+# # 0.# 0.# F#G#H#I#0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # >@q#! L#W.# # ,.I.# $ # < v ` P # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # p <.# # # # # # # # # # e.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # x#s...$ B # # # # # M#2 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |+S # S -+# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # $ # # # # # 5 N#B## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # p.-+$ $ $ -+o.# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z o.# # p.n.# # # # y W.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ..[ # # [ u # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.0.0.4+5+# # 0.# 0.# O#P#Q#R#0.# # # # 4+N.# N.S## # # # # # # # # # # # # # # # # # # # # # # 0.0.0.4+5+# # 0.# 0.# O#P#Q#R#0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # T T## # T## # ,+q # $ # # # o@p## # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # y@V.< # # # # U#} !@m@j.V## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # n.W p.k#$ # # # # # # $ e.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R j.# 6.T # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # }.$ # # # # # 2 j.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # g#W## # # W#X## # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # T s@# # t@4 # # # # [ k.g+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # f.,@# # ,@C## # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# 8+h+'+# # 0.# 0.# <+Y## Q#0.# # # # Z#`## Y# $# # # # # # # # # # # # # # # # # # # # # # # 0.# 8+h+'+# # 0.# 0.# <+Y## Q#0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # q k..$,+[+# # F.3+# $ # # # < +$# # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # e.x#@$# # # # w#o.V S.-+E.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # V.~ *+#$$ # # # # # # >.i # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # e+A+E.B+D.# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # >.W o.v@$ # # # # e.$ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # h $$# # # $$j # # # # $ h## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D+'@# # v@p@# # # # # u@C+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # %$|+A+A+-+)@# # # # # h#$ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# 8+E+L.# # 0.# 0.# O#&$Y#*$0.# # # # =$K.# -$;$# # # # # # # # # # # # # # # # # # # # # # # 0.# 8+E+L.# # 0.# 0.# O#&$Y#*$0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # ..[ # # [ u # # # }+G.z@j # g+} [ # $ # # # >$p## # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # ,$4 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # W &+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # <.P.,+^+].# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # O B.k.*.$ # # # # i Y # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C.Y y@y@(./.# # # # # y#5 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7.~.~.] # # # # # # @ @# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.0.0..@~+# # 0.# 0.# F#G# $'$0.# # # # )$!$~$!${$# # # # # # # # # # # # # # # # # # # # # # # 0.0.0..@~+# # 0.# 0.# F#G# $'$0.# # # # 0.0.0.0.0.# # # # # # # # # # # # # # # # # # # # # # f.,@# # ,@C## # _.# # j.+$# C+D+# # $ # < C.n@| # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ 4 ]$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &+,@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # j.C@;+g+# # # # # # _..$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # K#^$/$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # %$|+A+A+-+)@# # B+($B#_$@$# 5 h.# # $ $ ^.f.r.[ # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # < )@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7.~.~.] # # # e.V w#W _ # !@~@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # )@].# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#:$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # = M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~#{#]#^#/#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#/#^#]#{#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#{#~#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#~#{#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#|#}#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#<+(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@P@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#~#3#^#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # 2#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#~#3#^#M@M@M@M@O@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+<+<+(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@N@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#<+(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@L@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#<+(#(#<+(#<+(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#<+(#<+(#<+<+(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#/#3#8#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#<+(#(#<+(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#<+(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+(#<+<+<+(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#<+<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#<+(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+<+<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#<+<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@M@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@`@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@X@# # # # # [$N@M@M@M@M@~#{#|#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#|#}#)#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # |$N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1${#~#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#~#{#)#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # 6 M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~#{#]#^#/#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#/#^#]#{#2$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#:$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # 3$R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # 6 N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # 4$R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # a#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@5$# # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . 6$>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#:$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6$>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#:$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # = M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . ~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#<$. . . . . . . . . . . . . . . . . . . . . . . . . . ~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . <#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#<$. . . . . . . . . . . . . . . . . . . . . . . . <#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+<+(#(#|#}#_#Q@M@M@M@M@+## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#<$. . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#|#{#{#N@M@M@M@M@0## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#~#3#^#M@M@M@M@`@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#. . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#]#5#. M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#<+<+<+(#(#<+<+<+<+<+<+<+<+<+<+<+<+(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#<+<+<+<+<+<+<+<+<+<+<+<+(#(#<+<+<+(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#<+<+<+(#(#<+<+<+<+<+<+<+<+<+<+<+<+(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#<+<+<+<+<+<+<+<+<+<+<+<+(#(#<+<+<+(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@M@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#. . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@X@# # # # # [$N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#)#. . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#)#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # |$N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . 7${#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#)#. . . . . . . . . . . . . . . . . . . . . . . . 7${#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#)#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # 6 M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . 8#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#2$. . . . . . . . . . . . . . . . . . . . . . . . . . 8#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#2$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . 6$>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#:$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6$>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#:$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # 3$R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # 6 N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # 4$R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # a#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@5$# # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 J@K@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@N@O@P@# # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # Z@O@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@`@ ## # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # ##N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@K@# # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#K@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@Y@# # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#=#M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@Y@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # K@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8$>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#:$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # = M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # ##M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@K@# # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~#{#]#^#/#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#/#^#]#{#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#~#{#_#!#M@M@M@M@M@ ## # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#{#~#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#~#{#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # * M@M@M@M@L@<#}#|#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # [#M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#|#}#_#Q@M@M@M@M@`@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#|#}#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#|#{#{#N@M@M@M@M@P@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # 2#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#~#3#^#M@M@M@M@O@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#]#5#. M@M@M@N@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#7#6#!#M@M@M@L@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@M@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@`@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#8$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@X@# # # # # [$N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+<+<+<+<+<+<+(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#<+<+<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#|#}#)#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # |$N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@b## # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7${#~#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#~#{#)#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # 6 M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@N@# # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9${#]#^#/#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#/#^#]#{#2$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8$>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#:$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # 3$R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@T@# # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # 6 N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@N@# # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # 4$R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@4## # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # a#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@5$# # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # Z@$#R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@`@0## # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # # # # # # # # # # # # # # # # U@V@O@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@L@W@X@Y@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # P@R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # # # # # # # # # # # # # # 7 = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@R@@## # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # # # # # # # # # # # # %#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@&## # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # # *#O@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@7 # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # # # # # # # # # # R@M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@-#7 # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@L@# # # # # # # # # # # O@M@M@M@M@M@M@* ;#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#)#!#L@M@M@M@M@M@W@# # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |#>#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#'#2$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # = M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@`@# # # # # # # # # $#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@W@# # # # # # # # # %#M@M@M@M@M@L@~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#_#* M@M@M@M@M@:## # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#0$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # a#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#~#{#_#!#M@M@M@M@M@a$# # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#~#{#_#!#M@M@M@M@M@d## # # # # # # Z@N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@L@T@# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#|#}#_#Q@M@M@M@M@+## # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#|#}#_#Q@M@M@M@M@L@# # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#|#}#_#Q@M@M@M@M@+## # # # # # # = M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@S@# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#<$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # Z@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#|#{#{#N@M@M@M@M@0## # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#|#{#{#N@M@M@M@M@0## # # # # U@N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@L@Y@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@S@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@L@# # # # # 9#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@`@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#~#3#^#M@M@M@M@L@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#~#3#^#M@M@M@M@`@# # # # # 4#M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#^#M@M@M@M@X@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#~#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # O@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@W@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+<+(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@L@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@L@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#<+(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#<+(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@# # # # # L@M@M@M@N@3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#8#M@M@M@M@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#<+(#<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#<+(#(#<+(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@# # # # # . M@M@M@N@3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#8#M@M@M@M@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#<+(#(#(#<+<+<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@# # # # # . M@M@M@L@6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#!#M@M@M@M@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#<+(#(#(#(#(#(#<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@M@# # # # # R@M@M@M@M@^#]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. M@M@M@L@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#5#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#<+<+<+<+<+(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@M@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@M@# # # # # = M@M@M@M@* 3#~#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@L@# # # # # ##M@M@M@M@* 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#;#M@M@M@M@S@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#/#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#<+<+<+(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@- # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@X@# # # # # [$N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@X@# # # # # .#N@M@M@M@M@~#{#|#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@+ # # # # # 7 N@M@M@M@M@~#{#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#N@M@M@M@M@1#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#{#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#(#<+<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # R@M@M@M@M@L@<#}#|#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@M@# # # # # # # * M@M@M@M@L@<#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#_#Q@M@M@M@M@+## . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#)#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#<+(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # |$N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#<+(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@9## # # # # # # c#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@}$# # # # # # # .#N@M@M@M@M@N@<#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#_#!#M@M@M@M@M@d## . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b${#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#)#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # 6 M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # = M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@L@# # # # # # # # # $#M@M@M@M@M@L@e#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#)#* M@M@M@M@M@W@# # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c${#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@M@# # # # # # # # # # # R@M@M@M@M@M@M@* ;#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#)#!#L@M@M@M@M@M@L@# # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |#>#{#5#,#,#,#,#,#,#,#,#,#,#,#,#,#,#5#{#>#2$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@d$# # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # *#@.M@M@M@M@M@M@M@L@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@M@M@M@M@M@M@M@L@@ # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # 3$R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@ ## # # # # # # # # # # # # *#R@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@@ # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # 6 N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # = N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@# # # # # # # # # # # # # # # # # $#N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@W@# # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # 4$R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # a#R@N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@}$# # # # # # # # # # # # # # # # # # # .#* N@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#f## # # # # # @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # a#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@5$# # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # .#= R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@+#d## # # # # # # # # # # # # # # # # # # # # # # 7 Q@R@. . L@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@M@L@S@T@# # # # # # # # + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . * # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |#>#,#,#,#,#,#,#e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$,#,#,#,#>#7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~#{#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#~#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#{#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#<#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#<#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#f$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#'#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#3#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#7#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#7#6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#]#'#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#3#/#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . {#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#{#f$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <#}#|#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#|#}#<#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b${#~#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#~#{#1$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c${#]#^#/#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#(#/#^#]#{#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |#>#{#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$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$e$>#,#,#5#{#>#7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; KCemu-0.5.1/src/ui/gtk/keyboard.cc0000644000175000017500000003522412417262523017057 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/prefs/prefs.h" #include "kc/keys.h" #include "kc/keyboard.h" #include "cmd/cmd.h" #include "ui/gtk/cmd.h" #include "ui/gtk/ui_gtk.h" #include "ui/gtk/keyboard.h" #include "libdbg/dbg.h" using namespace std; static struct { const char *name; int key_val; } _key_names[] = { { "KC_KEY_ENTER", KC_KEY_ENTER }, { "KC_KEY_SPACE", KC_KEY_SPACE }, { "KC_KEY_ESC", KC_KEY_ESC }, { "KC_KEY_F1", KC_KEY_F1 }, { "KC_KEY_F2", KC_KEY_F2 }, { "KC_KEY_F3", KC_KEY_F3 }, { "KC_KEY_F4", KC_KEY_F4 }, { "KC_KEY_F5", KC_KEY_F5 }, { "KC_KEY_F6", KC_KEY_F6 }, { "KC_KEY_F7", KC_KEY_F7 }, { "KC_KEY_F8", KC_KEY_F8 }, { "KC_KEY_F9", KC_KEY_F9 }, { "KC_KEY_F10", KC_KEY_F10 }, { "KC_KEY_F11", KC_KEY_F11 }, { "KC_KEY_F12", KC_KEY_F12 }, { "KC_KEY_F13", KC_KEY_F13 }, { "KC_KEY_F14", KC_KEY_F14 }, { "KC_KEY_F15", KC_KEY_F15 }, { "KC_KEY_SHIFT", KC_KEY_SHIFT }, { "KC_KEY_CONTROL", KC_KEY_CONTROL }, { "KC_KEY_ALT", KC_KEY_ALT }, { "KC_KEY_ALT_GR", KC_KEY_ALT_GR }, { "KC_KEY_LEFT", KC_KEY_LEFT }, { "KC_KEY_RIGHT", KC_KEY_RIGHT }, { "KC_KEY_DOWN", KC_KEY_DOWN }, { "KC_KEY_UP", KC_KEY_UP }, { "KC_KEY_HOME", KC_KEY_HOME }, { "KC_KEY_END", KC_KEY_END }, { "KC_KEY_DEL", KC_KEY_DEL }, { "KC_KEY_INSERT", KC_KEY_INSERT }, { "KC_KEY_PAGE_UP", KC_KEY_PAGE_UP }, { "KC_KEY_PAGE_DOWN", KC_KEY_PAGE_DOWN }, { "KC_KEY_PAUSE", KC_KEY_PAUSE }, { "KC_KEY_PRINT", KC_KEY_PRINT }, { "KC_KEY_COLOR", KC_KEY_COLOR }, { "KC_KEY_GRAPHIC", KC_KEY_GRAPHIC }, { "KC_KEY_LIST", KC_KEY_LIST }, { "KC_KEY_RUN", KC_KEY_RUN }, { "KC_KEY_STOP", KC_KEY_STOP }, { "KC_KEY_SHIFT_LOCK", KC_KEY_SHIFT_LOCK }, { "KC_KEY_RESET", KC_KEY_RESET }, { "KC_KEY_NMI", KC_KEY_NMI }, { "KC_KEY_BREAK", KC_KEY_BREAK }, { "KC_KEY_CLEAR", KC_KEY_CLEAR }, { NULL, -1 }, }; class CMD_ui_keyboard_window_toggle : public CMD { private: KeyboardWindow *_w; public: CMD_ui_keyboard_window_toggle(KeyboardWindow *w) : CMD("ui-keyboard-window-toggle") { _w = w; register_cmd("ui-keyboard-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; KeyboardWindow::KeyboardWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { _key_active = FALSE; _key_pressed = NULL; _keys[0].key = NULL; _pixbuf_normal = NULL; _pixbuf_pressed = NULL; _delay = 0; _has_info = false; _cmd = new CMD_ui_keyboard_window_toggle(this); } KeyboardWindow::~KeyboardWindow(void) { delete _cmd; } gboolean KeyboardWindow::sf_expose(GtkWidget *widget, GdkEventExpose *event, gpointer data) { KeyboardWindow *self = (KeyboardWindow *)data; gdk_window_set_back_pixmap(self->_w.canvas->window, NULL, FALSE); int w = self->_w.canvas->allocation.width; int h = self->_w.canvas->allocation.height; gdk_draw_rectangle(self->_w.canvas->window, self->_w.canvas->style->black_gc, FALSE, 0, 0, w - 1, h - 1); int width = gdk_pixbuf_get_width(self->_pixbuf_normal); int height = gdk_pixbuf_get_height(self->_pixbuf_normal); gdk_draw_pixbuf(self->_w.canvas->window, self->_w.canvas->style->fg_gc[GTK_STATE_NORMAL], self->_pixbuf_normal, 0, 0, 1, 1, width, height, GDK_RGB_DITHER_NONE, 0, 0); return FALSE; } void KeyboardWindow::draw_key_normal(struct _key_struct *key) { gdk_draw_pixbuf(_w.canvas->window, _w.canvas->style->fg_gc[GTK_STATE_NORMAL], _pixbuf_normal, key->rect.x, key->rect.y, key->rect.x + 1, key->rect.y + 1, key->rect.width, key->rect.height, GDK_RGB_DITHER_NONE, 0, 0); } void KeyboardWindow::draw_key_pressed(struct _key_struct *key) { gdk_draw_pixbuf(_w.canvas->window, _w.canvas->style->fg_gc[GTK_STATE_NORMAL], _pixbuf_pressed, key->rect.x, key->rect.y, key->rect.x + 1, key->rect.y + 1, key->rect.width, key->rect.height, GDK_RGB_DITHER_NONE, 0, 0); } gboolean KeyboardWindow::sf_button_press(GtkWidget *widget, GdkEventButton *event, gpointer data) { int a; KeyboardWindow *self = (KeyboardWindow *)data; for (a = 0;self->_keys[a].key != NULL;a++) { if (self->_keys[a].key_val < 0) continue; if (gdk_region_point_in(self->_keys[a].region, (int)event->x - 1, (int)event->y - 1)) { self->_key_active = TRUE; self->_key_pressed = &self->_keys[a]; self->draw_key_pressed(self->_key_pressed); switch (event->button) { case 2: keyboard->keyPressed(KC_KEY_CONTROL, KC_KEY_CONTROL); break; case 3: keyboard->keyPressed(KC_KEY_SHIFT, KC_KEY_SHIFT); break; } keyboard->keyPressed(self->_key_pressed->key_val, self->_key_pressed->key_val); } } return TRUE; } gboolean KeyboardWindow::sf_button_release(GtkWidget *widget, GdkEventButton *event, gpointer data) { KeyboardWindow *self = (KeyboardWindow *)data; if (!self->_key_pressed) return TRUE; if (self->_key_active) self->_key_active = FALSE; self->draw_key_normal(self->_key_pressed); keyboard->keyReleased(self->_key_pressed->key_val, self->_key_pressed->key_val); switch (event->button) { case 2: keyboard->keyReleased(KC_KEY_CONTROL, KC_KEY_CONTROL); break; case 3: keyboard->keyReleased(KC_KEY_SHIFT, KC_KEY_SHIFT); break; } if (self->_key_pressed->key_val == KC_KEY_RESET) { CMD_EXEC("emu-reset"); } else if (self->_key_pressed->key_val == KC_KEY_NMI) { CMD_EXEC("emu-nmi"); } self->_key_pressed = NULL; return TRUE; } gboolean KeyboardWindow::sf_key_press(GtkWidget *widget, GdkEventKey *event, gpointer data) { return UI_Gtk::sf_key_press(widget, event); } gboolean KeyboardWindow::sf_key_release(GtkWidget *widget, GdkEventKey *event, gpointer data) { return UI_Gtk::sf_key_release(widget, event); } gboolean KeyboardWindow::sf_motion_notify(GtkWidget *widget, GdkEventMotion *event, gpointer data) { KeyboardWindow *self = (KeyboardWindow *)data; if (!self->_key_pressed) { self->check_regions(event); return TRUE; } if (gdk_region_point_in(self->_key_pressed->region, (int)event->x - 1, (int)event->y - 1)) { if (self->_key_active) return TRUE; self->_key_active = TRUE; self->draw_key_pressed(self->_key_pressed); } else { if (!self->_key_active) return TRUE; self->_key_active = FALSE; self->draw_key_normal(self->_key_pressed); } return TRUE; } gboolean KeyboardWindow::timeout_callback(gpointer data) { KeyboardWindow *self = (KeyboardWindow *)data; if (self->_delay == 0) return TRUE; self->_delay--; if (self->_delay != 0) return TRUE; gtk_label_set_text(GTK_LABEL(self->_w.label_info), ""); return TRUE; } int KeyboardWindow::get_key_val(const char *key) { int a; for (a = 0;_key_names[a].name != NULL;a++) if (strcmp(_key_names[a].name, key) == 0) return _key_names[a].key_val; if (strlen(key) == 1) return key[0]; return -1; } void KeyboardWindow::check_regions(GdkEventMotion *event) { static GdkColor red; static GdkColor blue; static GdkGC *gc; static GdkColormap *colormap = NULL; int a, b; int n_rectangles; GdkRectangle *rectangles; bool debug = DBG_check("KCemu/KeyboardWindow/debug_regions"); if (colormap == NULL) { gc = gdk_gc_new(_w.canvas->window); colormap = gdk_colormap_get_system(); gdk_color_parse("#ff0000", &red); gdk_color_parse("#0000ff", &blue); gdk_color_alloc(colormap, &red); gdk_color_alloc(colormap, &blue); } for (a = 0;_keys[a].key != NULL;a++) { if (gdk_region_point_in(_keys[a].region, (int)event->x - 1, (int)event->y - 1)) { _delay = 5; gtk_label_set_text(GTK_LABEL(_w.label_info), _keys[a].info == NULL ? "" : gettext(_keys[a].info)); if (!debug) continue; sf_expose(_w.canvas, NULL, this); gdk_gc_set_foreground(gc, &red); gdk_draw_rectangle(_w.canvas->window, gc, FALSE, _keys[a].rect.x + 1, _keys[a].rect.y + 1, _keys[a].rect.width - 1, _keys[a].rect.height - 1); gdk_draw_rectangle(_w.canvas->window, gc, FALSE, _keys[a].rect.x, _keys[a].rect.y, _keys[a].rect.width + 1, _keys[a].rect.height + 1); gdk_region_get_rectangles(_keys[a].region, &rectangles, &n_rectangles); gdk_gc_set_foreground(gc, &blue); for (b = 0;b < n_rectangles;b++) { gdk_draw_rectangle(_w.canvas->window, gc, FALSE, rectangles[b].x + 1, rectangles[b].y + 1, rectangles[b].width - 1, rectangles[b].height - 1); } } } } void KeyboardWindow::init_key_regions(void) { int a; FILE *f; int state; char buf[1024]; GdkRectangle r; const EmulationType &emulation_type = Preferences::instance()->get_system_type()->get_emulation_type(); const char *filename = emulation_type.get_keyboard_filename(); if (filename == NULL) return; string datadir(kcemu_datadir); string keymap_dir = datadir + "/keymaps/"; string keymap_filename = keymap_dir + filename; f = fopen(keymap_filename.c_str(), "rb"); if (f == NULL) return; if (fgets(buf, 1024, f) == NULL) { fclose(f); return; } _pixbuf_normal = load_pixmap(keymap_dir.c_str(), buf); if (_pixbuf_normal == NULL) { fclose(f); return; } if (fgets(buf, 1024, f) == NULL) { fclose(f); return; } _pixbuf_pressed = load_pixmap(keymap_dir.c_str(), buf); if (_pixbuf_pressed == NULL) { fclose(f); return; } a = -1; state = 0; while (state >= 0) { if (fgets(buf, 1024, f) == NULL) break; if (buf[0] == '#') continue; char *ptr = strchr(buf, '\n'); if (ptr != NULL) *ptr = '\0'; switch (state) { case 2: if (buf[0] == '=') { if (sscanf(buf, "=%d,%d,%d,%d", &r.x, &r.y, &r.width, &r.height) != 4) { state = -1; break; } _keys[a].region = gdk_region_rectangle(&r); break; } else if (buf[0] == '?') { _has_info = true; _keys[a].info = strdup(buf + 1); break; } else if (buf[0] != '+') { state = -1; break; } /* * else reset state and fall through; this is the case when we * just read the first line for a new key definition */ state = 0; case 0: if (buf[0] != '+') { state = -1; break; } a++; _keys[a].key = strdup(buf + 1); _keys[a].key_val = get_key_val(_keys[a].key); _keys[a].info = NULL; if (_keys[a].key_val < 0) { DBG(0, form("KCemu/warning", "Unknown key '%s' in file '%s'\n", _keys[a].key, filename)); } state++; break; case 1: if (buf[0] != ':') { state = -1; break; } if (sscanf(buf, ":%d,%d,%d,%d", &_keys[a].rect.x, &_keys[a].rect.y, &_keys[a].rect.width, &_keys[a].rect.height) != 4) { state = -1; break; } state++; break; } } a++; _keys[a].key = NULL; DBG(0, form("KCemu/KeyboardWindow/debug_regions", "%d key definitions loaded.\n", a)); fclose(f); } GdkPixbuf * KeyboardWindow::load_pixmap(const char *keymap_dir, char *filename_buffer) { char *ptr = strchr(filename_buffer, '\n'); if (ptr != NULL) *ptr = '\0'; string dir(keymap_dir); string filename = dir + filename_buffer; GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(filename.c_str(), NULL); if (pixbuf == NULL) { DBG(0, form("KCemu/warning", "KeyboardWindow::load_pixmap((): can't load keyboard pixmap '%s'\n", filename.c_str())); } return pixbuf; } void KeyboardWindow::init(void) { init_key_regions(); _window = get_widget("keyboard_window"); gtk_window_set_title(GTK_WINDOW(_window), _("KCemu: Keyboard")); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-keyboard-window-toggle"); // FIXME: gtk_signal_connect(GTK_OBJECT(_window), "key_press_event", GTK_SIGNAL_FUNC(sf_key_press), this); gtk_signal_connect(GTK_OBJECT(_window), "key_release_event", GTK_SIGNAL_FUNC(sf_key_release), this); _w.canvas = NULL; _w.eventbox = NULL; _w.notebook = get_widget("notebook"); _w.not_configured_label = get_widget("not_configured_label"); _w.label_info = get_widget("label_info"); if (_has_info) { gtk_widget_show(_w.label_info); gtk_widget_show(get_widget("hseparator_info")); } if ((_pixbuf_normal != NULL) && (_pixbuf_pressed != NULL)) { gtk_notebook_set_current_page(GTK_NOTEBOOK(_w.notebook), 0); /* * eventbox */ _w.eventbox = get_widget("eventbox"); gtk_signal_connect(GTK_OBJECT(_w.eventbox), "motion_notify_event", GTK_SIGNAL_FUNC(sf_motion_notify), this); gtk_signal_connect(GTK_OBJECT(_w.eventbox), "button_press_event", GTK_SIGNAL_FUNC(sf_button_press), this); gtk_signal_connect(GTK_OBJECT(_w.eventbox), "button_release_event", GTK_SIGNAL_FUNC(sf_button_release), this); /* * canvas */ _w.canvas = get_widget("drawingarea"); gtk_signal_connect(GTK_OBJECT(_w.canvas), "expose_event", GTK_SIGNAL_FUNC(sf_expose), this); gtk_widget_set_usize(_w.canvas, gdk_pixbuf_get_width(_pixbuf_normal), gdk_pixbuf_get_height(_pixbuf_normal)); } else { gtk_label_set_text(GTK_LABEL(_w.not_configured_label), _("Sorry, keyboard display not configured.")); gtk_misc_set_padding(GTK_MISC(_w.not_configured_label), 100, 50); gtk_notebook_set_current_page(GTK_NOTEBOOK(_w.notebook), 1); } #if GLIB_CHECK_VERSION(2,14,0) g_timeout_add_seconds(1, timeout_callback, this); #else g_timeout_add(1000, timeout_callback, this); #endif init_dialog("ui-keyboard-window-toggle", "window-keyboard"); } KCemu-0.5.1/src/ui/gtk/dirac.cc0000644000175000017500000001055012417262523016334 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/config.h" #ifdef HAVE_LIBDIRAC #include "kc/system.h" #include "ui/gtk/dirac.h" DiracVideoEncoder::DiracVideoEncoder(void) { _f = NULL; _buf = NULL; _image = NULL; } DiracVideoEncoder::~DiracVideoEncoder(void) { close(); } bool DiracVideoEncoder::init(const char *filename, int width, int height, int fps_den, double quality) { if (filename == NULL) return false; if (quality < 0) quality = 0; if (quality > 1) quality = 1; _f = fopen(filename, "wb+"); if (_f == NULL) return false; dirac_encoder_context_init(&_context, VIDEO_FORMAT_CUSTOM); dirac_frame_rate_t frame_rate; frame_rate.numerator = 50; frame_rate.denominator = fps_den; dirac_pix_asr_t pix_asr; pix_asr.numerator = 1; pix_asr.denominator = 1; dirac_signal_range_t signal_range; signal_range.chroma_offset = 128; signal_range.chroma_excursion = 255; signal_range.luma_offset = 0; signal_range.luma_excursion = 255; _context.src_params.width = width; _context.src_params.height = height; _context.src_params.chroma_width = width; _context.src_params.chroma_height = height; _context.src_params.chroma = format444; _context.src_params.pix_asr = pix_asr; _context.src_params.signal_range = signal_range; _context.src_params.source_sampling = 0; _context.src_params.topfieldfirst = 0; _context.src_params.frame_rate = frame_rate; if (quality == 1.0) _context.enc_params.lossless = 1; _context.enc_params.qf = 10.0 * quality; _context.enc_params.full_search = 0; _context.enc_params.combined_me = 0; _context.enc_params.num_L1 = fps_den < 5 ? 0 : 2 * fps_den; _context.instr_flag = 0; _context.decode_flag = 0; _encoder = dirac_encoder_init(&_context, 0); if (_encoder == NULL) { close(); return false; } _image_size = 3 * width * height; _buf = new byte_t[_image_size]; _image = new byte_t[_image_size]; return true; } void DiracVideoEncoder::allocate_color_rgb(int idx, int r, int g, int b) { _col[idx].y = (0.257 * r) + (0.504 * g) + (0.098 * b) + 16; _col[idx].u = -(0.148 * r) - (0.291 * g) + (0.439 * b) + 128; _col[idx].v = (0.439 * r) - (0.368 * g) - (0.071 * b) + 128; } bool DiracVideoEncoder::encode_loop() { dirac_encoder_state_t state; do { _encoder->enc_buf.buffer = _buf; _encoder->enc_buf.size = _image_size; state = dirac_encoder_output(_encoder); switch (state) { case ENC_STATE_BUFFER: break; case ENC_STATE_EOS: case ENC_STATE_AVAIL: fwrite(_encoder->enc_buf.buffer, _encoder->enc_buf.size, 1, _f); break; default: case ENC_STATE_INVALID: close(); return false; } } while (state == ENC_STATE_AVAIL); return true; } bool DiracVideoEncoder::encode(byte_t *image, byte_t *dirty) { const int count = _context.src_params.width * _context.src_params.height; for (int idx = 0;idx < count;idx++) { color_t *col = &_col[image[idx]]; _image[idx] = col->y; _image[idx + count] = col->u; _image[idx + 2 * count] = col->v; } if (dirac_encoder_load(_encoder, _image, _image_size) < 0) return false; return encode_loop(); } void DiracVideoEncoder::close(void) { if (_f != NULL) { dirac_encoder_end_sequence(_encoder); encode_loop(); dirac_encoder_close(_encoder); fclose(_f); } if (_buf != NULL) delete _buf; if (_image != NULL) delete _image; _f = NULL; _buf = NULL; _image = NULL; } #endif /* HAVE_LIBDIRAC */ KCemu-0.5.1/src/ui/gtk/poly880.key0000644000175000017500000000206712417262523016704 0ustar glaubitzglaubitzpoly880_keyboard.xpm poly880_keyboard_pressed.xpm ########################## # POLY880 Keyboard Layout ########################## # # first row # +c :14,20,76,75 =14,20,76,75 +d :90,20,76,75 =90,20,76,75 +e :166,20,76,75 =166,20,76,75 +f :242,20,76,75 =242,20,76,75 +G :378,20,76,75 =378,20,76,75 +M :454,20,76,75 =454,20,76,75 +KC_KEY_RESET :590,20,76,75 =590,20,76,75 # # second row # +8 :14,95,76,75 =14,95,76,75 +9 :90,95,76,75 =90,95,76,75 +a :166,95,76,75 =166,95,76,75 +b :242,95,76,75 =242,95,76,75 +S :378,95,76,75 =378,95,76,75 +R :454,95,76,75 =454,95,76,75 +KC_KEY_NMI :590,95,76,75 =590,95,76,75 # # third row # +4 :14,170,76,75 =14,170,76,75 +5 :90,170,76,75 =90,170,76,75 +6 :166,170,76,75 =166,170,76,75 +7 :242,170,76,75 =242,170,76,75 +F :378,170,76,75 =378,170,76,75 +B :454,170,76,75 =454,170,76,75 +_ :590,170,76,75 =590,170,76,75 # # fourth row # +0 :14,245,76,75 =14,245,76,75 +1 :90,245,76,75 =90,245,76,75 +2 :166,245,76,75 =166,245,76,75 +3 :242,245,76,75 =242,245,76,75 +KC_KEY_ENTER :416,245,76,75 =416,245,76,75 +C :590,245,76,75 =590,245,76,75 KCemu-0.5.1/src/ui/gtk/kc854.key0000644000175000017500000000473612417262523016324 0ustar glaubitzglaubitzkc854_keyboard.xpm kc854_keyboard_pressed.xpm ############################ # KC 85/4 Keyboard Layout ############################ # # first row # +KC_KEY_F1 :37,86,46,32 =42,91,36,22 +KC_KEY_F2 :86,86,46,32 =91,91,36,22 +KC_KEY_F3 :135,86,46,32 =140,91,36,22 +KC_KEY_F4 :184,86,46,32 =189,91,36,22 +KC_KEY_F5 :233,86,46,32 =238,91,36,22 +KC_KEY_F6 :282,86,46,32 =287,91,36,22 +KC_KEY_BREAK :331,86,46,32 =336,91,36,22 +KC_KEY_STOP :380,86,46,32 =385,91,36,22 +KC_KEY_INSERT :429,86,46,32 =434,91,36,22 +KC_KEY_DEL :478,86,46,32 =483,91,36,22 +KC_KEY_CLEAR :527,86,46,32 =532,91,36,22 +KC_KEY_HOME :576,86,46,32 =581,91,36,22 # # second row # +1 :37,138,46,32 =42,143,36,22 +2 :86,138,46,32 =91,143,36,22 +3 :135,138,46,32 =140,143,36,22 +4 :184,138,46,32 =189,143,36,22 +5 :233,138,46,32 =238,143,36,22 +6 :282,138,46,32 =287,143,36,22 +7 :331,138,46,32 =336,143,36,22 +8 :380,138,46,32 =385,143,36,22 +9 :429,138,46,32 =434,143,36,22 +0 :478,138,46,32 =483,143,36,22 +: :527,138,46,32 =532,143,36,22 +- :576,138,46,32 =581,143,36,22 # # third row # +q :62,190,46,32 =67,195,36,22 +w :111,190,46,32 =116,195,36,22 +e :160,190,46,32 =165,195,36,22 +r :209,190,46,32 =214,195,36,22 +t :258,190,46,32 =263,195,36,22 +z :307,190,46,32 =312,195,36,22 +u :356,190,46,32 =361,195,36,22 +i :405,190,46,32 =410,195,36,22 +o :454,190,46,32 =459,195,36,22 +p :503,190,46,32 =508,195,36,22 +^ :552,190,46,32 =557,195,36,22 # # fourth row # +KC_KEY_SHIFT_LOCK :29,242,46,32 =34,247,36,22 +a :78,242,46,32 =83,247,36,22 +s :127,242,46,32 =132,247,36,22 +d :176,242,46,32 =181,247,36,22 +f :225,242,46,32 =230,247,36,22 +g :274,242,46,32 =279,247,36,22 +h :323,242,46,32 =328,247,36,22 +j :372,242,46,32 =377,247,36,22 +k :421,242,46,32 =426,247,36,22 +l :470,242,46,32 =475,247,36,22 ++ :519,242,46,32 =524,247,36,22 +_ :568,242,46,32 =573,247,36,22 # # fifth row # +KC_KEY_SHIFT :45,294,46,32 =50,299,36,22 +y :94,294,46,32 =99,299,36,22 +x :143,294,46,32 =148,299,36,22 +c :192,294,46,32 =197,299,36,22 +v :241,294,46,32 =246,299,36,22 +b :290,294,46,32 =295,299,36,22 +n :339,294,46,32 =344,299,36,22 +m :388,294,46,32 =393,299,36,22 +, :437,294,46,32 =442,299,36,22 +. :486,294,46,32 =491,299,36,22 +/ :535,294,46,32 =540,299,36,22 # # cursor block # +KC_KEY_UP :669,143,36,22 =669,143,36,22 +KC_KEY_LEFT :644,195,36,22 =644,195,36,22 +KC_KEY_RIGHT :696,195,36,22 =696,195,36,22 +KC_KEY_DOWN :669,247,36,22 =669,247,36,22 +KC_KEY_ENTER :669,299,36,22 =669,299,36,22 # # space bar # +KC_KEY_SPACE :157,353,321,25 =157,353,321,25 KCemu-0.5.1/src/ui/gtk/window.cc0000644000175000017500000002002112417262523016553 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/kc.h" #include "ui/gtk/window.h" #include "ui/gtk/cmd.h" using namespace std; bool UI_Gtk_Window::_static_init = false; string UI_Gtk_Window::_icon_path; string UI_Gtk_Window::_image_path; UI_Gtk_Window::UI_Gtk_Window(void) { static_init(); _window = 0; _visible = false; _gtk_builder = NULL; _help_args = new CMD_Args(); } UI_Gtk_Window::UI_Gtk_Window(const char *ui_xml_file) { static_init(); _window = 0; _visible = false; _help_args = new CMD_Args(); string ui_xml_file_path = _image_path + ui_xml_file; _gtk_builder = gtk_builder_new(); gtk_builder_set_translation_domain(_gtk_builder, PACKAGE); gtk_builder_add_from_file(_gtk_builder, ui_xml_file_path.c_str(), NULL); } UI_Gtk_Window::~UI_Gtk_Window(void) { delete _help_args; } void UI_Gtk_Window::static_init(void) { if (_static_init) return; _static_init = true; string datadir(kcemu_datadir); _icon_path = datadir + "/icons/"; _image_path = datadir + "/images/"; GtkSettings *settings = gtk_settings_get_default(); gtk_settings_set_long_property(settings, "gtk-can-change-accels", 1, "UI_Gtk_Window::static_init"); gtk_settings_set_string_property(settings, "gtk-menu-bar-accel", "", "UI_Gtk_Window::static_init"); GdkPixbuf *pixbuf16 = get_icon("kcemu-winicon_16x16.png"); GdkPixbuf *pixbuf32 = get_icon("kcemu-winicon_32x32.png"); GdkPixbuf *pixbuf48 = get_icon("kcemu-winicon_48x48.png"); GList *icon_list = NULL; if (pixbuf16 != NULL) icon_list = g_list_append(icon_list, pixbuf16); if (pixbuf32 != NULL) icon_list = g_list_append(icon_list, pixbuf32); if (pixbuf48 != NULL) icon_list = g_list_append(icon_list, pixbuf48); if (icon_list != NULL) gtk_window_set_default_icon_list(icon_list); } void UI_Gtk_Window::show(void) { if (_visible) return; if (_window == NULL) init(); gtk_widget_show(_window); _visible = true; } void UI_Gtk_Window::hide(void) { if (!_visible) return; gtk_widget_hide(_window); _visible = false; } void UI_Gtk_Window::toggle(void) { if (_visible) hide(); else show(); } bool UI_Gtk_Window::is_visible(void) { return _visible; } GtkWidget * UI_Gtk_Window::get_window(void) { return _window; } GdkPixbuf * UI_Gtk_Window::get_pixbuf(string path) { GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(path.c_str(), NULL); return pixbuf; } GdkPixbuf * UI_Gtk_Window::get_icon(const char *name) { return get_pixbuf(_icon_path + name); } GdkPixbuf * UI_Gtk_Window::get_image(const char *name) { return get_pixbuf(_image_path + name); } GtkWidget * UI_Gtk_Window::get_widget_or_null(const char *name) { g_assert(_gtk_builder != NULL); GtkWidget *widget = GTK_WIDGET(gtk_builder_get_object(_gtk_builder, name)); return widget; } GtkWidget * UI_Gtk_Window::get_widget(const char *name) { GtkWidget *widget = get_widget_or_null(name); if (widget == NULL) g_error("widget with name '%s' not found!", name); return widget; } GtkWidget * UI_Gtk_Window::get_widget(const char *name, int nr) { char widget_name[80]; snprintf(widget_name, sizeof(widget_name), "%s%d", name, nr); return get_widget(widget_name); } GtkCellRenderer * UI_Gtk_Window::bind_list_model_column(GtkComboBox *combobox, int column, ...) { GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combobox), renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(combobox), renderer, "text", column, NULL); va_list ap; va_start(ap, column); while (242) { const char *attr = va_arg(ap, const char *); if (attr == NULL) break; int index = va_arg(ap, int); gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combobox), renderer, attr, index); } va_end(ap); return renderer; } GtkCellRenderer * UI_Gtk_Window::add_text_renderer(GtkTreeView *treeview, GtkTreeViewColumn *column, const char *title, ...) { GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_set_title(column, title); gtk_tree_view_column_pack_end(column, renderer, TRUE); gtk_tree_view_column_set_resizable(column, TRUE); gtk_tree_view_column_set_expand(column, TRUE); va_list ap; va_start(ap, title); while (242) { const char *attr = va_arg(ap, const char *); if (attr == NULL) break; int index = va_arg(ap, int); gtk_tree_view_column_add_attribute(column, renderer, attr, index); } va_end(ap); return renderer; } GtkCellRenderer * UI_Gtk_Window::add_icon_renderer(GtkTreeView *treeview, GtkTreeViewColumn *column, const char *title, ...) { GtkCellRenderer *renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_set_title(column, title); gtk_tree_view_column_pack_start(column, renderer, FALSE); gtk_tree_view_column_set_resizable(column, FALSE); gtk_tree_view_column_set_expand(column, FALSE); va_list ap; va_start(ap, title); while (242) { const char *attr = va_arg(ap, const char *); if (attr == NULL) break; int index = va_arg(ap, int); gtk_tree_view_column_add_attribute(column, renderer, attr, index); } va_end(ap); return renderer; } void UI_Gtk_Window::sf_help(GtkWidget *widget, gpointer data) { UI_Gtk_Window *w = (UI_Gtk_Window *)data; char *help_topic = (char *)g_object_get_data(G_OBJECT(widget), "help-topic"); if (help_topic == NULL) return; w->_help_args->set_string_arg("help-topic", help_topic); CMD_EXEC_ARGS("ui-help-window-show", w->_help_args); } void UI_Gtk_Window::sf_help_recursive(GtkWidget *widget, gpointer data) { UI_Gtk_Window *w = (UI_Gtk_Window *)data; while (widget != NULL) { char *help_topic = (char *)g_object_get_data(G_OBJECT(widget), "help-topic"); if (help_topic != NULL) { w->_help_args->set_string_arg("help-topic", help_topic); CMD_EXEC_ARGS("ui-help-window-show", w->_help_args); break; } widget = gtk_widget_get_parent(widget); } } void UI_Gtk_Window::init_dialog(const char *close_button_func, const char *help_topic) { g_object_set_data(G_OBJECT(_window), "help-topic", (gpointer)help_topic); if (close_button_func != NULL) { GtkWidget *button_close = get_widget("dialog_button_close"); g_assert(GTK_IS_BUTTON(button_close)); g_signal_connect(G_OBJECT(button_close), "clicked", G_CALLBACK(cmd_exec_sf), (gpointer)close_button_func); GTK_WIDGET_SET_FLAGS(button_close, GTK_CAN_DEFAULT); gtk_widget_grab_default(button_close); } if (help_topic != NULL) { GtkWidget *button_help = get_widget("dialog_button_help"); g_assert(GTK_IS_BUTTON(button_help)); g_object_set_data(G_OBJECT(button_help), "help-topic", (gpointer)help_topic); g_signal_connect(G_OBJECT(button_help), "clicked", G_CALLBACK(sf_help), (gpointer)this); } GtkWidget *header_label = get_widget("header_label"); g_assert(GTK_IS_LABEL(header_label)); PangoFontDescription *font_desc = pango_font_description_from_string("Sans 16"); gtk_widget_modify_font(header_label, font_desc); pango_font_description_free(font_desc); } KCemu-0.5.1/src/ui/gtk/ui_gtk8.cc0000644000175000017500000000255712417262523016634 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "ui/generic/ui_8.h" #include "ui/gtk/ui_gtk8.h" UI_Gtk8::UI_Gtk8(void) : UI_Gtk_Base(new UI_8()) { _colors.push_back(UI_Color(false, 0x00, 0x00, 0x00)); /* black */ _colors.push_back(UI_Color(false, 0x00, 0x20, 0x00)); /* really dark green */ _colors.push_back(UI_Color(false, 0x00, 0xe0, 0x00)); /* green */ _colors.push_back(UI_Color(false, 0xff, 0x8c, 0x00)); /* dark orange */ _colors.push_back(UI_Color(false, 0x9a, 0xcd, 0x32)); /* led green */ } UI_Gtk8::~UI_Gtk8(void) { } KCemu-0.5.1/src/ui/gtk/vcs80_keyboard_pressed.xpm0000644000175000017500000134541012417262523022050 0ustar glaubitzglaubitz/* XPM */ static char * vcs80_keyboard_pressed_xpm[] = { "544 340 519 2", " c None", ". c #373636", "+ c #000000", "@ c #640E00", "# c #63635C", "$ c #934012", "% c #8E877D", "& c #873F18", "* c #6D3C24", "= c #59392B", "- c #4A3830", "; c #3F3734", "> c #393636", ", c #3A3636", "' c #413733", ") c #483831", "! c #59392C", "~ c #833F1A", "{ c #793D1E", "] c #4F392F", "^ c #4A3930", "/ c #703C23", "( c #914013", "_ c #3C3735", ": c #443833", "< c #4D3930", "[ c #683C25", "} c #7B3D1D", "| c #8F3F14", "1 c #8A3F16", "2 c #53392D", "3 c #463832", "4 c #7A3D1E", "5 c #57392C", "6 c #7A3D1D", "7 c #924012", "8 c #777168", "9 c #484540", "0 c #282523", "a c #11100F", "b c #040404", "c c #0B0909", "d c #181615", "e c #2C2927", "f c #44413C", "g c #605B55", "h c #7E7870", "i c #0D0D0C", "j c #1D1B19", "k c #393633", "l c #635E58", "m c #8B847A", "n c #493831", "o c #653B27", "p c #7C3E1D", "q c #8E3F15", "r c #924013", "s c #8D3F15", "t c #813E1B", "u c #56392C", "v c #4B3930", "w c #803E1B", "x c #888178", "y c #3E3B37", "z c #22201E", "A c #7B756D", "B c #843F1A", "C c #3D3734", "D c #773D1F", "E c #8B3F16", "F c #8C3F15", "G c #7F3E1C", "H c #5A3A2B", "I c #3E3734", "J c #6B3C24", "K c #8C857B", "L c #2D2B28", "M c #1A1917", "N c #878077", "O c #51392E", "P c #8E3F14", "Q c #703C22", "R c #673B26", "S c #5C5751", "T c #302D2A", "U c #68635C", "V c #817B72", "W c #8B847B", "X c #847E75", "Y c #767068", "Z c #625C56", "` c #46423E", " . c #1D1C1A", ".. c #746E66", "+. c #3F3C37", "@. c #55514A", "#. c #5C3A2A", "$. c #904013", "%. c #613B28", "&. c #292824", "*. c #44403C", "=. c #8D867D", "-. c #2A2825", ";. c #383636", ">. c #403733", ",. c #0C0B09", "'. c #080707", "). c #8A837A", "!. c #8C847B", "~. c #050505", "{. c #8A3F17", "]. c #723C22", "^. c #1E1D1B", "/. c #7E786F", "(. c #151413", "_. c #4A4741", ":. c #080808", "<. c #4D4844", "[. c #7A746C", "}. c #47443F", "|. c #623B28", "1. c #847D74", "2. c #171614", "3. c #121110", "4. c #33312D", "5. c #4E4A45", "6. c #6A655E", "7. c #878178", "8. c #898178", "9. c #746F67", "0. c #3F3C38", "a. c #706A63", "b. c #7E776F", "c. c #2B2826", "d. c #423F3A", "e. c #807A72", "f. c #534F49", "g. c #453832", "h. c #863F18", "i. c #6D6861", "j. c #151412", "k. c #0E0D0C", "l. c #6E6862", "m. c #24221F", "n. c #6F6A62", "o. c #272523", "p. c #040202", "q. c #54504A", "r. c #726D65", "s. c #181715", "t. c #46433E", "u. c #78736B", "v. c #4F4C46", "w. c #0F0E0D", "x. c #837D74", "y. c #8C3F16", "z. c #3B3635", "A. c #242320", "B. c #46443F", "C. c #807971", "D. c #6C6760", "E. c #403C39", "F. c #2D2C28", "G. c #6F3C23", "H. c #58392C", "I. c #1B1A18", "J. c #413E39", "K. c #716C64", "L. c #8D867C", "M. c #7F7971", "N. c #645F59", "O. c #57534D", "P. c #736D65", "Q. c #5B3A2A", "R. c #6A3C24", "S. c #262422", "T. c #363330", "U. c #3A3733", "V. c #3B3834", "W. c #867F76", "X. c #78726A", "Y. c #020202", "Z. c #713C22", "`. c #433733", " + c #807A71", ".+ c #635F58", "++ c #4A4641", "@+ c #32302C", "#+ c #1D1D1B", "$+ c #090908", "%+ c #2E2C28", "&+ c #777169", "*+ c #3E3A36", "=+ c #823E1A", "-+ c #693C25", ";+ c #883F17", ">+ c #783D1F", ",+ c #3D3735", "'+ c #663B26", ")+ c #7D3E1D", "!+ c #893F17", "~+ c #6C3C24", "{+ c #52392E", "]+ c #4C3930", "^+ c #783D1E", "/+ c #4E392F", "(+ c #493830", "_+ c #50392F", ":+ c #633B28", "<+ c #55392D", "[+ c #423733", "}+ c #615C56", "|+ c #605C55", "1+ c #5E3A29", "2+ c #55392C", "3+ c #5F3A29", "4+ c #603A28", "5+ c #5F3A28", "6+ c #6A3C25", "7+ c #6E3C23", "8+ c #863F19", "9+ c #743C21", "0+ c #423F3B", "a+ c #43403B", "b+ c #723C21", "c+ c #753D20", "d+ c #34322F", "e+ c #55514C", "f+ c #55514B", "g+ c #35332F", "h+ c #898279", "i+ c #473831", "j+ c #211F1D", "k+ c #656059", "l+ c #625D57", "m+ c #23211E", "n+ c #625E57", "o+ c #89837A", "p+ c #2F2C29", "q+ c #58544E", "r+ c #7E3E1C", "s+ c #843F19", "t+ c #494641", "u+ c #633B27", "v+ c #6F6A63", "w+ c #514D47", "x+ c #373531", "y+ c #373430", "z+ c #514D48", "A+ c #753C20", "B+ c #6C675F", "C+ c #69645D", "D+ c #1B1917", "E+ c #904014", "F+ c #4D4944", "G+ c #3D3A36", "H+ c #4D4A44", "I+ c #6F6962", "J+ c #131211", "K+ c #7E3E1D", "L+ c #803E1C", "M+ c #262421", "N+ c #79736B", "O+ c #59544F", "P+ c #302E2B", "Q+ c #59554F", "R+ c #5E5A53", "S+ c #5F5A54", "T+ c #763D1F", "U+ c #853F19", "V+ c #837C74", "W+ c #2B2926", "X+ c #34312E", "Y+ c #7C766D", "Z+ c #643B27", "`+ c #0C0C0B", " @ c #161514", ".@ c #403D39", "+@ c #6B665F", "@@ c #4F4B46", "#@ c #857E75", "$@ c #070705", "%@ c #7D776E", "&@ c #5A5650", "*@ c #5B5751", "=@ c #5E5953", "-@ c #50392E", ";@ c #5D3A29", ">@ c #763D20", ",@ c #653B26", "'@ c #827C73", ")@ c #141312", "!@ c #817A72", "~@ c #6B655E", "{@ c #33302D", "]@ c #5C5852", "^@ c #524E48", "/@ c #504C47", "(@ c #4F4A46", "_@ c #67625C", ":@ c #868077", "<@ c #3C3934", "[@ c #66615A", "}@ c #282724", "|@ c #67625B", "1@ c #201E1D", "2@ c #174D1B", "3@ c #088F07", "4@ c #021E02", "5@ c #077305", "6@ c #044304", "7@ c #044404", "8@ c #088A07", "9@ c #000D00", "0@ c #056204", "a@ c #022302", "b@ c #056305", "c@ c #022F02", "d@ c #055904", "e@ c #055804", "f@ c #023002", "g@ c #077E05", "h@ c #000200", "i@ c #000500", "j@ c #088407", "k@ c #000400", "l@ c #077F05", "m@ c #045104", "n@ c #043802", "o@ c #023702", "p@ c #733C21", "q@ c #088D07", "r@ c #021A00", "s@ c #056905", "t@ c #021B00", "u@ c #076F05", "v@ c #001300", "w@ c #088C07", "x@ c #043F02", "y@ c #044A04", "z@ c #088807", "A@ c #000B00", "B@ c #077A05", "C@ c #077905", "D@ c #055F04", "E@ c #022802", "F@ c #022702", "G@ c #022B02", "H@ c #055C04", "I@ c #022C02", "J@ c #077C05", "K@ c #077D05", "L@ c #044D04", "M@ c #044E04", "N@ c #001600", "O@ c #001700", "P@ c #54392D", "Q@ c #076C05", "R@ c #021900", "S@ c #021800", "T@ c #043A02", "U@ c #044F04", "V@ c #043B02", "W@ c #088607", "X@ c #000700", "Y@ c #000800", "Z@ c #055B04", "`@ c #022D02", " # c #022602", ".# c #056004", "+# c #055E04", "@# c #078307", "## c #088707", "$# c #000C00", "%# c #023102", "&# c #056B05", "*# c #077505", "=# c #023302", "-# c #056104", ";# c #001400", "># c #078005", ",# c #056405", "'# c #023602", ")# c #078207", "!# c #001500", "~# c #045304", "{# c #088907", "]# c #001200", "^# c #056A05", "/# c #043E02", "(# c #055A04", "_# c #000900", ":# c #076D05", "<# c #078007", "[# c #000F00", "}# c #055D04", "|# c #022902", "1# c #077605", "2# c #088B07", "3# c #044804", "4# c #077205", "5# c #056805", "6# c #022002", "7# c #056705", "8# c #055404", "9# c #056505", "0# c #088E07", "a# c #021C00", "b# c #055604", "c# c #023202", "d# c #620007", "e# c #8A0705", "f# c #840705", "g# c #5E0404", "h# c #3B0202", "i# c #1F0200", "j# c #0D0000", "k# c #020000", "l# c #090000", "m# c #1A0000", "n# c #310202", "o# c #500402", "p# c #740504", "q# c #800705", "r# c #550404", "s# c #160000", "t# c #070000", "u# c #3C3936", "v# c #890705", "w# c #570404", "x# c #0F0000", "y# c #280202", "z# c #6A0504", "A# c #500404", "B# c #860705", "C# c #330202", "D# c #320202", "E# c #350202", "F# c #1B0200", "G# c #520404", "H# c #710504", "I# c #810705", "J# c #870705", "K# c #7E0705", "L# c #6D0504", "M# c #530404", "N# c #370202", "O# c #200200", "P# c #5B0404", "Q# c #7A0505", "R# c #5C0404", "S# c #210200", "T# c #380202", "U# c #393632", "V# c #5A0404", "W# c #4A0402", "X# c #470402", "Y# c #5F0404", "Z# c #150000", "`# c #450402", " $ c #180000", ".$ c #3C0202", "+$ c #880705", "@$ c #650504", "#$ c #670504", "$$ c #830705", "%$ c #0E0000", "&$ c #410402", "*$ c #4E0402", "=$ c #430402", "-$ c #480402", ";$ c #440402", ">$ c #7D776F", ",$ c #250202", "'$ c #6C0504", ")$ c #260202", "!$ c #680504", "~$ c #270202", "{$ c #110000", "]$ c #7F0705", "^$ c #130000", "/$ c #726C65", "($ c #040000", "_$ c #050000", ":$ c #100000", "<$ c #120000", "[$ c #3C3935", "}$ c #6E0504", "|$ c #690504", "1$ c #420402", "2$ c #4D0402", "3$ c #660504", "4$ c #3E0202", "5$ c #3D0202", "6$ c #600504", "7$ c #6F0504", "8$ c #820705", "9$ c #2C0202", "0$ c #360202", "a$ c #220200", "b$ c #220202", "c$ c #0C0000", "d$ c #850705", "e$ c #300202", "f$ c #3A0202", "g$ c #7B0505", "h$ c #4F0402", "i$ c #743C20", "j$ c #640504", "k$ c #400402", "l$ c #240202", "m$ c #780505", "n$ c #230202", "o$ c #720504", "p$ c #7C0705", "q$ c #590404", "r$ c #080000", "s$ c #730504", "t$ c #170000", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & * = - ; > , ' ) ! * ~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ { ] . . . . . . . . . . . . ^ / ( $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . > _ : < = [ } | $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1 2 . . . . . . . . . . . . . . . . 3 4 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . , 5 6 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % 8 9 0 a b c d e f g h % % % + + + + + + + + + + + + + + + + + + + % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % + + + + + + + + + + + + + + + + + + + % % + + + + + + + i j k l m % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ~ ' . . . . n o p & q r s t / u > . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . v w $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % x y + + + + + + + + + + + % % % + + + + + + + + + + + + + + + + + + + % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % + + + + + + + + + + + + + + + + + + + % % + + + + + + + + + + + z A % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ B C . . . 3 D $ $ $ $ $ $ $ $ $ $ E o , . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ r F & G * H I . . . . > J $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % K L + + + + + + + + + + + + % % % + + + + + + + + + + + + + + + + + + + % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % + + + + + + + + + + + + + + + + + + + % % + + + + + + + + + + + + M N % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s : . . . O P $ $ $ $ $ $ $ $ $ $ $ $ $ & ] . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ | Q : . . . . R $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % S + + + T U V W W X Y Z ` .% % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % x ..+.+ + + @.% % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ #.. . . ] $.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r %.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ s 5 . . . . D $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % &.+ + *.=.% % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % 9 + + -.% % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ~ ;.. . _ & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 5 . . . >.q $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % ,.+ + V % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % h + + a % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H . . . R $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ P 3 . . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % '.+ + ).% % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % !.+ + ~.% % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | , . . > {.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ].. . . ' 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % ^.+ + l % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % /.+ + (.% % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ D . . . 2 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $.' . . . G $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % _.+ + :.<.[.% % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % }.+ + k % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ |.. . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ #.. . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % 1.2.+ + + + 3.4.5.6.7.% % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % 8.9.0.+ + + a.% % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ O . . . 6 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ / . . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % b.c.+ + + + + + + c d.e.% % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + + + + + + + + + + f.% % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ g.. . . h.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . - $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % i.0.j.+ + + + + + k.l.% % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + + + + + + + + m.n.% % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ _ . . . E $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & . . . ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % /.U 5.o.+ + + i h % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + + + + + + + + p.q.% % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ > . . . $.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s . . . , $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % r.s.+ + t.% % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % m u.f + + + Z % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ > . . . $.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r . . . ;.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % i.+ + .% % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % v.+ + w.x.% % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ _ . . . y.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s . . . z.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % m + + '.% % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % K A.+ + B.% % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ g.. . . h.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & . . . >.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % C.+ + ,.% % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % D.+ + '.e.% % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ O . . . 6 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . - $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % =.E.+ + 0 % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % % F.+ + d.% % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ |.. . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ G.. . . H.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % I.J.S K.h 8.L.m M.N.c.+ + + O.% % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % % P.+ + b A % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ D . . . 2 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Q.. . . R.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % + + + + + + + + + + + + + S.).% % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % % % T.+ + U.% % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | , . . > 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $.>.. . . w $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % + + + + + + + + + + + + V.W.% % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % % % X.Y.+ + Y % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H . . . R $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . `.7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % +.+++@+#+k.b $+(.%+<.&+% % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % + + + % % % % % % % % % % *++ + @+% % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ =+;.. . _ & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ P g.. . . -+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Q.. . . ] $.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r %.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5 . . . ' | $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s `.. . . O | $ $ $ $ $ $ $ $ $ $ $ $ $ ;+] . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ s 5 . . . . >+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ~ ,+. . . 3 D $ $ $ $ $ $ $ $ $ $ F '+z.. . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ | Z.: . . . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t >.. . . . n o )+& | $.!+t * 2 > . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ r F & G * H I . . . . > ~+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ {.{+. . . . . . . . . . . . . . . . 3 4 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . ]+t $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^+/+. . . . . . . . . . . . ^ / ( $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . , 5 } $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ h.* ! (+; > > ' ) H.~+~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . > _ : < = [ p | $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ P / = 3 ; > ; 3 = / P $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | Z.H.3 ,+> >._+[ !+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 R._ . . . . . . . . . _ R.7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ G.>.. . . . . . . . > :+$.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ o . . . . :+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . , >.- #.].q $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( <+. . . . . . . . . . . . . <+( $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( #.. . . . . . . . . . . . < q $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r [+. . . . ' r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . , o | $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + + + }+% % % % % % % % |++ + + + + % % % % % % % % % % % ^.+ + ^.% % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + + + + + i j k l m % % % % % % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . . 2+6 F ( y.4 2 . . . . 3+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 3+. . . > 4+t | | t 5+;.. . . {+7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6 . . . . . . { $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . - F $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + + + T % % % % % % % % T + + + + + % % % % % % % % % % r.+ + + + P.% % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + + + + + + + + + z A % % % % % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ =+;.. . . ~+$ $ $ $ $ $ $ 6+. . . ;.~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ >+. . . , p $ $ $ $ $ $ } , . . . 7+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ = . . . . . . H.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ 7 | 8+9+2 . . . . ] 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + b + Y.e.% % % % % % +Y.+ b + + + % % % % % % % % % % 0++ + + + a+% % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + + + + + + + + + + M N % % % % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %.. . . 2+$ $ $ $ $ $ $ $ $ 2 . . . |.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 ) . . . Q $ $ $ $ $ $ $ $ G.. . . >.| $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s , . . . . . . > s $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ b+;.. . . c+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + d++ + e+% % % % % % f++ + g++ + + % % % % % % % % % h+i + + + + i h+% % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % x ..+.+ + + @.% % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) . . . 6 $ $ $ $ $ $ $ $ $ 4 . . . ) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ } . . . i+7 $ $ $ $ $ $ $ $ 7 3 . . . ~+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ G.. . . 3 3 . . . 7+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ 4+. . . u $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + N.+ + z % % % % % % j++ + k++ + + % % % % % % % % % l++ + m+m++ + n+% % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % 9 + + -.% % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ C . . . F $ $ $ $ $ $ $ $ $ y.. . . I $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ :+. . . 6+$ $ $ $ $ $ $ $ $ $ [ . . . < $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ < . . . 6+-+. . . ]+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ t . . . `.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + o+i + + &+% % % % 8 + + i o++ + + % % % % % % % % % p++ + q+O.+ + T % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % h + + a % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ > . . . r $ $ $ $ $ $ $ $ $ ( . . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ < . . . r+$ $ $ $ $ $ $ $ $ $ )+. . . ;.{.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s+. . . ;.!+!+;.. . . s+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ | . . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % J.+ + ++% % % % t++ + J.% + + + % % % % % % % % /.Y.+ ~.1.x.b + Y.h % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % !.+ + ~.% % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ [+. . . F $ $ $ $ $ $ $ $ $ y.. . . `.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ [+. . . y.$ $ $ $ $ $ $ $ $ $ E . . . . 9+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ u+. . . 2 $ $ 2 . . . :+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ | . . . _ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % n.+ + j.K % % K j.+ + v+% + + + % % % % % % % % w++ + x+% % y++ + z+% % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % /.+ + (.% % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5 . . . 6 $ $ $ $ $ $ $ $ $ 4 . . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ z.. . . $.$ $ $ $ $ $ $ $ $ $ $.. . . . o $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r ' . . . A+$ $ A+. . . ' r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ =+. . . n $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % =.s.+ + D.% % B++ + s.=.% + + + % % % % % % % =.M + + C+% % U + + D+=.% % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % }.+ + k % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ D . . . 2+$ $ $ $ $ $ $ $ $ 2 . . . ^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ , . . . ( $ $ $ $ $ $ $ $ $ $ $.. . . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 4 . . . C $.$ $ E+C . . . { $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ %.. . . %.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % F++ + *+% % G++ + H+% % + + + % % % % % % % I++ + J+!.% % !.J++ + n.% % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % 8.9.0.+ + + a.% % % % % % % + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 ] . . . ~+$ $ $ $ $ $ $ 6+. . . O 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ' . . . y.$ $ $ $ $ $ $ $ $ $ E . . . . n $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H.. . . 1+$ $ $ $ 1+. . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ 9+> . . > s+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % [.+ + c x 7.c + + [.% % + + + % % % % % % % y + + _.% % % % +++ + +.% % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + + + + + + + + + + f.% % % % % % % % + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E i+. . . 2+} F r F 6 2 . . . ) y.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^ . . . r+$ $ $ $ $ $ $ $ $ $ K+. . . . : $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s > . . . L+$ $ $ $ G . . . > F $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ 7 | h.A+2 . . . . * $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % M++ + Z }++ + S.% % % + + + % % % % % % N c + + N+% % % % u.+ + c N % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + + + + + + + + m.n.% % % % % % % % % + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | 4+> . . . . . . . . . > 4+| $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 4+. . . R.$ $ $ $ $ $ $ $ $ $ -+. . . . ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7+. . . i+$ $ $ $ $ $ 3 . . . 7+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . 3 D $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % O++ + P+T + + Q+% % % + + + % % % % % % R++ + 0 % % % % % % o.+ + S+% % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + + + + + + + + p.q.% % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $.Q ; . . . . . . . ; Q $.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ T+. . . ) 7 $ $ $ $ $ $ $ $ 7 i+. . . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ]+. . . R.$ $ $ $ $ $ R.. . . v $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . 5 U+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % V+b + Y.Y.+ b x.% % % + + + % % % % % % c.+ + S % % % % % % S + + W+% % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % m u.f + + + Z % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 G.' . . . . . . . . . . . >.7+7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( ' . . . Z.$ $ $ $ $ $ $ $ G.. . . . . , $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s+. . . ;.{.$ $ $ $ $ $ {.;.. . . B $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . ;.#.| $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % % 4.+ + + + X+% % % % + + + % % % % % A + + + + + + + + + + + + + + Y+% % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % v.+ + w.x.% % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( H.. . . C o G s r s r+Z+C . . . 5 ( $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ * . . . z.)+$ $ $ $ $ $ p , . . . . . ' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ :+. . . 2 $ $ $ $ $ $ $ $ 2 . . . |.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ ( y.r+[ [+. . . v | $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % % .++ + + + N.% % % % + + + % % % % % F++ + + + + + + + + + + + + + H+% % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % K A.+ + B.% % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5+. . . ]+{.$ $ $ $ $ $ $ !+^ . . . 1+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 {+. . . > %.t | | t 4+;.. . >.. . . i+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r ' . . . c+$ $ $ $ $ $ $ $ A+. . . >.r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ | 5 . . . = $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % % h+`++ + i o+% % % % + + + % % % % L. @+ + + + + + + + + + + + + + 2.L.% % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % D.+ + '.e.% % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . >.y.$ $ $ $ $ $ $ $ $ E >.. . . t $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s ] . . . . . . . . . . . ,+6 . . . ] $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ { . . . I $.$ $ $ $ $ $ $ $ $.C . . . ^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ ( ) . . . t $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % % % .@+ + .@% % % % % + + + % % % % +@+ + s.L.% % % % % % % % L.d + + B+% % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % % F.+ + d.% % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ #.. . . J $ $ $ $ $ $ $ $ $ $ $ R.. . . #.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $.u+, . . . . . . . . ] 8+t . . . %.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5 . . . 3+$ $ $ $ $ $ $ $ $ $ 3+. . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . 4+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % + + + % % % % U.+ + @@% % % % % % % % % % 5.+ + V.% % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % % P.+ + b A % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 3 . . . s+$ $ $ $ $ $ $ $ $ $ $ s+. . . 3 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ !+~+{+: z.,+) #.} 7 $ b+. . . 9+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ F > . . . . . . . . . . . . . . . . . . > F $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ & . . . (+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % + + + % % % #@$@+ + %@% % % % % % % % % % Y++ + '.W.% % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % % % T.+ + U.% % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ , . . . | $ $ $ $ $ $ $ $ $ $ $ | . . . z.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ * . . . . . . . . . . . . . . . . . . . . * $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ E+. . . ,+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % + + + % % % &@+ + L % % % % % % % % % % % % c.+ + *@% % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % % % X.Y.+ + Y % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ _ . . . E+$ $ $ $ $ $ $ $ $ $ $ | . . . _ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r `.. . < $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^ . . . . . . . . . . . . . . . . . . . . ^ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ | . . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % + + + % % % M++ + g % % % % % % % % % % % % =@+ + S.% % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % *++ + @+% % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ : . . . 8+$ $ $ $ $ $ $ $ $ $ $ s+. . . g.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^+. . . Z.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ~ . . . ;.{.$ $ $ $ $ $ $ $ $ $ $ $ {.;.. . . ~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ & . . . [+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 2+. . . ~+$ $ $ $ $ $ $ $ $ $ $ R.. . . u $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( n . . [+| $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ |.. . . 2 $ $ $ $ $ $ $ $ $ $ $ $ $ $ 2 . . . |.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . -@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ / . . . ' F $ $ $ $ $ $ $ $ $ y.>.. . . Q $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %.. . . D $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r >.. . . c+$ $ $ $ $ $ $ $ $ $ $ $ $ $ c+. . . >.r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $.i+. . . J $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | ' . . . < 1 $ $ $ $ $ $ $ !+v . . . ' | $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 2 =+$ $ $ $ $ $ $ $ P ;@. . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^+. . . I $.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $.I . . . ^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ | 5 . . . I y.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ >@;.. . . ; o L+s r s G Z+C . . . ;.T+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . /+* ~ s ( 1 r+o >.. . . ]+| $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5 . . . 3+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 3+. . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ ( F r+[ [+. . . . ].$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7+> . . . . . . . . . . . . . > 7+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . 2 P $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ y.> . . . w $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ w . . . > F $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . ;.~+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ w ]+. . . . . . . . . . . ]+w $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . >.G.7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ * . . . i+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ i+. . . * $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . ]+w $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t '+2 : ,+> ,+: {+,@t $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & Z.1+] [+, ;._ ) H A+$.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ - . . . R.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ R.. . . - $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . > I g.<+R ~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % '@)@% % % % % % M.2.% '@)@% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % '@3.% % W M X.% % % i.I.!@% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % ~@d+% % % % % % U x+% ~@d+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % ~@{@% % % ]@*+% % A M [.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % ^@/@% % % % % % v.f.% ^@v.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % ^@(@% % % m D+h X j+a.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % y+C+% % % % % % d++@% y+U % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % y+_@% % % % *@0+%+k+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % 2.+ + + + + + + + V+% 2. +% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % 2.M.% % % % :@$@v.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % '@)@% % % % % % e.2.% '@3.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % '@3.% % % % 8.{@9 <@% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % ~@X+% % % % % % C+x+% ~@{@% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % ~@{@% % % N %+[@% M+A % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % ^@v.% % % % % % /@f.% ^@(@% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % ^@(@% % #@}@k+% % n+y % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % y+U % % % % % % d++@% y+|@% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % y+_@% V+A.l % % % !.M %@% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % 2.M.% % % % % % )@V+% 2.+ + + + + M % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % 2.M.e.1@l+% % % % % O.J.% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@2@2@+ + 2@2@2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@2@+ + 2@2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( T+#.n ,+> z.[+] 3+].& $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %.. . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 Z.' . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ K+;.. . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | <+. . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . ;.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@4@+ + 4@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@4@+ + 4@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | g.. . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | < . . . ; o )+{.( s ~ * < . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . <+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@5@+ + + + 5@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@5@+ + + + 5@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 4+. . `.. . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ! . . . #.q $ $ $ $ $ $ $ $ =+2 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | _ . . . ^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@6@+ + + + 7@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@6@+ + + + 7@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ )+;.. . } . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ >+. . . 4+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . [+r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@8@9@+ + + + 9@8@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@8@9@+ + + + 9@8@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | : . . #.$ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | [+. . ) ( $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ]+. . . R $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@0@+ + a@a@+ + b@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@0@+ + a@a@+ + b@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5+. . ' s $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . ^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . ;.!+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@c@+ + d@e@+ + f@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@c@+ + d@e@+ + f@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ p ;.. . >+$ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ < . . [+r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . 2+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@g@h@+ i@j@j@k@+ h@l@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@g@h@+ i@j@j@k@+ h@l@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | : . . = $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & . . . 1+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | _ . . . { $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@m@+ + n@3@3@o@+ + m@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@m@+ + n@3@3@o@+ + m@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . ; y.$ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ p@. . . b+$ 7 } #.) C _ : 2 ~+{.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . `.r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@q@r@+ + s@3@3@s@+ + t@q@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@q@r@+ + s@3@3@s@+ + t@q@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ } . . . A+$ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %.. . . t h.] . . . . . . . . z.o ( $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ]+. . . R $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@u@+ + v@w@3@3@w@v@+ + u@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@u@+ + v@w@3@3@w@v@+ + u@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ P : . . u $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . 3+]+I > ,+: O ,@K+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ] . . . } C . . . . . . . . . . . O P $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . > !+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@x@+ + y@3@3@3@3@y@+ + x@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@x@+ + y@3@3@3@3@y@+ + x@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . I 1 $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . - >+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 3 . . . >.. . > 4+t | | t 4+> . . . 2+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . 2+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@z@A@+ + B@3@3@3@3@C@+ + A@z@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@z@A@+ + B@3@3@3@3@C@+ + A@z@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ } . . . ].$ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . ;@( $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ >.. . . . . , p $ $ $ $ $ $ )+z.. . . G.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | _ . . . { $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@D@+ + E@3@3@3@3@3@3@F@+ + D@3@3@3@3@3@3@3@+ + + + + + + + + + + + + + + + + + 3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@D@+ + E@3@3@3@3@3@3@F@+ + D@3@3@3@3@3@3@3@+ + + + + + + + + + + + + + + + + + 3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ q `.. . 2 $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . i+R } {.$.| !+{ %._ . . . . ! 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ , . . . . . Z.$ $ $ $ $ $ $ $ Z.. . . `.r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . `.r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@G@+ + H@3@3@3@3@3@3@H@+ + I@3@3@3@3@3@3@3@+ + + + + + + + + + + + + + + + + + 3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@G@+ + H@3@3@3@3@3@3@H@+ + I@3@3@3@3@3@3@3@+ + + + + + + + + + + + + + + + + + 3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ;@. . _ !+$ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ -@)+$ $ $ $ $ $ $ $ $ s ! . . . . R.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ > . . . . ) 7 $ $ $ $ $ $ $ $ 7 i+. . . D $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ v . . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@J@+ + + + + + + + + + + + + + K@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@J@+ + + + + + + + + + + + + + K@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6 . . . G.$ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . ,+y.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ I . . . . R.$ $ $ $ $ $ $ $ $ $ R.. . . %.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . > !+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@L@+ + + + + + + + + + + + + + M@3@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@L@+ + + + + + + + + + + + + + M@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ q [+. . _+7 $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( 3 . . . G.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ `.. . . . r+$ $ $ $ $ $ $ $ $ $ r+. . . ]+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . u $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@q@N@+ + + + + + + + + + + + + + O@q@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@q@N@+ + + + + + + + + + + + + + O@q@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ #.. . z.& $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7+. . . P@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) . . . . y.$ $ $ $ $ $ $ $ $ $ E . . . [+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | _ . . . 4 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@Q@+ + R@q@3@3@3@3@3@3@3@3@q@S@+ + Q@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@Q@+ + R@q@3@3@3@3@3@3@3@3@q@S@+ + Q@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . ~+$ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 8+. . . g.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 2+. . . . ( $ $ $ $ $ $ $ $ $ $ $.. . . , $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . : 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@T@+ + U@3@3@3@3@3@3@3@3@3@3@U@+ + V@3@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@T@+ + U@3@3@3@3@3@3@3@3@3@3@U@+ + V@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | . . . _ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ o . . . . $.$ $ $ $ $ $ $ $ $ $ $.. . . _ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ v . . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@W@X@+ + K@3@3@3@3@3@3@3@3@3@3@K@+ + Y@W@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@W@X@+ + K@3@3@3@3@3@3@3@3@3@3@K@+ + Y@W@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | . . . _ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9+. . . . y.$ $ $ $ $ $ $ $ $ $ E . . . `.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . > 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@Z@+ + `@3@3@3@3@3@3@3@3@3@3@3@3@G@+ + Z@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@Z@+ + `@3@3@3@3@3@3@3@3@3@3@3@3@G@+ + Z@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 8+. . . g.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ !+. . . . r+$ $ $ $ $ $ $ $ $ $ K+. . . /+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . u $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@ #+ + .#3@3@3@3@3@3@3@3@3@3@3@3@+#+ + F@3@3@3@3@3@3@3@3@3@3@3@3@+ + 3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@ #+ + .#3@3@3@3@3@3@3@3@3@3@3@3@+#+ + F@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ G.. . . 2 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ]+. . . 6+$ $ $ $ $ $ $ $ $ $ -+. . . Z+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | _ . . . 6 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r 3 . . . * $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ J . . . ) 7 $ $ $ $ $ $ $ $ 7 i+. . . p $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . : 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ |.. . . _ 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | >.. . . Z.$ $ $ $ $ $ $ $ Z.. . . n $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ v . . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ] ^+r $ $ $ $ $ $ $ $ $ | 1+. . . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ * . . . z.)+$ $ $ $ $ $ )+z.. . . ^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . > 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . >.1+b+t E E+( E )+o ; . . . . u r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r O . . . > 4+t | | t 4+> . . . 4+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . Q.$.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s < . . . . . . . . . . . . ;@r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | _ . . . } $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . ]+^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $.|.> . . . . . . . . >.G.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Q . . . : 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1 ^+[ H < : _ > > ; 3 u [ t $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ !+[ ] ; > _ 3 5 Z.| $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ v . . . -+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@@#+ + + i@a@Q@3@3@3@3@##m@a@$#9@%#@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@@#+ + + k@N@T@*#3@3@3@@#+ + + + + O@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@&#=#3@3@8@-#;#3@3@3@>#4@U@g@q@j@,#n@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@&#'#3@3@q@)#D@!#u@3@3@&#=#3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@~#U@3@3@3@{#]#3@3@w@F@b@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@~#m@3@3@3@3@3@^#G@3@3@~#U@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@o@s@3@q@g@/#(#3@3@-#'#3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@o@s@3@3@3@3@3@8@_#3@3@o@s@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@O@+ + + X@,#3@3@3@f@:#3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@O@<#3@3@3@3@3@{#[#3@3@O@+ + + + 9@q@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@@#]#3@3@w@}#|#3@3@3@[###3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@@#]#3@3@3@3@3@3@1#I@3@@#]#3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@&#=#3@3@3@2#Y@3@3@3@Y@w@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@&#=#3@3@3@3@3@3@3#(#3@&#=#3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@~#U@3@3@3@l@R@3@3@3@F@4#3@3@3@3@W@5#3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@~#U@3@3@3@3@3@s@6#8@3@~#U@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@o@7#3@3@>#=#8#3@3@3@5#4@u@2#z@9#t@9#3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@o@7#3@0###4#7@4@K@3@3@o@7#3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@O@+ + k@a#b#q@3@3@3@3@&#I@$#A@I@.#q@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@O@+ + Y@N@c#Z@{#3@3@3@O@+ + + + + 0@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ + 2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@2@+ + 2@2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@2@2@+ + 2@2@2@2@2@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@3@2@2@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . . . + 2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@2@+ . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#+ . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#+ . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#+ + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#d#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#d#d#d#d#d#+ + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#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#d#d#d#d#+ + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ =+|.^ ,+> ,+^ |.~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s+* H (+; > C g.u J !+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1 4 R.#.] g.,+> , ' ]+4+{ 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ F H.. . . . . . . . . = s $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s t A+[ Q.< ; . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ B Z+: . . . . . . . . . . > H y.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . : ^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ !+3 . . . . . . . . . . . 3 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . ' w $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . :+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#f#g#h#i#j#k#l#m#n#o#p#e#e#e#e#e#e#e#e#e#e#e#e#q#r#n#s#t#t#s#n#r#q#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + + + + + i #+u#U L.% % % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E+(+. . . `.G.& $.& * [+. . . - $.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . (+o p !+$.q t o ,+. . . ; s+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . _ H.Z.t F r s ~ ~+g.. . . . R.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#v#w#x#+ + + + + + + + + + y#z#e#e#e#e#e#e#e#e#v#A#l#+ + + + + + + + l#A#v#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + + + + + + + + + c.V % % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ R . . . - y.$ $ $ $ $ E - . . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ; < H R 9+w s . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . ;.= G $ $ $ $ $ $ $ $ !+(+. . . < 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ < p@$.$ $ $ $ $ $ $ $ E+H . . . , & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#B#C#+ + + + + + + + + + + + + + e#e#e#e#e#e#e#B#D#+ + + + + + + + + + + + D#B#e#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + + + + + + + + + + m.m % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ F _ . . z.& $ $ $ $ $ $ $ h., . . C s $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 2 ~ $ $ $ $ $ $ $ $ $ $ $ !+; . . . { $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r ]+. . . ,@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#v#E#+ + + F#G#H#I#v#J#K#L#M#y#+ + e#e#e#e#e#e#e#N#+ + + O#P#Q#J#J#Q#R#S#+ + + T#e#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % 7.K.U#+ + + S % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ R . . . o $ $ $ $ $ $ $ $ $ Z+. . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ -+. . . #.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ c+. . . v $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#V#+ + + W#J#e#e#e#e#e#e#e#e#e#p#C#e#e#e#e#e#e#g#+ + + X#J#e#e#e#e#e#e#J#X#+ + + Y#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % d.+ + T % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) . . . & $ $ $ $ $ $ $ $ $ h.. . . - $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s+. . . i+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1 . . . ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#J#Z#+ + `#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#J# $+ + .$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#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % b.+ + J+% % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & . . . - $ $ $ $ $ $ $ $ $ $ $ (+. . . ;+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E+. . . C $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( . . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#@$+ + Z#B#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e##$+ + x#$$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#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % W + + $@% % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ].. . . 5+$ $ $ $ $ $ $ $ $ $ $ 3+. . . b+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s . . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ F . . . ' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#X#+ + ;$e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % >$+ + 3.% % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ u+. . . Z.$ $ $ $ $ $ $ $ $ $ $ Z.. . . Z+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ w . . . ,+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 4 . . . 2+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#)$+ + z#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#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % a++ + T % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 2+. . . p $ $ $ $ $ $ $ $ $ $ $ } . . . 2+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z+. . . g.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ {+. . . c+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#{$+ + K#e#e#e#e#e#e#e#e#e#e#e#e#K#+ + ^$e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % x /$U.+ + + *@% % % % + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) . . . 8+$ $ $ $ $ $ $ $ $ $ $ 8+. . . n $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | ' . . . {+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r Z+. . . /+7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#($+ + B#e#e#e#e#e#e#e#+ + + + + + + + e#e#e#e#($+ + B#e#e#e#e#e#e#e#e#e#e#e#e#B#+ + t#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + + + + + + + + + + z ).% % % % + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ `.. . . y.$ $ $ $ $ $ $ $ $ $ $ y.. . . : $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ R . . . . '+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | 8+Z.^ . . . ) E $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#($+ + J#e#e#e#e#e#e#e#e#e#e#e#e#B#+ + _$e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + + + + + + + + + }@e.% % % % % + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ I . . . | $ $ $ $ $ $ $ $ $ $ $ | . . . ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t > . . . > & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . , |.| $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#{$+ + q#e#e#e#e#e#e#e#+ + + + + + + + e#e#e#e#:$+ + K#e#e#e#e#e#e#e#e#e#e#e#e#K#+ + <$e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + + + + + `+ .[$|@K % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ > . . . r $ $ $ $ $ $ $ $ $ $ $ ( . . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s 3 . . . . |.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . ; 7+q $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#)$+ + z#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#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ > . . . r $ $ $ $ $ $ $ $ $ $ $ r . . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r 2 . . . . (+E+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . _ R ( $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#1$+ + 2$e#e#e#e#e#e#e#e#e#e#e#e#+ + + e#e#e#e#1$+ + -$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#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ I . . . | $ $ $ $ $ $ $ $ $ $ $ | . . . ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 1+. . . . ' & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 P 8+9+<+;.. . . ] P $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e##$+ + s#B#e#e#e#e#e#e#e#e#e#e#e#+ + + e#e#e#e#3$+ + :$f#e#e#e#e#e#e#e#e#e#e#$$x#+ + #$e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ `.. . . F $ $ $ $ $ $ $ $ $ $ $ y.. . . `.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ [ . . . . ; s+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ G `.. . . 5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#J# $+ + ;$e#e#e#e#e#e#e#e#e#e#e#+ + + e#e#e#e#J#s#+ + 4$e#e#e#e#e#e#e#e#e#e#5$+ + $J#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) . . . h.$ $ $ $ $ $ $ $ $ $ $ 8+. . . ) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . . C t $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & _ . . . } $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#6$+ + + ;$B#e#e#e#e#e#e#e#e#e#+ + + e#e#e#e#e#R#+ + + -$+$e#e#e#e#e#e#+$-$+ + + g#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 2+. . . p $ $ $ $ $ $ $ $ $ $ $ } . . . 2+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^+> . . . _ G $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ [ . . . = $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#.$+ + + s#*$7$I#+$J#8$p#V#9$+ + + e#e#e#e#e#v#0$+ + + a$R#Q#J#J#Q#R#b$+ + + 0$e#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ :+. . . Z.$ $ $ $ $ $ $ $ $ $ $ Z.. . . Z+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ r+, . . . , )+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ s+. . . `.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#J#h#+ + + + + + + + + + + + + c$6$e#e#e#e#e#e#d$e$+ + + + + + + + + + + + e$d$e#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Z.. . . 4+$ $ $ $ $ $ $ $ $ $ $ 5+. . . b+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ~ C . . . > { $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E+. . . > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#g#s#+ + + + + + + + + k#f$g$e#e#e#e#e#e#e#e#+$h$l#+ + + + + + + + l#h$+$e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & . . . - $ $ $ $ $ $ $ $ $ $ $ - . . . & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ & ' . . . ;.i$$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ q . . . ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#J#j$k$l$x#($t# $D#M#g$e#e#e#e#e#e#e#e#e#e#e#e#q#r#e$s#_$_$s#e$r#]$e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % + + + % % % % % % % % % % % % % % % + + + + + + + + + + + + + + % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) . . ;.& $ $ $ $ $ $ $ $ $ & . . . (+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ y.3 . . . . 7+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t . . . ) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ R . . . o $ $ $ $ $ $ $ $ $ Z+. . . [ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | ]+. . . . R $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ u+. . . 3+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ y._ . . z.& $ $ $ $ $ $ $ h., . . _ F $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( 2 . . . . 1+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ Q.| $ $ $ $ $ $ $ $ $ $ $ $ B , . . . p $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ,@. . . - y.$ $ $ $ $ E - . . . R $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 7 H . . . . u r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . g.i$r $ $ $ $ $ $ $ $ $ } >.. . . 2 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | ) . . . `.G.& $.& 7+[+. . . (+$.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ :+. . . . ] E+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . g.:+6 & | ( F t G.] . . . . : !+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ !+g.. . . . . . . . . . . 3 !+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . 8+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . (+;+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ F 5 . . . . . . . . . H.F $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . 8+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t ;@_ . . . . . . . . . . . [+~+r $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ t %.- _ ;._ - %.t $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . 8+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $.4 |.-@[+z.> ; g.2 o } 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#K#{$e#e#C#V#e#e#e#e#e#R#9$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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#!$n#e#e#m$ $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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#o#2$e#e#e#X#h$e#e#'$n$q#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#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#e#e#e#e#e#E#@$e#e#e#$$m#]$o$O#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#e#e#e#e#e#s#g$e#e#e#e#q$0$O#m$e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#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#e#e#e#e#K#{$e#e#e#e#e#I#r$s$e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#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#e#e#e#e#!$n#e#e#e#e#e#'$9$e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#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#e#e#e#e#o#2$e#e#e#e#e#M#W#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#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#e#e#e#e#E#@$e#e#e#e#e#N#j$e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#e#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#e#e#e#e#s#g$e#e#e#e#e#t$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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + + @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#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#d#d#d#+ + # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + + @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#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#d#d#d#d#+ + # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + + @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#d#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#d#d#d#d#d#+ + # # # # # % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#+ + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#+ . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#d#+ . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; KCemu-0.5.1/src/ui/gtk/kc851.key0000644000175000017500000000474612417262523016322 0ustar glaubitzglaubitzkc851_keyboard.xpm kc851_keyboard_pressed.xpm ################################ # KC 85/1, KC87 Keyboard Layout ################################ # # first row # +KC_KEY_CONTROL :31,46,28,10 =31,46,28,10 +1 :73,46,28,10 =73,46,28,10 +2 :115,46,28,10 =115,46,28,10 +3 :157,46,28,10 =157,46,28,10 +4 :199,46,28,10 =199,46,28,10 +5 :241,46,28,10 =241,46,28,10 +6 :283,46,28,10 =283,46,28,10 +7 :325,46,28,10 =325,46,28,10 +8 :367,46,28,10 =367,46,28,10 +9 :409,46,28,10 =409,46,28,10 +0 :451,46,28,10 =451,46,28,10 +@ :493,46,28,10 =493,46,28,10 +KC_KEY_PAUSE :577,46,28,10 =577,46,28,10 +KC_KEY_RESET :619,46,70,10 =619,46,70,10 # # second row # +KC_KEY_COLOR :31,88,28,10 =31,88,28,10 +q :73,88,28,10 =73,88,28,10 +w :115,88,28,10 =115,88,28,10 +e :157,88,28,10 =157,88,28,10 +r :199,88,28,10 =199,88,28,10 +t :241,88,28,10 =241,88,28,10 +z :283,88,28,10 =283,88,28,10 +u :325,88,28,10 =325,88,28,10 +i :367,88,28,10 =367,88,28,10 +o :409,88,28,10 =409,88,28,10 +p :451,88,28,10 =451,88,28,10 +^ :493,88,28,10 =493,88,28,10 +KC_KEY_INSERT :577,88,28,10 =577,88,28,10 +KC_KEY_LIST :619,88,28,10 =619,88,28,10 # # third row # +KC_KEY_GRAPHIC :31,130,28,10 =31,130,28,10 +a :73,130,28,10 =73,130,28,10 +s :115,130,28,10 =115,130,28,10 +d :157,130,28,10 =157,130,28,10 +f :199,130,28,10 =199,130,28,10 +g :241,130,28,10 =241,130,28,10 +h :283,130,28,10 =283,130,28,10 +j :325,130,28,10 =325,130,28,10 +k :367,130,28,10 =367,130,28,10 +l :409,130,28,10 =409,130,28,10 +: :451,130,28,10 =451,130,28,10 +? :493,130,28,10 =493,130,28,10 +KC_KEY_ESC :577,130,28,10 =577,130,28,10 +KC_KEY_RUN :619,130,70,10 =619,130,70,10 # # fourth row # +y :73,172,28,10 =73,172,28,10 +x :115,172,28,10 =115,172,28,10 +c :157,172,28,10 =157,172,28,10 +v :199,172,28,10 =199,172,28,10 +b :241,172,28,10 =241,172,28,10 +n :283,172,28,10 =283,172,28,10 +m :325,172,28,10 =325,172,28,10 +, :367,172,28,10 =367,172,28,10 +. :409,172,28,10 =409,172,28,10 +; :451,172,28,10 =451,172,28,10 += :493,172,28,10 =493,172,28,10 +KC_KEY_HOME :577,172,28,10 =577,172,28,10 +KC_KEY_STOP :619,172,70,10 =619,172,70,10 # # fifth row # +KC_KEY_SHIFT :31,214,70,10 =31,214,70,10 +KC_KEY_LEFT :115,214,28,10 =115,214,28,10 +KC_KEY_RIGHT :157,214,28,10 =157,214,28,10 +KC_KEY_SHIFT :199,214,70,10 =199,214,70,10 +KC_KEY_SHIFT :283,214,70,10 =283,214,70,10 +KC_KEY_UP :367,214,28,10 =367,214,28,10 +KC_KEY_DOWN :409,214,28,10 =409,214,28,10 +KC_KEY_SHIFT :451,214,70,10 =451,214,70,10 +KC_KEY_SHIFT_LOCK :577,214,28,10 =577,214,28,10 +KC_KEY_ENTER :619,214,70,10 =619,214,70,10 KCemu-0.5.1/src/ui/gtk/hedit.cc0000644000175000017500000002044712417262523016355 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "ui/error.h" #include "ui/gtk/hedit.h" EditHeaderWindow::EditHeaderWindow(void) : CMD("ui-tape-header-edit") { register_cmd("ui-tape-header-edit"); } EditHeaderWindow::~EditHeaderWindow(void) { } void EditHeaderWindow::execute(CMD_Args *args, CMD_Context context) { int a; char buf[10]; const char *name, *ptr; if (args == NULL) return; _args = args; name = args->get_string_arg("filename"); if (name == NULL) return; ptr = strrchr(name, '/'); if (ptr) { ptr++; if (*ptr != '\0') name = ptr; } if (!name) name = ""; a = 0; ptr = name; while (242) { buf[a++] = toupper(*ptr++); if (*ptr == '\0') break; if (a == 8) break; } buf[a] = '\0'; init(name, buf); } bool EditHeaderWindow::check_values(CMD_Args *args) { const char *load, *start; char *l_endptr, *s_endptr; if (!args) return false; _tape_filename = get_tape_filename(); _kc_filename = get_kc_filename(); load = get_load_address(); start = get_start_address(); _load_address = strtoul(load, &l_endptr, 0); _start_address = strtoul(start, &s_endptr, 0); if (strlen(_tape_filename) < 1) { Error::instance()->info(_("no tape-filename given!")); return false; } if (strlen(_kc_filename) < 1) { Error::instance()->info(_("no KC-filename given!")); return false; } if (!((*load != '\0') && (*l_endptr == '\0'))) { Error::instance()->info(_("error in given load address!\n\n" "valid addresses have to be in the " "range from 0 to 65535\n" "hexadecimal values need to be " "prefixed with 0x (e.g. 0x1234),\n" "octal values require a leading 0 " "(e.g. 0444)")); return false; } if (!_autostart) return true; if (!((*start != '\0') && (*s_endptr == '\0'))) { Error::instance()->info(_("error in given start address!")); return false; } return true; } void EditHeaderWindow::ok(GtkWidget * /* widget */, gpointer data) { EditHeaderWindow *self = (EditHeaderWindow *)data; if (!self->check_values(self->_args)) return; self->_args->set_string_arg("tape-filename", self->_tape_filename); self->_args->set_string_arg("kc-filename", self->_kc_filename); self->_args->set_long_arg("load-address", self->_load_address); self->_args->set_long_arg("start-address", self->_start_address); gtk_widget_destroy(self->_w.window); self->_args->call_callbacks("ui-edit-header-CB"); } void EditHeaderWindow::cancel(GtkWidget * /* widget */, gpointer data) { EditHeaderWindow *self = (EditHeaderWindow *)data; gtk_widget_destroy(self->_w.window); self->_args->call_callbacks("ui-edit-header-CB"); } int EditHeaderWindow::delete_event(GtkWidget *widget, GdkEvent *event, gpointer data) { cancel(widget, data); return true; } void EditHeaderWindow::sf_toggle_autostart(GtkWidget *w, gpointer data) { EditHeaderWindow *self = (EditHeaderWindow *)data; self->_autostart = GTK_TOGGLE_BUTTON(w)->active; gtk_widget_set_sensitive(self->_w.start_addr, self->_autostart); } void EditHeaderWindow::init(const char *tapename, const char *kcname) { GtkWidget *w; /* * window */ _w.window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(_w.window), _("File Properties")); gtk_window_position(GTK_WINDOW(_w.window), GTK_WIN_POS_MOUSE); gtk_signal_connect(GTK_OBJECT(_w.window), "delete_event", GTK_SIGNAL_FUNC(delete_event), this); /* * vbox */ _w.vbox = gtk_vbox_new(FALSE, 0); gtk_container_border_width(GTK_CONTAINER(_w.vbox), 6); gtk_container_add(GTK_CONTAINER(_w.window), _w.vbox); gtk_widget_show(_w.vbox); /* * table */ _w.table = gtk_table_new(5, 3, FALSE); gtk_table_set_row_spacings(GTK_TABLE(_w.table), 2); gtk_table_set_col_spacings(GTK_TABLE(_w.table), 4); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.table, FALSE, TRUE, 0); gtk_widget_show(_w.table); /* * tapename */ w = gtk_label_new(_("Name in tape-directory:")); gtk_table_attach_defaults(GTK_TABLE(_w.table), w, 0, 1, 1, 2); gtk_widget_show(w); _w.tapename = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(_w.tapename), tapename); gtk_table_attach_defaults(GTK_TABLE(_w.table), _w.tapename, 1, 3, 1, 2); gtk_widget_show(_w.tapename); /* * kc name */ w = gtk_label_new(_("Name in KC file-header:")); gtk_table_attach_defaults(GTK_TABLE(_w.table), w, 0, 1, 2, 3); gtk_widget_show(w); _w.kcname = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(_w.kcname), kcname); gtk_table_attach_defaults(GTK_TABLE(_w.table), _w.kcname, 1, 3, 2, 3); gtk_widget_show(_w.kcname); /* * load addr */ w = gtk_label_new(_("Load address:")); gtk_misc_set_alignment(GTK_MISC(w), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(_w.table), w, 0, 1, 3, 4); gtk_widget_show(w); _w.load_addr = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(_w.table), _w.load_addr, 1, 3, 3, 4); gtk_widget_show(_w.load_addr); /* * start addr */ w = gtk_label_new(_("Start address:")); gtk_misc_set_alignment(GTK_MISC(w), 1.0, 0.5); gtk_table_attach_defaults(GTK_TABLE(_w.table), w, 0, 1, 4, 5); gtk_widget_show(w); _w.start_addr = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(_w.table), _w.start_addr, 1, 3, 4, 5); gtk_widget_show(_w.start_addr); /* * autostart */ w = gtk_check_button_new_with_label(_("autostart")); gtk_table_attach_defaults(GTK_TABLE(_w.table), w, 1, 3, 5, 6); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w), TRUE); gtk_signal_connect(GTK_OBJECT(w), "toggled", GTK_SIGNAL_FUNC(sf_toggle_autostart), this); gtk_widget_show(w); /* * separator */ _w.separator = gtk_hseparator_new(); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.separator, FALSE, FALSE, 5); gtk_widget_show(_w.separator); /* * button box */ _w.bbox = gtk_hbutton_box_new(); //gtk_button_box_set_spacing(GTK_BUTTON_BOX(_w.bbox), 0); gtk_button_box_set_layout(GTK_BUTTON_BOX(_w.bbox), GTK_BUTTONBOX_SPREAD); //gtk_button_box_set_child_size(GTK_BUTTON_BOX(_w.bbox), 0, 0); gtk_box_pack_start(GTK_BOX(_w.vbox), _w.bbox, FALSE, TRUE, 0); gtk_widget_show(_w.bbox); /* * ok button */ _w.b_ok = gtk_button_new_with_label("ok"); gtk_container_add(GTK_CONTAINER(_w.bbox), _w.b_ok); gtk_signal_connect(GTK_OBJECT(_w.b_ok), "clicked", GTK_SIGNAL_FUNC(ok), this); GTK_WIDGET_SET_FLAGS(_w.b_ok, GTK_CAN_DEFAULT); gtk_widget_grab_default(_w.b_ok); gtk_widget_show(_w.b_ok); /* * close button */ _w.b_close = gtk_button_new_with_label("close"); gtk_container_add(GTK_CONTAINER(_w.bbox), _w.b_close); gtk_signal_connect(GTK_OBJECT(_w.b_close), "clicked", GTK_SIGNAL_FUNC(cancel), this); GTK_WIDGET_SET_FLAGS(_w.b_close, GTK_CAN_DEFAULT); gtk_widget_show(_w.b_close); gtk_widget_show(_w.window); } KCemu-0.5.1/src/ui/gtk/kc854_keyboard.xpm0000644000175000017500000233750312417262523020223 0ustar glaubitzglaubitz/* XPM */ static char * kc854_keyboard_xpm[] = { "762 412 516 2", " c None", ". c #E6E6E6", "+ c #C2CAC2", "@ c #AAB6AA", "# c #A2AEA2", "$ c #E00000", "% c #CA3D39", "& c #C64742", "* c #DADADA", "= c #D2D2D2", "- c #BAC2BA", "; c #A1ADA2", "> c #98A3A6", ", c #97A3A6", "' c #9EAAA3", ") c #9FABA3", "! c #BE5E58", "~ c #DC0A09", "{ c #A4A79B", "] c #A5A398", "^ c #D81514", "/ c #C44D47", "( c #D81513", "_ c #A2ABA0", ": c #AC9187", "< c #A3AA9E", "[ c #A2AB9F", "} c #DC0808", "| c #C2534D", "1 c #A79D92", "2 c #DE0303", "3 c #A89C91", "4 c #DD0807", "5 c #C44C47", "6 c #D6D6D6", "7 c #A6B2A6", "8 c #0000EA", "9 c #575DC3", "0 c #0708E6", "a c #0809E6", "b c #090AE5", "c c #939EA8", "d c #2D31D5", "e c #0404E8", "f c #5258C5", "g c #DA100F", "h c #D32321", "i c #C05851", "j c #D32421", "k c #B18178", "l c #B1837A", "m c #B0857B", "n c #D4201E", "o c #BE5C56", "p c #DD0605", "q c #BE5D57", "r c #B47870", "s c #B47A72", "t c #AA948A", "u c #DF0201", "v c #AE8B82", "w c #D91211", "x c #BD615A", "y c #AF897F", "z c #DE0404", "A c #BC625C", "B c #DF0000", "C c #AE8A80", "D c #0506E7", "E c #8792AD", "F c #3235D3", "G c #464BCA", "H c #9CA8A4", "I c #9EA9A3", "J c #5359C5", "K c #CE322F", "L c #BE5E57", "M c #C1544E", "N c #C1554F", "O c #B96D65", "P c #C2534E", "Q c #C3514B", "R c #DD0606", "S c #AB9489", "T c #DD0706", "U c #D41F1D", "V c #B27F76", "W c #B27E76", "X c #B37C74", "Y c #DA0E0D", "Z c #B5766D", "` c #D22623", " . c #D22422", ".. c #DF0101", "+. c #B7716A", "@. c #E2E2E2", "#. c #3437D2", "$. c #1415E0", "%. c #4146CC", "&. c #99A5A5", "*. c #C05852", "=. c #B37D74", "-. c #B0857C", ";. c #A9998E", ">. c #DB0D0C", ",. c #B6746C", "'. c #DA0F0D", "). c #A79E93", "!. c #B18279", "~. c #B28078", "{. c #D32220", "]. c #A3A99E", "^. c #DE0403", "/. c #AC9086", "(. c #DA0F0E", "_. c #B0867D", ":. c #AA978D", "<. c #A3A99D", "[. c #AA968C", "}. c #A2ACA0", "|. c #CC3532", "1. c #848DAF", "2. c #4D53C7", "3. c #1618DF", "4. c #0808E6", "5. c #95A0A7", "6. c #A79F94", "7. c #A5A397", "8. c #C93E39", "9. c #A99A8F", "0. c #000000", "a. c #121312", "b. c #676F67", "c. c #6C746C", "d. c #585F58", "e. c #A2ADA1", "f. c #D61B19", "g. c #CD3531", "h. c #C05953", "i. c #CB3834", "j. c #A6A095", "k. c #DC0908", "l. c #B77169", "m. c #B7726A", "n. c #DE0505", "o. c #A3A89C", "p. c #A4A79C", "q. c #D4201D", "r. c #BF5A54", "s. c #D81312", "t. c #97A2A6", "u. c #7780B4", "v. c #0607E6", "w. c #3B40CF", "x. c #363AD1", "y. c #8B95AC", "z. c #8D98AB", "A. c #3F44CD", "B. c #DB0C0C", "C. c #AD8D83", "D. c #C8413C", "E. c #BD605A", "F. c #D51E1C", "G. c #AF877D", "H. c #BA6A63", "I. c #CD332F", "J. c #A0ACA0", "K. c #788078", "L. c #080908", "M. c #262826", "N. c #9EAA9E", "O. c #1E201E", "P. c #BC645E", "Q. c #B77068", "R. c #CD3430", "S. c #D22522", "T. c #B86D66", "U. c #D22624", "V. c #C15550", "W. c #D51E1B", "X. c #BA6962", "Y. c #CF2D2A", "Z. c #0A0AE5", "`. c #1416E0", " + c #6168BE", ".+ c #4045CD", "++ c #1112E2", "@+ c #666DBC", "#+ c #CF2D29", "$+ c #A89B90", "%+ c #C93E3A", "&+ c #C54A45", "*+ c #DC0A0A", "=+ c #B6736B", "-+ c #DB0C0B", ";+ c #B86F67", ">+ c #BF5A53", ",+ c #C54944", "'+ c #161716", ")+ c #444944", "!+ c #717971", "~+ c #666D66", "{+ c #4C514C", "]+ c #C9403B", "^+ c #BB655E", "/+ c #D81413", "(+ c #D61A18", "_+ c #AF877E", ":+ c #C15650", "<+ c #020202", "[+ c #A89C92", "}+ c #A4A69B", "|+ c #DB0B0A", "1+ c #BC645D", "2+ c #B28077", "3+ c #AF887F", "4+ c #030303", "5+ c #707870", "6+ c #8B958B", "7+ c #242624", "8+ c #A1ADA1", "9+ c #8F9A8F", "0+ c #8892AD", "a+ c #9CA7A4", "b+ c #CF2E2B", "c+ c #9DA9A3", "d+ c #A0ABA2", "e+ c #C93F3B", "f+ c #A6A297", "g+ c #A6A195", "h+ c #798379", "i+ c #313531", "j+ c #474D47", "k+ c #343834", "l+ c #3E42CE", "m+ c #474CCA", "n+ c #8993AD", "o+ c #1A1CDE", "p+ c #0505E7", "q+ c #1A1BDE", "r+ c #929DA8", "s+ c #0303E8", "t+ c #919CA9", "u+ c #292DD7", "v+ c #0304E8", "w+ c #0A0BE5", "x+ c #535AC4", "y+ c #AD8C82", "z+ c #CC3734", "A+ c #D02A28", "B+ c #D12926", "C+ c #B5776F", "D+ c #CF2F2B", "E+ c #7B847B", "F+ c #798279", "G+ c #7A837A", "H+ c #5960C2", "I+ c #7880B4", "J+ c #7881B4", "K+ c #5A60C1", "L+ c #2A2DD7", "M+ c #555CC3", "N+ c #565CC3", "O+ c #828BB0", "P+ c #5A61C1", "Q+ c #8A94AC", "R+ c #3337D3", "S+ c #5055C6", "T+ c #7F89B1", "U+ c #5C62C1", "V+ c #0000E9", "W+ c #2F33D4", "X+ c #494FC9", "Y+ c #484DC9", "Z+ c #D61B1A", "`+ c #D12724", " @ c #C64641", ".@ c #0F110F", "+@ c #99A4A5", "@@ c #747CB6", "#@ c #0D0EE4", "$@ c #6D76B9", "%@ c #2B2FD6", "&@ c #6C74B9", "*@ c #2326DA", "=@ c #474DCA", "-@ c #2224DA", ";@ c #9AA5A5", ">@ c #D02B28", ",@ c #B37E75", "'@ c #BA6861", ")@ c #B37C73", "!@ c #D4211F", "~@ c #B0847B", "{@ c #95A1A7", "]@ c #0C0DE4", "^@ c #7D86B2", "/@ c #5F67BF", "(@ c #6067BF", "_@ c #8D97AB", ":@ c #0E0FE3", "<@ c #8C96AB", "[@ c #1D20DC", "}@ c #4F55C6", "|@ c #545AC4", "1@ c #858FAE", "2@ c #929CA9", "3@ c #3034D4", "4@ c #1D1FDD", "5@ c #3438D2", "6@ c #1B1EDD", "7@ c #7A83B3", "8@ c #7B85B2", "9@ c #96A1A7", "0@ c #393DD0", "a@ c #0F10E3", "b@ c #686FBB", "c@ c #7F88B1", "d@ c #1719DF", "e@ c #949FA7", "f@ c #1C1EDD", "g@ c #5056C6", "h@ c #2E31D5", "i@ c #2F32D5", "j@ c #AD8E84", "k@ c #D71715", "l@ c #A9988D", "m@ c #B5786F", "n@ c #D12825", "o@ c #AB9287", "p@ c #CE312D", "q@ c #868FAE", "r@ c #BD6059", "s@ c #A5A599", "t@ c #A5A499", "u@ c #CE302D", "v@ c #BB665F", "w@ c #4349CB", "x@ c #4348CC", "y@ c #CB3A36", "z@ c #C54943", "A@ c #0102E9", "B@ c #0202E8", "C@ c #B86E66", "D@ c #4A50C8", "E@ c #5D64C0", "F@ c #1E20DC", "G@ c #0101E9", "H@ c #282AD8", "I@ c #8089B0", "J@ c #A6B2A2", "K@ c #B2BAB2", "L@ c #CACEC6", "M@ c #DADEDA", "N@ c #EEEEEE", "O@ c #F2F2F2", "P@ c #EAEAEA", "Q@ c #DEE2DE", "R@ c #CED6CE", "S@ c #BEC2BE", "T@ c #D6DAD6", "U@ c #E2E6E2", "V@ c #CAD2CA", "W@ c #AAB6A6", "X@ c #C6CAC2", "Y@ c #AEB6AA", "Z@ c #CACECA", "`@ c #DEDEDE", " # c #AEBAAA", ".# c #AAB2A6", "+# c #E6EAE6", "@# c #B2BEB2", "## c #B6BEB6", "$# c #BEC6BE", "%# c #C2C6C2", "&# c #D2D6CE", "*# c #A6AEA2", "=# c #CED2CE", "-# c #EAEAE6", ";# c #E2E2DE", "># c #8A8A8A", ",# c #3E3E3E", "'# c #1A1A1A", ")# c #262626", "!# c #5E5E5E", "~# c #BABABA", "{# c #969696", "]# c #2E2E2E", "^# c #C6C6C6", "/# c #AAAAAA", "(# c #5A5A5A", "_# c #0E0E0E", ":# c #565656", "<# c #9E9E9E", "[# c #4E4E4E", "}# c #222222", "|# c #AEBAAE", "1# c #626262", "2# c #7A7A7A", "3# c #161616", "4# c #CACACA", "5# c #DADAD6", "6# c #6A6A6A", "7# c #323232", "8# c #B6BEB2", "9# c #B6BAB2", "0# c #1E1E1E", "a# c #C6CAC6", "b# c #9A9A9A", "c# c #868686", "d# c #121212", "e# c #C2C2C2", "f# c #424242", "g# c #B2BAAE", "h# c #EAEEEA", "i# c #AAB2AA", "j# c #BAC2B6", "k# c #AEB6AE", "l# c #C2C6BE", "m# c #CECECE", "n# c #B6C2B6", "o# c #B96B64", "p# c #BB675F", "q# c #B96B63", "r# c #D71716", "s# c #B47971", "t# c #B6756D", "u# c #CA3C37", "v# c #6A716A", "w# c #484D48", "x# c #D91311", "y# c #D02A27", "z# c #AA968B", "A# c #5B625B", "B# c #1B1E1B", "C# c #585E58", "D# c #5C625C", "E# c #BB6760", "F# c #BC635C", "G# c #BF5B55", "H# c #C34F49", "I# c #D71614", "J# c #C7443F", "K# c #D51C1A", "L# c #C44E49", "M# c #C64843", "N# c #7F887F", "O# c #161816", "P# c #060606", "Q# c #4A504A", "R# c #1A1B1A", "S# c #818B81", "T# c #C54B46", "U# c #A79E94", "V# c #D51D1B", "W# c #1C1E1C", "X# c #5E655E", "Y# c #9BA79B", "Z# c #5C635C", "`# c #030403", " $ c #A9988E", ".$ c #BD5F58", "+$ c #C8423D", "@$ c #CE312E", "#$ c #B96C65", "$$ c #9CA79C", "%$ c #050505", "&$ c #9CA89C", "*$ c #050605", "=$ c #D3221F", "-$ c #DF0202", ";$ c #CC3733", ">$ c #C05751", ",$ c #B37B72", "'$ c #B47A71", ")$ c #5F675F", "!$ c #5E645E", "~$ c #1F221F", "{$ c #778077", "]$ c #202220", "^$ c #AB9288", "/$ c #AA958B", "($ c #494F49", "_$ c #6A726A", ":$ c #0F100F", "<$ c #3E433E", "[$ c #6B736B", "}$ c #BF5C55", "|$ c #616861", "1$ c #828B82", "2$ c #CE2F2C", "3$ c #D71816", "4$ c #A6A6A6", "5$ c #4A4A4A", "6$ c #828282", "7$ c #525252", "8$ c #BEBEBE", "9$ c #666666", "0$ c #727272", "a$ c #464646", "b$ c #363636", "c$ c #2A2A2A", "d$ c #A2A2A2", "e$ c #B2B2B2", "f$ c #848EAE", "g$ c #4E53C7", "h$ c #4E54C6", "i$ c #2426D9", "j$ c #6F78B8", "k$ c #2528D9", "l$ c #5F66BF", "m$ c #838DAF", "n$ c #363AD2", "o$ c #8690AE", "p$ c #666EBC", "q$ c #676FBB", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ $ $ $ % & # & % # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . - # # # # # # # # # # # # # # # # # # # # # # # # # ; > , # # # ' ) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ ! # $ # # $ ~ { ~ $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ # # # ] ^ / ( ] # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # _ : # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # < < # # # [ [ # # _ : # # # # # # # [ [ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ } | 1 2 3 # # $ $ } | # $ $ $ $ # $ $ 4 5 # # # # # # # # # # # # - . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . 7 # # # # # # # # # # # # # # # # # # # # 8 8 8 8 # 9 0 a b # c d e b f # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ g { $ # # $ h i j $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ # # # # k $ l # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ } | # $ $ 4 5 # # m n $ $ $ $ $ % & # & % # # # # # # # # # # # # # # # # # # # # # # # # # o p p q # r ~ ~ s # m n # # t u # # r ~ ~ s # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ ! # $ # # $ # v w x # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # y z A B x # # $ # y z # $ # # # # $ # C 4 # # # # # # # # # # # # # 7 . . . . . . . . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . * # # # # # # # # # # # # # # # # # # # # # # 8 # # # # D E # # # F G H I J # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ K L $ # # $ M 4 N $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # $ $ $ $ # ! $ O # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # y z # $ # C 4 # # P Q # # $ # # ] ^ / ( ] # # # # # # # # # # # # # # # # # # # # # # # # # R t S T # U V W n # P Q # # % $ # # U V W n # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ g { $ # # $ X Y Z # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ } | ` / .# # $ $ } | # $ # # # # $ $ ..+.# # # # # # # # # # # # # # # * . . . . . . . . . . . . . . . . . . . . . . @.= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = @.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # #.$.%.E # D &.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *.2 $ # *.2 $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ =.Y $ # # $ m $ -.$ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ # # # ;.>.,.'.).# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ } | # $ $ ..+.# # h !.# # $ # # # k $ l # # # # # # # # # # # # # # # # # # # # # # # # # # n ~.V {.# 2 ].].^.# h !.# /.(.$ # # 2 ].].^.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ K L $ # # $ 4 _.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # :.Y <.(.[.# $ # # # # $ $ $ $ # $ }.| |.# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . 7 # # # # # # # # # # # # # # # # # # # # # # # 8 8 8 8 # # 1.2.3.# 4.5.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # $ $ $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 6.A / x 7.# # # # # $ $ $ $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 6.A / x 7.# # # # # # # # # # # # # # # # # 6.8.# # # # # # # # >.9.# # >.9.# # # # # # # # # # # # # # # # # # # 0.# # 0.0.0.a.b.# # 0.c.# # # d.0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ e.f.$ # # $ [ ^ _ $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # $ # # $ $ $ $ g.h.# M i.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ }.| |.# j.k.< # # $ # # # ! $ O # # # # # # # # # # # # # # # # # # # # # # # # # # l.T T m.# n.o.p.p j.k.< # i.L $ # # n.o.p.p # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ =.Y $ # # $ q.N # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # r.$ $ $ r.# $ # # # # $ # # # # $ # o.s.y # # # # # # # # # # # # # # # 7 . . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . - # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # , t.u.v.# w.x.y.z.A.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # $ $ $ $ B.# # # # # # # # # # # # # # # # # # # # # # # # # # # C.(.D.E.5 F.# # # # # $ # # # # # # G.H.G.# # # # # # # # # # # # # # # # # # # # # # # # # # C.(.D.E.5 F.# # # # # # G.H.G.# # # # # # # # ,.I.# # G.H.G.# # # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.# J.K.L.# # 0.M.# # N.O.0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # P.$ # # $ # # # $ # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # o.s.y Q.R.# # # $ # # ;.>.,.'.).# # # # # # # # # # # # # # # # # # # # # # # # # 4 G.G.} # S.T.T.U.Q.R.# # B $ $ $ # S.T.T.U.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ e.f.$ # # $ j.U V.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # W.l # m W.# $ # # # # $ $ $ $ # $ # # X.Y.# # # # # # # # # # # # # # # # - . . . . . . . . . . . . . . . . . . 6 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # 8 8 8 8 # b Z.`. +# &..+++3.@+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # # G.P # # # # # # # # # # # # # # # # # # # # # # # # # # # #+H.# # # $+# # # # # $ # # # # # i w %+w r.# $ &+2 # $ r.*+'.=+P *+-+;+# # # # # # # # # # # #+H.# # # $+# # # # # i w %+w r.# $ >+~ B.T.# ,+q # i w %+w r.# $ $ $ # $ $ $ # # # # # # # # # # # # # # # # # # # 0.# # 0.# J.K.'+# # 0.)+!+# ~+{+0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # X.Y.]+^+# # # $ # # g.h.# M i.# # # # # # # # # # # # # # # # # # # # # # # # # h./+/+>+# _.(+(+_+]+^+# # # # $ # # _.(+(+_+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ # P.$ # # $ # j.F.:+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . = = = = = = = = = = = <+= = <+<+<+<+<+= = <+<+<+<+= = = = = <+<+<+= = = = <+<+<+= = = <+<+<+<+<+<+<+= = = = = = <+<+<+<+<+<+<+<+= = = <+<+<+<+<+<+<+<+<+= = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # # I.[+# # # # # # # # # # # # # # # # # # # # # # # # # # # n.}+# # # # # # # # # $ $ $ $ # # |+S # S -+# $ O _ # $ 1+p.W 2 1+p.2+'.# # # # # # # # # # # n.}+# # # # # # # # # |+S # S -+# $ 1+p.X Y # F.3+# |+S # S -+# # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.0.0.4+5+# # 0.6+7+8+O.9+0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # a+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b+[.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b+[.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c+d+# # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . * = = = = = = = = = = = <+= = <+<+<+<+<+= <+<+<+<+<+= = = = = <+<+<+= = = <+<+<+= = = <+<+<+<+<+<+<+<+<+= = = = <+<+<+<+<+<+<+<+<+<+= = <+<+<+<+<+<+<+<+<+= = = = = = = = * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ $ $ # # # # -.e+# # # # # # # # # # # # # # # # # # # # # # # # # # # # } f+# # # # # # # # # $ # # # # # R j.# 6.T # $ [ # # $ }.# # $ }.# # $ # # # # # # # # # # # } f+# # # # # # # # # R j.# 6.T # $ }.# # $ g+} [ # R j.# 6.T # # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.# 8+h+'+# # 0.# i+j+k+# 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # ' ) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # n+o+p+q+n+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ' ) # # # # # # # # # # ' ) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ' ) # # # # a+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 8 4.2.r+s+t+# # t+u+v+w+x+# 8 8 8 8 # # # # # # # # # # # # # # # # # # # # @ . . . . . . . . . . . . . . . . = = = = = = = = = = = <+<+= = <+<+<+<+= = <+<+<+<+<+= = = = = <+<+<+= = <+<+<+= = = <+<+<+<+= = = = <+<+= = = = <+<+<+= = = = <+<+<+= = <+<+= = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # Y.y+# # # # # # # # # # # # # # # # # # # # # # # # # # # # z+i # # # C # # # # # $ # # # # # e+A+E.B+D.# $ # # # $ # # # $ # # # $ # # # # # # # # # # # z+i # # # C # # # # # e+A+E.B+D.# $ # # # $ C+D+# # e+A+E.B+D.# # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.# 8+E+L.# # 0.# F+0.G+# 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # c d e b f # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # L+M+# N+u+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c d e b f # 8 # # # 8 # c d e b f # 8 # O+++P+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c d e b f # n+o+p+o+Q+# 8 8 4.2.R+S+# S+R+# # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # T+e U+V+P+# # W+X+c+c Y+# 8 # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = <+<+= = <+<+<+= = <+<+<+<+<+<+= = = = = <+<+<+<+<+<+<+= = = = <+<+<+= = = = = = = = = = = <+<+<+= = = = <+<+<+= = <+<+<+<+<+<+<+<+= = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # $ $ $ $ $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # l A+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # 9.Z+`+ @I.U.# # # # # $ # # # # # <.P.,+^+].# $ # # # $ # # # $ # # # $ # # # # # # # # # # # 9.Z+`+ @I.U.# # # # # <.P.,+^+].# $ # # # $ 5 h.# # <.P.,+^+].# # $ # # # $ # # # # # # # # # # # # # # # # # # # # 0.# # 0.0.0..@~+# # 0.# # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # F G H I J # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # p++@# +@p+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # F G H I J # 8 # # # 8 # F G H I J # 8 @@#@$@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # F G H I J # L+M+# N+%@# 8 # T+e t+#@&@#@t+# # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 8 4.2.*@=@-@# # D ;@# b 8 # 8 # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = <+<+<+= = <+<+<+= = <+<+<+<+<+<+= = = = = <+<+<+<+<+<+= = = = = <+<+<+= = = = = = = = = = = = <+<+<+<+<+<+<+<+= = = <+<+<+<+<+<+<+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # >@C+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # [ ,@'@)@_ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # [ ,@'@)@_ # # # # # # # # # # # # # # # # !@~@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D &.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # v.{@# 5.]@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D &.# # # # 8 # # # 8 # D &.# # # # 8 0 ^@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # R+S+# S+R+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D &.# # # # p++@# +@D # 8 8 4.2.# /@8 (@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # _@#@c+:@<@# 4.5.# # 8 # 8 8 8 8 # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = <+<+<+= = <+<+= = <+<+<+<+<+<+<+= = = = = <+<+<+<+<+<+= = = = = <+<+<+= = = = = = = = = = = = <+<+<+<+<+<+<+<+= = = = = = = = = <+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # )@].# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4.5.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R+G c m+G # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4.5.# # # # 8 # # # 8 # 4.5.# # # # 8 [@}@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# t+#@&@#@t+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4.5.# # # # v.{@# 5.4.# 8 # # # # ; 8 ; # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # |@8 8 8 |@# x.%.t+1@8 # 8 # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = <+<+<+<+= = <+<+= = <+<+<+<+<+<+<+= = = = = <+<+<+= <+<+<+= = = = <+<+<+= = = = = = = = = = = <+<+<+= = = = <+<+<+= = = = = = = = <+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.x.y.z.A.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2@d D 3@c+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.x.y.z.A.# 8 # # # 8 # w.x.y.z.A.# 8 5.4@S+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # /@8 (@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.x.y.z.A.# R+G c m+5@# 8 # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # 6@7@# 8@6@# 9@0@a@q+b@# 8 8 8 8 # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = <+<+<+<+= = <+= = <+<+<+<+<+<+<+<+= = = = = <+<+<+= = <+<+<+= = = <+<+<+<+= = = = <+<+= = = = <+<+<+= = = = <+<+<+= = <+<+= = = = <+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &..+++3.@+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # c@d@e@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &..+++3.@+# 8 8 8 8 8 # &..+++3.@+# 8 # 5.f@g@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; 8 ; # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &..+++3.@+# 2@h@#@i@c # 8 # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = <+<+<+<+<+= = <+= <+<+<+<+<+<+<+<+<+= = = = = <+<+<+= = = <+<+<+= = = <+<+<+<+<+<+<+<+<+= = = = <+<+<+<+<+<+<+<+<+<+= = <+<+<+<+<+<+<+<+<+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # 6.A / x 7.# # # j@P P j@# # # $ H.# # # $ # $ $ $ $ $ # $ $ ..k@=+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+<+<+<+<+<+= = = = <+<+<+<+<+<+<+<+<+= = = = = <+<+<+= = = = <+<+<+= = = <+<+<+<+<+<+<+= = = = = = <+<+<+<+<+<+<+<+= = = = <+<+<+<+<+<+<+= = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # C.(.D.E.5 F.# # 2+Y N M Y k # # $ #+l@# # $ # # # $ # # # $ # [ s |+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # #+H.# # # $+# # U.m@# # Z n@# # $ o@p@e.# $ # # # $ # # # $ # [ s /+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # ; > , # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # q@# # q@# # # # # # # # # a+# # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # n.}+# # # # # # z o.# # p.n.# # $ # E.r@# $ # # # $ # # # $ $ $ q./.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # ' ) # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # 9 0 a b # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r+s+t+# # 8 # # 8 # 8 8 8 8 8 # n+o+p+o+Q+# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # } f+# # # # # # T s@# # t@4 # # $ # e.u@o@$ # # # $ # # # $ # }+&+,@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # c d e b f # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # D E # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # 6@8@# 8@6@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ; G l+m+; # # 8 8 4.2.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # U+V+P+# # 8 # # 8 # # # 8 # # # L+M+# N+%@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # z+i # # # C # # D+'@# # v@p@# # $ # # l@>@$ # # # $ # # # $ # # o.!@f+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # F G H I J # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #.$.%.E # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# |@w@# x@|@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+I+# J+K+# # 8 # T+e # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *@=@-@# # 8 # # 8 # # # 8 # # # p++@# +@D # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = = = = <+= = <+<+<+<+<+<+<+= = <+= = = = = <+= = <+<+<+<+<+= = = = = <+<+<+<+<+= = = = = = <+= = = = = <+<+<+<+<+<+= = = <+<+<+<+<+= = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # 9.Z+`+ @I.U.# # C.Y y@y@(./.# # $ # # # X.$ # # # $ # # # $ # # # X.z@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D &.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1.2.3.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # _@a@I :@<@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 8 4.2.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # _@#@c+:@<@# A@' ' B@# # # 8 # # # v.{@# 5.4.# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = = = <+= = = <+= = = = = = = = <+= = = = = <+= = <+= = = = <+= = = <+= = = = = <+= = = = <+= <+= = = = <+= = = = = <+= = <+= = = = <+= = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # [ ,@'@)@_ # # # j.C@;+g+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4.5.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # , t.u.v.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *@D@-@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |@8 8 8 |@# 4@E@E@F@# # # 8 # # # R+G c m+5@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = = <+= = = = <+= = = = = = = = = <+= = = <+= = = <+= = = = = <+= = <+= = = = = <+= = = <+= = = <+= = = <+= = = = = <+= = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.x.y.z.A.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b Z.`. +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # U+G@P+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 6@7@# 8@6@# c@H@H@I@# # # 8 # # # 2@h@#@i@c # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = <+= = = = = <+= = = = = = = = = = <+= <+= = = = <+= = = = <+= = = <+= = = = = <+= = <+= = = = = <+= = <+= = = = = <+= = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &..+++3.@+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r+s+t+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+<+<+= = = = = = <+<+<+<+<+= = = = = = = <+= = = = = <+<+<+<+<+= = = = <+= = = = = <+= = <+= = = = = <+= = <+<+<+<+<+<+= = = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= <+= = = = = = <+= = = = = = = = = = = <+= = = = = <+= = = = <+= = = <+= = = = = <+= = <+= = = = = <+= = <+= = <+= = = = = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # 7 X@M@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@T@Y@# # # # # # # # # # # # # # # # # # # # # # # 7 X@M@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@T@Y@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = <+= = = = = <+= = = = = = = = = = = <+= = = = = <+= = = = = <+= = <+= = = = = <+= = <+<+<+<+<+<+<+= = <+= = = <+= = = = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # .#T@P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@+#@## # # # # # # # # # # # # # # # # # # .#T@P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@+#@## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . = = = = = = = <+= = = <+= = = = <+= = = = = = = = = = = <+= = = = = <+= = = = = <+= = <+= = = = = <+= = <+= = = = = <+= = <+= = = = <+= = = <+= = = = = <+= = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # Z@P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@M@# # # # # # # # # # # # # # # # # Z@P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@M@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # . . . . . . . . . . . . . . . . * = = = = = = <+= = = = <+= = = <+= = = = = = = = = = = <+= = = = = <+= = = = <+= = = <+= = = = = <+= = <+= = = = = <+= = <+= = = = = <+= = <+= = = = <+= = = = = = = = = * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#M@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@W@# # # # # # # # # # # # # *#M@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@W@# # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # . . . . . . . . . . . . . . . . . = = = = = = <+= = = = = <+= = <+<+<+<+<+<+<+= = = = = <+= = = = = <+<+<+<+<+= = = = = <+<+<+<+<+= = = <+= = = = = <+= = <+= = = = = <+= = <+<+<+<+<+= = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # *#;#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@N@W@# # # # # # # # # # # *#;#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@N@W@# # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # . . . . . . . . . . . . . . . . . 6 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # M@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@P@# # # # # # # # # # # M@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@P@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # Z@O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@M@# # # # # # # # # Z@O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@M@# # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # # . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@O@@## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@O@@## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # # # . . . . . . . . . . . . . . . . . . . @.= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = @.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # 5#O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@+## # # # # # # 5#O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@+## # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@Y@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@Y@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@Y@# # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@O@@## # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@O@8## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . 6 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@. )#>#O@O@O@O@T@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@. )#>#O@O@O@O@T@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@. )#>#O@O@O@O@T@# # # # # a#O@O@O@O@* 0#<#O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@. )#>#O@O@O@O@U@# # # # # a#O@O@O@O@* 0#<#O@O@<+<+<+<+<+O@O@O@O@<+<+<+<+<+<+O@O@O@<+O@O@O@O@O@<+O@. )#>#O@O@O@O@+## # # # # $#O@O@O@O@* 0#<#O@O@<+<+<+<+O@O@<+<+<+<+<+<+<+O@O@<+<+<+<+O@O@<+<+<+<+O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@<+<+<+<+<+O@O@O@<+O@O@O@O@O@<+O@O@O@<+<+<+<+<+O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@<+<+<+<+<+O@O@O@O@<+<+<+<+<+<+<+O@O@<+O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@<+<+<+<+<+O@O@O@<+O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@<+O@O@O@O@<+O@O@<+<+<+<+O@O@<+O@O@O@O@O@<+O@<+<+<+<+<+. )#>#O@O@O@O@- # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@b#)#. O@O@O@P@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@b#)#. O@O@O@P@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@P@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # `@O@O@O@O@>#]#N@O@O@<+O@O@O@O@<+O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@<+O@O@O@b#)#. O@O@O@O@# # # # # T@O@O@O@O@>#]#N@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@<+O@O@O@<+O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@<+O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@<+O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@<+O@O@O@O@<+O@<+O@O@O@O@<+O@<+O@O@O@O@O@<+O@<+O@O@O@O@O@b#)#. O@O@O@&## # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@<+O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@<+O@O@O@<+O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@<+O@O@O@O@O@<+<+O@O@O@O@<+O@O@<+O@O@O@O@O@<+O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@<+O@O@O@O@<+O@<+O@O@O@O@<+O@<+<+O@O@O@<+<+O@<+O@O@O@O@O@P@d#~#O@O@O@;## # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@<+<+<+<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@<+O@O@O@O@<+O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@<+O@O@O@<+O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@<+O@O@O@O@O@<+O@<+O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@<+O@O@O@O@<+O@<+O@O@O@O@<+O@<+O@<+O@<+O@<+O@<+O@O@O@O@O@O@f#b#O@O@O@P@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@<+<+O@O@O@O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@<+O@<+<+<+<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@<+<+<+<+<+O@O@O@O@<+<+<+<+<+<+O@O@O@<+<+<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@<+<+O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@<+<+<+<+O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@<+<+<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@<+O@O@O@O@O@<+O@O@<+<+<+<+<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@<+<+<+<+<+<+O@<+O@O@O@O@<+O@<+O@<+O@<+O@<+O@<+<+<+O@O@O@O@1#b#O@O@O@N@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+<+O@O@O@O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@<+O@O@O@O@<+O@O@O@<+O@O@<+O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@<+<+O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@<+O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@<+O@<+O@O@O@O@O@O@<+<+O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@<+O@O@O@O@<+O@<+O@O@O@O@<+O@<+O@O@<+O@O@<+O@<+O@O@O@O@O@O@1#b#O@O@O@O@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@<+O@O@O@O@<+O@O@<+O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@<+O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@<+<+O@O@O@O@O@O@O@O@<+O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@<+O@O@O@O@<+O@<+O@O@O@O@<+O@<+O@O@<+O@O@<+O@<+O@O@O@O@O@O@f#b#O@O@O@N@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@<+O@O@O@<+O@O@O@<+O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@<+O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@<+O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@<+O@O@O@O@<+O@<+O@O@O@O@<+O@<+O@O@O@O@O@<+O@<+O@O@O@O@O@P@d#~#O@O@O@N@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@O@<+O@O@O@O@<+O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@<+O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@O@O@O@<+O@<+O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@<+O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@<+O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@<+O@O@O@O@<+O@<+O@O@O@O@<+O@<+O@O@O@O@O@<+O@<+O@O@O@O@O@b#)#. O@O@O@U@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # Z@O@O@O@O@* 0#<#O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@. )#>#O@O@O@O@+## # # # # Z@O@O@O@O@* 0#<#O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@. )#>#O@O@O@O@+## # # # # Z@O@O@O@O@* 0#<#O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@. )#>#O@O@O@O@+## # # # # =#O@O@O@O@* 0#<#O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@. )#>#O@O@O@O@N@# # # # # =#O@O@O@O@* 0#<#O@O@<+<+<+<+<+O@O@O@O@<+O@O@O@O@O@<+O@O@<+O@O@O@O@O@<+O@. )#>#O@O@O@O@N@# # # # # Z@O@O@O@O@* 0#<#O@O@<+<+<+<+O@O@O@O@O@<+O@O@O@O@O@<+<+<+<+O@O@<+O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@<+<+<+<+<+O@O@O@<+O@O@O@O@O@<+O@O@O@<+<+<+<+<+O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@<+<+<+<+<+O@O@O@O@<+<+<+<+<+<+<+O@O@<+<+<+<+<+<+<+O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@<+<+<+<+<+O@O@O@<+<+<+<+<+<+<+O@O@<+O@O@O@O@O@<+O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@<+O@O@O@O@<+O@O@<+<+<+<+O@O@<+O@O@O@O@O@<+O@<+<+<+<+<+. )#>#O@O@O@O@V@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@O@8## # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@O@8## # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@O@8## # # # # .#P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@O@$## # # # # .#P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@O@+ # # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # * O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@h## # # # # # # * O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@h## # # # # # # * O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@h## # # # # # # `@O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@N@# # # # # # # `@O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@N@# # # # # # # * O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # i#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@O@j## # # # # # # i#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@O@j## # # # # # # i#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@O@j## # # # # # # k#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@O@l## # # # # # # k#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@O@l## # # # # # # i#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # m#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@U@# # # # # # # # # m#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@U@# # # # # # # # # m#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@U@# # # # # # # # # = O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@P@# # # # # # # # # = O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@P@# # # # # # # # # m#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@N@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@N@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@N@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@O@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@O@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@N@@ # # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@N@@ # # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@N@@ # # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@O@|## # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@O@|## # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@@ # # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@@ # # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@@ # # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@|## # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@|## # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # m#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@# # # # # # # # # # # # # # # # # m#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@# # # # # # # # # # # # # # # # # m#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@# # # # # # # # # # # # # # # # # = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@# # # # # # # # # # # # # # # # # = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@# # # # # # # # # # # # # # # # # m#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # i#* P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@h#n## # # # # # # # # # # # # # # # # # # i#* P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@h#n## # # # # # # # # # # # # # # # # # # i#* P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@h#n## # # # # # # # # # # # # # # # # # # Y@`@P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@$## # # # # # # # # # # # # # # # # # # Y@`@P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@$## # # # # # # # # # # # # # # # # # # i#* P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@h# ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # 7 4#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@Q@|## # # # # # # # # # # # # # # # # # # # # # # 7 4#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@Q@|## # # # # # # # # # # # # # # # # # # # # # # 7 4#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@Q@|## # # # # # # # # # # # # # # # # # # # # # # .#m#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@+#8## # # # # # # # # # # # # # # # # # # # # # # .#m#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@+#8## # # # # # # # # # # # # # # # # # # # # # # 7 4#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@Q@|## # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # :.o## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.# |.# # # # # # p#p## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.# |.# # # # # # # p#p## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1+# 1+# # # # # # # # k@z+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ;+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # q#:.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C+# C+# # # # # # $ @# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.# |.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C+# C+# # # # # # # @$ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z@# z@# # # # # # # # B }.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1+# 1+# # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1+# 1+# # # # # z+r## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # s#$ s## # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C+# C+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # I.# # # # I.# # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# 0.# # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# 0.# # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ,.'.-+t## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # < ..# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z@# z@# # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z@# z@# # # # # }.B # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # u@u#p@# # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # j@P P j@# # # # # 8.).# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.0.0.a.b.# # # # 0.# # # # # 0.# # # # # v#w#v## # # # # # # # # # # # # # # # # # # # # # # # 0.0.0.a.b.# # # # 0.# # # # # 0.# # # # 0.0.0.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # x#!.G.r## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ $ w s## # # # v@]+y## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # G.H.G.# # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ..[ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z#U _ U [.# # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2+Y N M Y k # # # # I.=+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# J.K.L.# # # # 0.# # # # # 0.# # # # A#B#C#B#D## # # # # # # # # # # # # # # # # # # # # # # 0.# J.K.L.# # # # 0.# # # # # 0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # I.# # # # I.# # { E#/ F#s@# # 6.8.# $ $ z Z+G#_ # $ $ $ $ $ # # # # # # # # # # # # # # # # # # # # # # # # # # $ e.H#g.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # }.k I## # # # J#K#5 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # i w %+w r.# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # $ # # # # # y#]+v@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # L#,.# ,.H## # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # U.m@# # Z n@# # # # L M## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# J.K.'+# # 0.# 0.# N#O#P#Q#0.# # # # R#S## S#R## # # # # # # # # # # # # # # # # # # # # # # 0.# J.K.'+# # 0.# 0.# N#O#P#Q#0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # >@y#! T#W.# # ,.I.# $ # < v ` P # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # p <.# # # # # # # # # # e.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # F#s...$ B # # # # # U#2 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |+S # S -+# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # $ # # # # # 5 V#J## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # p.-+$ $ $ -+o.# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # z o.# # p.n.# # # # y W.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ..[ # # [ u # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.0.0.4+5+# # 0.# 0.# W#X#Y#Z#0.# # # # 4+N.# N.`## # # # # # # # # # # # # # # # # # # # # # # 0.0.0.4+5+# # 0.# 0.# W#X#Y#Z#0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # T $# # $# # ,+q # $ # # # o@x## # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # y@V.< # # # # .$} !@m@j.+$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # n.W p.s#$ # # # # # # $ e.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # R j.# 6.T # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # }.$ # # # # # 2 j.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # o#@$# # # @$#$# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # T s@# # t@4 # # # # [ k.g+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # f.,@# # ,@K## # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# 8+h+'+# # 0.# 0.# <+$$# Y#0.# # # # %$&$# $$*$# # # # # # # # # # # # # # # # # # # # # # # 0.# 8+h+'+# # 0.# 0.# <+$$# Y#0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # $ # # # # $ # # q k.=$,+[+# # F.3+# $ # # # < -$# # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # e.F#;$# # # # E#o.V S.-+E.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # V.~ *+>$$ # # # # # # >.i # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # e+A+E.B+D.# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # >.W o.v@$ # # # # e.$ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # h ,$# # # ,$j # # # # $ p## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # D+'@# # v@p@# # # # # u@C+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # '$|+A+A+-+)@# # # # # p#$ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.# 8+E+L.# # 0.# 0.# W#)$$$!$0.# # # # ~$K.# {$]$# # # # # # # # # # # # # # # # # # # # # # # 0.# 8+E+L.# # 0.# 0.# W#)$$$!$0.# # # # # # 0.# # # # # # # # # # # # # # # # # # # # # # # # ..[ # # [ u # # # }+G.z@j # g+} [ # $ # # # ^$x## # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # /$4 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # W &+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # <.P.,+^+].# # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # O B.k.*.$ # # # # i Y # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ @# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C.Y y@y@(./.# # # # # G#5 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7.~.~.] # # # # # # @ @# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0.0.0..@~+# # 0.# 0.# N#O#*$($0.# # # # _$:$<$:$[$# # # # # # # # # # # # # # # # # # # # # # # 0.0.0..@~+# # 0.# 0.# N#O#*$($0.# # # # 0.0.0.0.0.# # # # # # # # # # # # # # # # # # # # # # f.,@# # ,@K## # _.# # j.-$# C+D+# # $ # < C.n@| # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # $ 4 }$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &+,@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # j.C@;+g+# # # # # # _.=$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # S#|$1$# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # '$|+A+A+-+)@# # B+2$J#3$;$# 5 h.# # $ $ ^.f.r.[ # # # $ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # < )@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7.~.~.] # # # e.V E#W _ # !@~@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # )@].# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#7$8$. O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@. 8$7$7#9$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@= ]#:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@P@a$:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@<+O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@N@6#7#P@O@O@O@P@Y@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@. )#>#O@O@O@O@T@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@. )#>#O@O@O@O@- # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@= 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@P@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+<+<+O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@<+O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@<+O@O@<+O@<+O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@<+O@<+O@<+<+O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@f#b#O@O@O@P@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@<+O@O@<+O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@<+O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@<+O@<+<+<+O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@<+O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@<+<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@<+O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@<+<+<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@<+<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@+## # # # # Z@O@O@O@O@* 0#<#O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@= 7#d$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@8## # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # = O@O@O@O@N@1#)#= O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # * O@O@O@O@N@1#)#= O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@P@a$(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # i#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@= ]#(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # m#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e$7#7$8$. O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@. 8$7$7#c#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$]#]#'#'#'#'#'#'#'#'#'#'#'#'#'#'#]#]#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # m#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # i#* P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@h# ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # 7 4#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@Q@|## # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # 8 8 8 8 # # # f$g$g$f$# # # 8 # # # # # 8 # # 8 8 8 8 8 # # # # # 8 8 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # 8 # # # # # u.#@}@h$#@J+# # 8 # # # # # 8 # # 8 # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # 8 # # # # # i$j$# # $@k$# # 8 # # # # # 8 # # 8 # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # 8 8 8 8 # # e H # # a+p+# # 8 # # # # # 8 # # 8 8 8 8 8 # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # 8 # # # # # v.&.# # +@0 # # 8 # # # # # 8 # # 8 # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # 8 # # # # # %@ +# # l$d # # 8 # # # # # 8 # # 8 # # # # # # # # # # # 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # 8 # # # # # m$#@n$n$:@o$# # 8 8 8 8 8 # 8 # # 8 8 8 8 8 # # # # # 8 8 8 8 8 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # 5.p$q${@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . 4$5$'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . 7#7$8$. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 8$7$7#9$. . . . . . . . . . . . . . . . . . . . . . . . . . . 7#7$8$. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 8$7$7#9$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= ]#:#. . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= ]#:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+<+O@O@N@2#3#4#O@O@O@O@V@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@a$:#. . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@a$:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@Y@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@N@6#7#P@O@O@O@P@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@T@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@. )#>#O@O@O@O@V@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= 7#. . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@P@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@b#)#. O@O@O@U@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@<+<+<+O@O@<+<+<+<+<+<+<+<+<+<+<+<+O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@<+<+<+<+<+<+<+<+<+<+<+<+O@O@<+<+<+O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@O@<+<+<+O@O@<+<+<+<+<+<+<+<+<+<+<+<+O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@<+<+<+<+<+<+<+<+<+<+<+<+O@O@<+<+<+O@O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@+## # # # # Z@O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= 7#d$. . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= 7#d$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@8## # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # * O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@a$(#. . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@a$(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # i#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= ]#(#. . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= ]#(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # m#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . e$7#7$8$. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 8$7$7#c#. . . . . . . . . . . . . . . . . . . . . . . . . . e$7#7$8$. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 8$7$7#c#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . 4$5$]#]#'#'#'#'#'#'#'#'#'#'#'#'#'#'#]#]#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$]#]#'#'#'#'#'#'#'#'#'#'#'#'#'#'#]#]#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # m#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # i#* P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@h# ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # 7 4#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@Q@|## # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#7$8$. O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@. 8$7$7#9$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@= ]#:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # + O@O@O@O@N@1#)#= O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@P@a$:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@Y@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@T@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@. )#>#O@O@O@O@- # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@= 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@P@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@b#)#. O@O@O@&## # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@+## # # # # Z@O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@= 7#d$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@8## # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+<+<+<+<+<+<+O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # * O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@<+<+<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@P@a$(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # i#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@= ]#(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # m#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e$7#7$8$. O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@. 8$7$7#c#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$]#]#'#'#'#'#'#'#'#'#'#'#'#'#'#'#]#]#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # m#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # i#* P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@h# ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # 7 4#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@Q@|## # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # J@K@L@M@@.N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@P@Q@R@- J@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # J@+ U@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@Z@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # ##. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@$## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # L@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@&#J@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@7 # # # # # # # # # # # # =#O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@T@J@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # L@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@&## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # ##O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@$## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#7$8$. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 8$7$7#9$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # J@. O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@= [#}#~#O@O@O@O@P@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= ]#:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@N@2#3#4#O@O@O@O@V@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # + O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@N@2#3#4#O@O@O@O@V@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@a$:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@J@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@Y@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@N@6#7#P@O@O@O@P@W@# # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # *#. O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@N@6#7#P@O@O@O@P@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@- # # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@T@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # 9#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@. )#>#O@O@O@O@V@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@= 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@&## # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@P@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@b#)#. O@O@O@N@# # # # # L@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@;## # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+<+O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@P@d#~#O@O@O@O@# # # # # M@O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@P@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # @.O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@<+O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@N@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@<+O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # N@O@O@O@P@0#@.O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@1#b#O@O@O@O@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@<+O@<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+<+O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@N@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@<+O@O@<+O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # . O@O@O@P@0#e#O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@f#b#O@O@O@O@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@<+O@O@O@<+<+<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@N@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # . O@O@O@N@,#c#O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@d#~#O@O@O@O@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@<+O@O@O@O@O@O@<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@U@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@<+O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # `@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@O@# # # # # T@O@O@O@O@>#]#N@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@b#)#. O@O@O@N@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@V@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@<+<+<+<+<+O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@+## # # # # Z@O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@N@# # # # # $#O@O@O@O@* 0#<#O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. )#>#O@O@O@O@Q@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= 7#d$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@<+<+<+O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@W@# # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@8## # # # # 7 P@O@O@O@O@{#'#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@O@- # # # # # J@P@O@O@O@O@{#'#= O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@6#7#P@O@O@O@N@g## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # * O@O@O@O@N@1#)#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # = O@O@O@O@N@1#)#= O@O@O@O@<+<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@h## # # # # # # = O@O@O@O@N@1#)#= O@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@2#3#4#O@O@O@O@Q@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@a$(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@<+O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # i#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@<+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@O@j## # # # # # # .#P@O@O@O@O@P@!#'#<#N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= [#}#~#O@O@O@O@N@|## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= ]#(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # m#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@U@# # # # # # # # # %#O@O@O@O@O@N@{#'#]#>#^#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@* /#(#_#:#* O@O@O@O@O@&## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e$7#7$8$. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 8$7$7#c#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # `@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@N@# # # # # # # # # # # T@O@O@O@O@O@O@* >#,#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#)#!#~#N@O@O@O@O@O@U@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$]#]#'#'#'#'#'#'#'#'#'#'#'#'#'#'#]#]#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # *#@.O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#@ # # # # # # # # # # # # `@O@O@O@O@O@O@O@N@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@O@O@O@O@O@O@O@-#7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#`@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # *#T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@U@7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # m#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # %#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@R@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # i#* P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@h# ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # 7 = P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@`@ ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # 7 4#`@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@Q@|## # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # J@S@T@. . N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@U@V@W@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . * # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . - # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @ + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#7$8$. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 8$7$7#9$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= ]#:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@a$:#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <+O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 7#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6#8$O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@8$6#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@[#c$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= 7#d$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ]#P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@]#b$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$a$P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@a$(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0$]#= O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@= ]#(#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e$7#7$8$. O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. 8$7$7#c#. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4$5$]#]#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#'#]#'#'#]#]#,#6$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; KCemu-0.5.1/src/ui/gtk/lc80_keyboard_pressed.xpm0000644000175000017500000077370312417262523021664 0ustar glaubitzglaubitz/* XPM */ static char *lc80_keyboard_pressed[] = { /* width height num_colors chars_per_pixel */ " 256 500 117 2", /* colors */ ".. c #303030", ".# c #2f2f2f", ".a c #2e2e2e", ".b c #2d2d2d", ".c c #2c2c2c", ".d c #2b2b2b", ".e c #2a2a2a", ".f c #292929", ".g c #282828", ".h c #272727", ".i c #262626", ".j c #242424", ".k c #212121", ".l c #202020", ".m c #1f1f1f", ".n c #1e1e1e", ".o c #1d1d1d", ".p c #1c1c1c", ".q c #232323", ".r c #252525", ".s c #1a1a1a", ".t c #151515", ".u c #131313", ".v c #141414", ".w c #161616", ".x c #191919", ".y c #181818", ".z c #121212", ".A c #1b1b1b", ".B c #222222", ".C c #171717", ".D c #313131", ".E c #323232", ".F c #333333", ".G c #343434", ".H c #353535", ".I c #363636", ".J c #373737", ".K c #383838", ".L c #393939", ".M c #535251", ".N c #8d8c88", ".O c #a4a29f", ".P c #aaa8a4", ".Q c #515150", ".R c #93928e", ".S c #93918e", ".T c #494847", ".U c #464645", ".V c #93928f", ".W c #545352", ".X c #504f4e", ".Y c #8d8c89", ".Z c #a9a7a3", ".0 c #7a7976", ".1 c #555452", ".2 c #817f7c", ".3 c #4b4a48", ".4 c #444342", ".5 c #434341", ".6 c #000000", ".7 c #959490", ".8 c #71706d", ".9 c #484745", "#. c #262625", "## c #212120", "#a c #a8a6a2", "#b c #454442", "#c c #0b0b0a", "#d c #575654", "#e c #4a4947", "#f c #454543", "#g c #8e8c89", "#h c #777673", "#i c #6a6966", "#j c #333231", "#k c #474644", "#l c #95938f", "#m c #595856", "#n c #0d0d0c", "#o c #464544", "#p c #9b9a96", "#q c #4f4e4d", "#r c #4c4b49", "#s c #020202", "#t c #292827", "#u c #1e1e1d", "#v c #686764", "#w c #7b7976", "#x c #8c8b88", "#y c #a4a29e", "#z c #484747", "#A c #454544", "#B c #8d8b88", "#C c #3a3a3a", "#D c #3c3c3c", "#E c #3b3b3b", "#F c #3d3d3d", "#G c #3e3e3e", "#H c #3f3f3f", "#I c #686866", "#J c #92908d", "#K c #797876", "#L c #62615f", "#M c #8b8986", "#N c #a5a39f", "#O c #9b9995", "#P c #9e9c99", "#Q c #434342", "#R c #81807d", "#S c #a2a09d", "#T c #a6a4a0", "#U c #6d6c6a", "#V c #5d5c5b", "#W c #91493f", "#X c #484540", "#Y c #d6c29f", /* pixels */ "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...........................................#.#.a.a.a.a.a.a.a.a.a.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.a.a.a.a.a.a.a.a.#.#.#..........................................", ".....................................#.a.b.c.d.e.f.f.g.g.g.g.g.g.h.h.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.e.d.c.b.a.#......................................", "...................................a.c.e.g.i.j.k.l.m.m.n.o.n.n.n.o.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.o.n.n.n.n.m.l.k.q.r.h.e.c.a.#..................................", ".................................a.d.h.q.m.s.t.u.u.v.t.t.t.w.w.w.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.w.w.w.w.w.w.w.w.w.x.n.q.g.c.a..................................", "...............................a.d.i.l.y.v.z.u.w.x.s.A.p.n.n.n.n.n.n.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.n.n.n.n.o.n.p.o.o.n.B.g.b.#................................", ".............................#.c.h.k.C.u.v.s.m.r.h.g.f.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.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.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.g.g.f.f.f.e.d.d.f.r.j.h.d.#.D.D............................", ".............................a.e.q.x.u.t.n.r.g.g.g.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.e.e.e.e.e.e.e.e.e.e.e.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.c.b.b.c.d.c.a.D.E.D..........................", ".............................b.h.n.u.v.n.i.h.f.e.e.d.d.d.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.b.b.#.#.a.#...E.E.E..........................", "...........................#.c.r.s.u.s.i.f.f.e.c.c.c.d.d.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.a.a.a.......D.E.F.G.G.E.D........................", "...........................#.d.B.t.v.m.g.f.f.d.c.d.d.c.e.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.d.b.a.a.#.#.D.D.D.E.E.G.G.H.F.D........................", "...........................a.e.k.u.w.j.g.f.e.d.d.c.e.e.e.e.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.b.a.#.a...D.D.E.F.F.I.I.I.F.D........................", "...........................a.f.m.u.x.g.g.e.e.d.c.d.e.e.c.b.................................................................................................................................................................................................................................................................................................................................................................................................................a.b.........D.F.F.G.J.J.J.G.E........................", "...........................a.g.n.v.A.g.f.d.d.d.d.e.e.b...............................................................................................................................................................................................................................................................................................................................................................................................................................E.E.F.G.G.J.K.J.H.E........................", "...........................a.g.o.v.p.g.f.d.d.b.c.e.b.............................................................................................................................................................................................................................................................................................................................................................................................................................E.D.F.G.F.G.H.K.K.K.H.E........................", "...........................a.g.o.t.o.g.f.d.d.b.c.c...........................................D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.................................................G.G.F.G.F.G.I.L.L.K.I.E........................", "...........................b.h.p.t.n.g.e.c.c.e.e.c.........................................D.E.F.E.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D...#.#...........................................D.E.F.G.F.H.I.K.L.K.I.E........................", "...........................b.h.p.w.n.g.e.c.c.g.e.b.....................................D.D.F.G.F...a.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.c.e.c.#...........................................E.G.G.F.H.I.K.L.L.I.E........................", "...........................b.h.p.w.m.g.e.c.c.g.c.....................................D.E.F.F.F.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.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.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.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.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.a.a.a.a.a.a.a.a.a.a.a.a.a.b.d.h.h.d.a.#.......................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.w.m.g.e.c.c.g.c...................................D.E.G.F.E.F.G.F.E.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D...a.f.h.g.f.d.#.....................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.t.n.g.e.c.c.g.c...................................D.G.H.G.F.G.G.F.M.N.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.O.N.Q.#.b.d.g.j.r.c.....................................G.I.G.F.H.H.K.L.L.I.F.D......................", "...........................b.h.p.t.n.g.e.c.c.g.c.................................D.F.H.G.H.G.F.E.R.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.S...a.d.j.k.g.a...................................G.I.G.F.H.H.K.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.E.H.G.G.H.G.T.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.O.U.a.g.B.j.e.#.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.H.G.H.G.F.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.O.a.d.i.k.j.b.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.G.G.H.F.V.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.S.a.f.l.l.e.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.G.G.G.W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.X.e.m.o.f.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.0.1.0.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.5.6.5.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.Z.P.P.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.P.P.Z.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#e.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#f.6.4.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.T.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#g#h#g.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.Z.P.P.P.P.P.4.6.3.P.P.P.Z.P.P.P.P.P.Z.P.P.P.3.6.4.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#i#j#k.8#l.P.P.P.P.P.P.P.P.P#l.8#k#j#i.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P#m#n#o.R#p.R.R.R.R.R#p.R#o#n#m.P.P.P.Z.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#e.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.1.6.6.6.6.6.6.6.6.6.1.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P#m#n#o.R#p.R.R.R.R.R#p.R#o#n#m.P.P.P.Z.P.P.P.P.P.3.6#e.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#i#j#k.8#l.P.P.P.P.P.P.P.P.P#l.8#k#j#i.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.Z.P.P.P.P.P.4.6.3.P.P.P.Z.P.P.P.P.P.Z.P.P.P.3.6.4.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#g#h#g.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.Z.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#f.6.4.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.T.P.P.P.P.P.P.P.3.6.3.P.P.P.Z.P.P.P.P.P.P.P.P.P.3.6.T.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6#e.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#e.6#q.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#r.6#s#.#t#.#.#.#.#.#.#.#.#.#.#.#u#.#v.P.P.Z.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.Z.P.P.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.P.P.Z.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.2.1.3.3#e.3.3.3.3.3.3.3.3.3.3.3#b.3#w.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#x.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.F.M.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.X.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.F.F.E.F.E.R.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.S.c.h.n.n.f.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.E.E...D.E.E.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#y.b.f.B.o.k.d.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c.................................D.D.#.#.D.D#z.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#y#A.d.j.o.m.h.a.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c.................................D.D.E.......D...S.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.S.a.d.h.l.o.j.b...................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...................................D.E...b.c.a.....Q#B#y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#y#B.X.b.f.r.k.n.k.e.#...................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c.....................................D...b.e.d.b.a.b.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.g.q.m.m.B.g.a.....................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c.......................................D...a.c.e.h.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.j.B.m.l.i.d.a.......................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.w.m.f.e.c.c.g.c...........................................D...c.h.j.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.h.b.#.........................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.w.m.f.e.c.c.g.c.............................................D...a.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.a.............................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.w.m.g.e.c.c.g.c...................................................................................................................................................................................................................................................................................................................................................................................................................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.w.m.g.e.c.c.g.c...................................................................................................................................................................................................................................................................................................................................................................................................................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................a.g.o.w.m.g.e.c.c.d.b.................................................................................................................................................................................................................................................................................................................................................................................................................................F.H.I.G.F.H.I.L.L.L.I.F.D......................", "...........................a.g.n.w.n.f.e.c.c.b.b.a...............................................................................................................................................................................................................................................................................................................................................................................................................................G.H.H.G.G.I.I.L#C#C.I.F.D......................", "...........................a.f.m.w.n.f.d.c.d.b.a.b.............................................................................................................................................................................................................................................................................................................................................................................................................................F.H.G.F.G.G.I.I#C#C#C.I.E........................", "...........................a.f.k.w.n.e.d.c.b.a...............................................................................................................................................................................................................................................................................................................................................................................................................................F.H.H.G.G.H.G.I.I#C#C#C.I.E........................", "...........................#.e.B.w.p.e.d.b.a.........E.D.................................................................................................................................................................................................................................................................................................................................................................................................................F.G.H.H.G.G.H.H.I.J.J#C#C#C.I.E........................", "...........................#.d.r.x.p.e.d.c.a.#.......D.E.E.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.H.H.G.G.G.G.G.G.I.J.K#D#D.L.H.E........................", "...........................#.c.h.n.p.f.b.b.a.D.D...E.F.E.F.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.H.F.G.H.G.G.I.J.J#E#F#F.L.H.E........................", ".............................b.e.q.n.r.b.a...D.D.D.E.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.H.H.G.I.J.J.L#F#G#F.K.G.D........................", ".............................a.c.g.B.j.c.#...D.E.E.F.G.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.G.G.G.G.I.I.J.J.K#D#H#H#D.J.F.D........................", "...............................a.d.g.i.e.a.D.E.F.F.G.G.G.H.H.H.H.H.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.H.H.H.H.H.H.H.I.I.J.J.L#D#H#H#G#C.I.E.D........................", "...............................#.a.c.e.d.#.D.E.F.F.G.H.H.H.I.I.I.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.I.I.I.I.I.I.I.I.J.K#E#F#G#H#H#E.J.G.D..........................", "...................................#.#.a...E.F.I.J.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.L.L.K.K.L.L.L#C#C#D#F#F#G#G#E.K.H.E.D..........................", ".....................................D.D.E.F.F.H.J.K.K.K.K.L.L.L.K.K.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L#C#C#D#F#F#D#C.J.H.E.D............................", ".....................................D.E.E.F.G.H.I.J.J.K.K.L.L.L.K.K.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.K.J.H.F.E.D..............................", ".......................................D.D.E.F.F.G.G.H.H.H.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.H.G.G.F.E.D.D................................", "...........................................D.D.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.E.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....................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................I#q#I#J#K.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#K#J#I#q.I..................................................", "............................................#D#L#M#N#O.P#P#P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#P#P.P#O#N#M#L#D........................................", "......................................#Q#R#S#T#N.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#N#T#S#R#Q..................................", "..................................#U.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#U..............................", "................................#V.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#V............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.6.6.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.6.6.6.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.6.P.P.6.6.P.P.P.6.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.6.P.P.6.P.6.P.6.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.6.P.P.6.P.6.P.6.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.6.P.P.6.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.6.P.P.6.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.6.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", "................................#V.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#V............................", "..................................#U.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#U..............................", "......................................#Q#R#S#T#N.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#N#T#S#R#Q..................................", "............................................#D#L#M#N#O.P#P#P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#P#P.P#O#N#M#L#D........................................", ".......................................................I#q#I#J#K.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#K#J#I#q.I..................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" }; KCemu-0.5.1/src/ui/gtk/schro.cc0000644000175000017500000001011712417262523016367 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/config.h" #ifdef HAVE_LIBSCHROEDINGER #include #include "kc/system.h" #include "ui/gtk/schro.h" void SchroedingerVideoEncoder::image_free(SchroFrame *frame, void *priv) { delete[] (byte_t *)priv; } SchroedingerVideoEncoder::SchroedingerVideoEncoder(void) { _f = NULL; _buf = NULL; _image = NULL; } SchroedingerVideoEncoder::~SchroedingerVideoEncoder(void) { close(); } bool SchroedingerVideoEncoder::init(const char *filename, int width, int height, int fps_den, double quality) { if (filename == NULL) return false; if (quality < 0) quality = 0; if (quality > 1) quality = 1; _f = fopen(filename, "wb+"); if (_f == NULL) return false; _width = width; _height = height; schro_init(); _encoder = schro_encoder_new(); SchroVideoFormat *format = schro_encoder_get_video_format(_encoder); format->width = width; format->height = height; format->clean_width = width; format->clean_height = height; format->top_offset = 0; format->left_offset = 0; format->aspect_ratio_numerator = 1; format->aspect_ratio_denominator = 1; format->frame_rate_numerator = 50; format->frame_rate_denominator = fps_den; format->chroma_format = SCHRO_CHROMA_444; format->interlaced = FALSE; schro_encoder_set_video_format(_encoder, format); free(format); schro_encoder_setting_set_double(_encoder, "quality", 10 * quality); schro_encoder_start(_encoder); return true; } void SchroedingerVideoEncoder::allocate_color_rgb(int idx, int r, int g, int b) { _col[idx].y = (0.257 * r) + (0.504 * g) + (0.098 * b) + 16; _col[idx].u = -(0.148 * r) - (0.291 * g) + (0.439 * b) + 128; _col[idx].v = (0.439 * r) - (0.368 * g) - (0.071 * b) + 128; } bool SchroedingerVideoEncoder::encode_loop() { while (242) { switch (schro_encoder_wait(_encoder)) { case SCHRO_STATE_AGAIN: break; case SCHRO_STATE_NEED_FRAME: case SCHRO_STATE_END_OF_STREAM: return true; case SCHRO_STATE_HAVE_BUFFER: { SchroBuffer *buffer = schro_encoder_pull(_encoder, NULL); if (fwrite(buffer->data, buffer->length, 1, _f) != 1) return false; schro_buffer_unref(buffer); return true; } default: return false; } } } bool SchroedingerVideoEncoder::encode(byte_t *image, byte_t *dirty) { int count = _width * _height; byte_t *buf = new byte_t[4 * count]; for (int src = 0, dst = 0;src < count;src++, dst += 4) { color_t *col = &_col[image[src]]; buf[dst] = 0; buf[dst + 1] = col->y; buf[dst + 2] = col->u; buf[dst + 3] = col->v; } if (!encode_loop()) return false; SchroFrame *frame = schro_frame_new_from_data_AYUV(buf, _width, _height); schro_frame_set_free_callback(frame, image_free, buf); schro_encoder_push_frame(_encoder, frame); return encode_loop(); } void SchroedingerVideoEncoder::close(void) { if (_f != NULL) { schro_encoder_end_of_stream(_encoder); encode_loop(); schro_encoder_free(_encoder); fclose(_f); } if (_buf != NULL) delete _buf; if (_image != NULL) delete _image; _f = NULL; _buf = NULL; _image = NULL; } #endif /* HAVE_LIBSCHROEDINGER */ KCemu-0.5.1/src/ui/gtk/lc80_keyboard.xpm0000644000175000017500000077367312417262523020145 0ustar glaubitzglaubitz/* XPM */ static char *lc80_keyboard[] = { /* width height num_colors chars_per_pixel */ " 256 500 117 2", /* colors */ ".. c #303030", ".# c #2f2f2f", ".a c #2e2e2e", ".b c #2d2d2d", ".c c #2c2c2c", ".d c #2b2b2b", ".e c #2a2a2a", ".f c #292929", ".g c #282828", ".h c #272727", ".i c #262626", ".j c #242424", ".k c #212121", ".l c #202020", ".m c #1f1f1f", ".n c #1e1e1e", ".o c #1d1d1d", ".p c #1c1c1c", ".q c #232323", ".r c #252525", ".s c #1a1a1a", ".t c #151515", ".u c #131313", ".v c #141414", ".w c #161616", ".x c #191919", ".y c #181818", ".z c #121212", ".A c #1b1b1b", ".B c #222222", ".C c #171717", ".D c #313131", ".E c #323232", ".F c #333333", ".G c #343434", ".H c #353535", ".I c #363636", ".J c #373737", ".K c #383838", ".L c #393939", ".M c #535251", ".N c #8d8c88", ".O c #a4a29f", ".P c #aaa8a4", ".Q c #515150", ".R c #93928e", ".S c #93918e", ".T c #494847", ".U c #464645", ".V c #93928f", ".W c #545352", ".X c #504f4e", ".Y c #8d8c89", ".Z c #a9a7a3", ".0 c #7a7976", ".1 c #555452", ".2 c #817f7c", ".3 c #4b4a48", ".4 c #444342", ".5 c #434341", ".6 c #000000", ".7 c #959490", ".8 c #71706d", ".9 c #484745", "#. c #262625", "## c #212120", "#a c #a8a6a2", "#b c #454442", "#c c #0b0b0a", "#d c #575654", "#e c #4a4947", "#f c #454543", "#g c #8e8c89", "#h c #777673", "#i c #6a6966", "#j c #333231", "#k c #474644", "#l c #95938f", "#m c #595856", "#n c #0d0d0c", "#o c #464544", "#p c #9b9a96", "#q c #4f4e4d", "#r c #4c4b49", "#s c #020202", "#t c #292827", "#u c #1e1e1d", "#v c #686764", "#w c #7b7976", "#x c #8c8b88", "#y c #a4a29e", "#z c #484747", "#A c #454544", "#B c #8d8b88", "#C c #3a3a3a", "#D c #3c3c3c", "#E c #3b3b3b", "#F c #3d3d3d", "#G c #3e3e3e", "#H c #3f3f3f", "#I c #686866", "#J c #92908d", "#K c #797876", "#L c #62615f", "#M c #8b8986", "#N c #a5a39f", "#O c #9b9995", "#P c #9e9c99", "#Q c #434342", "#R c #81807d", "#S c #a2a09d", "#T c #a6a4a0", "#U c #6d6c6a", "#V c #5d5c5b", "#W c #9d2e23", "#X c #2d2a25", "#Y c #efdeb3", /* pixels */ "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...........................................#.#.a.a.a.a.a.a.a.a.a.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.a.a.a.a.a.a.a.a.#.#.#..........................................", ".....................................#.a.b.c.d.e.f.f.g.g.g.g.g.g.h.h.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.f.e.d.c.b.a.#......................................", "...................................a.c.e.g.i.j.k.l.m.m.n.o.n.n.n.o.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.o.n.n.n.n.m.l.k.q.r.h.e.c.a.#..................................", ".................................a.d.h.q.m.s.t.u.u.v.t.t.t.w.w.w.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.w.w.w.w.w.w.w.w.w.x.n.q.g.c.a..................................", "...............................a.d.i.l.y.v.z.u.w.x.s.A.p.n.n.n.n.n.n.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.m.n.n.n.n.o.n.p.o.o.n.B.g.b.#................................", ".............................#.c.h.k.C.u.v.s.m.r.h.g.f.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.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.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.g.g.f.f.f.e.d.d.f.r.j.h.d.#.D.D............................", ".............................a.e.q.x.u.t.n.r.g.g.g.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.e.e.e.e.e.e.e.e.e.e.e.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.c.b.b.c.d.c.a.D.E.D..........................", ".............................b.h.n.u.v.n.i.h.f.e.e.d.d.d.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.b.b.#.#.a.#...E.E.E..........................", "...........................#.c.r.s.u.s.i.f.f.e.c.c.c.d.d.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.a.a.a.......D.E.F.G.G.E.D........................", "...........................#.d.B.t.v.m.g.f.f.d.c.d.d.c.e.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.g.d.b.a.a.#.#.D.D.D.E.E.G.G.H.F.D........................", "...........................a.e.k.u.w.j.g.f.e.d.d.c.e.e.e.e.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.b.b.a.#.a...D.D.E.F.F.I.I.I.F.D........................", "...........................a.f.m.u.x.g.g.e.e.d.c.d.e.e.c.b.................................................................................................................................................................................................................................................................................................................................................................................................................a.b.........D.F.F.G.J.J.J.G.E........................", "...........................a.g.n.v.A.g.f.d.d.d.d.e.e.b...............................................................................................................................................................................................................................................................................................................................................................................................................................E.E.F.G.G.J.K.J.H.E........................", "...........................a.g.o.v.p.g.f.d.d.b.c.e.b.............................................................................................................................................................................................................................................................................................................................................................................................................................E.D.F.G.F.G.H.K.K.K.H.E........................", "...........................a.g.o.t.o.g.f.d.d.b.c.c...........................................D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.................................................G.G.F.G.F.G.I.L.L.K.I.E........................", "...........................b.h.p.t.n.g.e.c.c.e.e.c.........................................D.E.F.E.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D...#.#...........................................D.E.F.G.F.H.I.K.L.K.I.E........................", "...........................b.h.p.w.n.g.e.c.c.g.e.b.....................................D.D.F.G.F...a.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.c.e.c.#...........................................E.G.G.F.H.I.K.L.L.I.E........................", "...........................b.h.p.w.m.g.e.c.c.g.c.....................................D.E.F.F.F.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.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.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.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.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.a.a.a.a.a.a.a.a.a.a.a.a.a.b.d.h.h.d.a.#.......................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.w.m.g.e.c.c.g.c...................................D.E.G.F.E.F.G.F.E.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D.D...a.f.h.g.f.d.#.....................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.t.n.g.e.c.c.g.c...................................D.G.H.G.F.G.G.F.M.N.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.O.N.Q.#.b.d.g.j.r.c.....................................G.I.G.F.H.H.K.L.L.I.F.D......................", "...........................b.h.p.t.n.g.e.c.c.g.c.................................D.F.H.G.H.G.F.E.R.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.S...a.d.j.k.g.a...................................G.I.G.F.H.H.K.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.E.H.G.G.H.G.T.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.O.U.a.g.B.j.e.#.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.H.G.H.G.F.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.O.a.d.i.k.j.b.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.G.G.H.F.V.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.S.a.f.l.l.e.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.G.G.G.W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.X.e.m.o.f.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.0.1.0.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.5.6.5.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.Z.P.P.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.P.P.Z.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#e.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#f.6.4.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.T.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#g#h#g.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.Z.P.P.P.P.P.4.6.3.P.P.P.Z.P.P.P.P.P.Z.P.P.P.3.6.4.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#i#j#k.8#l.P.P.P.P.P.P.P.P.P#l.8#k#j#i.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P#m#n#o.R#p.R.R.R.R.R#p.R#o#n#m.P.P.P.Z.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#e.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.1.6.6.6.6.6.6.6.6.6.1.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P#m#n#o.R#p.R.R.R.R.R#p.R#o#n#m.P.P.P.Z.P.P.P.P.P.3.6#e.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#i#j#k.8#l.P.P.P.P.P.P.P.P.P#l.8#k#j#i.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.Z.P.P.P.P.P.4.6.3.P.P.P.Z.P.P.P.P.P.Z.P.P.P.3.6.4.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#g#h#g.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.Z.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P#f.6.4.P.P.P.P.P.P.P.T.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.T.P.P.P.P.P.P.P.3.6.3.P.P.P.Z.P.P.P.P.P.P.P.P.P.3.6.T.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.3.6#e.P.P.P.P.P.P.P.P.P.P.P.P.P.3.6.3.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#e.6#q.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P#a.7#b#c#d.P.P.P.P.P.P.P.P.P#d#c#b.7#a.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#r.6#s#.#t#.#.#.#.#.#.#.#.#.#.#.#u#.#v.P.P.Z.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.Z.P.P.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.P.P.Z.P.P.P.7.8.9#.###.#.#.#.#.###..9.8.7.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.2.1.3.3#e.3.3.3.3.3.3.3.3.3.3.3#b.3#w.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.Z.P.P.P.2.3.4.3.3.3.3.3.4.3.2.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.Z.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.G.Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#x.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.G.F.G.F.M.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.X.f.m.o.g.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.F.F.E.F.E.R.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.S.c.h.n.n.f.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...............................D.E.E...D.E.E.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#y.b.f.B.o.k.d.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c.................................D.D.#.#.D.D#z.O.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#y#A.d.j.o.m.h.a.................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c.................................D.D.E.......D...S.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.S.a.d.h.l.o.j.b...................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c...................................D.E...b.c.a.....Q#B#y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#y#B.X.b.f.r.k.n.k.e.#...................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c.....................................D...b.e.d.b.a.b.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.d.g.q.m.m.B.g.a.....................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.t.n.f.e.c.c.g.c.......................................D...a.c.e.h.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.r.j.B.m.l.i.d.a.......................................G.I.G.F.H.H.L.L.L.I.F.D......................", "...........................b.h.p.w.m.f.e.c.c.g.c...........................................D...c.h.j.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.h.b.#.........................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.w.m.f.e.c.c.g.c.............................................D...a.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.a.............................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.w.m.g.e.c.c.g.c...................................................................................................................................................................................................................................................................................................................................................................................................................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................b.h.p.w.m.g.e.c.c.g.c...................................................................................................................................................................................................................................................................................................................................................................................................................................G.I.G.F.H.I.L.L.L.I.F.D......................", "...........................a.g.o.w.m.g.e.c.c.d.b.................................................................................................................................................................................................................................................................................................................................................................................................................................F.H.I.G.F.H.I.L.L.L.I.F.D......................", "...........................a.g.n.w.n.f.e.c.c.b.b.a...............................................................................................................................................................................................................................................................................................................................................................................................................................G.H.H.G.G.I.I.L#C#C.I.F.D......................", "...........................a.f.m.w.n.f.d.c.d.b.a.b.............................................................................................................................................................................................................................................................................................................................................................................................................................F.H.G.F.G.G.I.I#C#C#C.I.E........................", "...........................a.f.k.w.n.e.d.c.b.a...............................................................................................................................................................................................................................................................................................................................................................................................................................F.H.H.G.G.H.G.I.I#C#C#C.I.E........................", "...........................#.e.B.w.p.e.d.b.a.........E.D.................................................................................................................................................................................................................................................................................................................................................................................................................F.G.H.H.G.G.H.H.I.J.J#C#C#C.I.E........................", "...........................#.d.r.x.p.e.d.c.a.#.......D.E.E.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.H.H.G.G.G.G.G.G.I.J.K#D#D.L.H.E........................", "...........................#.c.h.n.p.f.b.b.a.D.D...E.F.E.F.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.H.F.G.H.G.G.I.J.J#E#F#F.L.H.E........................", ".............................b.e.q.n.r.b.a...D.D.D.E.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.H.H.G.I.J.J.L#F#G#F.K.G.D........................", ".............................a.c.g.B.j.c.#...D.E.E.F.G.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.F.G.G.G.G.I.I.J.J.K#D#H#H#D.J.F.D........................", "...............................a.d.g.i.e.a.D.E.F.F.G.G.G.H.H.H.H.H.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.H.H.H.H.H.H.H.I.I.J.J.L#D#H#H#G#C.I.E.D........................", "...............................#.a.c.e.d.#.D.E.F.F.G.H.H.H.I.I.I.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.I.I.I.I.I.I.I.I.J.K#E#F#G#H#H#E.J.G.D..........................", "...................................#.#.a...E.F.I.J.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.K.L.L.K.K.L.L.L#C#C#D#F#F#G#G#E.K.H.E.D..........................", ".....................................D.D.E.F.F.H.J.K.K.K.K.L.L.L.K.K.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L#C#C#D#F#F#D#C.J.H.E.D............................", ".....................................D.E.E.F.G.H.I.J.J.K.K.L.L.L.K.K.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.L.K.J.H.F.E.D..............................", ".......................................D.D.E.F.F.G.G.H.H.H.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.H.G.G.F.E.D.D................................", "...........................................D.D.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.E.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....................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................I#q#I#J#K.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#K#J#I#q.I..................................................", "............................................#D#L#M#N#O.P#P#P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#P#P.P#O#N#M#L#D........................................", "......................................#Q#R#S#T#N.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#N#T#S#R#Q..................................", "..................................#U.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#U..............................", "................................#V.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#V............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.6.6.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.6.6.6.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.6.6.6.6.6.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.6.P.P.6.6.P.P.P.6.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.6.P.P.6.P.6.P.6.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.6.P.P.6.P.6.P.6.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.6.P.P.6.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.6.P.P.6.P.P.6.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.6.P.P.6.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.6.P.P.P.P.P.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W#W.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.6.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.6.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.P.P.P.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.6.6.P.P.P.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.6.6.6.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P#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#X#X#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P#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#X#X#X.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y#Y.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", ".................................P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P............................", "................................#V.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#V............................", "..................................#U.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#U..............................", "......................................#Q#R#S#T#N.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#N#T#S#R#Q..................................", "............................................#D#L#M#N#O.P#P#P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#P#P.P#O#N#M#L#D........................................", ".......................................................I#q#I#J#K.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P#K#J#I#q.I..................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................" }; KCemu-0.5.1/src/ui/gtk/vcs80_keyboard.xpm0000644000175000017500000135026312417262523020325 0ustar glaubitzglaubitz/* XPM */ static char * vcs80_keyboard_xpm[] = { "544 340 610 2", " c #3A3939", ". c #000000", "+ c #7C0A00", "@ c #7A7A70", "# c #C9460E", "$ c #C1B5A5", "% c #B54414", "& c #8A4021", "* c #6A3D2A", "= c #543B31", "- c #453A36", "; c #3D3938", "> c #3E3938", ", c #473A35", "' c #523B32", ") c #6A3D2B", "! c #AE4416", "~ c #9E421B", "{ c #5B3C2F", "] c #553C31", "^ c #8F4120", "/ c #C6460F", "( c #413A37", "_ c #4B3B34", ": c #583C30", "< c #6B3D2A", "[ c #834023", "} c #A2421A", "| c #C34510", "1 c #BB4512", "2 c #623D2D", "3 c #4F3B33", "4 c #9F421B", "5 c #673D2C", "6 c #A0421A", "7 c #C8460E", "8 c #9A9083", "9 c #524D46", "0 c #262320", "a c #0D0C0B", "b c #020202", "c c #070606", "d c #141211", "e c #2B2825", "f c #4C4841", "g c #756E64", "h c #A79D8F", "i c #090908", "j c #191715", "k c #3D3934", "l c #7B7369", "m c #BCB0A0", "n c #533B32", "o c #7D3F25", "p c #A34319", "q c #C14511", "r c #C7460F", "s c #BF4511", "t c #AC4317", "u c #663D2C", "v c #563C31", "w c #AA4317", "x c #B7AC9D", "y c #433F3A", "z c #1F1D1B", "A c #A2988A", "B c #B04416", "C c #423A36", "D c #4E3B33", "E c #9A421C", "F c #BC4512", "G c #BE4511", "H c #A84318", "I c #6C3E2A", "J c #433A36", "K c #3C3938", "L c #874022", "M c #BEB2A2", "N c #2D2A26", "O c #161513", "P c #B6AA9B", "Q c #C04511", "R c #5E3C2E", "S c #C14510", "T c #B64414", "U c #5C3C2F", "V c #8F411F", "W c #803F24", "X c #6F685F", "Y c #302D29", "Z c #827A6F", "` c #ACA193", " . c #BCB1A1", ".. c #B1A697", "+. c #998F83", "@. c #787066", "#. c #4E4943", "$. c #1A1816", "%. c #958C7F", "&. c #44403A", "*. c #645E55", "=. c #6F3E29", "-. c #C5460F", ";. c #773F27", ">. c #673D2B", ",. c #282622", "'. c #4B4640", "). c #C0B4A4", "!. c #292623", "~. c #3B3939", "{. c #403A37", "]. c #463A35", "^. c #080706", "/. c #6D3E2A", "(. c #813F24", "_. c #824023", ":. c #050404", "<. c #BAAF9F", "[. c #BDB1A2", "}. c #030303", "|. c #C24510", "1. c #BA4513", "2. c #92411F", "3. c #483A35", "4. c #1B1A17", "5. c #A79C8E", "6. c #11100F", "7. c #9B421C", "8. c #613D2D", "9. c #555048", "0. c #050505", "a. c #58524B", "b. c #9F9588", "c. c #504B45", "d. c #793F26", "e. c #B0A596", "f. c #131210", "g. c #0E0D0C", "h. c #35322D", "i. c #5A544D", "j. c #867E73", "k. c #B6AB9C", "l. c #B8AC9D", "m. c #968D80", "n. c #45413B", "o. c #8F867A", "p. c #5F3C2E", "q. c #A69B8E", "r. c #2A2724", "s. c #49443E", "t. c #AAA092", "u. c #615B53", "v. c #4D3B33", "w. c #B44414", "x. c #AB4317", "y. c #8B8377", "z. c #11100E", "A. c #0A0908", "B. c #8C8378", "C. c #211F1C", "D. c #8E8579", "E. c #252320", "F. c #020101", "G. c #635D55", "H. c #938A7E", "I. c #141311", "J. c #4F4A43", "K. c #9D9487", "L. c #5C574F", "M. c #0B0A09", "N. c #AFA495", "O. c #BD4512", "P. c #3F3937", "Q. c #22201D", "R. c #4F4B44", "S. c #A99E90", "T. c #898075", "U. c #553B31", "V. c #BFB4A4", "W. c #46413C", "X. c #2D2B27", "Y. c #8E4120", "Z. c #693D2B", "`. c #171614", " + c #48433D", ".+ c #91887C", "++ c #BFB3A3", "@+ c #A89E90", "#+ c #7C746A", "$+ c #686259", "%+ c #948A7E", "&+ c #6E3E29", "*+ c #854022", "=+ c #24221F", "-+ c #BBAFA0", ";+ c #383530", ">+ c #3E3A35", ",+ c #BA4512", "'+ c #3F3B36", ")+ c #B3A899", "!+ c #9D9386", "~+ c #010101", "{+ c #91411F", "]+ c #4A3A34", "^+ c #AA9F91", "/+ c #7B7469", "(+ c #544F48", "_+ c #33302B", ":+ c #1A1917", "<+ c #060605", "[+ c #2E2B27", "}+ c #9A9184", "|+ c #433E39", "1+ c #AD4316", "2+ c #844023", "3+ c #B74413", "4+ c #9C421C", "5+ c #AF4416", "6+ c #423A37", "7+ c #7F3F24", "8+ c #90411F", "9+ c #7E3F25", "0+ c #A54319", "a+ c #B84413", "b+ c #8B4021", "c+ c #894021", "d+ c #603C2E", "e+ c #573C30", "f+ c #9D421B", "g+ c #5A3C2F", "h+ c #A1421A", "i+ c #533B31", "j+ c #443A36", "k+ c #513B32", "l+ c #5D3C2F", "m+ c #864022", "n+ c #7A3F26", "o+ c #643D2D", "p+ c #703E29", "q+ c #593C30", "r+ c #493A35", "s+ c #776F66", "t+ c #766F65", "u+ c #733E28", "v+ c #653D2C", "w+ c #743E28", "x+ c #753E27", "y+ c #743E27", "z+ c #854023", "A+ c #8C4020", "B+ c #B34415", "C+ c #95411E", "D+ c #49453F", "E+ c #4A463F", "F+ c #783F26", "G+ c #8D4120", "H+ c #93411E", "I+ c #98421D", "J+ c #36332F", "K+ c #655F57", "L+ c #655E56", "M+ c #37342F", "N+ c #B9AD9E", "O+ c #503B32", "P+ c #1E1C1A", "Q+ c #7D756B", "R+ c #787167", "S+ c #201E1B", "T+ c #797268", "U+ c #B9AE9F", "V+ c #2F2C28", "W+ c #69635A", "X+ c #A64318", "Y+ c #B14415", "Z+ c #B94513", "`+ c #B04415", " @ c #47433D", ".@ c #534E47", "+@ c #493A34", "@@ c #7B3F25", "#@ c #8E857A", "$@ c #5E5850", "%@ c #3A3732", "&@ c #3A3631", "*@ c #5F5951", "=@ c #683D2B", "-@ c #97411D", ";@ c #888074", ">@ c #847C71", ",@ c #837B70", "'@ c #171513", ")@ c #C44610", "!@ c #59534C", "~@ c #423E38", "{@ c #59544C", "]@ c #8D8478", "^@ c #0F0E0D", "/@ c #A09689", "(@ c #A74318", "_@ c #A64319", ":@ c #A94318", "<@ c #24211E", "[@ c #9E9487", "}@ c #763E27", "|@ c #6A635B", "1@ c #312E2A", "2@ c #6B645B", "3@ c #736C62", "4@ c #746D63", "5@ c #99421C", "6@ c #B24415", "7@ c #AEA395", "8@ c #6F685E", "9@ c #2A2824", "0@ c #36322E", "a@ c #A3998B", "b@ c #7C3F25", "c@ c #080807", "d@ c #121110", "e@ c #46423C", "f@ c #877F74", "g@ c #5C564E", "h@ c #884022", "i@ c #B2A798", "j@ c #040403", "k@ c #A49A8C", "l@ c #723E28", "m@ c #6D665D", "n@ c #6E675E", "o@ c #726B62", "p@ c #5D3C2E", "q@ c #713E28", "r@ c #99421D", "s@ c #7E3F24", "t@ c #ADA394", "u@ c #100F0E", "v@ c #ABA092", "w@ c #877E73", "x@ c #34312D", "y@ c #706960", "z@ c #A1978A", "A@ c #605A52", "B@ c #5D5750", "C@ c #5B554E", "D@ c #1E1C19", "E@ c #81796F", "F@ c #7E766B", "G@ c #B4A99A", "H@ c #403C36", "I@ c #7F776D", "J@ c #272522", "K@ c #81796E", "L@ c #1D1B19", "M@ c #686159", "N@ c #135817", "O@ c #05C204", "P@ c #011B01", "Q@ c #049403", "R@ c #024A02", "S@ c #024B02", "T@ c #05BA04", "U@ c #000900", "V@ c #4C3B34", "W@ c #037902", "X@ c #012001", "Y@ c #037A03", "Z@ c #012F01", "`@ c #036A02", " # c #036902", ".# c #013001", "+# c #643D2C", "@# c #04A703", "## c #000100", "$# c #000300", "%# c #05B104", "&# c #05B004", "*# c #000200", "=# c #04A803", "-# c #025E02", ";# c #023B01", "># c #013A01", ",# c #025F02", "'# c #94411E", ")# c #05C004", "!# c #011600", "~# c #038403", "{# c #011700", "]# c #048E03", "^# c #000F00", "/# c #05BE04", "(# c #024401", "_# c #025502", ":# c #025402", "<# c #05B704", "[# c #000700", "}# c #049F03", "|# c #049E03", "1# c #A44319", "2# c #037402", "3# c #012601", "4# c #012501", "5# c #012A01", "6# c #037002", "7# c #036F02", "8# c #012B01", "9# c #04A303", "0# c #04A403", "a# c #025902", "b# c #025A02", "c# c #001200", "d# c #001300", "e# c #633D2D", "f# c #048803", "g# c #011500", "h# c #011400", "i# c #048903", "j# c #023E01", "k# c #025C02", "l# c #025B02", "m# c #023F01", "n# c #05B304", "o# c #000400", "p# c #04A503", "q# c #000500", "r# c #05B404", "s# c #036E02", "t# c #012D01", "u# c #012401", "v# c #037602", "w# c #037302", "x# c #04AE04", "y# c #05B604", "z# c #000800", "A# c #013201", "B# c #038703", "C# c #049703", "D# c #013401", "E# c #037702", "F# c #001000", "G# c #04A903", "H# c #05BF04", "I# c #037C03", "J# c #013801", "K# c #04AD04", "L# c #001100", "M# c #048D03", "N# c #026102", "O# c #05B804", "P# c #000E00", "Q# c #038603", "R# c #024301", "S# c #036D02", "T# c #013901", "U# c #05BB04", "V# c #000600", "W# c #048A03", "X# c #04AA04", "Y# c #000B00", "Z# c #037102", "`# c #012801", " $ c #049903", ".$ c #05BC04", "+$ c #025102", "@$ c #036C02", "#$ c #049303", "$$ c #038303", "%$ c #011D01", "&$ c #038103", "*$ c #036302", "=$ c #037E03", "-$ c #05C104", ";$ c #011800", ">$ c #036602", ",$ c #012C01", "'$ c #037502", ")$ c #013301", "!$ c #05B904", "~$ c #780004", "{$ c #BA0403", "]$ c #B10403", "^$ c #730202", "/$ c #3F0101", "($ c #1C0100", "_$ c #090000", ":$ c #010000", "<$ c #060000", "[$ c #160000", "}$ c #320101", "|$ c #5D0201", "1$ c #960302", "2$ c #AA0403", "3$ c #650202", "4$ c #120000", "5$ c #040000", "6$ c #A90403", "7$ c #413D38", "8$ c #B90403", "9$ c #670202", "0$ c #0B0000", "a$ c #260101", "b$ c #850302", "c$ c #B80403", "d$ c #5D0202", "e$ c #B30403", "f$ c #350101", "g$ c #330101", "h$ c #370101", "i$ c #170100", "j$ c #600202", "k$ c #910302", "l$ c #AC0403", "m$ c #B60403", "n$ c #A70403", "o$ c #8B0302", "p$ c #610202", "q$ c #3A0101", "r$ c #1D0100", "s$ c #6E0202", "t$ c #9F0303", "u$ c #A00303", "v$ c #700202", "w$ c #1E0100", "x$ c #3B0101", "y$ c #3C3833", "z$ c #6D0202", "A$ c #540201", "B$ c #950302", "C$ c #500201", "D$ c #740202", "E$ c #B50403", "F$ c #110000", "G$ c #4D0201", "H$ c #140000", "I$ c #410101", "J$ c #400101", "K$ c #B70403", "L$ c #7D0302", "M$ c #B40403", "N$ c #800302", "O$ c #AE0403", "P$ c #0A0000", "Q$ c #810302", "R$ c #470201", "S$ c #5A0201", "T$ c #4A0201", "U$ c #510201", "V$ c #4B0201", "W$ c #A59B8D", "X$ c #230101", "Y$ c #890302", "Z$ c #240101", "`$ c #830302", " % c #250101", ".% c #0D0000", "+% c #A80403", "@% c #A60403", "#% c #0F0000", "$% c #92897D", "%% c #020000", "&% c #030000", "*% c #0C0000", "=% c #0E0000", "-% c #403C37", ";% c #8C0302", ">% c #840302", ",% c #490201", "'% c #590201", ")% c #520201", "!% c #7F0302", "~% c #B00403", "{% c #AF0403", "]% c #4C0201", "^% c #430101", "/% c #420101", "(% c #750302", "_% c #9C421B", ":% c #8D0302", "<% c #AB0403", "[% c #AD0403", "}% c #2C0101", "|% c #380101", "1% c #1F0100", "2% c #1F0101", "3% c #390101", "4% c #080000", "5% c #B20403", "6% c #300101", "7% c #310101", "8% c #720202", "9% c #3E0101", "0% c #A20303", "a% c #5B0201", "b% c #96411D", "c% c #7C0302", "d% c #460201", "e% c #220101", "f% c #620202", "g% c #640202", "h% c #820302", "i% c #9C0303", "j% c #580201", "k% c #5C0201", "l% c #200101", "m% c #930302", "n% c #A30403", "o% c #6B0202", "p% c #050000", "q% c #940302", "r% c #880302", "s% c #130000", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . ", " . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # % & * = - ; > , ' ) & ! # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # ~ { ] ^ / # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # ; ( _ : < [ } | # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # 1 2 3 4 # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # > 5 6 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 8 9 0 a b c d e f g h $ $ $ . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . $ $ . . . . . . . i j k l m $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # ! , n o p % q r s t ^ u ; # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # v w # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ x y . . . . . . . . . . . $ $ $ . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . $ $ . . . . . . . . . . . z A $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # B C D E # # # # # # # # # # F o > # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # r G % H & I J K L # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ M N . . . . . . . . . . . . $ $ $ . . . . . . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . . . . . . $ $ . . . . . . . . . . . . O P $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # Q _ R S # # # # # # # # # # # # # T U # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | V _ W # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ X . . . Y Z ` . ...+.@.#.$.$ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ x %.&.. . . *.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # =. U -.# # # # # # # # # # # # # # # r ;.# # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Q >. E # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ,.. . '.).$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ 9 . . !.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # ! ~. {.% # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 5 ].q # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^.. . ` $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ h . . a $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # /. (.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # S D _.# # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ :.. . <.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ [.. . }.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # |.> K 1.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2. 3.7 # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 4.. . l $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ 5.. . 6.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # 7. 8.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -., H # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9.. . 0.a.b.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ c.. . k $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # d. _.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # =. [ # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ e.f.. . . . g.h.i.j.k.$ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ l.m.n.. . . o.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # p. 6 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ^ >.# # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ q.r.. . . . . . . c s.t.$ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . u.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # v. w.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # x. = # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ y.n.z.. . . . . . A.B.$ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . C.D.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # ( F # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # T - # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5.Z i.E.. . . i h $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . F.G.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # K -.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Q > # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H.I.. . J.$ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ m K.f . . . @.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # K -.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r ~.# # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ y.. . $.$ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ L.. . M.N.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # ( O.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # s P.# # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ m . . :.$ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ M Q.. . R.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # v. w.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # T ].# # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ S.. . ^.$ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ T.. . :.t.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # R 6 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # x. U.# # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ V.W.. . 0 $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ X.. . s.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # d. _.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Y. Z.# # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ `. +X .+h l.++m @+#+r.. . . $+$ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ %+. . b A $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # E 2 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # &+ *+# # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . =+-+$ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ ;+. . >+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # |.> K ,+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -.]. w # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . '+)+$ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ !+~+. . +.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # I (.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # {+ ]+7 # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^+/+(+_+:+A.b <+6.[+a.}+$ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ |+. . _+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # 1+~. {.T # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # S v. 2+# # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # &+ U -.# # # # # # # # # # # # # # # r ;.# # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 5 , |.# # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # s ]+ R |.# # # # # # # # # # # # # 3+U # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Q >. 4+# # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # 5+6+ 3 7.# # # # # # # # # # G 7+P. # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | 8+_ _.# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # t ]. n 9+0+T |.-.a+x.b+8.; # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # r G T H b+I J K c+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # 1.d+ 3 4 # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # e+x.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # f+g+ ] ^ / # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # > >.h+# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w.& ) i+j+; ; , k+Z.c+! # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # ; ( _ : < [ p | # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . ", " . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . ", " . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # S ^ < 3 j+K j+3 < ^ S # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # |.{+Z.3 6+; ].l+[ a+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # 7 m+( ( m+7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # Y.]. K n+-.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # o n+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # > ].U.=.2.q # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # / o+ o+/ # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # / p+ q+q # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # r r+ , r # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # > 9+| # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . s+$ $ $ $ $ $ $ $ t+. . . . . $ $ $ $ $ $ $ $ $ $ $ 4.. . 4.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . i j k l m $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # u+ v+6 G / O.4 2 w+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # w+ K x+x.|.|.x.y+~. d+7 # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # 6 ~ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # U.G # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . Y $ $ $ $ $ $ $ $ Y . . . . . $ $ $ $ $ $ $ $ $ $ H.. . . . %+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . z A $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # 1+~. c+# # # # # # # z+ ~.! # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # 4+ > p # # # # # # h+> A+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # * Z.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 |.B+C+8. U 7 # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . b . ~+t.$ $ $ $ $ $ ^+~+. b . . . $ $ $ $ $ $ $ $ $ $ D+. . . . E+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . O P $ $ $ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ;. v+# # # # # # # # # 2 F+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # 7 ' V # # # # # # # # G+ ].| # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # s > ; s # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H+~. I+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . J+. . K+$ $ $ $ $ $ L+. . M+. . . $ $ $ $ $ $ $ $ $ N+i . . . . i N+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ x %.&.. . . *.$ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ' 6 # # # # # # # # # 4 ' # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # } O+7 # # # # # # # # 7 3 c+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # Y. 3 3 A+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # x+ u # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . #+. . z $ $ $ $ $ $ P+. . Q+. . . $ $ $ $ $ $ $ $ $ R+. . S+S+. . T+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ 9 . . !.$ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # C G # # # # # # # # # O. J # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # n+ z+# # # # # # # # # # [ q+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # : z+2+ e+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t ]+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . U+i . . }+$ $ $ $ 8 . . i U+. . . $ $ $ $ $ $ $ $ $ V+. . W+$+. . Y $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ h . . a $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ; r # # # # # # # # # / ; # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # q+ X+# # # # # # # # # # 0+ ~.1.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # Y+ ~.Z+Z+~. `+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |. ; # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ @. . (+$ $ $ $ .@. . +$ . . . $ $ $ $ $ $ $ $ 5.~+. }.e.N.b . ~+h $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ [.. . }.$ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # r+ G # # # # # # # # # O. ]+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # +@ O.# # # # # # # # # # F C+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # @@ 8.# # 8. n+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | ( # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ D.. . z.M $ $ M z.. . #@$ . . . $ $ $ $ $ $ $ $ $@. . %@$ $ &@. . *@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ 5.. . 6.$ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # 5 6 # # # # # # # # # 4 =@# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # P. -.# # # # # # # # # # -. 9+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # r , -@# # -@ , r # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1+ n # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ V.I.. . T.$ $ ;@. . I.V.$ . . . $ $ $ $ $ $ $ V.O . . >@$ $ ,@. . '@V.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ c.. . k $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # 7. v+# # # # # # # # # 2 f+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # > / # # # # # # # # # # -. 5 # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # 4 C -.# # )@C ~ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ;. ;.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ !@. . |+$ $ ~@. . {@$ $ . . . $ $ $ $ $ $ $ ]@. . ^@[.$ $ [.^@. . D.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ l.m.n.. . . o.$ $ $ $ $ $ $ . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # 7 U c+# # # # # # # z+ R 7 # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # , O.# # # # # # # # # # F n # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # Z. u+# # # # u+ =@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # C+K K Y+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ b.. . c x k.c . . /@$ $ . . . $ $ $ $ $ $ $ y . . 9.$ $ $ $ (+. . &.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . u.$ $ $ $ $ $ $ $ . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # F O+ v+h+G r G 6 2 ' O.# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # ] (@# # # # # # # # # # _@ _ # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # s ; :@# # # # H ; G # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 | w.-@2 & # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ <@. . @.s+. . =+$ $ $ . . . $ $ $ $ $ $ P c . . [@$ $ $ $ K.. . c P $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . C.D.$ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # |.x+; ; }@|.# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # x+ *+# # # # # # # # # # 2+ j+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # A+ O+# # # # # # 3 A+# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # 3 E # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ |@. . 1@Y . . 2@$ $ $ . . . $ $ $ $ $ $ 3@. . 0 $ $ $ $ $ $ E.. . 4@$ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . F.G.$ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # -.V j+ j+V -.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # 5@ k+7 # # # # # # # # 7 O+ ; # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # e+ m+# # # # # # *+ v # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # >.6@# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ 7@b . ~+~+. b N.$ $ $ . . . $ $ $ $ $ $ r.. . X $ $ $ $ $ $ 8@. . 9@$ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ m K.f . . . @.$ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # 7 Y., ].A+7 # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # / 3. {+# # # # # # # # Y. > # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # `+ ~.1.# # # # # # 1.~. B # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # ~.p+|.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ h.. . . . 0@$ $ $ $ . . . $ $ $ $ $ A . . . . . . . . . . . . . . a@$ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ L.. . M.N.$ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # / Z. C o H s r s (@b@C 5 / # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # & P.0+# # # # # # p > , # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # n+ 2 # # # # # # # # 8. d.# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # / O.(@_.+@ v |.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ /+. . . . #+$ $ $ $ . . . $ $ $ $ $ !@. . . . . . . . . . . . . . {@$ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ M Q.. . R.$ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # y+ e+1.# # # # # # # Z+] u+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # 7 d+ K ;.t |.|.x.x+~. ]. O+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # r , I+# # # # # # # # -@ ].r # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.=@ < # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ N+c@. . i U+$ $ $ $ . . . $ $ $ $ ++d@. . . . . . . . . . . . . . f.++$ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ T.. . :.t.$ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # x. ].O.# # # # # # # # # F ]. x.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # s U 6+6 U # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # ~ J -.# # # # # # # # -.C f+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # / k+ x.# # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ e@. . e@$ $ $ $ $ . . . $ $ $ $ f@. . I.++$ $ $ $ $ $ $ $ ++d . . ;@$ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ X.. . s.$ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # p+ L # # # # # # # # # # # m+ p+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # -.@@> { B+x. ;.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # =@ w+# # # # # # # # # # w+ >.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # {+ x+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ >+. . g@$ $ $ $ $ $ $ $ $ $ i.. . '+$ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ %+. . b A $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # D Y+# # # # # # # # # # # Y+ D # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # Z+h@d+_ P.6+k+=.h+7 # H+ C+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # G ; ; G # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # % i+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ i@j@. . k@$ $ $ $ $ $ $ $ $ $ a@. . :.)+$ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ ;+. . >+$ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # > | # # # # # # # # # # # | P.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # l@ % # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # b+ b+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # )@ 6+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ m@. . N $ $ $ $ $ $ $ $ $ $ $ $ r.. . n@$ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ !+~+. . +.$ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # {. )@# # # # # # # # # # # | {.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r ]+ q+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # ] ] # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | ; # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ <@. . g $ $ $ $ $ $ $ $ $ $ $ $ o@. . =+$ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ |+. . _+$ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # _ B+# # # # # # # # # # # Y+ v.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # f+ {+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # 5+ ~.1.# # # # # # # # # # # # 1.~. 5+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # % +@# # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # v+ h@# # # # # # # # # # # m+ u # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # / n r+| # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # d. 2 # # # # # # # # # # # # # # 2 d.# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8+ p@# # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # ^ , G # # # # # # # # # O.]. V # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ;. 7.# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # r ]. I+# # # # # # # # # # # # # # I+ ].r # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -.O+ L # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # | , q+1 # # # # # # # Z+v 3.| # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # 8.1+# # # # # # # # S q@ =@# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # f+ J -.# # # # # # # # # # # # # # -.J f+# # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.=@ J O.# # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # r@~. j+9+:@Q r s H b@C ~.5@# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # g+b+! Q / 1 X+o ]. e+|.# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # 5 w+# # # # # # # # # # # # # # # # w+ 5 # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # / G (@_.+@ 2.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # A+K K A+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # 8.S # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # O.; w # # # # # # # # # # # # # # # # w ; G # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # ~.c+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # w e+ e+w # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # ].Y.7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # & O+# # # # # # # # # # # # # # # # # # O+ b+# # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # e+w # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # x.7+8._ 6+K 6+_ d+s@x.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # T {+u+{ +@> ~.( ' /.-@-.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # = m+# # # # # # # # # # # # # # # # # # m+ U.# # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # K J v.o+W ! # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ t@u@$ $ $ $ $ $ @+f.$ t@u@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ t@g.$ $ .O !+$ $ $ y.`.v@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ w@J+$ $ $ $ $ $ Z %@$ w@J+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ w@x@$ $ $ y@|+$ $ z@O b.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ A@B@$ $ $ $ $ $ L.u.$ A@L.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ A@C@$ $ $ m '@h ..D@o.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ &@>@$ $ $ $ $ $ J+f@$ &@,@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ &@E@$ $ $ $ n@D+[+F@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ f.. . . . . . . . 7@$ f.^+$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ f.@+$ $ $ $ G@j@L.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ t@u@$ $ $ $ $ $ t.f.$ t@g.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ t@g.$ $ $ $ l.x@9 H@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ w@0@$ $ $ $ $ $ >@%@$ w@x@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ w@x@$ $ $ P [+I@$ <@z@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ A@L.$ $ $ $ $ $ B@u.$ A@C@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ A@C@$ $ i@J@Q+$ $ T+y $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ &@Z $ $ $ $ $ $ J+f@$ &@K@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ &@E@$ 7@Q.l $ $ $ [.O k@$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ f.@+$ $ $ $ $ $ u@7@$ f.. . . . . O $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ f.@+t.L@R+$ $ $ $ $ M@ @$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . ", " . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. ", " . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . N@N@N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@N@N@. . N@N@N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@N@N@. ", " . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . N@N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@N@. . N@N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # / 5@=.n 6+K P.+@{ w+2.T # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ;. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # 7 8+, # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # _@~. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # |.o+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # ~.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@. . P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@P@. . P@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | v. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # | : - o 0+1./ s ! b+q+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # o+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@Q@. . . . Q@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@Q@. . . . Q@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # }@ ]+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # ) p+q # # # # # # # # 1+8.# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.( f+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@R@. . . . S@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@R@. . . . S@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 0+~. h+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # 4+ }@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8+ +@r # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@T@U@. . . . U@T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@T@U@. . . . U@T@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.V@ =.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # | +@ ' / # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # e+ (.# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@W@. . X@X@. . Y@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@W@. . X@X@. . Y@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # y+ , s # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # {+ f+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t ~.Z+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@Z@. . `@ #. . .#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@Z@. . `@ #. . .#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # p ~. 4+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # q+ +@r # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # u+ +## # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@@###. $#%#&#*#. ##=#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@@###. $#%#&#*#. ##=#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # |._ * # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # % l@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.( ~ # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@-#. . ;#O@O@>#. . ,#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@-#. . ;#O@O@>#. . ,#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # u+ - O.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # '# H+# 7 } p+' C {.V@8.c+1.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8+ ]+r # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@)#!#. . ~#O@O@~#. . {#)#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@)#!#. . ~#O@O@~#. . {#)#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # } -@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # ;. t w.U P.9+/ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # e+ (.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@]#. . ^#/#O@O@/#^#. . ]#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@]#. . ^#/#O@O@/#^#. . ]#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # S _ u # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # w+e+J K 6+V@R s@_@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # { h+C p.S # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t K Z+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@(#. . _#O@O@O@O@:#. . (#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@(#. . _#O@O@O@O@:#. . (#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # l@ J ,+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # = 4+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # 3 ]. K x+x.|.|.x.x+K +## # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # u+ v+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<#[#. . }#O@O@O@O@|#. . [#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@<#[#. . }#O@O@O@O@|#. . [#<#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # h+ 2.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # q@/ # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # ]. > p # # # # # # 1#P. Y.# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.( ~ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@2#. . 3#O@O@O@O@O@O@4#. . 2#O@O@O@O@O@O@O@. . . . . . . . . . . . . . . . . . O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@2#. . 3#O@O@O@O@O@O@4#. . 2#O@O@O@O@O@O@O@. . . . . . . . . . . . . . . . . . O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # q ]+ 8.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # O+W h+1.-.| Z+~ ;.( ) 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # > {+# # # # # # # # 8+ ]+r # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8+ ]+r # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@5#. . 6#O@O@O@O@O@O@7#. . 8#O@O@O@O@O@O@O@. . . . . . . . . . . . . . . . . . O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@5#. . 6#O@O@O@O@O@O@7#. . 8#O@O@O@O@O@O@O@. . . . . . . . . . . . . . . . . . O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # q@ ( a+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # p@0+# # # # # # # # # s ) m+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # ; k+7 # # # # # # # # 7 O+ 7.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # v _.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@9#. . . . . . . . . . . . . . 0#O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@9#. . . . . . . . . . . . . . 0#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # 6 G+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # l@ 6+O.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # J *+# # # # # # # # # # *+ ;.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t K Z+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@a#. . . . . . . . . . . . . . b#O@O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@a#. . . . . . . . . . . . . . b#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # q +@ l+7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # / D G+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # ]+ (@# # # # # # # # # # X+ e+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # u+ u # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@)#c#. . . . . . . . . . . . . . d#)#O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@)#c#. . . . . . . . . . . . . . d#)#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # =. P.% # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # A+ e## # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # ' O.# # # # # # # # # # F r+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.( 4 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#. . g#)#O@O@O@O@O@O@O@O@)#h#. . i#O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@f#. . g#)#O@O@O@O@O@O@O@O@)#h#. . i#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # c+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # B+ v.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # v+ / # # # # # # # # # # -. > # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8+ _ 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@j#. . k#O@O@O@O@O@O@O@O@O@O@l#. . m#O@O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@j#. . k#O@O@O@O@O@O@O@O@O@O@l#. . m#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | {.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # o -.# # # # # # # # # # -. {.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # v [ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@n#o#. . p#O@O@O@O@O@O@O@O@O@O@0#. . q#r#O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@n#o#. . p#O@O@O@O@O@O@O@O@O@O@0#. . q#r#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # |. {.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # C+ O.# # # # # # # # # # F ]+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t K ,+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@s#. . t#O@O@O@O@O@O@O@O@O@O@O@O@5#. . s#O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@s#. . t#O@O@O@O@O@O@O@O@O@O@O@O@5#. . s#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # B+ v.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # Z+ X+# # # # # # # # # # _@ g+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # u+ u # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@u#. . v#O@O@O@O@O@O@O@O@O@O@O@O@w#. . 4#O@O@O@O@O@O@O@O@O@O@O@O@. . O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@u#. . v#O@O@O@O@O@O@O@O@O@O@O@O@w#. . 4#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # G+ 2 # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # e+ z+# # # # # # # # # # 2+ b@# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # |.( 6 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r 3 b+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # L k+7 # # # # # # # # 7 O+ p # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # 8+ _ 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # d. {.1 # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # |.]. 8+# # # # # # # # 8+ n # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # v [ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # { f+r # # # # # # # # # | l@ _.# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # b+ P.1## # # # # # 0+P. f+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # t K 1 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # ].l@H+t F )@/ F 1#o - u r # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # r R K x+x.|.|.x.}@K }@# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # u+ 5 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # &+-.# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # Q : q@r # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # |.( h+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # e+f+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # -.d.K ].Y.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # V V@7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # ,+f+_.I q+_ ( K ; - 3 u [ t # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # a+_.U - K ( D =@{+|.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # v 2+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@x#. . . $#X@i#O@O@O@O@y#-#X@z#U@A#B#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@x#. . . *#c#j#C#O@O@O@x#. . . . . d#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@B#D#O@O@T@E#F#O@O@O@G#P@l#@#H#%#I#;#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@B#J#O@O@H#K#2#L#M#O@O@B#D#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@N#k#O@O@O@O#P#O@O@/#4#Y@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@N#-#O@O@O@O@O@Q#5#O@O@N#k#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@>#~#O@)#@#R#S#O@O@E#T#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@>#~#O@O@O@O@O@U#V#O@O@>#~#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@d#. . . o#I#O@O@O@.#W#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@d#X#O@O@O@O@O@O#Y#O@O@d#. . . . U@)#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@x#P#O@O@/#Z#`#O@O@O@Y#y#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@x#P#O@O@O@O@O@O@ $8#O@x#P#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@B#D#O@O@O@.$q#O@O@O@q#/#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@B#D#O@O@O@O@O@O@+$@$O@B#D#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@N#l#O@O@O@=#g#O@O@O@4##$O@O@O@O@r#$$O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@N#l#O@O@O@O@O@~#%$T@O@N#l#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@>#&$O@O@G#D#*$O@O@O@$$P@]#.$<#=${#=$O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@>#&$O@-$y##$S@P@0#O@O@>#&$O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@d#. . *#;$>$)#O@O@O@O@B#,$z#[#8#'$H#O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@d#. . q#c#)$s#!$O@O@O@d#. . . . . W@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. . N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@. ", " . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . N@N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@N@. . N@N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@N@. ", " . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . N@N@N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@N@N@. . N@N@N@N@N@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@O@N@N@N@N@N@. ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. . N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@N@. ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$. . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$. . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$. . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . ~$~$~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$~$~$. . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . ", " . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . ~$~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$~$. . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1+F+] 6+K 6+] F+! # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # Y+& /.i+- K C v.u L Z+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # 1 4 *+=.{ v.6+; > , e+x+~ 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # G Z. * s # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # s x.-@_.&+q+- # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # B b@_ K /.O.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # V@f+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # Z+D D ,+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # , w # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # n+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${$]$^$/$($_$:$<$[$}$|$1${${${${${${${${${${${${$2$3$}$4$5$5$4$}$3$6${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . i :+7$,@++$ $ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # )@i+ ]+G+T -.% b++@ U.-.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # i+o p a+-.q x.9+6+ j+Y+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # {.Z.8+t G r Q ! h@v. *+# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${$8$9$0$. . . . . . . . . . a$b${${${${${${${${$c$d$<$. . . . . . . . <$d$c${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . r.` $ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # W U.O.# # # # # F = _.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # j+: I (.C+w s # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # ~.< H # # # # # # # # a+i+ q+7 # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # : '#-.# # # # # # # # )@I > T # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${$e$f$. . . . . . . . . . . . . . {${${${${${${$e$g$. . . . . . . . . . . . g$e${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . C.m $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # G ( P.% # # # # # # # w.> C s # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # 8.5+# # # # # # # # # # # Z+j+ ~ # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r e+ s@# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${$8$h$. . . i$j$k$l$c$m$n$o$p$a$. . {${${${${${${$q$. . . r$s$t$m$m$u$v$w$. . . x${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ k..+y$. . . X $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # (. o # # # # # # # # # b@ _.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 2+ p+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # I+ v # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${$z$. . . A$m${${${${${${${${${$B$f${${${${${${$^$. . . C$m${${${${${${$m$C$. . . D${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ s.. . Y $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # ' % # # # # # # # # # w. = # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Y+ O+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 1 - # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$E$F$. . G${${${${${${${${${${${${${${${${${${$m$H$. . I${${${${${${${${${${$J$. . H$K${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ q.. . ^@$ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # T = # # # # # # # # # # # i+ 3+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # )@ C # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # / ; # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$L$. . F$M${${${${${${${${${${${${${${${${${${$N$. . 0$O${${${${${${${${${${$O$P$. . Q${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ .. . j@$ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # 2. y+# # # # # # # # # # # w+ H+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # s K # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # G , # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$R$. . S${${${${${${${${${${${${${${${${${${${$T$. . U${${${${${${${${${${${${$C$. . V${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ W$. . g.$ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # @@ {+# # # # # # # # # # # {+ b@# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # w 6+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 4 v+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$X$. . Y${${${${${${${${${${${${${${${${${${${$Z$. . b${${${${${${${${${${${${$`$. . %{${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ E+. . Y $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # +# p # # # # # # # # # # # } v+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # b@ v.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # d+ I+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$.%. . +%{${${${${${${${${${${${${${${${${${${$.%. . n${${${${${${${${${${${${$@%. . #%{${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ x $%>+. . . n@$ $ $ $ . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ' B+# # # # # # # # # # # B+ n # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | , d+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r b@ g+7 # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$%%. . M${${${${${${${$. . . . . . . . {${${${$%%. . M${${${${${${${${${${${${$e$. . 5${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . z -+$ $ $ $ . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ]+ O.# # # # # # # # # # # O. _ # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # W 7+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # | B+8+] ' F # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$%%. . K${${${${${${${$. . . . . . . . {${${${$%%. . E${${${${${${${${${${${${$M$. . &%{${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . J@t.$ $ $ $ $ . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # J |.# # # # # # # # # # # |. j+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t ; K T # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # > d.|.# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$.%. . 2${${${${${${${$. . . . . . . . {${${${$*%. . n${${${${${${${${${${${${$@%. . =%{${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . c@$.-%K@M $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ; r # # # # # # # # # # # / ; # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # s D d.# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # j+A+q # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$Z$. . ;%{${${${${${${${${${${${$. . . {${${${$Z$. . b${${${${${${${${${${${${$>%. . %{${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ; r # # # # # # # # # # # r ; # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # r 2 i+)@# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # ( (./ # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$,%. . '%{${${${${${${${${${${${$. . . {${${${$,%. . )%{${${${${${${${${${${${$)%. . T${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # J |.# # # # # # # # # # # |. j+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # u+ 3.T # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 7 S B+C+o+~. U S # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$N$. . 4$e${${${${${${${${${${${$. . . {${${${$!%. . *%~%{${${${${${${${${${${%0$. . N${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ]+ G # # # # # # # # # # # O. ]+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # [ - Y+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # H ]+ 5 # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${$m$H$. . ]%{${${${${${${${${${${$. . . {${${${$m$4$. . ^%{${${${${${${${${${$/%. . H$m${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # ' w.# # # # # # # # # # # B+ ' # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # {+ C t # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # % ( h+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${$(%. . . ]%e${${${${${${${${${$. . . {${${${${$v$. . . )%K${${${${${${$K$)%. . . ^${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # +# p # # # # # # # # # # # } v+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # _%K {.H # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # [ * # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${$J$. . . 4$S$:%<%K$m$[%1$z$}%. . . {${${${${$8$|%. . . 1%v$u$m$m$u$v$2%. . . 3%{${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # n+ {+# # # # # # # # # # # {+ b@# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # X+> > 1## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Y+ ]+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${$m$/$. . . . . . . . . . . . . 4%(%{${${${${${$5%6%. . . . . . . . . . . . 7%5%{${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # {+ x+# # # # # # # # # # # y+ H+# # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # 5+C K ~ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # )@ ; # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${$8%4$. . . . . . . . . :$9%0%{${${${${${${${$K$a%<$. . . . . . . . <$a%K${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # % = # # # # # # # # # # # = T # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # T 3. ~.b%# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # q j+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${$E$c%d%e%0$%%5$H$g$f%0%{${${${${${${${${${${${$6$3$7%4$&%&%4$7%g%+%{${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ . . . . . . . . . . . . . . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # ' ~.% # # # # # # # # # % i+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # O.3 A+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # x. ' # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # W o # # # # # # # # # b@ _.# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # |.e+ W # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # @@ w+# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # O.{. P.% # # # # # # # w.> ( G # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # / 8. u+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # &+|.# # # # # # # # # # # # B > p # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # s@ U.O.# # # # # F = (.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # 7 I u r # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # v.b%r # # # # # # # # # h+]. 2 # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # | ' ]+Y.T -.T A++@ i+-.# # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # n+ { )@# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # v.n+6 T | / G x.G+U _ a+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # a+v. D Z+# # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # B+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # i+3+# # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # G =@ Z.G # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # B+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # t q@( +@h@r # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # t ;.= ( ~.( U.;.t # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # B+# # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # -.4 d.p@r+P.; j+v.2 9+} 7 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${$n$.%{${$f$z${${${${${$v$}%e${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${$h%}${${$i%H$]${${${$L$ %{%{${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${$|$j%{${${$C$k%{${$Y$l%2${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${$h$L${${${$O$[$+%m%r$n%{${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${$4$0%{${${${$o%|%r$i%{${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${$n$.%{${${${${$<%p%q%{${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${$h%}${${${${${$r%}%{${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${$|$j%{${${${${$p$A${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${$h$L${${${${${$q$c%{${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${$4$0%{${${${${$s%n%{${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + . . ~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$. . @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ . ", " . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + . . ~$~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$~$. . @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ . ", " . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . + + + + + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + + + + + . . ~$~$~$~$~${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${${$~$~$~$~$~$. . @ @ @ @ @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$. . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$. . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + . . ~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$~$. . @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ . ", " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "}; KCemu-0.5.1/src/ui/gtk/vdip.cc0000644000175000017500000001172412417262523016220 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "cmd/cmd.h" #include "ui/gtk/vdip.h" #include "ui/gtk/cmd.h" #include "libdbg/dbg.h" class CMD_ui_vdip_window_toggle : public CMD { private: VDIPWindow *_w; public: CMD_ui_vdip_window_toggle(VDIPWindow *w) : CMD("ui-vdip-window-toggle") { _w = w; register_cmd("ui-vdip-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; class CMD_ui_vdip_update : public CMD { private: VDIPWindow *_w; public: CMD_ui_vdip_update(VDIPWindow *w) : CMD("ui-vdip-update") { _w = w; register_cmd("ui-vdip-update-MSG"); } void execute(CMD_Args *args, CMD_Context context) { DBG(2, form("KCemu/VDIP/update", "got vdip-update message\n")); long slot_no = args->get_long_arg("slot"); if ((slot_no < 0) || (slot_no > 1)) return; _w->set_name(slot_no, args->get_string_arg("filename")); } }; class CMD_ui_vdip_attach : public CMD { private: VDIPWindow *_w; public: CMD_ui_vdip_attach(VDIPWindow *w) : CMD("ui-vdip-attach") { _w = w; register_cmd("ui-vdip-attach-1", 0); register_cmd("ui-vdip-attach-2", 1); register_cmd("ui-vdip-detach-1", 4); register_cmd("ui-vdip-detach-2", 5); } void execute(CMD_Args *args, CMD_Context context) { const char *filename; if (!args) args = new CMD_Args(); filename = NULL; switch (context) { case 0: case 1: case 2: case 3: args->set_long_arg("slot", context); CMD_EXEC_ARGS("vdip-attach", args); break; case 4: case 5: case 6: case 7: args->set_long_arg("slot", context & 3); CMD_EXEC_ARGS("vdip-detach", args); break; } } }; VDIPWindow::VDIPWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { init(); _cmd_attach = new CMD_ui_vdip_attach(this); _cmd_update = new CMD_ui_vdip_update(this); _cmd_window_toggle = new CMD_ui_vdip_window_toggle(this); } VDIPWindow::~VDIPWindow(void) { delete _cmd_attach; delete _cmd_update; delete _cmd_window_toggle; } void VDIPWindow::set_name(int idx, const char *name) { GtkEntry *entry = GTK_ENTRY(GTK_BIN(_w.combo[idx])->child); if (!name) name = ""; gtk_signal_handler_block(GTK_OBJECT(_w.combo[idx]), _w.combo_signal_id[idx]); gtk_entry_set_text(entry, name); gtk_signal_handler_unblock(GTK_OBJECT(_w.combo[idx]), _w.combo_signal_id[idx]); } void VDIPWindow::sf_vdip_attach(GtkWidget *widget, gpointer data) { long nr = (long)data; GtkEntry *entry = GTK_ENTRY(GTK_BIN(widget)->child); const gchar *text = gtk_entry_get_text(GTK_ENTRY(entry)); if (text == NULL) return; if (strlen(text) == 0) return; CMD_Args *args = new CMD_Args(); args->set_long_arg("slot", nr); args->set_string_arg("filename", text); CMD_EXEC_ARGS("vdip-attach", args); } void VDIPWindow::init(void) { static const char * attach_cmd[2] = { "ui-vdip-attach-1", "ui-vdip-attach-2", }; static const char * detach_cmd[2] = { "ui-vdip-detach-1", "ui-vdip-detach-2", }; /* * vdip window */ _window = get_widget("vdip_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-vdip-window-toggle"); // FIXME: _w.combo[0] = get_widget("vdip_comboboxentry_1"); _w.combo[1] = get_widget("vdip_comboboxentry_2"); _w.browse[0] = get_widget("vdip_button_open_1"); _w.browse[1] = get_widget("vdip_button_open_2"); _w.eject[0] = get_widget("vdip_button_close_1"); _w.eject[1] = get_widget("vdip_button_close_2"); for (int a = 0;a < 2;a++) { _w.combo_signal_id[a] = gtk_signal_connect(GTK_OBJECT(GTK_COMBO_BOX(_w.combo[a])), "changed", GTK_SIGNAL_FUNC(sf_vdip_attach), (gpointer)a); gtk_signal_connect(GTK_OBJECT(_w.browse[a]), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (char *)attach_cmd[a]); // FIXME: gtk_signal_connect(GTK_OBJECT(_w.eject[a]), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (char *)detach_cmd[a]); // FIXME: } init_dialog("ui-vdip-window-toggle", "window-vdip"); } KCemu-0.5.1/src/ui/gtk/disk.cc0000644000175000017500000001456712417262523016220 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "cmd/cmd.h" #include "ui/gtk/disk.h" #include "ui/gtk/cmd.h" #include "libdbg/dbg.h" class CMD_ui_disk_window_toggle : public CMD { private: DiskWindow *_w; public: CMD_ui_disk_window_toggle(DiskWindow *w) : CMD("ui-disk-window-toggle") { _w = w; register_cmd("ui-disk-window-toggle"); } void execute(CMD_Args *args, CMD_Context context) { _w->toggle(); } }; class CMD_ui_disk_update : public CMD { private: DiskWindow *_w; public: CMD_ui_disk_update(DiskWindow *w) : CMD("ui-disk-update") { _w = w; register_cmd("ui-disk-update-MSG"); } void execute(CMD_Args *args, CMD_Context context) { int disk_no; DBG(2, form("KCemu/Disk/update", "got disk-update message\n")); disk_no = args->get_long_arg("disk"); if ((disk_no < 0) || (disk_no > 3)) return; _w->set_name(disk_no, args->get_string_arg("filename")); } }; class CMD_ui_disk_attach : public CMD { private: DiskWindow *_w; public: CMD_ui_disk_attach(DiskWindow *w) : CMD("ui-disk-attach") { _w = w; register_cmd("ui-disk-attach-1", 0); register_cmd("ui-disk-attach-2", 1); register_cmd("ui-disk-attach-3", 2); register_cmd("ui-disk-attach-4", 3); register_cmd("ui-disk-detach-1", 4); register_cmd("ui-disk-detach-2", 5); register_cmd("ui-disk-detach-3", 6); register_cmd("ui-disk-detach-4", 7); } void execute(CMD_Args *args, CMD_Context context) { const char *filename; if (!args) args = new CMD_Args(); filename = NULL; switch (context) { case 0: case 1: case 2: case 3: args->set_long_arg("disk", context); CMD_EXEC_ARGS("disk-attach", args); break; case 4: case 5: case 6: case 7: args->set_long_arg("disk", context & 3); CMD_EXEC_ARGS("disk-detach", args); break; } } }; DiskWindow::DiskWindow(const char *ui_xml_file) : UI_Gtk_Window(ui_xml_file) { init(); _cmd_attach = new CMD_ui_disk_attach(this); _cmd_update = new CMD_ui_disk_update(this); _cmd_window_toggle = new CMD_ui_disk_window_toggle(this); } DiskWindow::~DiskWindow(void) { delete _cmd_attach; delete _cmd_update; delete _cmd_window_toggle; } void DiskWindow::set_name(int idx, const char *name) { GtkEntry *entry = GTK_ENTRY(GTK_BIN(_w.combo[idx])->child); if (!name) name = ""; gtk_signal_handler_block(GTK_OBJECT(_w.combo[idx]), _w.combo_signal_id[idx]); gtk_entry_set_text(entry, name); gtk_signal_handler_unblock(GTK_OBJECT(_w.combo[idx]), _w.combo_signal_id[idx]); } void DiskWindow::sf_disk_attach(GtkWidget *widget, gpointer data) { long nr = (long)data; GtkEntry *entry = GTK_ENTRY(GTK_BIN(widget)->child); const gchar *text = gtk_entry_get_text(GTK_ENTRY(entry)); if (text == NULL) return; if (strlen(text) == 0) return; CMD_Args *args = new CMD_Args(); args->set_long_arg("disk", nr); args->set_string_arg("filename", text); CMD_EXEC_ARGS("disk-attach", args); } void DiskWindow::init(void) { static const char * attach_cmd[4] = { "ui-disk-attach-1", "ui-disk-attach-2", "ui-disk-attach-3", "ui-disk-attach-4", }; static const char * detach_cmd[4] = { "ui-disk-detach-1", "ui-disk-detach-2", "ui-disk-detach-3", "ui-disk-detach-4", }; /* static const char * disk_files[] = { "a5105sys.dump", "caos.dump", "cpmz9.dump", "microdos.dump", "tools.dump", "z1013cpm.dump", "z1013gdc.dump", NULL }; GtkTreeIter iter;*/ GtkListStore *store = gtk_list_store_new(1, G_TYPE_STRING); // for (int a = 0;disk_files[a] != NULL;a++) // { // gtk_list_store_append(store, &iter); // gtk_list_store_set(store, &iter, 0, disk_files[a], -1); // } /* * disk window */ _window = get_widget("disk_window"); gtk_signal_connect(GTK_OBJECT(_window), "delete_event", GTK_SIGNAL_FUNC(cmd_exec_sft), (char *)"ui-disk-window-toggle"); // FIXME: _w.combo[0] = get_widget("disk_comboboxentry_1"); _w.combo[1] = get_widget("disk_comboboxentry_2"); _w.combo[2] = get_widget("disk_comboboxentry_3"); _w.combo[3] = get_widget("disk_comboboxentry_4"); for (int a = 0;a < 4;a++) { gtk_combo_box_set_model(GTK_COMBO_BOX(_w.combo[a]), GTK_TREE_MODEL(store)); GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(_w.combo[a]), renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(_w.combo[a]), renderer, "text", 0, NULL); } _w.browse[0] = get_widget("disk_button_open_1"); _w.browse[1] = get_widget("disk_button_open_2"); _w.browse[2] = get_widget("disk_button_open_3"); _w.browse[3] = get_widget("disk_button_open_4"); _w.eject[0] = get_widget("disk_button_close_1"); _w.eject[1] = get_widget("disk_button_close_2"); _w.eject[2] = get_widget("disk_button_close_3"); _w.eject[3] = get_widget("disk_button_close_4"); for (int a = 0;a < NR_OF_DISKS;a++) { _w.combo_signal_id[a] = gtk_signal_connect(GTK_OBJECT(GTK_COMBO_BOX(_w.combo[a])), "changed", GTK_SIGNAL_FUNC(sf_disk_attach), (gpointer)a); gtk_signal_connect(GTK_OBJECT(_w.browse[a]), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (char *)attach_cmd[a]); // FIXME: gtk_signal_connect(GTK_OBJECT(_w.eject[a]), "clicked", GTK_SIGNAL_FUNC(cmd_exec_sf), (char *)detach_cmd[a]); // FIXME: } init_dialog("ui-disk-window-toggle", "window-disk"); } KCemu-0.5.1/src/ui/gtk/kcemu-remote.c0000644000175000017500000000552412417262523017511 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include void send(Display *disp, const unsigned char *cmd, int len) { Atom atom, type_ret; int a, format_ret; unsigned char *prop_ret; unsigned int nchildren_ret; unsigned long nitems_ret, bytes_after_ret; Window w, root, root_ret, parent_ret, *children_ret; atom = XInternAtom(disp, "_KCEMU_REMOTE_COMMAND", False); root = DefaultRootWindow(disp); if (!XQueryTree(disp, root, &root_ret, &parent_ret, &children_ret, &nchildren_ret)) return; for (a = 0;a < nchildren_ret;a++) { w = XmuClientWindow(disp, children_ret[a]); XGetWindowProperty(disp, w, atom, 0, (65536 / sizeof(long)), False, XA_STRING, &type_ret, &format_ret, &nitems_ret, &bytes_after_ret, &prop_ret); if (type_ret == None) continue; printf("property found! on window %x -> %s\n", (unsigned int)w, prop_ret); XChangeProperty(disp, w, atom, XA_STRING, 8, PropModeReplace, cmd, len); } } const unsigned char * pack_args(int argc, char **argv, int *len_ret) { int a, len; char *ptr; unsigned char *args; printf("argc = %d\n", argc); len = 0; for (a = 1;a < argc;a++) { printf("argv[%d] = %s\n", a, argv[a]); len += strlen(argv[a]) + 1; } if (!(args = (unsigned char *)malloc(len))) return 0; ptr = (char *)args; for (a = 1;a < argc;a++) { strcpy(ptr, argv[a]); ptr += strlen(argv[a]) + 1; } *len_ret = len; return args; } int main(int argc, char **argv) { Display *disp; int len; const unsigned char *args; if (argc < 2) return 1; disp = XOpenDisplay(""); if (disp == 0) { printf("can't open display\n"); exit(1); } args = pack_args(argc, argv, &len); if (!args) return 1; send(disp, args, len); return 0; } KCemu-0.5.1/src/ui/gtk/kc851_keyboard_pressed.xpm0000644000175000017500000132602412417262523021740 0ustar glaubitzglaubitz/* XPM */ static char *kc851_keyboard_pressed[] = { /* width height num_colors chars_per_pixel */ " 721 256 87 2", /* colors */ ".. c #989993", ".# c #000000", ".a c #656662", ".b c #333331", ".c c #444442", ".d c #222221", ".e c #111111", ".f c #777773", ".g c #555552", ".h c #878883", ".i c #c8c8c8", ".j c #373737", ".k c #c83737", ".l c #c75350", ".m c #ea1f1e", ".n c #fd0403", ".o c #a6857f", ".p c #ff0000", ".q c #272725", ".r c #979892", ".s c #31312f", ".t c #585855", ".u c #595956", ".v c #4b4b48", ".w c #595a56", ".x c #8b8c86", ".y c #7b7c77", ".z c #464744", ".A c #010101", ".B c #1a1a19", ".C c #52524f", ".D c #5d5e5a", ".E c #1b1c1b", ".F c #555652", ".G c #40413e", ".H c #84857f", ".I c #0b0b0a", ".J c #848580", ".K c #141413", ".L c #272826", ".M c #71726e", ".N c #050505", ".O c #60615d", ".P c #373836", ".Q c #181817", ".R c #878882", ".S c #232321", ".T c #71716d", ".U c #898a85", ".V c #62625f", ".W c #434341", ".X c #0e0e0d", ".Y c #3e3e3c", ".Z c #50504d", ".0 c #3d3e3b", ".1 c #0b0b0b", ".2 c #2f2f2e", ".3 c #080808", ".4 c #41413f", ".5 c #454542", ".6 c #1e1f1d", ".7 c #646460", ".8 c #111110", ".9 c #282827", "#. c #72736f", "## c #747470", "#a c #858681", "#b c #2e2f2d", "#c c #2a2b29", "#d c #8b8c87", "#e c #3f3f3d", "#f c #80807b", "#g c #3c3d3a", "#h c #6e6e6a", "#i c #757671", "#j c #83847f", "#k c #353533", "#l c #292927", "#m c #292928", "#n c #0d0d0c", "#o c #1f1f1e", "#p c #4c4c49", "#q c #53c750", "#r c #1fea1e", "#s c #04fd03", "#t c #84a77f", "#u c #00ff00", /* pixels */ "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.#.#...a.b.........b.#.a.....#.#.#.a.b...a.b...................................................#.#.#...a.#.#.#.b.b.#.#.a.................................................#.#.#.a.#.#.b...b.#.#.#.a.#.#.#.#.a.b...a.b...................................#.....#.a.#.#.#.b.b.a.......#.........a.#.b...b.a...b.a.....................................#.#.#...a.b.......b.a...b.a.#.#.#.#.....................................#.....#...a.#.b.....b.#.#.a.#.#.#.#.a.b...a.b.b.#.#.#.a...#.#.....................................#.#.#.a.b...a.b...b.#.a...#.....#.............................................#.....#.a.b...a.b.b.#.#.a...#.#.#.#.a.#.#.#.b..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.....#.a.b.......b.a...b.a.#.......a.b...a.b...................................................#.....#.a.b.......b.a...b.a.............................................#.......a.b...a.b.b.a.......#.......a.#.b.a.b...................................#.....#.a.b.......b.a.......#.......a.b...a.b.b.a...b.a.....................................#.....#.a.b.......b.a...b.a.#...........................................#.#.#.#.a.b...a.b.b.a.......#.......a.#.b.a.b.....b.a...#.....#.................................#.......a.b...a.b.b.a...b.a.#.#...#.............................................#.....#.a.b...a.b...b.a.........#...a.b........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.....#.a.b.......b.a...b.a.#.......a.b.a.b.....................................................#.....#.a.b.......b.a...b.a.............................................#.......a.b...a.b.b.a.......#.......a.#.b.a.b...................................#.....#.a.b.......b.a.......#.......a.b...a.b.b.a...b.a.....................................#.....#.a.b.......b.a...b.a.#...........................................#.#.#.#.a.b...a.b.b.a.......#.......a.#.b.a.b.....b.a...#.....#.................................#.......a.b...a.b.b.a...b.a.#.#...#.............................................#.....#.a.b...a.b...b.a.........#...a.b........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.b.b.a.a.b.......b.c.a.d.a.#.......a.e.c.f.....................................................#.a.a.b.a.e.b.g...b.a...b.a.............................................#...b.#.a.d.a.g.g.b.d.b.f...#.b.b...a.b.a.#.b...................................#.....#.a.e.b.g...b.a.......#.......a.b...a.b.b.a.f.d.a.....................................#.b.b.a.a.b.......b.a...b.a.#.b.b.......................................#.b...#.a.d.a.c.b.b.a.g.e.a.#.b.b...a.b.a.#.b.....b.a...#.a.a.#.................................#.......a.b...a.b.b.c.a.d.a.#...#.#.............................................#...a.#.a.e.b.d.b...b.a.........#...a.e.b.g....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.....#.a.b.......b.d.b.e.a.#.......a.b.f.c.f...................................................#.b.b.a.a.b.......b.a...b.a.............................................#.....#.a.e.b.c.f.b.a.......#.......a.b.f.d.b...................................b.a.a.#.a.b.......b.a.......#.......a.b...a.b.b.c.d.#.a.....................................#.....#.a.b.......b.a...b.a.#...........................................#.....#.a.e.b.d.b.b.a...b.a.#.......a.b.f.d.b.....b.a...#.b.b.#.................................#.......f.c.a.c.b.b.d.b.e.a.#...b.#.............................................#.a.#.#.a.b...a.b...b.a.........#...a.b........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.....#.a.b.......b.a...b.a.#.......a.b...a.b...................................................#.....#.a.b.......b.a...b.a.............................................#.....#.a.b...a.b.b.a.......#.......a.b...a.b.....................................b.b.#.a.b.......b.a.......#.......a.b...a.b.b.#.#.#.a.....................................#.....#.a.b.......b.a...b.a.#...........................................#.....#.a.b...a.b.b.a...b.a.#.......a.b...a.b.....b.a...#.....#.................................#.........f.b.d.b.b.a...b.a.#.....#.............................................#.#.#.#.a.b...a.b...b.a.........#...a.b........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................#.a.a.b.a.d.a.a.f.b.a...b.a.b.a.a.a.a.b...a.b...................................................#.....#.a.d.a.a.f.b.c.a.c.f.............................................b.a.a.#.a.b...a.b.b.c.a.a.h.#.a.a.a.a.b...a.b...................................a.a.a.b.a.d.a.a.f.b.c.a.a.h.#.a.a.a.f.c.a.g.g.b.d.b.e.a.....................................#.a.a.b.a.d.a.a.f.g.g.a.c.f.#.a.a.a.....................................#.....#.a.b...a.b.g.g.a.d.a.#.a.a.a.a.b...a.b.....b.a...#.....#.................................b.a.a.a.h.a.a.g.g.b.a...b.a.#.....#.............................................#.b.b.#.a.b...a.b.f.d.c.h.......#...a.d.a.a.f..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................b.b.b...f.b.b.b.g.g.f...g.f...b.b.b.f.g...f.g...................................................b.....b.f.b.b.b.g.g.b.b.f.................................................b.b.b.f.g...f.g.g.b.b.b.f.b.b.b.b.f.g...f.g...................................b.b.b...f.b.b.b.g.g.b.b.b.f.b.b.b.b...f.b.g...g.f...g.f.....................................b.b.b...f.b.b.b.g...g.b.f...b.b.b.b.....................................b.....b.f.g...f.g...g.b.b.f.b.b.b.b.f.g...f.g.....g.f...b.....b...................................b.b.b.f.b.b.g...g.f...g.f.b.....b.............................................b.....b.f.g...f.g.g.b.b.f.......b...f.b.b.b.g..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".............................................................................................................................................................................f.f...............................................................................a.h.h.a.........................................................................a.h.h.a.............................................................................b.b.......................................................................................................................................................................h.a.f.................................................................................f.f.................................................................................a.h...............................................................................a.h......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................#.a.a.#.........................................................................#.a.a.#...........................................................................b.e.e.b...............................................................................g.b.f...g.g...........................................................................d.c.e.f...............................................................................b.b...............................................................................g.d.h...............................................................................c.d......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................#.a.a.#.........................................................................#.a.a.#.......................................................................h.d.g.b.b.g.d.h.........................................................................a.#.a.#.h.d.g.........................................................................b.g...f.e...............................................................................b.b.............................................................................a.#.....................................................................................b.b.........................................................................................................................................................................................................................................................................................................................a.g.a.g.g.....a.g.a.g.g...f.g.......g.f.h.a.a.b.a.a.h......................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................#.a.a.#.....................................................................f.b.#.d.d.#.b.f...................................................................a.#...b.b...a.h.........................................................................h.d.d.c.a.#...........................................................................b.g...f.e.............................................................................f.e.f.............................................................................d.c.....................................................................................f.e.f.....................................................................................................................................................................................................................................................................................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b.......b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................................................................................................#.a.a.#.......................................................................f.e.f.b.b.......................................................................................#.a.............................................................................d.#.e.f...............................................................................................................................................................#.a.......................................................................................#.a.....................................................................................................................................................................................................................................................................................................................a.b.......g.f.a.b.......b.a.a.d.h.....b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................................................................................................#.a.a.#.........................................................................f.e.e.e.b...................................................................................g.d.h.............................................................................d.#.e.f.f.f...........................................................................................................................................................#.a.......................................................................................#.a.....................................................................................................................................................................................................................................................................................................................a.b...........a.b.......b.a.a.e.e.f...b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................................................................................................#.a.a.#.............................................................................b.b.g.d.h.............................................................................h.d.g...........................................................................h.d.g...f.e.e.f...........................................................................................................................................................#.a.......................................................................................#.a.....................................................................................................................................................................................................................................................................................................................a.b...........a.b.......b.a.a.b.f.e...b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................f.f...........................................................................................................................................................f.b.#.d.d.#.b.f.........................................................................b.b...#.a.............................................................................a.#.............................................................................a.#.......b.b.............................................................................................................................................................#.a.......................................................................................#.a.....................................................................................................................................................................................................................................................................................................................a.b...........a.b.......b.a.a.b...h.e.e.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................f.f...............................................................................................................................................................#.a.a.#.......................................................................f.e.f.b.b.f.e.f.............................................................................#.a.c.d.d.h.....................................................................a.#.......b.b.............................................................................................................................................................a.#.....................................................................................b.b.......................................................................................................................................................................................................................................................................................................................a.b.......f.h.a.b.......b.a.a.b.....f.e.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................b.b...............................................................................................................................................................#.a.a.#.........................................................................f.e.e.e.e.f.............................................................................g.d.h.#.a.#.a.....................................................................h.d.g...f.e.e.f...........................................................................................................................................................h.d.g.................................................................................f.e.f.......................................................................................................................................................................................................................................................................................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b.......b.a.......#............................................................................................................................................................................................................................................", ".............................................................................................................................................................................g.g...............................................................................................................................................................b.f.f.b.............................................................................b.b.................................................................................g.g...f.b.g...........................................................................b.b.b.f.f.f...............................................................................................................................................................b.f...............................................................................b.f.............................................................................f.b.b.b.b.b.b.f...............................................................................................................................................................................................................................g.d.b.d.c.....g.d.b.d.c...a.b.......b.a.......#............................................................................................................................................................................................................................................", "...................................................................................................................................................................................................................................................................................................................................................................................................................................f.f............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k.k................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...........................................................a.g.a.g.g.....a.g.a.g.g...f.g.......g.f.h.a.a.b.a.a.h.f.c.a.a.g.g.................................................f.f...............................................................................a.a.a.a.........................................................................a.a.a.a...................................................................................a.h.........................................................................h.a.a.a.a.a.a.h.........................................................................a.a.a.a.f.......................................................................h.a.a.a.a.a.a.h.........................................................................a.a.a.a.............................................................................a.a.a.a.............................................................................a.a.a.a.............................................................................f.a.a.a.a.....................................................................................................................................f.c.a.a.g.g.....a.g.a.g.g...f.g.......g.f...a.g.a.g.g...f.c.a.a.a.a.h.............................................................................................f.c.a.a.g.g...f.c.a.a.a.a.h...a.g.a.g.g...f.c.a.a.a.a.h.h.a.a.b.a.a.h............................................................", ".........................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b.......b.a.......#.......a.b.....h.d.f.............................................f.e.b.............................................................................g.d.a.a.d.g.....................................................................g.d.a.a.d.g...............................................................................g.#.a.........................................................................a.#.a.a.a.a.a.h.......................................................................g.d.a.a.a.f.......................................................................a.#.a.a.a.a.#.a.......................................................................g.d.a.a.d.g.........................................................................g.d.a.a.d.g.........................................................................g.d.a.a.d.g.........................................................................f.e.a.a.a.d.g...................................................................................................................................a.b.....h.d.f.f.b.h...h.d.f.a.b.......b.a.f.b.h...h.d.f.a.b.......................................................................................................a.b.....h.d.f.a.b...........f.b.h...h.d.f.a.b.................#..................................................................", ".........................................................a.b.......g.f.a.b.......b.a.a.d.h.....b.a.......#.......a.b.......b.a...........................................f.e.e.b...........................................................................a.#.........#.a.................................................................f.b.........#.a...........................................................................c.d.#.a.........................................................................a.#.................................................................................a.#.................................................................................f.b.........#.a.....................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................a.#.........#.a.......................................................................#.a...f.a.a.#.a.................................................................................................................................a.b.......b.a.a.b.......b.a.a.b.......b.a.a.b...........a.b.......................................................................................................a.b.......b.a.a.b...........a.b...........a.b.................#..................................................................", ".........................................................a.b...........a.b.......b.a.a.e.e.f...b.a.......#.......a.b.....h.d.f...........................................f.f.b.b...........................................................................a.#.........#.a.............................................................................#.a.........................................................................g.d.h.#.a.........................................................................a.#.................................................................................a.#...........................................................................................g.d.h.....................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................a.#.......g.#.a.......................................................................#.a.f.e.a.a.#.a.................................................................................................................................a.b.....h.d.f.a.b.......b.a.a.b.......b.a.f.b.h.........a.b.......................................................................................................a.b.....h.d.f.a.b...........f.b.h.........a.b.................#..................................................................", ".........................................................a.b...........a.b.......b.a.a.b.f.e...b.a.......#.......a.e.b.b.d.c.................................................b.b.....................................................................................f.e.f...........................................................................f.e.f.......................................................................c.d.....#.a.........................................................................a.#.a.a.a.a.........................................................................a.#.a.a.a.a.................................................................................h.d.g.......................................................................f.e.f.....f.e.f.....................................................................a.#.........#.a.....................................................................a.#.....c.d.#.a.......................................................................#.a.#.a.....#.a.................................................................................................................................a.e.b.b.d.c...a.b.......b.a.a.b.......b.a...g.d.b.b.f...a.e.b.b.b.f...............................................................................................a.e.b.b.d.c...a.e.b.b.b.f.....g.d.b.b.f...a.e.b.b.b.f.........#..................................................................", ".........................................................a.b...........a.b.......b.a.a.b...h.e.e.a.......#.......a.d.d.g.....................................................b.b...................................................................................f.e.f.......................................................................f.b.b.e.f.......................................................................g.d.h.....#.a.........................................................................h.a.a.a.a.d.g.......................................................................a.#.a.a.a.d.g...............................................................................a.#...........................................................................f.e.b.b.e.f.......................................................................h.d.g.......#.a.....................................................................a.#...g.d.h.#.a.......................................................................#.a.#.a.....#.a.................................................................................................................................a.b...........a.d.a.a.a.d.a.a.b.......b.a.........h.d.f.a.b.......................................................................................................a.d.d.g.......a.b...................h.d.f.a.b.................#..................................................................", ".........................................................a.b.......f.h.a.b.......b.a.a.b.....f.e.a.......#.......a.b...d.f...................................................b.b.................................................................................f.e.f...............................................................................g.d.h...................................................................a.#.........#.a.....................................................................................#.a.....................................................................a.#.........#.a.............................................................................#.a.........................................................................h.d.g.....g.d.h.........................................................................b.b.b.b.#.a.....................................................................a.#.c.d.....#.a.......................................................................#.a.#.a.....#.a.................................................................................................................................a.b...........a.b.......b.a.a.b.......b.a...........b.a.a.b.......................................................................................................a.b...d.f.....a.b.....................b.a.a.b.................#..................................................................", ".........................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b.......b.a.......#.......a.b...h.b.g.................................................b.b...............................................................................f.e.f...................................................................................#.a...................................................................a.#.........#.a.....................................................................................#.a.....................................................................a.#.........#.a...........................................................................g.d.h.........................................................................a.#.........#.a.................................................................................#.a.....................................................................a.#.d.h.....#.a.......................................................................#.a.c.d.....#.a.................................................................................................................................a.b...........a.b.......b.a.f.b.h...h.d.f.h.g.h...h.d.f.a.b.......................................................................................................a.b...h.b.g...a.b...........h.g.h...h.d.f.a.b.................#..................................................................", "...........................................................g.d.b.d.c.....g.d.b.d.c...a.b.......b.a.......#.......a.b.....h.d.f...............................................b.b.............................................................................f.e.f.........................................................................h.a.........#.a...................................................................f.b.b.b.b.b.#.a.........................................................................h.a.........#.a.....................................................................a.#.........#.a...........................................................................b.b...........................................................................a.#.........#.a.................................................................................#.a.....................................................................a.#.........#.a.......................................................................#.a...g.b.b.b.f.................................................................................................................................a.b...........a.b.......b.a...g.d.b.d.c.....g.d.b.d.c...a.e.b.b.b.b.f.............................................................................................a.b.....h.d.f.a.e.b.b.b.b.f...g.d.b.d.c...a.e.b.b.b.b.f.......#..................................................................", ".............................................................................................................................................................................b.b...........................................................................f.e.f...........................................................................h.d.g.....g.d.h...............................................................................#.a.........................................................................h.d.g.....g.d.h.....................................................................h.d.g.....g.d.h...........................................................................b.b...........................................................................h.d.g.....g.d.h...............................................................................g.d.h.....................................................................h.d.g.....g.d.h.......................................................................c.d................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".........................................................................................................................................................................g.b.b.b.b.g.......................................................................f.b.b.b.b.b.b.f.....................................................................b.b.b.b...................................................................................b.f.............................................................................b.b.b.b.............................................................................b.b.b.b...............................................................................g.g...............................................................................b.b.b.b...........................................................................g.b.b.b.b.............................................................................b.b.b.b.............................................................................g.b.b.b.b.b.f....................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.c.a.a.g.g...f.c.a.a.a.a.h.f.g......................................................................................................................................................................................................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.....h.d.f.a.b...........a.b......................................................................................................................................................................................................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.b...........a.b...............................................................................................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.b...........a.b...............................................................................................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.e.b.b.b.f...a.b...............................................................................................................................#.#.................................................#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.b...........a.b...............................................................................................................................#.#.................................................#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.......b.a.a.b...........a.b...............................................................................................................................#.#.................................................#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.b.....h.d.f.a.b...........a.b...............................................................................................................................#.#.................................................#.#................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.e.b.b.d.c...a.e.b.b.b.b.f.a.e.b.b.b.b.f.....................................................................................................................#.#.................................................#.#................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.................................................#.#................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#...................l.m.n.n.m.l...................#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#...............o.m.p.p.p.p.p.p.m.o...............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#...............m.p.p.p.p.p.p.p.p.m...............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............l.p.p.p.p.p.p.p.p.p.p.l.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............m.p.p.p.p.p.p.p.p.p.p.m.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............n.p.p.p.p.p.p.p.p.p.p.n.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............n.p.p.p.p.p.p.p.p.p.p.n.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............m.p.p.p.p.p.p.p.p.p.p.m.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#.............l.p.p.p.p.p.p.p.p.p.p.l.............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#...............m.p.p.p.p.p.p.p.p.m...............#.#................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................#.#...............o.m.p.p.p.p.p.p.m.o...............#.#................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#...................l.m.n.n.m.l...................#.#................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.................................................#.#................................................................", "...........................................................a.g.a.g.g.....a.g.a.g.g...f.g.............a.g.a.g.g...f.c.a.a.g.g.............................................a.a.a.a.........................................................................a.h.........a.h.....................................................................h.a.a.a.a.a.a.h.....................................................................h.a.a.a.a.a...........................................................................h.a.a.a.a.a.a.h...................................................................h.a.a.a.a.a.a.h.....................................................................h.a.........a.h.........................................................................a.a.a.a...............................................................................a.a.a.a.........................................................................h.a.a.a.a.a.......................................................................................................................................................................................................................................h.a.b.a.h...f.g.......g.f...a.g.a.g.g.........................................f.g.............h.a.b.a.h.....a.g.a.g.g...h.a.a.b.a.a.h.........................#.#.................................................#.#................................................................", ".........................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b...........f.b.h...h.d.f.a.b.....h.d.f.........................................g.d.a.a.d.g.......................................................................#.a.........#.a.....................................................................a.#.a.a.a.a.a.h.....................................................................a.#.a.a.a.d.g.........................................................................h.a.a.d.d.a.a.h...................................................................h.a.a.a.a.a.#.a.....................................................................a.#.........#.a.........................................................................a.d.d.a.............................................................................g.d.a.a.d.g.......................................................................a.#.a.a.a.d.g...............................................................................f.f.......................................................................................................................................................#.......a.b.......b.a.f.b.h...h.d.f.......................................a.b.................#.......f.b.h...h.d.f.......#...............................#.#.................................................#.#................................................................", ".........................................................a.b.......g.f.a.b.......b.a.a.b...........a.b.......b.a.a.b.......b.a.......................................a.#.........#.a.....................................................................#.a.........#.a.....................................................................a.#.................................................................................a.#.........#.a.............................................................................b.b.....................................................................................#.a.....................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#.........#.a...........................................................................f.e.e.f.....................................................................................................................................................#.......a.d.h.....b.a.a.b.................................................a.b.................#.......a.b.................#...............................#.#.................................................#.#................................................................", ".........................................................a.b...........a.b.......b.a.a.b...........a.b.......b.a.a.b.....h.d.f.......................................a.#.........#.a.....................................................................#.a.........#.a.....................................................................a.#.................................................................................a.#.........#.a.............................................................................b.b...................................................................................g.d.h.....................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#.........#.a.........................................................................f.e.f.f.e.f...................................................................................................................................................#.......a.e.e.f...b.a.f.b.h...............................................a.b.................#.......f.b.h...............#...............................#.#.................................................#.#................................................................", ".........................................................a.b...........a.b.......b.a.a.b...........a.b.......b.a.a.e.b.b.d.c.........................................a.#.........#.a.....................................................................#.a.........#.a.....................................................................a.#.................................................................................a.#.......f.e.f.............................................................................b.b.................................................................................c.d.........................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#.......f.e.f.......................................................................f.e.f.....f.e.f.................................................................................................................................................#.......a.b.f.e...b.a...g.d.b.b.f.........................................a.b.................#.........g.d.b.b.f.........#...............................#.#.................................................#.#................................................................", ".........................................................a.b...........a.b.......b.a.a.b...........a.b.......b.a.a.d.d.g.............................................a.#.........#.a.....................................................................#.a.........#.a.....................................................................a.#.b.b.b.b.........................................................................a.#.b.b.b.e.f...............................................................................b.b...............................................................................g.d.h.........................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#.b.b.b.e.f.........................................................................................................................................................................................................................................#.......a.b...h.e.e.a.........h.d.f.......................................a.b.................#...............h.d.f.......#...............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#................................................................", ".........................................................a.b.......f.h.a.b.......b.a.a.b...........a.b.......b.a.a.b...d.f...........................................a.#.........#.a.....................................................................#.a.h.d.f...#.a.....................................................................a.#.................................................................................a.#.d.c.....................................................................................b.b.............................................................................c.d.............................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#...................................................................................................................................................................................................................................................#.......a.b.....f.e.a...........b.a.......................................a.b.................#.................b.a.......#...............................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#................................................................", ".........................................................f.b.h...h.d.f.f.b.h...h.d.f.a.b...........f.b.h...h.d.f.a.b...h.b.g.........................................a.#.........#.a.....................................................................#.a.d.c.e.f.#.a.....................................................................a.#.................................................................................a.#.h.d.g...................................................................................b.b...........................................................................g.d.h.............................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#...................................................................................................................................................................................................................................................#.......a.b.......b.a.h.g.h...h.d.f.......................................a.b.................#.......h.g.h...h.d.f.......#......................................................................................................................................................", "...........................................................g.d.b.d.c.....g.d.b.d.c...a.e.b.b.b.b.f...g.d.b.d.c...a.b.....h.d.f.......................................a.#...f.f...#.a.....................................................................#.#.g...f.e.#.a.....................................................................a.#.................................................................................a.#.....d.c.................................................................................b.b.........................................................................a.#.................................................................................a.#.........#.a...........................................................................b.b.............................................................................a.#.........#.a.....................................................................a.#...............................................................................................................................................................................................................................................f.b.#.b.f...a.b.......b.a...g.d.b.d.c.........................................a.e.b.b.b.b.f...f.b.#.b.f.....g.d.b.d.c.........#......................................................................................................................................................", ".....................................................................................................................................................................h.d.g.f.e.b.d.h.....................................................................#.c.......f.#.a.....................................................................a.#.................................................................................a.#.....h.d.g...............................................................................b.b.........................................................................a.#.................................................................................h.d.g.....g.d.h...........................................................................b.b.............................................................................h.d.g.....g.d.h.....................................................................a.#....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".........................................................................................................................................................................b.b.b.e.f.......................................................................g...........f.f.....................................................................f.b.b.b.b.b.b.f.....................................................................f.b.........b.f.............................................................................g.g.........................................................................f.b.b.b.b.b.b.f.........................................................................b.b.b.b.............................................................................b.b.b.b...............................................................................b.b.b.b.........................................................................f.b....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...............................................................................................................................................................................f.e.f..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.g.......................................................................................................................................a.g.a.g.g...f.c.a.a.g.g...........f.g...........f.g.......g.f..................................................................................................................................................................................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.a.......f.f...............................................................................h.d.g.....................................................................................................................................f.b.h...h.d.f.a.b.....h.d.f.........a.b...........a.b.......b.a..................................................................................................................................................................................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.d.g...f.e.f...............................................................................a.#.......................................................................................................................................a.b.......g.f.a.b.......b.a.........a.b...........a.d.h.....b.a..................................................................................................................................................................................................................................", "...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................d.c.e.f.................................................................................#.a.......................................................................................................................................a.b...........a.b.....h.d.f.........a.b...........a.e.e.f...b.a..................................................................................................................................................................................................................................", "...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.b.d.#.e.b.g.............................................................................g.d.h.......................................................................................................................................a.b...........a.e.b.b.d.c...........a.b...........a.b.f.e...b.a..................................................................................................................................................................................................................................", "...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................c.d.d.h.............................................................................h.d.g.........................................................................................................................................a.b...........a.d.d.g...............a.b...........a.b...h.e.e.a..................................................................................................................................................................................................................................", ".............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.d.h.c.d.............................................................................a.#...........................................................................................................................................a.b.......f.h.a.b...d.f.............a.b...........a.b.....f.e.a..................................................................................................................................................................................................................................", ".....................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.b.......g.g...........................................................................#.a...........................................................................................................................................f.b.h...h.d.f.a.b...h.b.g...........a.b...........a.b.......b.a..................................................................................................................................................................................................................................", ".....................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.d.h.............................................................................................................................................g.d.b.d.c...a.b.....h.d.f.........a.e.b.b.b.b.f.a.b.......b.a..................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.g..............................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.......i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.......#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.........................................a.a.a.a...............................................................................a.a.a.a.......................................................................h.a.a.a.a.a...........................................................................h.a.a.a.a.a.a.h.......................................................................a.a.a.a.........................................................................h.a.........a.h.............................................................................a.a.a.a.....................................................................h.a.........a.h.......................................................................h.a...................................................................................................................................................................................................................................................................................................................................f.c.a.a.a.a.h...a.g.a.g.g.....a.g.a.g.g.......................................................................................................................................f.c.a.a.g.g...f.g.......g.f.f.g.......g.f..............................................................", ".....................................................#.#.....................................................................#.#.......................................g.d.a.a.d.g...........................................................................g.d.a.a.d.g.....................................................................a.#.a.a.a.d.g.........................................................................a.#.a.a.a.a.a.h.....................................................................g.d.a.a.d.g.......................................................................a.#.........#.a.............................................................................a.d.d.a.....................................................................a.#.......g.d.h.......................................................................a.#.......................................................................................................................................................................a.a.a.a.....................................................................................................................................................a.b...........f.b.h...h.d.f.f.b.h...h.d.f.....................................................................................................................................a.b.....h.d.f.a.b.......b.a.a.b.......b.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.........#.a.......................................................................a.#.........b.f...................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.....................................................................a.#.........#.a...............................................................................b.b.......................................................................a.#.....c.d...........................................................................a.#.....................................................................................................................................................................g.d.a.a.d.g...................................................................................................................................................a.b...........a.b...........a.b.......g.f.....................................................................................................................................a.b.......b.a.a.b.......b.a.a.d.h.....b.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........a.h.....................................................................a.#.........#.a...............................................................................b.b.......................................................................a.#...g.d.h...........................................................................a.#.......................................................................................g.g.........................................................................a.#.........#.a.................................................................................................................................................a.b...........f.b.h.........a.b...............................................................................................................................................a.b.....h.d.f.a.b.......b.a.a.e.e.f...b.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.........#.a.......................................................................f.e.f.............................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.................................................................................a.#.........#.a...............................................................................b.b.......................................................................a.#.c.d...............................................................................a.#.......................................................................................b.b.........................................................................a.#.........#.a.................................................................................................................................................a.e.b.b.b.f.....g.d.b.b.f...a.b...............................................................................................................................................a.e.b.b.d.c...a.b.......b.a.a.b.f.e...b.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.........#.a.........................................................................f.e.b.b.b.......................................................................a.#.........#.a.......................................................................a.#.b.b.b.b.......................................................................a.#.....b.b.b.f.....................................................................a.#.b.b.b.b.#.a...............................................................................b.b.......................................................................a.#.d.h...............................................................................a.#.......................................................................................f.f.................................................................................h.d.g...................................................................................................................................................a.b...................h.d.f.a.b...............................................................................................................................................a.d.d.g.......a.b.......b.a.a.b...h.e.e.a..............................................................", ".....................................................#.#.....................................................................#.#.....................................a.#.b.b.b.b.#.a.................................................................................g.d.h...................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.....................................................................a.#.........#.a...............................................................................b.b.......................................................................a.#.d.c...............................................................................a.#...........................................................................................................................................................................d.c.....................................................................................................................................................a.b.....................b.a.a.b.......f.h.....................................................................................................................................a.b...d.f.....a.b.......b.a.a.b.....f.e.a..............................................................", ".....................................................#.#.....................................................q...............#.#.....................................a.#.........#.a...................................................................................#.a...................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.....................................................................a.#.........#.a.......................................................................g.g.....b.b.......................................................................a.#.h.d.g.............................................................................a.#.........................................................................................................................................................................b.b.......................................................................................................................................................a.b...........h.g.h...h.d.f.f.b.h...h.d.f.....................................................................................................................................a.b...h.b.g...f.b.h...h.d.f.a.b.......b.a..............................................................", ".....................................................#.#...........r.................r.............................r.........#.#.....................................a.#.........#.a.......................................................................h.a.........#.a...................................................................a.#.........#.a.......................................................................a.#...............................................................................a.#.........#.a.....................................................................a.#.........#.a.......................................................................b.b.....b.b.......................................................................a.#.....d.c...........................................................................a.#.......................................................................................b.b...............................................................................f.f.......................................................................................................................................................a.e.b.b.b.b.f...g.d.b.d.c.....g.d.b.d.c.......................................................................................................................................a.b.....h.d.f...g.d.b.d.c...a.b.......b.a..............................................................", ".....................................................#.#...s.t.u.....v.t.w.x...y.u.t.z.r.A.t.B.r.C.....D...x.E.F...G.t.w.H...#.#.....................................a.#.........#.a.......................................................................h.d.g.....g.d.h...................................................................a.#.......g.d.h.......................................................................a.#...............................................................................h.d.g.....g.d.h.....................................................................a.#.........#.a.......................................................................f.e.f.f.e.f.......................................................................a.#.....h.d.g.........................................................................a.#.......................................................................................b.b...............................................................................f.f............................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.........I...J.....K...L.....M...N.......g.....O.....P.....y.....Q...#.#.....................................f.b.........b.f...........................................................................b.b.b.b.......................................................................f.b.b.b.b.b...........................................................................f.b...................................................................................b.b.b.b.........................................................................f.b.........b.f.........................................................................f.b.b.f.........................................................................f.b.........b.f.......................................................................f.b.b.b.b.b.b.f.............................................................................................................................................................b.b............................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.............R.....S...L.....T...N...U...g.....O.....P.....y.........#.#...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.g............................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....V.W.X...Y.Z.0.....1.W.W.2...3.W.4...u.5.6.7.....P.....y.........#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.........8...J.M.......9....#....N.......g.....O.....P.....y.........#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.........B...J...g.....L.....T...N.......g.....O.....P....##.....d...#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#..#a#b#c.r..#d...r#e...C....#f..#g......#h....#i..#j#k#l....#b#m.....#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.f.........................................................................h.a........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f.........................................................................h.d.g...................................................................................f.f................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f...............................................................................d.c.................................................................................b.b.........................................................................................................................................................................................................................................................................#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f.................................................................................h.d.g...............................................................................b.b.................................................................................................................................................................................................................................................................#.......#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f.......................................................................................d.c.......................................................................f.b.b.e.e.b.b.f.......................................................................f.b.b.b.b.b.b.f.....................................................................................................................................................................##n.....#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.e.f.........................................................................................h.d.g...........................................................................b.b.................................................................................................................................................................................................................................................................#.##o...#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.d.h.......................................................................................c.d.............................................................................b.b.................................................................................................................................................................................................................................................#.#.#.#.#.#.#.#.#.#.##m.#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................c.d.....................................................................................g.d.h.............................................................................g.g................................................................................................................................................................................................................................................#p#p#p#p#p#p#p#p.#.#.#...#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.d.h...............................................................................c.d.....................................................................................................................................................................................................................................................................................................................................................#.#.....#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................c.d.............................................................................g.d.h.....................................................................................................................................................................................................................................................................................................................................................#.......#.#....................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................g.g.........................................................................f.b.................................................................................................................................................................................................................................................................................................................................................................#.#....................................................................................................................................................................................................................................................", ".....................................................#.#............................#q#r#s#s#r#q.............................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#........................#t#r#u#u#u#u#u#u#r#t.........................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#........................#r#u#u#u#u#u#u#u#u#r.........................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#q#u#u#u#u#u#u#u#u#u#u#q.......................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#r#u#u#u#u#u#u#u#u#u#u#r.......................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#s#u#u#u#u#u#u#u#u#u#u#s.......................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#s#u#u#u#u#u#u#u#u#u#u#s.......................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#r#u#u#u#u#u#u#u#u#u#u#r.......................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#......................#q#u#u#u#u#u#u#u#u#u#u#q.......................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#........................#r#u#u#u#u#u#u#u#u#r.........................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#........................#t#r#u#u#u#u#u#u#r#t.........................#.#...................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.............................j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", ".....................................................#.#............................#q#r#s#s#r#q.............................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.....................................................................#.#..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".....................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....................................h.a.........a.h.......................................................................h.a.........a.h.........................................................................a.a.a.a.........................................................................h.a.........a.h.....................................................................h.a.a.a.a.a.........................................................................h.a.........a.h.....................................................................f...........h.h.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.........................................................................................................................................................a.g.a.g.g...h.a.a.b.a.a.h...a.g.a.g.g...f.c.a.a.g.g................................................................", ".....................................................#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.....................................a.#.........#.a.......................................................................a.#.........#.a.......................................................................g.d.a.a.d.g.......................................................................a.#.........#.a.....................................................................a.#.a.a.a.d.g.......................................................................a.#.........#.a.....................................................................e.f.........d.a.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.......#...............................................................................................................................................f.b.h...h.d.f.......#.......f.b.h...h.d.f.a.b.....h.d.f..............................................................", ".......................................................................................................................................................................b.b.....b.b...........................................................................b.b.....b.b.......................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................#.#.f...h.d.#.a.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#....#n.#...............................................................................................................................................a.b.................#.......a.b.......b.a.a.b.......b.a..............................................................", ".......................................................................................................................................................................f.e.f.f.e.f...........................................................................f.e.f.f.e.f.......................................................................a.#.........a.h.....................................................................h.d.g.....g.d.h.....................................................................a.#.........#.a.....................................................................a.#.g.......#.a.....................................................................#.c.e.f.d.c.#.a.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#..#o.#.#...............................................................................................................................................f.b.h...............#.......a.b.......b.a.a.b.....h.d.f..............................................................", ".........................................................................................................................................................................d.c.c.d...............................................................................d.c.c.d.........................................................................a.#...................................................................................b.b.....b.b.......................................................................a.#.......f.e.f.....................................................................a.#.d.c.....#.a.....................................................................#.a.f.e.g...#.a...................................................................................................................................................................................................................................................g.g...............................................................................................................................................................................................................................................#.##m.#.#.#.#.#.#.#.#.#.#.#.................................................................................................................................g.d.b.b.f.........#.......a.b.......b.a.a.e.b.b.d.c................................................................", ".........................................................................................................................................................................h.d.d.h...............................................................................h.d.d.h.........................................................................a.#...................................................................................f.e.f.f.e.f.......................................................................a.#.b.b.b.e.f.......................................................................a.#.h.d.g...#.a.....................................................................#.a...f.....#.a...................................................................................................................................................................................................................................................b.b...............................................................................................................................................................................................................................................#.#...#.#.##p#p#p#p#p#p#p#p.......................................................................................................................................h.d.f.......#.......a.b.......b.a.a.b........................................................................", "...........................................................................................................................................................................b.b.................................................................................c.d.d.c.........................................................................a.#.....................................................................................#.a.a.#.........................................................................a.#.......g.d.h.....................................................................a.#.....d.c.#.a.....................................................................#.a.........#.a...................................................................................................................................................................................................................................................f.f...........................................................................f.b.b.b.b.b.b.f.....................................................................................................................................................#.#.....#.#.........................................................................................................................................................b.a.......#.......a.b.......b.a.a.b........................................................................", "...........................................................................................................................................................................b.b.................................................................................#.a.a.#.........................................................................a.#.....................................................................................c.d.d.c.........................................................................a.#.........#.a.....................................................................a.#.....h.d.#.a.....................................................................#.a.........#.a.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#.#.......#...............................................................................................................................................h.g.h...h.d.f.......#.......f.b.h...h.d.f.a.b........................................................................", "...........................................................................................................................................................................b.b...............................................................................b.b.....b.b.......................................................................a.#.........#.a.........................................................................a.#.#.a.........................................................................a.#.........#.a.....................................................................a.#.........#.a.....................................................................#.a.........#.a.................................................................................................................................................................f.f.................................................................................................................................................................................................................................................................................................................................#.#.........................................................................................................................................................g.d.b.d.c.........#.........g.d.b.d.c...a.b........................................................................", "...........................................................................................................................................................................................................................................................f.e.f.....f.e.f.....................................................................h.d.g.....g.d.h.........................................................................h.d.d.h.........................................................................a.#.......g.d.h.....................................................................a.#.........#.a.....................................................................#.a.........#.a.................................................................................................................................................................b.b...............................................................................b.b..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...........................................................................................................................................................................................................................................................f.b.........b.f.........................................................................b.b.b.b...............................................................................g.g...........................................................................f.b.b.b.b.b.........................................................................f.b.........b.f.....................................................................b.f.........b.f...........................................................................b.b...................................................................................g.g...............................................................................b.b...........................................................................f.b.b.b.b.b.b.f....................................................................................................................................................................................................................................................................................................................................................................................................................................", ".........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................b.b...................................................................................................................................................................h.d.g..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.d.g...................................................................................................................................................................h.a................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.a........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "...............................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.................................................................................................................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.............................i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".................................................................a.g.a.g.g...f.g.......g.f...h.a.b.a.h...f.c.a.a.a.a.h.h.a.a.b.a.a.h.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................a.g.a.g.g...f.g.......g.f...h.a.b.a.h...f.c.a.a.a.a.h.h.a.a.b.a.a.h...............................................................................a.g.g.g...f.......g...h.a.b.h...f.c.a.a.a.h.a.a.b.a.h.......f.g...........a.a.g.g...a.g.a.g...f.g...h.c.h...................................................................................f.c.a.a.a.a.h.f.g.......g.f.h.a.a.b.a.a.h.f.c.a.a.a.a.h.f.c.a.a.g.g................................................................", "...............................................................f.b.h...h.d.f.a.b.......b.a.......#.......a.b.................#.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................f.b.h...h.d.f.a.b.......b.a.......#.......a.b.................#...................................................................................f.b.h.h.d.f.a.......b.......#.....a.b.............#...........a.b.........f.b...h.d.f.b.h...h.f.a.b...d.c.....................................................................................a.b...........a.b.......b.a.......#.......a.b...........a.b.....h.d.f..............................................................", "...............................................................a.b...........a.b.......b.a.......#.......a.b.................#.............................................................................................................................#...............................................................................................#............................................................................................................................................................................................................................................................................................................................................................................................................................#m....................................................................................#p.#.............................................................................................................................a.b...........a.b.......b.a.......#.......a.b.................#...................................................................................a.b.........a.......b.......#.....a.b.............#...........a.b.........a.b.....b.a.b.......f.a.b...g.......................................................................................a.b...........a.d.h.....b.a.......#.......a.b...........a.b.......b.a..............................................................", "...............................................................f.b.h.........a.b.......b.a.......#.......a.b.................#..........................................................................................................................#n.#...............................................................................................##n.........................................................................................................................................................................................................................................................................................................................................................................................................................#.##o..................................................................................#p.#.............................................................................................................................f.b.h.........a.b.......b.a.......#.......a.b.................#...................................................................................f.b.h.......a.......b.......#.....a.b.............#...........a.b.........a.b.....b.a.b.........a.d.d.........................................................................................a.b...........a.e.e.f...b.a.......#.......a.b...........a.b.....h.d.f..............................................................", ".................................................................g.d.b.b.f...a.e.b.b.b.e.a.......#.......a.e.b.b.b.f.........#........................................................................................................................#o.#.#...............................................................................................#.##o.....................................................................................................................................................................................................................................................................................................................................................................................................................#.#.#.##n................................................................................#p.#...............................................................................................................................g.d.b.b.f...a.e.b.b.b.e.a.......#.......a.e.b.b.b.f.........#.....................................................................................g.d.b.f...a.b.b.b.e.......#.....a.e.b.b.f.......#...........a.b.........a.b.....b.a.b.........a.#.c.........................................................................................a.e.b.b.b.f...a.b.f.e...b.a.......#.......a.e.b.b.b.f...a.e.b.b.d.c................................................................", ".......................................................................h.d.f.a.b.......b.a.......#.......a.b.................#......................................................................................................................#m.#.#.#.#.#.#.#.#.#.#.#...............................................................#.#.#.#.#.#.#.#.#.#.##m.................................................................................................................................................................................................................................................................................................................................................................................................................#.#.#.#.#.#.#..............................................................................#p.#.....................................................................................................................................h.d.f.a.b.......b.a.......#.......a.b.................#.........................................................................................h.d.f.a.......b.......#.....a.b.............#...........a.b.........a.b.....b.a.b.........a.d.d.........................................................................................a.b...........a.b...h.e.e.a.......#.......a.b...........a.d.d.g....................................................................", ".........................................................................b.a.a.b.......b.a.......#.......a.b.................#.........................................................................................................................#.#.##p#p#p#p#p#p#p#p..............................................................#p#p#p#p#p#p#p#p.#.#.#......................................................................................................................................................................................................................................................................................................................................................................................................................#p.#....................................................................................#p.#.......................................................................................................................................b.a.a.b.......b.a.......#.......a.b.................#...........................................................................................b.a.a.......b.......#.....a.b.............#...........a.b.........a.b.....b.a.b.......h.a.b...f.......................................................................................a.b...........a.b.....f.e.a.......#.......a.b...........a.b...d.f..................................................................", "...............................................................h.g.h...h.d.f.a.b.......b.a.......#.......a.b.................#...........................................................................................................................#.#...............................................................................................#.#........................................................................................................................................................................................................................................................................................................................................................................................................................#p.#....................................................................................#p.#.............................................................................................................................h.g.h...h.d.f.a.b.......b.a.......#.......a.b.................#...................................................................................h.g.h.h.d.f.a.......b.......#.....a.b.............#...........a.b.........f.b...h.d.f.b.h...h.f.a.b...b.g.....................................................................................a.b...........a.b.......b.a.......#.......a.b...........a.b...h.b.g................................................................", ".................................................................g.d.b.d.c...a.b.......b.a...f.b.#.b.f...a.b.................#.............................................................................................................................#...............................................................................................#..........................................................................................................................................................................................................................................................................................................................................................................................................................#p.#....................................................................................#p.#...............................................................................................................................g.d.b.d.c...a.b.......b.a...f.b.#.b.f...a.b.................#.....................................................................................g.d.d.c...a.......b...f.b.#.f...a.b.............#...........a.e.b.b.b.f...g.b.d.c...g.d.b.d...a.b...h.d.f...................................................................................a.e.b.b.b.b.f.a.b.......b.a.......#.......a.e.b.b.b.b.f.a.b.....h.d.f..............................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#p.#....................................................................................#p.#................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#p.#.................................................................................#.#.#.#.#.#.#..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#p.#...................................................................................#.#.#.##n............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#p.#.....................................................................................#.##o..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................#p.#......................................................................................#m................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", "..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", ".................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................." }; KCemu-0.5.1/src/getopt/0000755000175000017500000000000012417262523015042 5ustar glaubitzglaubitzKCemu-0.5.1/src/getopt/getopt1.c0000644000175000017500000001070412417262523016573 0ustar glaubitzglaubitz/* getopt_long and getopt_long_only entry points for GNU getopt. Copyright (C) 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifdef HAVE_CONFIG_H #include #endif #include "getopt.h" #if !defined (__STDC__) || !__STDC__ /* This is a separate conditional since some stdc systems reject `defined (const)'. */ #ifndef const #define const #endif #endif #include /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #define GETOPT_INTERFACE_VERSION 2 #if !defined (_LIBC) && defined (__GLIBC__) && __GLIBC__ >= 2 #include #if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION #define ELIDE_CODE #endif #endif #ifndef ELIDE_CODE /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #ifdef __GNU_LIBRARY__ #include #endif #ifndef NULL #define NULL 0 #endif int getopt_long (argc, argv, options, long_options, opt_index) int argc; char *const *argv; const char *options; const struct option *long_options; int *opt_index; { return _getopt_internal (argc, argv, options, long_options, opt_index, 0); } /* Like getopt_long, but '-' as well as '--' can indicate a long option. If an option that starts with '-' (not '--') doesn't match a long option, but does match a short option, it is parsed as a short option instead. */ int getopt_long_only (argc, argv, options, long_options, opt_index) int argc; char *const *argv; const char *options; const struct option *long_options; int *opt_index; { return _getopt_internal (argc, argv, options, long_options, opt_index, 1); } #endif /* Not ELIDE_CODE. */ #ifdef TEST #include int main (argc, argv) int argc; char **argv; { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; int option_index = 0; static struct option long_options[] = { {"add", 1, 0, 0}, {"append", 0, 0, 0}, {"delete", 1, 0, 0}, {"verbose", 0, 0, 0}, {"create", 0, 0, 0}, {"file", 1, 0, 0}, {0, 0, 0, 0} }; c = getopt_long (argc, argv, "abc:d:0123456789", long_options, &option_index); if (c == -1) break; switch (c) { case 0: printf ("option %s", long_options[option_index].name); if (optarg) printf (" with arg %s", optarg); printf ("\n"); break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case 'd': printf ("option d with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ KCemu-0.5.1/src/getopt/Makefile.am0000644000175000017500000000026312417262523017077 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libgetopt.a AM_CPPFLAGS = \ -I../../include/getopt libgetopt_a_SOURCES = \ getopt.c \ getopt1.c KCemu-0.5.1/src/getopt/getopt.c0000644000175000017500000007266312417262523016526 0ustar glaubitzglaubitz/* Getopt for GNU. NOTE: getopt is now part of the C library, so if you don't know what "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu before changing it! Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* This tells Alpha OSF/1 not to define a getopt prototype in . Ditto for AIX 3.2 and . */ #ifndef _NO_PROTO #define _NO_PROTO #endif #ifdef HAVE_CONFIG_H #include #endif #if !defined (__STDC__) || !__STDC__ /* This is a separate conditional since some stdc systems reject `defined (const)'. */ #ifndef const #define const #endif #endif #include /* Comment out all this code if we are using the GNU C Library, and are not actually compiling the library itself. This code is part of the GNU C Library, but also included in many other GNU distributions. Compiling and linking in this code is a waste when using the GNU C library (especially if it is a shared library). Rather than having every GNU program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ #define GETOPT_INTERFACE_VERSION 2 #if !defined (_LIBC) && defined (__GLIBC__) && __GLIBC__ >= 2 #include #if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION #define ELIDE_CODE #endif #endif #ifndef ELIDE_CODE /* This needs to come after some library #include to get __GNU_LIBRARY__ defined. */ #ifdef __GNU_LIBRARY__ /* Don't include stdlib.h for non-GNU C libraries because some of them contain conflicting prototypes for getopt. */ #include #include #endif /* GNU C library. */ #ifdef VMS #include #if HAVE_STRING_H - 0 #include #endif #endif #if defined (WIN32) && !defined (__CYGWIN32__) /* It's not Unix, really. See? Capital letters. */ #include #define getpid() GetCurrentProcessId() #endif #ifndef _ /* This is for other GNU distributions with internationalized messages. When compiling libc, the _ macro is predefined. */ #ifdef HAVE_LIBINTL_H # include # define _(msgid) gettext (msgid) #else # define _(msgid) (msgid) #endif #endif /* This version of `getopt' appears to the caller like standard Unix `getopt' but it behaves differently for the user, since it allows the user to intersperse the options with the other arguments. As `getopt' works, it permutes the elements of ARGV so that, when it is done, all the options precede everything else. Thus all application programs are extended to handle flexible argument order. Setting the environment variable POSIXLY_CORRECT disables permutation. Then the behavior is completely standard. GNU application programs can use a third alternative mode in which they can distinguish the relative order of options and other arguments. */ #include "getopt.h" /* For communication from `getopt' to the caller. When `getopt' finds an option that takes an argument, the argument value is returned here. Also, when `ordering' is RETURN_IN_ORDER, each non-option ARGV-element is returned here. */ char *optarg = NULL; /* Index in ARGV of the next element to be scanned. This is used for communication to and from the caller and for communication between successive calls to `getopt'. On entry to `getopt', zero means this is the first call; initialize. When `getopt' returns -1, this is the index of the first of the non-option elements that the caller should itself scan. Otherwise, `optind' communicates from one call to the next how much of ARGV has been scanned so far. */ /* 1003.2 says this must be 1 before any call. */ int optind = 1; /* Formerly, initialization of getopt depended on optind==0, which causes problems with re-calling getopt as programs generally don't know that. */ int __getopt_initialized = 0; /* The next char to be scanned in the option-element in which the last option character we returned was found. This allows us to pick up the scan where we left off. If this is zero, or a null string, it means resume the scan by advancing to the next ARGV-element. */ static char *nextchar; /* Callers store zero here to inhibit the error message for unrecognized options. */ int opterr = 1; /* Set to an option character which was unrecognized. This must be initialized on some systems to avoid linking in the system's own getopt implementation. */ int optopt = '?'; /* Describe how to deal with options that follow non-option ARGV-elements. If the caller did not specify anything, the default is REQUIRE_ORDER if the environment variable POSIXLY_CORRECT is defined, PERMUTE otherwise. REQUIRE_ORDER means don't recognize them as options; stop option processing when the first non-option is seen. This is what Unix does. This mode of operation is selected by either setting the environment variable POSIXLY_CORRECT, or using `+' as the first character of the list of option characters. PERMUTE is the default. We permute the contents of ARGV as we scan, so that eventually all the non-options are at the end. This allows options to be given in any order, even with programs that were not written to expect this. RETURN_IN_ORDER is an option available to programs that were written to expect options and other ARGV-elements in any order and that care about the ordering of the two. We describe each non-option ARGV-element as if it were the argument of an option with character code 1. Using `-' as the first character of the list of option characters selects this mode of operation. The special argument `--' forces an end of option-scanning regardless of the value of `ordering'. In the case of RETURN_IN_ORDER, only `--' can cause `getopt' to return -1 with `optind' != ARGC. */ static enum { REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER } ordering; /* Value of POSIXLY_CORRECT environment variable. */ static char *posixly_correct; #ifdef __GNU_LIBRARY__ /* We want to avoid inclusion of string.h with non-GNU libraries because there are many ways it can cause trouble. On some systems, it contains special magic macros that don't work in GCC. */ #include #define my_index strchr #else /* Avoid depending on library functions or files whose names are inconsistent. */ char *getenv (); static char * my_index (str, chr) const char *str; int chr; { while (*str) { if (*str == chr) return (char *) str; str++; } return 0; } /* If using GCC, we can safely declare strlen this way. If not using GCC, it is ok not to declare it. */ #ifdef __GNUC__ /* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. That was relevant to code that was here before. */ #if !defined (__STDC__) || !__STDC__ /* gcc with -traditional declares the built-in strlen to return int, and has done so at least since version 2.4.5. -- rms. */ extern int strlen (const char *); #endif /* not __STDC__ */ #endif /* __GNUC__ */ #endif /* not __GNU_LIBRARY__ */ /* Handle permutation of arguments. */ /* Describe the part of ARGV that contains non-options that have been skipped. `first_nonopt' is the index in ARGV of the first of them; `last_nonopt' is the index after the last of them. */ static int first_nonopt; static int last_nonopt; #ifdef _LIBC /* Bash 2.0 gives us an environment variable containing flags indicating ARGV elements that should not be considered arguments. */ /* Defined in getopt_init.c */ extern char *__getopt_nonoption_flags; static int nonoption_flags_max_len; static int nonoption_flags_len; static int original_argc; static char *const *original_argv; extern pid_t __libc_pid; /* Make sure the environment variable bash 2.0 puts in the environment is valid for the getopt call we must make sure that the ARGV passed to getopt is that one passed to the process. */ static void __attribute__ ((unused)) store_args_and_env (int argc, char *const *argv) { /* XXX This is no good solution. We should rather copy the args so that we can compare them later. But we must not use malloc(3). */ original_argc = argc; original_argv = argv; } text_set_element (__libc_subinit, store_args_and_env); # define SWAP_FLAGS(ch1, ch2) \ if (nonoption_flags_len > 0) \ { \ char __tmp = __getopt_nonoption_flags[ch1]; \ __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ __getopt_nonoption_flags[ch2] = __tmp; \ } #else /* !_LIBC */ # define SWAP_FLAGS(ch1, ch2) #endif /* _LIBC */ /* Exchange two adjacent subsequences of ARGV. One subsequence is elements [first_nonopt,last_nonopt) which contains all the non-options that have been skipped so far. The other is elements [last_nonopt,optind), which contains all the options processed since those non-options were skipped. `first_nonopt' and `last_nonopt' are relocated so that they describe the new indices of the non-options in ARGV after they are moved. */ #if defined (__STDC__) && __STDC__ static void exchange (char **); #endif static void exchange (argv) char **argv; { int bottom = first_nonopt; int middle = last_nonopt; int top = optind; char *tem; /* Exchange the shorter segment with the far end of the longer segment. That puts the shorter segment into the right place. It leaves the longer segment in the right place overall, but it consists of two parts that need to be swapped next. */ #ifdef _LIBC /* First make sure the handling of the `__getopt_nonoption_flags' string can work normally. Our top argument must be in the range of the string. */ if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) { /* We must extend the array. The user plays games with us and presents new arguments. */ char *new_str = malloc (top + 1); if (new_str == NULL) nonoption_flags_len = nonoption_flags_max_len = 0; else { memcpy (new_str, __getopt_nonoption_flags, nonoption_flags_max_len); memset (&new_str[nonoption_flags_max_len], '\0', top + 1 - nonoption_flags_max_len); nonoption_flags_max_len = top + 1; __getopt_nonoption_flags = new_str; } } #endif while (top > middle && middle > bottom) { if (top - middle > middle - bottom) { /* Bottom segment is the short one. */ int len = middle - bottom; register int i; /* Swap it with the top part of the top segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[top - (middle - bottom) + i]; argv[top - (middle - bottom) + i] = tem; SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); } /* Exclude the moved bottom segment from further swapping. */ top -= len; } else { /* Top segment is the short one. */ int len = top - middle; register int i; /* Swap it with the bottom part of the bottom segment. */ for (i = 0; i < len; i++) { tem = argv[bottom + i]; argv[bottom + i] = argv[middle + i]; argv[middle + i] = tem; SWAP_FLAGS (bottom + i, middle + i); } /* Exclude the moved top segment from further swapping. */ bottom += len; } } /* Update records for the slots the non-options now occupy. */ first_nonopt += (optind - last_nonopt); last_nonopt = optind; } /* Initialize the internal data when the first call is made. */ #if defined (__STDC__) && __STDC__ static const char *_getopt_initialize (int, char *const *, const char *); #endif static const char * _getopt_initialize (argc, argv, optstring) int argc; char *const *argv; const char *optstring; { /* Start processing options with ARGV-element 1 (since ARGV-element 0 is the program name); the sequence of previously skipped non-option ARGV-elements is empty. */ first_nonopt = last_nonopt = optind; nextchar = NULL; posixly_correct = getenv ("POSIXLY_CORRECT"); /* Determine how to handle the ordering of options and nonoptions. */ if (optstring[0] == '-') { ordering = RETURN_IN_ORDER; ++optstring; } else if (optstring[0] == '+') { ordering = REQUIRE_ORDER; ++optstring; } else if (posixly_correct != NULL) ordering = REQUIRE_ORDER; else ordering = PERMUTE; #ifdef _LIBC if (posixly_correct == NULL && argc == original_argc && argv == original_argv) { if (nonoption_flags_max_len == 0) { if (__getopt_nonoption_flags == NULL || __getopt_nonoption_flags[0] == '\0') nonoption_flags_max_len = -1; else { const char *orig_str = __getopt_nonoption_flags; int len = nonoption_flags_max_len = strlen (orig_str); if (nonoption_flags_max_len < argc) nonoption_flags_max_len = argc; __getopt_nonoption_flags = (char *) malloc (nonoption_flags_max_len); if (__getopt_nonoption_flags == NULL) nonoption_flags_max_len = -1; else { memcpy (__getopt_nonoption_flags, orig_str, len); memset (&__getopt_nonoption_flags[len], '\0', nonoption_flags_max_len - len); } } } nonoption_flags_len = nonoption_flags_max_len; } else nonoption_flags_len = 0; #endif return optstring; } /* Scan elements of ARGV (whose length is ARGC) for option characters given in OPTSTRING. If an element of ARGV starts with '-', and is not exactly "-" or "--", then it is an option element. The characters of this element (aside from the initial '-') are option characters. If `getopt' is called repeatedly, it returns successively each of the option characters from each of the option elements. If `getopt' finds another option character, it returns that character, updating `optind' and `nextchar' so that the next call to `getopt' can resume the scan with the following option character or ARGV-element. If there are no more option characters, `getopt' returns -1. Then `optind' is the index in ARGV of the first ARGV-element that is not an option. (The ARGV-elements have been permuted so that those that are not options now come last.) OPTSTRING is a string containing the legitimate option characters. If an option character is seen that is not listed in OPTSTRING, return '?' after printing an error message. If you set `opterr' to zero, the error message is suppressed but we still return '?'. If a char in OPTSTRING is followed by a colon, that means it wants an arg, so the following text in the same ARGV-element, or the text of the following ARGV-element, is returned in `optarg'. Two colons mean an option that wants an optional arg; if there is text in the current ARGV-element, it is returned in `optarg', otherwise `optarg' is set to zero. If OPTSTRING starts with `-' or `+', it requests different methods of handling the non-option ARGV-elements. See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. Long-named options begin with `--' instead of `-'. Their names may be abbreviated as long as the abbreviation is unique or is an exact match for some defined option. If they have an argument, it follows the option name in the same ARGV-element, separated from the option name by a `=', or else the in next ARGV-element. When `getopt' finds a long-named option, it returns 0 if that option's `flag' field is nonzero, the value of the option's `val' field if the `flag' field is zero. The elements of ARGV aren't really const, because we permute them. But we pretend they're const in the prototype to be compatible with other systems. LONGOPTS is a vector of `struct option' terminated by an element containing a name which is zero. LONGIND returns the index in LONGOPT of the long-named option found. It is only valid when a long-named option has been found by the most recent call. If LONG_ONLY is nonzero, '-' as well as '--' can introduce long-named options. */ int _getopt_internal (argc, argv, optstring, longopts, longind, long_only) int argc; char *const *argv; const char *optstring; const struct option *longopts; int *longind; int long_only; { optarg = NULL; if (optind == 0 || !__getopt_initialized) { if (optind == 0) optind = 1; /* Don't scan ARGV[0], the program name. */ optstring = _getopt_initialize (argc, argv, optstring); __getopt_initialized = 1; } /* Test whether ARGV[optind] points to a non-option argument. Either it does not have option syntax, or there is an environment flag from the shell indicating it is not an option. The later information is only used when the used in the GNU libc. */ #ifdef _LIBC #define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ || (optind < nonoption_flags_len \ && __getopt_nonoption_flags[optind] == '1')) #else #define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') #endif if (nextchar == NULL || *nextchar == '\0') { /* Advance to the next ARGV-element. */ /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been moved back by the user (who may also have changed the arguments). */ if (last_nonopt > optind) last_nonopt = optind; if (first_nonopt > optind) first_nonopt = optind; if (ordering == PERMUTE) { /* If we have just processed some options following some non-options, exchange them so that the options come first. */ if (first_nonopt != last_nonopt && last_nonopt != optind) exchange ((char **) argv); else if (last_nonopt != optind) first_nonopt = optind; /* Skip any additional non-options and extend the range of non-options previously skipped. */ while (optind < argc && NONOPTION_P) optind++; last_nonopt = optind; } /* The special ARGV-element `--' means premature end of options. Skip it like a null option, then exchange with previous non-options as if it were an option, then skip everything else like a non-option. */ if (optind != argc && !strcmp (argv[optind], "--")) { optind++; if (first_nonopt != last_nonopt && last_nonopt != optind) exchange ((char **) argv); else if (first_nonopt == last_nonopt) first_nonopt = optind; last_nonopt = argc; optind = argc; } /* If we have done all the ARGV-elements, stop the scan and back over any non-options that we skipped and permuted. */ if (optind == argc) { /* Set the next-arg-index to point at the non-options that we previously skipped, so the caller will digest them. */ if (first_nonopt != last_nonopt) optind = first_nonopt; return -1; } /* If we have come to a non-option and did not permute it, either stop the scan or describe it to the caller and pass it by. */ if (NONOPTION_P) { if (ordering == REQUIRE_ORDER) return -1; optarg = argv[optind++]; return 1; } /* We have found another option-ARGV-element. Skip the initial punctuation. */ nextchar = (argv[optind] + 1 + (longopts != NULL && argv[optind][1] == '-')); } /* Decode the current option-ARGV-element. */ /* Check whether the ARGV-element is a long option. If long_only and the ARGV-element has the form "-f", where f is a valid short option, don't consider it an abbreviated form of a long option that starts with f. Otherwise there would be no way to give the -f short option. On the other hand, if there's a long option "fubar" and the ARGV-element is "-fu", do consider that an abbreviation of the long option, just like "--fu", and not "-f" with arg "u". This distinction seems to be the most useful approach. */ if (longopts != NULL && (argv[optind][1] == '-' || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = -1; int option_index; for (nameend = nextchar; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, nextchar, nameend - nextchar)) { if ((unsigned int) (nameend - nextchar) == (unsigned int) strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (opterr) fprintf (stderr, _("%s: option `%s' is ambiguous\n"), argv[0], argv[optind]); nextchar += strlen (nextchar); optind++; optopt = 0; return '?'; } if (pfound != NULL) { option_index = indfound; optind++; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) optarg = nameend + 1; else { if (opterr) if (argv[optind - 1][1] == '-') /* --option */ fprintf (stderr, _("%s: option `--%s' doesn't allow an argument\n"), argv[0], pfound->name); else /* +option or -option */ fprintf (stderr, _("%s: option `%c%s' doesn't allow an argument\n"), argv[0], argv[optind - 1][0], pfound->name); nextchar += strlen (nextchar); optopt = pfound->val; return '?'; } } else if (pfound->has_arg == 1) { if (optind < argc) optarg = argv[optind++]; else { if (opterr) fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); nextchar += strlen (nextchar); optopt = pfound->val; return optstring[0] == ':' ? ':' : '?'; } } nextchar += strlen (nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } /* Can't find it as a long option. If this is not getopt_long_only, or the option starts with '--' or is not a valid short option, then it's an error. Otherwise interpret it as a short option. */ if (!long_only || argv[optind][1] == '-' || my_index (optstring, *nextchar) == NULL) { if (opterr) { if (argv[optind][1] == '-') /* --option */ fprintf (stderr, _("%s: unrecognized option `--%s'\n"), argv[0], nextchar); else /* +option or -option */ fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), argv[0], argv[optind][0], nextchar); } nextchar = (char *) ""; optind++; optopt = 0; return '?'; } } /* Look at and handle the next short option-character. */ { char c = *nextchar++; char *temp = my_index (optstring, c); /* Increment `optind' when we start to process its last character. */ if (*nextchar == '\0') ++optind; if (temp == NULL || c == ':') { if (opterr) { if (posixly_correct) /* 1003.2 specifies the format of this message. */ fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); else fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); } optopt = c; return '?'; } /* Convenience. Treat POSIX -W foo same as long option --foo */ if (temp[0] == 'W' && temp[1] == ';') { char *nameend; const struct option *p; const struct option *pfound = NULL; int exact = 0; int ambig = 0; int indfound = 0; int option_index; /* This is an option that requires an argument. */ if (*nextchar != '\0') { optarg = nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ optind++; } else if (optind == argc) { if (opterr) { /* 1003.2 specifies the format of this message. */ fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); } optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; return c; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ optarg = argv[optind++]; /* optarg is now the argument, see if it's in the table of longopts. */ for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) /* Do nothing. */ ; /* Test all long options for either exact match or abbreviated matches. */ for (p = longopts, option_index = 0; p->name; p++, option_index++) if (!strncmp (p->name, nextchar, nameend - nextchar)) { if ((unsigned int) (nameend - nextchar) == strlen (p->name)) { /* Exact match found. */ pfound = p; indfound = option_index; exact = 1; break; } else if (pfound == NULL) { /* First nonexact match found. */ pfound = p; indfound = option_index; } else /* Second or later nonexact match found. */ ambig = 1; } if (ambig && !exact) { if (opterr) fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[optind]); nextchar += strlen (nextchar); optind++; return '?'; } if (pfound != NULL) { option_index = indfound; if (*nameend) { /* Don't test has_arg with >, because some C compilers don't allow it to be used on enums. */ if (pfound->has_arg) optarg = nameend + 1; else { if (opterr) fprintf (stderr, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name); nextchar += strlen (nextchar); return '?'; } } else if (pfound->has_arg == 1) { if (optind < argc) optarg = argv[optind++]; else { if (opterr) fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); nextchar += strlen (nextchar); return optstring[0] == ':' ? ':' : '?'; } } nextchar += strlen (nextchar); if (longind != NULL) *longind = option_index; if (pfound->flag) { *(pfound->flag) = pfound->val; return 0; } return pfound->val; } nextchar = NULL; return 'W'; /* Let the application handle it. */ } if (temp[1] == ':') { if (temp[2] == ':') { /* This is an option that accepts an argument optionally. */ if (*nextchar != '\0') { optarg = nextchar; optind++; } else optarg = NULL; nextchar = NULL; } else { /* This is an option that requires an argument. */ if (*nextchar != '\0') { optarg = nextchar; /* If we end this ARGV-element by taking the rest as an arg, we must advance to the next element now. */ optind++; } else if (optind == argc) { if (opterr) { /* 1003.2 specifies the format of this message. */ fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], c); } optopt = c; if (optstring[0] == ':') c = ':'; else c = '?'; } else /* We already incremented `optind' once; increment it again when taking next ARGV-elt as argument. */ optarg = argv[optind++]; nextchar = NULL; } } return c; } } int getopt (argc, argv, optstring) int argc; char *const *argv; const char *optstring; { return _getopt_internal (argc, argv, optstring, (const struct option *) 0, (int *) 0, 0); } #endif /* Not ELIDE_CODE. */ #ifdef TEST /* Compile with -DTEST to make an executable for use in testing the above definition of `getopt'. */ int main (argc, argv) int argc; char **argv; { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; c = getopt (argc, argv, "abc:d:0123456789"); if (c == -1) break; switch (c) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (digit_optind != 0 && digit_optind != this_option_optind) printf ("digits occur in two different argv-elements.\n"); digit_optind = this_option_optind; printf ("option %c\n", c); break; case 'a': printf ("option a\n"); break; case 'b': printf ("option b\n"); break; case 'c': printf ("option c with value `%s'\n", optarg); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } if (optind < argc) { printf ("non-option ARGV-elements: "); while (optind < argc) printf ("%s ", argv[optind++]); printf ("\n"); } exit (0); } #endif /* TEST */ KCemu-0.5.1/src/kc/0000755000175000017500000000000012417262523014135 5ustar glaubitzglaubitzKCemu-0.5.1/src/kc/mod_disk.cc0000644000175000017500000000710612417262523016241 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_disk.h" #include "libdbg/dbg.h" ModuleDisk::ModuleDisk(ModuleDisk &tmpl) : ModuleROM(tmpl) { _val = 0; _slot = tmpl._slot; } ModuleDisk::ModuleDisk(const char *rom_key, const char *name, byte_t id, int slot) : ModuleROM(rom_key, name, id) { _val = 0; _slot = slot; } ModuleDisk::~ModuleDisk(void) { } word_t ModuleDisk::get_addr(byte_t val) { return (val & 0x20) ? 0xe000 : 0xc000; } /* * SWITCH FC kk------------------- * | * | * --------------------------------- * Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | * --------------------------------- * | | | Bit 1/0 * | | ---- ROM on/off * | ----------- Kopplung on/off * ------------------- Basisadresse E000/C000 * */ void ModuleDisk::m_out(word_t addr, byte_t val) { bool unreg, reg; if (((_val & 0x25) ^ (val & 0x25)) == 0) return; word_t map_addr = get_addr(val); DBG(2, form("KCemu/ModuleDisk/out", "ModuleDisk::out(): %s: addr = %04x, val = %02x, old val = %02x\n", get_name(), addr, val, _val)); // The module interface allows us to snoop on slots F8 and FC at // the same time. So we can disable the memory of the not accessed // slot. reg = unreg = false; if (((addr >> 8) & 0xfc) != _slot) { DBG(2, form("KCemu/ModuleDisk/out", "ModuleDisk::out(): %s: I/O to module on other port detected!\n", get_name())); reg = false; unreg = true; } else { if ((_val & 0x20) ^ (val & 0x20)) { DBG(2, form("KCemu/ModuleDisk/out", "ModuleDisk::out(): %s: new map address is %04x\n", get_name(), map_addr)); reg = unreg = true; } if ((_val & 0x04) ^ (val & 0x04)) { DBG(2, form("KCemu/ModuleDisk/out", "ModuleDisk::out(): %s: shared memory is now %s\n", get_name(), (val & 0x04) ? "on" : "off")); } if ((_val & 0x01) ^ (val & 0x01)) { if (val & 1) reg = true; else reg = false; } } if (unreg) if (_group) { if (_group) memory->unregister_memory(_group); _group = 0; } if (reg) _group = memory->register_memory(get_name(), map_addr, _size, _rom, (addr >> 8), true); _val = val; } ModuleInterface * ModuleDisk::clone(void) { return new ModuleDisk(*this); } KCemu-0.5.1/src/kc/kcnet/0000755000175000017500000000000012417262523015241 5ustar glaubitzglaubitzKCemu-0.5.1/src/kc/kcnet/pio_net.cc0000644000175000017500000000470212417262523017210 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/kcnet/kcnet.h" #include "kc/kcnet/pio_net.h" #include "libdbg/dbg.h" PIO_NET::PIO_NET(void) { } PIO_NET::~PIO_NET(void) { } byte_t PIO_NET::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = kcnet->read(); break; case 1: val = kcnet->get_status(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/NET/in", "PIO_NET::in(): %04xh: addr = %04x, val = %02x\n", z80->getPC(), addr, val)); return val; } void PIO_NET::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/NET/out", "PIO_NET::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: DBG(2, form("KCemu/PIO/NET/data_out", "PIO_NET::out(): addr = %04x, val = %02x ('%c')\n", addr, val, isprint(val) ? val : '.')); kcnet->write(val); break; case 1: DBG(2, form("KCemu/PIO/NET/ctrl_out", "PIO_NET::out(): addr = %04x, val = %02x, RXF# = %d, TXE# = %d, RD# = %d, WR# = %d, RESET = %d\n", addr, val, val & 1, (val >> 1) & 1, (val >> 2) & 1, (val >> 3) & 1, (val >> 6) & 1)); out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO_NET::change_A(byte_t changed, byte_t val) { } void PIO_NET::change_B(byte_t changed, byte_t val) { } KCemu-0.5.1/src/kc/kcnet/kcnet.cc0000644000175000017500000006172312417262523016665 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/prefs/strlist.h" #include "kc/kc.h" #include "kc/pio.h" #include "kc/z80.h" #include "kc/kcnet/kcnet.h" #include "kc/kcnet/tcp.h" #include "kc/kcnet/udp.h" #include "kc/kcnet/tftp.h" #include "kc/kcnet/ipraw.h" #include "cmd/cmd.h" #include "libdbg/dbg.h" KCNET::KCNET(void) : InterfaceCircuit("KC-NET"), Callback("KC-NET") { _pio = NULL; _command = NULL; for (int a = 0;a < NR_OF_SOCKETS;a++) _socket[a] = NULL; for (int a = 0;a < 8;a++) _ip_addr[a] = 0; z80->register_ic(this); init(true, true); } KCNET::~KCNET(void) { z80->unregister_ic(this); } void KCNET::reti(void) { } void KCNET::irqreq(void) { } word_t KCNET::irqack(void) { return IRQ_NOT_ACK; } void KCNET::reset(bool power_on) { init(power_on, true); } void KCNET::init(bool power_on, bool set_config) { _status = 0; _mem_ptr = 0; _portno = 3000; if (_command != NULL) delete _command; _command = NULL; for (int a = 0;a < NR_OF_SOCKETS;a++) { if (_socket[a] != NULL) { _socket[a]->close(); delete _socket[a]; } _socket[a] = NULL; } z80->addCallback(30000, this, NULL); if (power_on) { memset(_mem, 0, sizeof (_mem)); // mac addr _mem[ADDR_SHAR0] = 0x00; _mem[ADDR_SHAR1] = 0x16; _mem[ADDR_SHAR2] = 0xaf; _mem[ADDR_SHAR3] = 0xbc; _mem[ADDR_SHAR4] = 0xde; _mem[ADDR_SHAR5] = 0x12; // just in case... see include/linux/etherdevice.h _mem[ADDR_SHAR5] &= 0xfe; /* clear multicast bit */ _mem[ADDR_SHAR5] |= 0x02; /* set local assignment bit (IEEE802) */ // default values _mem[ADDR_RTR0] = 0x07; _mem[ADDR_RTR1] = 0xd0; _mem[ADDR_RCR] = 0x08; _mem[ADDR_RMSR] = 0x55; _mem[ADDR_TMSR] = 0x55; _mem[ADDR_PTIMER] = 0x28; } if (set_config) { byte_t ip0, ip1, ip2, ip3; if (get_ip_address_from_prefs("network_gateway", ip0, ip1, ip2, ip3)) { _mem[ADDR_GAR0] = ip0; _mem[ADDR_GAR1] = ip1; _mem[ADDR_GAR2] = ip2; _mem[ADDR_GAR3] = ip3; } if (get_ip_address_from_prefs("network_netmask", ip0, ip1, ip2, ip3)) { _mem[ADDR_SUBR0] = ip0; _mem[ADDR_SUBR1] = ip1; _mem[ADDR_SUBR2] = ip2; _mem[ADDR_SUBR3] = ip3; } if (get_ip_address_from_prefs("network_ip_address", ip0, ip1, ip2, ip3)) { _mem[ADDR_SIPR0] = ip0; _mem[ADDR_SIPR1] = ip1; _mem[ADDR_SIPR2] = ip2; _mem[ADDR_SIPR3] = ip3; } if (get_ip_address_from_prefs("network_dns_server", ip0, ip1, ip2, ip3)) { set_ip_address(0, (ip0 << 24) | (ip1 << 16) | (ip2 << 8) | ip3); } } } const bool KCNET::get_ip_address_from_prefs(const char *key, byte_t &ip0, byte_t &ip1, byte_t &ip2, byte_t &ip3) const { ip0 = ip1 = ip2 = ip3 = 0; const char *addr = Preferences::instance()->get_string_value(key, NULL); if (addr == NULL) return false; StringList list(addr, '.'); if (list.size() != 4) return false; int ip[4]; int idx = 0; for (StringList::iterator it = list.begin();it != list.end();it++) { char *endptr; unsigned long n = strtoul((*it).c_str(), &endptr, 10); if (*endptr != 0) return false; if (n > 255) return false; ip[idx++] = n; } ip0 = ip[0]; ip1 = ip[1]; ip2 = ip[2]; ip3 = ip[3]; return true; } void KCNET::register_pio(PIO *pio) { _pio = pio; } void KCNET::callback(void *data) { z80->addCallback(30000, this, NULL); for (int a = 0;a < 4;a++) for (int idx = 0;idx < 4;idx++) { if (_socket[idx] == NULL) continue; word_t s = (idx << 8) + 0x0400; if (_socket[idx]->is_open()) { _mem[s | 0x02] |= IR_CON; if (_mem[s | 0x03] == SOCK_INIT) { _mem[s | 0x03] = SOCK_ESTABLISHED; printf("TCP! ESTABLISHED\n"); _mem[s | 0x20] = 4; // TX Free Size _mem[s | 0x21] = 0; } } else { continue; } _socket[idx]->poll(); if (_mem[s | 0x26] | _mem[s | 0x27]) { return; } SocketData *recv = _socket[idx]->receive(); if (recv != NULL) { _mem[s | 0x02] |= IR_RECV; int data_len = recv->length(); for (int a = 0;a < recv->length();a++) { word_t base = 0x6000 + idx * 0x0800; _mem[_recv_ptr[idx]++] = recv->get(a); if (_recv_ptr[idx] == base + 0x0800) _recv_ptr[idx] = base; } _mem[s | 0x26] = data_len >> 8; _mem[s | 0x27] = data_len; delete recv; } } } byte_t KCNET::get_status(void) { return _status; } void KCNET::set_status(byte_t status) { _status = status; } word_t KCNET::get_pointer(void) { return _mem_ptr; } void KCNET::set_pointer(word_t ptr) { _mem_ptr = ptr; } dword_t KCNET::get_ip_address(unsigned int idx) { if (idx < 8) return _ip_addr[idx]; return 0; } void KCNET::set_ip_address(unsigned int idx, dword_t ip_addr) { if (idx < 8) _ip_addr[idx] = ip_addr; } byte_t KCNET::mem_read(void) { return mem_read(_mem_ptr++); } byte_t KCNET::mem_read(word_t addr) { return _mem[addr & 0x7fff]; } void KCNET::mem_write(byte_t val) { mem_write(_mem_ptr++, val); } void KCNET::mem_write(word_t addr, byte_t val) { addr &= 0x7fff; _mem[addr] = val; if ((addr == 0) && (val & 0x80)) { init(true, false); return; } if ((addr < 0x0400) || (addr >= 0x0800)) return; // socket access int s = addr & 0xff00; int idx = (s - 0x400) >> 8; addr &= 0xff; if (addr == 0x01) // socket command { if (val == 0x01) // open { if ((_mem[s] & 0x8f) == 0x01) // ignore delayed ack (bit 5) _mem[s | 0x03] = SOCK_INIT; else if (_mem[s] == 0x02) _mem[s | 0x03] = SOCK_UDP; else if (_mem[s] == 0x03) _mem[s | 0x03] = SOCK_IPRAW; _mem[s | 0x01] = 0; _mem[s | 0x28] = 0x00; _mem[s | 0x29] = 0x00; } if (val == 0x10) // close { if (_socket[idx] != NULL) { _socket[idx]->close(); delete _socket[idx]; _mem[s | 0x24] = 0; // write pointer _mem[s | 0x25] = 0; } _socket[idx] = NULL; _mem[s | 0x01] = 0; _mem[s | 0x02] = 0; _mem[s | 0x03] = 0; } if (val == 0x04) // connect { if (_socket[idx] == NULL) { _recv_ptr[idx] = 0x6000 + idx * 0x0800; _old_read_ptr[idx] = 0x0000; _old_write_ptr[idx] = 0x0000; if (_mem[s | 0x03] == SOCK_INIT) { word_t port = _mem[s | 0x10] << 8 | _mem[s | 0x11]; printf("TCP! connect\n"); _socket[idx] = new TCP(); _socket[idx]->set_ip_address(_mem[s | 0x0c], _mem[s | 0x0d], _mem[s | 0x0e], _mem[s | 0x0f]); _socket[idx]->set_port(port); _socket[idx]->open(); } } } if (val == 0x20) // send { if (_socket[idx] == NULL) { _recv_ptr[idx] = 0x6000 + idx * 0x0800; _old_read_ptr[idx] = 0x0000; _old_write_ptr[idx] = 0x0000; } word_t port = _mem[s | 0x10] << 8 | _mem[s | 0x11]; word_t write_ptr = _mem[s | 0x24] << 8 | _mem[s | 0x25]; int len = write_ptr - _old_write_ptr[idx]; if (_socket[idx] == NULL) { if (_mem[s | 0x03] == SOCK_UDP) { printf("UDP! %04x / %04x (%d, %04xh)\n", _old_write_ptr[idx], write_ptr, len, len); _socket[idx] = new UDP(); _socket[idx]->set_ip_address(_mem[s | 0x0c], _mem[s | 0x0d], _mem[s | 0x0e], _mem[s | 0x0f]); _socket[idx]->set_port(port); _socket[idx]->open(); } if (_mem[s | 0x03] == SOCK_IPRAW) { printf("IPRAW! %04x / %04x (%d, %04xh)\n", _old_write_ptr[idx], write_ptr, len, len); _socket[idx] = new IPRAW(); _socket[idx]->set_ip_address(_mem[s | 0x0c], _mem[s | 0x0d], _mem[s | 0x0e], _mem[s | 0x0f]); _socket[idx]->set_port(port); _socket[idx]->open(); } } else { _socket[idx]->set_ip_address(_mem[s | 0x0c], _mem[s | 0x0d], _mem[s | 0x0e], _mem[s | 0x0f]); _socket[idx]->set_port(port); } if (_socket[idx] != NULL) { SocketData *data = new SocketData(len); word_t base = 0x4000 + idx * 0x0800; for (int a = 0;a < len;a++) data->put_byte(_mem[base + _old_write_ptr[idx] + a]); _socket[idx]->send(data); delete data; } _old_write_ptr[idx] = write_ptr; _mem[s | 0x02] = IR_SEND_OK | IR_CON; _mem[s | 0x01] = 0; } if (val == 0x40) // recv { word_t read_ptr = _mem[s | 0x22] << 8 | _mem[s | 0x23]; int len = read_ptr - _old_read_ptr[idx]; printf("RECV! %04x / %04x (%d, %04xh)\n", _old_read_ptr[idx], read_ptr, len, len); _mem[s | 0x02] = IR_CON; _mem[s | 0x01] = 0; _mem[s | 0x26] = 0x00; _mem[s | 0x27] = 0x00; _old_read_ptr[idx] = read_ptr; } } } const char * KCNET::mem_info(void) { return mem_info(_mem_ptr); } const char * KCNET::mem_info(word_t addr) { addr &= 0x7fff; if ((addr >= 0x0400) && (addr < 0x0800)) { switch (addr & 0x00ff) { case 0x0000: return "Socket x Mode (Sx_MR)"; case 0x0001: return "Socket x Command (Sx_CR)"; case 0x0002: return "Socket x Interrupt (Sx_IR)"; case 0x0003: return "Socket x Status (Sx_SR)"; case 0x0004: return "Socket x Source Port"; case 0x0006: return "Socket x Destination Hardware Address"; case 0x000c: return "Socket x Destination IP Address"; case 0x0010: return "Socket x Destination Port"; case 0x0012: return "Socket x Maximum Segment Size"; case 0x0014: return "Socket x Protocol in IP Raw mode"; case 0x0015: return "Socket x IP TOS (Sx_TOS)"; case 0x0016: return "Socket x IP TTL (Sx_TTL)"; case 0x0020: return "Socket x TX Free Size"; case 0x0022: return "Socket x TX Read Pointer"; case 0x0024: return "Socket x TX Write Pointer"; case 0x0026: return "Socket x RX Received Size"; case 0x0028: return "Socket x RX Read Pointer"; } } switch (addr) { case 0x0000: return "Mode (MR)"; case 0x0001: return "Gateway Address"; case 0x0005: return "Subnet mask Address"; case 0x0009: return "Source Hardware Address"; case 0x000f: return "Source IP Address"; case 0x0015: return "Interrupt (IR)"; case 0x0016: return "Interrupt Mask (IMR)"; case 0x0017: return "Retry Time"; case 0x0019: return "Retry Count (RCR)"; case 0x001a: return "RX Memory Size (RMSR)"; case 0x001b: return "TX Memory Size (TMSR)"; case 0x001c: return "Authentication Type in PPPoE"; case 0x0028: return "PPP LCP Request Timer (PTIMER)"; case 0x0029: return "PPP LCP Magic number (PMAGIC)"; case 0x002a: return "Unreachable IP Address"; case 0x002e: return "Unreachable Port"; default: return ""; } } byte_t KCNET::read(void) { if (_command) return _command->read(); printf("KCNET::read(): NO ACTIVE COMMAND\n"); return 0x00; } void KCNET::write(byte_t val) { if (_command && _command->is_active()) { //printf("WRITE %02x\n", val); _command->write(val); } else { //printf("NEW COMMAND: %02x\n", val); _command = KCNET_CMD::get_command(this, (kcnet_command_t)val); if (_command) _command->init(); } } int KCNET::callback_A_in(void) { return -1; } int KCNET::callback_B_in(void) { return -1; } void KCNET::callback_A_out(byte_t val) { } void KCNET::callback_B_out(byte_t val) { } KCNET_CMD::KCNET_CMD(KCNET *kcnet, const char *name, int args) { _idx = 0; _args = args; _name = strdup(name); _kcnet = kcnet; if (_args > 0) { _buf = new byte_t[args]; set_phase(KCNET_CMD_PHASE_ARGS); } else { _buf = NULL; set_phase(KCNET_CMD_PHASE_EXECUTE); } _result_len = 0; _result_buf = NULL; } KCNET_CMD::~KCNET_CMD(void) { free(_name); if (_buf != NULL) delete[] _buf; if (_result_buf != NULL) delete[] _result_buf; } void KCNET_CMD::init(void) { if (get_phase() == KCNET_CMD_PHASE_EXECUTE) execute(); } const char * KCNET_CMD::get_name() { return _name; } KCNET_CMD::kcnet_cmd_phase_t KCNET_CMD::get_phase(void) { return _phase; } void KCNET_CMD::set_phase(kcnet_cmd_phase_t phase) { //printf("KCNET_CMD::set_phase(): %d\n", phase); _phase = phase; if (phase == KCNET_CMD_PHASE_READ_DATA) _kcnet->set_status(0x80); } bool KCNET_CMD::is_active(void) { return get_phase() != KCNET_CMD_PHASE_FINISHED; } byte_t KCNET_CMD::read(void) { return data_read(); } byte_t KCNET_CMD::data_read(void) { if (_result_idx < _result_len) { byte_t val = _result_buf[_result_idx++]; if (_result_idx == _result_len) set_phase(KCNET_CMD_PHASE_FINISHED); DBG(2, form("KCemu/KCNET_CMD/result", "KCNET_CMD::data_read(): %02xh (%3d / '%c')\n", val, val, isprint(val) ? val : '.')); return val; } DBG(1, form("KCemu/KCNET_CMD/result", "KCNET_CMD::data_read(): ILLEGAL READ\n")); return 0x00; } void KCNET_CMD::write(byte_t val) { if (get_phase() == KCNET_CMD_PHASE_WRITE_DATA) { data_write(val); } else { if (_idx < _args) { _buf[_idx++] = val; } else { printf("IGNORE WRITE! (cmd = %s, phase = %d, val = %02xh (%3d)\n", get_name(), get_phase(), val, val); return; } if (_idx == _args) { set_phase(KCNET_CMD_PHASE_EXECUTE); execute(); } } } void KCNET_CMD::data_write(byte_t val) { } byte_t KCNET_CMD::get_data(int idx) { if (idx >= _args) { printf("ILLEGAL ARGUMENT READ, return 0!\n"); return 0; } return _buf[idx]; } void KCNET_CMD::set_result(byte_t val) { byte_t *buf = new byte_t[1]; buf[0] = val; set_result(buf, 1); } void KCNET_CMD::set_result(byte_t val1, byte_t val2) { byte_t *buf = new byte_t[2]; buf[0] = val1; buf[1] = val2; set_result(buf, 2); } void KCNET_CMD::set_result(byte_t *buf, int len) { _result_idx = 0; _result_buf = buf; _result_len = len; set_phase(KCNET_CMD_PHASE_READ_DATA); } KCNET_CMD * KCNET_CMD::get_command(KCNET *kcnet, kcnet_command_t command) { switch (command) { case CMD_WRITE_BYTES: return new KCNET_CMD_WRITE_BYTES(kcnet); case CMD_READ_BYTES: return new KCNET_CMD_READ_BYTES(kcnet); case CMD_SET_POINTER: return new KCNET_CMD_SET_POINTER(kcnet); case CMD_READ_TIMER: return new KCNET_CMD_READ_TIMER(kcnet); case CMD_WRITE_BYTE: return new KCNET_CMD_WRITE_BYTE(kcnet); case CMD_READ_BYTE: return new KCNET_CMD_READ_BYTE(kcnet); case CMD_WRITE_IPADDR: return new KCNET_CMD_WRITE_IPADDR(kcnet); case CMD_READ_IPADDR: return new KCNET_CMD_READ_IPADDR(kcnet); case CMD_READ_PORTNO: return new KCNET_CMD_READ_PORTNO(kcnet); case CMD_READ_SW_VERSION: return new KCNET_CMD_READ_SW_VERSION(kcnet); case CMD_READ_HW_VERSION: return new KCNET_CMD_READ_HW_VERSION(kcnet); case CMD_READ_LINK: return new KCNET_CMD_READ_LINK(kcnet); case CMD_READ_ID: return new KCNET_CMD_READ_ID(kcnet); case CMD_READ_ERROR: return new KCNET_CMD_READ_ERROR(kcnet); default: return NULL; } } KCNET_CMD_WRITE_BYTES::KCNET_CMD_WRITE_BYTES(KCNET *kcnet) : KCNET_CMD(kcnet, "WRITE_BYTES", 2) { } void KCNET_CMD_WRITE_BYTES::execute(void) { _idx = 0; _counter = get_data(0) | (get_data(1) << 8); DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_WRITE_BYTES", "KCNET_CMD_WRITE_BYTES: addr: %04xh - writing %3d (%04xh) bytes | %s\n", _kcnet->get_pointer(), _counter, _counter, _kcnet->mem_info())); set_phase(KCNET_CMD_PHASE_WRITE_DATA); } void KCNET_CMD_WRITE_BYTES::data_write(byte_t val) { if (_idx < _counter) { DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_WRITE_BYTES", "KCNET_CMD_WRITE_BYTES: addr: %04xh - %02xh (%3d / '%c') - index = %02xh (%3d) | %s\n", _kcnet->get_pointer(), val, val, isprint(val) ? val : '.', _idx, _idx, _kcnet->mem_info())); _kcnet->mem_write(val); _idx++; if (_idx == _counter) set_phase(KCNET_CMD_PHASE_FINISHED); return; } DBG(0, form("KCemu/KCNET_CMD/KCNET_CMD_WRITE_BYTES", "KCNET_CMD_WRITE_BYTES: ILLEGAL WRITE\n")); } KCNET_CMD_READ_BYTES::KCNET_CMD_READ_BYTES(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_BYTES", 2) { } void KCNET_CMD_READ_BYTES::execute(void) { _idx = 0; _counter = get_data(0) | (get_data(1) << 8); DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_BYTES", "KCNET_CMD_READ_BYTES: addr: %04xh - reading %3d (%04xh) bytes | %s\n", _kcnet->get_pointer(), _counter, _counter, _kcnet->mem_info())); set_phase(KCNET_CMD_PHASE_READ_DATA); } byte_t KCNET_CMD_READ_BYTES::data_read(void) { if (_idx < _counter) { byte_t val = _kcnet->mem_read(); DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_BYTES", "KCNET_CMD_READ_BYTES: addr: %04xh - %02xh (%3d / '%c') - index = %02xh (%3d) | %s\n", _kcnet->get_pointer(), val, val, isprint(val) ? val : '.', _idx, _idx, _kcnet->mem_info(_kcnet->get_pointer()))); _idx++; if (_idx == _counter) set_phase(KCNET_CMD_PHASE_FINISHED); return val; } DBG(0, form("KCemu/KCNET_CMD/KCNET_CMD_READ_BYTES", "KCNET_CMD_READ_BYTES: ILLEGAL WRITE\n")); return 0x00; } KCNET_CMD_SET_POINTER::KCNET_CMD_SET_POINTER(KCNET *kcnet) : KCNET_CMD(kcnet, "SET_POINTER", 2) { } void KCNET_CMD_SET_POINTER::execute(void) { word_t ptr = get_data(0) | (get_data(1) << 8); DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_SET_POINTER", "KCNET_CMD_SET_POINTER: addr: %04xh | %s \n", ptr, _kcnet->mem_info(ptr))); _kcnet->set_pointer(ptr); set_phase(KCNET_CMD_PHASE_FINISHED); } KCNET_CMD_READ_TIMER::KCNET_CMD_READ_TIMER(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_TIMER", 0) { } void KCNET_CMD_READ_TIMER::execute(void) { static word_t val = 0; struct timeval tv; if (gettimeofday(&tv, NULL) == 0) { val = (tv.tv_sec % 60) * 1000; val += tv.tv_usec / 1000; } else { val++; } DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_TIMER", "KCNET_CMD_READ_TIMER: val: %04xh\n", val)); set_result(val & 0xff, val >> 8); } KCNET_CMD_WRITE_BYTE::KCNET_CMD_WRITE_BYTE(KCNET *kcnet) : KCNET_CMD(kcnet, "WRITE_BYTE", 3) { } void KCNET_CMD_WRITE_BYTE::execute(void) { word_t ptr = get_data(0) | (get_data(1) << 8); byte_t val = get_data(2); DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_WRITE_BYTE", "KCNET_CMD_WRITE_BYTE: addr: %04xh - %02xh (%3d / '%c') | %s\n", ptr, val, val, isprint(val) ? val : '.', _kcnet->mem_info(ptr))); _kcnet->mem_write(ptr, val); set_phase(KCNET_CMD_PHASE_FINISHED); } KCNET_CMD_READ_BYTE::KCNET_CMD_READ_BYTE(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_BYTE", 2) { } void KCNET_CMD_READ_BYTE::execute(void) { word_t ptr = get_data(0) | (get_data(1) << 8); byte_t val = _kcnet->mem_read(ptr); DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_BYTE", "KCNET_CMD_READ_BYTE: addr: %04xh - %02xh (%3d / '%c') | %s\n", ptr, val, val, isprint(val) ? val : '.', _kcnet->mem_info(ptr))); set_result(val); } KCNET_CMD_WRITE_IPADDR::KCNET_CMD_WRITE_IPADDR(KCNET *kcnet) : KCNET_CMD(kcnet, "WRITE_IPADDR", 5) { } void KCNET_CMD_WRITE_IPADDR::execute(void) { unsigned int idx = get_data(0); if (idx < 8) { DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_WRITE_IPADDR", "KCNET_CMD_WRITE_IPADDR: ip: %d.%d.%d.%d (index = %d)\n", get_data(1), get_data(2), get_data(3), get_data(4), idx)); dword_t addr = (get_data(1) << 24) | (get_data(2) << 16) | (get_data(3) << 8) | get_data(4); _kcnet->set_ip_address(idx, addr); } else { DBG(1, form("KCemu/KCNET_CMD/KCNET_CMD_WRITE_IPADDR", "KCNET_CMD_WRITE_IPADDR: ip: %d.%d.%d.%d (index = %d) IGNORED, INVALID INDEX!\n", get_data(1), get_data(2), get_data(3), get_data(4), idx)); } set_phase(KCNET_CMD_PHASE_FINISHED); } KCNET_CMD_READ_IPADDR::KCNET_CMD_READ_IPADDR(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_IPADDR", 1) { } void KCNET_CMD_READ_IPADDR::execute(void) { byte_t *buf = new byte_t[4]; unsigned int idx = get_data(0); if (idx < 8) { dword_t addr = _kcnet->get_ip_address(idx); buf[0] = addr >> 24; buf[1] = addr >> 16; buf[2] = addr >> 8; buf[3] = addr; DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_IPADDR", "KCNET_CMD_READ_IPADDR: ip: %d.%d.%d.%d (index = %d)\n", buf[0], buf[1], buf[2], buf[3], idx)); } else { buf[0] = buf[1] = buf[2] = buf[3] = 0; DBG(1, form("KCemu/KCNET_CMD/KCNET_CMD_READ_IPADDR", "KCNET_CMD_READ_IPADDR: ip: %d.%d.%d.%d (index = %d) INVALID INDEX!\n", buf[0], buf[1], buf[2], buf[3], idx)); } set_result(buf, 4); } KCNET_CMD_READ_PORTNO::KCNET_CMD_READ_PORTNO(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_PORTNO", 0) { } void KCNET_CMD_READ_PORTNO::execute(void) { word_t portno = 3000; DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_PORTNO", "KCNET_CMD_READ_PORTNO: port: %04xh (%d)\n", portno, portno)); set_result(portno & 0xff, portno >> 8); } KCNET_CMD_READ_SW_VERSION::KCNET_CMD_READ_SW_VERSION(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_SW_VERSION", 0) { } void KCNET_CMD_READ_SW_VERSION::execute(void) { DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_SW_VERSION", "KCNET_CMD_READ_SW_VERSION: ver: %d.%d\n", KCNET::KCNET_SW_VERSION_MAJOR, KCNET::KCNET_SW_VERSION_MINOR)); set_result(KCNET::KCNET_SW_VERSION_MINOR, KCNET::KCNET_SW_VERSION_MAJOR); } KCNET_CMD_READ_HW_VERSION::KCNET_CMD_READ_HW_VERSION(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_HW_VERSION", 0) { } void KCNET_CMD_READ_HW_VERSION::execute(void) { DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_HW_VERSION", "KCNET_CMD_READ_HW_VERSION: ver: %d.%d\n", KCNET::KCNET_HW_VERSION_MAJOR, KCNET::KCNET_HW_VERSION_MINOR)); set_result(KCNET::KCNET_HW_VERSION_MINOR, KCNET::KCNET_HW_VERSION_MAJOR); } KCNET_CMD_READ_LINK::KCNET_CMD_READ_LINK(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_LINK", 0) { } void KCNET_CMD_READ_LINK::execute(void) { byte_t val = 1; DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_LINK", "KCNET_CMD_READ_LINK: link: %02xh\n", val)); set_result(val); } KCNET_CMD_READ_ID::KCNET_CMD_READ_ID(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_ID", 0) { } void KCNET_CMD_READ_ID::execute(void) { byte_t *buf = new byte_t[6]; buf[5] = 'K'; buf[4] = 'C'; buf[3] = 'e'; buf[2] = 'm'; buf[1] = 'u'; buf[0] = 0; DBG(2, form("KCemu/KCNET_CMD/KCNET_CMD_READ_ID", "KCNET_CMD_READ_ID: id: '%s'\n", buf)); set_result(buf, 6); } KCNET_CMD_READ_ERROR::KCNET_CMD_READ_ERROR(KCNET *kcnet) : KCNET_CMD(kcnet, "READ_ERROR", 0) { } void KCNET_CMD_READ_ERROR::execute(void) { } KCemu-0.5.1/src/kc/kcnet/socket.cc0000644000175000017500000000351712417262523017046 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/kcnet/socket.h" #include "sys/sysdep.h" #include "libdbg/dbg.h" SocketData::SocketData(int len) { _len = len; _idx = 0; _buf = new byte_t[len]; } SocketData::~SocketData(void) { delete[] _buf; } int SocketData::length(void) { return _len; } void SocketData::put_byte(byte_t val) { if (_idx < _len) { _buf[_idx++] = val; } } void SocketData::put_word(word_t val) { word_t nval = sys_htons(val); put_byte(nval); put_byte(nval >> 8); } void SocketData::put_long(dword_t val) { word_t nval = sys_htonl(val); put_byte(nval); put_byte(nval >> 8); put_byte(nval >> 16); put_byte(nval >> 24); } void SocketData::put_text(const char *text) { while (*text != 0) put_byte(*text++); } void SocketData::put(int idx, byte_t val) { if (idx < _len) _buf[idx] = val; } byte_t * SocketData::get(void) { return _buf; } byte_t SocketData::get(int idx) { if (idx < _len) return _buf[idx]; return 0xff; } KCemu-0.5.1/src/kc/kcnet/kcnetm.cc0000644000175000017500000000166712417262523017043 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/kcnet/kcnetm.h" #include "libdbg/dbg.h" KCemu-0.5.1/src/kc/kcnet/tcp.cc0000644000175000017500000001001112417262523016327 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/prefs/prefs.h" #include "kc/kcnet/tcp.h" #include "sys/sysdep.h" #include "libdbg/dbg.h" TCP::TCP(void) { _socket = 0; _is_open = false; _send_data = NULL; } TCP::~TCP(void) { } void TCP::set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3) { printf("TCP::set_ip_address(): %d.%d.%d.%d\n", a0, a1, a2, a3); _ip0 = a0; _ip1 = a1; _ip2 = a2; _ip3 = a3; } void TCP::set_port(word_t port) { printf("TCP::set_port(): %d\n", port); _port = port; } bool TCP::open(void) { printf("TCP::open()\n"); _is_open = false; _socket = sys_socket_create(1, 1); if (_socket < 0) { close(); return false; } return true; } bool TCP::is_open(void) { if (_socket == 0) return false; if (_is_open) return true; int ret = sys_socket_connect(_socket, _ip0, _ip1, _ip2, _ip3, _port); if (ret == 0) return true; switch (ret) { case SYS_SOCKET_ERR_INTR: printf("TCP::is_open(): connect() failed with EINTR (%d.%d.%d.%d:%d)\n", _ip0, _ip1, _ip2, _ip3, _port); return false; case SYS_SOCKET_ERR_INPROGRESS: printf("TCP::is_open(): connect() failed with EINPROGRESS (%d.%d.%d.%d:%d)\n", _ip0, _ip1, _ip2, _ip3, _port); return false; case SYS_SOCKET_ERR_ALREADY: printf("TCP::is_open(): connect() failed with EALREADY (%d.%d.%d.%d:%d)\n", _ip0, _ip1, _ip2, _ip3, _port); return false; case SYS_SOCKET_ERR_ISCONN: return true; default: printf("TCP::is_open(): connect() failed with errno %d (%d.%d.%d.%d:%d)\n", ret, _ip0, _ip1, _ip2, _ip3, _port); close(); return false; } } void TCP::close(void) { printf("TCP::close()\n"); if (_socket > 0) { sys_socket_close(_socket); } _socket = 0; _is_open = false; } void TCP::poll(void) { unsigned char buf[512]; if (_socket == 0) return; if (_send_data != NULL) return; int r = sys_socket_recvfrom(_socket, buf, sizeof(buf), NULL, NULL, NULL, NULL, NULL); if (r < 0) { switch (errno) { case EAGAIN: //printf("TCP::poll(): recv() returned %d / EAGAIN\n", r); break; default: printf("TCP::poll(): recv() returned %d / errno = %d\n", r, errno); break; } return; } if (r == 0) { close(); return; } printf("TCP::poll(): recv() returned %d\n", r); _send_data = new SocketData(r); for (int a = 0;a < r;a++) _send_data->put_byte(buf[a]); } void TCP::send(SocketData *data) { printf("TCP::send(): len = %d\n", data->length()); printf("TCP::send(): data = "); for (int a = 0;a < data->length();a++) printf("%02x ", data->get(a)); printf("\n"); int n = sys_socket_send(_socket, data->get(), data->length()); printf("TCP::send(): send() returned %d\n", n); } SocketData * TCP::receive(void) { if (_send_data == NULL) return NULL; SocketData *ret = _send_data; printf("TCP::receive(): len = %d\n", ret->length()); printf("TCP::receive(): data = "); for (int a = 0;a < ret->length();a++) printf("%02x ", ret->get(a)); printf("\n"); _send_data = NULL; return ret; } KCemu-0.5.1/src/kc/kcnet/udp.cc0000644000175000017500000000607612417262523016351 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/prefs/prefs.h" #include "kc/kcnet/udp.h" #include "sys/sysdep.h" #include "libdbg/dbg.h" UDP::UDP(void) { _socket = 0; _send_data = NULL; } UDP::~UDP(void) { } void UDP::set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3) { printf("UDP::set_ip_address(): %d.%d.%d.%d\n", a0, a1, a2, a3); _ip0 = a0; _ip1 = a1; _ip2 = a2; _ip3 = a3; } void UDP::set_port(word_t port) { printf("UDP::set_port(): %d\n", port); _port = port; } bool UDP::open(void) { printf("UDP::open()\n"); _socket = sys_socket_create(0, 0); if (_socket < 0) { close(); return false; } return true; } bool UDP::is_open(void) { return true; } void UDP::close(void) { if (_socket > 0) { sys_socket_close(_socket); } _socket = 0; } void UDP::poll(void) { unsigned short port; unsigned char ip0, ip1, ip2, ip3; unsigned char buf[4096]; if (_send_data != NULL) return; printf("poll: socket = %d\n", _socket); int r = sys_socket_recvfrom(_socket, buf, sizeof(buf), &ip0, &ip1, &ip2, &ip3, &port); if (r < 0) return; printf("UDP::poll(): recvfrom() returned %d - %d.%d.%d.%d:%d\n", r, ip0, ip1, ip2, ip3, port); _send_data = new SocketData(r + 8); _send_data->put_byte(ip0); _send_data->put_byte(ip1); _send_data->put_byte(ip2); _send_data->put_byte(ip3); _send_data->put_word(port); _send_data->put_word(r); for (int a = 0;a < r;a++) _send_data->put_byte(buf[a]); } void UDP::send(SocketData *data) { printf("UDP::send(): len = %d - %d.%d.%d.%d:%d\n", data->length(), _ip0, _ip1, _ip2, _ip3, _port); printf("UDP::send(): data = "); for (int a = 0;a < data->length();a++) printf("%02x ", data->get(a)); printf("\n"); int n = sys_socket_sendto(_socket, data->get(), data->length(), _ip0, _ip1, _ip2, _ip3, _port); printf("UDP::send(): sendto() returned %d\n", n); } SocketData * UDP::receive(void) { if (_send_data == NULL) return NULL; SocketData *ret = _send_data; printf("UDP::receive(): len = %d\n", ret->length()); printf("UDP::receive(): data = "); for (int a = 0;a < ret->length();a++) printf("%02x ", ret->get(a)); printf("\n"); _send_data = NULL; return ret; } KCemu-0.5.1/src/kc/kcnet/Makefile.am0000644000175000017500000000060712417262523017300 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libkcnet.a AM_CPPFLAGS = \ -I../../../include \ -DKCEMU_PACKAGE=\"$(PACKAGE)\" \ -DKCEMU_DATADIR=\"$(pkgdatadir)\" \ -DKCEMU_LOCALEDIR=\"$(localedir)\" \ -DDEBUG libkcnet_a_SOURCES = \ kcnet.cc \ kcnetm.cc \ socket.cc \ pio_net.cc \ ipraw.cc \ udp.cc \ tcp.cc \ tftp.cc KCemu-0.5.1/src/kc/kcnet/tftp.cc0000644000175000017500000000677112417262523016540 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/prefs/prefs.h" #include "kc/kcnet/tftp.h" #include "libdbg/dbg.h" TFTP::TFTP(void) { _block = 0; _send_data = NULL; } TFTP::~TFTP(void) { } void TFTP::set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3) { } void TFTP::set_port(word_t port) { } bool TFTP::open(void) { return true; } bool TFTP::is_open(void) { return true; } void TFTP::close(void) { } void TFTP::poll(void) { } void TFTP::send(SocketData *data) { printf("TFTP::send(): len = %d\n", data->length()); if (data->length() < 2) return; for (int a = 0;a < data->length();a++) printf("%02x ", data->get(a)); printf("\n"); word_t opcode = data->get(0) << 8 | data->get(1); if (opcode == TFTP_RRQ) { init_read(data); } else if (opcode == TFTP_WRQ) { } else if (opcode == TFTP_ACK) { printf("ACK!\n"); } } SocketData * TFTP::receive(void) { if (_send_data == NULL) { if (_path.length() > 0) { byte_t buf[512]; printf("TFTP::receive(): reading block %d\n", _block); FILE *f = fopen(_path.c_str(), "rb"); fseek(f, _block * 512, SEEK_SET); int len = fread(buf, 1, 512, f); fclose(f); _block++; printf("TFTP::receive(): block len = %d\n", len); SocketData *data = new SocketData(len + 4); data->put_word(TFTP_DATA); data->put_word(_block); for (int a = 0;a < len;a++) data->put_byte(buf[a]); if (len < 512) { printf("TFTP::receive(): END\n"); _path.clear(); } return data; } return NULL; } SocketData *ret = _send_data; printf("TFTP::receive(): len = %d\n", ret->length()); for (int a = 0;a < ret->length();a++) printf("%02x ", ret->get(a)); printf("\n"); _send_data = NULL; return ret; } void TFTP::init_read(SocketData *data) { // FIXME: range check! string filename((const char *)data->get() + 2); printf("init_read: %s\n", filename.c_str()); const char *root = Preferences::instance()->get_string_value("kcnet_tftp_root", NULL); _path = string(root == NULL ? "/tmp" : root) + "/" + filename; if (access(_path.c_str(), R_OK) != 0) { printf("FILE NOT FOUND!\n"); _send_data = new SocketData(20); _send_data->put_word(TFTP_ERROR); _send_data->put_word(TFTP_ERR_FILE_NOT_FOUND); _send_data->put_text("File not found."); _send_data->put_byte(0); } else { _block = 0; printf("READING FILE %s!\n", _path.c_str()); } } KCemu-0.5.1/src/kc/kcnet/ipraw.cc0000644000175000017500000001245512417262523016701 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/prefs/prefs.h" #include "kc/kcnet/ipraw.h" #include "sys/sysdep.h" #include "libdbg/dbg.h" IPRAW::IPRAW(void) { _socket = 0; _data = NULL; _send_data = NULL; } IPRAW::~IPRAW(void) { } void IPRAW::set_ip_address(byte_t a0, byte_t a1, byte_t a2, byte_t a3) { DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::set_ip_address(): %d.%d.%d.%d\n", a0, a1, a2, a3)); _ip0 = a0; _ip1 = a1; _ip2 = a2; _ip3 = a3; } void IPRAW::set_port(word_t port) { DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::set_port(): %d\n", port)); _port = port; } bool IPRAW::open(void) { DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::open()\n")); return true; } bool IPRAW::is_open(void) { return true; } void IPRAW::close(void) { DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::close()\n")); close_socket(); } void IPRAW::close_socket(void) { sys_socket_close(_socket); _socket = 0; } void IPRAW::poll(void) { if (_socket == 0) return; // Use hard coded port 80, this is currently only intended to // simulate ping. Because we can't simply send raw ip packets // from user space program, we try to connect to web server // port 80 and interpet a successful connect as ping reply. int ret = sys_socket_connect(_socket, _ip0, _ip1, _ip2, _ip3, 80); switch (ret) { case 0: case SYS_SOCKET_ERR_ISCONN: _send_data = _data; _data = NULL; close_socket(); break; case SYS_SOCKET_ERR_INTR: DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::send(): connect() failed with EINTR\n")); break; case SYS_SOCKET_ERR_INPROGRESS: DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::send(): connect() failed with EINPROGRESS\n")); break; case SYS_SOCKET_ERR_ALREADY: DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::send(): connect() failed with EALREADY\n")); break; default: DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::send(): connect() failed with error code %d\n", ret)); if (_data) delete _data; _data = NULL; _send_data = NULL; close_socket(); break; } } void IPRAW::send(SocketData *data) { DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::send(): len = %d - %d.%d.%d.%d:%d\n", data->length(), _ip0, _ip1, _ip2, _ip3, _port)); string text; char buf[10]; for (int a = 0;a < data->length();a++) { snprintf(buf, sizeof (buf), " %02x", data->get(a)); text += buf; } DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::send(): data =%s\n", text.c_str())); if (data->get(0) != 8) // ECHO REQUEST { DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::send(): not an echo request!\n")); return; } int s = sys_socket_create(1, 1); if (s < 0) return; _data = new SocketData(data->length() + 6); _data->put_byte(_ip0); _data->put_byte(_ip1); _data->put_byte(_ip2); _data->put_byte(_ip3); _data->put_word(data->length()); _data->put_byte(0); // ECHO REPLY _data->put_byte(0); // code _data->put_word(0); // dummy checksum for (int a = 4;a < data->length();a++) _data->put_byte(data->get(a)); word_t sum = checksum(_data, 6); _data->put(8, sum); _data->put(9, sum >> 8); DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::send(): new checksum: %04x\n", sum)); _socket = s; poll(); } /** * Based on example code in RFC1071. */ word_t IPRAW::checksum(SocketData *data, int offset) { int idx = offset; int count = data->length() - idx; dword_t sum = 0; while (count > 1) { sum += data->get(idx) | data->get(idx + 1) << 8; idx += 2; count -= 2; } /* Add left-over byte, if any */ if (count > 0) sum += data->get(idx); /* Fold 32-bit sum to 16 bits */ while (sum >> 16) sum = (sum & 0xffff) + (sum >> 16); return ~sum; } SocketData * IPRAW::receive(void) { if (_send_data == NULL) return NULL; SocketData *ret = _send_data; string text; char buf[10]; for (int a = 0;a < ret->length();a++) { snprintf(buf, sizeof(buf), " %02x", ret->get(a)); text += buf; } DBG(2, form("KCemu/KCNET/ipraw", "IPRAW::receive(): len = %d, data =%s\n", ret->length(), text.c_str())); _send_data = NULL; return ret; } KCemu-0.5.1/src/kc/fdc.cc0000644000175000017500000003261312417262523015205 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/fdc.h" #include "kc/fdc_cmd.h" #include "libdbg/dbg.h" FloppyState::FloppyState(byte_t head, byte_t cylinder, byte_t sector, Floppy *floppy) { _head = head; _cylinder = cylinder; _sector = sector; _floppy = floppy; } FloppyState::~FloppyState(void) { } SectorDesc::SectorDesc(long size, byte_t *buf) { _buf = buf; _size = size; } FDC::FDC(void) : InterfaceCircuit("FDC") { _cmds[0x00] = new FDC_CMD_INVALID(this); _cmds[0x01] = new FDC_CMD_INVALID(this); _cmds[0x02] = new FDC_CMD_READ_TRACK(this); _cmds[0x03] = new FDC_CMD_SPECIFY(this); _cmds[0x04] = new FDC_CMD_SENSE_DRIVE_STATUS(this); _cmds[0x05] = new FDC_CMD_WRITE_DATA(this); _cmds[0x06] = new FDC_CMD_READ_DATA(this); _cmds[0x07] = new FDC_CMD_RECALIBRATE(this); _cmds[0x08] = new FDC_CMD_SENSE_INTERRUPT_STATUS(this); _cmds[0x09] = new FDC_CMD_WRITE_DELETED_DATA(this); _cmds[0x0a] = new FDC_CMD_READ_ID(this); _cmds[0x0b] = new FDC_CMD_INVALID(this); _cmds[0x0c] = new FDC_CMD_READ_DELETED_DATA(this); _cmds[0x0d] = new FDC_CMD_FORMAT_A_TRACK(this); _cmds[0x0e] = new FDC_CMD_INVALID(this); _cmds[0x0f] = new FDC_CMD_SEEK(this); _cmds[0x10] = new FDC_CMD_INVALID(this); _cmds[0x11] = new FDC_CMD_SCAN_EQUAL(this); _cmds[0x12] = new FDC_CMD_INVALID(this); _cmds[0x13] = new FDC_CMD_INVALID(this); _cmds[0x14] = new FDC_CMD_INVALID(this); _cmds[0x15] = new FDC_CMD_INVALID(this); _cmds[0x16] = new FDC_CMD_INVALID(this); _cmds[0x17] = new FDC_CMD_INVALID(this); _cmds[0x18] = new FDC_CMD_INVALID(this); _cmds[0x19] = new FDC_CMD_SCAN_LOW_OR_EQUAL(this); _cmds[0x1a] = new FDC_CMD_INVALID(this); _cmds[0x1b] = new FDC_CMD_INVALID(this); _cmds[0x1c] = new FDC_CMD_INVALID(this); _cmds[0x1d] = new FDC_CMD_SCAN_HIGH_OR_EQUAL(this); _cmds[0x1e] = new FDC_CMD_INVALID(this); _cmds[0x1f] = new FDC_CMD_INVALID(this); _floppy[0] = new Floppy("attach-1"); _floppy[1] = new Floppy("attach-2"); _floppy[2] = new Floppy("attach-3"); _floppy[3] = new Floppy("attach-4"); _fstate[0] = new FloppyState(0, 0, 1, _floppy[0]); _fstate[1] = new FloppyState(0, 0, 1, _floppy[1]); _fstate[2] = new FloppyState(0, 0, 1, _floppy[2]); _fstate[3] = new FloppyState(0, 0, 1, _floppy[3]); init(); } FDC::~FDC(void) { for (int a = 0;a <= 0x1f;a++) delete _cmds[a]; for (int a = 0;a < 4;a++) { delete _fstate[a]; delete _floppy[a]; } } void FDC::init(void) { _cur_cmd = 0; _cur_floppy = 0; _read_bytes = 0; _MSR = 0; _ST0 = 0; _ST1 = 0; _ST2 = 0; _ST3 = 0; _INPUT_GATE = 0x60; _selected_unit = 0; _selected_device = 0; _terminal_count = false; set_state(FDC_STATE_IDLE); } byte_t FDC::in_data(word_t addr) { byte_t val; val = 0xff; switch (_state) { case FDC_STATE_RESULT: val = _cur_cmd->read_result(); DBG(2, form("KCemu/FDC/in_data", "FDC::in(): addr = %04x, val = %02x [%c] FDC_STATE_RESULT\n", addr, val, isprint(val) ? val : '.')); break; case FDC_STATE_DATA: val = read_byte(); DBG(2, form("KCemu/FDC/in_data", "FDC::in(): addr = %04x, val = %02x [%c] FDC_STATE_DATA\n", addr, val, isprint(val) ? val : '.')); break; default: break; } return val; } /* * data input from disk */ byte_t FDC::read_byte(void) { if (_cur_cmd) return _cur_cmd->read_byte(); return 0xff; } /* * data output to disk ??? */ void FDC::write_byte(byte_t val) { if (_cur_cmd) _cur_cmd->write_byte(val); } /* * command output to floppy controller */ void FDC::out_data(word_t addr, byte_t val) { switch (_state) { case FDC_STATE_IDLE: DBG(2, form("KCemu/FDC/out_data", "FDC::out(): addr = %04x, val = %02x [%c] FDC_STATE_IDLE\n", addr, val, isprint(val) ? val : '.')); _cur_cmd = _cmds[val & 0x1f]; _cur_cmd->start(val); break; case FDC_STATE_COMMAND: DBG(2, form("KCemu/FDC/out_data", "FDC::out(): addr = %04x, val = %02x [%c] FDC_STATE_COMMAND\n", addr, val, isprint(val) ? val : '.')); _cur_cmd->write_arg(val); break; case FDC_STATE_DATA: DBG(2, form("KCemu/FDC/out_data", "FDC::out(): addr = %04x, val = %02x [%c] FDC_STATE_DATA\n", addr, val, isprint(val) ? val : '.')); write_byte(val); break; default: break; } } void FDC::select_floppy(int floppy_nr) { DBG(2, form("KCemu/FDC/select_floppy", "FDC::select_floppy(): selecting floppy %d\n", floppy_nr)); _selected_unit = floppy_nr; _cur_floppy = _fstate[floppy_nr]; } Floppy * FDC::get_floppy(void) { if (_cur_floppy == 0) return 0; return _cur_floppy->get_floppy(); } Floppy * FDC::get_floppy(int idx) { if (idx < 0) return NULL; if (idx > 3) return NULL; return _fstate[idx]->get_floppy(); } int FDC::get_head(void) { if (_cur_floppy == 0) return -1; return _cur_floppy->get_head(); } int FDC::get_cylinder(void) { if (_cur_floppy == 0) return -1; return _cur_floppy->get_cylinder(); } int FDC::get_sector(void) { if (_cur_floppy == 0) return -1; return _cur_floppy->get_sector(); } void FDC::set_state(fdc_state_t state) { _state = state; byte_t msr = get_msr() & 0x0f; byte_t dio = get_msr() & ST_MAIN_DIO; switch (_state) { case FDC_STATE_IDLE: msr |= ST_MAIN_RQM; DBG(2, form("KCemu/FDC/state", "FDC::set_state(): FDC_STATE_IDLE -> MSR: %02x\n", msr)); break; case FDC_STATE_COMMAND: msr |= ST_MAIN_READ_WRITE; msr |= ST_MAIN_RQM; DBG(2, form("KCemu/FDC/state", "FDC::set_state(): FDC_STATE_COMMAND -> MSR: %02x\n", msr)); break; case FDC_STATE_EXECUTE: msr |= ST_MAIN_NON_DMA; msr |= ST_MAIN_DIO; DBG(2, form("KCemu/FDC/state", "FDC::set_state(): FDC_STATE_EXECUTE -> MSR: %02x\n", msr)); break; case FDC_STATE_DATA: msr |= ST_MAIN_READ_WRITE; msr |= ST_MAIN_NON_DMA; msr |= ST_MAIN_RQM; // don't change the direction register, this is set by the command // (1 while doing read, 0 while doing write command data transfer) msr |= dio; DBG(2, form("KCemu/FDC/state", "FDC::set_state(): FDC_STATE_DATA -> MSR: %02x\n", msr)); break; case FDC_STATE_RESULT: msr |= ST_MAIN_READ_WRITE; msr |= ST_MAIN_DIO; msr |= ST_MAIN_RQM; DBG(2, form("KCemu/FDC/state", "FDC::set_state(): FDC_STATE_RESULT -> MSR: %02x\n", msr)); break; } set_msr(0xf0, msr); } void FDC::callback(void *data) { long val = (long)data; switch (val & CB_MASK) { case CB_TYPE_SEEK: callback_seek(data); break; case CB_TYPE_INDEX: callback_index(data); break; default: DBG(0, form("KCemu/internal_error", "FDC::callback(): unknown callback %08x\n", val)); break; } } /** * Emulation of the index pulse generated by the floppy drive. * We assume the drive rotates with 300rpm, means 5 rotations * per second. */ void FDC::callback_index(void *data) { long index_value = ((long)data) & 1; byte_t input_gate = 0; if (_selected_device != 0) { int offset; if (index_value == 0) { offset = 1000; input_gate = 0x10; } else { offset = 350000; } add_callback(offset, this, (void *)(CB_TYPE_INDEX | (1 - index_value))); } set_input_gate(0x10, input_gate); } void FDC::callback_seek(void *data) { long unit = (long)data; byte_t unit_bit = 1 << (unit & 0xff); bool ok = (unit & 0x0100) == 0; DBG(2, form("KCemu/FDC/seek", "FDC::seek(): [%8Ld] finished seek %s, floppy %d\n", get_counter(), ok ? "ok" : "with error", unit & 0xff)); set_msr(unit_bit, 0); if (ok) { // seek ok set_ST0(ST_0_IC_MASK | ST_0_SEEK_END | ST_0_EC, ST_0_IC_NORMAL_TERMINATION | ST_0_SEEK_END); set_ST3(ST_3_READY | ST_3_TRACK_0, ST_3_READY | ST_3_TRACK_0); } else { // seek failed set_ST0(ST_0_IC_MASK | ST_0_SEEK_END | ST_0_EC, ST_0_IC_ABNORMAL_TERMINATION | ST_0_SEEK_END | ST_0_EC); set_ST3(ST_3_READY | ST_3_TRACK_0, 0); } set_input_gate(0x40, 0x00); } bool FDC::seek_internal(byte_t head, byte_t cylinder, byte_t sector) { if (_cur_floppy == 0) return false; _cur_floppy->set_head(head); _cur_floppy->set_cylinder(cylinder); _cur_floppy->set_sector(sector); bool seek_ok = _cur_floppy->seek(); return seek_ok; } bool FDC::seek(byte_t head, byte_t cylinder, byte_t sector) { if (_cur_floppy == 0) return false; int c1 = cylinder; int c2 = _cur_floppy->get_cylinder(); int diff = abs(c1 - c2); bool seek_ok = seek_internal(head, cylinder, sector); set_ST0(ST_0_SEEK_END, 0); set_input_gate(0x40, 0x40); int offset = diff * 1000 + 500; if (seek_ok) { DBG(2, form("KCemu/FDC/seek", "FDC::seek(): [%8Ld] starting seek to cylinder %d, diff = %d, floppy %d\n", get_counter(), cylinder, diff, _selected_unit)); add_callback(offset, this, (void *)(CB_TYPE_SEEK | _selected_unit)); } else { DBG(2, form("KCemu/FDC/seek", "FDC::seek(): [%8Ld] seek failed to cylinder %d, diff = %d, floppy %d\n", get_counter(), cylinder, diff, _selected_unit)); add_callback(offset, this, (void *)(CB_TYPE_SEEK | _selected_unit | 0x0100)); } byte_t unit_bit = 1 << _selected_unit; set_msr(unit_bit, unit_bit); return seek_ok; } void FDC::drive_select(byte_t val) { DBG(2, form("KCemu/FDC/drive_select", "FDC::drive_select(): output to drive select port, value = %02x\n", val)); val &= 0x0f; bool has_disc = false; for (int a = 0;a < 4;a++) { Floppy *floppy = get_floppy(a); if ((val & (1 << a)) && (floppy != NULL) && (floppy->get_sector_size() > 0)) has_disc = true; } if (has_disc) { DBG(2, form("KCemu/FDC/drive_select", "FDC::drive_select(): enable index-hole pulse generation%s\n", _selected_device == 0 ? "" : " (already running)")); if (_selected_device == 0) add_callback(20000, this, (void *)(CB_TYPE_INDEX)); _selected_device = val; } else { DBG(2, form("KCemu/FDC/drive_select", "FDC::drive_select(): stop index-hole pulse generation\n")); _selected_device = 0; } set_input_gate(0x10, 0x00); } byte_t FDC::get_input_gate(void) { return _INPUT_GATE; } void FDC::set_input_gate(byte_t mask, byte_t val) { _INPUT_GATE = ((_INPUT_GATE & ~mask) | (val & mask)); DBG(2, form("KCemu/FDC/input_gate", "FDC::set_input_gate(): INPUT_GATE: %02x\n", _INPUT_GATE)); } byte_t FDC::get_msr(void) { return _MSR; } void FDC::set_msr(byte_t mask, byte_t val) { _MSR = ((_MSR & ~mask) | (val & mask)); DBG(2, form("KCemu/FDC/MSR", "FDC::set_msr(): MSR: %02x\n", _MSR)); } /* * handle the terminal count signal (TC) * * when receiving high on this pin the floppy controller * aborts the running command (mostly read/write) and * goes into result phase */ void FDC::set_terminal_count(bool val) { if (_terminal_count == val) return; _terminal_count = val; if (!_terminal_count) return; if (_cur_cmd) _cur_cmd->finish_cmd(); else set_state(FDC_STATE_IDLE); } byte_t FDC::get_ST0(void) { set_ST0(ST_0_HEAD_ADDRESS, get_head() == 1 ? ST_0_HEAD_ADDRESS : 0); set_ST0(ST_0_UNIT_SELECT_MASK, _selected_unit); return _ST0; } byte_t FDC::get_ST1(void) { return _ST1; } byte_t FDC::get_ST2(void) { return _ST2; } byte_t FDC::get_ST3(void) { set_ST3(ST_3_READY, ST_3_READY); set_ST3(ST_3_TWO_SIDE, ST_3_TWO_SIDE); set_ST3(ST_3_WRITE_PROTECTED, 0); set_ST3(ST_3_TRACK_0, get_cylinder() == 0 ? ST_3_TRACK_0 : 0); set_ST3(ST_3_HEAD_ADDRESS, get_head() == 1 ? ST_3_HEAD_ADDRESS : 0); set_ST3(ST_3_UNIT_SELECT_MASK, _selected_unit); return _ST3; } void FDC::set_ST0(byte_t mask, byte_t val) { _ST0 = (~mask & _ST0) | (mask & val); DBG(2, form("KCemu/FDC/ST0", "FDC::set_ST0(): ST0: %02x\n", _ST0)); } void FDC::set_ST1(byte_t mask, byte_t val) { _ST1 = (~mask & _ST1) | (mask & val); DBG(2, form("KCemu/FDC/ST1", "FDC::set_ST1(): ST1: %02x\n", _ST1)); } void FDC::set_ST2(byte_t mask, byte_t val) { _ST2 = (~mask & _ST2) | (mask & val); DBG(2, form("KCemu/FDC/ST2", "FDC::set_ST2(): ST2: %02x\n", _ST2)); } void FDC::set_ST3(byte_t mask, byte_t val) { _ST3 = (~mask & _ST3) | (mask & val); DBG(2, form("KCemu/FDC/ST3", "FDC::set_ST3(): ST3: %02x\n", _ST3)); } void FDC::reset(bool power_on) { init(); } void FDC::reti(void) { } KCemu-0.5.1/src/kc/mod_m052.cc0000644000175000017500000000605612417262523015775 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/z80.h" #include "kc/vdip.h" #include "kc/daisy.h" #include "kc/pio_vdip.h" #include "kc/mod_m052.h" #include "kc/kcnet/kcnet.h" #include "kc/kcnet/pio_net.h" ModuleNetworkUSB::ModuleNetworkUSB(ModuleNetworkUSB &tmpl) : ModuleSegmentedMemory(tmpl) { _pio_net = new PIO_NET; _pio_vdip = new PIO_VDIP; _portg_pio_net = NULL; _portg_pio_vdip = NULL; set_valid(true); } ModuleNetworkUSB::ModuleNetworkUSB(const char *filename, const char *name, byte_t id) : ModuleSegmentedMemory(name, id, 4, 0x2000, filename) { _pio_net = NULL; _pio_vdip = NULL; _portg_pio_net = NULL; _portg_pio_vdip = NULL; set_valid(true); } ModuleNetworkUSB::~ModuleNetworkUSB(void) { if (_pio_net != NULL) delete _pio_net; if (_pio_vdip != NULL) delete _pio_vdip; } int ModuleNetworkUSB::get_segment_index(word_t addr, byte_t val) { return (val >> 3) & 3; } word_t ModuleNetworkUSB::get_base_address(word_t addr, byte_t val) { return ((val >> 5) & 7) * 0x2000; } byte_t ModuleNetworkUSB::m_in(word_t addr) { byte_t val = ModuleSegmentedMemory::m_in(addr); printf("ModuleNetworkUSB::m_in(): %04xh: %04x - %02x\n", z80->getPC(), addr, val); return val; } void ModuleNetworkUSB::m_out(word_t addr, byte_t val) { printf("ModuleNetworkUSB::m_out(): %04xh: %04x - %02x\n", z80->getPC(), addr, val); ModuleSegmentedMemory::m_out(addr, val); if (val & 4) { if (_portg_pio_net == NULL) { _portg_pio_net = ports->register_ports("M052 PIO NET", 0x28, 4, _pio_net, 0); daisy->add_last(_pio_net); } if (_portg_pio_vdip == NULL) { _portg_pio_vdip = ports->register_ports("M052 PIO VDIP", 0x2c, 4, _pio_vdip, 0); daisy->add_last(_pio_vdip); vdip->register_pio(_pio_vdip); } } else { if (_portg_pio_net != NULL) { ports->unregister_ports(_portg_pio_net); daisy->remove(_pio_net); kcnet->reset(); } if (_portg_pio_vdip != NULL) { vdip->register_pio(NULL); ports->unregister_ports(_portg_pio_vdip); daisy->remove(_pio_vdip); } _portg_pio_net = NULL; _portg_pio_vdip = NULL; } } ModuleInterface * ModuleNetworkUSB::clone(void) { return new ModuleNetworkUSB(*this); } KCemu-0.5.1/src/kc/z80_fdc.cc0000644000175000017500000001072412417262523015705 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/ports.h" #include "kc/cb_list.h" #include "kc/z80_fdc.h" #include "libdbg/dbg.h" #define MEM_SIZE (65536) byte_t fdc_mem[MEM_SIZE]; static Z80_FDC *self; // for the signal handler static void signalHandler(int sig); Z80_FDC::Z80_FDC(void) { self = this; _context = z80ex_create(z80ex_mread_cb, this, z80ex_mwrite_cb, this, z80ex_pread_cb, this, z80ex_pwrite_cb, this, z80ex_intread_cb, this); z80ex_reset(_context); _debug = false; signal(SIGINT, signalHandler); } Z80_FDC::~Z80_FDC(void) { } void Z80_FDC::do_execute(void) { if (_debug) { int addr = getPC(); char buf[80]; int t, t2; int base_addr = addr; printf("FDC: %04X: ", addr); addr += z80ex_dasm(buf, 80, 0, &t, &t2, z80ex_dasm_readbyte_cb, addr, &base_addr); printf("%-15s t=%d", buf, t); if (t2) printf("/%d", t2); printf("\n"); } _counter += z80ex_step(_context); } void Z80_FDC::execute(void) { static int x = 40000; static int calls = 8; do_execute(); do_execute(); if (--calls == 0) { calls = 8; do_execute(); } _cb_list.run_callbacks(_counter); if (--x == 0) { x = 40000; if (DBG_check("KCemu/Z80core2/trace")) { x = 500; } } } long long Z80_FDC::get_counter() { return _counter; } byte_t Z80_FDC::trigger_irq(byte_t irq_vector) { _next_irq = irq_vector; z80ex_int(_context); return 0; } void Z80_FDC::add_callback(unsigned long long offset, Callback *cb, void *data) { _cb_list.add_callback(_counter + offset, cb, data); } void Z80_FDC::register_ic(InterfaceCircuit *h) { _ic_list.push_back(h); } void Z80_FDC::unregister_ic(InterfaceCircuit *h) { _ic_list.remove(h); } void Z80_FDC::reset(bool power_on) { if (power_on) memset(fdc_mem, 0, MEM_SIZE); z80ex_reset(_context); z80ex_set_reg(_context, regPC, 0xfc00); _cb_list.clear(); for (ic_list_t::iterator it = _ic_list.begin(); it != _ic_list.end(); it++) (*it)->reset(power_on); } void Z80_FDC::power_on() { reset(true); } bool Z80_FDC::trace(void) { return false; } void Z80_FDC::trace(bool value) { } Z80EX_BYTE Z80_FDC::z80ex_dasm_readbyte_cb(Z80EX_WORD addr, void *user_data) { return fdc_mem[(addr & 0xffff)]; } Z80EX_BYTE Z80_FDC::z80ex_mread_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD addr, int m1_state, void *user_data) { return fdc_mem[(addr & 0xffff)]; } void Z80_FDC::z80ex_mwrite_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD addr, Z80EX_BYTE value, void *user_data) { fdc_mem[(addr & 0xffff)] = value; } Z80EX_BYTE Z80_FDC::z80ex_pread_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD port, void *user_data) { byte_t value = fdc_ports->in(port); DBG(3, form("KCemu/Z80FDC/InZ80", "InZ80(): %04x: %04x -> %02x\n", Z80_GetPC(), port, value)); return value; } void Z80_FDC::z80ex_pwrite_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD port, Z80EX_BYTE value, void *user_data) { DBG(3, form("KCemu/Z80FDC/OutZ80", "OutZ80(): %04x: %04x -> %02x\n", Z80_GetPC(), port, value)); fdc_ports->out(port, value); } Z80EX_BYTE Z80_FDC::z80ex_intread_cb(Z80EX_CONTEXT *cpu, void *user_data) { Z80_FDC *z80 = (Z80_FDC *) user_data; return z80->_next_irq; } static void signalHandler(int sig) { static bool flag = false; std::cout << "\n *** signal caught (" << sig << ") ***\n\n"; signal(sig, signalHandler); flag = !flag; self->_debug = flag; } KCemu-0.5.1/src/kc/mod_128k.cc0000644000175000017500000000256612417262523016001 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/mod_128k.h" Module128k::Module128k(Module128k &tmpl) : ModuleSegmentedMemory(tmpl) { } Module128k::Module128k(const char *name, byte_t id) : ModuleSegmentedMemory(name, id, 8, 0x4000) { } Module128k::~Module128k(void) { } int Module128k::get_segment_index(word_t addr, byte_t val) { return (val >> 2) & 0x07; } word_t Module128k::get_base_address(word_t addr, byte_t val) { return (val & 0x80) ? 0x8000 : 0x4000; } ModuleInterface * Module128k::clone(void) { return new Module128k(*this); } KCemu-0.5.1/src/kc/sound8.cc0000644000175000017500000000523612417262523015672 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include // FIXME: #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/sound8.h" #define SOUND_BUFFER_SIZE (1024) #define SOUND_SAMPLE_FREQ (44100) static FILE *_f; void Sound8::sound_callback(void *userdata, unsigned char *stream, int len) { int a; sndop8 *op; long long c; static int xxx = 10; c = z80->getCounter() - 30000; if (_snd_cnt == 0) { _snd_cnt = c; return; } for (a = 0;a < len;a++) stream[a] = 0x080; if (_sndop_list.size() == 0) { if (--xxx < 0) _snd_cnt = c; return; } xxx = 10; op = 0; if (_sndop_list.size() > 0) op = _sndop_list.front(); for (a = 0;a < len;a++) { if (op && op->_counter <= _snd_cnt) { _val = op->_val; _sndop_list.pop_front(); op = 0; if (_sndop_list.size() > 0) op = _sndop_list.front(); } stream[a] = _val; _snd_cnt += 21; } fwrite(stream, 1, len, _f); } Sound8::Sound8(void) { _f = fopen("/tmp/lc80.wav", "wb"); } Sound8::~Sound8(void) { delete _buf; fclose(_f); } void Sound8::init(void) { _cnt = 0; _val = 0; _snd_cnt = 0; _idx_r = _idx_w = 0; _buf = new long long[SND_BUF_SIZE]; pio->register_callback_B_out(this); open_sound(); } void Sound8::start(void) { } void Sound8::stop(void) { } int Sound8::callback_A_in(void) { return -1; } void Sound8::callback_A_out(byte_t val) { } int Sound8::callback_B_in(void) { return -1; } void Sound8::callback_B_out(byte_t val) { static int old_val = 0; int v = (val & 2) ? 128 + 50 : 128 - 50; if (old_val == v) return; if (_cnt == 0) { _cnt = z80->getCounter(); return; } old_val = v; _cnt = z80->getCounter(); lock(); _sndop_list.push_back(new sndop8(_cnt, v)); unlock(); } void Sound8::callback(void *data) { } KCemu-0.5.1/src/kc/mod_320k.cc0000644000175000017500000000663712417262523015776 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * Copyright (C) 2005 Alexander Schön * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "ui/status.h" #include "kc/z80.h" #include "kc/memory7.h" #include "kc/mod_320k.h" using namespace std; Module320k::Module320k(Module320k &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()), InterfaceCircuit(tmpl.get_name()) { _bank = 0xff; _master = false; _rom = tmpl._rom; register_memory_bank(0); if (Preferences::instance()->get_kc_type() == KC_TYPE_87) { ((Memory7 *)memory)->set_romdi(true); ((Memory7 *)memory)->register_romdi_handler(this); } _portg = ports->register_ports(get_name(), 0xff, 1, this, 0); z80->register_ic(this); set_valid(true); } Module320k::Module320k(const char *filename, const char *name) : ModuleInterface(name, 0, KC_MODULE_KC_85_1), InterfaceCircuit(name) { _bank = 0xff; _master = true; for (int a = 0;a < 5;a++) _group[a] = NULL; _rom = new byte_t[0x280000]; set_valid(Memory::load_rom(filename, &_rom[0x00000], 0x280000, false)); } Module320k::~Module320k(void) { if (Preferences::instance()->get_kc_type() == KC_TYPE_87) { ((Memory7 *)memory)->set_romdi(false); ((Memory7 *)memory)->unregister_romdi_handler(this); } unregister_memory_bank(); if (_master) delete[] _rom; else z80->unregister_ic(this); } void Module320k::register_memory_bank(byte_t bank) { for (int a = 0;a < 5;a++) _group[a] = memory->register_memory(get_name(), 0xc000 + a * 0x800, 0x0800, _rom + a * 0x80000 + bank * 0x800, 0, true); } void Module320k::unregister_memory_bank(void) { for (int a = 0;a < 5;a++) { if (_group[a] != NULL) memory->unregister_memory(_group[a]); _group[a] = NULL; } } void Module320k::m_out(word_t addr, byte_t val) { } ModuleInterface * Module320k::clone(void) { return new Module320k(*this); } void Module320k::romdi(bool val) { for (int a = 0;a < 5;a++) if (_group[a]) _group[a]->set_active(!val); } byte_t Module320k::in(word_t addr) { return 0xff; } void Module320k::out(word_t addr, byte_t val) { val &= 0xff; if (val == _bank) return; _bank = val; char buf[1024]; const char *fmt = _("2,5 MB Modul Bank (%d / %02xh)"); snprintf(buf, sizeof(buf), fmt, _bank, _bank); Status::instance()->setMessage(buf); unregister_memory_bank(); register_memory_bank(_bank); } void Module320k::reset(bool power_on) { /* * initialize memory bank switch after reset / power on */ out(0xff, 0); } KCemu-0.5.1/src/kc/mod_dio.cc0000644000175000017500000000440512417262523016061 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/daisy.h" #include "kc/ctc_dio.h" #include "kc/pio_dio.h" #include "kc/mod_dio.h" ModuleDIO::ModuleDIO(ModuleDIO &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _ctc = new CTC_DIO; _pio = new PIO_DIO; _portg_ctc = NULL; _portg_pio = NULL; set_valid(true); } ModuleDIO::ModuleDIO(const char *name, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { _ctc = NULL; _pio = NULL; _portg_ctc = NULL; _portg_pio = NULL; set_valid(true); } ModuleDIO::~ModuleDIO(void) { if (_ctc != NULL) delete _ctc; if (_pio != NULL) delete _pio; } /* byte_t ModuleDIO::m_in(word_t addr) { return 0x00; }*/ void ModuleDIO::m_out(word_t addr, byte_t val) { if (val & 1) { if (_portg_ctc == NULL) { _portg_ctc = ports->register_ports("CTC DIO", 0x00, 4, _ctc, 0); daisy->add_last(_ctc); } if (_portg_pio == NULL) { _portg_pio = ports->register_ports("PIO DIO", 0x04, 4, _pio, 0); daisy->add_last(_pio); } } else { if (_portg_ctc != NULL) { ports->unregister_ports(_portg_ctc); daisy->remove(_ctc); } _portg_ctc = NULL; if (_portg_pio != NULL) { ports->unregister_ports(_portg_pio); daisy->remove(_pio); } _portg_pio = NULL; } } ModuleInterface * ModuleDIO::clone(void) { return new ModuleDIO(*this); } void ModuleDIO::reset(bool power_on) { } KCemu-0.5.1/src/kc/timer1.cc0000644000175000017500000000233212417262523015645 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/timer1.h" Timer1::Timer1(void) : Timer("Timer1") { _flash = 0; } Timer1::~Timer1(void) { } void Timer1::start(void) { z80->addCallback(0, this, 0); } void Timer1::callback(void * /* data */) { _flash = 1 - _flash; z80->addCallback(312500, this, 0); } byte_t Timer1::get_flash() { return _flash; } KCemu-0.5.1/src/kc/wav.cc0000644000175000017500000002414112417262523015243 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/pio.h" #include "kc/wav.h" #include "sys/sysdep.h" #include "ui/status.h" #include "libdbg/dbg.h" #ifndef M_PI #define M_PI 3.14159265358979323846 #endif class CMD_kc_play_wav : public CMD { private: WavPlayer *_p; static const char * _path; public: CMD_kc_play_wav(WavPlayer *p) : CMD("kc-wav-open") { _p = p; register_cmd("kc-wav-open", 0); register_cmd("kc-wav-play", 2); register_cmd("kc-wav-record", 3); register_cmd("kc-wav-stop", 4); register_cmd("kc-wav-close", 5); } virtual ~CMD_kc_play_wav(void) { } virtual void execute(CMD_Args *args, CMD_Context context) { const char *filename = 0; if (args) filename = args->get_string_arg("filename"); else args = new CMD_Args; switch (context) { /* * kc-wav-open */ case 0: if (filename == 0) { args->set_string_arg("ui-file-select-title", _("KCemu: Select File...")); if (_path) args->set_string_arg("ui-file-select-path", _path); args->add_callback("ui-file-select-CB-ok", this, 1); CMD_EXEC_ARGS("ui-file-select", args); break; } /* fall through */ case 1: if (filename == 0) return; if (_p->open(filename)) { _path = filename; CMD_EXEC_ARGS("ui-wav-file-selected", args); } break; /* * kc-wav-play */ case 2: _p->play(); break; /* * kc-wav-record */ case 3: _p->record(); break; /* * kc-wav-stop */ case 4: _p->stop(); break; case 5: _p->close(); CMD_EXEC("ui-wav-file-closed"); break; } } }; const char * CMD_kc_play_wav::_path = NULL; WavPlayer::WavPlayer(int bit_0, int bit_1, int bit_s) : Callback("WavPlayer") { _bit_0 = bit_0; _bit_1 = bit_1; _bit_s = bit_s; _cmd = new CMD_kc_play_wav(this); _th_low = -10; _th_high = 10; _val = 0; _prop = NULL; _stopped = true; } WavPlayer::~WavPlayer(void) { } void WavPlayer::init_filter_kernel(void) { int a; float amp; float sum; float lp_FC; float hp_FC; float lp_kernel[FILTER_SIZE + 1]; float hp_kernel[FILTER_SIZE + 1]; amp = 1.0; for (int a = 0;a <= FILTER_SIZE;a++) _buf[a] = 0; lp_FC = 26000.0 / _sample_freq; hp_FC = 400.0 / _sample_freq; /* * low pass */ for (a = 0;a <= 100;a++) { if ((a - FILTER_SIZE / 2) == 0) lp_kernel[a] = 2 * M_PI * lp_FC; else lp_kernel[a] = sin(2 * M_PI * lp_FC * (a - FILTER_SIZE / 2)) / (a - FILTER_SIZE / 2); lp_kernel[a] = lp_kernel[a] * (0.54 - 0.46 * cos(2 * M_PI * a / FILTER_SIZE)); } sum = 0; for (a = 0;a <= 100;a++) sum += lp_kernel[a]; sum /= amp; for (a = 0;a <= 100;a++) lp_kernel[a] = lp_kernel[a] / sum; /* * high pass */ for (a = 0;a <= 100;a++) { if ((a - FILTER_SIZE / 2) == 0) hp_kernel[a] = 2 * M_PI * hp_FC; else hp_kernel[a] = sin(2 * M_PI * hp_FC * (a - FILTER_SIZE / 2)) / (a - FILTER_SIZE / 2); hp_kernel[a] = hp_kernel[a] * (0.54 - 0.46 * cos(2 * M_PI * a / FILTER_SIZE)); } sum = 0; for (a = 0;a <= 100;a++) sum += hp_kernel[a]; sum /= amp; for (a = 0;a <= 100;a++) hp_kernel[a] = hp_kernel[a] / sum; for (a = 0;a <= 100;a++) hp_kernel[a] = -hp_kernel[a]; hp_kernel[FILTER_SIZE / 2] += 1; /* * band reject */ for (a = 0;a <= 100;a++) _kernel[a] = lp_kernel[a] + hp_kernel[a]; /* * band pass */ for (a = 0;a <= 100;a++) _kernel[a] = -_kernel[a]; _kernel[FILTER_SIZE / 2] += 1; /* * invert output */ for (a = 0;a <= 100;a++) _kernel[a] = -_kernel[a]; } bool WavPlayer::open(const char *filename) { DBG(1, form("KCemu/WavPlayer", "WavPlayer::open(): `%s'\n", filename)); if (_prop != NULL) close(); _prop = libaudio_open(filename); if (_prop == NULL) return false; return true; } bool WavPlayer::play() { char buf[1000]; char *shortname; const char *filename, *fmt; DBG(1, form("KCemu/WavPlayer", "WavPlayer::play()\n")); if (_prop == NULL) return false; filename = libaudio_get_filename(_prop); if (filename == NULL) return false; shortname = sys_basename(filename); fmt = libaudio_get_type(_prop); _sample_freq = libaudio_get_sample_freq(_prop); _sample_size = libaudio_get_sample_size(_prop); _channels = libaudio_get_channels(_prop); snprintf(buf, sizeof(buf), _("Reading %s `%s' (%d/%d/%d)."), fmt, shortname, _sample_freq, _sample_size, _channels); Status::instance()->setMessage(buf); free(shortname); init_filter_kernel(); _eof = 0; _stopped = false; z80->addCallback(0, this, (void *)0); return true; } void WavPlayer::record(void) { } void WavPlayer::stop(void) { DBG(1, form("KCemu/WavPlayer", "WavPlayer::stop()\n")); if (_prop == NULL) return; libaudio_rewind(_prop); _stopped = true; } void WavPlayer::close() { DBG(1, form("KCemu/WavPlayer", "WavPlayer::close()\n")); if (_prop != NULL) libaudio_close(_prop); _prop = NULL; } void WavPlayer::callback(void *data) { long d = (long)data; if (_stopped) return; switch (d) { case 0: do_play(); break; case 1: do_record(); break; } } /* * algorithm copied from audacity TrackArtist::GetWaveYPos() */ int WavPlayer::get_y(float value) { int ret; float sign = (value >= 0 ? 1 : -1); if (value == 0) return 0; float db = 10 * log10(fabs(value) / 32768); // The smallest value we will see is -45.15 (10*log10(1/32768)) float val = (db + 45.0) / 45.0; if (val < 0.0) val = 0.0; if (val > 1.0) val = 1.0; ret = (int)(sign * (32767 * val + 0.5)); // printf("%8.2f - %8d\n", value, ret); return ret; } void WavPlayer::do_play(void) { int a, c; int byte_cnt; double v; float y; byte_cnt = 0; pio->strobe_A(); /* * the digital filter causes some delay in the audio signal * so we need to do some padding on the end of the input */ if (_eof > 0) { _eof--; if (_eof == 0) { stop(); return; } } while (242) { c = 0; if (_eof == 0) { c = libaudio_read_sample(_prop); if (c == EOF) { _eof = 200; c = 32768; } c -= 32768; if (_channels == 2) { if (libaudio_read_sample(_prop) == EOF) _eof = 200; } } byte_cnt++; /* * convert wavform */ #if 0 c = get_y((float)c); #endif /* * apply band pass filter */ #if 1 _buf[100] = c; y = 0; for (a = 0;a <= 100;a++) y = y + _buf[100 - a] * _kernel[a]; for (a = 1;a <= 100;a++) _buf[a - 1] = _buf[a]; /* * filter amplifies the signal, we just cut at * arbitrary values because we are only interrested * in the points where the signal changes sign */ c = (int)y; if (c > 32000) c = 32000; if (c < -32000) c = -32000; #endif if (_val == 0) { if (c > _th_high) { _val = 1; break; } } else { if (c < _th_low) { _val = 0; break; } } v = (1750000.0 * byte_cnt) / _sample_freq; if (v > 2000) break; } if (Preferences::instance()->get_kc_type() & KC_TYPE_85_2_CLASS) { v = (1750000.0 * byte_cnt) / _sample_freq; } else { v = (2500000.0 * byte_cnt) / _sample_freq; } v = v * 1.2; if (v > 2000) v = 2000; _info_args.set_long_arg("gap", (int)v); CMD_EXEC_ARGS("ui-wav-info", &_info_args); #if 1 printf("%d / %d / %d - %ld\n", _bit_0, _bit_1, _bit_s, (long)v); z80->addCallback((long long)v, this, (void *)0); #else if (v < 550) { z80->addCallback(_bit_0, this, (void *)0); } else if (v > 1100) { z80->addCallback(_bit_s, this, (void *)0); } else { z80->addCallback(_bit_1, this, (void *)0); } #endif } void WavPlayer::do_record(void) { #if 0 #define BLEN (65536) static int idx = BLEN; unsigned char buf[BLEN]; int c, old_val; int byte_cnt, len; double v; old_val = 0; byte_cnt = 0; pio->strobe_A(); while (242) { if (idx >= BLEN) { idx = 0; //len = read(_audio_fd, buf, BLEN); if (len != BLEN) printf("read - len = %d\n", len); } c = buf[idx++]; byte_cnt++; c = c - 128; // cout.form("* %+d : %+d | %+d\n", old_val, _val, c); old_val = _val; if (_val == 0) { if (c > _th_high) _val = 1; } else { if (c < _th_low) _val = 0; } if (old_val !=_val) break; } v = (1458.0 * byte_cnt) / 48.0; #if 0 z80->addCallback(v, this, (void *)1); #else if (v < 500) { z80->addCallback(364, this, (void *)1); } else if (v > 1000) { z80->addCallback(1458, this, (void *)1); } else { z80->addCallback(729, this, (void *)1); } #endif #endif } KCemu-0.5.1/src/kc/muglerpc/0000755000175000017500000000000012417262523015753 5ustar glaubitzglaubitzKCemu-0.5.1/src/kc/muglerpc/ctc.cc0000644000175000017500000000716512417262523017044 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/muglerpc/ctc.h" #include "libdbg/dbg.h" CTCMuglerPCSystem::CTCMuglerPCSystem(void) { } CTCMuglerPCSystem::~CTCMuglerPCSystem(void) { } byte_t CTCMuglerPCSystem::in(word_t addr) { DBG(2, form("KCemu/CTC/muglerpc_system/in", "CTCMuglerPCSystem::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return c_in(0); case 1: return c_in(1); case 2: return c_in(2); case 3: return c_in(3); } return 0; // shouldn't be reached } void CTCMuglerPCSystem::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/muglerpc_system/out", "CTCMuglerPCSystem::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTCMuglerPCSystem::irq_0(void) { return false; } bool CTCMuglerPCSystem::irq_1(void) { return false; } bool CTCMuglerPCSystem::irq_2(void) { return false; } bool CTCMuglerPCSystem::irq_3(void) { return false; } long CTCMuglerPCSystem::counter_value_0(void) { return 0; } long CTCMuglerPCSystem::counter_value_1(void) { return 0; } long CTCMuglerPCSystem::counter_value_2(void) { return 0; } long CTCMuglerPCSystem::counter_value_3(void) { return 0; } CTCMuglerPCUser::CTCMuglerPCUser(void) { } CTCMuglerPCUser::~CTCMuglerPCUser(void) { } byte_t CTCMuglerPCUser::in(word_t addr) { DBG(2, form("KCemu/CTC/muglerpc_user/in", "CTCMuglerPCUser::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return c_in(0); case 1: return c_in(1); case 2: return c_in(2); case 3: return c_in(3); } return 0; // shouldn't be reached } void CTCMuglerPCUser::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/muglerpc_user/out", "CTCMuglerPCUser::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTCMuglerPCUser::irq_0(void) { return false; } bool CTCMuglerPCUser::irq_1(void) { return false; } bool CTCMuglerPCUser::irq_2(void) { return false; } bool CTCMuglerPCUser::irq_3(void) { return false; } long CTCMuglerPCUser::counter_value_0(void) { return 0; } long CTCMuglerPCUser::counter_value_1(void) { return 0; } long CTCMuglerPCUser::counter_value_2(void) { return 0; } long CTCMuglerPCUser::counter_value_3(void) { return 0; } KCemu-0.5.1/src/kc/muglerpc/ports.cc0000644000175000017500000000617312417262523017440 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/muglerpc/ports.h" #include "kc/muglerpc/memory.h" #include "libdbg/dbg.h" #define memory ((MemoryMuglerPC *)memory) PortsMuglerPC::PortsMuglerPC(void) { _val_0x94 = 0; } PortsMuglerPC::~PortsMuglerPC(void) { } byte_t PortsMuglerPC::in(word_t addr) { byte_t val; byte_t a = addr & 0xff; switch (a) { case 0x94: case 0x95: case 0x96: case 0x97: val = _val_0x94; break; default: DBG(0, form("KCemu/internal_error", "PortsMuglerPC: called in() with undefined address %04xh\n", addr)); val = 0xff; break; } DBG(2, form("KCemu/Ports/muglerpc/in", "PortsMuglerPC: in() addr = %04x (returning %02x)\n", addr, val)); return val; } void PortsMuglerPC::out(word_t addr, byte_t val) { byte_t a = addr & 0xff; DBG(2, form("KCemu/Ports/muglerpc/out", "PortsMuglerPC: out() addr = %04x, val = %02x\n", addr, val)); switch (a) { case 0x94: case 0x95: case 0x96: case 0x97: change_0x94(_val_0x94 ^ val, val); _val_0x94 = val; break; default: DBG(0, form("KCemu/internal_error", "PortsMuglerPC: called out() with undefined address %04xh (val = %02xh)\n", addr, val)); break; } } void PortsMuglerPC::change_0x94(byte_t changed, byte_t val) { /* * memory switch: * * bit 0: \ * bit 1: > ram block select (block 0 to 2 on base system) * bit 2: / * bit 3: SEL 0 (on system connector X3) * bit 4: SEL 1 (on system connector X3) * bit 5: SEL 2 (on system connector X3) * bit 6: force block 0 at c000h - ffffh * bit 7: enable/disable EPROM at 0000h (0 = on, 1 = off) * */ if (changed & 0x47) { DBG(2, form("KCemu/Ports/muglerpc/change/94", "PortsMuglerPC: change_0x94() select ram block %d, %sforce block 0 at c000h\n", val & 7, (val & 0x40) ? "" : "don't ")); memory->select_ram_block(val & 7, (val & 0x40) == 0x40); } if (changed & 0x80) { DBG(2, form("KCemu/Ports/muglerpc/change/94", "PortsMuglerPC: change_0x94() set eprom %s\n", (val & 0x80) ? "inactive" : "active")); memory->select_eprom((val & 0x80) == 0); } } KCemu-0.5.1/src/kc/muglerpc/Makefile.am0000644000175000017500000000032312417262523020005 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libmuglerpc.a AM_CPPFLAGS = -I../../../include libmuglerpc_a_SOURCES = \ ctc.cc \ pio.cc \ ports.cc \ memory.cc \ keyboard.cc KCemu-0.5.1/src/kc/muglerpc/memory.cc0000644000175000017500000001004512417262523017572 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/muglerpc/memory.h" using namespace std; MemoryMuglerPC::MemoryMuglerPC(void) : Memory() { load_rom(SystemROM::ROM_KEY_SYSTEM, &_rom); load_rom(SystemROM::ROM_KEY_CHARGEN, &_rom_chargen); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1 }, { &_m_rom, "ROM", 0x0000, 0x2000, &_rom[0], 10, 1, 1 }, { &_m_ram0_lo, "RAM Bank 0 (lo)", 0x0000, 0xc000, &_ram_block0[0], 20, 0, 1 }, { &_m_ram0_hi, "RAM Bank 0 (hi)", 0xc000, 0x4000, &_ram_block0[0xc000], 20, 0, 1 }, { &_m_ram1, "RAM Bank 1", 0x0000, 0x10000, &_ram_block1[0], 30, 0, 0 }, { &_m_ram2, "RAM Bank 2", 0x0000, 0x10000, &_ram_block2[0], 30, 0, 0 }, /* * The irm is not set to active because it is currently not used via the normal memory * switch. Instead it's always written to in memWrite8(). All writes to to both the active * ram block and the irm. Read access to irm is not possible and always goes to the active * ram block. */ { &_m_irm, "IRM", 0xf800, 0x0800, &_irm[0], 10, 0, 0 }, { 0, }, }; init_memory_groups(mem); _m_irm->set_read_through(true); reset(true); z80->register_ic(this); } MemoryMuglerPC::~MemoryMuglerPC(void) { z80->unregister_ic(this); delete _m_scr; delete _m_rom; delete _m_ram0_lo; delete _m_ram0_hi; delete _m_ram1; delete _m_ram2; delete _m_irm; } byte_t MemoryMuglerPC::memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void MemoryMuglerPC::memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; if (addr >= 0xf800) _irm[addr - 0xf800] = val; } byte_t * MemoryMuglerPC::get_irm(void) { return _irm; } byte_t * MemoryMuglerPC::get_char_rom(void) { return _rom_chargen; } void MemoryMuglerPC::reset(bool power_on) { _m_rom->set_active(true); _m_ram0_lo->set_active(true); _m_ram0_hi->set_active(true); _m_ram1->set_active(false); _m_ram2->set_active(false); _m_irm->set_active(false); // see above reload_mem_ptr(); if (!power_on) return; scratch_mem(&_irm[0], 0x800); scratch_mem(&_ram_block0[0], 0x10000); scratch_mem(&_ram_block1[0], 0x10000); scratch_mem(&_ram_block2[0], 0x10000); } void MemoryMuglerPC::select_eprom(bool active) { _m_rom->set_active(active); reload_mem_ptr(); } void MemoryMuglerPC::select_ram_block(int block, bool force_ram0_at_c000h) { _m_ram0_lo->set_active(block == 0); _m_ram0_hi->set_active((block == 0) || force_ram0_at_c000h); _m_ram1->set_active(block == 1); _m_ram2->set_active(block == 2); reload_mem_ptr(); } void MemoryMuglerPC::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } KCemu-0.5.1/src/kc/muglerpc/keyboard.cc0000644000175000017500000000755612417262523020077 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/keys.h" //#include "kc/muglerpc/keydef.h" #include "kc/muglerpc/keyboard.h" #include "libdbg/dbg.h" KeyboardMuglerPC::KeyboardMuglerPC(void) { init(); z80->register_ic(this); } KeyboardMuglerPC::~KeyboardMuglerPC(void) { z80->unregister_ic(this); } void KeyboardMuglerPC::init(void) { int a; for (a = 0;a < MAX_KEYS;a++) { _keybuf[a].sym = -1; _keybuf[a].code = -1; } } int KeyboardMuglerPC::decode_key(int keysym, bool press) { return keysym; } void KeyboardMuglerPC::keyPressed(int keysym, int keycode) { int k; /* * ignore repeated key press events (e.g. generated by * GTK that reports key repeat as keypress/keypress/keypress/... * without the possibility to switch that off :-( ) */ for (int a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code == keycode) return; k = decode_key(keysym, true); if (k == -1) return; DBG(2, form("KCemu/keyboard/muglerpc/key_press", "##### Keyboard: keyPressed [%03x/%02x] ", keysym, k)); for (int a = 0;a < MAX_KEYS;a++) { if (_keybuf[a].code == -1) { _keybuf[a].sym = k; _keybuf[a].code = keycode; break; } } for (int a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code != -1) DBG(2, form("KCemu/keyboard/muglerpc/key_press", " {%02d:%02x:%02x}", a, _keybuf[a].sym, _keybuf[a].code)); DBG(2, form("KCemu/keyboard/muglerpc/key_press", "\n")); } void KeyboardMuglerPC::keyReleased(int keysym, int keycode) { if (keysym == -1) { for (int a = 0;a < MAX_KEYS;a++) _keybuf[a].code = -1; return; } /* * remove (maybe multiple) entries from keyboard buffer */ for (int a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code == keycode) _keybuf[a].code = -1; DBG(2, form("KCemu/keyboard/muglerpc/key_release", "##### Keyboard: keyPressed [%03x/%02x] ", keysym, keycode)); for (int a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code != -1) DBG(2, form("KCemu/keyboard/muglerpc/key_press", " {%02d:%02x:%02x}", a, _keybuf[a].sym, _keybuf[a].code)); DBG(2, form("KCemu/keyboard/muglerpc/key_release", "\n")); } void KeyboardMuglerPC::replayString(const char *text) { } void KeyboardMuglerPC::callback(void *data) { } int KeyboardMuglerPC::callback_A_in(void) { for (int a = 0;a < MAX_KEYS;a++) { if (_keybuf[a].code == -1) continue; if (_keybuf[a].sym == KC_KEY_SHIFT) continue; if (_keybuf[a].sym == KC_KEY_CONTROL) continue; return _keybuf[a].sym | 0x80; } return 0; } void KeyboardMuglerPC::callback_A_out(byte_t val) { } int KeyboardMuglerPC::callback_B_in(void) { return -1; } void KeyboardMuglerPC::callback_B_out(byte_t val) { } void KeyboardMuglerPC::reset(bool power_on) { init(); } void KeyboardMuglerPC::reti(void) { } KCemu-0.5.1/src/kc/muglerpc/pio.cc0000644000175000017500000000616712417262523017063 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/muglerpc/pio.h" #include "libdbg/dbg.h" PIOMuglerPCSystem::PIOMuglerPCSystem(void) { } PIOMuglerPCSystem::~PIOMuglerPCSystem(void) { } byte_t PIOMuglerPCSystem::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/muglerpc/in", "PIOMuglerPCSystem::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIOMuglerPCSystem::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/muglerpc/out", "PIOMuglerPCSystem::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIOMuglerPCSystem::change_A(byte_t changed, byte_t val) { } void PIOMuglerPCSystem::change_B(byte_t changed, byte_t val) { } PIOMuglerPCUser::PIOMuglerPCUser(void) { } PIOMuglerPCUser::~PIOMuglerPCUser(void) { } byte_t PIOMuglerPCUser::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/muglerpc/in", "PIOMuglerPCUser::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIOMuglerPCUser::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/muglerpc/out", "PIOMuglerPCSystem::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIOMuglerPCUser::change_A(byte_t changed, byte_t val) { } void PIOMuglerPCUser::change_B(byte_t changed, byte_t val) { } KCemu-0.5.1/src/kc/mod_1m.cc0000644000175000017500000000250712417262523015624 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/mod_1m.h" Module1M::Module1M(Module1M &tmpl) : ModuleSegmentedMemory(tmpl) { } Module1M::Module1M(const char *name, byte_t id) : ModuleSegmentedMemory(name, id, 64, 0x4000) { } Module1M::~Module1M(void) { } int Module1M::get_segment_index(word_t addr, byte_t val) { return (val >> 2) & 0x3f; } word_t Module1M::get_base_address(word_t addr, byte_t val) { return 0x8000; } ModuleInterface * Module1M::clone(void) { return new Module1M(*this); } KCemu-0.5.1/src/kc/mod_boot.cc0000644000175000017500000000476112417262523016256 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/memory1.h" #include "kc/memory7.h" #include "kc/mod_boot.h" using namespace std; ModuleBOOT::ModuleBOOT(ModuleBOOT &tmpl) : ModuleROM1(tmpl) { _romdi_handling = tmpl._romdi_handling; switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: ((Memory1 *)memory)->register_memory_handler(this); break; case KC_TYPE_87: ((Memory7 *)memory)->register_memory_handler(this); break; default: break; } reset(true); } ModuleBOOT::ModuleBOOT(const char *filename, const char *name, word_t addr, dword_t size, bool set_romdi) : ModuleROM1(filename, name, addr, size, set_romdi) { _romdi_handling = set_romdi; } ModuleBOOT::~ModuleBOOT(void) { switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: ((Memory1 *)memory)->unregister_memory_handler(this); break; case KC_TYPE_87: ((Memory7 *)memory)->unregister_memory_handler(this); break; default: break; } } ModuleInterface * ModuleBOOT::clone(void) { return new ModuleBOOT(*this); } byte_t ModuleBOOT::memory_read_byte(word_t addr) { return 0xff; } void ModuleBOOT::memory_write_byte(word_t addr, byte_t val) { if (addr < 0xf800) return; bool state = (addr & 0x0400) == 0; set_active(state); } void ModuleBOOT::set_active(bool active) { if (is_active() == active) return; if (_romdi_handling) set_romdi(active); ModuleROM1::set_active(active); } void ModuleBOOT::reset(bool power_on) { set_active(true); } KCemu-0.5.1/src/kc/module.cc0000644000175000017500000001030312417262523015726 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/kc.h" #include "kc/module.h" #include "ui/ui.h" #include "libdbg/dbg.h" ModuleInterface::ModuleInterface(const char *name, byte_t id, mod_type_t mod_type) { _id = id; _valid = false; _name = strdup(name); _mod_type = mod_type; _error_text = NULL; } ModuleInterface::~ModuleInterface(void) { free(_name); } byte_t ModuleInterface::m_in(word_t addr) { if (((addr >> 8) & 3) == 0) return get_id(); return 0xff; } byte_t ModuleInterface::get_id(void) { return _id; } const char * ModuleInterface::get_name(void) { return _name; } mod_type_t ModuleInterface::get_type(void) { return _mod_type; } void ModuleInterface::set_valid(bool valid) { _valid = valid; } bool ModuleInterface::is_valid(void) { return _valid; } const char * ModuleInterface::get_error_text(void) { return _error_text; } void ModuleInterface::set_error_text(const char *text) { if (_error_text != NULL) free(_error_text); _error_text = (text == NULL) ? NULL : strdup(text); } Module::Module(void) { int a; for (a = 0;a < NR_MODULES;a++) _module[a] = 0; } Module::~Module(void) { for (int a = 0;a < NR_MODULES;a++) remove(a); } byte_t Module::in(word_t addr) { int a; byte_t id; a = (addr >> 8); if (a < 8) return 0xff; int slot = get_slot_by_addr(addr); if (_module[slot]) id = _module[slot]->m_in(addr); else id = 0xff; DBG(2, form("KCemu/Module/in", "Module::in(): %04x -> %02x\n", addr, id)); return id; } void Module::out(word_t addr, byte_t val) { int a = (addr >> 8); if (a < 8) return; // Special case for handling of the F8/FC slots for the D004 // module. As the hardware is not decoding this completely we // allow both modules to snoop the output of the other address. if ((a >= 0xf8) && (Preferences::instance()->get_kc_type() & KC_TYPE_85_2_CLASS)) { ModuleInterface *m = get_module_by_addr(addr ^ 0x0400); if (m) m->m_out(addr, val); } ModuleInterface *module = get_module_by_addr(addr); if (module) { DBG(2, form("KCemu/Module/out", "Module::out(): %04x -> %02x\n", addr, val)); module->m_out(addr, val); ui->getModuleInterface()->activate(get_slot_by_addr(addr), val); } } int Module::get_slot_by_addr(word_t addr) { int slot = ((addr >> 8) - 8) / 4; return slot; } ModuleInterface * Module::get_module_by_addr(word_t addr) { return _module[get_slot_by_addr(addr)]; } bool Module::is_empty(byte_t slot) { return _module[slot] == 0; } void Module::insert(byte_t slot, ModuleInterface *module) { remove(slot); DBG(0, form("KCemu/Module/insert", "inserting module '%s' into slot %X (%d)\n", module->get_name(), slot * 4 + 8, slot)); _module[slot] = module; } void Module::remove(byte_t slot) { if (!_module[slot]) return; DBG(0, form("KCemu/Module/insert", "removing module '%s' from slot %X (%d)\n", _module[slot]->get_name(), slot * 4 + 8, slot)); delete _module[slot]; _module[slot] = 0; } void Module::reset(bool power_on) { for (int a = 0;a < NR_MODULES;a++) if (_module[a]) _module[a]->reset(power_on); } KCemu-0.5.1/src/kc/mod_vdip.cc0000644000175000017500000000364212417262523016252 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/vdip.h" #include "kc/daisy.h" #include "kc/pio_vdip.h" #include "kc/mod_vdip.h" ModuleVDIP::ModuleVDIP(ModuleVDIP &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _pio = new PIO_VDIP; _portg_pio = NULL; set_valid(true); } ModuleVDIP::ModuleVDIP(const char *name, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { _pio = NULL; _portg_pio = NULL; set_valid(true); } ModuleVDIP::~ModuleVDIP(void) { if (_pio != NULL) delete _pio; } void ModuleVDIP::m_out(word_t addr, byte_t val) { if (val & 1) { if (_portg_pio == NULL) { _portg_pio = ports->register_ports("PIO VDIP", 0x04, 4, _pio, 0); daisy->add_last(_pio); vdip->register_pio(_pio); } } else { if (_portg_pio != NULL) { vdip->register_pio(NULL); ports->unregister_ports(_portg_pio); daisy->remove(_pio); } _portg_pio = NULL; } } ModuleInterface * ModuleVDIP::clone(void) { return new ModuleVDIP(*this); } void ModuleVDIP::reset(bool power_on) { } KCemu-0.5.1/src/kc/vis.cc0000644000175000017500000001547512417262523015261 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/vis.h" #include "libdbg/dbg.h" VIS::VIS(void) : InterfaceCircuit("VIS") { reset(true); z80->register_ic(this); } VIS::~VIS(void) { z80->unregister_ic(this); } byte_t VIS::in(word_t addr) { byte_t val = 0xff; switch (addr & 0xff) { case 0x9c: val = _char[_idx]; _idx = (_idx + 1) & 0x07ff; break; } DBG(2, form("KCemu/VIS/in", "VIS::in(): %04xh val = %02x\n", addr, val)); return val; } /* * screen 0/8: * * VIS::out(): 129dh val = 12 [.] Text 25x40 * VIS::out(): 009dh val = 00 [.] * * screen 1/9: * * VIS::out(): 109dh val = 10 [.] Text 25x80 * VIS::out(): 009dh val = 00 [.] * * screen 2: * * VIS::out(): 129dh val = 12 [.] Graphic 360 x 200 (4 of 16 Colors) * VIS::out(): 019dh val = 01 [.] * * screen 3: * * VIS::out(): 109dh val = 10 [.] Graphic 640 x 200 (4 of 16 Colors) * VIS::out(): 019dh val = 01 [.] * * screen 5: * * VIS::out(): 109dh val = 10 [.] Graphic 320 x 200 (16 of 16 Colors) * VIS::out(): 029dh val = 02 [.] * * border color: * * VIS::out(): 209dh / command: val = 20 [ ] -> border color = 0 * VIS::out(): 219dh / command: val = 21 [!] -> border color = 1 * VIS::out(): 229dh / command: val = 22 ["] -> border color = 2 * VIS::out(): 239dh / command: val = 23 [#] -> border color = 3 * VIS::out(): 2f9dh / command: val = 2f [/] -> border color = 15 * * COLOR 0,0 * VIS::out(): 309dh / command: val = 30 [0] * VIS::out(): 029dh / command: val = 42 [B] * VIS::out(): 019dh / command: val = 54 [T] * VIS::out(): 009dh / command: val = 66 [f] * * COLOR 0,1 * VIS::out(): 309dh / command: val = 30 [0] * VIS::out(): 029dh / command: val = 43 [C] * VIS::out(): 019dh / command: val = 55 [U] * VIS::out(): 009dh / command: val = 67 [g] * * COLOR 1,0 * VIS::out(): 319dh / command: val = 31 [1] * VIS::out(): 029dh / command: val = 42 [B] * VIS::out(): 019dh / command: val = 54 [T] * VIS::out(): 009dh / command: val = 66 [f] * * COLOR 1,1 * VIS::out(): 319dh / command: val = 31 [1] * VIS::out(): 029dh / command: val = 43 [C] * VIS::out(): 019dh / command: val = 55 [U] * VIS::out(): 009dh / command: val = 67 [g] * * COLOR 2,0 * VIS::out(): 329dh / command: val = 32 [2] * VIS::out(): 029dh / command: val = 42 [B] * VIS::out(): 019dh / command: val = 54 [T] * VIS::out(): 009dh / command: val = 66 [f] * * COLOR 2,1 * VIS::out(): 329dh / command: val = 32 [2] * VIS::out(): 029dh / command: val = 43 [C] * VIS::out(): 019dh / command: val = 55 [U] * VIS::out(): 009dh / command: val = 67 [g] */ void VIS::out(word_t addr, byte_t val) { static byte_t last_val = 0; DBG(2, form("KCemu/VIS/out", "VIS::out(): %04xh val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); switch (addr & 0xff) { case 0x9c: DBG(2, form("KCemu/VIS/out_9C", "VIS::out(): %04xh / char data: val = %02x [%c] %c%c%c%c%c%c%c%c\n", addr, val, isprint(val) ? val : '.', (val & 1) ? '#' : ' ', (val & 2) ? '#' : ' ', (val & 4) ? '#' : ' ', (val & 8) ? '#' : ' ', (val & 16) ? '#' : ' ', (val & 32) ? '#' : ' ', (val & 64) ? '#' : ' ', (val & 128) ? '#' : ' ')); _char[_idx] = val; _changed[_idx / 8] = 1; _idx = (_idx + 1) & 0x07ff; break; case 0x9d: DBG(2, form("KCemu/VIS/out_9D", "VIS::out(): %04xh / command: val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); if ((last_val == 0x12) && (val == 0x00)) set_mode(0); else if ((last_val == 0x10) && (val == 0x00)) set_mode(1); else if ((last_val == 0x12) && (val == 0x01)) set_mode(2); else if ((last_val == 0x10) && (val == 0x01)) set_mode(3); else if ((last_val == 0x10) && (val == 0x02)) set_mode(5); else if ((val & 0xf0) == 0x20) set_border(val & 0x0f); else if ((val & 0xf0) == 0x30) set_color(0, val & 0x0f); else if ((val & 0xf0) == 0x40) set_color(1, val & 0x0f); else if ((val & 0xf0) == 0x50) set_color(2, val & 0x0f); else if ((val & 0xf0) == 0x60) set_color(3, val & 0x0f); last_val = val; break; case 0x9e: DBG(2, form("KCemu/VIS/out_9E", "VIS::out(): %04xh / char idx: val = %02x (%d)\n", addr, val, val)); _idx = 8 * val; break; } } int VIS::get_mode() { return _mode; } void VIS::set_mode(int mode) { DBG(1, form("KCemu/VIS/mode", "VIS::out(): mode change %d -> %d\n", _mode, mode)); _mode = mode; } int VIS::get_border(void) { return _border; } void VIS::set_border(int border) { DBG(1, form("KCemu/VIS/border", "VIS::out(): border change %2d -> %2d\n", _border, border)); _border = border; } int VIS::get_color(int idx) { idx &= 3; return _color[idx]; } void VIS::set_color(int idx, int color) { idx &= 3; DBG(1, form("KCemu/VIS/color", "VIS::out(): color change [%d] %2d -> %2d [%2d/%2d/%2d/%2d]\n", idx, _color[idx], color, _color[0], _color[1], _color[2], _color[3])); if (_color[idx] != color) { _color[idx] = color; _color_palette_changed = 1; } } int VIS::get_changed(byte_t idx) { return _changed[idx]; } void VIS::reset_changed(void) { memset(_changed, 0, 0x100); } int VIS::is_color_palette_changed(void) { return _color_palette_changed; } void VIS::reset_color_palette_changed(void) { _color_palette_changed = 0; } byte_t * VIS::get_memory(void) { return _char; } void VIS::reti(void) { } void VIS::irqreq(void) { } word_t VIS::irqack(void) { return IRQ_NOT_ACK; } void VIS::reset(bool power_on) { int a; _mode = 0; _border = 0; _color[0] = 0; _color[1] = 0; _color[2] = 0; _color[3] = 0; _color_palette_changed = 0; if (power_on) for (a = 0;a < 0x0800;a++) _char[a] = 0; } KCemu-0.5.1/src/kc/daisy.cc0000644000175000017500000000414412417262523015560 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/daisy.h" #include "libdbg/dbg.h" DaisyChain::DaisyChain(void) { } DaisyChain::~DaisyChain(void) { } void DaisyChain::add_last(InterfaceCircuit *ic) { if (_daisy_chain_list.empty()) { ic->iei(1); } else { InterfaceCircuit *last = _daisy_chain_list.back(); last->next(ic); } ic->next(0); _daisy_chain_list.push_back(ic); //printf("------- DaisyChain::add_last(): '%s'\n", ic->get_ic_name()); //_daisy_chain_list.front()->debug(); } void DaisyChain::remove(InterfaceCircuit *ic) { _daisy_chain_list.remove(ic); InterfaceCircuit *prev = ic->get_prev(); InterfaceCircuit *next = ic->get_next(); if (prev != NULL) prev->next(ic->get_next()); else if (next != NULL) next->prev(0); //printf("------- DaisyChain::remove(): '%s'\n", ic->get_ic_name()); //_daisy_chain_list.front()->debug(); } word_t DaisyChain::irq_ack(void) { if (_daisy_chain_list.empty()) return IRQ_NOT_ACK; //_daisy_chain_first->debug(); word_t val = _daisy_chain_list.back()->ack(); //_daisy_chain_first->debug(); //sleep(1); return val; } void DaisyChain::reti(void) { if (_daisy_chain_list.empty()) return; _daisy_chain_list.back()->reti_ED(); _daisy_chain_list.back()->reti_4D(); } KCemu-0.5.1/src/kc/ctc6.cc0000644000175000017500000000443512417262523015311 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/ctc6.h" #include "kc/poly880.h" #include "libdbg/dbg.h" CTC6::CTC6(void) { } CTC6::~CTC6(void) { } byte_t CTC6::in(word_t addr) { byte_t val = 0xff; DBG(2, form("KCemu/CTC/6/in", "CTC6::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: val = c_in(0); break; case 1: val = c_in(1); break; case 2: val = c_in(2); break; case 3: val = c_in(3); break; } DBG(2, form("KCemu/CTC/6/in", "CTC6::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void CTC6::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/6/out", "CTC6::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTC6::irq_0(void) { poly880->trigger_send(); return false; } bool CTC6::irq_1(void) { return false; } bool CTC6::irq_2(void) { return false; } bool CTC6::irq_3(void) { return false; } long CTC6::counter_value_0(void) { return 0; } long CTC6::counter_value_1(void) { return 0; } long CTC6::counter_value_2(void) { return 0; } long CTC6::counter_value_3(void) { return 0; } KCemu-0.5.1/src/kc/mod_192k.cc0000644000175000017500000001664612417262523016006 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_192k.h" using namespace std; /** * 192 KByte RAM/EPROM Modul * * http://vpohlers.tripod.com/192k_modul.htm */ Module192k::Module192k(Module192k &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { init(); _master = false; if (tmpl._rom_D2 == NULL) return; _rom_D2 = tmpl._rom_D2; _rom_D3 = tmpl._rom_D3; _rom_D5 = tmpl._rom_D5; _ram_D1 = new byte_t[0x8000]; _ram_D4 = new byte_t[0x8000]; _ram_D6 = new byte_t[0x4000]; memset(_ram_D1, 0, 0x8000); memset(_ram_D4, 0, 0x8000); memset(_ram_D6, 0, 0x4000); struct { MemAreaGroup **group; const char *name; word_t addr; dword_t size; byte_t *mem; int prio; bool ro; bool active; } *mptr, m[] = { { &_m_4000, "RAM D1", 0x4000, 0x2000, &_ram_D1[0x0000], 10, 0, 1 }, { &_m_6000, "RAM D1", 0x6000, 0x2000, &_ram_D1[0x2000], 10, 0, 1 }, { &_m_8000, "RAM D1", 0x8000, 0x2000, &_ram_D1[0x4000], 10, 0, 1 }, { &_m_a000, "RAM D1", 0xa000, 0x2000, &_ram_D1[0x6000], 10, 0, 1 }, { &_m_c000[ 0], "ROMC D2 (Bank 0)", 0xc000, 0x2000, &_rom_D2[0x0000], 10, 1, 1 }, { &_m_c000[ 1], "ROMC D2 (Bank 1)", 0xc000, 0x2000, &_rom_D2[0x2000], 10, 1, 0 }, { &_m_c000[ 2], "ROMC D2 (Bank 2)", 0xc000, 0x2000, &_rom_D2[0x4000], 10, 1, 0 }, { &_m_c000[ 3], "ROMC D2 (Bank 3)", 0xc000, 0x2000, &_rom_D2[0x6000], 10, 1, 0 }, { &_m_c000[ 4], "ROMC D2 (Bank 4)", 0xc000, 0x2000, &_rom_D2[0x8000], 10, 1, 0 }, { &_m_c000[ 5], "ROMC D2 (Bank 5)", 0xc000, 0x2000, &_rom_D2[0xa000], 10, 1, 0 }, { &_m_c000[ 6], "ROMC D2 (Bank 6)", 0xc000, 0x2000, &_rom_D2[0xc000], 10, 1, 0 }, { &_m_c000[ 7], "ROMC D2 (Bank 7)", 0xc000, 0x2000, &_rom_D2[0xe000], 10, 1, 0 }, { &_m_c000[ 8], "ROMC D3 (Bank 8)", 0xc000, 0x2000, &_rom_D3[0x0000], 10, 1, 0 }, { &_m_c000[ 9], "ROMC D3 (Bank 9)", 0xc000, 0x2000, &_rom_D3[0x2000], 10, 1, 0 }, { &_m_c000[10], "ROMC D3 (Bank 10)", 0xc000, 0x2000, &_rom_D3[0x4000], 10, 1, 0 }, { &_m_c000[11], "ROMC D3 (Bank 11)", 0xc000, 0x2000, &_rom_D3[0x6000], 10, 1, 0 }, { &_m_c000[12], "RAMC D4 (Bank 12)", 0xc000, 0x2000, &_ram_D4[0x0000], 10, 0, 0 }, { &_m_c000[13], "RAMC D4 (Bank 13)", 0xc000, 0x2000, &_ram_D4[0x2000], 10, 0, 0 }, { &_m_c000[14], "RAMC D4 (Bank 14)", 0xc000, 0x2000, &_ram_D4[0x4000], 10, 0, 0 }, { &_m_c000[15], "RAMC D4 (Bank 15)", 0xc000, 0x2000, &_ram_D4[0x6000], 10, 0, 0 }, { &_m_e000[ 0], "ROME D5 (Bank 0)", 0xe000, 0x0800, &_rom_D5[0x0000], 10, 1, 1 }, { &_m_e000[ 1], "ROME D5 (Bank 1)", 0xe000, 0x0800, &_rom_D5[0x0800], 10, 1, 0 }, { &_m_e000[ 2], "ROME D5 (Bank 2)", 0xe000, 0x0800, &_rom_D5[0x1000], 10, 1, 0 }, { &_m_e000[ 3], "ROME D5 (Bank 3)", 0xe000, 0x0800, &_rom_D5[0x1800], 10, 1, 0 }, { &_m_e000[ 4], "ROME D5 (Bank 4)", 0xe000, 0x0800, &_rom_D5[0x2000], 10, 1, 0 }, { &_m_e000[ 5], "ROME D5 (Bank 5)", 0xe000, 0x0800, &_rom_D5[0x2800], 10, 1, 0 }, { &_m_e000[ 6], "ROME D5 (Bank 6)", 0xe000, 0x0800, &_rom_D5[0x3000], 10, 1, 0 }, { &_m_e000[ 7], "ROME D5 (Bank 7)", 0xe000, 0x0800, &_rom_D5[0x3800], 10, 1, 0 }, { &_m_e000[ 8], "RAME D5 (Bank 8)", 0xe000, 0x0800, &_ram_D6[0x0000], 10, 0, 0 }, { &_m_e000[ 9], "RAME D5 (Bank 9)", 0xe000, 0x0800, &_ram_D6[0x0800], 10, 0, 0 }, { &_m_e000[10], "RAME D5 (Bank 10)", 0xe000, 0x0800, &_ram_D6[0x1000], 10, 0, 0 }, { &_m_e000[11], "RAME D5 (Bank 11)", 0xe000, 0x0800, &_ram_D6[0x1800], 10, 0, 0 }, { &_m_e000[12], "RAME D5 (Bank 12)", 0xe000, 0x0800, &_ram_D6[0x2000], 10, 0, 0 }, { &_m_e000[13], "RAME D5 (Bank 13)", 0xe000, 0x0800, &_ram_D6[0x2800], 10, 0, 0 }, { &_m_e000[14], "RAME D5 (Bank 14)", 0xe000, 0x0800, &_ram_D6[0x3000], 10, 0, 0 }, { &_m_e000[15], "RAME D5 (Bank 15)", 0xe000, 0x0800, &_ram_D6[0x3800], 10, 0, 0 }, { 0, }, }; for (mptr = &m[0];mptr->name;mptr++) { *(mptr->group) = memory->register_memory(mptr->name, mptr->addr, mptr->size, mptr->mem, mptr->prio, mptr->ro); (*(mptr->group))->set_active(mptr->active); } _portg = ports->register_ports(get_name(), 0xff, 1, this, 0); set_valid(true); } Module192k::Module192k(const char *d2, const char *d3, const char *d5, const char *name) : ModuleInterface(name, 0, KC_MODULE_KC_85_1) { init(); _master = true; _rom_D2 = new byte_t[65536]; _rom_D3 = new byte_t[32768]; _rom_D5 = new byte_t[16384]; memset(_rom_D2, 0, 65536); memset(_rom_D3, 0, 32768); memset(_rom_D5, 0, 16384); bool valid = true; if (!Memory::load_rom(d2, _rom_D2, 65536, false)) valid = false; if (!Memory::load_rom(d3, _rom_D3, 32768, false)) valid = false; if (!Memory::load_rom(d5, _rom_D5, 8192, false)) valid = false; if (!Memory::load_rom(d5, _rom_D5 + 8192, 8192, false)) valid = false; if (!valid) { delete[] _rom_D2; delete[] _rom_D3; delete[] _rom_D5; _rom_D2 = NULL; _rom_D3 = NULL; _rom_D5 = NULL; } set_valid(valid); } Module192k::~Module192k(void) { if (_portg) ports->unregister_ports(_portg); if (_master) { if (_rom_D2) delete[] _rom_D2; if (_rom_D3) delete[] _rom_D3; if (_rom_D5) delete[] _rom_D5; } if (_m_4000) memory->unregister_memory(_m_4000); if (_m_6000) memory->unregister_memory(_m_6000); if (_m_8000) memory->unregister_memory(_m_8000); if (_m_a000) memory->unregister_memory(_m_a000); for (int a = 0;a < 16;a++) { if (_m_c000[a]) memory->unregister_memory(_m_c000[a]); if (_m_e000[a]) memory->unregister_memory(_m_e000[a]); } } void Module192k::init(void) { _val = 0; _portg = NULL; _ram_D1 = NULL; _ram_D4 = NULL; _ram_D6 = NULL; _rom_D2 = NULL; _rom_D3 = NULL; _rom_D5 = NULL; _m_4000 = NULL; _m_6000 = NULL; _m_8000 = NULL; _m_a000 = NULL; for (int a = 0;a < 16;a++) _m_c000[a] = _m_e000[a] = NULL; } void Module192k::m_out(word_t addr, byte_t val) { } ModuleInterface * Module192k::clone(void) { return new Module192k(*this); } byte_t Module192k::in(word_t addr) { return 0xff; } void Module192k::out(word_t addr, byte_t val) { _m_c000[(_val >> 4) & 0x0f]->set_active(false); _m_c000[(val >> 4) & 0x0f]->set_active(true); _m_e000[_val & 0x0f]->set_active(false); _m_e000[val & 0x0f]->set_active(true); _val = val; memory->reload_mem_ptr(); } void Module192k::reset(bool power_on) { /* * initialize memory bank switch after reset / power on */ out(0xff, 0); } KCemu-0.5.1/src/kc/poly880.cc0000644000175000017500000000344312417262523015673 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/poly880.h" #include "cmd/cmd.h" #include "libdbg/dbg.h" /* * partial implementation for the poly880 reset / single step / NMI logic * * Currently only the CTC triggered NMI flip flop is emulated. It's set * by the ZC/TO0 value of CTC channel 0 and can be reset by PIO 1 port B * bit 6 (SCON). * */ Poly880::Poly880(void) { _scon = false; _nmi_flip_flop = false; } Poly880::~Poly880(void) { } void Poly880::set_scon(bool value) { if (_scon == value) return; DBG(2, form("KCemu/Poly880/set_scon", "Poly880::set_scon(): value = %d%s\n", value, _scon ? "" : " - NMI Flip-Flop reset")); if (!_scon) _nmi_flip_flop = false; _scon = value; } void Poly880::trigger_send(void) { if (_nmi_flip_flop) return; DBG(2, form("KCemu/Poly880/trigger_send", "Poly880::trigger_send() - NMI Flip-Flop set\n")); _nmi_flip_flop = true; CMD_EXEC("emu-nmi"); } KCemu-0.5.1/src/kc/mod_ram1.cc0000644000175000017500000000400512417262523016142 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_ram1.h" ModuleRAM1::ModuleRAM1(ModuleRAM1 &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { unsigned int a; _group = NULL; _size = tmpl._size; _ram = new byte_t[_size]; _addr = tmpl._addr; if (_ram) { srand(time(NULL)); for (a = 0;a < _size;a++) _ram[a] = (byte_t)(256.0 * rand() / (RAND_MAX + 1.0)); set_valid(true); _group = memory->register_memory(get_name(), _addr, _size, _ram, 0, 0); } } ModuleRAM1::ModuleRAM1(const char *name, word_t addr, dword_t size) : ModuleInterface(name, 0, KC_MODULE_KC_85_1) { _ram = new byte_t[size]; _addr = addr; _size = size; if (_ram) { _group = 0; memset(_ram, 0, _size); set_valid(true); } } ModuleRAM1::~ModuleRAM1(void) { if (_group) memory->unregister_memory(_group); delete[] _ram; } void ModuleRAM1::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleRAM1::clone(void) { return new ModuleRAM1(*this); } void ModuleRAM1::reset(bool power_on) { if (power_on) Memory::scratch_mem(_ram, _size); } KCemu-0.5.1/src/kc/cb_list.cc0000644000175000017500000001301612417262523016064 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/cb_list.h" CallbackListEntry *CallbackListEntry::_free_list = 0; CallbackListEntry::CallbackListEntry(unsigned long long value, Callback *cb, void *data, CallbackListEntry *next) { _cb = cb; _data = data; _next = next; _value = value; } CallbackListEntry::~CallbackListEntry(void) { } void CallbackListEntry::alloc_entries(void) { for (int a = 0;a < CALLBACK_LIST_ALLOC_SIZE;a++) _free_list = ::new CallbackListEntry(0, 0, 0, _free_list); } void CallbackListEntry::free_entries(void) { for (CallbackListEntry *ptr = _free_list;ptr != NULL;) { CallbackListEntry *tmp = ptr; ptr = ptr->_next; delete tmp; } _free_list = 0; } void * CallbackListEntry::operator new(size_t size) { CallbackListEntry *ptr = _free_list; if (ptr == NULL) { alloc_entries(); return ::new CallbackListEntry(0, 0, 0, 0); } _free_list = ptr->_next; ptr->_next = 0; // don't leak internal list references return ptr; } void CallbackListEntry::operator delete(void *p) { CallbackListEntry *ptr = (CallbackListEntry *)p; ptr->_next = _free_list; _free_list = ptr; } CallbackList::CallbackList() { _list = 0; } CallbackList::~CallbackList(void) { clear(); CallbackListEntry::free_entries(); } void CallbackList::clear(void) { CallbackListEntry *ptr; while (_list) { ptr = _list; _list = ptr->_next; delete ptr; } } void CallbackList::add_callback(unsigned long long value, Callback *cb, void *data) { CallbackListEntry *ptr, *next; if (_list == 0) { /* * easy, empty list */ _list = new CallbackListEntry(value, cb, data, 0); } else { ptr = _list; if (_list->_value > value) { /* * add front */ _list = new CallbackListEntry(value, cb, data, ptr); } else { /* * insert sorted */ while (242) { if (ptr->_next && ptr->_next->_value > value) { next = ptr->_next; ptr->_next = new CallbackListEntry(value, cb, data, next); break; } else { if (ptr->_next == 0) { ptr->_next = new CallbackListEntry(value, cb, data, 0); break; } } ptr = ptr->_next; } } } } void CallbackList::run_callbacks(unsigned long long value) { void *data; Callback *cb; CallbackListEntry *ptr; while (_list && _list->_value <= value) { ptr = _list; _list = ptr->_next; cb = ptr->_cb; data = ptr->_data; delete ptr; if (cb) cb->callback(data); } } void CallbackList::remove_callback_listener(Callback *cb) { CallbackListEntry *ptr = _list; for (ptr = _list;ptr != NULL;ptr = ptr->_next) if (ptr->_cb == cb) ptr->_cb = NULL; } /* ################################################################################ ################################################################################ ################################################################################ */ #if 0 void _print_callback_list(const char *why, unsigned long long clock, callback_list *list, const char *txt) { int a; callback_list *ptr; a = 0; for (ptr = list;ptr != NULL;ptr = ptr->_next) a++; cerr.form("paranoia_check (%s):\n", why); cerr.form("\tfunction = %s\n", txt); cerr.form("\tpc = %04x\n", z80->getPC()); cerr.form("\tlength = %10d\n", a); cerr.form("\tdiff = %10Ld\n", list->_counter - clock); cerr.form("\tcounter = %10Ld\n", clock); for (ptr = list;ptr != NULL;ptr = ptr->_next) { cerr.form("\tcounter = %10Ld, cb = %8p [%s], data = %8p\n", ptr->_counter, ptr->_cb, ptr->_cb->get_name(), ptr->_data); } } void _callback_paranoia_check(unsigned long long clock, callback_list *list, char *txt) { unsigned long long last = 0; callback_list *tmp; callback_list *ptr = list; while (ptr != NULL) { if (ptr->_counter < clock) { _print_callback_list("ptr->counter < clock", clock, list, txt); return; } if (ptr->_counter < last) { _print_callback_list("ptr->counter < last", clock, list, txt); return; } tmp = list; while (tmp != ptr) { if (tmp->_counter > ptr->_counter) { _print_callback_list("tmp->counter > ptr->counter", clock, list, txt); return; } tmp = tmp->_next; } last = ptr->_counter; ptr = ptr->_next; } } #endif KCemu-0.5.1/src/kc/pio6.cc0000644000175000017500000000623712417262523015331 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio6.h" #include "kc/poly880.h" #include "libdbg/dbg.h" PIO6_1::PIO6_1(void) { _led_value = 0; set_B_EXT(0xff, 0x00); } PIO6_1::~PIO6_1(void) { } byte_t PIO6_1::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_A_CTRL(); break; case 2: val = in_B_DATA(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/6a/in", "PIO6_1::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIO6_1::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/6a/out", "PIO6_1::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); _led_value = val; break; case 1: out_A_CTRL(val); break; case 2: out_B_DATA(val); break; case 3: out_B_CTRL(val); break; } } void PIO6_1::change_A(byte_t changed, byte_t val) { } void PIO6_1::change_B(byte_t changed, byte_t val) { poly880->set_scon((val & 64) == 64); //printf("port B: %02x %s %s\n", val, (val & 4) ? "MOUT" : "mout", (val & 64) ? "SCON" : "scon"); } byte_t PIO6_1::get_led_value(void) { return _led_value; } PIO6_2::PIO6_2(void) { } PIO6_2::~PIO6_2(void) { } byte_t PIO6_2::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_A_CTRL(); break; case 2: val = in_B_DATA(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/6b/in", "PIO6_2::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIO6_2::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/6b/out", "PIO6_2::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_A_CTRL(val); break; case 2: out_B_DATA(val); break; case 3: out_B_CTRL(val); break; } } void PIO6_2::change_A(byte_t changed, byte_t val) { } void PIO6_2::change_B(byte_t changed, byte_t val) { } KCemu-0.5.1/src/kc/mod_cpm.cc0000644000175000017500000000411112417262523016057 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/fdc7.h" #include "kc/mod_cpm.h" using namespace std; ModuleCPMZ9::ModuleCPMZ9(ModuleCPMZ9 &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { fdc_fdc = new FDC7(); // FIXME: global variable in kc.cc !!! _portg1 = ports->register_ports(get_name(), 0x98, 2, fdc_fdc, 0); _portg2 = ports->register_ports(get_name(), 0xa0, 2, fdc_fdc, 0); _portgX = ports->register_ports(get_name(), 0x10, 2, fdc_fdc, 0); set_valid(true); } ModuleCPMZ9::ModuleCPMZ9(const char *name) : ModuleInterface(name, 0, KC_MODULE_KC_85_1) { _portg1 = _portg2 = _portgX = NULL; set_valid(true); } ModuleCPMZ9::~ModuleCPMZ9(void) { if (_portg1) ports->unregister_ports(_portg1); if (_portg2) ports->unregister_ports(_portg2); if (_portgX) ports->unregister_ports(_portgX); if (fdc_fdc) delete fdc_fdc; fdc_fdc = NULL; } void ModuleCPMZ9::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleCPMZ9::clone(void) { return new ModuleCPMZ9(*this); } void ModuleCPMZ9::reset(bool power_on) { } byte_t ModuleCPMZ9::in(word_t addr) { return 0xff; } void ModuleCPMZ9::out(word_t addr, byte_t val) { } KCemu-0.5.1/src/kc/fdc9.cc0000644000175000017500000000734612417262523015303 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/z80.h" #include "kc/fdc9.h" #include "libdbg/dbg.h" FDC9::FDC9(void) { } FDC9::~FDC9(void) { } long long FDC9::get_counter() { return z80->getCounter(); } void FDC9::add_callback(unsigned long long offset, Callback *cb, void *data) { z80->addCallback(offset, cb, data); } byte_t FDC9::in(word_t addr) { byte_t val = 0; switch (addr & 0xff) { case 0x40: val = get_msr(); DBG(2, form("KCemu/FDC/in_F0", "FDC::in(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; case 0x41: val = in_data(addr); DBG(2, form("KCemu/FDC/in_F1", "FDC::in(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; case 0x42: val = read_byte(); DBG(2, form("KCemu/FDC/in_F2", "FDC::in(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; case 0x44: val = get_input_gate(); DBG(2, form("KCemu/FDC/in_F4", "FDC::in(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; case 0x46: val = 0x00; DBG(2, form("KCemu/FDC/in_F6", "FDC::in(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; case 0x48: val = 0x00; DBG(2, form("KCemu/FDC/in_F8", "FDC::in(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; } DBG(2, form("KCemu/FDC/in", "FDC::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void FDC9::out(word_t addr, byte_t val) { switch (addr & 0xff) { case 0x41: DBG(2, form("KCemu/FDC/out_F1", "FDC::out(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); out_data(addr, val); break; case 0x42: DBG(2, form("KCemu/FDC/out_F2", "FDC::out(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); write_byte(val); break; case 0x46: DBG(2, form("KCemu/FDC/out_F6", "FDC::out(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; case 0x48: DBG(2, form("KCemu/FDC/out_F8", "FDC::out(): TC %02x\n", val)); if (val == 0x00) set_state(FDC_STATE_IDLE); if (val == 0x11) set_state(FDC_STATE_RESULT); set_input_gate(0x40, 0x00); break; default: DBG(2, form("KCemu/FDC/out_unhandled", "FDC::out(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; } } KCemu-0.5.1/src/kc/mod_256k.cc0000644000175000017500000000256712417262523016004 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/mod_256k.h" Module256k::Module256k(Module256k &tmpl) : ModuleSegmentedMemory(tmpl) { } Module256k::Module256k(const char *name, byte_t id) : ModuleSegmentedMemory(name, id, 16, 0x4000) { } Module256k::~Module256k(void) { } int Module256k::get_segment_index(word_t addr, byte_t val) { return (val >> 2) & 0x0f; } word_t Module256k::get_base_address(word_t addr, byte_t val) { return (val & 0x80) ? 0x8000 : 0x4000; } ModuleInterface * Module256k::clone(void) { return new Module256k(*this); } KCemu-0.5.1/src/kc/ic.cc0000644000175000017500000001141312417262523015037 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/ic.h" #include "libdbg/dbg.h" InterfaceCircuit::InterfaceCircuit(const char *name) { _next = 0; _prev = 0; _name = strdup(name); reset(); } InterfaceCircuit::~InterfaceCircuit(void) { free(_name); } const char * const InterfaceCircuit::get_ic_name(void) { return _name; } void InterfaceCircuit::debug(void) { DBG(2, form("KCemu/IC/irq", "IC::debug(): %-8s: iei = %d - ieo = %d - irqreq = %d - irqactive = %d\n", _name, _iei, ieo(), _irqreq, _irqactive)); if (_next) _next->debug(); } void InterfaceCircuit::irq(void) { DBG(2, form("KCemu/IC/irq", "IC::irq(): %-8s: iei = %d - ieo = %d - irqreq = %d - irqactive = %d\n", _name, _iei, ieo(), _irqreq, _irqactive)); if (_irqactive || _irqreq) return; _irqreq = 1; if (_next) _next->iei(ieo()); if ((_iei == 1) && (ieo() == 0)) { DBG(2, form("KCemu/IC/irq", "IC::irq(): %-8s: will call irqreq()\n", get_ic_name())); irqreq(); } } word_t InterfaceCircuit::ack(void) { DBG(2, form("KCemu/IC/ack", "IC::ack(): %-8s: iei = %d - ieo = %d - irqreq = %d - irqactive = %d\n", _name, _iei, ieo(), _irqreq, _irqactive)); if ((_iei == 1) && (ieo() == 0)) { DBG(2, form("KCemu/IC/ack", "IC::ack(): %-8s: will call irqack()\n", get_ic_name())); _irqreq = 0; _irqactive = 1; return irqack(); } if (_prev) return _prev->ack(); return IRQ_NOT_ACK; } void InterfaceCircuit::iei(byte_t val) { _iei = val; if (_next) _next->iei(ieo()); } byte_t InterfaceCircuit::ieo(void) { /* * temporary state between reti_ED() and reti_4D() */ if (_ieo_reti) return 1; return _iei & (!(_irqreq || _irqactive)); } void InterfaceCircuit::prev(InterfaceCircuit *ic) { _prev = ic; } void InterfaceCircuit::next(InterfaceCircuit *ic) { _next = ic; if (ic != NULL) { ic->prev(this); ic->iei(ieo()); } } InterfaceCircuit * InterfaceCircuit::get_prev() { return _prev; } InterfaceCircuit * InterfaceCircuit::get_next() { return _next; } InterfaceCircuit * InterfaceCircuit::get_first() { if (_prev) return _prev->get_first(); return this; } InterfaceCircuit * InterfaceCircuit::get_last() { if (_next) return _next->get_last(); return this; } void InterfaceCircuit::reti_ED(void) { DBG(2, form("KCemu/IC/reti", "IC::reti_ED(): %-8s: iei = %d - ieo = %d - irqreq = %d - irqactive = %d\n", _name, _iei, ieo(), _irqreq, _irqactive)); if ((_iei == 1) && (ieo() == 0)) if (!_irqactive) { /* * enter temporary ieo state */ _ieo_reti = 1; if (_next) _next->iei(1); } if (_prev) _prev->reti_ED(); } void InterfaceCircuit::reti_4D(void) { DBG(2, form("KCemu/IC/reti", "IC::reti_4D(): %-8s: iei = %d - ieo = %d - irqreq = %d - irqactive = %d\n", _name, _iei, ieo(), _irqreq, _irqactive)); if ((_iei == 1) && (ieo() == 0) && _irqactive) { DBG(2, form("KCemu/IC/reti", "IC::reti_4D(): %-8s:\n", get_ic_name())); _irqreq = 0; _irqactive = 0; reti(); if (_next) _next->iei(ieo()); } if (_prev) _prev->reti_4D(); /* * exit temporary ieo state */ if (_ieo_reti) { _ieo_reti = 0; if (_next) _next->iei(ieo()); } if (_irqreq != 0) { DBG(2, form("KCemu/IC/reti", "IC::reti_4D(): %-8s: irqreq is set!\n", get_ic_name())); if (_next) _next->iei(ieo()); if ((_iei == 1) && (ieo() == 0)) { DBG(2, form("KCemu/IC/reti", "IC::reti_4D(): %-8s: will call irqreq()\n", get_ic_name())); irqreq(); } } } void InterfaceCircuit::reset(bool power_on) { DBG(2, form("KCemu/IC/reset", "IC::reset(): %-8s\n", _name)); _iei = 0; _ieo_reti = 0; _irqreq = 0; _irqactive = 0; } KCemu-0.5.1/src/kc/ctc.cc0000644000175000017500000002474512417262523015231 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "ui/ui.h" #include "kc/ctc.h" #include "kc/tape.h" #include "libdbg/dbg.h" using namespace std; CTC::CTC(const char *name) : InterfaceCircuit(name), Callback(name) { _irq_valid[0] = 0; _irq_valid[1] = 1; _irq_valid[2] = 2; _irq_valid[3] = 3; _cb_list[0] = NULL; _cb_list[1] = NULL; _cb_list[2] = NULL; _cb_list[3] = NULL; reset(true); } CTC::~CTC(void) { } void CTC::reti(void) { int a, b; b = 0; for (a = 0;a < 4;a++) { if (_irq_active[a]) { b++; _irq_active[a] = 0; } } if (b > 1) DBG(2, form("KCemu/CTC/reti", "CTC::reti(): more than one irq active!!!")); if (b == 0) return; DBG(2, form("KCemu/CTC/reti", "CTC::reti(): active: %d %d %d %d - pending: %d %d %d %d\n", _irq_active[0], _irq_active[1], _irq_active[2], _irq_active[3], _irq_pending[0], _irq_pending[1], _irq_pending[2], _irq_pending[3])); for (a = 0;a < 4;a++) { if (_irq_pending[a]) { DBG(2, form("KCemu/CTC/reti", "CTC::reti(): trigger_irq(): channel = %d\n", a)); try_trigger_irq(a); break; } } } void CTC::irqreq(void) { } word_t CTC::irqack(void) { return IRQ_NOT_ACK; } void CTC::reset(bool power_on) { int a; _irq_vector = 0; for (a = 0;a < 4;a++) { _control[a] = 0x23; _value[a] = 0; _restart[a] = 0; _timer_value[a] = 0; _irq_active[a] = 0; _irq_pending[a] = 0; _irq_valid[a] += 4; } } void CTC::trigger(byte_t channel) { byte_t c = channel & 3; if ((_control[c] & MODE) != MODE_COUNTER) return; _value[c]--; if (_value[c] > 0) return; _value[c] = _timer_value[c]; try_trigger_irq(c); } void CTC::handle_counter_mode(int channel) { long cv; switch (channel) { case 0: cv = counter_value_0(); break; case 1: cv = counter_value_1(); break; case 2: cv = counter_value_2(); break; case 3: cv = counter_value_3(); break; default: assert(0); } if (cv == 0) return; cv *= _timer_value[channel]; // mapping from 0 to 256 is done in c_out() run_cb_tc(channel, _timer_value[channel]); _irq_valid[channel] += 4; add_callback(cv, this, (void *)((long)_irq_valid[channel])); } void CTC::try_trigger_irq(int channel) { if ((_control[channel] & IRQ) == IRQ_DISABLED) { _irq_pending[channel] = 0; return; } _irq_pending[channel] = 1; trigger_irq(channel); } void CTC::callback(void *data) { bool cont; long val = (long)data; byte_t c = val & 3; if (_irq_valid[c] != val) return; DBG(2, form("KCemu/CTC/reti", "CTC::callback(): active: %d %d %d %d - pending: %d %d %d %d\n", _irq_active[0], _irq_active[1], _irq_active[2], _irq_active[3], _irq_pending[0], _irq_pending[1], _irq_pending[2], _irq_pending[3])); switch (c) { case 0: DBG(2, form("KCemu/CTC/irq/0", "CTC::callback() : irq channel 0\n")); cont = irq_0(); break; case 1: DBG(2, form("KCemu/CTC/irq/1", "CTC::callback() : irq channel 1\n")); cont = irq_1(); break; case 2: DBG(2, form("KCemu/CTC/irq/2", "CTC::callback() : irq channel 2\n")); cont = irq_2(); break; case 3: DBG(2, form("KCemu/CTC/irq/3", "CTC::callback() : irq channel 3\n")); cont = irq_3(); break; } /* * COUNTER mode (clock source comes from the CLK pin) */ if ((_control[c] & MODE) == MODE_COUNTER) { handle_counter_mode(c); return; } if ((_control[c] & IRQ) == IRQ_ENABLED) { DBG(2, form("KCemu/CTC/callback", "CTC::callback(): trigger_irq(): _irq_pending = %d\n", _irq_pending[c])); try_trigger_irq(c); } add_callback(_timer_value[c], this, (void *)((long)val)); } byte_t CTC::c_in(byte_t c) { word_t val; unsigned long long diff = 0; if (_timer_value[c] == 0) { return 0; } if ((_control[c] & MODE) == MODE_COUNTER) { diff = 0; } else { if ((_control[c] & RESET) == RESET_ACTIVE) { diff = 0; } else { diff = get_counter() - _counter[c]; } } if ((_control[c] & PRESCALER) == PRESCALER_16) { diff /= 16; val = ((_value[c] / 16) - diff) & 0xff; } else { diff /= 256; val = ((_value[c] / 256) - diff) & 0xff; } _counter[c] = get_counter(); return val; } void CTC::c_out(byte_t channel, byte_t val) { if ((_control[channel] & CONSTANT) == CONSTANT_LOAD) { _control[channel] &= ~(CONSTANT | RESET); run_cb_start(channel); if ((_control[channel] & MODE) == MODE_TIMER) { if ((_control[channel] & PRESCALER) == PRESCALER_16) { _timer_value[channel] = val << 4; /* div 16 */ if (_timer_value[channel] == 0) _timer_value[channel] = 4096; } else { _timer_value[channel] = val << 8; /* div 256 */ /* * well, this should be 65536 but this would need a dword * for _timer_value */ if (_timer_value[channel] == 0) _timer_value[channel] = 65535; } } else { /* * COUNTER MODE has no prescaler */ _timer_value[channel] = val; } _counter[channel] = get_counter(); _value[channel] = _timer_value[channel]; run_cb_tc(channel, _timer_value[channel]); if ((_control[channel] & MODE) == MODE_COUNTER) { handle_counter_mode(channel); return; } _irq_valid[channel] += 4; /* * Added a fixed offset for callback timing added for the poly880 * emulation. Without offset the CTC caused NMI is triggered * one opcode too early. * * FIXME: check timing */ add_callback(_timer_value[channel] + 4, this, (void *)((long)_irq_valid[channel])); return; } if ((val & CONTROL) == CONTROL_VECTOR) { if (channel != 0) return; _irq_vector = val & ~ 7; return; } if ((val & RESET) == RESET_ACTIVE) { _value[channel] = _timer_value[channel]; _irq_valid[channel] += 4; if ((_control[channel] & RESET) != RESET_ACTIVE) run_cb_stop(channel); } _control[channel] = val; } void CTC::register_callback(int channel, CTCCallbackInterface *cbi) { int c = channel & 3; if (_cb_list[c] == NULL) { _cb_list[c] = new cb_list_t(); } _cb_list[c]->push_back(cbi); } void CTC::run_cb_start(int channel) { if (_cb_list[channel] == NULL) return; for (iterator it = _cb_list[channel]->begin();it != _cb_list[channel]->end();it++) (*it)->ctc_callback_start(channel); } void CTC::run_cb_stop(int channel) { if (_cb_list[channel] == NULL) return; for (iterator it = _cb_list[channel]->begin();it != _cb_list[channel]->end();it++) (*it)->ctc_callback_stop(channel); } void CTC::run_cb_tc(int channel, long tc) { if (_cb_list[channel] == NULL) return; for (iterator it = _cb_list[channel]->begin();it != _cb_list[channel]->end();it++) (*it)->ctc_callback_TC(channel, tc); } void CTC::info(void) { cout << " CTC:" << endl; cout << " ---- channel 0 channel 1 " << "channel 2 channel 3" << endl; cout << "\tirq vector: " << hex << setfill('0') << setw(2) << (int)(_irq_vector) << "h " << hex << setfill('0') << setw(2) << (int)(_irq_vector | 0x02) << "h " << hex << setfill('0') << setw(2) << (int)(_irq_vector | 0x04) << "h " << hex << setfill('0') << setw(2) << (int)(_irq_vector | 0x06) << "h" << endl; cout << "\tirq enabled: " << ((_control[0] & IRQ)?"yes":"no ") << " " << ((_control[1] & IRQ)?"yes":"no ") << " " << ((_control[2] & IRQ)?"yes":"no ") << " " << ((_control[3] & IRQ)?"yes":"no ") << endl; cout << "\tcounter mode: " << ((_control[0] & MODE)?"counter":"timer ") << " " << ((_control[1] & MODE)?"counter":"timer ") << " " << ((_control[2] & MODE)?"counter":"timer ") << " " << ((_control[3] & MODE)?"counter":"timer") << endl; cout << "\tclock divider: " << ((_control[0] & PRESCALER)?"256":"16 ") << " " << ((_control[1] & PRESCALER)?"256":"16 ") << " " << ((_control[2] & PRESCALER)?"256":"16 ") << " " << ((_control[3] & PRESCALER)?"256":"16 ") << endl; cout << "\twait for tv: " << ((_control[0] & CONSTANT)?"yes":"no ") << " " << ((_control[1] & CONSTANT)?"yes":"no ") << " " << ((_control[2] & CONSTANT)?"yes":"no ") << " " << ((_control[3] & CONSTANT)?"yes":"no ") << endl; cout << "\treset: " << ((_control[0] & RESET)?"yes":"no ") << " " << ((_control[1] & RESET)?"yes":"no ") << " " << ((_control[2] & RESET)?"yes":"no ") << " " << ((_control[3] & RESET)?"yes":"no ") << endl; cout << "\ttimer value: " << hex << setfill('0') << setw(2) << (int)_timer_value[0] << "h " << hex << setfill('0') << setw(2) << (int)_timer_value[1] << "h " << hex << setfill('0') << setw(2) << (int)_timer_value[2] << "h " << hex << setfill('0') << setw(2) << (int)_timer_value[3] << "h" << endl; cout << "\tvalue: " << hex << setfill('0') << setw(2) << (int)_value[0] << "h " << hex << setfill('0') << setw(2) << (int)_value[1] << "h " << hex << setfill('0') << setw(2) << (int)_value[2] << "h " << hex << setfill('0') << setw(2) << (int)_value[3] << "h" << endl << endl; } KCemu-0.5.1/src/kc/memory3.cc0000644000175000017500000000767412417262523016055 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/memory3.h" #include "ui/ui.h" #include "libdbg/dbg.h" using namespace std; Memory3::Memory3(void) : Memory() { _access_color = false; load_rom(SystemROM::ROM_KEY_CAOSE, &_rom_caos); load_rom(SystemROM::ROM_KEY_BASIC, &_rom_basic); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_ram, "RAM 0", 0x0000, 0x4000, &_ram[0], 0, 0, 1, -1 }, { &_m_irm, "IRM", 0x8000, 0x4000, &_irm[0], 1, 0, 1, -1 }, { &_m_caos, "CAOS", 0xe000, 0x2000, &_rom_caos[0], 2, 1, 1, -1 }, { &_m_basic, "BASIC", 0xc000, 0x2000, &_rom_basic[0], 2, 1, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); } Memory3::~Memory3(void) { z80->unregister_ic(this); } byte_t Memory3::memRead8(word_t addr) { if (_m_irm->is_active() && (addr >= 0x8000) && (addr <= 0xc000)) ui->memory_read(addr); return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void Memory3::memWrite8(word_t addr, byte_t val) { if (_m_irm->is_active() && (addr >= 0x8000) && (addr <= 0xc000)) ui->memory_write(addr); _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * Memory3::get_irm(void) { return (byte_t *)_irm; } byte_t * Memory3::get_char_rom(void) { return (byte_t *)0; } void Memory3::dumpCore(void) { ofstream os; os.open("core.z80"); DBG(0, form("KCemu/Memory/3/core", "Memory: dumping core...\n")); if (!os) { cerr << "can't write 'core.z80'\n"; return; } os.write((char *)_ram, 0x4000); os.write((char *)_irm, 0x4000); os.write((char *)_rom_caos, 0x2000); os.write((char *)_rom_basic, 0x2000); os.close(); } void Memory3::enableCAOS_E(int v) { DBG(1, form("KCemu/Memory/3/switch", "Memory: CAOS %s\n", v ? "enabled" : "disabled")); _m_caos->set_active(v); reload_mem_ptr(); } void Memory3::enableBASIC_C(int v) { DBG(1, form("KCemu/Memory/3/switch", "Memory: BASIC %s\n", v ? "enabled" : "disabled")); _m_basic->set_active(v); reload_mem_ptr(); } void Memory3::enableRAM(int v) { DBG(1, form("KCemu/Memory/3/switch", "Memory: RAM %s\n", v ? "enabled" : "disabled")); _m_ram->set_active(v); reload_mem_ptr(); } void Memory3::protectRAM(int v) { DBG(1, form("KCemu/Memory/3/switch", "Memory: RAM %s\n", v ? "read/write" : "readonly")); _m_ram->set_readonly(!v); reload_mem_ptr(); } void Memory3::enableIRM(int v) { DBG(1, form("KCemu/Memory/3/switch", "Memory: IRM %s\n", v ? "enabled" : "disabled")); _m_irm->set_active(v); reload_mem_ptr(); } void Memory3::reset(bool power_on) { _m_ram->set_active(true); _m_ram->set_readonly(false); _m_irm->set_active(true); _m_caos->set_active(true); _m_basic->set_active(true); reload_mem_ptr(); if (!power_on) return; scratch_mem(&_ram[0], 0x4000); scratch_mem(&_irm[0], 0x4000); } KCemu-0.5.1/src/kc/mod_r64.cc0000644000175000017500000000777112417262523015732 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/memory1.h" #include "kc/memory7.h" #include "kc/mod_r64.h" using namespace std; /* * 64k RAM module for use with the KC87-CP/M system (CPM-Z9) * * two pages of 16k at 0x4000, one page of 16k at 0x8000 and 0xc000 * */ ModuleRAM64::ModuleRAM64(ModuleRAM64 &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { int a; _ram[0] = new byte_t[0x4000]; _ram[1] = new byte_t[0x4000]; _ram[2] = new byte_t[0x4000]; _ram[3] = new byte_t[0x4000]; srand(time(NULL)); for (a = 0;a < 0x4000;a++) { //_ram[0][a] = (byte_t)(256.0 * rand() / (RAND_MAX + 1.0)); //_ram[1][a] = (byte_t)(256.0 * rand() / (RAND_MAX + 1.0)); //_ram[2][a] = (byte_t)(256.0 * rand() / (RAND_MAX + 1.0)); //_ram[3][a] = (byte_t)(256.0 * rand() / (RAND_MAX + 1.0)); _ram[0][a] = 0; _ram[1][a] = 0; _ram[2][a] = 0; _ram[3][a] = 0; } _group[0] = memory->register_memory(get_name(), 0x4000, 0x4000, _ram[0], 10, 0); _group[1] = memory->register_memory(get_name(), 0x4000, 0x4000, _ram[1], 20, 0); _group[2] = memory->register_memory(get_name(), 0x8000, 0x4000, _ram[2], 10, 0); _group[3] = memory->register_memory(get_name(), 0xc000, 0x4000, _ram[3], 10, 0); _portg = ports->register_ports(get_name(), 4, 4, this, 0); set_valid(true); } ModuleRAM64::ModuleRAM64(const char *name) : ModuleInterface(name, 0, KC_MODULE_KC_85_1) { _portg = NULL; _ram[0] = _ram[1] = _ram[2] = _ram[3] = NULL; _group[0] = _group[1] = _group[2] = _group[3] = NULL; set_valid(true); } ModuleRAM64::~ModuleRAM64(void) { if (_portg) ports->unregister_ports(_portg); if (_group[0]) memory->unregister_memory(_group[0]); if (_group[1]) memory->unregister_memory(_group[1]); if (_group[2]) memory->unregister_memory(_group[2]); if (_group[3]) memory->unregister_memory(_group[3]); delete[] _ram[0]; delete[] _ram[1]; delete[] _ram[2]; delete[] _ram[3]; } void ModuleRAM64::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleRAM64::clone(void) { return new ModuleRAM64(*this); } void ModuleRAM64::reset(bool power_on) { if (!power_on) return; Memory::scratch_mem(_ram[0], 0x4000); Memory::scratch_mem(_ram[1], 0x4000); Memory::scratch_mem(_ram[2], 0x4000); Memory::scratch_mem(_ram[3], 0x4000); } byte_t ModuleRAM64::in(word_t addr) { in_out(addr); return 0xff; } void ModuleRAM64::out(word_t addr, byte_t val) { in_out(addr); } void ModuleRAM64::in_out(word_t addr) { switch (addr & 7) { case 0x04: break; case 0x05: break; case 0x06: // RAM between c000h and e7ffh in write only mode (read from rom) case 0x07: // RAM between c000h and e7ffh in read/write mode (romdi active) /* * FIXME: make common base class for Memory1 and Memory7 */ switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: // no romdi needed for kc85/1 //((Memory1 *)memory)->set_romdi(addr & 1); break; case KC_TYPE_87: ((Memory7 *)memory)->set_romdi(addr & 1); break; default: break; } break; } } KCemu-0.5.1/src/kc/mod_rtc.cc0000644000175000017500000000605312417262523016077 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_rtc.h" #include "sys/sysdep.h" ModuleRTC::ModuleRTC(ModuleRTC &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _portg = NULL; _master = &tmpl; if (_master->get_count() == 0) { _master->set_count(1); _base_port = _master->_base_port; _portg = ports->register_ports("RTC", _base_port, 16, this, 0); set_valid(true); } else { char buf[1024]; snprintf(buf, sizeof(buf), _("It's not possible to have more than one\n" "module of type %s!"), get_name()); set_error_text(buf); set_valid(false); } } ModuleRTC::ModuleRTC(const char *name, int base_port) : ModuleInterface(name, 0, KC_MODULE_Z1013) { _count = 0; _portg = NULL; _base_port = base_port; set_valid(true); } ModuleRTC::~ModuleRTC(void) { if (_portg) { _master->set_count(0); ports->unregister_ports(_portg); } } void ModuleRTC::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleRTC::clone(void) { return new ModuleRTC(*this); } void ModuleRTC::reset(bool power_on) { } int ModuleRTC::get_count(void) { return _count; } void ModuleRTC::set_count(int count) { _count = count; } byte_t ModuleRTC::in(word_t addr) { int year, month, day, hour, minute, second; sys_localtime(&year, &month, &day, &hour, &minute, &second); switch (addr & 0x0f) { case 0x00: return second % 10; case 0x01: return second / 10; case 0x02: return minute % 10; case 0x03: return minute / 10; case 0x04: return hour % 10; case 0x05: return hour / 10; case 0x06: return day % 10; case 0x07: return day / 10; case 0x08: return month % 10; case 0x09: return month / 10; case 0x0a: return year % 10; case 0x0b: return (year / 10) % 10; case 0x0c: // ??? return 0x00; case 0x0d: // control D return 0x00; case 0x0e: // control E return 0x00; case 0x0f: // control F return 0x00; } return 0xff; } void ModuleRTC::out(word_t addr, byte_t val) { } KCemu-0.5.1/src/kc/keyb0.cc0000644000175000017500000001162712417262523015465 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/keys.h" #include "kc/pio0.h" #include "kc/keyb0.h" #include "kc/keyb0k.h" #include "kc/ports0.h" #include "cmd/cmd.h" Keyboard0::Keyboard0(void) { init(); z80->register_ic(this); } Keyboard0::~Keyboard0(void) { z80->unregister_ic(this); } void Keyboard0::init(void) { _ext = 0; _key = 0; _keysym = 0; _variant = Preferences::instance()->get_kc_variant(); } void Keyboard0::keyPressed(int keysym, int keycode) { switch (keysym) { case KC_KEY_CONTROL: _control = true; break; default: break; } _keysym = keysym; keyboard_handler(); } void Keyboard0::keyReleased(int keysym, int keycode) { switch (keysym) { case KC_KEY_CONTROL: _control = false; break; default: break; } _keysym = 0; keyboard_handler(); } void Keyboard0::replayString(const char *text) { } void Keyboard0::callback(void *data) { } int Keyboard0::callback_A_in(void) { return -1; } int Keyboard0::callback_B_in(void) { return _ext; } void Keyboard0::callback_A_out(byte_t val) { } void Keyboard0::callback_B_out(byte_t val) { if (_pio_value != (val & 0x10)) { _pio_value = val & 0x10; keyboard_handler(); } } void Keyboard0::reset(bool power_on) { init(); } void Keyboard0::reti(void) { } void Keyboard0::keyboard_handler_default(void) { _ext = 0x1f; /* * latch key value only at start of keyboard scan to * prevent missing recognition of the shift keys */ if (_value == 0) _key = __keys[_keysym]; if (_key == 0) { pio->set_B_EXT(0x1f, _ext); return; } /* * shift level (S1 = 0, S2 = 1, S3 = 2, S4 = 3) */ int shift = ((_key >> 8) & 0xff) - 1; if (shift >= 0) if (_value == shift) _ext &= ~8; if (_value == ((_key >> 4) & 0x0f)) _ext &= ~(_key & 0x0f); pio->set_B_EXT(0x1f, _ext); } void Keyboard0::keyboard_handler_a2(void) { _key = __keys_a2[_keysym]; if (_key == 0) { _ext = 0x0f; pio->set_B_EXT(0x0f, _ext); return; } int row1 = (_key & 0x0f) - 1; int col1 = ((_key & 0xf0) >> 4); int row2 = ((_key >> 8) & 0x0f) - 1; int col2 = ((_key & 0xf000) >> 12); _ext = 0x0f; if (_value == row1) { int v = 1 << col1; if (_pio_value) v >>= 4; _ext &= (v ^ 0xff); } if (_value == row2) { int v = 1 << col2; if (_pio_value) v >>= 4; _ext &= (v ^ 0xff); } pio->set_B_EXT(0x0f, _ext); } void Keyboard0::keyboard_handler_rb(void) { _key = __keys_rb_k7659[_keysym]; if (_key == 0) { _ext = 0x0f; pio->set_B_EXT(0x1f, _ext); return; } int row1 = (_key & 0x0f) - 1; int col1 = ((_key & 0xf0) >> 4); byte_t val = 0x00; if ((_value == row1) || (_value == 15)) val = (1 << col1); if (_key & 0xff00) { int row2 = ((_key >> 8) & 0x0f) - 1; int col2 = ((_key & 0xf000) >> 12); if ((_value == row2) || (_value == 15)) val |= (1 << col2); } if (_control) if ((_value == 7) || (_value == 15)) val |= (1 << 7); int l1 = (val & 0x01) || (val & 0x04) || (val & 0x10) || (val & 0x40); int l2 = (val & 0x02) || (val & 0x04) || (val & 0x20) || (val & 0x40); int l3 = (val & 0x08) || (val & 0x10) || (val & 0x20) || (val & 0x40); int l4 = (val & 0x80); val = 0x1f; if (l1) val ^= 1; if (l2) val ^= 2; if (l3) val ^= 4; if (l4) val ^= 8; _ext = val; pio->set_B_EXT(0x1f, _ext); } void Keyboard0::keyboard_handler(void) { switch (_variant) { case KC_VARIANT_Z1013_01: case KC_VARIANT_Z1013_12: case KC_VARIANT_Z1013_16: case KC_VARIANT_Z1013_64: keyboard_handler_default(); break; case KC_VARIANT_Z1013_A2: keyboard_handler_a2(); break; case KC_VARIANT_Z1013_RB: case KC_VARIANT_Z1013_BL4: case KC_VARIANT_Z1013_SURL: keyboard_handler_rb(); break; default: break; } } void Keyboard0::set_value(byte_t value) { _value = value; keyboard_handler(); } KCemu-0.5.1/src/kc/mod_gdc.cc0000644000175000017500000000442312417262523016043 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/gdc.h" #include "kc/mod_gdc.h" #include "ui/ui.h" #include "ui/generic/ui_0.h" ModuleGDC::ModuleGDC(ModuleGDC &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _portg = NULL; _master = &tmpl; if (_master->get_count() == 0) { _master->set_count(1); gdc = new GDC(); // global in kc.cc _portg = ports->register_ports("GDC", 0x18, 2, gdc, 0); ui->set_mode(UI_0::UI_GENERIC_MODE_GDC); set_valid(true); } else { char buf[1024]; snprintf(buf, sizeof(buf), _("It's not possible to have more than one\n" "module of type %s!"), get_name()); set_error_text(buf); set_valid(false); } } ModuleGDC::ModuleGDC(const char *name) : ModuleInterface(name, 0, KC_MODULE_Z1013) { _portg = NULL; _count = 0; set_valid(true); } ModuleGDC::~ModuleGDC(void) { if (_portg) { _master->set_count(0); ports->unregister_ports(_portg); ui->set_mode(UI_0::UI_GENERIC_MODE_Z1013_32x32); } if (gdc) { delete gdc; gdc = NULL; } } void ModuleGDC::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleGDC::clone(void) { return new ModuleGDC(*this); } void ModuleGDC::reset(bool power_on) { } int ModuleGDC::get_count(void) { return _count; } void ModuleGDC::set_count(int count) { _count = count; } KCemu-0.5.1/src/kc/mod_v24.cc0000644000175000017500000004357412417262523015733 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/mod_v24.h" #include "kc/prefs/prefs.h" #include "libdbg/dbg.h" using namespace std; static ModuleV24 *self; ModuleV24::ModuleV24(ModuleV24 &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()), InterfaceCircuit("ModuleV24") { _reg[A] = 0; _reg[B] = 0; _data_in[A] = 0; _data_in[B] = 0; _reg_rd[A][0] = 0xff; _reg_rd[A][1] = 0xff; _reg_rd[A][2] = 0xff; _reg_rd[B][0] = 0xff; _reg_rd[B][1] = 0xff; _reg_rd[B][2] = 0xff; _irq_active[A] = 0; _irq_active[B] = 0; _irq_pending[A] = 0; _irq_pending[B] = 0; _fd_in[A] = 0; _fd_in[B] = 0; _fd_out[A] = 0; _fd_out[B] = 0; _in_buf_ptr = 0; _socket_name = 0; } ModuleV24::ModuleV24(const char *name, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3), InterfaceCircuit("ModuleV24") { _fd_in[A] = 0; _fd_in[B] = 0; _fd_out[A] = 0; _fd_out[B] = 0; _in_buf_ptr = 0; _socket_name = 0; } ModuleV24::~ModuleV24(void) { close_device(); } byte_t ModuleV24::in(word_t addr) { byte_t val; int port = addr & 0xff; val = 0xff; switch (port) { case 0x80: return get_id(); break; case 0x08: /* SIO channel A - data */ val = _data_in[A]; DBG(2, form("KCemu/ModuleV24/in/data/A", "%04x: in_data: <- sio A 08h <- %0xh\n", z80->getPC(), val)); break; case 0x09: /* SIO channel B - data */ val = _data_in[B]; DBG(2, form("KCemu/ModuleV24/in/data/B", "%04x: in_data: <- sio B 08h <- %0xh\n", z80->getPC(), val)); break; case 0x0a: /* SIO channel A - control */ val = in_reg(A); break; case 0x0b: /* SIO channel B - control */ val = in_reg(B); break; case 0x0c: val = 0xff; DBG(2, form("KCemu/ModuleV24/in", "%04xh: in_reg: <- ctc 0 0ch <- %0xh\n", z80->getPC(), val)); break; case 0x0d: val = 0xff; DBG(2, form("KCemu/ModuleV24/in", "%04x: in_reg: <- ctc 1 0dh <- %0xh\n", z80->getPC(), val)); break; case 0x0e: val = 0xff; DBG(2, form("KCemu/ModuleV24/in", "%04x: in_reg: <- ctc 2 0eh <- %0xh\n", z80->getPC(), val)); break; case 0x0f: val = 0xff; DBG(2, form("KCemu/ModuleV24/in", "%04x: in_reg: <- ctc 3 0eh <- %0xh\n", z80->getPC(), val)); break; } DBG(3, form("KCemu/ModuleV24/in", "%04x: %s: %04x, %02x\n", z80->getPC(), __PRETTY_FUNCTION__, addr, val)); return val; } void ModuleV24::out(word_t addr, byte_t val) { int port = addr & 0xff; DBG(3, form("KCemu/ModuleV24/out", "%s: %04x, %02x\n", __PRETTY_FUNCTION__, addr, val)); switch (port) { case 0x80: if (((_val & 1) ^ (val & 1)) != 1) return; if (val & 1) { open_device(); _portg = ports->register_ports(get_name(), 8, 6, this, (addr >> 8)); } else close_device(); _val = val; break; case 0x08: /* SIO channel A - data */ DBG(2, form("KCemu/ModuleV24/out/data/A", "out_data: sio A 08h: %0xh (io_type = %d)\n", val, _io_type)); if (_fd_out[A] && (_io_type != IO_NONE)) { if (_io_type == IO_FILE) write(_fd_out[A], &val, 1); else send(_fd_out[A], &val, 1, 0); } break; case 0x09: /* SIO channel B - data */ DBG(2, form("KCemu/ModuleV24/out/data/B", "out_data: sio B 09h: %0xh (io_type = %d)\n", val, _io_type)); if (_fd_out[B] && (_io_type != IO_NONE)) { if (_io_type == IO_FILE) write(_fd_out[B], &val, 1); else send(_fd_out[B], &val, 1, 0); } break; case 0x0a: /* SIO channel A - control */ out_reg(A, val); break; case 0x0b: /* SIO channel B - control */ out_reg(B, val); break; case 0x0c: DBG(2, form("KCemu/ModuleV24/out/ctc/0", "out_reg: -> ctc 0 0ch -> %0xh\n", val)); break; case 0x0d: DBG(2, form("KCemu/ModuleV24/out/ctc/1", "out_reg: -> ctc 1 0dh -> %0xh\n", val)); break; case 0x0e: DBG(2, form("KCemu/ModuleV24/out/ctc/2", "out_reg: -> ctc 2 0eh -> %0xh\n", val)); break; case 0x0f: DBG(2, form("KCemu/ModuleV24/out/ctc/3", "out_reg: -> ctc 3 0eh -> %0xh\n", val)); break; } } byte_t ModuleV24::in_reg(int c) { DBG(2, form("KCemu/ModuleV24/in_reg/raw", "in_reg: <- [%d] %02xh <- %d\n", c, _reg_rd[c][_reg[c]], _reg[c])); return _reg_rd[c][_reg[c]]; } void ModuleV24::out_reg(int c, byte_t val) { static const char *wr0_0[] = { "", " next write to register 1\n", " next write to register 2\n", " next write to register 3\n", " next write to register 4\n", " next write to register 5\n", " next write to register 6\n", " next write to register 7\n", }; static const char *wr0_1[] = { "", " send break (SDLC)\n", " reset external and status interrupts\n", " reset channel\n", " reset receive interrupt on first character\n", " reset send interrupt\n", " reset error condition\n", " interrupt return (channel A)\n", }; static const char *wr0_2[] = { "", " reset receiver CRC\n", " reset sender CRC\n", " reset CRC/SYNC status memory\n", }; DBG(2, form("KCemu/ModuleV24/out_reg/raw", "out_reg: -> [%d] %02xh -> %d\n", c, val, _reg[c])); _reg_wr[c][_reg[c]] = val; switch (_reg[c]) { case 0: DBG(1, form("KCemu/ModuleV24/out_reg/reg/wr0", "wr0: [%d] %02xh -> %d\n%s%s%s", c, val, _reg[c], wr0_0[val & 7], wr0_1[(val >> 3) & 7], wr0_2[(val >> 6) & 3])); break; case 1: DBG(1, form("KCemu/ModuleV24/out_reg/reg/wr1", "wr1: [%d] %02xh -> %d\n", c, val, _reg[c])); break; case 2: DBG(1, form("KCemu/ModuleV24/out_reg/reg/wr2", "wr2: [%d] %02xh -> %d\n new interrupt vector: %02x\n", c, val, _reg[c], val)); break; case 3: DBG(1, form("KCemu/ModuleV24/out_reg/reg/wr3", "wr3: [%d] %02xh -> %d\n", c, val, _reg[c])); break; case 4: DBG(1, form("KCemu/ModuleV24/out_reg/reg/wr4", "wr4: [%d] %02xh -> %d\n", c, val, _reg[c])); break; case 5: DBG(1, form("KCemu/ModuleV24/out_reg/reg/wr5", "wr5: [%d] %02xh -> %d\n", c, val, _reg[c])); break; case 6: DBG(1, form("KCemu/ModuleV24/out_reg/reg/wr6", "wr6: [%d] %02xh -> %d\n", c, val, _reg[c])); break; case 7: DBG(1, form("KCemu/ModuleV24/out_reg/reg/wr7", "wr7: [%d] %02xh -> %d\n", c, val, _reg[c])); break; } if (_reg[c] == 0) _reg[c] = val & 7; else _reg[c] = 0; } ModuleInterface * ModuleV24::clone(void) { return new ModuleV24(*this); } void ModuleV24::reset(bool power_on) { _irq_active[A] = 0; _irq_active[B] = 0; } void ModuleV24::reti(void) { _irq_active[B] = 0; _irq_pending[B] = 0; if (!_in_buf_ptr) return; // if (z80->triggerIrq(_reg_wr[B][2])) // { // _irq_active[B] = 1; // _data_in[B] = *_in_buf_ptr++; // if (*_in_buf_ptr == 0) _in_buf_ptr = 0; // z80->handleIrq(_reg_wr[B][2]); // return; // } // else // _irq_pending[B] = 1; } void ModuleV24::push_data(char *buf, int len) { if (_in_buf_ptr) { cerr << "data ignored! ***" << endl; return; } if (_irq_active[B]) { cout << "irq still active!" << endl; return; } strcpy((char *)_in_buf, buf); _in_buf_ptr = _in_buf; // if (z80->triggerIrq(_reg_wr[B][2])) // { // _irq_active[B] = 1; // _data_in[B] = *_in_buf_ptr++; // if (*_in_buf_ptr == 0) _in_buf_ptr = 0; // z80->handleIrq(_reg_wr[B][2]); // return; // } // else // _irq_pending[B] = 1; } void ModuleV24::signal_handler_IO_read(int status) { int a; static char buf[INBUF_LEN]; DBG(1, form("KCemu/ModuleV24/signal", "signal_handler_IO_read\n")); a = read(self->_fd_in[B], buf, INBUF_LEN - 1); buf[a] = '\0'; DBG(2, form("KCemu/ModuleV24/signal/data", "got %d bytes: '%s'\n", a, buf)); self->push_data(&buf[0], a); } void ModuleV24::signal_handler_IO_recv(int status) { int a; static char buf[INBUF_LEN]; DBG(1, form("KCemu/ModuleV24/signal", "signal_handler_IO_recv\n")); a = recv(self->_fd_in[B], buf, INBUF_LEN, 0); buf[a] = '\0'; DBG(2, form("KCemu/ModuleV24/signal/data", "got %d bytes: '%s'\n", a, buf)); self->push_data(&buf[0], a); } void ModuleV24::set_signal_handler(int fd, void (*sig_func)(int)) { struct sigaction saio; DBG(1, form("KCemu/ModuleV24/signal", "setting signal handler for fd = %d\n", fd)); memset(&saio, 0, sizeof(saio)); if (fcntl(fd, F_SETOWN, getpid()) < 0) cerr << "can't set owner on filedescriptor " << fd << " to " << getpid() << endl; if (fcntl(fd, F_SETFL, FASYNC) < 0) cerr << "can't set FASYNC flag on filedescriptor " << fd << endl; self = this; saio.sa_handler = sig_func; sigemptyset(&saio.sa_mask); saio.sa_flags = 0; sigaction(SIGIO, &saio, (struct sigaction *)NULL); } bool ModuleV24::open_device_serial(int dev, const char *dev_name) { int baudrate = Preferences::instance()->get_int_value("v24_baudrate", 2400); _fd_in[dev] = open(dev_name, O_RDWR | O_NOCTTY | O_NONBLOCK); if (_fd_in[dev] == 0) return false; _fd_out[dev] = _fd_in[dev]; set_signal_handler(_fd_in[dev], signal_handler_IO_read); tcgetattr(_fd_in[dev], &_tio_old[dev]); bzero(&_tio_new[dev], sizeof(_tio_new[dev])); /* * BAUDRATE: Set bps rate. You could also use cfsetispeed and cfsetospeed. * CRTSCTS : output hardware flow control (only used if the cable has * all necessary lines. See sect. 7 of Serial-HOWTO) * CS8 : 8n1 (8bit,no parity,1 stopbit) * CLOCAL : local connection, no modem contol * CREAD : enable receiving characters */ _tio_new[dev].c_cflag = CRTSCTS | CS8 | CLOCAL | CREAD; switch (baudrate) { case 50: _tio_new[dev].c_cflag |= B50 ; break; case 75: _tio_new[dev].c_cflag |= B75 ; break; case 110: _tio_new[dev].c_cflag |= B110 ; break; case 134: _tio_new[dev].c_cflag |= B134 ; break; case 150: _tio_new[dev].c_cflag |= B150 ; break; case 200: _tio_new[dev].c_cflag |= B200 ; break; case 300: _tio_new[dev].c_cflag |= B300 ; break; case 600: _tio_new[dev].c_cflag |= B600 ; break; case 1200: _tio_new[dev].c_cflag |= B1200 ; break; case 1800: _tio_new[dev].c_cflag |= B1800 ; break; case 2400: _tio_new[dev].c_cflag |= B2400 ; break; case 4800: _tio_new[dev].c_cflag |= B4800 ; break; case 9600: _tio_new[dev].c_cflag |= B9600 ; break; case 19200: _tio_new[dev].c_cflag |= B19200; break; case 38400: _tio_new[dev].c_cflag |= B38400; break; default: baudrate = 9600; _tio_new[dev].c_cflag |= B9600 ; break; } DBG(1, form("KCemu/ModuleV24/open", "ModuleV24::open_device_serial(): device = '%s', baudrate = %d\n", dev_name, baudrate)); /* * IGNPAR : ignore bytes with parity errors * ICRNL : map CR to NL (otherwise a CR input on the other computer * will not terminate input) * otherwise make device raw (no other input processing) */ _tio_new[dev].c_iflag = IGNPAR | ICRNL; _tio_new[dev].c_iflag = IGNPAR; /* * Raw output. */ _tio_new[dev].c_oflag = 0; /* * ICANON : enable canonical input * disable all echo functionality, and don't send signals to calling program */ _tio_new[dev].c_lflag = ICANON; _tio_new[dev].c_lflag = 0; _tio_new[dev].c_cc[VMIN]=1; _tio_new[dev].c_cc[VTIME]=0; tcflush(_fd_in[dev], TCIFLUSH); tcsetattr(_fd_in[dev], TCSANOW, &_tio_new[dev]); return true; } void ModuleV24::fifo_server(int fd) { int ret, len, fd_read, fd_read_w, fd_write, fd_write_r; struct pollfd pollfds[1]; char buf[1025]; DBG(1, form("KCemu/ModuleV24/server", "ModuleV24::fifo_server() fd = %d\n", fd)); if (unlink("/tmp/KCemu-FIFO-in") != 0) perror("unlink"); if (unlink("/tmp/KCemu-FIFO-out") != 0) perror("unlink"); if (mkfifo("/tmp/KCemu-FIFO-in", 0600) != 0) { perror("can't create FIFO"); exit(1); } if (mkfifo("/tmp/KCemu-FIFO-out", 0600) != 0) { perror("can't create FIFO"); exit(1); } fd_read = open("/tmp/KCemu-FIFO-in", O_RDONLY | O_NONBLOCK); if (fd_read < 0) { perror("open (read)"); exit(1); } /* * open the fifo for writing too to keep it open if the * external writer closes it's side of the fifo */ fd_read_w = open("/tmp/KCemu-FIFO-in", O_WRONLY | O_NONBLOCK); fd_write_r = open("/tmp/KCemu-FIFO-out", O_RDONLY | O_NONBLOCK); fd_write = open("/tmp/KCemu-FIFO-out", O_WRONLY | O_NONBLOCK); if (fd_write < 0) { perror("open (write)"); exit(1); } while (242) { pollfds[0].fd = fd_read; pollfds[0].events = POLLIN; pollfds[0].revents = 0; pollfds[1].fd = fd; pollfds[1].events = POLLIN; pollfds[1].revents = 0; if ((ret = poll(pollfds, 2, -1)) < 0) exit(2); if ((pollfds[0].revents & POLLIN) == POLLIN) { len = read(fd_read, buf, 1024); if (len == 0) { cerr << "ModuleV24::fifo_server(): read error" << endl; exit(1); } send(fd, buf, len, 0); } if ((pollfds[1].revents & POLLIN) == POLLIN) { len = read(fd, buf, 1024); write(fd_write, buf, len); } } } void ModuleV24::socket_server(int fd) { int s, c, len; char buf[1024]; unsigned int cli_addr_len; struct sockaddr_un unix_addr, cli_addr; _socket_name = tempnam("/tmp", "KCemu"); if (_socket_name == NULL) exit(1); _socket_name = strdup("/tmp/KCemu-in"); s = socket(AF_UNIX, SOCK_STREAM, 0); if (s < 0) exit(2); bzero((char *)&unix_addr, sizeof(unix_addr)); unix_addr.sun_family = AF_UNIX; strcpy(unix_addr.sun_path, _socket_name); len = strlen(unix_addr.sun_path) + sizeof(unix_addr.sun_family); unlink(_socket_name); if (bind(s, (struct sockaddr *)&unix_addr, len) != 0) exit(3); if (listen(s, 5) != 0) exit(4); while (242) { if ((c = accept(s, (struct sockaddr *)&cli_addr, &cli_addr_len)) < 0) continue; while (242) { len = recv(c, buf, 1024, 0); if (len == 0) break; send(fd, buf, len, 0); } } } bool ModuleV24::open_device_socket_or_fifo(io_type_t io_type) { int fd[2]; /* * we use a pair of sockets for to communicate with the * child process, fd[0] is used by the server, fd[1] by * the child process */ if (socketpair(AF_UNIX, SOCK_STREAM, 0, fd) != 0) return false; _pid = fork(); if (_pid < 0) return false; if (_pid > 0) { _fd_in[A] = fd[0]; _fd_out[A] = fd[0]; set_signal_handler(_fd_in[A], signal_handler_IO_recv); return true; } if (io_type == IO_FIFO) fifo_server(fd[1]); else socket_server(fd[1]); return true; } void ModuleV24::open_device(void) { bool ret; const char *s; const char *dev_name; dev_name = Preferences::instance()->get_string_value("v24_device", "/dev/ttyS1"); _io_type = IO_NONE; if (strcmp(dev_name, "SOCKET") == 0) { _io_type = IO_SOCKET; ret = open_device_socket_or_fifo(IO_SOCKET); } else if (strcmp(dev_name, "FIFO") == 0) { _io_type = IO_FIFO; ret = open_device_socket_or_fifo(IO_FIFO); } else { _io_type = IO_FIFO; ret = open_device_serial(B, dev_name); } if (!ret) return; z80->register_ic(this); s = "\r\nKCemu v" KCEMU_VERSION " - V24 module active\r\n\r\n"; write(_fd_out[B], s, strlen(s)); } void ModuleV24::close_device(void) { if (_socket_name != 0) { unlink(_socket_name); free(_socket_name); } if (_fd_in[A] != 0) { tcsetattr(_fd_in[A] , TCSANOW, &_tio_old[A]); close(_fd_in[A]); close(_fd_out[A]); } z80->unregister_ic(this); } void ModuleV24::m_out(word_t addr, byte_t val) { } KCemu-0.5.1/src/kc/z80.cc0000644000175000017500000002445712417262523015101 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/daisy.h" #include "kc/timer.h" #include "kc/ports.h" #include "kc/memory.h" #include "kc/z80_fdc.h" #include "kc/cb_list.h" #include "sys/sysdep.h" #include "cmd/cmd.h" #include "ui/ui.h" #include "libdbg/dbg.h" using namespace std; static Z80 *self; // for the signal handler static void signalHandler(int sig); #if 0 unsigned long long rdtsc(void) { union { struct { unsigned long lo; unsigned long hi; } l; unsigned long long ll; } ret; __asm__ volatile ("rdtsc" : "=a" (ret.l.lo), "=d" (ret.l.hi)); return ret.ll; } #endif class CMD_single_step : public CMD { private: Z80 *_z80; public: CMD_single_step(Z80 *z80) : CMD("z80-single-step") { _z80 = z80; register_cmd("z80-single-step-on", 0); register_cmd("z80-single-step-off", 1); register_cmd("z80-single-step-toggle", 2); register_cmd("z80-execute-step", 3); register_cmd("z80-trace-on", 4); register_cmd("z80-trace-off", 5); register_cmd("z80-trace-toggle", 6); register_cmd("z80-trace-set-delay", 7); } void execute(CMD_Args *args, CMD_Context context) { switch (context) { case 0: z80->singlestep(true); break; case 1: z80->singlestep(false); break; case 2: z80->singlestep(!z80->singlestep()); break; case 3: z80->executestep(); break; case 4: z80->trace(true); break; case 5: z80->trace(false); break; case 6: z80->trace(!z80->trace()); break; case 7: if (args) { long delay = 1000 * args->get_long_arg("delay"); z80->tracedelay(delay); } break; } } }; Z80::Z80(void) { self = this; _context = z80ex_create(z80ex_mread_cb, this, z80ex_mwrite_cb, this, z80ex_pread_cb, this, z80ex_pwrite_cb, this, z80ex_intread_cb, this); z80ex_set_reti_callback(_context, z80ex_reti_cb, this); z80ex_reset(_context); const EmulationType &emulation_type = Preferences::instance()->get_system_type()->get_emulation_type(); z80ex_set_reg(_context, regPC, emulation_type.get_power_on_addr()); /* * FIXME: at least z1013 emulation breaks with the stackpointer * FIXME: initialized with 0xf000; the CP/M bootlader BL4 will * FIXME: overwrite it's own stack when clearing the screen :-( */ z80ex_set_reg(_context, regSP, 0x0000); _counter = 0; _debug = false; _trace = false; _singlestep = false; _executestep = false; _enable_floppy_cpu = false; _tracedelay = 100000; _irq_line = 0; _irq_mask = 1; _do_quit = false; } #if 0 static void print_regs(_Z80 *r) { int c1, c2; z80->printPC(); cout << "a=" << setw(2) << setfill('0') << hex << r->AF.B.l << ", bc=" << setw(4) << setfill('0') << hex << r->BC.W << ", de=" << setw(4) << setfill('0') << hex << r->DE.W << ", hl=" << setw(4) << setfill('0') << hex << r->HL.W << endl; c1 = RdZ80(r->DE.W) & 0xff; c2 = RdZ80(r->HL.W) & 0xff; cout << "(de)=" << setw(2) << setfill('0') << hex << c1 << " '" << (isprint(c1) ? c1 : '.') << "' " << "(hl)=" << setw(2) << setfill('0') << hex << c2 << " '" << (isprint(c2) ? c2 : '.') << "'" << endl; } #endif void Z80::executestep(void) { _executestep = true; } void Z80::singlestep(bool value) { _singlestep = value; } bool Z80::singlestep() { return _singlestep; } bool Z80::run(void) { int a; CMD *cmd; signal(SIGINT, signalHandler); if (timer) timer->start(); cmd = new CMD_single_step(this); a = 0; while (!_do_quit) { // if (DBG_check("KCemu/Z80core/trace")) // debug(true); //if (_regs.PC.W <= 0x8000) //z80->printPC(); cout << endl; //if (_regs.PC.W == 0x0170) //z80->debug(true); if (_singlestep) { ui->update(true); if (!_executestep) { sys_usleep(100000); continue; } CMD_EXEC("single-step-executed"); _executestep = false; } else if (_trace) { ui->update(); CMD_EXEC("single-step-executed"); sys_usleep(_tracedelay); } if (_debug) { int addr = getPC(); char buf[80]; int t, t2; int base_addr; printf("%04X: ", addr); addr += z80ex_dasm(buf, 80, 0, &t, &t2, z80ex_dasm_readbyte_cb, addr, &base_addr); printf("%-15s t=%d", buf, t); if (t2) printf("/%d", t2); printf("\n"); } int tstates = z80ex_step(_context); if (_irq_line && z80ex_int_possible(_context)) { word_t irq = daisy->irq_ack(); if (irq != IRQ_NOT_ACK) { _next_irq = (byte_t)irq; z80ex_int(_context); } } if (_enable_floppy_cpu && fdc_z80) fdc_z80->execute(); _counter += tstates; _cb_list.run_callbacks(_counter); } return false; } void Z80::quit(void) { _do_quit = true; } void Z80::addCallback(unsigned long long offset, Callback *cb, void *data) { _cb_list.add_callback(getCounter() + offset, cb, data); } void Z80::remove_callback_listener(Callback *cb) { _cb_list.remove_callback_listener(cb); } bool Z80::debug(void) { return _debug; } void Z80::debug(bool value) { _debug = value; if (_enable_floppy_cpu && fdc_z80) fdc_z80->trace(value); } bool Z80::trace(void) { return _trace; //return _regs.Trace; } void Z80::trace(bool value) { _trace = value; //if (level < 0) level = 0; //_regs.Trace = level; } void Z80::tracedelay(long delay) { _tracedelay = delay; } void Z80::reset(word_t pc, bool power_on) { _cb_list.clear(); for (ic_list_t::iterator it = _ic_list.begin();it != _ic_list.end();it++) (*it)->reset(power_on); module->reset(power_on); z80ex_reset(_context); z80ex_set_reg(_context, regPC, pc); /* * FIXME: at least z1013 emulation breaks with the stackpointer * FIXME: initialized with 0xf000; the CP/M bootlader BL4 will * FIXME: overwrite it's own stack when clearing the screen :-( */ z80ex_set_reg(_context, regSP, 0x0000); halt_floppy_cpu(power_on); if (timer) timer->start(); } void Z80::reset(void) { const EmulationType &emulation_type = Preferences::instance()->get_system_type()->get_emulation_type(); reset(emulation_type.get_reset_addr(), false); } void Z80::power_on(void) { const EmulationType &emulation_type = Preferences::instance()->get_system_type()->get_emulation_type(); reset(emulation_type.get_power_on_addr(), true); } void Z80::jump(word_t pc) { z80ex_set_reg(_context, regPC, pc); } void Z80::register_ic(InterfaceCircuit *h) { _ic_list.push_back(h); } void Z80::unregister_ic(InterfaceCircuit *h) { _ic_list.remove(h); } dword_t Z80::get_irq_mask(void) { dword_t val = _irq_mask; if (val == 0) { DBG(0, form("KCemu/warning", "get_irq_mask(): too many interrupt sources!\n")); } _irq_mask <<= 1; return val; } void Z80::set_irq_line(dword_t mask) { dword_t irq_line = _irq_line | mask; DBG(2, form("KCemu/Z80/irq", "set_irq_line(): %04x: %04x -> %04x\n", mask, _irq_line, irq_line)); _irq_line = irq_line; } void Z80::reset_irq_line(dword_t mask) { _irq_line = _irq_line & (~mask); DBG(2, form("KCemu/Z80/irq", "reset_irq_line(): %04x -> %04x\n", mask, _irq_line)); } void Z80::reti(void) { daisy->reti(); } void Z80::nmi(void) { z80ex_nmi(_context); } void Z80::printPC(void) { cout << setw(4) << setfill('0') << hex << getPC() << "h: "; } void Z80::start_floppy_cpu(void) { if (fdc_z80) { fdc_z80->reset(); _enable_floppy_cpu = true; } } void Z80::halt_floppy_cpu(bool power_on) { if (fdc_z80) { fdc_z80->reset(power_on); _enable_floppy_cpu = false; } } Z80EX_BYTE Z80::z80ex_dasm_readbyte_cb(Z80EX_WORD addr, void *user_data) { return memory->memRead8(addr); } Z80EX_BYTE Z80::z80ex_mread_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD addr, int m1_state, void *user_data) { return memory->memRead8(addr); } void Z80::z80ex_mwrite_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD addr, Z80EX_BYTE value, void *user_data) { memory->memWrite8(addr, value); } Z80EX_BYTE Z80::z80ex_pread_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD port, void *user_data) { byte_t value; value = ports->in(port); DBG(2, form("KCemu/Z80/pread_cb", "Z80::z80ex_pread_cb(): %04x -> %02x\n", port, value)); return value; } void Z80::z80ex_pwrite_cb(Z80EX_CONTEXT *cpu, Z80EX_WORD port, Z80EX_BYTE value, void *user_data) { DBG(2, form("KCemu/Z80/pwrite_cb", "Z80::z80ex_pwrite_cb(): %04x -> %02x\n", port, value)); ports->out(port, value); } Z80EX_BYTE Z80::z80ex_intread_cb(Z80EX_CONTEXT *cpu, void *user_data) { Z80 *z80 = (Z80 *)user_data; DBG(2, form("KCemu/Z80/intread_cb", "Z80::z80ex_intread_cb(): %02x\n", z80->_next_irq)); return z80->_next_irq; } void Z80::z80ex_reti_cb(Z80EX_CONTEXT *cpu, void *user_data) { Z80 *z80 = (Z80 *)user_data; DBG(2, form("KCemu/Z80/reti_cb", "Z80::z80ex_reti_cb(): RETI\n")); z80->reti(); } static void signalHandler(int sig) { static bool flag = false; cout << "\n *** signal caught (" << sig << ") ***\n\n"; signal(sig, signalHandler); flag = !flag; self->debug(flag); } KCemu-0.5.1/src/kc/vcs80/0000755000175000017500000000000012417262523015100 5ustar glaubitzglaubitzKCemu-0.5.1/src/kc/vcs80/Makefile.am0000644000175000017500000000026712417262523017141 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libvcs80.a AM_CPPFLAGS = -I../../../include libvcs80_a_SOURCES = \ pio.cc \ memory.cc \ keyboard.cc KCemu-0.5.1/src/kc/vcs80/memory.cc0000644000175000017500000000450012417262523016716 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/vcs80/memory.h" using namespace std; MemoryVCS80::MemoryVCS80(void) : Memory() { load_rom(SystemROM::ROM_KEY_SYSTEM, &_rom); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_rom, "Monitor", 0x0000, 0x0400, &_rom[0], 1, 1, 1, -1 }, { &_m_ram, "RAM", 0x0400, 0x0400, &_ram[0], 1, 0, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); } MemoryVCS80::~MemoryVCS80(void) { z80->unregister_ic(this); delete _m_scr; delete _m_rom; delete _m_ram; } byte_t MemoryVCS80::memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void MemoryVCS80::memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * MemoryVCS80::get_irm(void) { return 0; } byte_t * MemoryVCS80::get_char_rom(void) { return 0; } void MemoryVCS80::reset(bool power_on) { if (!power_on) return; scratch_mem(&_ram[0], 0x0400); } void MemoryVCS80::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } KCemu-0.5.1/src/kc/vcs80/keyboard.cc0000644000175000017500000000475312417262523017220 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/keys.h" #include "kc/vcs80/keydef.h" #include "kc/vcs80/keyboard.h" #include "cmd/cmd.h" #include "libdbg/dbg.h" KeyboardVCS80::KeyboardVCS80(void) { init(); z80->register_ic(this); } KeyboardVCS80::~KeyboardVCS80(void) { z80->unregister_ic(this); } void KeyboardVCS80::init(void) { _key = 0; } int KeyboardVCS80::decode_key(int keysym, bool press) { return __keys[keysym]; } void KeyboardVCS80::keyPressed(int keysym, int keycode) { if (_key != 0) return; _key = decode_key(keysym, true); DBG(2, form("KCemu/keyboard/vcs80/key_press", "##### Keyboard: keyPressed [%03x/%02x] {%02x}\n", keysym, keycode, _key)); } void KeyboardVCS80::keyReleased(int keysym, int keycode) { DBG(2, form("KCemu/keyboard/vcs80/key_released", "##### Keyboard: keyReleased [%03x/%02x] {%02x}\n", keysym, keycode, _key)); _key = 0; if (keysym == 0x1b) CMD_EXEC("emu-reset"); } void KeyboardVCS80::replayString(const char *text) { } void KeyboardVCS80::callback(void *data) { } void KeyboardVCS80::reset(bool power_on) { init(); } void KeyboardVCS80::reti(void) { } int KeyboardVCS80::callback_A_in(void) { static bool recursion = false; // HACK to prevent recursive callback :-( if (recursion) return -1; if (_key == 0) return -1; recursion = true; int row = pio->in_A_DATA() & 7; recursion = false; if (row == (_key & 7)) pio->set_A_EXT(0x70, ~(_key & 0x70)); else pio->set_A_EXT(0x70, 0x70); return -1; } int KeyboardVCS80::callback_B_in(void) { return -1; } KCemu-0.5.1/src/kc/vcs80/pio.cc0000644000175000017500000000400612417262523016176 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/vcs80/pio.h" #include "libdbg/dbg.h" PIOVCS80::PIOVCS80(void) { } PIOVCS80::~PIOVCS80(void) { } byte_t PIOVCS80::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_B_CTRL(); break; case 1: val = in_A_CTRL(); break; case 2: set_B_EXT(0x80, (~(addr & 1)) << 7); val = in_B_DATA(); break; case 3: val = in_A_DATA(); break; } DBG(2, form("KCemu/PIO/vcs80/in", "PIOVCS80::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIOVCS80::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/vcs80/out", "PIOVCS80::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_B_CTRL(val); break; case 1: out_A_CTRL(val); break; case 2: out_B_DATA(val); break; case 3: out_A_DATA(val); break; } } void PIOVCS80::change_A(byte_t changed, byte_t val) { } void PIOVCS80::change_B(byte_t changed, byte_t val) { } KCemu-0.5.1/src/kc/mod_urom.cc0000644000175000017500000000255212417262523016271 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_urom.h" #include "libdbg/dbg.h" using namespace std; ModuleUserROM::ModuleUserROM(ModuleUserROM &tmpl) : ModuleROM(tmpl) { } ModuleUserROM::ModuleUserROM(const char *filename, const char *name, dword_t size, byte_t id) : ModuleROM(filename, name, size, id) { } ModuleUserROM::~ModuleUserROM(void) { } word_t ModuleUserROM::get_addr(byte_t val) { return (val & 0xe0) << 8; } ModuleInterface * ModuleUserROM::clone(void) { return new ModuleUserROM(*this); } KCemu-0.5.1/src/kc/mod_rom1.cc0000644000175000017500000000662112417262523016166 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/memory1.h" #include "kc/memory7.h" #include "kc/mod_rom1.h" using namespace std; ModuleROM1::ModuleROM1(ModuleROM1 &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _group = NULL; _addr = tmpl._addr; _size = tmpl._size; _set_romdi = tmpl._set_romdi; _rom = new byte_t[_size]; if (_rom) { memcpy(_rom, tmpl._rom, _size); set_valid(true); _group = memory->register_memory(get_name(), _addr, _size, _rom, 0, true); /* * FIXME: make common base class for Memory1 and Memory7 */ if (_set_romdi) { switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: ((Memory1 *)memory)->register_romdi_handler(this); break; case KC_TYPE_87: ((Memory7 *)memory)->register_romdi_handler(this); break; default: break; } set_romdi(true); } } } ModuleROM1::ModuleROM1(const char *filename, const char *name, word_t addr, dword_t size, bool set_romdi) : ModuleInterface(name, 0, KC_MODULE_KC_85_1) { _group = NULL; _addr = addr; _set_romdi = set_romdi; _size = (size + 0x3ff) & 0xfc00; _rom = new byte_t[_size]; memset(_rom, 0xff, _size); set_valid(Memory::load_rom(filename, _rom, size, false)); } ModuleROM1::~ModuleROM1(void) { /* * FIXME: make common base class for Memory1 and Memory7 */ if (_set_romdi) { set_romdi(false); switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: ((Memory1 *)memory)->unregister_romdi_handler(this); break; case KC_TYPE_87: ((Memory7 *)memory)->unregister_romdi_handler(this); break; default: break; } } if (_group) memory->unregister_memory(_group); delete[] _rom; } bool ModuleROM1::is_active(void) { return _group->is_active(); } void ModuleROM1::set_active(bool active) { _group->set_active(active); memory->reload_mem_ptr(); } void ModuleROM1::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleROM1::clone(void) { return new ModuleROM1(*this); } void ModuleROM1::reset(bool power_on) { set_romdi(_set_romdi); } void ModuleROM1::set_romdi(bool val) { _set_romdi = val; switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: ((Memory1 *)memory)->set_romdi(val); break; case KC_TYPE_87: ((Memory7 *)memory)->set_romdi(val); break; default: break; } } void ModuleROM1::romdi(bool val) { } KCemu-0.5.1/src/kc/memory0.cc0000644000175000017500000001230112417262523016031 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/memory0.h" #include "ui/ui.h" #include "ui/generic/ui_0.h" using namespace std; Memory0::Memory0(void) : Memory() { load_rom(SystemROM::ROM_KEY_SYSTEM, &_rom); load_rom(SystemROM::ROM_KEY_CHARGEN, &_chr); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_ram, "RAM", 0x0000, 0x04000, &_ram[0x0000], 10, 0, 1, KC_VARIANT_Z1013_01 }, { &_m_ram, "RAM", 0x0000, 0x00400, &_ram[0x0000], 10, 0, 1, KC_VARIANT_Z1013_12 }, { &_m_ram, "RAM", 0x0000, 0x04000, &_ram[0x0000], 10, 0, 1, KC_VARIANT_Z1013_16 }, { &_m_ram, "RAM", 0x0000, 0x10000, &_ram[0x0000], 10, 0, 1, KC_VARIANT_Z1013_64 }, { &_m_ram, "RAM", 0x0000, 0x10000, &_ram[0x0000], 10, 0, 1, KC_VARIANT_Z1013_A2 }, { &_m_ram, "RAM", 0x0000, 0x10000, &_ram[0x0000], 10, 0, 1, KC_VARIANT_Z1013_RB }, { &_m_ram, "RAM", 0x0000, 0x0ec00, &_ram[0x0000], 10, 0, 1, KC_VARIANT_Z1013_SURL }, { &_m_ram_f0, "RAM-F0", 0xf000, 0x00800, &_ram[0xf000], 10, 0, 1, KC_VARIANT_Z1013_SURL }, { &_m_ram_f8, "RAM-F8", 0xf800, 0x00800, &_ram[0xf800], 10, 0, 1, KC_VARIANT_Z1013_SURL }, { &_m_ram, "RAM", 0x0000, 0x0ec00, &_ram[0x0000], 10, 0, 1, KC_VARIANT_Z1013_BL4 }, { &_m_ram_f0, "RAM-F0", 0xf000, 0x00800, &_ram[0xf000], 10, 0, 1, KC_VARIANT_Z1013_BL4 }, { &_m_ram_f8, "RAM-F8", 0xf800, 0x00800, &_ram[0xf800], 10, 0, 1, KC_VARIANT_Z1013_BL4 }, { &_m_irm, "IRM", 0xec00, 0x00400, &_irm[0x0000], 0, 0, 1, -1 }, { &_m_rom, "ROM", 0xf000, 0x00800, &_rom[0x0000], 0, 1, 1, -1 }, { &_m_rom_f8, "ROM", 0xf800, 0x00800, &_rom[0x0800], 0, 1, 1, KC_VARIANT_Z1013_RB }, { &_m_rom_f8, "ROM", 0xf800, 0x00800, &_rom[0x0800], 0, 1, 1, KC_VARIANT_Z1013_BL4 }, { 0, }, }; init_memory_groups(mem); switch (Preferences::instance()->get_kc_variant()) { case KC_VARIANT_Z1013_SURL: _portg = ports->register_ports("MEMORY0", 4, 1, this, 0); break; case KC_VARIANT_Z1013_BL4: _portg = ports->register_ports("MEMORY0", 4, 1, this, 0); break; default: _portg = NULL; break; } reset(true); z80->register_ic(this); } Memory0::~Memory0(void) { if (_portg) ports->unregister_ports(_portg); z80->unregister_ic(this); } byte_t Memory0::memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void Memory0::memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * Memory0::get_irm(void) { return (byte_t *)_irm; } byte_t * Memory0::get_char_rom(void) { if (_val & 0x20) return _chr + 2048; return _chr; } void Memory0::reset(bool power_on) { out(4, 0); if (!power_on) return; memset(&_ram[0], 0, 0x10000); //scratch_mem(&_ram[0], 0x10000); } void Memory0::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } byte_t Memory0::in(word_t addr) { _val &= 0x90; return _val; } void Memory0::out(word_t addr, byte_t val) { port_04(_val ^ val, val); _val = val; } /* * bit 7 - switch screen mode 32x32 (0) / 64x16 (1) * bit 6 - switch clock frequency 2 MHz (0) / 4 MHz (1) * bit 5 - switch character rom normal (0) / with umlauts, invers (1) * bit 4 - switch monitor rom on (0) / off (1) */ void Memory0::port_04(byte_t changed, byte_t val) { if (changed & 0x80) { if (ui->get_mode() != UI_0::UI_GENERIC_MODE_GDC) { if (val & 0x80) ui->set_mode(UI_0::UI_GENERIC_MODE_Z1013_64x16); else ui->set_mode(UI_0::UI_GENERIC_MODE_Z1013_32x32); } } if (changed & 0x10) { bool rom = val & 0x10; if (_m_rom) _m_rom->set_active(!rom); if (_m_rom_f8) _m_rom_f8->set_active(!rom); reload_mem_ptr(); } #if 0 bool ram_f0 = val & 0x04; bool ram_f8 = val & 0x02; if (_m_ram_f0) _m_ram_f0->set_readonly(!ram_f0); if (_m_ram_f8) _m_ram_f8->set_readonly(!ram_f8); #endif } KCemu-0.5.1/src/kc/sound3.cc0000644000175000017500000001004612417262523015660 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/ctc.h" #include "kc/sound3.h" #include "libdbg/dbg.h" #define SOUND_BUFFER_SIZE (1024) #define SOUND_SAMPLE_FREQ (44100) #define SYNC_COUNTER (10) void Sound3::sound_callback(void *userdata, unsigned char *stream, int len) { sndop *op = NULL; Sound3 *self = (Sound3 *)userdata; long long cur, diff, idx; static long long counter = 0; static int val = 1; static int xxx = 0; static int freq = 0; cur = z80->getCounter(); if (counter == 0) { counter = cur; memset(stream, 0, len); return; } diff = cur - counter; int a = 0; if (!self->_sndop_list.empty()) op = *(self->_sndop_list.begin()); while (a < len) { idx = counter + (a * diff) / len; if (op && (idx > op->_counter)) { freq = (int)op->_freq; if (freq > SOUND_SAMPLE_FREQ) { xxx = 0; freq = 0; val = -val; } //cout << a << " - " << op->_counter << " / " << op->_freq << endl; self->_sndop_list.pop_front(); op = NULL; if (self->_sndop_list.size() > 0) op = *(self->_sndop_list.begin()); if (xxx == 0) if (freq != 0) xxx = SOUND_SAMPLE_FREQ / freq; } if (freq == 0) stream[a] = 128; else stream[a] = 128 + 80 * val; if (xxx > 0) if (--xxx == 0) { val = -val; if (freq != 0) xxx = SOUND_SAMPLE_FREQ / freq; } a++; } counter = cur; } Sound3::Sound3(void) { } Sound3::~Sound3(void) { delete _dummy_sndop; } void Sound3::init() { open_sound(); ctc->register_callback(0, this); pio->register_callback_B_out(this); _playing = true; _dummy_sndop = new sndop(0, 0); _last_sndop = _dummy_sndop; } void Sound3::start() { double freq = (1750000.0 / 2) / ctc->getTimerValue(0); if (_last_sndop->_freq != freq) { //cout << "sound: start [1]: " << z80->getCounter() << endl; _last_sndop = new sndop(z80->getCounter(), freq); _sndop_list.push_back(_last_sndop); } } void Sound3::stop() { //cout << "sound: stop [1]: " << z80->getCounter() << endl; if (_last_sndop->_freq != 0) { //cout << "sound: stop [2]: " << z80->getCounter() << endl; _last_sndop = new sndop(z80->getCounter(), 0); _sndop_list.push_back(_last_sndop); } } void Sound3::callback_B_out(byte_t val) { if (((val & 1) == 1) && ((val & 0x0e) != 0x0e) && !ctc->isReset(0)) start(); else stop(); } void Sound3::ctc_callback_start(int channel) { if (channel != 0) return; if (ctc->getTimerValue(channel) == 0) return; //printf("Sound3::ctc_callback_start()\n"); start(); } void Sound3::ctc_callback_stop(int channel) { if (channel != 0) return; stop(); } void Sound3::ctc_callback_TC(int channel, long tc) { double freq; switch (channel) { case 0: freq = (1750000.0 / 2) / tc; //printf("%04xh: Sound3::cb_TC() - %10Ld - %12.2f\n", z80->getPC(), z80->getCounter(), freq); if (_last_sndop->_freq != freq) { _last_sndop = new sndop(z80->getCounter(), freq); _sndop_list.push_back(_last_sndop); } break; default: break; } } KCemu-0.5.1/src/kc/ctc1.cc0000644000175000017500000000452612417262523015305 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/ctc1.h" #include "kc/tape.h" #include "libdbg/dbg.h" CTC1::CTC1(void) { _last_irq_0 = 0; } CTC1::~CTC1(void) { } byte_t CTC1::in(word_t addr) { DBG(2, form("KCemu/CTC/1/in", "CTC1::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return c_in(0); case 1: return c_in(1); case 2: return c_in(2); case 3: return c_in(3); } return 0; // shouldn't be reached } void CTC1::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/1/out", "CTC1::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTC1::irq_0(void) { unsigned long diff; unsigned long long c; c = z80->getCounter(); diff = (unsigned long)(c - _last_irq_0); _last_irq_0 = c; if (diff > 3000) return false; tape->tape_signal(); _last_irq_0 = c; return false; } bool CTC1::irq_1(void) { return false; } bool CTC1::irq_2(void) { trigger(3); return false; } bool CTC1::irq_3(void) { return false; } long CTC1::counter_value_0(void) { return 0; } long CTC1::counter_value_1(void) { return 0; } long CTC1::counter_value_2(void) { return 0; } long CTC1::counter_value_3(void) { return 0; } KCemu-0.5.1/src/kc/ports.cc0000644000175000017500000000676112417262523015625 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/ports.h" #include "libdbg/dbg.h" using namespace std; NullPort::NullPort(const char *name) { _name = strdup(name); } NullPort::~NullPort(void) { free(_name); } byte_t NullPort::in(word_t addr) { byte_t val = 0xff; DBG(2, form("KCemu/Ports/NullPort/in", "%s: in() addr = %04x (returning %02x)\n", _name, addr, val)); return val; } void NullPort::out(word_t addr, byte_t val) { DBG(2, form("KCemu/Ports/NullPort/out", "%s: out() addr = %04x, val = %02x\n", _name, addr, val)); } PortGroup::PortGroup(const char *name, PortInterface *p, byte_t start, word_t len, int prio) { _p = p; _start = start; _len = len; _prio = prio; _name = strdup(name); _active = true; } PortGroup::~PortGroup(void) { free(_name); } Ports::Ports(void) { } Ports::~Ports(void) { } void Ports::insert(port_list_t *l, PortGroup *group) { int prio; port_list_t::iterator it; prio = group->get_prio(); for (it = l->begin();it != l->end();it++) if ((*it)->get_prio() > prio) break; l->insert(it, group); } PortGroup * Ports::register_ports(const char *name, byte_t start, word_t len, PortInterface *p, int prio) { int a; PortGroup *portg = new PortGroup(name, p, start, len, prio); for (a = start;a < (len + start);a++) insert(&_port_list[a], portg); reload_prt_ptr(); return portg; } void Ports::unregister_ports(PortGroup *p) { int a; for (a = p->get_start();a < (p->get_len() + p->get_start());a++) _port_list[a].remove(p); reload_prt_ptr(); } void Ports::reload_prt_ptr(void) { port_list_t::iterator it; for (int a = 0;a < NR_PORTS;a++) { for (it = _port_list[a].begin();it != _port_list[a].end();it++) if ((*it)->is_active()) { _port_ptr[a] = (*it)->get_port_if(); break; } } } byte_t Ports::in(word_t addr) { return _port_ptr[addr & 0xff]->in(addr); } void Ports::out(word_t addr, byte_t val) { _port_ptr[addr & 0xff]->out(addr, val); } void Ports::info(void) { int a; port_list_t::iterator it; cerr << " Ports:" << endl; cerr << " ------" << endl << endl; for (a = 0;a < NR_PORTS;a++) { if (_port_list[a].size() > 1) { cerr << " " << hex << setw(2) << setfill('0') << a << "h:"; /* * display registered ports but don't list the fallback * entry that comes as the last entry */ for (it = _port_list[a].begin();it != --(_port_list[a].end());it++) cerr << " [\"" << (*it)->get_name() << "\" " << ((*it)->is_active() ? 'A' : 'a') << " ]"; cout << endl; } } } KCemu-0.5.1/src/kc/mod_64k.cc0000644000175000017500000000522712417262523015715 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_64k.h" Module64k::Module64k(Module64k &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _val = 0; _group[0] = NULL; _group[1] = NULL; _group[2] = NULL; _group[3] = NULL; _ram = new byte_t[RAM_SIZE]; if (_ram) { memset(_ram, 0, RAM_SIZE); set_valid(true); } } Module64k::Module64k(const char *name, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { int a; _val = 0; _ram = new byte_t[RAM_SIZE]; if (_ram) { for (a = 0;a < SEGMENTS;a++) _group[a] = NULL; memset(_ram, 0, RAM_SIZE); set_valid(true); } } Module64k::~Module64k(void) { int a; for (a = 0;a < SEGMENTS;a++) if (_group[a]) memory->unregister_memory(_group[a]); delete[] _ram; } void Module64k::m_out(word_t addr, byte_t val) { int a; word_t mem; char buf[100]; if (((_val & 0xc3) ^ (val & 0xc3)) == 0) return; for (a = 0;a < SEGMENTS;a++) if (_group[a]) { memory->unregister_memory(_group[a]); _group[a] = 0; } if (val & 3) { mem = (val & 0xc0) << 8; for (a = 0;a < SEGMENTS;a++) { sprintf(buf, "%s (%d)", get_name(), a); _group[a] = memory->register_memory(buf, mem, SEGMENT_SIZE, &_ram[a * SEGMENT_SIZE], (addr >> 8), (val & 2) == 0); mem = (mem + SEGMENT_SIZE) & (RAM_SIZE - 1); } } _val = val; } ModuleInterface * Module64k::clone(void) { return new Module64k(*this); } void Module64k::reset(bool power_on) { if (power_on) Memory::scratch_mem(_ram, RAM_SIZE); } KCemu-0.5.1/src/kc/mod_ramf.cc0000644000175000017500000001147212417262523016235 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_ramf.h" ModuleRAMFloppy::ModuleRAMFloppy(ModuleRAMFloppy &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _addr = 0; _ram = NULL; _portg = NULL; _master = &tmpl; _port = _master->allocate_port(); if (_port < 0) { char buf[1024]; snprintf(buf, sizeof(buf), _("It's not possible to have more than two RAM-Floppy\n" "modules. The first one is running on port 98h and\n" "the second one on port 58h.")); set_error_text(buf); return; } _ram = new byte_t[0x40000]; for (int a = 0;a < 0x20000;a++) _ram[a] = 0xe5; init(); _portg = ports->register_ports(get_name(), _port, 8, this, 0); set_valid(true); } ModuleRAMFloppy::ModuleRAMFloppy(const char *name) : ModuleInterface(name, 0, KC_MODULE_Z1013) { _addr = 0; _port = -1; _ram = NULL; _portg = NULL; _master = NULL; _disk_a = -0x98; _disk_b = -0x58; set_valid(true); } ModuleRAMFloppy::~ModuleRAMFloppy(void) { if (_portg) ports->unregister_ports(_portg); if (_port >= 0) if (_master) _master->release_port(_port); delete[] _ram; } void ModuleRAMFloppy::read_file(const char *filename, long size) { int c; FILE *f; if ((_addr + size) >= 0x3ff00) return; f = fopen(filename, "rb"); if (f == NULL) return; while (242) { c = fgetc(f); if (c == EOF) break; if (_addr >= 0x3ff00) break; _ram[_addr++] = c; } _addr = (_addr + 0xff) & 0x3ff00; _ram[1] = (_addr >> 16) & 0x03; _ram[2] = (_addr >> 8) & 0xff; fclose(f); } void ModuleRAMFloppy::init(void) { int len; DIR *dir; struct stat statbuf; struct dirent *entry; char *dirname, *filename; if (kcemu_homedir == NULL) return; _addr = 0x0100; _ram[0] = _port; _ram[1] = 0; _ram[2] = 0; len = strlen(kcemu_homedir) + 21; dirname = new char[len]; snprintf(dirname, len, "%s/.z1013-ramfloppy_%02x", kcemu_homedir, _port & 0xff); dir = opendir(dirname); if (dir == NULL) { delete[] dirname; return; } while (242) { entry = readdir(dir); if (entry == NULL) break; len = strlen(dirname) + strlen(entry->d_name) + 2; filename = new char[len]; snprintf(filename, len, "%s/%s", dirname, entry->d_name); if (stat(filename, &statbuf) == 0) if (S_ISREG(statbuf.st_mode)) read_file(filename, statbuf.st_size); delete[] filename; } closedir(dir); delete[] dirname; } int ModuleRAMFloppy::allocate_port(void) { if (_disk_a < 0) { _disk_a = -_disk_a; return _disk_a; } if (_disk_b < 0) { _disk_b = -_disk_b; return _disk_b; } return -1; } void ModuleRAMFloppy::release_port(int port) { if (_disk_a == port) _disk_a = -_disk_a; if (_disk_b == port) _disk_b = -_disk_b; } void ModuleRAMFloppy::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleRAMFloppy::clone(void) { return new ModuleRAMFloppy(*this); } void ModuleRAMFloppy::reset(bool power_on) { } byte_t ModuleRAMFloppy::in(word_t addr) { byte_t ret = 0xff; switch (addr & 7) { case 0: case 1: case 2: case 3: _addr = (_addr & 0xffff) | ((addr & 3) << 16); ret = _ram[_addr]; _addr = (_addr & 0xff00) | (((_addr & 0xff) + 1) & 0xff); break; default: break; } return ret; } void ModuleRAMFloppy::out(word_t addr, byte_t val) { switch (addr & 7) { case 0: case 1: case 2: case 3: _addr = (_addr & 0xffff) | ((addr & 3) << 16); _ram[_addr] = val; _addr = (_addr & 0xff00) | (((_addr & 0xff) + 1) & 0xff); break; case 6: _addr = (_addr & 0xff) | (val << 8); break; case 7: _addr = (_addr & 0xff00) | val; break; default: break; } } KCemu-0.5.1/src/kc/pio4.cc0000644000175000017500000001057612417262523015330 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio4.h" #include "kc/tape.h" #include "kc/memory4.h" #include "libdbg/dbg.h" #define memory ((Memory4 *)memory) PIO4::PIO4(void) { } PIO4::~PIO4(void) { } byte_t PIO4::in(word_t addr) { DBG(2, form("KCemu/PIO/4/in", "PIO4::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return in_A_DATA(); case 1: return in_B_DATA(); case 2: return in_A_CTRL(); case 3: return in_B_CTRL(); } return 0; // shouldn't be reached } void PIO4::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/4/out", "PIO4::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO4::change_A(byte_t changed, byte_t val) { if (changed & 0x01) { DBG(2, form("KCemu/PIO/4/change/A", "PIO A: CAOS ROM E [%d]\n", (val & 1))); memory->enableCAOS_E(val & 0x01); } if (changed & 0x02) { DBG(2, form("KCemu/PIO/4/change/A", "PIO A: RAM 0 [%d]\n", ((val >> 1) & 1))); memory->enableRAM_0(val & 0x02); } if (changed & 0x04) { DBG(2, form("KCemu/PIO/4/change/A", "PIO A: IRM [%d]\n", ((val >> 2) & 1))); memory->enableIRM(val & 0x04); } if (changed & 0x08) { DBG(2, form("KCemu/PIO/4/change/A", "PIO A: write protect RAM 0 [%d]\n", ((val >> 3) & 1))); memory->protectRAM_0(val & 0x08); } if (changed & 0x10) { DBG(2, form("KCemu/PIO/4/change/A", "PIO A: K OUT (unused) [%d]\n", ((val >> 4) & 1))); } if (changed & 0x20) { DBG(2, form("KCemu/PIO/4/change/A", "PIO A: LED [%d]\n", ((val >> 5) & 1))); } if (changed & 0x40) { DBG(2, form("KCemu/PIO/4/change/A", "PIO A: TAPE Power [%d]\n", ((val >> 6) & 1))); tape->power((val >> 6) & 1); } if (changed & 0x80) { DBG(2, form("KCemu/PIO/4/change/A", "PIO A: ROM C (BASIC) [%d]\n", ((val >> 7) & 1))); memory->enableBASIC_C(val & 0x80); } } void PIO4::change_B(byte_t changed, byte_t val) { if (changed & 0x01) DBG(2, form("KCemu/PIO/4/change/B", "PIO B: flip-flop [%d]\n", (val & 1))); if (changed & 0x0e) DBG(2, form("KCemu/PIO/4/change/B", "PIO B: volume [%d]\n", ((val >> 1) & 7))); if (changed & 0x10) DBG(2, form("KCemu/PIO/4/change/B", "PIO B: unused 0x10 [%d]\n", ((val >> 4) & 1))); if (changed & 0x20) { DBG(2, form("KCemu/PIO/4/change/B", "PIO B: RAM 8 [%d]\n", ((val >> 5) & 1))); memory->enableRAM_8(val & 0x20); } if (changed & 0x40) { DBG(2, form("KCemu/PIO/4/change/B", "PIO B: RAM 8 write protect [%d]\n", ((val >> 6) & 1))); memory->protectRAM_8(val & 0x40); } if (changed & 0x80) DBG(2, form("KCemu/PIO/4/change/B", "PIO B: foreground blink [%d]\n", ((val >> 6) & 1))); } void PIO4::tape_callback(byte_t val) { strobe_A(); } KCemu-0.5.1/src/kc/Makefile.am0000644000175000017500000000643612417262523016202 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = prefs kcnet kramermc muglerpc vcs80 c80 bin_PROGRAMS = kcemu if !TARGET_MINGW noinst_PROGRAMS = kcemu-send endif if USE_INCLUDED_GETOPT GETOPTLIB = ../getopt/libgetopt.a endif localedir = $(prefix)/share/locale AM_CPPFLAGS = \ -I../../include \ -DKCEMU_PACKAGE=\"$(PACKAGE)\" \ -DKCEMU_DATADIR=\"$(pkgdatadir)\" \ -DKCEMU_LOCALEDIR=\"$(localedir)\" \ -DDEBUG \ $(GTK_CFLAGS) \ $(SDL_CFLAGS) JOYSTICK_EXTRA_kcemu_SOURCES = mod_js.cc V24_EXTRA_kcemu_SOURCES = mod_v24.cc MINGW_EXTRA_kcemu_SOURCES = kcemu.rc EXTRA_kcemu_SOURCES = if HAVE_JOYSTICK EXTRA_kcemu_SOURCES += $(JOYSTICK_EXTRA_kcemu_SOURCES) endif if HAVE_V24 EXTRA_kcemu_SOURCES += $(V24_EXTRA_kcemu_SOURCES) endif if TARGET_MINGW EXTRA_kcemu_SOURCES += $(MINGW_EXTRA_kcemu_SOURCES) endif EXTRA_DIST = $(JOYSTICK_EXTRA_kcemu_SOURCES) $(V24_EXTRA_kcemu_SOURCES) $(MINGW_EXTRA_kcemu_SOURCES) kcemu_SOURCES = \ kc.cc \ ic.cc \ ctc.cc \ ctc1.cc \ ctc3.cc \ ctc6.cc \ ctc8.cc \ ctc9.cc \ ctc_fdc.cc \ pio_dio.cc \ pio_vdip.cc \ ctc_dio.cc \ ctc_base.cc \ cb_list.cc \ daisy.cc \ keyb0.cc \ keyb1.cc \ keyb3.cc \ keyb6.cc \ keyb8.cc \ keyb9.cc \ memory.cc \ memory0.cc \ memory1.cc \ memory2.cc \ memory3.cc \ memory4.cc \ memory6.cc \ memory7.cc \ memory8.cc \ memory9.cc \ plotter.cc \ sh_mem.cc \ disk_io.cc \ gdc.cc \ vis.cc \ svg.cc \ vdip.cc \ vdip_cmd.cc \ gide.cc \ fdc.cc \ fdc0s.cc \ fdc4.cc \ fdc7.cc \ fdc9.cc \ fdc_cmd.cc \ floppy.cc \ pio.cc \ pio0.cc \ pio1.cc \ pio2.cc \ pio3.cc \ pio4.cc \ pio6.cc \ pio8.cc \ pio9.cc \ ports.cc \ ports0.cc \ ports4.cc \ ports6.cc \ module.cc \ mod_dio.cc \ mod_vdip.cc \ mod_ram.cc \ mod_ram1.cc \ mod_r16.cc \ mod_r64.cc \ mod_cpm.cc \ mod_ram8.cc \ mod_64k.cc \ mod_segm.cc \ mod_128k.cc \ mod_256k.cc \ mod_512k.cc \ mod_1m.cc \ mod_4m.cc \ mod_rom.cc \ mod_urom.cc \ mod_auto.cc \ mod_rom1.cc \ mod_romb.cc \ mod_raf.cc \ mod_boot.cc \ mod_192k.cc \ mod_320k.cc \ mod_ramf.cc \ mod_fdc.cc \ mod_gdc.cc \ mod_rtc.cc \ mod_disk.cc \ mod_4131.cc \ mod_m052.cc \ mod_list.cc \ tape.cc \ disk.cc \ timer.cc \ timer1.cc \ timer3.cc \ poly880.cc \ z80.cc \ z80_fdc.cc \ wav.cc \ sound.cc \ sound3.cc \ sound8.cc \ $(EXTRA_kcemu_SOURCES) if TARGET_MINGW SYSLIBS = ../sys/mingw/libsys_mingw.a -lwinmm -lws2_32 else SYSLIBS = ../sys/unix/libsys_unix.a endif kcemu_LDADD = \ kcnet/libkcnet.a \ kramermc/libkramermc.a \ muglerpc/libmuglerpc.a \ vcs80/libvcs80.a \ c80/libc80.a \ ../fileio/libfileio.a \ ../libtape/libtape.a \ ../libdisk/libdisk.a \ ../libaudio/libaudio.a \ ../ui/gtk/libui_gtk.a \ ../ui/generic/libui_generic.a \ ../ui/libui.a \ prefs/libprefs.a \ ../libgtkex/libgtkex.a \ ../libdbg/libdbg.a \ ../cmd/*.o \ $(GTK_LIBS) \ $(SDL_LIBS) \ $(SNDFILE_LIBS) \ $(AUDIOFILE_LIBS) \ $(MP3LAME_LIBS) \ $(VORBIS_LIBS) \ $(F_L_A_C_LIBS) \ $(LIBTHEORA_LIBS) \ $(XVIDCORE_LIBS) \ $(LIBDIRAC_LIBS) \ $(LIBSCHROEDINGER_LIBS) \ $(LIBAVFORMAT_LIBS) \ $(VNCSERVER_LIBS) \ $(LIBGIF_LIBS) \ $(SYSLIBS) \ $(GETOPTLIB) \ $(INTLLIBS) \ $(Z80EX_LIBS) kcemu_send_SOURCES = \ kcemu-send.c kcemu_send_LDADD = \ -lncurses $(INTLLIBS) KCemu-0.5.1/src/kc/mod_list.cc0000644000175000017500000007065512417262523016273 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ /* * Quelle: http://www.kc85emu.de/scans/fa0192/Bild5.jpg * Original: Zeitschrift Funkamateur * * ---: D001 Grundgerät KC85/2 * ---: D001 Grundgerät KC85/3 * ---: D001 Grundgerät KC85/4 * ---: D002 Busdriver * ---: D004 Floppy Disk Drive * a7h: D004 Floppy Disk Basis (ROM) * efh: M001 Digital IN/OUT * eeh: M003 V24 (2 Kanäle) * ---: M005 User (Leermodul) * ---: M006 BASIC (für KC 85/2) * ---: M007 Adapter (Herausführung der Anschlüsse an die Frontseite) * ---: M008 Joystick * e7h: M010 ADU1 * f6h: M011 64 KByte RAM * fbh: M012 Software: Texor * ---: M021 Joy + Centronics * f4h: M022 Expander RAM (16 KByte) * f7h: M025 User PROM (8 KByte) * fbh: M026 Software: Forth * fbh: M027 Software: Development * e3h: M029 DAU1 * ---: M030 EPROMmer * 79h: M032 256 KByte RAM * ---: M033 Software: TYPESTAR * 7bh: M035 1 MByte RAM * 7bh: M035 4 MByte RAM (intern 4 x 1MByte) * ---: M036 128 KByte RAM * ---: M040 USER PROM ? KByte * ---: M053 RS 232 * ---: M125 USER ROM ? KByte */ /* * Modulübersicht für KC85 * * von Mario Leubner * * (KC-News 2/95 - http://www.iee.et.tu-dresden.de/~kc-club/) * * Modul Kenn. Steuerb. Bezeichnung * * D001 - - Grundgerät KC85/2 (PIO 88-8B, CTC 8C-8F) * D001 - - Grundgerät KC85/3 (PIO 88-8B, CTC 8C-8F) * D001 - - Grundgerät KC85/4 (OUT 84-87, PIO 88-8B, CTC 8C-8F) * D002 - - Busdriver für 4 Module (OUT 80 zur Modulsteuerung) * D003* - - Programmer (ähnl. D002, ROM-Module brennen?) * D004 A7 xxAxxKxM Floppy Disk Basis (Koppel-RAM F0-F3, OUT F4-F7) * D004 - - Floppy Disk Drive (Laufwerk K5601, 5 1/4") * D005 Komfort-Tastatur für KC85/4 (mit EMR UB8830) * * M000* 01 Spezial f. KC85/3: autom. Start in Schacht 8 ab 4000H * M001 EF xxxxxxxM Digital IN/OUT (CTC 00-03, PIO 04-07) * M002* DA xxxxxxxM PIO 3 (PIO 10-13, PIO 14-17) * M003 EE xxxxxxxM V.24 (2 Kanäle, SIO 08-0B, CTC 0C-0F) * M005 - - USER-Leermodul (freie Ports: C0-CF, Kennbytes C0-D7) * M006 FC AAxxxxxM BASIC und CAOS 3.1 für KC85/2 (1 Block zu 16K ROM) * M007 - - Adapter (Busverlängerung für Modulschacht) * M008 - - Joystick (PIO 90-93) * M009* ED xxxxxxxM TLCM (Spracheingabe- und Datenkompressionsmodul) * M010 E7 xxxxxxxM ADU1: 4 Analogeingänge mit Multiplexer (PIO 40-43) * M011 F6 AAxxxxWM 64K RAM (1 Block zu 64K, rotierbar) * M012 FB AAAxxxxM Software: TEXOR + V.24-Treiber (1 Block ROM 8K) * M021* - - Joystick + Centronics (PIO 90-93) * M022 F4 AAxxxxWM Expander-RAM 16K (1 Block zu 16K) * M024* F5 AAxxxxWM 32K RAM (1 Block zu 32K) * M025 F7 AAAxxxxM USER PROM 8K (1 Block zu 8K, 4 Sockel für 2716) * M026 FB AAAxxxxM Software: FORTH (1 Block ROM 8K) * M027 FB AAAxxxxM Software: DEVELOPMENT+V.24-Treiber (1 Block ROM 8K) * M029 E3 xxxxxxxM DAU1: 2 Analogausgänge + 1 Relais (OUT 44..47) * M030 D9 EPROMER ? * M030 DB AAAxxxxM EPROMER für 2-64K (8K EPROM, PIO D0-D3, PIO D4-D7) * M032 79 AxSSSSWM 256K segmented RAM (16 Blöcke je 16K, 4000 od. 8000) * M033 01 AA0SxxxM Software: TYPESTAR+RAMDOS (2 Blöcke ROM zu je 8K) * M034 7A ASSSSSWM 512K segmented RAM (32 Blöcke je 16K, 4000 od. 8000) * M035 7B SSSSSSWM 1M segmented RAM (64 Blöcke je 16K, Adr. 8000) * M036 78 AxxSSSWM 128K segmented RAM (8 Blöcke je 16K, 4000 od. 8000) * M040 F8 AAxxxxxM USER PROM 16K (1 Block zu 16KByte) * M045 70 AASSxxxM 32K segmented ROM (4 Blöcke je 8K) * M046 71 AASSxSxM 64K segmented ROM (8 Blöcke je 8K) * M047 72 AASSSSxM 128K segmented ROM (16 Blöcke je 8K) * M048* 73 AASSSSxM 256K segmented ROM (16 Blöcke je 16K) * M053 EE xxxxxxxM RS232: wie M003, jedoch 2. Kanal mit TTL-Pegel * M120* F0 AAAxxxWM 8K CMOS-RAM (1 Block zu 8K) * M122* F1 AAxxxxWM 16K CMOS-RAM (1 Block zu 16K) * M124* F2 AAxxxxWM 32K CMOS-RAM (1 Block zu 32K) * * Im Steuerbyte bedeuten: * * A (Basis-)Adresse * K Kopplung ein/aus * S Segmentnummer * W Schreibfreigabe * M Modulschaltzustand * x nicht benutzt * * Verwendete Kennbytes * * 01 Autostart-ROM * 7x segmented Memory * Dx..Ex I/O-Module * Fx Memory * * Mit '*' gekennzeichnete Module kamen offenbar nicht in den Handel! */ #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/prefs/strlist.h" #include "kc/kc.h" #include "kc/mod_dio.h" #include "kc/mod_ram.h" #include "kc/mod_ram1.h" #include "kc/mod_r16.h" #include "kc/mod_r64.h" #include "kc/mod_cpm.h" #include "kc/mod_ram8.h" #include "kc/mod_64k.h" #include "kc/mod_128k.h" #include "kc/mod_256k.h" #include "kc/mod_512k.h" #include "kc/mod_1m.h" #include "kc/mod_4m.h" #include "kc/mod_rom.h" #include "kc/mod_urom.h" #include "kc/mod_auto.h" #include "kc/mod_rom1.h" #include "kc/mod_romb.h" #include "kc/mod_raf.h" #include "kc/mod_boot.h" #include "kc/mod_192k.h" #include "kc/mod_320k.h" #include "kc/mod_fdc.h" #include "kc/mod_gdc.h" #include "kc/mod_rtc.h" #include "kc/mod_ramf.h" #include "kc/mod_disk.h" #include "kc/mod_list.h" #include "kc/mod_4131.h" #include "kc/mod_m052.h" #include "kc/mod_vdip.h" #ifdef HAVE_V24 #include "kc/mod_v24.h" #endif /* HAVE_V24 */ #ifdef HAVE_JOYSTICK #include "kc/mod_js.h" #endif #include "fileio/load.h" #include "ui/ui.h" #include "ui/error.h" #include "libdbg/dbg.h" using namespace std; ModuleList::ModuleList(void) { ModuleInterface *m; string datadir(kcemu_datadir); string kc85_romdir = datadir + "/roms/kc85"; string z9001_romdir = datadir + "/roms/z9001"; kc_type_t kc_type = Preferences::instance()->get_kc_type(); kc_variant_t kc_variant = Preferences::instance()->get_kc_variant(); /* * placeholder for a not present module ;-) */ m = 0; _mod_list.push_back(new ModuleListEntry(_(""), m, KC_TYPE_ALL)); /* * RAM modules at 2400h-27ffh / 1k * 2800h-2fffh / 2k * 3000h-3fffh / 4k * * (lc80) */ m = new ModuleRAM8("RAM2400", 0x2400, 0x0400); _mod_list.push_back(new ModuleListEntry(_("RAM Module (1k/2400h)"), m, KC_TYPE_LC80)); m = new ModuleRAM8("RAM2800", 0x2800, 0x0800); _mod_list.push_back(new ModuleListEntry(_("RAM Module (2k/2800h)"), m, KC_TYPE_LC80)); m = new ModuleRAM8("RAM3000", 0x3000, 0x1000); _mod_list.push_back(new ModuleListEntry(_("RAM Module (4k/3000h)"), m, KC_TYPE_LC80)); /* * RAM modules at 0800h-0fffh / 2k * 1000h-1fffh / 4k * 2000h-3fffh / 8k * * (vcs80) */ m = new ModuleRAM8("RAM0800", 0x0800, 0x0800); _mod_list.push_back(new ModuleListEntry(_("RAM Module (2k/0800h)"), m, KC_TYPE_VCS80)); m = new ModuleRAM8("RAM1000", 0x1000, 0x1000); _mod_list.push_back(new ModuleListEntry(_("RAM Module (4k/1000h)"), m, KC_TYPE_VCS80)); m = new ModuleRAM8("RAM2000", 0x2000, 0x2000); _mod_list.push_back(new ModuleListEntry(_("RAM Module (8k/2000h)"), m, KC_TYPE_VCS80)); /* * RAM modules at 4000h-7fffh / 16k * 8000h-ffffh / 32k * * (lc80 + vcs80) */ m = new ModuleRAM8("RAM4000", 0x4000, 0x4000); _mod_list.push_back(new ModuleListEntry(_("RAM Module (16k/4000h)"), m, (kc_type_t)(KC_TYPE_LC80 | KC_TYPE_VCS80))); m = new ModuleRAM8("RAM8000", 0x8000, 0x8000); _mod_list.push_back(new ModuleListEntry(_("RAM Module (32k/8000h)"), m, (kc_type_t)(KC_TYPE_LC80 | KC_TYPE_VCS80))); /* * 256k RAM floppy (Z1013) */ m = new ModuleRAMFloppy("RAMFLOPPY"); _mod_list.push_back(new ModuleListEntry(_("256k RAM Floppy"), m, KC_TYPE_Z1013)); /* * FDC (schneider) (Z1013) */ m = new ModuleFDC("FDC_SCHNEIDER", ModuleFDC::FDC_INTERFACE_SCHNEIDER); _mod_list.push_back(new ModuleListEntry(_("FDC (Schneider)"), m, KC_TYPE_Z1013)); /* * FDC (kramer) (Z1013) */ m = new ModuleFDC("FDC_KRAMER", ModuleFDC::FDC_INTERFACE_KRAMER); _mod_list.push_back(new ModuleListEntry(_("FDC (Kramer)"), m, KC_TYPE_Z1013)); /* * GDC (Z1013) */ m = new ModuleGDC("GDC"); _mod_list.push_back(new ModuleListEntry(_("GDC 82720"), m, KC_TYPE_Z1013)); /* * RTC (port 20h-2fh) (Z1013) */ m = new ModuleRTC("RTC20", 0x20); _mod_list.push_back(new ModuleListEntry(_("RTC (port 20h-2fh)"), m, KC_TYPE_Z1013)); /* * RTC (port 70h-7fh) (Z1013) */ m = new ModuleRTC("RTC70", 0x70); _mod_list.push_back(new ModuleListEntry(_("RTC (port 70h-7fh)"), m, KC_TYPE_Z1013)); /* * basic (kc85/1) */ string z9001_basic_rom = z9001_romdir + "/basic_c0.851"; m = new ModuleROM1(z9001_basic_rom.c_str(), "BASIC", 0xc000, 0x2800); _mod_list.push_back(new ModuleListEntry(_("Basic Module (c000h-e7ffh)"), m, KC_TYPE_85_1)); /* * plotter module (kc85/1, kc87.10, kc87.11) * * The ROM of this module is identical with the internal ROM BASIC of the KC87.21 * that already includes the extensions to interface to an external plotter unit * like the XY4131. To actually use the plotter an additional driver is needed * though. */ string z9001_plotter_rom = z9001_romdir + "/basic_c0.87b"; m = new ModuleROM1(z9001_plotter_rom.c_str(), "PLOTTER", 0xc000, 0x2800); _mod_list.push_back(new ModuleListEntry(_("Plotter Module (c000h-e7ffh)"), m, KC_TYPE_85_1)); /* * RAM modules 16k at 4000h and 8000h (kc85/1) */ m = new ModuleRAM1("RAM4", 0x4000, 0x4000); _mod_list.push_back(new ModuleListEntry(_("RAM Module (16k/4000h)"), m, KC_TYPE_85_1_CLASS)); m = new ModuleRAM1("RAM8", 0x8000, 0x4000); _mod_list.push_back(new ModuleListEntry(_("RAM Module (16k/8000h)"), m, KC_TYPE_85_1_CLASS)); bool romdi_handling = (Preferences::instance()->get_kc_type() == KC_TYPE_87); /* * ZM30 (kc85/1) */ string z9001_zm30_rom = z9001_romdir + "/zm30__c0.851"; m = new ModuleROM1(z9001_zm30_rom.c_str(), "ZM30", 0xc000, 0x0d00, romdi_handling); _mod_list.push_back(new ModuleListEntry(_("ZM30 (c000h-ccffh)"), m, KC_TYPE_85_1_CLASS)); /* * edas (kc85/1) */ string z9001_edas_rom = z9001_romdir + "/edas__c0.851"; m = new ModuleROM1(z9001_edas_rom.c_str(), "EDAS", 0xc000, 0x2800, romdi_handling); _mod_list.push_back(new ModuleListEntry(_("EDAS (c000h-e7ffh)"), m, KC_TYPE_85_1_CLASS)); /* * idas (kc85/1) */ string z9001_idas_rom = z9001_romdir + "/idas__c0.851"; m = new ModuleROM1(z9001_idas_rom.c_str(), "IDAS", 0xc000, 0x2800, romdi_handling); _mod_list.push_back(new ModuleListEntry(_("IDAS / ZM (c000h-e7ffh)"), m, KC_TYPE_85_1_CLASS)); /* * bitex (kc85/1) */ string z9001_bitex_rom = z9001_romdir + "/bitex_c0.851"; m = new ModuleROM1(z9001_bitex_rom.c_str(), "BITEX", 0xc000, 0x1800, romdi_handling); _mod_list.push_back(new ModuleListEntry(_("BITEX (c000h-d7ffh)"), m, KC_TYPE_85_1_CLASS)); /* * zsid (kc85/1) */ /* string z9001_zsid_rom = z9001_romdir + "/zsid__c0.851"; m = new ModuleROM1(z9001_zsid_rom.c_str(), "ZSID", 0xc000, 0x2800, romdi_handling); _mod_list.push_back(new ModuleListEntry(_("ZSID (c000h-e7ffh)"), m, KC_TYPE_85_1_CLASS)); */ /* * r80 (kc85/1) */ /* string z9001_r80_rom = z9001_romdir + "/r80___c0.851"; m = new ModuleROM1(z9001_r80_rom.c_str(), "R80", 0xc000, 0x1c00, romdi_handling); _mod_list.push_back(new ModuleListEntry(_("R80 (c000h-dbffh)"), m, KC_TYPE_85_1_CLASS)); */ /* * kc-caos (kc85/1) */ string z9001_kc_caos_rom = z9001_romdir + "/kc_caos.rom"; m = new ModuleROM1(z9001_kc_caos_rom.c_str(), "KC-CAOS", 0x8000, 0x1000); _mod_list.push_back(new ModuleListEntry(_("KC-CAOS 3.1 (8000h-8fffh)"), m, KC_TYPE_85_1_CLASS)); /* * 192 KByte RAM/EPROM module (kc85/1) */ string z9001_192k_d2_rom = z9001_romdir + "/192k__d2.851"; string z9001_192k_d3_rom = z9001_romdir + "/192k__d3.851"; string z9001_192k_d5_rom = z9001_romdir + "/192k__d5.851"; m = new Module192k(z9001_192k_d2_rom.c_str(), z9001_192k_d3_rom.c_str(), z9001_192k_d5_rom.c_str(), "192k"); _mod_list.push_back(new ModuleListEntry(_("192 KByte RAM/EPROM"), m, KC_TYPE_85_1_CLASS)); /* * KC-Pascal module (kc85/1) */ string z9001_kcpascal_rom = z9001_romdir + "/kcpascal.851"; m = new ModuleROM1(z9001_kcpascal_rom.c_str(), "KC-Pascal", 0x4000, 0x8000); _mod_list.push_back(new ModuleListEntry(_("KC-Pascal Module"), m, KC_TYPE_85_1_CLASS)); /* * 2,5Mb ROM Modul (kc85/1) */ string z9001_mega_rom = z9001_romdir + "/mega_rom.851"; m = new Module320k(z9001_mega_rom.c_str(), "Mega-ROM"); _mod_list.push_back(new ModuleListEntry(_("Mega-ROM Module"), m, KC_TYPE_85_1_CLASS)); /* * 128 KByte ROM bank module (kc85/1) */ string z9001_rombank_rom = z9001_romdir + "/rom_bank.851"; m = new ModuleROMBank(z9001_rombank_rom.c_str(), "ROMBANK"); _mod_list.push_back(new ModuleListEntry(_("128k ROM Bank"), m, KC_TYPE_85_1_CLASS)); /* * IRM Expansion for color display (kc85/1) * * FIXME: check whether to enable the color expansion by default shouldn't * FIXME: go here! */ m = new ModuleRAM1("IRMX", 0xe800, 0x0800); _color_expansion = new ModuleListEntry(_("IRM Color Expansion"), m, KC_TYPE_NONE); _mod_list.push_back(_color_expansion); _init_color_expansion = 0; if (kc_type == KC_TYPE_85_1) if (kc_variant == KC_VARIANT_85_1_11) _init_color_expansion = _color_expansion; if (kc_type == KC_TYPE_87) if ((kc_variant != KC_VARIANT_87_10) && (kc_variant != KC_VARIANT_87_20)) _init_color_expansion = _color_expansion; /* * Plotter-Anschluss */ m = new ModuleXY4131("XY4131"); _mod_list.push_back(new ModuleListEntry(_("Plotter XY4131"), m, KC_TYPE_85_1_CLASS)); /* * CPM-Z9 boot rom module (kc85/1) */ string z9001_z9_boot_rom = z9001_romdir + "/cpmz9_c0.851"; m = new ModuleBOOT(z9001_z9_boot_rom.c_str(), "CPM-Z9-BOOT", 0xc000, 0x0800, romdi_handling); _mod_list.push_back(new ModuleListEntry(_("CPM-Z9 BOOT (c000h-c7ffh)"), m, KC_TYPE_85_1_CLASS)); /* * CPM-Z9 floppy module (kc85/1) */ m = new ModuleCPMZ9("CPM-Z9-FLOPPY"); _mod_list.push_back(new ModuleListEntry(_("CPM-Z9 Floppy"), m, KC_TYPE_85_1_CLASS)); /* * CPM-Z9 64k ram module */ m = new ModuleRAM64("CPM-Z9-RAM64"); _mod_list.push_back(new ModuleListEntry(_("CPM-Z9 64k RAM"), m, KC_TYPE_85_1_CLASS)); /* * RAF (ram floppy module for KC85/1 and A5105 at port 20h/24h) */ m = new ModuleRAF("RAF-4MB-20h", 0x20, 0x400000); _mod_list.push_back(new ModuleListEntry(_("RAF 4MB (port 20h)"), m, (kc_type_t)(KC_TYPE_85_1_CLASS | KC_TYPE_A5105))); m = new ModuleRAF("RAF-4MB-24h", 0x24, 0x400000); _mod_list.push_back(new ModuleListEntry(_("RAF 4MB (port 24h)"), m, (kc_type_t)(KC_TYPE_85_1_CLASS | KC_TYPE_A5105))); /* * Digital I/O (kc85/2-4) */ m = new ModuleDIO("M001", 0xef); _mod_list.push_back(new ModuleListEntry(_("M001: Digital In / Out"), m, KC_TYPE_85_2_CLASS)); /* * V24 module */ #ifdef HAVE_V24 m = new ModuleV24("M003", 0xee); _mod_list.push_back(new ModuleListEntry(_("M003: V24"), m, KC_TYPE_85_2_CLASS)); #endif /* HAVE_V24 */ /* * basic (kc85/2) (this is actually 16k and includes a new system rom!) */ string kc85_m006_rom = kc85_romdir + "/m006.rom"; m = new ModuleROM(kc85_m006_rom.c_str(), "M006", 0x4000, 0xfb); _mod_list.push_back(new ModuleListEntry(_("M006: Basic"), m, (kc_type_t)(KC_TYPE_85_2 | KC_TYPE_85_3))); /* * Joystick module (kc85/2-4) */ #ifdef HAVE_JOYSTICK m = new ModuleJoystick("M008", 0xff); _mod_list.push_back(new ModuleListEntry(_("M008: Joystick"), m, KC_TYPE_85_2_CLASS)); #endif /* HAVE_JOYSTICK */ /* * RAM module 64k (kc85/2-4) */ m = new Module64k("M011", 0xf6); _mod_list.push_back(new ModuleListEntry(_("M011: 64k RAM"), m, KC_TYPE_85_2_CLASS)); /* * texor */ string kc85_m012_rom = kc85_romdir + "/m012.rom"; m = new ModuleROM(kc85_m012_rom.c_str(), "M012", 0x2000, 0xfb); _mod_list.push_back(new ModuleListEntry(_("M012: Texor"), m, KC_TYPE_85_2_CLASS)); /* * RAM module 16k (kc85/2-4) */ m = new ModuleRAM("M022", 0xf4); _mod_list.push_back(new ModuleListEntry(_("M022: Expander RAM (16k)"), m, KC_TYPE_85_2_CLASS)); /* * forth */ string kc85_m026_rom = kc85_romdir + "/m026.rom"; m = new ModuleROM(kc85_m026_rom.c_str(), "M026", 0x2000, 0xfb); _mod_list.push_back(new ModuleListEntry(_("M026: Forth"), m, KC_TYPE_85_2_CLASS)); /* * development */ string kc85_m027_rom = kc85_romdir + "/m027.rom"; m = new ModuleROM(kc85_m027_rom.c_str(), "M027", 0x2000, 0xfb); _mod_list.push_back(new ModuleListEntry(_("M027: Development"), m, KC_TYPE_85_2_CLASS)); /* * RAM module 256k (kc85/2-4) */ m = new Module256k("M032", 0x79); _mod_list.push_back(new ModuleListEntry(_("M032: 256k Segmented RAM"), m, KC_TYPE_85_2_CLASS)); /* * typestar + ramdos */ string kc85_m033_rom = kc85_romdir + "/m033.rom"; m = new ModuleSegmentedROM16k(kc85_m033_rom.c_str(), "M033", 0x01); _mod_list.push_back(new ModuleListEntry(_("M033: TypeStar + RAMDOS"), m, KC_TYPE_85_2_CLASS)); /* * RAM module 512k (kc85/2-4) */ m = new Module512k("M034", 0x7a); _mod_list.push_back(new ModuleListEntry(_("M034: 512k Segmented RAM"), m, KC_TYPE_85_2_CLASS)); /* * RAM module 1M (kc85/2-4) */ m = new Module1M("M035", 0x7b); _mod_list.push_back(new ModuleListEntry(_("M035: 1M Segmented RAM"), m, KC_TYPE_85_2_CLASS)); /* * RAM module 4M (kc85/2-4) */ m = new Module4M("M035x4", 0x7b); _mod_list.push_back(new ModuleListEntry(_("M035x4: 4M RAM"), m, KC_TYPE_85_2_CLASS)); /* * RAM module 128k (kc85/2-4) */ m = new Module128k("M036", 0x78); _mod_list.push_back(new ModuleListEntry(_("M036: 128k Segmented RAM"), m, KC_TYPE_85_2_CLASS)); /* * M052 network + usb (kc85/2-4) */ string kc85_m052_rom = kc85_romdir + "/m052.rom"; m = new ModuleNetworkUSB(kc85_m052_rom.c_str(), "M052", 0xfd); _mod_list.push_back(new ModuleListEntry(_("M052: Network + USB"), m, KC_TYPE_85_2_CLASS)); /* * wordpro ROM version for kc85/3 */ string kc85_m900_rom = kc85_romdir + "/m900.rom"; m = new ModuleROM(kc85_m900_rom.c_str(), "M900", 0x2000, 0xfb); _mod_list.push_back(new ModuleListEntry(_("M900: WordPro '86 (KC85/3)"), m, KC_TYPE_85_3)); /* * wordpro ROM version for kc85/4 */ string kc85_m901_rom = kc85_romdir + "/m901.rom"; m = new ModuleROM(kc85_m901_rom.c_str(), "M901", 0x2000, 0xfb); _mod_list.push_back(new ModuleListEntry(_("M901: WordPro '86 (KC85/4)"), m, KC_TYPE_85_4)); /* * vinculum usb + driver rom */ m = new ModuleVDIP("VDIP", 0xef); _mod_list.push_back(new ModuleListEntry(_("VDIP: Vinculum USB"), m, KC_TYPE_85_2_CLASS)); string kc85_vdip1_rom = kc85_romdir + "/vdip12.rom"; m = new ModuleROM(kc85_vdip1_rom.c_str(), "VDIP1", 0x0800, 0xfb); _mod_list.push_back(new ModuleListEntry(_("VDIP1: Vinculum USB ROM V1.2"), m, KC_TYPE_85_2_CLASS)); string kc85_vdip2_rom = kc85_romdir + "/vdip21.rom"; m = new ModuleROM(kc85_vdip2_rom.c_str(), "VDIP2", 0x1000, 0xfb); _mod_list.push_back(new ModuleListEntry(_("VDIP2: Vinculum USB ROM V2.1"), m, KC_TYPE_85_2_CLASS)); int d004_enabled = Preferences::instance()->get_int_value("d004", 0); _init_floppy_basis_f8 = 0; _init_floppy_basis_fc = 0; if ((kc_type & KC_TYPE_85_2_CLASS) && d004_enabled) { if (Preferences::instance()->get_int_value("d004_f8", 0)) { /* * Floppy Disk Basis Extension ROM at slot F8, rom is defined by profile setting */ m = new ModuleDisk(SystemROM::ROM_KEY_D004_F8, "Floppy Disk Basis F8", 0xa7, 0xf8); ModuleListEntry *mod_floppy_f8 = new ModuleListEntry(_("Floppy Disk Basis F8"), m, KC_TYPE_NONE); _mod_list.push_back(mod_floppy_f8); _init_floppy_basis_f8 = mod_floppy_f8; } /* * Floppy Disk Basis ROM at slot FC, rom is defined by profile setting */ m = new ModuleDisk(SystemROM::ROM_KEY_D004_FC, "Floppy Disk Basis FC", 0xa7, 0xfc); ModuleListEntry *mod_floppy_fc = new ModuleListEntry(_("Floppy Disk Basis FC"), m, KC_TYPE_NONE); _mod_list.push_back(mod_floppy_fc); _init_floppy_basis_fc = mod_floppy_fc; } _nr_of_bd = Preferences::instance()->get_int_value("busdrivers", 0); if (_nr_of_bd < 0) _nr_of_bd = 0; if (_nr_of_bd > MAX_BD) _nr_of_bd = MAX_BD; if (kc_type & KC_TYPE_85_1_CLASS) _nr_of_bd = 0; if (kc_type & KC_TYPE_LC80) _nr_of_bd = 1; int cnt; switch (kc_type) { case KC_TYPE_85_1: case KC_TYPE_87: case KC_TYPE_A5105: cnt = 4; break; case KC_TYPE_LC80: cnt = 6; break; case KC_TYPE_Z1013: cnt = 8; break; case KC_TYPE_85_2: case KC_TYPE_85_3: case KC_TYPE_85_4: case KC_TYPE_85_5: cnt = 4 * _nr_of_bd + 2; break; default: cnt = 0; break; } add_custom_modules(); init_modules(cnt); } void ModuleList::add_custom_modules(void) { #if 0 for (int a = 0;a < 10;a++) { const char *name = RC::instance()->get_string_i(a, "Custom ROM Module"); const char *text = RC::instance()->get_string_i(a, "Custom ROM Module (Name)"); int id = RC::instance()->get_int_i(a, "Custom ROM Module (Id)"); const char *file = RC::instance()->get_string_i(a, "Custom ROM Module (File)"); int size = RC::instance()->get_int_i(a, "Custom ROM Module (Size)"); if ((name == NULL) || (file == NULL)) continue; if (id == 0) id = 0xfb; size &= 0xfc00; if (size == 0) size = 0x2000; if (size > 0x4000) size = 0x4000; if (text == NULL) text = name; ModuleInterface *m = new ModuleUserROM(file, name, size, id); ModuleListEntry *entry = new ModuleListEntry(text, m, KC_TYPE_85_2_CLASS); _mod_list.push_back(entry); } #endif } void ModuleList::init_modules(int max_modules) { for (int a = 0;a < 4 * MAX_BD + 2;a++) _init_mod[a] = NULL; int mode = 1; const char *ptr = kcemu_modules; if (ptr) { if (*ptr == '+') ptr++; else mode = 0; } int idx = init_modules_autostart(0); if (mode == 1) idx = init_modules_configfile(idx, max_modules); init_modules_commandline(idx, max_modules, ptr); } int ModuleList::init_modules_autostart(int idx) { if (!(Preferences::instance()->get_kc_type() & KC_TYPE_85_2_CLASS)) return idx; if (kcemu_autostart_file == NULL) return idx; DBG(2, form("KCemu/ModuleAutoStart/page", "ModuleAutoStart: trying file '%s'\n", kcemu_autostart_file)); fileio_prop_t *ptr, *prop; if (fileio_load_file(kcemu_autostart_file, &prop) != 0) return idx; int size = 0x10000; byte_t *rom = new byte_t[size]; memset(rom, 0xff, size); byte_t init[0x200]; memset(init, 0xff, 0x200); string datadir = string(kcemu_datadir); string autostart = datadir + "/lib/z80/kc853.bin"; FILE *f = fopen(autostart.c_str(), "rb"); if (f != NULL) { fread(init, 1, 0x200, f); fclose(f); } int page = 0; int info_idx = 0x10; byte_t *rom_ptr = rom + 0x200; for (ptr = prop;ptr != NULL;ptr = ptr->next) { DBG(2, form("KCemu/ModuleAutoStart/page", "ModuleAutoStart: load = %04x, size = %ld, start = %04x\n", ptr->load_addr, ptr->size, ptr->start_addr)); byte_t *img = new byte_t[ptr->size]; int image_size = fileio_get_image(ptr, img); byte_t *img_ptr = img; int load_addr = ptr->load_addr; while (image_size > 0) { if (page == 3) break; page++; int len = image_size < 0x3e00 ? image_size : 0x3e00; memcpy(rom_ptr, img_ptr, len); if (info_idx == 0x10) { int start_addr = ptr->start_addr; if (kcemu_autostart_addr != NULL) { start_addr = strtoul(kcemu_autostart_addr, NULL, 0) & 0xffff; DBG(2, form("KCemu/ModuleAutoStart/page", "ModuleAutoStart: overriding start address with %04xh\n", start_addr)); } memcpy(&init[2], ptr->name, 12); init[info_idx++] = start_addr & 0xff; init[info_idx++] = start_addr >> 8; } init[info_idx++] = load_addr & 0xff; init[info_idx++] = load_addr >> 8; init[info_idx++] = len & 0xff; init[info_idx++] = len >> 8; init[info_idx++] = len > 0x1000; init[info_idx++] = 0; rom_ptr += 0x4000; img_ptr += 0x3e00; load_addr += 0x3e00; image_size -= 0x3e00; } delete[] img; } for (int a = 0;a < 4;a++) memcpy(rom + a * 0x4000, init, 0x200); ModuleInterface *m = new ModuleAutoStart(&rom[0], "Autostart", 0x10000, 0x01); _mod_list.push_back(new ModuleListEntry(_("Autostart"), m, KC_TYPE_85_2_CLASS)); _init_mod[idx++] = strdup("Autostart"); fileio_free_prop(&prop); return idx; } int ModuleList::init_modules_configfile(int idx, int max_modules) { StringList list(Preferences::instance()->get_string_value("modules", "")); int a = 0; for (StringList::iterator it = list.begin();(it != list.end()) && (a < max_modules);it++) { _init_mod[idx++] = strdup((*it).c_str()); a++; } return idx; } int ModuleList::init_modules_commandline(int idx, int max_modules, const char *param) { if (param == NULL) return idx; char *buffer = new char[strlen(param) + 1]; strcpy(buffer, param); char *ptr = strtok(buffer, ","); while (ptr != 0) { _init_mod[idx++] = strdup(ptr); ptr = strtok(0, ","); } delete[] buffer; return idx; } ModuleList::~ModuleList(void) { ModuleList::iterator it; for (it = module_list->begin();it != module_list->end();it++) { ModuleListEntry *entry = *it; delete entry->get_mod(); delete entry; } for (int a = 0;a < 4 * MAX_BD + 2;a++) if (_init_mod[a]) free(_init_mod[a]); /* inserted clones of modules are freed in module.cc */ } void ModuleList::init(void) { int a; ModuleInterface *m; ModuleList::iterator it; for (a = 0;a < 4 * MAX_BD + 2;a++) { if (!_init_mod[a]) continue; for (it = module_list->begin();it != module_list->end();it++) { m = (*it)->get_mod(); if (!m) continue; if (strcmp(m->get_name(), _init_mod[a]) == 0) insert(a, *it); } } if (_init_floppy_basis_f8) { /* * floppy disk basis extension ROM is always in slot f8h! */ insert(60, _init_floppy_basis_f8); } if (_init_floppy_basis_fc) { /* * floppy disk basis ROM is always in slot fch! */ insert(61, _init_floppy_basis_fc); } if (_init_color_expansion) { /* * this is set if the emulator runs in KC 87 mode which means * the color expansion is always present * the KC 87 doesn't support the module slot notation like * the KC 85/2 class we just insert it at slot fch like * the floppy disk interface for KC 85/2 which is never available * in KC 87 mode. */ insert(61, _init_color_expansion); } } void ModuleList::insert(int slot, ModuleListEntry *entry) { ModuleInterface *m = NULL; /* * the module object is deleted in module->insert() * or module->remove()! */ if (entry != NULL) m = entry->get_mod(); if (m) { ModuleInterface *mod = m->clone(); if (!mod) return; if (mod->is_valid()) { module->insert(slot, mod); } else { const char *error_text = mod->get_error_text(); if (error_text != NULL) Error::instance()->info(error_text); m = NULL; delete mod; } } else { module->remove(slot); } ui->getModuleInterface()->insert(slot, m); ui->getModuleInterface()->activate(slot, 0); } ModuleListEntry * ModuleList::get_color_expansion() { return _color_expansion; } KCemu-0.5.1/src/kc/pio1.cc0000644000175000017500000000610112417262523015312 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/pio1.h" #include "libdbg/dbg.h" #define memory ((Memory1 *)memory) PIO1_1::PIO1_1(void) { } PIO1_1::~PIO1_1(void) { } byte_t PIO1_1::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/1a/in", "PIO1_1::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIO1_1::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/1a/out", "PIO1_1::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO1_1::change_A(byte_t changed, byte_t val) { } void PIO1_1::change_B(byte_t changed, byte_t val) { } byte_t PIO1_1::get_border_color(void) { return (_value[A] >> 3) & 0x07; } byte_t PIO1_1::get_line_mode(void) { return (_value[A] >> 2) & 0x01; } void PIO1_1::tape_callback(byte_t val) { strobe_A(); } PIO1_2::PIO1_2(void) { } PIO1_2::~PIO1_2(void) { } byte_t PIO1_2::in(word_t addr) { DBG(2, form("KCemu/PIO/1b/in", "PIO1_2::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return in_A_DATA(); case 1: return in_B_DATA(); case 2: return in_A_CTRL(); case 3: return in_B_CTRL(); } return 0; // shouldn't be reached } void PIO1_2::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/1b/out", "PIO1_2::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO1_2::change_A(byte_t changed, byte_t val) { } void PIO1_2::change_B(byte_t changed, byte_t val) { } KCemu-0.5.1/src/kc/sh_mem.cc0000644000175000017500000000565312417262523015725 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" //DEBUG #include "kc/sh_mem.h" #include "libdbg/dbg.h" #ifdef ENABLE_COREDUMP static byte_t *__ptr = 0; static void dump_core(void) { int ok; FILE *f; if (__ptr == 0) { printf("can't dump shared memory!\n"); return; } printf("dumping shared memory... "); ok = 0; f = fopen("core-shmem.z80", "wb"); if (f) { if (fwrite(__ptr, 0x0400, 1, f) == 1) ok = 1; } if (ok) printf("done.\n"); else printf("failed!\n"); } #endif /* ENABLE_COREDUMP */ FloppySharedMem::FloppySharedMem(void) { #ifdef ENABLE_COREDUMP atexit(dump_core); #endif /* ENABLE_COREDUMP */ } FloppySharedMem::~FloppySharedMem(void) { } byte_t FloppySharedMem::in(word_t addr) { byte_t val; val = 0xff; switch (addr & 0xff) { case 0xf0: val = _mem[((addr >> 8) & 0xff)]; break; case 0xf1: val = _mem[((addr >> 8) & 0xff) + 0x0100]; break; case 0xf2: val = _mem[((addr >> 8) & 0xff) + 0x0200]; break; case 0xf3: val = _mem[((addr >> 8) & 0xff) + 0x0300]; break; case 0xf4: break; default: break; } DBG(2, form("KCemu/FloppySharedMem/in", "FloppySharedMem::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void FloppySharedMem::out(word_t addr, byte_t val) { int idx; switch (addr & 0xff) { case 0xf0: idx = ((addr >> 8) & 0xff); break; case 0xf1: idx = ((addr >> 8) & 0xff) | 0x0100; break; case 0xf2: idx = ((addr >> 8) & 0xff) | 0x0200; break; case 0xf3: idx = ((addr >> 8) & 0xff) | 0x0300; break; default: return; } DBG(2, form("KCemu/FloppySharedMem/out", "FloppySharedMem::out(): %04xh: addr = %04x [=%04x], val = %02x\n", z80->getPC(), addr, idx + 0xfc00, val)); _mem[idx] = val; } void FloppySharedMem::set_memory(byte_t *mem) { _mem = mem; #ifdef ENABLE_COREDUMP __ptr = mem; #endif /* ENABLE_COREDUMP */ } KCemu-0.5.1/src/kc/ports0.cc0000644000175000017500000000407612417262523015702 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include // sleep(); #include "kc/system.h" #include "kc/kc.h" #include "kc/pio.h" #include "kc/keyb0.h" #include "kc/ports0.h" #include "libdbg/dbg.h" Ports0::Ports0(void) { for (int a = 0;a < NR_PORTS;a++) inout[a] = 0xff; } Ports0::~Ports0(void) { } byte_t Ports0::in(word_t addr) { byte_t a = addr & 0xff; byte_t val = inout[a]; switch (a) { case 0x08: break; default: DBG(0, form("KCemu/internal_error", "Ports0: called in() with undefined address %04xh\n", addr)); break; } DBG(2, form("KCemu/Ports/0/in", "Ports0: in() addr = %04x (returning %02x)\n", addr, val)); return val; } void Ports0::out(word_t addr, byte_t val) { byte_t a = addr & 0xff; DBG(2, form("KCemu/Ports/0/out", "Ports0: out() addr = %04x, val = %02x\n", addr, val)); switch (a) { case 0x08: change_0x08(inout[a] ^ val, val); break; default: DBG(0, form("KCemu/internal_error", "Ports0: called out() with undefined address %04xh (val = %02xh)\n", addr, val)); break; } inout[a] = val; } void Ports0::change_0x08(byte_t changed, byte_t val) { ((Keyboard0 *)keyboard)->set_value(val & 0x0f); } KCemu-0.5.1/src/kc/pio3.cc0000644000175000017500000001023612417262523015320 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio3.h" #include "kc/tape.h" #include "kc/memory3.h" #include "libdbg/dbg.h" #define memory ((Memory3 *)memory) PIO3::PIO3(void) { } PIO3::~PIO3(void) { } byte_t PIO3::in(word_t addr) { byte_t ret = 0xff; switch (addr & 3) { case 0: ret = in_A_DATA(); break; case 1: ret = in_B_DATA(); break; case 2: ret = in_A_CTRL(); break; case 3: ret = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/3/in", "PIO3::in(): addr = %04x, val = %02x\n", addr, ret)); return ret; } void PIO3::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/3/out", "PIO3::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } byte_t PIO3::in_A_DATA(void) { byte_t ret = PIO::in_A_DATA(); if (_mode[A] == MODE_INPUT) ret = 0x07; return ret; } void PIO3::change_A(byte_t changed, byte_t val) { if (changed & 0x01) { DBG(2, form("KCemu/PIO/3/change/A", "PIO A: CAOS ROM [%d]\n", (val & 1))); memory->enableCAOS_E(val & 1); } if (changed & 0x02) { DBG(2, form("KCemu/PIO/3/change/A", "PIO A: RAM [%d]\n", ((val >> 1) & 1))); memory->enableRAM((val >> 1) & 1); } if (changed & 0x04) { DBG(2, form("KCemu/PIO/3/change/A", "PIO A: IRM [%d]\n", ((val >> 2) & 1))); memory->enableIRM((val >> 2) & 1); } if (changed & 0x08) { DBG(2, form("KCemu/PIO/3/change/A", "PIO A: RAM PROTECT [%d]\n", ((val >> 3) & 1))); memory->protectRAM((val >> 3) & 1); } if (changed & 0x10) { DBG(2, form("KCemu/PIO/3/change/A", "PIO A: - [%d]\n", ((val >> 4) & 1))); } if (changed & 0x20) { DBG(2, form("KCemu/PIO/3/change/A", "PIO A: LED TAPE [%d]\n", ((val >> 5) & 1))); } if (changed & 0x40) { DBG(2, form("KCemu/PIO/3/change/A", "PIO A: TAPE Power [%d]\n", ((val >> 6) & 1))); tape->power((val >> 6) & 1); } if (changed & 0x80) { DBG(2, form("KCemu/PIO/3/change/A", "PIO A: BASIC ROM [%d]\n", ((val >> 7) & 1))); memory->enableBASIC_C(val & 0x80); } } void PIO3::change_B(byte_t changed, byte_t val) { if (changed & 0x1f) { DBG(2, form("KCemu/PIO/3/change/B", "PIO B: volume [%d]\n", (val & 0x1f))); } if (changed & 0x20) { DBG(2, form("KCemu/PIO/3/change/B", "PIO B: unused [%d]\n", ((val >> 5) & 1))); } if (changed & 0x40) { DBG(2, form("KCemu/PIO/3/change/B", "PIO B: unused [%d]\n", ((val >> 6) & 1))); } if (changed & 0x80) { DBG(2, form("KCemu/PIO/3/change/B", "PIO B: foreground blink [%d]\n", ((val >> 6) & 1))); } } void PIO3::tape_callback(byte_t val) { strobe_A(); } KCemu-0.5.1/src/kc/mod_romb.cc0000644000175000017500000000520512417262523016244 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_romb.h" using namespace std; ModuleROMBank::ModuleROMBank(ModuleROMBank &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _rom = tmpl._rom; _group = NULL; _portg = ports->register_ports(get_name(), 0x78, 8, this, 0); _bank = 0; activate_bank(); set_valid(true); } ModuleROMBank::ModuleROMBank(const char *filename, const char *name) : ModuleInterface(name, 0, KC_MODULE_KC_85_1) { _group = NULL; _portg = NULL; _rom = new byte_t[ROM_BANK_SIZE]; set_valid(Memory::load_rom(filename, _rom, ROM_BANK_SIZE, false)); } ModuleROMBank::~ModuleROMBank(void) { if (_portg) ports->unregister_ports(_portg); /* * the template object owns the _rom memory and the * actual module object always has an memory group * registered so if we have _group == NULL this is * the template object */ if (_group) memory->unregister_memory(_group); else delete[] _rom; } void ModuleROMBank::activate_bank() { if (_group) memory->unregister_memory(_group); int size = (_bank & 1) ? 0x1800 : 0x2800; int offset = (_bank / 2) * 0x4000 + (_bank & 1) * 0x2800; //printf("activate bank %2d : size = %04xh, offset = %05xh\n", _bank, size, offset); _group = memory->register_memory(get_name(), 0xc000, size, &_rom[offset], 10, 0); } void ModuleROMBank::m_out(word_t addr, byte_t val) { //printf("m_out %04x, %02x\n", addr, val); } ModuleInterface * ModuleROMBank::clone(void) { return new ModuleROMBank(*this); } void ModuleROMBank::reset(bool power_on) { _bank = 0; activate_bank(); } byte_t ModuleROMBank::in(word_t addr) { return 0xff; } void ModuleROMBank::out(word_t addr, byte_t val) { _bank = (_bank + 1) & 0x0f; activate_bank(); } KCemu-0.5.1/src/kc/svg.cc0000644000175000017500000002455312417262523015254 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/svg.h" #include "kc/tape.h" #include "kc/keyb9.h" #include "kc/memory9.h" #include "libdbg/dbg.h" /* * * +-----+---------------------+-----------------------------------+ * | REG | Function | Bit | * | | | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | * +-----+---------------------+-----------------------------------+ * | 0 | Tonfrequenz Kanal A | FL (A) | * | 1 | | x | x | x | x | FH(A) | * +-----+---------------------+-----------------------------------+ * | 2 | Tonfrequenz Kanal B | FL (B) | * | 3 | | x | x | x | x | FH(B) | * +-----+---------------------+-----------------------------------+ * | 4 | Tonfrequenz Kanal C | FL (C) | * | 5 | | x | x | x | x | FH(C) | * +-----+---------------------+-----------------------------------+ * | 6 | Rauschfrequenz | x | x | x | RP | * +-----+---------------------+-----------------------------------+ * | 7 | Auswahl Ton- bzw. | | Rauschen | Ton | * | | Rauschkanal | x | x | C | B | A | C | B | A | * +-----+---------------------+-----------------------------------+ * | 8 | A | x | x | x | H | L(A) | * | 9 | Lautst�rke Kanal B | x | x | x | H | L(B) | * | 10 | C | x | x | x | H | L(C) | * +-----+---------------------+-----------------------------------+ * | 11 | H�llkurvenfrequenz | FHL | * | 12 | | FHH | * +-----+---------------------+-----------------------------------+ * | 13 | H�llkurvenform | x | x | x | HKF | * +-----+---------------------+-----------------------------------+ * * Parameter f�r Tonfrequenz * FW = 3750000 / (32 + F) * FL(n) = FW | 256 * FH(n) = FW mod 256 * F - reale Tonfrequenz (in Hz) * Rauschparameter * RP = 3750000 / 32 * F * RF - Rauschparameter (0...31) * F - maximaler Frequenzanteil im Rauschen * */ SVG::SVG(void) { _val_a0 = 0; _val_a1 = 0; _val_a8 = 0; _val_aa = 0; _val_ab = 0; for (int a = 0;a < 4;a++) _page_info[a] = 0; for (int a = 0;a < 14;a++) _sound_reg[a] = 0; for (int a = 0;a < 3;a++) _sound_val[a] = 0; for (int a = 0;a < 3;a++) _sound_freq[a] = 0; } SVG::~SVG(void) { } byte_t SVG::in(word_t addr) { byte_t val = 0xff; switch (addr & 0xff) { case 0xa0: val = _val_a0; DBG(2, form("KCemu/SVG/in_A8", "SVG::in(a0h): %04xh val = %02x (%d)\n", addr, val, val)); break; case 0xa1: val = _val_a1; DBG(2, form("KCemu/SVG/in_A1", "SVG::in(a1h): %04xh val = %02x (%d)\n", addr, val, val)); break; case 0xa8: val = _val_a8; DBG(2, form("KCemu/SVG/in_A8", "SVG::in(a8h): %04xh val = %02x (%d)\n", addr, val, val)); break; case 0xa9: /* * keyboard input */ val = ((Keyboard9 *)keyboard)->get_val(); DBG(2, form("KCemu/SVG/in_A9", "SVG::in(a9h): %04xh val = %02x (%d)\n", addr, val, val)); break; case 0xaa: val = _val_aa; DBG(2, form("KCemu/SVG/in_AA", "SVG::in(aah): %04xh val = %02x (%d)\n", addr, val, val)); break; case 0xab: val = _val_ab; DBG(2, form("KCemu/SVG/in_AB", "SVG::in(abh): %04xh val = %02x (%d)\n", addr, val, val)); break; } DBG(2, form("KCemu/SVG/in", "SVG::in(%02xh): %04xh val = %02x (%d)\n", addr & 0xff, addr, val, val)); return val; } void SVG::out(word_t addr, byte_t val) { int bit; DBG(2, form("KCemu/SVG/out", "SVG::out(): %04xh val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); switch (addr & 0xff) { case 0xa0: /* * select sound register */ DBG(2, form("KCemu/SVG/out_A0", "SVG::out(): %04xh val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); _val_a0 = val; break; case 0xa1: /* * sound register parameter */ DBG(2, form("KCemu/SVG/out_A1", "SVG::out(): %04xh val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); _val_a1 = val; _sound_reg[_val_a0] = val; _sound_val[A] = _sound_reg[0] | ((_sound_reg[1] & 0x0f) << 8); _sound_val[B] = _sound_reg[2] | ((_sound_reg[3] & 0x0f) << 8); _sound_val[C] = _sound_reg[4] | ((_sound_reg[5] & 0x0f) << 8); _sound_freq[A] = _sound_val[A] == 0 ? 0 : 3750000 / (_sound_val[A] * 32); _sound_freq[B] = _sound_val[B] == 0 ? 0 : 3750000 / (_sound_val[B] * 32); _sound_freq[C] = _sound_val[C] == 0 ? 0 : 3750000 / (_sound_val[C] * 32); DBG(2, form("KCemu/SVG/SOUND", "SVG::out(): SOUND reg %2d = %02xh %3d /" " %02x %02x-%02x %02x-%02x %02x-%02x" "/%02x/%02x %02x %02x-%02x %02x-%02x\n", _val_a0, val, val, _sound_reg[ 0], _sound_reg[ 1], _sound_reg[ 2], _sound_reg[ 3], _sound_reg[ 4], _sound_reg[ 5], _sound_reg[ 6], _sound_reg[ 7], _sound_reg[ 8], _sound_reg[ 9], _sound_reg[10], _sound_reg[11], _sound_reg[12], _sound_reg[13])); DBG(2, form("KCemu/SVG/SOUNDREGS", "SVG: SOUND: ------------------------------------\n" "SVG: SOUND: Channel Select = %c%c%c\n" "SVG: SOUND: Noise Channel Select = %c%c%c\n" "SVG: SOUND: Envelope Select = %c%c%c\n" "SVG: SOUND: Frequency / Loudness (A) = %d / %d -> %dHz\n" "SVG: SOUND: Frequency / Loudness (B) = %d / %d -> %dHz\n" "SVG: SOUND: Frequency / Loudness (C) = %d / %d -> %dHz\n" "SVG: SOUND: Noise Frequency = %d\n" "SVG: SOUND: Envelope Frequency = %d\n" "SVG: SOUND: Envelope type = %d\n" "SVG: SOUND: ------------------------------------\n", (_sound_reg[7] & 1) ? 'A' : 'a', (_sound_reg[7] & 2) ? 'B' : 'b', (_sound_reg[7] & 4) ? 'C' : 'c', (_sound_reg[7] & 8) ? 'A' : 'a', (_sound_reg[7] & 16) ? 'B' : 'b', (_sound_reg[7] & 32) ? 'C' : 'c', (_sound_reg[8] & 16) ? 'A' : 'a', (_sound_reg[9] & 16) ? 'B' : 'b', (_sound_reg[10] & 16) ? 'C' : 'c', _sound_val[A], _sound_reg[8] & 0x0f, _sound_freq[0], _sound_val[B], _sound_reg[9] & 0x0f, _sound_freq[1], _sound_val[C], _sound_reg[10] & 0x0f, _sound_freq[2], _sound_reg[6] & 0x1f, _sound_reg[11] | (_sound_reg[12] << 8), _sound_reg[13] & 0x1f)); break; /* * change memory configuration: * * +---------+---------+---------+---------+ * | | | | | * | Page 3 | Page 2 | Page 1 | Page 0 | * | | | | | * +----+----+----+----+----+----+----+----+ * | | | | * | | | | * +---------+---------+---------+------- 00 - Slot 0 * 01 - Slot 1 * 02 - Slot 2 * 03 - Slot 3 * */ case 0xa8: DBG(2, form("KCemu/SVG/out_A8", "SVG::out(): %04xh val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); if ((_val_a8 & 0x03) != (val & 0x03)) set_page(0, val & 0x03); if ((_val_a8 & 0x0c) != (val & 0x0c)) set_page(1, (val & 0x0c) >> 2); if ((_val_a8 & 0x30) != (val & 0x30)) set_page(2, (val & 0x30) >> 4); if ((_val_a8 & 0xc0) != (val & 0xc0)) set_page(3, (val & 0xc0) >> 6); _val_a8 = val; break; case 0xaa: DBG(2, form("KCemu/SVG/out_AA", "SVG::out(): %04xh val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); /* * bit 0: output keyboard * bit 1: output keyboard * bit 2: output keyboard * bit 3: output keyboard * bit 4: tape motor (0 = on / 1 = off) * bit 5: tape data * bit 6: green led * bit 7: key click (0 = off / 1 = on) * */ ((Keyboard9 *)keyboard)->set_val(val & 15); _val_aa = val; break; case 0xab: DBG(2, form("KCemu/SVG/out_AB", "SVG::out(): %04xh val = %02x %d%d%d%d%d%d%d%d\n", addr, val, (val & 128) >> 7, (val & 64) >> 6, (val & 32) >> 5, (val & 16) >> 4, (val & 8) >> 3, (val & 4) >> 2, (val & 2) >> 1, (val & 1))); bit = val & 1; switch (val & 0x0e) { case 0x08: DBG(2, form("KCemu/SVG/TAPEMOTOR", "SVG::out(): TAPE MOTOR: %s\n", bit ? "off" : "on")); tape->power(!bit); break; case 0x0a: DBG(2, form("KCemu/SVG/TAPEDATA", "SVG::out(): TAPE DATA: %d\n", bit)); tape->tape_signal(); break; case 0x0c: DBG(2, form("KCemu/SVG/CAPSLOCKLED", "SVG::out(): CAPS LOCK LED: %s\n", bit ? "off" : "on")); break; case 0x0e: DBG(2, form("KCemu/SVG/KEYCLICK", "SVG::out(): KEYCLICK: %s\n", bit ? "on" : "off")); break; } _val_ab = val; break; } } void SVG::set_page(int page, int slot) { _page_info[page] = slot; #if 0 cout << "setting page " << page << " to slot " << slot << " => [" << _page_info[0] << "/" << _page_info[1] << "/" << _page_info[2] << "/" << _page_info[3] << "]" << endl; #endif ((Memory9 *)memory)->set_page(page, slot); } KCemu-0.5.1/src/kc/memory1.cc0000644000175000017500000001262512417262523016043 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/memory1.h" #include "libdbg/dbg.h" using namespace std; Memory1::Memory1(void) : Memory() { load_rom(SystemROM::ROM_KEY_SYSTEM, &_rom_os); load_rom(SystemROM::ROM_KEY_CHARGEN, &_rom_chargen); memset(&_irm[0], 0x70, 0x400); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_ram, "RAM", 0x0000, 0x4000, &_ram[0], 0, 0, 1, -1 }, { &_m_os, "OS", 0xf000, 0x1000, &_rom_os[0], 0, 1, 1, -1 }, { &_m_irm_ec,"IRM (text)", 0xec00, 0x0400, &_irm[0x400], 1, 0, 1, -1 }, /* * dummy entry needed for get_irm() if color * expansion is not installed */ { &_m_irm_e8,"IRM (color)", 0xe800, 0x0400, &_irm[0], 1, 1, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); register_romdi_handler(this); set_romdi(false); } Memory1::~Memory1(void) { z80->unregister_ic(this); unregister_romdi_handler(this); delete _m_scr; delete _m_ram; delete _m_os; delete _m_irm_e8; delete _m_irm_ec; } byte_t Memory1::memRead8(word_t addr) { for (memory_list_t::iterator it = _memory_list.begin();it != _memory_list.end();it++) (*it)->memory_read_byte(addr); return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void Memory1::memWrite8(word_t addr, byte_t val) { for (memory_list_t::iterator it = _memory_list.begin();it != _memory_list.end();it++) (*it)->memory_write_byte(addr, val); _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * Memory1::get_irm(void) { return (byte_t *)get_page_addr_r(0xe800); } byte_t * Memory1::get_char_rom(void) { return (byte_t *)_rom_chargen; } void Memory1::register_romdi_handler(ROMDIInterface *handler) { DBG(1, form("KCemu/Memory1/romdi", "Memory1::register_romdi_handler(): %p\n", handler)); _romdi_list.push_back(handler); } void Memory1::unregister_romdi_handler(ROMDIInterface *handler) { DBG(1, form("KCemu/Memory1/romdi", "Memory1::unregister_romdi_handler(): %p\n", handler)); _romdi_list.remove(handler); } void Memory1::set_romdi(bool val) { DBG(1, form("KCemu/Memory1/romdi", "Memory1::set_romdi(): %s\n", val ? "on" : "off")); _romdi = val; for (romdi_list_t::iterator it = _romdi_list.begin();it != _romdi_list.end();it++) (*it)->romdi(val); reload_mem_ptr(); } void Memory1::romdi(bool val) { DBG(1, form("KCemu/Memory1/romdi", "Memory1::romdi(): OS ROM %s\n", val ? "off" : "on")); _m_os->set_active(!val); } void Memory1::register_memory_handler(MemoryInterface *handler) { _memory_list.push_back(handler); } void Memory1::unregister_memory_handler(MemoryInterface *handler) { _memory_list.remove(handler); } void Memory1::reset(bool power_on) { if (!power_on) return; scratch_mem(&_ram[0], 0x4000); scratch_mem(&_irm[0x0400], 0x0400); if (get_irm() != _irm) scratch_mem(&_irm[0x0], 0x0400); else memset(&_irm[0], 0x70, 0x400); /* * Clear the first 1k of ram with the system variables. This saves * some trouble with the initialization. */ memset(&_ram[0], 0, 0x400); /* * The CPM-Z9 boot module is enabled/disabled by writing to address * ranges f800h-fbffh/fc00h-ffffh. The delete cursor routine at * fa33h uses the cursor address (2dh/2eh) which is initialized by * using cursor row/column from 2bh/2ch (although after using the * cursor address first). * * If the cursor address holds random values we may get memory * writes at addresses that disable the boot module at power on. * * To prevent the following initialization to be overwritten in the * startup routine we also need to initialize the EOR (end of ram) * pointer. * * How is this supposed to work on the real machine? */ _ram[0x2b] = 0x01; /* column */ _ram[0x2c] = 0x01; /* row */ _ram[0x2d] = 0x55; /* cursor address low */ _ram[0x2e] = 0x55; /* cursor address high */ _ram[0x36] = 0x00; /* logical ram end low */ _ram[0x37] = 0xc0; /* logical ram end high */ } void Memory1::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } KCemu-0.5.1/src/kc/keyb9.cc0000644000175000017500000000647712417262523015505 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/keys.h" #include "kc/keyb9.h" #include "kc/keyb9k.h" #include "cmd/cmd.h" Keyboard9::Keyboard9(void) { init(); z80->register_ic(this); } Keyboard9::~Keyboard9(void) { z80->unregister_ic(this); } void Keyboard9::init(void) { int a; for (a = 0;a < MAX_KEYS;a++) { _keybuf[a].sym = -1; _keybuf[a].code = -1; } } int Keyboard9::decode_key(int keysym, bool press) { return keysym; } void Keyboard9::keyPressed(int keysym, int keycode) { int a; int k; byte_t c1, c2, r1, r2; k = decode_key(keysym, true); if (k == -1) return; k = __keys[k]; c1 = r1 = 0; for (a = 0;a < MAX_KEYS;a++) { if (_keybuf[a].code != -1) { r1 |= 1 << (((__keys[_keybuf[a].sym] >> 4) & 0x0f) - 1); c1 |= 1 << (((__keys[_keybuf[a].sym] ) & 0x0f) - 1); } if (k != 0) if (_keybuf[a].code == -1) { _keybuf[a].sym = k & 0xff; _keybuf[a].code = keycode; r2 = 1 << (((k >> 4) & 0x0f) - 1); c2 = 1 << (((k ) & 0x0f) - 1); k >>= 8; } } #if 0 cout.form("##### Keyboard: keyPressed [%02x/%02x] " "r/c: [%02x/%02x]=>[%02x/%02x] -", keysym, keycode, r1, c1, r1 | r2, c1 | c2); for (a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code != -1) cout.form(" {%02d:%02x}", a, _keybuf[a].code); cout.form("\n"); #endif } void Keyboard9::keyReleased(int keysym, int keycode) { int a; if (keysym == -1) { for (a = 0;a < MAX_KEYS;a++) _keybuf[a].code = -1; return; } for (a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code == keycode) _keybuf[a].code = -1; #if 0 cout.form("##### Keyboard: keyReleased [%02x/%02x] -", keysym, keycode); for (a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code != -1) cout.form(" {%02d:%02x}", a, _keybuf[a].code); cout.form("\n"); #endif } void Keyboard9::replayString(const char *text) { } void Keyboard9::callback(void *data) { } void Keyboard9::reset(bool power_on) { init(); } void Keyboard9::reti(void) { } void Keyboard9::set_val(byte_t val) { _line = val; } byte_t Keyboard9::get_val() { int a, c; c = 0; for (a = 0;a < MAX_KEYS;a++) { if (_keybuf[a].code == -1) continue; if (_line == (((_keybuf[a].sym >> 4) & 0x0f) - 1)) c |= 1 << ((_keybuf[a].sym & 0x0f) - 1); } return ~c; } KCemu-0.5.1/src/kc/tape.cc0000644000175000017500000012002212417262523015372 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include /* FIXME */ #include #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/memstream.h" #include "kc/z80.h" #include "kc/tape.h" #include "kc/memory.h" #include "kc/basicrun.h" #include "sys/sysdep.h" #include "ui/ui.h" #include "ui/error.h" #include "ui/status.h" #include "libdbg/dbg.h" #define TAPE_IF() (ui->getTapeInterface()) using namespace std; class CMD_tape_load : public CMD { private: Tape *_t; public: CMD_tape_load(Tape *t) : CMD("tape-load") { _t = t; register_cmd("tape-load", 0); register_cmd("tape-run", 1); register_cmd("tape-delete", 2); } void execute(CMD_Args *args, CMD_Context context) { bool ret; istream *is; word_t addr; const char *name; char *shortname; char buf[1000]; kct_file_props_t props; if (!args) return; name = args->get_string_arg("tape-filename"); if (!name) return; switch (context) { case 0: case 1: is = _t->read(name, &props); if (!is) return; if (Preferences::instance()->get_kc_type() == KC_TYPE_Z1013) ret = memory->loadRAM_Z1013(is, props.load_addr); else ret = memory->loadRAM(is, true); if (!ret) break; shortname = sys_basename(name); snprintf(buf, sizeof(buf), _("File `%s' loaded."), shortname); free(shortname); Status::instance()->setMessage(buf); if (context != 1) break; switch (props.type) { case KCT_TYPE_BAS: case KCT_TYPE_BAS_P: switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: case KC_TYPE_87: /* * write autostart routine into tape buffer */ addr = 0x100; for (int a = 0;a < basicrun_len;a++) memory->memWrite8(addr + a, basicrun[a]); z80->jump(addr); break; default: break; } break; case KCT_TYPE_COM: z80->jump(props.start_addr); break; default: break; } TAPE_IF()->tapeNext(); break; case 2: _t->remove(name); break; } } }; class CMD_tape_attach : public CMD { private: Tape *_t; static const char * _path; public: CMD_tape_attach(Tape *t) : CMD("tape-attach") { _t = t; register_cmd("tape-attach", 0); register_cmd("tape-detach", 3); } void execute(CMD_Args *args, CMD_Context context) { bool create; char buf[1000]; tape_error_t err; char *shortname; const char *filename; create = false; filename = NULL; switch (context) { /* * tape-attach */ case 0: if (!args) args = new CMD_Args(); filename = args->get_string_arg("filename"); if (!filename) { args->set_string_arg("ui-file-select-title", _("Select tape-archive...")); if (_path) args->set_string_arg("ui-file-select-path", _path); args->add_callback("ui-file-select-CB-ok", this, 1); args->add_callback("ui-file-select-CB-cancel", this, 1); CMD_EXEC_ARGS("ui-file-select", args); return; } break; /* * ui-file-select-CB */ case 1: if (args) filename = args->get_string_arg("filename"); break; /* * ui-dialog-yes-no-CB-yes */ case 2: if (args) filename = args->get_string_arg("filename"); create = true; break; /* * tape-detach */ case 3: tape->detach(); CMD_EXEC("ui-tape-detached"); return; } if (filename) { _path = filename; err = tape->attach(filename, create); switch (err) { case TAPE_NOENT: if (!create) { args->set_string_arg("ui-dialog-title", _("create file?")); args->set_string_arg("ui-dialog-text", _("The file '%s' doesn't exist.\n" "Do you want to create it?")); args->set_string_arg("ui-dialog-text-arg", "filename"); args->add_callback("ui-dialog-yes-no-CB-yes", this, 2); CMD_EXEC_ARGS("ui-dialog-yes-no", args); } break; case TAPE_OK: case TAPE_OK_READONLY: shortname = sys_basename(filename); snprintf(buf, sizeof(buf), _("tape-archive `%s' attached."), shortname); free(shortname); Status::instance()->setMessage(buf); /* args should have 'filename' still set here! */ CMD_EXEC_ARGS("ui-tape-attached", args); break; default: Status::instance()->setMessage(_("Can't attach tape-archive.")); break; } } } }; const char * CMD_tape_attach::_path = NULL; class CMD_tape_export : public CMD { private: Tape *_t; static const char * _path; public: CMD_tape_export(Tape *t) : CMD("tape-export") { _t = t; register_cmd("tape-export"); register_cmd("tape-export-wav", 2); } void execute(CMD_Args *args, CMD_Context context) { char buf[1000]; const char *filename, *tapename; filename = 0; tapename = args->get_string_arg("tape-filename"); if (!tapename) return; switch (context) { case 0: if (!args) args = new CMD_Args(); filename = args->get_string_arg("filename"); if (!filename) { args->set_string_arg("ui-file-select-title", _("Export As...")); if (_path) args->set_string_arg("ui-file-select-path", _path); args->add_callback("ui-file-select-CB-ok", this, 1); args->add_callback("ui-file-select-CB-cancel", this, 1); CMD_EXEC_ARGS("ui-file-select", args); } /* fall through */ case 1: if (args) filename = args->get_string_arg("filename"); if (!filename) return; _path = filename; if (tape->export_tap(tapename, filename) == TAPE_OK) { sprintf(buf, _("File `%s' saved."), filename); Status::instance()->setMessage(buf); } else { Status::instance()->setMessage(_("Can't export file.")); } break; case 2: if (!args) args = new CMD_Args(); filename = args->get_string_arg("filename"); if (!filename) { args->set_string_arg("ui-file-select-title", _("Export As...")); if (_path) args->set_string_arg("ui-file-select-path", _path); args->add_callback("ui-file-select-CB-ok", this, 3); args->add_callback("ui-file-select-CB-cancel", this, 3); CMD_EXEC_ARGS("ui-file-select", args); } /* fall through */ case 3: if (args) filename = args->get_string_arg("filename"); if (!filename) return; _path = filename; if (tape->export_wav(tapename, filename) == TAPE_OK) { sprintf(buf, _("File `%s' saved."), filename); Status::instance()->setMessage(buf); } else { Status::instance()->setMessage(_("Can't export file.")); } break; } } }; const char * CMD_tape_export::_path = NULL; class CMD_tape_add_file : public CMD { private: Tape *_t; static const char * _path; public: CMD_tape_add_file(Tape *t) : CMD("tape-add-file") { _t = t; register_cmd("tape-add-file", 0); register_cmd("tape-rename-file", 3); } void execute(CMD_Args *args, CMD_Context context) { CMD_Args *a; fileio_prop_t *prop; kct_file_type_t type; const char *filename, *tapename; filename = 0; if (args) filename = args->get_string_arg("filename"); switch (context) { case 0: if (!filename) { a = new CMD_Args(); a->set_string_arg("ui-file-select-title", _("Select file...")); if (_path) a->set_string_arg("ui-file-select-path", _path); a->add_callback("ui-file-select-CB-ok", this, 1); CMD_EXEC_ARGS("ui-file-select", a); return; } /* fall through */ case 1: if (!filename) return; _path = filename; _t->add(filename); break; case 2: /* * this is the callback entry ui-tape-name-edit-CB-ok * which is used by the function add_file() */ prop = (fileio_prop_t *)args->get_pointer_arg("prop"); tapename = args->get_string_arg("tape-filename"); type = (kct_file_type_t)args->get_long_arg("type"); _t->add_file(tapename, prop, type, KCT_MACHINE_ALL); break; case 3: if (!filename) return; tapename = args->get_string_arg("tape-filename"); if (!tapename) return; _t->rename(filename, tapename); break; } } }; const char * CMD_tape_add_file::_path = NULL; class CMD_tape_play : public CMD { private: Tape *_t; public: CMD_tape_play(Tape *t) : CMD("tape-play") { _t = t; register_cmd("tape-play", 0); register_cmd("tape-record", 1); register_cmd("tape-stop", 2); } void execute(CMD_Args *args, CMD_Context context) { int delay; const char *name; switch (context) { case 0: if (!args) return; name = args->get_string_arg("tape-filename"); if (!name) return; delay = 0; if (args->has_arg("tape-play-delay")) delay = args->get_long_arg("tape-play-delay"); _t->play(name, delay); break; case 1: _t->record(); break; case 2: _t->stop(); break; } } }; static void dump_buf(const char *buf, int block) { int a, b; cout << "tape block dump: block " << hex << setw(2) << setfill('0') << block << "h [saved block number: " << hex << setw(2) << setfill('0') << (((int)*buf) & 0xff) << "h]" << endl; for (a = 0;a < 128;a += 16) { cout << hex << setw(2) << setfill('0') << a << ":"; for (b = 0;b < 16;b++) { cout << " " << hex << setw(2) << setfill('0') << (buf[a + b + 1] & 0xff); if (b == 8) cout << " -"; } cout << " | "; for (b = 0;b < 16;b++) { cout << (isprint(buf[a + b + 1]) ? buf[a + b + 1] : '.'); if (b == 8) cout << " - "; } cout << endl; } } Tape::Tape(int bit_0, int bit_1, int bit_s, int start_block) : Callback("Tape") { BIT_0 = bit_0; BIT_1 = bit_1; BIT_S = bit_s; _start_block = start_block; _record = false; _power = 0; /* FIXME: */ _flip_flop = 0; _bits = -1; _state = 0; _sync = 2; _tape_cb = 0; _cmd_tape_load = new CMD_tape_load(this); _cmd_tape_play = new CMD_tape_play(this); _cmd_tape_attach = new CMD_tape_attach(this); _cmd_tape_export = new CMD_tape_export(this); _cmd_tape_add_file = new CMD_tape_add_file(this); } Tape::~Tape() { delete _cmd_tape_load; delete _cmd_tape_play; delete _cmd_tape_attach; delete _cmd_tape_export; delete _cmd_tape_add_file; } void Tape::set_tape_callback(TapeCallback *tape_cb) { _tape_cb = tape_cb; } void Tape::power(bool val) { _power = val; DBG(1, form("KCemu/Tape/power", "Tape::power(): Power %s\n", _power ? "on" : "off")); TAPE_IF()->tapePower(_power); } void Tape::record(void) { _record = true; _sync = 2; _sync_count = 200; _flip_flop = 0; _byte_counter = 0; _state = 0; _play = false; _record = true; _os = new memstream(); } void Tape::play(const char *name, int delay) { long offset; kct_file_props_t props; DBG(1, form("KCemu/Tape/play", "Tape::play(): name = '%s', delay = %d seconds\n", name, delay)); if (name == NULL) return; _play = true; _record = false; _init = 4000; _last_block = 0; _record = false; _state = 0; _byte_counter = BLOCK_SIZE; _bytes_read = 0; _flip_flop = 0; _is = _kct_file.read(name, &props); _file_size = props.size; _file_type = props.type; if (_is == NULL) { DBG(1, form("KCemu/Tape/play", "Tape::play(): _is == NULL")); stop(); } else { offset = get_delay(delay); DBG(1, form("KCemu/Tape/play", "Tape::play(): trigger offset is %ld\n", offset)); z80->addCallback(offset, this, (void *)2); } } const char * Tape::get_filename(byte_t *data) { int a; static char filename[9]; memcpy(filename, data, 8); filename[8] = '\0'; for (a = 7;(a > 0) && (filename[a] != ' ');a++) filename[a] = '\0'; return filename; } bool Tape::check_addr(byte_t *data, long size) { unsigned short load, end, start, x; /* * finally look if specified addresses are plausible */ x = data[17]; load = data[18] | (data[19] << 8); end = data[20] | (data[21] << 8); start = data[22] | (data[23] << 8); if (load >= end) return false; if ((end - load - 1) > size) return false; if (x > 2) if ((start < load) || (start >= end)) return false; return true; } bool Tape::check_com(byte_t *data, long size) { int a; if ((data[9] == 'C') && (data[10] == 'O') && (data[11] == 'M')) if ((data[17] >= 2) && (data[18] <= 0x0a)) return check_addr(data, size - 129); for (a = 1;a < 9;a++) { if (data[a] == '\0') break; if ((data[a] >= 'A') && (data[a] <= 'Z')) continue; if ((data[a] >= 'a') && (data[a] <= 'z')) continue; if (strchr(" .&+", data[a]) != NULL) continue; break; } if (a > 1) return check_addr(data, size - 129); return false; } void Tape::stop(void) { byte_t *ptr; ofstream os; int load, start; kct_file_type_t type; const char *filename; _play = false; _record = false; TAPE_IF()->tapeProgress(0); if (!_os) return; if (((memstream *)_os)->size() == 0) return; os.open("/tmp/kcemu.output", ios::out | ios::binary); if (!os) cout << "Tape::stop(): can't open output file" << endl; else { ptr = (byte_t *)((memstream *)_os)->str(); DBG(1, form("KCemu/Tape/write", "Tape::stop(): writing output file (%d bytes)\n", ((memstream *)_os)->size())); os.write((char *)ptr, ((memstream *)_os)->size()); load = 0; start = 0; filename = "FILE"; if ((ptr[1] == 0xd3) && (ptr[2] == 0xd3) && (ptr[3] == 0xd3)) { type = KCT_TYPE_BAS; filename = get_filename(ptr + 4); } else if ((ptr[1] == 0xd4) && (ptr[2] == 0xd4) && (ptr[3] == 0xd4)) { type = KCT_TYPE_DATA; filename = get_filename(ptr + 4); } else if ((ptr[1] == 0xd5) && (ptr[2] == 0xd5) && (ptr[3] == 0xd5)) { type = KCT_TYPE_LIST; filename = get_filename(ptr + 4); } else if ((ptr[1] == 0xd7) && (ptr[2] == 0xd7) && (ptr[3] == 0xd7)) { type = KCT_TYPE_BAS_P; filename = get_filename(ptr + 4); } else { if (check_com(ptr, ((memstream *)_os)->size())) { type = KCT_TYPE_COM; load = ptr[18] | (ptr[19] << 8); start = ptr[22] | (ptr[23] << 8); filename = get_filename(ptr + 1); } else { type = KCT_TYPE_BIN; } } DBG(1, form("KCemu/Tape/write", "Tape::stop(): type = %s, load = %04xh, start = %04xh\n", _kct_file.type_name(type), load, start)); _kct_file.write(filename, ptr, ((memstream *)_os)->size(), load, start, type, KCT_MACHINE_ALL); update_tape_list(); os.close(); } delete _os; _os = NULL; } void Tape::seek(int percent) { unsigned long offset; DBG(1, form("KCemu/Tape/seek", "Tape::seek(): seek to %d percent\n", percent)); if (!_is) return; offset = (percent * _file_size) / 100; offset -= (offset % 129); DBG(1, form("KCemu/Tape/seek", "Tape::seek(): new offset is %ld (file size is %ld)\n", offset, _file_size)); _is->seekg(offset); } long Tape::get_delay(int seconds) { return 600 * BIT_S * seconds; } void Tape::callback(void *data) { long edge = (long)data; if (_play) do_play(edge); } void Tape::do_play_bic(int edge) { static int bit; static byte_t byte; static int bytes; if (_state == 0) { _state++; bytes = 0; } if (_init > 0) { _init--; z80->addCallback(600, this, (void *)1); z80->addCallback(1200, this, (void *)0); return; } if (_init == 0) { bit = 0; _init = -1; z80->addCallback(1300, this, (void *)1); z80->addCallback(2600, this, (void *)0); return; } if (_is == NULL) return; if (bit == 0) { bytes++; byte = _is->get(); int peek = ((memstream *)_is)->peek(); // FIXME: bug in memstream if (peek == EOF) return; } if (bit < 8) { if (byte & (1 << bit)) { z80->addCallback( 600, this, (void *)1); z80->addCallback(1200, this, (void *)1); z80->addCallback(1800, this, (void *)1); z80->addCallback(2400, this, (void *)0); } else { z80->addCallback(1300, this, (void *)1); z80->addCallback(2600, this, (void *)0); } } else { z80->addCallback( 600, this, (void *)1); z80->addCallback(1200, this, (void *)1); z80->addCallback(1800, this, (void *)1); z80->addCallback(2400, this, (void *)0); } bit++; if (bit == 10) { bit = 0; _init = 0; if (bytes == 16) _init = 4000; } if ((bytes % 128) == 127) TAPE_IF()->tapeProgress((100 * bytes) / _file_size); } void Tape::do_play_z1013(int edge) { static int idx; static int bidx; static int byte; static int bytes; static int blocks; static int hs_flag; if (_is == NULL) return; switch (_state) { case 0: // SYNC z80->addCallback(1500, this, (void *)1); z80->addCallback(3000, this, (void *)0); if (_init > 0) { _init--; } else { idx = 20; bytes = 0; blocks = 0; hs_flag = 0; _state++; } break; case 1: // BLOCK SYNC z80->addCallback(1550, this, (void *)1); z80->addCallback(3100, this, (void *)0); if (idx > 0) { idx--; } else { idx = 20; _state++; } break; case 2: // BLOCK START z80->addCallback(775, this, (void *)1); z80->addCallback(1550, this, (void *)0); bidx = 0; _state++; break; case 3: // BLOCK DATA if (bidx == 0) { byte = _is->get(); if (byte == EOF) return; if (blocks == 0) { if ((bytes == 15) && (byte == 0xd3)) hs_flag++; if ((bytes == 16) && (byte == 0xd3)) hs_flag++; if ((bytes == 17) && (byte == 0xd3)) hs_flag++; } //cout << hex << setw(2) << setfill('0') << (int)byte << " "; bytes++; } if (byte & (1 << bidx)) { z80->addCallback(775, this, (void *)0); } else { z80->addCallback(387, this, (void *)1); z80->addCallback(775, this, (void *)0); } bidx++; if (bidx == 8) { bidx = 0; if ((bytes % 36) == 0) { _state = 1; if (hs_flag == 3) { // long sync after first header save block idx = 1000; hs_flag = 0; } //cout << endl; TAPE_IF()->tapeProgress((100 * bytes) / _file_size); blocks++; } } break; } } void Tape::do_play_basicode(int edge) { static int idx; static int bidx; static int byte; static int bytes; static int checksum; static int done; if (_is == NULL) return; switch (_state) { case 0: // SYNC HEADER if (_init > 0) { _init = 0; idx = 12000; } z80->addCallback(BIT_0, this, (void *)1); z80->addCallback(2 * BIT_0, this, (void *)0); if (--idx == 0) { idx = 20; byte = 0x82; // START BYTE bytes = 0; bidx = 0; checksum = 0; done = 0; _state++; } break; case 1: // PROGRAM DATA if (bidx == 11) { if (done) { // END SYNC idx = 400; z80->addCallback(BIT_0, this, (void *)1); z80->addCallback(2 * BIT_0, this, (void *)0); _state = 3; return; } else if (byte == 0x83) // END BYTE { byte = checksum; done = 1; } else { byte = _is->get(); if (byte == EOF) byte = 0x83; // END BYTE else byte ^= 0x80; } bytes++; bidx = 0; } switch (bidx) { case 0: // START BIT checksum ^= byte; z80->addCallback(BIT_1, this, (void *)1); z80->addCallback(2 * BIT_1, this, (void *)0); if ((bytes % 256) == 255) TAPE_IF()->tapeProgress((100 * bytes) / _file_size); break; case 9: // STOP BITS case 10: z80->addCallback(BIT_0, this, (void *)1); z80->addCallback(2 * BIT_0, this, (void *)0); break; default: // DATA BITS 0 - 7 if (byte & (1 << (bidx - 1))) { z80->addCallback(BIT_0, this, (void *)1); z80->addCallback(2 * BIT_0, this, (void *)0); _state++; } else { z80->addCallback(BIT_1, this, (void *)1); z80->addCallback(2 * BIT_1, this, (void *)0); } break; } bidx++; break; case 2: // second wave for 1 bits z80->addCallback(BIT_0, this, (void *)1); z80->addCallback(2 * BIT_0, this, (void *)0); _state--; break; case 3: // SYNC TRAILER if (idx > 0) { idx--; z80->addCallback(BIT_0, this, (void *)1); z80->addCallback(2 * BIT_0, this, (void *)0); } break; } } void Tape::do_play(int edge) { int len; if (_tape_cb) _tape_cb->tape_callback(edge); if (edge == 1) { /* * rising edge of signal */ return; } if (edge == 2) { /* * trigger signal to get everything running... * this comes (delayed) from the automatic playing so we * ignore this if power is off */ DBG(1, form("KCemu/Tape/play", "Tape::play(): got first signal (power = %d)\n", _power)); if (!_power) return; } if (_file_type == KCT_TYPE_BASICODE) { do_play_basicode(edge); return; } switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_A5105: do_play_bic(edge); return; case KC_TYPE_Z1013: do_play_z1013(edge); return; default: break; } /* * sync tape and computer */ if (_init) { _init--; z80->addCallback(BIT_1, this, (void *)1); z80->addCallback(2 * BIT_1, this, (void *)0); //if (_init < 8) //cout << 'I' << flush; if (_init == 0) { _bits = 0; //cout << '\n' << flush; } return; } /* * check for new block */ if (_byte_counter == BLOCK_SIZE) { if (_last_block) { TAPE_IF()->tapeNext(); /* * end of file */ return; } if (_is == NULL) { /* * abort if no input stream */ DBG(1, form("KCemu/Tape/play", "Tape::play(): no input stream\n")); return; } _bytes_read = ((memstream *)_is)->tellg(); // FIXME: bug in memstream /* * start_block is 0 for KC 85/1, KC 87 .COM files * 1 for KC 85/1, KC 87 basic files * 1 for KC 85/3, KC 85/4 all files */ //_block = _bytes_read / 128; //if (_file_type == KCT_TYPE_BAS) //_block += 1; //else //_block += _start_block; _byte_counter = 0; memset(_buf, 0, 129); /* * use get() for now; read() / gcount() is broken for * the current memstream class */ len = 0; while (len < 129) { int c = _is->get(); if (c == EOF) break; _buf[len++] = c; } _block = _buf[0]; TAPE_IF()->tapeProgress((100 * _bytes_read) / _file_size); if (_block > _start_block) { _init = 200; if (_file_type == KCT_TYPE_LIST) _init = 2000; } else { _init = 4000; } int peek = ((memstream *)_is)->peek(); // FIXME: bug in memstream if ((len != 129) || (peek == EOF)) { /* * last block */ DBG(1, form("KCemu/Tape/play", "Tape::play(): len = %d, peek() = %d\n", len, peek)); _last_block = 1; delete _is; _is = NULL; } DBG(1, form("KCemu/Tape/play", "Tape::play(): starting tape block %d [%d/%d]\n", _block, _bytes_read, _file_size)); z80->addCallback(BIT_1, this, (void *)1); z80->addCallback(2 * BIT_1, this, (void *)0); return; } /* * handle special bytes: * * byte 0: block number * byte 129: checksum */ if (_bits == -1) { _bits = 8; switch (_byte_counter) { case 0: _byte = _block; _crc = 0; break; case 129: _byte = _crc; break; default: _byte = _buf[_byte_counter]; // _buf[0] is block number! _crc += _byte; break; } _byte_counter++; //if ((_byte_counter % 8) == 0) //cout << '\n' << flush; } /* * sync bit */ if (_bits == 0) { //cout << 'S' << flush; z80->addCallback(BIT_S, this, (void *)1); z80->addCallback(2 * BIT_S, this, (void *)0); } else { if (_byte & (1 << (8 - _bits))) { /* * 1 bit */ //cout << '1' << flush; z80->addCallback(BIT_1, this, (void *)1); z80->addCallback(2 * BIT_1, this, (void *)0); } else { /* * 0 bit */ //cout << '0' << flush; z80->addCallback(BIT_0, this, (void *)1); z80->addCallback(2 * BIT_0, this, (void *)0); } } _bits--; } void Tape::tape_signal_bic(long diff) { int bit_type; static int byte, obit; if (diff > 1000) bit_type = 0; else bit_type = 1; if (_sync > 0) { if (bit_type == 1) _sync--; else _sync = 100; return; } if ((_sync == 0) && (bit_type == 1)) { _bits = 11; _byte_counter = 0; return; } _sync = -1; if (_flip_flop == 0) _flip_flop++; else if (obit == bit_type) _flip_flop++; if ((bit_type == 0) && (_flip_flop == 2)) { byte >>= 1; _flip_flop = 0; byte &= 0x3ff; _bits--; } else if ((bit_type == 1) && (_flip_flop == 4)) { byte >>= 1; _flip_flop = 0; byte |= 0x400; _bits--; } if (_bits == 0) { _bits = 11; if (byte & 1) { _sync = 100; cout << "SYNC" << endl; } else { _byte = (byte >> 1) & 0xff; cout << "byte: " << hex << (int)_byte << " - " << (int)byte << endl; _os->write((const char *)&_byte, 1); } } obit = bit_type; } void Tape::tape_signal_z1013(long diff) { int bit, sum; static int idx; static int sync; static int byte; static int bidx; static int state = 0; static bool first; static byte_t buf[36]; if (diff > 20000) { state = 0; sync = 100; return; } switch (state) { case 0: // SYNC if (sync > 0) { if (diff > 1200) sync--; else sync = 100; } if (sync == 0) { sync = 100; state++; } break; case 1: // BLOCK SYNC if (diff > 1200) break; if (diff < 580) { sync = 100; state = 0; break; } state++; break; case 2: // BLOCK START if ((diff < 580) || (diff > 1200)) { sync = 100; state = 0; break; } idx = 0; bidx = 0; first = false; state++; break; case 3: // BLOCK DATA if (diff > 1200) { sync = 100; state = 0; break; } bit = (diff > 580) ? 128 : 0; if (bit == 0) { if (first) { first = false; } else { first = true; break; } } bidx++; byte >>= 1; byte = (byte & 0x7f) | bit; if (bidx == 8) { bidx = 0; buf[idx++] = byte; if (idx == 36) { sum = 0; for (idx = 0;idx < 34;idx += 2) sum += buf[idx] | (buf[idx + 1] << 8); sum &= 0xffff; //for (idx = 0;idx < 36;idx++) //cout << hex << setw(2) << setfill('0') << (int)buf[idx] << " "; //cout << "=> " << (sum & 0xff) << " " << ((sum >> 8) & 0xff) << endl; for (idx = 0;idx < 36;idx++) _os->write((const char *)&buf[idx], 1); idx = 0; state = 1; } } break; } } void Tape::tape_signal(void) { long diff; int bit_type; static unsigned long long c_old, c_new; if (!_power) return; /* * abort if no output stream */ if (_os == NULL) return; if (!_record) return; c_new = z80->getCounter(); diff = c_new - c_old; c_old = c_new; switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_A5105: tape_signal_bic(diff); return; case KC_TYPE_Z1013: tape_signal_z1013(diff); return; default: break; } if (diff < ((BIT_0 + BIT_1) / 2)) bit_type = 0; else if (diff > ((BIT_S + BIT_1) / 2)) bit_type = 2; else bit_type = 1; if (_sync > 0) { /* * skip sync block */ if (bit_type == 1) return; /* * skip first stop bit */ if (bit_type == 2) { _sync--; cout << '*' << flush; _bits = 8; _byte_counter = 0; } else { cout << '?' << flush; } return; } if (++_flip_flop == 2) { _flip_flop = 0; switch (bit_type) { case 0: /* 0 bit */ DBG(2, form("KCemu/Tape/record", "0")); _byte >>= 1; _byte &= 0x7f; _bits--; break; case 1: /* 1 bit */ DBG(2, form("KCemu/Tape/record", "1")); _byte >>= 1; _byte |= 0x80; _bits--; break; case 2: /* separator bit */ DBG(2, form("KCemu/Tape/record", "S")); _bits = 8; break; } if (_bits == 0) { _bits = -1; switch (_state) { case 0: /* * block number */ _state++; _block = _byte; _buf[0] = _byte; memset(&_buf[1], 0, 128); _crc_calculated = 0; DBG(1, form("KCemu/Tape/block-info", "Tape output: block %02x\n", _block)); break; case 1: /* * block data */ _buf[_byte_counter + 1] = _byte; _byte_counter++; _crc_calculated += _byte; if (_byte_counter == 128) { _byte_counter = 0; _state++; dump_buf((char *)_buf, _block); } break; case 2: /* * block crc */ _state++; _crc = _byte; if (_crc_calculated == _crc) _os->write((char *)_buf, 129); else DBG(0, form("KCemu/Tape/block-info", "Tape output: wrong crc: %04x != %04x\n", _crc, _crc_calculated)); break; case 3: /* * skip one byte ?!? */ _state = 0; _sync = 2; break; } } } } tape_error_t Tape::attach(const char *filename, bool create) { KCTDir *dir; kct_error_t err; _kct_file.close(); if (create) { DBG(0, form("KCemu/Tape/attach", "Tape::attach(): create (%s)\n", filename)); if (_kct_file.create(filename) != KCT_OK) return TAPE_ERROR; } else { DBG(0, form("KCemu/Tape/attach", "Tape::attach(): open (%s)\n", filename)); err = _kct_file.open(filename); switch (err) { case KCT_OK: case KCT_OK_READONLY: break; case KCT_ERROR_NOENT: return TAPE_NOENT; default: return TAPE_ERROR; } } dir = _kct_file.readdir(); TAPE_IF()->tapeAttach(""); for (KCTDir::iterator it = dir->begin();it != dir->end();it++) { DBG(1, form("KCemu/Tape/attach", "Tape::attach(): %s (0x%02x)\n", (*it)->name, (*it)->type)); TAPE_IF()->tapeAddFile((*it)->name, (*it)->load_addr, (*it)->start_addr, (*it)->uncompressed_size, (*it)->type); } if (_kct_file.is_readonly()) return TAPE_OK_READONLY; return TAPE_OK; } tape_error_t Tape::detach(void) { DBG(0, form("KCemu/Tape/detach", "Tape::detach(): close\n")); stop(); _kct_file.close(); TAPE_IF()->tapeDetach(); TAPE_IF()->tapeProgress(0); return TAPE_OK; } tape_error_t Tape::add(const char *name) { fileio_prop_t *ptr, *prop; if (fileio_load_file(name, &prop) != 0) return TAPE_ERROR; if (DBG_check("KCemu/Tape/add")) fileio_debug_dump(prop, 0); for (ptr = prop;ptr != NULL;ptr = ptr->next) { kct_file_type_t type; switch (ptr->type) { case FILEIO_TYPE_COM: type = KCT_TYPE_COM; DBG(0, form("KCemu/Tape/add", "Tape::add(): '%s' %04x/%04x [COM]\n", (const char *)&ptr->name[0], ptr->load_addr, ptr->start_addr)); break; case FILEIO_TYPE_BAS: type = KCT_TYPE_BAS; DBG(0, form("KCemu/Tape/add", "Tape::add(): '%s' [BAS]\n", (const char *)&ptr->name[0])); break; case FILEIO_TYPE_DATA: type = KCT_TYPE_DATA; DBG(0, form("KCemu/Tape/add", "Tape::add(): '%s' [DATA]\n", (const char *)&ptr->name[0])); break; case FILEIO_TYPE_LIST: type = KCT_TYPE_LIST; DBG(0, form("KCemu/Tape/add", "Tape::add(): '%s' [LIST]\n", (const char *)&ptr->name[0])); break; case FILEIO_TYPE_PROT_BAS: type = KCT_TYPE_BAS_P; DBG(0, form("KCemu/Tape/add", "Tape::add(): '%s' [BAS_P]\n", (const char *)&ptr->name[0])); break; case FILEIO_TYPE_BASICODE: type = KCT_TYPE_BASICODE; DBG(0, form("KCemu/Tape/add", "Tape::add(): '%s' [BASICODE]\n", (const char *)&ptr->name[0])); break; default: Error::instance()->info(_("The format of the selected file is not recognized.")); DBG(0, form("KCemu/Tape/add", "Tape::add(): '%s' %04x/%04x [ignored]\n", (const char *)&ptr->name[0], ptr->load_addr, ptr->start_addr)); return TAPE_ERROR; } add_file((const char *)&ptr->name[0], ptr, type, KCT_MACHINE_ALL); } update_tape_list(); fileio_free_prop(&prop); return TAPE_OK; } tape_error_t Tape::add_file(const char *name, fileio_prop_t *prop, kct_file_type_t type, kct_machine_type_t machine) { char buf[1000]; kct_error_t err; CMD_Args *args = 0; err = _kct_file.write(name, prop->data, prop->size, prop->load_addr, prop->start_addr, type, KCT_MACHINE_ALL); if (err != KCT_ERROR_EXIST) { snprintf(buf, 1000, _("File `%s' [%s] added."), name, prop->filetype); Status::instance()->setMessage(buf); return TAPE_OK; } if (args == 0) args = new CMD_Args(); args->set_string_arg("tape-rename-title", _("The file you selected has a name that is already\n" "present in the current tape archive.\n" "\n" "Please select a different name to add this file\n" "to the tape archive or use the cancel button to\n" "skip this file.")); args->set_string_arg("tape-filename", name); args->set_pointer_arg("prop", prop); args->set_long_arg("type", type); args->add_callback("ui-tape-name-edit-CB-ok", _cmd_tape_add_file, 2); CMD_EXEC_ARGS("ui-tape-name-edit", args); return TAPE_OK; } void Tape::update_tape_list(void) { KCTDir *dir; /* * FIXME: update tape listing */ dir = _kct_file.readdir(); TAPE_IF()->tapeAttach(""); for (KCTDir::iterator it = dir->begin();it != dir->end();it++) { TAPE_IF()->tapeAddFile((*it)->name, (*it)->load_addr, (*it)->start_addr, (*it)->uncompressed_size, (*it)->type); } } tape_error_t Tape::add_raw(const char *filename, const char *tape_filename, const char *kc_filename, unsigned short load, unsigned short start, bool autostart) { FILE *f; int len; unsigned char buf[65536 + 256]; if ((f = fopen(filename, "rb")) == NULL) { cerr << "can't open `" << filename << "'" << endl; return TAPE_ERROR; } memset(buf, 0, 128); len = fread(buf + 128, 1, 65536, f); fclose(f); strcpy((char *)buf, kc_filename); buf[17] = load & 0xff; buf[18] = (load >> 8) & 0xff; load += len + 1; buf[19] = load & 0xff; buf[20] = (load >> 8) & 0xff; if (autostart) { buf[16] = 3; buf[21] = start & 0xff; buf[22] = (start >> 8) & 0xff; } else { buf[16] = 2; buf[21] = 0xff; buf[22] = 0xff; } _kct_file.write(tape_filename, buf, len + 128, load, start, KCT_TYPE_COM, KCT_MACHINE_ALL); update_tape_list(); return TAPE_OK; } tape_error_t Tape::rename(const char *from, const char *to) { if (_kct_file.rename(from, to) != KCT_OK) return TAPE_ERROR; update_tape_list(); return TAPE_OK; } tape_error_t Tape::remove(const char *name) { int idx; //cout << "Tape::remove(): [1] " << name << endl; // FIXME: using the index internal to the user interface // is kinda ugly if (name == NULL) { idx = TAPE_IF()->tapeGetSelected(); name = TAPE_IF()->tapeGetName(idx); if (name == NULL) return TAPE_ERROR; } //cout << "Tape::remove(): [2] " << name << endl; _kct_file.remove(name); TAPE_IF()->tapeRemoveFile(idx); update_tape_list(); return TAPE_OK; } tape_error_t Tape::export_tap(const char *name, const char *filename) { int ret; byte_t *buf; istream *is; unsigned int a; kct_file_props_t props; is = tape->read(name, &props); if (!is) return TAPE_ERROR; buf = new byte_t[props.size]; for (a = 0;a < props.size;a++) buf[a] = is->get(); delete is; ret = fileio_save_tap(filename, buf, props.size); delete[] buf; if (ret < 0) return TAPE_ERROR; return TAPE_OK; } tape_error_t Tape::export_wav(const char *name, const char *filename) { int ret; byte_t *buf; istream *is; unsigned int a; kct_file_props_t props; is = tape->read(name, &props); if (!is) return TAPE_ERROR; buf = new byte_t[props.size]; for (a = 0;a < props.size;a++) buf[a] = is->get(); delete is; ret = fileio_save_wav(filename, buf, props.size); delete[] buf; if (ret < 0) return TAPE_ERROR; return TAPE_OK; } istream * Tape::read(const char *name, kct_file_props_t *props) { return _kct_file.read(name, props); } KCemu-0.5.1/src/kc/ctc_dio.cc0000644000175000017500000000512612417262523016054 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/ctc_dio.h" #include "libdbg/dbg.h" CTC_DIO::CTC_DIO(void) { } CTC_DIO::~CTC_DIO(void) { } byte_t CTC_DIO::in(word_t addr) { DBG(2, form("KCemu/CTC/DIO/in", "CTC_DIO::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return c_in(0); case 1: return c_in(1); case 2: return c_in(2); case 3: return c_in(3); } return 0; // shouldn't be reached } void CTC_DIO::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/DIO/out", "CTC_DIO::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTC_DIO::irq_0(void) { DBG(2, form("KCemu/CTC_DIO/irq/0", "CTC::irq_0()\n")); trigger(1); return true; } bool CTC_DIO::irq_1(void) { DBG(2, form("KCemu/CTC_DIO/irq/1", "CTC::irq_1()\n")); return true; } bool CTC_DIO::irq_2(void) { DBG(2, form("KCemu/CTC_DIO/irq/2", "CTC::irq_2()\n")); return true; } bool CTC_DIO::irq_3(void) { DBG(2, form("KCemu/CTC_DIO/irq/3", "CTC::irq_3()\n")); return true; } long CTC_DIO::counter_value_0(void) { return 0; } long CTC_DIO::counter_value_1(void) { return 0; } long CTC_DIO::counter_value_2(void) { return 0; } long CTC_DIO::counter_value_3(void) { return 0; } void CTC_DIO::trigger_irq(int channel) { CTC_Base::trigger_irq(channel); } void CTC_DIO::add_callback(unsigned long long offset, Callback *cb, void *data) { CTC_Base::add_callback(offset, cb, data); } KCemu-0.5.1/src/kc/pio8.cc0000644000175000017500000002556212417262523015335 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/pio8.h" #include "libdbg/dbg.h" #include "kc/cb.h" // FIXME: DEBUG #include "cmd/cmd.h" // FIXME: DEBUG #define memory ((Memory1 *)memory) using namespace std; static byte_t head0[] = { 0x00, 0x00, 0x00, 0x20, 0x26, 0x20, 0xd1 }; static byte_t prog0[] = { 0xdd, 0x21, 0x20, 0x20, 0xcd, 0x5a, 0x08, 0xfe, 0x10, 0x20, 0xf9, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0xe3, 0x4f, 0xc2, 0xce, 0x6b }; static byte_t head1[] = { 0x01, 0x00, 0x00, 0x20, 0x2c, 0x20, 0xc0 }; static byte_t prog1[] = { 0x21, 0x26, 0x20, 0xe5, 0xdd, 0x21, 0x20, 0x20, 0xdd, 0xe3, 0x06, 0x32, 0xcd, 0x83, 0x08, 0x10, 0xfb, 0x18, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0xe3, 0x4f, 0xc2, 0xce, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static byte_t head2[] = { 0x02, 0x00, 0x00, 0x20, 0x1e, 0x20, 0xd4 }; static byte_t prog2[] = { 0x3e, 0xff, 0xd3, 0xf5, 0x06, 0x50, 0xcd, 0x18, 0x20, 0x10, 0xfb, 0x3e, 0xfd, 0xd3, 0xf5, 0x06, 0x50, 0xcd, 0x18, 0x20, 0x10, 0xfb, 0x18, 0xe8, 0x0e, 0xff, 0x0d, 0x20, 0xfd, 0xc9 }; class TapeTest : public Callback, public CMD { private: int _idx; int _state; int _1, _2; byte_t *_head; byte_t *_prog; byte_t _prog_len; public: TapeTest(void); virtual ~TapeTest(void); void callback(void *data); void execute(CMD_Args *args, CMD_Context context); int send_byte(byte_t *data, int len, int state); }; TapeTest::TapeTest(void) : Callback("TapeTest"), CMD("TAPETEST") { register_cmd("lc80-key-f10", 0); register_cmd("lc80-key-f11", 1); register_cmd("lc80-key-f12", 2); } TapeTest::~TapeTest(void) { } void TapeTest::callback(void *data) { static int cnt; long i = (long)data; if (i == 0) { pio->set_B_EXT(1, 1); return; } else { pio->set_B_EXT(1, 0); } switch (_state) { case 0: cnt = 4000; z80->addCallback(500, this, (void *)0); z80->addCallback(1000, this, (void *)1); //cout << "state => 1" << endl; _state = 1; break; case 1: z80->addCallback(500, this, (void *)0); z80->addCallback(1000, this, (void *)1); if (--cnt == 0) { _state = 2; //cout << "state => 2" << endl; } break; case 2: cnt = 4000; z80->addCallback(200, this, (void *)0); z80->addCallback(400, this, (void *)1); //cout << "state => 3" << endl; _idx = 0; _state = 3; break; case 3: _state = send_byte(_head, 7, 3); break; case 4: z80->addCallback(200, this, (void *)0); z80->addCallback(400, this, (void *)1); if (--cnt == 0) { _idx = 0; _state = 5; cnt = 4000; //cout << "state => 5" << endl; } break; case 5: _state = send_byte(_prog, _prog_len, 5); break; case 6: z80->addCallback(200, this, (void *)0); z80->addCallback(400, this, (void *)1); if (--cnt == 0) { _state = 7; //cout << "state => 7" << endl; } break; case 7: //cout << "TAPE END" << endl; break; default: break; } } int TapeTest::send_byte(byte_t *data, int len, int state) { static int i = 0; if (_1 == 0) { if (i == 0) { _1 = 3; _2 = 12; } else if (i == 9) { _1 = 6; _2 = 6; } else if (data[_idx] & (1 << (i - 1))) { _1 = 6; _2 = 6; } else { _1 = 3; _2 = 12; } } if (_2 > 0) { _2--; z80->addCallback(200, this, (void *)0); z80->addCallback(400, this, (void *)1); } else if (_1 > 0) { _1--; z80->addCallback(500, this, (void *)0); z80->addCallback(1000, this, (void *)1); } if (_1 == 0) { i++; if (i > 9) { i = 0; _idx++; if (_idx >= len) return state + 1; } } return state; } void TapeTest::execute(CMD_Args *args, CMD_Context context) { _idx = 0; _state = 0; _1 = _2 = 0; switch (context) { case 1: _head = head1; _prog = prog1; _prog_len = sizeof(prog1); break; case 2: _head = head2; _prog = prog2; _prog_len = sizeof(prog2); break; default: _head = head0; _prog = prog0; _prog_len = sizeof(prog0); break; } z80->addCallback(0, this, (void *)1); } static TapeTest *__tape_test; void PIO8_1::draw_leds(void) { #if 0 int a; printf("\x1b\x5b\x48"); // --- line 1 --------------- for (a = 0;a < 6;a++) { if (_led_value[a] & 4) printf(" --- "); else printf(" "); } printf(" \n"); // --- line 2 --------------- for (a = 0;a < 6;a++) { if (_led_value[a] & 2) printf("| "); else printf(" "); if (_led_value[a] & 1) printf("|"); else printf(" "); } printf(" \n"); // --- line 3 --------------- for (a = 0;a < 6;a++) { if (_led_value[a] & 2) printf("| "); else printf(" "); if (_led_value[a] & 1) printf("|"); else printf(" "); } printf(" \n"); // --- line 4 --------------- for (a = 0;a < 6;a++) { if (_led_value[a] & 8) printf(" --- "); else printf(" "); } printf(" \n"); // --- line 5 --------------- for (a = 0;a < 6;a++) { if (_led_value[a] & 64) printf("| "); else printf(" "); if (_led_value[a] & 32) printf("|"); else printf(" "); } printf(" \n"); // --- line 6 --------------- for (a = 0;a < 6;a++) { if (_led_value[a] & 64) printf("| "); else printf(" "); if (_led_value[a] & 32) printf("|"); else printf(" "); } printf(" \n"); // --- line 7 --------------- for (a = 0;a < 6;a++) { if (_led_value[a] & 128) printf(" --- "); else printf(" "); } printf(" \n"); printf(" \n"); #endif } PIO8_1::PIO8_1(void) { __tape_test = new TapeTest(); reset(true); } PIO8_1::~PIO8_1(void) { } byte_t PIO8_1::in(word_t addr) { DBG(2, form("KCemu/PIO/8a/in", "PIO8_1::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return in_A_DATA(); case 1: return in_B_DATA(); case 2: return in_A_CTRL(); case 3: return in_B_CTRL(); } return 0; // shouldn't be reached } void PIO8_1::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/8a/out", "PIO8_1::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO8_1::change_A(byte_t changed, byte_t val) { _led_value_latch = ~val; } void PIO8_1::change_B(byte_t changed, byte_t val) { int selected_led = -1; _led_value[6] = (val & 2) ? 1 : 0; if (changed & 2) tape_signal(_led_value[6]); for (int a = 2;a < 8;a++) { if ((val & (1 << a)) == 0) { selected_led = 5 - (a - 2); break; } } if (selected_led < 0) return; _led_value[selected_led] = _led_value_latch; //draw_leds(); } byte_t PIO8_1::get_led_value(int index) { if (index < 0) return 0; if (index > 6) return 0; return _led_value[index]; } void PIO8_1::reset(bool power_on) { for (int a = 0;a < 7;a++) _led_value[a] = 0; } void PIO8_1::tape_callback(byte_t val) { //cout << "PIO8_1::tape_callback()" << endl; } void PIO8_1::tape_signal(int val) { int freq = 0; long long c; static long long diff; static long long cnt = 0; static int sync = 1000; c = z80->getCounter(); if (val == 1) { //cout << "(" << dec << c - cnt << "/"; diff = c - cnt; cnt = c; return; } else { //cout << (c - cnt) << ")"; diff += c - cnt; cnt = c; } if (diff < 800) freq = 2; // 2 kHz else if (diff > 1400) sync = 1000; // pause else freq = 1; // 1 kHz // SYNC if (sync > 0) { if (freq == 1) sync--; else sync = 1000; return; } if (sync == 0) { if (freq == 1) return; sync = -1; } //cout << "{" << dec << diff << "}"; tape_bit(freq); } void PIO8_1::tape_bit(int freq) { static int cnt = 0; static int byte = 0; static int val = 0; static bool got1 = false; //cout << freq; if (freq == 2) { val++; if (got1) { int bit = (val >= 0) ? 0 : 1; // cout << " [" << bit << "] " << endl; val = 0; got1 = false; byte >>= 1; byte |= bit << 9; cnt++; if (cnt == 10) { tape_byte(byte); cnt = 0; byte = 0; } } } else { val -= 2; got1 = true; } //cout << flush; } void PIO8_1::tape_byte(int byte) { byte = (byte >> 1) & 0xff; cout << hex << " |" << setw(2) << byte << "|" << endl; } PIO8_2::PIO8_2(void) { } PIO8_2::~PIO8_2(void) { } byte_t PIO8_2::in(word_t addr) { DBG(2, form("KCemu/PIO/8b/in", "PIO8_2::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return in_A_DATA(); case 1: return in_B_DATA(); case 2: return in_A_CTRL(); case 3: return in_B_CTRL(); } return 0; // shouldn't be reached } void PIO8_2::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/8b/out", "PIO8_2::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO8_2::change_A(byte_t changed, byte_t val) { } void PIO8_2::change_B(byte_t changed, byte_t val) { if (changed & 0x02) { cout << "tape_signal()" << endl; tape->tape_signal(); } } KCemu-0.5.1/src/kc/ports6.cc0000644000175000017500000000411112417262523015676 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio6.h" #include "kc/keyb6.h" #include "kc/ports6.h" #include "libdbg/dbg.h" Ports6::Ports6(void) { _val = 0; for (int a = 0;a < 8;a++) _led[a] = 0; } Ports6::~Ports6(void) { } byte_t Ports6::in(word_t addr) { byte_t val = 0xff; DBG(2, form("KCemu/Ports/6/in", "Ports6: in(): addr = %04x (returning %02x)\n", addr, val)); return val; } void Ports6::out(word_t addr, byte_t val) { _val = val; DBG(2, form("KCemu/Ports/6/out", "Ports6: out(): addr = %04x, val = %02x\n", addr, val)); // FIXME: decouple classes ((Keyboard6 *)keyboard)->set_line(val); byte_t pio_val = ((PIO6_1 *)pio)->get_led_value(); update_led_value(_val, pio_val); } void Ports6::update_led_value(byte_t port_val, byte_t pio_val) { for (int a = 0;a < 8;a++) if (port_val & (128 >> a)) _led[a] = pio_val; } byte_t Ports6::get_led_value(int idx) { return _led[idx]; } int Ports6::callback_A_in(void) { return 0; } int Ports6::callback_B_in(void) { return 0; } void Ports6::callback_A_out(byte_t val) { update_led_value(_val, val); } void Ports6::callback_B_out(byte_t val) { } KCemu-0.5.1/src/kc/pio_dio.cc0000644000175000017500000000356612417262523016100 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio_dio.h" #include "libdbg/dbg.h" PIO_DIO::PIO_DIO(void) { } PIO_DIO::~PIO_DIO(void) { } byte_t PIO_DIO::in(word_t addr) { DBG(2, form("KCemu/PIO/DIO/in", "PIO_DIO::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return in_A_DATA(); case 1: return in_B_DATA(); case 2: return in_A_CTRL(); case 3: return in_B_CTRL(); } return 0; // shouldn't be reached } void PIO_DIO::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/DIO/out", "PIO_DIO::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO_DIO::change_A(byte_t changed, byte_t val) { } void PIO_DIO::change_B(byte_t changed, byte_t val) { } KCemu-0.5.1/src/kc/plotter.cc0000644000175000017500000002470012417262523016140 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include "kc/system.h" #include "kc/plotter.h" Plotter::Plotter(void) { init(); } Plotter::~Plotter(void) { } void Plotter::init(void) { _x = 0; _y = 0; _pen_down_factor = 1.2; _show_pen = false; _show_plot_area = false; _pdf_cr = 0; _pdf_surface = 0; _buffer_cr = 0; _buffer_surface = 0; _onscreen_cr = 0; _onscreen_surface = 0; _origin_x = _origin_x_new = (WIDTH_MM - PLOTTING_AREA_WIDTH_MM) / 2.0; _origin_y = _origin_y_new = (HEIGHT_MM - PLOTTING_AREA_HEIGHT_MM) / 2.0; clear_dirty_rect(); pen_up(); set_line_width(0.2); set_bg_color(1, 1, 1); set_pen_color(0, 0, 0); init_image_surface(&_buffer_surface, &_buffer_cr, WIDTH_MM * BUFFER_SURFACE_SCALE, HEIGHT_MM * BUFFER_SURFACE_SCALE); init_image_surface(&_onscreen_surface, &_onscreen_cr, WIDTH_MM * ONSCREEN_SURFACE_SCALE, HEIGHT_MM * ONSCREEN_SURFACE_SCALE); } void Plotter::clear_dirty_rect(void) { _dirty = false; _dirty_x1 = PLOTTING_AREA_WIDTH_MM; _dirty_y1 = PLOTTING_AREA_HEIGHT_MM; _dirty_x2 = 0; _dirty_y2 = 0; } void Plotter::invalidate(void) { _dirty = true; _invalidated = true; } void Plotter::update_dirty_rect(double x, double y) { _dirty = true; if (x < _dirty_x1) _dirty_x1 = x; if (y < _dirty_y1) _dirty_y1 = y; if (x > _dirty_x2) _dirty_x2 = x; if (y > _dirty_y2) _dirty_y2 = y; } bool Plotter::is_dirty(void) { return _dirty; } cairo_rectangle_t * Plotter::get_dirty_rectangle(void) { static cairo_rectangle_t rect; static cairo_rectangle_t rect_full = { 0, 0, WIDTH_MM * ONSCREEN_SURFACE_SCALE, HEIGHT_MM * ONSCREEN_SURFACE_SCALE}; if (_invalidated) { _invalidated = false; return &rect_full; } if (!_dirty) return NULL; cairo_rectangle_t *r; if (is_show_helpers()) { r = &rect_full; } else { if (_dirty_x1 > _dirty_x2) return NULL; r = ▭ rect.x = _dirty_x1 + _origin_x - 2 * _line_width; rect.y = _dirty_y1 + _origin_y - 2 * _line_width; rect.width = _dirty_x2 - _dirty_x1 + 4 * _line_width; rect.height = _dirty_y2 - _dirty_y1 + 4 * _line_width; rect.x *= ONSCREEN_SURFACE_SCALE; rect.y *= ONSCREEN_SURFACE_SCALE; rect.width *= ONSCREEN_SURFACE_SCALE; rect.height *= ONSCREEN_SURFACE_SCALE; rect.x -= 2; rect.y -= 2; rect.width += 4; rect.height += 4; if (rect.x < 0) rect.x = 0; if (rect.y < 0) rect.y = 0; } clear_dirty_rect(); return r; } cairo_t * Plotter::replace_cairo_context(cairo_t *old_cr, cairo_surface_t *surface, double scale_factor) { cairo_t *cr = cairo_create(surface); cairo_scale(cr, scale_factor, scale_factor); cairo_translate(cr, _origin_x, _origin_y); cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_join(cr, CAIRO_LINE_JOIN_ROUND); cairo_set_line_width(cr, _line_width); cairo_set_source_rgb(cr, _red, _green, _blue); cairo_destroy(old_cr); return cr; } void Plotter::init_image_surface(cairo_surface_t **surface, cairo_t **cr, double width, double height) { *surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); *cr = replace_cairo_context(*cr, *surface, width / WIDTH_MM); cairo_surface_destroy(*surface); clear_surface(*surface, width / WIDTH_MM); } void Plotter::clear_surface(cairo_surface_t *surface, double scale_factor) { cairo_t *cr = cairo_create(surface); cairo_scale(cr, scale_factor, scale_factor); cairo_set_source_rgb(cr, _bg_red, _bg_green, _bg_blue); cairo_rectangle(cr, 0, 0, WIDTH_MM, HEIGHT_MM); cairo_fill(cr); cairo_destroy(cr); } void Plotter::open_pdf(const char *filename) { close_pdf(); cairo_surface_t *surface = cairo_pdf_surface_create(filename, WIDTH_MM * MM_TO_INCH, HEIGHT_MM * MM_TO_INCH); cairo_status_t status = cairo_surface_status(surface); if (status == CAIRO_STATUS_SUCCESS) { _pdf_cr = replace_cairo_context(_pdf_cr, surface, MM_TO_INCH); _pdf_surface = surface; } cairo_surface_destroy(surface); } void Plotter::close_pdf(void) { if (_pdf_cr) cairo_destroy(_pdf_cr); _pdf_cr = 0; _pdf_surface = 0; } void Plotter::show_page(void) { _origin_x = _origin_x_new; _origin_y = _origin_y_new; if (_pdf_surface) { cairo_surface_show_page(_pdf_surface); clear_surface(_pdf_surface, MM_TO_INCH); _pdf_cr = replace_cairo_context(_pdf_cr, _pdf_surface, MM_TO_INCH); } clear_surface(_buffer_surface, BUFFER_SURFACE_SCALE); _buffer_cr = replace_cairo_context(_buffer_cr, _buffer_surface, BUFFER_SURFACE_SCALE); clear_surface(_onscreen_surface, ONSCREEN_SURFACE_SCALE); _onscreen_cr = replace_cairo_context(_onscreen_cr, _onscreen_surface, ONSCREEN_SURFACE_SCALE); invalidate(); } cairo_status_t Plotter::save_as_png(const char *filename) { cairo_status_t status = cairo_surface_write_to_png(_buffer_surface, filename); return status; } cairo_surface_t * Plotter::get_onscreen_surface() { static cairo_surface_t *surface = NULL; if (!is_show_helpers()) return _onscreen_surface; if (surface) cairo_surface_destroy(surface); surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, WIDTH_MM * ONSCREEN_SURFACE_SCALE, HEIGHT_MM * ONSCREEN_SURFACE_SCALE); cairo_t *cr = cairo_create(surface); cairo_set_source_surface(cr, _onscreen_surface, 0, 0); cairo_paint(cr); cairo_scale(cr, ONSCREEN_SURFACE_SCALE, ONSCREEN_SURFACE_SCALE); cairo_translate(cr, _origin_x, _origin_y); cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_join(cr, CAIRO_LINE_JOIN_ROUND); cairo_set_line_width(cr, 0.1); if (is_show_pen()) { cairo_set_source_rgba(cr, 1, 0, 0, 0.4); cairo_move_to(cr, get_x(), get_y()); cairo_arc(cr, get_x(), get_y(), 1, 0, 2 * M_PI); cairo_fill(cr); cairo_set_source_rgba(cr, 0, 0, 1, 0.8); cairo_move_to(cr, get_x() - 5, get_y()); cairo_rel_line_to(cr, 10, 0); cairo_stroke(cr); cairo_move_to(cr, get_x(), get_y() - 5); cairo_rel_line_to(cr, 0, 10); cairo_stroke(cr); } if (is_show_plot_area()) { cairo_set_source_rgba(cr, 0, 1, 0, 0.8); cairo_rectangle(cr, 0, 0, PLOTTING_AREA_WIDTH_MM, PLOTTING_AREA_HEIGHT_MM); cairo_stroke(cr); } cairo_destroy(cr); return surface; } void Plotter::pen_up(void) { _pen_down = false; } void Plotter::pen_down(void) { _pen_down = true; set_point(_buffer_cr, get_x(), get_y()); set_point(_onscreen_cr, get_x(), get_y()); if (_pdf_cr) set_point(_pdf_cr, get_x(), get_y()); } void Plotter::step(int delta_x, int delta_y) { double x = _x + delta_x * STEP_WIDTH; double y = _y + delta_y * STEP_WIDTH; if (x < 0) x = 0; if (x > PLOTTING_AREA_WIDTH_MM) x = PLOTTING_AREA_WIDTH_MM; if (y < 0) y = 0; if (y > PLOTTING_AREA_HEIGHT_MM) y = PLOTTING_AREA_HEIGHT_MM; draw_to(_buffer_cr, x, y); draw_to(_onscreen_cr, x, y); if (_pdf_cr) draw_to(_pdf_cr, x, y); _x = x; _y = y; } double Plotter::get_x(void) { return _x; } double Plotter::get_y(void) { return _y; } bool Plotter::is_pen_down(void) { return _pen_down; } double Plotter::get_line_width(void) { return _line_width; } void Plotter::set_line_width(double line_width) { _line_width = line_width; if (_buffer_cr) cairo_set_line_width(_buffer_cr, _line_width); if (_onscreen_cr) cairo_set_line_width(_onscreen_cr, _line_width); if (_pdf_cr) cairo_set_line_width(_pdf_cr, _line_width); } double Plotter::get_origin_x(void) { return _origin_x_new; } void Plotter::set_origin_x(double origin_x) { _origin_x_new = origin_x; } double Plotter::get_origin_y(void) { return _origin_y_new; } void Plotter::set_origin_y(double origin_y) { _origin_y_new = origin_y; } double Plotter::get_bg_red(void) { return _bg_red; } double Plotter::get_bg_green(void) { return _bg_green; } double Plotter::get_bg_blue(void) { return _bg_blue; } void Plotter::set_bg_color(double red, double green, double blue) { _bg_red = red; _bg_green = green; _bg_blue = blue; } double Plotter::get_pen_red(void) { return _red; } double Plotter::get_pen_green(void) { return _green; } double Plotter::get_pen_blue(void) { return _blue; } void Plotter::set_pen_color(double red, double green, double blue) { _red = red; _green = green; _blue = blue; if (_buffer_cr) cairo_set_source_rgb(_buffer_cr, _red, _green, _blue); if (_onscreen_cr) cairo_set_source_rgb(_onscreen_cr, _red, _green, _blue); if (_pdf_cr) cairo_set_source_rgb(_pdf_cr, _red, _green, _blue); } bool Plotter::is_show_pen(void) { return _show_pen; } void Plotter::set_show_pen(bool show_pen) { invalidate(); _show_pen = show_pen; } bool Plotter::is_show_plot_area(void) { return _show_plot_area; } void Plotter::set_show_plot_area(bool show_plot_area) { invalidate(); _show_plot_area = show_plot_area; } bool Plotter::is_show_helpers(void) { return is_show_pen() || is_show_plot_area(); } void Plotter::set_point(cairo_t *cr, double x, double y) { cairo_move_to(cr, x, y); cairo_save(cr); cairo_set_line_width(cr, cairo_get_line_width(cr) * _pen_down_factor); cairo_rel_line_to(cr, 0, 0); cairo_stroke(cr); cairo_restore(cr); update_dirty_rect(x, y); } void Plotter::draw_to(cairo_t *cr, double x, double y) { // force dirty status also when just moving the cursor // this is required for the cursor indicator to also // generate update requests _dirty = true; if (is_pen_down()) { cairo_line_to(cr, x, y); cairo_stroke(cr); update_dirty_rect(x, y); } cairo_move_to(cr, x, y); } KCemu-0.5.1/src/kc/kc.cc0000644000175000017500000013636012417262523015052 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "kc/system.h" #include "kc/prefs/types.h" #ifdef USE_INCLUDED_GETOPT #include "getopt/getopt.h" #else #ifdef HAVE_GETOPT #include #endif #endif #ifdef HAVE_LOCALE_H #include #endif #undef __CALL_MTRACE #ifdef HAVE_MCHECK_H #ifdef DBG_LEVEL #if DBG_LEVEL > 1 #define __CALL_MTRACE 1 #include #warning including mcheck.h #endif #endif #endif #include "kc/kc.h" #include "kc/ctc.h" #include "kc/pio.h" #include "kc/z80.h" #include "kc/wav.h" #include "kc/tape.h" #include "kc/disk.h" #include "kc/daisy.h" #include "kc/timer.h" #include "kc/module.h" #include "kc/mod_list.h" #include "kc/sh_mem.h" #include "kc/disk_io.h" #include "kc/fdc4.h" #include "kc/fdc9.h" #include "kc/sound.h" #include "kc/ctc_fdc.h" #include "kc/z80_fdc.h" #include "kc/gide.h" #include "kc/vdip.h" #include "kc/plotter.h" #include "kc/poly880.h" #include "kc/prefs/prefs.h" #include "kc/kcnet/kcnet.h" #include "ui/log.h" #include "cmd/cmd.h" #include "fileio/load.h" #include "libdisk/libdisk.h" #include "libaudio/libaudio.h" #include "kc/pio0.h" #include "kc/keyb0.h" #include "kc/ports0.h" #include "kc/memory0.h" #include "kc/pio1.h" #include "kc/ctc1.h" #include "kc/keyb1.h" #include "kc/timer1.h" #include "kc/memory1.h" #include "kc/memory7.h" #include "kc/pio2.h" #include "kc/memory2.h" #include "kc/pio3.h" #include "kc/ctc3.h" #include "kc/keyb3.h" #include "kc/timer3.h" #include "kc/sound3.h" #include "kc/memory3.h" #include "kc/pio4.h" #include "kc/ports4.h" #include "kc/memory4.h" #include "kc/memory5.h" #include "kc/ctc6.h" #include "kc/pio6.h" #include "kc/keyb6.h" #include "kc/ports6.h" #include "kc/memory6.h" #include "kc/ctc8.h" #include "kc/pio8.h" #include "kc/keyb8.h" #include "kc/sound8.h" #include "kc/memory8.h" #include "kc/gdc.h" #include "kc/vis.h" #include "kc/svg.h" #include "kc/ctc9.h" #include "kc/pio9.h" #include "kc/keyb9.h" #include "kc/memory9.h" #include "kc/kramermc/pio.h" #include "kc/kramermc/memory.h" #include "kc/kramermc/keyboard.h" #include "kc/muglerpc/ctc.h" #include "kc/muglerpc/pio.h" #include "kc/muglerpc/ports.h" #include "kc/muglerpc/memory.h" #include "kc/muglerpc/keyboard.h" #include "kc/vcs80/pio.h" #include "kc/vcs80/memory.h" #include "kc/vcs80/keyboard.h" #include "kc/c80/pio.h" #include "kc/c80/memory.h" #include "kc/c80/display.h" #include "kc/c80/keyboard.h" #include "sys/sysdep.h" # include "ui/gtk/ui_gtk.h" #include "libdbg/dbg.h" using namespace std; Z80 *z80; DaisyChain *daisy; UI *ui; Ports *ports; Ports *ports_fdc; Module *module; Memory *memory; CTC *ctc; CTC *ctc2; PIO *pio; PIO *pio2; Tape *tape; Disk *disk; Timer *timer; Keyboard *keyboard; ModuleList *module_list; CMD *cmd; Sound *sound; WavPlayer *wav; PortInterface *porti; GDC *gdc; VIS *vis; SVG *svg; VDIP *vdip; KCNET *kcnet; Poly880 *poly880; DisplayC80 *display_c80; Plotter *plotter; Z80_FDC *fdc_z80; FloppyIO *fdc_io; FloppySharedMem *fdc_shmem; Ports *fdc_ports; FDC *fdc_fdc; CTC *fdc_ctc; GIDE *fdc_gide; int kcemu_ui_scale; int kcemu_ui_debug; int kcemu_ui_fullscreen; int kcemu_ui_display_effect; int kcemu_select_profile; char *kcemu_homedir; char *kcemu_datadir; char *kcemu_localedir; char *kcemu_debug_output; char *kcemu_tape; char *kcemu_disk; char *kcemu_modules; char *kcemu_autostart_file; char *kcemu_autostart_addr; char *kcemu_vdip_root; char *kcemu_profile; static void banner(void) { cout << (" _ ______\n" " | |/ / ___|___ _ __ ___ _ _ KCemu " KCEMU_VERSION "\n" " | ' / | / _ \\ '_ ` _ \\| | | | (c) 1997-2010 Torsten Paul\n" " | . \\ |__| __/ | | | | | |_| | \n" " |_|\\_\\____\\___|_| |_| |_|\\__,_| http://kcemu.sourceforge.net/\n"); } static void usage(char *argv0) { banner(); cout << _("\n" "KCemu comes with ABSOLUTELY NO WARRANTY; for details run `kcemu --warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kcemu [-0123456789aAcestfhdlvVHFMELW]\n" "\n" " -0: select Z1013 profile\n" " -1: select Z9001 / KC 85/1 profile\n" " -2: select KC 85/2 profile\n" " -3: select KC 85/3 profile\n" " -4: select KC 85/4 profile\n" " -5: select KC 85/5 profile\n" " -6: select Poly-880 profile\n" " -7: select KC 87 profile\n" " -8: select LC 80 profile\n" " -9: select BIC/A5105 profile\n" " -a --autostart: autostart program on startup (kc85/3 - kc85/5 only)\n" " -A --address: override start address of autostart program\n" " -d --datadir: set data directory (for ROM images)\n" " -E --effects: enable display effects for scaled screen output\n" " -f --floppy: attach disk on startup\n" " -F --fullscreen: start in fullscreen mode (if supported by gui)\n" " -h --help: display help\n" " -H --home: overwrite setting for home directory\n" " -l --localedir: set locale directory\n" " -L --license: show license\n" " -M --modules: insert modules on startup (e.g. -M M011,M027)\n" " -o --debug-output: write debug output to file\n" " -p --profile: start with given profile\n" " -P --select-profile: show profile selector\n" " -s --scale: scale display (allowed values: 1, 2 and 3)\n" " -t --tape: attach tape on startup\n" " -v --version: show KCemu version and configuration\n" " -V --viewlist: view verbose list of available emulations\n" " -W --warranty: show warranty\n"); exit(0); } static void show_version(char *argv0) { banner(); cout << endl; SystemInformation::instance()->show_types(); cout << endl; fileio_show_config(); cout << endl; libdisk_show_config(); cout << endl; libaudio_show_config(); exit(0); } static void show_variants(char *argv0) { banner(); cout << endl; SystemInformation::instance()->show_types_with_description(); exit(0); } const char * kc_get_license(void) { return _("\n" " GNU GENERAL PUBLIC LICENSE\n" " Version 2, June 1991\n" "\n" " Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n" " 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n" " Everyone is permitted to copy and distribute verbatim copies\n" " of this license document, but changing it is not allowed.\n" "\n" " Preamble\n" "\n" " The licenses for most software are designed to take away your\n" "freedom to share and change it. By contrast, the GNU General Public\n" "License is intended to guarantee your freedom to share and change free\n" "software--to make sure the software is free for all its users. This\n" "General Public License applies to most of the Free Software\n" "Foundation's software and to any other program whose authors commit to\n" "using it. (Some other Free Software Foundation software is covered by\n" "the GNU Library General Public License instead.) You can apply it to\n" "your programs, too.\n" "\n" " When we speak of free software, we are referring to freedom, not\n" "price. Our General Public Licenses are designed to make sure that you\n" "have the freedom to distribute copies of free software (and charge for\n" "this service if you wish), that you receive source code or can get it\n" "if you want it, that you can change the software or use pieces of it\n" "in new free programs; and that you know you can do these things.\n" "\n" " To protect your rights, we need to make restrictions that forbid\n" "anyone to deny you these rights or to ask you to surrender the rights.\n" "These restrictions translate to certain responsibilities for you if you\n" "distribute copies of the software, or if you modify it.\n" "\n" " For example, if you distribute copies of such a program, whether\n" "gratis or for a fee, you must give the recipients all the rights that\n" "you have. You must make sure that they, too, receive or can get the\n" "source code. And you must show them these terms so they know their\n" "rights.\n" "\n" " We protect your rights with two steps: (1) copyright the software, and\n" "(2) offer you this license which gives you legal permission to copy,\n" "distribute and/or modify the software.\n" "\n" " Also, for each author's protection and ours, we want to make certain\n" "that everyone understands that there is no warranty for this free\n" "software. If the software is modified by someone else and passed on, we\n" "want its recipients to know that what they have is not the original, so\n" "that any problems introduced by others will not reflect on the original\n" "authors' reputations.\n" "\n" " Finally, any free program is threatened constantly by software\n" "patents. We wish to avoid the danger that redistributors of a free\n" "program will individually obtain patent licenses, in effect making the\n" "program proprietary. To prevent this, we have made it clear that any\n" "patent must be licensed for everyone's free use or not licensed at all.\n" "\n" " The precise terms and conditions for copying, distribution and\n" "modification follow.\n" "\n" " GNU GENERAL PUBLIC LICENSE\n" " TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n" "\n" " 0. This License applies to any program or other work which contains\n" "a notice placed by the copyright holder saying it may be distributed\n" "under the terms of this General Public License. The \"Program\", below,\n" "refers to any such program or work, and a \"work based on the Program\"\n" "means either the Program or any derivative work under copyright law:\n" "that is to say, a work containing the Program or a portion of it,\n" "either verbatim or with modifications and/or translated into another\n" "language. (Hereinafter, translation is included without limitation in\n" "the term \"modification\".) Each licensee is addressed as \"you\".\n" "\n" "Activities other than copying, distribution and modification are not\n" "covered by this License; they are outside its scope. The act of\n" "running the Program is not restricted, and the output from the Program\n" "is covered only if its contents constitute a work based on the\n" "Program (independent of having been made by running the Program).\n" "Whether that is true depends on what the Program does.\n" "\n" " 1. You may copy and distribute verbatim copies of the Program's\n" "source code as you receive it, in any medium, provided that you\n" "conspicuously and appropriately publish on each copy an appropriate\n" "copyright notice and disclaimer of warranty; keep intact all the\n" "notices that refer to this License and to the absence of any warranty;\n" "and give any other recipients of the Program a copy of this License\n" "along with the Program.\n" "\n" "You may charge a fee for the physical act of transferring a copy, and\n" "you may at your option offer warranty protection in exchange for a fee.\n" "\n" " 2. You may modify your copy or copies of the Program or any portion\n" "of it, thus forming a work based on the Program, and copy and\n" "distribute such modifications or work under the terms of Section 1\n" "above, provided that you also meet all of these conditions:\n" "\n" " a) You must cause the modified files to carry prominent notices\n" " stating that you changed the files and the date of any change.\n" "\n" " b) You must cause any work that you distribute or publish, that in\n" " whole or in part contains or is derived from the Program or any\n" " part thereof, to be licensed as a whole at no charge to all third\n" " parties under the terms of this License.\n" "\n" " c) If the modified program normally reads commands interactively\n" " when run, you must cause it, when started running for such\n" " interactive use in the most ordinary way, to print or display an\n" " announcement including an appropriate copyright notice and a\n" " notice that there is no warranty (or else, saying that you provide\n" " a warranty) and that users may redistribute the program under\n" " these conditions, and telling the user how to view a copy of this\n" " License. (Exception: if the Program itself is interactive but\n" " does not normally print such an announcement, your work based on\n" " the Program is not required to print an announcement.)\n" "\n" "These requirements apply to the modified work as a whole. If\n" "identifiable sections of that work are not derived from the Program,\n" "and can be reasonably considered independent and separate works in\n" "themselves, then this License, and its terms, do not apply to those\n" "sections when you distribute them as separate works. But when you\n" "distribute the same sections as part of a whole which is a work based\n" "on the Program, the distribution of the whole must be on the terms of\n" "this License, whose permissions for other licensees extend to the\n" "entire whole, and thus to each and every part regardless of who wrote it.\n" "\n" "Thus, it is not the intent of this section to claim rights or contest\n" "your rights to work written entirely by you; rather, the intent is to\n" "exercise the right to control the distribution of derivative or\n" "collective works based on the Program.\n" "\n" "In addition, mere aggregation of another work not based on the Program\n" "with the Program (or with a work based on the Program) on a volume of\n" "a storage or distribution medium does not bring the other work under\n" "the scope of this License.\n" "\n" " 3. You may copy and distribute the Program (or a work based on it,\n" "under Section 2) in object code or executable form under the terms of\n" "Sections 1 and 2 above provided that you also do one of the following:\n" "\n" " a) Accompany it with the complete corresponding machine-readable\n" " source code, which must be distributed under the terms of Sections\n" " 1 and 2 above on a medium customarily used for software interchange; or,\n" "\n" " b) Accompany it with a written offer, valid for at least three\n" " years, to give any third party, for a charge no more than your\n" " cost of physically performing source distribution, a complete\n" " machine-readable copy of the corresponding source code, to be\n" " distributed under the terms of Sections 1 and 2 above on a medium\n" " customarily used for software interchange; or,\n" "\n" " c) Accompany it with the information you received as to the offer\n" " to distribute corresponding source code. (This alternative is\n" " allowed only for noncommercial distribution and only if you\n" " received the program in object code or executable form with such\n" " an offer, in accord with Subsection b above.)\n" "\n" "The source code for a work means the preferred form of the work for\n" "making modifications to it. For an executable work, complete source\n" "code means all the source code for all modules it contains, plus any\n" "associated interface definition files, plus the scripts used to\n" "control compilation and installation of the executable. However, as a\n" "special exception, the source code distributed need not include\n" "anything that is normally distributed (in either source or binary\n" "form) with the major components (compiler, kernel, and so on) of the\n" "operating system on which the executable runs, unless that component\n" "itself accompanies the executable.\n" "\n" "If distribution of executable or object code is made by offering\n" "access to copy from a designated place, then offering equivalent\n" "access to copy the source code from the same place counts as\n" "distribution of the source code, even though third parties are not\n" "compelled to copy the source along with the object code.\n" "\n" " 4. You may not copy, modify, sublicense, or distribute the Program\n" "except as expressly provided under this License. Any attempt\n" "otherwise to copy, modify, sublicense or distribute the Program is\n" "void, and will automatically terminate your rights under this License.\n" "However, parties who have received copies, or rights, from you under\n" "this License will not have their licenses terminated so long as such\n" "parties remain in full compliance.\n" "\n" " 5. You are not required to accept this License, since you have not\n" "signed it. However, nothing else grants you permission to modify or\n" "distribute the Program or its derivative works. These actions are\n" "prohibited by law if you do not accept this License. Therefore, by\n" "modifying or distributing the Program (or any work based on the\n" "Program), you indicate your acceptance of this License to do so, and\n" "all its terms and conditions for copying, distributing or modifying\n" "the Program or works based on it.\n" "\n" " 6. Each time you redistribute the Program (or any work based on the\n" "Program), the recipient automatically receives a license from the\n" "original licensor to copy, distribute or modify the Program subject to\n" "these terms and conditions. You may not impose any further\n" "restrictions on the recipients' exercise of the rights granted herein.\n" "You are not responsible for enforcing compliance by third parties to\n" "this License.\n" "\n" " 7. If, as a consequence of a court judgment or allegation of patent\n" "infringement or for any other reason (not limited to patent issues),\n" "conditions are imposed on you (whether by court order, agreement or\n" "otherwise) that contradict the conditions of this License, they do not\n" "excuse you from the conditions of this License. If you cannot\n" "distribute so as to satisfy simultaneously your obligations under this\n" "License and any other pertinent obligations, then as a consequence you\n" "may not distribute the Program at all. For example, if a patent\n" "license would not permit royalty-free redistribution of the Program by\n" "all those who receive copies directly or indirectly through you, then\n" "the only way you could satisfy both it and this License would be to\n" "refrain entirely from distribution of the Program.\n" "\n" "If any portion of this section is held invalid or unenforceable under\n" "any particular circumstance, the balance of the section is intended to\n" "apply and the section as a whole is intended to apply in other\n" "circumstances.\n" "\n" "It is not the purpose of this section to induce you to infringe any\n" "patents or other property right claims or to contest validity of any\n" "such claims; this section has the sole purpose of protecting the\n" "integrity of the free software distribution system, which is\n" "implemented by public license practices. Many people have made\n" "generous contributions to the wide range of software distributed\n" "through that system in reliance on consistent application of that\n" "system; it is up to the author/donor to decide if he or she is willing\n" "to distribute software through any other system and a licensee cannot\n" "impose that choice.\n" "\n" "This section is intended to make thoroughly clear what is believed to\n" "be a consequence of the rest of this License.\n" "\n" " 8. If the distribution and/or use of the Program is restricted in\n" "certain countries either by patents or by copyrighted interfaces, the\n" "original copyright holder who places the Program under this License\n" "may add an explicit geographical distribution limitation excluding\n" "those countries, so that distribution is permitted only in or among\n" "countries not thus excluded. In such case, this License incorporates\n" "the limitation as if written in the body of this License.\n" "\n" " 9. The Free Software Foundation may publish revised and/or new versions\n" "of the General Public License from time to time. Such new versions will\n" "be similar in spirit to the present version, but may differ in detail to\n" "address new problems or concerns.\n" "\n" "Each version is given a distinguishing version number. If the Program\n" "specifies a version number of this License which applies to it and \"any\n" "later version\", you have the option of following the terms and conditions\n" "either of that version or of any later version published by the Free\n" "Software Foundation. If the Program does not specify a version number of\n" "this License, you may choose any version ever published by the Free Software\n" "Foundation.\n" "\n" " 10. If you wish to incorporate parts of the Program into other free\n" "programs whose distribution conditions are different, write to the author\n" "to ask for permission. For software which is copyrighted by the Free\n" "Software Foundation, write to the Free Software Foundation; we sometimes\n" "make exceptions for this. Our decision will be guided by the two goals\n" "of preserving the free status of all derivatives of our free software and\n" "of promoting the sharing and reuse of software generally.\n\n"); } const char * kc_get_warranty(void) { return _("\n" "NO WARRANTY\n" "\n" " 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\n" "FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\n" "OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\n" "PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\n" "OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n" "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\n" "TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\n" "PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\n" "REPAIR OR CORRECTION.\n" "\n" " 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n" "WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\n" "REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\n" "INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\n" "OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\n" "TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\n" "YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\n" "PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\n" "POSSIBILITY OF SUCH DAMAGES.\n\n"); } const char * kc_get_license_trailer(void) { return _("\n" " END OF TERMS AND CONDITIONS\n" "\n\n" " How to Apply These Terms to Your New Programs\n" "\n" " If you develop a new program, and you want it to be of the greatest\n" "possible use to the public, the best way to achieve this is to make it\n" "free software which everyone can redistribute and change under these terms.\n" "\n" " To do so, attach the following notices to the program. It is safest\n" "to attach them to the start of each source file to most effectively\n" "convey the exclusion of warranty; and each file should have at least\n" "the \"copyright\" line and a pointer to where the full notice is found.\n" "\n" " \n" " Copyright (C) 19yy \n" "\n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms of the GNU General Public License as published by\n" " the Free Software Foundation; either version 2 of the License, or\n" " (at your option) any later version.\n" "\n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" " GNU General Public License for more details.\n" "\n" " You should have received a copy of the GNU General Public License\n" " along with this program; if not, write to the Free Software\n" " Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n" "\n" "Also add information on how to contact you by electronic and paper mail.\n" "\n" "If the program is interactive, make it output a short notice like this\n" "when it starts in an interactive mode:\n" "\n" " Gnomovision version 69, Copyright (C) 19yy name of author\n" " Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n" " This is free software, and you are welcome to redistribute it\n" " under certain conditions; type `show c' for details.\n" "\n" "The hypothetical commands `show w' and `show c' should show the appropriate\n" "parts of the General Public License. Of course, the commands you use may\n" "be called something other than `show w' and `show c'; they could even be\n" "mouse-clicks or menu items--whatever suits your program.\n" "\n" "You should also get your employer (if you work as a programmer) or your\n" "school, if any, to sign a \"copyright disclaimer\" for the program, if\n" "necessary. Here is a sample; alter the names:\n" "\n" " Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n" " `Gnomovision' (which makes passes at compilers) written by James Hacker.\n" "\n" " , 1 April 1989\n" " Ty Coon, President of Vice\n" "\n" "This General Public License does not permit incorporating your program into\n" "proprietary programs. If your program is a subroutine library, you may\n" "consider it more useful to permit linking proprietary applications with the\n" "library. If this is what you want to do, use the GNU Library General\n" "Public License instead of this License.\n\n"); } void license(char *argv0) { banner(); cout << kc_get_license(); cout << kc_get_warranty(); cout << kc_get_license_trailer(); exit(0); } void warranty(char *argv0) { banner(); cout << kc_get_warranty(); exit(0); } void attach_tape(void) { if (kcemu_tape != 0) { tape->attach(kcemu_tape); free(kcemu_tape); } else { const char *tmp = Preferences::instance()->get_string_value("tape_file", "files.kct"); if (tmp) { string tapefile; if (tmp[0] != '/') { tapefile += kcemu_datadir; tapefile += "/tapes/"; } tapefile += tmp; tape->attach(tapefile.c_str()); } } } void attach_disk(void) { const char *filename; if (disk == NULL) return; if (kcemu_disk != NULL) { disk->attach(0, kcemu_disk); free(kcemu_disk); } else { filename = Preferences::instance()->get_string_value("disk_1", NULL); if (filename != NULL) disk->attach(0, filename); } filename = Preferences::instance()->get_string_value("disk_2", NULL); if (filename != NULL) disk->attach(1, filename); filename = Preferences::instance()->get_string_value("disk_3", NULL); if (filename != NULL) disk->attach(2, filename); filename = Preferences::instance()->get_string_value("disk_4", NULL); if (filename != NULL) disk->attach(3, filename); } char * get_datadir_from_program_path(void) { char *ptr = sys_getprogrampath(); if (ptr == NULL) return NULL; int a = strlen(ptr); if (a < 4) { free(ptr); return NULL; } if (strncasecmp(ptr + a - 4, "bin", 3) != 0) { free(ptr); return NULL; } ptr[a - 4] = '\0'; char sep = ptr[a - 5]; char buf[2048]; int size = sizeof(buf); if (snprintf(buf, size, "%sshare%cKCemu", ptr, sep) >= size) { free(ptr); return NULL; } return strdup(buf); } char * get_kcemu_datadir(void) { char *ptr = getenv("KCEMU_DATADIR"); if (ptr) return strdup(ptr); ptr = get_datadir_from_program_path(); if (ptr != NULL) return ptr; if (access("share/KCemu/roms/kc85/caos__c0.854", F_OK) == 0) return strdup("share/KCemu"); if (access("../share/KCemu/roms/kc85/caos__c0.854", F_OK) == 0) return strdup("../share/KCemu"); return strdup(KCEMU_DATADIR); } char * get_kcemu_homedir(void) { string home; char *ptr = getenv("XDG_CONFIG_HOME"); if (ptr != NULL) { home = ptr; } else { ptr = sys_gethome(); if (ptr != NULL) { home = ptr; home += "/.config"; free(ptr); } else { return NULL; } } home += "/KCemu"; return strdup(home.c_str()); } char * get_kcemu_localedir(void) { char *ptr = getenv("KCEMU_LOCALEDIR"); if (ptr) return strdup(ptr); if (access("share/locale/de/LC_MESSAGES/KCemu.mo", F_OK) == 0) return strdup("share/locale"); if (access("../share/locale/de/LC_MESSAGES/KCemu.mo", F_OK) == 0) return strdup("../share/locale"); return strdup(KCEMU_LOCALEDIR); } void open_debug_output(char *filename) { if (filename == NULL) return; ofstream *ofs = new ofstream(filename); if (!(*ofs)) return; DBGI()->set_output_stream(ofs); } int main(int argc, char **argv) { int c; int type; bool do_quit; int option_index; const char *getopt_args = "0123456789a:A:d:DEf:FhH:l:LM:o:p:Ps:t:u:vVW"; #ifdef HAVE_GETOPT_LONG static struct option long_options[] = { { "autostart", 1, 0, 'a' }, { "address", 1, 0, 'A' }, { "datadir", 1, 0, 'd' }, { "display-debug", 0, 0, 'D' }, { "effects", 0, 0, 'E' }, { "floppy", 1, 0, 'f' }, { "fullscreen", 0, 0, 'F' }, { "help", 0, 0, 'h' }, { "home", 1, 0, 'H' }, { "localedir", 1, 0, 'l' }, { "license", 0, 0, 'L' }, { "modules", 1, 0, 'M' }, { "debug-output", 1, 0, 'o' }, { "profile", 1, 0, 'p' }, { "select-profile", 0, 0, 'P' }, { "scale", 1, 0, 's' }, { "tape", 1, 0, 't' }, { "vdip-root", 1, 0, 'u' }, { "version", 0, 0, 'v' }, { "viewlist", 0, 0, 'V' }, { "warranty", 0, 0, 'W' }, { 0, 0, 0, 0 } }; #endif /* HAVE_GETOPT_LONG */ PortGroup *portg = NULL; LOG *log; #ifdef __CALL_MTRACE /* * memory debugging with glibc goes like this: * * 1) run the program with MALLOC_CHECK_=1 ./kcemu to enable * consistency checks (MALLOC_CHECK_=2 aborts immedately * when encountering problems) * * 2) call mtrace() at the very beginning of the program and * run it with MALLOC_TRACE=/tmp/mem.out ./kcemu to * generate a memory trace that can be analyzed with * mtrace ./kcemu /tmp/mem.out * * The following mtrace is enababled if ./configure finds * the mcheck.h header file, the mtrace() function and * the debuglevel is set to a value greater than 1. */ mtrace(); #endif /* __CALL_MTRACE */ type = -1; kcemu_tape = 0; kcemu_disk = 0; kcemu_modules = 0; kcemu_profile = 0; kcemu_debug_output = 0; kcemu_autostart_file = 0; kcemu_autostart_addr = 0; kcemu_vdip_root = 0; kcemu_ui_scale = -1; kcemu_ui_debug = -1; kcemu_ui_fullscreen = 0; kcemu_ui_display_effect = -1; kcemu_select_profile = 0; kcemu_datadir = get_kcemu_datadir(); kcemu_homedir = get_kcemu_homedir(); kcemu_localedir = get_kcemu_localedir(); #ifdef HAVE_SETLOCALE setlocale(LC_ALL, ""); #endif /* HAVE_SETLOCALE */ #ifdef ENABLE_NLS bindtextdomain(PACKAGE, kcemu_localedir); textdomain(PACKAGE); #endif /* ENABLE_NLS */ fileio_init(); libdisk_init(); libaudio_init(LIBAUDIO_TYPE_ALL); sys_socket_init(); while (1) { #ifdef HAVE_GETOPT_LONG c = getopt_long(argc, argv, getopt_args, long_options, &option_index); #else #ifdef HAVE_GETOPT c = getopt(argc, argv, getopt_args); #else #warning neither HAVE_GETOPT_LONG nor HAVE_GETOPT defined #warning commandline parsing disabled! c = -1; #endif /* HAVE_GETOPT */ #endif /* #ifdef HAVE_GETOPT_LONG */ if (c == -1) break; switch (c) { case '0': type = 0; break; case '1': type = 1; break; case '2': type = 2; break; case '3': type = 3; break; case '4': type = 4; break; case '5': type = 5; break; case '6': type = 6; break; case '7': type = 7; break; case '8': type = 8; break; case '9': type = 9; break; case 'a': kcemu_autostart_file = strdup(optarg); break; case 'A': kcemu_autostart_addr = strdup(optarg); break; case 'd': free(kcemu_datadir); kcemu_datadir = strdup(optarg); break; case 'D': kcemu_ui_debug = 1; break; case 'E': kcemu_ui_display_effect = 1; break; case 'f': kcemu_disk = strdup(optarg); break; case 'F': kcemu_ui_fullscreen = 1; break; case 'H': if (kcemu_homedir) free(kcemu_homedir); kcemu_homedir = strdup(optarg); break; case 'l': free(kcemu_localedir); kcemu_localedir = strdup(optarg); break; case 'L': license(argv[0]); break; case 'M': kcemu_modules = strdup(optarg); break; case 'o': kcemu_debug_output = strdup(optarg); break; case 'p': kcemu_profile = strdup(optarg); break; case 'P': kcemu_select_profile = 1; break; case 's': kcemu_ui_scale = strtoul(optarg, NULL, 0); break; case 't': kcemu_tape = strdup(optarg); break; case 'u': kcemu_vdip_root = strdup(optarg); break; case 'v': show_version(argv[0]); break; case 'V': show_variants(argv[0]); break; case 'W': warranty(argv[0]); break; case ':': case '?': case 'h': default: usage(argv[0]); break; } } open_debug_output(kcemu_debug_output); if (kcemu_homedir == NULL) kcemu_homedir = strdup("."); string home = kcemu_homedir; string sys_config_dir = string(kcemu_datadir) + "/config"; string user_config_dir = home + "/config"; string user_profiles_dir = home + "/profiles"; Preferences::init(sys_config_dir.c_str(), user_config_dir.c_str(), user_profiles_dir.c_str()); ui = new UI_Gtk(); ui->init(&argc, &argv); if (kcemu_select_profile) { kcemu_profile = ui->select_profile(); } Preferences::instance()->set_current_profile(kcemu_profile, type); /* * check display scale */ if (kcemu_ui_scale < 0) kcemu_ui_scale = Preferences::instance()->get_int_value("display_scale", 1); if (kcemu_ui_scale < 1) kcemu_ui_scale = 1; if (kcemu_ui_scale > 3) kcemu_ui_scale = 3; /* * check display effect */ if (kcemu_ui_display_effect < 0) kcemu_ui_display_effect = Preferences::instance()->get_int_value("display_effects", 0); if (kcemu_ui_display_effect < 0) kcemu_ui_display_effect = 0; if (kcemu_ui_display_effect > 1) kcemu_ui_display_effect = 1; /* * check display debug */ if (kcemu_ui_debug < 0) kcemu_ui_debug = Preferences::instance()->get_int_value("display_debug", 0); do { cmd = new CMD("*"); z80 = new Z80; disk = new Disk; ports = new Ports; daisy = new DaisyChain; vdip = new VDIP; kcnet = new KCNET; plotter = new Plotter; portg = ports->register_ports("-", 0, 0x100, new NullPort("NullPort"), 256); PIO0 *p0; PIO1_1 *p1; PIO2 *p2; PIO3 *p3; PIO4 *p4; PIO8_1 *p8; PIO9 *p9; Keyboard0 *k0; Keyboard1 *k1; Keyboard8 *k8; KeyboardKramerMC *k_kramer; KeyboardMuglerPC *k_mugler; KeyboardVCS80 *k_vcs80; KeyboardC80 *k_c80; timer = NULL; memory = NULL; fdc_z80 = NULL; gdc = NULL; vis = NULL; svg = NULL; poly880 = NULL; pio = pio2 = NULL; ctc = ctc2 = NULL; switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_87: memory = new Memory7; /* fall through */ case KC_TYPE_85_1: if (memory == NULL) memory = new Memory1; fileio_set_kctype(FILEIO_KC85_1); ctc = new CTC1; pio2 = new PIO1_2; tape = new Tape(500, 1000, 2000, 0); wav = new WavPlayer(500, 1000, 2000); p1 = new PIO1_1; k1 = new Keyboard1; tape->set_tape_callback(p1); pio = p1; keyboard = k1; //tape->setAutoplay(false); pio2->register_callback_A_in(k1); pio2->register_callback_B_in(k1); break; case KC_TYPE_85_2: memory = new Memory2; ctc = new CTC3; tape = new Tape(364, 729, 1458, 1); wav = new WavPlayer(364, 729, 1458); keyboard = new Keyboard3; p2 = new PIO2; tape->set_tape_callback(p2); pio = p2; break; case KC_TYPE_85_3: memory = new Memory3; p3 = new PIO3; ctc = new CTC3; tape = new Tape(364, 729, 1458, 1); wav = new WavPlayer(364, 729, 1458); keyboard = new Keyboard3; tape->set_tape_callback(p3); pio = p3; break; case KC_TYPE_85_4: case KC_TYPE_85_5: memory = new Memory4; porti = new Ports4; p4 = new PIO4; ctc = new CTC3; tape = new Tape(364, 729, 1458, 1); wav = new WavPlayer(364, 729, 1458); keyboard = new Keyboard3; tape->set_tape_callback(p4); pio = p4; break; case KC_TYPE_LC80: memory = new Memory8; p8 = new PIO8_1; pio2 = new PIO8_2; ctc = new CTC8; tape = new Tape(500, 1000, 2000, 0); wav = new WavPlayer(500, 1000, 2000); k8 = new Keyboard8; pio2->register_callback_A_in(k8); pio2->register_callback_B_in(k8); tape->set_tape_callback(p8); keyboard = k8; pio = p8; break; case KC_TYPE_Z1013: fileio_set_kctype(FILEIO_Z1013); memory = new Memory0; ctc = new CTC1; p0 = new PIO0; porti = new Ports0; k0 = new Keyboard0; tape = new Tape(500, 1000, 2000, 0); wav = new WavPlayer(500, 1000, 2000); pio = p0; keyboard = k0; tape->set_tape_callback(p0); pio->register_callback_B_in(k0); pio->register_callback_B_out(k0); break; case KC_TYPE_A5105: p9 = new PIO9; ctc = new CTC9; memory = new Memory9; keyboard = new Keyboard9; tape = new Tape(500, 1000, 2000, 0); wav = new WavPlayer(781, 1562, 3125); tape->set_tape_callback(p9); pio = p9; break; case KC_TYPE_POLY880: pio = new PIO6_1; pio2 = new PIO6_2; ctc = new CTC6; porti = new Ports6; memory = new Memory6; tape = new Tape(500, 1000, 2000, 0); keyboard = new Keyboard6; poly880 = new Poly880; pio->register_callback_B_in((Keyboard6 *)keyboard); pio->register_callback_A_out((Ports6 *)porti); break; case KC_TYPE_KRAMERMC: pio = new PIOKramerMC; memory = new MemoryKramerMC; k_kramer = new KeyboardKramerMC; tape = new Tape(500, 1000, 2000, 0); // FIXME: keyboard = k_kramer; pio->register_callback_A_out(k_kramer); pio->register_callback_B_in(k_kramer); break; case KC_TYPE_MUGLERPC: pio = new PIOMuglerPCSystem; pio2 = new PIOMuglerPCUser; ctc = new CTCMuglerPCSystem; ctc2 = new CTCMuglerPCUser; porti = new PortsMuglerPC; memory = new MemoryMuglerPC; k_mugler = new KeyboardMuglerPC; tape = new Tape(500, 1000, 2000, 0); // FIXME: keyboard = k_mugler; pio->register_callback_A_in(k_mugler); break; case KC_TYPE_VCS80: pio = new PIOVCS80; memory = new MemoryVCS80; tape = new Tape(500, 1000, 2000, 0); // FIXME: k_vcs80 = new KeyboardVCS80; keyboard = k_vcs80; pio->register_callback_A_in(k_vcs80); break; case KC_TYPE_C80: pio = new PIOC80_1; pio2 = new PIOC80_2; memory = new MemoryC80; tape = new Tape(500, 1000, 2000, 0); // FIXME: k_c80 = new KeyboardC80; display_c80 = new DisplayC80; keyboard = k_c80; pio->register_callback_A_in(k_c80); pio->register_callback_A_out(display_c80); pio->register_callback_B_out(display_c80); break; default: DBG(0, form("KCemu/internal_error", "KCemu: setup with undefined system type\n")); break; } module = new Module; module_list = new ModuleList; ui->init2(); switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_87: case KC_TYPE_85_1: timer = new Timer1; portg = ports->register_ports("CTC", 0x80, 4, ctc, 10); portg = ports->register_ports("PIO1", 0x88, 4, pio, 10); portg = ports->register_ports("PIO2", 0x90, 4, pio2, 10); daisy->add_last(ctc); daisy->add_last(pio); daisy->add_last(pio2); break; case KC_TYPE_85_2: case KC_TYPE_85_3: timer = new Timer3; sound = new Sound3; if (Preferences::instance()->get_int_value("enable_sound", 0)) sound->init(); portg = ports->register_ports("Module", 0x80, 1, module, 10); portg = ports->register_ports("PIO", 0x88, 4, pio, 10); portg = ports->register_ports("CTC", 0x8c, 4, ctc, 10); daisy->add_last(ctc); daisy->add_last(pio); break; case KC_TYPE_85_4: case KC_TYPE_85_5: timer = new Timer3; sound = new Sound3; if (Preferences::instance()->get_int_value("enable_sound", 0)) sound->init(); portg = ports->register_ports("Module", 0x80, 1, module, 10); portg = ports->register_ports("Port84", 0x84, 1, porti, 10); portg = ports->register_ports("Port86", 0x86, 1, porti, 10); portg = ports->register_ports("PIO", 0x88, 4, pio, 10); portg = ports->register_ports("CTC", 0x8c, 4, ctc, 10); daisy->add_last(ctc); daisy->add_last(pio); break; case KC_TYPE_LC80: sound = new Sound8; if (Preferences::instance()->get_int_value("enable_sound", 0)) sound->init(); portg = ports->register_ports("CTC", 0xec, 4, ctc, 10); portg = ports->register_ports("PIO1", 0xf4, 4, pio, 10); portg = ports->register_ports("PIO2", 0xf8, 4, pio2, 10); // lc80e portg = ports->register_ports("PIO1", 0x74, 4, pio, 10); portg = ports->register_ports("PIO2", 0x78, 4, pio2, 10); daisy->add_last(ctc); daisy->add_last(pio); daisy->add_last(pio2); break; case KC_TYPE_Z1013: portg = ports->register_ports("PIO", 0x00, 4, pio, 10); portg = ports->register_ports("Port08", 0x08, 1, porti, 10); daisy->add_last(pio); break; case KC_TYPE_A5105: gdc = new GDC; vis = new VIS; svg = new SVG; fdc_fdc = new FDC9(); portg = ports->register_ports("FDC", 0x40, 12, fdc_fdc, 10); portg = ports->register_ports("CTC", 0x80, 4, ctc, 10); portg = ports->register_ports("PIO", 0x90, 4, pio, 10); portg = ports->register_ports("GDC", 0x98, 2, gdc, 10); portg = ports->register_ports("VIS", 0x9c, 3, vis, 10); portg = ports->register_ports("SVG", 0xa0, 12, svg, 10); daisy->add_last(ctc); daisy->add_last(pio); break; case KC_TYPE_POLY880: portg = ports->register_ports("PIO1", 0x80, 4, pio, 10); portg = ports->register_ports("PIO2", 0x84, 4, pio2, 10); portg = ports->register_ports("CTC", 0x88, 4, ctc, 10); portg = ports->register_ports("DIGIT", 0xc0, 32, porti, 10); portg = ports->register_ports("DIGIT", 0xe0, 32, porti, 10); break; case KC_TYPE_KRAMERMC: portg = ports->register_ports("PIO", 0xfc, 4, pio, 10); break; case KC_TYPE_MUGLERPC: portg = ports->register_ports("CTC (system)", 0x80, 4, ctc, 10); portg = ports->register_ports("PIO (system)", 0x84, 4, pio, 10); portg = ports->register_ports("CTC (user)", 0x8c, 4, ctc2, 10); portg = ports->register_ports("PIO (user)", 0x90, 4, pio2, 10); portg = ports->register_ports("Port 94h", 0x94, 4, porti, 10); break; case KC_TYPE_VCS80: portg = ports->register_ports("PIO", 0x04, 4, pio, 10); daisy->add_last(pio); break; case KC_TYPE_C80: portg = ports->register_ports("PIO (system)", 0xbc, 4, pio, 10); portg = ports->register_ports("PIO (user)", 0x7c, 4, pio2, 10); daisy->add_last(pio); daisy->add_last(pio2); break; default: DBG(0, form("KCemu/internal_error", "KCemu: setup with undefined system type\n")); break; } if (Preferences::instance()->get_kc_type() & KC_TYPE_85_2_CLASS) if (Preferences::instance()->get_int_value("d004", 0)) { fdc_z80 = new Z80_FDC(); fdc_ports = new Ports(); fdc_io = new FloppyIO(); fdc_shmem = new FloppySharedMem(); fdc_shmem->set_memory(&fdc_mem[0xfc00]); fdc_fdc = new FDC4(); fdc_ctc = new CTC_FDC(); fdc_gide = new GIDE(); fdc_ports->register_ports("-", 0, 0x100, new NullPort("NullPort (FDC)"), 256); fdc_ports->register_ports("GIDE", 0, 16, fdc_gide, 10); fdc_ports->register_ports("FDC", 0xf0, 12, fdc_fdc, 10); fdc_ports->register_ports("CTC", 0xfc, 4, fdc_ctc, 10); portg = ports->register_ports("FloppyIO", 0xf4, 1, fdc_io, 10); portg = ports->register_ports("FloppySHMEM", 0xf0, 4, fdc_shmem, 10); } log = new LOG(); module_list->init(); if ((Preferences::instance()->get_kc_type() == KC_TYPE_85_1) || (Preferences::instance()->get_kc_type() == KC_TYPE_87) || (Preferences::instance()->get_kc_type() == KC_TYPE_LC80) || (Preferences::instance()->get_kc_type() == KC_TYPE_Z1013)) tape->power(true); attach_tape(); attach_disk(); ui->show(); do_quit = z80->run(); if (porti != NULL) delete porti; if (timer != NULL) delete timer; delete module_list; delete module; delete keyboard; delete tape; delete disk; delete pio; delete ctc; delete memory; delete ports; delete ui; delete z80; } while (0); // (!do_quit); free(kcemu_datadir); free(kcemu_localedir); return 0; } KCemu-0.5.1/src/kc/ctc_fdc.cc0000644000175000017500000000650412417262523016036 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/ctc_fdc.h" #include "kc/z80_fdc.h" #include "libdbg/dbg.h" /* * quoting the D004 programming manual: * * Alle vier Kan�le des CTC sind hardwarem��ig kaskadiert. Die * Z�hlereingangsfrequenz des Kanals 0 betr�gt 500kHz. Der Kanal 3 ist * vom Betriebssystem interruptm��ig zur Laufwerksteuerung belegt. Die * Kan�le 0 und 1 werden von der Systemuhr verwendet. Kanal 1 arbeitet * dabei interruptgesteuert. * * Die Adressen der Interruptserviceroutinen sind folgender Tabelle zu * entnehmen: * * CTC-Kanal Adresse Wert * * 0 FBE0h 0000h * 1 FBE2h F0e4h * 2 FBE4h 0000h * 3 FBE6h F4C8h */ CTC_FDC::CTC_FDC(void) : CTC("CTC (FDC)") { } CTC_FDC::~CTC_FDC(void) { } long long CTC_FDC::get_counter() { return fdc_z80->get_counter(); } void CTC_FDC::trigger_irq(int channel) { fdc_z80->trigger_irq(getIRQVector(channel)); } void CTC_FDC::add_callback(unsigned long long offset, Callback *cb, void *data) { fdc_z80->add_callback(offset, cb, data); } byte_t CTC_FDC::in(word_t addr) { DBG(2, form("KCemu/CTC/FDC/in", "CTC_FDC::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return c_in(0); case 1: return c_in(1); case 2: return c_in(2); case 3: return c_in(3); } return 0; // shouldn't be reached } void CTC_FDC::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/FDC/out", "CTC_FDC::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTC_FDC::irq_0(void) { DBG(2, form("KCemu/CTC_FDC/irq/0", "CTC::irq_0()\n")); trigger(1); return true; } bool CTC_FDC::irq_1(void) { DBG(2, form("KCemu/CTC_FDC/irq/1", "CTC::irq_1()\n")); return true; } bool CTC_FDC::irq_2(void) { DBG(2, form("KCemu/CTC_FDC/irq/2", "CTC::irq_2()\n")); return true; } bool CTC_FDC::irq_3(void) { DBG(2, form("KCemu/CTC_FDC/irq/3", "CTC::irq_3()\n")); return true; } long CTC_FDC::counter_value_0(void) { return 0; } long CTC_FDC::counter_value_1(void) { return 0; } long CTC_FDC::counter_value_2(void) { return 0; } long CTC_FDC::counter_value_3(void) { return 0; } KCemu-0.5.1/src/kc/mod_js.cc0000644000175000017500000002200712417262523015720 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/daisy.h" #include "kc/mod_js.h" #include "kc/prefs/prefs.h" #include "ui/status.h" #include "libdbg/dbg.h" using namespace std; PIOJoystick::PIOJoystick(void) : Callback("PIOJoystick") { _device = NULL; _is_open = false; js_open(); z80->addCallback(CALLBACK_OFFSET, this, NULL); register_callback_A_in(this); } PIOJoystick::~PIOJoystick(void) { z80->remove_callback_listener(this); js_close(); } const char * PIOJoystick::check_joystick_device(void) { const char *dev = Preferences::instance()->get_string_value("joystick_device", NULL); if (dev != NULL) return dev; const char *devices[] = { "/dev/input/js0", "/dev/input/js1", "/dev/input/js2", "/dev/input/js3", "/dev/js0", "/dev/js1", "/dev/js2", "/dev/js3", NULL, }; for (int a = 0;devices[a] != NULL;a++) { if (access(devices[a], R_OK) == 0) return devices[a]; } return NULL; } const char * PIOJoystick::get_joystick_device(void) { return _device; } void PIOJoystick::set_joystick_device(const char *device) { if (_device != NULL) free(_device); _device = (device == NULL) ? NULL : strdup(device); } bool PIOJoystick::js_open(void) { int version; char name[1024]; _number_of_axes = 0; _number_of_buttons = 0; _idle_counter = IDLE_COUNTER_INIT; _up = _down = _left = _right = _button0 = _button1 = 0; if (get_joystick_device() == NULL) { const char *dev = check_joystick_device(); if (dev == NULL) return false; set_joystick_device(dev); } bool ok = true; _fd = open(get_joystick_device(), O_RDONLY | O_NONBLOCK); if (_fd < 0) ok = false; if (ok) ok = (ioctl(_fd, JSIOCGVERSION, &version) >= 0); if (ok) ok = (ioctl(_fd, JSIOCGNAME(sizeof(name)), name) >= 0); if (ok) ok = (ioctl(_fd, JSIOCGAXES, &_number_of_axes) >= 0); if (ok) ok = (ioctl(_fd, JSIOCGBUTTONS, &_number_of_buttons) >= 0); if (_number_of_axes < 2) ok = false; if (_number_of_buttons < 1) ok = false; if (!ok) { js_close(); if (_is_open) { Status::instance()->setMessage(_("Joystick removed!")); set_joystick_device(NULL); _is_open = false; } return false; } if (!_is_open) { /* * Try to grab the joystick device. This would ensure that * the events go exclusively to KCemu. If the grab fails, * we still use the device but this might mean that the * system gives the events to other programs too (like the * X-Server). */ int grab = 1; ioctl(_fd, EVIOCGRAB, &grab); char buf[1024]; snprintf(buf, sizeof(buf), _("Joystick (%d.%d.%d): %s on %s"), 0xff & (version >> 16), 0xff & (version >> 8), 0xff & version, name, get_joystick_device()); Status::instance()->setMessage(buf); _is_open = true; } return true; } void PIOJoystick::js_close(void) { if (_fd >= 0) close(_fd); _fd = -1; } bool PIOJoystick::is_open(void) { return _is_open; } void PIOJoystick::change_A(byte_t changed, byte_t val) { } void PIOJoystick::change_B(byte_t changed, byte_t val) { } void PIOJoystick::callback(void *data) { struct js_event event; strobe_A(); strobe_B(); z80->addCallback(CALLBACK_OFFSET, this, NULL); /* * reopening the joystick driver after some idle time will * ensure that the hotplug system will get the chance to unload * the driver for a disconnected joystick otherwise we would * simply block the device */ if (--_idle_counter < 0) { js_close(); js_open(); } /* * If initialization of the joystick driver failes we simply * ignore the fact and keep trying so if a joystick is plugged * in and the driver is loaded (e.g. autoloaded by the hotplug * USB system) we pick it up and use it againx. */ while (_fd >= 0) { errno = 0; if (read(_fd, &event, sizeof(struct js_event)) < 0) { if (errno != EAGAIN) js_close(); break; } _idle_counter = IDLE_COUNTER_INIT; switch (event.type & ~JS_EVENT_INIT) { case JS_EVENT_BUTTON: if (event.number == 0) _button0 = event.value; else _button1 = event.value; break; case JS_EVENT_AXIS: if (event.number == 0) { if (event.value < -AXIS_THRESHOLD) { _left = 1; _right = 0; } else if (event.value > AXIS_THRESHOLD) { _left = 0; _right = 1; } else { _left = 0; _right = 0; } } else if (event.number == 1) { if (event.value < -AXIS_THRESHOLD) { _up = 1; _down = 0; } else if (event.value > AXIS_THRESHOLD) { _up = 0; _down = 1; } else { _up = 0; _down = 0; } } break; } } _val = 0xff; if (_up) _val ^= 1; if (_down) _val ^= 2; if (_left) _val ^= 4; if (_right) _val ^= 8; if (_button0) _val ^= 16; if (_button1) _val ^= 32; set_A_EXT(0xff, _val); } void PIOJoystick::reset(bool power_on) { PIO::reset(power_on); z80->addCallback(CALLBACK_OFFSET, this, NULL); } byte_t PIOJoystick::in(word_t addr) { byte_t val; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; default: assert(0); } DBG(2, form("KCemu/PIO/joystick/in", "PIOJoystick::in(): %04xh: addr = %04x, val = %02x\n", z80->getPC(), addr, val)); return val; } void PIOJoystick::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/joystick/out", "PIOJoystick::out(): %04xh: addr = %04x, val = %02x\n", z80->getPC(), addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } int PIOJoystick::callback_A_in(void) { return _val; } int PIOJoystick::callback_B_in(void) { return -1; } void PIOJoystick::callback_A_out(byte_t val) { } void PIOJoystick::callback_B_out(byte_t val) { } ModuleJoystick::ModuleJoystick(ModuleJoystick &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _pio = new PIOJoystick(); _portg = NULL; if (_pio->is_open()) { daisy->add_last(_pio); _portg = ports->register_ports("JOYSTICK", 0x90, 4, _pio, 0); set_valid(true); } else { char buf[1024]; if (_pio->get_joystick_device() == NULL) { snprintf(buf, sizeof(buf), _("Couldn't find any readable joystick device!\n\n" "If your joystick is connected properly and the correct\n" "driver is loaded give the device name of your joystick\n" "in the 'Joystick Device' section of the configuration\n" "file.")); } else { snprintf(buf, sizeof(buf), _("Couldn't open joystick device (%s)!\n\n" "Make sure you have the joystick properly connected\n" "and loaded the correct driver for it.\n\n" "Also check the 'Joystick Device' section in the\n" "configuration file if the device name shown above\n" "looks bogus.\n"), _pio->get_joystick_device()); } set_error_text(buf); set_valid(false); } } ModuleJoystick::ModuleJoystick(const char *name, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { _pio = NULL; _portg = NULL; set_valid(true); } ModuleJoystick::~ModuleJoystick(void) { if (_portg != NULL) { daisy->remove(_pio); ports->unregister_ports(_portg); } if (_pio != NULL) delete _pio; } byte_t ModuleJoystick::in(word_t addr) { byte_t val = 0xff; return val; } void ModuleJoystick::out(word_t addr, byte_t val) { } ModuleInterface * ModuleJoystick::clone(void) { return new ModuleJoystick(*this); } void ModuleJoystick::reset(bool power_on) { } void ModuleJoystick::m_out(word_t addr, byte_t val) { } KCemu-0.5.1/src/kc/memory6.cc0000644000175000017500000000614112417262523016044 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/memory6.h" using namespace std; Memory6::Memory6(void) : Memory() { if (Preferences::instance()->get_kc_variant() == KC_VARIANT_POLY880_SC1) { load_rom(SystemROM::ROM_KEY_SYSTEM1, &_rom0); } else { load_rom(SystemROM::ROM_KEY_SYSTEM1, &_rom0); load_rom(SystemROM::ROM_KEY_SYSTEM2, &_rom1); if (!load_rom(SystemROM::ROM_KEY_SYSTEM3, &_rom2)) memset(_rom2, 0, 0x0400); if (!load_rom(SystemROM::ROM_KEY_SYSTEM4, &_rom3)) memset(_rom3, 0, 0x0400); /* * The content of the poly880 rom is stored inverted. We use * the original rom and restore the machine readable code here. */ for (int a = 0;a < 0x0400;a++) { _rom0[a] = ~_rom0[a]; _rom1[a] = ~_rom1[a]; _rom2[a] = ~_rom2[a]; _rom3[a] = ~_rom3[a]; } } memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_rom0, "ROM0", 0x0000, 0x0400, &_rom0[0x0000], 0, 1, 1, KC_VARIANT_POLY880 }, { &_m_rom_sc1, "ROM", 0x0000, 0x1000, &_rom0[0x0000], 0, 1, 1, KC_VARIANT_POLY880_SC1 }, { &_m_rom1, "ROM1", 0x1000, 0x0400, &_rom1[0x0000], 0, 1, 1, KC_VARIANT_POLY880 }, { &_m_rom2, "ROM2", 0x2000, 0x0400, &_rom2[0x0000], 0, 1, 1, -1 }, { &_m_rom3, "ROM3", 0x3000, 0x0400, &_rom3[0x0000], 0, 1, 1, -1 }, { &_m_ram, "RAM", 0x4000, 0x0400, &_ram[0x0000], 0, 0, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); } Memory6::~Memory6(void) { z80->unregister_ic(this); } byte_t * Memory6::get_irm(void) { return (byte_t *)0; } byte_t * Memory6::get_char_rom(void) { return (byte_t *)0; } void Memory6::reset(bool power_on) { if (!power_on) return; memset(&_ram[0], 0, 0x0400); } void Memory6::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } KCemu-0.5.1/src/kc/mod_fdc.cc0000644000175000017500000000536312417262523016046 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/fdc0s.h" #include "kc/mod_fdc.h" ModuleFDC::ModuleFDC(ModuleFDC &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _portg = NULL; _master = &tmpl; if ((_master->get_count() == 0) && (fdc_fdc == NULL)) { _master->set_count(1); _fdc_type = _master->_fdc_type; switch (_fdc_type) { case FDC_INTERFACE_SCHNEIDER: fdc_fdc = new FDC0S(); // global in kc.cc _portg = ports->register_ports("FDC", 0xf0, 10, fdc_fdc, 0); break; case FDC_INTERFACE_KRAMER: return; // not yet implemented } set_valid(true); } else { char buf[1024]; snprintf(buf, sizeof(buf), _("It's not possible to have more than one\n" "module of type %s!\n\n" "(And due to some technical points of the emulator\n" "it's also not possible to have both the Kramer and\n" "Schneider variant of the floppy module active at\n" "the same time.)"), get_name()); set_error_text(buf); set_valid(false); } } ModuleFDC::ModuleFDC(const char *name, fdc_interface_type_t fdc_type) : ModuleInterface(name, 0, KC_MODULE_Z1013) { _count = 0; _portg = NULL; _fdc_type = fdc_type; switch (_fdc_type) { case FDC_INTERFACE_SCHNEIDER: set_valid(true); break; case FDC_INTERFACE_KRAMER: set_valid(false); // not yet implemented break; } } ModuleFDC::~ModuleFDC(void) { if (_portg) { _master->set_count(0); ports->unregister_ports(_portg); delete fdc_fdc; fdc_fdc = NULL; } } void ModuleFDC::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleFDC::clone(void) { return new ModuleFDC(*this); } void ModuleFDC::reset(bool power_on) { } int ModuleFDC::get_count(void) { return _count; } void ModuleFDC::set_count(int count) { _count = count; } KCemu-0.5.1/src/kc/memory9.cc0000644000175000017500000000736412417262523016057 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/memory9.h" using namespace std; Memory9::Memory9(void) : Memory() { load_rom(SystemROM::ROM_KEY_SYSTEM1, &_rom_slot0[0x0000]); load_rom(SystemROM::ROM_KEY_SYSTEM2, &_rom_slot0[0x8000]); load_rom(SystemROM::ROM_KEY_SYSTEM3, &_rom_slot1[0x0000]); load_rom(SystemROM::ROM_KEY_SYSTEM4, &_rom_slot1[0x2000]); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_rom_slot0_page0, "ROM CGG", 0x0000, 0x04000, &_rom_slot0[0x0000], 0, 1, 1, -1 }, { &_m_rom_slot0_page1, "ROM CGG", 0x4000, 0x04000, &_rom_slot0[0x4000], 0, 1, 1, -1 }, { &_m_rom_slot0_page2, "ROM CGG", 0x8000, 0x02000, &_rom_slot0[0x8000], 0, 1, 1, -1 }, { &_m_rom_slot1_page1, "ROM DSE", 0x4000, 0x04000, &_rom_slot1[0x0000], 5, 1, 0, KC_VARIANT_A5105_A5105 }, { &_m_ram_slot2_page0, "RAM", 0x0000, 0x04000, &_ram_slot2[0x0000], 10, 0, 0, -1 }, { &_m_ram_slot2_page1, "RAM", 0x4000, 0x04000, &_ram_slot2[0x4000], 10, 0, 0, -1 }, { &_m_ram_slot2_page2, "RAM", 0x8000, 0x04000, &_ram_slot2[0x8000], 10, 0, 0, -1 }, { &_m_ram_slot2_page3, "RAM", 0xc000, 0x04000, &_ram_slot2[0xc000], 10, 0, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); } Memory9::~Memory9(void) { z80->unregister_ic(this); } byte_t Memory9::memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void Memory9::memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * Memory9::get_irm(void) { return (byte_t *)get_page_addr_r(0xec00); } byte_t * Memory9::get_char_rom(void) { return (byte_t *)0; } void Memory9::reset(bool power_on) { set_page(0, 0); set_page(1, 0); set_page(2, 0); set_page(3, 2); if (power_on) memset(&_ram_slot2[0], 0, 0x10000); } void Memory9::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } void Memory9::set_page(int page, int slot) { switch (page) { case 0: _m_rom_slot0_page0->set_active(slot == 0); _m_ram_slot2_page0->set_active(slot == 2); break; case 1: _m_rom_slot0_page1->set_active(slot == 0); if (_m_rom_slot1_page1) _m_rom_slot1_page1->set_active(slot == 1); _m_ram_slot2_page1->set_active(slot == 2); break; case 2: _m_rom_slot0_page2->set_active(slot == 0); _m_ram_slot2_page2->set_active(slot == 2); break; case 3: _m_ram_slot2_page3->set_active(slot == 2); break; } reload_mem_ptr(); } KCemu-0.5.1/src/kc/memory.cc0000644000175000017500000003377212417262523015770 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/kc.h" #include "kc/memory.h" #include "sys/sysdep.h" #include "ui/status.h" #include "libdbg/dbg.h" using namespace std; byte_t *MemArea::_scratch_r; byte_t *MemArea::_scratch_w; unsigned int Memory::seed_x; /* the seeds for... */ unsigned int Memory::seed_y; /* ...the pseudo random... */ unsigned int Memory::seed_z; /* ...number generator */ MemArea::MemArea(MemAreaGroup *group, byte_t *mem, word_t addr, int prio, bool ro) { if (!_scratch_r) { _scratch_r = new byte_t[PAGE_SIZE]; _scratch_w = new byte_t[PAGE_SIZE]; memset(_scratch_r, 0xff, PAGE_SIZE); } _group = group; _addr = addr; _prio = prio; _readonly = ro; _read_through = false; _write_through = false; _mem = mem; if (_mem) { _active = false; _mem_r = _mem; _mem_w = ro ? _scratch_w : _mem; } else { _active = true; _mem_r = _scratch_r; _mem_w = _scratch_w; } } MemArea::~MemArea(void) { } void MemArea::set_active(bool active) { if (!_mem) return; _active = active; } void MemArea::set_readonly(bool ro) { if (!_mem) return; _readonly = ro; _mem_w = ro ? _scratch_w : _mem; } void MemArea::set_read_through(bool rt) { _read_through = rt; } void MemArea::set_write_through(bool wt) { _write_through = wt; } const char * MemArea::get_name(void) { return _group->get_name(); } word_t MemArea::get_addr(void) { return _addr; } int MemArea::get_prio(void) { return _prio; } MemAreaGroup::MemAreaGroup(const char *name, word_t addr, dword_t size, byte_t *mem, int prio, bool ro) { _active = false; _prio = prio; _readonly = ro; _name = strdup(name); _addr = addr; _size = size; _mem = mem; } MemAreaGroup::~MemAreaGroup(void) { free(_name); } void MemAreaGroup::set_active(bool active) { _active = active; for (mem_area_list_t::iterator it = _l.begin();it != _l.end();it++) (*it)->set_active(active); } void MemAreaGroup::set_readonly(bool ro) { _readonly = ro; for (mem_area_list_t::iterator it = _l.begin();it != _l.end();it++) (*it)->set_readonly(ro); } void MemAreaGroup::set_read_through(bool rt) { _read_through = rt; for (mem_area_list_t::iterator it = _l.begin();it != _l.end();it++) (*it)->set_read_through(rt); } void MemAreaGroup::set_write_through(bool wt) { _write_through = wt; for (mem_area_list_t::iterator it = _l.begin();it != _l.end();it++) (*it)->set_write_through(wt); } void MemAreaGroup::add(MemAreaPtr *area_ptr[]) { int a; byte_t *mem; word_t addr; MemArea *area; mem = _mem; addr = _addr; for (a = MemArea::PAGE_INDEX(_addr);a < MemArea::PAGE_INDEX(_addr + _size);a++) { area = new MemArea(this, mem, addr, _prio, _readonly); area_ptr[a]->add(area); _l.push_back(area); if (_mem) mem += MemArea::PAGE_SIZE; addr += MemArea::PAGE_SIZE; } } void MemAreaGroup::remove(MemAreaPtr *area_ptr[]) { word_t addr; mem_area_list_t::iterator it; for (it = _l.begin();it != _l.end();it++) { addr = (*it)->get_addr() / MemArea::PAGE_SIZE; area_ptr[addr]->remove(*it); } _l.erase(_l.begin(), _l.end()); } MemAreaPtr::MemAreaPtr(void) { } void MemAreaPtr::add(MemArea *area) { int prio; mem_area_list_t::iterator it; prio = area->get_prio(); for (it = _l.begin();it != _l.end();it++) if ((*it)->get_prio() > prio) break; _l.insert(it, area); } void MemAreaPtr::remove(MemArea *area) { _l.remove(area); } void MemAreaPtr::info(void) { mem_area_list_t::iterator it; /* * display registered memory areas but don't list the fallback * entry that comes as the last entry */ for (it = _l.begin();it != --(_l.end());it++) { cerr << " [\"" << (*it)->get_name() << "\" " << ((*it)->is_active() ? 'A' : 'a') << ((*it)->is_readonly() ? 'R' : 'r') << " ]"; } } byte_t * MemAreaPtr::get_read_ptr(void) { for (mem_area_list_t::iterator it = _l.begin();it != _l.end();it++) if ((*it)->is_active()) if (!(*it)->is_read_through()) return (*it)->get_read_ptr(); return 0; } byte_t * MemAreaPtr::get_write_ptr(void) { for (mem_area_list_t::iterator it = _l.begin();it != _l.end();it++) if ((*it)->is_active()) if (!(*it)->is_write_through()) return (*it)->get_write_ptr(); return 0; } Memory::Memory(void) : InterfaceCircuit("Memory") { unsigned int seed1 = time(NULL); unsigned int seed2 = time(NULL) >> 3; unsigned int seed3 = time(NULL) / 5; mem_rand_seed(seed1, seed2, seed3); for (int a = 0;a < MemArea::PAGES;a++) _mem_ptr[a] = new MemAreaPtr(); } Memory::~Memory(void) { for (int a = 0;a < MemArea::PAGES;a++) delete _mem_ptr[a]; } void Memory::init_memory_groups(memory_group_t mem[]) { for (memory_group_t *mptr = &mem[0];mptr->name;mptr++) { *(mptr->group) = NULL; if ((mptr->model >= 0) && (mptr->model != Preferences::instance()->get_kc_variant())) continue; *(mptr->group) = new MemAreaGroup(mptr->name, mptr->addr, mptr->size, mptr->mem, mptr->prio, mptr->ro); (*(mptr->group))->add(get_mem_ptr()); if (mptr->active) (*(mptr->group))->set_active(true); } reload_mem_ptr(); } bool Memory::load_rom(const char *key, void *buf) { DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): loading rom for key '%s'\n", key)); SystemType *system = Preferences::instance()->get_system_type(); const SystemROM *rom = system->get_rom(key); if (rom == NULL) { cerr << "ROM with key '" << key << "' not defined for system of type '" << system->get_name() << "'\n"; exit(1); } const char *romfile = Preferences::instance()->get_string_value(key, NULL); if (romfile == NULL) { DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): profile has no entry for key '%s'\n", key)); } else { DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): got filename from profile '%s'\n", romfile)); if (sys_isabsolutepath(romfile) && (access(romfile, R_OK) != 0)) { DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): rom from profile ('%s') is not readable, using default\n", romfile)); romfile = NULL; } } if (romfile == NULL) { const ROMEntry * rom_entry = rom->get_default_rom(); if (rom_entry == NULL) rom_entry = rom->get_roms().front(); romfile = rom_entry->get_filename().c_str(); DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): using default filename '%s'\n", romfile)); } string rompath; // must be still in scope when calling load_rom() below... if (!sys_isabsolutepath(romfile)) { string datadir(kcemu_datadir); string romdir = datadir + system->get_rom_directory() + "/"; rompath = romdir + romfile; romfile = rompath.c_str(); DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): resolving relative path to '%s'\n", romfile)); } return load_rom(romfile, buf, rom->get_size(), rom->is_mandatory()); } bool Memory::load_rom(const char *filename, void *buf, long len, bool force) { ifstream is; DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): loading '%s' (size = %04xh, force = %s)\n", filename, len, force ? "yes" : "no")); is.open(filename, ios::in | ios::binary); if (!is) { DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): can't open rom file '%s'\n", filename)); if (!force) return false; cerr << "can't open file '" << filename << "'\n"; exit(1); } is.read((char *)buf, len); if (!is) { DBG(1, form("KCemu/Memory/load_rom", "Memory::load_rom(): failed to load rom from '%s'\n", filename)); if (force) { cerr << "error while reading '" << filename << "'\n"; exit(1); } } is.close(); return !(!is); // ;-) } void Memory::loadRAM(const char *filename) { if (filename == NULL) return; long addr = 0; const char *ptr = strstr(filename, "0x"); if (ptr != NULL) addr = strtol(ptr, NULL, 0) & 0xffff; loadRAM(filename, addr); } void Memory::loadRAM(const char *filename, word_t addr) { ifstream is; is.open(filename, ios::in | ios::binary); if (!is) return; loadRAM(&is, addr); } bool Memory::loadRAM(istream *is, word_t addr) { int c; while (242) { c = is->get(); if (c == EOF) break; memWrite8(addr++, c); } return true; } bool Memory::loadRAM_Z1013(istream *is, word_t addr) { int a, c; /* * skip header */ for (a = 0;a < 36;a++) c = is->get(); a = 0; while (242) { c = is->get(); if (c == EOF) break; if (((a % 36) > 1) && ((a % 36) < 34)) memWrite8(addr++, c); a++; } return true; } bool Memory::loadRAM(istream *is, bool with_block_nr) { int a, c, idx; unsigned char buf[129], *ptr; unsigned short load_addr, end_addr; /* read header */ if (with_block_nr) { for (a = 0;a < 129;a++) buf[a] = is->get(); // workaround for memstream problems ptr = &buf[1]; } else { for (a = 0;a < 128;a++) buf[a] = is->get(); // workaround for memstream problems ptr = &buf[0]; } if (!(*is)) return false; a = 0; if ((ptr[0] == 0xd3) && (ptr[1] == 0xd3) && (ptr[2] == 0xd3)) { load_addr = 0x0401; end_addr = load_addr + (ptr[11] | (ptr[12] << 8)); switch (Preferences::instance()->get_kc_type()) { case KC_TYPE_85_1: case KC_TYPE_87: memWrite8(0x03d7, end_addr & 0xff); memWrite8(0x03d8, end_addr >> 8); break; case KC_TYPE_85_2: case KC_TYPE_85_3: case KC_TYPE_85_4: memWrite8(0x03d7, end_addr & 0xff); memWrite8(0x03d8, end_addr >> 8); memWrite8(0x03d9, end_addr & 0xff); memWrite8(0x03da, end_addr >> 8); memWrite8(0x03db, end_addr & 0xff); memWrite8(0x03dc, end_addr >> 8); break; default: break; } for (;a < 115;a++) memWrite8(load_addr++, ptr[a + 13]); } else { load_addr = (ptr[17] & 0xff) | ((ptr[18] << 8) & 0xff00); //cout << __PRETTY_FUNCTION__ << ": load_addr = " << load_addr << endl; } idx = 0; while (242) { c = is->get(); if (c == EOF) break; if ((!with_block_nr) || (idx > 0)) { memWrite8(load_addr++, c); a++; } idx++; if (idx == 129) idx = 0; } //cout << __PRETTY_FUNCTION__ << ": len = " << a << endl; return true; } MemAreaPtr ** Memory::get_mem_ptr(void) { return _mem_ptr; } MemAreaGroup * Memory::register_memory(const char *name, word_t addr, dword_t size, byte_t *mem, int prio, bool ro) { MemAreaGroup *group; group = new MemAreaGroup(name, addr, size, mem, prio, ro); group->add(get_mem_ptr()); group->set_active(true); reload_mem_ptr(); return group; } void Memory::unregister_memory(MemAreaGroup *group) { group->remove(get_mem_ptr()); reload_mem_ptr(); delete group; } void Memory::reload_mem_ptr(void) { for (int a = 0;a < MemArea::PAGES;a++) { _memrptr[a] = _mem_ptr[a]->get_read_ptr(); _memwptr[a] = _mem_ptr[a]->get_write_ptr(); } } void * Memory::get_page_addr_r(word_t addr) { word_t a = addr >> MemArea::PAGE_SHIFT; return _memrptr[a]; } void * Memory::get_page_addr_w(word_t addr) { word_t a = addr >> MemArea::PAGE_SHIFT; return _memwptr[a]; } void Memory::scratch_mem(byte_t *ptr, int len) { while (len-- > 0) *ptr++ = mem_rand(); } void Memory::dump(word_t addr) { int a, b, c; for (a = 0;a < 8;a++) { cerr << hex << setw(4) << setfill('0') << (addr + 16 * a) << ": "; for (b = 0;b < 16;b++) { cerr << hex << setw(2) << setfill('0') << memRead8(addr + 16 * a + b) << " "; if (b == 7) cerr << ": "; } cerr << " "; for (b = 0;b < 16;b++) { c = memRead8(addr + 16 * a + b); if (c > 0x20 && c < 0x80) { cerr << (char)c; } else { cerr << '.'; } } cerr << endl; } } void Memory::info(void) { cerr << " Memory:" << endl; cerr << " -------" << endl << endl; word_t addr = 0; for (int a = 0;a < MemArea::PAGES;a++) { if (_mem_ptr[a]->size() > 1) { cerr << " " << hex << setw(4) << setfill('0') << addr << "h:"; _mem_ptr[a]->info(); cerr << endl; } addr += MemArea::PAGE_SIZE; } cerr << endl << endl; } /* * returns x(n) + z(n) where x(n) = x(n-1) + x(n-2) mod 2^32 * z(n) = 30903 * z(n-1) + carry mod 2^16 * Simple, fast, and very good. Period > 2^60 * * http://remus.rutgers.edu/~rhoads/Code/code.html */ unsigned int Memory::mem_rand() { unsigned int v = seed_x * seed_y; seed_x = seed_y; seed_y = v; seed_z = (seed_z & 65535) * 30903 + (seed_z >> 16); return (seed_y + (seed_z & 65535)); } void Memory::mem_rand_seed(unsigned int seed1, unsigned int seed2, unsigned int seed3) { seed_x = (seed1<<1) | 1; seed_x = seed_x * 3 * seed_x; seed_y = (seed2<<1) | 1; seed_z = seed3; } KCemu-0.5.1/src/kc/vdip_cmd.cc0000644000175000017500000005526012417262523016241 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/vdip.h" #include "sys/sysdep.h" class VDIP_CMD_UNKNOWN : public VDIP_CMD { public: VDIP_CMD_UNKNOWN(VDIP *vdip) : VDIP_CMD(vdip) {} virtual ~VDIP_CMD_UNKNOWN(void) {} void execute(void) { add_error(ERR_BAD_COMMAND); } }; class VDIP_CMD_DIR : public VDIP_CMD { public: VDIP_CMD_DIR(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_DIR(void) { } void execute(void) { if (has_args()) execute_with_arg(); else execute_without_arg(); } void execute_with_arg() { struct stat buf; const char *arg = get_arg(0).c_str(); string filename = get_vdip()->get_path(arg); add_string("\r"); if (stat(filename.c_str(), &buf) == 0) { add_string(arg); add_char(' '); add_dword(buf.st_size); add_char('\r'); add_prompt(); } else { add_error(ERR_COMMAND_FAILED); } } void execute_without_arg() { string path = get_vdip()->get_cwd(); DIR *dir = opendir(path.c_str()); add_string("\r"); if (dir != NULL) { if (!get_vdip()->is_root()) add_string(". DIR\r.. DIR\r"); // hmm, can't use dirent->d_type as MinGW does not provide // this information :-(. falling back to stat every entry. while (242) { struct stat buf; struct dirent *dirent = readdir(dir); if (dirent == NULL) break; string file = path + "/" + dirent->d_name; if (stat(file.c_str(), &buf) != 0) continue; if (S_ISREG(buf.st_mode)) { add_string(dirent->d_name); add_string("\r"); } else if (S_ISDIR(buf.st_mode)) { if ((strcmp(dirent->d_name, ".") != 0) && (strcmp(dirent->d_name, "..") != 0)) { add_string(dirent->d_name); add_string(" DIR\r"); } } } add_prompt(); } } }; class VDIP_CMD_CD : public VDIP_CMD { public: VDIP_CMD_CD(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_CD(void) { } void execute(void) { string dir = get_arg(0); if (strcmp(dir.c_str(), ".") == 0) { add_prompt(); } else if (strcmp(dir.c_str(), "..") == 0) { vdip->chdir_up(); add_prompt(); } else if (strncmp(dir.c_str(), "/", 1) == 0) { vdip->chdir_root(); add_prompt(); } else { struct stat buf; string path = get_vdip()->get_path(dir); if (stat(path.c_str(), &buf) == 0) { get_vdip()->chdir(dir); add_prompt(); } else { add_error(ERR_COMMAND_FAILED); } } } }; class VDIP_CMD_IDD : public VDIP_CMD { public: VDIP_CMD_IDD(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_IDD(void) { } void execute(void) { word_t block_size; dword_t free_bytes, total_bytes; if (sys_getdiskinfo(get_vdip()->get_cwd().c_str(), &total_bytes, &free_bytes, &block_size) != 0) { block_size = 0; free_bytes = 0; total_bytes = 0; } add_string("\rUSB VID = $0000\rUSB PID = $0000\rVendor Id = KCemu \rProduct Id = Virtual Disk \rRevision Level = 0000\r"); add_string("I/F = SCSI\rFAT32\rBytes/Sector = $"); add_hex(4, 0x0200); add_string("\rBytes/Cluster = $"); add_hex(6, block_size); add_string("\rCapacity = $"); add_hex(8, total_bytes); add_string(" Bytes\rFree Space = $"); add_hex(8, free_bytes); add_string(" Bytes\r\r"); add_prompt(); } }; class VDIP_CMD_CLF : public VDIP_CMD { public: VDIP_CMD_CLF(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_CLF(void) { } void execute(void) { if (vdip->get_file() == NULL) { add_error(ERR_COMMAND_FAILED); } else { fclose(get_vdip()->get_file()); add_prompt(); get_vdip()->set_file(NULL); } } }; class VDIP_CMD_OPR : public VDIP_CMD { public: VDIP_CMD_OPR(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_OPR(void) { } void execute(void) { string filename = get_vdip()->get_path(get_arg(0)); if (get_vdip()->get_file() != NULL) fclose(get_vdip()->get_file()); FILE *f = fopen(filename.c_str(), "rb"); if (f == NULL) { // ml-dos expects FI error in UPUT add_error(ERR_INVALID); //add_error(ERR_COMMAND_FAILED); } else { get_vdip()->set_file(f); add_prompt(); } } }; class VDIP_CMD_RDF : public VDIP_CMD { public: VDIP_CMD_RDF(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_RDF(void) { } void execute(void) { FILE *f = get_vdip()->get_file(); if (f == NULL) { add_error(ERR_INVALID); } else if (feof(f)) { add_error(ERR_COMMAND_FAILED); } else { dword_t len = get_dword_arg(0); for (dword_t a = 0; a < len; a++) add_char(fgetc(f)); // use EOF as padding add_prompt(); } } }; class VDIP_CMD_SCS : public VDIP_CMD { public: VDIP_CMD_SCS(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_SCS(void) { } void execute(void) { get_vdip()->set_short_command_set(true); add_prompt(); } }; class VDIP_CMD_ECS : public VDIP_CMD { public: VDIP_CMD_ECS(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_ECS(void) { } void execute(void) { get_vdip()->set_short_command_set(false); add_prompt(); } }; class VDIP_CMD_OPW : public VDIP_CMD { public: VDIP_CMD_OPW(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_OPW(void) { } void execute(void) { string filename = get_vdip()->get_path(get_arg(0)); if (get_vdip()->get_file() != NULL) fclose(get_vdip()->get_file()); struct stat buf; bool stat_ok = (stat(filename.c_str(), &buf) == 0); if (stat_ok && (!S_ISREG(buf.st_mode))) { add_error(ERR_INVALID); // existing but not a regular file } else if (stat_ok && (access(filename.c_str(), W_OK) != 0)) { add_error(ERR_READ_ONLY); // existing regular file but read-only } else { FILE *f = fopen(filename.c_str(), stat_ok ? "r+b" : "w+b"); if (f == NULL) { add_error(ERR_COMMAND_FAILED); } else { if (fseek(f, 0, SEEK_END) == 0) { get_vdip()->set_file(f); add_prompt(); } else { add_error(ERR_COMMAND_FAILED); } } } } }; class VDIP_CMD_WRF : public VDIP_CMD { private: dword_t _wrf_len; public: VDIP_CMD_WRF(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_WRF(void) { } void execute(void) { FILE *f = get_vdip()->get_file(); if (f == NULL) { add_error(ERR_FILE_OPEN); } else { dword_t len = get_dword_arg(0); _wrf_len = len; // no prompt here! waiting for data } } void handle_input(byte_t data) { FILE *f = get_vdip()->get_file(); if (f) fputc(data, f); _wrf_len--; if (_wrf_len == 0) add_prompt(); } }; class VDIP_CMD_SEK : public VDIP_CMD { public: VDIP_CMD_SEK(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_SEK(void) { } void execute(void) { FILE *f = get_vdip()->get_file(); if (f == NULL) { add_error(ERR_INVALID); } else if (feof(f)) { add_error(ERR_COMMAND_FAILED); } else { dword_t offset = get_dword_arg(0); if ((fseek(f, offset, SEEK_SET) != 0) || ((unsigned int)ftell(f) != offset)) add_error(ERR_COMMAND_FAILED); else add_prompt(); } } }; class VDIP_CMD_EMPTY : public VDIP_CMD { public: VDIP_CMD_EMPTY(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_EMPTY(void) { } void execute(void) { add_prompt(); } }; class VDIP_CMD_SYNC : public VDIP_CMD { private: byte_t _val; public: VDIP_CMD_SYNC(VDIP *vdip, byte_t val) : VDIP_CMD(vdip), _val(val) { } virtual ~VDIP_CMD_SYNC(void) { } void execute(void) { add_char(_val); add_char('\r'); } }; class VDIP_CMD_IPH : public VDIP_CMD { private: byte_t _val; public: VDIP_CMD_IPH(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_IPH(void) { } void execute(void) { get_vdip()->set_binary_mode(true); add_prompt(); } }; class VDIP_CMD_IPA : public VDIP_CMD { private: byte_t _val; public: VDIP_CMD_IPA(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_IPA(void) { } void execute(void) { get_vdip()->set_binary_mode(false); add_prompt(); } }; class VDIP_CMD_DIRT : public VDIP_CMD { private: byte_t _val; public: VDIP_CMD_DIRT(VDIP *vdip) : VDIP_CMD(vdip, true) { } virtual ~VDIP_CMD_DIRT(void) { } dword_t get_datetime(long datetime) { int year, month, day, hour, minute, second; sys_converttime((long)datetime, &year, &month, &day, &hour, &minute, &second); return ((year - 80) << 25) | ((month) << 21) | (day << 16) | (hour << 11) | (minute << 5) | (second / 2); } void execute(void) { struct stat buf; const char *arg = get_arg(0).c_str(); string filename = get_vdip()->get_path(arg); if (stat(filename.c_str(), &buf) == 0) { // as we have no creation time, we use the modification time dword_t ctime = get_datetime(buf.st_mtime); word_t atime = get_datetime(buf.st_atime) >> 16; dword_t mtime = get_datetime(buf.st_mtime); add_string("\r"); add_string(arg); add_char(' '); add_dword(ctime); add_word(atime); add_dword(mtime); add_char('\r'); add_prompt(); } else { add_error(ERR_COMMAND_FAILED); } } }; class VDIP_CMD_FWV : public VDIP_CMD { public: VDIP_CMD_FWV(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_FWV(void) { } void execute(void) { add_string("\rMAIN "); add_string(get_vdip()->get_firmware_version().c_str()); add_string("\rRPRG 1.00R\r"); add_prompt(); } }; class VDIP_CMD_MKD : public VDIP_CMD { public: VDIP_CMD_MKD(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_MKD(void) { } void execute(void) { if (get_vdip()->get_file() != NULL) add_error(ERR_FILE_OPEN); else if (get_arg_count() == 1) execute_with_name(get_arg(0)); else if (get_arg_count() >= 2) execute_with_name_and_time(get_arg(0), get_dword_arg(1)); else add_error(ERR_BAD_COMMAND); } long get_time(dword_t time) { struct tm tm; tm.tm_year = ((time >> 25) & 127) + 80; tm.tm_mon = ((time >> 21) & 15) - 1; tm.tm_mday = ((time >> 16) & 31); tm.tm_hour = ((time >> 11) & 31); tm.tm_min = ((time >> 5) & 64); tm.tm_sec = (time & 31) * 2; return mktime(&tm); } void execute_with_name(string arg) { // default date: 2004-12-20 00:00:00 // date given in the documentation is wrong! execute_with_name_and_time(arg, 0x31940000); } void execute_with_name_and_time(string arg, dword_t time) { struct stat buf; string filename = get_vdip()->get_path(arg); if (stat(filename.c_str(), &buf) != 0) { if (sys_mkdir(filename.c_str(), 0755) == 0) { struct utimbuf utimbuf; utimbuf.actime = get_time(time); if (utimbuf.actime != -1) { utimbuf.modtime = utimbuf.actime; utime(filename.c_str(), &utimbuf); } add_prompt(); return; } } add_error(ERR_COMMAND_FAILED); } }; class VDIP_CMD_DLD : public VDIP_CMD { public: VDIP_CMD_DLD(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_DLD(void) { } void execute(void) { if (get_vdip()->get_file() != NULL) add_error(ERR_FILE_OPEN); else if (get_arg_count() >= 1) execute_with_name(get_arg(0)); else add_error(ERR_BAD_COMMAND); } void execute_with_name(string arg) { string filename = get_vdip()->get_path(arg); if (rmdir(filename.c_str()) == 0) { add_prompt(); } else { if (errno == ENOTEMPTY) add_error(ERR_DIR_NOT_EMPTY); else add_error(ERR_COMMAND_FAILED); } } }; class VDIP_CMD_DLF : public VDIP_CMD { public: VDIP_CMD_DLF(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_DLF(void) { } void execute(void) { if (get_vdip()->get_file() != NULL) add_error(ERR_FILE_OPEN); else if (get_arg_count() >= 1) execute_with_name(get_arg(0)); else add_error(ERR_BAD_COMMAND); } void execute_with_name(string arg) { string filename = get_vdip()->get_path(arg); if (access(filename.c_str(), W_OK) != 0) { add_error(ERR_READ_ONLY); } else if (unlink(filename.c_str()) == 0) { add_prompt(); } else { switch (errno) { case EISDIR: add_error(ERR_INVALID); break; case EACCES: case EPERM: case EROFS: add_error(ERR_READ_ONLY); break; default: add_error(ERR_COMMAND_FAILED); break; } } } }; class VDIP_CMD_RD : public VDIP_CMD { public: VDIP_CMD_RD(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_RD(void) { } void execute(void) { if (get_vdip()->get_file() != NULL) add_error(ERR_FILE_OPEN); else if (get_arg_count() >= 1) execute_with_name(get_arg(0)); else add_error(ERR_BAD_COMMAND); } void execute_with_name(string arg) { string filename = get_vdip()->get_path(arg); struct stat buf; if (stat(filename.c_str(), &buf) != 0) { add_error(ERR_COMMAND_FAILED); return; } // this is not specified in the real VDIP firmware // but we refuse to read files that are bigger than // one megabyte. if (buf.st_size > 1024 * 1024) { add_error(ERR_INVALID); return; } FILE *f = fopen(filename.c_str(), "rb"); if (f == NULL) { add_error(ERR_COMMAND_FAILED); return; } while (242) { int c = fgetc(f); if (c == EOF) break; add_char(c); } fclose(f); } }; class VDIP_CMD_REN : public VDIP_CMD { public: VDIP_CMD_REN(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_REN(void) { } void execute(void) { if (get_vdip()->get_file() != NULL) add_error(ERR_FILE_OPEN); else if (get_arg_count() >= 2) execute_with_names(get_arg(0), get_arg(1)); else add_error(ERR_BAD_COMMAND); } void execute_with_names(string source, string target) { string source_path = get_vdip()->get_path(source); string target_path = get_vdip()->get_path(target); struct stat buf; if (stat(target_path.c_str(), &buf) == 0) { add_error(ERR_COMMAND_FAILED); } else if (rename(source_path.c_str(), target_path.c_str()) == 0) { add_prompt(); } else { add_error(ERR_COMMAND_FAILED); } } }; /* class VDIP_CMD_CD : public VDIP_CMD { public: VDIP_CMD_CD(VDIP *vdip) : VDIP_CMD(vdip) { } virtual ~VDIP_CMD_CD(void) { } void execute(void) { } }; */ VDIP_CMD::VDIP_CMD(VDIP *vdip, bool check_disk) { _vdip = vdip; _args = NULL; _check_disk = check_disk; } VDIP_CMD::~VDIP_CMD(void) { if (_args) delete _args; } VDIP * VDIP_CMD::get_vdip(void) { return _vdip; } void VDIP_CMD::add_prompt(void) { add_string(vdip->is_short_command_set() ? ">\r" : "D:\\>\r"); } void VDIP_CMD::add_error(vdip_error_t error) { switch (error) { case ERR_BAD_COMMAND: add_string(get_vdip()->is_short_command_set() ? "BC\r" : "Bad Command\r"); break; case ERR_COMMAND_FAILED: add_string(get_vdip()->is_short_command_set() ? "CF\r" : "Command Failed\r"); break; case ERR_DISK_FULL: add_string(get_vdip()->is_short_command_set() ? "DF\r" : "Disk Full\r"); break; case ERR_INVALID: add_string(get_vdip()->is_short_command_set() ? "FI\r" : "Invalid\r"); break; case ERR_READ_ONLY: add_string(get_vdip()->is_short_command_set() ? "RO\r" : "Read Only\r"); break; case ERR_FILE_OPEN: add_string(get_vdip()->is_short_command_set() ? "FO\r" : "File Open\r"); break; case ERR_DIR_NOT_EMPTY: add_string(get_vdip()->is_short_command_set() ? "NE\r" : "Dir Not Empty\r"); break; case ERR_FILENAME_INVALID: add_string(get_vdip()->is_short_command_set() ? "FN\r" : "Filename Invalid\r"); break; case ERR_NO_UPGRADE: add_string(get_vdip()->is_short_command_set() ? "NU\r" : "No Upgrade\r"); break; case ERR_NO_DISK: add_string(get_vdip()->is_short_command_set() ? "ND\r" : "No Disk\r"); break; } } void VDIP_CMD::add_char(int c) { _response += c; } void VDIP_CMD::add_hex(int digits, dword_t val) { char buf[128]; snprintf(buf, sizeof(buf), "%0*lx", digits, val); add_string(buf); } void VDIP_CMD::add_word(word_t val) { add_char(val & 0xff); add_char((val >> 8) & 0xff); } void VDIP_CMD::add_dword(dword_t val) { for (int a = 0;a <= 24;a += 8) add_char((val >> a) & 0xff); } void VDIP_CMD::add_string(const char *text) { _response += string(text); } bool VDIP_CMD::has_args(void) const { return get_arg_count() > 0; } int VDIP_CMD::get_arg_count(void) const { if (_args == NULL) return 0; return _args->size(); } string VDIP_CMD::get_arg(unsigned int arg) const { if (!has_args()) return ""; if (arg >= _args->size()) return ""; unsigned int a = 0; for (StringList::iterator it = _args->begin();it != _args->end();it++) if (a++ == arg) return *it; return ""; } dword_t VDIP_CMD::get_dword_arg(unsigned int arg) const { string data = get_arg(arg); if (data.length() != 4) return 0; dword_t val = 0; for (int a = 0; a < 4; a++) val = (val << 8) | (data.at(a) & 0xff); return val; } void VDIP_CMD::set_args(StringList *args) { _args = args; } string VDIP_CMD::get_response(string input) { return _response; } void VDIP_CMD::exec(void) { if (!get_vdip()->has_disk()) add_error(ERR_NO_DISK); else execute(); } void VDIP_CMD::handle_input(byte_t data) { } vdip_command_t VDIP_CMD::map_extended_command(string cmd) { if (strcmp(cmd.c_str(), "DIR") == 0) return CMD_DIR; else if (strcmp(cmd.c_str(), "CD") == 0) return CMD_CD; else if (strcmp(cmd.c_str(), "IDD") == 0) return CMD_IDD; else if (strcmp(cmd.c_str(), "CLF") == 0) return CMD_CLF; else if (strcmp(cmd.c_str(), "OPR") == 0) return CMD_OPR; else if (strcmp(cmd.c_str(), "RDF") == 0) return CMD_RDF; else if (strcmp(cmd.c_str(), "SCS") == 0) return CMD_SCS; else if (strcmp(cmd.c_str(), "ECS") == 0) return CMD_ECS; else if (strcmp(cmd.c_str(), "OPW") == 0) return CMD_OPW; else if (strcmp(cmd.c_str(), "WRF") == 0) return CMD_WRF; else if (strcmp(cmd.c_str(), "SEK") == 0) return CMD_SEK; else if (strcmp(cmd.c_str(), "IPH") == 0) return CMD_IPH; else if (strcmp(cmd.c_str(), "IPA") == 0) return CMD_IPA; else if (strcmp(cmd.c_str(), "DIRT") == 0) return CMD_DIRT; else if (strcmp(cmd.c_str(), "FWV") == 0) return CMD_FWV; else if (strcmp(cmd.c_str(), "MKD") == 0) return CMD_MKD; else if (strcmp(cmd.c_str(), "DLD") == 0) return CMD_DLD; else if (strcmp(cmd.c_str(), "DLF") == 0) return CMD_DLF; else if (strcmp(cmd.c_str(), "RD") == 0) return CMD_RD; else if (strcmp(cmd.c_str(), "REN") == 0) return CMD_REN; return CMD_UNKNOWN; } VDIP_CMD * VDIP_CMD::create_command(VDIP *vdip, string cmd) { return create_command(vdip, map_extended_command(cmd)); } VDIP_CMD * VDIP_CMD::create_command(VDIP *vdip, vdip_command_t code) { VDIP_CMD *vdip_cmd; switch (code) { case CMD_SCS: vdip_cmd = new VDIP_CMD_SCS(vdip); break; case CMD_ECS: vdip_cmd = new VDIP_CMD_ECS(vdip); break; case CMD_DIR: vdip_cmd = new VDIP_CMD_DIR(vdip); break; case CMD_CD: vdip_cmd = new VDIP_CMD_CD(vdip); break; case CMD_CLF: vdip_cmd = new VDIP_CMD_CLF(vdip); break; case CMD_OPW: vdip_cmd = new VDIP_CMD_OPW(vdip); break; case CMD_OPR: vdip_cmd = new VDIP_CMD_OPR(vdip); break; case CMD_RDF: vdip_cmd = new VDIP_CMD_RDF(vdip); break; case CMD_WRF: vdip_cmd = new VDIP_CMD_WRF(vdip); break; case CMD_IDD: vdip_cmd = new VDIP_CMD_IDD(vdip); break; case CMD_SEK: vdip_cmd = new VDIP_CMD_SEK(vdip); break; case CMD_IPH: vdip_cmd = new VDIP_CMD_IPH(vdip); break; case CMD_IPA: vdip_cmd = new VDIP_CMD_IPA(vdip); break; case CMD_E: vdip_cmd = new VDIP_CMD_SYNC(vdip, 'E'); break; case CMD_e: vdip_cmd = new VDIP_CMD_SYNC(vdip, 'e'); break; case CMD_DIRT: vdip_cmd = new VDIP_CMD_DIRT(vdip); break; case CMD_EMPTY: vdip_cmd = new VDIP_CMD_EMPTY(vdip); break; case CMD_FWV: vdip_cmd = new VDIP_CMD_FWV(vdip); break; case CMD_MKD: vdip_cmd = new VDIP_CMD_MKD(vdip); break; case CMD_DLD: vdip_cmd = new VDIP_CMD_DLD(vdip); break; case CMD_DLF: vdip_cmd = new VDIP_CMD_DLF(vdip); break; case CMD_RD: vdip_cmd = new VDIP_CMD_RD(vdip); break; case CMD_REN: vdip_cmd = new VDIP_CMD_REN(vdip); break; default: vdip_cmd = new VDIP_CMD_UNKNOWN(vdip); break; } return vdip_cmd; } KCemu-0.5.1/src/kc/c80/0000755000175000017500000000000012417262523014527 5ustar glaubitzglaubitzKCemu-0.5.1/src/kc/c80/display.cc0000644000175000017500000000503212417262523016503 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/c80/display.h" #include "libdbg/dbg.h" DisplayC80::DisplayC80(void) { _idx = 0; _reset = true; for (int a = 0;a < C80_NR_OF_LEDS;a++) _led_value[a] = 0; } DisplayC80::~DisplayC80(void) { } byte_t DisplayC80::get_led_value(int idx) { return _led_value[idx]; } void DisplayC80::callback(void *data) { long idx = (long)data; DBG(2, form("KCemu/DisplayC80/callback", "DisplayC80::callback(): idx = %d\n", idx)); if ((idx > 0) && (idx < 9)) { _led_value[idx - 1] = pio->in_B_DATA(); DBG(2, form("KCemu/DisplayC80/callback", "DisplayC80::callback(): LED: [%d] %02x %02x %02x %02x - %02x %02x %02x %02x\n", idx - 1, _led_value[7], _led_value[6], _led_value[5], _led_value[4], _led_value[3], _led_value[2], _led_value[1], _led_value[0])); } pio->set_A_EXT(0x10, 0x10); } int DisplayC80::callback_A_in(void) { return -1; } int DisplayC80::callback_B_in(void) { return -1; } void DisplayC80::callback_A_out(byte_t val) { int a5 = (val >> 5) & 1; DBG(2, form("KCemu/DisplayC80/out_A", "DisplayC80::out_A(): val = %02x, A5 = %d\n", val, a5)); if (a5) { _idx = 0; _reset = true; } else { _reset = false; } } void DisplayC80::callback_B_out(byte_t val) { DBG(2, form("KCemu/DisplayC80/out_B", "DisplayC80::out_B(): val = %02x, idx = %d, reset = %d\n", val, _idx, _reset)); if (_reset) return; _idx++; z80->addCallback(C80_DISPLAY_CB_OFFSET, this, (void *)_idx); pio->set_A_EXT(0x10, 0x00); pio->strobe_B(); } KCemu-0.5.1/src/kc/c80/Makefile.am0000644000175000017500000000030112417262523016555 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libc80.a AM_CPPFLAGS = -I../../../include libc80_a_SOURCES = \ pio.cc \ memory.cc \ display.cc \ keyboard.cc KCemu-0.5.1/src/kc/c80/memory.cc0000644000175000017500000000527012417262523016352 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/c80/memory.h" using namespace std; MemoryC80::MemoryC80(void) : Memory() { load_rom(SystemROM::ROM_KEY_SYSTEM, &_rom_monitor); if (!load_rom(SystemROM::ROM_KEY_USER, &_rom_user)) memset(_rom_user, 0xff, 0x400); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_rom_monitor, "Monitor", 0x0000, 0x0400, &_rom_monitor[0], 1, 1, 1, -1 }, { &_m_rom_user, "User ROM", 0x0400, 0x0400, &_rom_user[0], 1, 1, 1, -1 }, { &_m_ram_mirror, "RAM (mirror)", 0x0800, 0x0400, &_ram[0], 1, 0, 1, -1 }, { &_m_ram, "RAM", 0x0c00, 0x0400, &_ram[0], 1, 0, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); } MemoryC80::~MemoryC80(void) { z80->unregister_ic(this); delete _m_scr; delete _m_rom_monitor; delete _m_rom_user; delete _m_ram_mirror; delete _m_ram; } byte_t MemoryC80::memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void MemoryC80::memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * MemoryC80::get_irm(void) { return 0; } byte_t * MemoryC80::get_char_rom(void) { return 0; } void MemoryC80::reset(bool power_on) { if (!power_on) return; scratch_mem(&_ram[0], 0x0400); } void MemoryC80::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } KCemu-0.5.1/src/kc/c80/keyboard.cc0000644000175000017500000000446512417262523016647 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/keys.h" #include "kc/c80/keydef.h" #include "kc/c80/keyboard.h" #include "cmd/cmd.h" #include "libdbg/dbg.h" KeyboardC80::KeyboardC80(void) { init(); z80->register_ic(this); } KeyboardC80::~KeyboardC80(void) { z80->unregister_ic(this); } void KeyboardC80::init(void) { _key = 0; } int KeyboardC80::decode_key(int keysym, bool press) { return __keys[keysym]; } void KeyboardC80::keyPressed(int keysym, int keycode) { if (_key != 0) return; _key = decode_key(keysym, true); DBG(2, form("KCemu/keyboard/c80/key_press", "##### Keyboard: keyPressed [%03x/%02x] {%02x}\n", keysym, keycode, _key)); } void KeyboardC80::keyReleased(int keysym, int keycode) { DBG(2, form("KCemu/keyboard/c80/key_released", "##### Keyboard: keyReleased [%03x/%02x] {%02x}\n", keysym, keycode, _key)); _key = 0; if (keysym == 0x1b) CMD_EXEC("emu-reset"); } void KeyboardC80::replayString(const char *text) { } void KeyboardC80::callback(void *data) { } void KeyboardC80::reset(bool power_on) { init(); } void KeyboardC80::reti(void) { } int KeyboardC80::callback_A_in(void) { if (_key == 0) return -1; int col = ~pio->in_B_DATA(); if (col & (_key & 0xff)) pio->set_A_EXT(0x07, (~(_key >> 8)) & 0x07); else pio->set_A_EXT(0x07, 0x07); return -1; } int KeyboardC80::callback_B_in(void) { return -1; } KCemu-0.5.1/src/kc/c80/pio.cc0000644000175000017500000000631512417262523015632 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/c80/pio.h" #include "libdbg/dbg.h" PIOC80_1::PIOC80_1(void) { } PIOC80_1::~PIOC80_1(void) { } byte_t PIOC80_1::in(word_t addr) { byte_t val = 0xff; static byte_t last_key = 0x07; switch (addr & 3) { case 0: val = in_A_DATA(); if (last_key != (val & 0x07)) { DBG(2, form("KCemu/PIO/c80/in_key", "PIOC80_1::in(): addr = %04x, val = %02x, [ %d : %d : %d ]\n", addr, val, (val & 4) >> 2, (val & 2) >> 1, val & 1)); last_key = val & 0x07; } break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/c80/in", "PIOC80_1::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIOC80_1::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/c80/out", "PIOC80_1::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIOC80_1::change_A(byte_t changed, byte_t val) { } void PIOC80_1::change_B(byte_t changed, byte_t val) { } PIOC80_2::PIOC80_2(void) { } PIOC80_2::~PIOC80_2(void) { } byte_t PIOC80_2::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/c80/in", "PIOC80_2::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIOC80_2::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/c80/out", "PIOC80_2::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIOC80_2::change_A(byte_t changed, byte_t val) { } void PIOC80_2::change_B(byte_t changed, byte_t val) { } KCemu-0.5.1/src/kc/memory4.cc0000644000175000017500000003513412417262523016046 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/memory4.h" #include "kc/mod_rom.h" #include "ui/ui.h" #include "libdbg/dbg.h" using namespace std; Memory4::Memory4(void) { if (Preferences::instance()->get_kc_type() == KC_TYPE_85_4) init_4(); else init_5(); } void Memory4::init_4(void) { _ram_size = 0x10000; _ram = new byte_t[_ram_size]; _rom_caosc = new byte_t[0x1000]; _rom_caose = new byte_t[0x2000]; _rom_basic = new byte_t[0x2000]; load_rom(SystemROM::ROM_KEY_CAOSC, &_rom_caosc[0]); load_rom(SystemROM::ROM_KEY_CAOSE, &_rom_caose[0]); load_rom(SystemROM::ROM_KEY_BASIC, &_rom_basic[0]); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_ram_0, "RAM 0", 0x0000, 0x4000, &_ram[0x8000], 0, 0, 1, -1 }, { &_m_ram_4, "RAM 4", 0x4000, 0x4000, &_ram[0xc000], 4, 0, 1, -1 }, { &_m_ram_8[ 0], "RAM 8 (0)", 0x8000, 0x4000, &_ram[0x0000], 3, 0, 1, -1 }, { &_m_ram_8[ 1], "RAM 8 (1)", 0x8000, 0x4000, &_ram[0x4000], 3, 0, 0, -1 }, { &_m_irm_0p, "IRM 0 Pixel", 0x8000, 0x2800, &_irm0[0], 1, 0, 1, -1 }, { &_m_irm_0c, "IRM 0 Color", 0x8000, 0x2800, &_irm0[0x4000], 1, 0, 0, -1 }, { &_m_irm_1p, "IRM 1 Pixel", 0x8000, 0x2800, &_irm1[0], 1, 0, 0, -1 }, { &_m_irm_1c, "IRM 1 Color", 0x8000, 0x2800, &_irm1[0x4000], 1, 0, 0, -1 }, { &_m_irm_0px, "IRM 0 Pixel *", 0xa800, 0x1800, &_irm0[0x2800], 1, 0, 1, -1 }, { &_m_irm_0cx, "IRM 0 Color *", 0xa800, 0x1800, &_irm0[0x6800], 1, 0, 0, -1 }, { &_m_irm_1px, "IRM 1 Pixel *", 0xa800, 0x1800, &_irm1[0x2800], 1, 0, 0, -1 }, { &_m_irm_1cx, "IRM 1 Color *", 0xa800, 0x1800, &_irm1[0x6800], 1, 0, 0, -1 }, { &_m_caos_c, "CAOS c000h", 0xc000, 0x1000, &_rom_caosc[0], 2, 1, 0, -1 }, { &_m_caos_e, "CAOS e000h", 0xe000, 0x2000, &_rom_caose[0], 2, 1, 1, -1 }, { &_m_basic, "BASIC", 0xc000, 0x2000, &_rom_basic[0], 2, 1, 0, -1 }, { 0, }, }; init_memory_groups(mem); for (int a = 2;a < 16;a++) _m_ram_8[a] = NULL; _m_user[0] = _m_basic; _m_user[1] = _m_basic; _m_user[2] = _m_basic; _m_user[3] = _m_basic; reset(true); z80->register_ic(this); } void Memory4::init_5(void) { _ram_size = 0x40000; _ram = new byte_t[_ram_size]; _rom_caosc = new byte_t[0x2000]; _rom_caose = new byte_t[0x2000]; _rom_basic = new byte_t[0x8000]; load_rom(SystemROM::ROM_KEY_CAOSC, &_rom_caosc[0]); load_rom(SystemROM::ROM_KEY_CAOSE, &_rom_caose[0]); load_rom(SystemROM::ROM_KEY_BASIC, &_rom_basic[0]); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_ram_0, "RAM 0", 0x0000, 0x4000, &_ram[0x38000], 0, 0, 1, -1 }, { &_m_ram_4, "RAM 4", 0x4000, 0x4000, &_ram[0x3c000], 4, 0, 1, -1 }, { &_m_ram_8[ 0], "RAM 8 (0)", 0x8000, 0x4000, &_ram[0x00000], 3, 0, 1, -1 }, { &_m_ram_8[ 1], "RAM 8 (1)", 0x8000, 0x4000, &_ram[0x04000], 3, 0, 0, -1 }, { &_m_ram_8[ 2], "RAM 8 (2)", 0x8000, 0x4000, &_ram[0x08000], 3, 0, 0, -1 }, { &_m_ram_8[ 3], "RAM 8 (3)", 0x8000, 0x4000, &_ram[0x0c000], 3, 0, 0, -1 }, { &_m_ram_8[ 4], "RAM 8 (4)", 0x8000, 0x4000, &_ram[0x10000], 3, 0, 0, -1 }, { &_m_ram_8[ 5], "RAM 8 (5)", 0x8000, 0x4000, &_ram[0x14000], 3, 0, 0, -1 }, { &_m_ram_8[ 6], "RAM 8 (6)", 0x8000, 0x4000, &_ram[0x18000], 3, 0, 0, -1 }, { &_m_ram_8[ 7], "RAM 8 (7)", 0x8000, 0x4000, &_ram[0x1c000], 3, 0, 0, -1 }, { &_m_ram_8[ 8], "RAM 8 (8)", 0x8000, 0x4000, &_ram[0x20000], 3, 0, 0, -1 }, { &_m_ram_8[ 9], "RAM 8 (9)", 0x8000, 0x4000, &_ram[0x24000], 3, 0, 0, -1 }, { &_m_ram_8[10], "RAM 8 (10)", 0x8000, 0x4000, &_ram[0x28000], 3, 0, 0, -1 }, { &_m_ram_8[11], "RAM 8 (11)", 0x8000, 0x4000, &_ram[0x2c000], 3, 0, 0, -1 }, { &_m_ram_8[12], "RAM 8 (12)", 0x8000, 0x4000, &_ram[0x30000], 3, 0, 0, -1 }, { &_m_ram_8[13], "RAM 8 (13)", 0x8000, 0x4000, &_ram[0x34000], 3, 0, 0, -1 }, { &_m_ram_8[14], "RAM 8 (14)", 0x8000, 0x4000, &_ram[0x38000], 3, 0, 0, -1 }, { &_m_ram_8[15], "RAM 8 (15)", 0x8000, 0x4000, &_ram[0x3c000], 3, 0, 0, -1 }, { &_m_irm_0p, "IRM 0 Pixel", 0x8000, 0x2800, &_irm0[0], 1, 0, 1, -1 }, { &_m_irm_0c, "IRM 0 Color", 0x8000, 0x2800, &_irm0[0x4000], 1, 0, 0, -1 }, { &_m_irm_1p, "IRM 1 Pixel", 0x8000, 0x2800, &_irm1[0], 1, 0, 0, -1 }, { &_m_irm_1c, "IRM 1 Color", 0x8000, 0x2800, &_irm1[0x4000], 1, 0, 0, -1 }, { &_m_irm_0px, "IRM 0 Pixel *", 0xa800, 0x1800, &_irm0[0x2800], 1, 0, 1, -1 }, { &_m_irm_0cx, "IRM 0 Color *", 0xa800, 0x1800, &_irm0[0x6800], 1, 0, 0, -1 }, { &_m_irm_1px, "IRM 1 Pixel *", 0xa800, 0x1800, &_irm1[0x2800], 1, 0, 0, -1 }, { &_m_irm_1cx, "IRM 1 Color *", 0xa800, 0x1800, &_irm1[0x6800], 1, 0, 0, -1 }, { &_m_caos_c, "CAOS c000h", 0xc000, 0x2000, &_rom_caosc[0], 2, 1, 0, -1 }, { &_m_caos_e, "CAOS e000h", 0xe000, 0x2000, &_rom_caose[0], 2, 1, 1, -1 }, { &_m_user[3], "BASIC", 0xc000, 0x2000, &_rom_basic[0x6000], 2, 1, 0, -1 }, { &_m_user[2], "USER 0", 0xc000, 0x2000, &_rom_basic[0x4000], 2, 1, 0, -1 }, { &_m_user[1], "USER 1", 0xc000, 0x2000, &_rom_basic[0x2000], 2, 1, 0, -1 }, { &_m_user[0], "USER 2", 0xc000, 0x2000, &_rom_basic[0x0000], 2, 1, 0, -1 }, { 0, }, }; init_memory_groups(mem); _m_basic = _m_user[3]; reset(true); z80->register_ic(this); } Memory4::~Memory4(void) { z80->unregister_ic(this); } byte_t Memory4::memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void Memory4::memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * Memory4::get_irm(void) { return _display_screen1 ? &_irm1[0] : &_irm0[0]; } byte_t * Memory4::get_char_rom(void) { return (byte_t *)0; } void Memory4::dumpCore(void) { ofstream os; os.open("core.z80"); DBG(0, form("KCemu/Memory/4/core", "Memory: dumping core...\n")); if (!os) { cerr << "can't write 'core.z80'\n"; return; } os.write((char *)_ram, 0x10000); os.write((char *)_irm0, 0x8000); os.write((char *)_irm1, 0x8000); os.close(); } void Memory4::configureIRM(void) { if (!_enable_irm) { _m_irm_0px->set_active(false); _m_irm_0cx->set_active(false); _m_irm_1px->set_active(false); _m_irm_1cx->set_active(false); return; } if (_caos_e || !_caos_c) { /* default, shared segment in screen 0 / pixel */ _m_irm_0px->set_active(true); _m_irm_0cx->set_active(false); _m_irm_1px->set_active(false); _m_irm_1cx->set_active(false); } else { if (_access_screen1) { _m_irm_0px->set_active(false); _m_irm_0cx->set_active(false); _m_irm_1px->set_active(!_access_color); _m_irm_1cx->set_active(_access_color); } else { _m_irm_0px->set_active(!_access_color); _m_irm_0cx->set_active(_access_color); _m_irm_1px->set_active(false); _m_irm_1cx->set_active(false); } } } void Memory4::enableCAOS_C(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: CAOS C %s\n", v ? "enabled" : "disabled")); _caos_c = v; _m_caos_c->set_active(v); configureIRM(); reload_mem_ptr(); } void Memory4::enableCAOS_E(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: CAOS E %s\n", v ? "enabled" : "disabled")); _caos_e = v; _m_caos_e->set_active(v); configureIRM(); reload_mem_ptr(); } void Memory4::enableIRM(int v) { _enable_irm = v; if (v) { if (_access_screen1) { _m_irm_0p->set_active(false); _m_irm_0c->set_active(false); _m_irm_1p->set_active(!_access_color); _m_irm_1c->set_active(_access_color); } else { _m_irm_0p->set_active(!_access_color); _m_irm_0c->set_active(_access_color); _m_irm_1p->set_active(false); _m_irm_1c->set_active(false); } } else { _m_irm_0p->set_active(false); _m_irm_0c->set_active(false); _m_irm_1p->set_active(false); _m_irm_1c->set_active(false); } configureIRM(); reload_mem_ptr(); } void Memory4::enableCOLOR(int v) { _access_color = v; enableIRM(_enable_irm); } void Memory4::displaySCREEN_1(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: display SCREEN %d\n", v)); _display_screen1 = (v != 0); } void Memory4::enableSCREEN_1(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: enable SCREEN %d\n", v ? 1 : 0)); _access_screen1 = v; enableIRM(_enable_irm); } void Memory4::enableRAM_0(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: RAM 0 %s\n", v ? "enabled" : "disabled")); _m_ram_0->set_active(v); reload_mem_ptr(); } void Memory4::protectRAM_0(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: RAM 0 %s\n", v ? "read/write" : "readonly")); _m_ram_0->set_readonly(!v); reload_mem_ptr(); } void Memory4::enableRAM_4(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: RAM 4 %s\n", v ? "enabled" : "disabled")); _m_ram_4->set_active(v); reload_mem_ptr(); } void Memory4::protectRAM_4(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: RAM 4 %s\n", v ? "read/write" : "readonly")); _m_ram_4->set_readonly(!v); reload_mem_ptr(); } void Memory4::configureRAM_8(void) { /* * The lower 4 bits in _block_ram_8 configure the * ram block that is accessed (which includes the * prepared internal extension to 256k RAM. * * Bit 8 is set if the RAM is disabled * (PIO port B bit 5) * */ for (int a = 0;a < 16;a++) if (_m_ram_8[a]) _m_ram_8[a]->set_active(_block_ram_8 == a); reload_mem_ptr(); } void Memory4::enableRAM_8(int v) { if (v) _block_ram_8 &= 0x0f; else _block_ram_8 |= 0x80; DBG(1, form("KCemu/Memory/4/switch", "Memory: RAM 8 BLOCK %s (0x%02x)\n", v ? "enabled" : "disabled", _block_ram_8)); configureRAM_8(); } void Memory4::selectRAM_8(int segment) { /* * http://www.iee.et.tu-dresden.de/~kc-club/02/KCN94-04/KCN94-04-07.HTML * * 256 kByte on Board ... der erste Schritt zum KC 85/5? * von Mario Leubner * * Segment Block SWITCH 3 .. (f�r wr/on) * 0 RAM8 E (RAM0) 3B (legt RAM0 zus�tzlich auf 8000H) * 1 RAM8 F (RAM4) 3F (legt RAM4 zus�tzlich auf 8000H) * 2 RAM8 0 03 (bisher auch Block 0) * 3 RAM8 1 07 (bisher auch Block 1) * 4 RAM8 2 0B (ab hier neu) * 5 RAM8 3 0F * 6 RAM8 4 13 * 7 RAM8 5 17 * 8 RAM8 6 1B * 9 RAM8 7 1F * 10 RAM8 8 23 * 11 RAM8 9 27 * 12 RAM8 A 2B * 13 RAM8 B 2F * 14 RAM8 C 33 * 15 RAM8 D 37 * */ int block = segment - 2; if (block < 0) block += 16; _block_ram_8 = (_block_ram_8 & 0xf0) | (block & 0x0f); DBG(1, form("KCemu/Memory/4/switch", "Memory: RAM 8 SEGMENT %d BLOCK %d (0x%02x)\n", segment, block, _block_ram_8)); configureRAM_8(); } void Memory4::protectRAM_8(int v) { DBG(0, form("KCemu/Memory/4/switch", "Memory: RAM 8 %s\n", v ? "read/write" : "readonly")); for (int a = 0;a < 16;a++) if (_m_ram_8[a]) _m_ram_8[a]->set_readonly(!v); reload_mem_ptr(); } void Memory4::configureROM_C(void) { /* * The lower 2 bits in _block_rom_c configure the * rom block that is accessed. * * Bit 8 is set if the ROM is disabled * */ for (int a = 0;a < 4;a++) if (_m_user[a]) _m_user[a]->set_active(_block_rom_c == a); reload_mem_ptr(); } void Memory4::enableBASIC_C(int v) { if (v) _block_rom_c &= 0x03; else _block_rom_c |= 0x80; DBG(0, form("KCemu/Memory/4/switch", "Memory: BASIC C %s (0x%02x)\n", v ? "enabled" : "disabled", _block_rom_c)); configureROM_C(); } void Memory4::selectROM_C(int segment) { /* * * Segment ROM Block Program in default ROM * 3 BASIC KC-BASIC * 2 USER 1 KC-Debugger (TEMO/REASS) * 1 USER 2 EDAS V1.6 * 0 USER 3 KC-FORTH */ _block_rom_c = (_block_rom_c & 0xfc) | (segment & 0x03); DBG(1, form("KCemu/Memory/4/switch", "Memory: BASIC C SEGMENT %d (0x%02x)\n", segment, _block_rom_c)); configureROM_C(); } void Memory4::reset(bool power_on) { _caos_c = false; _caos_e = true; _enable_irm = true; _block_ram_8 = 0; _block_rom_c = 0x83; // disabled, segment 3 (BASIC) _access_color = false; _access_screen1 = false; _display_screen1 = false; _m_ram_0->set_active(true); _m_ram_4->set_active(true); _m_irm_0p->set_active(true); _m_irm_0c->set_active(false); _m_irm_1p->set_active(false); _m_irm_1c->set_active(false); _m_irm_0px->set_active(true); _m_irm_0cx->set_active(false); _m_irm_1px->set_active(false); _m_irm_1cx->set_active(false); _m_caos_c->set_active(false); _m_caos_e->set_active(true); for (int a = 0;a < 16;a++) if (_m_ram_8[a]) _m_ram_8[a]->set_active(a == 0); _m_basic->set_active(false); for (int a = 0;a < 4;a++) if (_m_user[a]) _m_user[a]->set_active(0); reload_mem_ptr(); if (!power_on) return; scratch_mem(&_ram[0],_ram_size); scratch_mem(&_irm0[0], 0x8000); scratch_mem(&_irm1[0], 0x8000); } KCemu-0.5.1/src/kc/pio0.cc0000644000175000017500000000402112417262523015310 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/pio0.h" #include "kc/tape.h" #include "libdbg/dbg.h" PIO0::PIO0(void) { } PIO0::~PIO0(void) { } byte_t PIO0::in(word_t addr) { byte_t ret = 0; switch (addr & 3) { case 0: ret = in_A_DATA(); break; case 1: ret = in_A_CTRL(); break; case 2: ret = in_B_DATA(); break; case 3: ret = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/0/in", "PIO0::in(): addr = %04x, val = %02x\n", addr, ret)); return ret; } void PIO0::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/0/out", "PIO0::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_A_CTRL(val); break; case 2: out_B_DATA(val); break; case 3: out_B_CTRL(val); break; } } void PIO0::change_A(byte_t changed, byte_t val) { } void PIO0::change_B(byte_t changed, byte_t val) { if (changed & 0x80) tape->tape_signal(); } void PIO0::tape_callback(byte_t val) { static int x = 0; set_B_EXT(0x40, x); x = 0x40 - x; } KCemu-0.5.1/src/kc/prefs/0000755000175000017500000000000012417262523015254 5ustar glaubitzglaubitzKCemu-0.5.1/src/kc/prefs/strlist.cc0000644000175000017500000000317212417262523017272 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/prefs/strlist.h" StringList::StringList() { } StringList::StringList(string str, const char split_char) { string::size_type lastPos = str.find_first_not_of(split_char, 0); string::size_type pos = str.find_first_of(split_char, lastPos); while ((string::npos != pos) || (string::npos != lastPos)) { string substr = str.substr(lastPos, pos - lastPos); push_back(substr); lastPos = str.find_first_not_of(split_char, pos); pos = str.find_first_of(split_char, lastPos); } } StringList::~StringList(void) { } string StringList::join(const char join_char) { string ret; for (StringList::iterator it = begin();it != end();it++) { if (ret.length() > 0) ret += join_char; ret += *it; } return ret; } KCemu-0.5.1/src/kc/prefs/profile.cc0000644000175000017500000002017512417262523017230 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "kc/prefs/profile.h" ProfileValue::ProfileValue(ProfileValue *value) : _level(value->_level), _type(value->_type), _int_value(value->_int_value), _string_value(value->_string_value) { } ProfileValue::ProfileValue(profile_level_t level) : _level(level), _type(PROFILE_VALUE_TYPE_NULL), _int_value(0), _string_value("") { } ProfileValue::ProfileValue(profile_level_t level, int value) : _level(level), _type(PROFILE_VALUE_TYPE_INT), _int_value(value), _string_value("") { } ProfileValue::ProfileValue(profile_level_t level, string value) : _level(level), _type(PROFILE_VALUE_TYPE_STRING), _int_value(0), _string_value(value) { } ProfileValue::~ProfileValue(void) { } bool ProfileValue::equals(ProfileValue *value) const { if (_type != value->_type) return false; switch (_type) { case PROFILE_VALUE_TYPE_NULL: return true; case PROFILE_VALUE_TYPE_INT: return _int_value == value->_int_value; case PROFILE_VALUE_TYPE_STRING: return _string_value == value->_string_value; } abort(); } profile_level_t ProfileValue::get_level(void) const { return _level; } int ProfileValue::get_int_value(void) const { return _int_value; } const char * ProfileValue::get_string_value(void) const { if (_type == PROFILE_VALUE_TYPE_NULL) return NULL; return _string_value.c_str(); } char * ProfileValue::get_encoded_value(void) const { char buf[2048]; switch (_type) { case PROFILE_VALUE_TYPE_NULL: return strdup("null"); case PROFILE_VALUE_TYPE_INT: snprintf(buf, sizeof(buf), "%d", _int_value); return strdup(buf); case PROFILE_VALUE_TYPE_STRING: string str; str.reserve(_string_value.length() + 10); str.push_back('"'); for (string::const_iterator it = _string_value.begin();it != _string_value.end();it++) { char c = (*it); if ((c == '"') || (c == '\\')) str.push_back('\\'); str.push_back(c); } str.push_back('"'); return strdup(str.c_str()); } abort(); } Profile::Profile(profile_level_t level, string path, string config_name, string name) { _level = level; _path = path; _name = name; _config_name = config_name; _parent = NULL; set_changed(false); set_deleted(false); } Profile::~Profile(void) { } const char * Profile::get_name(void) const { return _name.c_str(); } void Profile::set_name(string name) { _name = name; } const char * Profile::get_config_name(void) const { return _config_name.c_str(); } profile_level_t Profile::get_level(void) const { return _level; } const char * Profile::get_path(void) const { return _path.c_str(); } bool Profile::is_changed(void) const { return _changed; } void Profile::set_changed(bool changed) { if (!changed) { for (pref_map_t::iterator it = _pref_map_old.begin();it != _pref_map_old.end();) { ProfileValue *value = _pref_map_old[(*it).first]; // Need to increment it before actually erasing the value from the map // but pass the old value to the erase call! _pref_map_old.erase(it++); if (value != NULL) { delete value; } } } _changed = changed; } bool Profile::is_deleted(void) const { return _deleted; } void Profile::set_deleted(bool deleted) { _deleted = deleted; set_changed(true); } Profile * Profile::get_parent(void) const { return _parent; } void Profile::set_parent(Profile *parent) { _parent = parent; } /** * Return the comment depending on the hierarchy level. * The user created profiles do not inherit the comment from the levels above. */ const char * Profile::get_comment(void) const { const char *key = "comment"; if ((get_level() == PROFILE_LEVEL_USER) && (!contains_key(key))) return ""; return get_string_value(key, ""); } int Profile::get_int_value(string key, int default_value) const { ProfileValue *value = get_value(key); if (value == NULL) return default_value; return value->get_int_value(); } void Profile::set_int_value(string key, int value) { set_value(key, new ProfileValue(get_level(), value)); } const char * Profile::get_string_value(string key, const char *default_value) const { ProfileValue *value = get_value(key); if (value == NULL) return default_value; return value->get_string_value(); } void Profile::set_string_value(string key, string value) { set_value(key, new ProfileValue(get_level(), value)); } void Profile::set_null_value(string key) { set_value(key, new ProfileValue(get_level())); } void Profile::remove_value(string key) { if (!contains_key(key)) return; ProfileValue *old_value = _pref_map[key]; set_value_with_backup(key, NULL, old_value); } ProfileValue * Profile::get_value(string key) const { pref_map_t::const_iterator it = _pref_map.find(key); if (it == _pref_map.end()) { if (_parent == NULL) { return NULL; } else { return _parent->get_value(key); } } return (*it).second; } void Profile::set_value(string key, ProfileValue *value) { pref_map_t::iterator it = _pref_map.find(key); ProfileValue *old_value = NULL; if (it != _pref_map.end()) { old_value = (*it).second; if (old_value->equals(value)) { delete value; return; } _pref_map.erase(it); } set_value_with_backup(key, value, old_value); } /** * set new value and backup the old value if there is not already a backup. * parameter old_value might be NULL if the key was not yet set in profile. */ void Profile::set_value_with_backup(string key, ProfileValue *value, ProfileValue *old_value) { pref_map_t::iterator it = _pref_map_old.find(key); if (it == _pref_map_old.end()) { _pref_map_old[key] = old_value; } else { delete old_value; } if (value == NULL) { _pref_map.erase(key); } else { _pref_map[key] = value; } set_changed(true); } list * Profile::get_keys(void) { list *key_list = new list(); for (pref_map_t::iterator it = _pref_map.begin();it != _pref_map.end();it++) key_list->push_back((*it).first); return key_list; } void Profile::reject_changes(void) { for (pref_map_t::iterator it = _pref_map_old.begin();it != _pref_map_old.end();it++) { string key = (*it).first; ProfileValue *value = _pref_map_old[key]; if (value == NULL) { _pref_map.erase(key); } else { _pref_map[key] = value; } _pref_map_old.erase(it); } set_changed(false); } bool Profile::contains_key(string key) const { pref_map_t::const_iterator it = _pref_map.find(key); return it != _pref_map.end(); } char * Profile::get_encoded_value(string key) const { pref_map_t::const_iterator it = _pref_map.find(key); if (it == _pref_map.end()) return NULL; ProfileValue *value = (*it).second; return value->get_encoded_value(); } KCemu-0.5.1/src/kc/prefs/parser.cc0000644000175000017500000001454212417262523017065 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/prefs/parser.h" #include "libdbg/dbg.h" const char * ProfileParser::signature = "# kcemu configuration file"; ProfileParser::ProfileParser(string filename, profile_level_t level) { _filename = filename; _level = level; _current_profile = NULL; } ProfileParser::~ProfileParser(void) { } bool ProfileParser::is_newline(GScanner *scanner, GTokenType token_type) { // we have 'char to token' enabled, so we only need to check the token type... return (token_type == '\r') || (token_type == '\n'); } GTokenType ProfileParser::handle_line(GScanner *scanner, const char *key, GTokenType token_type) { _current_profile = get_profile(); switch (token_type) { case G_TOKEN_IDENTIFIER_NULL: _current_profile->set_null_value(key); break; case G_TOKEN_INT: _current_profile->set_int_value(key, scanner->value.v_int); break; case G_TOKEN_FLOAT: break; case G_TOKEN_STRING: _current_profile->set_string_value(key, scanner->value.v_string); break; default: break; } return G_TOKEN_NONE; } void ProfileParser::parse() { int fd = open(_filename.c_str(), O_RDONLY); if (fd < 0) { DBG(1, form("KCemu/ProfileParser", "ProfileParser::parse(): Failed to open file '%s'. Skipping ...\n", _filename.c_str())); return; } DBG(1, form("KCemu/ProfileParser", "ProfileParser::parse(): Parsing file '%s'...\n", _filename.c_str())); const char signature_length = strlen(signature); char signature_buf[signature_length]; int len = read(fd, signature_buf, signature_length); if ((len != signature_length) || (strncmp(signature_buf, signature, signature_length) != 0)) { DBG(1, form("KCemu/ProfileParser", "ProfileParser::parse(): Signature '%s' not found in file '%s'. Skipping ...\n", signature, _filename.c_str())); close(fd); return; } lseek(fd, 0, SEEK_SET); GScanner *scanner = g_scanner_new(NULL); g_scanner_input_file(scanner, fd); scanner->input_name = _filename.c_str(); scanner->config->cset_skip_characters = (char*)" \t"; scanner->config->cset_identifier_first = (char*)G_CSET_a_2_z; scanner->config->cset_identifier_nth = (char*)G_CSET_a_2_z "_" G_CSET_DIGITS; scanner->config->scan_identifier_NULL = TRUE; int state = 1; gchar *key = NULL; while (242) { GTokenType ttype = g_scanner_get_next_token(scanner); if (ttype == G_TOKEN_EOF) { g_free(key); break; } switch (state) { case 0: // STATE_SCAN_TO_NEWLINE if (is_newline(scanner, ttype)) state = 1; break; case 1: // IDENTIFIER if (ttype == G_TOKEN_IDENTIFIER) { g_free(key); key = g_strdup(scanner->value.v_string); state = 2; } else if (!is_newline(scanner, ttype)) { // eat up empty lines without reporting an error g_scanner_unexp_token(scanner, G_TOKEN_IDENTIFIER, NULL, NULL, NULL, NULL, FALSE); state = 0; } break; case 2: // EQUAL_SIGN if (ttype == G_TOKEN_EQUAL_SIGN) { state = 3; } else { g_scanner_unexp_token(scanner, G_TOKEN_EQUAL_SIGN, NULL, NULL, NULL, NULL, FALSE); is_newline(scanner, ttype) ? state = 1 : state = 0; } break; case 3: // VALUE switch (ttype) { case G_TOKEN_INT: case G_TOKEN_STRING: case G_TOKEN_IDENTIFIER_NULL: { GTokenType expected = handle_line(scanner, key, ttype); if (expected != G_TOKEN_NONE) { g_scanner_unexp_token(scanner, expected, NULL, NULL, NULL, NULL, FALSE); } state = 0; break; } default: g_scanner_unexp_token(scanner, G_TOKEN_STRING, NULL, NULL, NULL, NULL, FALSE); is_newline(scanner, ttype) ? state = 1 : state = 0; break; } break; default: g_assert("must not be reached"); break; } } g_scanner_destroy(scanner); close(fd); } profile_list_t * ProfileParser::get_profiles(void) { return &_profile_list; } SingleProfileParser::SingleProfileParser(string filename, profile_level_t level, string config_name, string name) : ProfileParser(filename, level) { _name = name; _profile = new Profile(_level, filename, config_name, _name); _profile_list.push_back(_profile); } SingleProfileParser::~SingleProfileParser(void) { } Profile * SingleProfileParser::get_profile(void) { return _profile; } MultiProfileParser::MultiProfileParser(string filename, profile_level_t level) : ProfileParser(filename, level) { } MultiProfileParser::~MultiProfileParser(void) { } Profile * MultiProfileParser::get_profile(void) { Profile *profile = new Profile(_level, "", "", ""); _profile_list.push_back(profile); return profile; } KCemu-0.5.1/src/kc/prefs/dirlist.cc0000644000175000017500000000404112417262523017234 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/prefs/dirlist.h" DirectoryListEntry::DirectoryListEntry(string dir, string filename) : _dir(dir), _filename(filename) { _path = _dir + "/" + _filename; } DirectoryListEntry::~DirectoryListEntry(void) { } const char * DirectoryListEntry::get_dir(void) const { return _dir.c_str(); } const char * DirectoryListEntry::get_path(void) const { return _path.c_str(); } const char * DirectoryListEntry::get_filename(void) const { return _filename.c_str(); } DirectoryList::DirectoryList(string basedir) : _basedir(basedir) { DIR *dir; struct stat statbuf; struct dirent *entry; dir = opendir(_basedir.c_str()); if (dir == NULL) return; while (true) { entry = readdir(dir); if (entry == NULL) break; string filename = _basedir + "/" + entry->d_name; if (stat(filename.c_str(), &statbuf) != 0) continue; if (!S_ISREG(statbuf.st_mode)) continue; push_back(new DirectoryListEntry(_basedir, entry->d_name)); } closedir(dir); } DirectoryList::~DirectoryList(void) { } KCemu-0.5.1/src/kc/prefs/prefs.cc0000644000175000017500000004630612417262523016713 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/prefs/types.h" #include "kc/prefs/prefs.h" #include "kc/prefs/parser.h" #include "kc/prefs/dirlist.h" #include "kc/prefs/strlist.h" #include "sys/sysdep.h" #include "libdbg/dbg.h" using namespace std; struct find_by_type : public unary_function { int _type; EmulationType *_result; find_by_type(int type) : _type(type), _result(NULL) {} void operator()(EmulationType *emulation_type) { if ((_result == NULL) && emulation_type->get_type() == _type) _result = emulation_type; } }; struct find_by_type_and_variant : public unary_function { int _type; int _variant; SystemType *_result; find_by_type_and_variant(int type, int variant) : _type(type), _variant(variant), _result(NULL) {} void operator()(SystemType *system) { if ((_result == NULL) && (system->get_kc_type() == _type) && (system->get_kc_variant() == _variant)) _result = system; } }; struct SaveVisitor : ProfileVisitor { Preferences *_preferences; SaveVisitor(Preferences *preferences) : _preferences(preferences) {} void handle_profile(Profile *profile) { _preferences->save_profile(profile); } }; struct RejectVisitor : ProfileVisitor { Preferences *_preferences; RejectVisitor(Preferences *preferences) : _preferences(preferences) {} void handle_profile(Profile *profile) { _preferences->reject_changes(profile); } }; Preferences *Preferences::_instance = 0; const char *Preferences::PROFILE_NAME_ROOT = "root"; const char *Preferences::PROFILE_NAME_DEFAULT = "default"; const char *Preferences::PROFILE_KEY_NAME = "name"; const char *Preferences::PROFILE_KEY_SYSTEM = "system"; const char *Preferences::PROFILE_KEY_VARIANT = "variant"; const char *Preferences::CONFIG_FILE_EXTENSION = ".conf"; const char *Preferences::USER_CONFIG_PREFIX = "_"; Preferences::Preferences(const char *sys_dir, const char *usr_dir, const char *add_dir) : _sys_dir(sys_dir), _usr_dir(usr_dir), _add_dir(add_dir) { load_default_profiles(); load_system_profiles(); load_user_profiles(); } void Preferences::load_default_profiles(void) { _root_profile = get_profile(get_profile_path(_sys_dir, PROFILE_NAME_DEFAULT), PROFILE_LEVEL_ROOT, PROFILE_NAME_DEFAULT, PROFILE_NAME_ROOT); _default_profile = get_profile(get_profile_path(_usr_dir, PROFILE_NAME_DEFAULT), PROFILE_LEVEL_DEFAULT, PROFILE_NAME_DEFAULT, PROFILE_NAME_DEFAULT); _default_profile->set_parent(_root_profile); _root_profile->set_changed(false); _default_profile->set_changed(false); } void Preferences::load_system_profiles(void) { emulation_type_list_t list = EmulationType::get_emulation_types(); for (emulation_type_list_t::iterator it = list.begin();it != list.end();it++) { string config_name = (*it)->get_config_name(); Profile *sys_profile = get_profile(get_profile_path(_sys_dir, config_name), PROFILE_LEVEL_SYSTEM, config_name, (*it)->get_name()); Profile *usr_profile = get_profile(get_profile_path(_usr_dir, config_name), PROFILE_LEVEL_SYSTEM_USER, config_name, (*it)->get_name()); sys_profile->set_int_value(PROFILE_KEY_SYSTEM, (*it)->get_kc_type()); usr_profile->set_int_value(PROFILE_KEY_SYSTEM, (*it)->get_kc_type()); sys_profile->set_parent(_default_profile); usr_profile->set_parent(sys_profile); sys_profile->set_changed(false); usr_profile->set_changed(false); _sys_profiles[config_name] = sys_profile; _usr_profiles[config_name] = usr_profile; _usr_profiles_by_type[(*it)->get_kc_type()] = usr_profile; } } void Preferences::load_user_profiles(void) { DirectoryList dir(_add_dir); for (DirectoryList::iterator it = dir.begin();it != dir.end();it++) { string config_name = string(USER_CONFIG_PREFIX) + (*it)->get_filename(); Profile *profile = get_profile((*it)->get_path(), PROFILE_LEVEL_USER, config_name, (*it)->get_filename()); kc_type_t kc_type = (kc_type_t)profile->get_int_value(PROFILE_KEY_SYSTEM, KC_TYPE_NONE); map::iterator i = _usr_profiles_by_type.find(kc_type); if (i == _usr_profiles_by_type.end()) { delete profile; continue; } if (profile->contains_key(PROFILE_KEY_NAME)) { const char *name = profile->get_string_value(PROFILE_KEY_NAME, ""); if (strlen(name) > 0) profile->set_name(name); } profile->set_parent((*i).second); profile->set_changed(false); _add_profiles[config_name] = profile; } } string Preferences::get_profile_path(string dir, string config_name) { string path = dir + "/" + config_name + CONFIG_FILE_EXTENSION; return path; } Profile * Preferences::get_profile(string path, profile_level_t level, string config_name, string name) { ProfileParser *parser = new SingleProfileParser(path.c_str(), level, config_name, name); parser->parse(); profile_list_t *list = parser->get_profiles(); assert(list->size() == 1); Profile *profile = list->front(); delete parser; return profile; } Preferences::~Preferences(void) { } void Preferences::init(const char *system_dir, const char *user_dir, const char *add_dir) { if (_instance == 0) _instance = new Preferences(system_dir, user_dir, add_dir); } Preferences * Preferences::instance(void) { if (_instance == 0) { cerr << "Preferences::instance(void): Preferences::init() not called!" << endl; exit(1); } return _instance; } Profile * Preferences::find_profile(const char *key) { if (strcmp(key, PROFILE_NAME_DEFAULT) == 0) return _default_profile; profile_map_t::iterator it1 = _usr_profiles.find(key); if (it1 != _usr_profiles.end()) return (*it1).second; profile_map_t::iterator it2 = _add_profiles.find(key); if (it2 != _add_profiles.end()) return (*it2).second; return NULL; } Profile * Preferences::find_profile_by_name(const char *name) { if (strcmp(name, PROFILE_NAME_DEFAULT) == 0) return _default_profile; for (profile_map_t::iterator it1 = _usr_profiles.begin();it1 != _usr_profiles.end();it1++) { if (strcmp(name, (*it1).second->get_name()) == 0) return (*it1).second; } for (profile_map_t::iterator it2 = _add_profiles.begin();it2 != _add_profiles.end();it2++) { if (strcmp(name, (*it2).second->get_name()) == 0) return (*it2).second; } return NULL; } list Preferences::find_child_profiles(const char *key) { list child_profiles; for (profile_map_t::iterator it = _add_profiles.begin();it != _add_profiles.end();it++) { Profile *child_profile = (*it).second; const char *config_name = child_profile->get_parent()->get_config_name(); if (strcmp(key, config_name) != 0) continue; child_profiles.push_back(child_profile); } return child_profiles; } Profile * Preferences::create_user_profile(Profile *parent) { char name[1024]; struct stat statbuf; if (parent == NULL) return NULL; kc_type_t kc_type = (kc_type_t)parent->get_int_value(PROFILE_KEY_SYSTEM, KC_TYPE_NONE); if (kc_type == KC_TYPE_NONE) return NULL; for (int a = 0;a < 10000;a++) { snprintf(name, sizeof(name), "profile_%04d", a); string config_name = string(name) + CONFIG_FILE_EXTENSION; string path = _add_dir + "/" + config_name; if (Preferences::instance()->find_profile(config_name.c_str()) != NULL) continue; if (stat(path.c_str(), &statbuf) == 0) continue; Profile *profile = new Profile(PROFILE_LEVEL_USER, path, config_name, name); profile->set_int_value(PROFILE_KEY_SYSTEM, kc_type); profile->set_parent(parent); _add_profiles[config_name] = profile; return profile; } return NULL; } Profile * Preferences::copy_user_profile(Profile *profile) { Profile *copy = create_user_profile(profile->get_parent()); if (copy == NULL) return NULL; list *keys = profile->get_keys(); for (list::iterator it = keys->begin();it != keys->end();it++) { const char *key = (*it).c_str(); if (strcmp(key, PROFILE_KEY_NAME) == 0) continue; char *encoded_value = profile->get_encoded_value(key); copy->set_value(key, new ProfileValue(profile->get_value(key))); free(encoded_value); } return copy; } bool Preferences::has_changed_profiles(void) { if (_default_profile->is_changed()) return true; for (profile_map_t::iterator it = _usr_profiles.begin();it != _usr_profiles.end();it++) if ((*it).second->is_changed()) return true; for (profile_map_t::iterator it = _add_profiles.begin();it != _add_profiles.end();it++) if ((*it).second->is_changed()) return true; return false; } void Preferences::visit_changed(ProfileVisitor &visitor) { DBG(1, form("KCemu/Preferences", "Preferences::visit_changed(): Start visiting changed profiles:\n")); if (_default_profile->is_changed()) { DBG(1, form("KCemu/Preferences", "Preferences::visit_changed(): ... default profile changed\n")); visitor.handle_profile(_default_profile); } for (profile_map_t::iterator it = _usr_profiles.begin();it != _usr_profiles.end();it++) { Profile *profile = (*it).second; if (profile->is_changed()) { DBG(1, form("KCemu/Preferences", "Preferences::visit_changed(): ... system profile '%s' changed\n", profile->get_name())); visitor.handle_profile(profile); } } for (profile_map_t::iterator it = _add_profiles.begin();it != _add_profiles.end();it++) { Profile *profile = (*it).second; if (profile->is_changed()) { DBG(1, form("KCemu/Preferences", "Preferences::visit_changed(): ... user profile '%s' changed\n", profile->get_name())); visitor.handle_profile(profile); } } DBG(1, form("KCemu/Preferences", "Preferences::visit_changed(): End visiting changed profiles.\n")); } void Preferences::save(void) { DBG(1, form("KCemu/Preferences", "Preferences::save(): Start save profiles:\n")); mkdirs(_usr_dir); mkdirs(_add_dir); SaveVisitor visitor(this); visit_changed(visitor); DBG(1, form("KCemu/Preferences", "Preferences::save(): End save profiles.\n")); } void Preferences::reject(void) { DBG(1, form("KCemu/Preferences", "Preferences::reject(): Start rejecting changes\n")); RejectVisitor visitor(this); visit_changed(visitor); DBG(1, form("KCemu/Preferences", "Preferences::reject(): End rejecting changes\n")); } bool Preferences::mkdirs(string dir) { struct stat statbuf; if (stat(dir.c_str(), &statbuf) == 0) { if (S_ISDIR(statbuf.st_mode)) { DBG(1, form("KCemu/Preferences", "Preferences::mkdirs(): Directory '%s' exists.\n", dir.c_str())); return true; } } DBG(1, form("KCemu/Preferences", "Preferences::mkdirs(): Directory '%s' doesn't exist, trying to create...\n", dir.c_str())); StringList dirs(dir, '/'); string path; for (StringList::const_iterator it = dirs.begin();it != dirs.end();it++) { string entry = (*it); if ((path.size() == 0) && (entry.size() == 2) && (entry[1] == ':')) { DBG(1, form("KCemu/Preferences", "Preferences::mkdirs(): Detected windows style path, skipping drive letter '%s'...\n", entry.c_str())); path += entry; continue; } path += "/"; path += entry; if (stat(path.c_str(), &statbuf) == 0) { if (S_ISDIR(statbuf.st_mode)) { DBG(1, form("KCemu/Preferences", "Preferences::mkdirs(): .. Directory '%s' already exists.\n", path.c_str())); continue; } else { DBG(1, form("KCemu/Preferences", "Preferences::mkdirs(): Path '%s' already exists, but it is not a directory. Create failed!\n", path.c_str())); return false; } } if (sys_mkdir(path.c_str(), 0700) != 0) { DBG(1, form("KCemu/Preferences", "Preferences::mkdirs(): Could not create directory '%s' (%s)!\n", path.c_str(), strerror(errno))); return false; } DBG(1, form("KCemu/Preferences", "Preferences::mkdirs(): .. Created directory '%s'.\n", path.c_str())); } DBG(1, form("KCemu/Preferences", "Preferences::mkdirs(): Done.\n")); return true; } bool Preferences::save_profile(Profile *profile) { dump_profile(profile); if (profile->is_deleted()) { DBG(1, form("KCemu/Preferences", "Preferences::save_profile(): Deleting profile '%s'\n", profile->get_name())); if (unlink(profile->get_path()) != 0) { DBG(1, form("KCemu/Preferences", "Preferences::save_profile(): Could not delete file '%s' (%s)!\n", profile->get_path(), strerror(errno))); } if (_add_profiles.erase(profile->get_config_name()) == 1) { delete profile; return true; } return false; } ofstream os(profile->get_path(), ios_base::trunc); if (!os) { DBG(1, form("KCemu/Preferences", "Preferences::save_profile(): could not create file '%s'\n", profile->get_path())); return false; } os << ProfileParser::signature << endl; list *keys = profile->get_keys(); for (list::iterator it = keys->begin();it != keys->end();it++) { char *value = profile->get_encoded_value(*it); os << (*it).c_str() << " = " << value << endl; free(value); } profile->set_changed(false); return true; } void Preferences::reject_changes(Profile *profile) { profile->reject_changes(); } void Preferences::dump_profile(Profile *profile) { DBG(1, form("KCemu/Preferences", "Preferences::dump_profile(): dumping profile '%s' (flags: %c%c)\n", profile->get_name(), profile->is_changed() ? 'C' : 'c', profile->is_deleted() ? 'D' : 'd')); string path = get_profile_path(_usr_dir, profile->get_config_name()); DBG(1, form("KCemu/Preferences", "Preferences::dump_profile(): path is '%s'\n", path.c_str())); list *keys = profile->get_keys(); for (list::iterator it = keys->begin();it != keys->end();it++) { char *value = profile->get_encoded_value(*it); DBG(1, form("KCemu/Preferences", "Preferences::dump_profile(): .. %s = %s\n", (*it).c_str(), value)); free(value); } DBG(1, form("KCemu/Preferences", "Preferences::dump_profile(): end.\n")); } /** * find the profile to select as current profile: * * 1.) check for the given name as config_name in the profile * 2.) check for the given name as display name of the profile * 3.) check for the profile matching the given type * 4.) revert to "default" profile */ void Preferences::set_current_profile(const char *name, int type) { Profile *profile = NULL; if (name != NULL) { profile = Preferences::instance()->find_profile(name); } if ((profile == NULL) && (name != NULL)) { profile = Preferences::instance()->find_profile_by_name(name); } if ((profile == NULL) && (type >= 0)) { emulation_type_list_t& list = EmulationType::get_emulation_types(); find_by_type ft = for_each(list.begin(), list.end(), find_by_type(type)); if (ft._result != NULL) { profile = Preferences::instance()->find_profile(ft._result->get_config_name()); } } if (profile == NULL) { profile = Preferences::instance()->find_profile(PROFILE_NAME_DEFAULT); } if (profile != NULL) { kc_type_t kc_type = (kc_type_t)profile->get_int_value(PROFILE_KEY_SYSTEM, -1); kc_variant_t kc_variant = (kc_variant_t)profile->get_int_value(PROFILE_KEY_VARIANT, 0); SystemType *system_type = find_system_type(kc_type, kc_variant); if (system_type == NULL) system_type = find_system_type(kc_type, KC_VARIANT_NONE); if (system_type == NULL) system_type = find_system_type(KC_TYPE_85_4, KC_VARIANT_NONE); if (system_type != NULL) { _current_profile = profile; _current_system_type = system_type; return; } } abort(); } SystemType * Preferences::find_system_type(kc_type_t kc_type, kc_variant_t kc_variant) { system_type_list_t& list = SystemInformation::instance()->get_system_types(); find_by_type_and_variant f = for_each(list.begin(), list.end(), find_by_type_and_variant(kc_type, kc_variant)); return f._result; } int Preferences::get_int_value(string key, int default_value) { return _current_profile->get_int_value(key, default_value); } const char * Preferences::get_string_value(string key, const char *default_value) { return _current_profile->get_string_value(key, default_value); } SystemType * Preferences::get_system_type(void) { return _current_system_type; } kc_type_t Preferences::get_kc_type(void) { return _current_system_type->get_kc_type(); } kc_variant_t Preferences::get_kc_variant(void) { return _current_system_type->get_kc_variant(); } const char * Preferences::get_kc_type_name(void) { return _current_system_type->get_emulation_type().get_name(); } const char * Preferences::get_kc_variant_name(void) { return _current_system_type->get_kc_variant_name(); } KCemu-0.5.1/src/kc/prefs/Makefile.am0000644000175000017500000000065012417262523017311 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libprefs.a AM_CPPFLAGS = \ -I../../../include \ -DKCEMU_PACKAGE=\"$(PACKAGE)\" \ -DKCEMU_DATADIR=\"$(pkgdatadir)\" \ -DKCEMU_LOCALEDIR=\"$(localedir)\" \ -DDEBUG \ $(GTK_CFLAGS) \ $(SDL_CFLAGS) libprefs_a_SOURCES = \ prefs.cc \ parser.cc \ profile.cc \ types.cc \ strlist.cc \ dirlist.cc KCemu-0.5.1/src/kc/prefs/types.cc0000644000175000017500000012527512417262523016743 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "prefs/types.h" #include #include #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/prefs/prefs.h" using namespace std; struct less_system_type : public binary_function { bool operator()(SystemType *type1, SystemType *type2) { return type1->get_sort() < type2->get_sort(); } }; struct find_by_name : public unary_function { string _name; SystemType *_result; find_by_name(string name) : _name(name), _result(NULL) {} void operator()(SystemType *type) { if ((_result == NULL) && (strcmp(_name.c_str(), type->get_name()) == 0)) _result = type; } }; emulation_type_list_t EmulationType::_emulation_type_list; EmulationType EmulationType::_emulation_type_kc85_1( KC_TYPE_85_1, 1, "KC 85/1", "KC 85/1", "kc85-1", "icon-kc87.png", "kcemu-kc87.xpm", "kc851.key", "sys-z9001", "window-module-z9001", 4, 0xf000, 0xf000); EmulationType EmulationType::_emulation_type_kc85_2( KC_TYPE_85_2, 2, "KC 85/2", "KC 85/2", "kc85-2", "icon-kc85.png", "kcemu-kc85.xpm", "kc854.key", "sys-kc85", "window-module-kc85", -12, 0xf000, 0xe000); EmulationType EmulationType::_emulation_type_kc85_3( KC_TYPE_85_3, 3, "KC 85/3", "KC 85/3", "kc85-3", "icon-kc85.png", "kcemu-kc85.xpm", "kc854.key", "sys-kc85", "window-module-kc85", -12, 0xf000, 0xe000); EmulationType EmulationType::_emulation_type_kc85_4( KC_TYPE_85_4, 4, "KC 85/4", "KC 85/4", "kc85-4", "icon-kc85.png", "kcemu-kc85.xpm", "kc854.key", "sys-kc85", "window-module-kc85", -12, 0xf000, 0xe000); EmulationType EmulationType::_emulation_type_kc85_5( KC_TYPE_85_5, 5, "KC 85/5", "KC 85/5", "kc85-5", "icon-kc85.png", "kcemu-kc85.xpm", "kc854.key", "sys-kc855", "window-module-kc85", -12, 0xf000, 0xe000); EmulationType EmulationType::_emulation_type_kc87( KC_TYPE_87, 7, "KC 87", "KC 87", "kc87", "icon-kc87.png", "kcemu-kc87.xpm", "kc851.key", "sys-z9001", "window-module-z9001", 4, 0xf000, 0xf000); EmulationType EmulationType::_emulation_type_a5105( KC_TYPE_A5105, 9, "A5105", "A5105", "a5105", "icon-bic.png", "kcemu-bic.xpm", "a5105.key", "sys-a5105", "", 4, 0x0000, 0x0000); EmulationType EmulationType::_emulation_type_z1013( KC_TYPE_Z1013, 0, "Z1013", "Z1013", "z1013", "icon-z1013.png", "kcemu-z1013.xpm", "", "sys-z1013", "window-module-z1013", 8, 0xf000, 0xf000); EmulationType EmulationType::_emulation_type_lc80( KC_TYPE_LC80, 8, "LC 80", "LC 80", "lc80", "icon-lc80.png", "kcemu-lc80.xpm", "lc80.key", "sys-lc80", "", 6, 0x0000, 0x0000); EmulationType EmulationType::_emulation_type_poly880( KC_TYPE_POLY880, 6, "Polycomputer 880", "Poly880", "poly880", "icon-poly880.png", "kcemu-poly880.xpm", "poly880.key", "sys-poly880", "", 0, 0x0000, 0x0000); EmulationType EmulationType::_emulation_type_muglerpc(KC_TYPE_MUGLERPC, -1, "Mugler PC (PC/M)", "PC/M", "pcm", "icon-pcm.png", "kcemu-pcm.xpm", "", "sys-muglerpc", "", 0, 0x0000, 0x0000); EmulationType EmulationType::_emulation_type_kramermc(KC_TYPE_KRAMERMC, -1, "Kramer Microcomputer", "Kramer-MC", "kramermc", "icon-kramermc.png", "kcemu-kramermc.xpm", "", "sys-kramermc", "", 0, 0x0000, 0x0000); EmulationType EmulationType::_emulation_type_vcs80( KC_TYPE_VCS80, -1, "VCS 80", "VCS 80", "vcs80", "icon-vcs80.png", "kcemu-vcs80.xpm", "vcs80.key", "sys-vcs80", "", 6, 0x0000, 0x0000); EmulationType EmulationType::_emulation_type_c80( KC_TYPE_C80, -1, "C-80", "C-80", "c80", "icon-c80.png", "kcemu-c80.xpm", "", "sys-c80", "", 0, 0x0000, 0x0000); EmulationType::EmulationType(kc_type_t kc_type, int type, string name, string short_name, string config_name, string icon_name, string image_name, string keyboard_filename, string help_topic, string help_topic_module, int module_slots, word_t power_on_addr, word_t reset_addr) { _type = type; _kc_type = kc_type; _name = name; _short_name = short_name; _config_name = config_name; _icon_name = icon_name; _image_name = image_name; _keyboard_filename = keyboard_filename; _help_topic = help_topic; _help_topic_module = help_topic_module; _module_slots = module_slots; _power_on_addr = power_on_addr; _reset_addr = reset_addr; } EmulationType::~EmulationType(void) { } const char * EmulationType::get_name(void) const { return _name.c_str(); } const char * EmulationType::get_config_name(void) const { return _config_name.c_str(); } const char * EmulationType::get_short_name(void) const { return _short_name.c_str(); } const char * EmulationType::get_icon_name(void) const { return _icon_name.c_str(); } const char * EmulationType::get_image_name(void) const { return _image_name.c_str(); } const char * EmulationType::get_keyboard_filename(void) const { if (_keyboard_filename.empty()) return NULL; return _keyboard_filename.c_str(); } const char * EmulationType::get_help_topic(void) const { return _help_topic.c_str(); } const char * EmulationType::get_help_topic_module(void) const { if (_help_topic_module.empty()) return NULL; return _help_topic_module.c_str(); } const int EmulationType::get_module_slots(void) const { return _module_slots; } const word_t EmulationType::get_power_on_addr(void) const { return _power_on_addr; } const word_t EmulationType::get_reset_addr(void) const { return _reset_addr; } int EmulationType::get_type(void) const { return _type; } kc_type_t EmulationType::get_kc_type(void) const { return _kc_type; } emulation_type_list_t & EmulationType::get_emulation_types(void) { if (_emulation_type_list.size() == 0) { _emulation_type_list.push_back(&_emulation_type_kc85_1); _emulation_type_list.push_back(&_emulation_type_kc85_2); _emulation_type_list.push_back(&_emulation_type_kc85_3); _emulation_type_list.push_back(&_emulation_type_kc85_4); _emulation_type_list.push_back(&_emulation_type_kc85_5); _emulation_type_list.push_back(&_emulation_type_kc87); _emulation_type_list.push_back(&_emulation_type_lc80); _emulation_type_list.push_back(&_emulation_type_z1013); _emulation_type_list.push_back(&_emulation_type_a5105); _emulation_type_list.push_back(&_emulation_type_poly880); _emulation_type_list.push_back(&_emulation_type_kramermc); _emulation_type_list.push_back(&_emulation_type_muglerpc); _emulation_type_list.push_back(&_emulation_type_vcs80); _emulation_type_list.push_back(&_emulation_type_c80); } return _emulation_type_list; } ROMEntry::ROMEntry(const char *filename, const char *description, bool is_default) : _filename(filename), _description(description), _is_default(is_default) { } ROMEntry::~ROMEntry(void) { } const string ROMEntry::get_filename(void) const { return _filename; } const string ROMEntry::get_description(void) const { return _description; } const bool ROMEntry::is_default(void) const { return _is_default; } const char * SystemROM::ROM_KEY_CAOSC = N_("rom_caos_c"); const char * SystemROM::ROM_KEY_CAOSE = N_("rom_caos_e"); const char * SystemROM::ROM_KEY_SYSTEM = N_("rom_system"); const char * SystemROM::ROM_KEY_SYSTEM1 = N_("rom_system_1"); const char * SystemROM::ROM_KEY_SYSTEM2 = N_("rom_system_2"); const char * SystemROM::ROM_KEY_SYSTEM3 = N_("rom_system_3"); const char * SystemROM::ROM_KEY_SYSTEM4 = N_("rom_system_4"); const char * SystemROM::ROM_KEY_USER = N_("rom_user"); const char * SystemROM::ROM_KEY_BASIC = N_("rom_basic"); const char * SystemROM::ROM_KEY_DEBUGGER = N_("rom_debugger"); const char * SystemROM::ROM_KEY_REASSEMBLER = N_("rom_reassembler"); const char * SystemROM::ROM_KEY_EDITOR = N_("rom_editor"); const char * SystemROM::ROM_KEY_ASSEMBLER = N_("rom_assembler"); const char * SystemROM::ROM_KEY_CHARGEN = N_("rom_charset"); const char * SystemROM::ROM_KEY_D004_FC = N_("rom_d004_fc"); const char * SystemROM::ROM_KEY_D004_F8 = N_("rom_d004_f8"); SystemROM::SystemROM(const char *name, bool mandatory, int size) : _size(size), _name(name), _mandatory(mandatory) { } SystemROM::~SystemROM(void) { } int SystemROM::get_size(void) const { return _size; } bool SystemROM::is_mandatory(void) const { return _mandatory; } const string SystemROM::get_name(void) const { return _name; } const rom_entry_list_t & SystemROM::get_roms(void) const { return _roms; } const ROMEntry * SystemROM::get_default_rom(void) const { for (rom_entry_list_t::const_iterator it = _roms.begin(); it != _roms.end(); it++) if ((*it)->is_default()) return (*it); return NULL; } void SystemROM::add_rom(const char *filename, const char *description, bool is_default) { _roms.push_back(new ROMEntry(filename, description, is_default)); } SystemType::SystemType(int sort, string name, int type, EmulationType &emulation_type, kc_variant_t kc_variant, string description) : _sort(sort), _type(type), _name(name), _display_name(emulation_type.get_name()), _kc_variant(kc_variant), _description(description), _emulation_type(emulation_type) { _ui_callback_value = 50000; _ui_callback_retrace_value = 0; } SystemType::~SystemType(void) { } const char * SystemType::get_display_name(void) const { return _display_name.c_str(); } SystemType & SystemType::set_display_name(const char *display_name) { _display_name = display_name; return *this; } const string SystemType::get_rom_directory(void) const { return _rom_dir; } SystemType & SystemType::set_rom_directory(const char *romdir) { _rom_dir = romdir; return *this; } const unsigned long long SystemType::get_ui_callback_value(void) const { return _ui_callback_value; } SystemType & SystemType::set_ui_callback_value(unsigned long long value) { _ui_callback_value = value; return *this; } const unsigned long long SystemType::get_ui_callback_retrace_value(void) const { return _ui_callback_retrace_value; } SystemType & SystemType::set_ui_callback_retrace_value(unsigned long long value) { _ui_callback_retrace_value = value; return *this; } const system_rom_list_t & SystemType::get_rom_list(void) const { return _rom_list; } const SystemROM * SystemType::get_rom(const char *key) const { for (system_rom_list_t::const_iterator it = _rom_list.begin();it != _rom_list.end();it++) { if (strcmp((*it)->get_name().c_str(), key) == 0) { return (*it); } } return NULL; } void SystemType::add_rom(const char *name, bool mandatory, int size, int default_idx, const char *filename, const char *description, va_list ap) { SystemROM *rom = new SystemROM(name, mandatory, size); rom->add_rom(filename, description, 0 == default_idx); int idx = 0; while (242) { idx++; const char *arg1 = va_arg(ap, const char *); if (arg1 == NULL) break; const char *arg2 = va_arg(ap, const char *); if (arg2 == NULL) break; rom->add_rom(arg1, arg2, idx == default_idx); } _rom_list.push_back(rom); } SystemType & SystemType::add_rom(const char *name, int size, const char *filename, const char *description, ...) { va_list ap; va_start(ap, description); add_rom(name, true, size, 0, filename, description, ap); va_end(ap); return *this; } SystemType & SystemType::add_rom(const char *name, int size, int default_idx, const char *filename, const char *description, ...) { va_list ap; va_start(ap, description); add_rom(name, true, size, default_idx, filename, description, ap); va_end(ap); return *this; } SystemType & SystemType::add_optional_rom(const char *name, int size, const char *filename, const char *description, ...) { va_list ap; va_start(ap, description); add_rom(name, false, size, 0, filename, description, ap); va_end(ap); return *this; } const char * SystemType::get_name(void) const { return _name.c_str(); } int SystemType::get_sort(void) const { return _sort; } int SystemType::get_type(void) const { return _type; } bool SystemType::is_default(int type) const { return _type == type; } kc_type_t SystemType::get_kc_type(void) const { return _emulation_type.get_kc_type(); } kc_variant_t SystemType::get_kc_variant(void) const { return _kc_variant; } const char * SystemType::get_kc_variant_name(void) const { return get_name(); } const char * SystemType::get_description(void) const { return _description.c_str(); } const EmulationType & SystemType::get_emulation_type(void) const { return _emulation_type; } SystemInformation *SystemInformation::_instance = 0; SystemInformation::SystemInformation(void) { /* * Z1013 */ add_system_type(101, "z1013.01", -1, EmulationType::_emulation_type_z1013, KC_VARIANT_Z1013_01, N_(" Z1013 with 16k RAM and 2k ROM, running at 1MHz. This was the\n" " first version with cheap circuits so the CPU was clocked at only 1MHz\n" " The ROM contains the Z1013 monitor version 2.02.\n")) .set_display_name("Z1013.01") .set_ui_callback_value(20000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/z1013") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0800, "z1013_20.rom", _("System-ROM V2.0"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x1000, "z1013_zg.rom", _("Z1013 Charset-ROM"), NULL); add_system_type(102, "z1013.12", -1, EmulationType::_emulation_type_z1013, KC_VARIANT_Z1013_12, N_(" Z1013 with 1k sRAM and 2k ROM, running at 2MHz. Industry\n" " version with only 1k static RAM. Monitor version 2.02.\n")) .set_display_name("Z1013.12") .set_ui_callback_value(40000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/z1013") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0800, "z1013_20.rom", _("System-ROM V2.0"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x1000, "z1013_zg.rom", _("Z1013 Charset-ROM"), NULL); add_system_type(103, "z1013.16", -1, EmulationType::_emulation_type_z1013, KC_VARIANT_Z1013_16, N_(" Z1013 with 16k RAM and 2k ROM, running at 2MHz. Successor of\n" " the Z1013.01 but with industry grade circuits clocked at 2MHz.\n")) .set_display_name("Z1013.16") .set_ui_callback_value(40000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/z1013") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0800, "z1013_20.rom", _("System-ROM V2.0"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x1000, "z1013_zg.rom", _("Z1013 Charset-ROM"), NULL); add_system_type(104, "z1013.64", -1, EmulationType::_emulation_type_z1013, KC_VARIANT_Z1013_64, N_(" Z1013 with 64k RAM and 2x2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the first\n" " image with version 2.02 that is supposed to work with the foil keypad\n" " shipped by the manufacturer.\n")) .set_display_name("Z1013.64") .set_ui_callback_value(40000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/z1013") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0800, "z1013_20.rom", _("System-ROM V2.0"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x1000, "z1013_zg.rom", _("Z1013 Charset-ROM"), NULL); add_system_type(105, "z1013.a2", -1, EmulationType::_emulation_type_z1013, KC_VARIANT_Z1013_A2, N_(" Z1013 with 64k RAM and 2k ROM, running at 2MHz. The ROM\n" " contains two system images with 2k each. Loaded is the second\n" " image with version A.2 that supports an extended keyboard with an\n" " 8x8 matrix.\n")) .set_display_name("Z1013.A2") .set_ui_callback_value(40000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/z1013") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0800, "z1013_a2.rom", _("System-ROM A2"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x1000, "z1013_zg.rom", _("Z1013 Charset-ROM"), NULL); add_system_type(106, "z1013.rb", -1, EmulationType::_emulation_type_z1013, KC_VARIANT_Z1013_RB, N_(" Z1013 with 64k RAM and 4k ROM. The ROM is the extended\n" " version tagged 2.028 RB that has a different keyboard driver for\n" " the keyboard K7659.\n")) .set_display_name("Z1013 (Brosig-ROM)") .set_ui_callback_value(40000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/z1013") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "z1013_rb.rom", _("Brosig-ROM K7659/2.028"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x1000, "z1013_zg.rom", _("Z1013 Charset-ROM"), NULL); add_system_type(107, "z1013.surl", -1, EmulationType::_emulation_type_z1013, KC_VARIANT_Z1013_SURL, N_(" Z1013 with 64k RAM and 4k ROM. The ROM contains the 'Super\n" " Ur-Lader 5.0' that can read arbitrary tape files as system monitor.\n" " The hardware modification port at address 4h is emulated which allows\n" " programs to switch off the system ROM.\n")) .set_display_name("Z1013 (Super Ur-Lader 5.0)") .set_ui_callback_value(40000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/z1013") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0800, "z1013_ul.rom", _("Super Ur-Lader 5.0"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x1000, "z1013_zg.rom", _("Z1013 Charset-ROM"), NULL); add_system_type(108, "z1013.bl4", -1, EmulationType::_emulation_type_z1013, KC_VARIANT_Z1013_BL4, N_(" Z1013 with 64k RAM and 4k ROM. The ROM contains the Bootloader\n" " BL4 that can load monitor images from floppy disk or can start the\n" " CP/M system.\n")) .set_display_name("Z1013 (Bootloader BL4)") .set_ui_callback_value(40000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/z1013") .add_rom(SystemROM::ROM_KEY_SYSTEM, 2432, "z1013_bl.rom", _("Bootlader BL4"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x1000, "z1013_zg.rom", _("Z1013 Charset-ROM"), NULL); /* * KC 85/1 */ add_system_type(201, "z9001.10", -1, EmulationType::_emulation_type_kc85_1, KC_VARIANT_85_1_10, N_(" Z9001 (later called KC 85/1) with monochrome display, no internal BASIC\n" " ROM. This computer has 16k RAM and 4k ROM with the robotron z9001 system.\n")) .set_display_name("KC 85/1.10") .set_ui_callback_value(50000) .set_rom_directory("/roms/z9001") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "os____f0.851", _("System-ROM"), "os_rb20.rom", _("ROM-Bank System without menu"), "os_rb21.rom", _("ROM-Bank System with menu"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.851", _("Z9001 Charset-ROM"), "zg_de.rom", _("Z9001 Charset-ROM (german)"), "zg_cga.rom", _("CGA Charset-ROM"), "zg_cgai.rom", _("CGA Charset-ROM (extended)"), NULL); add_system_type(202, "z9001.11", -1, EmulationType::_emulation_type_kc85_1, KC_VARIANT_85_1_11, N_(" Like the z9001.10 but with color extension card.\n")) .set_display_name("KC 85/1.11") .set_ui_callback_value(50000) .set_rom_directory("/roms/z9001") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "os____f0.851", _("System-ROM"), "os_rb20.rom", _("ROM-Bank System without menu"), "os_rb21.rom", _("ROM-Bank System with menu"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.851", _("Z9001 Charset-ROM"), "zg_de.rom", _("Z9001 Charset-ROM (german)"), "zg_cga.rom", _("CGA Charset-ROM"), "zg_cgai.rom", _("CGA Charset-ROM (extended)"), NULL); /* * KC 85/2 */ add_system_type(302, "kc85/2", 2, EmulationType::_emulation_type_kc85_2, KC_VARIANT_NONE, N_(" HC900 (later called KC 85/2) with 16k RAM and 8k ROM. System is called\n" " HC-CAOS 2.2 (home computer - cassette aided operating system). BASIC\n" " is only available as external module.\n")) .set_ui_callback_value(35000) .set_rom_directory("/roms/kc85") .add_rom(SystemROM::ROM_KEY_CAOSE, 0x2000, "hc900.852", _("HC-900 CAOS"), "caos__e0.852", _("CAOS 2.2"), NULL) .add_rom(SystemROM::ROM_KEY_D004_FC, 0x2000, "floppy20.rom", _("D004 Version 2.0 (02.01.1989)"), "floppy30.rom", _("D004 Version 3.0 (07.12.1997)"), "floppy31.rom", _("D004 Version 3.1 (22.01.2003)"), "floppy32.rom", _("D004 Version 3.2 (28.10.2008)"), NULL) .add_rom(SystemROM::ROM_KEY_D004_F8, 0x2000, 3, "floppy20.rom", _("D004 Version 2.0 (02.01.1989)"), "floppy30.rom", _("D004 Version 3.0 (07.12.1997)"), "floppy31.rom", _("D004 Version 3.1 (22.01.2003)"), "floppy32.rom", _("D004 Version 3.2 (28.10.2008)"), NULL); /* * KC 85/3 */ add_system_type(400, "kc85/3", 3, EmulationType::_emulation_type_kc85_3, KC_VARIANT_NONE, N_(" KC 85/3 with 16k RAM, 8k system ROM with HC-CAOS 3.1 and 8k BASIC ROM.\n")) .set_ui_callback_value(35000) .set_rom_directory("/roms/kc85") .add_rom(SystemROM::ROM_KEY_CAOSE, 0x2000, "caos__e0.853", _("CAOS 3.1"), "caos33.853", _("CAOS 3.3"), "caos34.853", _("CAOS 3.4"), "pi88_ge.853", _("OS PI/88 (yellow/blue)"), "pi88_sw.853", _("OS PI/88 (black/white)"), "pi88_ws.853", _("OS PI/88 (white/blue)"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x2000, "basic_c0.853", _("KC-BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_D004_FC, 0x2000, "floppy20.rom", _("D004 Version 2.0 (02.01.1989)"), "floppy30.rom", _("D004 Version 3.0 (07.12.1997)"), "floppy31.rom", _("D004 Version 3.1 (22.01.2003)"), "floppy32.rom", _("D004 Version 3.2 (28.10.2008)"), NULL) .add_rom(SystemROM::ROM_KEY_D004_F8, 0x2000, 3, "floppy20.rom", _("D004 Version 2.0 (02.01.1989)"), "floppy30.rom", _("D004 Version 3.0 (07.12.1997)"), "floppy31.rom", _("D004 Version 3.1 (22.01.2003)"), "floppy32.rom", _("D004 Version 3.2 (28.10.2008)"), NULL); /* * KC 85/4 */ add_system_type(500, "kc85/4", 4, EmulationType::_emulation_type_kc85_4, KC_VARIANT_NONE, N_(" KC 85/4 with 64k RAM, 64k screen memory, 12k system ROM with HC-CAOS 4.2\n" " and 8k BASIC ROM.\n")) .set_ui_callback_value(35000) .set_rom_directory("/roms/kc85") .add_rom(SystemROM::ROM_KEY_CAOSC, 0x1000, 1, "caos41c.854", _("CAOS 4.1 (C)"), "caos__c0.854", _("CAOS 4.2 (C)"), NULL) .add_rom(SystemROM::ROM_KEY_CAOSE, 0x2000, 1, "caos41e.854", _("CAOS 4.1 (E)"), "caos__e0.854", _("CAOS 4.2 (E)"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x2000, "basic_c0.854", _("KC-BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_D004_FC, 0x2000, "floppy20.rom", _("D004 Version 2.0 (02.01.1989)"), "floppy30.rom", _("D004 Version 3.0 (07.12.1997)"), "floppy31.rom", _("D004 Version 3.1 (22.01.2003)"), "floppy32.rom", _("D004 Version 3.2 (28.10.2008)"), NULL) .add_rom(SystemROM::ROM_KEY_D004_F8, 0x2000, 3, "floppy20.rom", _("D004 Version 2.0 (02.01.1989)"), "floppy30.rom", _("D004 Version 3.0 (07.12.1997)"), "floppy31.rom", _("D004 Version 3.1 (22.01.2003)"), "floppy32.rom", _("D004 Version 3.2 (28.10.2008)"), NULL); /* * KC 85/5 */ add_system_type(600, "kc85/5", 5, EmulationType::_emulation_type_kc85_5, KC_VARIANT_NONE, N_(" Unofficial successor of the KC 85/4 with 256k RAM, 64k screen memory,\n" " 16k system ROM with HC-CAOS 4.4, 8k BASIC ROM and 24k User ROM. It is\n" " intended to be used with a modified D004 floppy device with additional\n" " hard-disk support.\n")) .set_ui_callback_value(35000) .set_rom_directory("/roms/kc85") .add_rom(SystemROM::ROM_KEY_CAOSC, 0x2000, 1, "caos43c.855", _("CAOS 4.3 (C)"), "caos__c0.855", _("CAOS 4.4 (C)"), "caos45c.855", _("CAOS 4.5 beta6 (C)"), NULL) .add_rom(SystemROM::ROM_KEY_CAOSE, 0x2000, 1, "caos43e.855", _("CAOS 4.3 (E)"), "caos__e0.855", _("CAOS 4.4 (E)"), "caos45e.855", _("CAOS 4.5 beta6 (E)"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x8000, 1, "basic_c0.855", _("KC-BASIC (EDAS/TEMO/FORTH)"), "basicusb.855", _("KC-BASIC (EDAS/TEMO/USB)"), NULL) .add_rom(SystemROM::ROM_KEY_D004_FC, 0x2000, 3, "floppy20.rom", _("D004 Version 2.0 (02.01.1989)"), "floppy30.rom", _("D004 Version 3.0 (07.12.1997)"), "floppy31.rom", _("D004 Version 3.1 (22.01.2003)"), "floppy32.rom", _("D004 Version 3.2 (28.10.2008)"), NULL) .add_rom(SystemROM::ROM_KEY_D004_F8, 0x2000, 0, "floppy20.rom", _("D004 Version 2.0 (02.01.1989)"), "floppy30.rom", _("D004 Version 3.0 (07.12.1997)"), "floppy31.rom", _("D004 Version 3.1 (22.01.2003)"), "floppy32.rom", _("D004 Version 3.2 (28.10.2008)"), NULL); /* * Polycomputer 880 */ add_system_type(700, "poly880", 6, EmulationType::_emulation_type_poly880, KC_VARIANT_NONE, N_(" Polycomputer 880.\n")) .set_display_name("Polycomputer 880") .set_ui_callback_value(18000) .set_rom_directory("/roms/poly880") .add_rom(SystemROM::ROM_KEY_SYSTEM1, 0x0400, "poly880a.rom", _("System-ROM 1"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM2, 0x0400, "poly880b.rom", _("System-ROM 2"), NULL) .add_optional_rom(SystemROM::ROM_KEY_SYSTEM3, 0x0400, "poly880c.rom", _("Optional-ROM 1"), NULL) .add_optional_rom(SystemROM::ROM_KEY_SYSTEM4, 0x0400, "poly880d.rom", _("Optional-ROM 1"), NULL); add_system_type(701, "poly880.sc1", -6, EmulationType::_emulation_type_poly880, KC_VARIANT_POLY880_SC1, N_(" Polycomputer 880 with chess program rom from SC1.\n")) .set_display_name("Polycomputer 880 + SC1 ROM") .set_ui_callback_value(18000) .set_rom_directory("/roms/poly880") .add_rom(SystemROM::ROM_KEY_SYSTEM1, 0x1000, "sc1.rom", _("SC1-ROM"), NULL); /* * KC 87 */ add_system_type(801, "kc87.10", -7, EmulationType::_emulation_type_kc87, KC_VARIANT_87_10, N_(" Like the KC 87.11 but without the color extension card.\n")) .set_display_name("KC 87.10") .set_ui_callback_value(50000) .set_rom_directory("/roms/z9001") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "os____f0.851", _("System-ROM"), "os_rb20.rom", _("ROM-Bank System without menu"), "os_rb21.rom", _("ROM-Bank System with menu"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x2800, "basic_c0.87a", _("KC-BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.851", _("Z9001 Charset-ROM"), "zg_de.rom", _("Z9001 Charset-ROM (german)"), "zg_cga.rom", _("CGA Charset-ROM"), "zg_cgai.rom", _("CGA Charset-ROM (extended)"), NULL); add_system_type(802, "kc87.11", 7, EmulationType::_emulation_type_kc87, KC_VARIANT_87_11, N_(" Successor of the Z9001 with internal 10k BASIC ROM.\n")) .set_display_name("KC 87.11") .set_ui_callback_value(50000) .set_rom_directory("/roms/z9001") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "os____f0.851", _("System-ROM"), "os_rb20.rom", _("ROM-Bank System without menu"), "os_rb21.rom", _("ROM-Bank System with menu"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x2800, "basic_c0.87a", _("KC-BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.851", _("Z9001 Charset-ROM"), "zg_de.rom", _("Z9001 Charset-ROM (german)"), "zg_cga.rom", _("CGA Charset-ROM"), "zg_cgai.rom", _("CGA Charset-ROM (extended)"), NULL); add_system_type(803, "kc87.20", -8, EmulationType::_emulation_type_kc87, KC_VARIANT_87_20, N_(" Like the KC 87.21 but without the color extension card.\n")) .set_display_name("KC 87.20") .set_ui_callback_value(50000) .set_rom_directory("/roms/z9001") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "os____f0.87b", _("System-ROM"), "os_rb20.rom", _("ROM-Bank System without menu"), "os_rb21.rom", _("ROM-Bank System with menu"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x2800, "basic_c0.87b", _("KC-BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.851", _("Z9001 Charset-ROM"), "zg_de.rom", _("Z9001 Charset-ROM (german)"), "zg_cga.rom", _("CGA Charset-ROM"), "zg_cgai.rom", _("CGA Charset-ROM (extended)"), NULL); add_system_type(804, "kc87.21", -8, EmulationType::_emulation_type_kc87, KC_VARIANT_87_21, N_(" New series with extended BASIC ROM (still 10k but with some routines for\n" " plotter support were added).\n")) .set_display_name("KC 87.21") .set_ui_callback_value(50000) .set_rom_directory("/roms/z9001") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "os____f0.87b", _("System-ROM"), "os_rb20.rom", _("ROM-Bank System without menu"), "os_rb21.rom", _("ROM-Bank System with menu"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x2800, "basic_c0.87b", _("KC-BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.851", _("Z9001 Charset-ROM"), "zg_de.rom", _("Z9001 Charset-ROM (german)"), "zg_cga.rom", _("CGA Charset-ROM"), "zg_cgai.rom", _("CGA Charset-ROM (extended)"), NULL); add_system_type(805, "kc87.30", -8, EmulationType::_emulation_type_kc87, KC_VARIANT_87_30, N_(" New batch of KC 87.20 with no known hardware differences.\n")) .set_display_name("KC 87.30") .set_ui_callback_value(50000) .set_rom_directory("/roms/z9001") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "os____f0.87b", _("System-ROM"), "os_rb20.rom", _("ROM-Bank System without menu"), "os_rb21.rom", _("ROM-Bank System with menu"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x2800, "basic_c0.87b", _("KC-BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.851", _("Z9001 Charset-ROM"), "zg_de.rom", _("Z9001 Charset-ROM (german)"), "zg_cga.rom", _("CGA Charset-ROM"), "zg_cgai.rom", _("CGA Charset-ROM (extended)"), NULL); add_system_type(806, "kc87.31", -8, EmulationType::_emulation_type_kc87, KC_VARIANT_87_31, N_(" New batch of KC 87.21 with no known hardware differences.\n")) .set_display_name("KC 87.31") .set_ui_callback_value(50000) .set_rom_directory("/roms/z9001") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x1000, "os____f0.87b", _("System-ROM"), "os_rb20.rom", _("ROM-Bank System without menu"), "os_rb21.rom", _("ROM-Bank System with menu"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x2800, "basic_c0.87b", _("KC-BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.851", _("Z9001 Charset-ROM"), "zg_de.rom", _("Z9001 Charset-ROM (german)"), "zg_cga.rom", _("CGA Charset-ROM"), "zg_cgai.rom", _("CGA Charset-ROM (extended)"), NULL); /* * LC 80 */ add_system_type(900, "lc80", 8, EmulationType::_emulation_type_lc80, KC_VARIANT_LC80_1k, N_(" Single board computer LC 80 with 1k RAM and 2 x 1k ROM.\n")) .set_display_name("LC 80 (2 x U505)") .set_ui_callback_value(18000) .set_rom_directory("/roms/lc80") .add_rom(SystemROM::ROM_KEY_SYSTEM1, 0x0400, "lc80__00.rom", _("System-ROM 1"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM2, 0x0400, "lc80__08.rom", _("System-ROM 2"), NULL); add_system_type(902, "lc80.2k", -8, EmulationType::_emulation_type_lc80, KC_VARIANT_LC80_2k, N_(" Single board computer LC 80 with 1k RAM and 1 x 2k ROM.\n")) .set_display_name("LC 80 (1 x U2716)") .set_ui_callback_value(18000) .set_rom_directory("/roms/lc80") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0800, "lc80__2k.rom", _("System-ROM"), NULL); add_system_type(903, "lc80e", -8, EmulationType::_emulation_type_lc80, KC_VARIANT_LC80e, N_(" Export variant of the LC 80 with 12k ROM including chess program.\n")) .set_display_name("LC 80e") .set_ui_callback_value(66000) .set_rom_directory("/roms/lc80") .add_rom(SystemROM::ROM_KEY_SYSTEM1, 0x1000, "lc80e_00.rom", _("System-ROM 1"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM2, 0x1000, "lc80e_10.rom", _("System-ROM 2"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM3, 0x1000, "lc80e_c0.rom", _("System-ROM 3"), NULL); /* * A5105 */ add_system_type(1000, "bic", -9, EmulationType::_emulation_type_a5105, KC_VARIANT_A5105_K1505, N_(" BIC/A5105, only the base device is emulated, no floppy device.\n")) .set_display_name("K1505 (BIC Basis Device)") .set_ui_callback_value(60000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/a5105") .add_rom(SystemROM::ROM_KEY_SYSTEM1, 0x8000, "k1505_00.rom", _("System-ROM 1"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM2, 0x2000, "k1505_80.rom", _("System-ROM 2"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM3, 0x2000, "k5651_40.rom", _("DSE-ROM 1"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM4, 0x2000, "k5651_60.rom", _("DSE-ROM 2"), NULL); add_system_type(1002, "a5105", 9, EmulationType::_emulation_type_a5105, KC_VARIANT_A5105_A5105, N_(" BIC/A5105, the full system including the floppy device.\n")) .set_display_name("A5105 (BIC Basis Device + Floppy Device)") .set_ui_callback_value(60000) .set_ui_callback_retrace_value(1000) .set_rom_directory("/roms/a5105") .add_rom(SystemROM::ROM_KEY_SYSTEM1, 0x8000, "k1505_00.rom", _("System-ROM 1"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM2, 0x2000, "k1505_80.rom", _("System-ROM 2"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM3, 0x2000, "k5651_40.rom", _("DSE-ROM 1"), NULL) .add_rom(SystemROM::ROM_KEY_SYSTEM4, 0x2000, "k5651_60.rom", _("DSE-ROM 2"), NULL); /* * Kramer MC */ add_system_type(1100, "kramer-mc", -100, EmulationType::_emulation_type_kramermc, KC_VARIANT_NONE, N_(" Micro-Computer presented in the book \"Praktische Microcomputertechnik\"\n" " by Manfred Kramer.\n")) .set_ui_callback_value(30000) .set_rom_directory("/roms/kramermc") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0400, "io-mon.kmc", _("IO-Monitor"), NULL) .add_rom(SystemROM::ROM_KEY_BASIC, 0x3000, "basic.kmc", _("BASIC"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.kmc", _("Charset-ROM"), NULL) .add_rom(SystemROM::ROM_KEY_DEBUGGER, 0x0400, "debugger.kmc", _("Debugger"), NULL) .add_rom(SystemROM::ROM_KEY_REASSEMBLER, 0x0400, "reass.kmc", _("Reassembler"), NULL) .add_rom(SystemROM::ROM_KEY_EDITOR, 0x0400, "editor.kmc", _("Editor"), NULL) .add_rom(SystemROM::ROM_KEY_ASSEMBLER, 0x1c00, "ass.kmc", _("Assembler"), NULL); /* * PC/M */ add_system_type(1200, "mugler-pc", -100, EmulationType::_emulation_type_muglerpc, KC_VARIANT_NONE, N_(" CP/M based Micro-Computer presented in the magazine \"Funkamateur\"\n" " by A. Mugler and H. Mathes.\n")) .set_ui_callback_value(50000) .set_rom_directory("/roms/muglerpc") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x2000, "muglerpc.pcm", _("System-ROM"), NULL) .add_rom(SystemROM::ROM_KEY_CHARGEN, 0x0800, "chargen.pcm", _("Charset-ROM"), NULL); /* * VCS 80 */ add_system_type(1300, "vcs80", -100, EmulationType::_emulation_type_vcs80, KC_VARIANT_NONE, N_(" Minimal Z80 learning system presented in the magazine \"rfe\"\n" " by Eckhard Schiller.\n")) .set_ui_callback_value(25000) .set_ui_callback_retrace_value(4000) .set_rom_directory("/roms/vcs80") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0200, "monitor.rom", _("System-ROM"), NULL); /* * C 80 */ add_system_type(1400, "c80", -100, EmulationType::_emulation_type_c80, KC_VARIANT_NONE, N_(" Minimal Z80 learning system designed by Dipl.-Ing. Joachim Czepa.\n")) .set_ui_callback_value(50000) .set_rom_directory("/roms/c80") .add_rom(SystemROM::ROM_KEY_SYSTEM, 0x0400, "monitor.rom", _("System-ROM"), NULL) .add_optional_rom(SystemROM::ROM_KEY_USER, 0x0400, "user.rom", _("User-ROM"), NULL); _system_type_list.sort(less_system_type()); } SystemInformation::~SystemInformation(void) { } SystemType & SystemInformation::add_system_type(int sort, string name, int type, EmulationType& emulation_type, kc_variant_t kc_variant, string description) { SystemType *system_type = new SystemType(sort, name, type, emulation_type, kc_variant, description); _system_type_list.push_back(system_type); return *system_type; } SystemInformation * SystemInformation::instance(void) { if (_instance == NULL) _instance = new SystemInformation(); return _instance; } system_type_list_t & SystemInformation::get_system_types(void) { return _system_type_list; } const SystemType * SystemInformation::get_system_type(kc_type_t kc_type, kc_variant_t kc_variant) const { for (system_type_list_t::const_iterator it = _system_type_list.begin();it != _system_type_list.end();it++) { if ((*it)->get_kc_type() != kc_type) continue; if ((*it)->get_kc_variant() != kc_variant) continue; return (*it); } return NULL; } void SystemInformation::show_types(void) { cout << "available emulations:"; int width = 0; kc_type_t old_type = KC_TYPE_NONE; for (system_type_list_t::iterator it = _system_type_list.begin();it != _system_type_list.end();it++) { int type = abs((*it)->get_type()); kc_type_t kc_type = (*it)->get_kc_type(); width++; if (old_type != kc_type) cout << endl << " "; else cout << ","; if (kc_type == KC_TYPE_NONE) break; if (old_type != kc_type) { if (type >= 100) { cout << "-"; } else { cout << type; } cout << ": "; width = 5; } if (width > 60) { cout << endl << " "; width = 5; } const char *name = (*it)->get_name(); cout << " " << name; width += strlen(name) + 1; if ((*it)->get_type() >= 0) { width++; cout << "*"; } old_type = kc_type; } cout << endl; } void SystemInformation::show_types_with_description(void) { cout << _("available emulations:") << endl << endl; for (system_type_list_t::iterator it = _system_type_list.begin();it != _system_type_list.end();it++) { const char *ptr = ""; if (strcmp((*it)->get_name(), (*it)->get_kc_variant_name()) == 0) { /* * find all references */ for (system_type_list_t::iterator it2 = _system_type_list.begin();it2 != _system_type_list.end();it2++) { if ((*it)->get_kc_variant_name() == (*it2)->get_kc_variant_name()) { cout << ptr << (*it2)->get_name(); ptr = ", "; } } /* * call gettext() here because static initialization of * internationalized strings doesn't work. */ cout << endl << _((*it)->get_description()) << endl; } } } KCemu-0.5.1/src/kc/fdc4.cc0000644000175000017500000001141012417262523015261 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/fdc4.h" #include "kc/z80_fdc.h" #include "libdbg/dbg.h" FDC4::FDC4(void) { fdc_z80->register_ic(this); } FDC4::~FDC4(void) { fdc_z80->unregister_ic(this); } long long FDC4::get_counter() { return fdc_z80->get_counter(); } void FDC4::add_callback(unsigned long long offset, Callback *cb, void *data) { fdc_z80->add_callback(offset, cb, data); } byte_t FDC4::in(word_t addr) { byte_t val = 0; switch (addr & 0xff) { case 0xf0: // D004 (KC85/4) /* CS-FDC (Chipselect) */ val = get_msr(); DBG(2, form("KCemu/FDC/in_F0", "FDC::in(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); break; case 0xf1: // D004 (KC85/4) val = in_data(addr); DBG(2, form("KCemu/FDC/in_F1", "FDC::in(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); break; case 0xf2: // D004 (KC85/4) /* DAK-FDC (DMA-Acknowledge) */ val = read_byte(); DBG(2, form("KCemu/FDC/in_F2", "FDC::in(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); break; case 0xf4: // D004 (KC85/4) /* * Input-Gate: * * Bit 7 DRQ (DMA-Request) * Bit 6 INT (Interrupt) * Bit 5 RDY (Drive-Ready) * Bit 4 IDX (Index - Spuranfang) */ val = get_input_gate(); DBG(2, form("KCemu/FDC/in_F4", "FDC::in(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); break; case 0xf6: // D004 (KC85/4) /* Select-Latch */ val = 0x00; DBG(2, form("KCemu/FDC/in_F6", "FDC::in(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); break; case 0xf8: // D004 (KC85/4) /* TC-FDC (Terminalcount) - End of DMA Transfer */ val = 0x00; DBG(2, form("KCemu/FDC/in_F8", "FDC::in(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); break; } DBG(2, form("KCemu/FDC/in", "FDC::in(): %04xh addr = %04x, val = %02x\n", fdc_z80->getPC(), addr, val)); return val; } void FDC4::out(word_t addr, byte_t val) { DBG(2, form("KCemu/FDC/out", "FDC::out(): %04xh (I=%02x): addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), fdc_z80->getI(), addr, val, isprint(val) ? val : '.')); switch (addr & 0xff) { case 0xf1: // D004 (KC85/4) DBG(2, form("KCemu/FDC/out_F1", "FDC::out(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); out_data(addr, val); break; case 0xf2: // D004 (KC85/4) DBG(2, form("KCemu/FDC/out_F2", "FDC::out(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); write_byte(val); break; case 0xf6: // D004 (KC85/4) DBG(2, form("KCemu/FDC/out_F6", "FDC::out(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); drive_select(val & 0x0f); break; case 0xf8: // D004 (KC85/4) DBG(2, form("KCemu/FDC/out_F8", "FDC::out(): %04xh Terminal Count %02x\n", fdc_z80->getPC(), val)); set_state(FDC_STATE_RESULT); set_input_gate(0x40, 0x00); break; default: DBG(2, form("KCemu/FDC/out_unhandled", "FDC::out(): %04xh addr = %04x, val = %02x [%c]\n", fdc_z80->getPC(), addr, val, isprint(val) ? val : '.')); break; } } KCemu-0.5.1/src/kc/floppy.cc0000644000175000017500000000543712417262523015766 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/floppy.h" #include "cmd/cmd.h" #include "libdbg/dbg.h" class CMD_floppy_attach : public CMD { private: Floppy *_f; public: CMD_floppy_attach(Floppy *f, const char *cmdname) : CMD("floppy-attach") { _f = f; register_cmd(cmdname); } void execute(CMD_Args *args, CMD_Context context) { const char *filename; if (!args) return; filename = args->get_string_arg("filename"); if (!filename) return; _f->attach(filename); } }; Floppy::Floppy(const char *cmdname) { _disk_prop = NULL; CMD *cmd; cmd = new CMD_floppy_attach(this, cmdname); } Floppy::~Floppy(void) { } int Floppy::get_head_count(void) { if (_disk_prop == NULL) return -1; return _disk_prop->head_count; } int Floppy::get_cylinder_count(void) { if (_disk_prop == NULL) return -1; return _disk_prop->cylinder_count; } int Floppy::get_sector_size(void) { if (_disk_prop == NULL) return -1; return _disk_prop->sector_size; } int Floppy::get_sectors_per_cylinder(void) { if (_disk_prop == NULL) return -1; return _disk_prop->sectors_per_cylinder; } bool Floppy::attach(const char *filename) { if (filename == NULL) { libdisk_close(&_disk_prop); return true; } if (libdisk_open(&_disk_prop, filename) < 0) { //cerr << "Can't attach disk-image '" << filename << "'!" << endl; return false; } //cerr << "Attached disk-image '" << filename << "'" << endl; return true; } bool Floppy::seek(int head, int cylinder, int sector) { if (_disk_prop == NULL) return false; if (libdisk_seek(&_disk_prop, head, cylinder, sector) < 0) return false; return true; } int Floppy::read_sector(byte_t *buf, int len) { return libdisk_read_sector(&_disk_prop, buf, len); } int Floppy::write_sector(byte_t *buf, int len) { return libdisk_write_sector(&_disk_prop, buf, len); } KCemu-0.5.1/src/kc/kcemu.rc.in0000644000175000017500000000132412417262523016174 0ustar glaubitzglaubitz1 VERSIONINFO FILEVERSION @KCEMU_MAJOR_VERSION@, @KCEMU_MINOR_VERSION@, @KCEMU_MICRO_VERSION@, @KCEMU_EXTRA_VERSION@ PRODUCTVERSION @KCEMU_MAJOR_VERSION@, @KCEMU_MINOR_VERSION@, @KCEMU_MICRO_VERSION@, @KCEMU_EXTRA_VERSION@ FILEFLAGSMASK 0 FILEOS 0x40000 FILETYPE 1 { BLOCK "StringFileInfo" { BLOCK "040904E4" { VALUE "CompanyName", "Torsten Paul" VALUE "FileDescription", "KCemu -- the KC 85/3 and KC 85/4 Emulator" VALUE "FileVersion", "@VERSION@" VALUE "InternalName", "kcemu.exe" VALUE "LegalCopyright", "GNU General Public License" VALUE "OriginalFilename", "kcemu.exe" VALUE "ProductName", "KCemu" VALUE "ProductVersion", "@VERSION@" } } } AppIcon ICON "../../images/kcemu-winicon.ico" KCemu-0.5.1/src/kc/keyb6.cc0000644000175000017500000000673212417262523015474 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio.h" #include "kc/keys.h" #include "kc/keyb6.h" #include "cmd/cmd.h" #include "libdbg/dbg.h" Keyboard6::Keyboard6(void) { init(); } Keyboard6::~Keyboard6(void) { } void Keyboard6::init(void) { _key = -1; } void Keyboard6::callback(void *data) { } int Keyboard6::decode_key(int keysym, bool press) { return keysym; } void Keyboard6::keyPressed(int keysym, int keycode) { _key = keysym; } void Keyboard6::keyReleased(int keysym, int keycode) { if (_key == KC_KEY_ESC) { CMD_EXEC("emu-reset"); } _key = -1; } void Keyboard6::replayString(const char *text) { } void Keyboard6::reset(bool power_on) { init(); } void Keyboard6::reti(void) { } int Keyboard6::callback_A_in(void) { return -1; } int Keyboard6::callback_B_in(void) { byte_t val = 0x00; switch (_key) { case 'g': case 'G': if (_line_val & 0x01) val = 0x10; break; case KC_KEY_ENTER: if (_line_val & 0x04) val = 0x10; break; case 'B': if (_line_val & 0x08) val = 0x10; break; case 'r': case 'R': if (_line_val & 0x10) val = 0x10; break; case 'F': if (_line_val & 0x20) val = 0x10; break; case 's': case 'S': if (_line_val & 0x40) val = 0x10; break; case 'm': case 'M': if (_line_val & 0x80) val = 0x10; break; case '0': if (_line_val & 0x01) val = 0x20; break; case '1': if (_line_val & 0x08) val = 0x20; break; case '2': if (_line_val & 0x02) val = 0x20; break; case '3': if (_line_val & 0x04) val = 0x20; break; case '4': if (_line_val & 0x01) val = 0x80; break; case '5': if (_line_val & 0x08) val = 0x80; break; case '6': if (_line_val & 0x02) val = 0x80; break; case '7': if (_line_val & 0x04) val = 0x80; break; case '8': if (_line_val & 0x10) val = 0x20; break; case '9': if (_line_val & 0x20) val = 0x20; break; case 'a': if (_line_val & 0x80) val = 0x20; break; case 'b': if (_line_val & 0x40) val = 0x20; break; case 'c': if (_line_val & 0x10) val = 0x80; break; case 'd': if (_line_val & 0x20) val = 0x80; break; case 'e': if (_line_val & 0x80) val = 0x80; break; case 'f': if (_line_val & 0x40) val = 0x80; break; } pio->set_B_EXT(0xb0, val); // K1 = 0x10, K2 = 0x20, K3 = 0x80 ! return -1; } void Keyboard6::set_line(byte_t val) { _line_val = val; } KCemu-0.5.1/src/kc/ctc9.cc0000644000175000017500000000414412417262523015311 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/ctc9.h" #include "libdbg/dbg.h" CTC9::CTC9(void) { } CTC9::~CTC9(void) { } byte_t CTC9::in(word_t addr) { DBG(2, form("KCemu/CTC/9/in", "CTC9::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return c_in(0); case 1: return c_in(1); case 2: return c_in(2); case 3: return c_in(3); } return 0; // shouldn't be reached } void CTC9::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/9/out", "CTC9::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTC9::irq_0(void) { trigger(2); return false; } bool CTC9::irq_1(void) { return false; } bool CTC9::irq_2(void) { trigger(3); return false; } bool CTC9::irq_3(void) { return false; } long CTC9::counter_value_0(void) { return 0; } long CTC9::counter_value_1(void) { return 0; } long CTC9::counter_value_2(void) { return 0; } long CTC9::counter_value_3(void) { return 0; } KCemu-0.5.1/src/kc/mod_rom.cc0000644000175000017500000000557212417262523016111 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_rom.h" #include "libdbg/dbg.h" using namespace std; ModuleROM::ModuleROM(ModuleROM &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _val = 0; _size = tmpl._size; _group = NULL; _rom = new byte_t[_size]; if (_rom) { memcpy(_rom, tmpl._rom, _size); set_valid(true); } } ModuleROM::ModuleROM(const char *rom_key, const char *name, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { _size = 0x2000; _rom = new byte_t[_size]; // FIXME: need to get size from type info _group = NULL; set_valid(Memory::load_rom(rom_key, _rom)); } ModuleROM::ModuleROM(const char *filename, const char *name, dword_t size, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { _rom = new byte_t[size]; _size = size; _group = NULL; set_valid(Memory::load_rom(filename, _rom, size, false)); } ModuleROM::ModuleROM(byte_t *rom, const char *name, dword_t size, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { _id = id; _size = size; _rom = new byte_t[size]; _group = NULL; memcpy(_rom, rom, size); set_valid(true); } ModuleROM::~ModuleROM(void) { if (_group) memory->unregister_memory(_group); delete[] _rom; } word_t ModuleROM::get_addr(byte_t val) { return (val & 0xc0) << 8; } dword_t ModuleROM::get_size(byte_t val) { return _size; } byte_t * ModuleROM::get_rom_ptr(byte_t val) { return _rom; } void ModuleROM::m_out(word_t addr, byte_t val) { if (_val == val) return; byte_t *rom = get_rom_ptr(val); if (_group) { memory->unregister_memory(_group); _group = 0; } if ((val & 1) && (rom != NULL)) { _group = memory->register_memory(get_name(), get_addr(val), get_size(val), rom, (addr >> 8), true); } _val = val; } ModuleInterface * ModuleROM::clone(void) { return new ModuleROM(*this); } void ModuleROM::reset(bool power_on) { } KCemu-0.5.1/src/kc/keyb8.cc0000644000175000017500000000376412417262523015500 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/keys.h" #include "kc/keyb8.h" #include "kc/keyb8k.h" #include "cmd/cmd.h" Keyboard8::Keyboard8(void) { init(); z80->register_ic(this); } Keyboard8::~Keyboard8(void) { z80->unregister_ic(this); } void Keyboard8::init(void) { } void Keyboard8::keyPressed(int keysym, int keycode) { _key = __keys[keysym]; } void Keyboard8::keyReleased(int keysym, int keycode) { _key = 0; if (keysym == 0x1b) CMD_EXEC("emu-reset"); if (keysym == 0x108) CMD_EXEC("emu-nmi"); if (keysym == 0x10a) CMD_EXEC("lc80-key-f10"); if (keysym == 0x10b) CMD_EXEC("lc80-key-f11"); if (keysym == 0x10c) CMD_EXEC("lc80-key-f12"); } void Keyboard8::replayString(const char *text) { } void Keyboard8::callback(void *data) { } int Keyboard8::callback_A_in(void) { return -1; } int Keyboard8::callback_B_in(void) { byte_t b; unsigned int c; b = ~pio->in_B_DATA(); b >>= 2; c = 0xf0; if (_key & b) c = (~(_key & 0xf00) >> 4); pio2->set_B_EXT(0xf0, c); return c; } void Keyboard8::reset(bool power_on) { init(); } void Keyboard8::reti(void) { } KCemu-0.5.1/src/kc/keyb1.cc0000644000175000017500000001502412417262523015461 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/keys.h" #include "kc/keyb1.h" #include "kc/keyb1k.h" #include "libdbg/dbg.h" Keyboard1::Keyboard1(void) { init(); z80->register_ic(this); } Keyboard1::~Keyboard1(void) { z80->unregister_ic(this); } void Keyboard1::init(void) { int a; _shift = false; _control = false; _in_callback = false; for (a = 0;a < MAX_KEYS;a++) { _keybuf[a].sym = -1; _keybuf[a].code = -1; } } int Keyboard1::decode_key(int keysym, bool press) { return keysym; } void Keyboard1::keyPressed(int keysym, int keycode) { /* * ignore repeated key press events (e.g. generated by * GTK that reports key repeat as keypress/keypress/keypress/... * without the possibility to switch that off :-( ) */ for (int a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code == keycode) return; int k = decode_key(keysym, true); if (k == -1) return; switch (keysym) { case KC_KEY_SHIFT: _shift = __keys[k]; k = 0; break; case KC_KEY_CONTROL: _control = __keys[k]; k = 0; break; default: k = __keys[k]; break; } byte_t c1 = 0; byte_t r1 = 0; byte_t c2 = 0; byte_t r2 = 0; for (int a = 0;a < MAX_KEYS;a++) { if (_keybuf[a].code != -1) { /* * row/column values of already pressed keys */ r1 |= 1 << (((__keys[_keybuf[a].sym] >> 4) & 0x0f) - 1); c1 |= 1 << (((__keys[_keybuf[a].sym] ) & 0x0f) - 1); } if (k != 0) if (_keybuf[a].code == -1) { _keybuf[a].sym = k; _keybuf[a].code = keycode; /* * row/column values of new pressed keys */ r2 |= 1 << (((k >> 4) & 0x0f) - 1); c2 |= 1 << (((k ) & 0x0f) - 1); /* * check for 2nd key (this generates duplicate entries for shift, * ctrl, ... -- but with the keycode of the key itself) */ k >>= 8; } } DBG(2, form("KCemu/keyboard/1/key_press", "##### Keyboard: keyPressed [%03x/%02x] {%c%c} " "r/c: [%02x/%02x]=>[%02x/%02x] -", keysym, keycode, _shift > 0 ? 'S' : 's', _control > 0 ? 'C' : 'c', r1, c1, r1 | r2, c1 | c2)); for (int a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code != -1) DBG(2, form("KCemu/keyboard/1/key_press", " {%02d:%02x}", a, _keybuf[a].code)); DBG(2, form("KCemu/keyboard/1/key_press", "\n")); callback_B_in(); } void Keyboard1::keyReleased(int keysym, int keycode) { int a; if (keysym == -1) { for (a = 0;a < MAX_KEYS;a++) _keybuf[a].code = -1; return; } if (keysym == KC_KEY_SHIFT) _shift = 0; if (keysym == KC_KEY_CONTROL) _control = 0; /* * remove (maybe multiple) entries from keyboard buffer */ for (a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code == keycode) _keybuf[a].code = -1; DBG(2, form("KCemu/keyboard/1/key_release", "##### Keyboard: keyReleased [%03x/%02x] {%c%c} " " -", keysym, keycode, _shift > 0 ? 'S' : 's', _control > 0 ? 'C' : 'c')); for (a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code != -1) DBG(2, form("KCemu/keyboard/1/key_release", " {%02d:%02x}", a, _keybuf[a].code)); DBG(2, form("KCemu/keyboard/1/key_release", "\n")); callback_B_in(); } void Keyboard1::replayString(const char *text) { } void Keyboard1::callback(void *data) { } int Keyboard1::callback_A_in(void) { if (_in_callback) return -1; _in_callback = true; byte_t b = ~pio2->in_B_DATA(); byte_t c = 0; int count = 0; for (int a = 0;a < MAX_KEYS;a++) { if (_keybuf[a].code == -1) continue; if (b & (1 << (((_keybuf[a].sym >> 4) & 0x0f) - 1))) { c |= 1 << (((_keybuf[a].sym) & 0x0f) - 1); count++; } } /* * The shift key itself is only asserted when no other key is pressed. * Otherwise this breaks the key handling for keys that are shifted * in the pc layout but not shifted in the kc layout (like the ':' key * that must not have the shift key pressed on the kc). */ if ((count == 0) && (_shift > 0)) if (b & (1 << (((_shift >> 4) & 0x0f) - 1))) c |= 1 << ((_shift & 0x0f) - 1); if (_control > 0) if (b & (1 << (((_control >> 4) & 0x0f) - 1))) c |= 1 << (((_control) & 0x0f) - 1); c = ~c; #if 0 cout.form("##### Keyboard: Port A: new ext val: %02x [x = %d] -", c, x); for (a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code != -1) cout.form(" {%04x}", _keybuf[a].sym); cout.form("\n"); #endif pio2->set_A_EXT(0xff, c); _in_callback = false; return -1; } int Keyboard1::callback_B_in(void) { if (_in_callback) return -1; _in_callback = true; byte_t b = ~pio2->in_A_DATA(); byte_t c = 0; int count = 0; for (int a = 0;a < MAX_KEYS;a++) { if (_keybuf[a].code == -1) continue; if (b & (1 << (((_keybuf[a].sym) & 0x0f) - 1))) { c |= 1 << (((_keybuf[a].sym >> 4) & 0x0f) - 1); count++; } } if ((count == 0) && (_shift > 0)) if (b & (1 << ((_shift & 0x0f) - 1))) c |= 1 << (((_shift >> 4) & 0x0f) - 1); if (_control > 0) if (b & (1 << ((_control & 0x0f) - 1))) c |= 1 << (((_control >> 4) & 0x0f) - 1); c = ~c; #if 0 cout.form("##### Keyboard: Port B: new ext val: %02x [x = %d] -", c, x); for (a = 0;a < MAX_KEYS;a++) if (_keybuf[a].code != -1) cout.form(" {%04x}", _keybuf[a].sym); cout.form("\n"); #endif pio2->set_B_EXT(0xff, c); _in_callback = false; return -1; } void Keyboard1::reset(bool power_on) { init(); } void Keyboard1::reti(void) { } KCemu-0.5.1/src/kc/timer3.cc0000644000175000017500000000236112417262523015651 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/ctc.h" #include "kc/timer3.h" Timer3::Timer3(void) : Timer("Timer3") { } Timer3::~Timer3(void) { } void Timer3::start(void) { z80->addCallback(0, this, 0); } void Timer3::callback(void * /* data */) { ctc->trigger(3); ctc->trigger(2); z80->addCallback(35000, this, 0); /* 50 Hz */ } KCemu-0.5.1/src/kc/fdc0s.cc0000644000175000017500000000464312417262523015452 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/z80.h" #include "kc/fdc0s.h" #include "libdbg/dbg.h" FDC0S::FDC0S(void) { } FDC0S::~FDC0S(void) { } long long FDC0S::get_counter() { return z80->getCounter(); } void FDC0S::add_callback(unsigned long long offset, Callback *cb, void *data) { z80->addCallback(offset, cb, data); } byte_t FDC0S::in(word_t addr) { byte_t val; switch (addr & 0xff) { case 0xf0: // CFDC -- fdc control val = get_msr(); break; case 0xf1: // DFDC -- fdc data val = in_data(addr); break; case 0xf2: // MOAUS -- drive motor off val = 0xff; break; case 0xf4: // MOAUS -- drive motor on (device 1) val = 0xff; break; case 0xf6: // MOTON -- drive motor on (device 0) val = 0xff; break; case 0xf8: // TC -- terminal count val = 0xff; break; case 0xfa: // FDCRES -- fdc reset val = 0xff; break; default: DBG(2, form("KCemu/FDC/in_unhandled", "FDC::in(): addr = %04x\n", addr)); val = 0xff; break; } return val; } void FDC0S::out(word_t addr, byte_t val) { switch (addr & 0xff) { case 0xf1: out_data(addr, val); break; case 0xf8: // TC -- terminal count set_terminal_count(1); set_state(FDC_STATE_RESULT); set_input_gate(0x40, 0x00); break; default: DBG(2, form("KCemu/FDC/out_unhandled", "FDC::out(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; } } KCemu-0.5.1/src/kc/fdc_cmd.cc0000644000175000017500000007212612417262523016033 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/z80.h" // DEBUG #include "kc/fdc.h" #include "kc/fdc_cmd.h" #include "kc/floppy.h" #include "libdbg/dbg.h" static struct sector_def { int MFM, N, size, SC, GPL1, GPL2; } sector_def[] = { { 0, 0, 128, 0x1a, 0x07, 0x1b }, /* IBM Diskette 1 */ { 0, 1, 256, 0x0f, 0x0e, 0x2a }, /* IBM Diskette 2 */ { 0, 2, 512, 0x08, 0x1b, 0x3a }, { 0, 3, 1024, 0x04, 0x00, 0x00 }, { 0, 4, 2048, 0x02, 0x00, 0x00 }, { 0, 5, 4096, 0x01, 0x00, 0x00 }, { 1, 1, 256, 0x1a, 0x0e, 0x36 }, /* IBM Diskette 2D */ { 1, 2, 512, 0x0f, 0x1b, 0x54 }, /* IBM Diskette 2D */ { 1, 3, 1024, 0x08, 0x36, 0x74 }, { 1, 4, 2048, 0x04, 0x00, 0x00 }, { 1, 5, 4096, 0x02, 0x00, 0x00 }, { 1, 6, 8192, 0x01, 0x00, 0x00 }, { -1, -1, -1, -1, -1, -1 }, }; static int N_to_sector_size(int MFM, int N) { int a; a = 0; while (sector_def[a].N != -1) { if ((sector_def[a].MFM == MFM) && (sector_def[a].N == N)) return sector_def[a].size; a++; } return -1; } FDC_CMD::FDC_CMD(FDC *fdc, int args, int results, const char *name) { _fdc = fdc; _args = args; _results = results; _name = strdup(name); _sect = new SectorDesc(0, 0); } FDC_CMD::~FDC_CMD(void) { free(_name); delete _sect; } const char * FDC_CMD::get_name(void) { return _name; } FDC * FDC_CMD::get_fdc(void) { return _fdc; } void FDC_CMD::execute_cmd(void) { DBG(2, form("KCemu/FDC_CMD/command/execute", "FDC: --> execute '%s'\n", get_name())); _fdc->set_state(FDC::FDC_STATE_EXECUTE); _data_transfer = false; execute(); if (_data_transfer) _fdc->set_state(FDC::FDC_STATE_DATA); else finish_cmd(); } void FDC_CMD::finish_cmd(void) { if (_results > 0) _fdc->set_state(FDC::FDC_STATE_RESULT); else _fdc->set_state(FDC::FDC_STATE_IDLE); } void FDC_CMD::start(byte_t val) { _w_idx = 0; _r_idx = 0; _arg[_w_idx++] = val; _fdc->set_state(FDC::FDC_STATE_COMMAND); DBG(2, form("KCemu/FDC_CMD/command/start", "FDC: --> start '%s' [%02x] %d/%d\n", get_name(), val, _w_idx, _args)); if (_args == 1) execute_cmd(); } bool FDC_CMD::write_arg(byte_t val) { _arg[_w_idx++] = val; DBG(2, form("KCemu/FDC_CMD/command/arg", "FDC: --> arg '%s' [%02x] %d/%d\n", get_name(), val, _w_idx, _args)); if (_w_idx == _args) execute_cmd(); return true; } byte_t FDC_CMD::read_result(void) { byte_t val = 0; val = _result[_r_idx++]; DBG(2, form("KCemu/FDC_CMD/command/result", "FDC: <-- result '%s' - [%02x] %d/%d\n", get_name(), val, _r_idx, _results)); if (_r_idx >= _results) _fdc->set_state(FDC::FDC_STATE_IDLE); return val; } byte_t FDC_CMD::read_byte(void) { DBG(1, form("KCemu/warning", "FDC_CMD::read_byte() called! [current cmd is '%s']\n", get_name())); return 0xff; } void FDC_CMD::write_byte(byte_t val) { DBG(1, form("KCemu/warning", "FDC_CMD::write_byte() called! [%s] (value = 0x%02x)\n", get_name(), val)); } int FDC_CMD::get_read_idx(void) { return _r_idx; } int FDC_CMD::get_write_idx(void) { return _w_idx; } /* * INVALID */ FDC_CMD_INVALID::FDC_CMD_INVALID(FDC *fdc) : FDC_CMD(fdc, 1, 1, "INVALID") { } FDC_CMD_INVALID::~FDC_CMD_INVALID(void) { } void FDC_CMD_INVALID::execute(void) { DBG(2, form("KCemu/FDC_CMD/INVALID", "FDC: INVALID: ------------------------------------\n" "FDC: INVALID: code = %02x\n" "FDC: INVALID: ------------------------------------\n", _arg[0])); get_fdc()->set_ST0(FDC::ST_0_ALL_MASK, FDC::ST_0_IC_INVALID_COMMAND); _result[0] = get_fdc()->get_ST0(); } /******************************************************************** * 0x02 - FDC_CMD_READ_TRACK */ FDC_CMD_READ_TRACK::FDC_CMD_READ_TRACK(FDC *fdc) : FDC_CMD(fdc, 9, 7, "READ TRACK") { } FDC_CMD_READ_TRACK::~FDC_CMD_READ_TRACK(void) { } void FDC_CMD_READ_TRACK::execute(void) { DBG(2, form("KCemu/FDC_CMD/READ_TRACK", "FDC: READ TRACK: ---------------------------------\n" "FDC: READ TRACK: ---------------------------------\n")); } /******************************************************************** * 0x03 - FDC_CMD_SPECIFY */ FDC_CMD_SPECIFY::FDC_CMD_SPECIFY(FDC *fdc) : FDC_CMD(fdc, 3, 0, "SPECIFY") { } FDC_CMD_SPECIFY::~FDC_CMD_SPECIFY(void) { } void FDC_CMD_SPECIFY::execute(void) { DBG(2, form("KCemu/FDC_CMD/SPECIFY", "FDC: SPECIFY: ------------------------------------\n" "FDC: SPECIFY: Step Rate Time = %d ms\n" "FDC: SPECIFY: Head Unload Time = %d ms\n" "FDC: SPECIFY: Head Load Time = %d ms\n" "FDC: SPECIFY: NON-DMA Mode = %s\n" "FDC: SPECIFY: ------------------------------------\n", 16 - ((_arg[1] >> 4) & 0x0f), (_arg[1] & 0x0f) * 16 + 16, (_arg[2] & 0xfe) + 2, (_arg[2] & 0x01) ? "yes" : "no (= DMA Mode)")); } /******************************************************************** * 0x04 - FDC_CMD_SENSE_DRIVE_STATUS */ FDC_CMD_SENSE_DRIVE_STATUS::FDC_CMD_SENSE_DRIVE_STATUS(FDC *fdc) : FDC_CMD(fdc, 2, 1, "SENSE DRIVE STATUS") { } FDC_CMD_SENSE_DRIVE_STATUS::~FDC_CMD_SENSE_DRIVE_STATUS(void) { } void FDC_CMD_SENSE_DRIVE_STATUS::execute(void) { DBG(2, form("KCemu/FDC_CMD/SENSE_DRIVE_STATUS", "FDC: SENSE DRIVE STATUS: -------------------------\n" "FDC: SENSE DRIVE STATUS: Head Select = %d\n" "FDC: SENSE DRIVE STATUS: Drive Select = %d\n" "FDC: SENSE DRIVE STATUS: -------------------------\n", (_arg[1] >> 2) & 1, _arg[1] & 3)); get_fdc()->select_floppy(_arg[1] & 3); _result[0] = get_fdc()->get_ST3(); } /******************************************************************** * 0x05 - FDC_CMD_WRITE_DATA */ FDC_CMD_WRITE_DATA::FDC_CMD_WRITE_DATA(FDC *fdc) : FDC_CMD(fdc, 9, 7, "WRITE DATA") { _buf = 0; } FDC_CMD_WRITE_DATA::~FDC_CMD_WRITE_DATA(void) { if (_buf != 0) delete _buf; } void FDC_CMD_WRITE_DATA::execute(void) { DBG(2, form("KCemu/FDC_CMD/WRITE_DATA", "FDC: WRITE DATA: ----------------------------------\n" "FDC: WRITE DATA: Multi-Track = %s\n" "FDC: WRITE DATA: FM or MFM Mode = %s\n" "FDC: WRITE DATA: Skip = %s\n" "FDC: WRITE DATA: Head Select = %d\n" "FDC: WRITE DATA: Drive Select = %d\n" "FDC: WRITE DATA: Cylinder = %d\n" "FDC: WRITE DATA: Head = %d\n" "FDC: WRITE DATA: Sector = %d\n" "FDC: WRITE DATA: Number of Data Bytes = %d\n" "FDC: WRITE DATA: End of Track = %d\n" "FDC: WRITE DATA: Gap Length = %d\n" "FDC: WRITE DATA: Date Length = %d\n" "FDC: WRITE DATA: ----------------------------------\n", ((_arg[0] >> 8) & 1) ? "yes" : "no", ((_arg[0] >> 7) & 1) ? "MFM Mode" : "FM Mode", ((_arg[0] >> 6) & 1) ? "yes" : "no", (_arg[1] >> 2) & 1, _arg[1] & 3, _arg[2], _arg[3], _arg[4], _arg[5], _arg[6], _arg[7], _arg[8])); get_fdc()->select_floppy(_arg[1] & 3); get_fdc()->set_input_gate(0x40, 0x40); _head = _arg[3]; _cylinder = _arg[2]; _sector = _arg[4]; if (_buf != 0) delete _buf; _sector_size = N_to_sector_size((_arg[0] >> 7) & 1, _arg[5]); _buf = new byte_t[_sector_size]; _idx = 0; _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); _result[2] = get_fdc()->get_ST2(); _result[3] = _arg[2]; _result[4] = _arg[3]; _result[5] = _arg[4]; _result[6] = _arg[5]; get_fdc()->set_msr(FDC::ST_MAIN_READ_WRITE | FDC::ST_MAIN_RQM | FDC::ST_MAIN_DIO, FDC::ST_MAIN_READ_WRITE | FDC::ST_MAIN_RQM); _data_transfer = true; } void FDC_CMD_WRITE_DATA::write_byte(byte_t val) { DBG(2, form("KCemu/FDC_CMD/write_byte", "FDC_CMD_WRITE_DATA::write_byte(): c/h/s %d/%d/%d [%4d]: 0x%02x (%3d, '%c')\n", get_fdc()->get_cylinder(), get_fdc()->get_head(), get_fdc()->get_sector(), _idx, val, val, isprint(val) ? val : '.')); _buf[_idx++] = val; if (_idx == _sector_size) { Floppy *f = get_fdc()->get_floppy(); if (f != 0) { get_fdc()->seek_internal(_head, _cylinder, _sector); f->write_sector(_buf, _sector_size); } if (_sector == _arg[6]) { DBG(2, form("KCemu/FDC_CMD/WRITE_DATA", "FDC: WRITE DATA: Writing sector %2d hit end of track (EOT = %d)\n", _sector, _arg[6])); get_fdc()->set_ST0(FDC::ST_0_IC_MASK, FDC::ST_0_IC_ABNORMAL_TERMINATION); _data_transfer = false; finish_cmd(); } } } /******************************************************************** * 0x06 - READ DATA */ FDC_CMD_READ_DATA::FDC_CMD_READ_DATA(FDC *fdc) : FDC_CMD(fdc, 9, 7, "READ DATA") { _buf = 0; _idx = 0; _size = 0; } FDC_CMD_READ_DATA::~FDC_CMD_READ_DATA(void) { if (_buf != 0) delete _buf; } void FDC_CMD_READ_DATA::execute(void) { Floppy *f; int size, len; DBG(2, form("KCemu/FDC_CMD/READ_DATA", "FDC: READ DATA: ----------------------------------\n" "FDC: READ DATA: Multi-Track = %s\n" "FDC: READ DATA: FM or MFM Mode = %s\n" "FDC: READ DATA: Skip = %s\n" "FDC: READ DATA: Head Select = %d\n" "FDC: READ DATA: Drive Select = %d\n" "FDC: READ DATA: Cylinder = %d\n" "FDC: READ DATA: Head = %d\n" "FDC: READ DATA: Sector = %d\n" "FDC: READ DATA: Number of Data Bytes = %d\n" "FDC: READ DATA: End of Track = %d\n" "FDC: READ DATA: Gap Length = %d\n" "FDC: READ DATA: Date Length = %d\n" "FDC: READ DATA: ----------------------------------\n", ((_arg[0] >> 8) & 1) ? "yes" : "no", ((_arg[0] >> 7) & 1) ? "MFM Mode" : "FM Mode", ((_arg[0] >> 6) & 1) ? "yes" : "no", (_arg[1] >> 2) & 1, _arg[1] & 3, _arg[2], _arg[3], _arg[4], _arg[5], _arg[6], _arg[7], _arg[8])); get_fdc()->select_floppy(_arg[1] & 3); get_fdc()->set_input_gate(0x40, 0x40); get_fdc()->seek_internal(_arg[3], _arg[2], _arg[4]); f = get_fdc()->get_floppy(); if (f == 0) return; _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); _result[2] = get_fdc()->get_ST2(); _result[3] = _arg[2]; _result[4] = _arg[3]; _result[5] = _arg[4]; _result[6] = _arg[5]; size = f->get_sector_size(); if (size <= 0) { get_fdc()->set_ST0(FDC::ST_0_IC_MASK, FDC::ST_0_IC_ABNORMAL_TERMINATION); get_fdc()->set_ST1(FDC::ST_1_NO_DATE | FDC::ST_1_MISSING_ADDRESS_MARK, FDC::ST_1_NO_DATE | FDC::ST_1_MISSING_ADDRESS_MARK); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); return; } DBG(2, form("KCemu/FDC_CMD/READ_DATA_FORMAT", "FDC: READ DATA: heads: %d\n" "FDC: READ DATA: cylinders: %d\n" "FDC: READ DATA: sector size: %d\n" "FDC: READ DATA: sect per cyl: %d\n", f->get_head_count(), f->get_cylinder_count(), size, f->get_sectors_per_cylinder())); if (_buf != 0) delete[] _buf; _buf = new byte_t[size]; len = f->read_sector(_buf, size); if (len != size) { get_fdc()->set_ST0(FDC::ST_0_IC_MASK, FDC::ST_0_IC_ABNORMAL_TERMINATION); get_fdc()->set_ST1(FDC::ST_1_NO_DATE | FDC::ST_1_MISSING_ADDRESS_MARK, FDC::ST_1_NO_DATE | FDC::ST_1_MISSING_ADDRESS_MARK); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); return; } _idx = 0; _size = size; DBG(2, form("KCemu/FDC_CMD/READ_DATA_DUMP", "FDC: READ DATA: %02x %02x %02x %02x %02x %02x %02x %02x\n" "FDC: READ DATA: %02x %02x %02x %02x %02x %02x %02x %02x\n" "FDC: READ DATA: %02x %02x %02x %02x %02x %02x %02x %02x\n" "FDC: READ DATA: %02x %02x %02x %02x %02x %02x %02x %02x\n" "FDC: READ DATA: %02x %02x %02x %02x %02x %02x %02x %02x\n" "FDC: READ DATA: %02x %02x %02x %02x %02x %02x %02x %02x\n" "FDC: READ DATA: %02x %02x %02x %02x %02x %02x %02x %02x\n" "FDC: READ DATA: %02x %02x %02x %02x %02x %02x %02x %02x\n", _buf[0x00], _buf[0x01], _buf[0x02], _buf[0x03], _buf[0x04], _buf[0x05], _buf[0x06], _buf[0x07], _buf[0x08], _buf[0x09], _buf[0x0a], _buf[0x0b], _buf[0x0c], _buf[0x0d], _buf[0x0e], _buf[0x0f], _buf[0x10], _buf[0x11], _buf[0x12], _buf[0x13], _buf[0x14], _buf[0x15], _buf[0x16], _buf[0x17], _buf[0x18], _buf[0x19], _buf[0x1a], _buf[0x1b], _buf[0x1c], _buf[0x1d], _buf[0x1e], _buf[0x1f], _buf[0x20], _buf[0x21], _buf[0x22], _buf[0x23], _buf[0x24], _buf[0x25], _buf[0x26], _buf[0x27], _buf[0x28], _buf[0x29], _buf[0x2a], _buf[0x2b], _buf[0x2c], _buf[0x2d], _buf[0x2e], _buf[0x2f], _buf[0x30], _buf[0x31], _buf[0x32], _buf[0x33], _buf[0x34], _buf[0x35], _buf[0x36], _buf[0x37], _buf[0x38], _buf[0x39], _buf[0x3a], _buf[0x3b], _buf[0x3c], _buf[0x3d], _buf[0x3e], _buf[0x3f])); get_fdc()->set_msr(FDC::ST_MAIN_READ_WRITE | FDC::ST_MAIN_RQM | FDC::ST_MAIN_DIO, FDC::ST_MAIN_READ_WRITE | FDC::ST_MAIN_RQM | FDC::ST_MAIN_DIO); get_fdc()->set_ST0(FDC::ST_0_IC_MASK | FDC::ST_0_SEEK_END, FDC::ST_0_IC_NORMAL_TERMINATION); _data_transfer = true; } bool FDC_CMD_READ_DATA::fetch_next_sector(void) { Floppy *f; int sector, size, cnt, len; f = get_fdc()->get_floppy(); if (f == 0) return false; size = f->get_sector_size(); if (size == 0) return false; cnt = f->get_sectors_per_cylinder(); sector = get_fdc()->get_sector(); if (sector < 0) return false; if (sector >= cnt) return false; DBG(2, form("KCemu/FDC_CMD/READ_DATA", "FDC: READ DATA: Reading sector %2d\n", sector)); get_fdc()->seek_internal(get_fdc()->get_head(), get_fdc()->get_cylinder(), sector + 1); len = f->read_sector(_buf, size); if (len != size) return false; _idx = 0; _size = size; _result[3] = get_fdc()->get_head(); _result[4] = get_fdc()->get_cylinder(); _result[5] = sector + 1; return true; } byte_t FDC_CMD_READ_DATA::read_byte(void) { byte_t b = 0xff; if (_idx == _size) { if (!fetch_next_sector()) { _data_transfer = false; finish_cmd(); } } if (_idx < _size) b = _buf[_idx++]; DBG(2, form("KCemu/FDC_CMD/read_byte", "FDC_CMD_READ_DATA::read_byte(): c/h/s %d/%d/%d [%4d]: 0x%02x (%3d, '%c')\n", get_fdc()->get_cylinder(), get_fdc()->get_head(), get_fdc()->get_sector(), _idx - 1, b, b, isprint(b) ? b : '.')); int sector = get_fdc()->get_sector(); if ((_idx == _size) && (sector == _arg[6])) { DBG(2, form("KCemu/FDC_CMD/READ_DATA", "FDC: READ DATA: Reading sector %2d hit end of track (EOT = %d)\n", sector, _arg[6])); get_fdc()->set_ST0(FDC::ST_0_IC_MASK, FDC::ST_0_IC_ABNORMAL_TERMINATION); _data_transfer = false; finish_cmd(); } return b; } /******************************************************************** * 0x07 - FDC_CMD_RECALIBRATE */ FDC_CMD_RECALIBRATE::FDC_CMD_RECALIBRATE(FDC *fdc) : FDC_CMD(fdc, 2, 0, "RECALIBRATE") { } FDC_CMD_RECALIBRATE::~FDC_CMD_RECALIBRATE(void) { } void FDC_CMD_RECALIBRATE::execute(void) { DBG(2, form("KCemu/FDC_CMD/RECALIBRATE", "FDC: RECALIBRATE: --------------------------------\n" "FDC: RECALIBRATE: Drive Select = %d\n" "FDC: RECALIBRATE: --------------------------------\n", _arg[1] & 3)); get_fdc()->select_floppy(_arg[1] & 3); // Head retracted to Track 0, always sets SEEK END, if not track 0 // signal is received from the floppy the EC bit is set get_fdc()->seek(get_fdc()->get_head(), 0, get_fdc()->get_sector()); } /******************************************************************** * 0x08 - FDC_CMD_SENSE_INTERRUPT_STATUS */ FDC_CMD_SENSE_INTERRUPT_STATUS::FDC_CMD_SENSE_INTERRUPT_STATUS(FDC *fdc) : FDC_CMD(fdc, 1, 2, "SENSE INTERRUPT STATUS") { } FDC_CMD_SENSE_INTERRUPT_STATUS::~FDC_CMD_SENSE_INTERRUPT_STATUS(void) { } void FDC_CMD_SENSE_INTERRUPT_STATUS::execute(void) { DBG(2, form("KCemu/FDC_CMD/SENSE_INTERRUPT_STATUS", "FDC: SENSE INTERRUPT STATUS: --------------------------------\n" "FDC: SENSE INTERRUPT STATUS: --------------------------------\n" )); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_cylinder(); // PCN (current cylinder) } /******************************************************************** * 0x09 - FDC_CMD_WRITE_DELETED_DATA */ FDC_CMD_WRITE_DELETED_DATA::FDC_CMD_WRITE_DELETED_DATA(FDC *fdc) : FDC_CMD(fdc, 9, 7, "WRITE DELETED DATA") { } FDC_CMD_WRITE_DELETED_DATA::~FDC_CMD_WRITE_DELETED_DATA(void) { } void FDC_CMD_WRITE_DELETED_DATA::execute(void) { DBG(2, form("KCemu/FDC_CMD/WRITE_DELETED_DATA", "FDC: WRITE DELETED DATA: -------------------------\n" "FDC: WRITE DELETED DATA: -------------------------\n")); } /******************************************************************** * 0x0a - FDC_CMD_READ_ID */ FDC_CMD_READ_ID::FDC_CMD_READ_ID(FDC *fdc) : FDC_CMD(fdc, 2, 7, "READ ID") { } FDC_CMD_READ_ID::~FDC_CMD_READ_ID(void) { } void FDC_CMD_READ_ID::execute(void) { DBG(2, form("KCemu/FDC_CMD/READ_ID", "FDC: READ ID: ------------------------------------\n" "FDC: READ ID: FM or MFM Mode = %s\n" "FDC: READ ID: Head Select = %d\n" "FDC: READ ID: Drive Select = %d\n" "FDC: READ ID: ------------------------------------\n", ((_arg[0] >> 7) & 1) ? "MFM Mode" : "FM Mode", (_arg[1] >> 2) & 1, _arg[1] & 3)); get_fdc()->select_floppy(_arg[1] & 3); get_fdc()->set_input_gate(0x40, 0x40); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); _result[2] = get_fdc()->get_ST2(); _result[3] = get_fdc()->get_cylinder(); _result[4] = get_fdc()->get_head(); _result[5] = get_fdc()->get_sector(); _result[6] = 0x03; /* FIXME: N */ } /******************************************************************** * 0x0c - FDC_CMD_READ_DELETED_DATA */ FDC_CMD_READ_DELETED_DATA::FDC_CMD_READ_DELETED_DATA(FDC *fdc) : FDC_CMD(fdc, 9, 7, "READ DELETED DATA") { } FDC_CMD_READ_DELETED_DATA::~FDC_CMD_READ_DELETED_DATA(void) { } void FDC_CMD_READ_DELETED_DATA::execute(void) { DBG(2, form("KCemu/FDC_CMD/READ_DELETED_DATA", "FDC: READ DELETED DATA: --------------------------\n" "FDC: READ DELETED DATA: --------------------------\n")); } /******************************************************************** * 0x0d - FDC_CMD_FORMAT_A_TRACK */ FDC_CMD_FORMAT_A_TRACK::FDC_CMD_FORMAT_A_TRACK(FDC *fdc) : FDC_CMD(fdc, 6, 7, "FORMAT A TRACK") { _buf = NULL; } FDC_CMD_FORMAT_A_TRACK::~FDC_CMD_FORMAT_A_TRACK(void) { if (_buf != NULL) delete _buf; } void FDC_CMD_FORMAT_A_TRACK::execute(void) { DBG(2, form("KCemu/FDC_CMD/FORMAT_A_TRACK", "FDC: FORMAT A TRACK: --------------------------------\n" "FDC: FORMAT A TRACK: FM or MFM Mode = %s\n" "FDC: FORMAT A TRACK: Head Select = %d\n" "FDC: FORMAT A TRACK: Drive Select = %d\n" "FDC: FORMAT A TRACK: Bytes/Sector = %d\n" "FDC: FORMAT A TRACK: Sector/Cylinder = %d\n" "FDC: FORMAT A TRACK: Gap 3 Length = %d\n" "FDC: FORMAT A TRACK: Filler byte = %02xh (%d)\n" "FDC: FORMAT A TRACK: --------------------------------\n", ((_arg[0] >> 7) & 1) ? "MFM Mode" : "FM Mode", (_arg[1] >> 2) & 1, _arg[1] & 3, _arg[2], _arg[3], _arg[4], _arg[5], _arg[5])); get_fdc()->select_floppy(_arg[1] & 3); get_fdc()->set_input_gate(0x40, 0x40); _ridx = 0; _widx = 0; _cur_sector = 1; _formatted_sectors = 0; _sectors_per_track = _arg[3]; if (_buf != NULL) delete _buf; _sector_size = N_to_sector_size((_arg[0] >> 7) & 1, _arg[2]); _buf = new byte_t[_sector_size]; memset(_buf, _arg[5], _sector_size); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); _result[2] = get_fdc()->get_ST2(); _result[3] = get_fdc()->get_cylinder(); _result[4] = get_fdc()->get_head(); _result[5] = get_fdc()->get_sector(); _result[6] = _arg[2]; // N _data_transfer = true; } void FDC_CMD_FORMAT_A_TRACK::format(void) { Floppy *f; DBG(2, form("KCemu/FDC_CMD/format", "FDC: FORMAT A TRACK: -sector data--------------------\n" "FDC: FORMAT A TRACK: Sector %d of %d\n" "FDC: FORMAT A TRACK: Head = %d\n" "FDC: FORMAT A TRACK: Cylinder = %d\n" "FDC: FORMAT A TRACK: Sector = %d\n" "FDC: FORMAT A TRACK: Number of Data Bytes = %d\n" "FDC: FORMAT A TRACK: -sector data--------------------\n", _cur_sector, _sectors_per_track, _head, _cylinder, _sector, _bytes_per_sector)); _ridx = 0; _widx = 0; f = get_fdc()->get_floppy(); if (f != 0) { get_fdc()->seek(_head, _cylinder, _sector); f->write_sector(_buf, _sector_size); } if (_cur_sector == _sectors_per_track) get_fdc()->set_input_gate(0x40, 0x00); _cur_sector++; _formatted_sectors++; } byte_t FDC_CMD_FORMAT_A_TRACK::read_byte(void) { switch (_ridx) { case 0: _ridx++; return _cylinder; case 1: _ridx++; return _head; case 2: _ridx++; return _sector + 1; case 3: _ridx = 0; return _bytes_per_sector; } return 0; } void FDC_CMD_FORMAT_A_TRACK::write_byte(byte_t val) { DBG(2, form("KCemu/FDC_CMD/write_byte", "FDC_CMD_FORMAT_A_TRACK::write_byte(): 0x%02x (%3d, '%c')\n", val, val, isprint(val) ? val : '.')); switch (_widx) { case 0: _cylinder = val; _widx++; break; case 1: _head = val; _widx++; break; case 2: _sector = val; _widx++; break; case 3: _bytes_per_sector = val; _widx = 0; format(); if (_formatted_sectors == _sectors_per_track) { _data_transfer = false; finish_cmd(); } break; } } /******************************************************************** * 0x0f - FDC_CMD_SEEK */ FDC_CMD_SEEK::FDC_CMD_SEEK(FDC *fdc) : FDC_CMD(fdc, 3, 0, "SEEK") { } FDC_CMD_SEEK::~FDC_CMD_SEEK(void) { } void FDC_CMD_SEEK::execute(void) { DBG(2, form("KCemu/FDC_CMD/SEEK", "FDC: SEEK: ---------------------------------------\n" "FDC: SEEK: Head Select = %d\n" "FDC: SEEK: Drive Select = %d\n" "FDC: SEEK: New Cylinder Number = %d\n" "FDC: SEEK: ---------------------------------------\n", (_arg[1] >> 2) & 1, _arg[1] & 3, _arg[2])); get_fdc()->select_floppy(_arg[1] & 3); get_fdc()->seek((_arg[1] >> 2) & 1, _arg[2], 1); } /******************************************************************** * 0x11 - FDC_CMD_SCAN_EQUAL */ FDC_CMD_SCAN_EQUAL::FDC_CMD_SCAN_EQUAL(FDC *fdc) : FDC_CMD(fdc, 9, 7, "SCAN EQUAL") { _buf = 0; } FDC_CMD_SCAN_EQUAL::~FDC_CMD_SCAN_EQUAL(void) { if (_buf != 0) delete _buf; } void FDC_CMD_SCAN_EQUAL::execute(void) { DBG(2, form("KCemu/FDC_CMD/SCAN_EQUAL", "FDC: SCAN EQUAL: ----------------------------------\n" "FDC: SCAN EQUAL: Head Select = %d\n" "FDC: SCAN EQUAL: Drive Select = %d\n" "FDC: SCAN EQUAL: Cylinder = %d\n" "FDC: SCAN EQUAL: Head = %d\n" "FDC: SCAN EQUAL: Sector = %d\n" "FDC: SCAN EQUAL: Number of Data Bytes = %d\n" "FDC: SCAN EQUAL: End of Track = %d\n" "FDC: SCAN EQUAL: Gap Length = %d\n" "FDC: SCAN EQUAL: Date Length = %d\n" "FDC: SCAN EQUAL: ----------------------------------\n", (_arg[1] >> 2) & 1, _arg[1] & 3, _arg[2], _arg[3], _arg[4], _arg[5], _arg[6], _arg[7], _arg[8])); get_fdc()->select_floppy(_arg[1] & 3); get_fdc()->set_input_gate(0x40, 0x40); _head = _arg[3]; _cylinder = _arg[2]; _sector = _arg[4]; get_fdc()->seek_internal(_head, _cylinder, _sector); Floppy *f = get_fdc()->get_floppy(); if (f == NULL) return; _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); _result[2] = get_fdc()->get_ST2(); _result[3] = _arg[2]; _result[4] = _arg[3]; _result[5] = _arg[4]; _result[6] = _arg[5]; get_fdc()->set_ST2(FDC::ST_2_SCAN_MASK, 0); int size = f->get_sector_size(); if (size <= 0) { get_fdc()->set_ST0(FDC::ST_0_IC_MASK, FDC::ST_0_IC_ABNORMAL_TERMINATION); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); return; } if (_buf != 0) delete _buf; _buf = new byte_t[size]; int len = f->read_sector(_buf, size); if (len != size) { get_fdc()->set_ST0(FDC::ST_0_IC_MASK, FDC::ST_0_IC_ABNORMAL_TERMINATION); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); return; } _idx = 0; _sector_size = size; get_fdc()->set_msr(FDC::ST_MAIN_READ_WRITE | FDC::ST_MAIN_RQM | FDC::ST_MAIN_DIO, FDC::ST_MAIN_READ_WRITE | FDC::ST_MAIN_RQM); _data_transfer = true; } void FDC_CMD_SCAN_EQUAL::write_byte(byte_t val) { byte_t b = _buf[_idx]; DBG(2, form("KCemu/FDC_CMD/write_byte", "FDC_CMD_SCAN_EQUAL::write_byte(): c/h/s %d/%d/%d [%4d]: " "0x%02x (%3d, '%c') == 0x%02x (%3d, '%c')\n", get_fdc()->get_cylinder(), get_fdc()->get_head(), get_fdc()->get_sector(), _idx, val, val, isprint(val) ? val : '.', b, b, isprint(b) ? b : '.')); if (b != val) { get_fdc()->set_ST2(FDC::ST_2_SCAN_MASK, FDC::ST_2_SCAN_NOT_SATISFIED); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); _result[2] = get_fdc()->get_ST2(); _data_transfer = false; finish_cmd(); } _idx++; if (_idx == _sector_size) { get_fdc()->set_ST2(FDC::ST_2_SCAN_MASK, FDC::ST_2_SCAN_EQUAL_HIT); _result[0] = get_fdc()->get_ST0(); _result[1] = get_fdc()->get_ST1(); _result[2] = get_fdc()->get_ST2(); _data_transfer = false; finish_cmd(); } } /******************************************************************** * 0x19 - FDC_CMD_SCAN_LOW_OR_EQUAL */ FDC_CMD_SCAN_LOW_OR_EQUAL::FDC_CMD_SCAN_LOW_OR_EQUAL(FDC *fdc) : FDC_CMD(fdc, 9, 7, "SCAN LOW OR EQUAL") { } FDC_CMD_SCAN_LOW_OR_EQUAL::~FDC_CMD_SCAN_LOW_OR_EQUAL(void) { } void FDC_CMD_SCAN_LOW_OR_EQUAL::execute(void) { DBG(2, form("KCemu/FDC_CMD/SCAN_LOW_OR_EQUAL", "FDC: SCAN LOW OR EQUAL: --------------------------\n" "FDC: SCAN LOW OR EQUAL: --------------------------\n")); } /******************************************************************** * 0x1d - FDC_CMD_SCAN_HIGH_OR_EQUAL */ FDC_CMD_SCAN_HIGH_OR_EQUAL::FDC_CMD_SCAN_HIGH_OR_EQUAL(FDC *fdc) : FDC_CMD(fdc, 9, 7, "SCAN HIGH OR EQUAL") { } FDC_CMD_SCAN_HIGH_OR_EQUAL::~FDC_CMD_SCAN_HIGH_OR_EQUAL(void) { } void FDC_CMD_SCAN_HIGH_OR_EQUAL::execute(void) { DBG(2, form("KCemu/FDC_CMD/SCAN_HIGH_OR_EQUAL", "FDC: SCAN HIGH OR EQUAL: -------------------------\n" "FDC: SCAN HIGH OR EQUAL: --------------------------\n")); } KCemu-0.5.1/src/kc/gide.cc0000644000175000017500000004400712417262523015361 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/gide.h" #include "sys/sysdep.h" #include "libdbg/dbg.h" using namespace std; /* * Information taken from IDE-TCJ.txt and GIDE.txt, written * by Tilmann Reh. * * (see http://www.gaby.de/gide/ for the orignal GIDE interface and * http://www.iee.et.tu-dresden.de/~kc-club/gide/gide.html for the * description of the KC Club version) * */ GIDE::GIDE(void) { _cylinder = 0; _sector = 0; _head = 0; _drive = 0; _sector_count = 1; _rtc_register = 0; // the classical Seagate ST-157A _hard_disk_config[0].nr_of_cylinders = 560; _hard_disk_config[0].nr_of_heads = 6; _hard_disk_config[0].nr_of_sectors = 26; _hard_disk_config[0].name = "KCemu virtual hard disk (ST-157A)"; _hard_disk_config[0].filename = Preferences::instance()->get_string_value("hard_disk_1", NULL); // MyZ80 hard disk format _hard_disk_config[1].nr_of_cylinders = 512; _hard_disk_config[1].nr_of_heads = 1; _hard_disk_config[1].nr_of_sectors = 32; _hard_disk_config[1].name = "KCemu virtual hard disk (MyZ80)"; _hard_disk_config[1].filename = Preferences::instance()->get_string_value("hard_disk_2", NULL); DBG(2, form("KCemu/GIDE/image", "GIDE::GIDE(): hard disk 1: (C/H/S) = (%d/%d/%d) -> '%s'\n", _hard_disk_config[0].nr_of_cylinders, _hard_disk_config[0].nr_of_heads, _hard_disk_config[0].nr_of_sectors, _hard_disk_config[0].filename)); DBG(2, form("KCemu/GIDE/image", "GIDE::GIDE(): hard disk 2: (C/H/S) = (%d/%d/%d) -> '%s'\n", _hard_disk_config[1].nr_of_cylinders, _hard_disk_config[1].nr_of_heads, _hard_disk_config[1].nr_of_sectors, _hard_disk_config[1].filename)); _error = 0; set_status(GIDE_STATUS_ALL, GIDE_STATUS_READY | GIDE_STATUS_SEEK_COMPLETE | GIDE_STATUS_DATA_REQUEST); } GIDE::~GIDE(void) { } void GIDE::set_drive_id_word(byte_t *buf, int val) { buf[0] = val & 0xff; buf[1] = (val >> 8) & 0xff; } void GIDE::set_drive_id_string(byte_t *buf, int maxlen, const char *str) { int idx = -1; do { idx++; if (((idx & 1) == 0) && (str[idx] == 0)) break; buf[idx] = str[idx ^ 1]; } while ((idx < maxlen) && (str[idx] != 0)); } void GIDE::set_drive_id(void) { memset(_sector_buffer, 0, 512); set_drive_id_word(&_sector_buffer[0x00], 0x0101); // configuration word set_drive_id_word(&_sector_buffer[0x02], _hard_disk_config[_drive].nr_of_cylinders); set_drive_id_word(&_sector_buffer[0x06], _hard_disk_config[_drive].nr_of_heads); set_drive_id_word(&_sector_buffer[0x0c], _hard_disk_config[_drive].nr_of_sectors); set_drive_id_word(&_sector_buffer[0x09], 0x4000); // nr of unformatted bytes per physical track set_drive_id_word(&_sector_buffer[0x0a], 0x0200); // nr of unformatted bytes per sector set_drive_id_string(&_sector_buffer[0x14], 20, KCEMU_VERSION); set_drive_id_string(&_sector_buffer[0x2e], 8, "KCemu"); set_drive_id_string(&_sector_buffer[0x36], 40, _hard_disk_config[_drive].name); } bool GIDE::seek(FILE *file, int cylinder, int head, int sector) { int offset = 0x0100; // MyZ80 compatible offset int heads = _hard_disk_config[_drive].nr_of_heads; int sectors = _hard_disk_config[_drive].nr_of_sectors; offset += (_sector - 1) * 512; offset += _head * sectors * 512; offset += _cylinder * heads * sectors * 512; return fseek(file, offset, SEEK_SET) == 0; } void GIDE::set_status(byte_t mask, byte_t val) { byte_t status = (_status & ~mask) | val; DBG(2, form("KCemu/GIDE/status", "GIDE::set_status(): mask = %02xh, val = %02xh [%02xh -> %02xh]\n", mask, val, _status, status)); _status = status; } /* * Occupied I/O addresses: * * x4 reserved for IDE expansion board * x5 RTC access * x6 IDE alternate status / digital output register * x7 IDE drive address register * x8 IDE data register * x9 IDE error/feature register * xA IDE sector count register * xB IDE sector number register * xC IDE cylinder low register * xD IDE cylinder high register * xE IDE drive/head register * xF IDE command/status register * * Wherein "x" represents the base address selected by J1. A plugged-on * jumper sets the according address bit to zero, while removing a jumper * sets it to a one. It should be noted that addresses x0 to x3 are not * used at all - there will be no conflicts if any other I/O devices use * these four addresses. * * * The sixteen RTC registers are accessed by 16-bit I/O instructions, * using the following addressing scheme: * * y0x5 seconds, units * y1x5 seconds, tens * y2x5 minutes, units * y3x5 minutes, tens * y4x5 hours, units * y5x5 hours, tens & AM/PM flag * y6x5 day, units * y7x5 day, tens * y8x5 month, units * y9x5 month, tens * yAx5 year, units * yBx5 year, tens * yCx5 day of week * yDx5 control register D (status/control) * yEx5 control register E (pulse output control) * yFx5 control register F (master control) * * Wherein "x" represents the jumper selectable base address, and "y" is * a "don't care". Each RTC register consists of 4 bits only, so the * highermost four data bits are ignored during RTC writes and undefined * during RTC reads. * * * NOTE: on KC85/4 "x" must be 0 * * * IDE-Registers: * * /CS0 /CS1 A2 A1 A0 Addr. Read Function Write Function * ---------------------------------------------------------------------- * 0 1 0 0 0 1F0 Data Register Data Register * 0 1 0 0 1 1F1 Error Register (Write Precomp Reg.) * 0 1 0 1 0 1F2 Sector Count Sector Count * 0 1 0 1 1 1F3 Sector Number Sector Number * 0 1 1 0 0 1F4 Cylinder Low Cylinder Low * 0 1 1 0 1 1F5 Cylinder High Cylinder High * 0 1 1 1 0 1F6 SDH Register SDH Register * 0 1 1 1 1 1F7 Status Register Command Register * 1 0 1 1 0 3F6 Alternate Status Digital Output * 1 0 1 1 1 3F7 Drive Address Not Used * */ byte_t GIDE::in(word_t addr) { byte_t val = 0xff; switch (addr & 0x0f) { case 0x05: val = in_rtc(addr); break; case 0x08: val = in_data(); break; case 0x09: val = in_error(); break; case 0x0a: val = in_sector_count(); break; case 0x0b: val = in_sector_number(); break; case 0x0c: val = in_cylinder_low(); break; case 0x0d: val = in_cylinder_high(); break; case 0x0e: val = in_drive_head(); break; case 0x0f: val = in_status(); break; default: break; } DBG(2, form("KCemu/GIDE/in", "GIDE::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void GIDE::out(word_t addr, byte_t val) { DBG(2, form("KCemu/GIDE/out", "GIDE::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 0x0f) { case 0x05: out_rtc(addr, val); break; case 0x06: out_digital_output(val); break; case 0x08: out_data(val); break; case 0x0a: out_sector_count(val); break; case 0x0b: out_sector_number(val); break; case 0x0c: out_cylinder_low(val); break; case 0x0d: out_cylinder_high(val); break; case 0x0e: out_drive_head(val); break; case 0x0f: out_command(val); break; default: break; } } byte_t GIDE::in_data(void) { static int x = 0; byte_t val = 0; val = _sector_buffer[x & 0x1ff]; DBG(2, form("KCemu/GIDE/in", "GIDE::in(): DATA READ %02xh [%c] (%3d)\n", val, isprint(val) ? val : '.', x)); x++; if (x == 512) { x = 0; set_status(GIDE_STATUS_DATA_REQUEST, 0); } return val; } byte_t GIDE::in_error(void) { return _error; } byte_t GIDE::in_sector_count() { DBG(2, form("KCemu/GIDE/in_sector_count", "GIDE::in(): SECTOR COUNT %02xh (%d)\n", _sector_count, _sector_count)); return _sector_count; } byte_t GIDE::in_sector_number() { DBG(2, form("KCemu/GIDE/in_sector_number", "GIDE::in(): SECTOR NUMBER %02xh (%d)\n", _sector, _sector)); return _sector; } byte_t GIDE::in_cylinder_low() { DBG(2, form("KCemu/GIDE/in_cylinder_low", "GIDE::in(): CYLINDER LOW %02xh (%04xh / %d)\n", _cylinder & 0xff, _cylinder, _cylinder)); return _cylinder & 0xff; } byte_t GIDE::in_cylinder_high() { DBG(2, form("KCemu/GIDE/in_cylinder_high", "GIDE::in(): CYLINDER LOW %02xh (%04xh / %d)\n", (_cylinder >> 8) & 0xff, _cylinder, _cylinder)); return (_cylinder >> 8) & 0xff; } byte_t GIDE::in_drive_head() { byte_t val = (_drive << 4) | _head; DBG(2, form("KCemu/GIDE/in_drive_head", "GIDE::out(): DRIVE/HEAD %02xh\n" "GIDE::out(): Extension Bit: %d\n" "GIDE::out(): Sector Size: %d\n" "GIDE::out(): Drive: %d\n" "GIDE::out(): Head: %d\n", val, (val >> 7) & 1, // fixed, do not append CRC (val >> 6) & 3, // fixed, 512 bytes (val >> 4) & 1, (val ) & 15)); return val; } /* * The read-only status register contains eight single-bit * flags. It is updated at the completion of each command. If * the busy bit is active, no other bits are valid. The index * bit is valid independent of the applied command. The bit * flags are: * * Bit 7: Busy flag. When this flag is set, the task file * registers must not be accessed due to internal * operations. * Bit 6: Drive ready. This bit is set when the drive is up * to speed and ready to accept a command. When * there is an error, this bit is not updated until * the next read of the status register, so it can be * used to determine the cause of the error. * Bit 5: Drive write fault. Similar to "drive ready", this * bit is not updated after an error. * Bit 4: Drive seek complete. This bit is set when the * actuator of the drive's head is on track. This * bit also is updated similarly to "drive ready". * Bit 3: Data request. This bit indicates that the drive * is ready for a data transfer. * Bit 2: Corrected data flag. Set when there was a * correctable data error and the data has been * corrected. * Bit 1: Index. This bit is active once per disk * revolution. May be used to determine rotational * speed. * Bit 0: Error flag. This bit is set whenever an error * occurs. The other bits in the status register and * the bits in the error register will then contain * further information about the cause of the error. * */ byte_t GIDE::in_status(void) { return _status; } void GIDE::out_data(byte_t val) { static int x = 0; FILE *file; _sector_buffer[x & 0x1ff] = val; DBG(2, form("KCemu/GIDE/out_data", "GIDE::out(): DATA WRITE %02xh [%c] (%3d)\n", val, isprint(val) ? val : '.', x)); x++; if (x == 512) { x = 0; set_status(GIDE_STATUS_DATA_REQUEST, 0); file = fopen(_hard_disk_config[_drive].filename, "rb+"); if (file == NULL) file = fopen(_hard_disk_config[_drive].filename, "wb+"); if (file != NULL) { if (seek(file, _cylinder, _head, _sector)) fwrite(_sector_buffer, 1, 512, file); fclose(file); } } } void GIDE::out_digital_output(byte_t val) { DBG(2, form("KCemu/GIDE/out_digital_output", "GIDE::out(): DIGITAL OUTPUT %02xh: reset: %d, interrupt enable: %d\n", val, (val > 2) & 1, (val > 1) & 1)); } void GIDE::out_command(byte_t val) { bool ok; FILE *file; switch (val) { case 0x20: DBG(2, form("KCemu/GIDE/out_command", "GIDE::out(): %02xh: READ SECTORS WITH RETRY\n", val)); set_status(GIDE_STATUS_DATA_REQUEST, GIDE_STATUS_DATA_REQUEST); ok = false; memset(_sector_buffer, 0, 512); file = fopen(_hard_disk_config[_drive].filename, "rb"); if (file != NULL) { if (seek(file, _cylinder, _head, _sector)) if (fread(_sector_buffer, 1, 512, file) == 512) ok = true; fclose(file); } if (!ok) memset(_sector_buffer, 0xe5, 512); break; case 0x30: DBG(2, form("KCemu/GIDE/out_command", "GIDE::out(): %02xh: WRITE SECTORS\n", val)); set_status(GIDE_STATUS_DATA_REQUEST, GIDE_STATUS_DATA_REQUEST); break; case 0x90: DBG(2, form("KCemu/GIDE/out_command", "GIDE::out(): %02xh: EXECUTE DIAGNOSTICS\n", val)); if (_hard_disk_config[1].filename == NULL) _error = 0x81; // no error for first hd, no slave else _error = 0x01; // no error, slave present break; case 0x91: DBG(2, form("KCemu/GIDE/out_command", "GIDE::out(): %02xh: SET DRIVE PARAMETERS\n", val)); break; case 0xe1: DBG(2, form("KCemu/GIDE/out_command", "GIDE::out(): %02xh: SET IDLE MODE\n", val)); break; case 0xec: DBG(2, form("KCemu/GIDE/out_command", "GIDE::out(): %02xh: IDENTIFY DRIVE\n", val)); _error = 0x00; set_status(GIDE_STATUS_DATA_REQUEST, GIDE_STATUS_DATA_REQUEST); set_drive_id(); break; } } void GIDE::out_sector_count(byte_t val) { _sector_count = val; DBG(2, form("KCemu/GIDE/out_sector_count", "GIDE::out(): SECTOR COUNT %02xh (%d)\n", val, val)); } void GIDE::out_sector_number(byte_t val) { _sector = val; DBG(2, form("KCemu/GIDE/out_sector_number", "GIDE::out(): SECTOR NUMBER %02xh (%d)\n", val, val)); } void GIDE::out_cylinder_low(byte_t val) { _cylinder = (_cylinder & 0xff00) | val; DBG(2, form("KCemu/GIDE/out_cylinder_low", "GIDE::out(): CYLINDER LOW %02xh (%04xh / %d)\n", val, _cylinder, _cylinder)); } void GIDE::out_cylinder_high(byte_t val) { _cylinder = (_cylinder & 0x00ff) | (val << 8); DBG(2, form("KCemu/GIDE/out_cylinder_high", "GIDE::out(): CYLINDER HIGH %02xh (%04xh / %d)\n", val, _cylinder, _cylinder)); } /* * The SDH register is a special register serving several * functions. SDH is an abbreviation for "Sector size, Drive * and Head". The bits of this register are arranged as * follows: * * Bit 7: Historical: Extension Bit. When zero, CRC data is * appended to the sector's data fields. When set to * one, no CRC data is appended. Since today's * drives always use ECC error correction, this bit * must always be set (no CRC). * Bit 6-5: Sector Size. Since today's drives always have 512- * byte sectors (unchangeable by the user) because * PCs are not able to support other sizes, these * bits must always be 0-1. * Bit 4: Drive. This bit distinguishes between the two * connected drives when using the master-slave * chain. Single drives are always accessed with the * drive bit set to zero. * Bit 3-0: Head number. These four bits contain the head * number (that is, the disk surface number) for all * following accesses. Similar to the cylinder and * sector number, these bits are updated by the * drive. The head number field is also used for * drive initialization to specify the number of * heads. */ void GIDE::out_drive_head(byte_t val) { DBG(2, form("KCemu/GIDE/out_drive_head", "GIDE::out(): DRIVE/HEAD %02xh\n" "GIDE::out(): Extension Bit: %d\n" "GIDE::out(): Sector Size: %d\n" "GIDE::out(): Drive: %d\n" "GIDE::out(): Head: %d\n", val, (val >> 7) & 1, (val >> 6) & 3, (val >> 4) & 1, (val ) & 15)); _head = val & 15; _drive = (val >> 4) & 1; } byte_t GIDE::in_rtc(word_t addr) { byte_t val = 0xff; int year, month, day, hour, minute, second; sys_localtime(&year, &month, &day, &hour, &minute, &second); switch ((addr >> 8) & 0x0f) { case 0x00: val = second % 10; break; case 0x01: val = second / 10; break; case 0x02: val = minute % 10; break; case 0x03: val = minute / 10; break; case 0x04: val = hour % 10; break; case 0x05: val = hour / 10; break; case 0x06: val = day % 10; break; case 0x07: val = day / 10; break; case 0x08: val = month % 10; break; case 0x09: val = month / 10; break; case 0x0a: val = year % 10; break; case 0x0b: val = (year / 10) % 10; break; case 0x0c: // day of the week val = 0x00; break; case 0x0d: // control D val = 0x00; break; case 0x0e: // control E val = 0x00; break; case 0x0f: // control F val = GIDE_RTC_REG_F_12_24; break; } DBG(2, form("KCemu/GIDE/RTC/in", "GIDE::in_rtc(): addr = %04x, val = %02x\n", addr, val)); return val; } void GIDE::out_rtc(word_t addr, byte_t val) { DBG(2, form("KCemu/GIDE/RTC/out", "GIDE::out_rtc(): addr = %04x, val = %02x\n", addr, val)); _rtc_register = val; } KCemu-0.5.1/src/kc/mod_4m.cc0000644000175000017500000000423412417262523015626 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/mod_4m.h" Module4M::Module4M(Module4M &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { bool valid = true; for (int a = 0;a < 4;a++) { _master[a] = NULL; _module[a] = tmpl.get_master(a)->clone(); valid = valid & _module[a]->is_valid(); } set_valid(valid); } Module4M::Module4M(const char *name, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { for (int a = 0;a < 4;a++) { char buf[100]; snprintf(buf, 100, "%s/%d", name, a); _master[a] = new Module1M(buf, id); _module[a] = NULL; } set_valid(true); } Module4M::~Module4M(void) { for (int a = 0;a < 4;a++) if (_module[a]) delete _module[a]; for (int a = 0;a < 4;a++) if (_master[a]) delete _master[a]; } Module1M * Module4M::get_master(int idx) { return _master[idx]; } byte_t Module4M::m_in(word_t addr) { int idx = (addr >> 8) & 3; return _module[idx]->m_in(addr & 0xfcff); } void Module4M::m_out(word_t addr, byte_t val) { int idx = (addr >> 8) & 3; _module[idx]->m_out(addr & 0xfcff, val); } ModuleInterface * Module4M::clone(void) { return new Module4M(*this); } void Module4M::reset(bool power_on) { for (int a = 0;a < 4;a++) _module[a]->reset(power_on); } KCemu-0.5.1/src/kc/ports4.cc0000644000175000017500000001110112417262523015671 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/ports4.h" #include "kc/memory4.h" #include "libdbg/dbg.h" #define memory ((Memory4 *)memory) Ports4::Ports4(void) { for (int a = 0;a < NR_PORTS;a++) inout[a] = -1; } Ports4::~Ports4(void) { } byte_t Ports4::in(word_t addr) { byte_t a = addr & 0xff; byte_t val = inout[a]; switch (a) { case 0x84: case 0x86: break; default: DBG(0, form("KCemu/internal_error", "Ports4: called in() with undefined address %04xh\n", addr)); break; } DBG(2, form("KCemu/Ports/4/in", "Ports4: in() addr = %04x (returning %02x)\n", addr, val)); return val; } void Ports4::out(word_t addr, byte_t val) { byte_t a = addr & 0xff; DBG(2, form("KCemu/Ports/4/out", "Ports4: out() addr = %04x, val = %02x\n", addr, val)); switch (a) { case 0x84: if (inout[0x84] < 0) inout[0x84] = ~val; change_0x84(inout[0x84] ^ val, val); break; case 0x86: if (inout[0x86] < 0) inout[0x86] = ~val; change_0x86(inout[0x86] ^ val, val); break; default: DBG(0, form("KCemu/internal_error", "Ports4: called out() with undefined address %04xh (val = %02xh)\n", addr, val)); break; } inout[addr & 0xff] = val; } void Ports4::change_0x84(byte_t changed, byte_t val) { if (changed & 0x01) { DBG(2, form("KCemu/Ports/4/change/84", "Ports 0x84: display screen %d\n", val & 1)); memory->displaySCREEN_1(val & 0x01); } if (changed & 0x02) { DBG(2, form("KCemu/Ports/4/change/84", "Ports 0x84: pixel/ color %d\n", (val >> 1) & 1)); memory->enableCOLOR(val & 0x02); } if (changed & 0x04) { DBG(2, form("KCemu/Ports/4/change/84", "Ports 0x84: access screen %d\n", (val >> 2) & 1)); memory->enableSCREEN_1(val & 0x04); } if (changed & 0x08) { DBG(2, form("KCemu/Ports/4/change/84", "Ports 0x84: high resolution %d\n", (val >> 3) & 1)); } if (changed & 0xf0) { DBG(2, form("KCemu/Ports/4/change/84", "Ports 0x84: access RAM8 segment %d\n", (val >> 4) & 0x0f)); memory->selectRAM_8((val >> 4) & 0x0f); } } void Ports4::change_0x86(byte_t changed, byte_t val) { if (changed & 0x01) { DBG(2, form("KCemu/Ports/4/change/86", "Ports 0x86: RAM 4 %d\n", val & 1)); memory->enableRAM_4(val & 0x01); } if (changed & 0x02) { DBG(2, form("KCemu/Ports/4/change/86", "Ports 0x86: write protect RAM 4 %d\n", (val >> 1) & 1)); memory->protectRAM_4(val & 0x02); } if (changed & 0x04) { DBG(2, form("KCemu/Ports/4/change/86", "Ports 0x86: unused 0x04 %d\n", (val >> 2) & 1)); } if (changed & 0x08) { DBG(2, form("KCemu/Ports/4/change/86", "Ports 0x86: unused 0x08 %d\n", (val >> 3) & 1)); } if (changed & 0x10) { DBG(2, form("KCemu/Ports/4/change/86", "Ports 0x86: unused 0x10 %d\n", (val >> 4) & 1)); } if (changed & 0x60) { DBG(2, form("KCemu/Ports/4/change/86", "Ports 0x86: BASIC/USER ROM bank %d\n", (val >> 5) & 3)); memory->selectROM_C((val >> 5) & 3); } if (changed & 0x80) { DBG(2, form("KCemu/Ports/4/change/86", "Ports 0x86: CAOS C %d\n", (val >> 7) & 1)); memory->enableCAOS_C(val & 0x80); } } KCemu-0.5.1/src/kc/kramermc/0000755000175000017500000000000012417262523015736 5ustar glaubitzglaubitzKCemu-0.5.1/src/kc/kramermc/Makefile.am0000644000175000017500000000027512417262523017776 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libkramermc.a AM_CPPFLAGS = -I../../../include libkramermc_a_SOURCES = \ pio.cc \ memory.cc \ keyboard.cc KCemu-0.5.1/src/kc/kramermc/memory.cc0000644000175000017500000000762712417262523017571 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/kramermc/memory.h" using namespace std; MemoryKramerMC::MemoryKramerMC(void) : Memory() { load_rom(SystemROM::ROM_KEY_SYSTEM, &_rom_io_monitor); load_rom(SystemROM::ROM_KEY_DEBUGGER, &_rom_debugger); load_rom(SystemROM::ROM_KEY_REASSEMBLER, &_rom_reassembler); load_rom(SystemROM::ROM_KEY_BASIC, &_rom_basic); load_rom(SystemROM::ROM_KEY_EDITOR, &_rom_editor); load_rom(SystemROM::ROM_KEY_ASSEMBLER, &_rom_assembler); load_rom(SystemROM::ROM_KEY_CHARGEN, &_rom_chargen); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_rom_io_monitor, "IO-Monitor", 0x0000, 0x0400, &_rom_io_monitor[0], 1, 1, 1, -1 }, { &_m_rom_debugger, "Debugger", 0x0400, 0x0400, &_rom_debugger[0], 1, 1, 1, -1 }, { &_m_rom_reassembler, "Reassembler", 0x0800, 0x0400, &_rom_reassembler[0], 1, 1, 1, -1 }, { &_m_ram_0c00h, "RAM (system)", 0x0c00, 0x0400, &_ram_0c00h[0], 1, 0, 1, -1 }, { &_m_ram_1000h, "RAM (statisch)", 0x1000, 0x3000, &_ram_1000h[0], 1, 0, 1, -1 }, { &_m_ram_4000h, "RAM (dynamisch)", 0x4000, 0x4000, &_ram_4000h[0], 1, 0, 1, -1 }, { &_m_rom_basic, "BASIC", 0x8000, 0x3000, &_rom_basic[0], 1, 1, 1, -1 }, { &_m_rom_editor, "Editor", 0xc000, 0x0400, &_rom_editor[0], 1, 1, 1, -1 }, { &_m_rom_assembler, "Assembler", 0xc400, 0x1c00, &_rom_assembler[0], 1, 1, 1, -1 }, { &_m_irm, "IRM", 0xfc00, 0x0400, &_irm[0], 1, 0, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); } MemoryKramerMC::~MemoryKramerMC(void) { z80->unregister_ic(this); delete _m_scr; delete _m_rom_io_monitor; delete _m_rom_debugger; delete _m_rom_reassembler; delete _m_ram_0c00h; delete _m_ram_1000h; delete _m_ram_4000h; delete _m_rom_basic; delete _m_rom_editor; delete _m_rom_assembler; delete _m_irm; } byte_t MemoryKramerMC::memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void MemoryKramerMC::memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * MemoryKramerMC::get_irm(void) { return _irm; } byte_t * MemoryKramerMC::get_char_rom(void) { return _rom_chargen; } void MemoryKramerMC::reset(bool power_on) { if (!power_on) return; scratch_mem(&_irm[0], 0x0400); scratch_mem(&_ram_0c00h[0], 0x0400); scratch_mem(&_ram_1000h[0], 0x3000); scratch_mem(&_ram_4000h[0], 0x4000); } void MemoryKramerMC::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } KCemu-0.5.1/src/kc/kramermc/keyboard.cc0000644000175000017500000000700612417262523020050 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/keys.h" #include "kc/kramermc/keydef.h" #include "kc/kramermc/keyboard.h" #include "libdbg/dbg.h" KeyboardKramerMC::KeyboardKramerMC(void) { init(); z80->register_ic(this); } KeyboardKramerMC::~KeyboardKramerMC(void) { z80->unregister_ic(this); } void KeyboardKramerMC::init(void) { _row = 0; _keybuf.code = -1; } int KeyboardKramerMC::decode_key(int keysym, bool press) { return __keys[keysym]; } void KeyboardKramerMC::keyPressed(int keysym, int keycode) { int k = decode_key(keysym, true); if (k == -1) return; int mod = (k & 0xff00) >> 8; int key = k & 0xff; if (_keybuf.code != -1) if ((_keybuf.sym1 != mod) || (_keybuf.sym2 != 0)) return; if (mod == 0) { _keybuf.sym1 = key; _keybuf.sym2 = 0; } else { _keybuf.sym1 = mod; _keybuf.sym2 = key; z80->addCallback(MODIFIER_PRESS_DELAY, this, (void *)0); } _keybuf.code = keycode; DBG(2, form("KCemu/keyboard/kramermc/key_press", "##### Keyboard: keyPressed [%03x/%02x] {%02x:%02x:%02x}\n", keysym, k, _keybuf.sym1, _keybuf.sym2, _keybuf.code)); } void KeyboardKramerMC::keyReleased(int keysym, int keycode) { _keybuf.code = -1; DBG(2, form("KCemu/keyboard/kramermc/key_press", "##### Keyboard: keyPressed [%03x/%02x] {%02x:%02x:%02x}\n", keysym, keycode, _keybuf.sym1, _keybuf.sym2, _keybuf.code)); } void KeyboardKramerMC::replayString(const char *text) { } void KeyboardKramerMC::callback(void *data) { long val = (long)data; if (val == 0) { /* * remove possible shift or control state */ _keybuf.sym1 = 0; z80->addCallback(MODIFIER_RELEASE_DELAY, this, (void *)1); //printf("{remove shift}\n"); } else { _keybuf.sym1 = _keybuf.sym2; _keybuf.sym2 = 0; //printf("{2nd key}\n"); } } int KeyboardKramerMC::callback_A_in(void) { return -1; } void KeyboardKramerMC::callback_A_out(byte_t val) { _row = ((val >> 1) & 0x07) + 1; } int KeyboardKramerMC::callback_B_in(void) { int col = 0; static int old_val = -1; int v = _keybuf.sym1; //if (v != old_val) //printf("[%02x - %3d]\n", v, v); old_val = v; if (_keybuf.code != -1) if (_keybuf.sym1 > 0) { if (_row == (v & 0x0f)) col |= 1 << (((v >> 4) & 0x0f) - 1); } return col ^ 0xff; } void KeyboardKramerMC::callback_B_out(byte_t val) { } void KeyboardKramerMC::reset(bool power_on) { init(); } void KeyboardKramerMC::reti(void) { } KCemu-0.5.1/src/kc/kramermc/pio.cc0000644000175000017500000000400212417262523017030 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/kramermc/pio.h" #include "libdbg/dbg.h" PIOKramerMC::PIOKramerMC(void) { } PIOKramerMC::~PIOKramerMC(void) { } byte_t PIOKramerMC::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/kramermc/in", "PIOKramerMC::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void PIOKramerMC::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/kramermc/out", "PIOKramerMC::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIOKramerMC::change_A(byte_t changed, byte_t val) { } void PIOKramerMC::change_B(byte_t changed, byte_t val) { } KCemu-0.5.1/src/kc/mod_4131.cc0000644000175000017500000000504512417262523015677 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/pio1.h" #include "kc/plotter.h" #include "kc/mod_4131.h" #include "libdbg/dbg.h" using namespace std; ModuleXY4131::ModuleXY4131(ModuleXY4131 &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _master = false; pio->register_callback_B_in(this); pio->register_callback_B_out(this); pio->set_B_EXT(0xff, 0x00); _val = 0; set_valid(true); } ModuleXY4131::ModuleXY4131(const char *name) : ModuleInterface(name, 0, KC_MODULE_KC_85_1) { _master = true; set_valid(true); } ModuleXY4131::~ModuleXY4131(void) { if (!_master) plotter->close_pdf(); } void ModuleXY4131::m_out(word_t addr, byte_t val) { } int ModuleXY4131::callback_A_in(void) { return -1; } void ModuleXY4131::callback_A_out(byte_t val) { } int ModuleXY4131::callback_B_in(void) { return -1; } /** * 0, 0 - 100, 0 83/87/83/87/... => X V * 100, 0 - 100,100 81/85/81/85/... => Y V * 100,100 - 0,100 82/86/82/86/... => X R * 0,100 - 0, 0 80/84/80/84/... => Y R */ void ModuleXY4131::callback_B_out(byte_t val) { if ((_val & 0x80) ^ (val & 0x80)) { if (val & 0x80) plotter->pen_down(); else plotter->pen_up(); } if (((_val & 4) == 0) && ((val & 4) == 4)) { int direction = -1; if (val & 0x01) direction = 1; if (val & 0x02) plotter->step(0, direction); else plotter->step(direction, 0); } _val = val; } ModuleInterface * ModuleXY4131::clone(void) { return new ModuleXY4131(*this); } void ModuleXY4131::reset(bool power_on) { } KCemu-0.5.1/src/kc/ctc8.cc0000644000175000017500000000411012417262523015301 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/ctc8.h" #include "libdbg/dbg.h" CTC8::CTC8(void) { } CTC8::~CTC8(void) { } byte_t CTC8::in(word_t addr) { DBG(2, form("KCemu/CTC/8/in", "CTC8::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return c_in(0); case 1: return c_in(1); case 2: return c_in(2); case 3: return c_in(3); } return 0; // shouldn't be reached } void CTC8::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/8/out", "CTC8::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTC8::irq_0(void) { return false; } bool CTC8::irq_1(void) { return false; } bool CTC8::irq_2(void) { return false; } bool CTC8::irq_3(void) { return false; } long CTC8::counter_value_0(void) { return 0; } long CTC8::counter_value_1(void) { return 0; } long CTC8::counter_value_2(void) { return 0; } long CTC8::counter_value_3(void) { return 0; } KCemu-0.5.1/src/kc/mod_segm.cc0000644000175000017500000000662212417262523016244 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_segm.h" ModuleSegmentedMemory::ModuleSegmentedMemory(ModuleSegmentedMemory &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _val = 0; _group = NULL; _master = false; _is_rom = tmpl._is_rom; _segments = tmpl.get_segment_count(); _segment_size = tmpl.get_segment_size(); if (is_rom()) { _mem = tmpl._mem; set_valid(true); } else { int mem_size = get_segment_count() * get_segment_size(); _mem = new byte_t[mem_size]; if (_mem) { reset(true); set_valid(true); } } } ModuleSegmentedMemory::ModuleSegmentedMemory(const char *name, byte_t id, int segments, int segment_size) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { _val = 0; _mem = NULL; _group = NULL; _master = true; _is_rom = false; _segments = segments; _segment_size = segment_size; set_valid(true); } ModuleSegmentedMemory::ModuleSegmentedMemory(const char *name, byte_t id, int segments, int segment_size, const char *filename) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { int mem_size = segments * segment_size; _val = 0; _group = NULL; _master = true; _is_rom = true; _segments = segments; _segment_size = segment_size; _mem = new byte_t[mem_size]; set_valid(Memory::load_rom(filename, _mem, mem_size, false)); } ModuleSegmentedMemory::~ModuleSegmentedMemory(void) { if (_group) memory->unregister_memory(_group); if (_master && _mem) delete[] _mem; } bool ModuleSegmentedMemory::is_rom(void) { return _is_rom; } int ModuleSegmentedMemory::get_segment_count(void) { return _segments; } int ModuleSegmentedMemory::get_segment_size(void) { return _segment_size; } void ModuleSegmentedMemory::m_out(word_t addr, byte_t val) { if (_val == val) return; _val = val; if (_group) { memory->unregister_memory(_group); _group = NULL; } if (_val & 1) { char buf[100]; int idx = get_segment_index(addr, val); word_t mem = get_base_address(addr, val); bool ro = is_rom() ? true : (_val & 2) == 0; snprintf(buf, sizeof(buf), "%s (%d)", get_name(), idx); _group = memory->register_memory(buf, mem, get_segment_size(), &_mem[idx * get_segment_size()], 0x10, ro); } } void ModuleSegmentedMemory::reset(bool power_on) { if (is_rom()) return; if (power_on) Memory::scratch_mem(_mem, get_segment_count() * get_segment_size()); } KCemu-0.5.1/src/kc/disk_io.cc0000644000175000017500000000601112417262523016063 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/disk_io.h" #include "libdbg/dbg.h" FloppyIO::FloppyIO(void) { _bit[0] = _bit[1] = _bit[2] = _bit[3] = 0; } FloppyIO::~FloppyIO(void) { } /* * BIT 7 6 5 4 3 2 1 0 * | | | | * | | | - Freigabe des Prozessors * | | --- Setzen des Prozessors in Dauer-RESET * | ----- Ausgabe RESET-Impuls * ------- Ausgabe NMI-Impuls */ byte_t FloppyIO::in(word_t addr) { byte_t val = _val; DBG(2, form("KCemu/FloppyIO/in", "FloppyIO::in(): addr = %04x, val = %02x\n", addr, val)); return val; } void FloppyIO::out(word_t addr, byte_t val) { int a; DBG(2, form("KCemu/FloppyIO/out", "FloppyIO::out(): addr = %04x, val = %02x\n", addr, val)); for (a = 0;a < 3;a++) { if (val & (1 << a)) { _bit[a] = true; /* * Hmm, the manual says activation is done after a 1/0 * transition but this doen't really works :-( */ activate(a); } else { _bit[a] = false; } } _val = val; } void FloppyIO::activate(int bit_nr) { switch (bit_nr) { case 0: DBG(2, form("KCemu/FloppyIO/activate", "FloppyIO::activate(): bit = %d, start processor\n", bit_nr)); z80->start_floppy_cpu(); break; case 1: DBG(2, form("KCemu/FloppyIO/activate", "FloppyIO::activate(): bit = %d, halt processor\n", bit_nr)); z80->halt_floppy_cpu(false); break; case 2: DBG(2, form("KCemu/FloppyIO/activate", "FloppyIO::activate(): bit = %d, trigger RESET\n", bit_nr)); break; case 3: DBG(2, form("KCemu/FloppyIO/activate", "FloppyIO::activate(): bit = %d, trigger NMI\n", bit_nr)); break; default: DBG(0, form("KCemu/warning", "FloppyIO::activate(): bit = %d ???\n", bit_nr)); break; } } KCemu-0.5.1/src/kc/ctc_base.cc0000644000175000017500000000454712417262523016221 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/z80.h" #include "kc/ctc_base.h" #include "libdbg/dbg.h" CTC_Base::CTC_Base(void) : CTC("CTC") { z80->register_ic(this); _z80_irq_mask = z80->get_irq_mask(); } CTC_Base::~CTC_Base(void) { z80->unregister_ic(this); } long long CTC_Base::get_counter() { return z80->getCounter(); } void CTC_Base::irqreq(void) { DBG(2, form("KCemu/CTC/reti", "CTC_Base::irqreq()\n")); z80->set_irq_line(_z80_irq_mask); } word_t CTC_Base::irqack(void) { int a, b; int vector = IRQ_NOT_ACK; DBG(2, form("KCemu/CTC/reti", "CTC_Base::irqack(): active: %d %d %d %d - pending: %d %d %d %d\n", _irq_active[0], _irq_active[1], _irq_active[2], _irq_active[3], _irq_pending[0], _irq_pending[1], _irq_pending[2], _irq_pending[3])); for (a = 0;a < 4;a++) { if (_irq_pending[a]) { _irq_active[a] = 1; _irq_pending[a] = 0; vector = getIRQVector(a); DBG(2, form("KCemu/CTC/reti", "CTC_Base::irqack(): channel = %d, irq_vector = %02xh\n", a, vector)); break; } } b = 0; for (a = 0;a < 4;a++) if (_irq_pending[a]) b++; if (b == 0) z80->reset_irq_line(_z80_irq_mask); return vector; } void CTC_Base::trigger_irq(int channel) { int a; for (a = 0;a < channel;a++) if (_irq_active[a]) return; irq(); } void CTC_Base::add_callback(unsigned long long offset, Callback *cb, void *data) { z80->addCallback(offset, cb, data); } KCemu-0.5.1/src/kc/pio2.cc0000644000175000017500000001051412417262523015316 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio2.h" #include "kc/tape.h" #include "kc/memory2.h" #include "libdbg/dbg.h" #define memory ((Memory2 *)memory) PIO2::PIO2(void) { _irq[A] = _irq[B] = 0; _value[A] = _value[B] = 0; _irq_vector[A] = _irq_vector[B] = 0; _ready[A] = _ready[B] = 1; _strobe[A] = _strobe[B] = 0; _irq_enable[A] = _irq_enable[B] = 0; _irq_active[A] = _irq_active[B] = 0; } PIO2::~PIO2(void) { } byte_t PIO2::in(word_t addr) { DBG(2, form("KCemu/PIO/2/in", "PIO2::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return in_A_DATA(); case 1: return in_B_DATA(); case 2: return in_A_CTRL(); case 3: return in_B_CTRL(); } return 0; // shouldn't be reached } void PIO2::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/2/out", "PIO2::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO2::change_A(byte_t changed, byte_t val) { if (changed & 0x01) { DBG(2, form("KCemu/PIO/2/change/A", "PIO A: CAOS ROM E [%d]\n", (val & 1))); memory->enableCAOS(val & 0x01); } if (changed & 0x02) { DBG(2, form("KCemu/PIO/2/change/A", "PIO A: RAM 0 [%d]\n", ((val >> 1) & 1))); memory->enableRAM(val & 0x02); } if (changed & 0x04) { DBG(2, form("KCemu/PIO/2/change/A", "PIO A: IRM [%d]\n", ((val >> 2) & 1))); memory->enableIRM(val & 0x04); } if (changed & 0x08) { DBG(2, form("KCemu/PIO/2/change/A", "PIO A: write protect RAM 0 [%d]\n", ((val >> 3) & 1))); memory->protectRAM(val & 0x08); } if (changed & 0x10) { DBG(2, form("KCemu/PIO/2/change/A", "PIO A: K OUT (unused) [%d]\n", ((val >> 4) & 1))); } if (changed & 0x20) { DBG(2, form("KCemu/PIO/2/change/A", "PIO A: LED [%d]\n", ((val >> 5) & 1))); } if (changed & 0x40) { DBG(2, form("KCemu/PIO/2/change/A", "PIO A: TAPE Power [%d]\n", ((val >> 6) & 1))); tape->power((val >> 6) & 1); } } void PIO2::change_B(byte_t changed, byte_t val) { if (changed & 0x01) { DBG(2, form("KCemu/PIO/2/change/B", "PIO B: flip-flop [%d]\n", (val & 1))); } if (changed & 0x0e) { DBG(2, form("KCemu/PIO/2/change/B", "PIO B: volume [%d]\n", ((val >> 1) & 7))); } if (changed & 0x10) { DBG(2, form("KCemu/PIO/2/change/B", "PIO B: unused 0x10 [%d]\n", ((val >> 4) & 1))); } if (changed & 0x20) { DBG(2, form("KCemu/PIO/2/change/B", "PIO B: RAM 8 [%d]\n", ((val >> 5) & 1))); } if (changed & 0x40) { DBG(2, form("KCemu/PIO/2/change/B", "PIO B: RAM 8 write protect [%d]\n", ((val >> 6) & 1))); } if (changed & 0x80) { DBG(2, form("KCemu/PIO/2/change/B", "PIO B: foreground blink [%d]\n", ((val >> 6) & 1))); } } void PIO2::tape_callback(byte_t val) { strobe_A(); } KCemu-0.5.1/src/kc/timer.cc0000644000175000017500000000172212417262523015566 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/timer.h" Timer::Timer(const char *name) : Callback(name) { } Timer::~Timer(void) { } KCemu-0.5.1/src/kc/ctc3.cc0000644000175000017500000000427412417262523015307 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/tape.h" #include "kc/ctc3.h" #include "ui/ui.h" #include "libdbg/dbg.h" CTC3::CTC3(void) { } CTC3::~CTC3(void) { } byte_t CTC3::in(word_t addr) { DBG(2, form("KCemu/CTC/3/in", "CTC3::in(): addr = %04x\n", addr)); switch (addr & 3) { case 0: return c_in(0); case 1: return c_in(1); case 2: return c_in(2); case 3: return c_in(3); } return 0; // shouldn't be reached } void CTC3::out(word_t addr, byte_t val) { DBG(2, form("KCemu/CTC/3/out", "CTC3::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: c_out(0, val); break; case 1: c_out(1, val); break; case 2: c_out(2, val); break; case 3: c_out(3, val); break; } } bool CTC3::irq_0(void) { return false; } bool CTC3::irq_1(void) { tape->tape_signal(); return true; } bool CTC3::irq_2(void) { ui->flash(true); return true; } bool CTC3::irq_3(void) { return false; } long CTC3::counter_value_0(void) { return 0; } long CTC3::counter_value_1(void) { return 0; } long CTC3::counter_value_2(void) { /* * CLK for channel 2 is 50 Hz */ return CHANNEL_2_CLK; } long CTC3::counter_value_3(void) { return 0; } KCemu-0.5.1/src/kc/pio_vdip.cc0000644000175000017500000000556712417262523016272 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/vdip.h" #include "kc/pio_vdip.h" #include "libdbg/dbg.h" PIO_VDIP::PIO_VDIP(void) { _data_out = 0xff; } PIO_VDIP::~PIO_VDIP(void) { } byte_t PIO_VDIP::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = vdip->read_byte(); break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; } DBG(2, form("KCemu/PIO/VDIP/in", "PIO_VDIP::in(): %04xh: addr = %04x, val = %02x\n", z80->getPC(), addr, val)); return val; } void PIO_VDIP::out(word_t addr, byte_t val) { DBG(2, form("KCemu/PIO/VDIP/out", "PIO_VDIP::out(): addr = %04x, val = %02x\n", addr, val)); switch (addr & 3) { case 0: _data_out = val; DBG(2, form("KCemu/PIO/VDIP/data_out", "PIO_VDIP::out(): addr = %04x, val = %02x ('%c')\n", addr, val, isprint(val) ? val : '.')); out_A_DATA(val); break; case 1: DBG(2, form("KCemu/PIO/VDIP/ctrl_out", "PIO_VDIP::out(): addr = %04x, val = %02x, RXF# = %d, TXE# = %d, RD# = %d, WR# = %d, RESET = %d\n", addr, val, val & 1, (val >> 1) & 1, (val >> 2) & 1, (val >> 3) & 1, (val >> 6) & 1)); out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO_VDIP::change_A(byte_t changed, byte_t val) { } void PIO_VDIP::change_B(byte_t changed, byte_t val) { if (changed & 0x04) { if (val & 0x04) vdip->read_end(); // RD# L->H else vdip->latch_byte(); // RD# H->L } if (changed & 0x08) { if (val & 0x08) vdip->write_byte(_data_out); // WR# L->H else vdip->write_end(); // WR# H->L } // if ((changed & 0x40) && (val & 0x40)) // RESET H->L // { // vdip->reset(); // } } KCemu-0.5.1/src/kc/pio.cc0000644000175000017500000003446112417262523015243 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio.h" #include "kc/z80.h" #include "kc/tape.h" #include "kc/memory.h" #include "libdbg/dbg.h" //#define PIO_OUT_CTRL_DEBUG using namespace std; PIO::PIO(void) : InterfaceCircuit("PIO") { _first_out[A] = true; _first_out[B] = true; _cb_a_in = 0; _cb_a_out = 0; _cb_b_in = 0; _cb_b_out = 0; reset(true); z80->register_ic(this); _z80_irq_mask = z80->get_irq_mask(); } PIO::~PIO(void) { z80->unregister_ic(this); } void PIO::reset(bool power_on) { _irq[A] = _irq[B] = 0; _value[A] = _value[B] = 0; _irq_vector[A] = _irq_vector[B] = 0; _ready[A] = _ready[B] = 1; _strobe[A] = _strobe[B] = 0; _mode[A] = _mode[B] = MODE_INPUT; _irq_enable[A] = _irq_enable[B] = 0; _irq_active[A] = _irq_active[B] = 0; _ext[A] = 0xff; _ext[B] = 0xff; _ext_fn[A] = 0; _ext_fn[B] = 0; _bit_mode[A] = 0; _bit_mode[B] = 0; _bit_mode_follows[A] = false; _bit_mode_follows[B] = false; _irq_mask[A] = 0xff; _irq_mask[B] = 0xff; _irq_h_l[A] = 0; _irq_h_l[B] = 0; _irq_and_or[A] = 0; _irq_and_or[B] = 0; _irq_mask_follows[A] = false; _irq_mask_follows[B] = false; } byte_t PIO::in_A_DATA(void) { int cb; byte_t ret; cb = -1; if (_cb_a_in) cb = _cb_a_in->callback_A_in(); if (_mode[A] == MODE_CONTROL) { if (cb >= 0) _ext[A] = cb; ret = (_value[A] & ~_bit_mode[A]) | (_ext[A] & _bit_mode[A]); DBG(2, form("KCemu/PIO/A/in_DATA", "PIO::in(): %04xh: port A DATA (mode %d): val = %02x, mask = %02x, ext = %02x\n", z80->getPC(), _mode[A], ret, _bit_mode[A], _ext[A])); } else { ret = _value[A]; if (cb >= 0) ret = cb; DBG(2, form("KCemu/PIO/A/in_DATA", "PIO::in(): %04xh: port A DATA (mode %d): val = %02x\n", z80->getPC(), _mode[A], ret)); } return ret; } byte_t PIO::in_B_DATA(void) { int cb; byte_t ret; cb = -1; if (_cb_b_in) cb = _cb_b_in->callback_B_in(); if (_mode[B] == MODE_CONTROL) { if (cb >= 0) _ext[B] = cb; ret = (_value[B] & ~_bit_mode[B]) | (_ext[B] & _bit_mode[B]); DBG(2, form("KCemu/PIO/B/in_DATA", "PIO::in(): %04xh: port B DATA (mode %d): val = %02x, mask = %02x, ext = %02x\n", z80->getPC(), _mode[B], ret, _bit_mode[B], _ext[B])); } else { ret = _value[B]; if (cb >= 0) ret = cb; DBG(2, form("KCemu/PIO/B/in_DATA", "PIO::in(): %04xh: port B DATA (mode %d): val = %02x\n", z80->getPC(), _mode[B], ret)); } return ret; } byte_t PIO::in_A_CTRL(void) { byte_t ret = 0xff; DBG(2, form("KCemu/PIO/A/in_CTRL", "PIO::in(): %04xh: port A CTRL (mode %d): val = %02x\n", z80->getPC(), _mode[A], ret)); return ret; /* FIXME: */ } byte_t PIO::in_B_CTRL(void) { byte_t ret = 0xff; DBG(2, form("KCemu/PIO/B/in_CTRL", "PIO::in(): %04xh: port B CTRL (mode %d): val = %02x\n", z80->getPC(), _mode[B], ret)); return ret; /* FIXME: */ } void PIO::out_A_DATA(byte_t val) { DBG(2, form("KCemu/PIO/A/out_DATA", "PIO::out(): %04xh: port A DATA (mode %d): val = %02x\n", z80->getPC(), _mode[B], val)); if (_mode[A] == MODE_INPUT) { _value[A] = val; return; } if (_first_out[A]) { _value[A] = ~val; _first_out[A] = false; } change_A(_value[A] ^ val, val); _value[A] = val; _ready[A] = 1; if (_cb_a_out) _cb_a_out->callback_A_out(val); } void PIO::out_B_DATA(byte_t val) { DBG(2, form("KCemu/PIO/B/out_DATA", "PIO::out(): %04xh: port B DATA (mode %d): val = %02x\n", z80->getPC(), _mode[B], val)); if (_mode[B] == MODE_INPUT) { _value[B] = val; return; } if (_first_out[B]) { _value[B] = ~val; _first_out[B] = false; } change_B(_value[B] ^ val, val); _value[B] = val; _irq[B] = 1; _ready[B] = 1; if (_cb_b_out) _cb_b_out->callback_B_out(val); } void PIO::out_CTRL(int port, byte_t val) { byte_t old_mode; char p = (port == A) ? 'A' : 'B'; (void)p; // prevent "unused" warning when compiling without debug code if (port == A) { DBG(2, form("KCemu/PIO/A/out_CTRL", "PIO::out(): %04xh: port A CTRL (mode %d): val = %02x\n", z80->getPC(), _mode[A], val)); } else { DBG(2, form("KCemu/PIO/B/out_CTRL", "PIO::out(): %04xh: port B CTRL (mode %d): val = %02x\n", z80->getPC(), _mode[B], val)); } /* * bit mode * * +-----+-----+-----+-----+-----+-----+-----+-----+ * | IO7 | IO6 | IO5 | IO4 | IO3 | IO2 | IO1 | IO0 | * +-----+-----+-----+-----+-----+-----+-----+-----+ */ if (_bit_mode_follows[port]) { _bit_mode[port] = val; _bit_mode_follows[port] = false; DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] new bit mode: %02x (0 = out/ 1 = in)\n", z80->getPC(), p, _bit_mode[port])); return; } /* * interrupt mask (for bit input/output) * * +-----+-----+-----+-----+-----+-----+-----+-----+ * | MB7 | MB6 | MB5 | MB4 | MB3 | MB2 | MB1 | MB0 | * +-----+-----+-----+-----+-----+-----+-----+-----+ */ if (_irq_mask_follows[port]) { /* * we store the mask negated because a bit set to 0 means * this bit is used! */ _irq_mask[port] = ~val; _irq_mask_follows[port] = false; DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] new irq mask (inverted): %02x\n", z80->getPC(), p, _irq_mask[port])); return; } /* * interrupt vector * * +----+----+----+----+----+----+----+---+ * | V7 | V6 | V5 | V4 | V3 | V2 | V1 | 0 | * +----+----+----+----+----+----+----+---+ */ if ((val & 1) == 0) { _irq_vector[port] = val; DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] new irq vector: 0x%02x\n", z80->getPC(), p, val)); return; } switch (val & 0x0f) { /* * interrupt enable/disable * * +----+---+---+---+---+---+---+---+ * | EI | X | X | X | 0 | 0 | 1 | 1 | * +----+---+---+---+---+---+---+---+ */ case 0x03: _irq[port] = (val >> 7) & 0x01; if (_irq[port]) { DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] irq enabled\n", z80->getPC(), p)); _irq_enable[port] = 1; } else { DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] irq disabled\n", z80->getPC(), p)); _irq_enable[port] = 0; } break; /* * interrupt control word * * +----+-----+-----+----+---+---+---+---+ * | EI | A/O | H/L | MF | 0 | 1 | 1 | 1 | * +----+-----+-----+----+---+---+---+---+ */ case 0x07: _irq[port] = (val >> 7) & 1; if (_irq[port]) { DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] irq enabled\n", z80->getPC(), p)); _irq_enable[port] = 1; } else { DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] irq disabled\n", z80->getPC(), p)); _irq_enable[port] = 0; } _irq_and_or[port] = (val >> 6) & 1; DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] AND/OR mode set to %s\n", z80->getPC(), p, _irq_and_or[port] ? "AND" : "OR")); _irq_h_l[port] = (val >> 5) & 1; DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] H/L mode set to %c\n", z80->getPC(), p, _irq_h_l[port] ? 'H' : 'L')); if (val & 0x10) { _irq_mask_follows[port] = true; DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] irq mask will be set with next control write\n", z80->getPC(), p)); } break; /* * mode control word * * +----+----+---+---+---+---+---+---+ * | M1 | M0 | X | X | 1 | 1 | 1 | 1 | * +----+----+---+---+---+---+---+---+ */ case 0x0f: old_mode = _mode[port]; _mode[port] = (val >> 6) & 0x03; switch (_mode[port]) { case MODE_OUTPUT: DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] new mode: %d - BYTE OUTPUT\n", z80->getPC(), p, _mode[port])); break; case MODE_INPUT: DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] new mode: %d - BYTE INPUT\n", z80->getPC(), p, _mode[port])); break; case MODE_BIDIRECTIONAL: DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] new mode: %d - BIDIRECTIONAL\n", z80->getPC(), p, _mode[port])); break; case MODE_CONTROL: DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] new mode: %d - CONTROL (bit mode)\n", z80->getPC(), p, _mode[port])); _bit_mode_follows[port] = true; break; } if (old_mode == MODE_INPUT) { if (port == A) out_A_DATA(_value[A]); else out_B_DATA(_value[B]); } break; default: DBG(2, form("KCemu/PIO/control", "PIO: %04xh: [%c] ??? unknown control byte %02x (%d)\n", z80->getPC(), p, val, val)); break; } } void PIO::out_A_CTRL(byte_t val) { out_CTRL(A, val); } void PIO::out_B_CTRL(byte_t val) { out_CTRL(B, val); } void PIO::set_EXT(int port, byte_t mask, byte_t val) { byte_t old; char p = "AB"[port]; (void)p; // prevent "unused" warning when compiling without debug code /* if (_irq_active[port] ) { cout << "PIO::set_EXT() - irq active" << endl; return; } */ old = _ext_fn[port]; _ext[port] = ((_ext[port] & ~mask) | (val & mask)); if (_irq_and_or[port]) { /* AND */ if (_irq_h_l[port]) _ext_fn[port] = ((_ext[port] & _irq_mask[port]) == _irq_mask[port]); else _ext_fn[port] = ((_ext[port] & _irq_mask[port]) == 0); } else { /* OR */ if (_irq_h_l[port]) _ext_fn[port] = ((_ext[port] & _irq_mask[port]) != 0); else _ext_fn[port] = ((_ext[port] & _irq_mask[port]) != _irq_mask[port]); } bool do_trigger_irq = (old == 0) && (_ext_fn[port] == 1); DBG(2, form("KCemu/PIO/external", "PIO: %04xh: [%c] _ext_fn: A/O = %d, H/L = %d, mask = 0x%02x, old = %02x, _ext_fn = %02x%s\n", z80->getPC(), p, _irq_and_or[port], _irq_h_l[port], _irq_mask[port], old, _ext_fn[port], do_trigger_irq ? " IRQ!" : "")); if (do_trigger_irq) trigger_irq(port); } void PIO::set_A_EXT(byte_t mask, byte_t val) { set_EXT(A, mask, val); } void PIO::set_B_EXT(byte_t mask, byte_t val) { set_EXT(B, mask, val); } void PIO::trigger_irq(int port) { if (_irq_enable[port]) { _strobe[port] = 1; irq(); } } void PIO::irqreq(void) { DBG(2, form("KCemu/PIO/reti", "PIO::irqreq(): %04xh\n", z80->getPC())); z80->set_irq_line(_z80_irq_mask); } word_t PIO::irqack(void) { if (_strobe[A]) { _strobe[A] = 0; _irq_active[A] = 1; z80->reset_irq_line(_z80_irq_mask); return _irq_vector[A]; } if (_irq_active[A]) return IRQ_NOT_ACK; if (_strobe[B]) { _strobe[B] = 0; _irq_active[B] = 1; z80->reset_irq_line(_z80_irq_mask); return _irq_vector[B]; } return IRQ_NOT_ACK; } void PIO::reti(void) { //cout.form("PIO: reti - A: %d, B: %d\n", _irq_active[a], _irq_active[B]); if (_irq_active[A]) _irq_active[A] = 0; if (_irq_active[B]) _irq_active[B] = 0; if (_strobe[A]) { trigger_irq(A); return; } if (_strobe[B]) trigger_irq(B); } void PIO::strobe_A(void) { if (_mode[A] == MODE_CONTROL) return; //_strobe[A] = 1; this blocks the keyboard when the tape loader is active trigger_irq(A); } void PIO::strobe_B(void) { if ((_mode[B] == MODE_CONTROL) && (_mode[A] != MODE_BIDIRECTIONAL)) return; //_strobe[B] = 1; trigger_irq(B); } int PIO::ready_A(void) { return _ready[A]; } int PIO::ready_B(void) { return _ready[B]; } void PIO::register_callback_A_in(PIOCallbackInterface *cbi) { _cb_a_in = cbi; } void PIO::register_callback_A_out(PIOCallbackInterface *cbi) { _cb_a_out = cbi; } void PIO::register_callback_B_in(PIOCallbackInterface *cbi) { _cb_b_in = cbi; } void PIO::register_callback_B_out(PIOCallbackInterface *cbi) { _cb_b_out = cbi; } void PIO::info(void) { cout << " PIO:" << endl; cout << " ---- port A port B" << endl; cout << "\tmode: " << (int)_mode[A] << " " << (int)_mode[B] << endl; cout << "\tirq vector: " << hex << setfill('0') << setw(2) << (int)_irq_vector[A] << "h " << hex << setfill('0') << setw(2) << (int)_irq_vector[B] << "h" << endl; cout << "\tirq enabled: " << ((_irq[A])?"yes":"no ") << " " << ((_irq[B])?"yes":"no ") << endl; cout << "\tstrobe: " << (int)_strobe[A] << " " << (int)_strobe[B] << endl; cout << "\tready: " << (int)_ready[A] << " " << (int)_ready[B] << endl; cout << "\tvalue: " << hex << setfill('0') << setw(2) << (int)_value[A] << "h " << hex << setfill('0') << setw(2) << (int)_value[B] << "h" << endl; cout << "\text_mask: " << hex << setfill('0') << setw(2) << (int)_bit_mode[A] << "h " << hex << setfill('0') << setw(2) << (int)_bit_mode[B] << "h" << endl; cout << "\text: " << hex << setfill('0') << setw(2) << (int)_ext[A] << "h " << hex << setfill('0') << setw(2) << (int)_ext[B] << "h" << endl << endl; } KCemu-0.5.1/src/kc/fdc7.cc0000644000175000017500000000713012417262523015270 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/fdc7.h" #include "libdbg/dbg.h" FDC7::FDC7(void) { } FDC7::~FDC7(void) { } long long FDC7::get_counter() { return z80->getCounter(); } void FDC7::add_callback(unsigned long long offset, Callback *cb, void *data) { z80->addCallback(offset, cb, data); } /* * Documentation from Volker... * * ; FDC-Ports: * ; ---------- * * 'ROBOTRON' * * FDCD equ 98h ; FDC Datenregister * FDCC equ 99h ; FDC Steueregister * FDCZ equ 0A0h ; FDC Zusatzregister * ; 5 4 3 2 1 0 * ; x x 0 0 x x * ; | | | | * ; | | | Motor Laufwerk 0 ein/aus * ; | | Motor Laufwerk 1 ein/aus * ; | Terminal Count aktivieren/deakt. * ; FDC Reset * * ELSE Rossendorf * * FDCD equ 10h ; FDC Datenregister * FDCC equ 11h ; FDC Steueregister * FDCZ equ 12h ; FDC Zusatzregister * ; 5 4 3 2 1 0 * ; x x 0 0 x x * ; | | | | * ; | | | Motor Laufwerk 0 ein/aus * ; | | Motor Laufwerk 1 ein/aus * ; | Terminal Count aktivieren/deakt. * ; FDC Reset * */ byte_t FDC7::in(word_t addr) { byte_t val = 0; switch (addr & 0xff) { case 0x98: // CPM-Z9 module (Data Register, ROBOTRON module) case 0x10: // CPM-Z9 module (Data Register, Rossendorf module) val = get_msr(); break; case 0x99: // CPM-Z9 module (Status Register, ROBOTRON module) case 0x11: // CPM-Z9 module (Status Register, Rossendorf module) val = in_data(addr); break; case 0xa0: // CPM-Z9 module (Extra Register, ROBOTRON module) case 0x12: // CPM-Z9 module (Extra Register, Rossendorf module) break; default: DBG(2, form("KCemu/FDC/in_unhandled", "FDC::in(): addr = %04x\n", addr)); break; } return val; } void FDC7::out(word_t addr, byte_t val) { switch (addr & 0xff) { case 0x98: // CPM-Z9 module (Data Register, ROBOTRON module) case 0x10: // CPM-Z9 module (Data Register, Rossendorf module) write_byte(val); break; case 0x99: // CPM-Z9 module (Status Register, ROBOTRON module) case 0x11: // CPM-Z9 module (Status Register, Rossendorf module) out_data(addr, val); break; case 0xa0: // CPM-Z9 module (Extra Register, ROBOTRON module) case 0x12: // CPM-Z9 module (Extra Register, Rossendorf module) set_terminal_count((val & 0x10) == 0x10); if ((val & 0x20) == 0x20) {} // RESET break; default: DBG(2, form("KCemu/FDC/out_unhandled", "FDC::out(): addr = %04x, val = %02x [%c]\n", addr, val, isprint(val) ? val : '.')); break; } } KCemu-0.5.1/src/kc/kcemu-send.c0000644000175000017500000000326312417262523016340 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include int main(void) { int s, ret; char buf[1024]; int len; struct sockaddr_un unix_addr; s = socket(AF_UNIX, SOCK_STREAM, 0); perror("socket: "); printf("socket returned %d\n", s); bzero((char *)&unix_addr, sizeof(unix_addr)); unix_addr.sun_family = AF_UNIX; strcpy(unix_addr.sun_path, "/tmp/KCemu-in"); len = strlen(unix_addr.sun_path) + sizeof(unix_addr.sun_family); ret = connect(s, (struct sockaddr *)&unix_addr, len); perror("connect: "); printf("connect returned %d\n", ret); initscr(); cbreak(); /* noecho(); */ nonl(); keypad(stdscr, TRUE); while (242) { buf[0] = getch(); buf[1] = '\0'; ret = send(s, buf, strlen(buf), 0); } return 0; } KCemu-0.5.1/src/kc/mod_r16.cc0000644000175000017500000000301112417262523015706 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/mod_r16.h" ModuleSegmentedROM16k::ModuleSegmentedROM16k(ModuleSegmentedROM16k &tmpl) : ModuleSegmentedMemory(tmpl) { } ModuleSegmentedROM16k::ModuleSegmentedROM16k(const char *filename, const char *name, byte_t id) : ModuleSegmentedMemory(name, id, 2, 0x2000, filename) { } ModuleSegmentedROM16k::~ModuleSegmentedROM16k(void) { } int ModuleSegmentedROM16k::get_segment_index(word_t addr, byte_t val) { return (val >> 4) & 0x01; } word_t ModuleSegmentedROM16k::get_base_address(word_t addr, byte_t val) { return ((val >> 6) & 3) * 0x4000; } ModuleInterface * ModuleSegmentedROM16k::clone(void) { return new ModuleSegmentedROM16k(*this); } KCemu-0.5.1/src/kc/mod_auto.cc0000644000175000017500000000342512417262523016257 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_auto.h" #include "libdbg/dbg.h" using namespace std; ModuleAutoStart::ModuleAutoStart(ModuleAutoStart &tmpl) : ModuleROM(tmpl) { } ModuleAutoStart::ModuleAutoStart(byte_t *rom, const char *name, dword_t size, byte_t id) : ModuleROM(rom, name, size, id) { } ModuleAutoStart::~ModuleAutoStart(void) { } word_t ModuleAutoStart::get_addr(byte_t val) { return (val & 0xe0) << 8; } dword_t ModuleAutoStart::get_size(byte_t val) { return PAGE_SIZE; } byte_t * ModuleAutoStart::get_rom_ptr(byte_t val) { dword_t page = (val >> 2) & 0x07; DBG(2, form("KCemu/ModuleAutoStart/page", "ModuleAutoStart: val = %02xh, page = %d, size = %04xh (PAGE_SIZE = %04xh)\n", val, page, _size, PAGE_SIZE)); if ((page * PAGE_SIZE) > _size) return NULL; return _rom + (page * PAGE_SIZE); } ModuleInterface * ModuleAutoStart::clone(void) { return new ModuleAutoStart(*this); } KCemu-0.5.1/src/kc/keyb3.cc0000644000175000017500000001772412417262523015474 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "cmd/cmd.h" #include "kc/z80.h" #include "kc/pio.h" #include "kc/keys.h" #include "kc/keyb3.h" #include "kc/keyb3k.h" #include "libdbg/dbg.h" /* #define KEYBOARD_CB_DEBUG */ /* #define KEYBOARD_ADD_CB_DEBUG */ class CMD_keyboard_replay : public CMD { private: Keyboard *_k; public: CMD_keyboard_replay(Keyboard *k) : CMD("keyboard-replay") { _k = k; register_cmd("keyboard-replay"); } void execute(CMD_Args *args, CMD_Context context) { const char *text; if (!args) return; text = args->get_string_arg("text"); if (!text) return; _k->replayString(text); } }; Keyboard3::Keyboard3(void) { init(); z80->register_ic(this); _cmd = new CMD_keyboard_replay(this); } Keyboard3::~Keyboard3(void) { delete _cmd; z80->unregister_ic(this); } void Keyboard3::init(void) { _key = -1; _lock = -1; _keysym = 0; _release = 0; _shift = false; _control = false; _replay_idx = 0; //_replay_text = NULL; _replay_offset = 50 * 256; } /* * keysym is the translated key (including shift!) * keycode is only the number of the pressed key */ void Keyboard3::keyPressed(int keysym, int keycode) { int key; switch (keysym) { case KC_KEY_SHIFT: _shift = true; return; case KC_KEY_CONTROL: _control = true; return; case KC_KEY_ALT_GR: return; default: break; } if (_control) if ((keysym >= 0x61) && (keysym <= 0x7a)) keysym -= 0x60; key = __keys[keysym]; if (key == 0xffff) return; if ((key & 0x100) || _shift) key |= 1; /* set shift state if required for this key, see keyb3k.h */ if (key & 0x1000) key &= ~1; /* force unshifted key if the key is shifted on pc keyboard * but not on the kc keyboard */ key &= 0xff; key ^= 1; /* * well, I really don't understand why we need to send * the value with the lowest bit toggled. this doesn't * match the key table in the system manual :-( */ DBG(2, form("KCemu/keyboard/3/key_press", "Keyboard::keyPressed(): <%03xh> %3d [%c] -> %02xh (%3d)\n", keysym & 0xfff, keysym, isprint(keysym) ? keysym : '.', key, key)); _release = 0; _keysym = keysym; // cerr.form("-> %3d, %3d [keyPressed]\n", _key, _lock); if (_key == -1) { _key = key; //cerr.form("-> %3d, %3d [free]\n", _key, _lock); sendKey(); } else { _lock = key; //cerr.form("-> %3d, %3d [locked]\n", _key, _lock); } } void Keyboard3::keyReleased(int keysym, int keycode) { DBG(2, form("KCemu/keyboard/3/key_release", "Keyboard::keyReleased(): <%03xh> %3d [%c] - _keysym = %02xh\n", keysym & 0xfff, keysym, isprint(keysym) ? keysym : '.', _keysym)); switch (keysym) { case KC_KEY_SHIFT: _shift = false; return; case KC_KEY_CONTROL: _control = false; return; case KC_KEY_ALT_GR: return; default: break; } if ((keysym < 0) || (_keysym == keysym)) _release = 1; } void Keyboard3::replayString(const char *text) { /* if (_replay_text == NULL) _replay_text = g_string_new(NULL); g_string_append(_replay_text, text); checkReplay(); */ } void Keyboard3::sendKey(void) { int key; int a, b; int offset; //cerr.form("=> %3d, %3d [sendKey]\n", _key, _lock); #ifdef KEYBOARD_ADD_CB_DEBUG cerr.form("Keyboard: addCallback(): %8Ld, %8ld, %8ld\n", z80->getCounter(), 0, 0); #endif offset = 0; z80->addCallback(offset, this, (void *)0); key = _key; for (a = 1;a < 8;a++) { b = (key & 1) ? KEY_CYCLES_BIT_1 : KEY_CYCLES_BIT_0; offset += b; key >>= 1; #ifdef KEYBOARD_ADD_CB_DEBUG cerr.form("Keyboard: addCallback(): %8Ld, %8ld, %8ld\n", z80->getCounter() + offset, a, offset); #endif z80->addCallback(offset, this, (void *)a); } offset += KEY_CYCLES_T_W; #ifdef KEYBOARD_ADD_CB_DEBUG cerr.form("Keyboard: addCallback(): %8Ld, %8ld, %8ld\n", z80->getCounter() + offset, 8, offset); #endif z80->addCallback(offset, this, (void *)8); key = _key; for (a = 9;a < 16;a++) { b = (key & 1) ? KEY_CYCLES_BIT_1 : KEY_CYCLES_BIT_0; offset += b; key >>= 1; #ifdef KEYBOARD_ADD_CB_DEBUG cerr.form("Keyboard: addCallback(): %8Ld, %8ld, %8ld\n", z80->getCounter() + offset, a, offset); #endif z80->addCallback(offset, this, (void *)a); } offset += KEY_CYCLES_T_DW; #ifdef KEYBOARD_ADD_CB_DEBUG cerr.form("Keyboard: addCallback(): %8Ld, %8ld, %8ld\n", z80->getCounter() + offset, 64, offset); #endif z80->addCallback(offset, this, (void *)64); } int Keyboard3::checkReplay(void) { return 0; #if 0 int key; if (_replay_text == NULL) return -1; key = _replay_text->str[_replay_idx++]; if (_replay_idx >= _replay_text->len) { g_string_free(_replay_text, TRUE); _replay_idx = 0; _replay_text = NULL; } /* * invert case */ if ((key >= 0x41) && (key <= 0x5a)) key += 0x20; else if ((key >= 0x61) && (key <= 0x7a)) key -= 0x20; //cout.form("Keyboard3::checkReplay() ret = %d (%02xh)\n", key, key); switch (key) { case 0x0a: key = 0x0d; break; } /* * FIXME: * we need a return value for keyPressed to learn if the key * was accepted! */ keyPressed(key, 0); keyReleased(key, 0); return key; #endif } void Keyboard3::callback(void *data) { long val = (long)data; #ifdef KEYBOARD_CB_DEBUG static long long last = 0; cerr.form("Keyboard: callback(): %8Ld, %8ld, %8ld\n", z80->getCounter(), val, z80->getCounter() - last); //switch (val) { //case 0: cerr.form(" ### vvv\n"); break; //case 64: cerr.form(" ### ^^^\n"); break; //default: cerr.form("\n"); break; //} last = z80->getCounter(); #endif // if (val == 0) cerr.form("\n"); // cerr.form("[%02x] ", val); switch (val) { default: pio->strobe_B(); break; case 64: if (_lock != -1) { _key = _lock; _lock = -1; } if (_release > 0) { _release--; if (_release == 0) _key = -1; } if (_key != -1) sendKey(); else { /* * triggering strobe here is most likely wrong! */ //pio->strobe_B(); #ifdef KEYBOARD_ADD_CB_DEBUG cerr.form("Keyboard: addCallback(): %8Ld, %8ld, %8ld\n", z80->getCounter() + _replay_offset, 128, _replay_offset); #endif z80->addCallback(_replay_offset, this, (void *)128); } break; case 128: /* * we need an additional delay after normal end of key handling * which is marked by val == 64 to separate the automatically * generated key presses * otherwise we could trigger the kc internal key repeat function * FIXME: * check against the U807 spec if the above statement is true * * an other problem is the screen scrolling that will cause some * characters to be ignored :-( */ if (checkReplay() == 0x0d) _replay_offset = 800 * 256; else _replay_offset = 100 * 256; break; } } void Keyboard3::reset(bool power_on) { init(); } void Keyboard3::reti(void) { } KCemu-0.5.1/src/kc/memory8.cc0000644000175000017500000000647312417262523016056 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/memory8.h" #include "ui/ui.h" #include "libdbg/dbg.h" using namespace std; Memory8::Memory8(void) : Memory() { switch (Preferences::instance()->get_kc_variant()) { case KC_VARIANT_LC80_1k: load_rom(SystemROM::ROM_KEY_SYSTEM1, &_rom1); load_rom(SystemROM::ROM_KEY_SYSTEM2, &_rom2); break; case KC_VARIANT_LC80_2k: load_rom(SystemROM::ROM_KEY_SYSTEM, &_rom); break; case KC_VARIANT_LC80e: load_rom(SystemROM::ROM_KEY_SYSTEM1, &_rome[0x0000]); load_rom(SystemROM::ROM_KEY_SYSTEM2, &_rome[0x1000]); load_rom(SystemROM::ROM_KEY_SYSTEM3, &_rome[0x2000]); break; default: DBG(0, form("KCemu/internal_error", "Memory8: invalid kc variant value: %d\n", Preferences::instance()->get_kc_variant())); break; } memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_rom1, "ROM1", 0x0000, 0x0400, &_rom1[0], 0, 1, 1, KC_VARIANT_LC80_1k }, { &_m_rom2, "ROM2", 0x0800, 0x0400, &_rom2[0], 0, 1, 1, KC_VARIANT_LC80_1k }, { &_m_rom, "ROM", 0x0000, 0x0800, &_rom[0], 0, 1, 1, KC_VARIANT_LC80_2k }, { &_m_rome1, "ROM1", 0x0000, 0x1000, &_rome[0], 0, 1, 1, KC_VARIANT_LC80e }, { &_m_rome2, "ROM2", 0x1000, 0x1000, &_rome[0x1000], 0, 1, 1, KC_VARIANT_LC80e }, { &_m_rome5, "ROM5", 0xc000, 0x1000, &_rome[0x2000], 0, 1, 1, KC_VARIANT_LC80e }, { &_m_ram, "RAM", 0x2000, 0x0400, &_ram[0], 0, 0, 1, KC_VARIANT_LC80_1k }, { &_m_ram, "RAM", 0x2000, 0x0400, &_ram[0], 0, 0, 1, KC_VARIANT_LC80_2k }, { &_m_ram, "RAM", 0x2000, 0x1000, &_ram[0], 0, 0, 1, KC_VARIANT_LC80e }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); } Memory8::~Memory8(void) { z80->unregister_ic(this); } byte_t Memory8::memRead8(word_t addr) { return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void Memory8::memWrite8(word_t addr, byte_t val) { _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * Memory8::get_irm(void) { return (byte_t *)0; } byte_t * Memory8::get_char_rom(void) { return (byte_t *)0; } void Memory8::reset(bool power_on) { if (!power_on) return; scratch_mem(&_ram[0], 0x1000); } void Memory8::dumpCore(void) { } KCemu-0.5.1/src/kc/sound.cc0000644000175000017500000000414112417262523015574 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #if ENABLE_SOUND #include #endif /* ENABLE_SOUND */ #include "kc/sound.h" #define SOUND_BUFFER_SIZE (1024) #define SOUND_SAMPLE_FREQ (44100) void Sound::sdl_sound_callback(void *userdata, unsigned char *stream, int len) { Sound *self = (Sound *)userdata; self->sound_callback(userdata, stream, len); } Sound::Sound(void) { } Sound::~Sound(void) { } void Sound::open_sound(void) { #if ENABLE_SOUND int ret; SDL_AudioSpec wanted, obtained; wanted.freq = SOUND_SAMPLE_FREQ; wanted.format = AUDIO_U8; wanted.channels = 1; wanted.samples = SOUND_BUFFER_SIZE; wanted.callback = sdl_sound_callback; wanted.userdata = this; ret = SDL_OpenAudio(&wanted, &obtained); #if 0 printf("ret = %d\n", ret); printf("obtained.freq = %d\n", obtained.freq); printf("obtained.format = %d\n", obtained.format); printf("obtained.channels = %d\n", obtained.channels); printf("obtained.samples = %d\n", obtained.samples); printf("obtained.silence = %d\n", obtained.silence); printf("obtained.size = %d\n", obtained.size); #endif SDL_PauseAudio(0); #endif /* ENABLE_SOUND */ } void Sound::lock(void) { #if ENABLE_SOUND SDL_LockAudio(); #endif } void Sound::unlock(void) { #if ENABLE_SOUND SDL_UnlockAudio(); #endif } KCemu-0.5.1/src/kc/pio9.cc0000644000175000017500000000424312417262523015327 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/pio9.h" #include "libdbg/dbg.h" PIO9::PIO9(void) { } PIO9::~PIO9(void) { } byte_t PIO9::in(word_t addr) { byte_t val; switch (addr & 3) { case 0: val = in_A_DATA(); break; case 1: val = in_B_DATA(); break; case 2: val = in_A_CTRL(); break; case 3: val = in_B_CTRL(); break; default: assert(0); } DBG(2, form("KCemu/PIO/9/in", "PIO9::in(): %04xh: addr = %04x, val = %02x\n", z80->getPC(), addr, val)); return val; } void PIO9::out(word_t addr, byte_t val) { DBG(3, form("KCemu/PIO/9/out", "PIO9::out(): %04xh: addr = %04x, val = %02x\n", z80->getPC(), addr, val)); switch (addr & 3) { case 0: out_A_DATA(val); break; case 1: out_B_DATA(val); break; case 2: out_A_CTRL(val); break; case 3: out_B_CTRL(val); break; } } void PIO9::change_A(byte_t changed, byte_t val) { } void PIO9::change_B(byte_t changed, byte_t val) { } void PIO9::tape_callback(byte_t val) { static int x = 0; //cout << "PIO9::tape_callback(): " << hex << (int)val << endl; set_B_EXT(0x80, x); x = 0x80 - x; } KCemu-0.5.1/src/kc/mod_512k.cc0000644000175000017500000000256712417262523015777 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/mod_512k.h" Module512k::Module512k(Module512k &tmpl) : ModuleSegmentedMemory(tmpl) { } Module512k::Module512k(const char *name, byte_t id) : ModuleSegmentedMemory(name, id, 32, 0x4000) { } Module512k::~Module512k(void) { } int Module512k::get_segment_index(word_t addr, byte_t val) { return (val >> 2) & 0x1f; } word_t Module512k::get_base_address(word_t addr, byte_t val) { return (val & 0x80) ? 0x8000 : 0x4000; } ModuleInterface * Module512k::clone(void) { return new Module512k(*this); } KCemu-0.5.1/src/kc/mod_ram8.cc0000644000175000017500000000355612417262523016163 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_ram8.h" ModuleRAM8::ModuleRAM8(ModuleRAM8 &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _group = NULL; _size = tmpl._size; _ram = new byte_t[_size]; _addr = tmpl._addr; if (_ram) { memset(_ram, 0, _size); set_valid(true); } _group = memory->register_memory(get_name(), _addr, _size, _ram, 0, 0); } ModuleRAM8::ModuleRAM8(const char *name, word_t addr, dword_t size) : ModuleInterface(name, 0, KC_MODULE_LC_80) { _size = size; _ram = new byte_t[_size]; _addr = addr; if (_ram) { _group = 0; memset(_ram, 0, _size); set_valid(true); } } ModuleRAM8::~ModuleRAM8(void) { if (_group) memory->unregister_memory(_group); delete[] _ram; } void ModuleRAM8::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleRAM8::clone(void) { return new ModuleRAM8(*this); } void ModuleRAM8::reset(bool power_on) { if (power_on) Memory::scratch_mem(_ram, _size); } KCemu-0.5.1/src/kc/memory7.cc0000644000175000017500000001305612417262523016050 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/memory7.h" #include "ui/ui.h" #include "libdbg/dbg.h" using namespace std; Memory7::Memory7(void) : Memory() { load_rom(SystemROM::ROM_KEY_SYSTEM, &_rom_os); load_rom(SystemROM::ROM_KEY_BASIC, &_rom_basic); load_rom(SystemROM::ROM_KEY_CHARGEN, &_rom_chargen); memset(&_irm[0], 0x70, 0x400); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_ram, "RAM", 0x0000, 0x4000, &_ram[0], 0, 0, 1, -1 }, { &_m_basic, "BASIC", 0xc000, 0x2800, &_rom_basic[0], 0, 1, 1, -1 }, { &_m_os, "OS", 0xf000, 0x1000, &_rom_os[0], 0, 1, 1, -1 }, { &_m_irm_ec,"IRM (text)", 0xec00, 0x0400, &_irm[0x400], 1, 0, 1, -1 }, /* * dummy entry needed for get_irm() if color * expansion is not installed */ { &_m_irm_e8,"IRM (color)", 0xe800, 0x0400, &_irm[0], 1, 1, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); register_romdi_handler(this); set_romdi(false); } Memory7::~Memory7(void) { z80->unregister_ic(this); unregister_romdi_handler(this); delete _m_scr; delete _m_ram; delete _m_basic; delete _m_os; delete _m_irm_e8; delete _m_irm_ec; } byte_t Memory7::memRead8(word_t addr) { for (memory_list_t::iterator it = _memory_list.begin();it != _memory_list.end();it++) (*it)->memory_read_byte(addr); return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void Memory7::memWrite8(word_t addr, byte_t val) { for (memory_list_t::iterator it = _memory_list.begin();it != _memory_list.end();it++) (*it)->memory_write_byte(addr, val); _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * Memory7::get_irm(void) { return (byte_t *)get_page_addr_r(0xe800); } byte_t * Memory7::get_char_rom(void) { return (byte_t *)_rom_chargen; } void Memory7::register_romdi_handler(ROMDIInterface *handler) { DBG(1, form("KCemu/Memory7/romdi", "Memory7::register_romdi_handler(): %p\n", handler)); _romdi_list.push_back(handler); } void Memory7::unregister_romdi_handler(ROMDIInterface *handler) { DBG(1, form("KCemu/Memory7/romdi", "Memory7::unregister_romdi_handler(): %p\n", handler)); _romdi_list.remove(handler); } void Memory7::set_romdi(bool val) { DBG(1, form("KCemu/Memory7/romdi", "Memory7::set_romdi(): %s\n", val ? "on" : "off")); _romdi = val; for (romdi_list_t::iterator it = _romdi_list.begin();it != _romdi_list.end();it++) (*it)->romdi(val); reload_mem_ptr(); } void Memory7::romdi(bool val) { DBG(1, form("KCemu/Memory7/romdi", "Memory7::romdi(): BASIC ROM %s\n", val ? "off" : "on")); _m_basic->set_active(!val); } void Memory7::register_memory_handler(MemoryInterface *handler) { _memory_list.push_back(handler); } void Memory7::unregister_memory_handler(MemoryInterface *handler) { _memory_list.remove(handler); } void Memory7::reset(bool power_on) { if (!power_on) return; scratch_mem(&_ram[0], 0x4000); scratch_mem(&_irm[0x0400], 0x0400); if (get_irm() != _irm) scratch_mem(&_irm[0x0], 0x0400); else memset(&_irm[0], 0x70, 0x400); /* * Clear the first 1k of ram with the system variables. This saves * some trouble with the initialization. */ memset(&_ram[0], 0, 0x400); /* * The CPM-Z9 boot module is enabled/disabled by writing to address * ranges f800h-fbffh/fc00h-ffffh. The delete cursor routine at * fa33h uses the cursor address (2dh/2eh) which is initialized by * using cursor row/column from 2bh/2ch (although after using the * cursor address first). * * If the cursor address holds random values we may get memory * writes at addresses that disable the boot module at power on. * * To prevent the following initialization to be overwritten in the * startup routine we also need to initialize the EOR (end of ram) * pointer. * * How is this supposed to work on the real machine? */ _ram[0x2b] = 0x01; /* column */ _ram[0x2c] = 0x01; /* row */ _ram[0x2d] = 0x55; /* cursor address low */ _ram[0x2e] = 0x55; /* cursor address high */ _ram[0x36] = 0x00; /* logical ram end low */ _ram[0x37] = 0xc0; /* logical ram end high */ } void Memory7::dumpCore(void) { ofstream os; os.open("core.z80"); cerr << "Memory: dumping core..." << endl; if (!os) { cerr << "Memory: can't write 'core.z80'" << endl; return; } for (int a = 0;a < 0x10000;a++) os.put(memRead8(a)); os.close(); cerr << "Memory: done." << endl; } KCemu-0.5.1/src/kc/gdc.cc0000644000175000017500000003700612417262523015207 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/gdc.h" #include "libdbg/dbg.h" using namespace std; GDC::GDC(void) : InterfaceCircuit("VIS") { reset(true); z80->register_ic(this); } GDC::~GDC(void) { z80->unregister_ic(this); } byte_t GDC::in(word_t addr) { byte_t val = 0xff; switch (addr & 0x01) { case 0x00: /* * status register * * bit 0 (0x01): 0 not ready, 1 ready ? [17a1h] * bit 1 (0x02): 0 ready, 1 not ready ? [1fa7h] * bit 2 (0x04): 0 not ready, 1 ready ? [1797h] * bit 5 (0x20): 1 while vertical retrace */ val = _control; break; case 0x01: if ((_cmd & 0xe4) == 0xa0) { if ((_ridx & 1) == 0) val = _mem[_ptr]; else { val = _col[_ptr]; _ptr = (_ptr + 1) & 0xffff; } //printf("RDAT: %4d, ptr = %04x, val = %02x\n", _ridx, _ptr, val); } else if (_cmd == 0xe0) { switch (_ridx) { case 0: val = _ptr & 0xff; break; case 1: val = (_ptr >> 8) & 0xff; break; default: val = 0; break; } //printf("CURD: %4d, ptr = %04x, val = %02x\n", _ridx, _ptr, val); } else val = _mem[_ptr]; _ridx++; DBG(2, form("KCemu/GDC/in_data", "GDC::in(): %04xh cmd = %02x, val = %02x\n", addr, _cmd, val)); default: break; } DBG(2, form("KCemu/GDC/in", "GDC::in(): %04xh val = %02x\n", addr, val)); return val; } void GDC::out(word_t addr, byte_t val) { switch (addr & 0x01) { case 0x00: _arg[_idx++] = val; break; case 0x01: info(); _idx = 0; _ridx = 0; _cmd = val; break; } DBG(2, form("KCemu/GDC/out", "GDC::out(): %04xh: %04xh val = %02x [%c]\n", z80->getPC(), addr, val, isprint(val) ? val : '.')); if (_cmd == 0x00) // RESET _screen_on = 0; if ((_cmd & 0xfe) == 0x0e) // SYNC _screen_on = _cmd & 1; if ((_cmd & 0xfe) == 0x6e) // VSYNC {} if ((_cmd == 0x4b) && (_idx == 3)) // CCHAR { _nr_of_lines = _arg[0] & 0x1f; _cursor_top = _arg[1] & 0x1f; _cursor_bottom = (_arg[2] & 0xf8) >> 3; } if (_cmd == 0x6b) // START {} if ((_cmd & 0xfe) == 0x0c) // BCTRL _screen_on = _cmd & 1; if (_cmd == 0x46) // ZOOM {} if (_cmd == 0x49) // CURS { if (_idx == 2) { _ptr = ((int)_arg[1] * 256 + _arg[0]); _pptr = 0; } else if (_idx == 3) { _ptr = (_ptr & 0xffff) | ((_arg[2] & 0x03) << 16); _pptr = (_arg[2] >> 4) & 0x0f; _mask = 1 << _pptr; _mask_c = _mask >> 8; } } if (((_cmd & 0xf0) == 0x70) && (_idx > 0)) // PRAM { int idx = (_cmd & 0x0f) + _idx - 1; if (idx < 16) _pram[idx] = val; } if (_cmd == 0x47) // PITCH {} if (((_cmd & 0xe4) == 0x20) && (_idx > 0)) // WDAT { switch (_cmd & 0x18) { case 0x00: /* type 00 - two byte transfer */ if (_idx & 1) _mem[_ptr] = (_mask & val) | (~_mask & _mem[_ptr]); else { _col[_ptr] = (_mask_c & val) | (~_mask_c & _col[_ptr]); _ptr = (_ptr + 1) & 0xffff; while ((_idx == 2) && _figs_dc > 0) { _mem[_ptr] = (_mask & _arg[0]) | (~_mask & _mem[_ptr]); _col[_ptr] = (_mask_c & _arg[1]) | (~_mask_c & _col[_ptr]); _ptr = (_ptr + 1) & 0xffff; _figs_dc--; } } break; case 0x08: /* type 01 - invalid */ break; case 0x10: /* type 10 - low byte of word */ _mem[_ptr] = (_mask & val) | (~_mask & _mem[_ptr]); _ptr = (_ptr + 1) & 0xffff; break; case 0x18: /* type 11 - high byte of word */ _col[_ptr] = (_mask_c & val) | (~_mask_c & _col[_ptr]); _ptr = (_ptr + 1) & 0xffff; break; } } if ((_cmd == 0x4a) && (_idx > 0)) // MASK { if (_idx == 1) { /* * the z1013 gdc driver only loads the lower byte * into the mask register :-( */ _mask = _arg[0]; } else { _mask = _arg[0] | (_arg[1] << 8); _mask_c = _arg[1]; } } if ((_cmd == 0x4c) && (_idx > 2)) // FIGS _figs_dc = _arg[1] | ((_arg[2] & 0x3f) << 8); if (_cmd == 0x6c) // FIGD {} if (_cmd == 0x68) // GCHRD {} if ((_cmd & 0xe4) == 0xa0) // RDAT _figs_dc = 0; if (_cmd == 0xe0) // CURD {} if (_cmd == 0xc0) // LPRD {} if ((_cmd & 0xe4) == 0xa4) // DMAR {} if ((_cmd & 0xe4) == 0x24) // DMAW {} } byte_t GDC::get_mem(int addr) { return _mem[addr & 0xffff]; } byte_t GDC::get_col(int addr) { return _col[addr & 0xffff]; } bool GDC::get_cursor(int addr) { if (addr != _ptr) return false; return true; } bool GDC::get_cursor(int addr, int line) { if (addr != _ptr) return false; if (line < _cursor_top) return false; if (line > _cursor_bottom) return false; return true; } int GDC::get_nr_of_lines(void) { return _nr_of_lines; } int GDC::get_screen_on(void) { return _screen_on; } long GDC::get_pram_SAD(int idx) { if ((idx < 0) || (idx > 3)) return 0; return _pram[4 * idx] | (_pram[4 * idx + 1] << 8) | ((_pram[4 * idx + 2] & 3) << 16); } long GDC::get_pram_LEN(int idx) { if ((idx < 0) || (idx > 3)) return 0; return ((_pram[4 * idx + 2] & 0xf0) >> 4) | ((_pram[4 * idx + 3] & 0x3f) << 4); } void GDC::v_retrace(bool value) { if (value) _control |= 0x20; else _control &= ~0x20; } void GDC::info(void) { switch (_cmd) { case 0x00: DBG(2, form("KCemu/GDC/RESET", "GDC: RESET ------------------------------- %02x\n" "GDC: RESET mode %s\n" "GDC: RESET -------------------------------\n", _cmd, ((_arg[0] & 0x20) ? ((_arg[0] & 0x02) ? " invalid" : "character") : ((_arg[0] & 0x02) ? " graphic": " mixed")) )); break; case 0x0e: case 0x0f: DBG(2, form("KCemu/GDC/SYNC", "GDC: SYNC -------------------------------- %02x\n" "GDC: SYNC display on/off %s\n" "GDC: SYNC mode (C/G) %s (%d/%d)\n" "GDC: SYNC retrace (I/S) %s (%d/%d)\n" "GDC: SYNC refresh (D) %s\n" "GDC: SYNC drawing (F) %s\n" "GDC: SYNC --------------------------------\n", _cmd, (_cmd & 1) ? " on" : "off", ((_arg[0] & 0x20) ? ((_arg[0] & 0x02) ? " invalid" : "character") : ((_arg[0] & 0x02) ? " graphic" : " mixed")), (_arg[0] & 0x20) >> 5, // C (_arg[0] & 0x02) >> 1, // G ((_arg[0] & 0x08) ? ((_arg[0] & 0x01) ? "zeilensprung" : "doppelbild") : ((_arg[0] & 0x01) ? "invalid" : "kein zeilensprung")), (_arg[0] & 0x08) >> 3, // I (_arg[0] & 0x01), // S ((_arg[0] & 0x04) ? "yes" : " no"), ((_arg[0] & 0x10) ? "retrace only" : " always") )); break; case 0x6e: case 0x6f: DBG(2, form("KCemu/GDC/VSYNC", "GDC: VSYNC ------------------------------- %02x\n" "GDC: VSYNC external sync %s\n" "GDC: VSYNC -------------------------------\n", _cmd, (_cmd & 1) ? "master" : " slave")); break; case 0x4b: DBG(2, form("KCemu/GDC/CCHAR", "GDC: CCHAR ------------------------------- %02x\n" "GDC: CCHAR display cursor %s\n" "GDC: CCHAR number of lines %5d\n" "GDC: CCHAR cursor top %5d\n" "GDC: CCHAR cursor bottom %5d\n" "GDC: CCHAR steady cursor %s\n" "GDC: CCHAR cursor blink frequency %5d\n" "GDC: CCHAR -------------------------------\n", _cmd, (_arg[0] & 0x80) ? " on" : "off", _nr_of_lines, _cursor_top, _cursor_bottom, (_arg[1] & 0x20) ? " on" : "off", ((_arg[1] & 0xc0) >> 6) | ((_arg[2] & 0x07) << 2))); break; case 0x6b: DBG(2, form("KCemu/GDC/START", "GDC: START ------------------------------- %02x\n" "GDC: START -------------------------------\n", _cmd)); break; case 0x0c: case 0x0d: DBG(2, form("KCemu/GDC/BCTRL", "GDC: BCTRL ------------------------------- %02x\n" "GDC: BCTRL display on/off %s\n" "GDC: BCTRL -------------------------------\n", _cmd, (_cmd & 1) ? " on" : "off")); break; case 0x46: DBG(2, form("KCemu/GDC/ZOOM", "GDC: ZOOM -------------------------------- %02x\n" "GDC: ZOOM --------------------------------\n", _cmd)); break; case 0x49: DBG(2, form("KCemu/GDC/CURS", "GDC: CURS -------------------------------- %02x\n" "GDC: CURS set cursor to addr: %05x\n" "GDC: CURS point address: %02x\n" "GDC: CURS --------------------------------\n", _cmd, _ptr, _pptr)); break; case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: case 0x78: case 0x79: case 0x7a: case 0x7b: case 0x7c: case 0x7d: case 0x7e: case 0x7f: DBG(2, form("KCemu/GDC/PRAM", "GDC: PRAM -------------------------------- %02x\n" "GDC: PRAM write starting at register %2d\n" "GDC: PRAM register 0: %04x %04x %04x %04x\n" "GDC: PRAM register 4: %04x %04x %04x %04x\n" "GDC: PRAM register 8: %04x %04x %04x %04x\n" "GDC: PRAM register 12: %04x %04x %04x %04x\n" "GDC: PRAM SAD/LEN 1 %010x/%010x\n" "GDC: PRAM IM/WD 1 %s/%d\n" "GDC: PRAM SAD/LEN 2 %010x/%010x\n" "GDC: PRAM IM/WD 2 %s/%d\n" "GDC: PRAM SAD/LEN 3 %010x/%010x\n" "GDC: PRAM IM/WD 3 %s/%d\n" "GDC: PRAM SAD/LEN 4 %010x/%010x\n" "GDC: PRAM IM/WD 4 %s/%d\n" "GDC: PRAM --------------------------------\n", _cmd, _cmd & 15, _pram[ 0], _pram[ 1], _pram[ 2], _pram[ 3], _pram[ 4], _pram[ 5], _pram[ 6], _pram[ 7], _pram[ 8], _pram[ 9], _pram[10], _pram[11], _pram[12], _pram[13], _pram[14], _pram[15], _pram[0] | (_pram[1] << 8) | ((_pram[2] & 3) << 16), ((_pram[2] & 0xf0) >> 4) | ((_pram[3] & 0x3f) << 4), ((_pram[3] & 0x40) >> 6) ? " graphic" : "character", (_pram[3] & 0x80) >> 7, _pram[4] | (_pram[5] << 8) | ((_pram[6] & 3) << 16), ((_pram[6] & 0xf0) >> 4) | ((_pram[7] & 0x3f) << 4), ((_pram[7] & 0x40) >> 6) ? " graphic" : "character", (_pram[7] & 0x80) >> 7, _pram[8] | (_pram[9] << 8) | ((_pram[10] & 3) << 16), ((_pram[10] & 0xf0) >> 4) | ((_pram[11] & 0x3f) << 4), ((_pram[11] & 0x40) >> 6) ? " graphic" : "character", (_pram[11] & 0x80) >> 7, _pram[12] | (_pram[13] << 8) | ((_pram[14] & 3) << 16), ((_pram[14] & 0xf0) >> 4) | ((_pram[15] & 0x3f) << 4), ((_pram[15] & 0x40) >> 6) ? " graphic" : "character", (_pram[15] & 0x80) >> 7)); break; case 0x47: DBG(2, form("KCemu/GDC/PITCH", "GDC: PITCH ------------------------------- %02x\n" "GDC: PITCH line width %5d\n" "GDC: PITCH -------------------------------\n", _cmd, _arg[0])); break; case 0x20: case 0x21: case 0x22: case 0x23: case 0x28: case 0x29: case 0x2a: case 0x2b: case 0x30: case 0x31: case 0x32: case 0x33: case 0x38: case 0x39: case 0x3a: case 0x3b: DBG(2, form("KCemu/GDC/WDAT", "GDC: WDAT -------------------------------- %02x\n" "GDC: WDAT type %d\n" "GDC: WDAT MOD %d\n" "GDC: WDAT arg[0] 0x%02x\n" "GDC: WDAT arg[1] 0x%02x\n" "GDC: WDAT --------------------------------\n", _cmd, (_cmd & 0x18) >> 3, (_cmd & 3), _arg[0], _arg[1])); break; case 0x4a: DBG(2, form("KCemu/GDC/MASK", "GDC: MASK -------------------------------- %02x\n" "GDC: MASK mask %04x\n" "GDC: MASK --------------------------------\n", _cmd, _mask)); break; case 0x4c: DBG(2, form("KCemu/GDC/FIGS", "GDC: FIGS -------------------------------- %02x\n" "GDC: FIGS count %05d\n" "GDC: FIGS --------------------------------\n", _cmd, _figs_dc)); break; case 0x6c: DBG(2, form("KCemu/GDC/FIGD", "GDC: FIGD -------------------------------- %02x\n" "GDC: FIGD --------------------------------\n", _cmd)); break; case 0x68: DBG(2, form("KCemu/GDC/GCHRD", "GDC: GCHRD ------------------------------- %02x\n" "GDC: GCHRD -------------------------------\n", _cmd)); break; case 0xa0: case 0xa1: case 0xa2: case 0xa3: case 0xa8: case 0xa9: case 0xaa: case 0xab: case 0xb0: case 0xb1: case 0xb2: case 0xb3: case 0xb8: case 0xb9: case 0xba: case 0xbb: DBG(2, form("KCemu/GDC/RDAT", "GDC: RDAT -------------------------------- %02x\n" "GDC: RDAT type %d\n" "GDC: RDAT MOD %d\n" "GDC: RDAT --------------------------------\n", _cmd, (_cmd & 0x18) >> 3, (_cmd & 3))); break; case 0xe0: DBG(2, form("KCemu/GDC/CURD", "GDC: CURD -------------------------------- %02x\n" "GDC: CURD --------------------------------\n", _cmd)); break; case 0xc0: DBG(2, form("KCemu/GDC/LPRD", "GDC: LPRD -------------------------------- %02x\n" "GDC: LPRD --------------------------------\n", _cmd)); break; case 0xa4: case 0xa5: case 0xa6: case 0xa7: case 0xac: case 0xad: case 0xae: case 0xaf: case 0xb4: case 0xb5: case 0xb6: case 0xb7: case 0xbc: case 0xbd: case 0xbe: case 0xbf: DBG(2, form("KCemu/GDC/DMAR", "GDC: DMAR -------------------------------- %02x\n" "GDC: DMAR type %d\n" "GDC: DMAR MOD %d\n" "GDC: DMAR --------------------------------\n", _cmd, (_cmd & 0x18) >> 3, (_cmd & 3))); break; case 0x24: case 0x25: case 0x26: case 0x27: case 0x2c: case 0x2d: case 0x2e: case 0x2f: case 0x34: case 0x35: case 0x36: case 0x37: case 0x3c: case 0x3d: case 0x3e: case 0x3f: DBG(2, form("KCemu/GDC/DMAW", "GDC: DMAW -------------------------------- %02x\n" "GDC: DMAW type %d\n" "GDC: DMAW MOD %d\n" "GDC: DMAW --------------------------------\n", _cmd, (_cmd & 0x18) >> 3, (_cmd & 3))); break; default: cout << "CMD: 0x" << hex << (int)_cmd << " -"; for (int a = 0;a < _idx;a++) cout << " 0x" << hex << (int)_arg[a]; cout << endl; } } void GDC::reti(void) { } void GDC::irqreq(void) { } word_t GDC::irqack(void) { return IRQ_NOT_ACK; } void GDC::reset(bool power_on) { _idx = 0; _ptr = 0; _pptr = 0; _mask = 0; _mask_c = 0; _control = 5; _figs_dc = 0; _screen_on = 0; _nr_of_lines = 0; _cursor_top = 1; _cursor_bottom = 0; memset(_pram, 0, 16); memset(_mem, 0x20, 65536); // FIXME: handle screen blanking memset(_col, 0x00, 65536); } KCemu-0.5.1/src/kc/vdip.cc0000644000175000017500000002245612417262523015417 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/pio.h" #include "kc/z80.h" #include "kc/vdip.h" #include "kc/prefs/prefs.h" #include "cmd/cmd.h" #include "libdbg/dbg.h" class CMD_vdip_attach : public CMD { private: VDIP *_vdip; static const char * _path; protected: long get_slot_no(CMD_Args *args) { long n = 0; if (args && args->has_arg("slot")) n = args->get_long_arg("slot"); return n; } public: CMD_vdip_attach(VDIP *vdip) : CMD("vdip-attach") { _vdip = vdip; register_cmd("vdip-attach", 0); register_cmd("vdip-detach", 2); } void execute(CMD_Args *args, CMD_Context context) { const char *filename; filename = NULL; switch (context) { /* * vdip-attach */ case 0: if (!args) args = new CMD_Args(); filename = args->get_string_arg("filename"); if (!filename) { args->set_long_arg("ui-file-select-dir-only", 1); args->set_string_arg("ui-file-select-title", _("Select root directory...")); if (_path) args->set_string_arg("ui-file-select-path", _path); args->add_callback("ui-file-select-CB-ok", this, 1); CMD_EXEC_ARGS("ui-file-select", args); return; } break; /* * ui-file-select-CB-ok */ case 1: if (args) filename = args->get_string_arg("filename"); break; /* * vdip-detach */ case 2: if (get_slot_no(args) == 0) _vdip->set_root(""); return; } if (filename) _vdip->set_root(filename); } }; const char * CMD_vdip_attach::_path = NULL; VDIP::VDIP(void) : Callback("Vinculum USB") { const char *vdip_root_1 = kcemu_vdip_root; if (vdip_root_1 == NULL) vdip_root_1 = Preferences::instance()->get_string_value("vdip_root_1", NULL); if (vdip_root_1 == NULL) vdip_root_1 = ""; _pio = NULL; _file = NULL; _root = vdip_root_1; _cmd = NULL; _cwd = new StringList(); _attach_cmd = new CMD_vdip_attach(this); reset(); } VDIP::~VDIP(void) { } string VDIP::get_firmware_version(void) const { return "03.66VDAPF"; } bool VDIP::is_short_command_set(void) const { return _short_command_set; } void VDIP::set_short_command_set(bool val) { _short_command_set = val; } bool VDIP::is_binary_mode(void) const { return _binary_mode; } void VDIP::set_binary_mode(bool val) { _binary_mode = val; } FILE * VDIP::get_file(void) const { return _file; } void VDIP::set_file(FILE *file) { _file = file; } void VDIP::register_pio(PIO *pio) { _pio = pio; reset(); } string VDIP::get_root(void) const { return _root; } void VDIP::set_root(string root) { bool had_disk = has_disk(); _root = root; if (_pio) { if (had_disk != has_disk()) { if (has_disk()) _output_buffer = is_short_command_set() ? "DD2\r" : "Device Detected P2\r"; else _output_buffer = is_short_command_set() ? "DR2\r" : "Device Removed P2\r"; set_pio_ext_b(0x02); z80->addCallback(20000, this, NULL); } } CMD_Args *args = new CMD_Args(); args->set_long_arg("slot", 0); args->set_string_arg("filename", _root.c_str()); CMD_EXEC_ARGS("ui-vdip-update-MSG", args); delete args; } bool VDIP::has_disk(void) { return !_root.empty(); } bool VDIP::is_root(void) { return _cwd->size() == 0; } string VDIP::get_cwd(void) const { string cwd = get_root() + "/" + _cwd->join('/'); return cwd; } string VDIP::get_path(string dir) const { string path = get_cwd() + "/" + dir; return path; } void VDIP::chdir_up(void) { if (_cwd->size() > 0) _cwd->pop_back(); } void VDIP::chdir_root(void) { _cwd->clear(); } void VDIP::chdir(string dir) { _cwd->push_back(dir); } void VDIP::set_pio_ext_b(byte_t val) { _pio_ext = val; _pio->set_B_EXT(0x03, _pio_ext); } void VDIP::callback(void *data) { _pio->strobe_B(); } void VDIP::reset(void) { _reset = false; _binary_mode = true; _short_command_set = false; _input_data = -1; _input_buffer = ""; _input = false; _output = -1; _output_buffer = "\rVer " + get_firmware_version() + " On-Line:\r"; if (has_disk()) _output_buffer += "Device Detected P2\rNo Upgrade\r"; _output_buffer += "D:\\>\r"; _pio_ext = 0; _cwd->clear(); if (_file) { fclose(_file); _file = NULL; } if (_pio) { set_pio_ext_b(0x02); z80->addCallback(20000, this, NULL); } } byte_t VDIP::read_byte(void) { if (_reset) return 0xff; int a = _output; _output = -1; DBG(2, form("KCemu/VDIP/read_byte", "VDIP: %04xh [%10Ld]: read_byte -> %02x ('%c')\n", z80->getPC(), z80->getCounter(), a & 0xff, isprint(a) ? a : '.')); return a; } void VDIP::latch_byte(void) { if (_reset) return; if (!_output_buffer.empty()) { _output = _output_buffer.at(0); _output_buffer = _output_buffer.substr(1); } DBG(2, form("KCemu/VDIP/latch_byte", "VDIP: %04xh [%10Ld]: latch_byte -> %02x ('%c')\n", z80->getPC(), z80->getCounter(), _output & 0xff, isprint(_output) ? _output : '.')); } void VDIP::read_end(void) { if (_reset) return; DBG(2, form("KCemu/VDIP/read_end", "VDIP: %04xh [%10Ld]: read_end, output buffer size = %d\n", z80->getPC(), z80->getCounter(), _output_buffer.length())); if (_output_buffer.empty()) set_pio_ext_b(0x01); else z80->addCallback(50, this, NULL); } VDIP_CMD * VDIP::decode_command(string buf) { StringList *list = NULL; VDIP_CMD *vdip_cmd = NULL; if (buf.length() == 0) { vdip_cmd = VDIP_CMD::create_command(this, CMD_EMPTY); } else { list = new StringList(buf, ' '); string cmd = list->front(); if (cmd.length() == 1) vdip_cmd = VDIP_CMD::create_command(this, (vdip_command_t)(cmd.at(0) & 0xff)); else vdip_cmd = VDIP_CMD::create_command(this, list->front()); } if (list && (list->size() > 1)) { list->pop_front(); vdip_cmd->set_args(list); } return vdip_cmd; } void VDIP::write_byte(byte_t val) { if (_reset) return; _input_data = val; DBG(2, form("KCemu/VDIP/write_byte", "VDIP: %04xh [%10Ld]: write_byte <- %02xh ('%c'), input buffer size = %d\n", z80->getPC(), z80->getCounter(), val, isprint(val) ? val : '.', _input_buffer.length())); } void VDIP::write_end(void) { if (_reset) return; DBG(2, form("KCemu/VDIP/write_end", "VDIP: %04xh [%10Ld]: write_end <- %02x ('%c'), input buffer size = %d, CMD = %s\n", z80->getPC(), z80->getCounter(), _input_data, isprint(_input_data) ? _input_data: '.', _input_buffer.length(), _cmd == NULL ? "" : "active")); if (_cmd != NULL) { _cmd->handle_input(_input_data); } else if (_input_data < 0) { // ignore bogus signals on startup } else if (_input_data != 0x0d) { _input_buffer += _input_data; _input_data = -1; } else { string text; for (unsigned int a = 0; a < _input_buffer.length(); a++) text += isprint(_input_buffer.at(a)) ? _input_buffer.at(a) : '.'; text += " ["; for (unsigned int a = 0; a < _input_buffer.length(); a++) { char buf[10]; snprintf(buf, sizeof (buf), "%02x ", _input_buffer.at(a) & 0xff); text += buf; } text += "]"; DBG(2, form("KCemu/VDIP/execute", "VDIP: %04xh [%10Ld]: execute command: %s\n", z80->getPC(), z80->getCounter(), text.c_str())); _cmd = decode_command(_input_buffer); _cmd->exec(); } if (_cmd != NULL) { string response = _cmd->get_response(_input_buffer); if (response.length() > 0) { _input = false; _input_buffer = ""; _output_buffer = response; set_pio_ext_b(0x02); z80->addCallback(1000, this, NULL); delete _cmd; _cmd = NULL; } } } int VDIP::callback_A_in(void) { return _output; } int VDIP::callback_B_in(void) { return -1; } void VDIP::callback_A_out(byte_t val) { } void VDIP::callback_B_out(byte_t val) { } KCemu-0.5.1/src/kc/disk.cc0000644000175000017500000001520012417262523015374 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/fdc.h" #include "kc/disk.h" #include "kc/floppy.h" #include "cmd/cmd.h" #include "sys/sysdep.h" #include "ui/status.h" #include "libdbg/dbg.h" class CMD_disk_attach : public CMD { private: Disk *_d; static const char * _path; protected: int get_disk_no(CMD_Args *args) { int n = 0; if (args && args->has_arg("disk")) n = args->get_long_arg("disk"); return n; } public: CMD_disk_attach(Disk *d) : CMD("disk-attach") { _d = d; register_cmd("disk-attach", 0); register_cmd("disk-detach", 3); } void execute(CMD_Args *args, CMD_Context context) { bool create; char buf[1000]; disk_error_t err; char *shortname; const char *filename; create = false; filename = NULL; switch (context) { /* * disk-attach */ case 0: if (!args) args = new CMD_Args(); filename = args->get_string_arg("filename"); if (!filename) { args->set_string_arg("ui-file-select-title", _("Select disk...")); if (_path) args->set_string_arg("ui-file-select-path", _path); args->add_callback("ui-file-select-CB-ok", this, 1); CMD_EXEC_ARGS("ui-file-select", args); return; } break; /* * ui-file-select-CB-ok */ case 1: if (args) filename = args->get_string_arg("filename"); break; /* * ui-dialog-yes-no-CB-yes */ case 2: if (args) filename = args->get_string_arg("filename"); create = true; break; /* * disk-detach */ case 3: _d->detach(get_disk_no(args)); return; } if (filename) { _path = filename; err = _d->attach(get_disk_no(args), filename, create); switch (err) { case DISK_NOENT: if (!create) { args->set_string_arg("ui-dialog-title", _("create file?")); args->set_string_arg("ui-dialog-text", _("The file '%s' doesn't exist.\n" "Do you want to create it?")); args->set_string_arg("ui-dialog-text-arg", "filename"); args->add_callback("ui-dialog-yes-no-CB-yes", this, 2); CMD_EXEC_ARGS("ui-dialog-yes-no", args); } break; case DISK_OK: shortname = sys_basename(filename); snprintf(buf, sizeof(buf), _("disk-file `%s' attached."), shortname); free(shortname); Status::instance()->setMessage(buf); break; default: Status::instance()->setMessage(_("Can't attach disk-file.")); break; } } } }; const char * CMD_disk_attach::_path = NULL; Disk::Disk() { _cmd = new CMD_disk_attach(this); } Disk::~Disk() { delete _cmd; } bool Disk::create_disk_file(FILE *f) { for (int c = 0;c < 80;c++) for (int h = 0;h < 2;h++) for (int s = 1;s < 6;s++) if (!write_sector(f, c, h, s)) return false; return true; } bool Disk::write_sector(FILE *f, int c, int h, int s) { if (fputc(c, f) == EOF) // acyl return false; if (fputc(h, f) == EOF) // asid return false; if (fputc(c, f) == EOF) // lcyl return false; if (fputc(h, f) == EOF) // lsid return false; if (fputc(s, f) == EOF) // lsec return false; if (fputc(3, f) == EOF) // llen return false; if (fputc(0, f) == EOF) // count low return false; if (fputc(4, f) == EOF) // count high return false; for (int a = 0;a < 1024;a++) if (fputc(0xe5, f) == EOF) return false; return true; } disk_error_t Disk::attach(int disk_no, const char *filename, bool create) { char *ptr; disk_error_t ret; if (fdc_fdc == NULL) return DISK_ERROR; if (filename == NULL) return DISK_ERROR; ret = DISK_OK; if (create) { DBG(1, form("KCemu/Disk/attach", "Disk::attach(): [disk %d] create (%s)\n", disk_no, filename)); FILE *f = fopen(filename, "wb"); if (f == NULL) return DISK_ERROR; bool create_ok = create_disk_file(f); fclose(f); if (!create_ok) return DISK_ERROR; } DBG(1, form("KCemu/Disk/attach", "Disk::attach(): [disk %d] open (%s)\n", disk_no, filename)); Floppy *floppy = fdc_fdc->get_floppy(disk_no); if (floppy != NULL) { if (access(filename, R_OK) == 0) { ptr = strdup(filename); } else { ptr = (char *)malloc(strlen(kcemu_datadir) + strlen(filename) + 11); strcpy(ptr, kcemu_datadir); strcat(ptr, "/disks/"); strcat(ptr, filename); if (access(ptr, R_OK) != 0) strcat(ptr, ".gz"); } if (access(ptr, R_OK) == 0) { if (!floppy->attach(ptr)) ret = DISK_ERROR; } else { ret = DISK_NOENT; } free(ptr); } CMD_Args *args = new CMD_Args(); args->set_long_arg("disk", disk_no); args->set_string_arg("filename", filename); CMD_EXEC_ARGS("ui-disk-update-MSG", args); delete args; return ret; } disk_error_t Disk::detach(int disk_no) { if (fdc_fdc == NULL) return DISK_ERROR; DBG(1, form("KCemu/Disk/detach", "Disk::detach(): [disk %d] close\n", disk_no)); Floppy *floppy = fdc_fdc->get_floppy(disk_no); if (floppy != NULL) floppy->attach(NULL); CMD_Args *args = new CMD_Args(); args->set_long_arg("disk", disk_no); args->set_string_arg("filename", ""); CMD_EXEC_ARGS("ui-disk-update-MSG", args); delete args; return DISK_OK; } KCemu-0.5.1/src/kc/memory2.cc0000644000175000017500000000606612417262523016046 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/prefs/types.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/memory2.h" #include "ui/ui.h" using namespace std; Memory2::Memory2(void) : Memory() { _access_color = false; load_rom(SystemROM::ROM_KEY_CAOSE, &_rom_caos); memory_group_t mem[] = { { &_m_scr, "-", 0x0000, 0x10000, 0, 256, 0, 1, -1 }, { &_m_ram, "RAM 0", 0x0000, 0x4000, &_ram[0], 0, 0, 1, -1 }, { &_m_irm, "IRM", 0x8000, 0x4000, &_irm[0], 1, 0, 1, -1 }, { &_m_caos, "CAOS", 0xe000, 0x2000, &_rom_caos[0], 2, 1, 1, -1 }, { 0, }, }; init_memory_groups(mem); reset(true); z80->register_ic(this); } Memory2::~Memory2(void) { z80->unregister_ic(this); } byte_t Memory2::memRead8(word_t addr) { if (_m_irm->is_active() && (addr >= 0x8000) && (addr <= 0xc000)) ui->memory_read(addr); return _memrptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK]; } void Memory2::memWrite8(word_t addr, byte_t val) { if (_m_irm->is_active() && (addr >= 0x8000) && (addr <= 0xc000)) ui->memory_write(addr); _memwptr[addr >> MemArea::PAGE_SHIFT][addr & MemArea::PAGE_MASK] = val; } byte_t * Memory2::get_irm(void) { return (byte_t *)_irm; } byte_t * Memory2::get_char_rom(void) { return (byte_t *)0; } void Memory2::dumpCore(void) { #if 0 ofstream os; os.open("core.z80"); cout.form("Memory: dumping core...\n"); if (!os) { cerr << "can't write 'core.z80'\n"; exit(0); } os.write(&_ram[0], 0x4000); os.write(&_irm[0], 0x4000); os.close(); cout.form("Memory: done.\n"); #endif } void Memory2::enableCAOS(int v) { _m_caos->set_active(v); reload_mem_ptr(); } void Memory2::enableIRM(int v) { _m_irm->set_active(v); reload_mem_ptr(); } void Memory2::enableRAM(int v) { _m_ram->set_active(v); reload_mem_ptr(); } void Memory2::protectRAM(int v) { _m_ram->set_readonly(!v); reload_mem_ptr(); } void Memory2::reset(bool power_on) { _m_ram->set_readonly(false); _m_ram->set_active(true); _m_irm->set_active(true); _m_caos->set_active(true); reload_mem_ptr(); if (!power_on) return; scratch_mem(&_ram[0], 0x4000); scratch_mem(&_irm[0], 0x4000); } KCemu-0.5.1/src/kc/mod_raf.cc0000644000175000017500000001032112417262523016050 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/prefs/prefs.h" #include "kc/z80.h" #include "kc/memory.h" #include "kc/mod_raf.h" #include "libdbg/dbg.h" using namespace std; ModuleRAF::ModuleRAF(ModuleRAF &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _port = tmpl._port; _size = tmpl._size; _ram[0] = new byte_t[_size]; _ram[1] = new byte_t[_size]; Memory::scratch_mem(_ram[0], _size); Memory::scratch_mem(_ram[1], _size); _portg = ports->register_ports(get_name(), _port, 4, this, 0); set_valid(true); } ModuleRAF::ModuleRAF(const char *name, byte_t port, dword_t size) : ModuleInterface(name, 0, KC_MODULE_KC_85_1) { _ram[0] = NULL; _ram[1] = NULL; _port = port; _size = size / 2; _portg = NULL; set_valid(true); } ModuleRAF::~ModuleRAF(void) { if (_ram[0]) delete[] _ram[0]; if (_ram[1]) delete[] _ram[1]; if (_portg) ports->unregister_ports(_portg); _ram[0] = NULL; _ram[1] = NULL; _portg = NULL; } void ModuleRAF::m_out(word_t addr, byte_t val) { } ModuleInterface * ModuleRAF::clone(void) { return new ModuleRAF(*this); } void ModuleRAF::reset(bool power_on) { } byte_t ModuleRAF::in(word_t addr) { byte_t val = 0xff; switch (addr & 3) { case 0: val = in_data(0, addr); break; case 1: val = in_ctrl(0, addr); break; case 2: val = in_data(1, addr); break; case 3: val = in_ctrl(1, addr); break; } DBG(2, form("KCemu/ModuleRAF/in", "ModuleRAF::in(): %04xh: %04x <- %02x\n", z80->getPC(), addr, val)); return val; } byte_t ModuleRAF::in_ctrl(int card, word_t addr) { byte_t val = 0xff; DBG(2, form("KCemu/ModuleRAF/ctrl", "ModuleRAF::in_ctrl(): %04xh: card%d: %04x <- %02x\n", z80->getPC(), card, addr, val)); return val; } byte_t ModuleRAF::in_data(int card, word_t addr) { byte_t val = 0xff; dword_t mem = _addr[card] | ((addr >> 8) & 0x7f); if (mem < _size) val = _ram[card][mem]; DBG(2, form("KCemu/ModuleRAF/data", "ModuleRAF::in_data(): %04xh: card%d: addr = %06xh <- %02x\n", z80->getPC(), card, mem, val)); return val; } void ModuleRAF::out(word_t addr, byte_t val) { DBG(2, form("KCemu/ModuleRAF/out", "ModuleRAF::out(): %04xh: %04x -> %02x\n", z80->getPC(), addr, val)); switch (addr & 3) { case 0: out_data(0, addr, val); break; case 1: out_ctrl(0, addr, val); break; case 2: out_data(1, addr, val); break; case 3: out_ctrl(1, addr, val); break; } } void ModuleRAF::out_ctrl(int card, word_t addr, byte_t val) { word_t ts = (addr & 0xff00) | val; _prot[card] = (ts >> 15) | (ts >> 14); _addr[card] = (ts & 0x3fff) << 7; DBG(2, form("KCemu/ModuleRAF/ctrl", "ModuleRAF::out_ctrl(): %04xh: card%d: addr = %06xh, protection = %s\n", z80->getPC(), card, _addr[card], _prot[card] ? "ON" : "OFF")); } void ModuleRAF::out_data(int card, word_t addr, byte_t val) { dword_t mem = _addr[card] | ((addr >> 8) & 0x7f); DBG(2, form("KCemu/ModuleRAF/data", "ModuleRAF::out_data(): %04xh: card%d: addr = %06xh -> %02x%s\n", z80->getPC(), card, mem, val, _prot[card] ? " protection = ON": "")); if ((_prot[card] == 0) && (mem < _size)) _ram[card][mem] = val; } KCemu-0.5.1/src/kc/mod_ram.cc0000644000175000017500000000413412417262523016064 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/system.h" #include "kc/kc.h" #include "kc/mod_ram.h" ModuleRAM::ModuleRAM(ModuleRAM &tmpl) : ModuleInterface(tmpl.get_name(), tmpl.get_id(), tmpl.get_type()) { _val = 0; _group = NULL; _ram = new byte_t[RAM_SIZE]; if (_ram) { memset(_ram, 0, RAM_SIZE); set_valid(true); } } ModuleRAM::ModuleRAM(const char *name, byte_t id) : ModuleInterface(name, id, KC_MODULE_KC_85_3) { _ram = new byte_t[RAM_SIZE]; if (_ram) { _group = 0; memset(_ram, 0, RAM_SIZE); set_valid(true); } } ModuleRAM::~ModuleRAM(void) { if (_group) memory->unregister_memory(_group); delete[] _ram; } void ModuleRAM::m_out(word_t addr, byte_t val) { if (((_val & 0xc3) ^ (val & 0xc3)) == 0) return; word_t a = (val & 0xc0) << 8; if (_group) { memory->unregister_memory(_group); _group = 0; } if (val & 3) _group = memory->register_memory(get_name(), a, RAM_SIZE, _ram, (addr >> 8), (val & 2) == 0); _val = val; } ModuleInterface * ModuleRAM::clone(void) { return new ModuleRAM(*this); } void ModuleRAM::reset(bool power_on) { if (power_on) Memory::scratch_mem(_ram, RAM_SIZE); } KCemu-0.5.1/src/libtape/0000755000175000017500000000000012417262523015160 5ustar glaubitzglaubitzKCemu-0.5.1/src/libtape/show_tap.c0000644000175000017500000000467612417262523017165 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include static int nr = 0; void list_file(FILE *f, const char *name) { FILE *of; char oname[100]; const char *fname; int block, nr_blocks; unsigned char buf[129], kcname[12]; unsigned short addr, start, autostart; fname = strrchr(name, '/'); if (fname) fname++; else fname = name; nr_blocks = 0; while (242) { if (fread(buf, 1, 129, f) != 129) { if (nr_blocks > 0) { printf("read error\n"); } return; } nr_blocks++; block = buf[0]; if (block == 1) { addr = buf[18] | (buf[19] << 8); start = buf[22] | (buf[23] << 8); autostart = (buf[17] > 2); memcpy(kcname, &buf[1], 11); kcname[11] = '\0'; printf("%-40s ", fname); printf("%-13s ", kcname); printf("%04x ", addr); if (!autostart) printf("%04x ", start); else printf("- "); sprintf(oname, "out.%04d.img", nr++); of = fopen(oname, "wb"); } if (of) { fwrite(&buf[1], 1, 128, of); } if (block == 0xff) { printf("%d blocks\n", nr_blocks); nr_blocks = 0; if (of) { fclose(of); of = NULL; } if (fread(buf, 1, 16, f) != 16) { return; } } } } int main(int argc, char **argv) { int a; FILE *f; char buf[16]; printf("FILENAME KC-NAME " "ADDR START LENGTH\n"); for (a = 1;a < argc;a++) { f = fopen(argv[a], "rb"); if (!f) continue; if (fread(buf, 1, 16, f) != 16) { fclose(f); exit(2); } if (strncmp((const char *)&buf[1], "KC-TAPE by AF", 13) != 0) { fclose(f); exit(3); } list_file(f, argv[a]); fclose(f); } return 0; } KCemu-0.5.1/src/libtape/kctape.cc0000644000175000017500000003176512417262523016752 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include "kc/system.h" #ifdef USE_INCLUDED_GETOPT #include "getopt/getopt.h" #else #ifdef HAVE_GETOPT #include #endif #endif #include "libtape/kct.h" #include "fileio/load.h" using namespace std; typedef enum { ADD_MODE_NONE = 0, ADD_MODE_RAW = 1, ADD_MODE_KC85_1 = 2, ADD_MODE_KC85_3 = 3, } add_mode_t; static add_mode_t _add_mode = ADD_MODE_NONE; static int _verbose = 0; static bool _list_flag = false; static bool _create_flag = false; static bool _print_bam = false; static bool _print_block_list = false; static char * _tape_name = 0; static char * _extract_name = 0; static char * _output_name = 0; static char * _remove_name = 0; static char * _dump_name = 0; static KCTFile kct_file; static void banner(void) { cout << (" _ ______ _\n" " | |/ / ___| |_ __ _ _ __ ___ KCtape 0.3\n" " | ' / | | __/ _` | '_ \\ / _ \\ (c) 1997-2003 Torsten Paul\n" " | . \\ |___| || (_| | |_) | __/ \n" " |_|\\_\\____|\\__\\__,_| .__/ \\___| http://kcemu.sourceforge.net/\n" " |_|\n"); } static void usage(char *argv0, int exit_value) { banner(); cout << _("\n" "KCtape is part of KCemu the KC 85/4 Emulator and comes with\n" "ABSOLUTELY NO WARRANTY; for details run `kcemu --warranty'.\n" "This is free software, and you are welcome to redistribute it\n" "under certain conditions; run `kcemu --license' for details.\n" "\n" "usage: kctape -t tapefile [command [command_args]]\n" "\n" " commands:\n" " ---------\n" "\n" " -h|--help show this help text\n" " -v|--verbose be verbose about what's going on\n" " -t|--tape tape archive to process\n" " -l|--list list content of tape archive\n" " -c|--create create tape archive if it doesn't exist\n" " -a|--add add files (KC85/3 mode)\n" " -1|--add1 add files (KC85/1 mode)\n" " -A|--add-raw add binary files\n" " -r|--remove remove file from tape archive\n" " -x|--extract extract file from tape archive\n" " -d|--dump hexdump file\n" " -o|--output output file for extract\n" " -b|--print-bam show internal block allocation map\n" " -B|--print-block-list show internal block list\n"); exit(exit_value); } bool dump_block(istream *s, int addr) { int c, x; bool end; c = s->get(); if (c == EOF) { end = true; return false; } cout << "Block " << hex << setw(2) << setfill('0') << (c & 0xff) << "h (" << dec << (c & 0xff) << ")" << endl; end = false; for (int a = 0;a < 8;a++) { int c; char buf[16]; cout << hex << setw(4) << setfill('0') << (addr + a * 16) << "h: "; x = 16; for (int b = 0;b < 16;b++) { c = s->get(); if (c == EOF) { x = b; end = true; break; } buf[b] = c; } for (int b = 0;b < 16;b++) { if (b == 8) cout << "- "; if (b >= x) cout << " "; else cout << hex << setw(2) << setfill('0') << (buf[b] & 0xff) << " "; } cout << "| "; for (int b = 0;b < 16;b++) { if (b >= x) break; cout << (char)(isprint(buf[b]) ? buf[b] : '.'); } cout << endl; if (end) break; } cout << endl; return !end; } static kct_error_t add_one_file(KCTFile &f, fileio_prop_t *prop, kct_file_type_t type) { char *name; kct_error_t err; int len, idx, nr; len = strlen((const char *)&prop->name[0]); name = new char[len + 3]; strcpy(name, (const char *)&prop->name[0]); idx = min(len, KCT_NAME_LENGTH - 3); nr = 0; do { err = kct_file.write(name, prop->data, prop->size, prop->load_addr, prop->start_addr, type, KCT_MACHINE_ALL); if (err != KCT_ERROR_EXIST) break; name[idx ] = '_'; name[idx + 1] = '1' + nr; name[idx + 2] = '\0'; nr++; if (_verbose > 0) cout << " + trying to add file with new name `" << name << "'..." << endl; } while (nr < 9); if (_verbose > 0) { if (err == KCT_OK) cout << " + added file `" << name << "'" << endl; else cout << " - can't add file `" << prop->name << "'" << endl; } return err; } static kct_error_t add_raw(KCTFile &kct_file, char *filename) { FILE *f; int len; kct_error_t err; byte_t buf[65536]; if (_verbose > 0) cout << "* processing raw file `" << filename << "'...\n"; f = fopen(filename, "rb"); if (f == NULL) return KCT_ERROR_IO; len = fread(buf, 1, 65536, f); fclose(f); err = kct_file.write(filename, buf, len, 0x0000, 0x0000, KCT_TYPE_BIN, KCT_MACHINE_ALL); return err; } static kct_error_t add_file(KCTFile &kct_file, char *filename) { kct_error_t err; kct_file_type_t type; fileio_prop_t *ptr, *prop; if (_verbose > 0) cout << "* processing file `" << filename << "'...\n"; if (fileio_load_file(filename, &prop) != 0) return KCT_ERROR_IO; if (_verbose > 1) fileio_debug_dump(prop, 0); for (ptr = prop;ptr != NULL;ptr = ptr->next) { switch (ptr->type) { case FILEIO_TYPE_COM: type = KCT_TYPE_COM; break; case FILEIO_TYPE_BAS: type = KCT_TYPE_BAS; break; case FILEIO_TYPE_PROT_BAS: type = KCT_TYPE_BAS_P; break; default: cerr << "ERROR: file with unknown type ignored!" << endl; continue; } err = add_one_file(kct_file, ptr, type); if (err != KCT_OK) cout << "ERROR: can't add `" << ptr->name << "': " << kct_file.get_error_string(err) << "." << endl; } return KCT_OK; } static kct_error_t open(KCTFile &f, char *name) { kct_error_t error; error = f.open(name); if (error == KCT_OK_READONLY) return KCT_OK; if (f.open(name) != KCT_OK) { if (_create_flag) { if (f.create(name) != KCT_OK) { cerr << "ERROR: Can't create file `" << name << "'" << endl; return KCT_ERROR_IO; } } else { cerr << "ERROR: Can't open file `" << name << "'" << endl; return KCT_ERROR_NOENT; } } return KCT_OK; } static void do_remove(KCTFile &f, const char *name) { if (name == 0) return; f.readdir(); if (f.remove(name) != KCT_OK) cerr << "ERROR: File not found" << endl; } static FILE * open_output(const char *name) { if (name == 0) return stdout; if (access(name, F_OK) == 0) return 0; return fopen(name, "wb+"); } static void do_extract(KCTFile &f, const char *name, const char *output) { int a, c; FILE *out; istream *s; kct_file_props_t props; if (name == 0) return; out = open_output(output); if (out == 0) { cerr << "ERROR: can't open output file" << endl; return; } f.readdir(); s = f.read(name, &props); if (s == NULL) { cerr << "ERROR: File not found" << endl; return; } cerr << name << ": " << "load = " << hex << setw(4) << props.load_addr << ", " << "size = " << hex << setw(4) << props.size << ", " << "start = " << hex << setw(4) << props.start_addr << (props.auto_start ? " [autostart]" : "") << endl; fputs("\xc3KC-TAPE by AF. ", out); a = 0; while (242) { c = s->get(); if (c == EOF) break; a++; fputc(c, out); } while ((a % 129) != 0) { a++; fputc('\0', out); /* pad to block size */ } } /* * the output parameter is not yet used; need to unify the * type of the output stream (extract() still uses FILE * but * dump() need an ostream) */ static void do_dump(KCTFile &f, const char *name, const char *output) { istream *s; kct_file_props_t props; if (name == 0) return; f.readdir(); s = f.read(name, &props); if (s == NULL) { cerr << "ERROR: File not found: `" << _dump_name << "'" << endl; return ; } cout << "===========================================================================" << endl << "name: `" << name << "'" << endl << "load: " << hex << setfill('0') << setw(4) << props.load_addr << "h" << endl << "size: " << hex << setfill('0') << setw(4) << props.size << "h" << endl << "start: " << hex << setfill('0') << setw(4) << props.start_addr << "h" << (props.auto_start ? " [autostart]" : "") << endl << "===========================================================================" << endl << endl; int addr = 0; while (dump_block(s, addr)) addr += 128; cout << "===========================================================================" << endl; } static void do_add(KCTFile &f, int idx, int argc, char **argv) { int a; switch (_add_mode) { case ADD_MODE_KC85_1: fileio_set_kctype(FILEIO_KC85_1); break; case ADD_MODE_KC85_3: fileio_set_kctype(FILEIO_KC85_3); break; case ADD_MODE_RAW: for (a = idx;a < argc;a++) { if (add_raw(kct_file, argv[a]) != KCT_OK) printf("ERROR\n"); } return; default: return; } for (a = idx;a < argc;a++) { if (add_file(kct_file, argv[a]) != KCT_OK) printf("ERROR\n"); } } int main(int argc, char **argv) { int c, idx; int option_index; #ifdef HAVE_GETOPT_LONG static struct option long_options[] = { { "help", 0, 0, 'h' }, { "list", 0, 0, 'l' }, { "create", 0, 0, 'c' }, { "add", 0, 0, 'a' }, { "add1", 0, 0, '1' }, { "add-raw", 0, 0, 'A' }, { "print-bam", 0, 0, 'b' }, { "print-block-list", 0, 0, 'B' }, { "verbose", 0, 0, 'v' }, { "tape", 1, 0, 't' }, { "remove", 1, 0, 'r' }, { "extract", 1, 0, 'x' }, { "dump", 1, 0, 'd' }, { "output", 1, 0, 'o' }, { 0, 0, 0, 0 } }; #endif /* HAVE_GETOPT_LONG */ idx = 1; if (argc < 2) usage(argv[0], 0); while (242) { #ifdef HAVE_GETOPT_LONG c = getopt_long(argc, argv, "hlca1AbBvt:x:r:d:o:", long_options, &option_index); #else #ifdef HAVE_GETOPT c = getopt(argc, argv, "hlca1AbBvt:x:r:d:o:"); #else #error neither HAVE_GETOPT_LONG nor HAVE_GETOPT defined #endif /* HAVE_GETOPT */ #endif /* #ifdef HAVE_GETOPT_LONG */ if (c == -1) break; switch (c) { case 'l': idx++; _list_flag = true; break; case 'c': idx++; _create_flag = true; break; case '1': idx++; _add_mode = ADD_MODE_KC85_1; break; case 'a': idx++; _add_mode = ADD_MODE_KC85_3; break; case 'A': idx++; _add_mode = ADD_MODE_RAW; break; case 'b': idx++; _print_bam = true; break; case 'B': idx++; _print_block_list = true; break; case 'v': idx++; _verbose++; break; case 't': idx += 2; _tape_name = strdup(optarg); break; case 'x': idx += 2; _extract_name = strdup(optarg); break; case 'r': idx += 2; _remove_name = strdup(optarg); break; case 'd': idx += 2; _dump_name = strdup(optarg); break; case 'o': idx += 2; _output_name = strdup(optarg); break; case ':': case '?': case 'h': default: usage(argv[0], 0); break; } } if (_tape_name == 0) { printf(_("ERROR: no tape specified, use the -t option to select\n" " the tape archive you want to process\n\n")); usage(argv[0], 1); } fileio_init(); kct_file.test(); if (open(kct_file, _tape_name) != KCT_OK) exit(1); do_remove(kct_file, _remove_name); do_extract(kct_file, _extract_name, _output_name); do_dump(kct_file, _dump_name, _output_name); do_add(kct_file, idx, argc, argv); kct_file.readdir(); if (_list_flag) kct_file.list(); if (_print_bam) kct_file.print_bam(); if (_print_block_list) kct_file.print_block_list(); kct_file.close(); } KCemu-0.5.1/src/libtape/Makefile.am0000644000175000017500000000160612417262523017217 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in if USE_INCLUDED_GETOPT GETOPTLIB = ../getopt/libgetopt.a endif TESTS = test bin_PROGRAMS = kctape check_PROGRAMS = test noinst_PROGRAMS = show_tap kcread2tap noinst_LIBRARIES = libtape.a AM_CPPFLAGS = \ -I../../include \ -DDEBUG -DLINUX libtape_a_SOURCES = \ kct.cc kctape_SOURCES = \ kctape.cc show_tap_SOURCES = \ show_tap.c kcread2tap_SOURCES = \ kcread2tap.c kctape_LDADD = \ libtape.a ../fileio/libfileio.a ../libdbg/libdbg.a $(GETOPTLIB) $(INTLLIBS) CLEANFILES = \ testfile.1 \ testfile.2 \ test.kct check: rm -f test.kct testfile.1 testfile.2 ./test ./kctape -t test.kct -c ./kctape -t test.kct --add testfile.1 "Test 1.1" ./kctape -t test.kct --add-raw testfile.1 "Test 1.2" "TEST" 0x0200 ./kctape -t test.kct --add testfile.2 "Test 2.1" ./kctape -t test.kct --add-raw testfile.2 "Test 2.2" "TEST" 0x0200 KCemu-0.5.1/src/libtape/kcread2tap.c0000644000175000017500000000212012417262523017337 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include int main(void) { int c; long idx; fputs("\xc3KC-TAPE by AF. ", stdout); idx = 0; while (242) { c = fgetc(stdin); idx++; if (c == EOF) break; if ((idx % 130) == 0) continue; fputc(c, stdout); } return 0; } KCemu-0.5.1/src/libtape/kct.cc0000644000175000017500000005720312417262523016257 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "kc/memstream.h" #include "libtape/kct.h" #include "libdbg/dbg.h" #define CHECK_HEAD(buffer, byte) \ (((buffer)[0] & 0xff) == (byte) && \ ((buffer)[1] & 0xff) == (byte) && \ ((buffer)[2] & 0xff) == (byte)) using namespace std; const unsigned short KCTFile::KCT_VERSION = __KCT_VERSION__; const unsigned long KCTFile::BLOCK_SIZE = 256; const unsigned long KCTFile::HEADER_OFFSET = 0; const unsigned long KCTFile::BAM_OFFSET = 256; const unsigned long KCTFile::DIR_BLOCKS = KCT_DIR_BLOCKS; const unsigned long KCTFile::DIR_BLOCK1_OFFSET = 512; const unsigned long KCTFile::DIRBLOCK_OFFSET_MASK = 0xffffff00; const unsigned long KCTFile::DIRBLOCK_INDEX_MASK = 0x000000ff; const unsigned long KCTFile::DIRBLOCK_MAGIC = 0x6564434b; static ostream& cout_write(int width, char fill, ios::fmtflags justify) { cout.width(width); cout.fill(fill); cout.setf(justify, ios::left | ios::right | ios::internal); return cout; } KCTDir::KCTDir(void) { } KCTDir::~KCTDir(void) { clear(); } void KCTDir::clear(void) { for (iterator it = begin();it != end();it++) delete *it; erase(begin(), end()); } void KCTDir::add(kct_dirent_t *dirent) { insert(end(), dirent); } KCTFile::KCTFile(void) { _f = 0; } KCTFile::~KCTFile(void) { close(); } const char * KCTFile::type_name(kct_file_type_t type) { switch (type) { case KCT_TYPE_COM: return "COM"; case KCT_TYPE_BAS: return "BASIC"; case KCT_TYPE_DATA: return "DATA"; case KCT_TYPE_LIST: return "LIST"; case KCT_TYPE_BAS_P: return "BASIC*"; case KCT_TYPE_BIN: return "BIN"; case KCT_TYPE_BASICODE: return "BASICODE"; } return "???"; } /* * HEADER functions */ bool KCTFile::header_read(kct_header_t &header, unsigned long offset) { _f->seekg(offset); if (_f->fail()) { //cerr << "KCTFile::header_read(): seek error" << endl; return false; } _f->read((char *)&header, sizeof(kct_header_t)); if (_f->fail()) { //cerr << "KCTFile::header_read(): read error" << endl; return false; } if (strcmp("KCemu tape file\032", header.id) != 0) return false; if (header.version != KCT_VERSION) { cerr << "Warning: tape version mismatch!" << endl << " expected v" << KCT_VERSION_MAJOR(KCT_VERSION) << "." << KCT_VERSION_MINOR(KCT_VERSION) << " and got v" << KCT_VERSION_MAJOR(header.version) << "." << KCT_VERSION_MINOR(header.version) << endl; } return true; } void KCTFile::header_write(kct_header_t &header, unsigned long offset) { _f->seekp(offset); if (_f->fail()) { cerr << "KCTFile::header_write(): seek error" << endl; exit(1); } _f->write((char *)&header, sizeof(kct_header_t)); if (_f->fail()) { cerr << "KCTFile::header_write(): write error" << endl; exit(1); } } /* * BAM functions */ void KCTFile::bam_clear(kct_bam_t &bam) { memset(bam, 0, sizeof(kct_bam_t)); } bool KCTFile::bam_block_available(kct_bam_t &bam, long block) { long a = block / 8; long b = block % 8; if (bam[a] & (128 >> b)) return false; return true; } void KCTFile::bam_block_free(kct_bam_t &bam, long block) { long a = block / 8; long b = block % 8; bam[a] &= ~(128 >> b); } void KCTFile::bam_block_allocate(kct_bam_t &bam, long block) { long a = block / 8; long b = block % 8; bam[a] |= (128 >> b); } unsigned long KCTFile::bam_block_find_free(kct_bam_t &bam) { unsigned int a; for (a = 0;a < 8 * sizeof(kct_bam_t);a++) { if (bam_block_available(bam, a)) { bam_block_allocate(bam, a); return a * 256; } } return 0; } void KCTFile::bam_read(kct_bam_t &bam, unsigned long offset) { _f->seekg(offset); if (_f->fail()) { cerr << "KCTFile::bam_read(): seek error" << endl; exit(1); } _f->read((char *)bam, sizeof(kct_bam_t)); if (_f->fail()) { cerr << "KCTFile::bam_read(): read error" << endl; exit(1); } } void KCTFile::bam_write(kct_bam_t &bam, unsigned long offset) { _f->seekp(offset); if (_f->fail()) { cerr << "KCTFile::bam_write(): seek error" << endl; exit(1); } _f->write((char *)bam, sizeof(kct_bam_t)); if (_f->fail()) { cerr << "KCTFile::bam_write(): write error" << endl; exit(1); } } /* * DIRENT functions */ kct_error_t KCTFile::dirblock_clear(kct_dirblock_t &dirblock) { memset(dirblock, 0, sizeof(kct_dirblock_t)); dirblock[0].magic = DIRBLOCK_MAGIC; dirblock[1].magic = DIRBLOCK_MAGIC; dirblock[2].magic = DIRBLOCK_MAGIC; dirblock[3].magic = DIRBLOCK_MAGIC; return KCT_OK; } kct_error_t KCTFile::dirblock_read(kct_dirblock_t &dirblock, unsigned long offset) { unsigned long o = offset & DIRBLOCK_OFFSET_MASK; _f->seekg(o); if (_f->fail()) { cerr << "KCTFile::dirblock_read(): seek error" << endl; return KCT_ERROR_IO; } _f->read((char *)dirblock, sizeof(kct_dirblock_t)); if (_f->fail()) { cerr << "KCTFile::dirblock_read(): read error" << endl; return KCT_ERROR_IO; } if ((dirblock[0].magic != DIRBLOCK_MAGIC) || (dirblock[1].magic != DIRBLOCK_MAGIC) || (dirblock[2].magic != DIRBLOCK_MAGIC) || (dirblock[3].magic != DIRBLOCK_MAGIC)) { cerr << "KCTFile::dirblock_read(): wrong magic" << endl; return KCT_ERROR_IO; } return KCT_OK; } kct_error_t KCTFile::dirblock_write(kct_dirblock_t &dirblock, unsigned long offset) { unsigned long o = offset & DIRBLOCK_OFFSET_MASK; _f->seekp(o); if (_f->fail()) { cerr << "KCTFile::dirblock_write(): seek error" << endl; return KCT_ERROR_IO; } _f->write((char *)dirblock, sizeof(kct_dirblock_t)); if (_f->fail()) { cerr << "KCTFile::dirblock_write(): write error" << endl; return KCT_ERROR_IO; } return KCT_OK; } kct_error_t KCTFile::dirent_allocate(const char *filename, unsigned short load, unsigned short start, unsigned long len, unsigned long clen, unsigned long crc, unsigned long *offset, kct_file_type_t type, kct_machine_type_t machine) { int idx, ent; unsigned int a; unsigned long o; unsigned long pos; kct_error_t ret; idx = -1; for (a = 0;a < DIR_BLOCKS;a++) { if ((_header.offset[a] & 0x0f) != 0x0f) { idx = a; break; } } if (idx == -1) return KCT_ERROR_NOMEM; o = _header.offset[idx]; if (o == 0) { ret = dirblock_clear(_dirblock); if (ret != KCT_OK) return ret; _f->seekp(0, ios::end); pos = _f->tellp(); if ((pos % 256) != 0) { cerr << "warning: format error" << endl; } pos = (pos + 255) & DIRBLOCK_OFFSET_MASK; ent = 0; o = *offset; *offset = bam_block_find_free(_bam); if (*offset == 0) return KCT_ERROR_NOMEM; _header.offset[idx] = o | 1; bam_write(_bam, BAM_OFFSET); } else { if ((o & 1) == 0) ent = 0; else if ((o & 2) == 0) ent = 1; else if ((o & 4) == 0) ent = 2; else /*if ((o & 8) == 0)*/ ent = 3; /* o & 0xf is known to be != 0xf */ //o &= DIRBLOCK_OFFSET_MASK; _header.offset[idx] |= (1 << ent); ret = dirblock_read(_dirblock, o); if (ret != KCT_OK) return ret; } header_write(_header, HEADER_OFFSET); _dirblock[ent].magic = DIRBLOCK_MAGIC; _dirblock[ent].file_crc = crc; _dirblock[ent].compressed_size = clen; _dirblock[ent].uncompressed_size = len; _dirblock[ent].offset = *offset; _dirblock[ent].load_addr = load; _dirblock[ent].start_addr = start; _dirblock[ent].type = type; _dirblock[ent].machine = machine; strncpy(_dirblock[ent].name, filename, KCT_NAME_LENGTH); _dirblock[ent].name[KCT_NAME_LENGTH] = '\0'; return dirblock_write(_dirblock, o); } kct_error_t KCTFile::create(const char *filename) { close(); if (access(filename, F_OK) == 0) return KCT_ERROR_EXIST; /* * create file; fails with gcc-3.2 when including ios::in :-( */ _f = new fstream(filename, ios::out | ios::binary | ios::trunc); if (_f->fail()) { delete _f; _f = 0; return KCT_ERROR_IO; } _f->close(); /* * reopen with in/out */ _f = new fstream(filename, ios::in | ios::out | ios::binary); if (_f->fail()) { delete _f; _f = 0; return KCT_ERROR_IO; } memset(&_header, 0, sizeof(kct_header_t)); strcpy(_header.id, "KCemu tape file\032"); _header.version = KCT_VERSION; _f->write((char *)&_header, sizeof(_header)); if (_f->fail()) { /* cerr << "write error (header)" << endl; */ return KCT_ERROR_IO; } bam_clear(_bam); bam_block_allocate(_bam, 0); /* header */ bam_block_allocate(_bam, 1); /* the bam itself */ _f->write((char *)&_bam, sizeof(kct_bam_t)); if (_f->fail()) { /* cerr << "write error (bam)" << endl; */ return KCT_ERROR_IO; } return KCT_OK; } /* * return values: KCT_ERROR_NOENT * KCT_ERROR_IO * KCT_OK */ kct_error_t KCTFile::open(const char *filename) { close(); if (access(filename, R_OK | W_OK) == 0) { _readonly = false; _f = new fstream(filename, ios::in | ios::out | ios::binary); } else if (access(filename, R_OK) == 0) { _readonly = true; _f = new fstream(filename, ios::in | ios::binary); } else { return KCT_ERROR_NOENT; } if (_f->fail()) return KCT_ERROR_NOENT; if (header_read(_header, HEADER_OFFSET) == 0) return KCT_ERROR_IO; bam_read(_bam, BAM_OFFSET); if (_readonly) return KCT_OK_READONLY; return KCT_OK; } bool KCTFile::is_readonly(void) { return _readonly; } kct_error_t KCTFile::close(void) { if (_f != 0) { _f->close(); delete _f; } _f = 0; return KCT_OK; } void KCTFile::list(void) { int com; const char *type; float ratio; unsigned long count, c_total, u_total; count = 0; c_total = 0; u_total = 0; cout << "--------------------------------------------------------------------------" << endl << "Filename type load start compr. uncompr." << endl << " addr addr size size" << endl << "--------------------------------------------------------------------------" << endl; for (KCTDir::iterator it = _dir.begin();it != _dir.end();it++) { com = 0; switch ((*it)->type) { case KCT_TYPE_COM: type = "COM"; com = 1; break; case KCT_TYPE_DATA: type = "DATA"; break; case KCT_TYPE_LIST: type = "LIST"; break; case KCT_TYPE_BAS: type = "BAS"; break; case KCT_TYPE_BAS_P: type = "PBAS"; break; case KCT_TYPE_BIN: type = "BIN"; break; case KCT_TYPE_BASICODE: type = "BAC"; break; default: type = "???"; break; } cout_write(32, ' ', ios::left) << (*it)->name << " "; if (com && ((*it)->start_addr == 0xffff)) { cout_write( 5, ' ', ios::left) << type << " 0x"; cout_write( 4, '0', ios::right) << hex << (*it)->load_addr << " - 0x"; cout_write( 8, '0', ios::right) << hex << (*it)->compressed_size << " 0x"; cout_write( 8, '0', ios::right) << hex << (*it)->uncompressed_size << endl; } else if (com) { cout_write( 5, ' ', ios::left) << type << " 0x"; cout_write( 4, '0', ios::right) << hex << (*it)->load_addr << " 0x"; cout_write( 4, '0', ios::right) << hex << (*it)->start_addr << " 0x"; cout_write( 8, '0', ios::right) << hex << (*it)->compressed_size << " 0x"; cout_write( 8, '0', ios::right) << hex << (*it)->uncompressed_size << endl; } else { cout_write( 5, ' ', ios::left) << type << " - - 0x"; cout_write( 8, '0', ios::right) << hex << (*it)->compressed_size << " 0x"; cout_write( 8, '0', ios::right) << hex << (*it)->uncompressed_size << endl; } count++; c_total += (*it)->compressed_size; u_total += (*it)->uncompressed_size; } ratio = 0; if (u_total != 0) ratio = (100.0 * c_total) / u_total; cout << "--------------------------------------------------------------------------" << endl << "files: " << dec << count << ", compressed size: " << c_total << ", uncompressed size: " << u_total << ", ratio: " << setprecision(3) << ratio << "%" << endl << "--------------------------------------------------------------------------" << endl; } KCTDir * KCTFile::readdir(void) { unsigned int a, b; kct_dirent_t *dirent; _dir.clear(); for (a = 0;a < DIR_BLOCKS;a++) { if (_header.offset[a] == 0) continue; dirblock_read(_dirblock, _header.offset[a]); for (b = 0;b < 4;b++) { if (_header.offset[a] & (1 << b)) { dirent = new kct_dirent_t(); memcpy(dirent, &_dirblock[b], sizeof(kct_dirent_t)); _dir.add(dirent); } } } return &_dir; } int KCTFile::translate_index(int idx) { int _idx; unsigned int a, b; _idx = 0; for (a = 0;a < DIR_BLOCKS;a++) { for (b = 0;b < 4;b++) { if (_header.offset[a] & (1 << b)) idx--; if (idx < 0) return _idx; _idx++; } } return -1; } istream * KCTFile::read(int idx, kct_file_props_t *props) { int ret; unsigned long csize, usize; unsigned long offset; kct_data_t data; unsigned char *cbuf, *ubuf, *ptr; idx = translate_index(idx); offset = _header.offset[idx / 4]; dirblock_read(_dirblock, offset); idx %= 4; csize = _dirblock[idx].compressed_size; cbuf = new unsigned char[csize + 256]; ptr = cbuf; offset = _dirblock[idx].offset; while (offset != 0) { _f->seekg(offset); _f->read((char *)&data, BLOCK_SIZE); memcpy(ptr, &data.data, 252); ptr += 252; offset = data.link; } usize = _dirblock[idx].uncompressed_size; ubuf = new unsigned char[usize]; ret = uncompress(ubuf, &usize, cbuf, csize); delete[] cbuf; if (ret != Z_OK) { cerr << "error in uncompress: " << ret << endl; return NULL; } if (props) { if (ubuf[16] < 3) props->auto_start = false; else props->auto_start = true; props->load_addr = _dirblock[idx].load_addr; props->start_addr = _dirblock[idx].start_addr; props->size = usize; props->type = (kct_file_type_t)_dirblock[idx].type; props->machine = (kct_machine_type_t)_dirblock[idx].machine; } else cerr << "kct_props: NULL!" << endl; return new memstream((unsigned char *)ubuf, usize); } istream * KCTFile::read(const char *name, kct_file_props_t *props) { int a; a = 0; for (KCTDir::iterator it = _dir.begin();it != _dir.end();it++) { if (strcmp((*it)->name, name) == 0) return read(a, props); a++; } cerr << "KCTFile::read(): file not found!" << endl; return NULL; } /* * return: KCT_ERROR_EXIST if filename already in archive * KCT_ERROR_NOMEM on memory allocation error * KCT_ERROR_IO if file compression fails or * no block free in the archive * KCT_OK if all went well */ kct_error_t KCTFile::write(const char *filename, const unsigned char *buf, unsigned long len, unsigned short load_addr, unsigned short start_addr, kct_file_type_t type, kct_machine_type_t machine) { int ret; unsigned int a; unsigned long clen; unsigned char *cbuf; unsigned long crc; unsigned long offset; kct_error_t err; /* * check if the filename already exists in the archive */ readdir(); if (find(filename) == KCT_OK) return KCT_ERROR_EXIST; DBG(1, form("KCemu/KCT/write", "KCTFile::write(): name = '%s'\n" "KCTFile::write(): type = %s (%02x)\n" "KCTFile::write(): addr = %04x/%04x\n", filename, type_name(type), type, load_addr, start_addr)); clen = len + (len / 1000 + 1) + 12; cbuf = new unsigned char [clen]; if (cbuf == NULL) return KCT_ERROR_NOMEM; ret = compress(cbuf, &clen, buf, len); DBG(1, form("KCemu/KCT/write", "KCTFile::write(): compress returned %d\n" "KCTFile::write(): len = %d\n" "KCTFile::write(): clen = %d\n", ret, len, clen)); if (ret != Z_OK) { cerr << "error in compress" << endl; return KCT_ERROR_IO; } crc = crc32(0L, Z_NULL, 0); crc = crc32(crc, buf, len); offset = bam_block_find_free(_bam); if (offset == 0) return KCT_ERROR_IO; err = dirent_allocate(filename, load_addr, start_addr, len, clen, crc, &offset, type, machine); if (err != KCT_OK) return err; for (;;) { _f->seekp(offset); if (clen < 252) { offset = 0; _f->write((char *)&offset, 4); _f->write((char *)cbuf, clen); /* pad to 256 byte */ for (a = 0;a < 252 - clen;a++) _f->put(0); break; } else { offset = bam_block_find_free(_bam); if (offset == 0) return KCT_ERROR_IO; _f->write((char *)&offset, 4); _f->write((char *)cbuf, 252); } cbuf += 252; clen -= 252; } bam_write(_bam, BAM_OFFSET); return KCT_OK; } kct_error_t KCTFile::remove(int idx) { int entry; kct_data_t data; unsigned long offset; idx = translate_index(idx); entry = idx % 4; idx /= 4; offset = _header.offset[idx]; _header.offset[idx] &= ~(1 << entry); dirblock_read(_dirblock, offset); if ((_header.offset[idx] & DIRBLOCK_INDEX_MASK) == 0) { /* cerr << "*** free dirblock ***" << endl; */ _header.offset[idx] = 0; bam_block_free(_bam, offset / BLOCK_SIZE); } header_write(_header, HEADER_OFFSET); /* cerr << "KCTFile::remove(): name = " << _dirblock[entry].name << endl; */ offset = _dirblock[entry].offset; while (offset != 0) { bam_block_free(_bam, offset / BLOCK_SIZE); _f->seekg(offset); _f->read((char *)&data, BLOCK_SIZE); offset = data.link; } bam_write(_bam, BAM_OFFSET); readdir(); /* reload internal directory list (_dir) */ return KCT_OK; } kct_error_t KCTFile::rename(int idx, const char *to) { int entry; kct_error_t err; unsigned long offset; idx = translate_index(idx); entry = idx % 4; idx /= 4; offset = _header.offset[idx]; dirblock_read(_dirblock, offset); strncpy(_dirblock[entry].name, to, KCT_NAME_LENGTH); _dirblock[entry].name[KCT_NAME_LENGTH] = '\0'; err = dirblock_write(_dirblock, offset); readdir(); /* reload internal directory list (_dir) */ return err; } int KCTFile::find_entry(const char *name) { int a = 0; for (KCTDir::iterator it = _dir.begin();it != _dir.end();it++) { if (strcmp((*it)->name, name) == 0) return a; a++; } return -1; } kct_error_t KCTFile::find(const char *name) { int idx; idx = find_entry(name); if (idx < 0) return KCT_ERROR_NOENT; return KCT_OK; } kct_error_t KCTFile::remove(const char *name) { int idx; idx = find_entry(name); if (idx < 0) return KCT_ERROR_NOENT; return remove(idx); } kct_error_t KCTFile::rename(const char *name, const char *to) { int idx; idx = find_entry(to); if (idx >= 0) return KCT_ERROR_EXIST; idx = find_entry(name); if (idx < 0) return KCT_ERROR_NOENT; return rename(idx, to); } const char * KCTFile::get_error_string(kct_error_t error) { switch (error) { case KCT_OK_READONLY: return "success"; case KCT_OK: return "success"; case KCT_ERROR_NOENT: return "no such file"; case KCT_ERROR_IO: return "io error"; case KCT_ERROR_NOMEM: return "out of memory error"; case KCT_ERROR_ACCESS: return "access error"; case KCT_ERROR_EXIST: return "file already exists"; case KCT_ERROR_INVAL: return "invalid parameter"; case KCT_ERROR_NAMETOOLONG: return "name too long"; } return ""; } #ifdef DEBUG void KCTFile::test(void) { int a; bool ok; kct_bam_t bam; /* cerr << "***" << endl << "*** KCTFile::test()" << endl << "***" << endl; */ ok = true; if (sizeof(kct_header_t) != 256) { ok = false; cerr << "*** sizeof kct_header_t != 256 (" << sizeof(kct_header_t) << ")" << endl; } if (sizeof(kct_bam_t) != 256) { ok = false; cerr << "*** sizeof kct_bam_t != 256 (" << sizeof(kct_bam_t) << ")" << endl; } if (sizeof(kct_data_t) != 256) { ok = false; cerr << "*** sizeof kct_data_t != 256 (" << sizeof(kct_data_t) << ")" << endl; } if (sizeof(kct_dirblock_t) != 256) { ok = false; cerr << "*** sizeof kct_dirblock_t != 256 (" << sizeof(kct_dirblock_t) << ")" << endl; } bam_clear(bam); for (a = 0;a < 256;a++) { if (bam[a] != 0) { ok = false; cerr << "*** clearing BAM failed" << endl; break; } } for (a = 0;a < 2048;a++) { if (!bam_block_available(bam, a)) { ok = false; cerr << "*** bam_block_available error (1)" << endl; break; } bam_block_allocate(bam, a); if (bam_block_available(bam, a)) { ok = false; cerr << "*** bam_block_available error (2)" << endl; break; } bam_block_free(bam, a); if (!bam_block_available(bam, a)) { ok = false; cerr << "*** bam_block_available error (3)" << endl; break; } bam_block_allocate(bam, a); } if (!ok) cerr << "*** check failed!" << endl; } void KCTFile::print_bam(void) { int a, b, c; for (a = 0;a < 16;a++) { for (b = 0;b < 16;b++) { for (c = 0;c < 8;c += 2) { switch (((_bam[16 * a + b]) & (0xc0 >> c)) >> (6 - c)) { case 0: cout << '-'; break; case 1: cout << ']'; break; case 2: cout << '['; break; case 3: cout << '#'; break; } } } cout << endl; } } void KCTFile::print_block_list(void) { int a, b, c; for (a = 0;a < 16;a++) { for (b = 0;b < 16;b++) { for (c = 0;c < 8;c++) { if ((_bam[16 * a + b]) & (0x80 >> c)) cout << hex << setw(8) << (32768 * a + 2048 * b + 256 * c) << endl; } } } } #endif /* DEBUG */ KCemu-0.5.1/src/libtape/test.c0000644000175000017500000000222012417262523016277 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include int main(void) { int a; FILE *f; f = fopen("testfile.1", "wb"); if (f) { for (a = 0;a < 512;a++) { fputc(a & 0xff, f); } fclose(f); } f = fopen("testfile.2", "wb"); if (f) { for (a = 0;a < 512;a++) { fputc(((a >> 8) & 0xff) * 64 + 64, f); } fclose(f); } return 0; } KCemu-0.5.1/src/sys/0000755000175000017500000000000012417262523014356 5ustar glaubitzglaubitzKCemu-0.5.1/src/sys/unix/0000755000175000017500000000000012417262523015341 5ustar glaubitzglaubitzKCemu-0.5.1/src/sys/unix/sys_socket_close.c0000644000175000017500000000201112417262523021052 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #include "sys/sysdep.h" void sys_socket_close(int socket) { shutdown(socket, SHUT_RDWR); close(socket); } KCemu-0.5.1/src/sys/unix/sys_socket_connect.c0000644000175000017500000000335312417262523021410 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_connect(int socket, unsigned char ip0, unsigned char ip1, unsigned char ip2, unsigned char ip3, unsigned short port) { int err; struct sockaddr_in addr; memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = ip0 | ip1 << 8 | ip2 << 16 | ip3 << 24; err = connect(socket, (struct sockaddr *)&addr, sizeof(addr)); if (err >= 0) return 0; switch (errno) { case EINTR: return SYS_SOCKET_ERR_INTR; case EINPROGRESS: return SYS_SOCKET_ERR_INPROGRESS; case EALREADY: return SYS_SOCKET_ERR_ALREADY; case EISCONN: return SYS_SOCKET_ERR_ISCONN; default: return errno; } } KCemu-0.5.1/src/sys/unix/sys_socket_sendto.c0000644000175000017500000000274312417262523021255 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_sendto(int socket, unsigned char *buf, int bufsize, unsigned char ip0, unsigned char ip1, unsigned char ip2, unsigned char ip3, unsigned short port) { char ip[256]; snprintf(ip, sizeof(ip), "%d.%d.%d.%d", ip0, ip1, ip2, ip3); struct sockaddr_in addr; memset(&addr, 0, sizeof (addr)); addr.sin_family = AF_INET; addr.sin_port = htons(port); inet_pton(AF_INET, ip, &addr.sin_addr); return sendto(socket, buf, bufsize, 0, (struct sockaddr*)&addr, sizeof(addr)); } KCemu-0.5.1/src/sys/unix/sys_socket_create.c0000644000175000017500000000245212417262523021221 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_create(int stream, int nonblocking) { int type = stream ? SOCK_STREAM : SOCK_DGRAM; int s = socket(AF_INET, type, 0); if (s < 0) return -1; if (!nonblocking) return s; if (fcntl(s, F_SETFL, O_NONBLOCK) == 0) return s; close(s); return -1; } KCemu-0.5.1/src/sys/unix/sys_mkdir.c0000644000175000017500000000200612417262523017507 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_mkdir(const char *pathname, int mode) { return mkdir(pathname, mode); } KCemu-0.5.1/src/sys/unix/sys_socket_init.c0000644000175000017500000000166012417262523020721 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_init(void) { return 0; } KCemu-0.5.1/src/sys/unix/sys_htonl.c0000644000175000017500000000175412417262523017536 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" unsigned long sys_htonl(unsigned long hostlong) { return htonl(hostlong); } KCemu-0.5.1/src/sys/unix/sys_getprogrampath.c0000644000175000017500000000171512417262523021433 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" char * sys_getprogrampath(void) { return NULL; } KCemu-0.5.1/src/sys/unix/sys_socket_send.c0000644000175000017500000000201412417262523020701 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_send(int socket, unsigned char *buf, int bufsize) { return send(socket, buf, bufsize, 0); } KCemu-0.5.1/src/sys/unix/Makefile.am0000644000175000017500000000105212417262523017373 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libsys_unix.a AM_CPPFLAGS = \ -I../../../include libsys_unix_a_SOURCES = \ sys_usleep.c \ sys_basename.c \ sys_isabsolutepath.c \ sys_converttime.c \ sys_localtime.c \ sys_gettimeofday.c \ sys_getprogrampath.c \ sys_gethome.c \ sys_mkdir.c \ sys_getdiskinfo.c \ sys_htonl.c \ sys_htons.c \ sys_socket_init.c \ sys_socket_create.c \ sys_socket_close.c \ sys_socket_connect.c \ sys_socket_recvfrom.c \ sys_socket_sendto.c \ sys_socket_send.c KCemu-0.5.1/src/sys/unix/sys_gettimeofday.c0000644000175000017500000000206212417262523021064 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" void sys_gettimeofday(long *tv_sec, long *tv_usec) { struct timeval tv; gettimeofday(&tv, 0); *tv_sec = tv.tv_sec; *tv_usec = tv.tv_usec; } KCemu-0.5.1/src/sys/unix/sys_basename.c0000644000175000017500000000213312417262523020155 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" char * sys_basename(const char *path) { const char *basename = strrchr(path, '/'); if (basename) basename++; else basename = path; return strdup(basename); } KCemu-0.5.1/src/sys/unix/sys_htons.c0000644000175000017500000000176012417262523017542 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" unsigned short sys_htons(unsigned short hostshort) { return htons(hostshort); } KCemu-0.5.1/src/sys/unix/sys_gethome.c0000644000175000017500000000235412417262523020037 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include "kc/config.h" #include "sys/sysdep.h" char * sys_gethome(void) { const char *ptr; struct passwd *passwd; ptr = getenv("HOME"); if (ptr != NULL) return strdup(ptr); passwd = getpwuid(getuid()); if (passwd != NULL) return strdup(passwd->pw_dir); return NULL; } KCemu-0.5.1/src/sys/unix/sys_localtime.c0000644000175000017500000000344612417262523020363 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #include "sys/sysdep.h" #if HAVE_LOCALTIME_R void sys_localtime(int *year, int *month, int *day, int *hour, int *minute, int *second) { time_t t; struct tm result; t = time(NULL); localtime_r(&t, &result); *year = result.tm_year; *month = result.tm_mon + 1; *day = result.tm_mday; *hour = result.tm_hour; *minute = result.tm_min; *second = result.tm_sec; } #else /* HAVE_LOCALTIME_R */ #if HAVE_LOCALTIME void sys_localtime(int *year, int *month, int *day, int *hour, int *minute, int *second) { time_t t; struct tm *result; t = time(NULL); result = localtime(&t); *year = result->tm_year; *month = result->tm_mon + 1; *day = result->tm_mday; *hour = result->tm_hour; *minute = result->tm_min; *second = result->tm_sec; } #else /* HAVE_LOCALTIME */ #error neither HAVE_LOCALTIME_R nor HAVE_LOCALTIME defined #endif /* HAVE_LOCALTIME */ #endif /* HAVE_LOCALTIME_R */ KCemu-0.5.1/src/sys/unix/sys_socket_recvfrom.c0000644000175000017500000000330412417262523021576 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_recvfrom(int socket, unsigned char *buf, int bufsize, unsigned char *ip0, unsigned char *ip1, unsigned char *ip2, unsigned char *ip3, unsigned short *port) { struct sockaddr_storage peer_addr; socklen_t peer_addr_len = sizeof(peer_addr); int r = recvfrom(socket, buf, bufsize, MSG_DONTWAIT, (struct sockaddr *)&peer_addr, &peer_addr_len); if (r < 0) return r; struct sockaddr_in *addr; addr = (struct sockaddr_in *)&peer_addr; if (ip0 != NULL) *ip0 = addr->sin_addr.s_addr; if (ip1 != NULL) *ip1 = addr->sin_addr.s_addr >> 8; if (ip2 != NULL) *ip2 = addr->sin_addr.s_addr >> 16; if (ip3 != NULL) *ip3 = addr->sin_addr.s_addr >> 24; if (port != NULL) *port = ntohs(addr->sin_port); return r; } KCemu-0.5.1/src/sys/unix/sys_getdiskinfo.c0000644000175000017500000000301012417262523020703 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" int sys_getdiskinfo(const char *path, unsigned long *total, unsigned long *available, unsigned short *block_size) { struct statvfs buf; if (statvfs(path, &buf) == 0) { unsigned long long free = (unsigned long long) buf.f_bavail * buf.f_bsize; unsigned long long size = (unsigned long long) buf.f_blocks * buf.f_frsize; *available = free > 0xffffffffUL ? 0xffffffffUL : free; *total = size > 0xffffffffUL ? 0xffffffffUL : size; *block_size = buf.f_bsize; return 0; } else { *total = 0; *available = 0; *block_size = 0; return -1; } } KCemu-0.5.1/src/sys/unix/sys_isabsolutepath.c0000644000175000017500000000200312417262523021425 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" int sys_isabsolutepath(const char *path) { if (path == NULL) return 0; return path[0] == '/'; } KCemu-0.5.1/src/sys/unix/sys_converttime.c0000644000175000017500000000345012417262523020744 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #include "sys/sysdep.h" #if HAVE_LOCALTIME_R void sys_converttime(long time, int *year, int *month, int *day, int *hour, int *minute, int *second) { time_t t = time; struct tm result; localtime_r(&t, &result); *year = result.tm_year; *month = result.tm_mon + 1; *day = result.tm_mday; *hour = result.tm_hour; *minute = result.tm_min; *second = result.tm_sec; } #else /* HAVE_LOCALTIME_R */ #if HAVE_LOCALTIME void sys_localtime(long time, int *year, int *month, int *day, int *hour, int *minute, int *second) { time_t t = time; struct tm *result; result = localtime(&t); *year = result->tm_year; *month = result->tm_mon + 1; *day = result->tm_mday; *hour = result->tm_hour; *minute = result->tm_min; *second = result->tm_sec; } #else /* HAVE_LOCALTIME */ #error neither HAVE_LOCALTIME_R nor HAVE_LOCALTIME defined #endif /* HAVE_LOCALTIME */ #endif /* HAVE_LOCALTIME_R */ KCemu-0.5.1/src/sys/unix/sys_usleep.c0000644000175000017500000000173412417262523017705 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" void sys_usleep(long microseconds) { usleep(microseconds); } KCemu-0.5.1/src/sys/Makefile.am0000644000175000017500000000016512417262523016414 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in if TARGET_MINGW SUBDIRS = mingw else SUBDIRS = unix endif KCemu-0.5.1/src/sys/mingw/0000755000175000017500000000000012417262523015477 5ustar glaubitzglaubitzKCemu-0.5.1/src/sys/mingw/sys_socket_close.c0000644000175000017500000000173212417262523021221 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" void sys_socket_close(int socket) { closesocket(socket); } KCemu-0.5.1/src/sys/mingw/sys_socket_connect.c0000644000175000017500000000334312417262523021545 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_connect(int socket, unsigned char ip0, unsigned char ip1, unsigned char ip2, unsigned char ip3, unsigned short port) { int err; struct sockaddr_in addr; memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = ip0 | ip1 << 8 | ip2 << 16 | ip3 << 24; err = connect(socket, (struct sockaddr *)&addr, sizeof(addr)); if (err >= 0) return 0; err = WSAGetLastError(); switch (err) { case WSAEINTR: return SYS_SOCKET_ERR_INTR; case WSAEINPROGRESS: case WSAEWOULDBLOCK: case WSAEINVAL: return SYS_SOCKET_ERR_INPROGRESS; case WSAEALREADY: return SYS_SOCKET_ERR_ALREADY; case WSAEISCONN: return SYS_SOCKET_ERR_ISCONN; default: return err; } } KCemu-0.5.1/src/sys/mingw/sys_socket_sendto.c0000644000175000017500000000257212417262523021413 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_sendto(int socket, unsigned char *buf, int bufsize, unsigned char ip0, unsigned char ip1, unsigned char ip2, unsigned char ip3, unsigned short port) { struct sockaddr_in addr; memset(&addr, 0, sizeof (addr)); addr.sin_family = AF_INET; addr.sin_port = htons(port); addr.sin_addr.s_addr = ip0 | ip1 << 8 | ip2 << 16 | ip3 << 24; return sendto(socket, buf, bufsize, 0, (struct sockaddr*)&addr, sizeof(addr)); } KCemu-0.5.1/src/sys/mingw/sys_socket_create.c0000644000175000017500000000232412417262523021355 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_create(int stream, int nonblocking) { int type = stream ? SOCK_STREAM : SOCK_DGRAM; int s = socket(AF_INET, type, 0); if (s < 0) return -1; if (!nonblocking) return s; unsigned long val = 1; if (ioctlsocket(s, FIONBIO, &val) == 0) return s; close(s); return -1; } KCemu-0.5.1/src/sys/mingw/sys_mkdir.c0000644000175000017500000000200012417262523017637 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_mkdir(const char *pathname, int mode) { return mkdir(pathname); } KCemu-0.5.1/src/sys/mingw/sys_socket_init.c0000644000175000017500000000233712417262523021061 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_init(void) { WORD wVersionRequested = MAKEWORD(2, 2); WSADATA wsaData; int err = WSAStartup(wVersionRequested, &wsaData); if (err != 0) { return 1; } if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { WSACleanup(); return 1; } return 0; } KCemu-0.5.1/src/sys/mingw/sys_htonl.c0000644000175000017500000000175312417262523017673 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" unsigned long sys_htonl(unsigned long hostlong) { return htonl(hostlong); } KCemu-0.5.1/src/sys/mingw/sys_getprogrampath.c0000644000175000017500000000252312417262523021567 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" char * sys_getprogrampath(void) { int len; TCHAR cmd[MAX_PATH]; int ret = GetModuleFileName(NULL, cmd, MAX_PATH); if ((ret == 0) || (ret == MAX_PATH)) return NULL; // safeguard against path without drive letter if ((cmd[1] != ':') || (cmd[2] != '\\')) return NULL; // remove filename, loop end checked above len = strlen(cmd); while (cmd[len - 1] != '\\') len--; cmd[len] = '\0'; return strdup(cmd); } KCemu-0.5.1/src/sys/mingw/sys_socket_send.c0000644000175000017500000000201212417262523021035 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_send(int socket, unsigned char *buf, int bufsize) { return send(socket, buf, bufsize, 0); } KCemu-0.5.1/src/sys/mingw/Makefile.am0000644000175000017500000000105412417262523017533 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libsys_mingw.a AM_CPPFLAGS = \ -I../../../include libsys_mingw_a_SOURCES = \ sys_usleep.c \ sys_basename.c \ sys_isabsolutepath.c \ sys_converttime.c \ sys_localtime.c \ sys_gettimeofday.c \ sys_getprogrampath.c \ sys_gethome.c \ sys_mkdir.c \ sys_getdiskinfo.c \ sys_htonl.c \ sys_htons.c \ sys_socket_init.c \ sys_socket_create.c \ sys_socket_close.c \ sys_socket_connect.c \ sys_socket_recvfrom.c \ sys_socket_sendto.c \ sys_socket_send.c KCemu-0.5.1/src/sys/mingw/sys_gettimeofday.c0000644000175000017500000000211312417262523021217 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #include "sys/sysdep.h" void sys_gettimeofday(long *tv_sec, long *tv_usec) { DWORD t = timeGetTime(); *tv_sec = t / 1000; *tv_usec = 1000 * (t % 1000); // microseconds! } KCemu-0.5.1/src/sys/mingw/sys_basename.c0000644000175000017500000000213412417262523020314 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" char * sys_basename(const char *path) { const char *basename = strrchr(path, '\\'); if (basename) basename++; else basename = path; return strdup(basename); } KCemu-0.5.1/src/sys/mingw/sys_htons.c0000644000175000017500000000175712417262523017706 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" unsigned short sys_htons(unsigned short hostshort) { return htons(hostshort); } KCemu-0.5.1/src/sys/mingw/sys_gethome.c0000644000175000017500000000351512417262523020175 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include "kc/config.h" #include "sys/sysdep.h" static char * _sys_gethome(void) { char *buf; const char *ptr, *ptr2; ptr = getenv("APPDATA"); if (ptr != NULL) { buf = malloc(strlen(ptr) + 7); strcpy(buf, ptr); strcat(buf, "\\KCemu"); return strdup(ptr); } ptr = getenv("USERPROFILE"); if (ptr != NULL) return strdup(ptr); ptr = getenv("HOMEDRIVE"); if (ptr != NULL) { ptr2 = getenv("HOMEPATH"); if (ptr2 != NULL) { buf = malloc(strlen(ptr) + strlen(ptr2) + 1); strcpy(buf, ptr); strcat(buf, ptr2); return buf; } } ptr = getenv("HOME"); if (ptr != NULL) return strdup(ptr); return NULL; } char * sys_gethome(void) { int a; char *ptr; ptr = _sys_gethome(); if (ptr == NULL) return NULL; for (a = 0;ptr[a] != 0;a++) if (ptr[a] == '\\') ptr[a] = '/'; return ptr; } KCemu-0.5.1/src/sys/mingw/sys_localtime.c0000644000175000017500000000237712417262523020523 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #include "sys/sysdep.h" void sys_localtime(int *year, int *month, int *day, int *hour, int *minute, int *second) { time_t t; struct tm *result; t = time(NULL); result = localtime(&t); *year = result->tm_year; *month = result->tm_mon + 1; *day = result->tm_mday; *hour = result->tm_hour; *minute = result->tm_min; *second = result->tm_sec; } KCemu-0.5.1/src/sys/mingw/sys_socket_recvfrom.c0000644000175000017500000000373312417262523021742 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "kc/config.h" #include "sys/sysdep.h" int sys_socket_recvfrom(int socket, unsigned char *buf, int bufsize, unsigned char *ip0, unsigned char *ip1, unsigned char *ip2, unsigned char *ip3, unsigned short *port) { struct timeval tv; fd_set fds; struct sockaddr_storage peer_addr; unsigned int peer_addr_len = sizeof(peer_addr); FD_ZERO(&fds); FD_SET(socket, &fds); tv.tv_sec = 0; tv.tv_usec = 0; int s = select(1, &fds, NULL, NULL, &tv); if (s < 0) return -1; if (!FD_ISSET(socket, &fds)) return -1; int r = recvfrom(socket, buf, bufsize, 0, (struct sockaddr *)&peer_addr, &peer_addr_len); if (r < 0) return r; struct sockaddr_in *addr; addr = (struct sockaddr_in *)&peer_addr; if (ip0 != NULL) *ip0 = addr->sin_addr.s_addr; if (ip1 != NULL) *ip1 = addr->sin_addr.s_addr >> 8; if (ip2 != NULL) *ip2 = addr->sin_addr.s_addr >> 16; if (ip3 != NULL) *ip3 = addr->sin_addr.s_addr >> 24; if (port != NULL) *port = ntohs(addr->sin_port); return r; } KCemu-0.5.1/src/sys/mingw/sys_getdiskinfo.c0000644000175000017500000000347212417262523021055 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" int sys_getdiskinfo(const char *path, unsigned long *total, unsigned long *available, unsigned short *block_size) { ULARGE_INTEGER free, size; DWORD bytes_per_sector, d1, d2, d3; // Fetch the block size from the old interface as this information // is not provided by the new one anymore. if (GetDiskFreeSpace(path, &d1, &bytes_per_sector, &d2, &d3)) { *block_size = bytes_per_sector; } else { *block_size = 0; } // The disk size is queried via the new interface that supports // drives with more than 2GB (although we currently only support // return values of 4GB! if (!GetDiskFreeSpaceExA(path, &free, &size, NULL)) { *total = 0; *available = 0; *block_size = 0; return -1; } *available = free.QuadPart > 0xffffffffUL ? 0xffffffffUL : free.QuadPart; *total = size.QuadPart > 0xffffffffUL ? 0xffffffffUL : size.QuadPart; return 0; } KCemu-0.5.1/src/sys/mingw/sys_isabsolutepath.c0000644000175000017500000000231312417262523021567 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" int sys_isabsolutepath(const char *path) { int drv; if ((path == NULL) || (path[0] == '\0') || (path[1] == '\0')) return 0; if (path[1] != ':') return 0; if (path[2] != '\\') return 0; drv = path[0]; return (((drv >= 'a') && (drv <= 'z')) || ((drv >= 'A') && (drv <= 'Z'))); } KCemu-0.5.1/src/sys/mingw/sys_converttime.c0000644000175000017500000000240112417262523021075 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/config.h" #include "sys/sysdep.h" void sys_converttime(long time, int *year, int *month, int *day, int *hour, int *minute, int *second) { time_t t = time; struct tm *result; result = localtime(&t); *year = result->tm_year; *month = result->tm_mon + 1; *day = result->tm_mday; *hour = result->tm_hour; *minute = result->tm_min; *second = result->tm_sec; } KCemu-0.5.1/src/sys/mingw/sys_usleep.c0000644000175000017500000000174112417262523020041 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "kc/config.h" #include "sys/sysdep.h" void sys_usleep(long microseconds) { Sleep(microseconds / 1000); } KCemu-0.5.1/src/cmd/0000755000175000017500000000000012417262523014303 5ustar glaubitzglaubitzKCemu-0.5.1/src/cmd/reset.cc0000644000175000017500000000307612417262523015742 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/system.h" #include "kc/z80.h" #include "ui/status.h" #include "cmd/cmd.h" class CMD_reset : public CMD { public: CMD_reset(void) : CMD("Reset") { register_cmd("emu-reset", 0); register_cmd("emu-power-on", 1); register_cmd("emu-nmi", 2); } void execute(CMD_Args *args, CMD_Context context) { switch (context) { case 0: Status::instance()->setMessage("*** RESET ***"); z80->reset(); break; case 1: Status::instance()->setMessage("*** POWER ON ***"); z80->power_on(); break; case 2: Status::instance()->setMessage("*** NMI ***"); z80->nmi(); break; } } }; __force_link(CMD_reset); KCemu-0.5.1/src/cmd/image.cc0000644000175000017500000001457312417262523015706 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "kc/kc.h" #include "kc/z80.h" #include "kc/memory.h" #include "cmd/cmd.h" #include "fileio/load.h" #include "libdbg/dbg.h" class CMD_kc_image_load : public CMD { private: enum { _NO_START_ADDR = -1, _NO_LOAD_ADDR = -2, _LOAD_ERROR = -3, }; static const char * _path; protected: public: CMD_kc_image_load(void); virtual ~CMD_kc_image_load(void); virtual void execute(CMD_Args *args, CMD_Context context); int image_save(const char *filename, int start_addr, int end_addr); }; const char * CMD_kc_image_load::_path = NULL; CMD_kc_image_load::CMD_kc_image_load(void) : CMD("kc-image-load") { register_cmd("kc-image-run", 0); register_cmd("kc-image-load", 1); register_cmd("kc-image-save", 5); } CMD_kc_image_load::~CMD_kc_image_load(void) { } void CMD_kc_image_load::execute(CMD_Args *args, CMD_Context context) { byte_t *buf; long a, size; const char *filename; int load, start, autostart; fileio_prop_t *prop; filename = 0; if (args) filename = args->get_string_arg("filename"); else args = new CMD_Args; switch (context) { case 0: /* * entry kc-image-run */ args->set_long_arg("auto-start", 1); /* fall through */ case 1: /* * entry kc-image-load */ if (!args->has_arg("auto-start")) args->set_long_arg("auto-start", 0); if (!filename) { args->set_string_arg("ui-file-select-title", _("KCemu: Select File...")); if (_path) args->set_string_arg("ui-file-select-path", _path); args->add_callback("ui-file-select-CB-ok", this, 2); args->add_callback("ui-file-select-CB-cancel", this, 2); CMD_EXEC_ARGS("ui-file-select", args); break; } /* fall through */ case 2: /* * we should have a valid filename now, if not abort command */ filename = args->get_string_arg("filename"); if (!filename) return; _path = filename; if (fileio_load_file(filename, &prop) != 0) { args->set_string_arg("ui-dialog-title", _("KCemu: Can't load file...")); args->set_string_arg("ui-dialog-text", _("The file you selected couldn't be loaded!")); CMD_EXEC_ARGS("ui-dialog-ok", args); return; } if (DBG_check("KCemu/CMD/image")) fileio_debug_dump(prop, 0); args->set_user_data(prop); if (prop->next != NULL) { args->set_string_arg("ui-dialog-title", _("KCemu: Warning...")); args->set_string_arg("ui-dialog-text", _("The file you selected contains more than one\n" "program. Only the first program will be loaded.\n" "If you want to access all the contained\n" "programs add this file to a tape-archive!")); args->add_callback("ui-dialog-ok-CB", this, 3); CMD_EXEC_ARGS("ui-dialog-ok", args); return; } /* fall through */ case 3: prop = (fileio_prop_t *)args->get_user_data(); if (prop == NULL) { DBG(0, form("KCemu/internal_error", "prop == NULL\n")); return; } switch (prop->type) { case FILEIO_TYPE_BAS: case FILEIO_TYPE_PROT_BAS: args->set_long_arg("load-address", 1025); break; default: if ((prop->valid & FILEIO_V_LOAD_ADDR) != FILEIO_V_LOAD_ADDR) { args->add_callback("ui-image-get-properties-CB-ok", this, 4); CMD_EXEC_ARGS("ui-image-get-properties", args); return; } } /* fall through */ case 4: if ((prop->valid & FILEIO_V_LOAD_ADDR) == FILEIO_V_LOAD_ADDR) load = prop->load_addr; if (args->has_arg("load-address")) load = args->get_long_arg("load-address"); start = 0xe000; if ((prop->valid & FILEIO_V_START_ADDR) == FILEIO_V_START_ADDR) start = prop->start_addr; if (args->has_arg("start-address")) start = args->get_long_arg("start-address"); autostart = 0; if (args->has_arg("auto-start")) autostart = args->get_long_arg("auto-start"); if ((prop->valid & FILEIO_V_AUTOSTART) == FILEIO_V_AUTOSTART) if (prop->autostart == 0) autostart = 0; buf = new byte_t[prop->size]; size = fileio_get_image(prop, buf); DBG(1, form("KCemu/CMD/image", "CMD: [image] file = '%s' (%d bytes / raw image %d)\n" "CMD: [image] load = %04xh\n" "CMD: [image] start = %04xh\n" "CMD: [image] run = %s\n", prop->name, prop->size, size, load, start, autostart ? "start automatically" : "load only")); for (a = 0;a < size;a++) memory->memWrite8(load + a, buf[a]); delete buf; if (autostart) z80->jump(start); break; case 5: filename = args->get_string_arg("filename"); if (!filename) return; if (args->has_arg("start-address") && args->has_arg("end-address")) image_save(filename, args->get_long_arg("start-address"), args->get_long_arg("end-address")); break; } } int CMD_kc_image_load::image_save(const char *filename, int start_addr, int end_addr) { if (start_addr < 0) start_addr = 0; if (end_addr > 0xffff) end_addr = 0xffff; if (start_addr > end_addr) start_addr = end_addr; FILE *f = fopen(filename, "wb"); if (f == NULL) return 1; int length = end_addr - start_addr + 1; byte_t *buf = new byte_t[length]; for (int a = 0;a < length;a++) buf[a] = memory->memRead8(start_addr + a); int ret = fwrite(buf, 1, length, f); fclose(f); delete buf; return ret != length; } __force_link(CMD_kc_image_load); KCemu-0.5.1/src/cmd/cmdargs.cc0000644000175000017500000002065612417262523016243 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "kc/system.h" #include "cmd/cmd.h" #include "cmd/cmdargs.h" #include "libdbg/dbg.h" using namespace std; /* * class CMD_ListEntry */ CMD_ListEntry::CMD_ListEntry(CMD *cmd, CMD_Context context, const char *name) { _cmd = cmd; _context = context; _name = 0; if (name) _name = strdup(name); } CMD_ListEntry::~CMD_ListEntry(void) { if (_name) free(_name); } CMD * CMD_ListEntry::get_cmd(void) { return _cmd; } CMD_Context CMD_ListEntry::get_context(void) { return _context; } const char * CMD_ListEntry::get_name(void) { return _name; } /* * class CMD_List */ CMD_List::CMD_List(const char *name) { _name = strdup(name); _cmd_list = new cmd_list_t; } CMD_List::~CMD_List(void) { /* FIXME: free cmds here! */ delete _cmd_list; free(_name); } const char * CMD_List::get_name(void) { return _name; } void CMD_List::add_cmd(CMD *cmd, CMD_Context context) { _cmd_list->push_back(new CMD_ListEntry(cmd, context)); } void CMD_List::remove_cmd(CMD *cmd, CMD_Context context) { /* FIXME: */ } void CMD_List::execute(CMD_Args *args) { CMD_List::iterator it; for (it = _cmd_list->begin(); it != _cmd_list->end();it++) { (*it)->get_cmd()->execute(args, (*it)->get_context()); } } void CMD_List::dump(void) { CMD_List::iterator it; for (it = _cmd_list->begin(); it != _cmd_list->end();it++) DBG(0, form("KCemu/CMD_Repository", " - %-40s [%016p] {%d 0x%x}\n", (*it)->get_cmd()->get_name(), (*it)->get_cmd(), (*it)->get_context())); } /* * class CMD_Arg */ CMD_Arg::CMD_Arg(const char *name, CMD_Arg_Type type) { _name = strdup(name); _type = type; _value_set = false; } CMD_Arg::~CMD_Arg(void) { if (_value_set && (_type == CMD_ARG_STRING)) free(_val.v_string); } const char * CMD_Arg::get_name(void) { return _name; } CMD_Arg_Type CMD_Arg::get_type(void) { return _type; } void CMD_Arg::set_long_arg(long value) { char buf[50]; switch (_type) { case CMD_ARG_LONG: _val.v_long = value; break; case CMD_ARG_STRING: sprintf(buf, "%ld", value); _val.v_string = strdup(buf); break; } _value_set = true; } void CMD_Arg::set_string_arg(const char *value) { switch (_type) { case CMD_ARG_LONG: _val.v_long = strtol(value, NULL, 0); break; case CMD_ARG_STRING: _val.v_string = strdup(value); break; } _value_set = true; } void CMD_Arg::set_pointer_arg(void *value) { switch (_type) { case CMD_ARG_LONG: _val.v_long = (long)value; break; case CMD_ARG_STRING: _val.v_string = (char *)value; break; } _value_set = true; } long CMD_Arg::get_long_arg(void) { switch (_type) { case CMD_ARG_LONG: return _val.v_long; case CMD_ARG_STRING: return strtol(_val.v_string, NULL, 0); } return 0; } const char * CMD_Arg::get_string_arg(void) { switch (_type) { case CMD_ARG_LONG: cerr << "CMD_Arg: accessing LONG arg as STRING" << endl; break; case CMD_ARG_STRING: return _val.v_string; } return ""; } void * CMD_Arg::get_pointer_arg(void) { switch (_type) { case CMD_ARG_LONG: return (void *)_val.v_long; break; case CMD_ARG_STRING: return _val.v_string; } return 0; } /* * class CMD_Args */ CMD_Args::CMD_Args(void) { _user_data = 0; } CMD_Args::~CMD_Args(void) { CMD_Args::arg_iterator it; for (it = _arg_list.begin();it != _arg_list.end();it++) delete (*it); _arg_list.erase(_arg_list.begin(), _arg_list.end()); } CMD_Arg * CMD_Args::lookup(const char *name) { CMD_Args::arg_iterator it; for (it = _arg_list.begin();it != _arg_list.end();it++) { if (strcmp((*it)->get_name(), name) == 0) { return (*it); } } return 0; } CMD_Args * CMD_Args::set_long_arg(const char *name, long value) { CMD_Arg *arg; arg = lookup(name); if (arg == 0) { arg = new CMD_Arg(name, CMD_ARG_LONG); _arg_list.push_back(arg); } arg->set_long_arg(value); notify_change_listeners(); return this; } CMD_Args * CMD_Args::set_string_arg(const char *name, const char *value) { CMD_Arg *arg; arg = lookup(name); if (arg == 0) { arg = new CMD_Arg(name, CMD_ARG_STRING); _arg_list.push_back(arg); } arg->set_string_arg(value); notify_change_listeners(); return this; } CMD_Args * CMD_Args::set_pointer_arg(const char *name, void *value) { CMD_Arg *arg; arg = lookup(name); if (arg == 0) { arg = new CMD_Arg(name, CMD_ARG_STRING); _arg_list.push_back(arg); } arg->set_pointer_arg(value); notify_change_listeners(); return this; } CMD_Args * CMD_Args::add_change_listener(CMD_Change_Listener *listener) { _cl_list.push_back(listener); return this; } long CMD_Args::get_long_arg(const char *name) { CMD_Arg *arg; arg = lookup(name); if (arg == 0) return 0; return arg->get_long_arg(); } const char * CMD_Args::get_string_arg(const char *name) { CMD_Arg *arg; arg = lookup(name); if (arg == 0) return 0; return arg->get_string_arg(); } void * CMD_Args::get_pointer_arg(const char *name) { CMD_Arg *arg; arg = lookup(name); if (arg == 0) return 0; return arg->get_pointer_arg(); } bool CMD_Args::has_arg(const char *name) { if (lookup(name) == 0) return false; return true; } void CMD_Args::set_user_data(void *data) { _user_data = data; } void * CMD_Args::get_user_data(void) { return _user_data; } void CMD_Args::notify_change_listeners(void) { CMD_Args::cl_iterator it; for (it = _cl_list.begin();it != _cl_list.end();it++) { (*it)->cmd_args_changed(); } } void CMD_Args::add_callback(const char *name, CMD *cmd, CMD_Context context) { DBG(2, form("KCemu/CMD_Args/callback/add", "CMD_Args: adding callback '%s' for cmd '%s'\n", name, cmd->get_name())); _cb_list.push_back(new CMD_ListEntry(cmd, context, name)); } void CMD_Args::remove_callback(const char *name, CMD *cmd, CMD_Context context) { DBG(0, form("KCemu/warning", "CMD_Args::remove_callback(): *** NOT IMPLEMENTED ***\n")); DBG(2, form("KCemu/CMD_Args/callback/remove", "CMD_Args: removing callback '%s' for cmd '%s'\n", name, cmd->get_name())); /* FIXME: */ } void CMD_Args::call_callbacks(const char *name) { bool found; CMD *cmd; CMD_Args::cb_iterator it; found = false; for (it = _cb_list.begin();it != _cb_list.end();it++) { if (strcmp((*it)->get_name(), name) == 0) { found = true; cmd = (*it)->get_cmd(); DBG(2, form("KCemu/CMD_Args/callback/call", "CMD_Args: running callback '%s' on cmd '%s' [%d]\n", name, cmd->get_name(), (*it)->get_context())); cmd->execute(this, (*it)->get_context()); } } if (!found) { DBG(2, form("KCemu/CMD_Args/callback/call", "CMD_Args: no cmd registered on callback '%s'\n", name)); } } void CMD_Args::dump(const char *text) { CMD_Args::arg_iterator it; printf("CMD_Args: -=<[%s]>=-\n", text); for (it = _arg_list.begin();it != _arg_list.end();it++) { switch ((*it)->get_type()) { case CMD_ARG_LONG: printf("CMD_Args: %-30s I %ld\n", (*it)->get_name(), (*it)->get_long_arg()); break; case CMD_ARG_STRING: printf("CMD_Args: %-30s S '%s'\n", (*it)->get_name(), (*it)->get_string_arg()); break; default: printf("CMD_Args: %-30s ?", (*it)->get_name()); break; } } } KCemu-0.5.1/src/cmd/quit.cc0000644000175000017500000000235612417262523015602 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/kc.h" #include "kc/z80.h" #include "ui/status.h" #include "cmd/cmd.h" class CMD_quit : public CMD { public: CMD_quit(void) : CMD("Quit") { register_cmd("emu-quit"); } void execute(CMD_Args *args, CMD_Context context) { Status::instance()->setMessage("*** QUIT ***"); CMD_Repository::instance()->dump(); z80->quit(); } }; __force_link(CMD_quit); KCemu-0.5.1/src/cmd/Makefile.am0000644000175000017500000000041312417262523016335 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in noinst_LIBRARIES = libcmd.a AM_CPPFLAGS = \ $(CPPFLAGS) \ -I../../include \ -DVERSION=\"$(VERSION)\" libcmd_a_SOURCES = \ cmd.cc \ cmdargs.cc \ quit.cc \ reset.cc \ image.cc \ load.cc \ dbg.cc KCemu-0.5.1/src/cmd/cmd.cc0000644000175000017500000001043312417262523015356 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include "cmd/cmd.h" #include "libdbg/dbg.h" /* * class CMD */ CMD::CMD(const char *name) { _name = strdup(name); } CMD::~CMD(void) { free(_name); } const char * CMD::get_name(void) { return _name; } void CMD::register_cmd(const char *list_name, CMD_Context context) { DBG(0, form("KCemu/CMD/register", "CMD: registering command '%s', context = %d\n", list_name, context)); CMD_Repository::instance()->add_cmd(this, list_name, context); }; void CMD::unregister_cmd(const char *list_name, CMD_Context context) { DBG(0, form("KCemu/CMD/unregister", "CMD: unregistering command '%s', context = %d\n", list_name, context)); CMD_Repository::instance()->remove_cmd(this, list_name, context); }; void CMD::execute(CMD_Args *args, CMD_Context context) { DBG(0, form("KCemu/CMD/warning", "*** Warning: CMD without execute() function called!\n" "*** command is: '%s' [%p]\n" "*** context is: %d [0x%08x]\n", get_name(), this, context, context)); } /* * class CMD_Repository */ CMD_Repository * CMD_Repository::_singleton = 0; CMD_Repository::CMD_Repository(void) { _cmd_llist = new cmd_llist_t; } CMD_Repository::~CMD_Repository(void) { delete _cmd_llist; } CMD_Repository * CMD_Repository::instance(void) { if (_singleton == 0) _singleton = new CMD_Repository(); return _singleton; } void CMD_Repository::add_cmd(CMD *cmd, const char *list_name, CMD_Context context) { CMD_List *list; CMD_Repository::iterator it; list = 0; for (it = _cmd_llist->begin();it != _cmd_llist->end();it++) { if (strcmp((*it)->get_name(), list_name) == 0) { list = (*it); break; } } if (list == 0) { list = new CMD_List(list_name); _cmd_llist->push_back(list); } list->add_cmd(cmd, context); } void CMD_Repository::remove_cmd(CMD *cmd, const char *list_name, CMD_Context context) { CMD_List *list; CMD_Repository::iterator it; list = 0; for (it = _cmd_llist->begin();it != _cmd_llist->end();it++) { if (strcmp((*it)->get_name(), list_name) == 0) { list = (*it); break; } } if (list) list->remove_cmd(cmd, context); } void CMD_Repository::execute(const char *list_name, CMD_Args *args) { CMD_Repository::iterator it; for (it = _cmd_llist->begin(); it != _cmd_llist->end();it++) { if (strcmp((*it)->get_name(), list_name) == 0) { DBG(0, form("KCemu/CMD/execute", "CMD: executing command '%s'\n", list_name)); (*it)->execute(args); return; } } DBG(0, form("KCemu/CMD/warning", "*** Warning: unknown command list called!\n" "*** command list name: '%s'\n", list_name)); } void CMD_Repository::dump(void) { CMD_Repository::iterator it; DBG(0, form("KCemu/CMD_Repository", "*** CMD_Repository dump ***************************\n")); for (it = _cmd_llist->begin(); it != _cmd_llist->end();it++) { DBG(0, form("KCemu/CMD_Repository", "+ List: %s\n", (*it)->get_name())); (*it)->dump(); } DBG(0, form("KCemu/CMD_Repository", "*** CMD_Repository ********************************\n")); } KCemu-0.5.1/src/cmd/load.cc0000644000175000017500000000363412417262523015537 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/kc.h" #include "kc/memory.h" #include "ui/status.h" #include "cmd/cmd.h" class CMD_load : public CMD, public CMD_Caller, public CMD_Change_Listener { public: CMD_load(void) : CMD("load") { register_cmd("emu-load-image", 0); } void execute(CMD_Args *args, CMD_Context context) { CMD_Args *a; switch (context) { case 0: Status::instance()->setMessage("*** LOAD IMAGE ***"); a = new CMD_Args(); cmd_caller_set_args(a); a->add_change_listener(this); CMD_Repository::instance()->execute("ui-browse", a); a->dump("KCCMD_LOAD_IMAGE"); break; case 1: Status::instance()->setMessage("*** LOAD IMAGE OK ***"); cmd_caller_get_args()->dump("KCCMD_LOAD_IMAGE_OK"); break; } } void cmd_args_changed(void) { Status::instance()->setMessage(cmd_caller_get_args()->get_string_arg("file-name")); memory->loadRAM(cmd_caller_get_args()->get_string_arg("file-name")); } }; __force_link(CMD_load); KCemu-0.5.1/src/cmd/dbg.cc0000644000175000017500000000235212417262523015350 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "kc/kc.h" #include "cmd/cmd.h" #include "ui/status.h" #include "libdbg/dbg.h" class CMD_dbg : public CMD { public: CMD_dbg(void) : CMD("dbg") { register_cmd("reload-debug-config", 0); } void execute(CMD_Args *args, CMD_Context context) { Status::instance()->setMessage("*** RELOAD DEBUG CONFIG ***"); DBG_load_config(); } }; __force_link(CMD_dbg); KCemu-0.5.1/setup/0000755000175000017500000000000012417262523014111 5ustar glaubitzglaubitzKCemu-0.5.1/setup/kcemurc0000644000175000017500000000034512417262523015467 0ustar glaubitzglaubitz# # KCemu -- the KC 85/3 and KC 85/4 Emulator # Copyright (C) 1997-2006 Torsten Paul # # $Id$ # Display Effect: 1 IRM Memory Access: 1 Full Flash Support: 1 Flash Offset: 50 Floppy Disk Basis: 1 Busdrivers: 1 Enable Sound: 0 KCemu-0.5.1/setup/Makefile.am0000644000175000017500000000033112417262523016142 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in NSI_FILES = KCemuSetup.nsi pkgdata_DATA = kcemurc noinst_DATA = $(NSI_FILES) EXTRA_DIST = $(pkgdata_DATA) $(NSI_FILES) KCemuSetup.nsi : KCemuSetup.nsi.in KCemu-0.5.1/setup/KCemuSetup.nsi.in0000644000175000017500000010103712417262523017260 0ustar glaubitzglaubitz; Script generated by the HM NIS Edit Script Wizard. SetCompressor /SOLID lzma ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "KCemu" !define PRODUCT_VERSION "@VERSION@" !define PRODUCT_PUBLISHER "Torsten Paul" !define PRODUCT_WEB_SITE "http://kcemu.sourceforge.net/" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\kcemu.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" ; MUI 1.67 compatible ------ !include "MUI.nsh" ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; License page !define MUI_LICENSEPAGE_CHECKBOX !insertmacro MUI_PAGE_LICENSE "KCemu-@VERSION@\COPYING" ; Components page ;!insertmacro MUI_PAGE_COMPONENTS ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\bin\kcemu.exe" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files !insertmacro MUI_LANGUAGE "English" ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe" InstallDir "$PROGRAMFILES\KCemu" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show Section "!KCemu" SEC01 SetOutPath "$INSTDIR" SetOverwrite try File /r "kcemu\bin" File /r "kcemu\lib" File /r "kcemu\share" CreateShortCut "$DESKTOP\KCemu.lnk" "$INSTDIR\bin\kcemu.exe" '-P' CreateDirectory "$SMPROGRAMS\KCemu" CreateShortCut "$SMPROGRAMS\KCemu\KCemu.lnk" "$INSTDIR\bin\kcemu.exe" '-P' "$INSTDIR\share\KCemu\icons\kcemu-winicon.ico" CreateShortCut "$SMPROGRAMS\KCemu\BIC.lnk" "$INSTDIR\bin\kcemu.exe" '-9' "$INSTDIR\share\KCemu\icons\kcemu-bic.ico" CreateShortCut "$SMPROGRAMS\KCemu\KC85 - 1.lnk" "$INSTDIR\bin\kcemu.exe" '-1' "$INSTDIR\share\KCemu\icons\kcemu-kc87.ico" CreateShortCut "$SMPROGRAMS\KCemu\KC85 - 2.lnk" "$INSTDIR\bin\kcemu.exe" '-2' "$INSTDIR\share\KCemu\icons\kcemu-kc85.ico" CreateShortCut "$SMPROGRAMS\KCemu\KC85 - 3.lnk" "$INSTDIR\bin\kcemu.exe" '-3' "$INSTDIR\share\KCemu\icons\kcemu-kc85.ico" CreateShortCut "$SMPROGRAMS\KCemu\KC85 - 4.lnk" "$INSTDIR\bin\kcemu.exe" '-4' "$INSTDIR\share\KCemu\icons\kcemu-kc85.ico" CreateShortCut "$SMPROGRAMS\KCemu\KC85 - 5.lnk" "$INSTDIR\bin\kcemu.exe" '-5' "$INSTDIR\share\KCemu\icons\kcemu-kc85.ico" CreateShortCut "$SMPROGRAMS\KCemu\KC87.lnk" "$INSTDIR\bin\kcemu.exe" '-7' "$INSTDIR\share\KCemu\icons\kcemu-kc87.ico" CreateShortCut "$SMPROGRAMS\KCemu\LC80.lnk" "$INSTDIR\bin\kcemu.exe" '-8' "$INSTDIR\share\KCemu\icons\kcemu-lc80.ico" CreateShortCut "$SMPROGRAMS\KCemu\Poly880.lnk" "$INSTDIR\bin\kcemu.exe" '-6' "$INSTDIR\share\KCemu\icons\kcemu-poly880.ico" CreateShortCut "$SMPROGRAMS\KCemu\Z1013.lnk" "$INSTDIR\bin\kcemu.exe" '-0' "$INSTDIR\share\KCemu\icons\kcemu-z1013.ico" SectionEnd SectionGroup "GTK" SEC02 Section "-bin" SEC_GTK_01 SetOutPath "$INSTDIR\bin" SetOverwrite try File "dist\bin\charset.dll" File "dist\bin\iconv.dll" File "dist\bin\iconv.exe" File "dist\bin\intl.dll" File "dist\bin\libatk-1.0-0.dll" File "dist\bin\libcairo-2.dll" File "dist\bin\libgailutil-18.dll" File "dist\bin\libgdk-win32-2.0-0.dll" File "dist\bin\libgdk_pixbuf-2.0-0.dll" File "dist\bin\libgio-2.0-0.dll" File "dist\bin\libglib-2.0-0.dll" File "dist\bin\libgmodule-2.0-0.dll" File "dist\bin\libgobject-2.0-0.dll" File "dist\bin\libgthread-2.0-0.dll" File "dist\bin\libgtk-win32-2.0-0.dll" File "dist\bin\libpango-1.0-0.dll" File "dist\bin\libpangocairo-1.0-0.dll" File "dist\bin\libpangoft2-1.0-0.dll" File "dist\bin\libpangowin32-1.0-0.dll" File "dist\bin\libpng12-0.dll" File "dist\bin\libjpeg-7.dll" File "dist\bin\libtiff-3.dll" File "dist\bin\libtiffxx-3.dll" File "dist\bin\freetype6.dll" File "dist\bin\libfontconfig-1.dll" File "dist\bin\libexpat-1.dll" File "dist\bin\pango-querymodules.exe" File "dist\bin\giflib4.dll" File "dist\bin\zlib1.dll" File "dist\bin\SDL.dll" SectionEnd Section "-etc\gtk-2.0" SEC_GTK_02 SetOutPath "$INSTDIR\etc\gtk-2.0" SetOverwrite try File "dist\etc\gtk-2.0\gdk-pixbuf.loaders" File "dist\etc\gtk-2.0\gtk.immodules" File "dist\etc\gtk-2.0\gtkrc" SectionEnd Section "-etc\pango" SEC_GTK_03 SetOutPath "$INSTDIR\etc\pango" SetOverwrite try File "dist\etc\pango\pango.modules" SectionEnd Section "-lib\gtk-2.0\2.10.0\engines" SEC_GTK_ENGINES SetOutPath "$INSTDIR\lib\gtk-2.0\2.10.0\engines" SetOverwrite try File "dist\lib\gtk-2.0\2.10.0\engines\libpixmap.dll" File "dist\lib\gtk-2.0\2.10.0\engines\libwimp.dll" SectionEnd Section "-share\locale\de\LC_MESSAGES" SEC_GTK_06 SetOutPath "$INSTDIR\share\locale\de\LC_MESSAGES" SetOverwrite try File "dist\share\locale\de\LC_MESSAGES\glib20.mo" File "dist\share\locale\de\LC_MESSAGES\gtk20.mo" File "dist\share\locale\de\LC_MESSAGES\gtk20-properties.mo" File "dist\share\locale\de\LC_MESSAGES\libiconv.mo" SectionEnd SectionGroupEnd Section -AdditionalIcons SetOutPath $INSTDIR WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateShortCut "$SMPROGRAMS\KCemu\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\KCemu\Uninstall.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\kcemu.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\kcemu.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" SectionEnd ; Section descriptions !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "The KCemu program" !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "The GTK+ library (http://www.gtk.org/)" !insertmacro MUI_FUNCTION_DESCRIPTION_END Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." FunctionEnd Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 Abort FunctionEnd Section Uninstall Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\bin\kcemu.exe" Delete "$INSTDIR\bin\tdtodump.exe" Delete "$INSTDIR\bin\kctape.exe" Delete "$INSTDIR\bin\kc2raw.exe" Delete "$INSTDIR\bin\kc2wav.exe" Delete "$INSTDIR\bin\kc2tap.exe" Delete "$INSTDIR\bin\kc2img.exe" Delete "$INSTDIR\lib\charset.alias" Delete "$INSTDIR\share\man\man1\kc2img.1" Delete "$INSTDIR\share\man\man1\kc2raw.1" Delete "$INSTDIR\share\man\man1\kc2tap.1" Delete "$INSTDIR\share\man\man1\kc2wav.1" Delete "$INSTDIR\share\man\man1\kcemu-remote.1" Delete "$INSTDIR\share\man\man1\kcemu.1x" Delete "$INSTDIR\share\man\man1\kctape.1" Delete "$INSTDIR\share\man\man1\tdtodump.1" Delete "$INSTDIR\share\doc\kcemu\changelog" Delete "$INSTDIR\share\locale\locale.alias" Delete "$INSTDIR\share\locale\en\LC_MESSAGES\KCemu.mo" Delete "$INSTDIR\share\locale\de\LC_MESSAGES\KCemu.mo" Delete "$INSTDIR\share\KCemu\kcemurc" Delete "$INSTDIR\share\KCemu\.kcemurc" Delete "$INSTDIR\share\KCemu\asm\autostart\kc853.asm" Delete "$INSTDIR\share\KCemu\lib\z80\kc853.bin" Delete "$INSTDIR\share\KCemu\doc\kcemu-help.xml" Delete "$INSTDIR\share\KCemu\doc\kcemu.png" Delete "$INSTDIR\share\KCemu\doc\kcemurc.sample" Delete "$INSTDIR\share\KCemu\doc\sys-a5105.jpg" Delete "$INSTDIR\share\KCemu\doc\sys-kc85.jpg" Delete "$INSTDIR\share\KCemu\doc\sys-kc855.jpg" Delete "$INSTDIR\share\KCemu\doc\sys-lc80.jpg" Delete "$INSTDIR\share\KCemu\doc\sys-poly880.jpg" Delete "$INSTDIR\share\KCemu\doc\sys-z1013.jpg" Delete "$INSTDIR\share\KCemu\doc\sys-z9001.jpg" Delete "$INSTDIR\share\KCemu\doc\sys-xy4131.jpg" Delete "$INSTDIR\share\KCemu\doc\window-audio.png" Delete "$INSTDIR\share\KCemu\doc\window-disk.png" Delete "$INSTDIR\share\KCemu\doc\window-colors.png" Delete "$INSTDIR\share\KCemu\doc\window-module-kc85.png" Delete "$INSTDIR\share\KCemu\doc\window-module-z1013.png" Delete "$INSTDIR\share\KCemu\doc\window-module-z9001.png" Delete "$INSTDIR\share\KCemu\doc\window-tape.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-1.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-1_small.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-2.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-2_small.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-3.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-3_small.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-4.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-4_small.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-5.png" Delete "$INSTDIR\share\KCemu\doc\window-profile-5_small.png" Delete "$INSTDIR\share\KCemu\doc\window-savemem.png" Delete "$INSTDIR\share\KCemu\doc\window-savemem_small.png" Delete "$INSTDIR\share\KCemu\doc\window-select-profile.png" Delete "$INSTDIR\share\KCemu\doc\window-select-profile_small.png" Delete "$INSTDIR\share\KCemu\doc\window-plotter-1.png" Delete "$INSTDIR\share\KCemu\doc\window-plotter-1_small.png" Delete "$INSTDIR\share\KCemu\doc\window-plotter-2.png" Delete "$INSTDIR\share\KCemu\doc\window-plotter-2_small.png" Delete "$INSTDIR\share\KCemu\doc\window-video.png" Delete "$INSTDIR\share\KCemu\doc\window-screenshot.png" Delete "$INSTDIR\share\KCemu\images\kcemu.png" Delete "$INSTDIR\share\KCemu\images\logo-flac.png" Delete "$INSTDIR\share\KCemu\images\logo-gtk.png" Delete "$INSTDIR\share\KCemu\images\logo-lame.png" Delete "$INSTDIR\share\KCemu\images\logo-libsdl.png" Delete "$INSTDIR\share\KCemu\images\logo-libsndfile.png" Delete "$INSTDIR\share\KCemu\images\logo-openclipartlibrary.png" Delete "$INSTDIR\share\KCemu\images\logo-vorbisdotcom.png" Delete "$INSTDIR\share\KCemu\images\logo-theora_org.png" Delete "$INSTDIR\share\KCemu\images\logo-ffmpeg.png" Delete "$INSTDIR\share\KCemu\images\logo-xvid.png" Delete "$INSTDIR\share\KCemu\images\logo-bbc.png" Delete "$INSTDIR\share\KCemu\images\media-end.png" Delete "$INSTDIR\share\KCemu\images\media-play.png" Delete "$INSTDIR\share\KCemu\images\media-record.png" Delete "$INSTDIR\share\KCemu\images\media-start.png" Delete "$INSTDIR\share\KCemu\images\media-stop.png" Delete "$INSTDIR\share\KCemu\images\media-pause.png" Delete "$INSTDIR\share\KCemu\images\window-about.png" Delete "$INSTDIR\share\KCemu\images\window-audio.png" Delete "$INSTDIR\share\KCemu\images\window-copying.png" Delete "$INSTDIR\share\KCemu\images\window-disk.png" Delete "$INSTDIR\share\KCemu\images\window-help.png" Delete "$INSTDIR\share\KCemu\images\window-info.png" Delete "$INSTDIR\share\KCemu\images\window-module.png" Delete "$INSTDIR\share\KCemu\images\window-question.png" Delete "$INSTDIR\share\KCemu\images\window-tape.png" Delete "$INSTDIR\share\KCemu\images\window-thanks.png" Delete "$INSTDIR\share\KCemu\images\window-color.png" Delete "$INSTDIR\share\KCemu\images\window-keyboard.png" Delete "$INSTDIR\share\KCemu\images\window-options.png" Delete "$INSTDIR\share\KCemu\images\window-video.png" Delete "$INSTDIR\share\KCemu\images\window-selector.png" Delete "$INSTDIR\share\KCemu\images\window-plotter.png" Delete "$INSTDIR\share\KCemu\images\window-screenshot.png" Delete "$INSTDIR\share\KCemu\images\about.glade" Delete "$INSTDIR\share\KCemu\images\audio.glade" Delete "$INSTDIR\share\KCemu\images\color.glade" Delete "$INSTDIR\share\KCemu\images\dialog.glade" Delete "$INSTDIR\share\KCemu\images\disk.glade" Delete "$INSTDIR\share\KCemu\images\help.glade" Delete "$INSTDIR\share\KCemu\images\keyboard.glade" Delete "$INSTDIR\share\KCemu\images\legal.glade" Delete "$INSTDIR\share\KCemu\images\main.glade" Delete "$INSTDIR\share\KCemu\images\module.glade" Delete "$INSTDIR\share\KCemu\images\options.glade" Delete "$INSTDIR\share\KCemu\images\selector.glade" Delete "$INSTDIR\share\KCemu\images\tapeedit.glade" Delete "$INSTDIR\share\KCemu\images\tape.glade" Delete "$INSTDIR\share\KCemu\images\thanks.glade" Delete "$INSTDIR\share\KCemu\images\savemem.glade" Delete "$INSTDIR\share\KCemu\images\video.glade" Delete "$INSTDIR\share\KCemu\images\plotter.glade" Delete "$INSTDIR\share\KCemu\images\vdip.glade" Delete "$INSTDIR\share\KCemu\images\screenshot.glade" Delete "$INSTDIR\share\KCemu\roms\z1013\z1013_20.rom" Delete "$INSTDIR\share\KCemu\roms\z1013\z1013_a2.rom" Delete "$INSTDIR\share\KCemu\roms\z1013\z1013_rb.rom" Delete "$INSTDIR\share\KCemu\roms\z1013\z1013_ul.rom" Delete "$INSTDIR\share\KCemu\roms\z1013\z1013_bl.rom" Delete "$INSTDIR\share\KCemu\roms\z1013\z1013_zg.rom" Delete "$INSTDIR\share\KCemu\roms\z9001\192k__d2.851" Delete "$INSTDIR\share\KCemu\roms\z9001\192k__d3.851" Delete "$INSTDIR\share\KCemu\roms\z9001\192k__d5.851" Delete "$INSTDIR\share\KCemu\roms\z9001\basic_c0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\basic_c0.87a" Delete "$INSTDIR\share\KCemu\roms\z9001\basic_c0.87b" Delete "$INSTDIR\share\KCemu\roms\z9001\bitex_c0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\cpmz9_c0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\edas__c0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\idas__c0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\os____f0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\os____f0.87b" Delete "$INSTDIR\share\KCemu\roms\z9001\r80___c0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\rom_bank.851" Delete "$INSTDIR\share\KCemu\roms\z9001\zm30__c0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\zsid__c0.851" Delete "$INSTDIR\share\KCemu\roms\z9001\kcpascal.851" Delete "$INSTDIR\share\KCemu\roms\z9001\mega_rom.851" Delete "$INSTDIR\share\KCemu\roms\z9001\os_rb20.rom" Delete "$INSTDIR\share\KCemu\roms\z9001\os_rb21.rom" Delete "$INSTDIR\share\KCemu\roms\z9001\chargen.851" Delete "$INSTDIR\share\KCemu\roms\z9001\kc_caos.rom" Delete "$INSTDIR\share\KCemu\roms\z9001\zg_cga.rom" Delete "$INSTDIR\share\KCemu\roms\z9001\zg_cgai.rom" Delete "$INSTDIR\share\KCemu\roms\z9001\zg_de.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\hc900.852" Delete "$INSTDIR\share\KCemu\roms\kc85\caos__e0.852" Delete "$INSTDIR\share\KCemu\roms\kc85\basic_c0.853" Delete "$INSTDIR\share\KCemu\roms\kc85\caos__e0.853" Delete "$INSTDIR\share\KCemu\roms\kc85\caos33.853" Delete "$INSTDIR\share\KCemu\roms\kc85\caos34.853" Delete "$INSTDIR\share\KCemu\roms\kc85\pi88_ge.853" Delete "$INSTDIR\share\KCemu\roms\kc85\pi88_sw.853" Delete "$INSTDIR\share\KCemu\roms\kc85\pi88_ws.853" Delete "$INSTDIR\share\KCemu\roms\kc85\basic_c0.854" Delete "$INSTDIR\share\KCemu\roms\kc85\caos__c0.854" Delete "$INSTDIR\share\KCemu\roms\kc85\caos__e0.854" Delete "$INSTDIR\share\KCemu\roms\kc85\caos41c.854" Delete "$INSTDIR\share\KCemu\roms\kc85\caos41e.854" Delete "$INSTDIR\share\KCemu\roms\kc85\caos43c.855" Delete "$INSTDIR\share\KCemu\roms\kc85\caos43e.855" Delete "$INSTDIR\share\KCemu\roms\kc85\basic_c0.855" Delete "$INSTDIR\share\KCemu\roms\kc85\basicusb.855" Delete "$INSTDIR\share\KCemu\roms\kc85\caos__c0.855" Delete "$INSTDIR\share\KCemu\roms\kc85\caos__e0.855" Delete "$INSTDIR\share\KCemu\roms\kc85\floppy20.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\floppy30.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\floppy31.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\floppy32.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\m006.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\m012.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\m026.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\m027.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\m033.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\m052.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\m900.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\m901.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\vdip12.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\vdip2_42.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\vdip2_44.rom" Delete "$INSTDIR\share\KCemu\roms\kc85\vdip21.rom" Delete "$INSTDIR\share\KCemu\roms\poly880\poly880a.rom" Delete "$INSTDIR\share\KCemu\roms\poly880\poly880b.rom" Delete "$INSTDIR\share\KCemu\roms\poly880\sc1.rom" Delete "$INSTDIR\share\KCemu\roms\lc80\lc80__00.rom" Delete "$INSTDIR\share\KCemu\roms\lc80\lc80__08.rom" Delete "$INSTDIR\share\KCemu\roms\lc80\lc80__2k.rom" Delete "$INSTDIR\share\KCemu\roms\lc80\lc80e_00.rom" Delete "$INSTDIR\share\KCemu\roms\lc80\lc80e_10.rom" Delete "$INSTDIR\share\KCemu\roms\lc80\lc80e_c0.rom" Delete "$INSTDIR\share\KCemu\roms\a5105\k1505_00.rom" Delete "$INSTDIR\share\KCemu\roms\a5105\k1505_80.rom" Delete "$INSTDIR\share\KCemu\roms\a5105\k5651_40.rom" Delete "$INSTDIR\share\KCemu\roms\a5105\k5651_60.rom" Delete "$INSTDIR\share\KCemu\roms\kramermc\ass.kmc" Delete "$INSTDIR\share\KCemu\roms\kramermc\basic.kmc" Delete "$INSTDIR\share\KCemu\roms\kramermc\chargen.kmc" Delete "$INSTDIR\share\KCemu\roms\kramermc\debugger.kmc" Delete "$INSTDIR\share\KCemu\roms\kramermc\editor.kmc" Delete "$INSTDIR\share\KCemu\roms\kramermc\io-mon.kmc" Delete "$INSTDIR\share\KCemu\roms\kramermc\reass.kmc" Delete "$INSTDIR\share\KCemu\roms\muglerpc\chargen.pcm" Delete "$INSTDIR\share\KCemu\roms\muglerpc\muglerpc.pcm" Delete "$INSTDIR\share\KCemu\roms\vcs80\monitor.rom" Delete "$INSTDIR\share\KCemu\roms\c80\monitor.rom" Delete "$INSTDIR\share\KCemu\icons\icon-default.png" Delete "$INSTDIR\share\KCemu\icons\icon-deleted.png" Delete "$INSTDIR\share\KCemu\icons\icon-root.png" Delete "$INSTDIR\share\KCemu\icons\kcemu-winicon.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-winicon_16x16.png" Delete "$INSTDIR\share\KCemu\icons\kcemu-winicon_32x32.png" Delete "$INSTDIR\share\KCemu\icons\kcemu-winicon_48x48.png" Delete "$INSTDIR\share\KCemu\icons\kcemu-bic.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-kc85.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-kc87.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-lc80.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-poly880.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-z1013.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-kramermc.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-pcm.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-vcs80.ico" Delete "$INSTDIR\share\KCemu\icons\kcemu-c80.ico" Delete "$INSTDIR\share\KCemu\icons\icon-bic.png" Delete "$INSTDIR\share\KCemu\icons\icon-kc85.png" Delete "$INSTDIR\share\KCemu\icons\icon-kc87.png" Delete "$INSTDIR\share\KCemu\icons\icon-lc80.png" Delete "$INSTDIR\share\KCemu\icons\icon-poly880.png" Delete "$INSTDIR\share\KCemu\icons\icon-z1013.png" Delete "$INSTDIR\share\KCemu\icons\icon-kramermc.png" Delete "$INSTDIR\share\KCemu\icons\icon-pcm.png" Delete "$INSTDIR\share\KCemu\icons\icon-vcs80.png" Delete "$INSTDIR\share\KCemu\icons\icon-c80.png" Delete "$INSTDIR\share\KCemu\icons\kcemu-icon.png" Delete "$INSTDIR\share\KCemu\icons\kcemu-icon.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-bic.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-kc85.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-kc87.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-lc80.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-poly880.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-z1013.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-kramermc.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-pcm.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-vcs80.xpm" Delete "$INSTDIR\share\KCemu\icons\kcemu-c80.xpm" Delete "$INSTDIR\share\KCemu\keymaps\kc851.key" Delete "$INSTDIR\share\KCemu\keymaps\kc851_keyboard.xpm" Delete "$INSTDIR\share\KCemu\keymaps\kc851_keyboard_pressed.xpm" Delete "$INSTDIR\share\KCemu\keymaps\kc854.key" Delete "$INSTDIR\share\KCemu\keymaps\kc854_keyboard.xpm" Delete "$INSTDIR\share\KCemu\keymaps\kc854_keyboard_pressed.xpm" Delete "$INSTDIR\share\KCemu\keymaps\lc80.key" Delete "$INSTDIR\share\KCemu\keymaps\lc80_keyboard.xpm" Delete "$INSTDIR\share\KCemu\keymaps\lc80_keyboard_pressed.xpm" Delete "$INSTDIR\share\KCemu\keymaps\poly880.key" Delete "$INSTDIR\share\KCemu\keymaps\poly880_keyboard.xpm" Delete "$INSTDIR\share\KCemu\keymaps\poly880_keyboard_pressed.xpm" Delete "$INSTDIR\share\KCemu\keymaps\vcs80.key" Delete "$INSTDIR\share\KCemu\keymaps\vcs80_keyboard.xpm" Delete "$INSTDIR\share\KCemu\keymaps\vcs80_keyboard_pressed.xpm" Delete "$INSTDIR\share\KCemu\keymaps\a5105.key" Delete "$INSTDIR\share\KCemu\keymaps\a5105_keyboard.png" Delete "$INSTDIR\share\KCemu\keymaps\a5105_keyboard_pressed.png" Delete "$INSTDIR\share\KCemu\disks\a5105sys.dump" Delete "$INSTDIR\share\KCemu\disks\caos.dump" Delete "$INSTDIR\share\KCemu\disks\cpmz9.dump" Delete "$INSTDIR\share\KCemu\disks\microdos.dump" Delete "$INSTDIR\share\KCemu\disks\tools.dump" Delete "$INSTDIR\share\KCemu\disks\z1013cpm.dump" Delete "$INSTDIR\share\KCemu\disks\z1013gdc.dump" Delete "$INSTDIR\share\KCemu\tapes\files.kct" Delete "$INSTDIR\share\KCemu\tapes\z1013.kct" Delete "$INSTDIR\share\KCemu\tapes\lc80.kct" Delete "$INSTDIR\share\KCemu\config\a5105.conf" Delete "$INSTDIR\share\KCemu\config\c80.conf" Delete "$INSTDIR\share\KCemu\config\default.conf" Delete "$INSTDIR\share\KCemu\config\kc85-1.conf" Delete "$INSTDIR\share\KCemu\config\kc85-2.conf" Delete "$INSTDIR\share\KCemu\config\kc85-3.conf" Delete "$INSTDIR\share\KCemu\config\kc85-4.conf" Delete "$INSTDIR\share\KCemu\config\kc85-5.conf" Delete "$INSTDIR\share\KCemu\config\kc87.conf" Delete "$INSTDIR\share\KCemu\config\kramermc.conf" Delete "$INSTDIR\share\KCemu\config\lc80.conf" Delete "$INSTDIR\share\KCemu\config\pcm.conf" Delete "$INSTDIR\share\KCemu\config\poly880.conf" Delete "$INSTDIR\share\KCemu\config\vcs80.conf" Delete "$INSTDIR\share\KCemu\config\z1013.conf" Delete "$SMPROGRAMS\KCemu\Uninstall.lnk" Delete "$SMPROGRAMS\KCemu\Website.lnk" Delete "$DESKTOP\KCemu.lnk" Delete "$SMPROGRAMS\KCemu\BIC.lnk" Delete "$SMPROGRAMS\KCemu\KC85 - 1.lnk" Delete "$SMPROGRAMS\KCemu\KC85 - 2.lnk" Delete "$SMPROGRAMS\KCemu\KC85 - 3.lnk" Delete "$SMPROGRAMS\KCemu\KC85 - 4.lnk" Delete "$SMPROGRAMS\KCemu\KC85 - 5.lnk" Delete "$SMPROGRAMS\KCemu\KC87.lnk" Delete "$SMPROGRAMS\KCemu\LC80.lnk" Delete "$SMPROGRAMS\KCemu\Poly880.lnk" Delete "$SMPROGRAMS\KCemu\Z1013.lnk" Delete "$SMPROGRAMS\KCemu\Z1013 (BL4).lnk" Delete "$SMPROGRAMS\KCemu\KramerMC.lnk" Delete "$SMPROGRAMS\KCemu\PCM.lnk" Delete "$SMPROGRAMS\KCemu\VCS80.lnk" Delete "$DESKTOP\KCemu.lnk" # GTK START Delete "$INSTDIR\bin\charset.dll" Delete "$INSTDIR\bin\gspawn-win32-helper-console.exe" Delete "$INSTDIR\bin\gspawn-win32-helper.exe" Delete "$INSTDIR\bin\iconv.dll" Delete "$INSTDIR\bin\iconv.exe" Delete "$INSTDIR\bin\intl.dll" Delete "$INSTDIR\bin\libatk-1.0-0.dll" Delete "$INSTDIR\bin\libcairo-2.dll" Delete "$INSTDIR\bin\libgailutil-18.dll" Delete "$INSTDIR\bin\libgdk-win32-2.0-0.dll" Delete "$INSTDIR\bin\libgdk_pixbuf-2.0-0.dll" Delete "$INSTDIR\bin\libglib-2.0-0.dll" Delete "$INSTDIR\bin\libgio-2.0-0.dll" Delete "$INSTDIR\bin\libgmodule-2.0-0.dll" Delete "$INSTDIR\bin\libgobject-2.0-0.dll" Delete "$INSTDIR\bin\libgthread-2.0-0.dll" Delete "$INSTDIR\bin\libgtk-win32-2.0-0.dll" Delete "$INSTDIR\bin\libpango-1.0-0.dll" Delete "$INSTDIR\bin\libpangocairo-1.0-0.dll" Delete "$INSTDIR\bin\libpangoft2-1.0-0.dll" Delete "$INSTDIR\bin\libpangowin32-1.0-0.dll" Delete "$INSTDIR\bin\libpng12.dll" Delete "$INSTDIR\bin\libpng12-0.dll" Delete "$INSTDIR\bin\libpng13.dll" Delete "$INSTDIR\bin\jpeg62.dll" Delete "$INSTDIR\bin\libjpeg-7.dll" Delete "$INSTDIR\bin\libtiff3.dll" Delete "$INSTDIR\bin\libtiff-3.dll" Delete "$INSTDIR\bin\libtiffxx-3.dll" Delete "$INSTDIR\bin\freetype6.dll" Delete "$INSTDIR\bin\libfontconfig-1.dll" Delete "$INSTDIR\bin\libexpat-1.dll" Delete "$INSTDIR\bin\pango-querymodules.exe" Delete "$INSTDIR\bin\giflib4.dll" Delete "$INSTDIR\bin\zlib1.dll" Delete "$INSTDIR\bin\SDL.dll" Delete "$INSTDIR\etc\gtk-2.0\gdk-pixbuf.loaders" Delete "$INSTDIR\etc\gtk-2.0\gtk.immodules" Delete "$INSTDIR\etc\gtk-2.0\gtkrc" Delete "$INSTDIR\etc\pango\pango.aliases" Delete "$INSTDIR\etc\pango\pango.modules" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-ani.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-bmp.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-gif.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-ico.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-jpeg.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-pcx.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-png.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-pnm.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-ras.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-tga.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-tiff.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-wbmp.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-xbm.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-xpm.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-am-et.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-cedilla.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-cyrillic-translit.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-ime.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-inuktitut.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-ipa.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-thai-broken.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-ti-er.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-ti-et.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\im-viqr.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\engines\libpixmap.dll" Delete "$INSTDIR\lib\gtk-2.0\2.4.0\engines\libwimp.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ani.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-bmp.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-gif.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ico.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-jpeg.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pcx.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-png.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-pnm.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-ras.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tga.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-tiff.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-wbmp.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xbm.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\libpixbufloader-xpm.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-am-et.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-cedilla.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-cyrillic-translit.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-ime.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-inuktitut.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-ipa.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-multipress.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-thai.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-ti-er.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-ti-et.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\im-viqr.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\engines\libpixmap.dll" Delete "$INSTDIR\lib\gtk-2.0\2.10.0\engines\libwimp.dll" Delete "$INSTDIR\lib\locale\de\LC_MESSAGES\glib20.mo" Delete "$INSTDIR\lib\locale\de\LC_MESSAGES\gtk20.mo" Delete "$INSTDIR\lib\locale\de\LC_MESSAGES\gtk20-properties.mo" Delete "$INSTDIR\lib\locale\de\LC_MESSAGES\atk10.mo" Delete "$INSTDIR\share\locale\de\LC_MESSAGES\glib20.mo" Delete "$INSTDIR\share\locale\de\LC_MESSAGES\gtk20.mo" Delete "$INSTDIR\share\locale\de\LC_MESSAGES\gtk20-properties.mo" Delete "$INSTDIR\share\locale\de\LC_MESSAGES\libiconv.mo" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-arabic-fc.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-basic-fc.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-basic-win32.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-hangul-fc.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-hebrew-fc.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-indic-fc.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-khmer-fc.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-syriac-fc.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-thai-fc.dll" Delete "$INSTDIR\lib\pango\1.4.0\modules\pango-tibetan-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-arabic-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-basic-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-basic-win32.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-hangul-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-hebrew-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-indic-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-khmer-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-syriac-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-thai-fc.dll" Delete "$INSTDIR\lib\pango\1.5.0\modules\pango-tibetan-fc.dll" # GTK END RMDir "$INSTDIR\share\man\man1" RMDir "$INSTDIR\share\man" RMDir "$INSTDIR\share\KCemu\roms\z1013" RMDir "$INSTDIR\share\KCemu\roms\z9001" RMDir "$INSTDIR\share\KCemu\roms\kc85" RMDir "$INSTDIR\share\KCemu\roms\poly880" RMDir "$INSTDIR\share\KCemu\roms\lc80" RMDir "$INSTDIR\share\KCemu\roms\a5105" RMDir "$INSTDIR\share\KCemu\roms\kramermc" RMDir "$INSTDIR\share\KCemu\roms\muglerpc" RMDir "$INSTDIR\share\KCemu\roms\vcs80" RMDir "$INSTDIR\share\KCemu\roms\c80" RMDir "$INSTDIR\share\KCemu\roms" RMDir "$INSTDIR\share\KCemu\disks" RMDir "$INSTDIR\share\KCemu\tapes" RMDir "$INSTDIR\share\KCemu\keymaps" RMDir "$INSTDIR\share\KCemu\lib\z80" RMDir "$INSTDIR\share\KCemu\lib" RMDir "$INSTDIR\share\KCemu\asm\autostart" RMDir "$INSTDIR\share\KCemu\asm" RMDir "$INSTDIR\share\KCemu\doc" RMDir "$INSTDIR\share\KCemu\icons" RMDir "$INSTDIR\share\KCemu\images" RMDir "$INSTDIR\share\KCemu\config" RMDir "$INSTDIR\share\KCemu" RMDir "$INSTDIR\share\locale\de\LC_MESSAGES" RMDir "$INSTDIR\share\locale\en\LC_MESSAGES" RMDir "$INSTDIR\share\locale\de" RMDir "$INSTDIR\share\locale\en" RMDir "$INSTDIR\share\locale" RMDir "$INSTDIR\share\doc\kcemu" RMDir "$INSTDIR\share\doc" RMDir "$INSTDIR\share" RMDir "$INSTDIR\etc\gtk-2.0" RMDir "$INSTDIR\etc\pango" RMDir "$INSTDIR\etc" RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\loaders" RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\immodules" RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\engines" RMDir "$INSTDIR\lib\gtk-2.0\2.4.0" RMDir "$INSTDIR\lib\gtk-2.0\2.10.0\loaders" RMDir "$INSTDIR\lib\gtk-2.0\2.10.0\immodules" RMDir "$INSTDIR\lib\gtk-2.0\2.10.0\engines" RMDir "$INSTDIR\lib\gtk-2.0\2.10.0" RMDir "$INSTDIR\lib\gtk-2.0" RMDir "$INSTDIR\lib\locale\de\LC_MESSAGES" RMDir "$INSTDIR\lib\locale\de" RMDir "$INSTDIR\lib\locale" RMDir "$INSTDIR\lib\pango\1.4.0\modules" RMDir "$INSTDIR\lib\pango\1.4.0" RMDir "$INSTDIR\lib\pango\1.5.0\modules" RMDir "$INSTDIR\lib\pango\1.5.0" RMDir "$INSTDIR\lib\pango" RMDir "$INSTDIR\lib" RMDir "$INSTDIR\bin" RMDir "$INSTDIR" RMDir "$SMPROGRAMS\KCemu" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SetAutoClose true SectionEnd KCemu-0.5.1/VERSION0000644000175000017500000000141412417262523014021 0ustar glaubitzglaubitzPACKAGE=KCemu PACKAGE_URL=http://kcemu.sourceforge.net/ PACKAGE_BUGREPORT=Torsten.Paul@gmx.de KCEMU_MAJOR_VERSION=0 KCEMU_MINOR_VERSION=5 KCEMU_MICRO_VERSION=1 KCEMU_EXTRA_VERSION=0 KCEMU_EXTRA_VERSION_TEXT= ################################################################ if test $KCEMU_MICRO_VERSION -eq 0 then KCEMU_VERSION=${KCEMU_MAJOR_VERSION}.${KCEMU_MINOR_VERSION} else KCEMU_VERSION=${KCEMU_MAJOR_VERSION}.${KCEMU_MINOR_VERSION}.${KCEMU_MICRO_VERSION} fi if test x"$KCEMU_EXTRA_VERSION_TEXT" != x then KCEMU_VERSION=${KCEMU_VERSION}${KCEMU_EXTRA_VERSION_TEXT}${KCEMU_EXTRA_VERSION} else KCEMU_EXTRA_VERSION=0 fi ################################################################ if [ "x-v" = "x$1" ] then echo -n "$KCEMU_VERSION" fi KCemu-0.5.1/conf/0000755000175000017500000000000012417262523013676 5ustar glaubitzglaubitzKCemu-0.5.1/conf/kc85-5.conf0000644000175000017500000000006312417262523015460 0ustar glaubitzglaubitz# kcemu configuration file d004 = 1 busdrivers = 1 KCemu-0.5.1/conf/a5105.conf0000644000175000017500000000004712417262523015301 0ustar glaubitzglaubitz# kcemu configuration file variant = 1 KCemu-0.5.1/conf/poly880.conf0000644000175000017500000000003312417262523015764 0ustar glaubitzglaubitz# kcemu configuration file KCemu-0.5.1/conf/kc85-2.conf0000644000175000017500000000005212417262523015453 0ustar glaubitzglaubitz# kcemu configuration file busdrivers = 1 KCemu-0.5.1/conf/lc80.conf0000644000175000017500000000003312417262523015307 0ustar glaubitzglaubitz# kcemu configuration file KCemu-0.5.1/conf/Makefile.am0000644000175000017500000000057512417262523015741 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in confdir = $(pkgdatadir)/config CONFIG_FILES = \ default.conf \ kc85-1.conf \ kc85-2.conf \ kc85-3.conf \ kc85-4.conf \ kc85-5.conf \ kc87.conf \ a5105.conf \ c80.conf \ kramermc.conf \ lc80.conf \ pcm.conf \ poly880.conf \ vcs80.conf \ z1013.conf conf_DATA = $(CONFIG_FILES) EXTRA_DIST = $(CONFIG_FILES) KCemu-0.5.1/conf/kc85-1.conf0000644000175000017500000000004712417262523015456 0ustar glaubitzglaubitz# kcemu configuration file variant = 0 KCemu-0.5.1/conf/pcm.conf0000644000175000017500000000003312417262523015320 0ustar glaubitzglaubitz# kcemu configuration file KCemu-0.5.1/conf/kc85-4.conf0000644000175000017500000000006312417262523015457 0ustar glaubitzglaubitz# kcemu configuration file d004 = 1 busdrivers = 1 KCemu-0.5.1/conf/kc85-3.conf0000644000175000017500000000005212417262523015454 0ustar glaubitzglaubitz# kcemu configuration file busdrivers = 1 KCemu-0.5.1/conf/kramermc.conf0000644000175000017500000000003312417262523016342 0ustar glaubitzglaubitz# kcemu configuration file KCemu-0.5.1/conf/default.conf0000644000175000017500000000043112417262523016167 0ustar glaubitzglaubitz# kcemu configuration file system = 8 variant = 0 display_scale = 1 display_effects = 1 display_mem_access = 0 display_debug = 0 #color_fg_saturation = 80 #color_fg_brightness = 95 #color_bg_saturation = 65 #color_bg_brightness = 50 #color_black_level = 10 #color_white_level = 90 KCemu-0.5.1/conf/vcs80.conf0000644000175000017500000000003312417262523015504 0ustar glaubitzglaubitz# kcemu configuration file KCemu-0.5.1/conf/kc87.conf0000644000175000017500000000004712417262523015322 0ustar glaubitzglaubitz# kcemu configuration file variant = 3 KCemu-0.5.1/conf/c80.conf0000644000175000017500000000003312417262523015133 0ustar glaubitzglaubitz# kcemu configuration file KCemu-0.5.1/conf/z1013.conf0000644000175000017500000000004712417262523015324 0ustar glaubitzglaubitz# kcemu configuration file variant = 5 KCemu-0.5.1/README0000644000175000017500000000347612417262523013643 0ustar glaubitzglaubitz------------------------------------------------------------------------------- $Id: README,v 1.3 2001/01/05 18:41:41 tp Exp $ ------------------------------------------------------------------------------- _ ______ | |/ / ___|___ _ __ ___ _ _ | ' / | / _ \ '_ ` _ \| | | | | . \ |__| __/ | | | | | |_| | |_|\_\____\___|_| |_| |_|\__,_| ================================= Copyright (c) 1997 Torsten Paul Lommatzscher Str. 26 01139 Dresden Torsten.Paul@gmx.de All Rights Reserved ------------------------------------------------------------------------------- README ------------------------------------------------------------------------------- 0. Contents 1. COPYRIGHT Hmm, no docu yet. Just ./configure && make ;-) ------------------------------------------------------------------------------- 1. COPYRIGHT This program 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. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ------------------------------------------------------------------------------- Have fun! -- Torsten Paul Torsten.Paul@gmx.de KCemu-0.5.1/images/0000755000175000017500000000000012417262523014216 5ustar glaubitzglaubitzKCemu-0.5.1/images/kcemu-pcm.png0000644000175000017500000000407312417262523016611 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒWdIDATxÚíšÍkOÇŸ$›×¦/IZc«ª=xó""¾ü¢R_‚ Eä‡^F£Q€T*‘H¥Œkú7ä¸`}Ÿ&à¸@Àü‹`=V}Zhú׊ÙÙ>4®#‘p¸¯Ï=Ø4(`,‰ÄbGŽ=zð QÎó<_,’¡ÞRE–[C‚ ‚$(Šªª*€(Öj¢ в,ŠšF‚íñÝŽ4œ•ðèùæûõºªp€ßï÷ûýºÞl6›Í¦óPÔ³$I’$É0@4Êqá0ÀÒR.—ͬ­årëëæzËË++++-á‚AŽc·ß­Ç:…%|§'Ýü_Ç`M®‚ å²!üÂB&³¸h„Úc a;M‘ÖС‡Ý~oÈ2iW–5ÍÍ\ȶXÂc¨(*•j•-ÐV{r·tëñÆsîz>ââ|N¨×Uµ^¨ÕDQ Ìdææ|>€\îñãhÔøeÑís4OŸ ×<ÿüy"Á~¾RyñbdÄ|Ÿm FCÜÓ˱0ÇI˜¦¯/#sB{ùèèùó¢06vá‚$™Æk,g=gÚö…ßl€^8á$i”“ì¦T*•67¡ZmõŸÏçsCÑ,hÃÑŒŒLOW*†!¦¦66Œr+á1ö+Š,7›t©®;R\ AhL'ÝB×uÝùë™ACاsè!é¨óþôœ†â$‹i$æñ½p¢C‰•g[–ç³fv“€­I=¤¡d¯'YüÅT¥R­V*æf î¶§³ÚC‡°+,Ç‘ÐZ­ö²ñaÆöà¡7Éh1¥ cËÓQH«ÉºÛöº…6P­ õ"ugÜ•4wœl°²#v{DhVÖƒÙS¯£ÄéVDk}7Ç€müj;¸õŪUAh]ŒLOƒuŽÍ´Çš=Ûª¼38éÒýC¡c±ãÇóùߟ~"¶ @ ßzßÝèØ¬þÈrû&`·Â«*ÙŒ«×UÕÍ•¼ã„ vw'±ÜjûØ)ôÿ×j‚P«™Ÿ³»ávèAlOÂæ“'w„r»=–ðÝò»BRëgÝÃXŒé`·†`˜­òxóÿ¸zh?k¥I$‰N›_˜ႾFpEYÔðp*5}Ѓõ1‰( …bÑ}á€>ä¾{÷æÍë×nß¾wïþ}€Bac£P°cÎÎW.on’s…|~mÍyH°ªgU~êÔéÓ'Oö"ñ¯±m€õõ|>›5_$ÂqýýCC­yûÐP<Îq$+!ÉqûÛ¿0 Ú_§Ý@82̆"†ÆlŸûƒÁP(3 %$¥N&“ÉTÊ]ôtKh¦n[Õ0 Öñ§°Õ‚Óüv°ØjÃaM¯ÿǼ¿‡‡‡‡‡‡‡‡‡‡Çßÿ¾Íd6#•Ú%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2007-01-11T16:10:38+01:00ò&çIEND®B`‚KCemu-0.5.1/images/icon-bic.png0000644000175000017500000000263212417262523016412 0ustar glaubitzglaubitz‰PNG  IHDRÄ´l;sRGB®ÎéTIDAT8Ë=•KŒeÇïû½ç;s;ítÚi§vÊD:Á)•:ºP¢Q. 5Ö&D«Øn MܺÔDc qCpA4¸1jbˆ…@4VZB¢L‡Ò¥e®g®=—9ó}ç½>.NéêÙ=yò¿üðÁûïÞ˜œŸD) K|bç,1F@pÖc¡Áá|À{ï+ßêi æf¯¾1vðÀ—b ÕN§C$#ƈ‡ "XkAAð!j|pˆeÙ%† J)µ¹¹5¿²²ö¸ê4—d{»Á×?Ãêê h­H’P(…$!¥H”€$¹?½÷|næ4Ÿ¹ÀÌ#'š,3Ôëkl¬oqáü9677(Š.ÎZºÖÑéìtv°Öâ#ĈHoaЉ”J)þ÷Þ5öÔ†øÖÙ¾d´Ðy^¡4s—çQZ±^ß 2l¨îÍi¯tp»ȆÙ F’°»Y’H“Q©úúªˆRâ¬?elPø(”í’æXƒé?]8=ò³ÏÞâö«+<úâ)FÞC6qãw ÌÿalPñíË_%«h>xù7¿@Tk£¥¬‰¾„èIòO_Ý`õï[”Û]¾òÊgÙ~·Å:ÏçùË—6ٸܠ2lxô×§xý»W±»ŽÏüøý‡«ØU‹&€DeB|”†è®é±-‡k’O !߉ø€ï¦.L°úÖ®P}Šw~>‡éϰI&DðÎÓXisúgrâǨ e,_ÚÄ5ü}÷^ìv"¦–¡µ&Æ@u_ŽA‚B—dÒh­ˆ! 3 CÂÛÏ̱ðÚ:%–3ÿø}£9¶áI!» ñB6лÎd"!òÁ )%´w¢MY–øà±ÑQG;@–b »×ìŸÙËðt × Ø»žù—ùÂoæø7S¶JNE)tƒ‚ù$Fkߨ3ñÔAŽ=qêÞ ×_ø˜îºeêü»K%ÃÓC´nt(ë–_|/þö$¦š1÷Ò-Ú+È"€Æ;OŒ‘d›×|xnƒ!#£º?§¬Ùgoõ4ŒB¾·B6 É÷.¿BÄ£Ðô 䨮Ãy˜=1XbLˆj‡“´($ý£9ôÐBŠ ï=ÅnAßžœ4……”1„$:¢OHŒd:C‰‚ÑGbJD‰½ TÒ=(u-Zk$Z4™ÎÐZݯ9 LŠ™ôÕÔÀà;݃D¥Î9Fö༧Ñh`*ï 5IDAThÞÕY}PSW?ï½ä‚ÈG€…$D@T”2D>A¾+²D»:®ŸuÇ®ƒkePÔ·ÚÖvedgW;­×)‹‚â ¨(RT@?]"ŸŠ@B„$$/ï½ýãö‰cí8ÕÐß?™sß¹÷¾ßyçœ{î ÀïK{׬^ÚËã! ÇßvÌÒDÞ„Rþða€Pˆ˜FlÛ†æÁš5,°í,xy!-–ÅÀ¡£ƒ¦é4]XˆxNää×ä×vuýî ¸ìHb TÊàÌO ^QAPÄr‚rw×É$â:>òIûäÉ'È*rY  nÕtmi»ÕµÅdÒɇŸêä,Í(XzÕªÒûçmKïŸ>=á €¾¸ú‚ Ž368ΔHf-”6k!ŸÏSñ6ñTãçéKtÛõ%Ê9=¹Ê9O¯<ùËÓ+£Ï ‚XGNNEµù_Õö÷sã‚eQ¨,Y‚¾xa¡¥ˆs— ’·‘ ³³]ëÅW\ëÆ>ÒÁË>@¥ìû›J Ðý ¢9še¯§—¬½žPyódu¦Ù¢'ª iæcË\Ãqì¶»QSƒf)•¨ù˜˜ÈÕàÖç„7¬Ïn`¯wì·×T‚ç•É4â4"qJLDO,m€—€º§ÎΜŒb¿ª $-j3- Ú\]Ñm*$dÊÝ©ESî&'#=¦ß¿¯¼ßÿõÙ,µ-µYÊõïÅbKçðÒP2R(~¦@ïÝüWîúŠ<§°°÷â‹áÞ‹+WJïyL–ÞãóÇnD‡Òt(˲×{¦ÀÖÒäÞ¢ÚÄ|vwC¨ŽFÃÃw ÜÁçsÉ“K¯br´_vj¿Æ0T?N›22P ¯[‡BÂÆf¬>êÂ673ÀT0°s'"~þ¼¥‰¾µ^3 C†‘J‘a\\x$ÿloûßÛDÇÿ»fçôѹpIEND®B`‚KCemu-0.5.1/images/icon-vcs80.png0000644000175000017500000000254512417262523016623 0ustar glaubitzglaubitz‰PNG  IHDRÄ´l;sRGB®ÎéIDAT8Ë=•MˆwÆçÿ¾ï½w’¹éÌÄt&´éT µUÚFÜn\X¡ ÙØ¢¶ +ÝHA]¹A©P â®P7"VŠ.”ÔE,‚´M›â¤Ï;37“;÷Îýxÿç\܉›sv‡sžç<Ï#ÿYý÷+÷/]0a\GœbTT3!Ô K51‚êQ'ƒ1cŒÕ³ß|QäÆõýeéÌÂTSs8¡ÙÐl˜1&ÌÀ‡¦¤˜PM˜F’:b ˜“I¦d""Ýîí··wŸ’áá¦ôøÒS—ÙÙÙ œ²eÄ,9+jËöÿcäsç¥ï¼ÀÅÇ=WEIgw—½½./<ÿÝî>ãq÷žà#ƒ£!ÃÑà=!’*fÓY39gD¦K¼ûÞuNµgùê•oüºtˆ£*+®à¿kë8ö÷÷ÉfÎb$Å€ªbL¡²cÈrV hµš˜ˆ?[ú¨Ä¤„èt÷èîu âÉc`&cG‚dAN‚E(]E ›QòXÈQ¡eˆ:TÞ«˜ˆwzŒ“L½§×p—{Ìþp@ãÉšÓW»,¼uJcþ]Nÿc‹FãRàìµ> ?A3³|mÈâo†„Ú(Šˆ˜j™b"FEœà6šè؈oÌP<¼<#¡õÌ„ÑON¡Ûr*Ó|Bé½ÇæúçX&N<Á×ÌÌ-°»µEUhJ¼óÏëôÇ”š‰ ƒ~ßF‡‡âDÄÝ»6û§Ožàâv§»:öž<ëÝÂûšÎÖ›;;¤”è|ü)JbÎô»ô†[lwö|g}ñá¡EquJ%påë—ÿþø#]Zà¼C’gýÚQŸÙÛØG>ñOeâïé°@»%ðÅâüÛiÌ+á∲—Û˜/V7éá³³A-\_ZamæäýI쾟9Änxh& X_ð‡äa ŠþÇÊ8I¤>"Bãrªp)É¨ç‡ØbÆ Š¼ØAª~ÜœOEôÍ Êߦpg¦Pÿ©MÞrøS«3XÑà d¤í 0gp Xß°#Šˆl]ðS‚æ‚m ŒPlh˜‰Œ»ÇUYÈÉ7TïÂûs¨ËØ@°?Ì€‚\ ÏÝBNflKßïãN&ìµiª_µ‘)C7„æÕe¬”'ÉDp°{~ßkÁÈ!ß9€¾Gæ å¹#”¯ƒùŒÜí(ß8Nx"â>_#dJwý A¬4˜¡R%çŒE:f ÐdQ°Êá!;ž™«" àúQ0,B¡Ô!XQ$%´1x»MøñmÒ+mìSÈnÂj Þ˜Á& ²°ºB¾×E¯xâÛBûñLx,Q¿è2% #HLÄX!¾0Iópƒë þ¥x´‚}ÁÀn;äåYìtCþ§'~I}‡u”ü–Ã\¡‰ÌUQŠÖ˜€:Åþ>InLgü•©±Í˜´ÁFBz3Péf ­©C& Ô`y,…sÚPR!爇Ÿr8/X1Ê„¢^ÁA«ÕBD(®ipâ @˜ðøIG0–ÂŒÕÙäÌŒLNM3ŽÆ#£P.ÐĆÎÝRJ|tÐ#x‡f¥ÕnZ”#8q„õÍ 92;Ë/~þ³²³sÃesXÎK¤4>^õè"‡Ó8MuÓ€ Ù*Tõ °¼¼DkLÆ;áùçúÒô´ò§L©É­æð€ºjpÝ› ‘õ šÙ»ÀO {[ÔGOP75ƒQÅÑû{ø¹ëÜz÷·}¶oîñòo~‡˜™ˆˆûö¿üôåW¯¾`8{ä‘3¡Õžàøò=lnn²|â©©HUÅtgîÖ®å)Q¹üwö®5¢2£ßXÕï‰ôÊs¯1%¶7ÖÉZ3áI2õº|8Ü`wo¿ÙßÜ¢ê÷DDþ"ÜÁS_½ðúÙ‡>ùø½GçQŒ‚‰A ˜FrÊÄ<þFÈ µKu”á¨ÇÕ•k¼ö××BXÉ9ÿ$ü¿ð\§õÄÂñå‰g¾þ­ÃûOÞwé ×{¶[2+Ç€qŽïÀî3Dà_ªÚ:vìc_®çœäÞ¾55ÅÉIEND®B`‚KCemu-0.5.1/images/kcemu-winicon_48x48.png0000644000175000017500000000220612417262523020353 0ustar glaubitzglaubitz‰PNG  IHDR00Wù‡bKGDÿÿÿ ½§“ pHYs  šœtIME× 2[ÂäIDAThÞí˜?luÇ?ïì¨I›¤…Ò´´…$mœ:RË‚„©¨0”F*¢TqX@Bt©`c`@™˜Š"”­ 0 ›ÔÄImb·¦¥)¢ªiWp÷c°cû|çóÝ%¶”'Ýpwïß÷ýÞ{¿÷ûÁ&µ&©Òã—ßUF×uUÃëù)Ézsf•<‚(óÇãq7C*« Ô@w`#õøu]_“ó>ê€ånuL—fð«ØæL£tpádGê+þqâ)ÿwáÁMÆ£œ'Íow à|SIkUçu]'‘H”߉º®n£ŠÉ­¼è¨.ò@ûÀª‚5:@à]¸ù‰BKhÔ»[À¶ú¦¯êÑÑѲ³SSSÖZÅËâK¡‡Ío=Û°§} ‘H‹Å‘ò‹Å,}º¥Î^»×y¥™5à)…\–Û+ïÿ›B­Lm@×õºinçë¶èv¨×óÉf ¬eÞ_O¾ =;ð>à6VˆÕ·¾õë`C¯Uj¹M™~x7òbË×Q.(o3¯7i#I¦Ÿ9ÜÖKî|Òlë÷œnsn?ž&/hdr`•¤«SñüQÅ;g*àþ€×ßwŸ 5Qìνk°·›ì‡ï<ý„=£ß:"2¨øàmÓû(qs>úT#‹ó+áÒ·7*ßfÒç2S ™œðõwV³É’ìÈÝù;wá·[Âðåo.ÿ ašðÉ9ƒÃà M[Ýzáâ7Âä…†QáŸM ŠK“%­ç5fRÂEÆ¿á³!B5a›M };l·û1=W7<èÀ/IáHTñxÔ*x/É”°µKÑ·³*Š)a¨Ÿ²óÓW…‘HE~{/˜ >ªl+àýUÝÛ{wû¨Â}˜¿ožVLœ×øþG{¦½2f.I ÍÁ©'ïÀï·…WÇ*y›š‡þ"UÑ,܇LÆŽ9¸2' (D|ŒÓ© ˜¦päâÚ «äŽ^Å©MΜ¬867/˜J9¨,‘ˆVEöÊU¡§[±g—ÝVÔaò+¹‡•¿.”L =¶>ûØhXœÉt±ÃTGvzNxp‡b×CÖhFìéSËWn ©b`†ø<Ф³BçXÎ{ëųi¡?líÂíê¼6ÍbÔv“tVi°´lÕyw ¾º\l C>WÀ4àÏ¿…“ãöß=Û?7ª0û«ðìS#ËùbM¼p´ò-›ƒüŠp°µ(¼4îÜOŽ?gÒ¹Åç ¼|Üd÷ÃÎç‡}{¬ï7nÁÒ=!Z•ÿÉ” ”Øò_ÅÁ~åÉVo·âÄ1“ñ×Ü'¹=mïanéËö¾˜~joÿs R8w²zUIEND®B`‚KCemu-0.5.1/images/kcemu-winicon_16x16.xcf.bz20000644000175000017500000000115312417262523021031 0ustar glaubitzglaubitzBZh91AY&SY°…¼dÿ»ÿþïÁop5˜_ˆ?ïÞàÁ€  yŸÀNÔC $ýM©”ÉᩨôI hm@É£@i¡©D‰M0L=€M3F¦j  ‡4ÄddÓ&€d4d2d 24 !M)SõAê=O$42hêh¯QÐ;0h;Žñé@Ègê€Bûw-s`¿v€AR¥'F`#pŠ)’²^¬\Pã›srMCvnŽg.™Ì¥jÉ_Ä Ðºn½ ¢Ýê T7ͪjI¦…)ÐŒ1µ Ja†‹½A†­JM&qê¥Je •‰)$ jñ  ‰› vœ›P¹¦6áI…b*TOYGí:ù*ºêY*¢ó¬ W!Bbò‚.Õ LD5 ´ÁÌÄ5¢˜%Jò«…a$R’ìµÚ´¢®6Òž,H!u¤%6±Le`"¦YÕ6^Íû]vvüÜ^œÝ]„ØŽ´8»é•.Ìõ©“s4™sð„ˆVbä°X€(.¶×¬˜ÝÇšfãG}Jpξôò2|¢2õÉî^1hš ³ú%‡-X:Ó¨Q®ÙAFÁ*Ö ËÓïÊãàÏ<ÔEP–¶kº%“4ÀfF)ŠË´À4Ó#ÛÞÅ„i±Xƒ‰Ÿ‡j”ä$d1ÈÕÌ¥0Âq3Ómô‹*@Q‹9¶pÿùŠ>ÃGÖݯ¾¦A´°ls\Lôö¼¸ÖË m„ÓLM]L.ŸÚwÁa” ¯ÊCÀøL'C¢I{‹¹"œ(HXBÞKCemu-0.5.1/images/plotter.glade0000644000175000017500000010211612417262523016706 0ustar glaubitzglaubitz 297 1 10 210 1 10 10 0.10000000000000001 10 20 10 10000 10 100 KCemu: Plotter mouse True vertical 2 True 0 etched-out True True 0 6 Plotter 0 True 4 4 window-plotter.png False False 1 False 0 True 1 vertical True 200 300 True True automatic automatic True queue True 3 3 2 2 True 0 in 630 891 True True 1 2 1 2 2 2 True 1 2 3 2 True 1 2 2 3 2 2 True 1 2 2 2 True 2 3 1 2 0 True 6 12 2 20 4 True 2 5 6 GTK_FILL GTK_FILL 4 True True 0 True True False True gtk-open False False 1 True False True False True gtk-close False False 2 2 11 12 GTK_FILL GTK_FILL True 2 9 10 GTK_FILL GTK_FILL 4 True True False True 1 2 7 8 GTK_FILL GTK_FILL True 0 Show pen 7 8 GTK_FILL GTK_FILL True True False True 1 2 6 7 GTK_FILL GTK_FILL True 0 Show plot area 6 7 GTK_FILL GTK_FILL True True Define the initial y position of the pen after clearing the plotting area. Measured in millimeters from the top left corner. 1 adjustment1 2 1 2 3 4 GTK_FILL GTK_FILL True 0 Y origin 3 4 GTK_FILL GTK_FILL True True True #000000000000 1 2 1 2 GTK_FILL GTK_FILL True 0 Paper color 1 2 GTK_FILL GTK_FILL True 0 X origin 2 3 GTK_FILL GTK_FILL True True Define the initial x position of the pen after clearing the plotting area. Measured in millimeters from the top left corner. 1 adjustment2 2 1 2 2 3 GTK_FILL GTK_FILL True True Define the line width for plotting. Measured in millimeters. 1 adjustment3 2 1 2 4 5 GTK_FILL GTK_FILL True 0 Line width 4 5 GTK_FILL GTK_FILL True 0 Plot to PDF: 2 10 11 GTK_FILL GTK_FILL True True Delay between screen refreshes of the drawing area in milliseconds. 1 adjustment4 5 1 2 8 9 GTK_FILL GTK_FILL True 0 Display refresh 8 9 GTK_FILL GTK_FILL True True True Define the color to use for plotting. #000000000000 1 2 GTK_FILL True 0 Pen color GTK_FILL GTK_FILL False False 1 0 1 True False False 4 2 True 2 6 end gtk-help True True True False True False False 0 gtk-clear True True True Clear plotting area. When rendering to a PDF file a new page is created and plotting continues in the same file. True False False 1 gtk-save True True True Save the plotted picture as PNG image file. True False False 2 gtk-close True True True False True False False 3 False 3 KCemu-0.5.1/images/icon-c80.png0000644000175000017500000000246112417262523016247 0ustar glaubitzglaubitz‰PNG  IHDRÄ´l;sRGB®ÎéëIDAT8Ë=•MlW†Ÿ9ç»×vl§‰Ó;NZ"”P¨UŠ• +XP$@¢Ê¦T@º)ʆKöEª„ØÀŠ"–üd‹¢"`*ÔªMÒЀ’ÔNìkÇqüwýÝïüÌ ‹ë²:›Ñ;ïœ=¯üû滞9=ÎAD„¶+„ ”¢¨9gÔ¯¥€êQh«CÍäR)¥”åååÞw¿ÿªÈëÿúËüñ¹/«Ö‰áp5GÍqwJ©¸CÊ\©¥¢Zq-T ”šqwF£­ÕED66þgeeínßóÍÍ-¾ö‹¬®®!æ†8 ‚›c¦¨nþÿ·”³žáò_áÂÓŸ=ÕÄØ0X[c}}ƒW.½ÌÆÆÚ¶#¥DN…ݽ!Ãý!9%rÎTUÜÇ‚¦†™!26ñÞû×9<;÷/~ïWM@½¦G?DnßZ"¶õõu,8á±H.™š+2+ÃñðÎðÖ1W|&§&pÄs*ŸoRQJUrÍ XmÖÙ}©šÆÄoõ¡»ðc“x§È/ö¥Ï÷psÂÕŠ^Ù%UIü8ÝV"#0ýkÁÕÀ@b€ÖÉ_ 4ï9ñ¥{N‘/ôà4øO‡pXðKSè%PW µTJQ‚ºé„nVxäÙw9ø4È$Cð0v¹4®ñÇÀþ[„T V]hª”®°yh_© E°EÐÓB¼fø,¤K °mÈBX6TÀÏF¸Sñ5w¸3Bª*Q"{S-áÁX”äØQг`'2ÌüH™þ‰¶YˆÈ]w˜ȺaÁ%ã@3J™R 9göš}ÊI#hšwœÞU§~|V(Ï‚ž „UGŸü|D|é ¶3>î:à4hÆj†¼[à9!/8ñ¡o;vX° õù#˜ø=¤¤Ô/ ¦úæk+øxÜir®¨A¥¢K™æB"q²Áf×3ùÆøJˆ‚vÂ?*ü)QÉTŒ8!C.whÌ­ 5£…ÇÃ=މ`G3$Zoa´ú¸¡;f†Ö @pÍh1\•"‘€˜àê˜j ýØG|Ì‹Ô% ¢D𨠳E ÓèS3³rhú{ÃýñÜî8c‡9gæŽÎ‘Kakk‹¦×Pr¡?ÑbŒÔRáÈÜADhîÜ[–£³³üâõŸÙ`mj-˜·»LhºQ;&šC. —HJŽ{AHÔª w;O.bZ@^ÿùk˜Žß:÷ɧJ.¹×¶-y¸GÞÚ¡Ì=N½} ?vwabõ>;'H)Ѷ…ãgvaæC^»ÀÚö#66qåwDÜ]D$\þñÅï¼ýæ­ßš»î3ç›ÞTŸ“‹§¸·´Ì©')£DNSGæX»Ÿ^/¢µòö?¯³³ÝÒô;F.ìîìøþö¶q@ׯÎüùSO>qae°q³M‰’KwïRÇàþ*÷VW©µ2øè.µfŠ[»kl ï³2XOƒ¥%Úím‰1¾%hãâK/þý™óOåÄñc¨W" pK”¢”b¸¥Ž#ªªzîF²Û¸qí&oýõooôûý9çך…™íý§ÏM\zùâþ™3Oþ`gg÷U3Ÿ7·‚ƒËAhsIŽàþ¾¹÷ææ¿ ÜÎ9#"ò?}ƒXý¶†gèIEND®B`‚KCemu-0.5.1/images/selector.glade0000644000175000017500000002553612417262523017047 0ustar glaubitzglaubitz GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK KCemu: Select profile... True center-always dialog True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical True 2 0 etched-out True True 0 6 Select Profile... 0 True 4 4 window-selector.png False 1 False 0 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 0 in True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 0 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 7 2 2 2 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 2 4 <b>System profiles...</b> True False 1 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 200 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 automatic automatic in True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 2 4 <b>User profiles...</b> True 2 True 2 6 end gtk-cancel True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True False False 1 gtk-ok True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True False False 2 gtk-quit True True True True False False end 2 False False 3 KCemu-0.5.1/images/audio.glade0000644000175000017500000004021412417262523016316 0ustar glaubitzglaubitz KCemu: Audio mouse True vertical True 0 etched-out True True 0 6 Audio 0 True 4 4 window-audio.png False False 1 False 0 True vertical True True 0 True True False True gtk-open False False 1 True False True False True gtk-close False False 2 False 0 400 400 True GDK_EXPOSURE_MASK | GDK_STRUCTURE_MASK 2 1 True False 4 2 True True True False True False none True 0 0 True 2 True media-play.png False False 0 True Play True False False 1 False 0 True False True False none True 0 0 True 2 True media-stop.png False False 0 True Stop True False False 1 False 1 True False True False none True 0 0 True 2 True media-record.png False False 0 True Record True False False 1 False 2 False 3 1 True False 4 2 True 2 6 end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False 3 KCemu-0.5.1/images/logo-bbc.png0000644000175000017500000000122712417262523016412 0ustar glaubitzglaubitz‰PNG  IHDRxÐ*§sRGB®Îé]PLTEÿÿÿ„„„òòòèèèSSS:::CCCcccKKK$$$555000[[[ºººtttlll———zzz***£££ÃÃÃÜÜÜÌÌ̬¬¬ÓÓÓ...øøøcd pHYs  šœÓIDATHÇíÖ‚ `!’ð/òý?æA@¥ÖvS·»Ýî·5koò ’?TÙ?ü³pö¾Ä8¢bÁûž_?D×_ÀsU5ÜÀÐ' j~›øunØŸ(¸.Y(2½‡½oà–¤á|/Œh_ÆÖoãˆLޏÅ%Xq—5ÃPû´Û sìïâ¼_ÜûÇ;'œçK¸åœƒ06s…vÂÄx8ÆTkؘû¼*ŒéðLŒQÏglÞ KvoSÊn KébÉæ,Ü¡’²8>€¦] ·VÀ߀AX‘ÀçÆ§;šáÚkþ}î.Bª1 ˜ ƒÄ|g˜Éu§Wb3ßëtà!•çtŠ[ÑØØ4Hß—¢øÐ2MkT,G3›Ï‹K±§0I0Í@´ÁPŠË°xÀˆù¦£¹ÁL\(9íg£°°å]’ ÑÜ#ñ`Š•ÀPl6H¿HrÒ͇Àl>ˆx.°ëò¸ñ"ö[ßÌ}-0iýA„RñÜvI ˜Z¢I¢¸SçKñä4×cyà‚æn 4 ´( Öcñ…€ïhàqàpis(ð Ð)dJ‹ Ô*âu¿¡Ýàãr%!/!åY)ÐFH¡*ÛB\`8F7­Fc±PÀT‚æ6`¬"3æSÜXØ%¸Íå>…Ïù÷i4#°Ù$mO6XU£iE’“°x=¼­™'q;pk#¾·0èŠ1àZ 2ä{GW…^ëÀ6ù[œíÎ]ÆÐ쾌ÿ©6퀱@·<Ø;¼Ž£í†Å¼}ód=Ë€Ûd €ƒµ0Àšz`¶€Ï±™(Ƙ̅ËMXž ®l°$MçS<>ð€bš®>ù&•ü”}ëdªhÖV”„c3|þ0/äïƒË3døÿî2Ø1„Ø l.–Ÿ—?~çõµæØxè-Ypîãå&º9= ÆÍ}e$³ÐŒÇ¿oëæ¾Ó}àK2Å1v)—þ*0 Ëß‘(]¥°Ae˜Àïªékp_ŸÒ¾èŸn†(Ž#úw–§Gs¾¶—„4ý3€ÏÅZ9p ×SîÌFù’“TÆ{;šIø.~çM é¢5Ëe‡ãKé·ŠÇ€CÌWˆ¦B”…ã„Á6íŽÄÙ!µÝËãwêĽUÉï”Æï¶“ÅïlÉ0Öj! L`l‰S¯© Ͷ7×r-ð‰°ì>÷;ㄉŸgt!If£|n4õoÅdc{írà·@™oÏÄáµ%h.ÇVMp*Š…@c÷¤¹º\îÆlwøæ,qSØ][!.5[Ÿ•94Àíò»É8+€KñßÁòºX•g¼jIò ì‡S™ÔÛFO1Y†~ž–ÒYæy›1‡'B–g€‰À„}{IXÖIúm-¡Æ²xÈtÆPŒEÓÑ—–¸Qœb ƒùƳ})I ´O¿À–;=É)höOÛº3kaoks°é×À™ä¨ÉÄ'úü™dö™l#ð–P {l œjºF’†|Ø ÌU˜‰À³ò›îºôÌÀ͹ . @¹¶¸Ñèc›(GáÔ ÄŒx·,‚ïšý|²L*A™Œíß(àNë¥.òE#±| Ž’¯ *X‰¢%šŠ&2`»RI‹<úŒEè3Nî=ä­À àç˜{Hß[„¹û×ñ|À=7%iú(„[7“×iˆgµÄ‚a~D’aø s<Ëe˜ŒÖ€&!šX*ÛÕ²ªqŽæyC<ð%9Í£hºÊ^•LÐ4/È]Zˆ~Sæ†Ä»‡íçAH¥yn ÍO ܇9X¿{\¬ È8û˜i/|€u=ð©{SÄsfDŸME1 ËÛ^» Å 4¥i:ŸæàJïT[’>8u…}[qdW¡ŠÅMªD‰šÈ´Ê#°oÎ>KBØIÜÒ{9¥Fb¨“óœƒàpqy%·öÖiH‚ÞÈÒO?à„ ŸU>;<0WZ€–É–…¹ðÉOmÅ]‡ÅLÃí^Ì4"7å•è+áìW Pû¢½àSnw½dÆ«ÒrÅÆgšóɾkQ#1JÔ>w‹È^úµK€•Ëj€»¸ýŸ)®i¸Ñî1¢oÿ™V!*DÁº-±»ó¿8Ëhn¦¤+Ȥû†¸~3t%¢{MH_åÀEqÒ#™,u}|W£™H\ïiàWøNæëd´t÷¿NÇ’»%A4mBøFåÉ‚#›Ùun•¤¥¹l p¥Á˜}ÄEv0æ}a#e©\½>Éäë’Q¦DÇ´ÒZbG /2YyÍvë9`ªC1‹øÆãnK™™±óî)c‰JŸ —Üi159}¯Îö ’<ަmˆäSû-Ð𚳯DgÛ[®õ@‘<ÜÏ·¯ÑôZÇ ón”`*ð~Žö«²ÄqÕ÷_…„+í±oŽ N±¸8 €L”;Åd¾ЏwÔ(µw¼g߸ZÚžÌ÷¹ÝT¿+Q\„%àKpð0pbHõu¥LZ¡ ÒïÀ•νög2¸«¨@»W@7’†Àw#9/c"þæšk<ʹVãÔ{î–± Þ\q™i(&5Äf±>K2`Ó…ºÀšs8i‡j ”Ü·ÔGÀlt’Žh£%¨U¾=cÐ\ê7–Í3dÚ¿JLÙ˜„¬^nØ¥M_<ˆüsaŶÆuôfÉûGe< â®7ãÈ85ÂxÓºOxà Ä Íc(|INC3ePpÊ©¯úbñ±ô»7šgåP»©3* E?l^*PIf™€,X6¶§àà›téànœ„‹Œu<g¿ùEa=7)Z„ßiIšëE÷Ó>Ïù™Çøz‹+í8È®$æ8Û_’®Œ÷ X-ãdPñ2ªô…bnækÆN«sHÿ/ë&z΢i®)§§Äj¨ü]Kâ1˜$7TL4ÏajB<Ã=`¡˜"ÛràßL¿Í8ïDI¡™ tq»¯Irâ2ßÔ!§è¾F1+´n­Ðlq@zi­ú†Ç¥qêùúæh·TXo‡ÄŒKHíˆhà‘¯>Ö;HÀ—¦­ÆBØo20 §NP{åùNUËÝÀUø P¡à{¸‹Œlw1p|è>°fÀ>7ÓÜd,Æ Ö¿+VgÒ.`´°·y~¼NÌaó)QRt8§L1¶Ëܺ?WŸº[ª ’ôÇ9KR¸ƒŠQ Àö˜¯#š§p·xüÌ·è…í+”Ìu—ÖñE] ÖhŒ5„ôYß„>Ý16}k—‹¹Y²Wóû ÆçuYÄisÌ‘òƒã¬Ëñ_˜¸g‡ÄÍâBƸ¸§ Á­r×`ŠÉi%RŸ®A¡åÓ©âûÛ…è|+EçûL€z(š?£õbίlF¢xC â$!Ù³ßU„ŸÓhJñæ;8UºÁB…ÆÕÜŠ¿ühS`Q¶ãìZ¼+‹¾6°†€|ðe@‡Û ‹éj¥µÀÊ<ÇYÜíéµÑ,&kP¢~œEª$¿x[ðR)aß4à$`’§˜N” 1¬ÇŽ~è;ð¶ ôïï·;I_‰RÑ €ŽÆ8áUòt¡¸è%ÌSV‰–H™tæîS®¸zn¡hd%ôáS4H’MIwx¯Í"#±CÊ‘^ Š>l~‚Sz“»Ø^y|¹ç‘no—¨°MI\Š¢šÒˆg24ξq•lå…›³£R¢"ÿMC­Œ¯öñQ´‚µÿǽöåÔéIEND®B`‚KCemu-0.5.1/images/window-about.png0000644000175000017500000000533412417262523017350 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk> |IDAThÞÕY{Tg¿™G&™IÂ+šÒð0–Bx#Á¢Dž•n]ÿ¨Çö´µžêim=ÖÝ=ZôÔ­u×¥¬¯¥x´«ÐÖZY_ Úø•€Š(i%`"òˆ"yL“Ù?Æœî©Ú Hû;gþÈ|ß÷ûîýÍÍwïáÁïŒÙñ…²Ùñ$‰ ˆ ACC»sc ä¡H½~ýhóþ;G›uºßËÞXo°Èµ\³È…¢·ã Ý·ã×­ãî~ðµRÜM­´Û¹ß(ê˜gÿÆ1Ànßèïíµö<;ñÚkœ W¯þß P({÷PV\ì»ZZï»zÑ¢L}ÁüL=E K„;„%Ïï<Ø^ÓyeO,=2ÿÄÒÁA+né³âu×Å×]ëïÖö!cåø¬È‚æY‘±±H'šŠt.\˜Óý&§ûñŽ»¡x5$[ñ*—äŸV‘äïíM ˆ3¨ââ±²sÌà _½:eb:™2‘¢° ˜Û0òõÊÏc>S~Ža./¦Åå5gNæKù»3_òö~îHï˺ÞÇçÛƒlïÙƒrr&T¾|hB%òÄûà*ì<®ð¯ 4ø×¸\ˆÉCD*Õs/•+ú'•›˜èë+ÍóõµZÝŽ<-£'|-ã¿ǦM{îp1.µ‹IN–ï ö’ï!ÉÑòù°~2Aø?›ø?§¤<÷&¢‰0…„Höy/ìãóGË'0‘ €%Ù~–”JŸ{!4 íKD;GÏ'q¡€‘:k©¯ïs+@^ÂÜ­y V¹·Ê32D'$…¢£ç%"b"€+Œ||¸J2>þ¹€3H©Dhd2B·´L+Ïœ2­œaü„Ò~Âш^GcÑëysç͛˲|¿šo;u*+öÕá¬Ø„„Ñò?u%˜W” —S¤è=м|9£=rF»Ÿ_¦¨ ÂxcVav©ôÚ.ËÖuL­ë´‰l 6QL W2÷ô<)ßG€»¶ç?t(…šî“BùøŒµãn¨ƒ•jw¥èå%t ªª¸óÄþ<ñ‚žè[lOtQQ`´¢>0:44üZL{ø5kÇ(¿øÕQ~8.ƒ[e–÷ǃùqŸ|2fä&½þçÜ$…oã/ÅÛ–.MG³Î¦£"‘»y9»M{v›»»{ö`ô®Œ 1îÜþÆ8—˸wàïÆ½Ówfo™¾S$Bh.j\¹’;“‚‚ž¹„V°ŸÐnßž6”±,mH,î¯ê•öW¹»¶ÞÞ«›šW7ñù´žZÿì0¾?Ãt@ã¬/Õ8ä@Ì·©bÌf3aÚg&¦ä¤Ë¦ä…ä Ê›¼QZúÌpwuü¯‰¥ü¯ä•A&y%‚Ǫ¿=Ž™Lv/û\»×²e’mÞ %Û††Á?{${¼çIö»I‡°ÛdâÒâ’%GfWŽ;2ÛlVx½¬PxavŸ‹HMug§Q ÀuuEE“Õió'«%’ kNï½°Ælv9¾q•”µ¤Q¨}ë­ÔýªÞÔýɳw¯yÕSn½rnÊ-‚à„˜9“³£¸X]øßêz³9Q=5 Q-s‘°fͨpØ×:²³-×Í[-×Y¶h+k'zz¤ãCyø0Q,XI''·½TÜ6öY t0²4tÇÑ,m)(°a´Ò†UTôé{Âûô º-ÚdÝ»VZãiåœ9£€A˜oA.œÉ¸8ÐÛËåÝ™3É&ŠG6mÜ8mRfí´I‰û ý–£–Í–£µ3Ù¡öì {žõcë;ÖGƒ‘wÐ`€TRUJŠDT‡8‘ê()¹«16ÝÕäæÞÛQw ¾žö&;A1OlWh£íŠ¿?Åæ±Q6˸ÚY&9YÒèÝ%iT*Å¥’Ä¥<ÞÅ7Ïž»ø&€X#yS¬0áÃL8€fy}•f9@XqԟŠT ¿ÕŸ,©Ùu² ½SûA{'@Ò¥´Ï’.Pó©rjþ/¼ÊÈèe$Šr˜–Ƶá »w0Ìœ 0xÀcþîdn v24ÝÞ£5·÷8qý“OÅõ÷]ª^¥HÕ‡„œ¾Q—tú€5×¢´æÜ£÷îÑãïøŒˆÝœôaìfmaËm!@Dq\]D1Vùcÿ1î'~þûSGÏx<µ6ñ8€nV©[`n3YÍmCëïÆ ­Эþiºn5@rÃ+Ò䂸µÿææ[û•Ê6{Ë`›}×®<|A)̦8Ž»ðm¸ëØ1înzzàb…0p1€%ß,·äDTÄž‰¨x<Žzc¡Þ®W™+´®Ç zÏÁŒ‡`<À*Ø «ÈVê_d«Ëei5‡XZ= à1 pÐ×gÛd;oÛÄŽä`}$lUt“­ €Šo¡ÑÍS™¢ï©LºÕÚJ·>í.¶"ÛA[‘;ä<úç‘°vØÚLëﳦõ8Ît0+™Ž‘ä”:ËœRúSëGô§>e~>eÏóyWú…Ï»–¯Ls,_<í>Öyæ0ë<ÕH²D5§už³}ãz'íp„É¢…É „@f#Dt´W€Õ+ÀsØWÕcî« ö 6û¬:KšU`°u6lv{w–ÁØårÝ+Äï•¡¨ÓËéëô`*˜ L€¨Q#jô,€^©›¯WÚíõCÄpíöí–÷—Ë««=­óx¸A[-ôðŠzŽÔëòóɉ¢eäD™L:nü—ÒqW€öö»öúí]Ëòfð^àÍÐhºÆÝ¼Ô5îäIajd`.Àet¤RB+xÐNŸ~gÒíïLJLôíòû·‹ÇÃ×ð£ñ5XÕ»¥OŲ†÷;ò ïâFü¯¸qÕª‘úõÄ¥+×EDà$ÿœT«¹÷ÿ"Ñ8xaë8 (6œ•°áºcÚwuÇhÚI:¿t’«ViüÏî##ÿÄ•ôZJvÒŠü!þ^þÐÚµsÂÖNÌáóym¼û¼6€~è]Òf³Ñ8Pm4Þ¿ï×)̘QÓ¸¯¡¦ñ§ŸÆL7 "ç5D …\-¾`ŸG¨ù¼´4nAì¬Megw쨽rP\{E=‚"øÑàêY³0V„ñÞ~›ÇðxŒÃÁñŸ9#®ó^"®+/¯”í*¯”Ñô“òÿËÎAoõIEND®B`‚KCemu-0.5.1/images/tape.glade0000644000175000017500000005567112417262523016163 0ustar glaubitzglaubitz 101 0.10000000149 1 KCemu: Tape mouse True vertical True 0 etched-out True True 0 6 Tape 0 True 4 4 window-tape.png False False 1 False 0 True vertical True True 0 True True False True gtk-open False False 1 True False True False True gtk-close False False 2 False 0 200 True True in True True True 1 True 4 20 5 True False False 0 True True adjustment1 False 4 1 False 2 True True True True False none True 0 0 True 2 True media-play.png False False 0 True Play True False False 1 False 0 True False True True False none True 0 0 True 2 True media-start.png False False 0 True Previous True False False 1 False 1 True False True True False none True 0 0 True 2 True media-end.png False False 0 True Next True False False 1 False 2 True False True True False none True 0 0 True 2 True media-stop.png False False 0 True Stop True False False 1 False 3 True True False none True 0 0 True 2 True media-record.png False False 0 True Record True False False 1 False 4 False 3 1 True False False 4 2 True 2 6 end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False 3 KCemu-0.5.1/images/media-eject.png0000644000175000017500000000326612417262523017102 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>VIDATHÇÕ—kLK€Ïv·»-ˆÆGÕ*µŠm¥Z­ÖG"ˆ© – 5¢1b4‰? ÁG¢?5jÔ€1!òCÔ JˆAÄ*EÄ"!XE¨R‘¢*»Ûݹ?ÆÊ ½7¨ÁÜÜ“L²;{föÛ3çµÿ3!~wá¢i&Ó¢i:*BêÖ­4Ç04·~=~ªR!-BH+•JîK$’û==|7ÇñÝÕÕ¢EEËÝ»¯NÖ׿:i·c}„Æ8Ôc0„z´ZšešÍÈB Û°aVºZ=+ãÔVFm•Ë' Nœ8a@’I’’LOïЧàc²Óù1™e;vtt>$¾¿·£ƒcX–cn746¶ªªÆâ ÇR;e4†²X¤;¥RéÎÇulD„ŽÕj7ìܹ©€¢KV¬X,‘J•Q*•2 `àQ_ßÀ#€.p8º€çW\]»vÅU’Ô^ ×^£(Û•+ oHYBV…¢ïhOOßÑ={Û•JÅv–í{érõ½¬®þe /,XºtaÁºuT EQ)eefó–-f3Ãè’#"tÉþú•ÍÍ•˜ÂÂGÌȼú¡F£~Èqqƒ‰‰qƒ4-É IIÆÈóÞÙ>ôÎ(Ù•—W²‹e9še9úĉ–Úºº–Ú‹G¿G2zBß´d‰¾I¡ ÌR)e.*ŠabØm346¶l¶¢"›ç A‹EŒE1nútW²ÓéJ~÷®tâíÛ¥9NL1mdýÌžàà™= 7Ã)E¦œ>9V­˜i‘ɘ–S§ô_ ýWšÖ‡…iŠÿtGCCÛ„*-%%•ŽÒAH‹o½ñâEë²2ì“n71<ÌF¬Y3øÔë3fL½iÙ¸1ÒBÓ²B¹\V˜ýÝ?`ì«J%Þhß¾•Ç¢£Wc˜Ñ -5uu-5UjKK+µ}jDèùÙÊÊçg ‚СkhÀÇÄà“‰‰ ø‡”âÁéX–ÓUWwǾyÓ»`Á•”3g®¤ ”ÒtòdJAÌŽŸ;wv¼DÒ쨫kvDGûã¯Vûò¨O&›¦Nl"å•J9Åçk¾`ðŠ_•oíÏ·væ LÆ$8‡ÖL˜°@L1U¡ðƾ(‘@7tl¬Ÿ7/X K %@û÷1^²À„  Àpã èS ºÀ¸d:žÜ¡!Oîòå¾ù¢›¹¹E7‡‡ûO÷ööŸ–ÉÈL’$3=žñâÅï•Jq)§iì#’.´î¥‡VqZ¡„Ú‰â¯Yìݵ×ë÷}¾¦ryF4úÏhf~3 àñ£/ž –ö (¥íØ¢µÂZ÷c ^q1Ö‚÷›(m'à Æ:¬µvvv6ý›wÏ(õpêþßK}…Ÿyï:Z­ ||Dk"âqÖá½C¼Åyuas3Æ;'J)U«=ÿza¡zDµs²²RçGÞfq±  ÐZ$ P B/ òÒZkùéð[¼ö=†ühw”JE,U«,/×xoìjµg´Û1I’`ËÚz‹ÖF “$cpÞ#²%| „€R[Iü÷S¼šÏñ«¿ý$Ò Pšt”&£S|3=CJi–Ÿ-#ZkŒ5x·%è½GØ*Õ‹Œsˆ¯¼Ò(%&±?щõXç16áÙÊ Iœ°T­²¶¾Îêê*qÓ¨7èîîfccƒŽLkëk lý;:0Æ ðΑ$^‰R‰öÛQã$¡òÚW®\áþýûìýÁ^&''áÚµkŒŽŽR{^ãÓO>åð‘ÔËenܸÁÅ‹ñ>4Ä+í¬ÃZOW6Ë&'9tè·oßfnnŽÎÎNªÕ*—/_fxx˜K—.Ç1;wîÄ{ÏžÊ<ÈÀÀ•J­‰D‚v> €$Ih·cŽ?N½^gqq‘;wîËå¨Õj¤Óijµׯ_§¿ØÏçŸ3>>Îüü<ÓÓÓ„p.Æ9ÒZ+œ÷DQÄÔÔ.\àüùód³Y²Ù,Þ{ººº°Ö’Ífرc"B¶+Ëèè(•J…}ûö!"hkDëÍÄ`­e­ÙäÌÙ³LLLpìØ1Œ1är92™ OŸ>edd„……¢(Â9ÇÑ£G9õî)B4› BÄNAã Á´Nq÷Þ]òù<'Ož¤X,rëÖ-zzzãܹsœ>}šb±Èƒxüä17oÜäÍorõêUæææ@^<_?þBÆÿtSÒ™Œ‹}²ž”ËeÉårR*•dppPr¹,…BAò¯æ¥··÷¥6›­µ|tùwÒ[(H‚Ç»ç=©(¢´«€žîînBxïÜ‚C„(‘˜„v»MggçKŸ¶f@‹7xïÑZO—Î;|ð @+R AØlo¢P/QÖZ¿[|Qð)éÌåU¶+Ëzkƒ…¥Æ =ŒµÔëu¢t„5–LGD‘J¥pÖŠîB7²0úvnVõäóüáãÂRuI;g " ‚‰ :Šˆ7Û[MÀØQ)’D±(œó´ÖbÊoQ€øø÷þ9ß•ÝÿÚëÖX“n·Û˜Ö:¦ÞÄv⦿BzûQt,ÎÓìßµ ”¥oh rOxþå0ÕÆ*µ•Uþr{%"J)¥ßÿàÄñ{ûêz‘ÿð(Ý™¡<°›¹™YvïÀn&˜$¦³»@u~žt:…wŽ{w§h6ÚD™˜MQ¬5›²Ñh(­”À/ÿ;÷×½•=à KµGí$Áš„™ï¾%Ib–æ™[\Ä9ÇÒÓïpΉ†@}­J½5ÏÂÒr²43C»ÑP©Tê³­V'~ýö?ßzãÀÏûûzñâH>h $Xë±6 !`­ÅO;ŽgYOb~ùˆÏ&þñÇL&óÐóaôB˜|æpqpÇØ;'6††*§šÍµ3!H)HèWˆÚ>Z [|©(•ú—u. Aò¥]¥_ÓÆ”RêÿñÑl–#2cUIEND®B`‚KCemu-0.5.1/images/window-screenshot.png0000644000175000017500000000311612417262523020407 0ustar glaubitzglaubitz‰PNG  IHDR szzôbKGDùC» pHYsHHFÉk> vpAg ‡úœwIDATXÃí•KlœÕ†Ÿï¿y.ž{<3ÇMD#päZ™^è DOR¬†n¢.E+!ºBl*Ñ º@m—í¢ Š-ZËv©²±„d%œÆ©©-Ç“_æòÏü×Ó…c+ÁIJEU©’ßå9ç{¿÷»ØÇ>öñÿˆ‘“#‡ § Gþ\òþUD~øA]Óµà% £”ú»ˆè"R¾†¡¥iÚ«¦i.AÃðûSç¦þü 99ò&psz|úÍcÏ;¨”SJýÐë+K€¥”*ÌL̆O ÿ@Óµ‹ÓãÓÞƒæ•RŸŠÈ÷@DH$ÄÛã8Ž@®'‡ˆøåR§å :vÝÆ÷ý;iÏkšv! ßéº>0ùîdeç¸óÕ3ÇŸé~tˆÈ“‘h„|o€t&R ×qñ\×q©”*(¥°Ú,2¹ ¢ Ñh+bѨ5Xýb×q©×êO‡aø4ði†=@eO†O iºö7 ³-ÒF.ŸC7tª›U¶6¶0LƒD2A"• e·(—Êdº3˜¦Éæú&AíÎÒj¶¨UkØ ›dG’d*‰ˆPºY¢Õl8J©ŸÎLÌŒï 8úÜчEä"jO´ãû>±xŒÃ}‡É÷æIgÓÄâ1æ/Ìséâ%úûIv$w³W¼T¤i7;3†ax®GåV…Òj‰åÅeÊke¢ñ(ÕÍ*€§”™™˜9/·ëþ9n}} |{€t&½§³µš`ph¥«K à{>Ù|–ÍõM¢±(] ýph­Ý°)Ι¿0ïû„a¸ êÇž?6 ”z+qü'Çéì'‹Þ³µ?ùøD„®\k7ÖüÃ0ØXß ›ÏÒÝÓÍü…yâñ=ímZ& o µëk´š­LWŒ žŒÆ¢ŒŽÒ•ëzàl­]_ôLJ«%\×%‰‰DX^\fýÖ:M»ÉÔ¹)"±È}y"±¾ï#"µ+¥îªçýàû>J)õ"Û!–KåÝ‘kÚM>_úüßr펡ˆ|!³ïÏòTá)D»ÿrìèêÀ÷|òy./ÉePJáyƒCƒ|pþμ|Ã4îËSœ/27;GÓn¾¡/¯î;|º¶UË,/.“Íg‰·ÇïihµY\½r•žoô°¶º¶ÓL4í&:ˆÛr‰D#<ò­Gîi_¯Ö™}–Ë^Æs½š®ë/@("?w]w¦\*ËäÙIR)úûé}¨—D2±KïÍEùhî#ŽK{¢˲˜›#Ò} ÓÚ^D+Ë+<öÄc$;’4j *¥ ¥›%j[5Ò™4®ë²µ±€ˆ¼5unê@ÝUð©•Ro½¹|Žt6Màxž‡ÓrpZ®ãâ´D¥"‚a˜–¹½ŠÛ,¬6 ×q Ã×n¨0 ¨¿œŸþÝŽÏ=7|b8«éÚÇ@Û9O¦’¤³iâíq\ÇÝnÀî "‚ïûl”7°6VÛö?P¹U!”Ruà"b&’‰ïžýÃÙÖî|Y€hò²ˆ•R'DdL)u(T·ªRݪÞõv±¸ø  nGüºˆü1‘L4ª[Õ7ì†vÜë;NY–å¾÷Î{Í;Ζ”R¿gIDAThÞíX}LçÿùÎ>có¨ƒqK1-¸¦`C²†‰“4 4J›)ë&"„L3¥™ª)©–NH]«HýB*•¢ VŠÚ4( mÖðêtšòU· Údàñeƒ¿í»Û‡}­ÚnRú“Nïû>ï{ïóÞ <Ø”óóœ$¤Ò¨jõõkjõ,«:”sUuH*Lù,©`ŽÐ?aŽt3M7â#b›øàJunr¥Ru‚Dªd-‰”µð¦f튩Y`MföôšLÞ nÞÝ•w7’—z5%] iBŠ”š)ð¿ä­ó¿°¹,ÉæÒù„[Òy€xüžx`w2 v'àhšÉu4™»×ÜÈÜïG’OY$ù|£äðoG£ŸL¦¸Ç`ö¶œ×²·eºòeº˜‰—¹+Xü2XܲXênY€òÊ™òÔÃÀ/7›zÛÌ& ²Í`ªlC¬-ætk PºkóHé.€2R[(î3I=Œ9FGǵ¢©}ÀÚ\ÝZÎîßü0½mf¨4L•,‡zÖÛƒuÀ¨m£6~Rà?BÂ#N9‰ë¯ä$Æ—tަ+2Z®”Ñ€üPR‡üà;áÙë;ˆJþ)>øJ½ë|¥@Ê|Ú¹”y ÜÒ‡{€ðÙPNø,ÀT0SÈ:åfY' ºDL‹.Åï#º+ò‹îâZÉ ¸–߇n¤3éF |:”> $Ö$–X³r¢+I Ž€ g¶nÝpf ,b¥Ò¹ò7ûÈ ãÍÌÎŒ7E_V³¢ŸŸÞ>ùÁôv`Êk_?åЬzc‘õ‡ï¿tŸ¹c³õsÇ€‚jmvAõþ¥#h·½®=*“éG D:‘ HîHݟܱò ÌSôMæ)  óÿ< dçoËÎů ìñ ì¤_ÈÎH¿àíl2û€MB?„*ª+á$Õ¿Xê«‘_”%ò’~éQI?Á*ÿá`U¼Ÿ¥ˆÜçÞ1ßëÞ±.ó(MV–€ÇèÞï1Ý¡ lwx^ó‹­Ïkâ×EKYc0U.3oU˜ «(=¾¥Çêsªú€ ÖëWÖë€,G–,ËJ4Jþ ?Q¢"Àûh±ÿ(H'"´c¯§h=BÇT­ ÷Ò:€È!~LØÈŸ6€U26V wÈ2â_Ê‘ñR0ÙÌwL6@؉õ„}åù8$±$ÅøY\'Z¥‹FM0j>Î~°ò5š¾| P¦)?QSRfSo`±ÔK­œoÏ5:߯+¾¯¯Š4zc‘ÑR†fñú1^uod¼ p›RÜf @£Í.ˆÙ×Sãv{j€ákõ _Ê4å ±ñ¯$(ITäääý껯ޯÎÊÂZÃà\õÌksÕÀÍ!kËÍ»Ïçõø|À¼Õ¹kÞ †¿ á¡Ãktû½F TܪÜC §Ý1~ÂŽÐËaàLpüÆ™°lœ·}>ÜŽÎÌ,y>~œ{~㇟ÂÿîÝóõx/úz´ZÑÒ)î,Ðë¹Q^žÐ¡>,p_Ÿ}¾ðýð¯Â÷¿úªÏyé|ŸÓãùˆuqH­í9^IEND®B`‚KCemu-0.5.1/images/logo-libsndfile.png0000644000175000017500000003074312417262523020004 0ustar glaubitzglaubitz‰PNG  IHDR @éëø pHYs  šœtIMEÖ  †;Ú IDATxÚí½Y“\Yr&ö}~î{F.ÈL ľPûJv±Ùܺ‡M½ˆfÎÈdz”dú!’ÙþÌ~øBDŸkØl÷Ò½ÿànº{Ï']ø3›~ZØó˜˜íÁ焎¤A` xƒºg¬ÍÔǽá/Ú!{æ]ö Û>í’½ÿ Gs`º;9ö‘Éçg{Ä&àÚWŒOŠs €)a€ á€p÷…e0øÑ(GŸïÞ¤…"ë/ðÚ‚áî‹0ó»²yDBÅ™AÂ3R€À“Gó† ¦€ ¹?¸? ʇðK:øèb$¿Z¨$ÂvG  Œˆ ¹!R ´ÐßÝi‚ÁOó@n?3UýBL8ƒ#C£Åà•PCS {tä£Y(ãφ!Лæ@d€0 à ²«A,ÖFñüŒü`Á ‘`w"rÀ$C¢D©’@XfÖ7˜%0„ IG ŒJ¥æÆ”–©™þB XH‡Ñ‹ÇŽ!H Þ˜ÃR"3à /(ÃÂ’ fFŽˆÈƒb–ƒCX×è`$€!!bÕÌÃX3û¢µÿ +˜Œˆ˜R…”€ !F”HÍRX ,Qª"Õâ½`æ-6h}˜‚%Òä`šõ †Ÿ‡¡æÇ/b´ã”„°J‰€ #2Ó>Ð/®¶b%0$#¢LÆ`dt€QGò#Ë"%¡+ž§š˜†jCX Ab $S0£õU€ öEú\ÁG\eBJ…R§TÉ*AËM‡j©YJ¬ŠT‰’i¡q"R"ÓðdH‰È iæM{j}U3*-³Ñ~öÉ“þeóÙ{‚I¶Ñ‹b „eJR–1 `ª:4ˆ)o0BÄ`R#Ëd $àA3 Û¦Þ“0ÐIÅÃÑzÐcaŒâ*S³¡ùâTsXa!ô‹2ÓÁ£ž:€,Jƒ,ÓÕ¡ÁÈÜTÍÃ@©R*q<Ûhw.êtîôºwà"CD(éŒ",ƒA ‡PÌ™ycn–vþólÆ?“nöÀ]AD©Rê”za`IƒÆ`hB…˜zŒÖ\HV) ‘1‘*%4Ë€”šÅdH‰«4§Ï…Q­ÝºÓïß•<€•ÀtB!b‘˜W Ô‘J±T-7äütɈR×iÒM;Ù/'dƒŠ”Á ¥â‚©£Ç^zñÅgOž:¦Zjµ:Þg„##Ð Îí'ÇÉ&¥fáÍ2`HûhÌðóuž“eçÆ)5qÓâf)“‚1JŒ¼ I…å%Y¦4EÆ]0F†ªåÀM9©̹1JÍé™ó/½ôÂÅ‹§U£~ß'IG$BçBX%ö“SäÙ+°ŒÌÍ2 ÒO‹5øÓ™è"‘å(%²\.íŸ{m¼9€÷¶¹¹²²üvžÁ2“S'þðŸýÖSç÷ÁìW¿tô_ü‹»wÚ™’ù¾}öM-ňä^7·Ö×–ßì÷ŠGÇíútö…ÊÉ~ª«„0€”ɲ¸±¹¹—ÆÇ”J1`iš·ZÛKKßM‡jL ‚&¬P&Å5€zOíÛ7_«Mv{;+Ëï€%UL4õ·¿üõÿâLžë+¯úwÿ®òýï®d¾çœú¼?=}njßÉjµDŠWë÷ú++—[Ûo+ÆÌa4?ö…íÁ „ °T™|ñÅ—_ý`è´,Çüë«ÛÛ+Ú_ÊâìÀ#§OO¼óÎÚ`¼ôÒÌéS§W–>&B0t¶ÿÀ¹úO_ …ÈsûÛo}øío- w %2‡0±‡à×"]~]±Ï(àÂób²ºæ±ãç¿úÕ§''"½¾ÿÎw77ndÉXŒJݹ1°ÚlŸ™½ðê«Nœl|ç®ln.«æªýý½ôòwÞYß\ï?ÿâô… ‡ßüIÃ÷2ŠÀajúÄïýÞ—Ž«)¨¹.ÝOÿí¿mwZ×)=X´;ÿè«=˜+ù\3ìÙâv_•1X®T*žšyñù‰kׇ¦vñb¼¾6ùÆá°eAtüØì‡7[ú§ßë´[êýĉ}o|¿4LTгýû§^ÿÒ¾û‹I¿o§žŠZ;“o|¯Ñ’ ÅSc 2f0Ûƒ~<¶%ëÏKvG.»3ax¸ è'ê„1Æ"UJ…R;urâ×_Ÿ¼u'K†öò‹åvkøío6 U1…‘Œ…câ&ÆÆN]xúW¾òë§^~qlfÆmmN¼ñ½Zj]‘hßôäp(ßø‹ŸÜ¾µ(ò›“ûJ¥z¯×rR2åìôøo|ejÐwK«ùü||ôÿøOš” Q"À(Â#¸A3á¡ö$\ì3„IÆÄAFaàªwófÿ/þâ½Á0û½¯Ÿ‹Kˆ"0$ ¨jy†ÇèˆÈE5æžÞÌ92"c Ã0Ê_ýõõ«W—_ÿÒ¹ gÃ(cs ŒP0ÛÎMš^¡‚Ë>Ä ?{LŽ$€+WZßûÞûiÚ:8·oî³Á@YóþÒRûwwü+_¹Ðjõž:?óÍoÝȲœAWØû; ƒï}ÿÊòýÅééñ3gë G)‹£jÈ¡HÁÌ,û( ø06¥ÀBÒíJºs^ø;…€‰ ÉÐÖÃ22ƒå6Â×önŽp@„‹¨Á «d †; Ãï}÷ÇÎðÂ…“.˜I‘P¹pâðñ矺øôw¿siéþBæåÊ—aJR2î´ZõFøå_;sìèÔ¹s³wîì$É !è\Ûð?xãýëׂ |ðà”PHG¤S¸kÚÅÈ"0àÈ8)˜ÃrJn–ÁÈØ>MÀwô"Ч¼²ÝÉ’´—%Ë­Vof¶)feoƒ……û;íÞ˯ͽï½#Iŵh·}§Ó&‹;ÛÝ<«š¬ c‘¦Ó­ÃÂl/Žý¯ˆŒÉ°0€™ùåèü€ÂJd Œ pT`f‰Y) †|ï6F%J ¬+”¦°A©ï­Õ΃å$I·v²±F +🈌H×;tìø©¥¥Õë×®v»+µªßÙIâ’YA¹êòÒúõ«/¼0úì\êÕ« Ã$‰ fý>Úí5ÕÍN'éö¼×"N-Ð11vÁ¢Œa‚PCK`‰!†»ÑÇšëà q¦0,MÑd^³Ü§Ý^žûb€ÁQ&Ö×WÿÿýÒó/-—Ý¥·ïß½³HÔÕ˜‚ðÞõ¹WMzý\€ˆTë‘b”=ZíÃŒHíá:á-`)•-"@­€EuhH#c²Ö(UaL ÁB Ljhow_.̈ŒÁY¥TÈ1‘Šs“â&œT€@Múõ>Uóý^^©„‚ypvÿ©j¥ôÖÒíôâò©<¿ÖëyqfÌœ›ÙØØù÷üÖö&&&㟼yÿò;W¼Á‚4µd¨I’šei¢Ã¡ÂнÅ(¯ÁÀ€(Qj"%°D¸"-¡–š  ]Ú`ä[bïrŸ]©ª)äÞT±›J"YÎ|~åêkk7 ¶¶×û‰9©Q“QúÄ轩`^MЉ—ÜÑ™FІ!€• !P3(µ‡¸’3‰Èа6D*d €š¨E†žYGr©’B¢0Seê NÕh(`^ŽT§LÖD" JS$r.¦@$7 DÄ{¨aôâVè|@-ƒRÜ8yâèÖæêÖÖz\žËÎ5È MS@ÍŒÕüýÅ+ýÖ£¸²µµÖé¤âÆT³ÑÊ1d¹©5S³]ÄE@ÆD@–Ȩ€RìNfPuhŒÉŽªšô°üã uðÙ ˜‘{òØf-ó;íõvûž0ð¾†u ¦€rÕZ©‚À.ãÁ0–¡€Ü øÀ@½ÑÌ´ˆñ #¢D6( çš"¨&FÖYH¥*RwRQ Ìê°Èµ”è;'€S8›¡0%kâš"ãN*†PµlV…„i–ÄQ% ym9RÒBHœç½ÆØC'¿û½wò, ¢ržíÌ8tàÀøµë;êS ŸÝ×|maaQ$öyÛ%qS”Ú²ì¶gW¢ãÈ´¥.Rs®ì50­ŠÄ€˜¥f}'áÈÙÔœˆý$C|ZþìPi#LO@ï³õ8²zc>p ïÇ“áÎ`°,á 2rïM´\Ë•Æþý§«Õ†£ úí¥^Cš³ÌÀó…C*âÆœ4ɺùÈ…Õ8.;‡Üwƒeq14"(R©µZmj|üHWI¤Io{g±×]×Èjj#œ|‡×4+Uª3Æt­>Iƒ~¿ß×jµ¤{æjä•Ðè'§Æå°ÕjPŸ„Áðȱç—†ï¾{'K;5}º½r}&J$½ŽeÙ ×Ý(.&¸Wª{„-`Ä`ŒÄ‘CµÞ˜l6Å¥š@Ò¬ßj­t;kYÖ±²Z MŸ˜‰ >{E GqуÏ9wn¢Y¢ÛO®|põö­¿K³D\>‚!“åRX.5g÷zõ•¹J™w’·.Ý[Y¾¾¾~)ÏI—š –Ri8i’µ0šhÔO4ÇÕêãÎq{{ùÞÝ¿LÓ¾H™qayrê™™çž}öØÔ¸£`s+÷ÝÅå¥kk«?T#™’T cHMܸHÓI³Ù<9wè¹Ó§ž?_uŽo¾¹ù“7ïÔª¥~ÿÁ¶‘Ê€`rjÊ{úC5Ûœ™9Ôh6ßxãê½{×¼½ƒõgçž=qüüþÙqqÒí îÝ]»úÁ·»Ý ÊO^¾£P0)›”’°„cSÓÏ8pâÙgçgf‚Àq§•_~wóÎÛËË?V ÷Êlhª<¾ª€Q5…#EgŸ;ö?ü÷O©š™Å‘üß,ÿçòÛYò0ó½{“0paèΞÙ÷õ2·±îggý±Ó—.Mÿð¥•å·`žæ½%f )¢…špŒÒŒ£óG^;uúà /;4רÕäÿù³+«+?Ìóa$D*ã“§^xùµ—^:¸45Gñ豩·ßžøÁ÷u}íÌrÀ{óD‰Eš"cÎÏîùôÙs¿öú٩ɨÙt'OD‚àÊ•¥8ú}ÇmpBiŒÅÞwÓ$µJ¥òSŽ//¯Þ»w¹ßóA8c s•³§üwÿí³óÜâØýä̓ÿÓÿøv¿¿µ-ÿÉ’±&N)¥0šÙ¿ÿéWåÙ—_œ/WB'GâUÏŸŸ½òÁÌßþmiáÎÛíÎu)2uLÕ’'"ØÁg¼FkäëY ÎMN–`öÖ››Ã${ù¥©™ézÄ@@ùS/bõšä¹þÝßߺqs«\˜;pøégC3¿´Øƒ¥j]An–¡HM\-&¦gÏ~ù+¯9¼Ÿ–v»ùŧêGæ›NbG:³´R›=}æ¹£GO¾õæâÒâíaÒÅ•™ÙǾø´þäǽ­6›å°”R×hNœ:ÿôËgN½üÞâöæêÜ\£Z9Y«!Lœ|C ‘‚rÀRï“,kíŸ;uèàÄ•÷ßôy—g¼¬†Zi¬^º´¶µ3|ñùéé©’ "0jÿÞþž€t¤’JƳû/¼ôÊ«‡μóÎúöÎv–§gÆÛ­NSSS_úµ×èÜõ+á0§Œ ­oÈw½­Ï-ཋYHG¨þàGëô}·Óé¶Z¯4'›R@0$öH¸ð¹I&‚õõì¾óîÕ«Ë•ÊØÔ¾}O]|úÂ3¯v:«V"Ö÷ðÔ"´¯åæÄñ_}ýu þüÏ¿ÓÚÞœ˜¨Õ_G:JE„¦ýCóO8yâûß¹tïÞB«µÛ lܺµþá‡÷_zùù“§_x«}7Mr5¤Â²¸zµ6òô«““ãßù‡-Þ½×é´gg+çÎí«–h$„ +¤Á …$ÌÔÓÁøøx»<ëš a$#CÐ(7o¶ÿè~p÷ÞýNëË'NÀ  ê‰îŽ£T…ŽÈëc‡ž~îoîñ«y8p°×Ó[·–·¶WcµÓ§Oœê¹VkóþÝ®Y׬Ova¹ŠŠì§ð¨DF1š÷\Y,-Ýí÷Û++êccE)‚ÁáaEÙhõ“ †$±vkÕû^»Õêõ]Pzîù‹ûfOõzKÔ¶XjJ$R¡Tg÷Ÿ˜œœøæ7/Ý»sy0X¬T¦î.žOsŽR!²8®>z|m­}ëöýÞNVÓfÅA¯³²˜lÍÌì?0wøÆÕùíltf©0"âý³Ž=vùÝkwo½Ýì„Ñx§³Ôï'•reW?jCÅ3)05¨ÞrÏ(Žò¼›e+a4%nFU´Zùââ½õ»÷—¶çÎÙÃz·MÝ’ÃÜÁócÍú~ðÞÂíwÔwÎ=óÒKÇNŸž*—ù7ÿñ½í[ý^òÌsÏ8qqgãN«½!R3B«ˆ’ϵ€ (Z}Žv'ÍòažÙöv?O¡mÀ•Èv=p­pFƒZLÅ¥s†Ù…;W®]ýðìÙgÇ›‡ÉªÈ˜H¬“Q©4}ôÈ¡ÍÁÒ½’¬\*ŸÉÒ`s³›¤ŠQÖYÍÙ™™Éå¥Ûý•ªgÀ¨Z›j6çȨT=íµ¾pçúD3˜ž9MqM‘)H­T™;zâìÆÚæÝÛï ‰Ëg›æ8W Mfä(v31»NŠÚ)G©nlìì´’Sgž:~âצ÷ï 3˜d9Zl0LU±³3èuäNA×!?0Ød(®f†FóÐSÎ^~çÖâ݃`¦TžþÅó/¾81½Ï¿öê‘Có§âxjksã½w¯Ì›¿@ÆÂ*X#À=–›‘Ïo¢GÞŸWË33S5¤™zA#>b‚Ì ¦0¥÷˜ž–ÇS çšy¦K÷>œœ¬î›™'K"e°FV‰¨Tß7=»½Õ».¨›•Ì$Érõ…ÓIÂOí;Pй±¾&RUeàÜÑcçN¹P©Ö³,sÁDkgug§wôØ~ÖEJâÆœDõúÜôLsmm-ö\8¡æÒ´sðÐÑãÇêjfFØ)æÞ©h‡©F“[[;¼wã鋾þ»Ï;~"JŽž¤*†©šÈÜkž™)ó©Æ&»{°0$dfæ@½VZ[^:‚SSs“sßúÖŸüÉ{ï¾·~öü™J¹!íÖF2L扢 0&Kd¸k$~ªü¸B^‹y0ïuO= } "&;-#ï}í¹'ù|Ó̃¥Ng+M“Có'£¨aViPêâ*åJsr<ÜÜ\õÞh™ŠD´ KGå>A€cGç[ÛýN»8ølûäé“_úò+¯ýêËÏ>wQØ2M{këÛóójõi3'R)Í8R)ëêê=J „æ·ÆšÑoüÆsŽïl#˘{µ]r¤Î…ýytÌbŸ7®ßØX»ÿ{¿»ïÙg÷A}”±¶‹Uñ1y>¡:L5 ƒêáùÉ0éõ–ó<©7âgŸ{úíw®~ó[ûíoÿõ·¾ù­f³üô3g`É o{kãøñ}•Ú%"K@±‚ #ÊŸZÀMÒóSÒöfY®y®W¯¬þéŸÞZ]œŒJ¥ÊäâýÁ H\ŠSSÕW—ò¼'®$°”4îÙú)´QTABDv±PŠ0\¼ÏÍÔ‰àò\q.„å ‡™seŸÇÝî0Ï<éKeIÓŽjˆš—‡I68X¬9ñµrñô©æ°`šÃ=]ŸÉåƒd°Hš¦NÌjžçÃþ@E\’ô¾ó…••¬^Ä!I´×÷šÄÃ×ndYË,òö}}Á+˜¦0Søv»UŠéœ£Œom쬮[s|ßÚÚBÀÕ~¥:N/-­çyf¨×ëõ$ažy Òä&Ïî1.ÕÞ~ëýÜÇ€DQ¹Vc¯ß5ML„P³lEÜ-,5{,3ò¨ËcÎEƒAÏû~TŠLcJe}c{˜ØXóÀööÕ@úªI¥Ú4ÖîÞ»¦—KÕ `¯Ÿú<5§ì¦H {A?óÌYµÉÿ§—ÞYMóŽ j»³\ F?£‡jF¡úƒEQ ƒÞÆÆ°R©¤éÆÍ7ï.89Ješj¦Ép+KWÍÒÝ–‘Ÿªül&Ú@Skíl¬Tjàx»ÓZ¸½¹ofnñÞÝVk£\©8xr0´[·ï’uçòZ½Ú`˜v³¬]*M6ÇçŸ<±±±¾²²"n\µFqp8˜%¦ô0¿'wÎGЇ6¤<àÀ Q:ìmm õŠHVÙÚêÜ_Úš=plee©ÝiW*µ¹¹ã;;ÙÝ…»†zUãr|o±ç-…ÅDênd3L†ËÇ?uìØ±oëÒ½»W[;wó¬ iù§®Ö'jƒI’d.ÉÀŃ~~çÎÊôôLW‡ƒvî™$kyžDÑ!¯fÚ7ëÀzªÛd:€þ ÌÇMtZ,¤vk§ßçÄäôíÛ›ŽÑõkWž~î¥3çži·VÊ•æþ¹ùÞ{sg«-n\m³ÙÛÚê÷º›Dïè±ß¾pñ üýß½›e5êv©T|»Ó6Kg¶ck‰"Ÿàºš)%i÷î½þìþzT3¦©»qýÊ…§_>sîÙ^w£Tjœ?ö[à ¬Gñxrc£íó¡s‘!ãm ™ÎÎ6ãØ>üðÚÒýwÔ·ÂhRÕqT³ÎOÍÎ=*ß,ƒÍæD#+™/ݾµØ;81ybq1ò™Fq=. ³b ËxavIDAT±úuÍašš™ê@­KGÕà{Ü€às4Hð³ôŒä0´ÛÝÚÚî5gœû@¤±³½}ëæ•¯üæ+ú\ž»7ߺ»ºr¬›%Q•*“««í$Iƒ0:sîÐïüöÁù¯þ~ssÓ¹13~brßÖŽo·Û"Þ4AQ*\çQI̓Øû±Áî‰G¨ §YaaùØñçjõ±ÍÍmç¦××Vn_ûÍßz!ŽŽ¤™¼õæ½µÕʸæ‹úxžqscËšùPB€dT«ÆÎù$iá$Ã)5o6,VùÃB«Çã_{4 üàOºaÒ^]ÝÜ7µ? 'ÄUWV6ÆîÜ9}öi2L†­zý¤jïÞ½ÛÞ2Ó¾j[uGuÇ´cÖR+Vðž{ÁoO(@HçÀG=p‚®HªÎíð0ËÕ”HÃû‹÷'&”Ë¥Á0iÞ_¼ûæGŽ^ZY¾qíý<+¹ œçífm,ˆâû‹w²<Šãr£^º³°qwa™cX7 âé™ñûKKÝκˆz?$ 4q£2_>´Ä0ãBEU‰YÍ ØX_ìõŸÞ7=½¶¾"Uk wnüàÚüáùååå«|kÅ›žY_[ßÚºOzµG–£¬! Q˜yÓÌ43ƒY qO)ªØ„Ź|P0Jà‡…¾0XnpyÖ¿»°tàà|µ:µÓjQš·nÞœŸ?ðµ¯=åØŸž™\ZêýÕ_ î.\úf]ÓŽYǬ¤°ì£[¾rúÌÙSï_~»ÝÚ¦ÔÌ@ZÖ‡¶²¼+â;Û`ié¶Ï[jÕ¤P9qÄF£ê\¥TªÔkqà¤Àö)¨V]­V!¤R)WªÎ9E#†lÐïÜúðúÓϽ8wèøÝ…+ÃÁJ±Ûý°ÝÎ LJzݬ\’c'Îä¹,Þ»‘g-Õ € > e¬Q ¢Š +ãcÕ8˜Â†f ÌÝc.D½–âR ®Þ(—KB‚æÁ0'¬V¤R3[/W\µP È к­åËï¼÷ÔÅçû½Ö½»7)zûöåo|c¸ÿÀ¾Íõí#G<ÿâÑËï\XX…¤(-3ø'v²Èãk·è~ÁÔD49Qo*®è *J× ¦&Ë““û&ÆÓSUW¨Še†YÏl8è-ß¾ý~s|ìøÉçöíkÂ6Íp ¨æÙf½êçž:sö™4®,ÝRïÍ<™»€õZ)Œ%ËVãRoÿ#§O]_¿ßn/*†ÐmX°½†Ø7UŸ˜žšš¨×B)yä"¨Vdf¦Ùh4ff&keq™öTûŠ|yéƒÕÕÕó.>|¡VͲô>¬"h•,Ûšæ8ßœ?|àò»^»òF’¬›vͺ`H Ø4ꩱÿæ¿þr·—¿úêô›on›yØP­o£^· ©§O×ÿÙþÊÖÖó/¿<Û8U#˜2¯þàÿð^¾{ÿâù³ÍÙÙЫ/(PL k·?|ûÒ^}õÕßýú‹ wæ7ÖûIš;qõZðâ‹.\¨ïtf~øÃÆÎ怖ú ¼6Á£nžd>†$Ët»•O„_þµf¨UÙjeêÓིÓõ±ðK¯ï7µz­öJî3ØÚ÷Ú IVïÜú±ˆ|õw^~íµ`c½›ç)F9ŒJï½·þæ~¸¼ô®j—HSBÏœnüþùT·AøÞ•Ö›?ùñÆÆUµžú®Y¿ˆA ÃÜûNGªLN”ƒÐDØî U3`˜¤>MíÜÙ±Ãóc¥ –—ÓÁP!¬g6T3¿µyíKMØ ¿õ[€ts«K3qÁÄx¹7ýèöÕ~ØjÝT먶L”ÈP†íNJÚ—^?ç¨T¤Ó3S¯6„ a¹)aÙ ¯¦ö¥/íOS«×ä'o ¼÷j Ud0L»}}éåéó}«V¹²–'éPmà55í C¶¾üöO~ˆ_yýWó·ÎP5I¼sR*ÉìŒÛXÏ¿÷Ý+ýÞ&h0µݧw6(LaÞ,UözÛßþöåJ%°×Ïß|ëö0ÙPíÃXN³MÓ¬x½ß¹qýÖ¿ü×᡹:iý¾¿qs3nª¶ÁPµ¿|ñßüoï?Ú"IíÎÝí^gÕû–ù!l  Y2ø……$ûæ`qáè¯ù™¹µ `¯Ÿÿå_ݺtéÊï¶Z €ÿ´þ[B )—f«µcqT"¡fi:l·ßO† ^{¦,šá¤$n¼^;>äÜìôDJ»Õ¿½p{kóf¿wˬíó5¯›ÐmXb“´=YÀ‹Œ‹ŒÓ5McH™#Ú:KÀÀŒTŸkAô¦°˜«vTwL»„%‘ºÈ”¸,6À9q.0U¯š«ŠÚSí›õAŠT‰( ë.(©iž{Ÿç õ-ÕMµ®YJ8‘†¸q D`yĺ|4Ô¼­æYT°Â`)¬OIÔ·½uÅ,sÔßP3 @.¡ªzïM’«o«¶Ì¶T€'KE·‹j@©À’†Ül(ÌLûj˜’‘ºY)1GE; éÁ(ÒS9aÄ’§fÑrï·Š(‹,ÑMˆ4(5U8'"ޤyÍ}“õUwÔ¯©¶h¡ÐŸÞnÅj„uÅBq&âÈP³\-UÍLsÀÈÀEà™ê3¯C³.lKŠºDUœ!wR T3O¨Ad¦©úŽißTËEªi fyñæ”Ì4QßRm›u¡C"µ>4tΉ€âÈ ™‡yï·z7 Š ÕLTŸwT{°¾Aa9à„åNÊ SªfdFÉT‡f-³Ži–ª8WIÁÇÈT3Ÿ÷T{†þƒ@D\UdÔR©ð¦¹j¢>'½G ‰Õ¹ ¨j¢š¨öÌzСÑOO³Ü!wÁBï‹®p/’›e>/¶Â‹vOoßS- KÔÞ™åª~TÇ5ú<¥ €ÀkD$d0Ê1èÀ¬oÖ1i‘ù7˜©Áh‰ÉpùCÓ¾Z64ËHæj9‚"ÔöfÓ¾i[­ëÃ2ƒ'*z@5#3 ùõV™Â¡Á$½i¢6„¶Íú°Ä @nš KL+d ˆQDòHÍúj}hW­ GÉSµ.U­P‚‚Ù鰢CŒ9Ô›y/‘Ðhôf©aÍJ8Õ’H¼KXªf‰iϬ· H™!ƒyC ¤¦°4ZîæDµoÚqG>l„ÿLLw:ŠejdfÐí2c¤Š –Ó`k rÈM5±"d+é cî™Úˆ$FG=ê:P¤45£Ñ‹äæ3e@8ƒ‰i ë™%´ÔcDmšŒÂu qÁlkªÜ¥j0ˆÁ‘¢ ˜ò¢ñ#¦>2À›ª13Ȉu”/É‚xqKm„ÿ`Ô‰šy² ¤fCµH`0óJ/ÌÌzÂØŠ`d† Zää¨À @‘>š a‰YzZn°BãÁþƒ‚çB5¡‰Y_-!’¢ÀáÌa+6ƒ¢×ä®YSƒÇ.Ùb#J›‚†ïÁ#¹‡X70†Âp4)„Yq· –îa™Àˆ S3CA f‰=BÊQø ÁÃŽ8mu—Yg„”?ÀÇ Eó]Ë ¸ÇF(q†`H0XAÃÂ2XºûPÝíÙ Fƒ¤¬àQΉ‚ž.¬èQ#B£#‚% <ÓünW@ˆ?£à¥ @Ëvím1r4o²›Ôñ¦‘)¾Îç0vɬ݈äaq¡O£q—HømWšù."Ê=¬ðÅÔŒŠfu˜ß¥/ä.EÍéúÓ]€¦˜e¿‡g¼ ™p6¢­~ÐK±—už˜®9z\¶§¨e÷&•v]U ¸xn¶Gº|Èñ]ˆm¤=(—y‡"((‹v?SƒÒFiú]2jy˜:4oð{Ø6F¬P»3æv¹m¤£'柚 äÇ(!íß›ÈäF.‚ö$Ò+îé‡Ä.oîc5Dî!ïܨ}`ï9OüA½ óxåí‘lñÑëƒî‘‡ÅûÕ…ÖûÚGº1¹çÅù‘š*}”A†O:ÇžDÛ¶wxö(Yþ.ÔÇ*¢øÌ¡Ê÷ã¾zâSP”=ÆDgOb«“G¿ú¸ªyÒ˜ðFÈ=}ן8gú>zsýxÚ={T®úñkŸÈà'Yf_, $?éÿŸ¾ä³=ï ½ùÎC>Ϩù‰¿_óŸïwm~.¿ Ãÿ4q~Qcæ/€r}ÞwùEQz~žâ³ì/ÿ˜~lj?gòó?ìÿ/þËã—ÇzüÙñÎånìÞqIEND®B`‚KCemu-0.5.1/images/dialog.glade0000644000175000017500000001725612417262523016466 0ustar glaubitzglaubitz KCemu True mouse dialog True vertical True 0 etched-out True True 0 4 [ Title ] 0 True 16 False False 1 4 4 window-question.png False 2 4 4 window-info.png False 3 False 0 400 True True automatic in True True 2 False 4 False 2 1 True False 6 2 True 4 4 end gtk-cancel True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True False False 0 gtk-no True True False True False False 1 gtk-yes True True False True False False 2 gtk-ok True True False True False False 3 False 3 KCemu-0.5.1/images/window-info.png0000644000175000017500000000507212417262523017170 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk> ÚIDAThÞÕYmP“W>÷† A!€AC‚T*PŠVlÁ‚+D (;­ŒëÚ/fÙ©«Œêªã,ÒZjí(c¥Ýîlg­"‹ˆJQD*EäC „„¯$ï}÷Çõ…2€¤µ}þ¼s?Ï9Ï=÷Üsï‹à7Âzï¸ÊõÞ³f…Æd£P*%¦ˆìíy–ïò,1f ¦,ÆÐÛ;t~èöÐù¦¦Ëâ/‹õú_[/dî #6îŠË†Éf˜¨(ÄC‹/:šeØ&–ñ÷§½0žÚl55t|^3`: äæÕå//ª«©ùݰ. &a]€¯/]ÁÔTÄÈ·v-×n›%Úf›EˆkŒ{µk ƶŢÏl‹±WA,T V¨0ä ?2äôÉ´ï“<*jÝ󨈞““zNŽF )/§¥; +O•V^¹ò›°º3¼bu§Õ›V^Vo~ñ5xËÌÃ!˜à›øJ´o"B'‹¦—ßõ1MN rè”Q9ÐâßÑâϹò… 4ö÷SOR(r¢7½“½ !ü!ÊÀN½AŸQÃY†Üg™ÌLªØš5?ÔœžýC͆ ´÷ž=]]꘮.„ÔyjÔy“Ï/[¼ø˜l1Àú£ñ!ë"d,v[ Y³¨‡Dúm:éçä4m(22èD>>«>xshÕ-°XX¸ÀbrÅ8èÅ}Ùzñh™®4Äž®G‹¯²rdÜa—þðÔå8¯œçä¼`Í~…nÍ~.6Ì›g46M'N<‘2ÎãÇ@÷zP-ÅÇ{wûú{wx¿¿ìkï÷§®•ÓŸTœ,K= )‰—sç†ÚGl µ·¶¦D8âìŽê7N_Þ Z¸À…û!ŽðààðetáË¢¢&%€¹O?¥®Ä²þÙ+]ü³§¯«;VUVw‚¶¿¾?h;BT¡€ä2µÚÒCÐné¡ÑÐÞ‘‘KCýuKCD·ìËE“†°‰á›˜æ› l° ¡rبNܼQm1âÃ#Ð=HWbåJ¿Õ+ÒýVc,\+ü›píó)ñ4–%ú;,KPˆc+Ä/ÍYêþÒOþ‰w¸ü ‹pÓ†sá&€o˜V4Î\?Äâ? ðlð¡À³\!“éÂ4Gta Å8¨kFGse¹»WÜ}抌…K¶ë—lÏ2ïO<Ëa7û!‘±›ŽEÆb<Ó-0ç”y½ç”Râ¤p[N,Æô˜Hh…L&ÙêÞ"Ùj>Ã9ܨ-ÿ×Zj8B4(îÝK[wíÒ'ôUê¦üûKÅåßs+e>HœÝÓ%Î\I$¢ò_~ÓcB.i˜Ó-0·x€æ;¸ù!´tõ*Íöì¡©kZMˆ Ûâä·Å›_¾ÝÑ^»3ck==Ÿ¸ ƒW%ÐZý$К_cÀðncWâ\p4Jëõ4“3¿ J­2¥£eìíí1üÔ±Š•8Õü¼h t•Œ­åó1þ==\•áƒÁðÍ‹V×ü0î7÷­Õj1kbXSk+W¥;®ÔÑêš:V»M÷Th¥ ßÔ„ÖÊÉÂÚ»wiµFÓq¬ý|DZ­®ù¡NRýGÄ¥ä&Ýú7nàL|Ð?3 ívútk|Ó—­ñ,ËÝßÿèà^šݽݴˆü.^¤§V;&ÌÏ' )! B­ŠÿmUÌDô猪‡KTAƒóøƒóñ“˜wú4×>B}-( .òèÑõy?¦\ŸGÓB¾bZ^´Ó·òo—þ»âm.±Òë&«zé»ïÆ@Ÿ¡ ZúøcíÎÞÏ´;1®/¬ý±¾ðE›3}4o»¿¯y@GD{HG—W¤¥å×ý/ ¿nôÔw^P±èËß<9ïÜ)Ë(^\–Á²]HÔeöôÄüÐ~«iÒ~ P²ãlhÉB¨GwtÐÖôô±ýÇðlPŒ‹£1a`@i™Ó¥´$d€í/xŽL_)ØÇyï‰~¹—µõ³·¶©c8s¸z8@‰sTJ̲ô gGB zã’|ÞDÞWÕ÷ßWuvÊ$^Ke’[·Œö•Ñ>!á~Cýàý–•”ºùHJ¶Y[ Û&W°Çåq{ B«:o>®ruõpyÉÆÃE¯—Š=;¤â%K0`~r²«Ú}—«šÇ“é½L?yJÜ·Y›×· €BRÀgÙÞ¬î”Þ,„Fö'%Ñ;GNÎDã§ìÔôI).[ò°å×_cÀ«1!ÉÇB’’æzöIs'¾Ïënê¢u7 jOü£ –MjÏ^MêèuØúg©õÏ„(vÄ1ŠÛš“ehb}Úö6“¶½Åg–g2ì4¼j؉eé1—œLWüèÑÉìšö®¦DøùQ"òò¨@‰Ä¹zÞyçj–}5âõ W#r¶œot¶OãÅÔ0^*燕3)"‘"—R×^—ÒÑ—œ±èºØùF×E€ë»J/_ßŲ­ýÖ´ös×êînz›Œ¥¯Ì%%Sµç¹ÃÚ³?;·oG€Ü¤¤Ð˜akk]6ûë2BdòÅ™29Æ.‰®»]lƒE¬m0ßÍòÿ©?A¦ãFÓqÝAm›î €êðÃ/T‡šœîu59õ˜áaúýüsFk:ÄhÓÒÎ7žI8ß8þ–ù«0Ü+/½ÎnÙBލ(šrr¯ÌÓ½æ²,]áêjêi¹¹¦Nã{¦Îììâ‡ûж·ÏTï_ý`£ÏÞb1}ý ¦†Èd´ÕÎîÙÞz=%®¡þ6¿zUY™ó²²m aöùðþcÖ©tõ‰íIEND®B`‚KCemu-0.5.1/images/kcemu-winicon_32x32.png0000644000175000017500000000143012417262523020333 0ustar glaubitzglaubitz‰PNG  IHDR szzôbKGDÿÿÿ ½§“ pHYs  šœtIME× )ˆ¦¾ß¥IDATXÃÍVÏkA}“j“¢P£bEPp×PSM.Ò¼{¼‚ƒ¿nëIÞKnžÄÀB¶‚`¡‘Ê.Š?(ŤM*Š6dmw“Œ›i²ÙÝLº–t`;óæ}o¾™yß{¨1AŒ#ŽRÊÚ0Žß®“˜1Æzˆ`Œ1–Ïçm °|>ÏDšG/|²†R*܉ÇM€kp+ƲBžò  Þ%Àn‹¬"Z|¤„®>Ö~'üÇo‹ñõ".Ô(¥P ( (¥Ý)lí›`Ú·Ài^‹ßñöÚG¯„ ìN²›‰ìŠ€~LÄ‹¿J3™ šËåÈ«½ŒÄêt–Uö•ž‡°#éW@k1­Ä«‘ô1v¦çÛºn5‘1‘ oÛn%Ûb´SžËq;ÓƒCãéAâêÓ¢/O²5¢^¨RÑä èòõj×n,!žP•TÄdÙE>>ûºŠ¨¤v}òä|YÚä¸WsUÜTêàž¼ú¿×îfžÿ@z"ˆÒ¢„Š&ãÅ̾•L>>_Ðñt:ŽŠ&#{3Œg¡¬JHO„°\4:pédÿÿüU‡Ï:¸Ï]€ò¦†Mƒ!&kˆJ*îM¯`ênt›øÝ6ñÛ©d„WL$Î ·ájH%C‚.ŽÝ˱i2”V ¼ÌÂÔX¸^gX.8sz? £‰òš‰±C¨éMÔô&"‡ýœgu­Ž“LJ:„§.ÝÏÀ§¯ˆ„h6íÏ¥úqÒÙ „`Qûƒ„ôoÅ ïu$Ã<áQ?ç©Õ˜«ârzÄ=G"”+&Žž×xß“‡qÐë£<­<ýé­Ït\jK¯•g$äÃí[Äc½w ýß³þ:á_ Ú3•šZIEND®B`‚KCemu-0.5.1/images/main.glade0000644000175000017500000006502312417262523016146 0ustar glaubitzglaubitz GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_PROPERTY_CHANGE_MASK False True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical True True _Emulator True True True _Run... True True _Load... True True _Save... True True _Tape... True True _Disk... True True _Module... True True _Audio... True True Pl_otter... True True Vinculum _USB... True True True Screens_hot... True True _Video... True True True R_eset True True _Power On True True True _Quit Emulator True True _View True True True Zoom x_1 True True Zoom x_2 True True Zoom x_3 True True True _Keyboard True True True _Menubar True True _Statusbar True True _Options True True True _Colors... True True _Display Effects True True No _Speed Limit True True True _Profiles... True True _Help True True True _Help True True Help _Index True True _Context Help True True True _About True True _Thanks! True True True KCemu _Licence True True No _Warranty! True False 0 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 0 in 60 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 False 0 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False 1 False 2 True True _Run... True True _Load... True True _Save... True True _Tape... True True _Disk... True True _Module... True True _Audio... True True Pl_otter... True True _Vinculum USB... True True True Screens_hot... True True _Video... True True True _View True True True Zoom x1 True True Zoom x2 True True Zoom x3 True True True _Keyboard True True True _Menubar True True _Statusbar True True True R_eset True True _Power On True True True _Quit Emulator True KCemu-0.5.1/images/window-copying.png0000644000175000017500000000410212417262523017676 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk>âIDAThÞí™{L”gÆs™Aä¾ œ‚ˆˆ0Y@Kd¼Ek´ë”¬·jYÜMÔ®Ò?JjÑÕ°qÕ5ZÔBD„HÐ ÖŠŠ€buA¨r/ˆ™oö‘º«aA„ÅnöIN&ïäË9çyò¾çœïýàÿøßDì$]hì¤ÄDmpü_´ÁwïZÖ©©‰Âï/% I÷sâ¡Nt 4×9&($D"HK„;ÝxNt?âá!5Hÿ(5|üq}HMj}ÈþýÝÏ‹†:áÂ{Þ33ÞóV«­ì­s¬ìKK͘kÍØÙ‰Oêå~Fõr¸¹çÚ¹›{L&E®J­È•Ë¥Cø›Â²ÅÝݱ#ˆ‹‹r\79å(Úêùm5RÿM}H ·´×ÝniÁ²3öïÏtþûªLg£ñ{,[ÝÖÖ²:ujDÄÈÅ#"ìícct±1VV¢¶a"èšÑÒ5Ãd¾8|8÷ò׫r/¯XÑíç'€…¸D"Y&‘äæÊ®ÈÊ®x{k·Ç×j·[YÚšmh‡<Ý×äé “ØtÀ$ÎÏuÁkû¨ ‹Y¼˜ÍÝþ~®KE«*—ŠæÎµ¬¶m³üŽ5Ô„_F‡G›_‡*አ]܇«uq ûBö[ÙÕpàBVƒÑØ©}lèÔVV &¡H0EDä—½Ÿ_ÖÙù²¿—jÀgŸÉoÛ<–ßöðpìrIuìjº/PïçOõþ`t4¦aNÚ¢ÍsÒ@ñ¥r±âKÈ^ó•gö£ñ©öIýSmm­±Ó0ߨs²*'ãdÕ«Ä_ Q$¡ÑÕÕ>Ëáž}–H¤ù$ôSÍ'CMÊV_Е­†ûš¦ÄûˆÓ½¿3Nö«Fn³_ùª£óUÐQÓv°£æáC‘ ò ‘‘'«r‚NV57÷æÿ­­7 ®5Þ(€Òâb§ÒbˆŒ]î=CÜ/Batž]a4Üëº{ð^Ød(;m2Ö¯·¹††¾Æé± ŠŒ“ EP“úµ5©`:lZj:<øÄÛ6¶·m„«I—'\M‚0›i³ÂlÀgÓ¸PŸMpÞéLíy'¨««>ZW¶óFhlçµB6ÖZqçö:ñz »Te_YT• È0 <âÏÒŸ•?Ký™öÙú3à¼/ÀÆÝ_åòRÏr9T¸^Š©pMů'j* ¾¬&¢¾ XöÜ^= àétÚ1bæMŒ áº)M¸>ðÄõÑôÑpâó¬›'>‡wÖ«|g=„žŠT…ž‚׎Ý(€óë¾~~D¦Æî‹Lù7òäß@}J õ)ýßë$(ÿA^&ÿKÃÀÁùQå#Ý£J(”æ­(”‚Ë´_µ¸Lƒ)s¦ÿ4e4tÔ^hè€3Iù+Ï$A¸êÝuá*ðòwó‚Úäjj“ß<^0ù™*L~ T éBõ›ìºØõc×EȽz$)÷* K¦–Q“g Ícš’›Ç@¾ïÑœ|_ð_Tï¿ü¢›ü¢ÑÏm€Ð£­O[N·>…’¼‚˜’<f›…Ùý$ ]B ègµ»ég|—ÍWò]'Ä‡Æ ðÄ󱿉'äyfþ˜ç Òfi¢´š—5E4/ƒÜcG¬sÁ”uÓ—LYÀøA@¤LR÷Aß"ïƒ $™Þ’ú¨´ Ø¶´ JÃLƒBꦺ…ÔÉÃxÖäÇ·ùìøPÚ ¯SÚO¼¿Ê'Äéârq:ˆ½$™b/°iUüΦô·ÛKô·Q€î³ïˆPÿ´l~àÔ² bC A "‰ÈK$³;NÞ9»΂î,àærÜ) fª˜©ë-Öjë-L ÿÖà’)ajÀ  Bf-“ÌZ(™QØQ2åJoE9¸-óØëö/íÊòR±©óþ› ÖÙÖ+¬³+«WÑó $3¬4È &êVxMÔëBvw·5ÚASmÃošjAÒ[ÜÛ}wê½Ýàèèœåè¾Åã3|‹¡.¼:©.xüÜ^Nt”t‹txfªs<3,âÄ  ßО©ßU åmU €ÌܧAÈìb6š]à¾oÓŸïû¾ø¿3ø‰¹3T¶ T QK†KÔp‹ë‰· ÷A«Qô)`¿Ð!Á~!ÆaÂQ‡­N¶Bl‚ŽØ¤¦¡÷G›sß-Ø ì¶X÷×ΟJ;ìÆŽð± H)î½ ¿€$_ªäƒì;ÙDÙwð(ì!S€nÈGË‘D„÷e²[22Án <œ®_ðp:|°wù‡ìéFéBéFú?P%>·F¯“Rc2˜ÓÌ™ûðšê2•PeêåPÀŒù#3`(2–ŠÀjšô{«iOdÀh>ý ²ù4œ“ž;'sаËü37óIé“~{Šüö 5ýÿ €Êkøi•Œiû‡1­o>uÃù’ë!çKCM»tŸ}·úu–ƒˆ·öFè¿…—v@KK»o«c»¯RY¹örEåZÑ[ûåH?·ã{ý\ …µü\›ZZ^×Ï‹kñ¦ÕUK›.5ŠÄ¢ÆíÛÍÁ`ÖŒ9ÔD{D£HB£Á`YìÞ½ÏuǸ}®+Wö[€nX> IDAThÞåYkTT×þî½3sg.ƒ ¯€b+H‚1 "CLª¬ŠšÄÔ.5K£FÔ¼|6¦$¦‰•¨%‘j\ÕP „„Šb Ñ(* ïÇ0Ã<î£?Žã´ƒBmt¯uÖYçœ}öÝûÛûî³Ï½Àÿ9Qû3Ç%ž›9ÎÝ’Qc(Ù¯~E1tÅÄÆR åG1(_ ,+XøLÁríY/+zø„žŠ®•\týÇ1ƒz/iߺ÷’¾ÿžŒgÍz=畯紶Þ7DÀš5dô‡?&Óƒ<+<ÉcV8Ǒѻï’~ùrÒ³ìˆLMêˆLApw}Î9œaèbº.z*ºÚ{*D±óhûòΣÔ½P99¨åËó+ίÔ鈾aa„+?_8",Ž$%­W¤]¯(/¿_}ïq‹gøDO•ŠèYTt·¼ß{kãD–ñ‚ÆsÄ »wSeT=U–žNÜÞ>àØaÙ{y‡%4”™Çd1ó–,!³6®YC6vwÛø£ýGûk42ùn™Ëwß‘Yÿ)Ϭ™ò8r`|qÈ#;Ýbßb€¿œØ?Q´rÖVÎ` @DFœËi)8WUu÷>âÐôtâЄ2ûÉ'¤ÏÎ&vˆâ=s 1›á6HOI£¥§¼¼¤I’4);› þí·$ä"|ÉÉSµ³NMÕcÕ¿´ŒUÝð»I'¿å¢“ÇC¾X{²âéó‘€¶§D­í±Í®XA^‰³gÉØd"WWf×Oâù¬,2Z´èŤE?¼˜¸½ûH«Û»v>ùvŽüÀ%;ü‰Kèzro¹âAq½x0ôõýÑÐðî– ¼»}ÝZÌO²Ÿ§}|úó4I2ËLÁfÙÅ‹…Ž;^°%ÅfRÛ—ýÑuû²Q£d-²Wd-II ?”ÝÍJBßÛ›ŒÜÜHñ¢í¹#’¡ü(fæL®DíÆ•H’›æ‘V7={Û Wç;©óäcòÖ#FÀ€¾­w›¾Í„|ºL+ŸøÖ)ò­£¨šÄKñ5‰ãÇÇ?þâÇñ{xD•=;=ªÌÓ“ÒR?RÚÙ³I˜7-Zz{ÉSŽ%½$Ñ?­ÆÓO“wþ³ÏÈøÐ!LiéÖ|’¸õ$ ¹»k²œßÓdÙ ·…ºÍã6ê›­¿Ú7ÐEßJÖEÒóR”ôüà€8¤8d;¤ØåÚÈù÷®{œo÷°H‹¥"L@—Ð,]Jæ-ÒOJ8e éwï¾³s0Þ®ýðÊÛµ¬Rb}ÂÂj .Q5MoÝx¦é­ÆÆÀ+!o^fðq‘3øž¯ØRÚY±¨õ­ÞSë é¼ZH‚Sǧ§7F¹LÜ88ú=½ý{$T=u.¿ê) Tÿí¥zW|<9òò—HH6ÛcV¿9Æ` £³gŸi)¦U­Vƒ €õ„5ÄzÀlÒ-ãËhêÞ ¥Õ½ÀÕMU•W7ž¼7ynÎ}S6æÜ7@Û1]NÛ1 nÍÕêº5@§sûµNg€c¦s,àåï“îåÌxcö3Þ˜rfSð¸Ýh~ OâW ¢Y8)šõzá÷k<Ѓ1ЗÉÈ)’“ô‹Ø÷Ûi‰ç-5fOKŸ:A•Q'€K7Î|éàç4ÙϸÂVy]aí|'Ë‹'@cqéÑXv;‰]ˆs‹8ÇÎ_—Sûq]@ ´Ô ûþ~¥¡³_ù/†°L,Ívu=ˆñ?Ä`š&Ö’%ÈÀ)dL˜@’IH|éSð-)A€†7ºÛùr÷o}}!ÃÈ(ŠßÆä·56=֜הgœ× ­¯&/´V«å°Õ tk:gtk× G\ƒËds–e2 ÅJáR,PYzöËÊR@}Æq‹ú Àoå=ø­2IkOh­oO°À>žï~´Ó¿ûÑšœC Î âáÔTI+5HÚ¨(b°ƒYݼùîs5&tŽ>&´ªÊÖ`=Ú$˜ÂMj/<€>*3‚¬¿±DX³„W„Y€[ˆÇ4·À p€?Ýn2ÒÄ…b’¸`|è Æpßâùœû ×½ëÓ^w@.!@Ëþ&}Ë~I"Ú\¾¬Í-ù»6×l~àH×|—&2 =—þ =wÜ8r©ØµkýÚ´eë×,1‚™I+Ο— ’˜Ø>²åPûHÀ;Î'Ø;0Nêë5N<м¶x“Ú×9 pIq;éò3u€ašþ¼aàX Ép, 'õ†“öõ¶ZÝ´¶Z€âŸàƒ(JÄk’ðÍ7Ôxí¥w=±—2\µ ì„bð¢EøZ´œ>M®¯@sçÍËÍ€7|‚½ðZë ^ (“•¥Êdàæµ†˜›×€Ÿ ø¹íúÎ@€å”Í,g?5lt³¢qÕÍ )·à믇bª6¢>j W®öæÊÝþ[ûuûýÍžýMÀ¸Ø0Á¸0æô½j̱Ïë:nu€Ã1µèpl ¼Æg¯§7>kY,D’’ÿ:'.‰8q©¿ŸDB^^Ç©¶—;Nݺ.u·ÎÎÇøÐK@L=Å{d˜ãû“Íñ€Y06 öùÞ¼n}oà˜àÔí˜`—ck 7Z½uË[½ú§OÛôªƒÖƒylß æÎ­Ÿ[;¾~.Tð‹ä @xTø›ð( ®¶‹+žƒÝu=:”YC‡”וޱ½+v‰Ò.»áõtMo= H‚ä' ¶tüø°õ®€Äqó*Ç©TäžÞÜL¾Ü89‰‚X, Õn'%Û,£²šçiÐÏÐðôÌ«<º#¯²£cÈr‡«¹ùúR]G ŽŽCùR  yÃåMÍ€|Ÿ|¼| Û&w•mä«ä¼|@g1z:kpùÂf^#lšjn|Þt§à’$ Rƒ¹|¸ú9Ü `fÒ Û僦}S^òMœ]Cœ&KæÌdýuÆ¿õ×­ Íc[€Æùu5ÎZÚ_j zt7õ¬…k!Àd2íL&0¢TóúˆRÀÏìgÈ%L.'¶`Ápõvš8‘ô’dæM£Ìêx¿ë#Àh6Ͷ“F’`h(†xþÿ‡$†a^bÀé¸óÛNÇþ÷iýïmãt…mã€þjc^5`\Ýd\ ˆrñ3Qp‡ÕFî0Àmås[å-îmå-@µ—ûBµpœâ4Úq À¾£|Ÿ}(Çi”Ö|éaGð° !ÙÕ%2"D0\Öï1\TµÙªZ@£p‰Ó(å(U¢rÀV(%¶³Å·ÄlÀ¤íçLZÀ´ Ÿi`Rw™Ô@ßÊÞWúVmïè®·½ÿlè2þ€äð²E€^ÿ?R9C€ˆ7YûE“KÅ—ÅR ½¬¥¹½ 0ææsSp¸)`• l#ÀýÚá ÷k@Årþ*ààPÌpáÝÃ]x@n¤ €Ž½Y¬cÔÅ4À–{†^ÝѸl߸8‡U\Ü? üýfE®Â,I²FùY#5à9'µI : E'@’KÍ’•b…¨$Zº!Ñ€±D„-Òl»+*Ô'GĨOFFõøìó£<ÿ?ÀFä#©“‰ˆµk‰Â“'“U//š¡§ÓŒceæ3V†¹—A.|!È%‰dyÝíšòêUòEE¤ôÍÈnøàçá8ÌõëšT—W5©žžlƦÙùø¾O:/·ïë¼ÜÓCò¡0a)têë–~€âÉ' ¹¹ŒÈ,`D¹œ6Ñi“$‘JR&#•ä¢Eäà—_>l½þkØè…–E _hQ*ñ}Vc|x8o´¾ÎU*…’-S(++s¿ÿËòÜïmŸ¯>ý‰F+'|IEND®B`‚KCemu-0.5.1/images/logo-openclipartlibrary.png0000644000175000017500000001526612417262523021601 0ustar glaubitzglaubitz‰PNG  IHDRX@ž°ÂbKGDÿÿÿ ½§“ pHYs  šœVIDATxÚíœyl\וæ÷¾÷j¯bq'EI%Š¢[¢,ŲhÉr´ÄK;NÒ餑ng‚îLg€Fz€dô`0I÷ƒ™Æt ’žt6gk;N'²ÕŽmIvl-Ö¾P¢¸×"‹µïõÞ»óGÑ\LJ¦(Êš æõGU½zuß÷Î=ç;ß9÷‰‡?û׊ÿ?îÚ¿K“Õ4I…ßÃÐgæüÌÔëvR_ãG×´EÿFlU^` µöìl£2à¦P4‹s½?ÌÈxÓ´}ÞL®Àp8þÿÀš&y|ï~ïÉxÝÔ"‘®KtMCJiš$’i‚~Ÿ!(°,‹’iaY6–mcZ6¶¥x¿¿Rp¡koýø(Cáäï6À^·“ÏüAV6T.ùJ9ЄM*•ÀaHÜn7Ðu ]×–tÎÎZéº1Äs¿>B»«ßUð¹h¬­¸£s!p:äóyÈçówÐZJóàZÀ×Z…PˆäÛoc&TìÝ‹wÓ¦iDÜÁZ\©^R^$Ó >ßmL¨ëxö8øêg;ICmõU´··3ËÐÕ;Fh$JÿÈ$=ã„F£w ö²\]éãÀCí<¸u- µj+ï³üT©DòÔ)Æ¿ÿ}’'NÄ.¨}úiÖþÕ_áhh(c¬9 n{ŠÄùI¡Êc±ñ)…ÔЀg»1‡¡³¢>HCmJ)©ã“I"ñ ® qúb?½¡ ¬%€­/}ù <.ƒê ­êÜDûºFÜ.ãÑ]•J”&'É÷÷yñE"Ï?O¾·»Tb6‹¾ü2µŸþ4ÕO<B ¤¤rÇgúÉWÉäÍÛ¶½€«šOá@PôRô°kk Ï~r7Ù\‘Sû9y¡ŸþáI†Ã1²¹âò,¥`e}%›×¯ ­¥žÝߊú Rˆ© .<¬TŠÔ;ï:}šÄñãÄÌߜðÃa’o¿MåþýH—«|Su[?Nôíï‘.‚ÏQö§K Øæ(Vñ"š\ ª „qN^¦ƒn—ƒCoâ@çF²¹"/9Ë/_;ÏX$µ<»›Vóà¶ZVÖ°~M=n—ò橹Þ^¢‡?z”ô¹sB!ìbq(b/¿LÓW¾2í&¤fìø$±Sϑȗ¨ó‚¶T€K×(¦¿E?ùø1tç&4ç6¤¾î¦äJJ‰>7Ÿzì"ñ$ÿtäü-Yˆ~«,ÌçqR_ s{+v·ã÷ºøÜH)>©RXÙ,f4Jòôi&ž{ŽøÑ£˜©v.·É9SgÏ’¹xq`WÝz<«:ÈöŸ$g–­xiÃBÙ1¬Ò0f.„Uø„p#µz¤s;šc'šÑÂnxOBâv;¨ö;‘X¨[Øé‚ßx=NÙ¹žìÙÂÆu 8 M»9e¶‹E ýýdººˆ9Bô¥—È÷õ¡lûŽ‚¦2MÂ?ü!•g(–³v-þȆÞ!šµîà9W*Ry,;†Uê¢ÄZ-šã>t×>t×3V,™LÆâržÀMÙ‘>?ËÑx|ïž}¦ŸÇyK¿jÆã$Ož$zø0é3gH_¼ˆ‹-+å‹¿öÅñquuåej8ñ¬ÜŠî«%•ôA¿Ké’²&0s¯bÎ ÛÚŠéïÆ#qnôb– 8nAíçìrljmÄïuÎsʶÁ4Éõõ1þÜsÄŽ!×ßOi|ešwå"K‘±W^¡þsŸ›¢/ok'®† doŒ‘*@¥ûî 6ÊN‚*Íùlb2ÁõÞÀ¾eê4`Û¶±¬ù?*†ÃDžž‰Ÿþ”øñã¨Ré‘û¬l–È /PóÔShOy•U4àm}˜Lï[$òE*\ ï^¶‹f´!dp#¥ O0K¢;½·d2r¾^Z¤'4A>?Àð÷¿Ï¯~•Ø«¯~`à¾8³W®½tivÛK±hNk²þ;ñnÞ|Ϭ8}îésçæ° wÓ}¸›¶+-°²ilšq–Íé ÝÄ™)€õ¥ 0ŽÑÕ;6ìœ+Wâß±ápÜ3Çò“Ùš)îÆxVmC I|™IŽÐšZãœØÔ#›Ë£éŽE•šn p8’äjÏè´F#tª|Ýï¿wÁîõ×)ŽÍ€`¸ð®}éª ]\^6¡;;@ÌXi4žbp$‚e)4ù¸ yË4Õ´8{epd¦ ¸oîõëïÀ¹Þ^b¿ùͬe¬Üö U«É— UX6ûEs><Çz»ûFèî™ pŽ;àjÏÃáØ,þ©SûÌ3÷ `3#ùÖ[X™ÌL¬wWà[¿Ó†L –£f)´z¤¾zvŒe|2Ad2f8]‰~_€“é<® Q2g¢wÕO ÝVÕq9.‹Ô©SäûûçXqõ®?@™eâÄš£ÄL‘˸Ú=ˆiÙhºsÑçY”Ðwä+ä 3!Ú¹r%U‡Ý;6qþ<ésçfôf!p֭dzz;™äîX›è®]s4†x"Í©óÝ ä¢ýï¢Çé ML7âi^/U?Žt:ï Àv¡Àä¯~U®’¼kqN?•;>ƒBÏß'ZÍTéhàD*KhxM7B./À/¿ŒšrnBÓðmÛ†»µõžYqì•W0''çÄOó =‰ŠQUuϬ8üÃÎI`#Þu»‘O9u^‚Ÿ²i´Í‘'“é,=cH©/*{[ÀÙ\‘®ž1 …™Ü»Gcã=¸ ÍX¾u»qT®"?'؉E/ë²ÿ]3ÇzÏ\¸A¾PZtz¼$€•R\ïÓ;81“:¯^Mà¡‡î ¸Â0hüÒ—†1Ûüð¬îÀQÝLÉž¥°¹* jÝ"®›ÃQpîr…b©¬ÿŠÛ«°ÞÖíèŠp#4ÁÆÖF´©v¦ÆgŸeìÛß¾ãýûZ‚ÃQ[‹»­ê~”Ú§ŸÆÕÜý4ßøÆ2ªXîÖVªœÊýûñnÞŒ³©é¦*žR ˲ˆÅbLNNR(”)„”ò&_`[y”]œÛ°#ýhƆÙÞÁ‘ã‘Ämóß%œÉ8~º›• •ån)©zòIF¾õ-J‘Èh>Fu5¤þ _ °s'šÏWnü[$Û¶)•Jäóyb±Éd˲PJ!¥ÄétÒØØˆË圊ïR ›lª‡Dì4¶]œ†4Ç63ÖžËè ‘/qz—¶ÏdIUÌWßîâ™Ç¶ãžR”\--TtvùÅ/nϯ:¸ZZðnÞLÕcQyàÎÕ«R.(’É$Éd‚T*E<ž —Ë–ÁÑ4n·ŸÏG  T,‰D(·FPv ³b|ø¤“åºZ¹#LLeƒsöx$Î…+}SÜØñÁ<6‘äz_˜ûÚV"¥ÀQ[K`÷n¢/¿¼¨Ò¾ |ä*÷ïÇ·};Þ-[Ð+Þ,cZÅb‰KWºyóÄY®ßè'›Iáó8iYÝÀŠúj¼^/~¿)%¶m“H$H$ïñ#El{eM`›íH‡eöá÷Ǥ¾Íqß\í9¥74†Ôô÷­/+À¹|‘c§ºÙ²¾ à °kÎU«Èuw/èS…aàÙ°ÚOšªƒq®YƒQUµ`+€m+ò…"éLŽWŽŸá¥×N284ÆD$B>[Î&.7ïtSSUÉ–öfvïØD}C%RJ\NÇMš›Þe· r¸ÝðN"AíHm圣¯Ý&—/b¸|İiÙ\íe,’`E}ey“ÊŽø::Èõô”D„À¨©ÁÝÚJ`×.j>ñ *öìYpù¿Kèóù"¡‘ zÆxåØ9N]è&“Í—o¢ÔpñU»š²-¬RѸÉÈo»yùÍkTø™àï¿w[) ͱäwG„F£„Fc¬[]¿ ¦e‘˹zcî¾Þ˜ÇVˆ©rf8QÊFÙ¶ma›Eú†cô„ÆQöŒ:§Î%óßeàKüÃOññƒ —¯ ðËWNÒÕ=D"•™ªå „¦áôøÑ 'Bj¨·[hSýeÆT¶§–YÄ2‹ºÃsGî@Ì~¤Œ®Éé^´Û[ˆ k eI§Rض‰R ¥†f8ÐtW™H ¢¼Äëv’Îæ±m…¦I ÅÅU*¥”±P·5?!fîåÍàö” xHgòä‹ËßÉ­­Þrð/k*}<¶w ÞˆÃÐHÜö¶Q[ lô©eå,û=—ÝáÁår²{{+Ÿ8°•æUTUxyú`‘hŒõ-<¾w §.ô¾o`k¬«àKŸ~˜º*/Ãá8Å›Ôçß{š-mM||ÿ}Dãiâ©~¯›}ø~j+=ä‹þì"“1FÆ“Ë^“·ƒO~d;_xêA:66ñ•Ïïcû¦•·œðÍ>+GrmNÐÒdù©'ö‡û9°{# U.ê«<<°e5Õn*.V5ø)³ï;Ù­í+yúàvß»™ê ×<+ <üÁ'䙃÷ÍÙ³ÑÒTÍc{·P_鞃MuÇ¥±{{+uUÞ¯-nµBnæƒk+8Ô¹‰œà×G/ñwÿù‹´·ÔÒ74Éú5 ¤³yªƒ>®õ14ÇéÐÙÐÒ@}M€žÐ8¡‘([qèBt]ãêS½ÅÍMU|lÿVâ‰$ÿæ?~›TÎæ±}ÓSºÚ3F,‘&X`cë* Å"•>’é<]½csú1¶¶¯d`h¿×MÐïd4¢±mãj2Ù•>ªƒž:ÐAh8ÌÀh‚“úçøúw8S,™¼~ò:¹lf: 5ÔùðCí ŒD隤cãªòñ F'âü^šê‚J&—¯cZ6[Ö¯`2žfE}%…b Û¶¹x}„öµ ä EºûÇÑ+^êªý ŽNR´5Æ"Išê*Ø´®ÿð§%<§¶º‚3—úùOû";Öó¯>ÕI&›%™.ð_¿õŸy|÷oh"žHS[]Áÿþùq~|ø BHª*¼¬j¨âç¿zƒ\IÇpÈY3O}xüµÿÅ=ÓIm¥M–äñõoþ3g»†ÛeÐÜT͵Þ!Z×4QSé%0žå?»·SÇãrpú ¼nƒ¦†j¶m¨ç­wºÐóÅöÊ€‡/~j‘È$?>|€ƒ{¶ð»éîãëÿkþð“»YÕ$-ðwÿø2û;·PôÒ²ºŸ>É›gûùן߇mY¸]=aÚ×­àÏÿËøÊçåÔ¹.zúÇw™çerLË&›+RUéʺ걓W8üúYš›ªik®aÿCíô‡ÆøÇŸ£±.H•ߘ⻾ó“WI¦³l\׈ǩ!ünÜ.ƒ¾¡ñ锳lIj^ödÛ6éLŽ¿ýîa<.'Íé¥ÞX¤ÂçáÊõA¢‰ Í+ªÑ4‰eÙxÜþæ;¿ä—¿9ËD,Íù+½üø×ï §(Ö{¾ZàÝÑ·/òüK'i¬ ²².€iYèºÆó/½Åù«!¾ûO¿åç/Ÿ!šÈÒ¹½Ë,aYŠ€ÏÅ×ÿçÏxëL7·‹ª€‹ ßMÿÐ…’…>M‘Íðû<z¿×ÅøxÓ´(•,GcMÁžmdóúT<´¬¬¦eu=.§A}µ¥Ê­7BQé<.§†ÃÐÈMrù"–mÓÜT‡¡r)ý& @)$èŒ2™HÓÔÄÐ5 %›5MUø½NÚ[WQô³aí ^zã:(¸Ô5ÀéËÃÔÕÖ`YŠ|¡D*kÎJ\Ô<„•²çi+áhž§í¤Â_N»#Ñ$GÞ¸‚ËãçÏžý5|^"èÅ2‹(oŸ½Æ¥žåb,’¤sÇz2¹}Ó $2•)0ŽqûjZ›ëh¨ 04¡P´Ð4ß禩¡e+≠Åb‰‘p”ÿñ_ñõo¾Àù®a”Re«óéS4‘e$œàÁŽ6ÚškËÛso©}^U>^7™lÛ¶B°zECC×%¶Ub]sš°QJQ,™ u”*o±òy]h³Å¥Bàv:ðyœhš˜‡yÀ禹©†d:ËødD9‘2-ŃÛÖ±vU-ß{þuÎ\êCˆ©¤Å¢‰:Ãá8ƒ£1ö|h#á‰8C£ñr›k<™åâµaÙµ…?ýÜ£”J%N_ê£P2q: >úáí<¹ï~&cINœïáòjªÜÛÁέëÑ ×7ŸýØn¾öå'XÛT1mÕš”Xv9ð>óØŒG ÅçÇD2ƒ®I>¼•ûÚ›giÍ3w)-ÐݦÂïãÆÀ©l¹g@klô/{CĦÊ/?xþg¯ŽP_W͇wµóÖ™.®÷ŽðÝŸ¿Îàx†îñx¿Ç`l|’+ÝÚÆèø$WzÆ04AohŒk}X¶ dZ\ï ÓE`1Ž004A:“ãüÕù¢I,žàÒõ!:w´‹'9w¹—ß¼qžãïôb) —Ó àѹp¥—+½X6äóYzF(-zúG茒ɕ›Ä¶J„'¢t÷#5§!±­"“ñÙLŽK×úÈæJô މSÈç8s¹—T:Ëù[Ã)üƒ#\¸6D8š#žH’Ïç9s±‡á±(§.öâ0t®õ 10’DJÉʆJ6µ6ðƒŽŽæËâÓìLζ̲¶+5¶nhâ¯ÿÝ3üÍ?¼Ä?¿v¡ésd;Û*Mó^ض9½gÌV6rtX)e™©a+@‰RuA¾öå'ÈesüÅÿ¦¥¦Rê²;Q¶5u^!À¶, ¬Ï|þî±6Ê6Ó:‡Â¶Ìi{¥l¤ÐÊ+°¼î§¯_Ù6¶²B›Ö g¯ˆw;…”²Ñ4öuüÛ/btl‚¿øo?Esøæk³Û‚2¹<]=CÄi„¦ÍÓDß»…I›õ^»ÉÓô„ˆ©È>ûIJCãäs9Ô{æ2ÀÌúÍìïßûBJ„tÌIÞr¥MÿÿBÒ§öžÏßÕ%Äœÿ+ACM€ÐÐ(ßûù1„î^X‹˜=†F¥ß žÌ‘/©».Îhš¤ÂëÀ²ŠÄS¥;Y>èáqh”HfËAïÝñ€ÉaLêh4^IEND®B`‚KCemu-0.5.1/images/media-rewind.png0000644000175000017500000000325612417262523017277 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>NIDATHÇÕ—[LiÇ¿é´3‚R¥ªE Š‚¢[,Þš4ƒÊňÁ`$˜@‚!Q_4øà-`LH|h¢‘A„hD."Ø „¢"á"ˆ)!:ÓÎÌ>Gºd÷a÷{›~gf~s¾ÿÿœS„þg [í¡ž‘‘¡žr9“Å0LV|žhoÿxbiЦŒêê¦ ë<­×wžfïQ__ïQ„Ì©© f’Ä3„B<ãÆ àˆŠZ˜ìvr"»óò³aaŠY‚x±}{À G½©®Nob8R‹ÌÕÚêvÍÃÃíÚbP–Õѵµ:Új…_›šÖš%’µf–åãÖ=Z¿~Ý#„ö«ݯ&§r±Ø©üÁƒŸBÀ€A«>>l6ðÙgÏîÉU*÷ä’äR ×uºŽë Tƒýû!3]]||È<(Ä©T°«Õ.%EH†¹·li>ìŒõcÖ¯Ñx…mØàFÓâ4qÚüƒ´²š­Œa:RôúŽ‹ÊÙ¾} µÎN>ÌÄKÅjµÚíöƒ!N§CË,¬ð>„äw‚ƒåwÄbfb¢0lÄÆJñ-[¤¸‹Ë/и7o´q óÁ£¥åƒÇœše9ut4ÔÑîn>Î^k³Ùkƒƒùkp½R šnn^tñÚ¨ñóÛ¨ ‘J¥0hP&ãëh}vee}6ŸQ„lÃ4mŽŽ†Lõô,~dòô韫€òÄ7†ß_Î1®®Î1±Y ÃfI$Àœœã8¹à×õtâ÷ïÓ‰ ³ð1fóR/íOL&''Ò4:ºZÐ… ä¯þÆtp„ÃÃ|gÒÄÇÜ.‚$¾}ƒÌêtÐËÊàÃjk ç çìöÕrüçןw' ×&.ÃIEND®B`‚KCemu-0.5.1/images/window-question.png0000644000175000017500000000623212417262523020103 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk> :IDAThÞÍYyP”Çïùö Ç"GQA ²„ GT0`D|€F¢ñaykŒ¼ÄRK+jž)ë¡ñ6O–ñˆWiCDɪ(*"—âCQd¹YŽ…½¾ïýÑ|Ùìã¤^Wm}Õ³3ÓÝ¿éîé™!ðÑ,qTÎ,ñ{ï©ôT1*={{Z©¹N+ML8|îrŸ¢4Jõ1²¹¹ëFWI×òòÛæéÞ·ÍÛÛÿl½ÈpOê5gc¨—££F£9©ÑDD±#œÈHFÔ3OOìEQ›­°Ç'&jäêCyBÂõâ+î׋ ÿo˜á5{Þ /77\ÁØX¡ÆNp0û¿è˜ñ2Ñ1š5{Lþ¨Ù%Ê0Þ#Ê̌̀lR ÙÊËŠ7ÊË­²´:¼¹^ùÏ7×iº)®auS\/`ÈýûÈ­_Ÿ–?-'+ë/À¿nz¶ðS¡³ðÓÐàE‹(@qÜ~é¶qq‹0½gfnzoè·H› Z¤/RŸE¿HÈßý`CþnšVQªå*Š¢øxô°+®å%Ô^Ëkhv‚ijò‚Ä£Gsô¸«9zW® @WWÇRçïK¼wøE{ï0XgøÂ`îyº*º « sŸ|yç>²‘œ'ôK ]ôKxܼÝã;¿é\Òù @ý $xüÛ#ÃÇ¿±ÿ¾z…€„…¡g½3ÁîÁîööÈÝ¿ÌÌ&ºO.pQOXî¢Ö§’¨'ª$ÅùùÅÏ~-*zö+àK-¹8/ÃXþd}Âò'BÄ&¢Å&ö'ž½€ú’¡¾Ô–SVZº´¬àfTjàÍ(†ÁÜ#—ã|S¦ ùùƒ 72‰îÞÅV±xFî승„ØrǦÙrµÇÕJÕ\KO(º–NÓní/:ÜØ®®ÆoZ~+*ðËãá×Ù¹[zw1003³¸lfÆ0þ·¦oô¿EˆcqȌі+ÍzS+ÍH^y±,y%M«õ÷jF*åîV.qwOÉýuuJnmí 8¹yóü¾ ²òû @¼ò£Sâ•Úý›’6%Äm>m·¹ïJÄÄàJœ:…½iZ—ÜpÛyêp[Cî‘]Ö]#7mÂÖM›„ ÂjaÃ,8¿ÊpÁyBt…Êˤçi/“Ò·&&¥oÀí633½0É0½pêTìÅô@¨ƺ%à„P‚¬,q£›§¸‘¿šOÿåW:éªwuÕ›a^w½ZþºK£!@ÆðõM͹|!5''†HÓ?ú[Ûô¾þ“í¾}ž\ßUž\¯‚I^ºÇå¸e%ä¸ží§µc’Ûµ ]‡ap¹‚‚ÇBw0Œ¦‚þYS¡[/·½Þ;Ýöè•éë•Ñ4¸cǜڅÑsj¹=ÁÛ*âíLšäáï»×ߢô‚õÖèëÔaÕ~§Ãª—G—/+cù@“Ð9&úú*µ2Z¥NKCE¾ý]Úß·Ïùóøû÷±®‹ß–ºì¥KJr¦R@Hóñ†MÍÇuëņˆ÷U¿ýÞWÙäàÐÔr¨-(,L t‘ÈH–wã\è8ú%Q¦ÑZQ&€ ]+hgc{åJ\é øãÕüq©©h¸¯¯WѤÙ^E‹¤kŠI)*rÿßÓ#÷³žÃåÒZBk¾ø¢¯¶ªŠå;¹ri'·ýìC¶Û‡p8œE dD„¨`D„9c™lÎ0Lû9KÜ]\5wÀÔÜSs)ŠÊŸkkœïÌ4ÌÏÏ}ñÄ»/ðß¿÷óöÖÖ í­}gíìÔ±®¼ŧqvSÓú×§àæ)lcí‚mc A½ÂÂÐãy<.Ʀ n6KÆTØ,€µàkûÀ’©ƒƒ)@ôø/£¢ÇRw¨¦µî€ÈÙX*rà¸qÖsÜnr]pû€Š„òöІé˜Üö°c2[47ã÷¸–sc6wqAL|Gøšø¦ñ”s6–cöÚX¼„2x ÆÆèQ&P›ŽŽlGcùˆFcùÀ ïK§Â<áSÛ€±Ïm öv숃ӗ…Kê %%õ #÷ooû—”`èýð­Ð¤Ñ ,ekzö\ ŠÏ ¢øÑÑ–W­%–WFèOÖD!o”l¼Í(¹o«“SwÉ6 dÂGø †^j¯«nèJë èJc“ѦMXìØ†4“¡4g5€¡djêyÊWéy þ`û_$Èdöò8Ÿ‰ ]êwÛB,•JÅÖÀ’L¤Þ¢jVoéÛ*“õmÁ˜\µ ¹ðp<]N›†+OQSJ§Í™R 0ê»1Ԩ﯑"q÷x< ]°©‰mRžV*•§ßÝðÁ·É3r{ ½ÆoPS™Ë§2ŠúLá÷Ÿéë>s ”TÛUªí}[e2ŠQ3eŒº²’mj;!ël;1|í4Yk´³—GÀ{ Ü.]]YÞ嘻™Ë1€@uè¤@õ»§{ìbdËÚ~w†@=ÊË©±Oé±Ož=Ãæ–éñêÒãCòGÄn§lòÂ[¼8Ä+Ò'Ä«´]<;›= :¯sÝç<€íw°T»ºælíj¶žP«QÜ\ê(µÛó(¥Ñ`·¤¤ÊÏˬüœa”áÊŸ•áç@DªC€×@Ï6×@ÓñfÛMÇ;:ÚÛ:}co+†Í +"d¸Vœ%f&x13Êíž•”ÛÑ4&¿›7q·‘ÉúT‚W®`%FHeØËó•aï"úmŽ‚p4€ëE`׋>#< qKùø [ €Uˆív«á“ÇROÕ‡5>Ör^§5Õó’’Øÿ{ÀÛØ”t‘7oZÝÙðЊ¦û;t ”Çä>Ž8gq¬æœ@:7)8 'þ¥,N /-@ã¬)Ô8¿»KÂî¿yyø/{k|òd…ç‹Ð O€‚u9G †!¼ZöüûWˤ¡ÕÒP¶ÒܹóJñE¯+Ž»žV1a›m÷£möéîðéÓ»G2>¸{„aêIíêú!Ü!W›WÜ«6ïåñô·d Æ`b"DK—"Ri•èÕÏU¢¡.;ÓR.; Yw5P²Ž¦Ùyñß½{ûö×àí¤…9A.Oå_®OåÓ´œé¸+g`ÀÄUð6p½<8cDz<@#F 'ñÅ‚&¾xàó³ÄÞK¤R—kR)†ÁÖŽyóp¹V‘¯³œÄOž ‚óçË:Zä„ÄÉÎ\‹“Ñt£o}]£oÿŠÙMp˜n7€¯à§ðìÅÄ… hø¥K8n.††žÞø®'Æ¢i–%¶F$Öœ7H¬a˜–ئm-±¬Ë¯Yƒvë–®ñvj,X¢¢pß>u ½A@Lèñ€BìœZíH äíñ [ê̶ÜYšÑtg)ÃÔÎz³´v!D^hÚ+~’³W̬¢ë¾îîKl2}¸1óöà Ã^Á¡56âqyî\¼B“HjÏŸÆÞ~ì\»/A7lÀœ!éß5üXÿ.M;8~pÔÁ‘¢Þ_8jëû D~ƌȀ7š‹7ºw>õ ÕHõ €¶Ý²×m»jV¨9PnñŸúr šF×fO“Šî¬²oŸF¦Þ¯‘íÜyãEò¼/ZZkǰ=Žâ£¨©)^‡/Z„GDƼO÷Ñš RÃà ç磧%$¨ëT+Ôu'OfT¥|ŸQž3 †ýu¸/ᥨ¹9Þ úù¡!ø¯‘ÑÛ½ÛÛ¸²2|6¿wo—_¿þ³ôû/¸q(WÏ¡ëIEND®B`‚KCemu-0.5.1/images/kcemu-icon.png0000644000175000017500000000220412417262523016754 0ustar glaubitzglaubitz‰PNG  IHDR00Wù‡sRGB®ÎébKGDÿÿÿ ½§“,IDAThÞí˜OleÀoÚ†Ú‚D ÚÚ²MÀ‹‰1†D z@š`%Ä5Õ‹&F.Do<˜žÈ€ TsG-в¼ŠˆŸ‰ª*AïƒpÊy9¡tQibµÑJ”ß0÷Àz+oš&©Tjé*•Â4ÍÊÚhÜœRQx¸‹<°=‡ +2¨Fùj ˆÄ;а¨£qó2h¼ê×âD ’«~C¥PÅóÊz‘UQ.¿ÕlÑj •JaY"²t,ËòôéšA5sKÔy¥æ)5O¡Í¸J°,«²•2î^°5PÜæ‚Zô†¯•ö“ͨfÞ_¼ZÕ@ØRïÞÜ_3b/õ«eÀº~VY.,lÊŒƒ»n¶¢®rÕâÆ=A¼eóëtAFž;\×!hl~Ú©ë4¶®sÂ^þ2* _4˜Ìm—F–fåţʻgKÆOß7>h /8Qö?çß³ÙÛö£÷mž}ÊŸÑoŸk ·[ùð'zßœ†?3ÈN‰Gy€…¼pù;ƒ›Ó¥g£Ù•wG…ÉœðÍ÷^±éEÚþ¿òwïÁ·„¾/W~4pøô¼Íá>Å0Š£\úV¾Ø€m—ðDzBS“ryئi‘ëЃьðåPñïxó\ ËÜ6–:v*m÷ë12^0®¯;¦¿¦…# åÉ„—ðþ<¤3ÂÖ¥c§Ë‹¡§“%åF® ý½%úííàØÐý¸ú"PÎûE­Û”½»cÔ@þL\‡·N+C ~øÉŸi¯ 84.Rçó0•ƒS'JJÌÜ…?o ¯”ò63ÿþ'ôº¼™“98VÞ€«ãBO—"ã"ËL‚ãG)¿ßðRîhWN½ìpödI±ñ ÁQ¡ÿ z<pyöê5¡­UÙ³Ë/+Q&ó 0yuk¼.”Î=±>ÿÄ^±8ÓÙB‡q{vd\xx‡²ë¯7{»üé³o©1d Žé;s”ÈN Í[`n>Z/Ë ûak o»óÚq u²¼›d§„fç¼<ïÍÂ×W ¡§+fþúG89èݶM¹ô…íZˆ`ì7áùgJBææ 5ñÒÑÒ³©Ì/½]edͯ –ï'Ç_phÞ3¯wØýhq’õ¾=Þÿ7nÁì}!áÊÿtFP_þ¢ìÔH²Ú[•ÇÏ„O r{4QßÃÜìWõ=Q7æ®oþzó4i¢Ò hIEND®B`‚KCemu-0.5.1/images/window-video.png0000644000175000017500000000327312417262523017344 0ustar glaubitzglaubitz‰PNG  IHDR szzôbKGDùC» pHYsHHFÉk> vpAg ‡úœäIDATXÃå—[leÇÿç›mw»—n/´R–b[nR ^¢BM(Òm½P1$J0¾¨ñÍM|ÐD£>ë«&˜HT.®$0A"$¥°Õb¡”^l™n§{›ÙùŽtk·¥vꋞ·™ïüÏù}ç|ß|ßÿw£Åºöwù¬ñ€N"ªgæ8òù}_ùòH~™èØÛñ,3Gˆ¨”™{|‹ÆF—б·£…ˆŽI)kå–I›Ðd&DÔKD'š«iïjßLDÚý¹#€È ‘Gü¤ªª§íù6±ºa5€%ãzÏuœ?s„OtíÖ óÅÎ-RÊsBËÎjÚØ¤(Š‚‘¡\8wzB‡Çëù z(úáü|Ê܇ÖH«[u«§E©Û³X^ù7)VÔ®@°<ˆßBVވ߈¶FZ}ŠK9CDÕ{^Ú£4¬oP\.„" ±¡y†‡1=5ݺù±Íçã=ñ›EšûàñzÞ`ææ–]-T]S}ßž­}h-6<¼Ì| ½«ý©’Ò’w¬Ý޾ݨ]U+æû«n‘½¸KÜðÍüœ³Ø÷ê>—eY‡*«+ƒÛwo§Å—'ð@Ýè½Ü+Ôx9 j;";*Ó¨nýñ~ïã-÷^é½¼ ©dªSJÙ°åÉ-⟒@‰§Í6 fîàݶc›)ͺMëàøàýû¶€™÷ !¸¾¡N¬q}#0³ˆÃ†Ë–òŠÀúæõÐzx÷ó»g“„â™Uõ«Hu«Žªkª¡ª*‡*C𑦾©ÌŒš•5¯´=×Ö(¥¬ª]Uë(fæ~0LédºÂ©¤²ªŠ¢@ÑQ Ñ UŽc¡àoš&eRGþB¨®©F*™j*b-ʈ‚€é©iÇš@(€l&ëóí7•Yf€Ûí^ÀÌÞ†išŽ5þ€RJø} f@TÕÙ,XaÁ.À¥ºŠKñÏ AŽ€ {r–ìzf’Ììž`æ$X¦µ,€ÂÌnݹfÎέ€¾ÜRþk㞆ˆ¦ÀBˆfFRO"T¸3xƒƒ˜œ˜„·áõyQW_‡Æu(õ–’z@ñîÑÆ5Œ JƒˆP^QŽðš0¼>ï=ÍtªªÚ'ŸÐf˜ù$´ÂkÂøåü/*¾ÄdRô_ëÇ­þ[غc+*ª* kp¹\ðûý°L ¿þü+ƆNJt£C£è»Ú‡M[6¡ic&ïNÂãõhx¶þ€?NDɉ± įÆ$Ÿk–iáâ‘3r½3*«VTeàÒ…K ’Œ%£÷r/ú¯÷cjr e¾²k…1G¾<’gæØàƒòFüÆ’}Ì9ôõô!J‹L:“ÇøÈø’º+¯€™aÆá"€™6·,KdÒÎ>«·oÞ.ô4¸ØÌç[6“…‚Zâë%%%LjHwò]gfŒŽ3õ1³klx,»”FJ #k Pø-é Ž{< à3Ó4aÆ?K%S°,‹¼`pèæ3ó’f†´åÛsßäÌü)iÓSÓ°mû¾r¹Ò©4œ;õÝ©ï˜ùC˲¼†a,ö¯€\.‡l&‹2_ÙèჇ»ˆEc:3ï—RÊ„–@>_Ó0 è ‰HWå5|úûÓ‰(¦'t—mÛr~rÓ4¡'t(Šbg3Ù§ç/¸ÊÄ¢±ˆè€mÛ–6¡q>Ÿ‡âR`š&¦&§ ¥Ô™yg÷ÑîÂõšsFn?€+NÛ¶s^Ÿ·HCDym'˜ŸoÑÓ§½«½Iñ1€ç˜ÙKD“Ìü€bÑØÝùþ­‘V_©§ôo(-¼WUµÇ4ÍWNºç~yœb×3»ªÎvŸ]z£ˆ¼ 2óN!Dˆ™/Å¢±«Ntÿ™ý9—T %tEXtdate:create2009-10-25T18:54:24+01:005ûd%tEXtdate:modify2009-10-25T18:54:24+01:00DXCØIEND®B`‚KCemu-0.5.1/images/logo-flac.png0000644000175000017500000001700012417262523016565 0ustar glaubitzglaubitz‰PNG  IHDR@=AbKGDÿÿÿ ½§“ pHYs  šœ IDATxÚí]yTÓWö¿Ù²ö!,²È"Æ`dPÄ¥U©¶*nµµ£ŽNíTZFÆvÆ.N;–R[+VGmÁe9 ¡* BØ KXI @Èúû£j!¸tô7Üsrä¼¼÷¾÷}ß'ïÝûy÷>æx4˜!PhS@žhËG†µ0#ÿ‚6C ÐN¦Ué—¿™ò¼)Ëd2666¸ððpðóó …B¡P»iÓ&åÌT>LaZlV€žå¨T*bþüùÄÞÞÞ¸Õ«WûFEEYÕÖÖn¢Óé`eeX,H$R!“É\Èãñ4ÓÆÝݧRBEÅ=¹PØþ¿ ‚çQ)*•Š˜7/Œð>“°%22Èd2øøøÔd{xxÌåñxEceqqq˜Ù³gÙl6DDDÀºuëþèååE ‹ÝÝÝAb±˜]RrZZZPBaûÿöÖH0AŸ@ct:ýÏÎÿ–>...Äýû÷o»yó¦Î‘Ë庛7oFê÷‘™™ùrqq±®¹¹Y§R©~³í÷߯ãp8ÈÿùíàyRÆÁÁÁrùòåyï¾û®Ÿ™™™QmˆD"Ô××±²˜˜˜™~‚P"‘0„B|~oñòò®Zµ*ïÃ?4zË?ŽÃá`g¦óñWM%‘’€Ä›è—߆ΖßÕx饗6½ÿþû~x<~Úíe2Ûßß?ËåÞ™™ÒÇP§’U U”‹'kdŽGãmh{l§¢ò‘aÅã(A£Ñl–,Y’:Ý`Lœ…BÅÀ V4j¾RÕ;jàj¿y|žÀ öߪÖÜ™­Uë‡þàîã(±`Á‚·¢¢¢{X,BBBüf¦ó1A@$¸hT0gO0©1HÕª`®FóÄ p8dttô ÔÚ! ƒéää4K(6ÍLë æìÙ³áéééelýþþ~J%Í÷ï7(•W¯––pwwÇ …™Y}Ñ@pôèÑ5ùùùSÖÓétPRR2rùòå¤óçÏœ Û»g¦ïÿ ‚ƒƒÝ©×ÛÛ ))Ç}ÿý™#3Óö”A0 :èA"¡ 1üf A‚Æ@j†”£ÓV ,,̨z]]]­W®džüo¾,*•jâååÁÁÁàãã¶¶¶P^^ÍÍÍ 7nÜèkkk«{ƺý6lØàïïÿ³['CII äää@FFF¯H$j˜:•æ:ް¨màŸ×ƒ¤w²vµ·)f‹ÚÑüLÝãp ƺ…@.•J÷-`Ë–-ñññ^mmmo†……‘¤Riˆ¥¥%P( ‰ãõÜÜÜ€N§ƒ——lß¾½§µµ•O ¾<|øPMqñú§¡ “É$ÆÇÇÙÛÛ¯ñóó V*•A¶¶¶ãç*¦¦¦®®®°~ýú®ºº:þâÓOÔ••U<h –þ°óšp†ò@Ò»6x˜7n”Ipå:ºJØÕ5zÝV dÓ ´{§qƒ)//¿@q2¦MDD„“N§ãN ‰ ¢¢bwDDïY`ýúõBCC7âp¸Ië‘Éd “É`mm `ôÒðððK4Ú—Ý™™™çΜù÷× µ:89Ñ ¯¿¾yYXؼýžžžAt:Ä#ëb0°°° ZPPM&“½äââÜyûö³§N}w¼¢¢Ê s瘢??j¢kbô?;Z…Gýò[8ÝÜ9¦Ëƒ!çþÖñ«PúŸ#]BÇ¡¡¡aÝS©TªËÏÏç<ˆ|Ù˜öS …‡‡[t?©žCCCº³gÏvnß¾=hºˆ‹‹óÉÉÉù®£CôÄïkxxX—Ÿ³ãÈ‘#±L&sÜ'Gãpj°°Pƒã¯m€‰eJp84àpH˜åªßéó,k% …"¼STTÎÔÔÔúIû111µk×Ò\\\2µZmÌ7ß|sϘvGŽ™r),,Ì ~rž@ ‡a;k–ëp8Ü{ÒÒÒ´¿»wàïïïÁ`^«yõêÕã†ß“ €‘¨=K«UÏ:qâ¤|²úéééa—]\\,Ÿö¸ÇÿáÁƒû@û»Ÿ¥ëtºWÈã?%%e»©©éSí36v¹µ««ûgT*õ7)ÒÄÄĹÁÁÁWž*** ½½}Iaa¡ àwŸÐÐÐÆ µyê>9 gëþýûy\êëë™éèèhñ,Æ$—ËáêÕ+ïœ>}²y\§¡a,´µ!€_9˜ àWêÙÖ†„¡a,hÐZ÷š@w‡nâ#&U ((p=F£¼( X¼xñ3éwΜ9püøñð±~ùÆÑË–-{Þ¼yæÏjL§Nª¿v-ë˜~Hº·¨)-ѸŽÊ \D1€.þ`*W}±·Ý5JÕÜ¿Op% L ÑT ذáu3‡zk-^áp8 Õj¡­­ Z[[%W ¾þgןF£fc«Ñh€1ö‰„={öXœ88L¡P&=§P(àèèT*éææ–hbbbÔsJKK{/\¸{ôèçw'æˆPØžM§Ó U*UJ}}ý#ßõs™wð¼I\\5 àµE‹Y—••m‹ƒD¡m³f¹¦}üñÇ­YYY—ÒÒÒF£££Õ¯¼òŠÑýoݺåææfThUSS|÷Ýwo§¦¦Å•––6™Ôc™™âÉ\ÄàÅ›7'¼·lÙò@*•JÆápO=-Õju‹ÅR—––ÊsssNœ;÷ï#ííSg4uuuAYYddd„&%%MÙF«ÕBMMÍ7çÏŸ¿ðTÝÖ™©þµP©T“]»vX¿~ýWWWÌdä2™Œ^¸p!5,,ìO11ËÖ××[±½\þ³75wîÜÅÆlpáÂ…l©Tªzª ࡾ ·¸ê _ Á-.q‚…ŽÙÔX ˆÚ1`ý+:Cú€Éd⣣—ÜØ·o_øTÆÝDÁãñ0]BÌØúJ¥²¦²²ò?OÀ’Èj@ƒAé Œ@-ÀÜÌ!µFŸ'ÈКQÒ(´¶0T¼ÁB¢ùÿ‚¨¨¨Ãï½w0\?V`:‚@ `ºA³c!SIMMv:‰·FƒÐ!QHHD£Zú%å¨!8‚F먰ç¡+€@èÎᇰòÚjåÖÁ~Zàh÷p½á8 MÓ+¯Èɺü"€Ã™¿l×®]{Ó33³"§žN›1‚ꩃÀ‘.E._¡|ÿÕ ·™Ô¯°ÝW®Á‘÷õ˜À¸_ßÔˆ„òJB9tmÞ¦x?xŽ(³&Cû–°mßþ!¦^ùIž{„„„`þøÇ½ïÙÛÛU_«Õ‚F£NH$P(L‡é[²dI±T*Ö¯šJ¥>̘?˶mÛˆ¡¡¡SÆèt:¸ÿ¾¢ªªêôÙ³g% ƒ§§ç¦¸¸8w33³iÊiµÆeÆOLËŸÁS–¶¶¶wh4Ú”¨¨¨hºzõjdRRÒ= àHqqñ‰‰‰‰ŽŽŽS½ÄÂÂBàp8SêÈ`0hááá¾EEEü§9väÌô6SÖéééÑ\¼xñúЗ'NüõúõëGŠ©S2ËËËÇÿÎÏÏ1r;°Œˆˆxëi}Àb±PÕÕÕ‘Føé5‡¾6Y”””B‘H4¥Á§Ÿ=uìØ±OÄâ©@ðx<¬^½z%›ÍžûT·ƒ~)Aǯˆr².Oµt/€r²Èüyg'ú¥ØPÞù -’ˆ ö2À 4Ô›ôädaõ9w Ààs 2™Œ‹ÅSÕ‰¦>JàóùÙ³fͪ£d“’’t6lŒòÑËËËrÛ¶m©›6m Ù´i“ÂÈþ‰ HJJÒ<—Àår“Œ‰”ýì³ÏÆö9Ýhc‡ƒÉÈÈNUŸÏç×1™ÌI©½¸¸¸€žžž¾©úÊÏÏÿ»~»óçÏhlÔ°B¡Ð¥§§ßž7ջزe³}aaáÕþóŸûõ#Œ Vª=i>Ûô$Õí!;Ö_#“ Eoîð²€OÇ—°´t}RÛ«Ö‘G‡ÊSkšæÚ&[ù›é–§ÖœxžW.—«ÊËËû LVÏÖÖÖcÆ ky<Þw¿U' àm‰4edg˜*‘––ö6›ý®1­8âââ"­­­™gΜùº¯¯ïÔÍ›7ER©TàäD'ÆÅ­¢©Õš7W®\±%,,Œlnn¾‹Åfîܹ³öW ˜á‘wÌkȇæfÓ …ð62I€×ÆÊQ½( Tá/å‡~ éd`R¤@*4áœ1K‘¡H¦“˜ Ï5Æ&%0pòÁ¢££?€ÞýëèM¡°}hì;'':ñïÿd!›ÍŽ%¦Ž¨W© éVV[[{ÍÖÖÖ¨ —Ðh4°Ùlk‹•X^^žxðàÁøår<ç0<<2ßß߯BÕ½½½A$]f±XQ÷îÝθˆS§NM OOO3‰tÅÃãÏç—8p -11qãœ9ÁsYìÇ QOKKÓàñød—c"“Æ„H$Âüùó¦4l-Zä^[[û7__ß×ÓÒÒ43 ˜ ·oßNïîî>`c3u€±ƒƒ888°cbbذ/99yÚÏúUYvvæ=W×YßîÚõö,öéßÃ…D"áå—_~µªª¢~¦ùg\Ä R“ý»%¼N´ „ÂvuAAáÞ´´´N÷Lžkggûö½óκuëœg@0AJKK\îÍ¿Ëd²ÿªW¯^¼páÂÒÌÌÌîgOOÏY,+7<< €V (u&-êbááÕmª~]•nŠÇʵ2-(”ý0¨¹¯)Ö ()PŠÔ<]•N­»ÿ¢ÁÉÉåXaa;&féŠ'É’Òjµð$ísrrJ‘Hä2•Ju566Öæiä!N”èèhgggdQQÑ O01+944Ø/##£]£ÑêêêšvïÞýnTTÔ7;vìðèëë{“Ã္¹¹©@ Ÿ={v)îÉÎεZ}*-íDU^· //ïÖ­[·ÚV¯^B&“ûÔÔÔ@QQˆÅâ®òòòißëSPPÔPPP´÷Ö­"“¨¨(_¹|`¯¯¿ëœ9sÀÙÙîÝ+ Q˜yyyiµZŸÏ‡ëׯƒ££ã±K—.5äååýæaëc…¦Ì'©È!Cªdòîû'…´ 4Giª^5ôœê‹€.‹ÕfwðN¾lhÙÆê»®ñŒ j$Å ²¨lcõæÿ/^•J5qqqñ¤P(\.Wö¼èåããéÅH<¨•J¥ÃÓi;CMS¤Répyyù½çM¯êêÚÇ@œá fÐrºXsVÑüð¡¶@ïùþ!8;V®ÖÀ@§¼ƒGK5|õYm·ÁBÒ ª®kïjõSgnŸ‘Éeîܹ¨äääÆÓ§OW=I?û[rºŸŸ·ïtÛeee!ÿñÔþžcÎÊÊJHHHØïçç½sÏžÝOL{õÕW#<˜:í•ÀÁÍejÚdÆzx7ø'i/ÿÇúàˆ†Øë3†£}Jh;ßµzí–Y]6a™®Èß}·Â{¹[–u„¹~Fîù»ïþù·ðööfÆÆÆ:]¼x1iûöís.\èÓÐÐ0’——÷ŸÈÈȵ >ùä“×´råÊ…[·nuúá‡zÓÒÒ®ê÷<‡ž››‡‹‹s\¿~ýKõõõžžž! m’““çÓh48pà@mSSÓíÇo Ä|ðÁ•ÑÑÑÁ <<|ÎÁƒ}JKK‰‰‰g“’’ˆk$ üå/á2™LÉš5kV`±X8}út—ËO:Œ‹‹£¯]»6…B@ ¸|ùòeêÛo¿í°yóæ‚/¿üò•ÒÒÒL瘘˜8×ÃÃ#ÒÃã9??ÛÞ.š°mÛ¶ 5kÖøù‹^+W®¼^[[[Çd2}9öæ½{÷íìôòòrß½{·‹µµ5žÉd¾mffVB¡FœèÎ,ëºL&«ôóó;¼nÝší;vì$k4šwÔjõ ‰Db@Òsc†„„\ëëëSÿøcÆ.d29ùƒ>Ø·qãF @ àñxoor||<ÆÑÑ‘@&“ÝMM©Ø—_^óHêÌÃÃ, _Åb±û—,‰¦h4š:<oA ü¼½½ ûúúšˆD¢jÖ¬YîçÎ ÊÉÉAìß¿JB >ýýý® ÄžžžGGG,KOOO’Édõ ÅÔÊÊŠ†Ãa ŽO¥RÙh4š9–––d$ cÇÁ P(øùùS†‡‡ct:ÝaFH$Ðh4ÄÇÇ#†††ð))) 66´o-Z4ÎL­Y³E£ÑºSRRtww3X÷„ÝŸÿüç}………¦¦¦«ÂR>¿òTAAÁ±öövppp433óP*• ‘H¤ry}}}â¹sçn‰D¢ÅvvvŸ>·ÞF£±X,ÿ…2‰ôƒX,þǃ®®.P©TÝ===k›››ïߺuë‘}ŒŽŽN÷¦Rͼ;::ÀÜÜÜùÒ¥K-\.·”Íf³­¬¬Üù|~YYYÙ¿Ølö‘H„¨©©Q,»®¢¢B››  Æ+;;ûzcccËüùó£-,,¼…Bá×UUUÜ… ±õŸ›Ànhh(¨ªªjÕ#œVïÙ³'Z­V“$ XXXzãñxoý¦––°´´D‹Åâ?555mÐh­©©4MÞ¶m›••Õmmm‹är¹™››Ûv{{;†©©iIGGP(ÔèþþþX*• (ªQ¥Rõ§§ÿøcEEù@KK3 PˆGG†Ÿ_y|```ÿs€\îÏÿߟ_9–È}ôQ®D"ñ¡Óémii9yàÀ¾âââ''§ Á•+W ˜¿ÂÂBèíí…ï¾û•Uòƒ"ÞÍÌÌl´±±ñpu5ïèÑ£wrsskÕVVV{(Êj,«åró¡¡¡a¤µµu3‰Ì˜=ÛcðäÉoª*+Ë« ÆlmmÍÍÍÍ8N^äæææ}Nÿù7nܸaii9ØÐÐpH$¦{xx\Ìʺf&ðA,Ç£P¨s%%w_®ªâAoo/”––ªU˵ÅÅE_íÞ½ûã¾>qAccãq= µvttüÍÒÒ2_¥R5I$’OkjÉkÖ¼²«««›ríÚµozzzÞR«U4''Çm?ýT \.·òÊ•+—bc—ïD"‘ †ãÁ³gÏlbB tqq}õ‹/¾à?WŒ¡“¨Ts"W5äâÂÀR(æ:§àp88@q¹Üa&“‰$‰& F1‘ÿöóó#´¶¶ŽJ¥R-‡Ã1‘ËåÚ²²2€››› …BBöõõ …í:‡ƒQ(8…B!§R© •öy¼ª!&“‰ D7ÊårUT*Á`0ˆA{÷îÝa€   <‰DBp¹Ü‘ ã@ÙÚÒ V©T*‘<OÁápÐýýýx…b”JÅPØ® %Êd„B1¢”H€F£aëêêä¿Ü’Fjm}0*¶ 2™L$7Q( §vr¢#mlìLzzz5ÍÍÍ#¿0† ƒR«Õj FA¥RÑžžžøþþ^U}}ã(€»»;ƒÁ D"ÑT*?3AàÈX¤‰%!ÙÄüá-ÞC½#riëàGö,k*Œ/êQ H[Ï€œbOÚ%ð©¢{=m¦tÒ[$ý@»{¢{=gœá™‘çXþ¾A!)ŽõîIEND®B`‚KCemu-0.5.1/images/logo-vorbisdotcom.png0000644000175000017500000001440712417262523020402 0ustar glaubitzglaubitz‰PNG  IHDRN@´ AmbKGDÿÿÿ ½§“ pHYs  šœ§IDATxÚíœyt]Õ•æw¾oô4=ͲlyŠ'l0Ó$p NR¤2uŠÊÜÕ馫ÓU«ÒéJ‡J§30$M ‰S p b0“™<Ï“lÉÖ¬§'½ùާÿ°’3a“ªó‡´Ö]÷œwÞw÷ÙûÛßÞïJœcãîõ·uu÷îë>1`üíM¸']WýÙD,2v®íS9Ç@[¾çÀч~ô‹Ç«‡GÆÍ.1MýèOx×–îô ­z~Ëž;{r˼H8ªètuŸ`×þCÞ¥W¾ë¹m›7æþ¸é ­|~ËžÛž}iïU ¢„"H†¬ê¸¶=7`jóߺúŠ·mÞh+À©çh³ví;ò“§¶êH-^LÓÂvjê‚H€ã2Cy2LJÖ4TÇ~ \z®'½¡ =ülúرîƒì>Z~Õ…¤j#(ª‚üª] !ð=c{"¥Æ WÏjº§#ù›sÀ>’^e^Å•xô÷<70Ðй¨U‘ñ%•ŠÁ–3Oö$ÈK^ÒPsëÒÖºQ]ù7ÜØKwÔiñÖ¯+¡Ô ®PÙ{l¡ì/ÐácËAFõŒ9ô›äÕ|é”ö}ðË>³Â1šbñÛu”ÿ¼ª-•û³.¿ûgAYÿPKÍû -Þ’‚ð,¬=·!|Í/@qÀ‚REŸ1—sû"«ÉiµSÖ²AŒ—Ô×ß½²©êÃÖÀÙû¾{¿UÌ¿;¼ì‹ìܹ‹'žx‚~èCÄôÎþÿ„®@v2'@–ä„1çï§'¸|r=פEÔþÄŠNã•kÆK·ì+^ºol”‘JÏêúzæÆ¢ŸíŒw¿©¢ª°²&ÃOÿÔ?úÏרÉ5 Éäs9Šù<Â÷AR4R `—a|IS™UÙJÍ`¿©þC—àIU‘Ø90¬ýׯÿÄ>ú^6 døyב¤*¹OøÄ4+$$ü yÓYœÈî¼MúûOŠ@ÛnAëøo(‘f$ð]¬ž_"|54a8Âó½ ¾7e‰.c;bïd@o#'ÅÉø!ºF¨oKL§¤>ýãÿcé¼ï¿)x\_ÑúË{Ž ¨9Çå¥Ý?œ³0XÁTd4µ»ëÛ¨õk‘”0ÂÀï»=aœz’ŠÑjÈöO€;9dÖZ‡vÐ/¥é2S ´`5E–[¢cjÍØ;'VuèMC€æŠwVÜbH“|6H+)¸6‰¨š‡îîÂëëBÈ𲘠Úüæb*z E%‰drjŠ–Ò6æ{;Qqi=4•{ äS–#<™ø(CÆ)à`ª:ÕІ«›«7½i€+¸>å 逨eCårÌr™·÷#«²ZJ3ÎÝï/`£y1vŒ%’D®âÐVœ!Ï—d,%Lo`ÁküŒ&‡·ÌÇp¶\|6Íï_[Ùr€ÇŸ:L߸‡fDy ¼†~'ñ[ç øižqW“U)šil-NÉñ¹fìv:ü3sC¹–a£mʵrYâúÖúÁå©Èî³ÜOòï^ÿpëÁí»7ß÷£‡4½/Ëp¦ŒÙPMU<ÆSùY,Õ’+Ó­T„yÖ½ˆa'îQ¼ñü®ý Ý-ÈL?Ò–àשÏ5§\ðžÇÙúØ¿öŸÿ¶5lÛ¼±xÎÕI=íg?{àÉ@Mª­¡Žxs ¶$¨ éq›©V³Ó7",–VeÁ`¸2>I1F”ñ?«"…Ù¹’cáåÓѸÅîÝ—t´Õï#_øÊgîºõ–cç,pw¯øÂ¶îùÎÏíš•Œ¥d%¡vn#U “q[BöÊÄŒbJÄĵ1 C4Žô‚Sž¸„JVMÓEšÞ1 ˑу! U–Ô;ؽ|æc¤kȘ=>|/„÷‘/|åÓwÝzˉsŽÇݽþáåÏoÝsç³/î[ŠÐP•Éç01ëS¡’q9Ëu5/°°6ËìšBVðÂU˜ííÄçt j)ÛdzG9vĦ2äy¤GwŽH§jA3é¹ $C*ʤ ä Ïhª†ëIìÙß}ÅŠ%s~ \ö†Z܆ýÑþb)²'›‘«‡3ûîþé¯B!TðÁs=ð¼?r7’,#É’$Mê |ï€_s¯"#:Ö&b )<×aôà ì¾Á )å^'A®o]6÷IÓÔ¯»ëÖ[Æþ¤ÀmØ?ë/•–#‹U<÷}G 9!pŸ|ÖbôÄ™£ýä»û)eóà8oœÐ¨iè‘f4€ áËrt¶?ü‘uW}cIcj{4Íœuà6Ë|ø‰Þ¾ùaSùâˆ[BÕ¦ú÷“~ÞõìãÀÓ{Ûshº¥œí!K„ëIµ×S5+M¢>N8¢Q©øre(Y¬lkDUŒï®noØ•Ž˜·ŸQà¼òX§[èÿ7?@×ð‡…|c®p"äÂXj„²§¢D3,á è=<ÌŽû7cdþdài‰©y-´-o'YCצîMLþq\‰Æ’Dueíì†ÀÎÚ™nå1$}©k¦T.0´ý6ÙŸãÉ®ÀE#£6°#zýÁù¸ÒÔçØÝYŽl9Bv÷a„uæ TÐ+Ñ‘Q¨™£=íã$±¤05EY‰v¾Uý‹ªÓß»bnÝ'_7pÂʆJ»îj’«Wì3ÎÇñ@–%d{ÛÍ(þÈôkOÔäZ;/ÅßCOp)¶lž\V¨Tvþæ}ÏnE¸îkÁD0˜¸W f §=‘‚«—™ÜôÉH¶âZYœ}wº$!«8h è³Ùù ¿[LC}T_qš”Èвúêo%ƒú­éXÀýã€Ël{ÑÚòåꪻ(8*wÞy'‹-â²K߆Óu¦x*E8 Åñ“ŽÎÆ`Wøí¼˜XǨÞ8eé‘Q›Í·=ˆ3–›tÚŒdœPK-UÍµè†Æèà½OoÇÉþî#)û,Mçø‡¿û,U-ËÈd2˜¦IXØ{¿€am‡‘ã¢(A¯>‡—â×s,¸Œ’š˜âbGЪbIUÕºu±_¼rýå‘|ý@Ùj:4>Ž„OÌ0X“®J‡ŒcSxœØûUâÀßWIaáQ”$‰D‚P(„$$y“šMj[áø~p-@BÇâ¼üC„Ý [â×ÒovRQ¢$ã:Áù³ñ‰·ÔRÓÙHMc’€!!MúáÚôI¿;V©²ÏŠô7]!“ªo!;6Æ÷… ò®k¯E2Û!ÐÁ0 ›¨c Î!ªGne_ð^Š¿‡a£ _šøúš&q¬˜£';¡ØlÏ>ð¯ýÃòŽÑ‘+UIzŸãÛHø8žLÉóo>u2Éù£«É>õ]äîN) bç=‚µË9oÅù477ãe"†ˆªMú*MY†ñÌÄÿÉã—rÓXÞCÌ@u‹}•¢¬Jžß@ë¢RU4U:ùÌǧgG7™ýÝSø×L£#™åS—£³Ý@­½”0–eÓÔÔD]}=Nï¨ê0(A(ç'²$åì{ŸBü¿hIADê†Ñþ©¾Srj5­‰æùìÑ—0lÌBC% +¸Â=™‰œò©2q£jÓ_ÏkY ýÇgw‰¦ ‡ï;DìýÜþÕÊ8ð}I1Ax JHòÔÕ²^˜ƒûÇÈp$1µŽ>QÅg ÿˆ†=…xhôé³ùqã7OÛòØõÔ~ºóòi35]‡Ÿª¢%<Ê?œÿ4ó[%$<[ÅöæbT“;‚doA3óH¯V cÐ{<ç4*K²¤"…×ê))I6Ô}~J™0“Ï™½)2V¨†,ã !É ªóùîx€ÏÄî%®‘(Løù×øŸQ?ÁƒÞõôv4Ÿ´Ï.²røn¼cÐÑÀyS@ŽuÒý̮ӂ&%̺fsÛc8¾ÄÏ­%¬³Å<£Ew °J»1Ôé™·‡B·2‡ƒÁ%ŒIU8 +TÛ‡Y[º—¤È`Ц(#Ô{Ýì \<ÔûóÉͯ€ Þ8»ùþ_ÏPt+šT™?®¶qþm\ý ayfîU6zWÒ/' ¯@µFX1ú/\l=ŠŒ7£èx(táÔuJ.û}J¥ÓWÉJ%Šý2 “`DGÒêøMeQ¹D£6‚ÄÌôÅG¦Ûoc£rƒ5u')Z¤¥ü8!QœqαÀ²)ŒÀPˆ‘³µSNÁy©Èu9Ûs0WúÖ†Þáù‚qvÙ+©-rUøù7Õã¦)–’î^Ý+ÐYØÄë9‚b„à@øBs§JìCE¼ý¿=ŒZ}›¶1Ú5@¬­–æÅ­Xú<)•yoø1âÊt0â§xÑ»aQsòáÅnV¯gYeÓUèQµžã¡ÅS¨J@5™Ÿˆÿ¨!¬L“•Ö^`yöåE§‚" ’¦Âèf®Þ9Â¥™Á©€†¨ô†Ðpfí°¹‚’ï›~ìßOðÇÆ)ç(eqTƒË9&-âñÒ(×G6Íh9£n»8N½yâ‹:V”¥ÝÙ‡>Ã>tvE.g\ÚnQŒPñäÛ;cÁò4à’†ÆÁñ £–EH…qOÐĦƒ@¹@b°›Dùò+°Å„ï8”¯"[ÑÐÃɘ©H í]À˜–~}¹{2Aúš‹¨O¨†9MʧÅ;HÍè“H΄¡ÈÂ#&f&×.{C—²'òŽ“ôä•Vª mf!3ih}¨#ýÅ‘Jõçò®GZÔì‡^ÀŠ£ª!œ2¸.VnŒ|Ù£¢¥Œ¾…£á•-Å’t̰ÿ‘gp %ÔÚj–vÐÜ™&⛨>(òkŸÃïŸü‹|žüÀÉx=c9›>føqU'3H¹ ¡LÏÕ \I§ ÇØ¥ÌçÐX˜þ$B¤Ra"a­‰žð2,98ísóŽÃp¹ò‡ËJÂÊ~šÜkp&º©žÛ3XÿÍÌ’£Ôw6K™È’L©àн½‹±GáU9©™Õ@mg5u1‚Y–q,›C[sü±Í@MNA G@×0ì«’{YÑ8B[ƒiH(N <áºTä v´lb>½ñ• :±8ºå[ï{ 2W}pݳuË:4o¥åÙT<Y:åáÐJ’0B«®k©}îu)ÀÙñüù¿~âùïÞ½þ×Ëzûs¨‘èDè±íiý¯UlÕÚj¢õ t]£ÍSìDT*¯_N’=fSq'iˆÌ¨R‹™N«‹ŠQT™üh‘¾}]æ—,{hVkÇ/_ûöÀ¨å|é™Á Šì­ñ…Û‘±*(€&+T"ãzàcW7W}ÝÒyv<ÁÆg^¾ýÛwÝ¿hd´2µÎðÇJæf*A$ òÃ9*ÙqD©ôúôü¹/»Ñsµ?<%!µ¨ƒôì:b©0º©!I`•lÊù C'²ôííÁêéýyìo®ç‚Tẫ.~¸­9}ÓëÖö¼aåÁÌX®~çÞǾô•ÛC¥x²¡jkcá;ÞBª.Œ¢ÊȯIé„Ïó±Ê;ž8ÀÀÓ/ÿQûô<—ByL|úcñd<¾îÆukÿ´ÅšÓX^Ûæ-»û§oßÛ1’)£k3×:eYÐ˜Ô …ÃøºNݼs'Ð4ORq$K RVbø3tfŒf,^¸çq¬Ì¾mÿÞû³ ÅM7¾{ãÍ~Ï+¾îºj"9zôxßû¯½ò¢;rÿÆ¥¥¢=#xËÚd>ÿÁÕ´wÌÁr-äã÷aôÝŠìç)‹9½–a£•žÀzùdô–)Ó‰¤Áâuo£w{C»`ŽÿNßW±+DB kßqé†p(pý™”íÏHÓÍ7¿qkßÿúêÿÜeêêy{uÕ¹®@‘O-ÝÎñ·]‹®%ïhHf¡Æ ± =h¡<š°Wú¨µ2«ôÕÖ1L?OQIPQ"'}|$jP՜ ù¾ þk˲„‰ §¸ D5Áê ßßÑÖxÓëÖžÑÖþ3Úʺ}÷Áå/lÛû³úÎÏf…QTE¥1’ã+rùM÷Qð‚ü¿ïŸx"Á 7Ü€Ò»͹¬Ê„n–ËœTa*Rˆns/$ÞˉÀÂ)2Of¸Ì¶õ›ÈëYFIƉ·Ö“j­!– ¢t„ãÈW\Ð?s㺵ÇÎt¡èŒv+-Y8çåí»¾ý¿î¯öþÝÿþA`^Æ'/îá’·Å'd†¸èâ‹Ñ4 Ã0° ŒÔµOçÒD*gŠ"³Ë/ReŸàéä_±?²ú¤$•¨ l¨¦à@óòÙ4tÖ ih††2©@U“öHêðu­ug´3nq¯²¼úÝ{÷¿0üÒ×›þúÝeÔDe{%æÜÏ!ë„ïá—ú°Ü‚=5qlº¦éÉb˶ð•ìÕÎ#'…±Qˆj Ñ꺶0ùÊy ÖžµN3½à6m_ $–‹#‹/ÓŸùòœÈ~4Eà–=‹Ä6å€|†SÑBðÚ:Œ@¢"‡9XÁ‹ÉuXJxªZ«ÉHˆ"‚qV€›‹Rv]zKã8¾‚®èÄ­1(å&:NeßP.ÀØàdŠL^N’ÕÒä•* £½£ F8@$]…läpxf)¾àx¸¾Í›¸+ªF‡+ÎÍôú –m E§IŒ‰¼ëk¢Òdç 2H_ß0]½>’R…¨_kdÔlgTk$§V±'[aÏÖ­ø¥2f$@¬¥†ºŽzêæ5¢ Zµ½èÚ”=ñæ.ª«à;SkGUaoƒO"¹ýàæªù/÷|éŽ7D£)”ê4jº=žÀŒ™FÈ>Ž7<‚p] cY¬á>ÎoL=úÖº†BÙó®ß£ä–Ñeå+,‰Çh†þ$À½¡/3زczç¾#ÿñ›?̺aNöÌIOà»!–“ŸüÐ5OÅ"¡w_¾öíâp¾Þ9šÕ.­¯Þ™s<|á{Üq¿3+êŒ?kà&Ó³Y›·ìÞpÇîpliš$åz.ªêòÑ¿¼êÉ›?üžsæõò½% ç¹à¼…7¼ÿ]«·ƒ ¶sʹ;®C4¢ríUý: ¼‹shÈçÂ&–,œóâšÕçßüžw^¼CÕ|×ÁõqƒK.Xô@sCíÇo\·öœzEt.mfRÏûùW¿õ“öšT’5«Ï{hVkçφžögÜ$xmGºûöuõô¾X]¿þÆuk9ÇÿÁ«ÅkåÆ?ØIEND®B`‚KCemu-0.5.1/images/window-tape.png0000644000175000017500000000403412417262523017163 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk>¼IDAThÞí˜{LTWÇ?3sG`D…qÁF¨o×JU„">VJXÔÄ*6MƒÔ´ŠQ«Å?\“EJ5U·Öb£.-tˆò2KY­«k QžB@`d†™» t°lí¶1›òI~¹sΜû{|ï=çž{a”QFe”Q~³H~ܱtö›îKgÏžmm­Ze=ÚÙ½ìDÿ7zz$2‰V"ËÈÈ/9w-¿¤ºz˜á‘¿ °Í-Æ7$2éï$2©ôe§þKa ·W4‹÷Eó”)eY-eMMÂàëaaƒ…‡]Š8v Ü ë>mx Åñù1ÅñãÆ‰fË=Ñ( #Cxv¸\>øË!ZqÑ!EŠsŠ¢áŽÛö>V·í…‘5›D‚a™þ©aŒ? x2þh+üúµ üDuBùÉÏ/ UÒò^«êÄšéu"4=u (´NÿPhÁ'Ó·Â'œ=”zgáç;+ª‚mmë~¨[xž$Lv¦8“Çåï,Žƒš¬ê7j²€As°­V"»¢-‘ÁÔÃg¦† úAõ $ ýBÒOÇéû¬¯¼ï3(ž˜ï]<jtºÚtÏ ìÄN¸vyÝõ0ð¿:«Ûÿ*ÌgQÂüw@v[6Cv{亞[€¢¬ÜEYP› []›ª(×£ª(P+5ÿR+A”`ê6F™º¡¥­QÝÒUoî¯:b²è &CpRø›ÁÿAqâ (ìÍ®(ì…†„‡ ÀÍÍ=ÓÍ \"ÔÙ.¶8F¾£´T7ZZª¡òݲäÊw“ü™“4É_ƒæ\׈‹\ãú·Ø Lh‚çäø žÐ{°g]ïAèLiÏèL§ O7€—÷1/Pƺ$)c¡úƒÊãÕئÎy´­¶ãÑ6h8ùpaÃIP‹çÕ"x¬õZã±vxœ¾ù½!}óa¢“Ïé‰Nà¼Kõ‘ó.¸µ©\qkñ©‹Ùò­Å í­koÇ»Î)Žw!ûÚWc²¯Anê7ѹ©¶¶›¯G±›/(u.íÊ!ë÷«sv½Ú9<Žw’o’w˜ÍæSf3´ZÿÞnÇ2çýŽep^žz^=$Î’´­ÙKÀMå‘ᦥ«Ë ¥«ÍŸÉLgÿ’‘q LòÑÞžäc[”-lL¹D"¸Þtq½ âeÑY¼ .âØc."´Å5§µÅAó¬ÆÐæYà6ù’Wh®yM×\Géû¾6TÑ®öªhh:U¿¿é°‘خ߹ÏvýÄc¢J<c<Çã ­éM§[Ó¡UÓÞªÉmÚÂÉmàþ¡Fâþ!Ô×UÕÿt}# “—ÆAØ¡ˆ)a‡ ¿ô\Z~©MˆfYCp³ ƒ°M0€ÉÞ´Ådâ,1Tœr‹ü„ÜÆ‚¾.cd祕gçGÌÆa™Ð#,©Tº@*µ=šdõ«šd ä Û„<è·ïÿ¸ß,K¸Ež‰/y&BðÞåþÁ{fÊxާÀsï¶+j¶CdÝ[9‘uP¢»òu‰Ê㯯)£ñ[£Èm”‚^øFЃ¬IX"k=ÝèülÆ`Ç@:IzA: ÌöæL³=íŒ+Œv A¢•¯o~ÃóõÍ0íËÓ§} ’;”Iî 1 1 3 1 1 4 1 1 No Yes No Yes No Yes No Yes No Yes 800 500 GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK KCemu: Profiles True center-always dialog True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical True 2 0 etched-out True True 0 6 Profiles 0 True 4 4 window-options.png False 1 False 0 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 290 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK all 2 2 True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Create new profile... True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 gtk-new 2 False 0 True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Copy selected profile... True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-copy False 1 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False 4 2 True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-delete False 3 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False 4 4 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Expand user profile level... True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-add False 5 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Collapse user profile level... True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-remove False 6 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False 4 7 True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-go-up False 8 True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-go-down False 9 False 0 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK automatic automatic True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK automatic automatic True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK queue none True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 6 4 3 6 4 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 automatic automatic in True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 1 3 3 4 GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 0 4 Comment: 3 4 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Variant: 2 3 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 2 3 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 3 1 2 GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 System: 1 2 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Profile Name: GTK_FILL GTK_FILL True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 3 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 3 2 3 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK System False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK automatic automatic True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK queue none True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 6 5 3 6 4 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 3 3 4 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 3 4 5 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Enable / Disable display debug code. When enabled the display cache behaviour will be graphically visualized. This setting is effective only if the display scale is set to 1. model1 0 1 2 4 5 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Display Debug: 4 5 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Display Scale: GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Display Effects: 1 2 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Display IRM Access: 2 3 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 3 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 3 1 2 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 3 2 3 GTK_FILL GTK_FILL True False True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Scaling factor for the emulation window. Allowed values are 1 to 3. 1 adjustment1 True 1 2 GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Enable / Disable display effects for scale factors above 1. When enabled a scan-line effect will be used for scale factor of 2 and a smoothing effect for scale factor 3. model2 0 1 2 1 2 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK This setting is only used when emulating a KC 85/3 where it enables the emulation of the display dissortion when the screen memory is accessed by the CPU. model3 0 1 2 2 3 GTK_FILL GTK_FILL 1 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Display 1 False True True automatic automatic True queue none True 6 8 4 6 4 True False 1 2 True 0 1 GTK_FILL True 0 2 1 2 GTK_FILL True 0 3 2 3 GTK_FILL True False 1 2 1 2 True False 1 2 2 3 True False True True True gtk-open 2 3 True False True True True gtk-open 2 3 1 2 True False True True True gtk-open 2 3 2 3 True True False True 3 4 True True False True 3 4 1 2 True True False True 3 4 2 3 True 0 4 3 4 GTK_FILL True False 1 2 3 4 True False True True True gtk-open 2 3 3 4 True True False True 3 4 3 4 True 0 5 4 5 GTK_FILL True 0 6 5 6 GTK_FILL True 0 7 6 7 GTK_FILL True 0 8 7 8 GTK_FILL True False 1 2 4 5 True False 1 2 5 6 True False 1 2 6 7 True False 1 2 7 8 True False True True True gtk-open 2 3 4 5 True True True True False gtk-open 2 3 5 6 True False True True True gtk-open 2 3 6 7 True False True True True gtk-open 2 3 7 8 True True False True 3 4 4 5 True True False True 3 4 5 6 True True False True 3 4 6 7 True True False True 3 4 7 8 2 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK ROMs 2 False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK automatic automatic True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK queue none True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 6 9 2 6 4 True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 5 6 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 4 5 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 3 4 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 2 3 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 1 2 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Module 6: 5 6 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Module 5: 4 5 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Module 4: 3 4 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Module 3: 2 3 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Module 2: 1 2 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Module 1: GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Module 7: 6 7 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Module 8: 7 8 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 6 7 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 7 8 GTK_FILL GTK_FILL Override modules in this profile True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 1 2 8 9 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 8 9 GTK_FILL GTK_FILL 3 True Modules 3 False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK automatic automatic True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK queue none True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 6 11 4 6 4 True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 3 4 10 11 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 3 4 9 10 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 3 4 7 8 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 3 4 6 7 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 3 4 5 6 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 3 4 4 5 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 3 4 2 3 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 3 4 GTK_FILL GTK_FILL True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-close 2 3 10 11 GTK_FILL GTK_FILL True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-close 2 3 9 10 GTK_FILL GTK_FILL True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-close 2 3 7 8 GTK_FILL GTK_FILL True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-close 2 3 6 7 GTK_FILL GTK_FILL True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-close 2 3 5 6 GTK_FILL GTK_FILL True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-close 2 3 4 5 GTK_FILL GTK_FILL True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-close 2 3 2 3 GTK_FILL GTK_FILL True False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-close 2 3 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 4 1 2 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 4 3 4 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 4 8 9 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 10 11 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 9 10 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Hard Disk 2: 10 11 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Hard Disk 1: 9 10 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 2 3 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Audio: 2 3 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 7 8 GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 6 7 GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 5 6 GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 4 5 GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Disk 4: 7 8 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Disk 3: 6 7 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Disk 2: 5 6 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Disk 1: 4 5 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 1 2 GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Tape: char GTK_FILL GTK_FILL 4 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Media 4 False True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK automatic automatic True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK queue none True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 6 4 3 6 4 True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 3 3 4 GTK_FILL GTK_FILL True False True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Number of D002 busdriver devices to add to the system. The maximum number of emulated busdrivers is currently 4. 1 adjustment2 1 2 3 4 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 Busdrivers: 3 4 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 3 2 3 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Enable or disable the second D004 ROM at slot F8. The standard ROM is available at slot FC. model4 0 1 2 2 3 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 F8 ROM: 2 3 GTK_FILL GTK_FILL True True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True 2 3 1 2 GTK_FILL GTK_FILL True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Enable or disable the D004 Floppy Basis Device. model5 0 1 2 1 2 GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 D004: 1 2 GTK_FILL GTK_FILL True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 2 <b>Special settings for KC 85/2..5</b> True 3 GTK_FILL GTK_FILL 4 5 True KC85 5 False True True automatic automatic True queue True 6 5 3 6 4 True 0 IP Address: 1 2 GTK_FILL GTK_FILL True 0 Netmask: 2 3 GTK_FILL GTK_FILL True 0 Gateway: 3 4 GTK_FILL GTK_FILL True 0 DNS Server: 4 5 GTK_FILL GTK_FILL True False True 1 1 2 1 2 GTK_FILL True False True 1 1 2 2 3 GTK_FILL True False True 1 1 2 3 4 GTK_FILL True False True 1 1 2 4 5 GTK_FILL True True False True 2 3 1 2 GTK_FILL GTK_FILL True True False True 2 3 2 3 GTK_FILL GTK_FILL True True False True 2 3 3 4 GTK_FILL GTK_FILL True True False True 2 3 4 5 GTK_FILL GTK_FILL True 0 2 <b>Network settings for WizNET module (IP-Addresses only!)</b> True 3 GTK_FILL GTK_FILL 4 6 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Network 6 False 0 True True 1 True False False 4 2 True 2 6 end gtk-help True False True True False True False False 0 gtk-close True True True False True False False 1 gtk-ok True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True False False 2 False False 3 KCemu-0.5.1/images/kcemu-winicon_48x48.xcf.bz20000644000175000017500000000310312417262523021040 0ustar glaubitzglaubitzBZh91AY&SYí³Ú1"ÿÿÿÿìw÷úMýmYÿÿÞ|‰)ÿ'PX•0P_ƽstÿЯ AfY¨¤z$Gµ=FSÍ!ŠÐG©§êFÔÈêODiêhaéOPÍ@=!£F&&&£@È£ 1¨5"zQšLž“Òf£FOPh @i¦ši„2d2 &†Œ £#2i£@ÐÄ14ɦ#Àš4a4M4ÓM0†L†A„ÐÑ€!¡4daM4hÁ†&™4ÄaFŒ&€D’H2jmÒy PØ)¦†žSÔõ4Ú€ÓÒh@ÐÓM¡CM=#Ò¦€&Qꞩ͸›&Mè´œ½ÈÂn~>ņã2XLDVFCf~”_½þœfá?!MÃáá­¹¤“¿ÅL³c› ‘„±¥ ƒq8ò’:ƒ¦<Î`ÔÖÙàif3 9ÔŽRnŒçY| ~Î6æL¼öã &Œ’’ †a&á½±uþ}€ó¢¯_£†·—ÖÀ»-|;[åy–·‰ƒkRãáÖ­ôD`Oñ´Ýôé"듾¥.¿–Äë ­ÚÄD7¾k,ìÛÙYzY˜ÛÍÌúǬúÚò΋ÒV3¢ð/lÞ|îÍíø¼~ûWŽ÷®;õêkúw>LCH4”fg3à6i¡³LµÔ7a½¿¹oey :äne9:J®šý;±Ç_ÞdÅ[ÄË•é„mjÐÍóE MLÖ2ç1tÐÍİ™à6Ö¤܆F‚1ŽL¤¦9M¢YÐxò•5bü–!ÁŒ&Ç!ï³·`BGò23¤®ãX†›SBvÍ™FÎ 7‡£/`j·4Z9§ŽÞÓf˜Ý€èŽ\Îí¹Q#½ö› ëxøV0H3ţʰS´® á‚F'榘, ˜ ‚²$c ³Ã¯õaZbcæ •Mˆ–í\¨Y-*iÈhÁ}*¦q …0`µo&F1-Ï4Bôl qpØ4,Ø}‹›2!Ãjlç™ Ô ãKþ.¤‘Ú—š2Eÿ·l¢k^d–U‹©Õ>¿UÇ­Å/+Í95si×1¾¼›uñéJ¡ît†™îy{åYéáŠÍ@J#'8\ÿ{íyqdDb-÷—UójÅZ“' ?q¾&?»E¢Z¶î¿}—»<âOÃ×°YÓÏõÿ¿k­Æî½hežo«H÷7‰í³+Ä I#ߨWê+÷|hxY´1¨Þ;OaÒ³QÔÉÃöÿïV°¿‹šÖ­šå~¼v5ýŒ}þ~†ÎŽÞž:ýNV­ºáÞÜÄ<}ÓšcM˜ë´Ñ{d#º…„ГͫêwVü”.‰D%=ÀxðÆ/m˜T(5d¸‘ôZ>ÙÇ]–³C‰,Ò‚·b+Úæ±5@; +"²Š$ˆÍ# JF‹È!SL&ÚD&æ¤Å¡ÑÕ¼ç"¬RÈÀòc†à¬ ϨH!¹&ÅAá’Û·®øq.Ãjûñ¸08ð¸™n9$L’‚ûãféŽÖŽÒì`o]Aà™C\5LÙœ±¬º­rjjÛJo*‹·ÙÜB(š‰æD+©AA\  ŠO5ØÇpú¹QÑLôL<ƒµ€bˆ~)F„jKTO…]‚­í×BëË1r3Ž•)H*õRÈ@µÑÿ(“ªÿV2hOv_<-j'(ÆpÆ7Q>¥íúåŠ6¥C`Çy^-³ãæjçëV>žî›pð cõø#¤0@k˜[<|¦VŠy0a’ófõ/<ýëêNcDèF]Æ,FR¼k)gÿCWTÛìú=»“µ"#ÛÝÔû—+±IDATHÇÕ—{HSmÇŸsÙÅiC¼ß×Ä ¦Æl• ŠJ¥¥6,5­ÄJ$C(‚ A2TZÞÒ¥d422L­œ·MfQÞšŠyÙÜÜæÎ9ïÏk¾y÷öúÂûþþ;çy~ç|Îïòü¾€ÿ™!¿ëzäH`¨@@Æ’$+±FÙlÖht4åCQ”‹ åMQ”7Š"‚L,,˜^nl˜^öôÀõ§OGÅ>ŒŠ»»áÓHrÏ´:t åàA¦Åb**È|‚ óCC÷çúøìÏ%IwÌÓÓc±¬4\®•D‰ ˆ]V««à{éää÷Ò/¸Bñ'Iø¡““dAy99#½#½ÿ‚&%ae†•=zä_"ú— hHaDDH!޳ïp8ì;ægÆÔ¹±aê@üþ½,˜¢ú/wuõ_6™àjIÉðbÿðâÍ›;ùc;-¤>‡•cVÞÔs6))æ,“ää…¢xƒGS À«æööWÍe_ääd_„ ¬D6›•H.ê‰a¨'.,Ï…… |¥¯/_‰arùDgHˆØÑÑN À¼nvv^×ÓCóß~Ãÿ¶PèÛÕ¢(*ml<­NN>­f2ù'|}ù'èF¦Á`d àÈd ‚ˆOÞ»'>IQáêªF¸{Ä튜œìŠH_º”(f³)Š"Òâb?YPŸìøñ]aóܽ+¨ Ô1™^^æ§~èÛ·IuµD¢×k’WV4É»ûYµµµ> @Ôµøø¨kL&»Í‚Ýöà\E~–îO`X«^^°Æ„ÂcÇ„BÃ|Ô¿Zzº^´¾®=y")©©‘”˜îõÌßßëØÍ –æ™34`ØÕ °Û Fúï£yAäİM_ß°Í… úBN_ØÜ Á †ÝÀ7OŸ¬À@Ÿ,ËÆq,;%…Ì4²XLã©Sn~|¾›Ÿ…ÅïEv»Qìú‹aÄZ$ÕÕ-½^]¼¼¬.ÞÙÓµ€Çs-Ø,…­ZÞVÃÎÎVj.×J½7¸¿€Ûôõ ÛdfDëëQ}=lNVúüXé§{Xª¹\K5𜶳£ÃÉ„ãp2í5ð82Ùæ¢Òd"*é;wâ@Ý03³6§Ñ¬Íí=*lžœ´ ÃвòrÑbF†hÛ‡ŽŽ¶éûµsv´ÃÐòåeðƤѸ1ùæ*kjJ•¥×ÿ[ ñ·RSãoá¸kÜþý®q;û©"¦§U›ðÝ;0‘OD¾DòµB©üZ¢;¥êwARÓÒRwÝ4eÕȈ²J«5² #«±‘¬ *r9#šÁ`D¿~=˜ÖÛ;˜¶9ãÍ78ªé .<žKÁîþß*”Êohç5íüÒ<ÚÚhÀ›¦í^[ÓvçæBQBs®33s®æÃ^¿¾™zsA׸jõ€¬¶¶,ƒŽüììþÌ®®þÌ­ÀÑ€Ç-e²qˉ?û3+«½¡®®½Á`P]™šR]¡¿fdë:®)%%® sS¿Z¿´´Z@kFmmk†^oª4™L•÷ïÝøøqì†Tº}ÿŽj ª¥¡!‡1gg‡±ÕÕqýÐи>*Šê (ªE..Á“ < €`÷ðð`w¬clm­cv¤bI’Š@Ñ>8¨h@zõñcéU£Ñت×k¡ŠËËûÜ)—î¤(ZÍM5Ôaa “ÉàUUA}Ìç{—x—â8é8né´oŸ¥Ó¦@׳¶¦ë@>=­ 'ÉñÙ¡¡ñYƒN>j—Ü\ùùOŸäç[Zv-9s·¹!ð)2ÊÁsç nŽŒ„ZÂÞøPða0 XX€ƒi`67s¬¬8aÏŸÃÝ»cô?g’@ÝêÚÌ¥IEND®B`‚KCemu-0.5.1/images/window-plotter.png0000644000175000017500000000300212417262523017715 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk> vpAg ‡úœIDAThÞíY{L“Wÿ¥  Ђ8Ôa`¢­At‡4 ‚ ñm65ÑúL§FÅ“¹A£3AZ„]b]Eå©Å´¨‹¼Ñöë·?~½byéÀÒl矓sîùν÷wÏ=÷ÜûQÔÿdÊÈøí—ŒŒŽÇeí=W\l«qlÕ1­¡[iMp0¤%Kl5ÆVó‹ùÙüâþ~H==¶ǤGÀV>åîVžeÛeÏþj—yz)ãÏFŠa Q†2CTE…å t ^¾¤ (Š*øüÐípEà·=+Ih§¤Ð,ãC³+WBž6Ø1,£`XŽ›±ü‹Ÿf,7uêöJZ")©þýÇ’ê®.» Ü-*!ÜM"ε çž<És| Ï­]kv?NÿÍÍ&"âš6?÷š¶¥eÊ' Ž…” îæ6²õÇötôýÙ†£ï}}k7Ý»\»):úu]Çš×uŽŽhõósŒÇ8FîÙyß¾É`ÌS ¡#9)¡C ÀÄsr %#ç8ðôtuM‘“ºF.ÿhâ#›ÈžgÅbÿ°ÀTÿ0ƒZ½ÞÒj÷îèàïÎDÏœùÙÀ„Åâe—ºGY`ÎÏII–VÝÝ4KI³J¥ªº@¯ª>xz“i¬Žq 64^ ¶^ÕÔ rÒÓ-­Äbœ))Ÿ €ØY«±³œ!•—ƒGG[Zut`ÀaaXéë׭뾯Qg§s¹ËÎåçÎAÿü¹¥]rrL@âݘ²E&€~×¾~×Õ«!…„X¶¶¶²,»žeCCêÕÕÖvlY .]š'9!Ob4BÎʲ´vqy'øê 1qÒ‘‰½}K4¦®Ì4RªÍ;Zª}üøßvÉdª˜Lú9sˆ?¯™Û<¼ÜÝÛN=¥ÚN ®XgæßW:3ýý¥”ç)%‘X;>è6» ›#nóf¼ œ>=J€š /œçÁ›š&j6»cåÃñ2ä²4”H$¹‚¯/€ÜvÈÉ\“0œPh©ÕàáLÍ<o·JüÁƒÑìDzÑŸ"}I ¤Á¬cqÍ»4X ŽfQø,WPø¬»‚P` ÞBC퀡•àXö(Ä23‡ùašÝ¿ß,ûzo7o‚åuÅAåu rBe¥e«B¤¸}»ý`®D~þ§~ÇõÏp½;wBZ ž8¡\¿X¹Üe¦0(”bc±Ö­ûÔï õõˆ„;ÌpšK¡Or—.!7äæ?¿©€†n¥54ÿÞÅ5<;ÇᆠВÛ$M#7¬Z@ÈüùSÓ.Óצ]EE.^´Ö.o99xL]¶ Ú{÷F¶ööª±Y-L*AHr98 éñ^‘oÝ‚$“aÅÉCŽƒ€*-2€Æ®­#žÇ„¯^ËÒfJ’³³­þ ýçé”ÈÚ„•w IEND®B`‚KCemu-0.5.1/images/Makefile.am0000644000175000017500000000643612417262523016263 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in VPATH = svg SUBDIRS = original icondir = $(pkgdatadir)/icons imagedir = $(pkgdatadir)/images ICONS = \ kcemu-icon.png \ kcemu-winicon_16x16.png \ kcemu-winicon_32x32.png \ kcemu-winicon_48x48.png \ icon-root.png \ icon-default.png \ icon-deleted.png \ icon-bic.png \ icon-c80.png \ icon-kc85.png \ icon-kc87.png \ icon-kramermc.png \ icon-lc80.png \ icon-pcm.png \ icon-poly880.png \ icon-vcs80.png \ icon-z1013.png LINUXICONS = \ kcemu-icon.xpm \ kcemu-bic.xpm \ kcemu-kc85.xpm \ kcemu-kc87.xpm \ kcemu-lc80.xpm \ kcemu-vcs80.xpm \ kcemu-c80.xpm \ kcemu-pcm.xpm \ kcemu-kramermc.xpm \ kcemu-poly880.xpm \ kcemu-z1013.xpm WINICONS = \ kcemu-bic.ico \ kcemu-kc85.ico \ kcemu-kc87.ico \ kcemu-lc80.ico \ kcemu-vcs80.ico \ kcemu-c80.ico \ kcemu-pcm.ico \ kcemu-kramermc.ico \ kcemu-poly880.ico \ kcemu-z1013.ico \ kcemu-winicon.ico IMAGES = \ logo-flac.png \ logo-gtk.png \ logo-lame.png \ logo-libsdl.png \ logo-libsndfile.png \ logo-openclipartlibrary.png \ logo-vorbisdotcom.png \ logo-theora_org.png \ logo-ffmpeg.png \ logo-bbc.png \ logo-xvid.png \ media-end.png \ media-play.png \ media-record.png \ media-start.png \ media-stop.png \ media-pause.png \ window-about.png \ window-audio.png \ window-color.png \ window-copying.png \ window-disk.png \ window-help.png \ window-info.png \ window-keyboard.png \ window-module.png \ window-options.png \ window-selector.png \ window-question.png \ window-screenshot.png \ window-tape.png \ window-thanks.png \ window-plotter.png \ window-video.png \ kcemu.png UI_XML = \ about.glade \ audio.glade \ color.glade \ dialog.glade \ disk.glade \ help.glade \ keyboard.glade \ legal.glade \ main.glade \ module.glade \ options.glade \ plotter.glade \ savemem.glade \ screenshot.glade \ selector.glade \ tapeedit.glade \ tape.glade \ thanks.glade \ vdip.glade \ video.glade .png.ico: # xpmtoppm --alphaout /tmp/ico.alpha.1.$$$$ $< | ppmquant 256 > /tmp/ico.icon.$$$$ ; \ ppmtowinicon -andpgms /tmp/ico.icon.$$$$ /tmp/ico.alpha.1.$$$$ > $@ ; \ rm -f /tmp/ico.icon.$$$$ /tmp/ico.alpha.1.$$$$ convert $< $@ .png.xpm: convert -resize 32x32 $< $@ .png.ppm: SIZE=`echo "$<" | sed -e 's/.*[0-9]*x\([0-9]*\).*/\1/'`; \ COLORS=`expr 16 + "(" $$SIZE / 48 ")" "*" 240`; \ echo "### Found png icon of size $$SIZE, setting number of colors to $$COLORS"; \ pngtopnm -alpha $< > $*.alpha.pgm ; \ pngtopnm $< | ppmquant $$COLORS > $@; kcemu-winicon.ico : kcemu-winicon_16x16.ppm kcemu-winicon_32x32.ppm kcemu-winicon_48x48.ppm ppmtowinicon -andpgms \ kcemu-winicon_16x16.ppm kcemu-winicon_16x16.alpha.pgm \ kcemu-winicon_32x32.ppm kcemu-winicon_32x32.alpha.pgm \ kcemu-winicon_48x48.ppm kcemu-winicon_48x48.alpha.pgm \ > $@ if TARGET_MINGW icon_DATA = $(ICONS) $(WINICONS) else icon_DATA = $(ICONS) $(LINUXICONS) endif image_DATA = $(IMAGES) $(UI_XML) all : $(ICONS) $(WINICONS) $(LINUXICONS) CLEANFILES = kcemu-winicon_16x16.ppm \ kcemu-winicon_16x16.alpha.pgm \ kcemu-winicon_32x32.ppm \ kcemu-winicon_32x32.alpha.pgm \ kcemu-winicon_48x48.ppm \ kcemu-winicon_48x48.alpha.pgm \ $(WINICONS) \ $(LINUXICONS) EXTRA_DIST = $(ICONS) $(WINICONS) $(LINUXICONS) $(IMAGES) $(UI_XML) KCemu-0.5.1/images/kcemu-bic.png0000644000175000017500000000405112417262523016563 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒWRIDATxÚíšOˆWÇ¿›L’ÉŸuw“lwÕE»ºo)E n{ðRèA´Ô?(ˆ‘RDðÒ‚b½=ˆ”Òƒ …B‹X°-QöâaQtwY׸»êììf3ÉLf&I×¼ä1Éd²–v>—0ïÍ{óòý½÷{¿ù½þoôymøøñôôÔT­622<œN»ßo¶ÝXbÛ†Á®Êe˪ÕZµ3 ]÷kšå²i²ëJ¥±_Ày®a¡P­šfc½C©T*Õ?§TÒõbPÕ•UNž<}úìÙ>Ïz‰è¸Ãÿºð¬Ü1€i–˶ F¹lÀË—¹Üò2ðÍ7/~ûm÷‘:mÀ ?555õèpêÔ™3gÏv;œf*Û®TÄõ–eÛ–åÿ¶mÛ¶ œ?îÜW_ããããÛ¶±˜,‡Bþý¿®»"áãñx<²Ùt:›e×üo$"I‘ˆ¸œ'–¤p¸ù— v¢ö¼Ðü¯W¯~ÿýµkìZ–c±dÒ?t¼xHÀd2O&>úøã?dõªªª++ÎR/—Yy¹lõ.¡PдR 0MÓ´,@××P,:®À¶-˶›g|»+€ ç&<ÍüærËr\ž$@( …BµZµZ­V«Þ]Q×Ðu]×uf€x\’b1`~~q1—––_½jn·°°°ðâEÝ@¤HD’Äý·;c½"¾Õ~>׳š7WMÓ´|ž ?;;777Ç\?c™°­¶Hwx×#î¿; Ãé×0lÛÏX¨cˆ„'W¡(ëë…°{÷½{Û·»wÛ·»÷ûË/ccwï6—>œËíÛç½=qâ„¢|ú©¸þ§Ÿoßn.g+Ãß™OxX|¸×ˆe9>døõ×wß½ŸÕ‹f$ Í É_‹îAÂ߸‘ÍÞ¹ÓJX‡/¾X[Û¿ŸBì’*MóÏž£ ŠßiáVß+Ž_^þäàæÍÑÑ¿þr¿ß]øÞбø'Ú$Y}ct£i…‚¦õ~%ÜÂYn“ï/— £Zõo¼]GA‚ÂIÂ/îdˆÎgzk×Óm8ÚµhÆQIqIÆ Lá(Ñm®Æ+´’ÚugÎhÚgŸ±k~æ‹@4êÿ8}ÛØÀ”AÑH»‚ñˆäËEí) rÇ?¤R¿ýæîr*'”g´JׯQøç–4ãñkO eY–eÙYÉõÑÚF‡ŸDÇà…'Þ–«Á§[áÉ÷[–iú¹§y^tÒiv’ê;] íÂ?¿XÔ´ú=‰hWxºÏo×Ct¼ 7Ÿ<ù#”ßý‰„o—rI]lÂÞ†G{…ƒíB´bz5㛟ã¯ë!<%ãvÖÊ344444Ôª•Ñ MÐû;aËd²Ùúzç=CQTUQ˜!ù“5¾\Ô?ÐCí M+€•EYYñ_xÏà¹/_¾páë¯K—®\ùî;@QÞ¼Q”NÌÙzÆåókkù<°¼¼´´¼ìÝ%tû¦{èÐáÃõï~Ó±^¿^ZÊåØÌœ˜˜˜Ø±øùç7~ü±ù~úº@}u ‚¾FhΉJè ¤¹a´ÎÌ4ætøäš®;ã¹:pò‹Ž °ÿÁƒÇŽõõ]¿~ýúÕ«µÚ–-####Þ ‡?žžt}Û¶ñq ŠF% X[[_×4`ppnnfд͛GGIÈdX{Y~òdzˆÅR©dXXèïÏdØ× …B¡`Àêêúz>ŒŒd2ÃÃ@8œÉ<} ¼÷ÞÇ€¦ÍÏ–õôéûïºnÛå2P©8ak>_*9†±m?³¡]®8ðå—§O×j{öŒÙ60:ºyó°zv˜íP­š¦m¦ 9iíFs±#?>û§R€$‹Šâžàs6|I3œš “½W¯Ï<¸}»ÕÉ™×l¨ï_zQz–/ŸœœœÜ»—]÷÷§R‰°s§ãˆÙÙ™™¹9`h(¶n}ç-[€H$ ‡gÏæçŸ?²ÙM›úûûÒi`}½T*•€\.—[\tî§ÏUB!`uUUóygeÈ2pëÖ­[¿ÿîßÿ~kéh·AHp‚æ?[!ˆ—/_¿^\dõ‰D"‹±úÕUUUU`iIQT•Õ $õßïë ƒ¼má ßVÀ‘#G~þy­¶k×ÄÄÄF"Ñ(‹%“›6Ì¥8®Äm3ä¥Éµ¸ÅéäjX»FßNÐJùã?ÿüûïÞ Oø¶úúdY’€þþÁÁú¸}p0•’$'*qf¤$‘ïoüÂ,nü;¢•Ñl(ÇÐí‹|$&ÌPšæ„Ôét:É0×ů@¿„êÖ«ŽEˆöˆ ½œgà ¢×†ÙhaDüEêãLý%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2006-11-17T21:31:56+01:00ó(“#IEND®B`‚KCemu-0.5.1/images/kcemu-kc87.png0000644000175000017500000000434712417262523016612 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒWIDATxÚíZÍk#åÿÌ[Þš4IÛuktEº‹^dO=-x—¥ ú,²hi¡dEb0´ µìEâÁƒ÷`}A={±îÁƒ7Kaµ«)ÙíÔl“v^ž™y~‡/Ïo’IÒm'ÓnÑù@›Ì3ßùæy¾ïÏ÷ FŒ1bĈ#FŒÿ5Ha¬Õjµß~ã|rrb¢Px2½i:N÷ˆã˜æá÷;é:i»Ÿ':ÿ¾ãF/ŸÎûôɘiœspÎ}rnc†á8Àß뺮ׯ_¿þî»RhyE¦€³"ø~ÏGð>-{žç®kY® ìï»®ëµãŒ1Ön÷ïß¿_¯|ðá‡Õêð Qû@PðwïÞ½[«7nÌÎÞ¸qt>œ“åẞçºÝ”$ úÿ<ÏóºG‚ü8'~DEVÞËŸsÏ÷8÷ùÎÎÎÎÎΗ/¿øâ³Ï££™L29¬Ø‡P@BðssssssÑM쬠R)—+à“Onß^Z4-Îf£ã/Ë ‘дDâiŠèd!<Ï4‡s@’$ɶÅÝ~>|< í¶Í˜?¡ðX[[[[[ë7 Ã0 `~~~~~~øß I, °¬`î¡Л»±²²²²²hš¦iH¨j"†mw'Ë`Œè¾ü£Áá9„R3DÉÿØ 8ªà„àãœ1Àó\÷°¤ù$ùG­r¹\.—Ïã¼;éÓºaºËÈA‚èµøh1¬B„À|O ÖJâÚq,+ºù‘È"Dˆ±mÛî— 2™t:“ñïÛ¶ëF‘3aiéÖ­¥¥Þq±Ñ°mÇéœÇ 2W”¥’亖ض$E¹ 倿Á‚dy««««««ýb<áÒ¥zý›o€{÷J¥k׆_¦)ЦŒ¹.cþøÎÎîîÎÎÑùd2##™ <Á÷ú~9@¨öøª ‘Ä·£U ‡QܾýË/©°÷î Ðö$"˜§Ø6ª3fštBGÏ‹÷ÄóºÞjíìÛÛÂTè÷úi}}}} 8O_ýÑ%¯^}íµ«WI!¶ d³Ùl6 LM]¼85ž·¿lnþùçö60:::šË.”J““ (°µµµµ½ ‹ô~N6;>^,RÔuàáÃv››Lª*P,ær##4—LÆ)ªJ xÚ‚ÿÿ“QMáÚµ·Þzã Î_yåÒ¥‹iëŸLÒ›d‰„R“e²ebdÙ¶Ë¢Ü!BToµAý{Ót]ÎY¦e‹Ƕ=| 3`ÐïÒQ(qa̲³mÆ€ý}ÓÜÛdY’h·›ÍV øê«ï¾ûñÇ“¼@dJ¥ÓФRù|>ï'Ét:“I¥üjCQ¨ÿιëš&-<¦ƒÎ2P’(ÆS¦ëTŠDH1_’ˆ)2“‘åtšŠ€Î*‹ÄJªàœ)sI¢4: ÔëýÕh²¬(â‰(='x–uÎúÂIžñ~éi/µ§­˜ÓtŒ1bĈ#FŒ1bü®Þû*|-¼%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2006-11-17T21:31:56+01:00ó(“#IEND®B`‚KCemu-0.5.1/images/window-selector.png0000644000175000017500000000730212417262523020053 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk>bIDAThÞÅY{XTåºÿÍæÂm`¸È  W¹è¢lÐ2´òrLó–§Sz̬ÇÒ|*͵MÍ}ÐSn3Û¥dnSQIÝBb €ÈÈÅçÂ\˜ûeÍ:¬½dï|xkÛùý3ó¬ùæ{ß÷÷½ß{[ ü?afæÜЙ™cÆ0XŒX+/Ïã$.yœz=›ËùˆÍ½zõ|]ÉÇçë·ŒßËàÙãÿã³Ùãýü#’A|÷õtÒ$ÑB—h¡ÛM“V2ØãüÂÐ:øG‚¼Gbóæ²º“GËêvï~\z1/˜væD¦ýË/Ã’GÅ…%O™2eïSÜ){ùütöDm:ÛÏ/ÃeÍ0ä´L5å´øúò>yŠ-[žN~¦áéä —^è Æ,Ù¼I³d‹q¬œ½ëÆO­Ç'2’2P«uñ]ë\ü]»¾¯û®úûº¯¾*”-ØT(‹ŽfÙkÙÆ¦¦œƒÓnå‰×÷ׇ—¤zµÿÕ«@ûäæ í“Ožt’ŽiNrß>žÛ§çþðC‚Oœ$ø©©LsÓ¥R¹9îÝœ¢"Á9QœàÜþý%¡‡—„ºÝÿ6æ¤/<3'ýàANw#§cÑ¢øžä’ø `j`lÀTÀÌ1í2s€¶³ÍmgÍf{5Ë^páÁ$¾!˜—/‡oŽü*|óîÝ m©WÚoò̦bsP¿§*·~ÁÀUðplvâæqŸ'n …|¿? ù€mµe’m5 ?r;E~Äb1í4*L; óyÓ\óùôôJÉŬJ‰Ó9œ–7Ef¤=kš‘6s¦oµð]ßê­['žžü÷‰§…B¾SxŽï©Ì›ŒT€—ä#ä%áS#—†Oårwõ¤ñîèÑv…MaWøù‰gIijûÅÚÀ~ï„÷w÷Îêﬕ–ÍÖJ.W¶}ÊhÙvo$ñÓÊœÀ´¼i>¡¼i@¸!’nàrb}ªQ,Û‰Äv’”÷Ýn–÷]½:œ¯1€r¹5kbZãºbZE"æbV1sñðë™EÌJfœ’ñ^rŠ@ÀUq‹¹ª)SV{˜Ãêry“g—ÚâìR@q±“T\Ò’dŽ´$&“­e¯bk½7&3áOc2ù|¶•½žm]ºÔÛúÇi…“6¦ŸJÚèã£y Gÿ2Ë«Çu¬o ìXÄ´Ç)cÚþ,Ánþ¬‘Ëe40î3¦‰™Á4ÙíL@žzFMžZ(,Í_\ {óM’Cö‘œ  ®$yLW’ÓI'¢“x—èô®P€5h À p¿åmâ~Ë`ø:±ÿð:ë÷–7­ßFŽ~œ‘D¢¦FFn¸Q®÷å@[á­Um…n·Gä¹áq8Tú-*¢²IRÒC„Ñ_¨ÂÄߟÍ`oa3C„M 9*y/,Vòž¯¯»Õ=ÏÝ (ÔÛÀ@š¦k  ÒûsT8À“øXy’á슑Kºb*ý ý~GØœGýþ&LFÕE…ª{xÏž<Ï@Ÿºç|ŸPFÝûNpŽq—rŽaÚQaZ€ÛÉÛÇí¬æ¯­Ow÷]Mw·Åâaz®y˜3gRõEUÕ¨ÿüs©*úm©jÅŠ1k®YËã Ǹk«ó–k+Ð÷ZÏŒ¾×†îl49VM£êFgªŠ 4®o«üŸëÛ€´Ù™´€·'å-ªœ?´V9I¹SgNÊX±¬X±CÿÓg<¡ÏÚó[ÞmÏD¤ß~ DçÇMŠÎ÷~UL…ƒ7 /VÇ5¼¨Ñøžôùž‹ˆx@•¯ †¬õ˜žµÞßß§ÇWîÓ3rt¨í|‡—·&ÈËÇ'Ž+ŽO€¤¨´g’¢ßSü+¾§€{÷þ©Àå' ×ð õå €J“C'ݱ²ìX ”jæ” ÛS?LØ>tµ5›®®Ù48ho!­ã ØÔçrÉB²ˆ, Õp´ë§,ÎlHY ôŸííè? 4”U Ê€Äڴɉµyœì'=ûºl=ûæ)æuæ) P.ÖʛȲØ&šç5nnž>®|ÈDS´2À²²X¿Âp‚4a‘ Á0;ÍÎQ£òªõ÷çlå¦r¶þzA4þÕõ‚ ¾"€ãáàxîMÞîMÀ’nî°¤Ls“ÄFÅÏ¢²buQY¿]µ+®UÕ®0§éßœ6}ú/²À®]­«› ZW[,´ Žî`÷çîà¡«@çs× Çÿºf >fú_Œ™¼X¸vì‹…Àröÿe9È'gtæ“€‡ðTxÀ©v$:ÕC!ýIïKË)”2Å}¥Œ ¨ U¥ºÔRšy©åçŸÄáÈšè‘5¬”Ý«QÊÒÓk¤W—ÕHgΔÖǼ#­ éuF™nšQ˜U¦µfàJtîq%Ü ŸTnÀ±ÍlÀªfÙYÕ€ÕeI±Rå2…Ù²L!ÀÞÆV³· )˜Ø2înb Pg¨šXg”yŠ#Ê<À ŸjHZGLto&&Ž û92Ág·ð7 îIw¼VŸ“¼V@{[µL{ÛbÑÐvëNètI|@……ô~õÏ$?_÷LrPÕä”–RO³³%ï‡?)yŸÅ’¬ ó“¬DV‹.œ2N§lxæï—++ï—­š¦ŠV 0G²pï Y1:!²âŸ K"šˆ$àk×§‰_»ÿÈ@‡$úäøæÔ'½{žu¿ùYë~@{Tý´ö( ‰»ÿ–&Ž ö%Ž ­ö_Ó_cãCdÏÎËÉžÍã÷K–÷76ŽÒDM¥‰‰‰ÇÅňyÅ2RE¨`åpØž· KCemu: Module mouse True vertical True 0 etched-out True True 0 Module 6 0 True 4 4 window-module.png False 1 False 0 True 2 vertical 6 1 True False 4 2 True 4 end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False 3 KCemu-0.5.1/images/window-audio.png0000644000175000017500000000633312417262523017337 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk> {IDAThÞíYiPWþºû-¬|¨(Êæ>¢ AÍD,AÅQÑQÇX£ãD"ŽcLF+2.•(Zq¢™ÑJ2¢&¥¢ hP\Aãb$€ˆ–·/ýº{~\Ú÷\ ÉTMÍœª®ÛçÜÛ§ïùîésOŸ üõK)JûÝ®„0…Âj¶Œ²šýý%.Ò4‰K—.œÕ–ÁY)†¢ž§*€bN¨¸ÊÊÓ7ÖŸ¾©Ñü×>uT\ø›oòVî o9“–1ãiYl,1(0°Umõ ¤¢‚<_TDäÅż…;Å[®^=Sšz¦ôÚ5"çùÿ8BÞÖM™4‰¬àúõD:t(™¸ ¸T„»g<þ¬8CQNÕΜªŠ³?ü±â,à‘æ¹Ü# ðÝä÷½ï&€­³N`ëã"ÃHã"@;^³[;^ôIÚ"}@€°HÞ£RÀ³²ˆôäI2ŸÜ\âAFã/qeÖfËÚ22È‹&O–òÒ )Ïóþ'û•ûŸ¤iŸ~=ª|úÒTÙo¤©öç uú4Cp-ÿ¢þZ>Óo` ÐÇ+°¶WÛáSøH>0”ëWÊ–YM“Zf«ë«A³Iý¥fE€D`ÌfÂgfÒ E3»wç}{0§Hô¤N:Å'640(ÎË#Šûôé=°ïùÞÿqýfû$*É"‰ªm…Mçæ7n×ßð»] Éí6$Pžë¾DyîU× `S­wÙT ¹›êas7 vUÍŒÚU€:½i…:Ý>Nàøî»ï$2é‰læÌì¢o>Í.jjjK/ý샓&‰†ùØä‡ ºÒ¾á"™öšv˜öÚyçÑÎcœG¿8ÎÒ`v±4ºxíY]< )Wóšr»‰ýÂH¡0Òîi>ïõœäó0¼%Â8¼é©éá°¢ D1ÑÑ<ø <,ho¾’gÙ=Ä;å´^ÊijÐŒšŽ¯”9É8ÁœHù(§ÞòQ@£²~}£¸»½˜½»p~âÂ:?äNëåãÎôaÜn·œ°ñì6°¼eе¼(»ø(¾Š ¡¯èbìÚÔŸĹnq‰ܧzÜsŸ*ÆΘmØjÌÞ½JD@ÙrîîO]#¾N§ˆ‡'â;€õ²E°^¨T5ÅË=eñ€w€r¯w0fÉø¿YâàQU­WwÔ ;€*Ш°ñØ ð|$_h ÕušB€ñ’ìd¼d#Ùž4]sH7] ž_}uA™qA©×wÒìû±.ø á€NEXóaóeóa@¶JvD¶ p¨Bªš*$,’tB½•¾@o<áO"Šqìo¶©®4Ûžêøñëo«C|…°Î˜NˆaýŠÈrœ6Ér^ÒßÌT Q5SòSꦊžÕMö¶~Wí‰ú]öØÀUr«¸ÊõµÌiNi™#r'³ÈNÊ,—.uÍf‘ç3øÉ|Fç° 7϶ äkåoË×Úå¢a…ý.Œ/ì4l®-lØ °Yì 6 `v0™†­lÞÒ²¨ÿ*ÆWŠòÖ^)LSŒcMSìã´á- ´á‚@¸²²¬ÒCáY¥&SGçÛæ'À]±Í㮈k½Ú!q·eÚÆÚ2Ù4ùÙ4÷QŽû@Ï9~ûzÎz¯óߨ{ݵq³õJT@-@ZèèAC`Fëuù8j÷c˜¡Ÿ1Œ¢ÀàŠ‹;»`O=€Á'Ož®äRË~ËÒŽ+²Å°Çl_§4A¦—&8ð9Ò‰ÒÃ_“ 7uɆ›bæ(JoÞ| ¨Š©­yóRÓZs'àöqS¸}ŠÏÑzú5ŸöH·Q ÝÆç¥¯ :’†«Å2Újé¸"a¡&,´óÌçLóù¯€¾L;S_fçTNOœT·o¿2úlÝ}¶Ã'Ðbö´´¼ú©)#õã‹rþ 7‡?hþÅaÚâ0à\fΚs™À-Ûuï[6û.Ñ™ZŒ%¦Ñs››=:(9öH§ko^$å÷ó{Ç/ÉöŽŸ»ûÓ H«•üîªT–\s©%×Û¼*_…lÞ¶=6oàöæ"ííÍ€_MÀv¿ ¤:¼[H5pgpÀàõÃÎ^”W”•WšˆfV.P¸Ä€mÆ…¦m‚ ø RÁ·ªJ”O«Ÿ7wZ½D¢R§h£F¦åL-%@ÅĘlò4šLž‹½‰/xUƒùX¾+kç«ò|]•„T‡ ©¢o$Eß„%ühÁÁ°€“ý-'éyóã§çBú Qu;¢ìãÌ~¦þf?qû~ø,ܦMú8m®>®¡¾u«8ž3ÚvqÆåËÝN)&¸òöν}Ü=÷ö¡Cm¬íýû&_£Ôä*n7L³ hÛ`z!E/†YHø^ÁÇæF“«¹PÏkþT=Hì±&±/Pûw* Ê÷*@ ×Õeç~{uë1eP¬0Ö#V;Ö8®Éœ{\tõöÞÓÕ8¡Và(ŠdššH½àÄ Á&” ¶´4RHitüˆB>­W+½A´´”l‹€1Ù0Ö˜ ¸g+àžÝ6T1õ„rØ…ù(އו4¤:i´Täÿ”˜ÿp7¦¸ðn @(}(gÊV–3@íåšÀÚË€Ç1ωÇÍ õÍ ÀTbH4•‚o1 †76’íxØ&¢ˆw&“ñ“ p‡"ÆýgIó¤‰Ò<V€l鬛-`×YG²ëujS¤:P§7Áñÿ½-2 ÓW††T}¤!Õ.g•ÖÕ,ù»ûó—æfÜ\\Ȩ•+I+–èúö%­¿?i¿ÿžT’^ˆ¤PR"òºPÍ~]hû¦“˜/é$1*¶u¬Ñ¶ðû, Ìï3 ËG]×tùX¼ñƒ ‹7î‡=f¸¶žâoMcâo ‚–ÎX¸Þr t½HzJ3$=Ÿm21 3Ÿaœ‰>…‚´¹¹¤ÿÃ%”äc A Ÿ<¹M ”òrT´Zí¾–{Ú} Eû´z‚Qº]jØd¶’M\$®[\$€ü}ùò÷GG*û?:L}ôû©€‚£ù‰Gª„ÁU K³ Yp¾äjv¾¬Ío,X ôÞå?º÷.€ÌErƒ¤às¤îTèù8 Rù ¡R ÄDNú:&˜êý¼ù§Ä„ø&ù€ô›d éNʦ;@O]ï ž:@*x CízÉJ3 ùêëI{ìYÀ%K?`@›žÛVQ\\ÌqÜ?9Ž¢Ô³T!êYí K—ÿI–X£ÌÉV‡mK®t2Ê•@hèÈ?„†?)ÿôá'ÀìÖ¢/X`ôŽ9û£æ±d óðÛí^cÕ!Ϋíz˜Ì%f…ÃRqB¥Àq)£Bæ™I䯑Q§O jj0{ö,âÿzcÏ0m¦8DAi©ÈßR ¿¥¼K”ÿò.zmï«ìµð¼ãõØó޽àáæî¨åMcÕr€OáóùûOX! Æ ‹Á°×hnkK q[Qƒ­öNÛcví1àïv©Bñì¶—™ùl ÄN:ÌxHRaÃöЛGì¡9®MH°8p€ WQA¤Éɪ’†Yª’©SUQ PEI$®—Ýßp½,Á³ì žEQòD§‡òD»Kµ™²TÎpóKÞ#¦ÆºÚº€nÖ¨[²t †,@ß_—¥ï>й>ày›`ó³ ôsu žðs›ÎVœH:[Q^N8±}…“¡è^ G÷òõe¼˜Œ×âÅ$II!ãêJ2-€ddÀÐq#tCÇü >€Ÿ¨|ë©|u¤ÊC XÜ,a·öÞjiý-»wïÙöþ}3¶mëè¿ÀóôÚgƒÃ“&†wïNÎ7l ûò»ï¶ûâgŽÄ®_'|QIY‹‹¥.²ÃR—ÒÒöêú¯K¿Øá¨Hä(-!±k‘^»F\5'‡‘I2²Ó§É N]ݯeØÿ©ƒôoH(F?ë‡DLIEND®B`‚KCemu-0.5.1/images/window-disk.png0000644000175000017500000000311012417262523017156 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk>èIDAThÞí™mLwÇ?3³,ì.°².+ ²Â•Ý€þÁÂàª`aô®wÏm~ Ö±æž @þ% ÜǨ‡5«ÔÃàköõûšA.‘äX*ó½½Tš#‰³š#÷q¾’m>ð4º,žFp*û Èl\ëÉlu…¦A]q P °dY²Áâ(š³8@Ÿ¾æ/út–×Ë£çñBȯ÷7ûõp³bðÓ›0û±³jöcHéX=”Òâ)©A<ãöï¿·ÃRõâî¥jxàVÁ‰n®E1%ù2›‘À[è{üÊæ¾Ç!Á«º“à…ÒÌòüÒLÐvê¾Ôv‚ê¢ú¦ê"˜^È{ÎôXvÕYvÁPþÀ–¡|pN9ÞpNý0öõðÙ±¯!µsMUj'hkWmÔÖ‚µ»ÛhíQ¿Kg„u…ù/¯+„©=?ÎMí‰÷~Ø2ñ”Ì—–̃íÃëY¶WfR¸ û- x^þn'ÿãv<ôÙæž‡>kCÏk¼¤ùÍÀKо“R¥}€>r{ãQèpµê;\0sjzÿÌ)0d§bÈûúñ~ûz0ÖçÎÕbØp=8wÄõ $š’ ‰&˜mžþv¶r½ù¿Íõ‚öƒ”*í+ý/½rn÷¥W`úÍ©Êé7ÁþÍø9û7à쇈’8$J ›åNÙ FrÞ5†Ñ7싃©ÁbF•0KS‹•KS Û¡?¡ÛTßÝîÒµ»ýÅ®Ý$ °a¥]Èr Ü– @}\cSϨëwžQÈm1oÉm¡†ýC ðèö'jÝÒ)E:{Ì.Ùc^9ߺ¾ûOÖõpíPpíÄ;þï„Åk‹%‹×€“X9>ß°?••ñ)ÊJH²h/'Y`Þïý~Þê‰~õ 8¶ùðc›a2ëÖôdܹ2ë¸s®îûvæê>èªëx»«2Îf'dœ…‰…>X€tÙ¨K—ÃmÁ: ï EŸwú7]õöo‚ü¡Â¤ü!ðÕ/ôÕCû±“-íÇ@.’½r¨·jÕ[¡°¦ôW…5`¼î´ ‚áLú g@Õª>§j ¿gÄ^ƒËÂkK^/X 7Ь–E0}Þñëéó W®ù½^ bVY†Ò^…CÚ ý§¯œï? êëšDõu0õþ↩7R–Q(…“kV¥%×@¹mëp¹ e¼løÜ£®wÝ£0£sþsFR“4)5Á†¶GÜÚ ·Ö|9·6ÒvQü&(Ï‹À@Z­0t¦u:âÿÚZ9G¦úOzEïR÷&?kX£d[00?úS®÷Þ1K\-fÅZ/|¸§æêÜ¡Uå_Bãöû…m)•5ÛR e^ü„2ox8ŽÉɱŽ‚$¬¤ÑQo›ç€·ÍlþOÕ½DœIù·8SEE(¡øøX ‡ Q)m•.—$KÏIr[Ûéžã¯î™›û7LÑ0ZîEržIEND®B`‚KCemu-0.5.1/images/media-start.png0000644000175000017500000000311712417262523017140 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>ïIDATHÇÕ—YLS[†÷ÚC™d*HJªŒiQ4bÚ0†„)h¢>€Á`$˜@ÄôA|0Á„¨ Ôˆ¨x &Áh€DA ŠR¦b -¥”™ÚÒÓé܇MõJo#pïýë휽÷Úßù÷Úk­Àÿ̃. s‹Š sc³F£± =®#º..ŽúøPEÐhh;Š¢í úyN?ßÛkJ6™LÉMMãÅ"Ñx±PçSÔ¿|\ÍáWÐI‚ “ee€MQ€˜èUÄbyét¬wþþ¬w †ý–££ýh9†¡å¨*•ZÀb®D²˜K’ßÞOM}{ìì;5¥#HRGäçOr>žätwÿcàà’ˆˆà’äd¬ðòúzvnh(;ÇO x¼“ÍAtèƒhï'•@$úôI$2™†k{{‡kF¨|qñXõÐÐXõýûÖÖcÖ‚êÂÃêø|üŽãwZ[ccÓÒbcml˜ OO¦ÃžVV6<5™FG4ÑÍžÑM ’r¹AR £…Óé´ðŸþÈ­–  ¥æåË–ŠŠóùÑbõo öoÁ°Ù'““³ObbÜ|=<Ü|··•2¹\)ëïßÍ…î~ø…Ë üÂdâ±4ÛÜOfdÄ“•@ž+‘Ès€ŠÈdZF£¤¥iÓ··µé4Ú†puuCh©hÓFuuÓ†V«ð–ÉÞ²zF©\=Àá…#G/±œ±LXŽcy÷îAŽèèߣ66ÄhII †Ã ÔÐéPkçÐÞ>Ú?88ÚßÙ‰ÇÑhxÜêª5Ðõõ••õõ‘Z[[È4‚ Ó?=¹>÷ðp}@LrRRL2nÓÈ`Ø4>{¶¹ˆ0ŒUOOS¡Ñh*¼r唀Ç;% ˆ½Gçh‡^¯ï YøâE³$W²––V²ÆÇáå‹EÚQi'Ikë¡P/·Ÿ Í„ `dA™”wŽ——;G§cäØÙ1rö ÓÞùúu[$E­žV*WOOLÀQ>ÿkêøø×ÔïßçǬ<ûaHû!ƒCóâE `8Àçû`~~>˜Ý~•5V Æ ˜—) †'v»lmíןwН¯w ŠB!y< `˜àY,sݯQlŠ¢ØIIðÉņÍÍý{‚f{ÖÞÞö,¦£ÑTÀdþö× QÌæ ,M\ž¸ RôWÍOsé`š’HÌ•iß´¡(Ú¦T†FŸ8=4”Xzþ|b)†íß43Ls++À†½ÞÐññ£¬unNÖªVlŠ‚Îå.ò¤ÒE^MÍAÁå×$ù5Š‚'×Óc  ¹YÁ“J<:ÌØÞ&3ö¾ÌÃkk‰™™‰0Jmm¥©©û‡€ÌÍi4ð2×ÖZà •¢e†–Õשzz†T:Ý~•±W9:ګȼ““yÛÆf7øÎ¶¨µõ³³h*ÕjM¥\{‹7o,€ÍF†jµdè­[#Î#Îzýü™™ùÖÜ;cÖÏ*áäô|'Û쇡çêjVÒl›¯ÖÖ6_ÐUØÚÚUH’ãúu8j2Y†mž\cñÒ¥·Uuuo«HrîñôôÜc\ûÜÝ]û̳ù|8ov søÃÉÉá¿(¾ ÜüÞñ®³³ã]Ö˜ËËkL²«ª²µZ˜Ç<€]]»ù~Û^ÂÒxù2V†aXYUU3**Œ‰aQÝçÎEucÑÈ`{Xú/ …âeŠêëêêÓëaýè‘xE(¯p¶ec¿ç>$+22$‹Ë…i¦¢*qÔxÔh2Á IfEñ<ÇóPElnª"Ì·Þh„1ªÓé;õz}çò2¬ˆùù0ÿŒUkvà_$sû•OO§±èt+>~ˆ§'ŒQ‡½ÁÒT¶¯ÏPa0*à‡uv ¯~ø ¼j0”ã?o…JLÕ©o«(IEND®B`‚KCemu-0.5.1/images/thanks.glade0000644000175000017500000017410712417262523016516 0ustar glaubitzglaubitz Volker Pohlers for help with the windows port, technical information and bugreports Thomas Ludwig for the great KC website at http://www.kc85emu.de/ and lots of bugreports and hints how to make KCemu better Holger Krull for providing lots of information about the LC 80 computer (see http://www.lc80.de/) Kev Thacker for interesting insights concerning the floppy emulation (he's also the author of the KC driver for M.E.S.S. the Multi-Emulator Super System, see http://mess.emuverse.com/) Alexander Schön for starting the windows port, lots of tips and for providing a huge pile of files for use with the emulator or with information about the various systems Sourceforge User Boo-boo for the libz80ex emulation library which is now used to emulate the Z80 CPUs Marat Fayzullin for the Z80 emulation core used for the main processor up to KCemu version 0.4.2 (I needed to tweak some bits of the emulation core; see src/z80core/README for the list of changes) Marcel de Kogel for the Z80 emulation core used for the KC floppy processor up to KCemu version 0.4.2 Thomas Bretz for the OS/2 port of KCemu (see http://www.d4m.de/) KCemu: Thanks center dialog True vertical True 0 etched-out True True 0 6 Thanks 0 True 4 4 window-thanks.png False False 1 False 0 True 20 8 kcemu.png False 1 500 400 True True True vertical True True 0 4 4 I'd like to say thanks to many people who helped to bring KCemu to the point where it is now. The following list just lists some of them in no particular order... True False False 0 True True automatic in True True False 4 4 False textbuffer1 False 1 True People False True vertical True True 0 4 4 Lots of tools and libraries made it easier to write KCemu. Many thanks to the people behind all those projects for their work... True False False 0 True True automatic True True 6 44 2 16 True True 0 6 libsndfile True 1 2 25 26 GTK_FILL GTK_FILL True 8 logo-libsndfile.png 24 28 GTK_FILL GTK_FILL True True 0 6 Ogg & Vorbis libraries True 1 2 21 22 GTK_FILL GTK_FILL True 8 logo-vorbisdotcom.png 20 24 GTK_FILL GTK_FILL True 0 8 logo-openclipartlibrary.png 16 20 GTK_FILL GTK_FILL True True 0 6 Open Clip Art Library True 1 2 17 18 GTK_FILL GTK_FILL True 0 8 logo-lame.png 12 16 GTK_FILL GTK_FILL True True 0 6 LAME - LAME Ain't an MP3 Encoder True 1 2 13 14 GTK_FILL GTK_FILL True True 0 6 FLAC - Free Lossless Audio Codec True 1 2 9 10 GTK_FILL GTK_FILL True True 0 6 GTK+ - The GIMP Toolkit True 1 2 1 2 GTK_FILL GTK_FILL True 0 8 logo-flac.png 8 12 GTK_FILL GTK_FILL True 0 8 logo-libsdl.png 4 8 GTK_FILL GTK_FILL True 0 8 logo-gtk.png 4 GTK_FILL GTK_FILL True True 0 6 libSDL - Simple DirectMedia Layer True 1 2 5 6 GTK_FILL GTK_FILL True 8 logo-theora_org.png 28 32 GTK_FILL GTK_FILL True 0 6 Xiph.org Foundation - Theora video compression True 1 2 29 30 GTK_FILL GTK_FILL True 8 logo-ffmpeg.png 32 36 GTK_FILL GTK_FILL True 0 6 Audio/Video codec library libavcodec True 1 2 33 34 GTK_FILL GTK_FILL True 8 logo-bbc.png 36 40 GTK_FILL GTK_FILL True 0 6 BBC Research - Dirac Video Codec True 1 2 37 38 GTK_FILL GTK_FILL True 8 logo-xvid.png 40 44 GTK_FILL GTK_FILL True 0 6 Xvid project 1 2 41 42 GTK_FILL GTK_FILL http://www.theora.org/ True True True True none 0 0 http://www.theora.org/ 1 2 30 31 GTK_FILL GTK_FILL http://ffmpeg.org/ True True True True none 0 http://ffmpeg.org/ 1 2 34 35 GTK_FILL GTK_FILL http://www.bbc.co.uk/rd/projects/dirac/ True True True True none 0 0 http://www.bbc.co.uk/rd/projects/dirac/ 1 2 38 39 GTK_FILL GTK_FILL http://www.xvid.org/ True True True True none 0 0 http://www.xvid.org/ 1 2 42 43 GTK_FILL GTK_FILL http://www.gtk.org/ True True True True none False 0 0 http://www.gtk.org/ 1 2 2 3 GTK_FILL GTK_FILL http://www.libsdl.org/ True True True True none 0 0 http://www.libsdl.org/ 1 2 6 7 GTK_FILL GTK_FILL http://flac.sourceforge.net/ True True True True none 0 0 http://flac.sourceforge.net/ 1 2 10 11 GTK_FILL GTK_FILL http://lame.sourceforge.net/ True True True True none 0 0 http://lame.sourceforge.net/ 1 2 14 15 GTK_FILL GTK_FILL True 1 2 True 1 2 3 4 True 1 2 4 5 True 1 2 7 8 True 1 2 8 9 http://openclipart.org/ True True True True none 0 0 http://openclipart.org/ 1 2 18 19 GTK_FILL GTK_FILL http://www.vorbis.com/ True True True True none 0 0 http://www.vorbis.com/ 1 2 22 23 GTK_FILL GTK_FILL http://www.mega-nerd.com/libsndfile/ True True True True none 0 0 http://www.mega-nerd.com/libsndfile/ 1 2 26 27 GTK_FILL GTK_FILL True 1 2 11 12 True 1 2 12 13 True 1 2 15 16 True 1 2 16 17 True 1 2 19 20 True 1 2 20 21 True 1 2 23 24 True 1 2 24 25 True 1 2 27 28 True 1 2 28 29 True 1 2 31 32 True 1 2 32 33 True 1 2 35 36 True 1 2 36 37 True 1 2 39 40 True 1 2 40 41 True 1 2 43 44 1 1 True Projects & Libraries 1 False 2 True False 6 3 True 6 end gtk-close True True True True True False True False False 0 False 4 KCemu-0.5.1/images/icon-root.png0000644000175000017500000000434712417262523016645 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>‡IDATHÇ¥WkL“W~¾~_[Ú*P  +L,EèeRu„ ²é0²é–- $ÎÛâ.d.f™sC"É6Í܈[¢ÁÈ6‡:3s\"Vh¬"˜Q-m×J)¥ô¶]IƒËžä¤9§ç¼çùÞ÷=Ïyÿ‰ôÒ§žJ/•Ëéž\î{Òçó=ï[êóù–=n4ƒA jµûÔê}==ô¸×û_÷#wbÊÏRiÊÏ‹qr¹œƒååŒÃ$É8¼{7Mϰ ÖÙÙ°ý|~Ø~’d40Œ‚°WØlö ·ÛZj6[KÙlßz¯×·Þí¦­~ýµ«ÅårµTVÞâi4·xãã ñ σ¹¹¬í!!¬í×®…GD„çç§iäò4MX˜sùÌŒs9IZêFK=‹%­R*¥U•]X˜MQÒ¥RÃbÙlV«ÍÆ`…"‘PHQt g‰Ãá,)/lŽløK;:ú—ööí`|ÁþÈìZ¹2³ë­·èÞ¥Kž·ÛSÃç¯J_³fUzHˆŽ§Ñèx€x]jªx¦•ËÓ´@¦M¥Ê´ìÐ뀂ÄM› ‘¢¡¡‘" èì‹/ É?T\œˆÇ£#rútFTVVFTyùc§„D#—K4«VQ»(ŠÚõûïÂ=‰‰Â=LfØ'|~Ø'ÀÀæÞÞÍ€¢bõjE°$S(\’ ¤œ—JSÎt®Ζ–N' Vwt¨Õûþ[³kãÆ5»ãæiƒÁ< œ³8qÎætβÎYöæÍ7·ôöÞÜráÂ<Ât޲XÜ­<w«ÕêyÇãñ¼³x±ƒœçž}6ç9€*`2©‚±Gñç‘ÁÁ?”ßA½œ{(±”••XÆ!’dš¿^_44¤/~1:õ‹Én§#”˜HV»ýÂþPD}õÁ[2·mÛ’Éá,”ãÆz½q ÉºvM“ InÞ’þçlåñ8[×uï½÷ºn!k4±ú©‰íp S:Ý0US£U]»¦UíÙ3—ÃA40Dþ}ÙÍ……ÙÍ }Pf6?(Δ?~¦4@Ô?–åed,Ë{|¢~¬0åä¬0q8´ªìÞ-;¹j•ì$‡CI+•JieVô\nì·"Qì·çZDÖFGGÖbÓ²eb0&°XÆ€¤S&“tùeÅÅùe±š ˆÕ­ ÀtÛÇÓm/fñb^Lpû|~TŸïŸçvO¶Øí“-sV©hYñzƒåæ£Ðò»º´|ÀZe2Y«éi…Bz:px¾ªÝ¿ÿ«ZÀ52;ëŒÛõzãvà‡¼£GÈŽt~üñ‘N`ô³‘‘ÑÏ‚ïWœ”WÌbùyiõ EZ}uµdZ&“L¿ûnhÓ¦TŸýž:•wôè©<@©ÌÎV*Æô³gÓ§õOë+¢ææ+¢àDÈÃ$I¨µL&µ îqgþ¼™MÇ̦@Ÿ¢˜LZÆ ‚oänv¹ÜÍÀxÝØØxÐØ|ölc3@0`̽wϘ àî\ Z…<¤Ïµ@Ò:*•r<ÇñÌ3©y©yLf°šá«W5Ã¥c2)°r[~þÊm@%'PCL’ 1à¼<3ã¼ÉàpB2Qyr²¨˜x0>>ñØÑÿþû;úäp‰$9èU«ûCH»'—§Ýóx,R£Ñ"ýâ‹9÷÷[˜L–>ÜÜó‰¶5\¼ØÖxÊ=O9PXSRRX .Ý¢mqqÑ6 U½|yª0ÅÝ¿oŠ„ë…멺ÉÉ©: _§V÷ë€ïT55ß©€—ïïØñò} é…¥K“^òŠ6lÈ+ÎTWwþ#‡ƒNE­vîе¶Òw:AX˜LÖó ÓE 7¸aCÞ` ÷‚!ä —rHzséÒ¤7–“Íf9§ß¯Ëöº±1{pÔPUuÔDÕFGGÕ.&º ¡×ÿú+i¹d4Z.y½±ßˆD±ßDEÑÅLffr˜D’Æd:ÓgfœéÀíÖë×o·ŽL&YP¥SÁb1@ZŽB‘–h†®^Õ £N½~Ô Š"=.—uÒl¶Nž;×÷iggß§'Oþ£¡>?TÐÝ=Yh·O¾ýv|öOÄg³ÙáÝ‘‘áÝÀØ2‹elà­ôx¼•@¸*22\õÿ‰û=oO³§*Qn®Jt¬mjêX;;KËâÆ´cÿu5ûA_ѯ¼B‡üøñ—¸Û·¿Äe³M„†.šÎŸ8qnˆ¹s?@<Â"DX€hn\\4 ß (ò… ûk{ž»wïy€;ÅwŠDZ©)DZ?¼qµ§çÆÕÏ?÷ÏŸ§·´ð߸!h m¡¡.µzÀµbE|_RR|IfËÍÍ:„ED„¾¯×ט÷ æ½ÀoÛΜùm {måJÙkQÄ`EÁ _<^_ñ8`ª6LÕ33³B§sVX_½¢»ûzÅÞ½ÎzA˜« sussThLLT¨ÍvË ÕÞ2¬[g°ÙìOBXœPC’KŽÅÅ-9Ù‰‰Bv@ÎŒF½ÞhèÔ Ønøpºè(hjê(p»Gî Ü!:Õªª®ÙÕuýËàõð‚/úÐÓ#Ø+ØY_oçÛlv¾XÜ›zåJojJÊð7oÿ8=MŸf&“x• ˆW â‰öö?&€é““Ó;žô¶¶žô©©vwcc»›¢èùÞ»^¯÷nI úS§âóØoºGAúyˆ$ÉCÏ?O¿í”Jf"‹ÅL‹½ë½^ïúðpºÚÒëé~k«wƒ×ëÝpþ¼NÖ×§“Žþ×}ÿÕ€û~6ì‹IEND®B`‚KCemu-0.5.1/images/disk.glade0000644000175000017500000004375312417262523016162 0ustar glaubitzglaubitz KCemu: Disk mouse True vertical True 2 0 etched-out True True 0 6 Disk 0 True 4 4 window-disk.png False 1 False 0 True 4 4 4 2 2 True 1 2 2 3 GTK_FILL GTK_FILL True True False True gtk-close 3 4 3 4 GTK_FILL True True False True gtk-close 3 4 2 3 GTK_FILL True True False True gtk-close 3 4 1 2 GTK_FILL True True False True gtk-close 3 4 GTK_FILL True True False True gtk-open 2 3 3 4 GTK_FILL True True False True gtk-open 2 3 2 3 GTK_FILL True True False True gtk-open 2 3 1 2 GTK_FILL True True False True gtk-open 2 3 GTK_FILL True 1 2 3 4 GTK_FILL GTK_FILL True 1 2 1 2 GTK_FILL GTK_FILL True 0 4 Disk 4: 3 4 GTK_FILL True 0 4 Disk 3: 2 3 GTK_FILL True 0 4 Disk 2: 1 2 GTK_FILL True 0 4 Disk 1: GTK_FILL True 1 2 GTK_FILL 1 True False False 4 2 True 2 6 end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False False 3 microdos.dump left caos.dump left tools.dump left a5105sys.dump left cpmz9.dump left z1013cpm.dump left z1013gdc.dump left KCemu-0.5.1/images/original/0000755000175000017500000000000012417262523016022 5ustar glaubitzglaubitzKCemu-0.5.1/images/original/14_layer_visible.svg0000644000175000017500000002506312417262523021706 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/convert.sh0000644000175000017500000000676412417262523020053 0ustar glaubitzglaubitz#!/bin/bash # # KCemu -- The emulator for the KC85 homecomputer series and much more. # Copyright (C) 1997-2010 Torsten Paul # # This program 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 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. convert_small () { SRC="$1" DST="$2" COL="$3" TMP=`mktemp -t kcemu.convert.XXXXXXXXXX` || exit 1 echo "converting $SRC to $DST (color = $COL, temp = $TMP)..." rsvg-convert -a -f png -o "$TMP" -h 22 "$SRC" convert -colorize "$COL" "$TMP" "$DST" rm -f "$TMP" } convert_big () { SRC="$1" DST="$2" COL="$3" GAMMA="$4" TMP=`mktemp -t kcemu.convert.XXXXXXXXXX` || exit 1 echo "converting $SRC to $DST (color = $COL, gamma = $GAMMA, temp = $TMP)..." rsvg-convert -a -f png -o "$TMP" -h 32 "$SRC" convert -colorize "$COL" -gamma "$GAMMA" "$TMP" "$DST" rm -f "$TMP" } COLOR_GREEN=15,0,15 COLOR_RED=0,30,30 GAMMA=1.4,1.4,1.4 convert_small player_play.svg ../media-play.png $COLOR_GREEN convert_small player_fwd.svg ../media-forward.png $COLOR_GREEN convert_small player_rew.svg ../media-rewind.png $COLOR_GREEN convert_small player_start.svg ../media-start.png $COLOR_GREEN convert_small player_end.svg ../media-end.png $COLOR_GREEN convert_small player_pause.svg ../media-pause.png $COLOR_GREEN convert_small player_stop.svg ../media-stop.png $COLOR_GREEN convert_small player_eject.svg ../media-eject.png $COLOR_GREEN convert_small player_record.svg ../media-record.png $COLOR_RED convert_small homepage.svg ../icon-root.png $COLOR_GREEN convert_small flower.svg ../icon-default.png $COLOR_GREEN convert_small cancel.svg ../icon-deleted.png $COLOR_RED convert_big jabber_protocol.svg ../window-help.png $COLOR_GREEN $GAMMA convert_big tux.svg ../window-about.png $COLOR_GREEN $GAMMA convert_big xmms.svg ../window-audio.png $COLOR_GREEN $GAMMA convert_big xedit.svg ../window-copying.png $COLOR_GREEN $GAMMA convert_big 5floppy_mount.svg ../window-disk.png $COLOR_GREEN $GAMMA convert_big 14_layer_visible.svg ../window-screenshot.png $COLOR_GREEN $GAMMA convert_big blockdevice.svg ../window-module.png $COLOR_GREEN $GAMMA convert_big kdat.svg ../window-tape.png $COLOR_GREEN $GAMMA convert_big kuser.svg ../window-thanks.png $COLOR_GREEN $GAMMA convert_big help.svg ../window-question.png $COLOR_GREEN $GAMMA convert_big info.svg ../window-info.png $COLOR_GREEN $GAMMA convert_big bar6.svg ../window-color.png $COLOR_GREEN $GAMMA convert_big kxkb.svg ../window-keyboard.png $COLOR_GREEN $GAMMA convert_big configure.svg ../window-options.png $COLOR_GREEN $GAMMA convert_big flower.svg ../window-selector.png $COLOR_GREEN $GAMMA convert_big kmplot.svg ../window-plotter.png $COLOR_GREEN $GAMMA convert_big xeyes.svg ../window-video.png $COLOR_GREEN $GAMMA KCemu-0.5.1/images/original/player_start.svg0000644000175000017500000000704212417262523021257 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/kdat.svg0000644000175000017500000001241312417262523017467 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:23:49 2004) hash application computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/player_pause.svg0000644000175000017500000000746212417262523021245 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/flower.svg0000644000175000017500000002213612417262523020045 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/xedit.svg0000644000175000017500000001524712417262523017671 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:23:49 2004) hash application computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/player_eject.svg0000644000175000017500000000704512417262523021217 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/player_fwd.svg0000644000175000017500000000642212417262523020703 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/player_play.svg0000644000175000017500000000625212417262523021071 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/xeyes.svg0000644000175000017500000001413412417262523017703 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:23:49 2004) hash application computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/Makefile.am0000644000175000017500000000071212417262523020056 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ convert.sh \ 5floppy_mount.svg \ 14_layer_visible.svg \ blockdevice.svg \ jabber_protocol.svg \ kdat.svg \ kuser.svg \ player_eject.svg \ player_end.svg \ player_fwd.svg \ player_pause.svg \ player_play.svg \ player_record.svg \ player_rew.svg \ player_start.svg \ player_stop.svg \ tux.svg \ xedit.svg \ xeyes.svg \ xmms.svg \ bar6.svg \ kxkb.svg \ kmplot.svg KCemu-0.5.1/images/original/info.svg0000644000175000017500000001026412417262523017501 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/cancel.svg0000644000175000017500000000630112417262523017770 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/kxkb.svg0000644000175000017500000003030012417262523017476 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:31:03 2004) hash computer icons device theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/5floppy_mount.svg0000644000175000017500000001134512417262523021367 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:31:03 2004) hash computer icons device theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/bar6.svg0000644000175000017500000001476212417262523017407 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/blockdevice.svg0000644000175000017500000001465212417262523021025 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:31:03 2004) hash computer icons device theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/player_end.svg0000644000175000017500000000704012417262523020666 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/jabber_protocol.svg0000644000175000017500000002253712417262523021722 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:23:49 2004) hash application computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/configure.svg0000644000175000017500000001121212417262523020521 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/player_record.svg0000644000175000017500000002013012417262523021371 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/tux.svg0000644000175000017500000001223412417262523017365 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:23:49 2004) hash application computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/xmms.svg0000644000175000017500000001745012417262523017536 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:23:49 2004) hash application computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/homepage.svg0000644000175000017500000001543312417262523020336 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/kmplot.svg0000644000175000017500000001013412417262523020050 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:23:49 2004) hash application computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/player_rew.svg0000644000175000017500000000642212417262523020720 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/kuser.svg0000644000175000017500000000720312417262523017676 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:23:49 2004) hash application computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/help.svg0000644000175000017500000001300412417262523017471 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/original/player_stop.svg0000644000175000017500000000731412417262523021111 0ustar glaubitzglaubitz Part of the Flat Icon Collection (Wed Aug 25 23:29:46 2004) hash action computer icons theme Danny Allen Danny Allen Danny Allen image/svg+xml en KCemu-0.5.1/images/media-record.png0000644000175000017500000000327712417262523017270 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>_IDATHÇÕ—KL[Çÿ3ÓPŠ (©¢Æ¢À(qá+47êÂÐh;Üа0ºPH ˜˜h0ŠQˆ&— ZÄð¦ V)[åM#¥@[ÚéÌ]œ;ô*QYÜûß´çý;ç|ßw¾þg¢~s•œœžžžNQ¨AMv¶HÄã޽Ǘóå+W’~4MÓ”ŽÒML°¬o³oó«W,Ëmá¶TU)¦Ó³g/^ôH{¤,»ìÀÛ·¯¹¼ærj*++# k×®_[[LÓ«WGlŽØ,+ïßEÕP5ÀÌŒsÀ9X,EE>ŸÉô©ðS¡×ëõúô>ýè¨Çö°-yy55 L@ÏŸ'×®¥¦®+XW@ÓiiIƒIƒ4-‘ˆvŠv.ýn|>nˆZZÌ9æžþÜ8iœNøÊ•ÖÖ>EŸ¢°”y~ÉÀ;v$8§N1 £fÔ7nœ<™‘‘‘!•®Z®×/ðg·›ì&àÎú»õw].·ÛsÆsæÒ¥–óIóÉ‹¿íÏ|ÿD)ŠÚNmòäÔ©}ãûÆ¥Ò¸8U¾*ù@Éå2•Lhµ17cnŠÅííýÎ~gjjddXhXhcãÈÈë«Õ*ô§¿@*ÛĶÒÒ={6z6z&&FyFyfùA¿UX˜¼R^ 9’bL1J$b1SÌ——“VjÁ€·nÕh4šM›ˆíÙ³k—V¡U0̯/ýgÚ°!Îgd2É-É­ØØmÛ4&éÀEÀ CGÓÑÙÙ‰‰ÑºhÇ‘hôõð#<ÐÚj6µµ¹¹ÀÛ·–*K0?ïUz•@}}wVwpÿ~ƒ¶A 47÷Þí½ ð<áèãÇñ®ñ.àáæ̦L ªªÉÝäǢǢ&p™Œpœ8±˜4dfÆÆªT*•L&Ô75½¿üþ2ðäI;ßÎmmæ—æ—€Ý>×0×TTÐÚjV˜€ÏÇ sÃÀÓ§ÑÑ@}ýÛ¬·YÀç϶[¶[@E…aÚ0 ôõ`€Õ:‘2‘¼ze2™LþšfZM«328¿¾¨¨ààM€`„à8®œ+D"¦Ž©Ο?H¤€éi§Ê© †7’7 ))n(nX½:B¡ìö¹œ¹€ÄW`fÆE¹(€aè4: ÈË;|øða (H#‹ñ¯ !€\.Ë“å,ë‹÷Å+•?æù]a1Šý-¡¡r‡Ü„†Êgä3ÀÄÄ´jZåoŸššUÌ*]èÂÃWt­èBB¯^ç:ç:@,éD: (Hf“Ùü&À0ôâð-ô!‡‡gg]%®’ït¤i­ó—Õjeµ²HÄ;Å;¯—-d !ªˆD´‘6vûÜ˹—@|üÊá•ÀË5_5_BDE…íÛïŸ0(HZ'­ŽO­K­ÈS ÔÖväväú+!!ŠŠ¢€-[4ùš| %%±2±èï­­ººKKb«þù‰msÏó‡øCõõ +ü!Ɔ Äù::.\Ⱦ}["¢ÅRE’Á‰ÜïÛè!˜†Põêã²ÇessÓÓÎgÁ±cÄjkN¸½½¿ ¿ §‡ä ÏŸ¿~ý!ýCúÒ³(AKÝ (ü êî¶œ¶œæùùy¯Ê«²XèÓ§‹LBË5_=_ŸßÐГדDzVëdÊdʯbÿº&'éŽt௿Z‡Z‡<b¢¹¹ ÷ñ½dccö;ö;_¾DE…M†MZ­ïÞ}šú4uð Z­Ü¨Ü(…†Ê#å‘Ë:66?TT" n·×ËêY}QQ[[ÿÞþ½÷î-º™ŸMHõ³gIéúõ]»´!ÚšNKKH`™L|[|{适77÷Þë½Çó/^tKº%‚éÿ(K[2ð×àÉÉÄFoÜ Þ›”¤ÕªÕjµ¶$’àà€ø€x€$øÀ쬻Ä]X,ãEãE,k2}ÖÖ³,ÉY††ÈÎ#>TW÷3ŽßüD6°{7)=J²«ÌLò‰I6Ä0$\ŽÀÆFÒþèQ[[_C_ƒÁ@ÆsÜïrüçõ7¿éÉ,&IEND®B`‚KCemu-0.5.1/images/about.glade0000644000175000017500000001776212417262523016343 0ustar glaubitzglaubitz KCemu: About center dialog True vertical True 0 etched-out True True 0 About 6 0 True 4 4 window-about.png False False 1 0 True vertical True 20 6 kcemu.png 0 True True 14 <big><b>[ Version ]</b></big> True False False 1 True True (c) 1997-2010 Torsten Paul True False False 2 <Torsten.Paul@gmx.de> True True False True none False mailto:Torsten.Paul@gmx.de 3 http://kcemu.sourceforge.net/ True True False True none False http://kcemu.sourceforge.net/ 10 4 True True 8 [ Build ] True False False 5 1 True False 6 2 True 6 end gtk-close True True True True True True False False 0 False False 3 KCemu-0.5.1/images/window-module.png0000644000175000017500000000321312417262523017515 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk>+IDAThÞíXiLTWþÞ{Ã,êˆ *†ÂPA†¥Z¢å â.U\ $¸k5uj&Õ˜Æ*Š!Ø(Ñ(ÑÒ¨AQL°mh%¸D@ " Òa`Ðáͼ¹ýqyLÕP¶M#_òrsÏܳ|çž{ßy aCø˜Á¸ÚA¬4aB¬ÔÃC&3Ià ©4&fÐsLÃÕÕ])¿ôë•ò€€Ú‘¸Šøìˆ…£gG¨Õ Ǩ®¸˜ÄD„I“XŽe9@¥U¥ÒönÇl7ÚƒCAËZCCNRKf°q:=‰““Ž%N=Z`…³{ã 44Ô¯%àš_ àcòÕø˜Tw==@8nOŽÕc̯   ëyË`ãeE<.tÞݸPJ¼´T$îqüeÿ‹ÿ"Þ DâUÁ÷¿¨ Z··n$Œd¯„¤Ò"i§¸šç÷ +€îxHˆØâmäþ}"eUKÔÇTK¢!R¢MÏ7þGØÖÌ–ºðæOuá€9¾í”9p³»å¸ÙÏJ/g%`ié4„8gÓœ’±}k#%%]4º+J<³†‚ ún^nïw°Ré“â›ç“L¿Û0ýBÿí”ï.s+ß Ôm¼´n; jVûªš]GÜi  y½¢F^xÞñòó¼Ó ò"Åqy‘ë ¿ §]‚ÿWô»èû}ÁZúË–Q©Báê@­›­ ÖÍ‹Oåo‰RŽ£ñ\èã¡›2…Ž¥¥Wï^n¾zwÕª>'`ÖÄùí³&®^M;ˆ› °ã–/-WßÏ×ðûãeýaãå·>œŽIIý³ºr%û€ø¨ESã£ÒÒˆ@Æ!;[f–ý)3ºáóC7÷òþøû^ž ˆgñø,ÀtÊm:°`g°´9Ûµ9€2VY¦ŒíY¿ùPÓï͇€Ú5+jOô¼®Ç;€–Öúõ´¡ÉΖ·È_È[€°¿„Í`YÙNYœl§ó‰‹‰sv.™³!k' YÛ;ñ——+^^r+”㸎çííâúw*€ß»—β²(qB´VhÆ:ÊZhXÓ¬_[Ó”à{”¿×A?@?M× ŸÖ–Ä×Ë-‰nãgÜvxÄ<˜‡Œyt¤uŒíHsèIü$?Iü}ºN£Oê#ÿZZé ®ŠQïVÅæ¢¶‰æ"€wçKyw‡~÷× =ãG²R.Ž•®[GwÞu;ÜÄÀê_Ô÷Ôz}ç©$g$^’3€1P¯2¼;ŸÄ»··Ó¯È‘#»+€ŽÏÚTåÌyS•½;*léB ·éòõ6À£ÿÌètÍ‹u:@ñb˜Uñ”¹%KÊzæåmåæå€ü™¢Zþ Pe¨ï¨2ï°±MÞaÀð=#~¾§wÿµ[kÖnšö=OiÚ÷.ñÞКq³Yb–\”˜ ¯ŒÐ‡W2}ù¿ài×8ªv=h¬ÚÜÜt77ŠÃri 4HèPêˆl×uDž©^yž©ÀÜM_vÎÝPu-IèËŽ›ÓÛFšÓFï†ÚFo€+æ<¸â¾WÌP#ô¡§ä}øCld Ð9¢srç€ðö'„gJàT@«·if«÷û#nTé£Ê!g8v<Ã<)Î]^DM^5`ò5„˜|‹ÚâfQ 0xýš®r^+-7ñÆÄÂËøD^Æ0D°?!‘#×* •×*·m×»¼:~h×vüXÔ–q5@9žþª×;ÛŸ‘蛌ÄAœJ Ä·léJS÷ésyh âìôiÿŠÀjÿŠädWù³²Ö5VV$ž‘A?zvöسvÚ@<~L…èèsù¹+Îå÷?Kò«5–djúP»gÏÒÆ#5,"Á’µxyBT]]Óõç§›®w.?÷“sù}zí¾W™æ¨W™o7P;vPâö¦ßípNÔ’oæDi4‚ ä ÂþýT4°}ðð ¥~ï-½E‹¨ÜQz´åŽˆ gfÒÀ}|æO­¦ca!%¾qãÀì aþ“ ÅHŠñ$IEND®B`‚KCemu-0.5.1/images/color.glade0000644000175000017500000004773012417262523016345 0ustar glaubitzglaubitz 1 0.01 0.10000000000000001 1 0.01 0.10000000000000001 1 0.01 0.10000000000000001 1 0.01 0.10000000000000001 1 1 0.01 0.10000000000000001 1 0.01 0.10000000000000001 300 GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK KCemu: Color Configuration mouse True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical True 2 0 etched-out True True 0 6 Colors 0 True 4 4 window-color.png False 1 False 0 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 4 4 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0.5 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 2 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0.5 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical adjustment1 2 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Brightness True 0 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0.5 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical adjustment2 2 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Contrast True 1 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Foreground True 0 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0.5 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 2 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0.5 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical adjustment3 2 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Brightness True 0 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0.5 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical adjustment4 2 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Contrast True 1 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK Background True 1 4 1 True False False 4 2 True 2 6 end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False False 3 KCemu-0.5.1/images/legal.glade0000644000175000017500000001524612417262523016310 0ustar glaubitzglaubitz KCemu: Licence & Warranty center dialog True vertical True 0 etched-out True True 0 6 License & Warranty 0 True 4 4 window-copying.png False False 6 1 False 0 True 20 8 kcemu.png False 1 660 300 True True automatic True True vertical True True [ Licence ] True False False 0 True True [ Warranty ] True False False 1 6 2 True False 3 True 6 end gtk-close True True True True True False True False False 0 False 4 KCemu-0.5.1/images/media-stop.png0000644000175000017500000000250312417262523016766 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>ãIDATHÇÕ–oHS}Ç÷¿KW[¥b‹¥Ëå´Ùbýc²üÃ@RJ²^D(â ÁÚ; C{#$E¦a–†Š¦©¸6‹9 £ÔÌÐ7¹ævïݽ·ç¹{xÚþ%Ÿç¼¹\~çþ~Ÿ{ÎùóEèfØz?LR™ÍI*N(¡8+‹æ†æÎž…Õ˜)N’¤8ŠÂ_à8þâËþ3ÇñŸûûE›(ж§OG+œÎÑ »ü%iÓã½Fc¼7.Žf†fkjN’.==ªT£‰*å8M{l¬¦]¡ˆXÚ¾=b !¼– ðZ„¼ów¡¯ÓÓ_ Xöã«ññ¯°¿Îç–嘢¢Æwï>{{7 œPi2%TÚlD-AµÍͺ‚ÄD]I-³XŽ–Q”Ò¹c‡Ò¹úÌ@¤r:ß¼q:Eq¸±¿¸Q òîû‡ûþÍ›k>ØtøðÁ¦”²$É—/­Ösç¬V†àÕ®dóѳ³óѵ]zô¨íËr4ËrtyùÈàÛ·#ƒ·n­¬Ÿœ¬¯VS{išÚ;5•ªÉÊJÕ(•?”KK?”C¨¾¾ªª¾^ ¥ÅÅ¢AEƒÃ±1\Šïv¹Æ»O楦žÌCè´-#ã´¦ûjÛÛûjïÜ¿C‡à)IA`¨ÕÈH±DÄ’«W¥Y,ÇÒ( å!„òJA(!©C’¤ŽÑѱœáá±çª÷ß ÎEº BzѨ÷`ØÛÝ=ÄjµPšiip^{;¬I Ã&33w£¢v9N‘®ÈÛxÊ×j؆aéª ]µBAZ)Š´ææÊëA`XHI‰!´Ú"<üÏ£þÓ¢3÷í‹ÎÄq¤Å ^£‘ûèVÛ¶SÛN!$ ‚X¬V‡K:I’t8¾¾í7ß €òìfA@hÜÓÓòdÚj“9ˆB’$ C€<èxýzöù§O³Ï½Þ­ž»6==wM’ ó}}!À‚ÖÖyËÌ̼…¦ÙlŸÍþó ˆÐd©Û=Yº¼,ÔB]cc0ŒÂ™¼† ðšæf‡§¯Ïáá8yÚ¬ª(j£`0h:¸ÿ$†a“MéÇÆ¦ô-7x½Ë ss -ÚÚ‚~¿n£9*вRe˜°í¾xѶ;<T–ßï¾çp¸ï……mVDÕ9‘‘êŸ/½åüùô…âñr}ýãe–õgû|þl› FsW×oe3\9rÄp%3о©)£êÂ…Œ*†Q•ïÙ£*—ÛÍúA刂¼D¨õჭý~Öà÷³†êj×Ρ!×Îë×C¾[ic—/5AÔܽ›¤6›“Ôaî=sÆÜKL‹BÁ´¬F?B®»Ýµ Iî®®7σ¾¾}Ûµh·»ËÊÀ;TدZÀCÄ““!âuu ÖL¦ý‚^¿_E˜ #¥yLß¿{Lò­¨QŽã;yžï\X1UTZáïZýmfÖ›R¨õãÇ!òYY”†¦)Mj*üHd$Üv’„ËúíDv` Pêž<ëì´ç÷ôØóõrüçí'¸ù|Õn”œIEND®B`‚KCemu-0.5.1/images/kcemu-winicon_32x32.xcf.bz20000644000175000017500000000332512417262523021030 0ustar glaubitzglaubitzBZh91AY&SY豟¾¡ÿÿÿÿÿp÷ôÝX}0“ÿÿßñç Á"€QÒÐ_>`nûÿà/¨&ѵE4™Ljm&Q¢mCG¨õ& ¡êdÆ£i õ =#Ô š 4òOH=A¨TiµFhÓQ£  Ð ˜#A¦4Á&#&010†d4b10F&@É‚0`#L bb2`#Ó`&CF!£a0`B šiSÂM“MG“Õ=#Êz‡’šiå=ž£“AêÓ@£! h Ô õD ˜#A¦4Á&#&010†d4b10F&éMè‰rñÇ"Ëk9p}S±,w´É Ó·XÄ&<ê\œÝ-%Å÷zÞµm·SƒƒƒàôFt´£ßÏ©R÷”UÍ‘­2„\úK©zkî×qw—Jø]`8«·nô ›M Î­!c Ï^µæNC—§«‰üôýÁ$¡Úa¥²/§…õÚrlÆã9´à§šŽFye¼#f ˜fhÄ0(2\“×7@‹Ã(è4]sz¡è7³f6i¦6Æ cfÏEÀáó˜9N ?CÄo‡ŠºãÍy®ûæ æ9ŸeÌ}wn û.@Ùœ·âºãaƒ†˜Ó1])LcfšgøƒÞ¶¶B 6‘víÚpÆ Å³!b$cL?¥’šªB1 ø¢C~íàf$p¦…iŒQ F˜6°‹x]Ya€—ˆTƈ Ò@ÈÈÀˆ–Šì‰dcÈj‘#f2"À`°bÔa¦%!Oœd°†–ih;Tº[ÒÊg±Ý£—1˜S$tm˜ÖÈóaPÉvU¢Hùp.fÛ›•ÍO<ñü÷_ m [Y>Áë©Õ¿OA_·=îhK™¨ÕLþÖÊJ'*EÃy–Á¶Ã´ŽÐV”‰ú’ çÆP-³‚`f¢€†ìŽÛU&Uýgm¬€eÁ8 tD‰¬C¾]Ù;6=«ßåœsƒPWóå°E¯æ˜ên~g}÷1{­,Õæ·‰¶ôÍZ´'º@>j>ý³‡Ê~+HY^ÃM7`Ù¦˜Ù M4øãaóéi¸ÇCLj‡„ÓÄnï8náŽCf 6zìކ8|‘§[M;ˆkiòŸøÓ¡ÿϰéºÐÝcN–!¸ã1¦ü0ìw}_çø}ßSmêòºæ„×DðméóCŽ— ó {}³Õ¹LÆc1e[Q.ûNÕvt3”$CîØÖɸ2nÑ71¸×$@[•v7ØY‚SŽ¥ëá²ìfje_ä Ì!è Û!€%ÐÝû‡i¬î%©C™è2…òãã.ݹZn{’&rƒ›Í{}|ußÈä«?| Œƒ™$.dƒ³Âéµ<*IxÜÍ $€Jˆ0&@·–LÊ*“ƒÂöê²`.àê˜{0êTæpA‡Arõ˜P <( òæöHŒDI80H’#¡§â…wóøFe÷B¥…0 {õe¤Úðø†¾g‡½xƒ˜a•c›K`‡e>@Ä"=¦7uŒ:X¡R¥ /<&¾û-©jØr•,zui¼óñzq“Ë ü…ÖÉçälÕ¶ÍÙC¦1€ÄNKKK W†í°4ça¦ÀÐB 1Bœ4ÒŒV! &p ¸ï40c‰!0äÓd;Ñ€äÀ{Çy‹µùd,÷Ìn:\ÅyzÛ7ÉåèÐèÈrÌ`Æ º¬Ë¡Ù¾ Ý«2Ö¦ ,mi>“Éå\·M•›b­õ¯`ÝyÏÒx­6æù“EnLcOÑxÃqã± 6yìwÂÛî׌ÆãÇ`ÓhЄw©úí۱ɸØcÍ6w\!ôlc1Åc61ˆr¿ø»’)„‡EŒýðKCemu-0.5.1/images/video.glade0000644000175000017500000004406112417262523016327 0ustar glaubitzglaubitz KCemu: Video mouse True vertical True 2 0 etched-out True True 0 6 Video 0 True 4 4 window-video.png False 1 False 0 True 6 5 2 12 6 True False liststore1 0 1 2 2 3 GTK_FILL True 0 Frames per Second 2 3 GTK_FILL GTK_FILL True 0 Start record on reset 4 5 GTK_FILL GTK_FILL True False True False True 1 2 4 5 GTK_FILL True 0 Encoder GTK_FILL GTK_FILL True 1 2 GTK_FILL GTK_FILL True 0 Quality 3 4 GTK_FILL GTK_FILL True False True 1 quality_adjustment 1 2 3 4 GTK_FILL True 0 Video file 1 2 GTK_FILL GTK_FILL True 1 2 1 2 GTK_FILL 1 True False 4 2 True True True True none True 4 True media-record.png False False 0 True Record False False 1 0 True False True True none True 4 True media-pause.png False False 0 True Pause False False 1 1 True False True True none True 4 True media-stop.png False False 0 True Stop False False 1 2 False False 3 True False False 4 4 True 2 6 end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False False 5 50 25 12.5 90 100 1 10 KCemu-0.5.1/images/kcemu-poly880.png0000644000175000017500000000405012417262523017250 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒWQIDATxÚíšÍkOÇŸ&“dóÒ¼×´µª9xó"ê¡ú7ˆ­Òƒ¨)‚E^ ¤ˆxèAÁS©o=ÁC}©µÆš¦UóžMv“l’ßaxØd6k²›þøýös ;o™}ž™ï<3³&&&&&&&&&&&ÿ7ôVüôéýû·o¡¡pØïï\^%©5E’DQ~ªTØ|J¹,ŠÍå”í¶æ×j­í´¶[*IR­¦l§Tâyžo~„b N¥Òi€sçfgçætÛK Í þ× /§ST*å²$ˆb¹,Š[[ñøÎÀõë7o޾ݻCˆÖ ¬áWVVVÞ½8þâŹ¹^»£¤Vko8¤Z•¤jÕøö%I’$ àêÕ+W._˜˜˜˜p88Îb1îýzn ït:N'@$G"ò3ûk³b³©§³X­„X­Ê_ë©Õg Íþvb~þþýägŽs8Ünã y° ½^·Û똜#¸ŸÀ(Êï÷ùš¯@QÃ3™l6“‘ÉÞ¬±éjí³=XƒˆT*™l>îþ8€‚—ÜwîܸqíÀ­[wïÞ»Lþú•Ljqgû—Ëe³¹ÀÎÎööÎŽ~Ièu§{êÔôôÔ”^+uF³67·· €pxh(ˆF£Ñ={ž>]\|ôHY¿.P¿:P7vJÃѨ/J”õD±ýÅIë™{¸&´¿j’ƒNF¡ÙÇŽ81330°°°°0?ßhŒŽF"‘ˆ~ƒZ­>¬®ÂøøÄ€Åb·Íæó<à÷ol¬¯ðüÈÈð0!>_óÇ}ü¸º àpx€Ý»wí°Ùìv«àóçXìÛ7€pØë¤å‚A€|¾T*•âñx<‘ åñs‹ “I§s9:38`iiiéùsãÞ[¯ ? b;‚Aƒ#h`ö³4²µõóg"!ç»\.—Ã!çg2ét: °½L¦Ór¾Ïçr5ÿJ:äo1lœ>}æÌɓƾ}Ñh4 `·Ûlv;€ÃA¿’%…JI§ÅEí¥¥SœŽR#×kÕvgÊ‹/_¾zÕ?Ã#†Í€Ž#`pÐï‡åt¿ßã!„F%tD‚Úßú…™ÕÚú:­™¡tu4FûjÚo³Ùí.—ì(ž§GÁ`0 ÉÒÅÎ@£ ­j·~5¬F¯Wxý¦ßgùãP£ßŽùÓ†511111111111Qã0‹ŽEž%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2006-11-17T21:31:56+01:00ó(“#IEND®B`‚KCemu-0.5.1/images/icon-deleted.png0000644000175000017500000000345012417262523017262 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>ÈIDATHÇÕWmL[e>÷öö^ ÐÑò±Ò–ðQÊZ _ã£-Óò­A`!cÉb;Ìl4#1ê’eü‚eËöK™HRãb 1•e L 5ÍD7Ø`PBBò)m·PWp´½í½þxsEAnjâóçÞûÞ÷œóœsß÷yÏøÃòóÓßI'++;;Å’b‰þ«ÈŠIÅdTÔÑ£ …Bqæ z¾x]ù|nÎÝf¼›ñîéÓ|>ï ïÊøxDi!-++ÅÅJŸÒwíJ$%åß!Z[Ëãár\¾¸(Eû¢}ííÁ³óì/bÖ‡õUUí"Œ@’qqBƒÐ ¾ñÆKÁ—‚‘‘!­—Ö75¡D”˜Éô´32’ê’ê(Š+"vãÆ‹/Í?šæLeKeKTðfÖ̲á0ãfÜããœ=ÆÝèt*¡JÉ0Œ™1{<§N½ xA«TJ1)05år¹\ÝÝCCCC@8̸—Íöë¯þjµÑ81±ôÚÒk^ï^DssÓ¨4J&‹Š¢(Šêí #'#'Õj£±l£l#"B$ŠÞˆÞèè°=¶=Üî5jêêºsgJ?¥?}zW…§|S¾­-D¤­­§çnëÝV¿k+x=x@¥’Ëår€·Þªÿ°þCŠ’ÉâqŠ D`|N-T )ª²2717‘Çãüø|OÔOÔ|pSvS Òt¨5Ôj4ŽŒÌ¶Ì¶tu0@NNjcjcbbd$ÙH6:eeÙÁì`lìóÏgeeeáøÎù÷îÍÄÌİì×_°#,ö»ß—_.Ä 1–-.ÎÜÈÜØ§épk¸àÚµþþþ~¿mÍ×éëìî¾{wÆ0cx啽xíI˜ÚÅ ŽãÍxóÀ@CƒV«Õ’dNNêÉÔ“»ç//ÿlùÙ€*ž.qKÜÛïYê  «ë¶ÿ¶Ÿ¦Nx`z:¤‡è!æþý¹¬¹¬'Ožš0¤Ç#™¹~½©©ÜXn$ˆ´´Ãù‡óêàÇ''''æÖ­ r‚üå4š›‹*ërígÏ;h gݺnž–ÉâRâRÖÖìöù7ç߬­å*xè@ ìm??ÿPöPpãÆ`ü`<†1 +a%ååÃó³ÇAyàÈéâè(÷Ìm¾ý°¾¾iØ4üÝh»qà%¡ÑdvfvÊå,ËÖ±u¹¦\“Px옺EÝ‚8ñ?/‰ ¤*……££ssss³³Ï\aîŒG›îÛoÕêd{²] Ø‹¨×»³°ºêÓûô»ýq*“——nM· $IhÍwß¡8‡=3a¤£f³XÝÝ©P •ØnF8x<ëýëýï¿ÿû ÐÞÞ7Ú7º} ìDmmÑÍ¢›!•Š«ÅÕ ŸO\%®rº‹íùå÷ÜthJð«WM¦êùêyŠŠŠ¢"¨ˆíy ÆttØ$6 M`—°K—/£·ï½73ãö¹}Hw1,-MÒ#éÁqîàP©ä?È ˆ‘çç™ìðáX{¬}kËãY_Z_ÜÉkW&¨§‹QOátÖÔÔÔ‹DŽ ÇvæÇrÞrÞ¶ž¢Ñ·ß¾wÏ)t Íæ?'žš«5?"щ%Ÿ”|B’$Ih -ÀââÊ••+\/Áù+.v8ìö=+œ”$Òˆ4mmÉÉ K Kz}MMáùÂó|>tB'€Õ:¦S‡ÃýýcÆ.„B,ËúXŸÑˆä©£c§¿¼íÞö•©T¼*^ýôS¯wS¸)¬¬´Ûn/Ü‹SR½‰^‚HNŽ7Å›:NxðÀëõz³³]®µ‰µ ‹eat $I¼J¼úÅ ZV'@&d|öÙ÷}ÿ‘ß?=í6»Í1 £gô¥¥èÌ¿uk¿½€>ñæfI‰ªYÕüñÇ++»wR‡cÇB¡p^8ÃŠŠ”n¥LJ‡%’¤$±H,²Ùýòò”z¥¾´5=Á`ssMBMM£¾5BKåóÏ‘¼ …û<(ÐN‡âÚí(N €T(@Kª¹y—!×X—”¨T==ÈðË/Q{XPðO܈`y9º¾þ:"ó_ÅÿÇñöØ7i­e”IEND®B`‚KCemu-0.5.1/images/icon-default.png0000644000175000017500000000413012417262523017274 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>øIDATHÇ­W{H[ç~rNrr55÷hÔÌKcê5­NËo›³C™ [×G s+:èê”9JWè([a®džJ »Z*ÛpP((s¨[ÍŒšª©·y‰&&ÆÜOÎþ8; ú ½ÐòÏ÷}yßç{ß÷{ÞçxNVÑU]]ÑÅç«Ûõzu{c£!`4çÏëZ32t­ééû¼Jå>¯Í¶>·ºº>?kþó̘†1ݹ““c6çä¼öšbP¥R J$Á»~ðîoÌü699ó[CªT½ôÒ³Æá=.c‰fšN4þ9¿F à×ÔÖ&ê‰D=_ˆÅâ .Ð[[t§Í¦“ :I__þ‘’’ü#:ÝnÓoŽO¿¹¶¶Ô37·ÔÓÒ"yE&“¼ÒÔÄ›æñxÓrùÖ½x|ëÞà }ަésÍÍÖÆ?þ°6zŸ¿œ$‹N•—R(È’$;vÎ)ÝÒÍçï{W©Ü÷n^^‰§²²Ä³·R{ˆ/K$âËl Db«skk«3yO±À•J÷%§Ó})‘ؽ?×4==ט¾(*2}AÄ/Aü²×³Ÿa˜ý@Ðé÷\…ÆÿҴݺÛ-ñbß«¯¾Ø×Ù)ÿ>5Uþýñãb‰T*–¤¤Ø-##v Ã_’$ñ%—Iæäd’€ü‡ÔTù€ÀHQ#@- …ÔÄ[C¡p+ ¨5@¬!52¿\.óïŒE"Ñ"`¾Îᘯ"­¡P¤•aT~­VåOMUÔ«ÕŠú_¥ˆÅ¢›eŸšž9h±˜ƒ/¼v?33íþÀ@á­C‡ o¥¥%+íÌÌÇ33¦xU^^| `i.yË)jµB!‘°«®þ¯‡íöÍ“›'÷ÒH2cÀÒ0êuêë:ú:5“››5°ôhÚõzM;`h1 -O”ù|²XŒåù¡!þÄ;L¼c·KVd2ÉÊO?MXFF&, ÚÒôtm©NÇ=‚ðµ`0|m¯ÃðR(^¤ú”©xËðÞ{ovöII’`öë©©Ù¯5ýÊÊš`ê ¦~§µ$§¥RÉi@~Q¡_ü'76ü'76Öf–—×fþþÛwÓëõÝìêÚ~táî`0ÜÝÑÁÜI$˜;55‚,Šd)zwF†ÞMQ²êÜ\YõN©9óôº\ž^àßnÄèG[[ô#€è I¢öÁ~@‹ôt-€ì&“)» ÀÿØs‰a˜K@ø~0¾¸úœNWM»ß_]u¿$ ‰DÂðé§Ž£ã㎣±Ø6]°“Íj-õVV–zKK…c"‘pìÉK7¬ïëÖì¤(#EQF Ô †ºÃ­GŽnøµ¿öñþ¸‰:rq``äâââæ‰ÍY½yyY½B! P­~Z k°´ðÏòùü³œ¶ö÷î =Î8¾V¬×«?NIaWÍfb¡ÎáX¨‹F#ÇÃáÈq¿Ÿ»Y2ã26êuì¤ô‹úÅǨiHKÓ4¢Ë‰è2Àñ7ûFßMÇwóñÀ=—Ë£ ØÉh·o÷pLÆ„}Ĺv-û¦É”}S¯QÑhŒ\Ÿ9®Ï¢Ž ˆ: ÿõ’’ü×®"Žž‰ GO"‘¶˜™™¶H Φ§ç @¾¾¸8_°<Ì{Žy/ðsvö'Àj †‘VÉdÒ*oÕº¼¼j]_ª#‘¨úÆ –…Ö×÷¨µuEE‰Úd¢l"eëë˥ȥu:vîäŒ+±m`xØ6@Ó–¡Ã‡-C$ÉíOµŒMµÆÞ¼¢Å‘H´øáCßy¯×w>™¨ñùØÌ ²#˜avŸc/PQ¡Š&“ßÚl“ßúýœØÙý6ØxËˬ†™Ÿßí/©fÅÉÛoÛ##vã? o‹ÅÂÛf3+Øø±Xüƒ®®pw(îþùgßUÇwõÞ=5t:5ÔêÝþµ vccùÌÂÂò™ÎNŸÞãñé)…PH)":‰DfgÙ¸'N$Õô‹ãéŒÇcÕÞÀ€éJQ‘éJEEj…J•ZAܤdÙa|œA¥¥½m·nõ¶ÑôSGz>€VpËåìÀ¸påášvwd$r,Žkkÿ䯿Æ?YYyÖ8ÿí6Lõ…ÐIEND®B`‚KCemu-0.5.1/images/kcemu-icon.xcf.bz20000644000175000017500000000377012417262523017455 0ustar glaubitzglaubitzBZh91AY&SY+ºjß²ÿÿÿÿuãáp'5q?ÿßqùŸ}U×ÁQE3“£ÿà×}ì÷Zl¢êíéé×^b9ݰÑSô${I§£F“ÒOL)êyjhõ2Lƒ@€ Ê=G”È£ 1€S*™0˜ ¦BdÊzz›S@Ð24Ð ÐÐh=M4€4 3$OQMäOSÒê õ  4€h@ 1!©§êŸ©¨ôž§© G”4 h db4`M4i Á `#LLLFŒŒ ÑÀ&˜%šš2d4FÐHôOS “OIdõ1 ˜LiˆM2i“LÒzž4ÚL&ž›1‹±•Ð$”­k%Ïk%@˜PŽ$“¯>ò¯ÒBºÀEcJT'È”/VPsØ€EdH¨T€"€¶EA•QTq}0P%€LÞO#? •Ïær S'G§˜+lVmË9[©ÙP\þ1IÐx% €bž‹5ÚIH„x·¼šND ²IEQbŽ;(‚UÈ% ð€@Þo³a±RêÔ¸R qi)4ÙUØ¡JH£JÐÚšj€¨^ ïÌóŒ0b€ÍyÊ+V°ô+Úµ(ELO§ŽqÎ+ÁJÐì èu£v,U©KZÖ¸ 0„!¯×·^¾c…„Yyy—dó}¹ë‹ËÄ´m"…³lsfƒ·1È‚A-æú‹ˆY ºñ Z„Øy—˜ýLR'ìbHŸ±R6CV¬uyûoV'¯mÆ8Ñã iAÓ-L'©‚A;ztÉeL€0•+k„Ê2™g˜Ù™ §öýñoê€ðŠ)0&–„³i1@1ßœ84‡½8!î»sѺSzQÅsšâŤÌÁ!nG(¢†÷¢óp.°,l‹=7ÀÒ@™1ÒA, =- T”ª¡ òIMTY™AUZP DS=‰7Ä eÁÄŒFx˜ŒeŽÐh(£,©ŒæI) ˜¸ÌQg9Å#Ï0/(ÄôEDÓéÿ A`Ήçd8 Ë#ÂaKdçº8aJÅ"2åÈÊe ˜ËÂÂ*Ma¡bQ;'? yÓ”„Œ1‹›ÉápË:^r[H"¢¢¥n5RòY$/†`U9',„ @„!²Qç F 5­kƒ¥$+` W¢µB”+ ª:ÉX[C^ -)»-ðÍ0¢úß©s5eŠáZ©±4¤”Òp¤%Ä»¬Á%lŒCËõý(è¨])˜£¢þÄf€¢¬•:§‰dùÚGæQE#FÑÃHÒy×þcD)¦WÀ´—Â!J.*ÄyOPñ½ù³“zÄä-Y‰„ˆˆp¢‡láú DI!0…ÍÈ¢:‹Þä†á¦s(äVü!"‡÷½X…f ×±L;ø&˜ª ¥œí½†f\0Ûl¦ &~}@Ã1.ê´ÀM0HAUH‘3³‹v*MÃCRƒ®‹7öí¥0¡Q#@+VÍóæ×Þ^K“»MA†Ú“ð£Ûm¨Œ)3 é,R¤÷B–HÆ’QY­õ võg+O%q^V+‚Œ5Õ‰‹ÄÙ eêͨN˜L<¢ vRˆ{ëìîÚyЦZŽ]‰#«8ÈâKŽ5 óBh»K\ÉÐÒÅ¡n¢*¿TËGÓðc…>lœÈ™&ñ½â R¸Ù³è¥3(FmÉØИôÄ|ß–15e™e_Éaažîê¨mfhâU$˜´³Áö*MÀ °•êJ ÿwA—MˆðìÚ¿§CjS¾R[_ÕñA‘)²YPwK6â@ŠÜ*Jžh›r†0“šbd eaÕH¦Bôj™äR–á<ó’×|…{%Y!ö&wÁ¸îIêœÌÛæÁ8æ"} d«L ìR=)†Ba§›†È`†“!yAŸß½¹c;ƺϹª/^çbU1õîð®U¥À¢ÇŒ+‹Kª®[Y–â0,2°7È´6âV8« ªÜ¢)¨h3§’‘ÈÇ—š h?s) {¤t˜xý§MႽ¡ƒ(pfqu°Pá(P<0`jûŽíü.?N½,’9Je/ÉïòñÞÕz<ѪâAÈ@ÆƒŽ‘ÒŒÔ’!Ʀ^Ã* \&ppåÁï $—¬u©YŪ˜@ÆM”ôs7¥YgXXż¥Æººº…,°™RÓ- ]Ea[3Ò'/ 5 A…͈Û E‡…#®º§OêäN]‰aTV1J³+’¼UÖº¡ ¢K¿>GYÄÈàÕ«UÉn„¡‹Ò@¿Ä ì=#ž(7ôÒÿ‹¹"œ(HÝ5o€KCemu-0.5.1/images/logo-libsdl.png0000644000175000017500000001514412417262523017140 0ustar glaubitzglaubitz‰PNG  IHDR”@sñɺbKGDÿÿÿ ½§“ pHYs  šœIDATxÚí}ip]çyÞ·žõî v€ @I‰¢H*’,¹VbÙŠGJœzœ¦™I›?­§É´Ó?]¦ýßNwÜLãŽ'u7ŽëER¥X›G %Zâ&.‚ÄŽ àîçœ{¶ï{ûã\€ÀDä ytÈá€sqÞsÎûœ÷}Ÿwù¾‹ÿü{§ÑçÇgó`>WÂg¼Ïíë_vü€ÁƒÏMïNQ@ B€1Á„ Œ(xòsðî>)¥¥AJLaœRþñcèsËÛží!ˆðá½ù•º»X±)ç”qü dð9vÛ;0Bˆœ1UêV<¯Ôê„«ŠªcBMb£Dã´;¥õeô®”º7opJÖ>-Ùþõ%Ç ätÑ)T=?A(C c••ß‘üPJ  oåú?M&òábOEFˆHæyÁÛ—¦Ÿ:ÜûÅ~e¡l™Xðli&aÊý4Aüÿñ^›%b”OhYm_^iTKS³Ss…KŸ\÷ƒpíw:²éÃ#ƒ¦¡Èçss•°P*ž©ñ}yeo†ßVBB¡.m_æªAÙòkN¹ù7ûsæh—6”m•酰ⲿwru[€Ðw×áX>y¨'­ãB©>½bLg\ÄÜ'ðþåwßm£¸¤¡ôç̽)X^˜9uæâÄÔÜmO1tõáƒÃ#ƒýÃÃû€©/œûÉ+o )o}çìØ¡C×L];´È¼äÑŪ¿XqÅF;|j´£>õ§¯¾„Œ,—Nþ§ý§ÿù¾šêP4s›ÁOŠÀ÷][%âH_B:µx2Yñ`ºØ°çŠqðk§ÛL›êÓ£Niáµ7>:å“;<ËvÜSg.>wå;löööI!"^pŸéœ»ýüÚ»ôŽŽì=6¸wÚ¤Wæm ŠÀP‹L@õ WuÞel×½P®p„|ךX¬t%2 =‹ILW.ÏVj®T4ó>à×¶T!¦ñÇ÷çœâÌO^yk¾°Û$BR „0'·sWNÃûx|rbjnÿÞ'=|¤'1¾`[þ¿‘彩 ‚”"îN ”)HUœêø\EUxΠi÷¥>ž.×ë>à×6ËëË™^µðÊkoÏ–å]¾€$lŸ; ÷Ü剅¥âŸ8~°³ãì´b%`“L ¢Ë!¸k%Ƙ«ØÕk‹å8§N}øûßøòáþô…EÇ¾Ãø1hG®×yOœ\8sñúì‚ØÄûºž<~ä¹ô8!8ÒòÅñÉ c“œ»Üp½ YB‘ÙÉÛżO;–Н¾uê÷žûÒ¼~vÆæšÑ„n“̦k¸/}Kü¦Å–kV2{äè(–"ÅåÁ¾ô…+‡¹jì\ÏP;ÀëJé¢Q¿6n$”Ò/áÄc>4~cñÏÿË_Eê34õÐpïC‡ÿ“¾úÚÛ§_ùåû¶ã†B¬Sj«•ä3©¿ü¯ÿÎ[嫖ݸxuòÔG/ŒMXv£åfÊ•Ú˯¿ûG¿÷\ÃãcK‚äªámt›šFï!ïcŠê‹àê¢ubÿˆÆÃ†cåÍøþžÔÅéR€ Û&›½¯I:Æ(©s·^[Z)·8ÌC½ý}ûêéÙBñ&×°œ÷ÎòÞùO1ãkOýöÏ^üÅ;ç._”+¤hO`v©üoÿÛÿŽþkêê¡¡Þ'ãÄÉ££÷Òó‹+rãc,,ßûÕù“Ç›ž"/I)[dF¤V뽄)zÃóÎO,}pdï`N =gk·)å:¯yï¯0eª^®•f‹V†ÈR©ØÕÕ13«NÅwE71&;Þ= RJ°E š]\~è÷èèàT¡¶êL3(å!QžÛ¨—ǧ K¥Ú“GG.O-åÓ ´UÌR4C‹¥BB„¡×øÅûƒ0|æÉ‹KÅåReý)…•òÔÌ\o¿ªPw«Vi ÜaYï= ã„«”7Þù°\®<ýø#½ýÙ›-7B®0®ìÆTA"BRJ6ƒ7_Xù婎9pâ@_ÏÀÞZßZª/WÝÅŠCS´˜j$<»V¯,ýü—gà…gNJ)7[ Œ¢Ç’!)ÃÐwµÒ‡W¦S'œ8zŒ…nñêV:o¤t¶Ps¸ªÊw_ªP(דiÞÝ‘¿6½ùórÕ*W­Éé9ÎØÛœÓT%3{ôȳG­ï+‹WfP¢Ce»´XªQ+I-ùF¤÷Íñ ª˜Éšï#L;s™jmfýYÕºcÙNt¢”²EfÔUm[Ìkiø°\†ósÓuW‚k[=ÙøBe) NØî¡BÉÞŸK õw_›¾EŠ&„ïzÍÊÇøäô_ÿßWŽìzþ¹/ e;ÏNUÊ.&Äf· }JNF(Ǫ 骲ùÒ¥rµÑp·”)ÚKXÖðcÌö¼P")@@P,•†2£Àum3ílx~c3ÅÃ#CSs…Kã“âRl)e /\¹2qã…¯>ý•ÇŽ¿wµH0H€(@mt›MJ¶R´HL5ÓÐ7ƒK °uÌC7m¯màÊ9 B0 ü0 Eà6Òqu¾ìrÍloϯ=à®L,,bá>ýÄ MU>8{éÎÅÖ-û‡?{½Xª>ñø ®²Å­hýªÛDr+EK@ˆPŒñf𢢠‚è¸#W|¯ ¥t “¸~cº²²¤kЦª ÇNÅ´™¢-¥ mí}·§¶‰ aZìÊÔ|à_{öé=½g/}261u‡§»žÿæ©3ݹÇ6¡k-"7ë[ÒzÆ(AàzÞæšj3Lj‚Þf™€ ]©ÂZk%¦¢ÆòÏ^|ÕÂcGöïéë²mÇLä¥R†ím}³»®"¶ R ª§ÎOÌ6|ÿÈpß·†WVŠW&¦.ŽO–Kw`Îûg.ïÝC[Xž\ÞÚ"›äŒ‚–ÝØüQÌ4TUÙ:Ž®³¼v)!„ Ü VwÁžïAØp½t†J!¤m¼PÛÜfÄ´´DŒOÏ_›)ìíÍ÷uf{øk¿õCãoŸ¾P©Öß>}¾Z³>MÀå«7(Fé1OÊ[0ø®ÈÐY(¬´œÅMÆMÎl;JØ·Yª¹ù\þ›Ïuròz6 ‚0ŒAJ!Ûz¡¶‚‡ÂD‹g SjK3c“sצc†ý=<Ô×ßßÿG¿ÿ\¹Rýþß½ü«ócÁº©ˆµžN¥Za(åÖ©Â*_fG:SZmin¡Pl9«»#'©;.l‘~Xs¬mT‚ø‡öwÕ+eBp°ú8ÍNåncÔ6¿ôP¯èÍg–1Îôôì²U*”­F¹n#@W§0Æêk õvüá7¿>4Ðû£—Þtn‹¨jÝBñ)Ì­ò• 7œ‰iIüý©³-•UŒñ¾Á^_ÂâJek˹Z_iŸN¤šR^*aH!+*w\ÚMà% õ¡ãÝ7^ïÌgžyk Udzª™ ¼†gW=§.Ã@H4‚óWg\?|lt «#;q}vs{‰-ª!°ÖT]Ãù¤þÌáÎKg?üðÂx‹¨dÜ8¸oïrÅv)eó6Um"™²}I:†e>®ŽŸ-!¥”aMÕʶ !„wxQ‹ X®þè¥7_xîé#‡GGû{.L—* ®™\3cYú^àÚ"ðÏ‘˜jšÊm1BH*¯Yöf+Õ®B„Á8S³ ýøžäÔø¥üøÕVQïìK¦Sg>;yxVkn[’ v•Ç •gtBÃpia¾fÙcŒ1ÁXÅ®N—° -OJ)E®çýíO_;26ù¿ó›æ«af±â,Uœ’åR®P®(ŒöåÌá¼635±™_tæÒ†¡¯2ÊÖ@*a~ë«Op-¦ÅÓ|[zö[¯¿þâkïy¾ßÊ×ÓÉgž:Qq¼¹BñäC#ŸÖ©HÄo}å ®›Z<³å£Ùn0½\›Yªm9T¸±ùźc¤83±¼´hUk„`ÆÆ87$aU«0i¿åÝ;y]_hjü•‰+SO?rpd¨£«óÀþ|<™$„ „‚ X^\˜žÿ‡7Þ]Z)·È9vd¿DÄõƒÍ1¯\­÷û?fŒ®–ÂÅÔìâäÔÜÔ\@nJûØo=u"™N¿ñƯ„½aeVjÖw¿ÿcE¹U±XÓõ‡‡ö---{’ÜzMPGÒ(ÎŒ½òê뵺¥p>8ÐIÆ1Æù\±êø~€˜†¶*#93»85»(„X)Uªu{P•Î\Æ0´Î\úä±Ã£÷ŸúÞO^/W-LhµÄbñg¿øØmïÊе#ƒšª&±\.ó«‹ßûé[+åB¦ÆRf¦S.J5Û0Ì/?}RlŸ,¤±@€ å–%1M1u®“µ+WÇ+ÕzÔµ"wwesã³EËqƘrD©l7xøëÿñoàÖJõåYFðÈžî‡÷ïèÎ-,, )jµºm;ëYQ”T*©ij*•¼6[xçÌ•JÝAÊ´x&Ót'ŽÚçÞâ°Þ¥‰é†çWjöÕ©…›:U4-‘Õãš4’‡õáœz|t/¥Û!)׬óãS_’LK÷ެÿ¨'ƒmUK£¥…Ù…Ååµ|1•Œ?úèѲ‡®\_…$Œ«fR1bm_ÃŽûßÿàÞ¥ÈÐoTW|§ú R×Ô¡¾NÎhw>MÅ[|ìÌb±n;3‹E»á6ÛIŠ®ÆRZ"4¬úò¬ ƒíÞ¡”*:×LÅH(Ɔ+zVÅZžÛ—¹!Kæâë]åoì~ùGÿgìêD:™ÈgS goSå±G=ª|m®áú„P®™Š™Ü‰ÑÍö¦1åzªC1“k Ës‹S¡³c·»¼¢kñŒbÄ)W1¡L‹i‰¬W/‡Áí£&!Œ©e*¦Œ©S4Ê•hbCåZ3µDÖµ*¡ß¸‹G£Laª®%²ëÅæ’zJ§õº%%H)8g”RPþè±#!Ó/MÌ5ÂJ;°¹-!BpU1’R†A£.|_„~èÚR„­„q=F¸Âk&¡þØJÆØ…Ÿ™­_ƆÊæ_ñg/¾ü‹å…yxRJB0!„ÝÝ]ñLnl¦81SX]Ç„)ãL1EÛ‰% ÷Íò/àô•é0 zrÉÑþþÉÅê\ÑZ®:¶ëïN«£ 㘮t¤Œ\Œs¿î8vÜ40Fœ±¨æ‚1J§“ñdÚCôÂõÅbåfµ–0ÎT“r ÞQׂóß|oGu Eà$ þôÃC=9/ó%g¶h/–­R­»CMe¹¤Ù‘ÔO* §4Â¥çÙÕr©\©Õ-ˉ™g4ŠpÉt¨2>[\.×lçæQ®ŘfBwzs2:øøïî¸ó!THiYÖÂJÙv CÝÓ™ìËši3›ŒŒƒ¨ëü@½)%¸/ŸP½òå³etÜ“RC»\+mË•sÓÔ9g¦¡÷ôtr#¾T÷Ǧ sKåµ-J0„q¦™\70¦÷a[9våڻʖTP X«U.MÞ˜_ÝÛ;:Ô;3³úÁ®ØŠí/Uœù¢µX²/¸Ÿ¶H0N˜jO6щ¥ úò‹ïŸ;÷qê¥õGB!Θ Îs¹Œ |f¹vc¡P©;Aº¬…p…i&S „HsØwçÁ»?ZÂTÑ0¡ž][*/®TÏ_îäÀ`6®TdUõ‘½Ùš+ËÎB©¾\qꎆ nyÝsÓü'ׇ»Ó³Þð31M§ }Û®¯TkÞ¡‘Sã½]9B '8šW£Œe³`êØÅɹåší )Öß!”*:×MÊT„ñ}{÷ðÿì/î§w)‚†º¶”!0tåðÈàþÁÞÞl|2S»>ß² OÓâ˜ÂTƒ©Æ­]~lss¾Ìô8f?~~ìz_W~og_Gº#e& W02ÁùA3%$ò„ôCp¼°R­[vƒë±†ø¡´:õaÌ8Fb„˜'UŠKÉÁ={4N ’ Cž[T‰èí”a@4Eá3ýáÝî6ïª"L0"ˆ"ÔôqQÞ6­²±Ýì}Üæ]$ÿ­ üš~yÄçßâõ>þ?žÖçìâJ‚¸IEND®B`‚KCemu-0.5.1/images/icon-kc85.png0000644000175000017500000000271712417262523016433 0ustar glaubitzglaubitz‰PNG  IHDRÄ´l;sRGB®Îé‰IDAT8ËE”[ŒUwÆë¿÷9gæÌ…†a ©¶˜ ´P•à%U#5Ôš€Úަ†˜Vckbâƒúà£%Š4Ú¤‰&j5åAÓ”X±‘R”‘R’2L‡¹œí̹ÌÙ{ÿoˇâÛZ/+ßú¾_>xë­óW6ß1v·‚Ðñ2lP|0H‘“¡Ÿc¸ÐÁÈ‚@‘Óv‘$ænzf¾tð±'@¦¦ÎýmltõÇc•V»E$!„€‡ €Wœ· 8ç‰ÁCpøÞEœwxç°yGI{äf}þêõé…‡d¥qCß{¯Ág>÷õÚ"A¢F<Æ¢F4(1F"‘è“DÅ:ËŽ;ùî¡ÇÙµûi’¤,,ÌS¯/21ñµzv{ë,¶°´Z-Ú+m²,C4Òî´³£Êèê*ÎF¢FŒ1\¼x‘êÀíÛÿB*¢H’b’¸vmUe±¶ˆˆ˜k-³³5^=rˆ³—ßåô¥iŽ~?{åV#£·R¦\)¡5/ܶÔzÁzEC ^«S¯ÕÉŠ ÕîÛ(üæ'ùÑ åá=÷ò㉠1òàS¿æ{öròŸosrò*Þ!"Æ» ,!*Þy$ŒPº³ˆàCdd¨J¹DP%DX¿fF„ ¡+DA½!5\èrÖÉ:ıÎcDéðÄOÿÈ£Ÿ½Ÿ3ÿ¾ÊÉ7ÿKˆ-wŽðÃ_ý…¬“18ØO–yl „¨ëÓÌ !‚÷žf³I§“ÓW-ÑlT*)"BôžOOdyí8cÛ¶Òç=’$ÔæØóÁû¸pü8Íz­KL±ßH°øØ5¦µÒºÀÏo|sK c“¦HµŠÚ«ÖÓ·z€ÁµÃô”i¯4©ŽŒ > QQoQULÞ9œ÷4Þoñ¡±až?|–ó§çزq”f3G42óÊk¤3Ëô6½KŽj#PZlÓ~sŠ™ÉIÒr…¨ë# ¤F=Enyæ;c÷–q:¹…Á Ïþö¿?övЧïz’Îë-Äô"€ã~n}t3_¾ô¸žF%ë°^Èä¹wY_®2·Ð MÖ¯`òÒ4OîyŠí¶qvþ_üüÌ/è+÷³ÔYâ“›öòµ_elxŒ•b…¨‘ÂYP%Íb øœ4-qüÄ%޽rž‡÷m¥Õtœ8ñ6«zx©ö'^¼ðT•4I¹Ù¬³¼¼Ì9íc¸<ÄÄùÇ‘.ò^»V˜P]Ä{Koo™ØŠìºïNNŸ™f`  ‰RJÊT“Þ{l°ìäJý S³Sôöôv©ð±+À£=ýýÒÓ[¥Õê À3O¿ &Ò_í!+ †‡‡È}ÎÒrƒ41(•ÊTÒúÊÝ6tÁ³jhŒÒë³3²j`€çþ2ÎÏ_3^ Ä@Œ[("wVˆ’`XC^ ‚׌y+2>>FnsTxî¹ÃÇ«Õdß]›ïq®ð¥be™<+0õ›´×¬A®ÏP ôARAon$/rZŒÑM ’Áw¸õŸÜj5™»¹ÈËÇþŒ¨ªˆˆùöÝæÄå£Û·$-•+l_Ïìì,ã7⊠—eT‡F¨ß˜Ç”¢ œ9{žvÃaJ2Uš–f͆Q L¾1øê=wxgmqñržåxk™™¾FžåÔç˜[¨acnæ:>äTLŠÏR£ÎûíkEmöY³!"òw¹ÝŒ_:ðÈ©[ïýÄ£« AP"* 1EƒÅ;õ@TŠ`Áä!ªË­´; .O]åµ×Oý.MÓ)ïý³éíÃC¥Ïl¯<þõo­lúÀËÆ¡uL5®»ÝÉÿ¯çî¢Ýl/„JëÖ­ý"ðŽ÷@þÚ:[Nìß;'IEND®B`‚KCemu-0.5.1/images/media-forward.png0000644000175000017500000000330312417262523017444 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>cIDATHÇÕ—]LYÇït¦E¨‚jåÃ"-âWHˆ4Qƒ>¨`$š@!1ø†/J†ãƒD£"AD,AA!QET>ä3 Z ‚@‘ét:ûp»¶Ûà²û°{^&Ó{çÎoÎýŸÿ¹EèØZ óˆŠ óJ™L†a2““&’˜†Q__6ˆeÙ >ŸWËãñjµZzÔd¢G››-‰‹%ñÙ³/y_òÔj˜Ï²ÿ:ð£\¾Ã$ HR@")Ë"é±cÞÙ‰w¶É$© ”Ô‰D.ó®®.óñŠpœW„Q¿°`Ô#4‘®ÑL¤SÔHýÀÀH=¶òÞIQ&òòå>ù§O}òwïþ1pp~DDp~b"^„ãxÑ“'ÒôÐPi:ADç*ѹ|þºŽõë×uüþÎ@¦êèxÿ¾£ÃbùXÞÜü±œa óyy=÷?|è¹ㆣçqG;+vïÞYO\#âšJ•pâDB‚Pè?¸}»ÿ Žw¶µu²¬D$‘b6ƒaØŒõù9õÌÌœ¡fÕë×Í*–õ+ ò+Ã0â4ŸOœFÈGæïï#Ã0ßÌ€ßL¾Ý×7|;.ÎÃoóf¿?¦Æuº©ñÖV[.ží²Ïáá²Ïb1‘Àç ÕÕG(¥òE’Y„4ÃÚ„º[ÚÛ»[0ìUÈÓ§¯Bhš•²,+µ®3qpllâ B½»>}êÝ…aµúòòZ=EY²Æ’eç©õññÔ"¤4œ?¯4$žAxÆõëÀ³*0Ù-’Ýùù²%¹\¶$>|nçoø[‚…uºá‘þþá‘©)[pwW}û6®ÒhÜd²w¿·y³û=„âK„U"‘°êÎåbvÀ U//XèÂ…½¹ ÅÞ\’t¨¥"Ç‹&'ánï^(&½¾^YYY¯¤ip „x…8Î+œ›ƒâÚ·O[0:ª-øúµ&¢¬¬&Â…aPÜÛ¶4µƆ0 JJÚ$÷öÞ$7™D©Î΢ÔÕ‹¨kc[[ׯñqJù㥌‰ùZ<8øµxbâYUõêççòxà]l,€Œ¨R=R¥PSb63%aƒ† "$- ‘ˆD Í”;`ˆ÷Å·móÅWGý5úµýZ­2iÕúùq÷à¿ÓÓ`‹±±б± ÅÈHMdYYM¤|K’Ÿß–$©P؃ÁK$œ®5 “:hÜÓ^m·3Óju×ôÌ d46V—®ÑèÒ5šLqñ†a¸¶d2Œ%S,¶†báñ~lµ[›› Ž:š·è:?¿èº¸w““ ß¿/Dà6vûEÆ­Ñpi­ÅëääúxÃ×Çss°Åz»Á}§ý..Nû«ª\\]]"#ÓúrrÒúZÎ]ZZÎåÜhzÚØüš¦Í¯ß¾û1× /xù\B(„{ÎM¬ ÎžëÖ9{>{ ‡¼ššzòªPÈIAwQ£Ñ]dYØù¦&;`Ðpuµ^16¦WPõ´®Î-ÚÝÝ-:*ê JL<øs]£ñWÐêj¸ÆÇÛ‚r>>”ÝÓ3”½´;T^nÜÝÚÞÞÝ:6š{òäÃBSÓ‡“É(HˆË ºg²ùÂe³PHö…d@¿‚*¶ \ Ëz{‡e-Ý5—îêtp¶¨©±æ‚ ]^¦Bsr:ÝÚÚ:ÝhzôÊÐÐè븹¦Í œ„d2G pìäæmݺè÷‡³³ß"Ô˜¥R5fQp\º´’‹C`Ζ ƒgμ(­¨xQJQߊ¿#´Ñ o4X[¯-(¢ÝÝ7üÉÌΊ †Y1B•çKK+Ï//Ç޼ ¶|«/¡5ž=‹â8^XZ&ŽŠ ãxÔ»¢Þá8Y%‘U«ký§”VZq—A­î2°lKOccKMC#¹u ü97fÛìûr.22ä\x8h¶¤\ ""€‘É‹:$Ir‡È "!ðU®ê4j2Ñ 4M7p­úòåÞS?öž²jÕQ¬ù/wüƒÌ''ó%_rä|ˆ—WlÐÉ&'!³--æ³Ù\RY ÖРN{óFf6¯•ã?ð6¼P©ÄÄIEND®B`‚KCemu-0.5.1/images/help.glade0000644000175000017500000002667512417262523016164 0ustar glaubitzglaubitz KCemu: Help mouse dialog True vertical True 0 etched-out True True 0 6 Help 0 True 4 4 window-help.png False 1 False 0 True vertical True 4 start gtk-go-back True False True True False True False False 0 gtk-go-forward True False True True False True False False 1 True True True False True 0 0 True 2 True gtk-home False False 0 True Home True False False 1 False False 2 gtk-index True True True False True False False 3 gtk-refresh True True True False True False False 4 False False 4 0 600 300 True True automatic in True True False 4 4 False 1 1 True False 6 2 True 6 end gtk-close True True True True True False True False False 0 False 3 KCemu-0.5.1/images/keyboard.glade0000644000175000017500000001654012417262523017022 0ustar glaubitzglaubitz GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical True 2 0 etched-out True True 0 6 Keyboard 0 True 4 4 window-keyboard.png False 1 False 0 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 2 False False True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK center 1 1 False False 4 2 0 4 False 3 True False False 4 4 True 2 6 end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False False 5 KCemu-0.5.1/images/tapeedit.glade0000644000175000017500000001677312417262523017031 0ustar glaubitzglaubitz GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK KCemu: Rename File True mouse True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK vertical True 0 etched-out True True 0 6 Edit Tape 0 True 4 4 window-tape.png False False 1 False 0 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 0 0 6 6 [ Text ] [ more text ... ] 1 True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 6 Tape name: False 0 True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 6 1 False False 4 2 True False False 4 3 True 2 6 end gtk-cancel True True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True False False 0 gtk-ok True True True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True False False 1 False 4 KCemu-0.5.1/images/logo-lame.png0000644000175000017500000000710412417262523016602 0ustar glaubitzglaubitz‰PNG  IHDRa@ ö0bKGDÿÿÿ ½§“ pHYs  šœ äIDATxÚíœypÔešÇ¿Ïû;ºÓ„„# ÜWH:àÀº*ˆƒ h@šÈ0³"¨¬8;,5µ³î–îì5SV¸Ž"á&@"g@ØÑQ‘ew„$ äÌA®Nÿ®÷Ù?"Ф;†$§ª«R¿¼ïï=>ïû\ïÛM¸ esáH–¸_²å!R H= Ùþ´›wØž1½—ÈÖÔ_º½&?=E²ý@£(õa@è¿o×vQ–Ç&3xúê³Ü¢©ÉŽ4ßbÈQ ¸ºWkWb¹Kuròºš6¬Žè…¦ʨ0NßãV$‘¨Œò¢˜dËÚà 9¦q@q/ÚåÚT8±k›„°»xžÂS#BG"+Nïa0['š§ èBŒÚ¹6¦Oh@±M4ðC™éƒœ‚IIm•àWw¨dW{Œé½ Þ×,¤ü!#%·&¯hZf{Ccke0€åûN-¢6ÁaC08¢>Rc€Ùy`3bU@Êr°Ùø§:õÒ,™\VûÅ£m ‚®ÄÕ("nËÚrÈJÛ{ ° Ùñz¯O¶=Ù“Ù™…!)’­»‹çµ™©;Kú$2="_ýÓ’UK X×D›ò‰[í°p\¿×Y²= o”†õ˜éTkm·j%;‚j—AÊÒŽ1ƒVÛë-•¶çSŸn,˜¯ O¢¦x»Û2x>h—V<•¶¯¬®-zÈ£öŸ¹ê!\¼vö–HØTøøÉöÊúR b:ÕÛîVGíò—üAÔ$q)‘òbÏõcz/ ©r¦ûvW¨p:´—fÕŠÞzÔ„·¶IªæËÆ5RF†Ž ƨÒ8óJˆœÐ@ÏKO^»À¢÷ŽO_f8“ PÈåµe B!×NžÔ]cû,³ÚÍZ‰"ædkntÞÆˆÓ»h5ê¨Ê<«ÚH±|ÀRxrÐÆ þëÆB;n¢s ì‘lšéÍ6ˤäKH£ÕxG¦SEÌNLèµÃ ZP2R¶œhK4¶d{ù¤ï´ž8AW:H"q)ŒÕs¡¥]eM‰Y àJ3äM÷å7Y_ÞT™©Ûíº„X—ÔâîSm>+H}ugÏ‘È)—÷\dy°›,.5þe f: "×ïÛõZLKݺ yU71ú> à±Éƒ6^j•&'¯/¤=Ì«¯ f²Jò2ƒŸF+¿oÇ @Ž!ˆ0Ò)lø³î÷í,ŠØ;‹ö ~¹üOø¦¤º{Y¥ âÝŸL8—vÿ«³5Åû<÷(䪪±.˜æÛfD؆Rôuy_Ë–JB¬^•Ú»ã¹Wæ<N=úê\eÏš £}ïŠ?óÚs£œAìúŸÜ¢ŒÑ¶ >àgý@ D+Ù¾"H;ãÈàGšð¾›ÓÿÔØ>ËðÇÓÿ ®'»veœ[M¬ŒÕ»]Ûg‡µ“’¦¼ý~¨8áRÞ3z/)³×x…ÀôêZkŠaÉ{4…ºàÛ¼<5¶Ã¥n]9)åwMðl9ðFæ—Møas7¨UµæO‚†3ßr佚"îX0’¿VU‘ëÖÞ,ÌžuæúºÃŸßÔëBYÍ<ÛáL÷"ÀeKyÑ¥*ŸiªXçÑ÷ù}Vƒö`ÿ©ÅšéTŸÕÄê«×(s‹¦öµd ‹ d²+Atb°‡@5 YF¼Kzvç˜Ô“ ™Í†0pÖª¿­ Ú¿¶Öñž 2UUl¼«“wÑŸ—ûÃÒ¡½³²»‚yc­i ñîj[ý—)õíê ïûTö‚ iÿ›#¹Ñ,©KSö3húÙœ9—Cõ'§`R7^aà§\¡]péh+‘x!3uÇ…¨AèšñNœ[WÞ«5챑¨Måš*&ŸZ?ç£ÆÊ%?½ºwUÀüƒ#9ì8¯[Û´œY.U¬öx„y¡AôEB¬k\aö¬Ó §aÒavVèÁ°+©?›–º5¯Ù†¹§ÿÝ€ó#–-ƒ†³³ÿÌU ®î¿”›T0ó›j‚Öx0 {šp£Ä‘<°¼ÚØþد¶Å7°Æ3;Û#$Û7¦?íÁˆ@7ÇÙŽÜÁŒ‘h¦Hæ¸@ÐÊ»wÞ†Þõ:Þ*_•’S#y·#9>¢>IrìdÙßݰ &‹ÈÏ ¿S’íßT›çGGáŸWDIeí?:’› àšÉJ,«4Þô¿’/~hLs’ƒ¦3- Ž#ç›»á;Ïqëñ,/oðD§Ò%;«óŽg&6Bî‡Åɦåü"Úƒöø¿|U:äÚgçËS%sK0€åÈ®ÁkœÃ©Z %ÊÍô²eðM†PQc.b†íA33‚ÖœëkÉ Mô×ðþW \Zp3Ú`–ós &Æ… aسb-ÛIo‚÷sÎ¥)gÃï~ðnÓ’!ŸTïÑ×kª( +¡¨)—ã<ú†pu%Á» <øå8ßî:•lÆÅau]üHØXò`Gr8±À‰¤DÏSzu0<­ÛÀ]bUQ† è™6gmŸïmEèG¯[{æËµ³gxÝš?ŒøDÆ{ô'‹×Î~ªc¼{i8›¡.·¥ŒK˃^S…Þ'+mÏ}špûbÀß„Î)CÂN[”VƒÂX™Îbž<ºbFáÑïïMùéšg®Tû¤djÄ+ÑJ*kÃ>TÑ!“bŽ×¥FNÖÔZÒr¤hd–¾~xXC+—¦|Ò—ŒÕ“/ÔMî}rUsŸ‘’Ç‘’gس¥hʳŽ4w6êÁöN0L;=ºç芅×?/Êžõߊ ÏCÕØ#a@Ø™G…œžI±ôLŠu„BN¨Íö»…cl8_Zs9Œ•­€ÃVÈËÊDâu¿oç ¤¦¦äíBÝñpcíhQÍ¢¨A]k;ò£Ð…mP˜¹¶9³6!Bž î׈áup› ÖëÒMë 0Õéú? '|]:Ä„¼3jÙòÁ~3VM»&Xúñ0н¾¥(ÃwÃîç@%«GX²úÁ†>’­…aæ é|*ÙRrcuô€a­ïéwT·Žžý¶Ã±5Æh]U~YVl£ø/f†ÐIŽ4n.œ¼Ö–£1j篯þÏ%:4RO [N† !}dß‹9û¿8hHgdˆÜ‹jHgáé‹U @W:x]¿BUÛDàHó€ °âÓXÉöluôÚs£ØãR×⓬´÷?ðåÍz?5Å0@bœû-]Çï4‚”ÿ¼©ïoJáod:qýo¨¾“ ¸Ô„U y¨U@€ÂìYwëäYŽËz»ÈWü ’VþïíËïêèGtçìˆé¾ücOø|«€G~ŸõV§ø˜±.M9t§€ðûv’l%PÀQ >U]Sl¢F¯þ5˜û(X9óÏÃænU0ÓM[¾hÚΈë㈫ ]U$‰FÚa€ßÝCréŠF®$êªb(¢._¤rtU1ÐÈy2ìkÞÍqÝQQ(X¿·ôÁ¥}§e•ÕžiKãYAêc:¡¿ŽUÅîe·ç@Áùâ<ú Ó’½„ (‚þײeîkž¶oײ±`ü`Ýu%¾¯#ÍÉv˜çÛ MxÞ¡[×Ñ ÷2ËûÒQ…;?3uÇY´KôwBC’S0ñ9¿ýþK\&ÙIÏJÛóq;‚[aKQF?G oü #Ù•¶7x§C¸é·²Ò†4ð5¤î^­[—ö}p 8l•Õo’X²êv·‚WërÀáõ X“äùÑ•v·È0o*|¼³üw‚Í`›@Û¼zÒâZ«´›*<)¦¬.ÈLÝ^ÜáÈîâyqJãÌ"€–И ™5Ý—Ÿ×áɶ3½A»¼ì‡›Otöø|cû,sî4-ò+/ºÏÀuu´eÀ{'î„Pmž¿$ Ž\÷xï£ýÞ¨l‡p‹dZêVGúo1ä^þCºw¨ü?ˆ±èôwï=IEND®B`‚KCemu-0.5.1/images/logo-xvid.png0000644000175000017500000000613312417262523016637 0ustar glaubitzglaubitz‰PNG  IHDR}#6f’õsRGB®Îé pHYs  šœ IDAThÞí[kT×ÞÃKž!(ˆ HEj}¡TQ(µR­ZµRkéõ‰ÕR—¥\—µ½^P–X_XªT[KËõj•VZ b  <Båý ˆ! „„’™9÷Ç„ÉLBÀuïm¯žuþÌÉÞçÌ|³çÛßÙ3ÁZZŸÂ‹ö_oF/ øŸ4ÖÑ¼Š–“JOoNqX5ÓqÁ4§ÁÍÞ)S$Þ¬=ŸûXðT1ÛÝöÇÍÓ8–f/@Œ•g¦ï¼%h•ч³=†íY>n¢«ý€¦ÞŸV~òVƒ¸KAìY>nã<çÖ×Ë ê$cGØ„Ža 5öxg‚9åm{Û"Ž‹ZÜ?jAc«$,ñ_ЩñSG÷ÿ?âÁi^î U ì”+÷¼3ÑP~Ÿèd$¡Ñ¤•/9˜Û.í¼_‹š¢³øõíÚ3pÍŸÁàî£ú0“ß2€¼:ÛÓ©Ýsþxû;¿¾UÏóõÁ×÷Å2%‹;À|¯QÏ ÓÑ6 =³)ÀHœµ šÛ–Èã×·"¤éõÑ·÷v-Ñå8ò0g{›Uî.6ïøŽÖå#–Ê—Æe•6´j€~>»AÏJ¾éŽaÏ ®Œ§|`ú=êí—m-Œ¬],S.Ë¢¹~ÿ¥‡ç³t"æ{œ9~øsϽO9F(†»³½Í†À±¬,OuqWOjN=e|òf5J]–¶–¦_­Õðs.ªiË(nî7ÓM®À3Š›ó*Z´'‘+pCˆ°£+½°©LЦ±‰É(nVà„_N;º" ³ww÷ rßDåå¨eSrË„¼G-ºlJëDy`ˆ%2=kįŸiøvéÄõò¦”(qÂÓÉ6é#Ÿ1Ž\ýì$ìèÚ|,›WÙ áAc¢ßN’èÀåâø_Ê•$òo—´mŽþÕk…«Ý­n‘Y˜b{ß÷yïµÑ$‰¶'œÉª€ùÓœÃgZ˜iU&hûWNsVqcs»æµË$ â™êIÛæ8 5gdöCâ÷òp]Á¹t’áÛÝvi÷ñ«%J¥YÖØ¾úÐÝÆV‰þýðæcÙ¼ò6 •@*¯W D±¬'þ—r%A¯¢=.µPO¤+p"òÔ½j¡)W_ÿü*šžž¹SIÿ¯ 9e" ǯ®> ŽÎ8‘^RÖØ.îêÑèÔùS wŽ¥Yòö9¶ÆÚ€†¾>Ž4zõ4v·¨eS gc##¦«noH¸«‹pä <"ñ¯LÄ\ÑÌÔÈØÈÈĘšBy2³–W"ÐõL'eVñµh¤A±œ’ ER¦×g bÎÊ{¼J“½Ž½"’Ä•ƒ¬‹MtµÿiW°“½5“¯nòßèÇ´)ˆ_±`º‚ ó<™6†4Ž¥Ùæ·&¡¾¤Âš§¡_fj@Èøæ„[é…ͽ—Š€$ƒÇ;p,­ÍMÃÞ«²’ø4ùA§Œ%¿• Ú¾LÍWÃD/ôÔÔà}õò¹¬ÊÄôÒ>ûA„‘Ô ¨Ñ§g(¿k@_¿üF~MQƒÄk´·ç(;ksmÈ’¶ D’_‹£ÉÁ©õó<ݲè”Uô!²°ªeÝÑ,&M#„v$å¦41u[èëã¢ßNE.™t¯\XX¥ÊLÕMm{ÎÞÛ¿ÎO#%îL.ËÔñ¸r¶Ë*wµ ¡!ƒã.>L¯ÓÇp–ú¿2ÕÕaj$ã.<à•>VÅ5Ù3xÜ©äíäÝ‹ƒÍÆyÁ³Hõ­‹½šÛ{N^ûƒáñ#ïßú†…™ I¢ßgŸ½]Át ™é´ïfY?sQôoâ.Õe'eT¿:vîä‘êž^Ìã7Ò‡î£81a¾}¸V»V(huÒ¿úMtÖNÚÁ([c=ÊÝPžQ_|‰ .%OWª j"ÉÙLþù»•‘äYäïÞ0Ÿ Á˜;€ôûu›nuÊŸ'ç%Ý|Äüi·Kü–@ Éáé2,fÍ •´YäwÙ4_Õ´}yñý“…)vh£Ÿ‡˜¹ÿèmwŠj˜.ÖÎÐVJª€ÓòL¼óë[Ãâ® DpÀųoíkAÞnRäó²Sn«ƒtÃÂW÷†ù< ôJOºQJ¤ß«©|,®l죲Ìp;`fb¬=Ã*w^ICÊÝ*Šj›š[>ÿ!;aË\¹ßyꎼ§—ñ1£OC¦jnëØ¶ö)AOÃqÁe=sÇÕîÄ`y†_ߺô‹‹bF^ˆ:WÇ]]9gB–¹t˜Dž÷Í]'ÓrÅÒ.Úfbä¤ßŠSÁZÙÐg3á;ÁQèT‹ ó-ªzRÙ$¦Sî”y9—5vTt±·Š[;›MÛ³ðÌP ̘¬¬mÒ·îgúÁ}í«Å5”@Öºr@Wòj)³ìâ:VhžãéO ýï`#܇b$ÉŒ#'[“S‘oiË*í6ÃcÔg¡3è0T(qœTiD#ˆßàȵ20f'¸ÚREUåÉw¿•è+Ä“ä ãý›Ÿó³ÖöV×PŸN’€Ðè¡C(K®…±¦£¯ÝwÑðb îéÅ¡RA@B !×À6-òšêÄt§Æ·-ñò›ä¢t’’@¸Š£Ì¯F“$bOóöŸåi(aGW§´ HBuÂ:öM&z”ÉÁs<=<ŵþ¶*ŽÖ/ô>p.[—e‡”ØŸ~ú³eƒ=á§ÜèäÀT¦W’ÇÒ `÷s ™çЖàE;N×µHTû ßÉ/m[1K_!We©^×kìˆeþžo—PúWRó~¸öÐu×ÎÆ¢µ]"%Ld’Na‡ F/4°x=“Ó!‘몺ØXš]Š}VQQ¡~!Sõ/oä•”mHÍäGÿÈDÙ»îŒyxìJþî¤Û†ÌæÈµÚ»>@õ:p̆ÏÕ—T« a³;ÌÏÝ™~‡!‘Xž_Þ|#¿¦¨ZTY×ÜÔ*Å ¤r'Xˆ$3 k·±2¿²oÆçÇ?™;M— :žv@¸Ÿ¿]úɱkê:B“Ý®ì[£Ò¯½$vìòý„Ÿ "œ o·È3)¯ØºT ˜šÑ‹BöKæýKþl‰·ÇH6F%˜^”½RÉ^7þ4êïÚ£‡S¿ÿˆ=<†Û¥Ä„²~Ó±Ðg,‡_ÏêXÓÔº*pª­ÕC0º”õÇö£¿( *^zi$÷dÔ’ £í¦É.®{Ò&¡ïè¢Z޵…·Gÿ/o}'¾™_å?Ýc{ˆ¾÷\kóÒ:QMSòrwŒX>‹¹)³³6_4ÛÓÆÂTÐ"îÊѱ€!@0dbb<ÅÍa™ÿ„OVÎ9Œ¥^ÂþýLÀ¶ïø5B–B›ãåØ5úËÙg3ù»NÞtÉYÔô†y›yzÄ‘Ÿ8 ˜ŠØ]Gp“w­ôtFç®÷÷\(ªh £™?f}!“ ;º8–C´ëéÚÅÎ˼2xsÆ8]ª©S¦(®”7J»UÉÓÔØÈÅ‘kϱëK`˜Ðÿš‘.2ÑóK{×:U¿Ì<².2ÔßÆÊ‚9n۟܈$[§1_­q­-NíÑâÙow„¸Ž´cV¤b¾Ï(¬xüÆ}x0™ï$×øm‹3¬Ó©su·¨P¿ÛG×G†úSwÑw’kèÜÉú]ÊêEŒW†\ËS;Bt-í6‚›¼k%3D8q·¸þ/;ö§ú»LÐøñ·T¼›™¿s…Fõ•ÓÞùÇyÑSUæô«úuy;K»’SþMZþcøpé,,¬x|05·µ]²ìõW6.ôþK|¥ƒ½øßÁŸˆß_´ÿtû7t½ûuU*ºzIEND®B`‚KCemu-0.5.1/images/window-color.png0000644000175000017500000000230112417262523017343 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk>aIDAThÞíX]H›W~Ï9ùò§3!«Íµ]\]í4¡ÖØZ)‚Ô\»tl7þ,ƒRAf)T¶ÑÙU¶›*Þ좔­´î§†æ¢R[2GÄŒYÅREjŒéRãoþÌ÷å;g!±â¼ ¤™>ðñsžÃáå9ïyÎÀŠªŒµ¯W•JL°“¶¶X«N—ê“‹™™à@à|p £cHc+Òð¼$NB>&¤³“›eÐÔ$ I.HB©8yˆ*£ßF•Œ)«3Î+«1޵¶·' @‡(”–*ž(—O²*YV Õa'«šÛª¡°6Ä…µ&S¼oî†Ð¿8Ýÿûé ÉæªT*࿃þ±µFÿX$B3qBŒg,öGH<r\ºðBÿ¥Ð™É¢ô‹¯mÚ‡€ç³ÌÙ’,sFÆûx=#M¢ŸÐ$G+h€²lVÀü,›ùÒ…Ÿo˜moXîY|s¹G·ÉäCrä íÄIÚ·¦ š@Khbû”zey}ì‹móp `×vH,ì©4Ôlõ¯­yj]¿zjC!™I®•™Ö×±Sl§T<+bñ,Æ|odžï•ËÓ…´¬×DZÔjª§+TŸØ÷«Kê>¯.q:÷æëÎíÍ7ôEo?Ô¥z~’‡É“c“'¼ž/¼6›u¤ï–u¤ªjÇ//À–m§˜àoG–ùÛ¨ £.ä@sÈñR¿âz#}xv˜c‡cGØ3v$~` ñ‚^[ Ók-™KV(s©ÕdšüH¦£Qæc§˜OÄ:qE¬‹F#Sá¦È”(¬þ_VQL~©Â‡–* »Bî¹¹iϤ{ÚsófÂOŸùùt±Ó™w7*ï®ÁP\_RT\ŸêMF.Ù¹‘K®¶™{®6›m`¤·c`×wMpÃ)G‡)Gˆß»ú‘ßÏgÞ›5F"Òi•´‡1tÿ†®3Æ,ô³ Ä7ò÷øF„Ò…\[û0pM&‹=ül„`—a1•Cý½Ê¡Pèºöåêº î¹ô÷·b n nZOÝB.ÿ§ .¼çêÜ„ç*cKƒ¾Š¥AJ`॓`Mþîš|§³ ô. e/Þ]({‘êM4Ûº4<µO¨ŸÚwM0/@Âxÿ>¯â8·iö+·iyùþë÷¯ƒªýÙ3ªýá°D.ùZ"Eá ðpµ;«™kwŠtá½O¥W““#Šâ§¢ø·Á˜ŒŽ´¦· Z£Ñœ{ªÜœ›êùI¬Ý}Ön€Ç•£?<®ÜÖþÿÏâˆ"¢õ]ˆ¸G²‹Ü#¯×SçúÝS0ÞïìïOuxÉÃBù_ÜBy¼æõn€Œ“B2ÞÒ²hó]\´:d=ÑWe=‘““êÀ“™Eþ‰ÌâõFòÖ?‹ä]¾œêx^ü yU#ð”ôIEND®B`‚KCemu-0.5.1/images/vdip.glade0000644000175000017500000002562712417262523016172 0ustar glaubitzglaubitz KCemu: Vinculum USB mouse True vertical True 2 0 etched-out True True 0 6 Vinculum USB 0 True 4 4 window-disk.png False 1 False 0 True 4 2 4 2 2 True 0 4 Slot 1: GTK_FILL True 0 4 Slot 2: 1 2 GTK_FILL True 1 2 GTK_FILL True False 1 2 1 2 GTK_FILL GTK_FILL True True False True gtk-open 2 3 GTK_FILL True False True False True gtk-open 2 3 1 2 GTK_FILL True True False True gtk-close 3 4 GTK_FILL True False True False True gtk-close 3 4 1 2 GTK_FILL 1 True False False 4 2 True 2 6 end gtk-help True True True False True False False 0 gtk-close True True True False True False False 1 False False 3 KCemu-0.5.1/images/icon-kramermc.png0000644000175000017500000000261712417262523017461 0ustar glaubitzglaubitz‰PNG  IHDRÄ´l;sRGB®ÎéIIDAT8Ë=•KlÝWÆsÎÿ^?®ßŽ'ÎËThJS™VB( .Øñjƒ"ž* RUBB QDê±*PÁ†]%$Xaª(Ý@U5Mê¸ ­ñÛ±cûÞëû8ÿóv»š™Í̧ùæûFnÏ]ŸŸ9>uZAD„Ž #„H)ã½'©¢Ñ¤ÔEt¢Bôø !„¥¥¥Ê׿yYäÖÍ×^šš;—RìiµÚ¤¬¤¬¨*!DT¡ô4C$¥ˆ¦@L†=ªJ·ëH1ªˆÈÖÖ½·WW7>#­ú²nïÖyìÜã,îÝ¥§-øšbÄ5# ˆ YÉ9‘4 Yß!>6ûO?õmfÏž9VX[°9¿ÊÜùÀ3{OòÇÏ-ñð•LË8B7кۤa»øNIÜés$ À¦#ŽˆËHŸpãúë ðÅ OþÞ›Ž÷Nlîl³8¶Ç›{KÌl±ðÕ^Z®ÍÞD¦~q‚úÅIR7vÍŸB[w¶7a¨<2 ^Õ—á£E.'HÊ_>µÌñÏ.sû'“¸ËÓŒ_zwLh_šÄ´3þÁT .B® Ü+iÿtM ³#ðÝ븬¢"e±O` ±ŒTª‚#?[D,ñìþÁýW·é½VG+†ð>´fHýùo*†ê3ó¸µ.ÆDDS21D’‹P5<ðbbå¹)4)v;Pîcß»C±àÈ}†<\ #dE­0|é&v¡ )F¤×Rzˆ111e´"°Tâo7¨”`Vy¬`ü©;lýé X¡XóØ ÙôC?¼Ãîµcn4a¹ƒt3š31:T(Œü0ü« Œ3ô‹e’d´j d}å6ûµ2HTâhcþ‡²¦è•LAN< ˜né Îãú2{Í&倢5‹4#gOR~b÷è0gO>ØÇæÕ3ìüú>¤0äé°C’ì‹ÊE”‚äÉÉ# BX5ä”)2h¯¡ýå ¨ì’£ùýcùôë¸s£¸õ`_sdͤÙ¿€ƒ Já}$eˆ)âºW: [ °0ø›u¨'a‘4ÚƒkÃ^‰«)±Œ¤”°ÖàC@LΉKRΤœ°Æ’r A‚BTT@‡ Ìn?S¥9ÛCl•¤”xjΙ#F“'…ŒL5Æ "d‰5!"C= ÿnƒÍ—¦ý£ *k-EQ Fö½%e(r²Ú70(ýµ~öZm8Ø‘Öûƒ7iæÀØè}?_`wg—Êù-B»D*°‚K FÆFPdÈ»ËK2:8Èo_øe^ßX71²*d¥ k,®Û!¢ˆ*>–¨”ÝŒj@(‰1Ñj:¦N“S@Ø÷(^¸òü_kö §O}8øà+NßÚÃï6c‡ˆï¼…ŽO *ô¬­Ð8|„²,ét3M˜çÞ³lÔwØÚÞáo¾Š¨ªˆˆyúGοú·þUõÜ_Túª>ÆòâÇNLº%¾tôŒ±±²B¥bI1òê¿oÒ¨w(ªŽ® ÍFCÛõºQ Ýý×Àßï;ybvu}k®S–_²¸ð.eéX_Ycym#ëÿ[ FO¡BÈ™Ýæ»­V×ï–ë‹‹têu±Ö¾¼O%pák_zå¡ûÏ~òðÄ8I#HÙ ¹$„Dû~âþ‹Š)©w]iº.·Þ˜ãå^{±Z­ÞòÞ?_¼×˜Áêc“ÇO÷|ëÚ33'/6ÍË9ëTÖ|XPPAHQÞW™ z#«V¦ŽL}xÇ{ˆÈÿ’UïÍãØ®IEND®B`‚KCemu-0.5.1/images/kcemu-kramermc.png0000644000175000017500000000435012417262523017631 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒWIDATxÚíš[ˆUÇÿI&·Ýl7ÙI»Û …m#ú ®`±B¡ûP|« µxC‹´²}±X©…¾DlôÅ—>øR*¨ÐÁ V¡àZ©»ëvÉ^ZsÙ$“¹e’øpø8É™ŒI&³Ut~/Ü3gròÿÎùÎw¾3€Ïÿ€Û†·oÿúëÏ?7›ããét2Ùýy]7MËr®7 èÕ:µ3 ð—7›–¥ë@­ÖþÖz•sX½®Á Ðh˜f{=CUUUÓZï5­Z …|¾P^{íĉ™™€k½œèû…ÿuáy93€i†e±þè:°ºšÍnlgμ÷Þûïn©ß¢ðssss·n¯¿þæ›33ƒvÇN½nYõºs}­fY 8èû-˲, 8}úí·ßz ˜œœœÜ»ˆFc±`лÿ7ð«Høx<ÇYN¥d™ß‹×pX’Âaçr‘PH’B!û• vNíE¡Åk7.^üøãO?å÷±X4:<ìúž"$àÂÂ×_ïßÌÌ\º´o¯ÿä“S§––€cÇΜ‰Åx¹aèz«KPEÑ4À0LÓ4U­VUPU]WUÀ²˜ÓG|¯3€ ×MxùöòZÍ4@’  ƒÁf³Ñh4 ÷®h`hš¦µúÐx\’¢Q`yym-›ååù|.W,òû»wWVVVZ:"…Ã’äüþ^G¬[œ„ïô¤—¿ëÚ9-®Š¢(¥ðå—çÏW*ÀîÝGŽüò |vöóÏãq>r——¯_øa@Q*Eá3‰®¢ð³³SSüšÏ߸q࿊P{ªßܼyóàÁNýþé§C‡œïuõW×-ËËX¨ot‹j.]:}zm ˜ž~ã MsöÍ««ß}÷è£ÀÄÄôô­[¼œîéJB‹8µ A‚'“޼ɯT.Ž|>‘xâ‰7Zë½ùÄÀ.ȉjUUU•tæ+$œ§‘/b^¤^WïúåÚ¿Ó"LÐb{õê•+² d2GnnÚ× ^4ŒW¡‘O8/¶½®Þз 7N¢°Ý<öØñãëëÜ—[V½þ ÿ˜ˆ¾Š>¾äû C×[g2£ÙtÛ/Ï]…“vìÝn¥›Ïw‹,:47g_ÈÕôNg×ÃÂQ»‹í•¾×ó?þX\œŸç?räé§Ÿy†‡‘é´,§Ó<ŽÏç‹Å|~ëÃH'Ä}õƒ\M7—Cõ.|ôÑÙ³|¼ûî¹s|ÀŸs» e¹úƒäŠHør¹R)—{¾Ùl6ÝOdç÷‰Q˜èŠ$I’¤ü€$1×jš´!óah{’L˜v®d˜^wª÷îýðÃã; )º&±\¼À ñº83ªU ñNxÂõ@YI{ÇYÊ@ŒŽz b4$†„§òná,­Ný…îæ’êõÁ’"}Ï€¿K×ë|Ä‹Åb±è:›º½Îq1îud‹í~«è{ˆÂ·–{92œFv?ýì|ÎОìUxòýµšizL¸vAtÒov’껥Ý"þ~µª(Õªý¹^…§ç¼v=Dß.È~òäP^¿Ï)9×+Ê% °s×=òźÍïwÛ¸ÅbSS³³­½íoÄ‹xízh?kI¥R©TªS+¶zІM¼O¥Ž]\4-‹ÅxE»‡zõÕR PÕíÛwìà23™Lfß>àÊ•/¾øì3ûóôuôÕô5‚]8•ÐA‰½®wWÛs:brMÓX\8yEßxöÙçž{å•@àòåË—/^l6wíw/h(tûöü< i{÷NNÁ`$"IÀæf¹¬(@2¹´´°(Ê΀$ŽÊ2o‹ýöÛü<&ÃÃÀÊÊȈ,ó¯*•JE×b±\.•€ñqYÞ¾…dùÎ`ttjêÇEY^Þ³¨ÕîÜ9pÐ4Ë2  ^gak©¤ªÌ0–å&éæÄÀ‡kÇŽ÷KGÃ9O%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2007-01-11T16:20:31+01:00þ`5IEND®B`‚KCemu-0.5.1/images/kcemu-winicon_16x16.png0000644000175000017500000000035212417262523020341 0ustar glaubitzglaubitz‰PNG  IHDRbò PLTEMàš-éÕ,,a?™tRNS@æØfbKGDˆH pHYs  šœtIME× 67šZS[tEXtCommentöÌ–¿CIDAT×c`þ llŒ {û?@ÂÆÆ†Fðÿa†ýû¯cص{÷:†ý ÂÚµûXD ØŠôIEND®B`‚KCemu-0.5.1/images/logo-theora_org.png0000644000175000017500000001770512417262523020025 0ustar glaubitzglaubitz‰PNG  IHDR 4‚Z¤/sRGB®Îé pHYs  šœjIDATxÚí\wxÕÚÏ™™í%›dÓ{B „^ F墂€(FDÀÄ‚¢€zAÄ‹ŠEiø‘Z¨J¿` !ÄP$•˜Ò{6»›v¾?&Y—Mˆˆ~×û|OÞ‡‡g3sæÌ™ó{ûûÎ BÜI"„Àd2͘1ãôéÓIII}ûöµŸ"„Hºèï"|o¸J$A˜=nÜ8ŒqLLÌ”)S Bvtè¯!òÇIEQ !V«uÏž=2™lÙ²e„ëÙÙ¾¾ÞO=5²°°ÐqXý„ïAv%­¬¬\»ví[o½Å²¬Éd:qâTBº cŸºk÷úÂÂ"»rîâ¿‘þ˜ µלœœÍ›7ó<°zõW7n3bdø‹/óôpO:tþçLþµWßñòò°+ê.cüß °éÇ™3gæÍ›çââòÍ7ßøGEõÕê¬ï½?æÉÑ÷«” x‘'‡¥_Lg—.ýÂÑë¢ÿF€}%„Њ+Ö®][PP4gΜ´´LŠ)}ãÍá½z‘À÷íM;r¨zË–]Büß °º³fͺqãÆ‚ Nœ8ñÁÐïý3nÖ;£ÝÝuvóì ñäÀþ çβ_}µ\EŒqÆÿE;©ežçŸx≔””´´4£Ñxýúõ žýΈ·Þƒ)@0‘þD€1Zµü F3øÕW_vš°këÿ3D}ôÑG¿;¨´´4>>þܹsÍÍÍ ~~þóæ½ûÚëÍš9ÎÌCN­zw¶çžïÔR—j‹LɈ %Ò˜`D!÷î¾nýf‹YÖ³gt—=þû%ØIÎ8Ž;wîÜ¢E‹FŽ=uêËÕÕUþþºuëÞ5jXr™pà†÷/f/ƒA®”#^€&³`6±áêÚáÝ M>:V†Áf…í9â•¡Cÿ!yâ]ÿ=;YÜúúú]»vÍŸ??..î‹/¾°ZmS_~AFW/úøycd¿ï¯ªRëý•ZµF.Š"!€!„0²²¨ºžUÖÆº—=Ý­‚¢pñÍŠukRŸóÚàÁ1NœÔEÿ!€íèB0ÆÅÅÅ 'OžÌÌÌ ?¥¢ºØÏÇÿâ¨[tïs]+‰»‹Š0ÀQ@BDA˜Âf75X?î•ÖÓÓ Àü|9oßÞü§ã^íÛ·Ï_îW;MÕÅ=Î6Ø Ýôôô… êõúéÓ§ë †C‡V椌¤÷tÌOlôé|Œ±è.· Q´`KÉ ŠA«öEH¡D•Š©­µ=àW z{y*Uì¾}§½½B=<ŒÆÒ NIï.to“`'ͼiӦŋWTT¤¦¦öêÓç½Y³³’¾ýÖK jæHzê ?ÏB¹LÖ‚T-Hc¢\K™î×´Ã*~Z¡&ÈÎ4VóMñHÿRƒ “œ|-qwÁÒ}­V+ÿ*9sòݺķmß”wß}7//O„£G>üð#îîFeýõ¹3g„?<…Èq¶²k͇ŸÕ{7@Æ€ëkpÀÕ#?gÛ°R%6;b œóÇUC ¢Œ6TrJöŠe)ûö'9"qϨØ/añâÅcÆŒéׯ_®¿,Š¢ÄþV«uÆŒÇÍœ9ÓÇÇç¹çž;sæôû³Ç¼?uœÆw$­sm•HQ°\?€Jæ0r,V×–Ô#pHV ~{=_Ö?¦Ì~«‚%ÁèÖëÝs•’š³hÁÙ'ŽBˆT³ü#H;inn^¾|ùúõëËËËüñÇáÇw ±¤½Eååå“'OÞ¸qc@@€››[]]ý¯¿~±òÅ¥ÿ|×4Kè ‚ Š" ÌxöæEÊUOy{ ÄùÁé哟ªX‚@Q«·%!¢£\›×Å*WŒ/  ŽšýÞ}|0O‚¡Ê&ž©æ¬äêY±s`[ ¤Z$0 Ó·o߀€€.Ü“õá‡æääÌš5Ëb±¸ººîܹ³ÙܼbÅ¿–¯šô|üýÍÇW·Qrß(‹Å2jøðÀ àà`" -7ŽÉõM S"™Œ˜-ˆ€(LzXÎÈøæ_•÷ñX.å³Z·›¢uȦkTЄ'b@°ß‘Ô˧ÊՇ頵æÌzþbÿï!ÎGv7‚k±XA`hšŽˆˆáðáÓ'O íÂõ7 ®¨¨xì±Ç"""~üñÇE‹ø§¦Þ¹{æè‘ƒmY‰”–Š€f“ÉÓËÛÜl’¶ZBDi4 RIÉ ˆæÅðÆu×®Óðua°dä) e-Ú&–i¨_š\¶—YÇ]ØíA«¹9RCù()/9va:“<»Ÿ'OžüùçŸÝCŽãÚË:tZîpŒãA»ƒÒþ¬ãŸws¯ß]@'“Üå°ÒV«•ã8N—ššöïŸûÌ ÷çŒñ4ú°¥©¸þg¢0"¾<½¼V¬ZéíãCm&L5ÀÒæRîî‚©P[…P-ª~©;_|ÎåùRE¤#ˆ—ÙT©uFSò§ŸVë£`½0æ ›H¨ß5ÃÒ©M›6=ÿüóËzų̂Óq§1N—Sæ¼ýYû)ÇzŽ>QûEv¸àö+qšÙ¾˜C ôÙgŸ­Y³vÉ’¼}>úèiO£+Ë5œH«Å æ,®±¼}|¤ nÉ;Ψ@D ±ŒAZ-E@hŽQ=ؼ}råìÑÕŸw3ŸcZÊ›x\J{ì«ï›T‘ÊOÉ"D‚Zg <¢¸ÐpþÑ¡C‡Ž=ªÓé0Ʋ­}ßíOî JǬµc& ý€ö0çææJ©ÜŒŒŒÂÂBAÚ‡õŽÞ ]§{µ_0B¨¡¡ÁjµJ®ÒÍ›7¥Ù~¹ý‡ã !4EQ“&Mjl4ýxtÓ„'{é´:‚¬ø('³¥ÅÀS–KæŒoäáeÁ|Cu˯'¡zã''„D¤×‰M@Iêc" "Úh?Ÿía*êc>šK÷*•÷j”y H”,Gý €P[<…0XZ¢ JQñ ¡ÌÌÌ>úˆçù;vddd‚0oÞ<§aÇŽËÏÏ×h4#FŒðññq‚Çf³mÞ¼¹°°ÐÓÓsÔ¨QQQQNÂTTTtàÀÒÒRww÷x 66Ö1 T^^þÃ?$$$$''ÿý÷K—.íÞ½ûÊ•+Bf³y÷îÝ%%%¾¾¾£Göôôl±#º¢(fddTUU1 ãïïåÈ(<ÏçææþôÓO?þ¸Éd:~ü¸Õj}úé§ÃÃÃ¥1 W®\ijjruu òññqbY(Šš6õE¬U}œ©÷ẠªjßT%³"`ŒezŽ4b¯çز=˜°pMámC@;,h 1È"@ˆÊ¤¡A´Q*LDñ¦+[&²§x$#€Ë©<Õ@$kŽ€BPO«ZN®*r{&2*¼ó$—ÍfcYnݺEÓ´“é5 «V­Z°`ÉdrqqÉÌÌ\¹r¥ä‹Iøñ<ÿÆoôèÑÃh4nÙ²eýúõ_~ùåÈ‘#íèž={ö³Ï>‹ŽŽö÷÷?qâÄ7ß|óÚk¯}ðÁ€1>tèÐòåË/_¾ÜÜÜl6›g̘a2™rssß~ûíÀÀÀììì÷Þ{¯_¿~»víÚºuë¶mÛœtŒýéšššvíÚ¥ÕjýüüJKK/^¼>vìX©v^__ìØ±ÜÜÜÊÊʘ˜˜ .äääÈd²ôôôððp„PIIÉáǽ½½]\\Ο?Ÿ––æííͲ¬——Wll¬F£iKUÂÈd7õ!ÿf}[ˆ¡Î¦ÉEÝY®¥“*ˆJ„­$Œ¬–FEŒ¢B¦ÕªH¥Ü$…H“¨øÁúÐEfÈyùècªIµoü Žh;­&Ía@ÀH U©„‰N×E¨Uþ€M¤ùä±ÇÛ½{wUUU¿~ý‚ƒƒ¥k1ÆãÆ0`ÀôéÓccc}}}÷îÝ{ôèÑñãÇkµZIñ¾þúëqqq³gÏ4hЈ#®^½ºnÝ:™LöÀH ´uëVI.ß{ï=Œq^^Þ›o¾éââòÈ#èõúU«V <ØÏÏoóæÍ,ËÆÆÆJædB6lP«ÕcÇŽ ˆˆˆàyþܹsµµµ={ö$„Ð4íââRYYYQQAQÔСCCCC/\¸0dÈÀÀ@«Õºÿ~BÈèѣàÃÙ³gBBB¢¢¢\]])ŠjëªDD™R®PÉ1’ad”ã}05›ïÍ`¶U½ÓˆRa,Cc°ó#A€ImýI’ßêŸ|^õz£Ô}l“áʃPë@D&ˆB"÷«¼A~kÑV$CÝŠ£BÝ>]öTïÞ}¤zb{ÖNr¹t:Ñh4Žc6mÚôõ×_3fÒ¤I3gÎ,..¾páBkÀ€qbbâ™3g&Mš$—Ë)Š2dHxxø­[·>,i×Õ«Wëtº)S¦h4¹\n4”Jå† .^¼F£ññÇg!d4{ì±5kÖ”””ôîÝ{çι¹¹ÁÁÁ†¢¨‡z(&&fãÆuuuŠorrrqqq||¼B¡ iZ.—6,222---;;c,“É‚ƒƒƒ‚‚l6›Á`ðó󋉉Y±bEll,deeõìÙS¯×Ó4éááa±X´Zmhh¨ÄR!»“B‚TXM!« " "ñPj¸é¡ˆÄî !RQ° _šXNÁÔl#£)2‚hÀŒ©¥ùú®B5AHâÉ!À³¹š¡-ÏEDì&oŠÔÖc‡‡úïÞûÚ¤I´´cÇn{«ìxpýúõc†aÆ%%%ö³‹/öõõ5<Ï‹¢¨Õj===àøñãPYY¹nݺAƒ¹ººÚ¥M¥R}þùç………Û·ow\MÓ3gΕJåææ555ÒxéB†aôz}uuuKKK‡Ñü±cÇz÷î-É™ýx=T*Õùóç‹shšã¸¨¨(¹\Ž1Öëõ’kY]]][[«V«¥Ù(Šêß¿ccc}}½£_-uÚ ‘ A®ô»r_E±„@¥²A»Ù8 q¨µJß¶Ë@B„E¸*>'ÐÀ „AÊÆšãë>ìÁfˆˆB{!ØJ&²LÞM2ÀB`ÈP÷›!ªf@ˆ¸°Pï§â-ZÀ²\‡¡NçDÓ´u£ÑèxmyyyEE8p`ûöíÛ¶mKLL¬ªªÂÿòË/™™)‚t•£ÃܧOÈÏϯ©©qrÔMI\\ÜàÁƒ§L™"å8Îf³µWBÒø‚‚‚––ooo§ˆ+00P¡P”••ÙÙ‘Åí»!‚ÉdÂ[,)£‡êÖ­˲‚ 8^HÛ£WB §ŽîM×±âÊ[±YÐÐôþÅn\Aú²€}—¥–+‘Yz¡ü m[7¤~ÃÖ=DÃmQ¢ëY×—8¬’ûÜ"P¡ªÚû\« Bƈ<ùdlYÙ‘o¿]óò˯Ëå²?„q'I‰òòr“ɤÓé¶oßÎó¼4 $$D(,,´³ˆ]…`Œ ƒ››[UUUmm­»»{‡ú–šœœ,eÙŠ‹‹/]º”››{§uÞºu‹çyÉÖ8>§§§\.¯®®fYV¡Pt˜êAQÅ0 EQ•••<ÏK&C§Ó!„”JåmSzM ”½uÅâI ¹ëQö™nä†[Ä6f%…¸kB¯«$ŒJ1ˆš4m²I8Éíl)m4MlT·ëšGD 0!R›'à¡°z)X쓹Œ~î¹Ìœ¹çñŒoH.å½Õ©±±‘çù˜˜IÙ:Çq U_÷]­VkµZ‹Åâ¤l°‘:G Nœ8Q]]"©îÉd2B$>»-uLQEÙl6Çetˆ±‡‡‡N§ËÍÍ6l˜dq[ZZÔjµ£j¡—ˆ4qðC%WÇŠrŒX‘` 3ŒŽ# æ6©54"@{P•/[–rõM""DN,Á\Ž ,RHj¤FJ´ 3¼P% B­í—­—41"A„D†eµõ ¾=V]-|ùå*WW— &8z¡W–:9ÈóûldddJJJçËnnnnKSý.GDDääääææöïßRRRÂÂÂ"""nóœnÙ"Š[ŠY£ ÂWÊ¢Xµ¢"‰0XæÉÝòn('¶ImKç€ð”h‘ˆ"XyVÿjŠ>žCJ ÂoÅA±5"FDÖß¼¹dI¢—g¿… ¦?þãܹscccCBBîÄËw³IOÒ~2™Ì1‘ÄqÜ7$«­­mïÐB´Z­YÞ ­ììì©S§FEEÍœ9SÒ“R¼Þ!iµZš¦+++;dG¥R)YŠN²°nnncÆŒ±X,‰‰‰……… Ã477ÇÅÅiµZÇ gñãg|™-7mJŒA#ǺãF¤¦E‘H=9€1BˆX,\M-±@ „ˆœož«‘…Ý¢ºÕ!Ǩëe §õUc†ÆUtà5ͰfʃЖÑl, €DQQúSgÒÞ™µ¡¢Â–”´è¾ûíß¿ÏÝÝÝn¨Ú§øï”éíðµUƒÁ P(ªªª.^¼ë(4_ýõðáÃà´´ÔjµJIgY–µX,žžž’Ë}'m±nݺœœœ?þØnoc{(øùùÑ4}ãÆöâ+Š¢Á`hÿÔíçtuuõðð4hN§cæþûï÷ððpö:Û)w˜èÏ 4Ð?7 Hš ©—Ó×K¢…V»òÂqÄl&--(Ä!ÎBDæ¬ËK)†ø&Ê«‰—G«+žº¥ ¡Â¦ØVšÛìå«Â˜mkl}^`ékh—›ö¬[wÖjUTVÞœ>ýu¹\¾sçNooïö9^{ùèîUt`` N§+++›?þ™3gì{j6›÷íÛ7kÖ,IÄóóó‹ŠŠìùKQëêêššš$_¬“î¾K—.I›ÞŒÖamè@·nÝ$n+))ñ÷÷·ÏÓÔÔÔÒÒÁ0Lû§p,“ˆ¢˜œœ#éd§’ÃoھャîZïG?çÇÜoÀÞ¡OÊ¿r¡zLFZ©¨ãŠŠùÒ[¢É„UȆ#×zmŸY²ÃkY±¢o½Ì·‰6b™Z¯¤ jáÂ-é•=3âšI°Ô³Rê öVŒ€) sç®LHHÿŸÍ;9™™©Óé"##Û+aNÙÙÙ’'ò믿ފÖjµ€sçÎ7Îl6K¯IFFFNœ8¼¼¼fÍš•‘‘a·Òü¹¹¹žžžo½õVçóKÆ;==]ú³°°ðúõëöEBDS¡P*éÉ9Ú¿¿#6………&“éá‡v Ú+§_~ù%77×ÅÅ·‘c½á·bC‡ŒZ¥«k(í}ñëÆ|°àá'ŸéÀP(_@¿äë®Y³ Sòc±¥EÕbŽô®R1‚d ¡ÆÊ!îUÇ«<–Ú ’\q‘ˆJ¾nÞ¬o¾ZuhÛ¶ï Cuuu@@@LLÌ·ß~ëŒ:®°GnnnŸ}öY\\ÜÉ“'«««—.]*9,õõõv.…­V«Õþ€[¶lqssaÏž=Ò«ë,ËöéÓgÚ´i¢(ªÕêW^y%))iùòåýû÷ïÝ»·$¾ .üç?ÿéáá!Š¢cŦ±±Q¯×Û7-((èÒ¥K_~ùåСC«ªª¾ýö[)îJKK;yòäk¯½FÌÅìÑÞˆÑ0÷^ÄÆÆþüóÏEEE—/_îÕ«—”fOII9r¤‡Gëk·‚ Hu$»¿m¿]MMMVVVYY™ŸŸŸV«U©T*•ÊÝÝ=""BZ•Ä ·½ºÒyUë•—§Ìzs‰—âE/Ž&\÷ÆÑ!e½µUz®Æ‹T5ޜҽ$ÜÍ*†¶6Z ®5=îuË(oªç@ÄPDAY¡,ëê†å—“ YŽÝ»w··÷†  ´bÅŠ?ô!ýNNNÎËË[³f Ïó[·n=}úôúõëKJJL&Sdd¤··wNNÎÒ¥K¯_¿Î²¬ŸŸ_pp0ÆX¡P 2ä§Ÿ~’Rjµ:66ö‡~P©TÒŒFctttRRÒéÓ§†ÉÎΞ?þ!CæÎ+9t¥¥¥Ë—/OMM•*9QQQ …Brò•JåÙ³g%hSSSW¬XvúôéÄÄD£ÑøÔSO‘¦|!ï$X°[ r€ÂÂÂnÞ¼™••%u–:uJ¯×1‚¢(ÉG»víZJJ Çqc­V«V«%o_ª‰•––Z,–ÚÚÚÒÒÒ¢¢¢¼¼¼ŒŒŒüüü½^ߺuwÿú(B¨¼¼êÍ7§NÖgÔˆA<‘Z¢a°Øöî&€xQÊkJÕá¶!…>×ì~ËD夦ÿ´ý@ŸÞ#g¼óî¬Y37mÚäííýé§Ÿ>÷Üs’¬tXuŽdeeíÛ·O«ÕΞ=Ûjµ&$$ †ÚÚÚèèèW^yå»ï¾»pá‚›››Édòññyá…¤¬µ)%%%566FDDH1˜S¹0??ëÖ­999*•jܸq£G¶/ãàÁƒ'Ož”lDSSSŸ>}âââ ƒ4`çÎiiiƒaâĉáááׯ_ß±c‡J¥š;w®(Š`«âÏ tÿØ=Æ.£ÉÉÉ7oÞ$„„‡‡0@BWª&?!$—Ë¥wàÀvÁóü‰',‹R©dY–ã8Q9Ž+((ˆŽŽ3fLk:úî_—þ¿råÚª/—<;>|ÄðÁ¼Èh ‹o·ÎŽŽ}‘€œ’55ÔïÞþã'ÿÚg²i¶nÝðùçŸBæÌ™Ó£GßE÷Þš&;©P9}2æN®”Êè$©âx¡Ó`B‘4å€`A®àÎ_!êú¨PI_Dáy>??ÿÆ>ø õÝÕÛ…ŽÕi//OÿÐíß–)ÌÝBE"´ùu`ÿçô°¿5K‘SÚ¢âÒ%ÿJÌΧe*ÜÜk—/_ÎÊÊ8pàìÙ³CCC;c:,-8EGwv'è:ÎÜI½ÄÉ'°S{.¹ÝëAXéT¾­DG÷j_>épµEEE‡îÞ½»Tl–.ÁÓ4­×ëÜÜܤ*êÝf w¡_¿¾S&ÏH:Ÿu9‡Á2ÇN°NäƒÈ°6í•—^Záí5xÎûóÖ®YTQQ1vìØW_}ÕÞzÑ9lŽöøÏ©©}ô帆źý%vá8Mr{8µ9ýî|µ<Ïçää444H–ÂI¸ËÊÊX–•Ð…?ô,Gѹ?vð£_üê«3Å7«ŠédY¨­AZ†5û“NŽ{æã3§©©©íÙ3úÀZ­öÀ'N´ç_þPiÁQJþ²Wnïú“‹qÇöXþîüFR)Éb±H‰0Ç ÍfsFF†§§§½jyW*ºÃwëÖÐÀoܸmÈ?¢äræNº4¦¿\¸yã¥!CF^»v-==}ãÆ<ÏïÛ·Oê>ù?BëÿçÛ(Õ××_½zµ¸¸¸¶¶V£Ñ`Œ/_¾|èСˆˆˆü¦íï¡•×±íÓO¿ e¹3fŒÄî°I!dkáV,ß»'1{óæMÝ»w_¸pá_|1~üøï¿ÿþw{K»èNUн{÷fffÚk$R²=..nàÀ·E˜÷V‰s„ä™±“‡>¢™öÊpLáö=ÕÕŸ,N\³æÈ£>ºlÙ2QçÌ™3bĈٳgw}ÒòÞ¶»{YYY/^lllÔh4‘‘‘>ø Ôr›3ñg>FjÇfܸ‰ÃG¸¿ðÂÃE ¢Æ@àbFþª•ÇDÁÛÓÓ°zõêž={êtº×_=>>Þ uavo›ßIbê¶"æ_â&&î¸bÞò?§^¤0f0cµØ¶l=ÿÜ2𠨵kÛäÉ“{ôè¡V«—-[/•<»>UúgDËi÷œ^qø †Û_¾Xüñ'—³øï¶ŸÂ /«¨^±òີÉ7 *-–Æ#GŽìܹsôèÑ;vì0ü·Ð_`W®\:õ¥ÐÐP«ÕªR©–,YÒa-º‹þúü/tsìž?þ¥—^Š‹‹›?¾”NëB÷ï¢ÿÈóI¥°öžIEND®B`‚KCemu-0.5.1/images/kcemu-z1013.png0000644000175000017500000000406212417262523016606 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒW[IDATxÚíšÏkMÇŸ&›d“¦&i¢ik(TsðæEDªÖ@Tü…'…"òR/ Š ¼—ËçnÝšžž™èY/¦ü¯ ¯ÝW Ë’¤(jD`{;™Ìd>|üøéÓþ ˜­@ ¿´´´ôíÀíÛwîÌÌôÛ=õº¢ÔëôòZMQ:°ßöEQàþý{÷þù`bbbb|ÀãaY‡Ãºÿ×wS(¼×ëõz½áp(k×ä¯ËÅ0.ý>‰ÓÉ0N§þÁz´ú¤Ð䯳³/_¾z¥]³¬Ç38hLÏÐçcYŸàìÙsçNŸÖÊóù|>—S§z«K‘$Qlu Çq‚ I²,Ë<_­ò<Ï‹"Ï(ŠêtÈßí @à #_¿V“e†p8‡£Ùl4F£wWÔ·AA3€×Ë0ÀÆF*•Ld2©Ôî®¾ÞææÖÖÖVKG—‹aèíw;b{…&|§'­|oÏ -®Çq¥’&|"±¾¾¶¦¹rÄjÂvZ"!]½ýþEµ]QT+c!Ó  ®"›-—+º@{=’»¥Û¯=gíÈGúvA$µš,×jŸ>-...ÒŸ‹Åb±XL»N&“ÉdRŸ,§Õ'ÙÙÉdvv¢Ñ‘‘hToøb±X,µë`0lîèª×9Î:½z6Æï¸“œ??555°½N§Rš/ßÜÜØØÜ¤ K¾[ƒ¡ð4²Ùl6›Õ Žñûý~¿ß:0†’'V+W£›B¡P(8®Rá8MxR0£‘lZ{E"‘H$b¾]ôý’$ІuýµÌ¡!0œì–~7RfACàL@ŒG~g×Óo8Ú·p‘Å0ãxÄÈ·m ¬×tAèë9Žã8NoˆîÃÓÞèy'Œ¹Á8pU.W*åòþ Kƒ40¹“f†aº† £ºVYÆ ™5˜6™$#£ G‰D"‘Т¿£E!G~µ àv[ߟž]f%õoÏSÒþp·‹/>g6 EÈ5a2 E×cärêuk×,Óø]:¸u&ÐF>Íç j6Z"Ÿ¯V9®Z`Y–eÙý÷õ4L€¾õþ~F3Ýô³µ?(¼(¶'»}­&ËVîä{vAxb6;‰å{ýïÇ‘Ob6aµëAL/Âú“'k„²º=šðݲ_.©}@oÝõÃÁn A›1{5âõï±Öõ = ý¬•$ …B¡NµÔÕ7lä5‚û Ì1E"ápkê÷¹\¡Ëi†$OÖÈû´öɃ¬_©p\¥Ëe³¹œõÂ÷lòûÙ³G<xòäùó/²Ù_¿Z·øÆæì<âJ¥bQ=WH§3™Þ]‚Q=£ò«W¯]»|¹‰iìî¦Óɤ62ãñxüÈ€·oß¼yýZÿ<~]@¿: _#è…S£<(Ñ×ÅΙ™öœ™\µ¿4—ƒNVaÚ.\ºtóæÀÀÜÜÜÜìl³96¶Æûfu:WV–—a||bÀáp» X,—9 \_O$8nttd€apX«Ï²?~,/x<~ÿà ÀÖÖÐP8¬}½P©T*jv¶\.•¢ÑpøàA§3^]Žÿò€ã66b1€ZmuõÄ API¨×Õ°µTâyÕ0Šbe6´ïõ‹ïÞžn6OŠÅ`ddtôäI­\;ÌVi4Ô5Yv8šMõ‰vá‘™}t:ý~†©V³YãÔ™³!ÃHá¤Ðžìíìˆbk?^XXXп¯×l¨å_zaz–¼æÌäää¤ví÷ûý^/ÀÑ£ª CÖÖ‰õu€Phx88|øÐ¡±1—Ëív:~þTÏ"‘††Ô熇Êežçy5e‘J©Ïãç*@¡Ï—JêÌ`Y€ùùùùwï¬ûß,mÔ4 Ž Àäg+(²½½»›Jiå>ŸÏçñhå…B>ŸÏ¤ÓÙl>¯•>_ë÷;è:Ð ZxIJpýúW®4›ÇŽÅãñ8€Ûír¹ÝÏààšKQ]‰ÑbHBK£k1ŠÓÑÕhõÚ};‚3åýû>~Ü;áËfÀÀË2 ÀÐP0Ø·ƒ~?èQ‰:"}ûfNgûßi7Î ½¡TCc´Oóý.—Ûíói†â85¤‡5×EÎ@«„¦ê¶W Ó ­ {-8ɾ€Æ^f¿…µ±±±±±±±±±±±¡ñ/ØØ7®¹¸Û¾%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2006-11-17T21:31:56+01:00ó(“#IEND®B`‚KCemu-0.5.1/images/logo-gtk.png0000644000175000017500000001460512417262523016455 0ustar glaubitzglaubitz‰PNG  IHDR4@UËT<bKGDÿÿÿ ½§“ pHYs  šœ%IDAThÞÕšyxÝUµ÷?û7œyÈÉÉt’4C“4'†½en –A¥Ê¤ 2‰ŠŠ¼\Å'^¯W@á‘IôR‘^™:X tN›6Mš¡™Ç“3ü†½ï'Éih¹¯zÅ×û{žóä<9û·÷ú®á»×Z{Ã?ðyìñuâ±Ç׉wswmòÒº må)ïm8añ E7ßòÑ×nøä£¡¦þþJмØöÜÞ¥UË9kÕEC—]U¯þé½ïC‰loÚ~CºÇýzÝÌùÏŒŒÓjDê.nëÞ_ž9ŒJï¥À_24žÕÎyd{Ë/Çþ^këO k?wSl$ËÕc}£?—cöû¥‚®¾ô¬îáŽûû»Ãþp-¡²ü%ô´oö§ÆÚÎwíÌŸ÷ÑŒ“LlëÝýÏèæÏß-Œpx~Ó®¶çš^θñþ¡)Ç$3>ŽE0>‡âÙçR2ï\¢U'JÌÃë`xpWIó]kÒu%ÑE¯ ·¤þ¿ºÜɬ.éëèº<;˜þ^v4EÒ1@axL”«ðEë(]| U' ôéú“vŠŽ7ÿî­ãd‡xcM­¼æ[ýökÿö·Ð÷{¢´½¿ëšƒÛüp ³óÊÑ‘12¶xš†?Þ@Éü ¨<ñj‚EuMC1M•B3‰V.Ã[XLª¿…l²§hßÁ]ç†=÷ݽ®õÙHýC,´èŒ‹Nïmúaw{çñéñ šF7 0Ãq kV­>ŽPÙ\„¦!hNjéÚ˜Á¦/zÔÒ©‘ýÚxÃÍ›ÑÉP›·qÁÂã®þí ?Þ÷®ª:û²Ò˜Ûý•–û®ÊŒùp „îà ”¯[IѼ³q2£ üO\k'ÅïE×Xã½Hicøü˜¾BŠÏ#P²€`Qõ”®3N÷ö‡9üÆSØ©N¢¡Âîâèì¯îö۹ꆳûÿ®€N¿ò¢µ;^ÛzÇhW½´šðá $ˆÏ]CÑœÕè†ÖMße¤eBÓÑ4)A:I¤3 “»R i¥£û ͦ¨ñl ªOÃ.#]¯ÓµõFÚÖc¥Šc/Í®[ø‘?¼ú³Öÿ1 ÄŠÚâ„¿êß›6l;#›Nº§ˆ’Æ5”-¹ _¬’á®´üñ+d‡»PÊ$Í ,]„îñ"m';ˆ“ÄÉZ(•AÓ¸öJYø£s¨[õ%"‹°Ótï|”þÝ¿#3rˆ ·°ÓoÔ|®{øµ‡þf@§®]ó¾¦uÛîìé­\E ¨‘@d>eK/"\±Îhÿš+öðRŽÃ,¡¨þ'\Ž'T‚nz‘ÒFº¤f¸s‡^û!Bp¬^Ü솑À*cá¿B3 ”d“=Þþ+z¶?ŒÌº©ãçžú§Áî•ûRϾ# Ç_§‘Ë.]= P6¿&V«øÁ¾·v^l§Ò~Ó[DùÒë(Yx!ºáG3= ÚDë†ûÈöîG â&» Lýy_Æ.F3½¹¦Ü Ðr‚öìû]¯>)`¼g3Bz†Ùçý‚hÍœ¼t.£Ý¯Óöò7IÞMiqâpi°ñÓ[<ûëcÒvMãÌPWOû.¹í{-[~¶ÿÀЯÚöXæZŽŒÎfö?"Þx&ºÇ7µ—H™¦íåïI¶`¸!Œ°,†óî%P<¡9á'Óõ,œG¤z)ÒÊìÛ…tÆÑµâ:ÂesóïBhø"•Äê–c;Ãô¶¾în?ÿœWÔ^}áMë×oþ­59ÖØuh¿ˆÊÈW_YÿRGïpç݇)H¬&ZÅsÎÃãæ”¬&>'‰×Wͨó®+PcDËÖJ4N&‡>§e×±Ðu/B×Ê X<‡t²m» Pn_¸jê} …@àõWRwÚ׈מEËú¯úþ¸ñ±k¶¼¾­þë_~ä™joüû¼sµeœºútþ¼~c¼µùðÓÃíD½—Q8÷½èþ`RÓ¢Î0¢d­. O;5ŒršæGº6šf"((PÊâðî_Ó¿ã «WP²øB<ÁbPTµšÂ…c3¸ïU"3äÁ3õ]Ó‰U¯bñ'cµ<ȾM¿8í'ßøÆiµÚÂK]Ý£÷ ‘2ûc|ª¶½íÒ[~†;Ò’jšÛ()Ñ4U˯E:.ÒM"0ÉŽ53ÞÓ6µø¤2É^úöü†dÏFºÞx–¿Ef¤'gnMC3”°vM31 âµ+™qÒZt3·ˆrÑe/c¥eË“¸V–ø™Н¯Å;Û“·àp{ÜAŽºÔ…Îrç¾§~: OTC¹ÇTAÈíê¸$QBpOÓ>Ë¢kãðìßBÅY·à)š7ZÁœ ¤{׿3°k©Á(W ¤t2€Ä𯻀’—(ªC7|9M[i2ÉVìþWÜó;ÆûÛ /¿¦†à /Âû¶LcšÙö,öˆÅ) —±á•'¦JŽáHW¸ t逦ç>Òàâ²b,)ùNóAþ%TÀŽä[´={±…×_p!šé£|áõ$æ]C²oÙ±²#${› F«)¨?•Pñl˜(ôìô ‡Ö“jßÄHçfÈ ¬‰Rÿƒü§{QšÊ˜Œ­#6m§ßEeþh`à(—ókFDBtsˆ¦OKü.K”à"yð@'WUVðÒàÚðUR‡ß¤ê´[!CÓ½„Ë.=B³"?‰a¨åUšG ›M ™ÔÞ¾mµ†VJ¨él§1›fº) |äGB táÁ‘¥Tž›•b\*P’ ®£!¸¬df…ÉœOÕXíGyU>3?B éö,}O ’îN#y1®É‰¬l‰Õf³¸òdÂ]Å¿9ÚBÙ»ù”FÖ&âÍixȱx±'ÉîÁ>~ÝÝÅÕ5\\YJÂçáC• ¼ºÎ'wìæŽº:îj¨§Î×Í÷Z~GÛÀv*Îþ2ÞX-J ¬¡XãûH%Çq…¤ôÒ"7–b&ôœ{É`2g«Ïaÿm­¤ÞÊ¢G¡þ+¥˜…(ã 7í.)HÏZQ&yúm€\› Èoò£ý‡hþ± æ;½ŽÎ§Hõ¨ Ópo¡ýSL1é¢H[Ñþ“Æ·Ž­ˆWLx¹ l¶'‹;ä°{ðÀž¨9t”… [`ˆytl¥ÀÉ•‡‡éÍdq”"(L”´eR|f×n^emM%«J ñܾs/=™ 7̪¦qQ/îmá•äkd|{‰ï§êæ¹æú0¢:h ,ÅÈ[I4)ˆœʃ’п~¾‡úÁQè~ƒ²JЃÚÉX‡TFPÁôʵ'JÞN‚ÉôBh¸JcÔq§<±e,Ũ•Å'tL!ÈJ‰ -]~Þ~ˆK6½Á£m=¬ˆòÅsx~x€OmÛC±f²¸0ˆ?è!~FŒªÛʉ,bêȬ¤éº¼¹r'mwöàdä´Ú)¹'EÛ‡Pi‰rEÄ - LY™Î,ÊVÔ‡çLK§¦y|>p%!S´©×T—³¶¶ ÍP I …=é E—æ¦;˜ÿÂ+[Ц'¬éæ‚Ú™¥Ç$„À'tb^“1+o¡E¡_;‹?Ÿ¶œ‹Ë*hôEð‹é W I‡æ×<Õr˜»깤²¯¦!4Üß´æÑqvŒs|<‚ é*ÜÁ v¿‹§ÒWåÀ¨\ÃÃR8í6rÄÊcÍB#¿á‘VNæyɽI‚{;ž~ïçVvá×p¤bÜqðé´†gj“u¤"ëºSYJH”úsîij‚{æ4 #0&ʃ´ãàZ6*+°‡ü¹™6}(Jåößr0GùÊi‰–6Ñ “eK–u‚ž”!Æ¥MØÇp9pTÐÔÉ„îÅ÷csÊÅæ7Ñ¢Zþ8ÅQÓº<þš³îk |j5¢rL'NÊ¢ïñ>šÖ¶Ò÷»\3ÓuÈô¥ÑÜÅ3K·pÛNž ¥ÇA¸u¬ƒÊÜêåæD QÔE‚x&ztùÊVQÊüo–š3¯…Ÿú{k ->;HWYߟlƒå€§vsðŽJTá­0‘‡ ŒÒÝ<°ó-.)@½2KÄ4ßÖ­Ì 6UŽåBcªM›kOïÊÛÊDIÐý:ºW›èSƒJæ§Žž%tJè†Få'˨úJ±•hɨ0þr†©ã«ôá+öóâtx»ª-{O}ÑùÞ£©X†¨i0Í`¼_J¥PÒÅžÐ|TL× Pr¢u#§ÅÜÔ.oä~¶œÁ<Ózc¾iꆠüÊfý¸žª{ª0k<êC4ÜWGlU„BZ.m”õêá? 4·<½jÞqï9ÊåÖÍí7¶ yðO “ÝRÃC݉{|t¦rÉOÀ˜ì ¹ù±º9E$îd¼Ñ©QR¢¬¼[ê}º¿¸9—š ìÂbâgÆRÃ,ÒAA¶ÓÂî±èIv±Bµ‰šoW,­Ž—Þf!owø@u1‡=£ãd\ Ò™Æv…†ÉCKP¢#0õ ‡S*?vŒÒ–ŽÂ ¢ùó©N§Ò3=ÒòÅž0ž˜™#sÆ|qgÄeIãŽ;så¾±dŒÏçÊÌQ.×XqîPùégütkÔÏýíí¼ã[<ßÕ%Õ´®OßÏ‹²²´˜¤%§NYP*·g97t•bÜÍ3¢îTOÍêµp39Ëi¦NpïØ‡¤o;ù³†lZ¾ÒAæI Ò&Û÷oãð¾–Y—^~þ›Ç$…{n»2Y·¬âz£Üø¥ôy#ãpý¶|~û~F,''ìÄs\4ÌÍãºúÊyMþæXàØS¯K®ñá«öM —9h#3 áÓðÎ !‚ÚÑÁªÁ/ŒíçàímH Y  ƒÆò¹wtÍõQ þ«cÒ6À¯¸UwÍò?úª+ËŒHä̃ÍMÚƒ]ôg-¾½¤‘˜'?¥ñÀ|fÂDd4WcÐDÚã¦%ÝOö3øÃŒaØ“|ƒ˜ám"ü¥m­¯?öéo]ý—Ÿ‚Ÿµæükã¢ûû†zMz™åÁ(?]:—2ÿ±3` gÊOúm‹s6m¡y4ìïÏ¢ðâp®·öƒnôˆ ìÂ<•Æô§*šøÉW]÷õ;þt×_}×çàÞ}[_½ü­ jŒW%66·ð‡Î>þ¥0FÜg¾í Xä™nBÂa׿Ž’¶$~aÿ,/Ò–xg˜ŸGhy×:¢#êÚ’îÇûØs ™]Yd&é‡Û®ß7=þÚß~qûº±¿ùòÒ¶[ö-X0ÿ? âñSÌ7ÑÜÕ«½p¸›zo€šŸ©´M7sjUrê{¿íð“Ö©(¹´o­‰æÑ0 <¹ŠõHÿP90™î,-w¶ÑóÀ*i4<ýóJîÝÛ»÷C/oûÓž¿äÆ‹öÿðÈ£~Ϫ ÏŠGK¾PR•Èt\ÖîØÅíݸ“çÚSì6¹o Yv.UajùL[Ï;rÒÅ½Ï °ë}M =;ˆáºÎ’êÅ.3´e[Úßú?Í}$ã/tÙ¥«ÓÀ½W­½>« í3½½3nÞ³1ÇåêšrtMäØMÐ pm:í4†.p îù&ûÛâ%Ómqè» ýf•q›Á¶¹ u_ذcó/ßõûrÛÞx}SãÂãOTE §«žëìÕ]×ËñLmêø €W‡y~ ÍÐ)½¬£äˆÎgÜ¥û‰AZïl%ùê8üª¾tÆ/V$Î^ûÜÎç^ú[ïñí ¯ýñ™`UUõ‚[Ì„çßmßo4k|sAEž|iі΢$hAÓ÷Ñ]I:¿ÕÇèkȬFM¼d”ø'¶vl]·£ãvïTû[_<Ô¶ã¾SÎ=ñöŠšûŸkâã;;8lD§ê¦A;—· S <Ú›%ßLÑ|m+#ÿ9B©·úHøÞ{n½ÿ´­=[×ñÏð¬yßUå¥óªnOTV¨EåsÔ/Ï~¿¸øBõþÚ™Ê ¨È¼˜:yïrµøÅ¥ªêºk(S¦PÇUŸÚvõÉ=ë…û7ü³=×~ûV±æ—ßZ^PE¡bõÞÆùjqQ‘ò…ý*03®ª>1K…kj”ßW¢Š *ÕÉÕ+¾õÕ0ãÝåïrÍyëº ,:§`S¨006Ôc¯ÚÝÝGWziIŠô"Î,?ÁÑŠÝ‚Ž9‰y\zΕÞrÿdžþiìzéšý/ 7/9éäîÎ}‡g9¶ºŠ¥ 8¸Õ3«ëÎýØÃ[ºùÙÍO¹üozæ.­*©©Þkzýª6Ö >|ÚÍWV˜žÄÚÚ»1ióî7Í=¾à^ÝËIKϺNÑ’G;ía‹ÿÍYäE…å¾.»IûG®û_&èR©è¥Ë>IEND®B`‚KCemu-0.5.1/images/kcemu-kc85.png0000644000175000017500000000541412417262523016604 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒW 5IDATxÚíZ]hÕÿÍÎ~o¾6IM¬V¤Z‹/¾Hß RÐWÁ´6ÆÚ`ˆ­)ú$E­´Á€ˆ¾H k0•~ÙEñÅÇ>øà›)D“4í–nº³;ß3>ÎÿÎÌfó±»m…ÿþ Î;wïüιçœ{ÎZh¡…Zh¡…Zh¡…ÿ7Hõ¾¸¸¸¸øÇ®ÛßßÛÛÕµuM³,‹eiÚæÏ½ý¼}ýïS?ñܲTµzïsºš¦¦•Šëº.຦IW×UUÀ4UÕ²€[·r¹\8qâĉ÷ß—êæ«iø¯¿Ñ{;!^ô¥vÇqœJ°m]·m \¶mÛ¦Þ–˜¦i* °´´´´¶|òÉùó““ $¼Ó‚Ä߸qãÆâ"pêÔøø©SÛÇuIó‚°mDZmO"ˆþø_†ã8Ž¿%8žëÒxÔ‹´¼z|×u~æºbÜñññññq`ÿþ§Ÿ~üq £#™ŒÅ¥] ÔèL|4F£@__oo_J%“©Çãñ8F"Ñ(‰Èr$"úÇb±X,D£áp4 Èr($ËÞ«,Ë2 IR(„B²òÌ: …¨®¶MškY¶mY^bYà,^?ñÕŠAÿ^¸ðÕW.ˆç‘H"ÑÖÖ<ìxÁ͵µµµµ¾ôÒÁƒ´dM( …BÐ4UÕ4@×MS×År?MÓ42 ªªª@¹\.—Ë€¦†¦†a†X–axOõ ñH’ãH’WãÙ\°ø‚+ÉuÅñ¶ÓŸ¦Y–ë’$I†!ÄE×úMQÃ0 Ó$b,˲Y‡eÈf³Ùl¸sçÎ;w„f™¦a˜&°²rëÖÊŠ (FãñêñYp,(Æôô ˆû“'?ÿüúõÚóÌd>üppPÜŽNN^½êíÁd²ÉcŠuÐõ ïi u è™àB!Ÿ/€ÕÕÕÕÕUrZKKÂĨªaø%}p±hÅ¢·}3Ë^¯¿>sæÈ‘Ú¾%á6oç{rÍÔÒê ;@uôÁtÙ¶ãŠR*)аÝL¼iº®iŠ~;EPãÇÆ¾øba¡öó Xã™ÐÙÙ³gß|S<ž˜¸xÑû=¼x¶ôÝÛð@0Œd°‰`ç'lzPã-dY’dÙßæ%TD[ÁX‰ï-‹|XsЀ ˆD"‘HDD'¬á윓ÉD"™NÔ0l[8±íc§D&sö¬×?~þ¼_ã7sÙGI’më:`’ÔÌíX]+&–ÃÊr¹R)—õõ|~}¨T*•JÅûÍAP A˜¦m{¶ ”v¼ÕØ<*«~#P4T‡àÿù}› Ç×µ4K|(…‘Ço…éééé­ûme«ùùwß oô^ðíæ:_F1&>I’eI¦ˆÃFI¢¥Ê/F&“ɼþºg;$~aalllL\k?ˆ«WGFFGño½5777·™À‚&é?à(é0Ó¤§m».P©hZ¥(Š¢(ŠXAâù~tttôûï·þM&|»+ (&xppv6“©½¼TÞ°”ˆ÷oªÃP¿Þ躮ë:`Û¦iÛÂÄl—è­Ôü äÚµ“'ßyÐuUÝX“Ù`ú7bbÐÜŒhCQ¦UÛxÓÔuÓffΜ9|˜4Íq¼aÜæýì³Í5==0à'ü×_7/˜|{å•#Gffø pìØ·ß;&æ_kƒæýîÆ(÷£.àÍÃ38üœšššzõUÀqöî%âŸy†z<ûìv®ASÕ,“nÞ™Ï) Î5‘ Q:¢yój8 úO¹v øæ›>:ztç£W@µÆû16¶°°‘3†¡œÄ›šíµˆ¦Å5|€ëRR®Yh( UÕêl$;·ááÉÉK—jŒŽvJp-‰¯T¥R©îÇó¼|ydäòeÑ>8˜Éx7l€‘âIRs½@]+`³ÔBµF‘xææææ††ü}%©yÎy»Ä³ÍçºA­ìg°æ8Í] dü> ñŒãLJ‡½+bxøí·/]Ämum”x&|kâ7Ž‚„éù$ãaЂħÓétõ˶-˶ӧOŸþå •J¥R) •ŠÇS)±_àúWÒº»»»»»Å8¥R©T*Åb±X,Šçœb±H$Âáp89)ކx|ÑNû.ñ†’÷1¹Ü½{¹\ó³ u @Ui"œœš˜øøã‰ àܹO?=wÈåîßÏå¼oø  Ö°BÁu ¯ üÎouummu•Þðê'äþ}ú ö ²±IÙÊ>üÆNûK›H¹\6»¶tuuuuvûö=ÿüž=ÀåË/rt¡i"éÅóæÓ½>„7v’ä8´bDÿN?ðÎÖqLSU«+Tü\U)%R ‡¦Ñ<Ç0h/CÁ„eÑ–‹+|Þ³mëëŠâW°ÆP·?Ÿ™™šúòK×íëëë{ê)jÓu@UƒÙF²®ëº$º×4êÕÕuóæâ" i==€atvvuù¼¢äóÀc-/¯­Åb{{,hÚ®]O<ðÉ„X쯿þüÐuRˆb1•êéâñp8òùr¹Pr¹|>—z{{{{{h4¾yhoß¿ÿ÷ßEùûï'Ÿîß_\|ñE/ñ$ˆ\NQÖ×ÅNÿÊ•+Wª³±;¨~ï½wßuÝvï6 `×®þþ¼=Ø8%é¨X®ªœ%Í6šêÁx[ätè\aØ6­ÇuiZAb6&´R ƒŠê¦©iT¡£÷ùü¿ŸË•J÷î·o³ªÐïÿöÛüüü|M:¾6Fµ•<‘ ÂŽÿÙxrØtOç†L“l>”cÁ&“¡P"AA€7Ê%x(²$Éu©`vtkk««Ù,í+‚Eûf§ }#?¨7ǃØÒ4Žðª_zÔŸêÇÃÌÃ#º…Zh¡…Zh¡…Zhñ/V,¯ˆ Ãa%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2007-01-11T15:37:09+01:00ݘäÆIEND®B`‚KCemu-0.5.1/images/media-end.png0000644000175000017500000000301312417262523016544 0ustar glaubitzglaubitz‰PNG  IHDR”$°xbKGDÿÿÿ ½§“ pHYsHHFÉk>«IDATHÇÕ—[Hm€¿™Ù™qÓŠ-M-× Kë‰5Mó"cE­¤Ý‹"½P+”Ä@ÉPÈ‚@½è€F y¡.®™4#ÅÒ44×JÍP±<ä E2Ûՙݙù/ÞFùÝ_\ë¿é½›ù¾ùÞç{σÐ_&Øï~ää¬Tr™ÇejµKÓ«r¹à+‚/Iâ 8Ž7LMYÆYÖ2ÞÑÁÇñ<÷ìÙ§<£ñS^w7ì„ÿøI­>dòõ¥š¦˜¢"¤¤>Š&©ÔéÇ®]N?‹ /FÈ4»¼lšEh&ubb&•a¾¼úòû¥whˆ¥†¥32>«ß¿ÿ¬nkûc`ÿüÿü¸8¢˜ ˆbƒA™¨L•HÂs4šð’Üiܽ{§Ñ~Ï€¥2ß¼1y¾WßÑÑ«ç8°|^ÞÀ£žžG·nmدòða¿Ê¨(IºD"IolŒŽ>}::š¦}kýý}k2–• !ÆS«ñÄ0™ÌÙY&[ÿ^P ‚ DH¯yð@¯a°4σE)*t622t–ç=G½½=GI²>áÉ“ú†a)†a©k×úß¾{×ÿöîÝ\øÆªÁÁª..’h’”D×ÔÄ2:],CÓ`Y„Øq–eÇš3MMÍ™0LïQZª÷ลNj‹K×ÏÅ-$ÍÍ-$ÑôªneeU—‘1ßÖöµihèk˺Myx¸M!¤›ONÖÍÓ4‘.‘éÀ±%0Ýïà@÷çç«ÌjµÊLQ>µþþ>µ›»˜Ïä8>óéSCAY™¡€a–Ï}ÿ¾|Îv$as3< ×÷>tuÝû¡È¸S§"ã(Ê¡Z*u¨.-ýk‘° ±êîÎgqŸ•’r4G£9šCÓ[Æd³ÅbiNKWWTˆà?C—–~†ÚÖÿö°Y­V™1 ’ÛË BóÄ `lð‘øø}êýû÷©YVzÁÑQzakDAE‚з§««oÏùó«¹fójneeUryyU²Õº]`lða„”w”w¤RÍsk>[†…¨(9áå%'·o„(s))õÏŸ¯)jÀq¼Áþz{ þàÁñ8†Ôhl€á@…B¬£¿+M¹CS.ǹ·Êåî­Z-T‹³g!ë''í=gÇ1'§ÇÄqq±†ƒqÜÞí‡Ùº!l0 øôI.œ˜;ÓŸJ`Ä‘#7nÀ¹33A‹ááA‹®®ö~/r@™[X°¶¾´X¬/_¿þV76ö­Îdú3Ðìl½yS|Ï•X­\ÉÖUG”é´‰‰é4AÏ··Ûƒ jjf5““³Šbt++Œnû XŽc ……ñ‰‰ñÛ¿°Ø!G²F²Íf¸¨^o,&^Dx‘ÁгÜÞ޳̲[)€‹^¹"‚jeIIZIºµÊån­ÛU Žª2—™Læ²éi˜-êëm€EaWW™À«W?ʺº>Ê,–ñË##ã—7W®¿~]…ê`»Ê“—XÐÏoãºØÚ[²êêZ²8.]ú¥…ßƼéiIHh,¯¬l,g˜±ûÃÃc÷"cH’ŒY߯[HNÖ- ´”RP¥AZsk+4†Œ hP$¹è2?¿è‚4šÕU˜5nߎ–›‹oå"h‰‰PžÊ˃\‚\"¬íøñ°6‚ «¥RºÚ~—CëG¨o¾»»o^:ZZ:,˜¯ïÝë[èîî[ÈÉݶÆî> )44 )8ÊLI X,$Ä›S©¼9ž‡IÓb㱡奥å1ë9b”ea™Ÿ‡ù8#cðLoïà™õXÝL~ûIÿÀòZ-© (R qw‡X•H ææÀ²Ö«ÕZRUknî¾øêU÷ÅíÏüÛÖ% pãà IEND®B`‚KCemu-0.5.1/images/icon-pcm.png0000644000175000017500000000251012417262523016427 0ustar glaubitzglaubitz‰PNG  IHDRÄ´l;sRGB®ÎéIDAT8ËE•ËoÜWÇ?çÞßÌxì™<œ˜8NÚbUX´Âåo=ÏÅ Ÿ8_y_Ñë÷ÙÝðüsO1ì1Ö„ˆ!1:3žŒ‰!c$«b6X´PJAdþ‰¾ycÝO\zúÇ•@ªAÓyþsk'ÂÞÞÅ ï<1Erʨ*Æ\*;’¬”‚™±°ÐÂD,†ô©*$%e%åHoo—½þ€h‘"†;,˜@9á¨ÆPÚB%)&J.Œ’•Ò窙TL$8ý@'ŒYˆ¸®§÷R‹áÓ ¬ë˜}¡Á½ï¶w` ¿Ófúíºî©oS} )Z GFLÕå”IIqâÈ)‘ KWÇ–}­AýiÏÚåzJ¨…Ã'*:¿Ï”¦¿Ô&?ÔÀRA‹"!AÎzÖe-Sd4š “DÜðÌ>ëiÞ, — }UÑãBü˜£ý†b‹ŽÎOj~5¥,€fFÎ5ftœsBVÅ;Ïx2F èIA2,½š(ÇÀO€†t¸¡QÕ‚bÐyR .E ¨f!’R"ÆÈáøÐÌ´n:Žý2‘Ö7†É£ž¼æ<Ë/´ eQ@¼amÁ(X1êl€áÐHÉAH1QÍ„æ?2zZÇ™~¾¢ûJ¢õ/E2Ø¢cñJ¢XAÆ¿^“9‚Ææ¥Š1£²fêYMšÕ,üµÂ:fàï§¿ÈkŽÎï2ÖÌŒÖkê*¡ý[Úˆ)aU)Šæ€–¹³®òäFÁéŽòŠÌ3{L@”S™B¥`­¹Þ¥4ÏAªL#š ¦Š÷þC’0ŠÍ‰òâi4šdÍ(…PŽBÁ{?wŽ1G *ê­ÝéÊâÒ"‡ãɼo†aˆ1F–O.SbŸª1'¯Ùj€ Þ{rJ€pbù† "TïÞÞ’“Ý.?zù¥×﹜Š̈uÄUõl:ßh1LúñSlL§Sâø¸?$-Ÿ&ßz;µ‚™ÐÚÙfxæ,!¦ÓÄÊú:oóþ[éÜcp÷¿}å7ˆ™‰ˆ¸Ëß»ôÕ«¯¾ó‹bfŸ|èáªÑn²vî<·7·8ÿ9Ò,CMûÄ2ýím æÌÕ¿]cx0¥jÖÌL ‡698'"èîë?<øÀýïô7¦!b`ó½w ¡¦·½ÃírÎôþû9G*R)ìúì·¹ÓÛ ½ÍM¦â½MŽ,åÒ7žüË#_øÜ™•S¨e< Åͽ.””” V )ÏOTVµXÏdTϸþÖ ^ûÓŸÚl6¯Ç_¬>L·ùåÜ·Ñzî©K“õõžG/”b«ÅÊÁÀäèhÍWìe‚ٛŬ±zvõqàVŒ‘ÿgÚrÕNÏÂpIEND®B`‚KCemu-0.5.1/images/screenshot.glade0000644000175000017500000004667312417262523017411 0ustar glaubitzglaubitz KCemu: Screenshot mouse True vertical True 2 0 etched-out True True 0 6 Screenshot 0 True 4 4 window-screenshot.png False 1 False 0 True 6 5 4 12 6 True 1 4 4 5 GTK_FILL True True 1 crop_left_adjustment 1 2 1 2 GTK_FILL True True 1 crop_top_adjustment 3 4 1 2 GTK_FILL True True 1 crop_right_adjustment 1 2 2 3 GTK_FILL True True 1 crop_bottom_adjustment 3 4 2 3 GTK_FILL True 0 Left 1 2 GTK_FILL GTK_FILL True 0 Top 2 3 1 2 GTK_FILL GTK_FILL True 0 Right 2 3 GTK_FILL GTK_FILL True 0 Bottom 2 3 2 3 GTK_FILL GTK_FILL True 0 File 4 5 GTK_FILL GTK_FILL True 0 Format 3 4 GTK_FILL GTK_FILL True 3 3 True 0 320 100 True GDK_EXPOSURE_MASK | GDK_STRUCTURE_MASK 1 2 1 2 1 1 True 1 2 True 1 2 True 1 2 2 3 True 2 3 1 2 4 True 1 4 3 4 1 True False False 4 2 True 2 6 end gtk-help True True True False True False False 0 Screenshot True True True False False 1 Save True True True False False 2 gtk-close True True True False True False False 3 False False 3 PNG JPEG 100 1 10 100 1 10 100 1 10 100 1 10 KCemu-0.5.1/images/icon-kc87.png0000644000175000017500000000255512417262523016435 0ustar glaubitzglaubitz‰PNG  IHDRÄ´l;sRGB®Îé'IDAT8Ëm•[Œ•WÇkŸïœï séŒ3ÙáªÓZja¨1€)&ú`Ôf Do 5bB‹ñÝú*ñ¡¼ùBœX/5’ˆõª41 Œ aL2 s?¥Îaæ|ß·oˇ#w²“½v²×úïõÿÿ÷€©©›ÿÙ>ô¼‚Ðò2lP|0H‘“¡Ÿc¸ÐÂÈ‚@‘³æ"¥˜»™ÙÅòëß}CäÖ­ëÞÜÿr¶ÞJÍx-B€`)‚€8o pÖƒGƒÃE6`½Ã{OÑZ׎î^yðÉGÌÌ,¾"ëy]Yù˜7Nþ,( €‚ˆ5"1@PUÝX£íxSu¯;ƒ·%¥RÂìì]úûû•"ªŠ1Bžç8çè¨VÉ‹áÿ¾¾>Þ|óg¤¼òñ_&"ŠIÊ„Y\\brr’4M)%%&oNrïÞ=Š¢àäÉ“lݺ•f³‰1æ¿hU¥³³“JZF‰šçn4±^Èm R)311ÁÌÄ…-¨V«”“2ÆÎ;ÇîÝ»9rä1FŒ1‰áìÙ³LOˆÆDD(ï2z:*¼ýöy:;;@U©febn‘Ôˆ`­åúõë\»vc¯£œ”Y˜_ °—.] RI‘èAcHL„µVÁÁCù⡃\¾|™å¥%Ò];H_ØIãüŸM)¥R‰$I&&&°ÎrñüEÖ[ëœ>}š©©)N:EQ‡“Ì …õìܱÑÑQ†††!`Ò2R)SyéKüþÝw™žž¦ÙlâœãÐCœùŪi»U ‹ Ôj5b4Æ®D‚%¨Ç:G«ÕÚ@†*Zxpüøq®\¹Â… èëëãÆŒŽŽ¢QŸRF¥’b³uT•$ ç܆n7˜~LŒ>DD¨ÕjäyNZM ç™:ª<;ò,Wÿv•ûßLJ¶ŒÆ€x‹>!OUED6 Ykãĉ¬®®âœcdd„=/îaxh[XŽo6‚¢±@ž¸•HÛa§Œ‹•6(ÞzëÌ;]Ýå¯?7²Ë¹Â—‹õyVPª×Y„™»ݤÈÒùæmm²Œ ’gîpÿæ>êÍÌ×ùÍÅwU1?úÉkãï_¾ýkÅèÞ½ŸKÊ•”­[†™››c˶m¸"Ãe›zû©Ï/bÊ%¢ ¼ÿ÷›¬5¦Ü"S¥Ùx¨Y³!FDÿøkÏïv=ÿÙ}+ËË·ó,Ç[ËìÌò,§¾¸ÄÂÒ Ö9fïâCNjœxVu>Y›eiy¥X™›'k6DDþ¼Aù«ß:úÞØžÝ‡·~Š%¢¢4X¼óXD¥|A¢ºÜÊZ«Áí[ð‡¿¼÷«$InyïžIDATHÇÕ–]H“mÇïí~>6? Ë•Z¶š:š_Ì4˃Œ‰Z!ˆî H4 #[ `ì éHúB#:H DÅLIŒ&–¦ÑrVj†ŠæGÚdC0ÙÜóÝÁåzɽ’ooØû^'ãyîg÷ó{þ×ÿº¯ ¡ÿYÈ~õñÁÉÉñÁZ­P"BIn.ÅÒ4ÅfdÀjx¸%IRIÊŸÈåò'ssÜ4ËrÓ½½b–(ŠY}(·Ù>”[­ð¼$ývàý.½~¿+*ŠbhšbªªV’öøñ°2µ:¬ŒeÕ‘‘ê¥2àë–-_’Wc,¯FÈe_^vÙúR43ó¥ˆa&ŸŽŽN>•­¾wt”¥†¥M¦ú·o?ê»»ÿ5pLEbbLEV®ÆW76j‹ââ´EqÈl02“d mëÖ@ÛÆ3J#d³½|i³‰â@}oï@½ €òååÃúû‡\»ö£ˆnHK#Š ‚(noOOÏÉIO§iåå„Z¯ÔÕµ^EÅU??ÅÕ•ÞÂq¼E¡ÈϾp!?cÿÀ@ÿ„ê wîÔ”EP”¢’ì©©IvQÜ3±g‚$Ûò>lËc–b–º|yèÕ›7C¯nÞ\Ë%_{C÷.!A÷N¥"ÒI’HoiÉdŒÆL†¦AY„fùÉÉY!I+I’vqÑcv»=æœxÆÎJ»ÝY‰\#ä,XXpдǸ²â1šLàùîîO££Ÿ:X6dn÷î9„ŒŽÂB£ƒ¦q1AàâÊJàHIù)0=¤PÐC:·^¯sSTä㘘ÈǾ€»º@ ‹…È I"ÃáX/cP„ \56®]ß~çÎí÷JÍ:q"5‹¢ÍJ¥¢ùîÝU#|wÂw`ðjh¨X*bééÓ‡ÍÃa3MoÜ¿'@(™ Š[£k;æ,—ÉdãÙÙ;ôaa;ô,ëõêf‡lL&“!¤½«½¡T‚5Oò†…´´p¬Ñ„cÿÍGý1veïÝ»+[.! `8àÕjï9ú§ÃïH@€ß„ÄAKT*`¨z¹ü×¶ÿýz¯þ¦èààž™ñv¦?^8œN`þÇñÏ^¼øÜ:5õ¹ÕåúÓÀóçffæÏId¾§ÇRÐÒb7ÌÎÚ ÅWVãæƒ BãeÃÃãen·PÃóBM}½04€ÙYyÆòªÆÆþåžžþe–Ýlà ÝÈÈ„!÷=—Ë}o~f‹¶6`o0qwéÒû ×¯ßqÜôÅññ鋾CõîÛ—rð`\ŠFJlÛ¶O (½v}©nqq©¡ÎÒÖÖÎR†ŽóçWß&® cÞü<a^^{mCC{-ÃLÝ›º4o‘&%ÁïÄ´^Œƒ‚‚ƒƒ‚¢ÔE©½ ’ë]]ÐL&؇$UÇ¢ ¡¦ÂÚÚ¦Bfë×£³ÓçÖ"hùù¸ c\U[¯JNŽWaœÜ}ôhr7Æt³RI7o<åÐútX­ƒIêîììæ8˜¯oÝtZ­ƒN³žöì7<ÀÇ$%Å$$À1SSŠ%&F:]„ ŠÐ!iÚÛx`,Eh9qii9Ñ[õ‚eYÎÂqœÅá€ùØd9900rò/¯®k­kócxÇ?P>7—TS©ÎÌ„ ¯X`a”íëãkxž¯ij‚³X¬gŸ?·žåù_åøÏÇ7 ¿½"£êÕBIEND®B`‚KCemu-0.5.1/images/kcemu-vcs80.png0000644000175000017500000000542612417262523017000 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒW ?IDATxÚíZ[hÕÿÍmgv²›d³iÒ¤IljÔ>¨m±H±¥Ö‡úì¶^@ðRD¤"***øàKAAú ¾xA´Ô‚ÅŠµQ„¶´J­­½„tI6Éf³›Ýûåÿp8Ìfv§Én6µüÝßÃ.3ç:ßïû¾óï …Zh¡…Zh¡…Zø¯i´áÅ‹ÿ}ö¬çõövwwv.^_×MÓ¶ÃË Ã0,«V;Ã0Œê÷žgÛºXÖÂ^‡¼÷AÊu`YÀuMsa9ªªª¦U>kZ¹ ärss¹ðÜs{÷îÛÇ4,¯0ÔÝáÿ»àý÷„Ó4 Û&óÑu`rrbbzxë­wß}ÿýåÂ×Û (ø3gΜ9wxþù—^Ú·o¹Ó©†ãضㄗ[–m×"p¹ýÛ¶mÛ6ðÚk¯¾úÊ+ÀððððÐ ВIJÍû¾ewEF£Ñ(L&ɤÿüž„ð÷ApÏs\õ?mÖ>(èàÿbØ¿ÿã?ýÔ–$Qlkku[@T€²,I² ìØñÐC[·úå¹\.77GL½Ò¥†®WºEQM Ã4MPÕrYUUÕuUl›8 Æ/Õ(q‹ žj~õ{Ë2Mày`Y–eYÏs]×uÝÆ]Ѳ Ð4MÓ4Ÿ€h”çEO§'&€éét:“©nwýz*•JUL„žï©Û(Â_«f3Çm˜€°ÅUQ¥PðõêØØµk¾‹j¬/ØZKä⺞ðþ—]'ýêºm73ª›€0ÁSW‘Í‹¥R¸€VZ“—Š¥j¼_¯¹šOÑÄõœ@QV¯Îf|þøñÑQÀuGFÊe€e_x!›’ÉS§ffH]ωÇggžžÉÉtèî¾tij `˜xÜuë«GÀ0ž¬ZõóÏù<04DâøT*—X¶³³²ßþþ_-—uë …bX»6.×mk«½¶8Ž¢ÜÐø.¢˜Jut÷Ï?± ŠŽ®{ñb$ÌÏ?ûl"pÜwØ6À0žd2ÃÃ}}€ëf³, ˆâÃë:ÀqwÞIt/€LfíÚZõ–õ<€çׯ'Fb¥ÉÉ5kº»ÇI§É~ Xd@îºËu–%ã­Z–5>Î0€ëVÚñÊ¡nÜ8ÑE’A£ÇáyËev–”ïÜIÞ;ÖÞHÒîݪ ˜æè¨(€i2 ËmÛÖÛë÷/I{ö¨*`‡KXV­z²üÀ® èúÑ£‘ 6Ø6àº33„³ˆâæÍŽhÚ±c<¸n4jÛ€ãäóÄÇ/Œm¨ï7 ]_hq±%¨uhš ¢DÐp$Ï8î¶Û°í+W*£AظÑ4Ó°l_Ÿã,ÛÓ㺀ãLOA‘ÑáÞ{‰E;'Ç 8À0$ê¡k@$rÏ=¶ Æùóðüà ë×Óãy€m§R,[­ùå2 š‹†-€f%ƒ°m˲,ÀuÅ€H¤T’åŠY6JÒîÝš$“'Nd2€¦}ÿ}¥‹ò<]g@’}”Ô;}zfÐõ~ˆF†aºä1 À0ѨçDêŸ:•ɪúÝw•.ÎódÙ¶xüé§- <^Q€bñë¯y~q—ã8ËKþQwt£tp¥%Ì̼ø"‰Z‚{ÜÑQIfgûûÃDZ¬“'E˜ºQ= Óüý÷ZýRé'á~û-®\‰Ç+c¥}}ê& (øà‡Þ*›®/L.UðÔ÷[–i6s'ßp.ˆ€Ô›¤å‹¥EpürYQÊåêzõ¦"šíz(ê^ªOžš#¨f÷&ø¥âf¹¤e¤£›õÅtC´T"Â,f¥4¾zœæºŠXxÖD"‘H$µZ‘ÕƒæýƒÏÁÔFww2ÙÝí—Ó}ÆÜ\>?7çxç7ßÞ{ïÃ?úÈfgg³Ùz謭q…Âü<9W˜ššžnÜ%,Ön±òÝ»÷ìyâ‰åˆøÆ¨›€LfjjbÂ×Ì‘‘‘‘u뀯¾úòËÏ>«®Oo„Þ:½P-8•Ѓ’êvdQ…9`rMÓÈ|Ã\=pjê&à‘Gü™gæÀöï÷¼þþÞÞʬd½帋/\4mhhx`ÙH„çùùbQQ€ÎᱫWEéë[½àùŽŽdÒo/I—.]¸ˆb,ÖÖ¤Rñx2éß^(•J%]òùb±Pz{“ÉU«ŽK&/_::6l8yP”ññÀ²._Þ¼Ð4Û6 ÀqHØZ(¨*!ƶ«³¡cÙ‡k=öòË{÷zÞ–-¶ ¬^Ý×wÿý~¹˜MàºäDÍ4Iþ>¸˜ûG~Áì#ÇÅbÏ—ËÙìâ©`Î&FR  š‚žìÍÌèzå GG:t¨z¼Fç›~Ó‹Þ¾ðÁíÛ·o÷Ÿc±X,n¿¸0Šk×®^‰®®Ž`Íšžžþ~@"Ž®\¿~èînoÇI½®. XTUU&&&&ÒiRŸ^WaY ŸÏå b’ŸËårÀÔT6›Ëùå²\y‡ºJÈ¿-xЦYÀ“O>õÔ®]ž·~ýÈÈȉB$ˆb[[{;à»âJ[ ƒKSײXœN]ßn¡o§ –òÓOGŽ=ºr‚§hš0Œ$ñ<wvVÆí±Ï“¨„h$IS¶½ð†Ç-üœ…Q˨&ŠM£ý0ß/‘ˆ,ûD) ©»ººº’Ißu-°Y‚•ÛJu†°5âVÁJ <ˆ›N@Vš"تϿe¾¿…Zh¡…Zh¡…Zøïà%¸q¹‹6·b%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2007-01-11T16:05:14+01:00P8_jIEND®B`‚KCemu-0.5.1/images/kcemu-c80.png0000644000175000017500000000505012417262523016420 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒW QIDATxÚíZ]hU~æoÿ“ìOj’ 1D-‚”"U/¼«µUAP("R*Þ´bk ½Ð‹JEÕõÂÛR Þyá…b½hSš4$1MÒtºÙÙÙù9sÎwq8ÌîìN6û“úñ}óÜ ;gÎÌÙç9ïsÞyÏ!B„"Dˆ!B„øƒÔmÇÙÙk×þü“±‘‘áátºýõ¦iÛ„·[–e9N«~–eYÍç#Ä4Çi¼«ëòóx»i² PjÛí†aµZýïZ­ZŠÅB¡X^ýèÑcǤ®ù BÇ7ü_'Þ;ϰmË"„Ç4[·VVÖד'O:s¦wAÔN;ø‰Ÿ™™™ùûoà7Þ|óر^‡Ó ×%ÄuƒÛ‡VözB!x÷ÝãÇß~˜˜˜˜Ø³ˆFc1YîßÿëùV‚øx<Ç\.“Éå¼ßþ£¦©ª¦Ÿ÷CQTUQš¢_P?Ñþc;œ?áÂgŸy¿c±h4™ìŸG€‚ÀD"K$€§Ÿ~æ™'ŸôÚ‹Åb±Pà¡^o)–ešõ– ëº^«–eÛ¶ Fµj€a˜¦a„pÓñÏøíF€®ñbæ7ŸwÛUY–eYfŒRJ)íÞŠz V«Õj5O€x\U£Q`qquueX__]ÝØhî·´´¼¼¼\7UÓT5øþÛ±Ý"ˆøVWöó¹] ´¸êº®—Ëñóó 7oz៱±­–Èöð[Oðý{ƒiòûš&!ýÌ…: ˆxaùüæf¥âgìÑG(r€ÒæÜIQUýýwJXìë¯ ~>!? –õÊ+² 0–É4B©,²<3C) Ë/º.@éÞ½ŠPúÚk‘d³‹)¥ü¹¿ýÆüâ‹Z­>2ú;ó» Ƕ¨V Ã0]?rÄuxüÂJIÚØØŠàv°¬_”e ÿäNp£ÁÙv,æ8€mŸ:òQ€Ã‡#@Q>úÈ4×][k\;R).ä¹s©ÔV–人Þ?¾ºÎ‚Dþ.a?TulLÓE1 YTµXä3–±n tx$‰gí~âãDÊò?ÿP 0¶k'¶Ra ¤;wZ??–$€Ò¥¥™ë­Ñ±þ'±Hzí<»¹}{p°X€¹9BB\—@’$©¥4›IªV9Ñ~âùQ’öíÓ4@–ÿøƒ[ÏÄ„$в°°•ð®;9)Ic|¼~ï·,Ó¤ÔßÚ}L÷Í‚„^:¹w/!€¢üõžvgô{‰Hàº<"I@µ:=]ÿ>àÁq"‘ãÇ)9xPUY¾~R/õ[Œ$=ø ªŒýò O7›%je=<x:ú/ ²‘FŠ<Þ²ÆÇˆD~øAQÆ$i«l¤Z={–[”° ×e H&ßy‡RÀ¶Ÿ}V–XìÓO]PÕÙÙF¡ø’jgÎÈ2 i‘ϺxÈò•+„4gEBE™œL&J¿ýÖ0šÛw =¤¡¼V#Ò>qÔu˪VÇÑ4×4­TÚN˜Hœ>íºÍÅ;`,—š‰÷À“QIâé,c„ðÈI$d¤ÍM 9T5Ö4€11ÊZ­•¡¨*·ÖJ¥—ÂG3:^üE2ÿŒªT«U@’xÀÚ¶ëngÈAkƒëŽŽòÅóî]N,¿Ê¿˜òøãÜëçæ“$o¢_3öïç\»V?Nÿ̯Vž¾ö]G€¨J6ŸÏç¹ <«°í/¿ŒÅ¿¯JR¹Ì-æäIž­pBýB(J©ÄÇÁANÄçŸ7z?Ïße™¿WÇb/òt—‚Ò¡!ƼqÔ÷‹FÆ(ýøãJ¥½å¸noÅ¿žتÌÿr¹ ªzâ„iŠÊ‰‡ ¢YPˆ¬'™<}º›E.}ï=ÛnŽTÓl¬Eí´×¡cüÄןï¯;ö† ñtK¼móbœãØv?kR][Øé´:)ÚÛ•»…ÿùÕª®ójÄv‰×õÛz:^„›wžúCT¿ïDüvq¯,©‡÷€î†'¼X¤ƒÛ"(bvjÆ7?§¿Ö#Ð…{­~d2™L&Óª_=Ä ›ÿ·€x£5¦áá\ŽW8ÄFM¡P* žþ5ÿù ûû7zDÿJE×+ PÈç …þßµþMî³gßÿÄ àƒÎûðC Ÿ¿s'ŸïDÎÖ3®\¾{—ï+¬­­¯wo íúµké¥Ã‡_x¡Š·FÇll¬­­¬x3sjjjê€ï¾û曯¾j¾^|]ñÕAÄ×ÍÄñ¬Dl”4÷3ÍÖ¯^5q­Vãã ²±áÔ/t,ÀsÏ<øê«’4===}þß¾4 òv)f¸Ÿh±³wû¶iÖðçŸ/_¾|¹ùyÝnÎ÷ýK/ñµ€ÿüSO8pà€÷;•J¥âq`r’[˜ÀÍ›óó @&“Í ÷ßß}»wóꦢss‹‹KKÀððààÀ¿.›67ùÜÊÊÊÊêªW Õ4U•e T*Ëe±péÒ¥Kßß¿ÿÝ­}ß’ôD"û?[ ܺµ±±ºêµ'‰D4êµ—JÅb±¬­åóÅ¢×>4”HÔ¿#¬Còo/з8räå—b졇¦¦¦¦€HDÓ" M&yMX ·’v‹¡~KÖÒ.OVãõkôv)?þxåÊO?íñ}‹IŠÅTH§ëóöt:•RUž•ð©ªÂû¿0S”Æ¿Ó(ˆŒf¡¸Ð"Ûò~M‹D O(]ç)u6›Íæržuù#°_Dò¶S7BÐñß‚&Ü{.@vZ˜Ö{¶÷Žè!B„"Dˆ!B„øÕɳ}09.%tEXtdate:create2009-01-09T17:27:50+01:00ïhUÊ%tEXtdate:modify2009-01-09T17:27:50+01:00ž5ívIEND®B`‚KCemu-0.5.1/images/kcemu-lc80.png0000644000175000017500000000526712417262523016606 0ustar glaubitzglaubitz‰PNG  IHDR00’%ÄbKGDÿÿÿÿÿÿ X÷Ü pHYsHHFÉk> vpAg00ÎîŒW àIDATxÚíZÏkåÿÌÎÎÎþÈ&»ÉÖ$µ)ÆâA/R/¥Ø“ (ª@‘¢9©–Ð„Š ÔƒôЃìÁˆR<)½ôàÍ` D“t“”L²?fw~Ïû=<<¾3³Ù¶ÉnšÂw?°™Ì¼ï¼3óyÞ÷y>Ïû¾À 0À 0À ðÿe¿7....þñ‡•J©tÿú¶íûñ+¾oÛ÷.Ö‹ÖßOõd¹ï[Vg;Ñr:zžmí¶BBx…°,Àó,Ë÷;w Ã0€óçÏŸï=eß|õÍ ñ»Ý·âe]º†aØnAà8A´ZATÛ÷Ïó<Ó–———«U`vvnî“Oz7Hz¯7$‰¿uëÖ­ÅEàÂ…™™ ¼!¨ç%añšDýø/# Ã0~%ÙžÔÕ¢^ÞÙ¾aÈeBÈvgfffff€“'Ÿ|rrÎçu½WÚ%R½6ÀÄg2™L&ŒW*ãã@¡Ï @6›Íf³@&£i™  iªªi²¾®ëº®™L:ɪšJ©jô¨ªª ¤RŠ’J©”ª¦"oJ¥RtŽA@=×÷ƒÀ÷£Ä²ÁÙ¼qâ;;ý½zõ‹/®^•åš–Ë õÏ{I0±CCCCCCÀéÓ/¿|ú4 YÏêõz½^lÛ²lpÏsù\϶m›\ƒeYÐjµZ­`Û®kۀ뺮ë¾ïºQçÓ9È<ІŠíñì.Ø|É‘$„#Ñëô³mßPEq]i.:îßõl×õ<"Æ÷}PÕtZUÍÍÍÍÍM`cccccCö,Ïs]ÏVWïÜY]•e³™L6ÛÙ>Ž up`2Ùå±A$ÅŽ8N2öô†} ™àz½V«×µµµµµ5 ZËËÒÅX–ëÆƒ%}p£ñá‡ý¤R/¼@üö•_¾<9Ùý=ØõÈóÙÙÍÍÎv\÷âű1YcC.÷é§µZg}Óüè£bQÖ£ÐLwª:Õ! ƒ Ól6MXZúüó_~r¹sçžz ðŸËåó@:­ªéž#ÎÁ¡›Ìå¥(Aà8€ë*J?Ó±} žà°:aù×jµÛ­–ô¥ív»Ýn®ëûR=D?œ}}¯R;,sï÷œÎç&U—SÏ—£~·°§´ÀÿÅc» 6@¥ríÚ³Ï[[ôëæÝÃp~~|œ‚énå2F$ѭ¾¦ž77W©È£¢y8ÈvRIΦV{ÿý\.ZÒßàûßûîý&žŠ¢¨ª¢HWô÷ßo¾ù믤—éúî=˜]_ïT1݈N“í°Z’åt®issÔÉsÎ#˜ø‘‘+WÚíøÄ ôÄš‹¡ÄÉ÷=Ï÷¥+b9×h˜f£Ñ]¿s½ž?à>í$Ë;Ï“2–Ë9oæ© ">žöáý÷zC§ ÝÝÿçÁýçjU$1™ôwF´]Br´›zÈåt=—“’TG X<räñÇÞ™ ë·oÿù'à8Ô!Bal ÈfÓél¨ÕZ­z0ŒZÍ0€J¥R©T€L¦\^ZŠÅ“'ÿ0Íþ9v ØÙY\|þù(ñdÃ0ÍímÀqÇq€ëׯ_ÿî»:÷ÌgÏ‚jzúÝwßyGˆS§Žu]àÈ‘‰‰S§¢5Ø„¡mËÅrË¢—JQÏ—>:\·SosÏ‚öõ¸nÐHàv„ vhÉvØ™ÐHq]ZT÷<Û¦:ºŸ÷ÿðý†ÑlnmëëÜUèù7o.,,,t¥óá`wtzÉ3gΞ=s† âºrÅÔÔ‰SS†­°´ôï¿ëëÀðððp±?~ôèÄP·²²²²¾”Ë´?ghhl¬\¦ VWWWWV]WU%4kÛhlo7›€¦e2š,,|ÿýýþî½à€Ö¨’/"D¹\(äóä³Ói©nØ5°ºaõ¢ª´‚V­nnnmͦe9P,ærºÕ«×ïÞ5 àî]Ó$Ãêz: ”ËÅb¡@ïÍxÓi2Àaÿßýz…7Þxûísç„xî¹§Ÿ>q‚R]§d$÷È¥xm¸âؤR®K2ÔïçIª ’­¶M²1•¢ÏfãºaHc ê0è¹4õ@­xžãxžÜÓjÙ6ÉYZ+6ÍZ­Ù¾ýö‡~üñàˆgômd³¹œªÙìÈÈȈ ’¹\>ŸÍJµ¡ª”¶MžËQ~߇C>ž6Ó¾!Ï#ŸO;娰ù|*•Ë‘ˆª,¹O¥]v€¢A F™Ìð0P­®­ÑvÚ‰×o¢»áÀ¾7"¥é'ŽðŽ'ö§Æñ° óðˆ`€`€`€`üJà-}—­:ä%tEXtdate:create2008-11-09T23:31:11+01:00ÏRïÈ%tEXtdate:modify2006-11-17T21:31:56+01:00ó(“#IEND®B`‚KCemu-0.5.1/images/kcemu.png0000644000175000017500000004715212417262523016041 0ustar glaubitzglaubitz‰PNG  IHDR,`§OÖbKGDÿÿÿ ½§“ pHYs  šœtIMEÖ 1ñ IDATxÚí½Ûs#Wžç÷Í̃¼ AU"‹*I]ê®VkF31Ýk»·#ìpx<Ž ÿ á?øÅÿý_Ø‚ü䈉µß&6ÖÛ½3=£QK£ZIU¬b•X yÁÉÌ}8—½›û½ ˜UhmñÛõ½«©ßªh*°***¹×Ü+Xæ–ÎDïÁ0ˆã1h2Eâû@Da sP…V2¬V9K«ZM§j¥ú ´d'w¬ÞAbC«\›š{5*Jž_Q5ånÝyùá÷s^éCl æ"´¶ÀÚ®ïXëüV5°¢ñSÀÏðPÿº­#¶ShÄ€e!uÈ;ÇÍõBŸmÆ`æ#¹ôà§ìøúË?E(€ú°dÊ”7|3ù$¨ü‚¿Ëñs`R—0U+ýkšë Õx­RR !U¨ÜòÊs-™äê9òë,Ïs ­íú€u7 ür ¢qµ:X¡¬ª`E´}´Ú–Î¡Ž›³ @×êaÇ5Ò—¸@£Y¥B ø”AKUO¶]ë›JÒ)Ïà(§ö±=©ßcÇg]Hˆ*RŽmh¸Wù† 6oï*"mòxœÛCª,J—+)©CO9æÕRáÌ>óœK=Ϧç·IWˆíú¿ÈÁjErèJ3Ðó€‚ê¯øm‘{Ýé"¾šàrrýá[Ð{]hSK©`¿maôê’Kí‡CÊt­$| ]ã~®¶]RTyPe€Øž6 Ûº•ÆURZØÇ4™¢…žB4â¹­ªUÜØ ÕÄÜk¤¨*ÀDÌCÐè >¬„õæLe‰ç‚ö¼¶*k»¾`U½1kJnÖÁŠ’ ÛBh]À6Oú瘅Sìß?†1Ø…fv`´\ÄK®|–c‡¸÷Þ#Àço~ìHÿ“pˆWA @T9p ±!LÓ¶Ýq0yuŠÐa9Lñí¸À$ЩËÁå÷ØçÐ’OPe^U[ëÒ Š  ‚êDÚ&€ðYèHC4¾áÅôtàrž2ºc´°Ü5áîwñþño$äÒÐC’Œ¡ëƒLÕ6ÖVUm×w¬*uµÂo¥.+ùQx °·¼Ö¶º@: ±³{c° ÒyÍdo`C³@#öù¡bÿþ1ƒÄ‚Û2Љ™ÀG•¥V€85Ò‚nëH::lîC G§€ýá[€™]ºtbÂ}kÁŒ}îÑñ ìö‰<&gæ©mƒÒe­&€R}núeÎl«„T»Þ/¾z†Ó§ŸK8]>ÍGB‡™RvS´³Ñ ¸\bzéáï>ÿ¿ðó?ûöðvþú „T÷ÙS ZÊE)LAñÜl¶] Ö›9Ý›8Úo&e'ûü<‰E ´5¤ý$z¯Ë¢ŒÁ.Zƒ÷a.`X@‚ú×H¯^#º>CJcXû'Ð< ½öù¯a%5?‡5°Rþˆ¨4K53‹ìé³%h2E|5ÁÙ‹Sxܧö'ÿå_I`éá>t÷^Þ—&Þ«¢—*¨„O¬NEÕ@*Xœ—ž¿øçϯ@BJÀéðÁ.Ž{Ð{ÐmvÌDÛgj·}øò‹'ƒôÒÇÿý¿‚EHÓPKv¤¢ÕÝ{µNxâv¶Î÷íÚx½™Ó½ÊÑ^¥®*LAH|‰ÆÓÚb{:`½‡(šAïuAÜ{V.Š8öGc$ ûkÿ‘wóº‡È #èƒâ9H¢¤7ؤRòðk`¥÷ºHu+Æá>4³Ò9dÇ Ž=¤­4/„Ö¶`w$—^…C{‰Çýiª/«­2e‚À>]oâñµt˜Yº?ÇÓÏÿPiæýô‡xøð´¦ò’ ‘¿ê¶šŽ qSêÇßÅ | @¢é¸ñÆØq1¬ð@*-]Hó;gª*KõemïÛõݘ„å–1µ¦`Áo•­)(<vIG‡é"òΡ÷ºÐ{ChV—ʱ‡4Š˜¢™2 Ñd D4Áúü»R$)Û ºã”ÕVDïIX‘Ãã TÖžm¢ªèú /¾øÑ“+øq^±u÷»øðáÏ`:Ì$¥é‘ÿià,\,‘ϹÒÚ hLÂ>Ÿ|Dû÷ÒÚ} ±€€ ÂLo¯[|tò&¯t¾« ½I·ŠíÚë[SWZª)È•Ž„…PW‚ºrfz9»Vˆ=Ðù9’)óáÈŸ°ºÉ6E2»„Þ– %ÿ\€UlOr°°V 3€ÎÏ‘ún®/0ìÀØëgËd'pÆ%‡¹H»(–É¥BBª€•PT_ýý¿ƒ7š¡ua¹k—K8F d`ãáÏ~ή­·'Ux—â« 0l£…Ûõ­kSu%6ÊÑॄUÎÉZPW¤s˜b<]œçLAÍôq”‡ÕM"‰³­¬ÄéðTФ£Cw$¾›ë ôïŸ`e+ ¢ «dz‰øj‚ws÷Hh:BË¿—?ßAºë”ÔTU)P®è›ƒJÔQžþý?J?,wM´®#¸?;dQJ~œùÍ<– Of Àt"Iys´ßfªÊv¥Ylp³&SÀ’^†9€åìòãq¡Å(7·E aúù9¾Âïðþñodd”¥amïÛõ«Iƒâ³¨r´3u5-©«¥3E"L=3ß¹ gÒ¡­;N淚̀oV~I]qŸ•PVY ƒýûǸ¹ÎT‡Ñr‘F("Äw˜Ï–Hv¬)™ªÚ=Bä#]„0 QÀR+Àò˱̛öÄ|€eûSm_–È—gŸàú³—Ї.Ü}ÒäÒÃÞ»8ºÏT0CEÔ,\Ði˜SS%Xñ´†ØNÑj?`÷‚ûüL÷I·•™Å°y²çˆ½ì<®ùÃ4teüFj}›Ú°]ߎÂÚ`©®Ô'av‰ÏÑÇâÉ é"àŠ0´ƒÚCN´±•p°¶«^Vë!–½v"*ABy#A#´¤„ã^økv@“)è8 1UE÷ùù§+/¥°Z $`ÅÚé8RU}õÅ?28 ó)û9Uz2,& ÓÕ°Òûm¦à8¬„ª ýsÀ‡ 6hBU=€è ̇'^&Jd`Ý2@•`ƒ®˜„kŸ­m]ávݰš:ÚKÝCË9WU¾«pt c¯ŸSWESPwàåñª•æRÊ_•@±ÎÒ™âõWO$4Õ%`•LgXÓÌ_ÆM@! õë´¬€¬6Òê½X=è°¡„<â÷ô ÿu„yX™î!ƒ9‡•¨C4‚>À¿Bö!š¥4TAk¤Ô—iÓÿ³Û)°Þ0A ¬4Û­UW²„Da NgÐ&)i "ç“1´ž€ÁJ8Õ[ö;TÁâ4×EA,?Màðæû÷3PMÏÐ ¬ð ˧K¦¨ðvÉ¡.Ê€Ö­\†?YÊèœ0Q'¯NY˜ËáMc\NXö¼µ"Ë’ áþª O– s R¯Q¬L÷úà8§ª¨JʪVšÄ‹‰ôáÉ:ÎUk´rŽwz;uVû¤“æþÙ-Ø~„ÀjÒöX>'Õi ª9¸Ä4²Ãr}ŠêЧ Y6»j ÎÄAµ#WÒeIU©}Ÿ–»ùÎÑtì>~[úƒÁXBªKþÌU¹5TVÕÐæ0o÷atnd6¹€U×êAkg›zæa9–ìH!ÊÔ”…*X•|VVj‚«¶w†9±ù~~T¸§O8¬®J°‘QóŸáíìâI²º>`Þ¢ÅÌ-•ü­Më‹€k ¶vß÷ Áuçô„4iü5UWª£]Ic§B]A³8_#M©¢ë3¦n”¨ UÚ›ƒÀm{ D‡ÕÍ’ƒó¯ž¡uÁY]¨³s÷»²¹^êð {V¥¡ ™ªªR Ä~;çŸÑÃb½¢„7±£K• ²„+×ÅTÀJ|^|ÅF¡ >’€Ê*ƒUõZöG%;"*a¥¿u Ã<±‡·†•¨IT}xâÚ”ÌÁMMÀ7QR+¡ßœßFa6!ߺ{Ðnú¿À‘•J×ï,©+uÝ$9uÅHÄÕ•ˆ ¶\i ŠŸ+l…º½90É`Õž41u[Gä¿ÆéÓÏYgLqlbïšØ{÷û÷¥9°Âa‘Ã$Ášìdõ&j[Óä?ùŸ« •Á*3•¸EJG×ê1xó~õñø³pÊJ„<ÖÑÐrö*ŸUÎo…y+ñ½ƒ]h¡¬n«¬~³¢•«Mru’Ò¬›´¤¬™_´ªà´¤o‹MÕÙì6c=t+¯AÔë Cé·wͪ¾ûŽ!FØ*u(cå+ÔÕWëÕU"æYmX<á@š8)æÐÚ6(YB#.’ñ¾zú<× ÎuØiu÷»Yr¥XŠ¢ªJ…UÕl´Z‚–t´C©µz½nÖP ¢2¥"eHFÉj€Öà}–ƒV¿§¡‡pÀ6 }5*ÊuÞ!=¸`ô»Ùó<«ØÄ;%³¯J9åæ6Y‹€ý­‚ÊZY;)àÖmÁ0Ò‡‡ˆÊ‚jÑ‘"wŒ+`•öæ mÊÀØ6qs}Áü`¼]û`%O¥ VUêjÊj¬œŠpZ7Mý¹:…·&ãþ®UÝJ(.øéŠÊl<è·`f×}FIÝD9n¨¸ÈÚ“n’Õî;ÙL¿¶  fÖkªm±¶0ð•&pÙÁY½÷ÃBŒ1±—±wÑ«X<Íò¸ÄØ©ãÞ´h¤…”.K=ÉÕ0;s¾@Ì%so-¨Ö¸oÛZ êßø´í1WW“W§¹Be¦~‹¨Œ&“ ­S +a¶°Ç®=_¡B¿Ï7¦aA'vTì×Í”UeðûùJêjs°PE85…Õ:hU}Îm·Éªä:(æTÞúùn㕊s¯PM*«8S]EŵZ¤¤®ÔšÁâ VdµËŸQ`eº‡ˆ­z┦ÎÈÎ \a¤ÑñøZ¶zi?²R™4K1!õ”FòÍß‚ÚOœ…ÙÙh,7( %z%¨šŽß#ï9´ªWf*«ùg;î —Ý_M¦2B*Ò9V)«ü })nXW ¾„¯0¡(ždç\"Ž.²ºMµ…O ¬ŠêJþ}çp½2­ë…µJAÕÍg/ u˜l2¬~É(ÿ¯ÖLU‡Ú~K|öН ,·1UïB-¾‘½¬ñ‘ ÜÐ"«+õÍžN¥9HÌõO Û: °ˆ Á'ÏL=¨Žöœ×ÆKFh!u Ýt™#Ú­l.à\¾ÀA¡M; Jh‘m*ösz:Õ^²!-ßÞ)ÀŠ?蹺øpE¡ü÷ÊÑ\¨n¥£Ù®4‹‹ÙýªYœ(]"t~~ÅR¤:u•©É—°´wáJ~f¼ô@â ¡ JýèUXɺMÞ#÷°41íÐZ§v*Zlç %é^˜|­_2芖6´îðV@Òåj\ÅqVþü*(Ö)ÁÈîÄT nYçyK3ºÒô-ª­¢‰X-ÒØ!§–¨Y¢Ð˜¦#Üxc„—ßȖâ‹§H›4ÛÕI·CÄшBhf‰ ˜8D„sÄvMyfEç€ý&»Z®û¨L-P¦ç”|-EXÕ½Åß‹k`Ûù T²ÁÍA¸r¾€\g _lpl¤¼v²ÉÒ¯Ykv¾,뜦#èsV‰ˆ²êóZìJ7 ¡fŀجÔhà XåLÁºÍÚD¹TAjÅlÆÚ±gô0. öjZ…p"¤ƒ9(‚2ŒWŒh«üùØ*¯SÅK²öº®óÅm}ëTâ:º²9p‰ü»¢ÚR-¾ h‘Zgûªn¢üÆ'ÉXN„ õO CGðò3<}ú\&k\’eeT°¸Œ–+ó²b¾‰Å”œÔ±¡'’ˆB·Ä4ËϪÚÀUÐ’óüLa­òc¬zxVA$ÍúÖÍA­meµ“|8,x¡Å^imÚAkân&ÝñX4#`tù öMƒO¾[&õ$S–d[„ë“_†UÎo¥š‚MÕUP!°ÈòütdJ³4ö YºJ’H0–•$)O*xÓ’{€š_*@ù°1 r0l:sAùº51_›˜™UÏê]™¼ÅwCUV ®JßV½yHEŠÎöšA_ð»úÃŽ#3ËuÇÉ%E %AÜ{¬+Ï=Ò›E[Lm¦´\ĦǦҌ¯y'Ì.Ì`ÀBLmÖÔr²¨„V•¹¦ÛÝš`Ek5¬Š7LT,øÖÆ5•-Y²y‹å[`bqz!7éòš•ê´vWßtÙP4ÂÒŽp²Ÿàtô £W/0\„ÙgcNe†½è¸ új‰²Ÿ¨T¿•j Öù®<Ðtñ0òÏTU½yVΑé.ÒГ©+Yº‰³2(Ç—€ÓC¥mQøºú…T1–-I2@ª \õÿ×^»Úl-¹-V™™UªµhJ¯„ÓÑJóy-\UÕh;ep­ƒV½Ó}½³½è¿*=0;;ø‹_|ýÑ=™k%’€UêÐ{Ã,YÔì õ¤©3qïñ-†f=@sæ²Ur­.b@BkÙI~"Áú àÿá~¬$nVï¶Áb +»>•D³ü BJ/1ê¬6 Ó\4býì'ûïàtô g³SÙ Pt„°Ì#W§2“¾ ¬J¦àŸŽêó#¤•ýÏ:ÿÒÌ+*§ *Fž•žA®ºÒðšHµ©›ü-‚0¾Ã •T¿ht}³&ªáç°™“ –HPV§B°d¾^9s³Æ—ºJÒèÄl˜g¸NUªp øq©`­jÑ”-BKð¨ÂŸEyõÕQªæ ­ƒhGˆ¯`î!1[yXùtHks¤‹ÍIôàòIË(^ƒh4Ó„fš æ!èü¦Ëœï²õLZÚ´ƒe?ßmS˜†9_V…ʪö¹J9"¥• ‹˜9ÿUö÷v©Gº˜8M1­„ÔÊF˜ÀBea£ßÑöqüPGÊ_FªÊZΟC RÄÁ¼9¬Äß¹Í:‡ª¦Õ3H%³‰51«Aå¯y&:" VûHV6,ÛŸB›ðÞòU=öuÞø±·_úµB…U%m=Á<nº IDAT¤nµ*+Ô-‚Oþ^Q{EÓõÖ/X5šo~ =ÜŹâËËßÐûlz¯ÿî¶ :ÿ ‚QA™©f«P[ü×ïàÑÇûePUÁŠo¬çH¯BLÂSÙ%6˜ñèìå?¡ýpˆ£þ¯@B F¹¤´§Nµìç¾!ù¯a:€æÝžóÍŸæþ?Äú°ÔfŸS4Y¥™Ê÷ ³* JMLÉÔõAÞªi±’%äˆuÅÿ§ÀJL§ä•l $Fµ*TÍ`ù)å1×8ÙŸÃŒþ´¤´dÕƒ: ¼f( )9ÛëÌÁ;™FÏåù´pˆl€‚F ¹‰o®/dcºøj"{¢ ‘‹ùÑ Öͱ¼†áŽ Í4•Ù€Z0h)n`L§•~,Õ—Eçç9§qNeš+ü1¥a7ݬU³òj¯+ù ‚ 1n—°¨BK€«-vbå¢î/yk˜¬ˆ¹ÒªPW•oð¶Ý(ºÇD'»æçϯñÓÇeX…ú'üYú‰4mm<”ÅêôÙŒ¶…tbN1põõî=~Æ"Öd”MÏ­¾ìøÊ†q8ÍŸÿþ3ÌF3x>Åáƒ]<úé_—Ep™Î=ùÒfÅö®Ñ,<@z™âÏ[¬€"°$gÖ,Èp³V¥­]ü3«†óN^âúÿgcäÄÔð rNÍ÷•Í`ç[ò „ÞÅÌàgìM î¯¢yXê6›ÿ3ÙȬpˆóbL@´}$äŠÍµó|Ù)Spãñ“2 â« ´ {»«y>ék”—t¨ì4ÊQ(sñ Ã:Yëi@Lm©´Äöʈ¡êËZdQ®’iX‘#D›ø Ö,Ñ7]'6Ê"¤ ˜úÐÚ`§Ðû˽´€Ü Ù¹W|¹YïÃ(  UoK>ÀšäÙbt/±F Ñ9NïÁóiæ›Jv$¨ä¹i_±çjòOžþ è8Ø2™X´³f{ÇÁŽo!ôC$—NGÏðÞA}þš:õ[tó]³Ù~šÀ1Zð@qÜ;@þ'賯êg´yEos­µ-NŸ 7¹fÃM’Kúðk¼üˆl6ŠÁj  Ç>·ÝÏŸ}Ã7ç~Ù‡§úå* î×)cÕ ,çúù9¦ŸŸãÏÿÛ‡yXšrJ_¦ïH3XC¦PU“z¯@"€â„´éÿ3ùÓ´r*«h •…&yXꆭpÀ…ú'0{²/yª/_=‘=Éo¼1B?Äþýã,Æa¥F÷tÌ7%Bíš3GÎX €a3h™Zšc#>)ÐÊ›‡uІÐEôÈE5´Š>­âµXá¿¢Ó·n®X%EeC³ºÐÔŸò‡!BÚ¶Y û+ýXUÐ&¢8–¬´áí(«T $ž/ÛaU9ŒER±šZê7(Zh1ž±ç(üOyXòœ¾àågøÝ?}×! C&Òµz¹´Z äêãîДåi-y­4ÓÛ6ŒNWÂ*ĹœüÝ~8„>óáa†!ûíLjü× x ¢¦Q´û¼ôBœ#¾šàrÂ\v×AÀÍðäòoð“Ç¿á/aõ³¦òïDo71›R3õ!ú¶9>ètè î×6Ž”Ï£{-ÍVS¿'`ê²Iå/ž~ »ë°cùð´®#9[RšÂA ùŒ'ºÆÊèì LÜË þM¦3¼øâkkïðkP’AKŸ¿´où¢¯2³´Y²¨pæ u%Ö,œ"ôCÖæ‡XŽŸË êdR&ƒt“}Žˆ jV—©+Ò›z‡M†Æ!dÚC•yXrL¯ƒ–R&5ѯ¢ êÁ¡m†ÝE)ž篧Nl@ñc½‡¨3ƒ¸TV´Tp•£T£ü¤¡†þ9ÝqÊЪs«é…ÚMÍr¥ºb÷eÄrÕ‚$—|üù¿ÿq9÷1ì8xïÏ?îÛ²ÌKøûŒÐbÝ.½`ž”ú1©3UXYŽ…®ÕÃ,̬‡ãw°¨þW¼fóeésn®/еzòå,\!Ì·æ!´.`¤:â•JM·uÅ<%]³Qopt|Í5 ÏGHlÖ —/%D²gºB×ìÓÑå7Ùx;ñ—ü]šåb|ÅÚ/-X©[.˜´H¥)+ (Z} •*Û“Ë‹‡ÿÍ¿|€p¿]Ìó©u*«`’*s°6Y´àÄKÝ×@ŠlžWWR}q‡èÎîÂ茕›È jF‡˜O¢;9É ELÀNYŽï#õùœÃ`ðqé¬÷>`(é9h1v"Ÿ±­BKnÄ"´Ú¶ ÑÖ–‡,ò]V«:ަ‹11¡uø›2¢¦á#P~,MšL¡Á†Þ‚ž¿u2ËÆ±‰ñh,*ª•`%ʤìö Âè 7ÞXæ ÀŽoaä3µeÝËñ36)iáJ¥¦vÐÕÚFןH+B¨>Ñ*©Ï?·˜¬">KkÛ¹Ú[q\£Ëo2•6óñü÷ŸáÁÇA´Dx-ÕY¢uö-Ü7v236U‰Oª ­ =¶§¤wÜ` Vøàþ;Ìá$Ì× 7ÿÜ?KÉ–s­íHXM/&R¥¬_¦Ÿ&|oôr)-G › &)åaÝbµìw“KÁë‚™»ëÈYzGÇ'L]Í™ºjaaúBª«.²n ­É¾„–Nöc"¡\"m¹€1EBé@'6(%9ên­\ª‡VÍrTjFwfH1ÏE^ñb"gäº'è¤ÄôÞ ‡V20ÙH4ñ«1Z»ýµ)ê¿7…W2Þ ZÒ‡±Â¢ÃÇöº¦ËHœÿõïŽßç*o?§¶TX=üÙÏ#eV®àL½‡ÄÌŽ'+A›|g÷ T)À Û:›v!¥1ú÷OX©Th!¶B€ŸßñÃwåK4Â7yðquðâ‹'°»ö‡oÉò3ÈQ'—Û]‡§”$,Õ¥ÕŠn¼šI$üD0A¨´°ë`N™ÊJuР$U÷«7 †þy VâEÌ|èCÚQt>’-¹Õ1r –ìïZ°q’{YÌ4Ÿ^Làh:ô¡ ‡ÀBÏG‹Ö[QeU$’Û@*Æ3@χš‰ÞÃËË'¹IÅv×±×G8Íßx6í¦Ú\Ðb©Jû¹¢Üt<Õ,ÃBÂÓé€ Š_hShq:˜#‘ÎÏ¡»NÎD\..žöä[Ô4ÙÇu”TV‹d*«Ò9Ä’'Øš.«Ÿ”Ðê{@‰`²@'áÕ\ë U45ªL`Ýqò];MµVÕÕg_~…áÃŒsV«ëùï?ËÁJ\?öY14“€&SX‹‡+ª@¨ùýá[¹j>œh$â7ÞXÂJÔ«²jŠýá[l¨íø¹lñS¾^W8²ï·úÐ{ÝR'’Ô uæèZ=t­\(uÁàŠO,áGÛ¿,á'Tšôí|Ü&rx®TÌJdœÀ’@Œí-å;ºVOªþoŒéÅ„ÍåtÐç ´ÉÈ")ù?ÓÞKÌs S5«E&€ ´qø«÷_䀑dt´ÐV\VõÀ*vå)ý‰5Â<¬R—¥1u%h}üÁ#´üRÏD¼–™b}Ɇ6í n³ÄЄ›é‘wà y/-[* ­îÉ­ÍCáÓ‚ÏÍ;®¶tשÍu) ÝÀtíy¥~Àünf(– yØOÀà}$ß¼`¦¡-‘ kÀ$Qp5…Ö*ßV%¸¿Fd!zJFÐHKÂJLßþòÅßJ %m¼Ø‹/ž€ŽiÆH•iÛ¢d)D`qõ{éßQ7†: MUWBÅÅ"ú‘‰?²"s÷!ÏLùñܤ½9âWcüóå7xüþ{ÐÞÊ‘Ñr¬ —Õ‡¦Š¯—@‰³¹ë$8ýür>¦1ØUª= Óx0¹`Ýjí #ö<£S2õÅ=\â Ï9¦«P?1d‰–„ŠIeúÛƒéE! §]y=EÔ¶èúxðñcXæ‘ hÉôp ×s®bšCmâèª%êæ”ú#5)néLAÐÃÙ‹Ó¬z}èŽÃÔUšH?nº,AqÀ6H­Êê_@_´‘Ø®L8UýYFÏeæ ßôw-ÕDNdÕ‘¬»N¨ØúÇ/‹ÓÏ®ð×ý—LŠ/D8Ö’iY» í”î€Nú@"ôAÆÌg£;ZƒCÄö)ô‰ ­m#î{2pQ£MVÕ_ ¶ºZɶŠ—<»¿UŠx…¯¾Æôs¶ùv¿-A%2É¥2°ñðg?—ýèKÖ@C|~…¯ÿÀ|¥"ÍaØ?¨„•PW›),NYVµDŠç?±²±.÷?V·§~ú”EÍ>üå/e@´AHŠ8ö²ò3nÚéó¤€m¿ÉÀ–*U´—Ý<:‡HfK û™R'-¤`õ¦ÅiXÇ_ëZ= «wPÛ©£+u“¤2yu*Íphà™Ç<‚…C„ÑÌp/ך\÷k鳪}6Yçp¯ò¦Õzˆ×§[úçáÑGÐ<  $AÊÆª#eƒ)¸Ý­š UðÒ¦$¸‚Ž=™ /ó³Z. MÃ*h‰ ûÍ•3ÙÅÉ9˜ë`›À1˜¼ '/`µ%¾’oP1Äem]b@JŸÈ¶ÅÒ4Ĉa!¶ºÐÆ!âñ5–`¹'ˆÚç0Æ:;€«ï& ’÷ÃJ˜¥TˆBB,Ú})ivus0EBX@&|õ _ýÝï‡vånáKgŠÓÑ3è{öÂéLoÍú _ÃJ>Bâ(¥GAÐÌ,¼µKÉbµZ.Ÿbz1)™‚ògÂP{$;Áèé@&HæÞì^b£P.BàÁ˜³Tñ6 Þk&™é<ç¼–ÐjC`yyZ‚VBöàjuôPQ[9p©‰x….¦ïãŸqŽÓëK¼{ÿ¥|`Rº„XHÚ™òÓÌs†‹vî.0x=áæ"€fžKG¼î8ÀÛs/4è—}~ÛfQI®¼j}k…‡°ü¤goS2—l‰g²««è×Ï~€[¦_l§ 4&̓Á×À¯ž»&Lf&ðK] ¹žIŸ§åX²{Äéè’KOf¬MöŸø?€f³s'™¢ÊÎ}!ͱiQ{}ÖšÚÙå@È·÷‰­ÉØ—>×LZµìNát1gÊ_)¡Š­°´™ÒhÎL8+„ì\Í?sñŒ=çïþɇ ¨&µ{T[ün´\$Ü—káKþE×Jl2ÑA°8E2½D6.=šOJc¸r&"±3àR æÒ L£—ù’Z~OB´¨þ¶kü‘P7¹ºY îç‘oa–(šIg«šÖ¢Bëý~PôÁ2 ˆÞC¸˜ä"L±²™ÂÔ{ˆpYy¬¼VúíœÃYøŒÁ.‹ ®|¹%4¯@ÐB àéç½ðîàqNu¨¾!QèŸø>HoEyŸÃî—Õmx0‚.4 ¼Í’,±ûNr=b+„Þë"¦™Ó¥óg¸¨„\Dú†PpĽj½†ž°¨£€_ºäõS“mÓ¾� 6˜--ñÒËæŒ.=iÖÆ6‹òŠ*´+{Né×Wøzú7xü_ýow¬ÀÏõ°‰ôbHX=ÿçÿ/Ï·®ƒöáLjã1Z~X責A×@U§_7KÐí®,°Ô»Ã²Úâo#Yºƒ Zšcƒ.Îe~–:fUôÐÚ?a2ºì-ÇÕ–ø¾ìû…_¡—«¬Q09$ã~Í´hA›´€McޝX¯´ÀÁö›s8”ýÙõ^fšBé‚ÁM£•ÝêÞˆü3#ø²5jí¸ì>‹”H;°»SVØC2¾‚¡”ÃûBÁðœ#mÙ¦NA³5¿/ûôWFàèXh î!ËÜçŸcPîk3zÐ,WÕI·Ã³DgHí”Yksýü›çØ}üvæcRZ‰³ º8õ^gf°»„î° {™0+×—MDÅð_6K”=ûĆL¶\Ä]•KõØ5H…EY‹àågø·ÿÏoqòx¿úþ×_š%`·ÃRl§vЋ/ž°âÆÑ ަc÷ñÛ¬kB8®´SKÍü«6Å‚ƒË"¹šeŠ@Q[­›w€–7Wˆ±Ø)îÑÐRò™ò¥/6XA€Áû2òyç0ÝCP‡ûLøÍg’6Qü=&b2a[9U…v‚0:ç¿ýme}vfÀ”9CãÉE¾À{`– E:` !Ïä_.¢’€!ß„`RP^WÃöi8Ë©€7]*EX[ÀêèøZÛbAT÷ØýØÍ|Hïã¯Ï–ˆ­™h`êlÂvdžËäD¯’©>™Iµ{ò¿Q+9bŽR$Ì1ËFy¯å±ˆìúx2+å 0Šœ®Ð?—ŽlÕ•F‘th3>~ÌÛPG•[mÚÚÌÝ!Ì©,Áx #eH[3ÐhÎT’ÅŸý« è«^L/@ÇÞûóa½#ýƒYšzBÚ‡€f!ŽÆÌA®¼lDê —Î|Vî$"ÿDïA3¬ãˆo"ž~%A[€E"ñÇè)žüþopþüZî‘Ç¿úŸrî¦ÍÕ"¦É¾>ý[L??QÕÕÉoXtÌ$ô¾t²Ëq ;zê °È—Çëû ÐbÍñ®ØdDH‡¼UšI2h¥!H;d¥.JôP'v¦¾d{š9¢ñ9t‡E7áf-wS^U¹EƒÕ?ÿöáùÇ=üäño %;YÞ™’ý®:Z« •ø>ÒÁˆ=$Øcj*§®êT@ñ„E]ø]*BWÍ“Jg.)ä Õ­âH¶4ŠØd#¡â”޲—–õ¼¿û«ÅG%h¶›©&õ\x"'±ºH[3hK1X/ÿ´¨òÈŽé"„6I‘žótÌÎõÝÿúÏà ?B„o$ µØc]?ÂÌœNý7ר¾Å^€ó¤>·‰—¤ˆî ýû'Ò´׊A•ÿŸÈ Y¸ +çL¦‹€EyÅ\Kež$xÁ?{Ivõ¾¹¾@è‡X<½”ç,ºZS"r€!Y*^:Êý˺·zúäðX¶<•&ìÙ"HˆÍ@Ø9Ìæ\Ngx~ù‰<¶Ë9ûÌ¿ú7 «ÿnu_ùíÉE ÍèOéÿ€e{†éÅžOናùÍoÔ8Ÿdƒª¦)šÓ«Bôóo ±èoݼƒåÎ3hÔ†6i!OÊ4 {¸ýqÏã€Bç…Ò¹lrb3Gýâ\nºÈ˃ `-csoEî»XbŠøj‚/þþSP~-~ù«?f¹'¼á÷{-©NÕ(@+]„ˆq àKP³ÃÕk\HÉß+Yýëá%–W˜…Cƒ n¨j“Ír”ÔKVÒá?ewÑZEd7«Ñ=Ñí@kÛ\µZ2:˜›R-ü@m7o5“¥¨‘CQ«&¢‘É¥:àÇKt÷»xðñcØíÄñé’•èK¤­óãp³9™^Ê}±’ÀuÕÂbÂ"tˆh.ÀFhš}æÍõ… $èã1¯£ÕÐA²«U¶þÉå*) ƆÑË5'ÐÌt'®³è<ع®â3àpPGc¤]U¬=”7ÜŸÃ1®a…–Œú‹î£æîQ¦ÂÜïO7È{®h€„Ø,0ÀUXdfÁŒôŽ{øàÏ>„¥v2]·Ô¹…«€U2 M  @kÑEï W8ƒçSüì¿ûÎÎcéß2ƒŸfÖŽ†´®¦§òw„L€K˜ˆçZ¤ÚjaËÏ£š¸ÐƒÉÀ”9"2(ÜÉÔŠÚåH,ÖéA³X»dÍ™Kpe¹N,AV:p—O_MpöâÞh†Öuʳ·íÃ_ =XÖO@ƒQ³ü2-µ¯=;g¦”»í²6ÎFì‚Ò9 ù¤ :Ó‘Ò'õjVý 1Z$êqÿ˜ª°DM›™= ú÷O¤2§¼vVj^êÆ£ïóȧæ“aJÈààjÍ /[òíZ¢ˆ%`¥C:±Åqö‡•;Y¯YÃ?ï\‚ÅÂ!‚Å)´ EzsS¾–=Kö7k™G8{õ;y¾š3åÊÕÏÏb¤¼Ms¾Ž6ÙÕd‚t { ¤¼ mr}оßÍÚ*‰‚ê(b>,aNxðÖà°Ã}„ ’•5š"(Åo -–ÒÁ›šPžäŠë|Ô_k33•̲¤ÛbJ•ºÙknE·óÑðk™—ù&KI!%ùìÒâ—’_!¢ÿ÷N~ƒ{ÿóoÇcé„—@·?Ï~>ùÓ•€*{öÃ,çËVð°Z7@kZ X.K¥Ð”›X©{M=6X/­\eš>x ßIDATúž|Ó¤QÄúÈëÙÛ<]„xþmiØAq“<ú/þR´øâ~º8Íeö¯‚–f»XÏŽ.ýQtx‰ÃœÐF‹%Æ‘2×îDþ¤VIUFü¸‰È E ª*”ªJŸB­maxôQîZ Ǻ0Eýh ]Ðôi ¾ˆí©bg÷£W/dõÑ,Àð¸¿Å W\ð¯Ë”`'`Ä},ðîÏå6nl³çA¨!å‚PÞ¾ÿD&¹Šn¸-ìULbSµSÜ ŒÎ°xz‰öÃ!QÙd2æÊOfOgò3¥ŽY7ØœY(*"„Y("àós¤æq4–÷AÀúèø1rf¬>OÎs/ƒ¬Ÿ+gcÌ5<—Lgò9ÅЈ(’hÚC`žJ„`ÄyõFsDÞuîøìöI=¬*æÖÕ®4 «œï&ùWšÿ¡«F²›…Ò‰iåR檠…]¾™ÊJ 2å!>!í±Ä¾Ô´‘`Ê7‘ßrsh‘ ñ‘:v| ©ÊÊvZæ£=¼ÿÁ¯«ÏÃ~›u…TÌY5“^æ˜ñè'ëko!¶™‰+¾”«>ͱA¹ßÄ0Êi Q]RuÃ-¿UÎ!Eòá­L‘à™úÆ^_&ŠFÞyTó„îƒ,’Ì稨LÜ Y¿0ž{”´aŸAk?‹ ä‹+üh‰ïçZ˜U¥n\ÑÝO/ Ýœ·ÿ8«ÉL¶m©ëÄJ´}Ðùt úáXŽ•µ·áMüZ~Ëù´º$UÝ0f ”…ýE²çèòìÐ{l^§ªjÅwU%Öj¶ËÒ@Ì‘×Ëik–isÓ^øœn¼q–Qéd/6–F4 §èòƒe4þR¾55s@ô£Ó ¼#»5HF˜V™BDU6ð[¥² C.¯¬n©ÜÏE!H»“3Uh±‹0ÀF·°Ç:+ÂC~³:”ErxŸm­m±NÎk™“RÌL›Öh¹2_E”$-õ#ÿàÏ>”e&jûŒìœÞ.™³E3Q¶.Á bÊÍu4 .qâ-ˆé 0yÖ>.Y*o@§:€›FùDó:é~¢,š »YgÏ(𱯄|úQ‚FÐgÔ"e9kkÚí$A}¡58Á>1˜)%ÔçÒc Á<²'6„È£g˱rW|nJY‘ÖvØO´ž\ÁÛ5åTr¬æüæŠA;:+Òßѳ<°ƒDÛ‡/±Í\z†®Lß°J¯}y ‚)ôî TЦ¾|3<»ïÁ DÌ¡²ž_ü…¬Â*WÀ÷Á΀½ &¯N±ãûH”>øEª>7õ:‹wš˜¡kõX`%œr% AVŠ3ã/ÊóÂè  »JyŒ#épo!Ai²˜gM²(ͫԽ!ð7ƒOC¹Wù=¼—:ÀUöâI¦Yz¶9èÎR&Ð ¿Vqª­lW…êU'¯pðÚ]G÷•¤¬Š“‚EgN5ï©êÁ&“šü(Î#¶Ó¬MI±s.ªª7Á•¯øÿr¨k2•™òÂ%âå å”a¥z:¨?×,·M´*f°PM¹‰8Šª›BüŒêàÑH‚·e ‘“ñ<„vèÀ¢à)+ÌOGRÖ¿6– Ãbèjä¿ÆéÓÏ¥cÚØë³„iéµÏº¬÷:$ÄóŸ[ª¦hk d«{„ȽÂ7Æõg/¥óºwÐÇþîG \üœ+Ûé ß»^k[ð2СÞ¥UE¶»nëH:ºlø'òìÄgî¸ÖÚ[ Ž˜Þ^vLÉÛ"Õɶ™0QÔ•äƒêp'så˜v°* U ”"¼n©µàªV’Nå,ÀZhµ½,ß4\)eWZõÁ7G®›e¯ËrQ¼<¬ÔRzÕ–4x5³“sõ}² Ÿ×ó©­Sšf­6WÂÃ!V ñ— ¥lÆ’SÕæäUû™/inòLisñŽBÉ”üx;76‹Á~’n!L»ÈE¾|ÒÒqËëd“¬7½—&&ŸøÎÊ¡©Å‚zÑ­5í3³°e¿ƒOe5e±ÞR¼]‹€•˜/)ÍoѨÝGڿɽDB×êåæd ³~Uh1Ÿ[,}™â~˜¦4†¬†•e¿ XÂ, X ­Zp5…T‹”ÍÏuªî ¡•Ë|VÀ•S<…á¹±î|s¨jC<œª]^„UUV¿<憪K8è¼T€‰² µk‚š+¦©ám¥ow%XæImˆ]À)ïø|;›š¢üJì·×B²¬"P"÷J^óâ†÷ ïàGVxªší ,ë'Ü¥MaP?‰¹8hƒ+7™&çð¼<Ô¾øÊw©#ï5Ë•ŠP˜¥µ°*(Xñ¢ÉÎb`Lˆs©€„”/¢?/´.rÏYREX€îÞk+E]P€Y”¨´êÀU«¤¨È E|¸j %CíÊæ/K4˜Sº`J…R0jÓA ÊÊrY÷Dq3ŠSsoàì­¥š¶MÍÅ"¼ŠSëçrÿ®œwI)•¾¨§…º){%ä6z±GXq3†V”U(=µÔ†lŸMaÊIݯVz ¬r]56]Ž_©œl®¢xàµ?[ òª¦…ÉÏRµl.¡¢‹Š6W¬ÏU,PÝ£lÖ+m§‹ŠMì'®ŠkÅŠ¨Q\$ºÖcû¶3ßU°D†¢®@L躮K…FqNaL%}U©©µ6aþ»JÐ@…"¬Q[ù›Æ§ëŠö½¿FÉĪ2 ëÞ ¬r%HuYýê Z¸€« ÀÖÞe@†øóêÕ+™z9À«8\§ù¦,,1ù¹Ê|ËÎ;kW4ç*UR•B*ŒËmª&€I§ù( Ÿƒ:uÝä36p¶v)ŠMU†U5¡E«¾Jfp~U¦|ÕçÅv7©\ ×T^¦°ªQWÕÀZ-õßzôËo¬Uµº«‚V­Ú*lþrk˜iÖ1“+­©(n˜º·Æ*PUE?r3¼D§Ì5æbS€•.yÅôi1 t¤Ô7¶ø½Q®^¯ªAE•©F°Äæ\±Pÿ$SÄš®Ð¯‡TÕ¬D§*å“;î¶½1h䬃¤¦½Œx&øœËÒ‹kÍ5ª„˜jjVŒZ«òO§ÕnݪÝ>š^gym9¬$¨D&Á:X)êŠ}®VR‰¤‚©n*ô&KU³°"b™3Ao&ehñ^·ñÅÈîÚ¯æ]ŠËJ>ª|K° Tëj¢„R,{Sp­ƒWãÅC÷2OŒƒITÉé,γs¸P«V¼Ä¦ô7:%Uá­…h\¾…µöV²‚ó»n¼\ÛxUÍ›\¨âË@**åº6‚•”‘gE%°ª|o®¢šjj6…V‰¨š[ñÓRjAñC’ûÙï«üoç"¨rõ‘ÒÑm­Vº5ªK>ŒÊñ7m £B­j|yå†_cêåÞš½.¯fåæ,žï*³H@M¹/•&XœV)wÜM^8u?³êßÖ|fí”ñ5»•©Yób¨3é×>7*½ÄÅuY« S0ƒb°*¯· ]‚TS¸ô½UЪók‰‡dÍÆßø ´JÞa¥¾9ä [sãÕc¯ƒWA‰T¥GT>¤k€¶2õa¤*ﱪ\µ9‹›²Æ4j¬šjÀ´”šœOÕD©ºÿ§>Å\Æâç¨MjÚY¯4-ßpk×*•Z×ä  ªn«ÕÀª×­õ°¹Ó=z#µµ \ëdõ&oŽÒ&­*-h,Á ðªÛÐMý@ÁšL…¼¯5¥êνjsÞf“W)‹`ƒ fÛ«M¯UÇTü7ÛÁ÷ºTUÁ°fäÞJ¨ÝæšÞÒT^ii4…U…)ØXo®M µ©ÚZ—³Uô­0C½EV©‰ P5M”]™Œ{çñ¦oÏu*ªâa|£Yu®MýBkº|ŸPªzå3VU•Dáf_¾éÏo²ê^5ÏEî:[ǬÕfÀú¾VQm­È«W“7ùš7H훣 ¨Z¾»¦ ¹›žÇ›¬*¥²JAÕlüÆ¥WëÌã7Ù<@i“*Œïä‘÷æ·ÿÏëLÍoXMž‰u Z!v~øÀÚзU ®5>‚nH“7GTuÁ†¹m”׊si¢P*ã«Tʆ€z£làolÚ¤Éq¶È÷÷Œ¯Èq|#ˆ}O«t½«öðúqk´*ÔÖÚMß\·QM2úï^wý6ÝÀtZ[ÍpËyW›òÖ`"äðŒÓFûÖ•Ú]^óº=ÑÀüq«ÊD¬WÅ;˛×Rë’dåÁÅw°ïúa¼-œœcÝ9o¤æŠPú>€´I¢tSm Ì¾—µ®Âå úñkSpÝѦßÈäkš$[uüĨ/‹ú–ÕI£·d“QœGÓMZ<¿†ÃPrÇ&þ_S@5=Ö7¾¨äö Ú$ïq]ÚQÕõ¹­ÙºêsV=U?³a`îÇ ¬¦àºc™½RU¬UñæTE^›$êÞåùÜö-¹JA¬óÙ5Ý”ë6aSÅ´ H?3ðÛ‚Ø÷¹Ö=·Ì øñk¸šnú7yK®‚Ômnʺ„Ýuì]%ø6yW^—p¾Íùm ¥ÆP3XÏð]¨ªïXä[¹ÆXØ®íÚ®íú¬ÿ ÿÓdO“”ƒžIEND®B`‚KCemu-0.5.1/images/window-thanks.png0000644000175000017500000000377512417262523017535 0ustar glaubitzglaubitz‰PNG  IHDR #ꦷbKGDÿÿÿ ½§“ pHYsHHFÉk>IDAThÞåY{PT×ÿÝ{–Ç"°,,FEWÀN‰"ÃÓU'›iD§‰iÒÖf‚ÆfÆh êˆôÆé3Çh͈ « %"­6J!ˆ†×îâº"Ï ËcÙeï=ýãxk«CY‚™þfvîœ3÷ûÎ÷ûs¿sηÀÿ9˜Ù(Ùsuv²§««4ÈÉA´hoµá­J%ëÈ¥²Ž‹­ì·¶~ƒárû¹ —Û;:¨!?:²»6¾™Ý%‘ ¦þðù`j^ñA ·aÃc’éS*ÏžåØU,g0PJK©ý‘#õ¥]õ·o¿°¤E®L‹LO§3Z\Lx¢!|h¨S¯“Á©WBÂÂù0–õJòùÊ+ írë–ílq¶*[0”?hÊ:òÛ¿èÈ'ä~¼æ7÷ãêG娱1­5qLûá‡UFõ7UÆîî9€ÿè#:S{÷º´ºz¸´’t1£>é"ˆ·E'…·Ü%Γ»d¿ßÆó;k)U=×R€ŸÚ¨€á˜@†Óë+I°ªT•·ÊÜ*o56κqYË3â¶o§3´¿ßîWýv’mÚ˜žmbٷمéÊûÍÆ; ›ÀÙÞ“ò³½„® èïgÁ®`§®ýfŸºV«¬_vjÄW®¤Ä }Õþßúª yCó¶ûš™'."Ä3¼#ÄÈ-ØŸ[À<ž8¹œ q挘{ž³âÀ‡ÑoÈÉÝX™“Ë07ónÎ<ñ§±¨,èϋʀ”Ø5•)± C'bÙ²¡ SåPF~þs€~ë*0*j…GÚí,ëà^éðü‰?hC‚s´P„ûœT„ Ý=vízLËn^v¿H“\n®„‘|,a‰Øë±yö‰ÿ;p§beÀ+ºÄ=¯èXVà…o> 3îõ ™q 3,ÃÐì»fM`Yˆ9°lö–üDXlXjZlxÒ¦B¨TöÚO˜4è ÎÛ›ðäo„Ÿ7ÏËì­ò2.O'p³|Äb–}ºîOûtS÷#¨É›‚ÀÏÿ/¿ªé~¸•Rûö­B(ñ'èµ¹·wÆÓ}¶¨H»½5W»aêNþ#§îäì·Þ³(¬÷€ó‰%7Î'Š‹…>÷î¬?n²Še¤"æúuçO瑵k57Z¼47”Êy;ÝÕóv¾µþ%¾µ3O|´À\8Z”úŸ.õôÝkzÀÀòÁt‚**&ëwÊ×aULÎ窘€±í±‘º:Úëã+ùé¯b%ÀŠÌ4ÅŠL@ÚâtNÚ2uâèû.Ô §ÿ¨nzzº^ïé¿ùþ~ZJ‹‰¡¥4n²þ'½DΩ œ_P@[™™47bàïŸ6ð óýµïþòý5Àš`e¬ €£‡´ÚÑpnvÙêÜ °n\=ûÕ°mðØ° Ð•¶Ð•WZ.æ\iªLêò*`±ŒºZ,€ûÏuî;€ÑóÙÑ''Εká\óòBç‡ÿ>t~IIKç½ -&“½<&½h=àý÷iÒ9tH¬-–/ Z,g˜!bútˆ=Æ®Ü#0²tø‡‘¥Ïú¡—*€gù¯yöéÒ—XÜßòÌp Pò~JpÔH;j€ýÆšý@GlûêŽXÑêæMsÅH¹¹"1ñªOeüU«uÆH [[Ÿ¶|9+å2XiM ­pÜ’¦Ÿ¬\ÒÄ0Ün®žÛý¬ÝèVóžÑ­ÀP½I5TŒÞ1ß½ðñ¼†˜~FÆôG"Ž.M®2—&@ÖäþkY0ž_Ý~×}xõ0åQ”Ø{ø0Í ï½7m¶ÿÜ"pœ.ª5DUWGÁÂÒ‚0Œô‚Óés¨MÚ-­¿Ôn×” ®'„ðBáãâhÍPÌQÏbÂm.±M›h= 2RYîwTYþâá§_ ÷Ó?iÓx '²Wñ šm÷ísŽ8‚ 0(s†‰ÜÎ>Ä ¡"±t—’B+Y«VMZz ÎË£ÉÉËK™á¢Ì`Y¶„Õ°%sMw|xË}OyËÅmR\ ï¼3Þûãæ€ôè×”éÑÍÍ´\¶-¸`ϱØssMsbh‹[~§-,2KŒEp·‰ã Z>ïëWJ|ÉÚjk›k"3‹õëéîpú´ØóL=€¾ ÕR!¶m£½ Å\‡>=ˆw…+Wæ:’ÿ!~Ý»¬$ßIEND®B`‚KCemu-0.5.1/images/icon-poly880.png0000644000175000017500000000254612417262523017104 0ustar glaubitzglaubitz‰PNG  IHDRÄ´l;sRGB®Îé IDAT8Ë=”MˆÝg‡Ÿó¾ÿ{ïd¾2Íd2i&iŒH(i‰ -Ø¢`iñÒ…m R)‚]ˆPÜX¨®²(º+.ű`%Õ.´"hÚ„!Ñš˜IfæÎLfæÞ¹_ÿ÷ã¼ÇÅfsà¼Îy9Ïïwàúò?¯ªbšÈ fF RL¤0͈ µŠ£áÍÙDD¶¶îþ{uµý„ô;·m{{—ÇŸ8ÏúúÅ 8çÆ¹"X1JQÔ V J1RJ|úìüøç9ûÐ'WÞW¬­·ÙÚÜæùgŸassƒÑF"䚺ªév{ GCbÄÐB™ÓñP-”R.¿…Ù™i¾z᛿¨œÎyœNøÏ‡7É_°½²‹{ ™7RÈ1äÎ÷ðoMbb˜fF)3cb¢…‰X éS.d!ª‘rbmsƒ°ÁשcÍà±mF«5¹‘à¾CÎElªP´`VФ÷~­š AÅD‚Ó4M B" _ÑMÄ å‹5ñ¥]ìx†ŽÃ]nBGà•ìxÜЊ+¨Ž ¦â²B.àDH)‘“Rg þIò“}&¾w„ø\‰;Xp÷ òÆìñ©Å E 0+NÇ€‰1ÒíôÈ–©.Máÿ0‰ÕFã׳Ô?o3ñÒ"åL-eìÉÏfò/›Ø*˜9×äl§œs‚æŒ÷ž~€ëxª7§±gÒ«;¸«-Zß]$üd zŽÖ·©þ<…|>"ï¶kæl¬’Rp)b˜sõ¨&§LŒ‘áp@* <ä/÷q—[äs}òÓ=Üû-òÓ=˜0Ò×zØ#÷¯ ˜/8Ü=eÔÙÉ€EbJ87.’ [ÊÈf…´=v,#mÀA¬%Y3EÇÚ6Wל3Y3õ¨¦5ŒòèˆÆ¯fÑGFègj¯Ï¢ÚaÞ(RШäœPÕý+1%Ì RMhh)hQ¼óèdÆ¿:GüáÍWæÁáåmZ?š§Ìeä÷  ‚Ê>ý}£hÎTE#%)¦Š÷~ì$ Æ÷£ ïÓ/#Н„åŒ/-JSñųßùžÍ¨œ:›žž‘S“ôûƒ{;2 ™©‰»‰¹ƒsŒîÒÝÙ£á+’EšMÈ‚¯<9%@˜;4‡!ˆÕÛ+2{pŽŸ½v±¬µÛNs¢˜±Ž¸ª¢ ÑÞRÀÄ‚a–9+ý½š¥cKM ¯ýôâïf¦üWNìÁSlŒ†CB¿GÜí’æ“?¼ŽÍ/`­µUº‹÷B`8L,œÚƒékÜýà,íÎ[Û;¼ùÛ73q/þàÂSï½}ý7fÅÎ|æ¡GæQËx@‹³.””” V )%´(úÆr¢j®~°Ì¥wþòz³Ù¼c¼X}Ô˜™æ¹#'N·ž{æÂàÔ©“Ïv»{/”bG‹•EÁÀÛ‡bcíHåý_SÎU)6sôþ£_þcDDäÿĦ{ZUSºIEND®B`‚KCemu-0.5.1/images/savemem.glade0000644000175000017500000005513712417262523016664 0ustar glaubitzglaubitz 100 1 10 1 1 65536 1 256 100 1 10 100 1 10 65535 1 256 65535 1 256 KCemu: Save Memory Dump mouse True vertical True 2 0 etched-out True True 0 6 Save Memory Dump 0 True 4 4 window-disk.png False 1 False 0 True 4 4 6 6 6 True False False Automatically scroll to start address if the address is changed. False True True gtk-jump-to 5 6 1 2 True False False Automatically scroll to end address if the address is changed. False True True gtk-jump-to 5 6 2 3 True 5 6 3 4 True 0 End address: 2 3 GTK_FILL True 0 Start address: 1 2 GTK_FILL True dec 4 5 3 4 True hex 2 3 3 4 True 1 adjustment1 10 True 3 4 3 4 GTK_FILL True True Size of the memory dump in bytes. 1 adjustment2 10 1 2 3 4 GTK_FILL True 0 Length: 3 4 GTK_FILL 480 200 True True automatic in True True 1 1 False 2 2 False False 6 True 0 hex 2 3 2 3 True 0 hex 2 3 1 2 True 0 dec 4 5 2 3 True 0 dec 4 5 1 2 True Automatically scroll to start address if the address is changed. 1 adjustment3 10 True 3 4 2 3 True 1 adjustment4 10 True 3 4 1 2 True True End address of the memory area to save. The byte at the given address is included in the memory dump. 1 adjustment5 10 1 2 2 3 True True Start address of the memory area to save. 1 adjustment6 10 1 2 1 2 1 True False False 4 2 True 2 6 end gtk-help True True False True False False 0 gtk-close True True False True False False 1 gtk-refresh True True False True False False 2 gtk-save True True True True False False 3 False False 3 KCemu-0.5.1/rpm/0000755000175000017500000000000012417262523013547 5ustar glaubitzglaubitzKCemu-0.5.1/rpm/KCemu.spec.in0000644000175000017500000000311612417262523016035 0ustar glaubitzglaubitzSummary: Emulator for lots of Z80 based home computer Name: KCemu Version: @VERSION@ Release: 1 Source: KCemu-@VERSION@.tar.gz License: GPL Group: Applications/Emulator Distribution: OpenSuSE 11.1 Vendor: Torsten Paul Packager: Torsten Paul %description KCemu is an emulator for the Z80 based KC 85 home computer series which was quite popular in the former East-Germany. It runs most original programs (e.g. Digger, Boulder Dash, Bennion RBS, ...) and supports the emulation of the CP/M-like operating system called MicroDOS. For original programs and general information about the emulated computer types have a look at http://www.kc85emu.de/. %prep %setup %build ./configure \ --prefix=/usr \ --mandir=\${prefix}/share/man \ --infodir=\${prefix}/share/info \ --enable-libsndfile=no \ --enable-libaudiofile=no \ --enable-libmp3lame=no \ --enable-libvorbis=no \ --enable-libflac=no make %install make install \ prefix=%{buildroot}/usr \ exec_prefix=%{buildroot}/usr \ mandir=%{buildroot}/usr/share/man %files /usr/bin/kcemu /usr/bin/kc2img /usr/bin/kc2tap /usr/bin/kctape /usr/bin/tdtodump /usr/bin/kcemu-remote /usr/bin/kc2wav /usr/bin/kc2raw /usr/share/KCemu /usr/share/doc/kcemu /usr/share/man/man1/kcemu.1x.gz /usr/share/man/man1/kc2raw.1.gz /usr/share/man/man1/kc2tap.1.gz /usr/share/man/man1/kc2img.1.gz /usr/share/man/man1/kctape.1.gz /usr/share/man/man1/kc2wav.1.gz /usr/share/man/man1/tdtodump.1.gz /usr/share/man/man1/kcemu-remote.1.gz %lang(en) /usr/share/locale/en/LC_MESSAGES/KCemu.mo %lang(de) /usr/share/locale/de/LC_MESSAGES/KCemu.mo KCemu-0.5.1/rpm/Makefile.am0000644000175000017500000000014412417262523015602 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ KCemu.spec build-rpm.sh KCemu-0.5.1/rpm/build-rpm.sh0000644000175000017500000000267412417262523016007 0ustar glaubitzglaubitz#!/bin/bash # # KCemu -- The emulator for the KC85 homecomputer series and much more. # Copyright (C) 1997-2010 Torsten Paul # # This program 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 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. KCEMUHOME="../../kcemu" RPMDIR="/usr/src/packages" if [ ! -f "$KCEMUHOME/src/kc/kc.cc" ] then echo "KCemu home directory ($KCEMUHOME) not found." exit 1 fi if [ ! -d "$RPMDIR/SRPMS" ] then echo "RPMDIR ($RPMDIR) not found." exit 1 fi source "$KCEMUHOME/VERSION" rm -rf "$RPMDIR/BUILD/$KCEMUHOME/$PACKAGE-$KCEMU_VERSION" cp "$KCEMUHOME/$PACKAGE-$KCEMU_VERSION.tar.gz" "$RPMDIR/SOURCES/" || exit cp "$KCEMUHOME/rpm/KCemu.spec" "$RPMDIR/SPECS" || exit cd "$RPMDIR/SPECS" || exit trap 'rm -rf "$BUILDDIR"' EXIT BUILDDIR=$(mktemp /tmp/kcemu-rpm.XXXXXXXXXX) || exit rpmbuild -v -bb --buildroot "$BUILDDIR" KCemu.spec KCemu-0.5.1/test/0000755000175000017500000000000012417262523013730 5ustar glaubitzglaubitzKCemu-0.5.1/test/libgtkex/0000755000175000017500000000000012417262523015541 5ustar glaubitzglaubitzKCemu-0.5.1/test/libgtkex/libgtkex-test.xml0000644000175000017500000000463112417262523021055 0ustar glaubitzglaubitz True vertical True True _File True True gtk-quit True True True False 0 True vertical 1 True 2 False 2 KCemu-0.5.1/test/libgtkex/Makefile.am0000644000175000017500000000033312417262523017574 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ libgtkex-test.xml check_PROGRAMS = libgtkex-test AM_CPPFLAGS = -I../../include $(GTK_CFLAGS) LIBS = ../../src/libgtkex/libgtkex.a $(GTK_LIBS) KCemu-0.5.1/test/libgtkex/libgtkex-test.c0000644000175000017500000000615512417262523020502 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "libgtkex/libgtkex.h" static guint statusid = 0; static GtkWidget *statusbar = NULL; static gboolean on_timeout(gpointer data) { guint id = (guint) data; if (statusid == id) gtk_statusbar_pop(GTK_STATUSBAR(statusbar), 0); return FALSE; } static void log_text(const char *text) { gtk_statusbar_pop(GTK_STATUSBAR(statusbar), 0); gtk_statusbar_push(GTK_STATUSBAR(statusbar), 0, text); printf("LOG: %s\n", text); statusid++; g_timeout_add_seconds(5, on_timeout, (gpointer)statusid); } static void on_filebutton_changed(GtkFilebutton *filebutton, gpointer user_data) { char buf[4096]; snprintf(buf, sizeof(buf), "Filebutton changed: %s", gtk_filebutton_get_filename(filebutton)); log_text(buf); } static void on_clear_clicked(GtkButton *button, GtkComboBox *combobox) { gtk_combo_box_set_active(combobox, -1); printf("clear\n"); } int main(int argc, char **argv) { gtk_init(&argc, &argv); GtkBuilder *builder = gtk_builder_new(); gtk_builder_add_from_file(builder, "libgtkex-test.xml", NULL); gtk_builder_connect_signals(builder, NULL); GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder, "window")); g_signal_connect(window, "delete_event", G_CALLBACK(gtk_main_quit), NULL); GtkWidget *container = GTK_WIDGET(gtk_builder_get_object(builder, "container")); statusbar = GTK_WIDGET(gtk_builder_get_object(builder, "statusbar")); g_object_unref(G_OBJECT(builder)); GtkWidget *led_line = gtk_led_line_new(8); gtk_box_pack_start(GTK_BOX(container), led_line, TRUE, TRUE, 4); GtkWidget *filebutton = gtk_filebutton_new("Image"); g_signal_connect(filebutton, "changed", G_CALLBACK(on_filebutton_changed), NULL); gtk_box_pack_start(GTK_BOX(container), filebutton, TRUE, TRUE, 4); GtkWidget *comboboxentry = gtk_combo_box_entry_new_text(); gtk_combo_box_append_text(GTK_COMBO_BOX(comboboxentry), "blah"); gtk_combo_box_append_text(GTK_COMBO_BOX(comboboxentry), "blubb"); gtk_box_pack_start(GTK_BOX(container), comboboxentry, TRUE, TRUE, 4); GtkWidget *button = gtk_button_new_with_label("clear"); g_signal_connect(button, "clicked", G_CALLBACK(on_clear_clicked), comboboxentry); gtk_box_pack_start(GTK_BOX(container), button, TRUE, TRUE, 4); gtk_widget_show_all(window); gtk_main(); return 0; } KCemu-0.5.1/test/libaudio/0000755000175000017500000000000012417262523015520 5ustar glaubitzglaubitzKCemu-0.5.1/test/libaudio/data/0000755000175000017500000000000012417262523016431 5ustar glaubitzglaubitzKCemu-0.5.1/test/libaudio/data/Makefile.am0000644000175000017500000000014312417262523020463 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ empty.wav \ random.wav KCemu-0.5.1/test/libaudio/data/empty.wav0000644000175000017500000000000012417262523020274 0ustar glaubitzglaubitzKCemu-0.5.1/test/libaudio/data/random.wav0000644000175000017500000000200012417262523020420 0ustar glaubitzglaubitze­˜Í¬ œÇ<]²c›ñǾkot IÃ_×DäOóú+²± ø”dEÉ?„7îÂŽ8ÿuÙûœD=2P1‰Î˜ñœŸa‰\ôT›oÔº¼X‚¥XTÖþ™\ΟØñsñ6¾Êë'E{â²Å.—XÿÏd¨ul vªLƒu<ü[ šnßî` Äl#¬p[õIÛp%8ty‰üθ½dénƒ®Äe t#QÔœ¤ñ¿çÔÅ 4aÜ‹ñ±Ó’ËMÚ\Æ9}ZG°»k\÷©û,†r¹ÂÞØßb#Úœ•±)-oÑIÌw=Ï‘qÍÌºŠ‡â¹ZNv劒3ÔŽÉ÷R‚ò}AVöÏšÍ@œx#÷ûrÁ½M¾‚ÌÖëÿ-à·"eÿè‰üHR’š•Ävê‡& n4²À{ù³u^¼eÓe•›œ> _«+#­ŒÏ¶åÒ(Ä–<_o =²¼ã.¾cWД¢][Ž$ܪUR¦œkšÂ+à2™uŸzˆFg]/̘ö € ÞµLß#’-o(ê žüÈ¢EÆÛITM?àºF|Xª» ·­ÆÕ½ÓÛ¸ AJXlõ:ÐW°o™äˆQ¥{$ÒL[úP÷˜ ™ ó'!÷ÏLçD·€£/= ך¼Ü Å3(ËsãC&Rò¶m[;åXÚ"^)ªQ:-¶HH*Ã"wòCf$PÎ[Ýàùý|S€&‹‚_hBv!ÄO‡æ&BgßÈeRšsqäùB(óMêš ¥œìdüük!óñ*0/19:”ü°£N—Ò¬JTœÿHŽó9’2Aúo·ôÝ¥PÅhp/ ¸‰P‰œ_s8E•iGV¸Ž¢¸êž§úk§„ñ” °ÿµ^#Q97 `ž£úç_î‰ØÄÃÌ·\€[å1ù7U͵bv ž“^³ˆK`z.Ç/Ùœp<ór¼sIÚ8¯ÆÞ.^>K˜ZHIGƒÒ®Gò) d¦V’(ù¬ÐÞì¥Ý莯GSKÄNì M¾ä!¹Æ>„‘ÌåKCemu-0.5.1/test/libaudio/Makefile.am0000644000175000017500000000057312417262523017561 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = data AM_CPPFLAGS = -I../../include $(CPPUNIT_CFLAGS) LIBS = \ $(CPPUNIT_LIBS) \ $(SNDFILE_LIBS) \ $(AUDIOFILE_LIBS) \ $(VORBIS_LIBS) \ $(MP3LAME_LIBS) \ -lefence if HAVE_CPPUNIT TESTS = t_load check_PROGRAMS = $(TESTS) t_load_SOURCES = t_load.cc t_load_LDADD = ../../src/libaudio/libaudio.a endif KCemu-0.5.1/test/libaudio/t_load.cc0000644000175000017500000000715012417262523017274 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include #include "libaudio/libaudio.h" using namespace std; class LibAudioTest : public CppUnit::TestCase { private: public: void setUp(); void tearDown(); void testOpenNull(void); void testOpenNotExisting(void); void testOpenEmpty(void); void testOpenShort(void); void testOpenRandom(void); }; void LibAudioTest::setUp(void) { libaudio_init(LIBAUDIO_TYPE_ALL & ~LIBAUDIO_TYPE_MP3); } void LibAudioTest::tearDown(void) { } void LibAudioTest::testOpenNull(void) { cout << "LibAudioTest::testOpenNull()" << endl; libaudio_prop_t *prop = libaudio_open(NULL); CPPUNIT_ASSERT(prop == NULL); } void LibAudioTest::testOpenNotExisting(void) { cout << "LibAudioTest::testOpenNotExisting()" << endl; libaudio_prop_t *prop = libaudio_open("data/notexisting.wav"); CPPUNIT_ASSERT(prop == NULL); } void LibAudioTest::testOpenEmpty(void) { cout << "LibAudioTest::testOpenEmpty()" << endl; libaudio_prop_t *prop = libaudio_open("data/empty.wav"); CPPUNIT_ASSERT(prop == NULL); } void LibAudioTest::testOpenShort(void) { FILE *f; int a, b, ret; unsigned char c; libaudio_prop_t *prop; const char *filename = "data/short.wav"; cout << "LibAudioTest::testOpenShort()" << endl; for (a = 1;a < 1024;a++) { f = fopen(filename, "wb"); CPPUNIT_ASSERT(f != NULL); for (b = 0;b < a;b++) { c = b & 0xff; ret = fwrite(&c, 1, 1, f); CPPUNIT_ASSERT(ret == 1); } fclose(f); cout << ".." << a << endl; prop = libaudio_open(filename); CPPUNIT_ASSERT(prop != NULL); ret = unlink(filename); CPPUNIT_ASSERT(ret == 0); } } void LibAudioTest::testOpenRandom(void) { cout << "LibAudioTest::testOpenRandom()" << endl; libaudio_prop_t *prop = libaudio_open("data/random.wav"); CPPUNIT_ASSERT(prop == NULL); } int EF_DISABLE_BANNER = 1; int EF_PROTECT_FREE = 0; int EF_FREE_WIPES = 1; int EF_ALLOW_MALLOC_0 = 1; int main(void) { CppUnit::TestResult result; CppUnit::TextTestRunner runner; CppUnit::TestSuite *suite = new CppUnit::TestSuite(); suite->addTest(new CppUnit::TestCaller("testOpenNull", &LibAudioTest::testOpenNull)); suite->addTest(new CppUnit::TestCaller("testOpenNotExisting", &LibAudioTest::testOpenNotExisting)); suite->addTest(new CppUnit::TestCaller("testOpenEmpty", &LibAudioTest::testOpenEmpty)); suite->addTest(new CppUnit::TestCaller("testOpenShort", &LibAudioTest::testOpenShort)); suite->addTest(new CppUnit::TestCaller("testOpenRandom", &LibAudioTest::testOpenRandom)); runner.addTest(suite); runner.run(); return 0; } KCemu-0.5.1/test/Makefile.am0000644000175000017500000000013212417262523015760 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = kc libaudio libgtkex KCemu-0.5.1/test/kc/0000755000175000017500000000000012417262523014325 5ustar glaubitzglaubitzKCemu-0.5.1/test/kc/Makefile.am0000644000175000017500000000041612417262523016362 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in SUBDIRS = prefs AM_CPPFLAGS = -I../../include $(CPPUNIT_CFLAGS) if HAVE_CPPUNIT TESTS = t_memstream check_PROGRAMS = $(TESTS) t_memstream_SOURCES = t_memstream.cc t_memstream_LDADD = $(CPPUNIT_LIBS) endif KCemu-0.5.1/test/kc/prefs/0000755000175000017500000000000012417262523015444 5ustar glaubitzglaubitzKCemu-0.5.1/test/kc/prefs/Makefile.am0000644000175000017500000000064712417262523017507 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in TESTS = t_prefs check_PROGRAMS = $(TESTS) AM_CPPFLAGS = -I../../../include $(CPPUNIT_CFLAGS) LIBS = $(GTK_LIBS) if TARGET_MINGW SYSLIB=../../../src/sys/mingw/libsys_mingw.a else SYSLIB=../../../src/sys/unix/libsys_unix.a endif t_prefs_SOURCES = t_prefs.cc t_prefs_LDADD = $(CPPUNIT_LIBS) ../../../src/libdbg/libdbg.a ../../../src/kc/prefs/libprefs.a $(SYSLIB) KCemu-0.5.1/test/kc/prefs/t_prefs.cc0000644000175000017500000000300612417262523017414 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include "sys/sysdep.h" #include "kc/prefs/prefs.h" #include "libdbg/dbg.h" using namespace std; int main(void) { string home = sys_gethome(); string sys_config_dir = home + "/sys"; string user_config_dir = home + "/config"; string user_profiles_dir = home + "/profiles"; DBGI()->add_path("KCemu/Preferences", true); Preferences::init(sys_config_dir.c_str(), user_config_dir.c_str(), user_profiles_dir.c_str()); Preferences::instance()->set_current_profile("kc85-4", 0); Profile *p = Preferences::instance()->find_profile("kc85-4"); if (p == NULL) return 1; p->set_int_value("test", 1); Preferences::instance()->save(); return 0; } KCemu-0.5.1/test/kc/t_memstream.cc0000644000175000017500000001332212417262523017152 0ustar glaubitzglaubitz/* * KCemu -- The emulator for the KC85 homecomputer series and much more. * Copyright (C) 1997-2010 Torsten Paul * * This program 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 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include #include #include #include #include #include #include "kc/memstream.h" using namespace std; class MemStreamTest : public CppUnit::TestCase { private: iostream *stream; memstream *mstream; public: void setUp(); void tearDown(); void testRead(void); void testReadBinary(void); void testWrite(void); void testGCount(void); void testPeek(void); void testTellG(void); }; void MemStreamTest::setUp(void) { mstream = new memstream((unsigned char *)"test", 4); stream = mstream; } void MemStreamTest::tearDown(void) { delete stream; } void MemStreamTest::testRead(void) { int c; cout << "MemStreamTest::testRead()" << endl; CPPUNIT_ASSERT(mstream->size() == 4); c = stream->get(); CPPUNIT_ASSERT(c == 't'); c = stream->get(); CPPUNIT_ASSERT(c == 'e'); c = stream->get(); CPPUNIT_ASSERT(c == 's'); c = stream->get(); CPPUNIT_ASSERT(c == 't'); c = stream->get(); CPPUNIT_ASSERT(c == EOF); CPPUNIT_ASSERT(mstream->size() == 4); CPPUNIT_ASSERT(strcmp(mstream->str(), "test") == 0); } void MemStreamTest::testReadBinary(void) { int a, c; unsigned char buf[256]; cout << "MemStreamTest::testReadBinary()" << endl; for (a = 0;a < 256;a++) buf[a] = a; memstream *s = new memstream(buf, 256); for (a = 0;a < 256;a++) CPPUNIT_ASSERT(s->get() == a); CPPUNIT_ASSERT(s->get() == EOF); delete s; } void MemStreamTest::testWrite(void) { int c; cout << "MemStreamTest::testWrite()" << endl; CPPUNIT_ASSERT(mstream->size() == 4); *stream << (unsigned char)0 << (unsigned char)1 << "23" << endl; CPPUNIT_ASSERT(mstream->size() == 9); c = stream->get(); CPPUNIT_ASSERT(c == 't'); c = stream->get(); CPPUNIT_ASSERT(c == 'e'); c = stream->get(); CPPUNIT_ASSERT(c == 's'); c = stream->get(); CPPUNIT_ASSERT(c == 't'); c = stream->get(); CPPUNIT_ASSERT(c == '\0'); c = stream->get(); CPPUNIT_ASSERT(c == '\1'); c = stream->get(); CPPUNIT_ASSERT(c == '2'); c = stream->get(); CPPUNIT_ASSERT(c == '3'); c = stream->get(); CPPUNIT_ASSERT(c == '\n'); c = stream->get(); CPPUNIT_ASSERT(c == EOF); CPPUNIT_ASSERT(mstream->size() == 9); CPPUNIT_ASSERT(memcmp(mstream->str(), "test\000\00123\n", 9) == 0); } void MemStreamTest::testGCount(void) { cout << "MemStreamTest::testGCount()" << endl; cout << stream->gcount() << " "; cout << stream->get() << " "; cout << stream->gcount() << " "; cout << stream->get() << " "; cout << stream->gcount() << " "; cout << stream->get() << " "; cout << stream->gcount() << " "; cout << stream->get() << " "; cout << stream->gcount() << " "; cout << stream->get() << " "; cout << stream->gcount() << " "; cout << endl; } void MemStreamTest::testPeek(void) { cout << "MemStreamTest::testPeek()" << endl; CPPUNIT_ASSERT(stream->peek() == 't'); CPPUNIT_ASSERT(stream->peek() == 't'); CPPUNIT_ASSERT(stream->get() == 't'); CPPUNIT_ASSERT(stream->peek() == 'e'); CPPUNIT_ASSERT(stream->peek() == 'e'); CPPUNIT_ASSERT(stream->get() == 'e'); CPPUNIT_ASSERT(stream->peek() == 's'); CPPUNIT_ASSERT(stream->peek() == 's'); CPPUNIT_ASSERT(stream->get() == 's'); CPPUNIT_ASSERT(stream->peek() == 't'); CPPUNIT_ASSERT(stream->peek() == 't'); CPPUNIT_ASSERT(stream->get() == 't'); CPPUNIT_ASSERT(stream->peek() == EOF); CPPUNIT_ASSERT(stream->peek() == EOF); CPPUNIT_ASSERT(stream->get() == EOF); CPPUNIT_ASSERT(stream->peek() == EOF); CPPUNIT_ASSERT(stream->peek() == EOF); } void MemStreamTest::testTellG(void) { cout << "MemStreamTest::testTellG()" << endl; CPPUNIT_ASSERT(stream->tellg() == 0); CPPUNIT_ASSERT(stream->get() == 't'); CPPUNIT_ASSERT(stream->tellg() == 1); CPPUNIT_ASSERT(stream->get() == 'e'); CPPUNIT_ASSERT(stream->tellg() == 2); CPPUNIT_ASSERT(stream->get() == 's'); CPPUNIT_ASSERT(stream->tellg() == 3); CPPUNIT_ASSERT(stream->get() == 't'); CPPUNIT_ASSERT(stream->tellg() == 4); CPPUNIT_ASSERT(stream->get() == EOF); CPPUNIT_ASSERT(stream->tellg() == 4); } int main(void) { CppUnit::TestResult result; CppUnit::TextTestRunner runner; CppUnit::TestSuite *suite = new CppUnit::TestSuite(); suite->addTest(new CppUnit::TestCaller("testRead", &MemStreamTest::testRead)); suite->addTest(new CppUnit::TestCaller("testReadBinary", &MemStreamTest::testReadBinary)); suite->addTest(new CppUnit::TestCaller("testWrite", &MemStreamTest::testWrite)); suite->addTest(new CppUnit::TestCaller("testGCount", &MemStreamTest::testGCount)); suite->addTest(new CppUnit::TestCaller("testPeek", &MemStreamTest::testPeek)); suite->addTest(new CppUnit::TestCaller("testTellG", &MemStreamTest::testTellG)); runner.addTest(suite); runner.run(); return 0; } KCemu-0.5.1/ABOUT-NLS0000644000175000017500000022532612417262523014212 0ustar glaubitzglaubitz1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. If you happen to have the `LC_ALL' or some other `LC_xxx' environment variables set, you should unset them before setting `LANG', otherwise the setting of `LANG' will not have the desired effect. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://translationproject.org/', in the "Teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `coordinator@translationproject.org' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of November 2007. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ Compendium | [] [] [] [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] | bfd | | bibshelf | [] | binutils | | bison | [] [] | bison-runtime | [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] [] | console-tools | [] [] | coreutils | [] [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | dialog | | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | fetchmail | [] [] () [] [] | findutils | [] | findutils_stable | [] [] [] | flex | [] [] [] | fslint | | gas | | gawk | [] [] [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gip | [] | gliv | [] [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | [] [] () () [] | gnuedu | | gnulib | [] | gnunet | | gnunet-gtk | | gnutls | [] | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | | gramadoir | [] [] | grep | [] [] | gretl | () | gsasl | | gss | | gst-plugins-bad | [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gst-plugins-ugly | [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] [] | indent | [] [] [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] | iso_639 | [] [] [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | [] [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lprng | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] | make | [] [] | man-db | [] [] [] | minicom | [] [] [] | nano | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | popt | [] [] [] | psmisc | [] | pwdutils | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | shared-mime-info | [] [] [] [] () [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | skencil | [] () | solfege | | soundtracker | [] [] | sp | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] | texinfo | [] [] [] | tin | () () | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | util-linux-ng | [] [] [] [] | vorbis-tools | [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ Compendium | [] [] [] [] [] | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] | bfd | [] [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | dialog | [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | fetchmail | [] | findutils | [] [] [] | findutils_stable | [] [] [] [] | flex | [] [] [] | fslint | | gas | [] [] | gawk | [] [] [] [] () | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] | gip | [] [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnuedu | [] | gnulib | [] [] [] | gnunet | | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] [] | gpsdrive | [] | gramadoir | [] [] | grep | [] [] [] | gretl | [] [] [] () | gsasl | [] [] | gss | [] [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] | gstreamer | [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] [] [] | keytouch-editor | [] | keytouch-keyboa... | [] [] | latrine | [] [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | [] | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] [] | libidn | [] [] | lifelines | () | lilypond | [] [] [] | lingoteach | [] [] [] | lprng | | lynx | [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | [] | minicom | [] [] [] [] | nano | [] [] [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] | pilot-qof | | popt | [] [] [] [] | psmisc | [] [] | pwdutils | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | [] | skencil | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | tin | [] () | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | util-linux-ng | [] [] [] [] [] [] [] | vorbis-tools | | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52 ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn +--------------------------------------------------+ Compendium | [] | a2ps | () [] [] | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | [] | cpplib | [] | cryptonit | [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | fetchmail | [] [] | findutils | [] | findutils_stable | [] | flex | [] [] | fslint | | gas | | gawk | [] [] | gcal | | gcc | | gettext-examples | [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] [] | gnubiff | | gnucash | () () () | gnuedu | | gnulib | [] [] | gnunet | | gnunet-gtk | | gnutls | [] | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | [] | gpsdrive | [] | gramadoir | () | grep | [] [] | gretl | | gsasl | [] | gss | | gst-plugins-bad | [] | gst-plugins-base | [] | gst-plugins-good | [] | gst-plugins-ugly | [] | gstreamer | [] | gtick | [] | gtkam | [] [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] | indent | [] [] | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] [] [] | jpilot | () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | [] | libidn | [] [] | lifelines | [] | lilypond | [] | lingoteach | [] | lprng | | lynx | [] [] | m4 | [] [] | mailfromd | | mailutils | | make | [] [] [] | man-db | | minicom | [] | nano | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | popt | [] [] [] | psmisc | [] [] [] | pwdutils | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | shared-mime-info | [] [] [] [] [] [] [] | sharutils | [] [] | shishi | | skencil | | solfege | () () | soundtracker | | sp | () | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] | tin | | tuxpaint | () [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | util-linux-ng | [] [] | vorbis-tools | | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6 or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +--------------------------------------------------+ Compendium | [] [] [] [] [] | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] [] | bash | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | dialog | [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] | findutils_stable | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] | gas | | gawk | [] [] [] [] | gcal | [] | gcc | [] [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gip | [] [] [] [] | gliv | [] [] [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () [] | gnucash | () [] | gnuedu | | gnulib | [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] | gramadoir | [] [] | grep | [] [] [] [] | gretl | [] [] [] | gsasl | [] [] [] | gss | [] [] [] [] | gst-plugins-bad | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] | gst-plugins-ugly | [] [] [] | gstreamer | [] [] [] [] | gtick | [] | gtkam | [] [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | herrie | [] [] [] | hylafax | | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] | libexif | [] [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] [] | libgpg-error | [] [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lprng | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] [] [] | make | [] [] [] [] | man-db | [] [] [] [] | minicom | [] [] [] [] [] | nano | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | | popt | [] [] [] [] | psmisc | [] [] | pwdutils | [] [] | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | skencil | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] | texinfo | [] [] [] [] | tin | () | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | util-linux-ng | [] [] [] [] | vorbis-tools | [] | wastesedge | | wdiff | [] [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ Compendium | [] [] [] [] | 19 a2ps | [] [] [] | 19 aegis | [] | 1 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 16 bash | [] | 6 bfd | | 2 bibshelf | [] | 7 binutils | [] [] [] [] | 9 bison | [] [] [] [] | 20 bison-runtime | [] [] [] [] | 18 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 9 console-tools | [] [] | 5 coreutils | [] [] [] | 18 cpio | [] [] [] [] | 11 cpplib | [] [] [] [] [] | 12 cryptonit | [] | 6 dialog | [] [] [] | 9 diffutils | [] [] [] [] [] | 29 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 fetchmail | [] [] | 12 findutils | [] [] [] | 11 findutils_stable | [] [] [] [] | 18 flex | [] [] | 15 fslint | [] | 2 gas | [] | 3 gawk | [] [] [] | 16 gcal | [] | 5 gcc | [] [] [] | 7 gettext-examples | [] [] [] [] [] [] | 29 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 20 gip | [] [] | 13 gliv | [] [] | 11 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 16 gnubiff | [] | 2 gnucash | () [] | 5 gnuedu | [] | 2 gnulib | [] | 10 gnunet | | 0 gnunet-gtk | [] [] | 3 gnutls | | 4 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] [] | 7 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] [] | 16 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] [] | 22 gpe-filemanager | [] [] | 7 gpe-go | [] [] [] [] | 19 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] [] | 21 gpe-taskmanager | [] [] [] [] | 21 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] [] | 8 gphoto2 | [] [] [] [] | 21 gprof | [] [] | 13 gpsdrive | [] | 5 gramadoir | [] | 7 grep | [] | 12 gretl | | 6 gsasl | [] [] [] | 9 gss | [] | 7 gst-plugins-bad | [] [] [] | 13 gst-plugins-base | [] [] | 11 gst-plugins-good | [] [] [] [] [] | 16 gst-plugins-ugly | [] [] [] | 13 gstreamer | [] [] [] | 18 gtick | [] [] | 7 gtkam | [] | 16 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 27 gutenprint | | 4 hello | [] [] [] [] [] | 38 herrie | [] [] | 8 hylafax | | 0 idutils | [] [] | 15 indent | [] [] [] [] [] | 28 iso_15924 | [] [] | 4 iso_3166 | [] [] [] [] [] [] [] [] [] | 54 iso_3166_2 | [] [] | 4 iso_4217 | [] [] [] [] [] | 24 iso_639 | [] [] [] [] [] | 26 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] [] | 13 keytouch | [] | 8 keytouch-editor | [] | 5 keytouch-keyboa... | [] | 5 latrine | [] [] | 5 ld | [] [] [] [] | 10 leafpad | [] [] [] [] [] | 24 libc | [] [] [] | 19 libexif | [] | 5 libextractor | [] | 5 libgpewidget | [] [] [] | 20 libgpg-error | [] | 6 libgphoto2 | [] [] | 9 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] [] | 11 libidn | [] [] | 11 lifelines | | 4 lilypond | [] | 6 lingoteach | [] | 6 lprng | [] | 2 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailfromd | [] [] | 3 mailutils | [] [] | 8 make | [] [] [] | 20 man-db | [] | 9 minicom | [] | 14 nano | [] [] [] | 20 opcodes | [] [] | 10 parted | [] [] [] | 11 pilot-qof | [] | 1 popt | [] [] [] [] | 18 psmisc | [] [] | 10 pwdutils | [] | 3 qof | [] | 4 radius | [] [] | 7 recode | [] [] [] | 25 rpm | [] [] [] [] | 13 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] [] | 23 shared-mime-info | [] [] [] | 29 sharutils | [] [] [] | 23 shishi | [] | 3 skencil | [] | 7 solfege | [] | 3 soundtracker | [] [] | 9 sp | [] | 3 system-tools-ba... | [] [] [] [] [] [] [] | 38 tar | [] [] [] | 17 texinfo | [] [] [] | 15 tin | | 1 tuxpaint | [] [] [] | 19 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 util-linux-ng | [] [] [] | 20 vorbis-tools | [] [] | 4 wastesedge | | 1 wdiff | [] [] | 23 wget | [] [] [] | 20 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] | 14 xpad | [] [] [] | 15 +---------------------------------------------------+ 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If November 2007 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://translationproject.org/extra/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `coordinator@translationproject.org' to make the `.pot' files available to the translation teams. KCemu-0.5.1/TODO0000644000175000017500000000214512417262523013443 0ustar glaubitzglaubitz# # $Id: TODO,v 1.9 2002/10/31 16:39:53 torsten_paul Exp $ # - fix key repeat with gtk-2.2 - fix .TAP import/export for files with non-linear block numbering (e.g. os-save) - fix kc2wav -> wav2kc for z9001-mc programs - fix timing bug when loading digger by double click in the tape window and starting the program before the tape loader has timed out - fix interrupt handling, the hardware daisy chain is not honored correctly which breaks some programs (e.g. PHARAO) - fix programs using SPRITE-MC (by Dr. H. Gutzer/ S. Wendt, Funkamateur 3/90) - fix fast tape loading (doesn't switch bank 8 from IRM to RAM) - forward reset/power on signals to modules - convert debugging code in pio.cc to libdbg - improve sound output - expand environment variables in .kcemurc - extend the configuration dialog and save the changed values - don't use tempnam() in ModuleV24::socket_server(): - don't use inputstream.getline() with fixed buffer - transparently handle gzipped files - fix do_dump() in kctape.cc to actually use the specified output file - fix method names in ModuleInterface (e.g. reset() -> module_reset()) KCemu-0.5.1/.gitignore0000644000175000017500000001041512417262523014742 0ustar glaubitzglaubitz# ignore objects and archives *.[oa] # anjuta files .anjuta .tm_project2.cache TODO.tasks KCemu.anjuta kcemu-Makefile.mk # netbeans files nbproject KCemu-*.tar.gz .deps Makefile.in Makefile build-stamp configure-stamp configure.lineno intl/Makefile asm/autostart/Makefile.in asm/autostart/Makefile asm/Makefile.in asm/Makefile debian/Makefile.in debian/Makefile debian/files debian/kcemu.debhelper.log debian/kcemu.postinst.debhelper debian/kcemu.postrm.debhelper debian/kcemu.substvars debian/kcemu/ rpm/KCemu.spec disks/Makefile.in disks/Makefile doc/Makefile.in doc/Makefile images/original/Makefile.in images/original/Makefile images/Makefile.in images/Makefile images/kcemu-winicon_16x16.alpha.pgm images/kcemu-winicon_16x16.ppm images/kcemu-winicon_32x32.alpha.pgm images/kcemu-winicon_32x32.ppm images/kcemu-winicon_48x48.alpha.pgm images/kcemu-winicon_48x48.ppm include/cmd/Makefile.in include/cmd/Makefile include/fileio/Makefile.in include/fileio/Makefile include/getopt/Makefile.in include/getopt/Makefile include/kc/kramermc/Makefile.in include/kc/kramermc/Makefile include/kc/muglerpc/Makefile.in include/kc/muglerpc/Makefile include/kc/Makefile.in include/kc/Makefile include/libaudio/Makefile.in include/libaudio/Makefile include/libdbg/Makefile.in include/libdbg/Makefile include/libdisk/Makefile.in include/libdisk/Makefile include/libtape/Makefile.in include/libtape/Makefile include/sys/Makefile.in include/sys/Makefile include/ui/generic/Makefile.in include/ui/generic/Makefile include/ui/gtk/Makefile.in include/ui/gtk/Makefile include/ui/Makefile.in include/ui/Makefile include/z80core/Makefile.in include/z80core/Makefile include/z80core2/Makefile.in include/z80core2/Makefile include/Makefile.in include/Makefile man/man1/Makefile.in man/man1/Makefile man/Makefile.in man/Makefile po/Makefile.in po/Makefile roms/a5105/Makefile.in roms/a5105/Makefile roms/kc85/Makefile.in roms/kc85/Makefile roms/kramermc/Makefile.in roms/kramermc/Makefile roms/lc80/Makefile.in roms/lc80/Makefile roms/muglerpc/Makefile.in roms/muglerpc/Makefile roms/poly880/Makefile.in roms/poly880/Makefile roms/z1013/Makefile.in roms/z1013/Makefile roms/z9001/Makefile.in roms/z9001/Makefile roms/Makefile.in roms/Makefile setup/Makefile.in setup/Makefile src/cmd/Makefile.in src/cmd/Makefile src/fileio/Makefile.in src/fileio/Makefile src/getopt/Makefile.in src/getopt/Makefile src/kc/kramermc/Makefile.in src/kc/kramermc/Makefile src/kc/muglerpc/Makefile.in src/kc/muglerpc/Makefile src/kc/Makefile.in src/kc/Makefile src/kc/kcemu.rc src/libaudio/Makefile.in src/libaudio/Makefile src/libdbg/Makefile.in src/libdbg/Makefile src/libdisk/Makefile.in src/libdisk/Makefile src/libtape/Makefile.in src/libtape/Makefile src/sys/linux/Makefile.in src/sys/linux/Makefile src/sys/mingw/Makefile.in src/sys/mingw/Makefile src/sys/Makefile.in src/sys/Makefile src/ui/generic/Makefile.in src/ui/generic/Makefile src/ui/gtk/Makefile.in src/ui/gtk/Makefile src/ui/Makefile.in src/ui/Makefile src/util/Makefile.in src/util/Makefile src/z80core/Makefile.in src/z80core/Makefile src/z80core2/Makefile.in src/z80core2/Makefile src/Makefile.in src/Makefile tapes/Makefile.in tapes/Makefile test/kc/Makefile.in test/kc/Makefile test/libaudio/data/Makefile.in test/libaudio/data/Makefile test/libaudio/Makefile.in test/libaudio/Makefile test/libgtkex/libgtkex-test test/Makefile.in test/Makefile aclocal.m4 autom4te.cache config.log config.status config/config.guess config/config.sub config/compile config/test-driver config/depcomp config/install-sh config/missing configure doc/kcemu-help.xml include/kc/config.h include/kc/stamp-h1 po/POTFILES po/de.mo po/de.gmo po/en.mo po/en.gmo po/remove-potcdate.sed po/stamp-po setup/KCemuSetup.nsi setup/KCemuSetup_gtk2.4.nsi setup/KCemuSetup_gtk2.6.nsi setup/KCemuSetup_gtk2.8.nsi setup/KCemuSetup_gtk2.10.nsi src/fileio/kc2img src/fileio/kc2raw src/fileio/kc2tap src/fileio/kc2wav src/fileio/test-load src/kc/kcemu src/kc/kcemu-send src/libdbg/dbg-test src/libdisk/tdtodump src/libtape/kcread2tap src/libtape/kctape src/libtape/show_tap src/ui/gtk/kcemu-remote src/util/basic-decode src/util/disk-tool src/util/dump2img src/util/dump2txt src/util/make-font src/util/tape-basicode src/util/tape-check src/util/tape-check-bc src/util/tape-merge src/util/tape-rename src/util/tape-split src/util/tape-test src/util/tape-tool src/util/tp-type KCemu-0.5.1/debian/0000755000175000017500000000000012417262523014173 5ustar glaubitzglaubitzKCemu-0.5.1/debian/source/0000755000175000017500000000000012417262523015473 5ustar glaubitzglaubitzKCemu-0.5.1/debian/source/format0000644000175000017500000000001412417262523016701 0ustar glaubitzglaubitz3.0 (quilt) KCemu-0.5.1/debian/control0000644000175000017500000000367212417262523015606 0ustar glaubitzglaubitzSource: kcemu Section: contrib/otherosfs Priority: optional Maintainer: Adrian Glaubitz Build-Depends: debhelper (>> 7.0.50~), libz80ex-dev, libsdl-dev, libsndfile-dev, libvncserver-dev, libtheora-dev, libgtk2.0-dev, automake, autoconf, libxmu-dev, libncurses5-dev, netpbm, imagemagick Standards-Version: 3.9.0 Homepage: http://kcemu.sourceforge.net/ Package: kcemu Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, kcemu-common Description: KC 85/4 emulator KCemu is an emulator for the KC85 homecomputer series and other Z80 based microcomputers like Z1013, LC80, Polycomputer 880 and BIC A5105. The emulation supports a number of additional hardware, e.g. floppy disk drives and extended graphic modules. . The Debian package does not contain the ROM images required to run the emulated machines. Please refer to the README.Debian file for more information. . Some alternate keywords for the above: KC85, KC87, LC80, Z1013, A5105, Polycomputer 880 . For original programs and general information about the emulated computer systems have a look at http://www.kc-club.de/ and http://www.kc85emu.de/. Package: kcemu-common Architecture: all Depends: ${misc:Depends} Description: KC 85/4 emulator - common files KCemu is an emulator for the KC85 homecomputer series and other Z80 based microcomputers like Z1013, LC80, Polycomputer 880 and BIC A5105. The emulation supports a number of additional hardware, e.g. floppy disk drives and extended graphic modules. . This package contains files common to all architectures. . The Debian package does not contain the ROM images required to run the emulated machines. Please refer to the README.Debian file for more. . Some alternate keywords for the above: KC85, KC87, LC80, Z1013, A5105, Polycomputer 880 . For original programs and general information about the emulated computer systems have a look at http://www.kc-club.de/ and http://www.kc85emu.de/. KCemu-0.5.1/debian/dirs0000644000175000017500000000010412417262523015052 0ustar glaubitzglaubitzusr/share/applications usr/share/doc usr/share/man usr/share/pixmapsKCemu-0.5.1/debian/kcemu.install0000644000175000017500000000012512417262523016665 0ustar glaubitzglaubitzusr/bin images/*xpm /usr/share/pixmaps/ debian/kcemu.desktop /usr/share/applications/KCemu-0.5.1/debian/compat0000644000175000017500000000000212417262523015371 0ustar glaubitzglaubitz7 KCemu-0.5.1/debian/Makefile.am0000644000175000017500000000041312417262523016225 0ustar glaubitzglaubitz## Process this file with automake to produce Makefile.in EXTRA_DIST = \ changelog \ compat \ control \ copyright \ dirs \ docs \ kcemu.desktop \ kcemu.install \ kcemu.manpages \ menu \ watch \ rules \ README.source \ source/format \ patches/* KCemu-0.5.1/debian/kcemu.desktop0000644000175000017500000000033412417262523016672 0ustar glaubitzglaubitz[Desktop Entry] Name=KCemu GenericName=Emulator for KC85 and compatible computer Comment=Emulator for KC85 and compatible computer Icon=kcemu-icon Exec=kcemu -P Type=Application Terminal=false Categories=Game;Emulator; KCemu-0.5.1/debian/rules0000755000175000017500000000074012417262523015254 0ustar glaubitzglaubitz#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 override_dh_auto_configure: dh_testdir dh_auto_configure -- \ --enable-libsndfile=yes \ --enable-libaudiofile=no \ --enable-libmp3lame=no \ --enable-libvorbis=yes \ --enable-libflac=no \ --enable-libtheora=yes \ --enable-libxvidcore=no \ --enable-libdirac=no \ --enable-libschroedinger=no \ --enable-libavformat=no \ --enable-libvncserver=yes %: dh $@KCemu-0.5.1/debian/patches/0000755000175000017500000000000012417262523015622 5ustar glaubitzglaubitzKCemu-0.5.1/debian/patches/series0000644000175000017500000000000012417262523017025 0ustar glaubitzglaubitzKCemu-0.5.1/debian/kcemu-common.install0000644000175000017500000000004012417262523020147 0ustar glaubitzglaubitzusr/share/KCemu usr/share/localeKCemu-0.5.1/debian/watch0000644000175000017500000000012312417262523015220 0ustar glaubitzglaubitzversion=3 opts=dversionmangle=s/\+dfsg// \ http://sf.net/kcemu/KCemu-(.+)\.tar\.gz KCemu-0.5.1/debian/docs0000644000175000017500000000005612417262523015047 0ustar glaubitzglaubitzNEWS README README.de TODO doc/kcemurc.sample KCemu-0.5.1/debian/README.Debian0000644000175000017500000000077212417262523016242 0ustar glaubitzglaubitzkcemu for Debian ---------------- Like the Commodore 8-bit emulator vice, kcemu does not workout ROM images of the chips found inside the KC computers. Due to legal reasons these ROM images and also disk and tape images have been removed from the original tarball. Before using kcemu, you'll have to get those images on your own, please visit the upstream website http://kcemu.sourceforge.net to acquire the ROM, disk and tape images there. -- Adrian Glaubitz , 2010.06.23KCemu-0.5.1/debian/kcemu.manpages0000644000175000017500000000022712417262523017015 0ustar glaubitzglaubitzman/man1/kcemu.1x man/man1/kctape.1 man/man1/kcemu-remote.1 man/man1/kc2img.1 man/man1/kc2raw.1 man/man1/kc2tap.1 man/man1/kc2wav.1 man/man1/tdtodump.1KCemu-0.5.1/debian/copyright0000644000175000017500000000253312417262523016131 0ustar glaubitzglaubitzThis work was packaged for Debian by: Adrian Glaubitz on Thu, 25 Feb 2010 15:19:10 +0100 It was downloaded from: Upstream Author(s): Torsten Paul Copyright: Copyright (C) 1997-2010 Torsten Paul License: GPL v2 This program 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 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. On Debian systems, the complete text of the GNU General Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'. The Debian packaging is: Copyright (C) 2010 Adrian Glaubitz and is licensed under the GPL version 2, see "/usr/share/common-licenses/GPL-2". KCemu-0.5.1/debian/menu0000644000175000017500000000350612417262523015066 0ustar glaubitzglaubitz?package(kcemu):\ title="KCemu"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-kc85.xpm"\ needs="X11"\ command="/usr/bin/kcemu -P" ?package(kcemu):\ title="KCemu (KC85/5)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-kc85.xpm"\ needs="X11"\ command="/usr/bin/kcemu -5" ?package(kcemu):\ title="KCemu (KC85/4)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-kc85.xpm"\ needs="X11"\ command="/usr/bin/kcemu -4" ?package(kcemu):\ title="KCemu (KC85/3)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-kc85.xpm"\ needs="X11"\ command="/usr/bin/kcemu -3" ?package(kcemu):\ title="KCemu (KC85/2)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-kc85.xpm"\ needs="X11"\ command="/usr/bin/kcemu -2" ?package(kcemu):\ title="KCemu (KC85/1)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-kc87.xpm"\ needs="X11"\ command="/usr/bin/kcemu -1" ?package(kcemu):\ title="KCemu (KC87)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-kc87.xpm"\ needs="X11"\ command="/usr/bin/kcemu -7" ?package(kcemu):\ title="KCemu (LC80)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-lc80.xpm"\ needs="X11"\ command="/usr/bin/kcemu -8" ?package(kcemu):\ title="KCemu (Poly880)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-poly880.xpm"\ needs="X11"\ command="/usr/bin/kcemu -6" ?package(kcemu):\ title="KCemu (BIC/A5105)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-bic.xpm"\ needs="X11"\ command="/usr/bin/kcemu -9" ?package(kcemu):\ title="KCemu (Z1013)"\ section="Applications/Emulators"\ icon="/usr/share/pixmaps/kcemu-z1013.xpm"\ needs="X11"\ command="/usr/bin/kcemu -0" KCemu-0.5.1/debian/changelog0000644000175000017500000000025012417262523016042 0ustar glaubitzglaubitzkcemu (0.5.1+dfsg-1) unstable; urgency=low * Initial release. (Closes: #538914) -- Adrian Glaubitz Wed, 30 Jun 2010 16:51:49 +0200 KCemu-0.5.1/AUTHORS0000644000175000017500000000004312417262523014016 0ustar glaubitzglaubitzTorsten Paul (Torsten.Paul@gmx.de) KCemu-0.5.1/intl/0000755000175000017500000000000012417262523013717 5ustar glaubitzglaubitzKCemu-0.5.1/intl/tsearch.h0000644000175000017500000000536612417262523015533 0ustar glaubitzglaubitz/* Binary tree data structure. Copyright (C) 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _TSEARCH_H #define _TSEARCH_H #if HAVE_TSEARCH /* Get tseach(), tfind(), tdelete(), twalk() declarations. */ #include #else #ifdef __cplusplus extern "C" { #endif /* See , for details. */ typedef enum { preorder, postorder, endorder, leaf } VISIT; /* Searches an element in the tree *VROOTP that compares equal to KEY. If one is found, it is returned. Otherwise, a new element equal to KEY is inserted in the tree and is returned. */ extern void * tsearch (const void *key, void **vrootp, int (*compar) (const void *, const void *)); /* Searches an element in the tree *VROOTP that compares equal to KEY. If one is found, it is returned. Otherwise, NULL is returned. */ extern void * tfind (const void *key, void *const *vrootp, int (*compar) (const void *, const void *)); /* Searches an element in the tree *VROOTP that compares equal to KEY. If one is found, it is removed from the tree, and its parent node is returned. Otherwise, NULL is returned. */ extern void * tdelete (const void *key, void **vrootp, int (*compar) (const void *, const void *)); /* Perform a depth-first, left-to-right traversal of the tree VROOT. The ACTION function is called: - for non-leaf nodes: 3 times, before the left subtree traversal, after the left subtree traversal but before the right subtree traversal, and after the right subtree traversal, - for leaf nodes: once. The arguments passed to ACTION are: 1. the node; it can be casted to a 'const void * const *', i.e. into a pointer to the key, 2. an indicator which visit of the node this is, 3. the level of the node in the tree (0 for the root). */ extern void twalk (const void *vroot, void (*action) (const void *, VISIT, int)); #ifdef __cplusplus } #endif #endif #endif /* _TSEARCH_H */ KCemu-0.5.1/intl/config.charset0000755000175000017500000004702612417262523016553 0ustar glaubitzglaubitz#! /bin/sh # Output a system dependent table of character encoding aliases. # # Copyright (C) 2000-2004, 2006 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # The table consists of lines of the form # ALIAS CANONICAL # # ALIAS is the (system dependent) result of "nl_langinfo (CODESET)". # ALIAS is compared in a case sensitive way. # # CANONICAL is the GNU canonical name for this character encoding. # It must be an encoding supported by libiconv. Support by GNU libc is # also desirable. CANONICAL is case insensitive. Usually an upper case # MIME charset name is preferred. # The current list of GNU canonical charset names is as follows. # # name MIME? used by which systems # ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin # ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-3 Y glibc solaris # ISO-8859-4 Y osf solaris freebsd netbsd darwin # ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd darwin # ISO-8859-6 Y glibc aix hpux solaris # ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd darwin # ISO-8859-8 Y glibc aix hpux osf solaris # ISO-8859-9 Y glibc aix hpux irix osf solaris darwin # ISO-8859-13 glibc netbsd darwin # ISO-8859-14 glibc # ISO-8859-15 glibc aix osf solaris freebsd darwin # KOI8-R Y glibc solaris freebsd netbsd darwin # KOI8-U Y glibc freebsd netbsd darwin # KOI8-T glibc # CP437 dos # CP775 dos # CP850 aix osf dos # CP852 dos # CP855 dos # CP856 aix # CP857 dos # CP861 dos # CP862 dos # CP864 dos # CP865 dos # CP866 freebsd netbsd darwin dos # CP869 dos # CP874 woe32 dos # CP922 aix # CP932 aix woe32 dos # CP943 aix # CP949 osf woe32 dos # CP950 woe32 dos # CP1046 aix # CP1124 aix # CP1125 dos # CP1129 aix # CP1250 woe32 # CP1251 glibc solaris netbsd darwin woe32 # CP1252 aix woe32 # CP1253 woe32 # CP1254 woe32 # CP1255 glibc woe32 # CP1256 woe32 # CP1257 woe32 # GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin # EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin # EUC-TW glibc aix hpux irix osf solaris netbsd # BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin # BIG5-HKSCS glibc solaris # GBK glibc aix osf solaris woe32 dos # GB18030 glibc solaris netbsd # SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin # JOHAB glibc solaris woe32 # TIS-620 glibc aix hpux osf solaris # VISCII Y glibc # TCVN5712-1 glibc # GEORGIAN-PS glibc # HP-ROMAN8 hpux # HP-ARABIC8 hpux # HP-GREEK8 hpux # HP-HEBREW8 hpux # HP-TURKISH8 hpux # HP-KANA8 hpux # DEC-KANJI osf # DEC-HANYU osf # UTF-8 Y glibc aix hpux osf solaris netbsd darwin # # Note: Names which are not marked as being a MIME name should not be used in # Internet protocols for information interchange (mail, news, etc.). # # Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications # must understand both names and treat them as equivalent. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM host="$1" os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'` echo "# This file contains a table of character encoding aliases," echo "# suitable for operating system '${os}'." echo "# It was automatically generated from config.charset." # List of references, updated during installation: echo "# Packages using this file: " case "$os" in linux-gnulibc1*) # Linux libc5 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" echo "POSIX ASCII" for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \ en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \ en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \ es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \ et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \ fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \ it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \ sv_FI sv_SE; do echo "$l ISO-8859-1" echo "$l.iso-8859-1 ISO-8859-1" echo "$l.iso-8859-15 ISO-8859-15" echo "$l.iso-8859-15@euro ISO-8859-15" echo "$l@euro ISO-8859-15" echo "$l.cp-437 CP437" echo "$l.cp-850 CP850" echo "$l.cp-1252 CP1252" echo "$l.cp-1252@euro CP1252" #echo "$l.atari-st ATARI-ST" # not a commonly used encoding echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \ sl_SI sr sr_CS sr_YU; do echo "$l ISO-8859-2" echo "$l.iso-8859-2 ISO-8859-2" echo "$l.cp-852 CP852" echo "$l.cp-1250 CP1250" echo "$l.utf-8 UTF-8" done for l in mk mk_MK ru ru_RU; do echo "$l ISO-8859-5" echo "$l.iso-8859-5 ISO-8859-5" echo "$l.koi8-r KOI8-R" echo "$l.cp-866 CP866" echo "$l.cp-1251 CP1251" echo "$l.utf-8 UTF-8" done for l in ar ar_SA; do echo "$l ISO-8859-6" echo "$l.iso-8859-6 ISO-8859-6" echo "$l.cp-864 CP864" #echo "$l.cp-868 CP868" # not a commonly used encoding echo "$l.cp-1256 CP1256" echo "$l.utf-8 UTF-8" done for l in el el_GR gr gr_GR; do echo "$l ISO-8859-7" echo "$l.iso-8859-7 ISO-8859-7" echo "$l.cp-869 CP869" echo "$l.cp-1253 CP1253" echo "$l.cp-1253@euro CP1253" echo "$l.utf-8 UTF-8" echo "$l.utf-8@euro UTF-8" done for l in he he_IL iw iw_IL; do echo "$l ISO-8859-8" echo "$l.iso-8859-8 ISO-8859-8" echo "$l.cp-862 CP862" echo "$l.cp-1255 CP1255" echo "$l.utf-8 UTF-8" done for l in tr tr_TR; do echo "$l ISO-8859-9" echo "$l.iso-8859-9 ISO-8859-9" echo "$l.cp-857 CP857" echo "$l.cp-1254 CP1254" echo "$l.utf-8 UTF-8" done for l in lt lt_LT lv lv_LV; do #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name echo "$l ISO-8859-13" done for l in ru_UA uk uk_UA; do echo "$l KOI8-U" done for l in zh zh_CN; do #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name echo "$l GB2312" done for l in ja ja_JP ja_JP.EUC; do echo "$l EUC-JP" done for l in ko ko_KR; do echo "$l EUC-KR" done for l in th th_TH; do echo "$l TIS-620" done for l in fa fa_IR; do #echo "$l ISIRI-3342" # a broken encoding echo "$l.utf-8 UTF-8" done ;; linux* | *-gnu*) # With glibc-2.1 or newer, we don't need any canonicalization, # because glibc has iconv and both glibc and libiconv support all # GNU canonical names directly. Therefore, the Makefile does not # need to install the alias file at all. # The following applies only to glibc-2.0.x and older libcs. echo "ISO_646.IRV:1983 ASCII" ;; aix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "IBM-850 CP850" echo "IBM-856 CP856" echo "IBM-921 ISO-8859-13" echo "IBM-922 CP922" echo "IBM-932 CP932" echo "IBM-943 CP943" echo "IBM-1046 CP1046" echo "IBM-1124 CP1124" echo "IBM-1129 CP1129" echo "IBM-1252 CP1252" echo "IBM-eucCN GB2312" echo "IBM-eucJP EUC-JP" echo "IBM-eucKR EUC-KR" echo "IBM-eucTW EUC-TW" echo "big5 BIG5" echo "GBK GBK" echo "TIS-620 TIS-620" echo "UTF-8 UTF-8" ;; hpux*) echo "iso88591 ISO-8859-1" echo "iso88592 ISO-8859-2" echo "iso88595 ISO-8859-5" echo "iso88596 ISO-8859-6" echo "iso88597 ISO-8859-7" echo "iso88598 ISO-8859-8" echo "iso88599 ISO-8859-9" echo "iso885915 ISO-8859-15" echo "roman8 HP-ROMAN8" echo "arabic8 HP-ARABIC8" echo "greek8 HP-GREEK8" echo "hebrew8 HP-HEBREW8" echo "turkish8 HP-TURKISH8" echo "kana8 HP-KANA8" echo "tis620 TIS-620" echo "big5 BIG5" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "hp15CN GB2312" #echo "ccdc ?" # what is this? echo "SJIS SHIFT_JIS" echo "utf8 UTF-8" ;; irix*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-9 ISO-8859-9" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" ;; osf*) echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "cp850 CP850" echo "big5 BIG5" echo "dechanyu DEC-HANYU" echo "dechanzi GB2312" echo "deckanji DEC-KANJI" echo "deckorean EUC-KR" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "GBK GBK" echo "KSC5601 CP949" echo "sdeckanji EUC-JP" echo "SJIS SHIFT_JIS" echo "TACTIS TIS-620" echo "UTF-8 UTF-8" ;; solaris*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-3 ISO-8859-3" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-6 ISO-8859-6" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-8 ISO-8859-8" echo "ISO8859-9 ISO-8859-9" echo "ISO8859-15 ISO-8859-15" echo "koi8-r KOI8-R" echo "ansi-1251 CP1251" echo "BIG5 BIG5" echo "Big5-HKSCS BIG5-HKSCS" echo "gb2312 GB2312" echo "GBK GBK" echo "GB18030 GB18030" echo "cns11643 EUC-TW" echo "5601 EUC-KR" echo "ko_KR.johap92 JOHAB" echo "eucJP EUC-JP" echo "PCK SHIFT_JIS" echo "TIS620.2533 TIS-620" #echo "sun_eu_greek ?" # what is this? echo "UTF-8 UTF-8" ;; freebsd* | os2*) # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just # reuse FreeBSD's locale data for OS/2. echo "C ASCII" echo "US-ASCII ASCII" for l in la_LN lt_LN; do echo "$l.ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \ lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do echo "$l.ISO_8859-1 ISO-8859-1" echo "$l.DIS_8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do echo "$l.ISO_8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO_8859-4 ISO-8859-4" done for l in ru_RU ru_SU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO_8859-5 ISO-8859-5" echo "$l.CP866 CP866" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ja_JP.Shift_JIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; netbsd*) echo "646 ASCII" echo "ISO8859-1 ISO-8859-1" echo "ISO8859-2 ISO-8859-2" echo "ISO8859-4 ISO-8859-4" echo "ISO8859-5 ISO-8859-5" echo "ISO8859-7 ISO-8859-7" echo "ISO8859-13 ISO-8859-13" echo "ISO8859-15 ISO-8859-15" echo "eucCN GB2312" echo "eucJP EUC-JP" echo "eucKR EUC-KR" echo "eucTW EUC-TW" echo "BIG5 BIG5" echo "SJIS SHIFT_JIS" ;; darwin[56]*) # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "C ASCII" for l in en_AU en_CA en_GB en_US la_LN; do echo "$l.US-ASCII ASCII" done for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \ nl_NL no_NO pt_PT sv_SE; do echo "$l ISO-8859-1" echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in la_LN; do echo "$l.ISO8859-1 ISO-8859-1" echo "$l.ISO8859-15 ISO-8859-15" done for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do echo "$l.ISO8859-2 ISO-8859-2" done for l in la_LN lt_LT; do echo "$l.ISO8859-4 ISO-8859-4" done for l in ru_RU; do echo "$l.KOI8-R KOI8-R" echo "$l.ISO8859-5 ISO-8859-5" echo "$l.CP866 CP866" done for l in bg_BG; do echo "$l.CP1251 CP1251" done echo "uk_UA.KOI8-U KOI8-U" echo "zh_TW.BIG5 BIG5" echo "zh_TW.Big5 BIG5" echo "zh_CN.EUC GB2312" echo "ja_JP.EUC EUC-JP" echo "ja_JP.SJIS SHIFT_JIS" echo "ko_KR.EUC EUC-KR" ;; darwin*) # Darwin 7.5 has nl_langinfo(CODESET), but it is useless: # - It returns the empty string when LANG is set to a locale of the # form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8 # LC_CTYPE file. # - The environment variables LANG, LC_CTYPE, LC_ALL are not set by # the system; nl_langinfo(CODESET) returns "US-ASCII" in this case. # - The documentation says: # "... all code that calls BSD system routines should ensure # that the const *char parameters of these routines are in UTF-8 # encoding. All BSD system functions expect their string # parameters to be in UTF-8 encoding and nothing else." # It also says # "An additional caveat is that string parameters for files, # paths, and other file-system entities must be in canonical # UTF-8. In a canonical UTF-8 Unicode string, all decomposable # characters are decomposed ..." # but this is not true: You can pass non-decomposed UTF-8 strings # to file system functions, and it is the OS which will convert # them to decomposed UTF-8 before accessing the file system. # - The Apple Terminal application displays UTF-8 by default. # - However, other applications are free to use different encodings: # - xterm uses ISO-8859-1 by default. # - TextEdit uses MacRoman by default. # We prefer UTF-8 over decomposed UTF-8-MAC because one should # minimize the use of decomposed Unicode. Unfortunately, through the # Darwin file system, decomposed UTF-8 strings are leaked into user # space nevertheless. echo "* UTF-8" ;; beos*) # BeOS has a single locale, and it has UTF-8 encoding. echo "* UTF-8" ;; msdosdjgpp*) # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore # localcharset.c falls back to using the full locale name # from the environment variables. echo "#" echo "# The encodings given here may not all be correct." echo "# If you find that the encoding given for your language and" echo "# country is not the one your DOS machine actually uses, just" echo "# correct it in this file, and send a mail to" echo "# Juan Manuel Guerrero " echo "# and Bruno Haible ." echo "#" echo "C ASCII" # ISO-8859-1 languages echo "ca CP850" echo "ca_ES CP850" echo "da CP865" # not CP850 ?? echo "da_DK CP865" # not CP850 ?? echo "de CP850" echo "de_AT CP850" echo "de_CH CP850" echo "de_DE CP850" echo "en CP850" echo "en_AU CP850" # not CP437 ?? echo "en_CA CP850" echo "en_GB CP850" echo "en_NZ CP437" echo "en_US CP437" echo "en_ZA CP850" # not CP437 ?? echo "es CP850" echo "es_AR CP850" echo "es_BO CP850" echo "es_CL CP850" echo "es_CO CP850" echo "es_CR CP850" echo "es_CU CP850" echo "es_DO CP850" echo "es_EC CP850" echo "es_ES CP850" echo "es_GT CP850" echo "es_HN CP850" echo "es_MX CP850" echo "es_NI CP850" echo "es_PA CP850" echo "es_PY CP850" echo "es_PE CP850" echo "es_SV CP850" echo "es_UY CP850" echo "es_VE CP850" echo "et CP850" echo "et_EE CP850" echo "eu CP850" echo "eu_ES CP850" echo "fi CP850" echo "fi_FI CP850" echo "fr CP850" echo "fr_BE CP850" echo "fr_CA CP850" echo "fr_CH CP850" echo "fr_FR CP850" echo "ga CP850" echo "ga_IE CP850" echo "gd CP850" echo "gd_GB CP850" echo "gl CP850" echo "gl_ES CP850" echo "id CP850" # not CP437 ?? echo "id_ID CP850" # not CP437 ?? echo "is CP861" # not CP850 ?? echo "is_IS CP861" # not CP850 ?? echo "it CP850" echo "it_CH CP850" echo "it_IT CP850" echo "lt CP775" echo "lt_LT CP775" echo "lv CP775" echo "lv_LV CP775" echo "nb CP865" # not CP850 ?? echo "nb_NO CP865" # not CP850 ?? echo "nl CP850" echo "nl_BE CP850" echo "nl_NL CP850" echo "nn CP865" # not CP850 ?? echo "nn_NO CP865" # not CP850 ?? echo "no CP865" # not CP850 ?? echo "no_NO CP865" # not CP850 ?? echo "pt CP850" echo "pt_BR CP850" echo "pt_PT CP850" echo "sv CP850" echo "sv_SE CP850" # ISO-8859-2 languages echo "cs CP852" echo "cs_CZ CP852" echo "hr CP852" echo "hr_HR CP852" echo "hu CP852" echo "hu_HU CP852" echo "pl CP852" echo "pl_PL CP852" echo "ro CP852" echo "ro_RO CP852" echo "sk CP852" echo "sk_SK CP852" echo "sl CP852" echo "sl_SI CP852" echo "sq CP852" echo "sq_AL CP852" echo "sr CP852" # CP852 or CP866 or CP855 ?? echo "sr_CS CP852" # CP852 or CP866 or CP855 ?? echo "sr_YU CP852" # CP852 or CP866 or CP855 ?? # ISO-8859-3 languages echo "mt CP850" echo "mt_MT CP850" # ISO-8859-5 languages echo "be CP866" echo "be_BE CP866" echo "bg CP866" # not CP855 ?? echo "bg_BG CP866" # not CP855 ?? echo "mk CP866" # not CP855 ?? echo "mk_MK CP866" # not CP855 ?? echo "ru CP866" echo "ru_RU CP866" echo "uk CP1125" echo "uk_UA CP1125" # ISO-8859-6 languages echo "ar CP864" echo "ar_AE CP864" echo "ar_DZ CP864" echo "ar_EG CP864" echo "ar_IQ CP864" echo "ar_IR CP864" echo "ar_JO CP864" echo "ar_KW CP864" echo "ar_MA CP864" echo "ar_OM CP864" echo "ar_QA CP864" echo "ar_SA CP864" echo "ar_SY CP864" # ISO-8859-7 languages echo "el CP869" echo "el_GR CP869" # ISO-8859-8 languages echo "he CP862" echo "he_IL CP862" # ISO-8859-9 languages echo "tr CP857" echo "tr_TR CP857" # Japanese echo "ja CP932" echo "ja_JP CP932" # Chinese echo "zh_CN GBK" echo "zh_TW CP950" # not CP938 ?? # Korean echo "kr CP949" # not CP934 ?? echo "kr_KR CP949" # not CP934 ?? # Thai echo "th CP874" echo "th_TH CP874" # Other echo "eo CP850" echo "eo_EO CP850" ;; esac KCemu-0.5.1/intl/locale.alias0000644000175000017500000000510612417262523016173 0ustar glaubitzglaubitz# Locale name alias data base. # Copyright (C) 1996-2001,2003,2007 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # The format of this file is the same as for the corresponding file of # the X Window System, which normally can be found in # /usr/lib/X11/locale/locale.alias # A single line contains two fields: an alias and a substitution value. # All entries are case independent. # Note: This file is obsolete and is kept around for the time being for # backward compatibility. Nobody should rely on the names defined here. # Locales should always be specified by their full name. # Packages using this file: bokmal nb_NO.ISO-8859-1 bokmål nb_NO.ISO-8859-1 catalan ca_ES.ISO-8859-1 croatian hr_HR.ISO-8859-2 czech cs_CZ.ISO-8859-2 danish da_DK.ISO-8859-1 dansk da_DK.ISO-8859-1 deutsch de_DE.ISO-8859-1 dutch nl_NL.ISO-8859-1 eesti et_EE.ISO-8859-1 estonian et_EE.ISO-8859-1 finnish fi_FI.ISO-8859-1 français fr_FR.ISO-8859-1 french fr_FR.ISO-8859-1 galego gl_ES.ISO-8859-1 galician gl_ES.ISO-8859-1 german de_DE.ISO-8859-1 greek el_GR.ISO-8859-7 hebrew he_IL.ISO-8859-8 hrvatski hr_HR.ISO-8859-2 hungarian hu_HU.ISO-8859-2 icelandic is_IS.ISO-8859-1 italian it_IT.ISO-8859-1 japanese ja_JP.eucJP japanese.euc ja_JP.eucJP ja_JP ja_JP.eucJP ja_JP.ujis ja_JP.eucJP japanese.sjis ja_JP.SJIS korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR lithuanian lt_LT.ISO-8859-13 no_NO nb_NO.ISO-8859-1 no_NO.ISO-8859-1 nb_NO.ISO-8859-1 norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 portuguese pt_PT.ISO-8859-1 romanian ro_RO.ISO-8859-2 russian ru_RU.ISO-8859-5 slovak sk_SK.ISO-8859-2 slovene sl_SI.ISO-8859-2 slovenian sl_SI.ISO-8859-2 spanish es_ES.ISO-8859-1 swedish sv_SE.ISO-8859-1 thai th_TH.TIS-620 turkish tr_TR.ISO-8859-9 KCemu-0.5.1/intl/vasnprintf.h0000644000175000017500000000544312417262523016270 0ustar glaubitzglaubitz/* vsprintf with automatic memory allocation. Copyright (C) 2002-2004 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _VASNPRINTF_H #define _VASNPRINTF_H /* Get va_list. */ #include /* Get size_t. */ #include #ifndef __attribute__ /* This feature is available in gcc versions 2.5 and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ # define __attribute__(Spec) /* empty */ # endif /* The __-protected variants of `format' and `printf' attributes are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) # define __format__ format # define __printf__ printf # endif #endif #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(). You can pass a preallocated buffer for the result in RESULTBUF and its size in *LENGTHP; otherwise you pass RESULTBUF = NULL. If successful, return the address of the string (this may be = RESULTBUF if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. When dynamic memory allocation occurs, the preallocated buffer is left alone (with possibly modified contents). This makes it possible to use a statically allocated or stack-allocated buffer, like this: char buf[100]; size_t len = sizeof (buf); char *output = vasnprintf (buf, &len, format, args); if (output == NULL) ... error handling ...; else { ... use the output string ...; if (output != buf) free (output); } */ extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args) __attribute__ ((__format__ (__printf__, 3, 0))); #ifdef __cplusplus } #endif #endif /* _VASNPRINTF_H */ KCemu-0.5.1/intl/printf-parse.c0000644000175000017500000003306012417262523016477 0ustar glaubitzglaubitz/* Formatted output to strings. Copyright (C) 1999-2000, 2002-2003, 2006-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file can be parametrized with the following macros: CHAR_T The element type of the format string. CHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters in the format string are ASCII. DIRECTIVE Structure denoting a format directive. Depends on CHAR_T. DIRECTIVES Structure denoting the set of format directives of a format string. Depends on CHAR_T. PRINTF_PARSE Function that parses a format string. Depends on CHAR_T. STATIC Set to 'static' to declare the function static. ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. */ #ifndef PRINTF_PARSE # include #endif /* Specification. */ #ifndef PRINTF_PARSE # include "printf-parse.h" #endif /* Default parameters. */ #ifndef PRINTF_PARSE # define PRINTF_PARSE printf_parse # define CHAR_T char # define DIRECTIVE char_directive # define DIRECTIVES char_directives #endif /* Get size_t, NULL. */ #include /* Get intmax_t. */ #if defined IN_LIBINTL || defined IN_LIBASPRINTF # if HAVE_STDINT_H_WITH_UINTMAX # include # endif # if HAVE_INTTYPES_H_WITH_UINTMAX # include # endif #else # include #endif /* malloc(), realloc(), free(). */ #include /* errno. */ #include /* Checked size_t computations. */ #include "xsize.h" #if CHAR_T_ONLY_ASCII /* c_isascii(). */ # include "c-ctype.h" #endif #ifdef STATIC STATIC #endif int PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) { const CHAR_T *cp = format; /* pointer into format */ size_t arg_posn = 0; /* number of regular arguments consumed */ size_t d_allocated; /* allocated elements of d->dir */ size_t a_allocated; /* allocated elements of a->arg */ size_t max_width_length = 0; size_t max_precision_length = 0; d->count = 0; d_allocated = 1; d->dir = (DIRECTIVE *) malloc (d_allocated * sizeof (DIRECTIVE)); if (d->dir == NULL) /* Out of memory. */ goto out_of_memory_1; a->count = 0; a_allocated = 0; a->arg = NULL; #define REGISTER_ARG(_index_,_type_) \ { \ size_t n = (_index_); \ if (n >= a_allocated) \ { \ size_t memory_size; \ argument *memory; \ \ a_allocated = xtimes (a_allocated, 2); \ if (a_allocated <= n) \ a_allocated = xsum (n, 1); \ memory_size = xtimes (a_allocated, sizeof (argument)); \ if (size_overflow_p (memory_size)) \ /* Overflow, would lead to out of memory. */ \ goto out_of_memory; \ memory = (argument *) (a->arg \ ? realloc (a->arg, memory_size) \ : malloc (memory_size)); \ if (memory == NULL) \ /* Out of memory. */ \ goto out_of_memory; \ a->arg = memory; \ } \ while (a->count <= n) \ a->arg[a->count++].type = TYPE_NONE; \ if (a->arg[n].type == TYPE_NONE) \ a->arg[n].type = (_type_); \ else if (a->arg[n].type != (_type_)) \ /* Ambiguous type for positional argument. */ \ goto error; \ } while (*cp != '\0') { CHAR_T c = *cp++; if (c == '%') { size_t arg_index = ARG_NONE; DIRECTIVE *dp = &d->dir[d->count]; /* pointer to next directive */ /* Initialize the next directive. */ dp->dir_start = cp - 1; dp->flags = 0; dp->width_start = NULL; dp->width_end = NULL; dp->width_arg_index = ARG_NONE; dp->precision_start = NULL; dp->precision_end = NULL; dp->precision_arg_index = ARG_NONE; dp->arg_index = ARG_NONE; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; arg_index = n - 1; cp = np + 1; } } /* Read the flags. */ for (;;) { if (*cp == '\'') { dp->flags |= FLAG_GROUP; cp++; } else if (*cp == '-') { dp->flags |= FLAG_LEFT; cp++; } else if (*cp == '+') { dp->flags |= FLAG_SHOWSIGN; cp++; } else if (*cp == ' ') { dp->flags |= FLAG_SPACE; cp++; } else if (*cp == '#') { dp->flags |= FLAG_ALT; cp++; } else if (*cp == '0') { dp->flags |= FLAG_ZERO; cp++; } else break; } /* Parse the field width. */ if (*cp == '*') { dp->width_start = cp; cp++; dp->width_end = cp; if (max_width_length < 1) max_width_length = 1; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->width_arg_index = n - 1; cp = np + 1; } } if (dp->width_arg_index == ARG_NONE) { dp->width_arg_index = arg_posn++; if (dp->width_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->width_arg_index, TYPE_INT); } else if (*cp >= '0' && *cp <= '9') { size_t width_length; dp->width_start = cp; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->width_end = cp; width_length = dp->width_end - dp->width_start; if (max_width_length < width_length) max_width_length = width_length; } /* Parse the precision. */ if (*cp == '.') { cp++; if (*cp == '*') { dp->precision_start = cp - 1; cp++; dp->precision_end = cp; if (max_precision_length < 2) max_precision_length = 2; /* Test for positional argument. */ if (*cp >= '0' && *cp <= '9') { const CHAR_T *np; for (np = cp; *np >= '0' && *np <= '9'; np++) ; if (*np == '$') { size_t n = 0; for (np = cp; *np >= '0' && *np <= '9'; np++) n = xsum (xtimes (n, 10), *np - '0'); if (n == 0) /* Positional argument 0. */ goto error; if (size_overflow_p (n)) /* n too large, would lead to out of memory later. */ goto error; dp->precision_arg_index = n - 1; cp = np + 1; } } if (dp->precision_arg_index == ARG_NONE) { dp->precision_arg_index = arg_posn++; if (dp->precision_arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->precision_arg_index, TYPE_INT); } else { size_t precision_length; dp->precision_start = cp - 1; for (; *cp >= '0' && *cp <= '9'; cp++) ; dp->precision_end = cp; precision_length = dp->precision_end - dp->precision_start; if (max_precision_length < precision_length) max_precision_length = precision_length; } } { arg_type type; /* Parse argument type/size specifiers. */ { int flags = 0; for (;;) { if (*cp == 'h') { flags |= (1 << (flags & 1)); cp++; } else if (*cp == 'L') { flags |= 4; cp++; } else if (*cp == 'l') { flags += 8; cp++; } else if (*cp == 'j') { if (sizeof (intmax_t) > sizeof (long)) { /* intmax_t = long long */ flags += 16; } else if (sizeof (intmax_t) > sizeof (int)) { /* intmax_t = long */ flags += 8; } cp++; } else if (*cp == 'z' || *cp == 'Z') { /* 'z' is standardized in ISO C 99, but glibc uses 'Z' because the warning facility in gcc-2.95.2 understands only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */ if (sizeof (size_t) > sizeof (long)) { /* size_t = long long */ flags += 16; } else if (sizeof (size_t) > sizeof (int)) { /* size_t = long */ flags += 8; } cp++; } else if (*cp == 't') { if (sizeof (ptrdiff_t) > sizeof (long)) { /* ptrdiff_t = long long */ flags += 16; } else if (sizeof (ptrdiff_t) > sizeof (int)) { /* ptrdiff_t = long */ flags += 8; } cp++; } else break; } /* Read the conversion character. */ c = *cp++; switch (c) { case 'd': case 'i': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_LONGLONGINT; else #endif /* If 'long long' exists and is the same as 'long', we parse "lld" into TYPE_LONGINT. */ if (flags >= 8) type = TYPE_LONGINT; else if (flags & 2) type = TYPE_SCHAR; else if (flags & 1) type = TYPE_SHORT; else type = TYPE_INT; break; case 'o': case 'u': case 'x': case 'X': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_ULONGLONGINT; else #endif /* If 'unsigned long long' exists and is the same as 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ if (flags >= 8) type = TYPE_ULONGINT; else if (flags & 2) type = TYPE_UCHAR; else if (flags & 1) type = TYPE_USHORT; else type = TYPE_UINT; break; case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': if (flags >= 16 || (flags & 4)) type = TYPE_LONGDOUBLE; else type = TYPE_DOUBLE; break; case 'c': if (flags >= 8) #if HAVE_WINT_T type = TYPE_WIDE_CHAR; #else goto error; #endif else type = TYPE_CHAR; break; #if HAVE_WINT_T case 'C': type = TYPE_WIDE_CHAR; c = 'c'; break; #endif case 's': if (flags >= 8) #if HAVE_WCHAR_T type = TYPE_WIDE_STRING; #else goto error; #endif else type = TYPE_STRING; break; #if HAVE_WCHAR_T case 'S': type = TYPE_WIDE_STRING; c = 's'; break; #endif case 'p': type = TYPE_POINTER; break; case 'n': #if HAVE_LONG_LONG_INT /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_COUNT_LONGLONGINT_POINTER; else #endif /* If 'long long' exists and is the same as 'long', we parse "lln" into TYPE_COUNT_LONGINT_POINTER. */ if (flags >= 8) type = TYPE_COUNT_LONGINT_POINTER; else if (flags & 2) type = TYPE_COUNT_SCHAR_POINTER; else if (flags & 1) type = TYPE_COUNT_SHORT_POINTER; else type = TYPE_COUNT_INT_POINTER; break; #if ENABLE_UNISTDIO /* The unistdio extensions. */ case 'U': if (flags >= 16) type = TYPE_U32_STRING; else if (flags >= 8) type = TYPE_U16_STRING; else type = TYPE_U8_STRING; break; #endif case '%': type = TYPE_NONE; break; default: /* Unknown conversion character. */ goto error; } } if (type != TYPE_NONE) { dp->arg_index = arg_index; if (dp->arg_index == ARG_NONE) { dp->arg_index = arg_posn++; if (dp->arg_index == ARG_NONE) /* arg_posn wrapped around. */ goto error; } REGISTER_ARG (dp->arg_index, type); } dp->conversion = c; dp->dir_end = cp; } d->count++; if (d->count >= d_allocated) { size_t memory_size; DIRECTIVE *memory; d_allocated = xtimes (d_allocated, 2); memory_size = xtimes (d_allocated, sizeof (DIRECTIVE)); if (size_overflow_p (memory_size)) /* Overflow, would lead to out of memory. */ goto out_of_memory; memory = (DIRECTIVE *) realloc (d->dir, memory_size); if (memory == NULL) /* Out of memory. */ goto out_of_memory; d->dir = memory; } } #if CHAR_T_ONLY_ASCII else if (!c_isascii (c)) { /* Non-ASCII character. Not supported. */ goto error; } #endif } d->dir[d->count].dir_start = cp; d->max_width_length = max_width_length; d->max_precision_length = max_precision_length; return 0; error: if (a->arg) free (a->arg); if (d->dir) free (d->dir); errno = EINVAL; return -1; out_of_memory: if (a->arg) free (a->arg); if (d->dir) free (d->dir); out_of_memory_1: errno = ENOMEM; return -1; } #undef PRINTF_PARSE #undef DIRECTIVES #undef DIRECTIVE #undef CHAR_T_ONLY_ASCII #undef CHAR_T KCemu-0.5.1/intl/ref-add.sin0000644000175000017500000000210512417262523015732 0ustar glaubitzglaubitz# Add this package to a list of references stored in a text file. # # Copyright (C) 2000 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// ta :a s/ @PACKAGE@ / @PACKAGE@ / tb s/ $/ @PACKAGE@ / :b s/^/# Packages using this file:/ } KCemu-0.5.1/intl/vasnwprintf.h0000644000175000017500000000330612417262523016453 0ustar glaubitzglaubitz/* vswprintf with automatic memory allocation. Copyright (C) 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _VASNWPRINTF_H #define _VASNWPRINTF_H /* Get va_list. */ #include /* Get wchar_t, size_t. */ #include #ifdef __cplusplus extern "C" { #endif /* Write formatted output to a string dynamically allocated with malloc(). You can pass a preallocated buffer for the result in RESULTBUF and its size in *LENGTHP; otherwise you pass RESULTBUF = NULL. If successful, return the address of the string (this may be = RESULTBUF if no dynamic memory allocation was necessary) and set *LENGTHP to the number of resulting bytes, excluding the trailing NUL. Upon error, set errno and return NULL. */ extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...); extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args); #ifdef __cplusplus } #endif #endif /* _VASNWPRINTF_H */ KCemu-0.5.1/intl/version.c0000644000175000017500000000173112417262523015552 0ustar glaubitzglaubitz/* libintl library version. Copyright (C) 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "libgnuintl.h" /* Version number: (major<<16) + (minor<<8) + subminor */ int libintl_version = LIBINTL_VERSION; KCemu-0.5.1/intl/lock.h0000644000175000017500000012735612417262523015036 0ustar glaubitzglaubitz/* Locking in multithreaded situations. Copyright (C) 2005-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ /* This file contains locking primitives for use with a given thread library. It does not contain primitives for creating threads or for other synchronization primitives. Normal (non-recursive) locks: Type: gl_lock_t Declaration: gl_lock_define(extern, name) Initializer: gl_lock_define_initialized(, name) Initialization: gl_lock_init (name); Taking the lock: gl_lock_lock (name); Releasing the lock: gl_lock_unlock (name); De-initialization: gl_lock_destroy (name); Read-Write (non-recursive) locks: Type: gl_rwlock_t Declaration: gl_rwlock_define(extern, name) Initializer: gl_rwlock_define_initialized(, name) Initialization: gl_rwlock_init (name); Taking the lock: gl_rwlock_rdlock (name); gl_rwlock_wrlock (name); Releasing the lock: gl_rwlock_unlock (name); De-initialization: gl_rwlock_destroy (name); Recursive locks: Type: gl_recursive_lock_t Declaration: gl_recursive_lock_define(extern, name) Initializer: gl_recursive_lock_define_initialized(, name) Initialization: gl_recursive_lock_init (name); Taking the lock: gl_recursive_lock_lock (name); Releasing the lock: gl_recursive_lock_unlock (name); De-initialization: gl_recursive_lock_destroy (name); Once-only execution: Type: gl_once_t Initializer: gl_once_define(extern, name) Execution: gl_once (name, initfunction); */ #ifndef _LOCK_H #define _LOCK_H /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # include # include # ifdef __cplusplus extern "C" { # endif # if PTHREAD_IN_USE_DETECTION_HARD /* The pthread_in_use() detection needs to be done at runtime. */ # define pthread_in_use() \ glthread_in_use () extern int glthread_in_use (void); # endif # if USE_POSIX_THREADS_WEAK /* Use weak references to the POSIX threads library. */ /* Weak references avoid dragging in external libraries if the other parts of the program don't use them. Here we use them, because we don't want every program that uses libintl to depend on libpthread. This assumes that libpthread would not be loaded after libintl; i.e. if libintl is loaded first, by an executable that does not depend on libpthread, and then a module is dynamically loaded that depends on libpthread, libintl will not be multithread-safe. */ /* The way to test at runtime whether libpthread is present is to test whether a function pointer's value, such as &pthread_mutex_init, is non-NULL. However, some versions of GCC have a bug through which, in PIC mode, &foo != NULL always evaluates to true if there is a direct call to foo(...) in the same function. To avoid this, we test the address of a function in libpthread that we don't use. */ # pragma weak pthread_mutex_init # pragma weak pthread_mutex_lock # pragma weak pthread_mutex_unlock # pragma weak pthread_mutex_destroy # pragma weak pthread_rwlock_init # pragma weak pthread_rwlock_rdlock # pragma weak pthread_rwlock_wrlock # pragma weak pthread_rwlock_unlock # pragma weak pthread_rwlock_destroy # pragma weak pthread_once # pragma weak pthread_cond_init # pragma weak pthread_cond_wait # pragma weak pthread_cond_signal # pragma weak pthread_cond_broadcast # pragma weak pthread_cond_destroy # pragma weak pthread_mutexattr_init # pragma weak pthread_mutexattr_settype # pragma weak pthread_mutexattr_destroy # ifndef pthread_self # pragma weak pthread_self # endif # if !PTHREAD_IN_USE_DETECTION_HARD # pragma weak pthread_cancel # define pthread_in_use() (pthread_cancel != NULL) # endif # else # if !PTHREAD_IN_USE_DETECTION_HARD # define pthread_in_use() 1 # endif # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef pthread_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ PTHREAD_MUTEX_INITIALIZER # define gl_lock_init(NAME) \ do \ { \ if (pthread_in_use () && pthread_mutex_init (&NAME, NULL) != 0) \ abort (); \ } \ while (0) # define gl_lock_lock(NAME) \ do \ { \ if (pthread_in_use () && pthread_mutex_lock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_lock_unlock(NAME) \ do \ { \ if (pthread_in_use () && pthread_mutex_unlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_lock_destroy(NAME) \ do \ { \ if (pthread_in_use () && pthread_mutex_destroy (&NAME) != 0) \ abort (); \ } \ while (0) /* ------------------------- gl_rwlock_t datatype ------------------------- */ # if HAVE_PTHREAD_RWLOCK # ifdef PTHREAD_RWLOCK_INITIALIZER typedef pthread_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ PTHREAD_RWLOCK_INITIALIZER # define gl_rwlock_init(NAME) \ do \ { \ if (pthread_in_use () && pthread_rwlock_init (&NAME, NULL) != 0) \ abort (); \ } \ while (0) # define gl_rwlock_rdlock(NAME) \ do \ { \ if (pthread_in_use () && pthread_rwlock_rdlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_rwlock_wrlock(NAME) \ do \ { \ if (pthread_in_use () && pthread_rwlock_wrlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_rwlock_unlock(NAME) \ do \ { \ if (pthread_in_use () && pthread_rwlock_unlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_rwlock_destroy(NAME) \ do \ { \ if (pthread_in_use () && pthread_rwlock_destroy (&NAME) != 0) \ abort (); \ } \ while (0) # else typedef struct { int initialized; pthread_mutex_t guard; /* protects the initialization */ pthread_rwlock_t rwlock; /* read-write lock */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { 0, PTHREAD_MUTEX_INITIALIZER } # define gl_rwlock_init(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_init (&NAME); \ } \ while (0) # define gl_rwlock_rdlock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_rdlock (&NAME); \ } \ while (0) # define gl_rwlock_wrlock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_wrlock (&NAME); \ } \ while (0) # define gl_rwlock_unlock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_unlock (&NAME); \ } \ while (0) # define gl_rwlock_destroy(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_destroy (&NAME); \ } \ while (0) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); # endif # else typedef struct { pthread_mutex_t lock; /* protects the remaining fields */ pthread_cond_t waiting_readers; /* waiting readers */ pthread_cond_t waiting_writers; /* waiting writers */ unsigned int waiting_writers_count; /* number of waiting writers */ int runcount; /* number of readers running, or -1 when a writer runs */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 } # define gl_rwlock_init(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_init (&NAME); \ } \ while (0) # define gl_rwlock_rdlock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_rdlock (&NAME); \ } \ while (0) # define gl_rwlock_wrlock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_wrlock (&NAME); \ } \ while (0) # define gl_rwlock_unlock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_unlock (&NAME); \ } \ while (0) # define gl_rwlock_destroy(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_rwlock_destroy (&NAME); \ } \ while (0) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); # endif /* --------------------- gl_recursive_lock_t datatype --------------------- */ # if HAVE_PTHREAD_MUTEX_RECURSIVE # if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP typedef pthread_mutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer; # ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER # define gl_recursive_lock_initializer \ PTHREAD_RECURSIVE_MUTEX_INITIALIZER # else # define gl_recursive_lock_initializer \ PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP # endif # define gl_recursive_lock_init(NAME) \ do \ { \ if (pthread_in_use () && pthread_mutex_init (&NAME, NULL) != 0) \ abort (); \ } \ while (0) # define gl_recursive_lock_lock(NAME) \ do \ { \ if (pthread_in_use () && pthread_mutex_lock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_recursive_lock_unlock(NAME) \ do \ { \ if (pthread_in_use () && pthread_mutex_unlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_recursive_lock_destroy(NAME) \ do \ { \ if (pthread_in_use () && pthread_mutex_destroy (&NAME) != 0) \ abort (); \ } \ while (0) # else typedef struct { pthread_mutex_t recmutex; /* recursive mutex */ pthread_mutex_t guard; /* protects the initialization */ int initialized; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 } # define gl_recursive_lock_init(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_recursive_lock_init (&NAME); \ } \ while (0) # define gl_recursive_lock_lock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_recursive_lock_lock (&NAME); \ } \ while (0) # define gl_recursive_lock_unlock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_recursive_lock_unlock (&NAME); \ } \ while (0) # define gl_recursive_lock_destroy(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_recursive_lock_destroy (&NAME); \ } \ while (0) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); # endif # else /* Old versions of POSIX threads on Solaris did not have recursive locks. We have to implement them ourselves. */ typedef struct { pthread_mutex_t mutex; pthread_t owner; unsigned long depth; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 } # define gl_recursive_lock_init(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_recursive_lock_init (&NAME); \ } \ while (0) # define gl_recursive_lock_lock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_recursive_lock_lock (&NAME); \ } \ while (0) # define gl_recursive_lock_unlock(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_recursive_lock_unlock (&NAME); \ } \ while (0) # define gl_recursive_lock_destroy(NAME) \ do \ { \ if (pthread_in_use ()) \ glthread_recursive_lock_destroy (&NAME); \ } \ while (0) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); # endif /* -------------------------- gl_once_t datatype -------------------------- */ typedef pthread_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (pthread_in_use ()) \ { \ if (pthread_once (&NAME, INITFUNCTION) != 0) \ abort (); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern int glthread_once_singlethreaded (pthread_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ # include # include # ifdef __cplusplus extern "C" { # endif # if USE_PTH_THREADS_WEAK /* Use weak references to the GNU Pth threads library. */ # pragma weak pth_mutex_init # pragma weak pth_mutex_acquire # pragma weak pth_mutex_release # pragma weak pth_rwlock_init # pragma weak pth_rwlock_acquire # pragma weak pth_rwlock_release # pragma weak pth_once # pragma weak pth_cancel # define pth_in_use() (pth_cancel != NULL) # else # define pth_in_use() 1 # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef pth_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ PTH_MUTEX_INIT # define gl_lock_init(NAME) \ do \ { \ if (pth_in_use() && !pth_mutex_init (&NAME)) \ abort (); \ } \ while (0) # define gl_lock_lock(NAME) \ do \ { \ if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) \ abort (); \ } \ while (0) # define gl_lock_unlock(NAME) \ do \ { \ if (pth_in_use() && !pth_mutex_release (&NAME)) \ abort (); \ } \ while (0) # define gl_lock_destroy(NAME) \ (void)(&NAME) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef pth_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ PTH_RWLOCK_INIT # define gl_rwlock_init(NAME) \ do \ { \ if (pth_in_use() && !pth_rwlock_init (&NAME)) \ abort (); \ } \ while (0) # define gl_rwlock_rdlock(NAME) \ do \ { \ if (pth_in_use() \ && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RD, 0, NULL)) \ abort (); \ } \ while (0) # define gl_rwlock_wrlock(NAME) \ do \ { \ if (pth_in_use() \ && !pth_rwlock_acquire (&NAME, PTH_RWLOCK_RW, 0, NULL)) \ abort (); \ } \ while (0) # define gl_rwlock_unlock(NAME) \ do \ { \ if (pth_in_use() && !pth_rwlock_release (&NAME)) \ abort (); \ } \ while (0) # define gl_rwlock_destroy(NAME) \ (void)(&NAME) /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* In Pth, mutexes are recursive by default. */ typedef pth_mutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ PTH_MUTEX_INIT # define gl_recursive_lock_init(NAME) \ do \ { \ if (pth_in_use() && !pth_mutex_init (&NAME)) \ abort (); \ } \ while (0) # define gl_recursive_lock_lock(NAME) \ do \ { \ if (pth_in_use() && !pth_mutex_acquire (&NAME, 0, NULL)) \ abort (); \ } \ while (0) # define gl_recursive_lock_unlock(NAME) \ do \ { \ if (pth_in_use() && !pth_mutex_release (&NAME)) \ abort (); \ } \ while (0) # define gl_recursive_lock_destroy(NAME) \ (void)(&NAME) /* -------------------------- gl_once_t datatype -------------------------- */ typedef pth_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (pth_in_use ()) \ { \ void (*gl_once_temp) (void) = INITFUNCTION; \ if (!pth_once (&NAME, glthread_once_call, &gl_once_temp)) \ abort (); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern void glthread_once_call (void *arg); extern int glthread_once_singlethreaded (pth_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ # include # include # include # ifdef __cplusplus extern "C" { # endif # if USE_SOLARIS_THREADS_WEAK /* Use weak references to the old Solaris threads library. */ # pragma weak mutex_init # pragma weak mutex_lock # pragma weak mutex_unlock # pragma weak mutex_destroy # pragma weak rwlock_init # pragma weak rw_rdlock # pragma weak rw_wrlock # pragma weak rw_unlock # pragma weak rwlock_destroy # pragma weak thr_self # pragma weak thr_suspend # define thread_in_use() (thr_suspend != NULL) # else # define thread_in_use() 1 # endif /* -------------------------- gl_lock_t datatype -------------------------- */ typedef mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS mutex_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS mutex_t NAME = gl_lock_initializer; # define gl_lock_initializer \ DEFAULTMUTEX # define gl_lock_init(NAME) \ do \ { \ if (thread_in_use () && mutex_init (&NAME, USYNC_THREAD, NULL) != 0) \ abort (); \ } \ while (0) # define gl_lock_lock(NAME) \ do \ { \ if (thread_in_use () && mutex_lock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_lock_unlock(NAME) \ do \ { \ if (thread_in_use () && mutex_unlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_lock_destroy(NAME) \ do \ { \ if (thread_in_use () && mutex_destroy (&NAME) != 0) \ abort (); \ } \ while (0) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ DEFAULTRWLOCK # define gl_rwlock_init(NAME) \ do \ { \ if (thread_in_use () && rwlock_init (&NAME, USYNC_THREAD, NULL) != 0) \ abort (); \ } \ while (0) # define gl_rwlock_rdlock(NAME) \ do \ { \ if (thread_in_use () && rw_rdlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_rwlock_wrlock(NAME) \ do \ { \ if (thread_in_use () && rw_wrlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_rwlock_unlock(NAME) \ do \ { \ if (thread_in_use () && rw_unlock (&NAME) != 0) \ abort (); \ } \ while (0) # define gl_rwlock_destroy(NAME) \ do \ { \ if (thread_in_use () && rwlock_destroy (&NAME) != 0) \ abort (); \ } \ while (0) /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* Old Solaris threads did not have recursive locks. We have to implement them ourselves. */ typedef struct { mutex_t mutex; thread_t owner; unsigned long depth; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { DEFAULTMUTEX, (thread_t) 0, 0 } # define gl_recursive_lock_init(NAME) \ do \ { \ if (thread_in_use ()) \ glthread_recursive_lock_init (&NAME); \ } \ while (0) # define gl_recursive_lock_lock(NAME) \ do \ { \ if (thread_in_use ()) \ glthread_recursive_lock_lock (&NAME); \ } \ while (0) # define gl_recursive_lock_unlock(NAME) \ do \ { \ if (thread_in_use ()) \ glthread_recursive_lock_unlock (&NAME); \ } \ while (0) # define gl_recursive_lock_destroy(NAME) \ do \ { \ if (thread_in_use ()) \ glthread_recursive_lock_destroy (&NAME); \ } \ while (0) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ typedef struct { volatile int inited; mutex_t mutex; } gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX }; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (thread_in_use ()) \ { \ glthread_once (&NAME, INITFUNCTION); \ } \ else \ { \ if (glthread_once_singlethreaded (&NAME)) \ INITFUNCTION (); \ } \ } \ while (0) extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); extern int glthread_once_singlethreaded (gl_once_t *once_control); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if USE_WIN32_THREADS # include # ifdef __cplusplus extern "C" { # endif /* We can use CRITICAL_SECTION directly, rather than the Win32 Event, Mutex, Semaphore types, because - we need only to synchronize inside a single process (address space), not inter-process locking, - we don't need to support trylock operations. (TryEnterCriticalSection does not work on Windows 95/98/ME. Packages that need trylock usually define their own mutex type.) */ /* There is no way to statically initialize a CRITICAL_SECTION. It needs to be done lazily, once only. For this we need spinlocks. */ typedef struct { volatile int done; volatile long started; } gl_spinlock_t; /* -------------------------- gl_lock_t datatype -------------------------- */ typedef struct { gl_spinlock_t guard; /* protects the initialization */ CRITICAL_SECTION lock; } gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME = gl_lock_initializer; # define gl_lock_initializer \ { { 0, -1 } } # define gl_lock_init(NAME) \ glthread_lock_init (&NAME) # define gl_lock_lock(NAME) \ glthread_lock_lock (&NAME) # define gl_lock_unlock(NAME) \ glthread_lock_unlock (&NAME) # define gl_lock_destroy(NAME) \ glthread_lock_destroy (&NAME) extern void glthread_lock_init (gl_lock_t *lock); extern void glthread_lock_lock (gl_lock_t *lock); extern void glthread_lock_unlock (gl_lock_t *lock); extern void glthread_lock_destroy (gl_lock_t *lock); /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* It is impossible to implement read-write locks using plain locks, without introducing an extra thread dedicated to managing read-write locks. Therefore here we need to use the low-level Event type. */ typedef struct { HANDLE *array; /* array of waiting threads, each represented by an event */ unsigned int count; /* number of waiting threads */ unsigned int alloc; /* length of allocated array */ unsigned int offset; /* index of first waiting thread in array */ } gl_waitqueue_t; typedef struct { gl_spinlock_t guard; /* protects the initialization */ CRITICAL_SECTION lock; /* protects the remaining fields */ gl_waitqueue_t waiting_readers; /* waiting readers */ gl_waitqueue_t waiting_writers; /* waiting writers */ int runcount; /* number of readers running, or -1 when a writer runs */ } gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ { { 0, -1 } } # define gl_rwlock_init(NAME) \ glthread_rwlock_init (&NAME) # define gl_rwlock_rdlock(NAME) \ glthread_rwlock_rdlock (&NAME) # define gl_rwlock_wrlock(NAME) \ glthread_rwlock_wrlock (&NAME) # define gl_rwlock_unlock(NAME) \ glthread_rwlock_unlock (&NAME) # define gl_rwlock_destroy(NAME) \ glthread_rwlock_destroy (&NAME) extern void glthread_rwlock_init (gl_rwlock_t *lock); extern void glthread_rwlock_rdlock (gl_rwlock_t *lock); extern void glthread_rwlock_wrlock (gl_rwlock_t *lock); extern void glthread_rwlock_unlock (gl_rwlock_t *lock); extern void glthread_rwlock_destroy (gl_rwlock_t *lock); /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* The Win32 documentation says that CRITICAL_SECTION already implements a recursive lock. But we need not rely on it: It's easy to implement a recursive lock without this assumption. */ typedef struct { gl_spinlock_t guard; /* protects the initialization */ DWORD owner; unsigned long depth; CRITICAL_SECTION lock; } gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ { { 0, -1 }, 0, 0 } # define gl_recursive_lock_init(NAME) \ glthread_recursive_lock_init (&NAME) # define gl_recursive_lock_lock(NAME) \ glthread_recursive_lock_lock (&NAME) # define gl_recursive_lock_unlock(NAME) \ glthread_recursive_lock_unlock (&NAME) # define gl_recursive_lock_destroy(NAME) \ glthread_recursive_lock_destroy (&NAME) extern void glthread_recursive_lock_init (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_lock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock); extern void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock); /* -------------------------- gl_once_t datatype -------------------------- */ typedef struct { volatile int inited; volatile long started; CRITICAL_SECTION lock; } gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = { -1, -1 }; # define gl_once(NAME, INITFUNCTION) \ glthread_once (&NAME, INITFUNCTION) extern void glthread_once (gl_once_t *once_control, void (*initfunction) (void)); # ifdef __cplusplus } # endif #endif /* ========================================================================= */ #if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WIN32_THREADS) /* Provide dummy implementation if threads are not supported. */ /* -------------------------- gl_lock_t datatype -------------------------- */ typedef int gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) # define gl_lock_define_initialized(STORAGECLASS, NAME) # define gl_lock_init(NAME) # define gl_lock_lock(NAME) # define gl_lock_unlock(NAME) /* ------------------------- gl_rwlock_t datatype ------------------------- */ typedef int gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) # define gl_rwlock_define_initialized(STORAGECLASS, NAME) # define gl_rwlock_init(NAME) # define gl_rwlock_rdlock(NAME) # define gl_rwlock_wrlock(NAME) # define gl_rwlock_unlock(NAME) /* --------------------- gl_recursive_lock_t datatype --------------------- */ typedef int gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) # define gl_recursive_lock_init(NAME) # define gl_recursive_lock_lock(NAME) # define gl_recursive_lock_unlock(NAME) /* -------------------------- gl_once_t datatype -------------------------- */ typedef int gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ STORAGECLASS gl_once_t NAME = 0; # define gl_once(NAME, INITFUNCTION) \ do \ { \ if (NAME == 0) \ { \ NAME = ~ 0; \ INITFUNCTION (); \ } \ } \ while (0) #endif /* ========================================================================= */ #endif /* _LOCK_H */ KCemu-0.5.1/intl/plural.c0000644000175000017500000014212012417262523015362 0ustar glaubitzglaubitz/* A Bison parser, made by GNU Bison 2.3a. */ /* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program 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. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.3a" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Using locations. */ #define YYLSP_NEEDED 0 /* Substitute the variable and function names. */ #define yyparse __gettextparse #define yylex __gettextlex #define yyerror __gettexterror #define yylval __gettextlval #define yychar __gettextchar #define yydebug __gettextdebug #define yynerrs __gettextnerrs /* Copy the first part of user declarations. */ /* Line 164 of yacc.c. */ #line 1 "plural.y" /* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005-2006 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us to put this declaration at the beginning of the file. The declaration in bison's skeleton file comes too late. This must come before because may include arbitrary system headers. This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ #if defined _AIX && !defined __GNUC__ #pragma alloca #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" /* The main function generated by the parser is called __gettextparse, but we want it to be called PLURAL_PARSE. */ #ifndef _LIBC # define __gettextparse PLURAL_PARSE #endif #define YYLEX_PARAM &((struct parse_args *) arg)->cp #define YYPARSE_PARAM arg /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { EQUOP2 = 258, CMPOP2 = 259, ADDOP2 = 260, MULOP2 = 261, NUMBER = 262 }; #endif /* Tokens. */ #define EQUOP2 258 #define CMPOP2 259 #define ADDOP2 260 #define MULOP2 261 #define NUMBER 262 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE {/* Line 191 of yacc.c. */ #line 51 "plural.y" unsigned long int num; enum expression_operator op; struct expression *exp; } /* Line 191 of yacc.c. */ #line 175 "plural.c" YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif /* Copy the second part of user declarations. */ /* Line 221 of yacc.c. */ #line 57 "plural.y" /* Prototypes for local functions. */ static int yylex (YYSTYPE *lval, const char **pexp); static void yyerror (const char *str); /* Allocation of expressions. */ static struct expression * new_exp (int nargs, enum expression_operator op, struct expression * const *args) { int i; struct expression *newp; /* If any of the argument could not be malloc'ed, just return NULL. */ for (i = nargs - 1; i >= 0; i--) if (args[i] == NULL) goto fail; /* Allocate a new expression. */ newp = (struct expression *) malloc (sizeof (*newp)); if (newp != NULL) { newp->nargs = nargs; newp->operation = op; for (i = nargs - 1; i >= 0; i--) newp->val.args[i] = args[i]; return newp; } fail: for (i = nargs - 1; i >= 0; i--) FREE_EXPRESSION (args[i]); return NULL; } static inline struct expression * new_exp_0 (enum expression_operator op) { return new_exp (0, op, NULL); } static inline struct expression * new_exp_1 (enum expression_operator op, struct expression *right) { struct expression *args[1]; args[0] = right; return new_exp (1, op, args); } static struct expression * new_exp_2 (enum expression_operator op, struct expression *left, struct expression *right) { struct expression *args[2]; args[0] = left; args[1] = right; return new_exp (2, op, args); } static inline struct expression * new_exp_3 (enum expression_operator op, struct expression *bexp, struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; args[0] = bexp; args[1] = tbranch; args[2] = fbranch; return new_exp (3, op, args); } /* Line 221 of yacc.c. */ #line 265 "plural.c" #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #elif (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) typedef signed char yytype_int8; #else typedef short int yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(e) ((void) (e)) #else # define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint # define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int YYID (int yyi) #else static int YYID (yyi) int yyi; #endif { return yyi; } #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss; YYSTYPE yyvs; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (0)) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0)) #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 9 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 54 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 16 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 3 /* YYNRULES -- Number of rules. */ #define YYNRULES 13 /* YYNRULES -- Number of states. */ #define YYNSTATES 27 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 262 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 2, 2, 2, 2, 5, 2, 14, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 6, 7, 8, 9, 11 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const yytype_uint8 yyprhs[] = { 0, 0, 3, 5, 11, 15, 19, 23, 27, 31, 35, 38, 40, 42 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { 17, 0, -1, 18, -1, 18, 3, 18, 12, 18, -1, 18, 4, 18, -1, 18, 5, 18, -1, 18, 6, 18, -1, 18, 7, 18, -1, 18, 8, 18, -1, 18, 9, 18, -1, 10, 18, -1, 13, -1, 11, -1, 14, 18, 15, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { 0, 154, 154, 162, 166, 170, 174, 178, 182, 186, 190, 194, 198, 203 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2", "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'", "$accept", "start", "exp", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 63, 124, 38, 258, 259, 260, 261, 33, 262, 58, 110, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 5, 3, 3, 3, 3, 3, 3, 2, 1, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 0, 0, 12, 11, 0, 0, 2, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 13, 0, 4, 5, 6, 7, 8, 9, 0, 3 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 5, 6 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -10 static const yytype_int8 yypact[] = { -9, -9, -10, -10, -9, 8, 36, -10, 13, -10, -9, -9, -9, -9, -9, -9, -9, -10, 26, 41, 45, 18, -2, 14, -10, -9, 36 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -10, -10, -1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { 7, 1, 2, 8, 3, 4, 15, 16, 9, 18, 19, 20, 21, 22, 23, 24, 10, 11, 12, 13, 14, 15, 16, 16, 26, 14, 15, 16, 17, 10, 11, 12, 13, 14, 15, 16, 0, 0, 25, 10, 11, 12, 13, 14, 15, 16, 12, 13, 14, 15, 16, 13, 14, 15, 16 }; static const yytype_int8 yycheck[] = { 1, 10, 11, 4, 13, 14, 8, 9, 0, 10, 11, 12, 13, 14, 15, 16, 3, 4, 5, 6, 7, 8, 9, 9, 25, 7, 8, 9, 15, 3, 4, 5, 6, 7, 8, 9, -1, -1, 12, 3, 4, 5, 6, 7, 8, 9, 5, 6, 7, 8, 9, 6, 7, 8, 9 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 10, 11, 13, 14, 17, 18, 18, 18, 0, 3, 4, 5, 6, 7, 8, 9, 15, 18, 18, 18, 18, 18, 18, 18, 12, 18 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0)) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0)) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) #else # define YYLEX yylex (&yylval) #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (YYID (0)) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (YYID (0)) /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_value_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # else YYUSE (yyoutput); # endif switch (yytype) { default: break; } } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void yy_stack_print (yybottom, yytop) yytype_int16 *yybottom; yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_reduce_print (YYSTYPE *yyvsp, int yyrule) #else static void yy_reduce_print (yyvsp, yyrule) YYSTYPE *yyvsp; int yyrule; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { fprintf (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); fprintf (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyvsp, Rule); \ } while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) #else static YYSIZE_T yystrlen (yystr) const char *yystr; #endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) #else static char * yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; #endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; else { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; # if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; if (yysize_overflow) return YYSIZE_MAXIMUM; if (yyresult) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf) != '\0') { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void yydestruct (yymsg, yytype, yyvaluep) const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif { YYUSE (yyvaluep); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); #else int yyparse (); #endif #else /* ! YYPARSE_PARAM */ #if defined __STDC__ || defined __cplusplus int yyparse (void); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /*----------. | yyparse. | `----------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void *YYPARSE_PARAM) #else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void) #else int yyparse () #endif #endif { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; int yystate; int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif /* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss = yyssa; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; YYSTYPE *yyvsp; #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: /* Line 1269 of yacc.c. */ #line 155 "plural.y" { if ((yyvsp[(1) - (1)].exp) == NULL) YYABORT; ((struct parse_args *) arg)->res = (yyvsp[(1) - (1)].exp); } break; case 3: /* Line 1269 of yacc.c. */ #line 163 "plural.y" { (yyval.exp) = new_exp_3 (qmop, (yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].exp), (yyvsp[(5) - (5)].exp)); } break; case 4: /* Line 1269 of yacc.c. */ #line 167 "plural.y" { (yyval.exp) = new_exp_2 (lor, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); } break; case 5: /* Line 1269 of yacc.c. */ #line 171 "plural.y" { (yyval.exp) = new_exp_2 (land, (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); } break; case 6: /* Line 1269 of yacc.c. */ #line 175 "plural.y" { (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); } break; case 7: /* Line 1269 of yacc.c. */ #line 179 "plural.y" { (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); } break; case 8: /* Line 1269 of yacc.c. */ #line 183 "plural.y" { (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); } break; case 9: /* Line 1269 of yacc.c. */ #line 187 "plural.y" { (yyval.exp) = new_exp_2 ((yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].exp)); } break; case 10: /* Line 1269 of yacc.c. */ #line 191 "plural.y" { (yyval.exp) = new_exp_1 (lnot, (yyvsp[(2) - (2)].exp)); } break; case 11: /* Line 1269 of yacc.c. */ #line 195 "plural.y" { (yyval.exp) = new_exp_0 (var); } break; case 12: /* Line 1269 of yacc.c. */ #line 199 "plural.y" { if (((yyval.exp) = new_exp_0 (num)) != NULL) (yyval.exp)->val.num = (yyvsp[(1) - (1)].num); } break; case 13: /* Line 1269 of yacc.c. */ #line 204 "plural.y" { (yyval.exp) = (yyvsp[(2) - (3)].exp); } break; /* Line 1269 of yacc.c. */ #line 1572 "plural.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else { YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { YYSIZE_T yyalloc = 2 * yysize; if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) yyalloc = YYSTACK_ALLOC_MAXIMUM; if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yyalloc); if (yymsg) yymsg_alloc = yyalloc; else { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; } } if (0 < yysize && yysize <= yymsg_alloc) { (void) yysyntax_error (yymsg, yystate, yychar); yyerror (yymsg); } else { yyerror (YY_("syntax error")); if (yysize != 0) goto yyexhaustedlab; } } #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #ifndef yyoverflow /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif /* Make sure YYID is used. */ return YYID (yyresult); } /* Line 1486 of yacc.c. */ #line 209 "plural.y" void internal_function FREE_EXPRESSION (struct expression *exp) { if (exp == NULL) return; /* Handle the recursive case. */ switch (exp->nargs) { case 3: FREE_EXPRESSION (exp->val.args[2]); /* FALLTHROUGH */ case 2: FREE_EXPRESSION (exp->val.args[1]); /* FALLTHROUGH */ case 1: FREE_EXPRESSION (exp->val.args[0]); /* FALLTHROUGH */ default: break; } free (exp); } static int yylex (YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; while (1) { if (exp[0] == '\0') { *pexp = exp; return YYEOF; } if (exp[0] != ' ' && exp[0] != '\t') break; ++exp; } result = *exp++; switch (result) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { unsigned long int n = result - '0'; while (exp[0] >= '0' && exp[0] <= '9') { n *= 10; n += exp[0] - '0'; ++exp; } lval->num = n; result = NUMBER; } break; case '=': if (exp[0] == '=') { ++exp; lval->op = equal; result = EQUOP2; } else result = YYERRCODE; break; case '!': if (exp[0] == '=') { ++exp; lval->op = not_equal; result = EQUOP2; } break; case '&': case '|': if (exp[0] == result) ++exp; else result = YYERRCODE; break; case '<': if (exp[0] == '=') { ++exp; lval->op = less_or_equal; } else lval->op = less_than; result = CMPOP2; break; case '>': if (exp[0] == '=') { ++exp; lval->op = greater_or_equal; } else lval->op = greater_than; result = CMPOP2; break; case '*': lval->op = mult; result = MULOP2; break; case '/': lval->op = divide; result = MULOP2; break; case '%': lval->op = module; result = MULOP2; break; case '+': lval->op = plus; result = ADDOP2; break; case '-': lval->op = minus; result = ADDOP2; break; case 'n': case '?': case ':': case '(': case ')': /* Nothing, just return the character. */ break; case ';': case '\n': case '\0': /* Be safe and let the user call this function again. */ --exp; result = YYEOF; break; default: result = YYERRCODE; #if YYDEBUG != 0 --exp; #endif break; } *pexp = exp; return result; } static void yyerror (const char *str) { /* Do nothing. We don't print error messages here. */ } KCemu-0.5.1/intl/vasnprintf.c0000644000175000017500000035070312417262523016265 0ustar glaubitzglaubitz/* vsprintf with automatic memory allocation. Copyright (C) 1999, 2002-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file can be parametrized with the following macros: VASNPRINTF The name of the function being defined. FCHAR_T The element type of the format string. DCHAR_T The element type of the destination (result) string. FCHAR_T_ONLY_ASCII Set to 1 to enable verification that all characters in the format string are ASCII. MUST be set if FCHAR_T and DCHAR_T are not the same type. DIRECTIVE Structure denoting a format directive. Depends on FCHAR_T. DIRECTIVES Structure denoting the set of format directives of a format string. Depends on FCHAR_T. PRINTF_PARSE Function that parses a format string. Depends on FCHAR_T. DCHAR_CPY memcpy like function for DCHAR_T[] arrays. DCHAR_SET memset like function for DCHAR_T[] arrays. DCHAR_MBSNLEN mbsnlen like function for DCHAR_T[] arrays. SNPRINTF The system's snprintf (or similar) function. This may be either snprintf or swprintf. TCHAR_T The element type of the argument and result string of the said SNPRINTF function. This may be either char or wchar_t. The code exploits that sizeof (TCHAR_T) | sizeof (DCHAR_T) and alignof (TCHAR_T) <= alignof (DCHAR_T). DCHAR_IS_TCHAR Set to 1 if DCHAR_T and TCHAR_T are the same type. DCHAR_CONV_FROM_ENCODING A function to convert from char[] to DCHAR[]. DCHAR_IS_UINT8_T Set to 1 if DCHAR_T is uint8_t. DCHAR_IS_UINT16_T Set to 1 if DCHAR_T is uint16_t. DCHAR_IS_UINT32_T Set to 1 if DCHAR_T is uint32_t. */ /* Tell glibc's to provide a prototype for snprintf(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifndef VASNPRINTF # include #endif #ifndef IN_LIBINTL # include #endif /* Specification. */ #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # include "vasnwprintf.h" # else # include "vasnprintf.h" # endif #endif #include /* localeconv() */ #include /* snprintf(), sprintf() */ #include /* abort(), malloc(), realloc(), free() */ #include /* memcpy(), strlen() */ #include /* errno */ #include /* CHAR_BIT */ #include /* DBL_MAX_EXP, LDBL_MAX_EXP */ #if HAVE_NL_LANGINFO # include #endif #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # include "wprintf-parse.h" # else # include "printf-parse.h" # endif #endif /* Checked size_t computations. */ #include "xsize.h" #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL # include # include "float+.h" #endif #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL # include # include "isnan.h" #endif #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL # include # include "isnanl-nolibm.h" # include "fpucw.h" #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL # include # include "isnan.h" # include "printf-frexp.h" #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL # include # include "isnanl-nolibm.h" # include "printf-frexpl.h" # include "fpucw.h" #endif /* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */ #ifndef EOVERFLOW # define EOVERFLOW E2BIG #endif #if HAVE_WCHAR_T # if HAVE_WCSLEN # define local_wcslen wcslen # else /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid a dependency towards this library, here is a local substitute. Define this substitute only once, even if this file is included twice in the same compilation unit. */ # ifndef local_wcslen_defined # define local_wcslen_defined 1 static size_t local_wcslen (const wchar_t *s) { const wchar_t *ptr; for (ptr = s; *ptr != (wchar_t) 0; ptr++) ; return ptr - s; } # endif # endif #endif /* Default parameters. */ #ifndef VASNPRINTF # if WIDE_CHAR_VERSION # define VASNPRINTF vasnwprintf # define FCHAR_T wchar_t # define DCHAR_T wchar_t # define TCHAR_T wchar_t # define DCHAR_IS_TCHAR 1 # define DIRECTIVE wchar_t_directive # define DIRECTIVES wchar_t_directives # define PRINTF_PARSE wprintf_parse # define DCHAR_CPY wmemcpy # else # define VASNPRINTF vasnprintf # define FCHAR_T char # define DCHAR_T char # define TCHAR_T char # define DCHAR_IS_TCHAR 1 # define DIRECTIVE char_directive # define DIRECTIVES char_directives # define PRINTF_PARSE printf_parse # define DCHAR_CPY memcpy # endif #endif #if WIDE_CHAR_VERSION /* TCHAR_T is wchar_t. */ # define USE_SNPRINTF 1 # if HAVE_DECL__SNWPRINTF /* On Windows, the function swprintf() has a different signature than on Unix; we use the _snwprintf() function instead. */ # define SNPRINTF _snwprintf # else /* Unix. */ # define SNPRINTF swprintf # endif #else /* TCHAR_T is char. */ # /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'. But don't use it on BeOS, since BeOS snprintf produces no output if the size argument is >= 0x3000000. */ # if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ # define USE_SNPRINTF 1 # else # define USE_SNPRINTF 0 # endif # if HAVE_DECL__SNPRINTF /* Windows. */ # define SNPRINTF _snprintf # else /* Unix. */ # define SNPRINTF snprintf /* Here we need to call the native snprintf, not rpl_snprintf. */ # undef snprintf # endif #endif /* Here we need to call the native sprintf, not rpl_sprintf. */ #undef sprintf #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL /* Determine the decimal-point character according to the current locale. */ # ifndef decimal_point_char_defined # define decimal_point_char_defined 1 static char decimal_point_char () { const char *point; /* Determine it in a multithread-safe way. We know nl_langinfo is multithread-safe on glibc systems, but is not required to be multithread- safe by POSIX. sprintf(), however, is multithread-safe. localeconv() is rarely multithread-safe. */ # if HAVE_NL_LANGINFO && __GLIBC__ point = nl_langinfo (RADIXCHAR); # elif 1 char pointbuf[5]; sprintf (pointbuf, "%#.0f", 1.0); point = &pointbuf[1]; # else point = localeconv () -> decimal_point; # endif /* The decimal point is always a single byte: either '.' or ','. */ return (point[0] != '\0' ? point[0] : '.'); } # endif #endif #if NEED_PRINTF_INFINITE_DOUBLE && !NEED_PRINTF_DOUBLE && !defined IN_LIBINTL /* Equivalent to !isfinite(x) || x == 0, but does not require libm. */ static int is_infinite_or_zero (double x) { return isnan (x) || x + x == x; } #endif #if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL /* Equivalent to !isfinite(x), but does not require libm. */ static int is_infinitel (long double x) { return isnanl (x) || (x + x == x && x != 0.0L); } #endif #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL /* Converting 'long double' to decimal without rare rounding bugs requires real bignums. We use the naming conventions of GNU gmp, but vastly simpler (and slower) algorithms. */ typedef unsigned int mp_limb_t; # define GMP_LIMB_BITS 32 typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1]; typedef unsigned long long mp_twolimb_t; # define GMP_TWOLIMB_BITS 64 typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1]; /* Representation of a bignum >= 0. */ typedef struct { size_t nlimbs; mp_limb_t *limbs; /* Bits in little-endian order, allocated with malloc(). */ } mpn_t; /* Compute the product of two bignums >= 0. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * multiply (mpn_t src1, mpn_t src2, mpn_t *dest) { const mp_limb_t *p1; const mp_limb_t *p2; size_t len1; size_t len2; if (src1.nlimbs <= src2.nlimbs) { len1 = src1.nlimbs; p1 = src1.limbs; len2 = src2.nlimbs; p2 = src2.limbs; } else { len1 = src2.nlimbs; p1 = src2.limbs; len2 = src1.nlimbs; p2 = src1.limbs; } /* Now 0 <= len1 <= len2. */ if (len1 == 0) { /* src1 or src2 is zero. */ dest->nlimbs = 0; dest->limbs = (mp_limb_t *) malloc (1); } else { /* Here 1 <= len1 <= len2. */ size_t dlen; mp_limb_t *dp; size_t k, i, j; dlen = len1 + len2; dp = (mp_limb_t *) malloc (dlen * sizeof (mp_limb_t)); if (dp == NULL) return NULL; for (k = len2; k > 0; ) dp[--k] = 0; for (i = 0; i < len1; i++) { mp_limb_t digit1 = p1[i]; mp_twolimb_t carry = 0; for (j = 0; j < len2; j++) { mp_limb_t digit2 = p2[j]; carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; carry += dp[i + j]; dp[i + j] = (mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; } dp[i + len2] = (mp_limb_t) carry; } /* Normalise. */ while (dlen > 0 && dp[dlen - 1] == 0) dlen--; dest->nlimbs = dlen; dest->limbs = dp; } return dest->limbs; } /* Compute the quotient of a bignum a >= 0 and a bignum b > 0. a is written as a = q * b + r with 0 <= r < b. q is the quotient, r the remainder. Finally, round-to-even is performed: If r > b/2 or if r = b/2 and q is odd, q is incremented. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * divide (mpn_t a, mpn_t b, mpn_t *q) { /* Algorithm: First normalise a and b: a=[a[m-1],...,a[0]], b=[b[n-1],...,b[0]] with m>=0 and n>0 (in base beta = 2^GMP_LIMB_BITS). If m=n=1, perform a single-precision division: r:=0, j:=m, while j>0 do {Here (q[m-1]*beta^(m-1)+...+q[j]*beta^j) * b[0] + r*beta^j = = a[m-1]*beta^(m-1)+...+a[j]*beta^j und 0<=r=n>1, perform a multiple-precision division: We have a/b < beta^(m-n+1). s:=intDsize-1-(hightest bit in b[n-1]), 0<=s=beta/2. For j=m-n,...,0: {Here 0 <= r < b*beta^(j+1).} Compute q* : q* := floor((r[j+n]*beta+r[j+n-1])/b[n-1]). In case of overflow (q* >= beta) set q* := beta-1. Compute c2 := ((r[j+n]*beta+r[j+n-1]) - q* * b[n-1])*beta + r[j+n-2] and c3 := b[n-2] * q*. {We have 0 <= c2 < 2*beta^2, even 0 <= c2 < beta^2 if no overflow occurred. Furthermore 0 <= c3 < beta^2. If there was overflow and r[j+n]*beta+r[j+n-1] - q* * b[n-1] >= beta, i.e. c2 >= beta^2, the next test can be skipped.} While c3 > c2, {Here 0 <= c2 < c3 < beta^2} Put q* := q* - 1, c2 := c2 + b[n-1]*beta, c3 := c3 - b[n-2]. If q* > 0: Put r := r - b * q* * beta^j. In detail: [r[n+j],...,r[j]] := [r[n+j],...,r[j]] - q* * [b[n-1],...,b[0]]. hence: u:=0, for i:=0 to n-1 do u := u + q* * b[i], r[j+i]:=r[j+i]-(u mod beta) (+ beta, if carry), u:=u div beta (+ 1, if carry in subtraction) r[n+j]:=r[n+j]-u. {Since always u = (q* * [b[i-1],...,b[0]] div beta^i) + 1 < q* + 1 <= beta, the carry u does not overflow.} If a negative carry occurs, put q* := q* - 1 and [r[n+j],...,r[j]] := [r[n+j],...,r[j]] + [0,b[n-1],...,b[0]]. Set q[j] := q*. Normalise [q[m-n],..,q[0]]; this yields the quotient q. Shift [r[n-1],...,r[0]] right by s bits and normalise; this yields the rest r. The room for q[j] can be allocated at the memory location of r[n+j]. Finally, round-to-even: Shift r left by 1 bit. If r > b or if r = b and q[0] is odd, q := q+1. */ const mp_limb_t *a_ptr = a.limbs; size_t a_len = a.nlimbs; const mp_limb_t *b_ptr = b.limbs; size_t b_len = b.nlimbs; mp_limb_t *roomptr; mp_limb_t *tmp_roomptr = NULL; mp_limb_t *q_ptr; size_t q_len; mp_limb_t *r_ptr; size_t r_len; /* Allocate room for a_len+2 digits. (Need a_len+1 digits for the real division and 1 more digit for the final rounding of q.) */ roomptr = (mp_limb_t *) malloc ((a_len + 2) * sizeof (mp_limb_t)); if (roomptr == NULL) return NULL; /* Normalise a. */ while (a_len > 0 && a_ptr[a_len - 1] == 0) a_len--; /* Normalise b. */ for (;;) { if (b_len == 0) /* Division by zero. */ abort (); if (b_ptr[b_len - 1] == 0) b_len--; else break; } /* Here m = a_len >= 0 and n = b_len > 0. */ if (a_len < b_len) { /* m beta^(m-2) <= a/b < beta^m */ r_ptr = roomptr; q_ptr = roomptr + 1; { mp_limb_t den = b_ptr[0]; mp_limb_t remainder = 0; const mp_limb_t *sourceptr = a_ptr + a_len; mp_limb_t *destptr = q_ptr + a_len; size_t count; for (count = a_len; count > 0; count--) { mp_twolimb_t num = ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--sourceptr; *--destptr = num / den; remainder = num % den; } /* Normalise and store r. */ if (remainder > 0) { r_ptr[0] = remainder; r_len = 1; } else r_len = 0; /* Normalise q. */ q_len = a_len; if (q_ptr[q_len - 1] == 0) q_len--; } } else { /* n>1: multiple precision division. beta^(m-1) <= a < beta^m, beta^(n-1) <= b < beta^n ==> beta^(m-n-1) <= a/b < beta^(m-n+1). */ /* Determine s. */ size_t s; { mp_limb_t msd = b_ptr[b_len - 1]; /* = b[n-1], > 0 */ s = 31; if (msd >= 0x10000) { msd = msd >> 16; s -= 16; } if (msd >= 0x100) { msd = msd >> 8; s -= 8; } if (msd >= 0x10) { msd = msd >> 4; s -= 4; } if (msd >= 0x4) { msd = msd >> 2; s -= 2; } if (msd >= 0x2) { msd = msd >> 1; s -= 1; } } /* 0 <= s < GMP_LIMB_BITS. Copy b, shifting it left by s bits. */ if (s > 0) { tmp_roomptr = (mp_limb_t *) malloc (b_len * sizeof (mp_limb_t)); if (tmp_roomptr == NULL) { free (roomptr); return NULL; } { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = tmp_roomptr; mp_twolimb_t accu = 0; size_t count; for (count = b_len; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } /* accu must be zero, since that was how s was determined. */ if (accu != 0) abort (); } b_ptr = tmp_roomptr; } /* Copy a, shifting it left by s bits, yields r. Memory layout: At the beginning: r = roomptr[0..a_len], at the end: r = roomptr[0..b_len-1], q = roomptr[b_len..a_len] */ r_ptr = roomptr; if (s == 0) { memcpy (r_ptr, a_ptr, a_len * sizeof (mp_limb_t)); r_ptr[a_len] = 0; } else { const mp_limb_t *sourceptr = a_ptr; mp_limb_t *destptr = r_ptr; mp_twolimb_t accu = 0; size_t count; for (count = a_len; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } *destptr++ = (mp_limb_t) accu; } q_ptr = roomptr + b_len; q_len = a_len - b_len + 1; /* q will have m-n+1 limbs */ { size_t j = a_len - b_len; /* m-n */ mp_limb_t b_msd = b_ptr[b_len - 1]; /* b[n-1] */ mp_limb_t b_2msd = b_ptr[b_len - 2]; /* b[n-2] */ mp_twolimb_t b_msdd = /* b[n-1]*beta+b[n-2] */ ((mp_twolimb_t) b_msd << GMP_LIMB_BITS) | b_2msd; /* Division loop, traversed m-n+1 times. j counts down, b is unchanged, beta/2 <= b[n-1] < beta. */ for (;;) { mp_limb_t q_star; mp_limb_t c1; if (r_ptr[j + b_len] < b_msd) /* r[j+n] < b[n-1] ? */ { /* Divide r[j+n]*beta+r[j+n-1] by b[n-1], no overflow. */ mp_twolimb_t num = ((mp_twolimb_t) r_ptr[j + b_len] << GMP_LIMB_BITS) | r_ptr[j + b_len - 1]; q_star = num / b_msd; c1 = num % b_msd; } else { /* Overflow, hence r[j+n]*beta+r[j+n-1] >= beta*b[n-1]. */ q_star = (mp_limb_t)~(mp_limb_t)0; /* q* = beta-1 */ /* Test whether r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] >= beta <==> r[j+n]*beta+r[j+n-1] + b[n-1] >= beta*b[n-1]+beta <==> b[n-1] < floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) {<= beta !}. If yes, jump directly to the subtraction loop. (Otherwise, r[j+n]*beta+r[j+n-1] - (beta-1)*b[n-1] < beta <==> floor((r[j+n]*beta+r[j+n-1]+b[n-1])/beta) = b[n-1] ) */ if (r_ptr[j + b_len] > b_msd || (c1 = r_ptr[j + b_len - 1] + b_msd) < b_msd) /* r[j+n] >= b[n-1]+1 or r[j+n] = b[n-1] and the addition r[j+n-1]+b[n-1] gives a carry. */ goto subtract; } /* q_star = q*, c1 = (r[j+n]*beta+r[j+n-1]) - q* * b[n-1] (>=0, 0, decrease it by b[n-1]*beta+b[n-2]. Because of b[n-1]*beta+b[n-2] >= beta^2/2 this can happen only twice. */ if (c3 > c2) { q_star = q_star - 1; /* q* := q* - 1 */ if (c3 - c2 > b_msdd) q_star = q_star - 1; /* q* := q* - 1 */ } } if (q_star > 0) subtract: { /* Subtract r := r - b * q* * beta^j. */ mp_limb_t cr; { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = r_ptr + j; mp_twolimb_t carry = 0; size_t count; for (count = b_len; count > 0; count--) { /* Here 0 <= carry <= q*. */ carry = carry + (mp_twolimb_t) q_star * (mp_twolimb_t) *sourceptr++ + (mp_limb_t) ~(*destptr); /* Here 0 <= carry <= beta*q* + beta-1. */ *destptr++ = ~(mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; /* <= q* */ } cr = (mp_limb_t) carry; } /* Subtract cr from r_ptr[j + b_len], then forget about r_ptr[j + b_len]. */ if (cr > r_ptr[j + b_len]) { /* Subtraction gave a carry. */ q_star = q_star - 1; /* q* := q* - 1 */ /* Add b back. */ { const mp_limb_t *sourceptr = b_ptr; mp_limb_t *destptr = r_ptr + j; mp_limb_t carry = 0; size_t count; for (count = b_len; count > 0; count--) { mp_limb_t source1 = *sourceptr++; mp_limb_t source2 = *destptr; *destptr++ = source1 + source2 + carry; carry = (carry ? source1 >= (mp_limb_t) ~source2 : source1 > (mp_limb_t) ~source2); } } /* Forget about the carry and about r[j+n]. */ } } /* q* is determined. Store it as q[j]. */ q_ptr[j] = q_star; if (j == 0) break; j--; } } r_len = b_len; /* Normalise q. */ if (q_ptr[q_len - 1] == 0) q_len--; # if 0 /* Not needed here, since we need r only to compare it with b/2, and b is shifted left by s bits. */ /* Shift r right by s bits. */ if (s > 0) { mp_limb_t ptr = r_ptr + r_len; mp_twolimb_t accu = 0; size_t count; for (count = r_len; count > 0; count--) { accu = (mp_twolimb_t) (mp_limb_t) accu << GMP_LIMB_BITS; accu += (mp_twolimb_t) *--ptr << (GMP_LIMB_BITS - s); *ptr = (mp_limb_t) (accu >> GMP_LIMB_BITS); } } # endif /* Normalise r. */ while (r_len > 0 && r_ptr[r_len - 1] == 0) r_len--; } /* Compare r << 1 with b. */ if (r_len > b_len) goto increment_q; { size_t i; for (i = b_len;;) { mp_limb_t r_i = (i <= r_len && i > 0 ? r_ptr[i - 1] >> (GMP_LIMB_BITS - 1) : 0) | (i < r_len ? r_ptr[i] << 1 : 0); mp_limb_t b_i = (i < b_len ? b_ptr[i] : 0); if (r_i > b_i) goto increment_q; if (r_i < b_i) goto keep_q; if (i == 0) break; i--; } } if (q_len > 0 && ((q_ptr[0] & 1) != 0)) /* q is odd. */ increment_q: { size_t i; for (i = 0; i < q_len; i++) if (++(q_ptr[i]) != 0) goto keep_q; q_ptr[q_len++] = 1; } keep_q: if (tmp_roomptr != NULL) free (tmp_roomptr); q->limbs = q_ptr; q->nlimbs = q_len; return roomptr; } /* Convert a bignum a >= 0, multiplied with 10^extra_zeroes, to decimal representation. Destroys the contents of a. Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * convert_to_decimal (mpn_t a, size_t extra_zeroes) { mp_limb_t *a_ptr = a.limbs; size_t a_len = a.nlimbs; /* 0.03345 is slightly larger than log(2)/(9*log(10)). */ size_t c_len = 9 * ((size_t)(a_len * (GMP_LIMB_BITS * 0.03345f)) + 1); char *c_ptr = (char *) malloc (xsum (c_len, extra_zeroes)); if (c_ptr != NULL) { char *d_ptr = c_ptr; for (; extra_zeroes > 0; extra_zeroes--) *d_ptr++ = '0'; while (a_len > 0) { /* Divide a by 10^9, in-place. */ mp_limb_t remainder = 0; mp_limb_t *ptr = a_ptr + a_len; size_t count; for (count = a_len; count > 0; count--) { mp_twolimb_t num = ((mp_twolimb_t) remainder << GMP_LIMB_BITS) | *--ptr; *ptr = num / 1000000000; remainder = num % 1000000000; } /* Store the remainder as 9 decimal digits. */ for (count = 9; count > 0; count--) { *d_ptr++ = '0' + (remainder % 10); remainder = remainder / 10; } /* Normalize a. */ if (a_ptr[a_len - 1] == 0) a_len--; } /* Remove leading zeroes. */ while (d_ptr > c_ptr && d_ptr[-1] == '0') d_ptr--; /* But keep at least one zero. */ if (d_ptr == c_ptr) *d_ptr++ = '0'; /* Terminate the string. */ *d_ptr = '\0'; } return c_ptr; } # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and >= 0: write x as x = 2^e * m, where m is a bignum. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * decode_long_double (long double x, int *ep, mpn_t *mp) { mpn_t m; int exp; long double y; size_t i; /* Allocate memory for result. */ m.nlimbs = (LDBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); if (m.limbs == NULL) return NULL; /* Split into exponential part and mantissa. */ y = frexpl (x, &exp); if (!(y >= 0.0L && y < 1.0L)) abort (); /* x = 2^exp * y = 2^(exp - LDBL_MANT_BIT) * (y * LDBL_MANT_BIT), and the latter is an integer. */ /* Convert the mantissa (y * LDBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'long double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'long double' values between 0 and 2^16 (to 'unsigned int' or 'int', doesn't matter). */ # if (LDBL_MANT_BIT % GMP_LIMB_BITS) != 0 # if (LDBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % (GMP_LIMB_BITS / 2)); hi = (int) y; y -= hi; if (!(y >= 0.0L && y < 1.0L)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; } # else { mp_limb_t d; y *= (mp_limb_t) 1 << (LDBL_MANT_BIT % GMP_LIMB_BITS); d = (int) y; y -= d; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[LDBL_MANT_BIT / GMP_LIMB_BITS] = d; } # endif # endif for (i = LDBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); hi = (int) y; y -= hi; if (!(y >= 0.0L && y < 1.0L)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0L && y < 1.0L)) abort (); m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; } if (!(y == 0.0L)) abort (); /* Normalise. */ while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) m.nlimbs--; *mp = m; *ep = exp - LDBL_MANT_BIT; return m.limbs; } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and >= 0: write x as x = 2^e * m, where m is a bignum. Return the allocated memory in case of success, NULL in case of memory allocation failure. */ static void * decode_double (double x, int *ep, mpn_t *mp) { mpn_t m; int exp; double y; size_t i; /* Allocate memory for result. */ m.nlimbs = (DBL_MANT_BIT + GMP_LIMB_BITS - 1) / GMP_LIMB_BITS; m.limbs = (mp_limb_t *) malloc (m.nlimbs * sizeof (mp_limb_t)); if (m.limbs == NULL) return NULL; /* Split into exponential part and mantissa. */ y = frexp (x, &exp); if (!(y >= 0.0 && y < 1.0)) abort (); /* x = 2^exp * y = 2^(exp - DBL_MANT_BIT) * (y * DBL_MANT_BIT), and the latter is an integer. */ /* Convert the mantissa (y * DBL_MANT_BIT) to a sequence of limbs. I'm not sure whether it's safe to cast a 'double' value between 2^31 and 2^32 to 'unsigned int', therefore play safe and cast only 'double' values between 0 and 2^16 (to 'unsigned int' or 'int', doesn't matter). */ # if (DBL_MANT_BIT % GMP_LIMB_BITS) != 0 # if (DBL_MANT_BIT % GMP_LIMB_BITS) > GMP_LIMB_BITS / 2 { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (DBL_MANT_BIT % (GMP_LIMB_BITS / 2)); hi = (int) y; y -= hi; if (!(y >= 0.0 && y < 1.0)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = (hi << (GMP_LIMB_BITS / 2)) | lo; } # else { mp_limb_t d; y *= (mp_limb_t) 1 << (DBL_MANT_BIT % GMP_LIMB_BITS); d = (int) y; y -= d; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[DBL_MANT_BIT / GMP_LIMB_BITS] = d; } # endif # endif for (i = DBL_MANT_BIT / GMP_LIMB_BITS; i > 0; ) { mp_limb_t hi, lo; y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); hi = (int) y; y -= hi; if (!(y >= 0.0 && y < 1.0)) abort (); y *= (mp_limb_t) 1 << (GMP_LIMB_BITS / 2); lo = (int) y; y -= lo; if (!(y >= 0.0 && y < 1.0)) abort (); m.limbs[--i] = (hi << (GMP_LIMB_BITS / 2)) | lo; } if (!(y == 0.0)) abort (); /* Normalise. */ while (m.nlimbs > 0 && m.limbs[m.nlimbs - 1] == 0) m.nlimbs--; *mp = m; *ep = exp - DBL_MANT_BIT; return m.limbs; } # endif /* Assuming x = 2^e * m is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n) { int s; size_t extra_zeroes; unsigned int abs_n; unsigned int abs_s; mp_limb_t *pow5_ptr; size_t pow5_len; unsigned int s_limbs; unsigned int s_bits; mpn_t pow5; mpn_t z; void *z_memory; char *digits; if (memory == NULL) return NULL; /* x = 2^e * m, hence y = round (2^e * 10^n * m) = round (2^(e+n) * 5^n * m) = round (2^s * 5^n * m). */ s = e + n; extra_zeroes = 0; /* Factor out a common power of 10 if possible. */ if (s > 0 && n > 0) { extra_zeroes = (s < n ? s : n); s -= extra_zeroes; n -= extra_zeroes; } /* Here y = round (2^s * 5^n * m) * 10^extra_zeroes. Before converting to decimal, we need to compute z = round (2^s * 5^n * m). */ /* Compute 5^|n|, possibly shifted by |s| bits if n and s have the same sign. 2.322 is slightly larger than log(5)/log(2). */ abs_n = (n >= 0 ? n : -n); abs_s = (s >= 0 ? s : -s); pow5_ptr = (mp_limb_t *) malloc (((int)(abs_n * (2.322f / GMP_LIMB_BITS)) + 1 + abs_s / GMP_LIMB_BITS + 1) * sizeof (mp_limb_t)); if (pow5_ptr == NULL) { free (memory); return NULL; } /* Initialize with 1. */ pow5_ptr[0] = 1; pow5_len = 1; /* Multiply with 5^|n|. */ if (abs_n > 0) { static mp_limb_t const small_pow5[13 + 1] = { 1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125, 244140625, 1220703125 }; unsigned int n13; for (n13 = 0; n13 <= abs_n; n13 += 13) { mp_limb_t digit1 = small_pow5[n13 + 13 <= abs_n ? 13 : abs_n - n13]; size_t j; mp_twolimb_t carry = 0; for (j = 0; j < pow5_len; j++) { mp_limb_t digit2 = pow5_ptr[j]; carry += (mp_twolimb_t) digit1 * (mp_twolimb_t) digit2; pow5_ptr[j] = (mp_limb_t) carry; carry = carry >> GMP_LIMB_BITS; } if (carry > 0) pow5_ptr[pow5_len++] = (mp_limb_t) carry; } } s_limbs = abs_s / GMP_LIMB_BITS; s_bits = abs_s % GMP_LIMB_BITS; if (n >= 0 ? s >= 0 : s <= 0) { /* Multiply with 2^|s|. */ if (s_bits > 0) { mp_limb_t *ptr = pow5_ptr; mp_twolimb_t accu = 0; size_t count; for (count = pow5_len; count > 0; count--) { accu += (mp_twolimb_t) *ptr << s_bits; *ptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } if (accu > 0) { *ptr = (mp_limb_t) accu; pow5_len++; } } if (s_limbs > 0) { size_t count; for (count = pow5_len; count > 0;) { count--; pow5_ptr[s_limbs + count] = pow5_ptr[count]; } for (count = s_limbs; count > 0;) { count--; pow5_ptr[count] = 0; } pow5_len += s_limbs; } pow5.limbs = pow5_ptr; pow5.nlimbs = pow5_len; if (n >= 0) { /* Multiply m with pow5. No division needed. */ z_memory = multiply (m, pow5, &z); } else { /* Divide m by pow5 and round. */ z_memory = divide (m, pow5, &z); } } else { pow5.limbs = pow5_ptr; pow5.nlimbs = pow5_len; if (n >= 0) { /* n >= 0, s < 0. Multiply m with pow5, then divide by 2^|s|. */ mpn_t numerator; mpn_t denominator; void *tmp_memory; tmp_memory = multiply (m, pow5, &numerator); if (tmp_memory == NULL) { free (pow5_ptr); free (memory); return NULL; } /* Construct 2^|s|. */ { mp_limb_t *ptr = pow5_ptr + pow5_len; size_t i; for (i = 0; i < s_limbs; i++) ptr[i] = 0; ptr[s_limbs] = (mp_limb_t) 1 << s_bits; denominator.limbs = ptr; denominator.nlimbs = s_limbs + 1; } z_memory = divide (numerator, denominator, &z); free (tmp_memory); } else { /* n < 0, s > 0. Multiply m with 2^s, then divide by pow5. */ mpn_t numerator; mp_limb_t *num_ptr; num_ptr = (mp_limb_t *) malloc ((m.nlimbs + s_limbs + 1) * sizeof (mp_limb_t)); if (num_ptr == NULL) { free (pow5_ptr); free (memory); return NULL; } { mp_limb_t *destptr = num_ptr; { size_t i; for (i = 0; i < s_limbs; i++) *destptr++ = 0; } if (s_bits > 0) { const mp_limb_t *sourceptr = m.limbs; mp_twolimb_t accu = 0; size_t count; for (count = m.nlimbs; count > 0; count--) { accu += (mp_twolimb_t) *sourceptr++ << s_bits; *destptr++ = (mp_limb_t) accu; accu = accu >> GMP_LIMB_BITS; } if (accu > 0) *destptr++ = (mp_limb_t) accu; } else { const mp_limb_t *sourceptr = m.limbs; size_t count; for (count = m.nlimbs; count > 0; count--) *destptr++ = *sourceptr++; } numerator.limbs = num_ptr; numerator.nlimbs = destptr - num_ptr; } z_memory = divide (numerator, pow5, &z); free (num_ptr); } } free (pow5_ptr); free (memory); /* Here y = round (x * 10^n) = z * 10^extra_zeroes. */ if (z_memory == NULL) return NULL; digits = convert_to_decimal (z, extra_zeroes); free (z_memory); return digits; } # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_long_double (long double x, int n) { int e; mpn_t m; void *memory = decode_long_double (x, &e, &m); return scale10_round_decimal_decoded (e, m, memory, n); } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and >= 0, and n is an integer: Returns the decimal representation of round (x * 10^n). Return the allocated memory - containing the decimal digits in low-to-high order, terminated with a NUL character - in case of success, NULL in case of memory allocation failure. */ static char * scale10_round_decimal_double (double x, int n) { int e; mpn_t m; void *memory = decode_double (x, &e, &m); return scale10_round_decimal_decoded (e, m, memory, n); } # endif # if NEED_PRINTF_LONG_DOUBLE /* Assuming x is finite and > 0: Return an approximation for n with 10^n <= x < 10^(n+1). The approximation is usually the right n, but may be off by 1 sometimes. */ static int floorlog10l (long double x) { int exp; long double y; double z; double l; /* Split into exponential part and mantissa. */ y = frexpl (x, &exp); if (!(y >= 0.0L && y < 1.0L)) abort (); if (y == 0.0L) return INT_MIN; if (y < 0.5L) { while (y < (1.0L / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) { y *= 1.0L * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); exp -= GMP_LIMB_BITS; } if (y < (1.0L / (1 << 16))) { y *= 1.0L * (1 << 16); exp -= 16; } if (y < (1.0L / (1 << 8))) { y *= 1.0L * (1 << 8); exp -= 8; } if (y < (1.0L / (1 << 4))) { y *= 1.0L * (1 << 4); exp -= 4; } if (y < (1.0L / (1 << 2))) { y *= 1.0L * (1 << 2); exp -= 2; } if (y < (1.0L / (1 << 1))) { y *= 1.0L * (1 << 1); exp -= 1; } } if (!(y >= 0.5L && y < 1.0L)) abort (); /* Compute an approximation for l = log2(x) = exp + log2(y). */ l = exp; z = y; if (z < 0.70710678118654752444) { z *= 1.4142135623730950488; l -= 0.5; } if (z < 0.8408964152537145431) { z *= 1.1892071150027210667; l -= 0.25; } if (z < 0.91700404320467123175) { z *= 1.0905077326652576592; l -= 0.125; } if (z < 0.9576032806985736469) { z *= 1.0442737824274138403; l -= 0.0625; } /* Now 0.95 <= z <= 1.01. */ z = 1 - z; /* log(1-z) = - z - z^2/2 - z^3/3 - z^4/4 - ... Four terms are enough to get an approximation with error < 10^-7. */ l -= z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); /* Finally multiply with log(2)/log(10), yields an approximation for log10(x). */ l *= 0.30102999566398119523; /* Round down to the next integer. */ return (int) l + (l < 0 ? -1 : 0); } # endif # if NEED_PRINTF_DOUBLE /* Assuming x is finite and > 0: Return an approximation for n with 10^n <= x < 10^(n+1). The approximation is usually the right n, but may be off by 1 sometimes. */ static int floorlog10 (double x) { int exp; double y; double z; double l; /* Split into exponential part and mantissa. */ y = frexp (x, &exp); if (!(y >= 0.0 && y < 1.0)) abort (); if (y == 0.0) return INT_MIN; if (y < 0.5) { while (y < (1.0 / (1 << (GMP_LIMB_BITS / 2)) / (1 << (GMP_LIMB_BITS / 2)))) { y *= 1.0 * (1 << (GMP_LIMB_BITS / 2)) * (1 << (GMP_LIMB_BITS / 2)); exp -= GMP_LIMB_BITS; } if (y < (1.0 / (1 << 16))) { y *= 1.0 * (1 << 16); exp -= 16; } if (y < (1.0 / (1 << 8))) { y *= 1.0 * (1 << 8); exp -= 8; } if (y < (1.0 / (1 << 4))) { y *= 1.0 * (1 << 4); exp -= 4; } if (y < (1.0 / (1 << 2))) { y *= 1.0 * (1 << 2); exp -= 2; } if (y < (1.0 / (1 << 1))) { y *= 1.0 * (1 << 1); exp -= 1; } } if (!(y >= 0.5 && y < 1.0)) abort (); /* Compute an approximation for l = log2(x) = exp + log2(y). */ l = exp; z = y; if (z < 0.70710678118654752444) { z *= 1.4142135623730950488; l -= 0.5; } if (z < 0.8408964152537145431) { z *= 1.1892071150027210667; l -= 0.25; } if (z < 0.91700404320467123175) { z *= 1.0905077326652576592; l -= 0.125; } if (z < 0.9576032806985736469) { z *= 1.0442737824274138403; l -= 0.0625; } /* Now 0.95 <= z <= 1.01. */ z = 1 - z; /* log(1-z) = - z - z^2/2 - z^3/3 - z^4/4 - ... Four terms are enough to get an approximation with error < 10^-7. */ l -= z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25))); /* Finally multiply with log(2)/log(10), yields an approximation for log10(x). */ l *= 0.30102999566398119523; /* Round down to the next integer. */ return (int) l + (l < 0 ? -1 : 0); } # endif #endif DCHAR_T * VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, const FCHAR_T *format, va_list args) { DIRECTIVES d; arguments a; if (PRINTF_PARSE (format, &d, &a) < 0) /* errno is already set. */ return NULL; #define CLEANUP() \ free (d.dir); \ if (a.arg) \ free (a.arg); if (PRINTF_FETCHARGS (args, &a) < 0) { CLEANUP (); errno = EINVAL; return NULL; } { size_t buf_neededlength; TCHAR_T *buf; TCHAR_T *buf_malloced; const FCHAR_T *cp; size_t i; DIRECTIVE *dp; /* Output string accumulator. */ DCHAR_T *result; size_t allocated; size_t length; /* Allocate a small buffer that will hold a directive passed to sprintf or snprintf. */ buf_neededlength = xsum4 (7, d.max_width_length, d.max_precision_length, 6); #if HAVE_ALLOCA if (buf_neededlength < 4000 / sizeof (TCHAR_T)) { buf = (TCHAR_T *) alloca (buf_neededlength * sizeof (TCHAR_T)); buf_malloced = NULL; } else #endif { size_t buf_memsize = xtimes (buf_neededlength, sizeof (TCHAR_T)); if (size_overflow_p (buf_memsize)) goto out_of_memory_1; buf = (TCHAR_T *) malloc (buf_memsize); if (buf == NULL) goto out_of_memory_1; buf_malloced = buf; } if (resultbuf != NULL) { result = resultbuf; allocated = *lengthp; } else { result = NULL; allocated = 0; } length = 0; /* Invariants: result is either == resultbuf or == NULL or malloc-allocated. If length > 0, then result != NULL. */ /* Ensures that allocated >= needed. Aborts through a jump to out_of_memory if needed is SIZE_MAX or otherwise too big. */ #define ENSURE_ALLOCATION(needed) \ if ((needed) > allocated) \ { \ size_t memory_size; \ DCHAR_T *memory; \ \ allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \ if ((needed) > allocated) \ allocated = (needed); \ memory_size = xtimes (allocated, sizeof (DCHAR_T)); \ if (size_overflow_p (memory_size)) \ goto out_of_memory; \ if (result == resultbuf || result == NULL) \ memory = (DCHAR_T *) malloc (memory_size); \ else \ memory = (DCHAR_T *) realloc (result, memory_size); \ if (memory == NULL) \ goto out_of_memory; \ if (result == resultbuf && length > 0) \ DCHAR_CPY (memory, result, length); \ result = memory; \ } for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++) { if (cp != dp->dir_start) { size_t n = dp->dir_start - cp; size_t augmented_length = xsum (length, n); ENSURE_ALLOCATION (augmented_length); /* This copies a piece of FCHAR_T[] into a DCHAR_T[]. Here we need that the format string contains only ASCII characters if FCHAR_T and DCHAR_T are not the same type. */ if (sizeof (FCHAR_T) == sizeof (DCHAR_T)) { DCHAR_CPY (result + length, (const DCHAR_T *) cp, n); length = augmented_length; } else { do result[length++] = (unsigned char) *cp++; while (--n > 0); } } if (i == d.count) break; /* Execute a single directive. */ if (dp->conversion == '%') { size_t augmented_length; if (!(dp->arg_index == ARG_NONE)) abort (); augmented_length = xsum (length, 1); ENSURE_ALLOCATION (augmented_length); result[length] = '%'; length = augmented_length; } else { if (!(dp->arg_index != ARG_NONE)) abort (); if (dp->conversion == 'n') { switch (a.arg[dp->arg_index].type) { case TYPE_COUNT_SCHAR_POINTER: *a.arg[dp->arg_index].a.a_count_schar_pointer = length; break; case TYPE_COUNT_SHORT_POINTER: *a.arg[dp->arg_index].a.a_count_short_pointer = length; break; case TYPE_COUNT_INT_POINTER: *a.arg[dp->arg_index].a.a_count_int_pointer = length; break; case TYPE_COUNT_LONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longint_pointer = length; break; #if HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; break; #endif default: abort (); } } #if ENABLE_UNISTDIO /* The unistdio extensions. */ else if (dp->conversion == 'U') { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } switch (type) { case TYPE_U8_STRING: { const uint8_t *arg = a.arg[dp->arg_index].a.a_u8_string; const uint8_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u8_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u8_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u8_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT8_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-8 to locale encoding. */ if (u8_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, &converted, &converted_len) < 0) # else /* Convert from UTF-8 to UTF-16/UTF-32. */ converted = U8_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); if (converted == NULL) # endif { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; case TYPE_U16_STRING: { const uint16_t *arg = a.arg[dp->arg_index].a.a_u16_string; const uint16_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u16_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u16_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u16_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT16_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-16 to locale encoding. */ if (u16_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, &converted, &converted_len) < 0) # else /* Convert from UTF-16 to UTF-8/UTF-32. */ converted = U16_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); if (converted == NULL) # endif { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; case TYPE_U32_STRING: { const uint32_t *arg = a.arg[dp->arg_index].a.a_u32_string; const uint32_t *arg_end; size_t characters; if (has_precision) { /* Use only PRECISION characters, from the left. */ arg_end = arg; characters = 0; for (; precision > 0; precision--) { int count = u32_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else if (has_width) { /* Use the entire string, and count the number of characters. */ arg_end = arg; characters = 0; for (;;) { int count = u32_strmblen (arg_end); if (count == 0) break; if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EILSEQ; return NULL; } arg_end += count; characters++; } } else { /* Use the entire string. */ arg_end = arg + u32_strlen (arg); /* The number of characters doesn't matter. */ characters = 0; } if (has_width && width > characters && !(dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } # if DCHAR_IS_UINT32_T { size_t n = arg_end - arg; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_CPY (result + length, arg, n); length += n; } # else { /* Convert. */ DCHAR_T *converted = result + length; size_t converted_len = allocated - length; # if DCHAR_IS_TCHAR /* Convert from UTF-32 to locale encoding. */ if (u32_conv_to_encoding (locale_charset (), iconveh_question_mark, arg, arg_end - arg, NULL, &converted, &converted_len) < 0) # else /* Convert from UTF-32 to UTF-8/UTF-16. */ converted = U32_TO_DCHAR (arg, arg_end - arg, converted, &converted_len); if (converted == NULL) # endif { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } if (converted != result + length) { ENSURE_ALLOCATION (xsum (length, converted_len)); DCHAR_CPY (result + length, converted, converted_len); free (converted); } length += converted_len; } # endif if (has_width && width > characters && (dp->flags & FLAG_LEFT)) { size_t n = width - characters; ENSURE_ALLOCATION (xsum (length, n)); DCHAR_SET (result + length, ' ', n); length += n; } } break; default: abort (); } } #endif #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL else if ((dp->conversion == 'a' || dp->conversion == 'A') # if !(NEED_PRINTF_DIRECTIVE_A || (NEED_PRINTF_LONG_DOUBLE && NEED_PRINTF_DOUBLE)) && (0 # if NEED_PRINTF_DOUBLE || a.arg[dp->arg_index].type == TYPE_DOUBLE # endif # if NEED_PRINTF_LONG_DOUBLE || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE # endif ) # endif ) { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; size_t tmp_length; DCHAR_T tmpbuf[700]; DCHAR_T *tmp; DCHAR_T *pad_ptr; DCHAR_T *p; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } /* Allocate a temporary buffer of sufficient size. */ if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) ((LDBL_DIG + 1) * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) ((DBL_DIG + 1) * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); if (tmp_length < width) tmp_length = width; tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (DCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } pad_ptr = NULL; p = tmp; if (type == TYPE_LONGDOUBLE) { # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE long double arg = a.arg[dp->arg_index].a.a_longdouble; if (isnanl (arg)) { if (dp->conversion == 'A') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); if (signbit (arg)) /* arg < 0.0L or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0L && arg + arg == arg) { if (dp->conversion == 'A') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { int exponent; long double mantissa; if (arg > 0.0L) mantissa = printf_frexpl (arg, &exponent); else { exponent = 0; mantissa = 0.0L; } if (has_precision && precision < (unsigned int) ((LDBL_DIG + 1) * 0.831) + 1) { /* Round the mantissa. */ long double tail = mantissa; size_t q; for (q = precision; ; q--) { int digit = (int) tail; tail -= digit; if (q == 0) { if (digit & 1 ? tail >= 0.5L : tail > 0.5L) tail = 1 - tail; else tail = - tail; break; } tail *= 16.0L; } if (tail != 0.0L) for (q = precision; q > 0; q--) tail *= 0.0625L; mantissa += tail; } *p++ = '0'; *p++ = dp->conversion - 'A' + 'X'; pad_ptr = p; { int digit; digit = (int) mantissa; mantissa -= digit; *p++ = '0' + digit; if ((flags & FLAG_ALT) || mantissa > 0.0L || precision > 0) { *p++ = decimal_point_char (); /* This loop terminates because we assume that FLT_RADIX is a power of 2. */ while (mantissa > 0.0L) { mantissa *= 16.0L; digit = (int) mantissa; mantissa -= digit; *p++ = digit + (digit < 10 ? '0' : dp->conversion - 10); if (precision > 0) precision--; } while (precision > 0) { *p++ = '0'; precision--; } } } *p++ = dp->conversion - 'A' + 'P'; # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } END_LONG_DOUBLE_ROUNDING (); } # else abort (); # endif } else { # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE double arg = a.arg[dp->arg_index].a.a_double; if (isnan (arg)) { if (dp->conversion == 'A') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; if (signbit (arg)) /* arg < 0.0 or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0 && arg + arg == arg) { if (dp->conversion == 'A') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { int exponent; double mantissa; if (arg > 0.0) mantissa = printf_frexp (arg, &exponent); else { exponent = 0; mantissa = 0.0; } if (has_precision && precision < (unsigned int) ((DBL_DIG + 1) * 0.831) + 1) { /* Round the mantissa. */ double tail = mantissa; size_t q; for (q = precision; ; q--) { int digit = (int) tail; tail -= digit; if (q == 0) { if (digit & 1 ? tail >= 0.5 : tail > 0.5) tail = 1 - tail; else tail = - tail; break; } tail *= 16.0; } if (tail != 0.0) for (q = precision; q > 0; q--) tail *= 0.0625; mantissa += tail; } *p++ = '0'; *p++ = dp->conversion - 'A' + 'X'; pad_ptr = p; { int digit; digit = (int) mantissa; mantissa -= digit; *p++ = '0' + digit; if ((flags & FLAG_ALT) || mantissa > 0.0 || precision > 0) { *p++ = decimal_point_char (); /* This loop terminates because we assume that FLT_RADIX is a power of 2. */ while (mantissa > 0.0) { mantissa *= 16.0; digit = (int) mantissa; mantissa -= digit; *p++ = digit + (digit < 10 ? '0' : dp->conversion - 10); if (precision > 0) precision--; } while (precision > 0) { *p++ = '0'; precision--; } } } *p++ = dp->conversion - 'A' + 'P'; # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } } # else abort (); # endif } /* The generated string now extends from tmp to p, with the zero padding insertion point being at pad_ptr. */ if (has_width && p - tmp < width) { size_t pad = width - (p - tmp); DCHAR_T *end = p + pad; if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > tmp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } p = end; } { size_t count = p - tmp; if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); /* Make room for the result. */ if (count >= allocated - length) { size_t n = xsum (length, count); ENSURE_ALLOCATION (n); } /* Append the result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); if (tmp != tmpbuf) free (tmp); length += count; } } #endif #if (NEED_PRINTF_INFINITE_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL else if ((dp->conversion == 'f' || dp->conversion == 'F' || dp->conversion == 'e' || dp->conversion == 'E' || dp->conversion == 'g' || dp->conversion == 'G' || dp->conversion == 'a' || dp->conversion == 'A') && (0 # if NEED_PRINTF_DOUBLE || a.arg[dp->arg_index].type == TYPE_DOUBLE # elif NEED_PRINTF_INFINITE_DOUBLE || (a.arg[dp->arg_index].type == TYPE_DOUBLE /* The systems (mingw) which produce wrong output for Inf, -Inf, and NaN also do so for -0.0. Therefore we treat this case here as well. */ && is_infinite_or_zero (a.arg[dp->arg_index].a.a_double)) # endif # if NEED_PRINTF_LONG_DOUBLE || a.arg[dp->arg_index].type == TYPE_LONGDOUBLE # elif NEED_PRINTF_INFINITE_LONG_DOUBLE || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE /* Some systems produce wrong output for Inf, -Inf, and NaN. */ && is_infinitel (a.arg[dp->arg_index].a.a_longdouble)) # endif )) { # if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) arg_type type = a.arg[dp->arg_index].type; # endif int flags = dp->flags; int has_width; size_t width; int has_precision; size_t precision; size_t tmp_length; DCHAR_T tmpbuf[700]; DCHAR_T *tmp; DCHAR_T *pad_ptr; DCHAR_T *p; has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } has_precision = 0; precision = 0; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } /* POSIX specifies the default precision to be 6 for %f, %F, %e, %E, but not for %g, %G. Implementations appear to use the same default precision also for %g, %G. */ if (!has_precision) precision = 6; /* Allocate a temporary buffer of sufficient size. */ # if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : DBL_DIG + 1); # elif NEED_PRINTF_INFINITE_DOUBLE && NEED_PRINTF_LONG_DOUBLE tmp_length = (type == TYPE_LONGDOUBLE ? LDBL_DIG + 1 : 0); # elif NEED_PRINTF_LONG_DOUBLE tmp_length = LDBL_DIG + 1; # elif NEED_PRINTF_DOUBLE tmp_length = DBL_DIG + 1; # else tmp_length = 0; # endif if (tmp_length < precision) tmp_length = precision; # if NEED_PRINTF_LONG_DOUBLE # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE if (type == TYPE_LONGDOUBLE) # endif if (dp->conversion == 'f' || dp->conversion == 'F') { long double arg = a.arg[dp->arg_index].a.a_longdouble; if (!(isnanl (arg) || arg + arg == arg)) { /* arg is finite and nonzero. */ int exponent = floorlog10l (arg < 0 ? -arg : arg); if (exponent >= 0 && tmp_length < exponent + precision) tmp_length = exponent + precision; } } # endif # if NEED_PRINTF_DOUBLE # if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE if (type == TYPE_DOUBLE) # endif if (dp->conversion == 'f' || dp->conversion == 'F') { double arg = a.arg[dp->arg_index].a.a_double; if (!(isnan (arg) || arg + arg == arg)) { /* arg is finite and nonzero. */ int exponent = floorlog10 (arg < 0 ? -arg : arg); if (exponent >= 0 && tmp_length < exponent + precision) tmp_length = exponent + precision; } } # endif /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); if (tmp_length < width) tmp_length = width; tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ if (tmp_length <= sizeof (tmpbuf) / sizeof (DCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (DCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (DCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } pad_ptr = NULL; p = tmp; # if NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE if (type == TYPE_LONGDOUBLE) # endif { long double arg = a.arg[dp->arg_index].a.a_longdouble; if (isnanl (arg)) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; DECL_LONG_DOUBLE_ROUNDING BEGIN_LONG_DOUBLE_ROUNDING (); if (signbit (arg)) /* arg < 0.0L or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0L && arg + arg == arg) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { # if NEED_PRINTF_LONG_DOUBLE pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { char *digits; size_t ndigits; digits = scale10_round_decimal_long_double (arg, precision); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits > precision) do { --ndigits; *p++ = digits[ndigits]; } while (ndigits > precision); else *p++ = '0'; /* Here ndigits <= precision. */ if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > ndigits; precision--) *p++ = '0'; while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } else if (dp->conversion == 'e' || dp->conversion == 'E') { int exponent; if (arg == 0.0L) { exponent = 0; *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else { /* arg > 0.0L. */ int adjusted; char *digits; size_t ndigits; exponent = floorlog10l (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_long_double (arg, (int)precision - exponent); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits == precision + 1) break; if (ndigits < precision || ndigits > precision + 2) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits == precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision+1. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } *p++ = dp->conversion; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', '.', '2', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+.2d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+.2d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } else if (dp->conversion == 'g' || dp->conversion == 'G') { if (precision == 0) precision = 1; /* precision >= 1. */ if (arg == 0.0L) /* The exponent is 0, >= -4, < precision. Use fixed-point notation. */ { size_t ndigits = precision; /* Number of trailing zeroes that have to be dropped. */ size_t nzeroes = (flags & FLAG_ALT ? 0 : precision - 1); --ndigits; *p++ = '0'; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = '0'; } } } else { /* arg > 0.0L. */ int exponent; int adjusted; char *digits; size_t ndigits; size_t nzeroes; exponent = floorlog10l (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_long_double (arg, (int)(precision - 1) - exponent); if (digits == NULL) { END_LONG_DOUBLE_ROUNDING (); goto out_of_memory; } ndigits = strlen (digits); if (ndigits == precision) break; if (ndigits < precision - 1 || ndigits > precision + 1) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits < precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision. */ /* Determine the number of trailing zeroes that have to be dropped. */ nzeroes = 0; if ((flags & FLAG_ALT) == 0) while (nzeroes < ndigits && digits[nzeroes] == '0') nzeroes++; /* The exponent is now determined. */ if (exponent >= -4 && exponent < (long)precision) { /* Fixed-point notation: max(exponent,0)+1 digits, then the decimal point, then the remaining digits without trailing zeroes. */ if (exponent >= 0) { size_t count = exponent + 1; /* Note: count <= precision = ndigits. */ for (; count > 0; count--) *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { size_t count = -exponent - 1; *p++ = '0'; *p++ = decimal_point_char (); for (; count > 0; count--) *p++ = '0'; while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { /* Exponential notation. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = { '%', '+', '.', '2', 'd', '\0' }; SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, "%+.2d", exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, "%+.2d", exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } # endif } free (digits); } } else abort (); # else /* arg is finite. */ abort (); # endif } END_LONG_DOUBLE_ROUNDING (); } } # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE else # endif # endif # if NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE { double arg = a.arg[dp->arg_index].a.a_double; if (isnan (arg)) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'N'; *p++ = 'A'; *p++ = 'N'; } else { *p++ = 'n'; *p++ = 'a'; *p++ = 'n'; } } else { int sign = 0; if (signbit (arg)) /* arg < 0.0 or negative zero */ { sign = -1; arg = -arg; } if (sign < 0) *p++ = '-'; else if (flags & FLAG_SHOWSIGN) *p++ = '+'; else if (flags & FLAG_SPACE) *p++ = ' '; if (arg > 0.0 && arg + arg == arg) { if (dp->conversion >= 'A' && dp->conversion <= 'Z') { *p++ = 'I'; *p++ = 'N'; *p++ = 'F'; } else { *p++ = 'i'; *p++ = 'n'; *p++ = 'f'; } } else { # if NEED_PRINTF_DOUBLE pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { char *digits; size_t ndigits; digits = scale10_round_decimal_double (arg, precision); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits > precision) do { --ndigits; *p++ = digits[ndigits]; } while (ndigits > precision); else *p++ = '0'; /* Here ndigits <= precision. */ if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > ndigits; precision--) *p++ = '0'; while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } else if (dp->conversion == 'e' || dp->conversion == 'E') { int exponent; if (arg == 0.0) { exponent = 0; *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else { /* arg > 0.0. */ int adjusted; char *digits; size_t ndigits; exponent = floorlog10 (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_double (arg, (int)precision - exponent); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits == precision + 1) break; if (ndigits < precision || ndigits > precision + 2) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits == precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision+1. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); while (ndigits > 0) { --ndigits; *p++ = digits[ndigits]; } } free (digits); } *p++ = dp->conversion; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { '%', '+', '.', '3', 'd', '\0' }; # else { '%', '+', '.', '2', 'd', '\0' }; # endif SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else { static const char decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ "%+.3d"; # else "%+.2d"; # endif if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, decimal_format, exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, decimal_format, exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } } # endif } else if (dp->conversion == 'g' || dp->conversion == 'G') { if (precision == 0) precision = 1; /* precision >= 1. */ if (arg == 0.0) /* The exponent is 0, >= -4, < precision. Use fixed-point notation. */ { size_t ndigits = precision; /* Number of trailing zeroes that have to be dropped. */ size_t nzeroes = (flags & FLAG_ALT ? 0 : precision - 1); --ndigits; *p++ = '0'; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = '0'; } } } else { /* arg > 0.0. */ int exponent; int adjusted; char *digits; size_t ndigits; size_t nzeroes; exponent = floorlog10 (arg); adjusted = 0; for (;;) { digits = scale10_round_decimal_double (arg, (int)(precision - 1) - exponent); if (digits == NULL) goto out_of_memory; ndigits = strlen (digits); if (ndigits == precision) break; if (ndigits < precision - 1 || ndigits > precision + 1) /* The exponent was not guessed precisely enough. */ abort (); if (adjusted) /* None of two values of exponent is the right one. Prevent an endless loop. */ abort (); free (digits); if (ndigits < precision) exponent -= 1; else exponent += 1; adjusted = 1; } /* Here ndigits = precision. */ /* Determine the number of trailing zeroes that have to be dropped. */ nzeroes = 0; if ((flags & FLAG_ALT) == 0) while (nzeroes < ndigits && digits[nzeroes] == '0') nzeroes++; /* The exponent is now determined. */ if (exponent >= -4 && exponent < (long)precision) { /* Fixed-point notation: max(exponent,0)+1 digits, then the decimal point, then the remaining digits without trailing zeroes. */ if (exponent >= 0) { size_t count = exponent + 1; /* Note: count <= precision = ndigits. */ for (; count > 0; count--) *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { size_t count = -exponent - 1; *p++ = '0'; *p++ = decimal_point_char (); for (; count > 0; count--) *p++ = '0'; while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } } else { /* Exponential notation. */ *p++ = digits[--ndigits]; if ((flags & FLAG_ALT) || ndigits > nzeroes) { *p++ = decimal_point_char (); while (ndigits > nzeroes) { --ndigits; *p++ = digits[ndigits]; } } *p++ = dp->conversion - 'G' + 'E'; /* 'e' or 'E' */ # if WIDE_CHAR_VERSION { static const wchar_t decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ { '%', '+', '.', '3', 'd', '\0' }; # else { '%', '+', '.', '2', 'd', '\0' }; # endif SNPRINTF (p, 6 + 1, decimal_format, exponent); } while (*p != '\0') p++; # else { static const char decimal_format[] = /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ "%+.3d"; # else "%+.2d"; # endif if (sizeof (DCHAR_T) == 1) { sprintf ((char *) p, decimal_format, exponent); while (*p != '\0') p++; } else { char expbuf[6 + 1]; const char *ep; sprintf (expbuf, decimal_format, exponent); for (ep = expbuf; (*p = *ep) != '\0'; ep++) p++; } } # endif } free (digits); } } else abort (); # else /* arg is finite. */ if (!(arg == 0.0)) abort (); pad_ptr = p; if (dp->conversion == 'f' || dp->conversion == 'F') { *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } } else if (dp->conversion == 'e' || dp->conversion == 'E') { *p++ = '0'; if ((flags & FLAG_ALT) || precision > 0) { *p++ = decimal_point_char (); for (; precision > 0; precision--) *p++ = '0'; } *p++ = dp->conversion; /* 'e' or 'E' */ *p++ = '+'; /* Produce the same number of exponent digits as the native printf implementation. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ *p++ = '0'; # endif *p++ = '0'; *p++ = '0'; } else if (dp->conversion == 'g' || dp->conversion == 'G') { *p++ = '0'; if (flags & FLAG_ALT) { size_t ndigits = (precision > 0 ? precision - 1 : 0); *p++ = decimal_point_char (); for (; ndigits > 0; --ndigits) *p++ = '0'; } } else abort (); # endif } } } # endif /* The generated string now extends from tmp to p, with the zero padding insertion point being at pad_ptr. */ if (has_width && p - tmp < width) { size_t pad = width - (p - tmp); DCHAR_T *end = p + pad; if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > tmp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } p = end; } { size_t count = p - tmp; if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); /* Make room for the result. */ if (count >= allocated - length) { size_t n = xsum (length, count); ENSURE_ALLOCATION (n); } /* Append the result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); if (tmp != tmpbuf) free (tmp); length += count; } } #endif else { arg_type type = a.arg[dp->arg_index].type; int flags = dp->flags; #if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION int has_width; size_t width; #endif #if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION int has_precision; size_t precision; #endif #if NEED_PRINTF_UNBOUNDED_PRECISION int prec_ourselves; #else # define prec_ourselves 0 #endif #if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION int pad_ourselves; #else # define pad_ourselves 0 #endif TCHAR_T *fbp; unsigned int prefix_count; int prefixes[2]; #if !USE_SNPRINTF size_t tmp_length; TCHAR_T tmpbuf[700]; TCHAR_T *tmp; #endif #if !USE_SNPRINTF || !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION has_width = 0; width = 0; if (dp->width_start != dp->width_end) { if (dp->width_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->width_arg_index].a.a_int; if (arg < 0) { /* "A negative field width is taken as a '-' flag followed by a positive field width." */ flags |= FLAG_LEFT; width = (unsigned int) (-arg); } else width = arg; } else { const FCHAR_T *digitp = dp->width_start; do width = xsum (xtimes (width, 10), *digitp++ - '0'); while (digitp != dp->width_end); } has_width = 1; } #endif #if !USE_SNPRINTF || NEED_PRINTF_UNBOUNDED_PRECISION has_precision = 0; precision = 6; if (dp->precision_start != dp->precision_end) { if (dp->precision_arg_index != ARG_NONE) { int arg; if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); arg = a.arg[dp->precision_arg_index].a.a_int; /* "A negative precision is taken as if the precision were omitted." */ if (arg >= 0) { precision = arg; has_precision = 1; } } else { const FCHAR_T *digitp = dp->precision_start + 1; precision = 0; while (digitp != dp->precision_end) precision = xsum (xtimes (precision, 10), *digitp++ - '0'); has_precision = 1; } } #endif #if !USE_SNPRINTF /* Allocate a temporary buffer of sufficient size for calling sprintf. */ { switch (dp->conversion) { case 'd': case 'i': case 'u': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.30103 /* binary -> decimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Multiply by 2, as an estimate for FLAG_GROUP. */ tmp_length = xsum (tmp_length, tmp_length); /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'o': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.333334 /* binary -> octal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 1, to account for a leading sign. */ tmp_length = xsum (tmp_length, 1); break; case 'x': case 'X': # if HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else # endif if (type == TYPE_LONGINT || type == TYPE_ULONGINT) tmp_length = (unsigned int) (sizeof (unsigned long) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (sizeof (unsigned int) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Add 2, to account for a leading sign or alternate form. */ tmp_length = xsum (tmp_length, 2); break; case 'f': case 'F': if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) (LDBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ else tmp_length = (unsigned int) (DBL_MAX_EXP * 0.30103 /* binary -> decimal */ * 2 /* estimate for FLAG_GROUP */ ) + 1 /* turn floor into ceil */ + 10; /* sign, decimal point etc. */ tmp_length = xsum (tmp_length, precision); break; case 'e': case 'E': case 'g': case 'G': tmp_length = 12; /* sign, decimal point, exponent etc. */ tmp_length = xsum (tmp_length, precision); break; case 'a': case 'A': if (type == TYPE_LONGDOUBLE) tmp_length = (unsigned int) (LDBL_DIG * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ else tmp_length = (unsigned int) (DBL_DIG * 0.831 /* decimal -> hexadecimal */ ) + 1; /* turn floor into ceil */ if (tmp_length < precision) tmp_length = precision; /* Account for sign, decimal point etc. */ tmp_length = xsum (tmp_length, 12); break; case 'c': # if HAVE_WINT_T && !WIDE_CHAR_VERSION if (type == TYPE_WIDE_CHAR) tmp_length = MB_CUR_MAX; else # endif tmp_length = 1; break; case 's': # if HAVE_WCHAR_T if (type == TYPE_WIDE_STRING) { tmp_length = local_wcslen (a.arg[dp->arg_index].a.a_wide_string); # if !WIDE_CHAR_VERSION tmp_length = xtimes (tmp_length, MB_CUR_MAX); # endif } else # endif tmp_length = strlen (a.arg[dp->arg_index].a.a_string); break; case 'p': tmp_length = (unsigned int) (sizeof (void *) * CHAR_BIT * 0.25 /* binary -> hexadecimal */ ) + 1 /* turn floor into ceil */ + 2; /* account for leading 0x */ break; default: abort (); } # if ENABLE_UNISTDIO /* Padding considers the number of characters, therefore the number of elements after padding may be > max (tmp_length, width) but is certainly <= tmp_length + width. */ tmp_length = xsum (tmp_length, width); # else /* Padding considers the number of elements, says POSIX. */ if (tmp_length < width) tmp_length = width; # endif tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */ } if (tmp_length <= sizeof (tmpbuf) / sizeof (TCHAR_T)) tmp = tmpbuf; else { size_t tmp_memsize = xtimes (tmp_length, sizeof (TCHAR_T)); if (size_overflow_p (tmp_memsize)) /* Overflow, would lead to out of memory. */ goto out_of_memory; tmp = (TCHAR_T *) malloc (tmp_memsize); if (tmp == NULL) /* Out of memory. */ goto out_of_memory; } #endif /* Decide whether to handle the precision ourselves. */ #if NEED_PRINTF_UNBOUNDED_PRECISION switch (dp->conversion) { case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': prec_ourselves = has_precision && (precision > 0); break; default: prec_ourselves = 0; break; } #endif /* Decide whether to perform the padding ourselves. */ #if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION switch (dp->conversion) { # if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO /* If we need conversion from TCHAR_T[] to DCHAR_T[], we need to perform the padding after this conversion. Functions with unistdio extensions perform the padding based on character count rather than element count. */ case 'c': case 's': # endif # if NEED_PRINTF_FLAG_ZERO case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': case 'a': case 'A': # endif pad_ourselves = 1; break; default: pad_ourselves = prec_ourselves; break; } #endif /* Construct the format string for calling snprintf or sprintf. */ fbp = buf; *fbp++ = '%'; #if NEED_PRINTF_FLAG_GROUPING /* The underlying implementation doesn't support the ' flag. Produce no grouping characters in this case; this is acceptable because the grouping is locale dependent. */ #else if (flags & FLAG_GROUP) *fbp++ = '\''; #endif if (flags & FLAG_LEFT) *fbp++ = '-'; if (flags & FLAG_SHOWSIGN) *fbp++ = '+'; if (flags & FLAG_SPACE) *fbp++ = ' '; if (flags & FLAG_ALT) *fbp++ = '#'; if (!pad_ourselves) { if (flags & FLAG_ZERO) *fbp++ = '0'; if (dp->width_start != dp->width_end) { size_t n = dp->width_end - dp->width_start; /* The width specification is known to consist only of standard ASCII characters. */ if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) { memcpy (fbp, dp->width_start, n * sizeof (TCHAR_T)); fbp += n; } else { const FCHAR_T *mp = dp->width_start; do *fbp++ = (unsigned char) *mp++; while (--n > 0); } } } if (!prec_ourselves) { if (dp->precision_start != dp->precision_end) { size_t n = dp->precision_end - dp->precision_start; /* The precision specification is known to consist only of standard ASCII characters. */ if (sizeof (FCHAR_T) == sizeof (TCHAR_T)) { memcpy (fbp, dp->precision_start, n * sizeof (TCHAR_T)); fbp += n; } else { const FCHAR_T *mp = dp->precision_start; do *fbp++ = (unsigned char) *mp++; while (--n > 0); } } } switch (type) { #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: case TYPE_ULONGLONGINT: # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ *fbp++ = 'I'; *fbp++ = '6'; *fbp++ = '4'; break; # else *fbp++ = 'l'; /*FALLTHROUGH*/ # endif #endif case TYPE_LONGINT: case TYPE_ULONGINT: #if HAVE_WINT_T case TYPE_WIDE_CHAR: #endif #if HAVE_WCHAR_T case TYPE_WIDE_STRING: #endif *fbp++ = 'l'; break; case TYPE_LONGDOUBLE: *fbp++ = 'L'; break; default: break; } #if NEED_PRINTF_DIRECTIVE_F if (dp->conversion == 'F') *fbp = 'f'; else #endif *fbp = dp->conversion; #if USE_SNPRINTF # if !(__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) fbp[1] = '%'; fbp[2] = 'n'; fbp[3] = '\0'; # else /* On glibc2 systems from glibc >= 2.3 - probably also older ones - we know that snprintf's returns value conforms to ISO C 99: the gl_SNPRINTF_DIRECTIVE_N test passes. Therefore we can avoid using %n in this situation. On glibc2 systems from 2004-10-18 or newer, the use of %n in format strings in writable memory may crash the program (if compiled with _FORTIFY_SOURCE=2), so we should avoid it in this situation. */ fbp[1] = '\0'; # endif #else fbp[1] = '\0'; #endif /* Construct the arguments for calling snprintf or sprintf. */ prefix_count = 0; if (!pad_ourselves && dp->width_arg_index != ARG_NONE) { if (!(a.arg[dp->width_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int; } if (dp->precision_arg_index != ARG_NONE) { if (!(a.arg[dp->precision_arg_index].type == TYPE_INT)) abort (); prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int; } #if USE_SNPRINTF /* The SNPRINTF result is appended after result[0..length]. The latter is an array of DCHAR_T; SNPRINTF appends an array of TCHAR_T to it. This is possible because sizeof (TCHAR_T) divides sizeof (DCHAR_T) and alignof (TCHAR_T) <= alignof (DCHAR_T). */ # define TCHARS_PER_DCHAR (sizeof (DCHAR_T) / sizeof (TCHAR_T)) /* Prepare checking whether snprintf returns the count via %n. */ ENSURE_ALLOCATION (xsum (length, 1)); *(TCHAR_T *) (result + length) = '\0'; #endif for (;;) { int count = -1; #if USE_SNPRINTF int retcount = 0; size_t maxlen = allocated - length; /* SNPRINTF can fail if its second argument is > INT_MAX. */ if (maxlen > INT_MAX / TCHARS_PER_DCHAR) maxlen = INT_MAX / TCHARS_PER_DCHAR; maxlen = maxlen * TCHARS_PER_DCHAR; # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ arg, &count); \ break; \ case 1: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ prefixes[0], arg, &count); \ break; \ case 2: \ retcount = SNPRINTF ((TCHAR_T *) (result + length), \ maxlen, buf, \ prefixes[0], prefixes[1], arg, \ &count); \ break; \ default: \ abort (); \ } #else # define SNPRINTF_BUF(arg) \ switch (prefix_count) \ { \ case 0: \ count = sprintf (tmp, buf, arg); \ break; \ case 1: \ count = sprintf (tmp, buf, prefixes[0], arg); \ break; \ case 2: \ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\ arg); \ break; \ default: \ abort (); \ } #endif switch (type) { case TYPE_SCHAR: { int arg = a.arg[dp->arg_index].a.a_schar; SNPRINTF_BUF (arg); } break; case TYPE_UCHAR: { unsigned int arg = a.arg[dp->arg_index].a.a_uchar; SNPRINTF_BUF (arg); } break; case TYPE_SHORT: { int arg = a.arg[dp->arg_index].a.a_short; SNPRINTF_BUF (arg); } break; case TYPE_USHORT: { unsigned int arg = a.arg[dp->arg_index].a.a_ushort; SNPRINTF_BUF (arg); } break; case TYPE_INT: { int arg = a.arg[dp->arg_index].a.a_int; SNPRINTF_BUF (arg); } break; case TYPE_UINT: { unsigned int arg = a.arg[dp->arg_index].a.a_uint; SNPRINTF_BUF (arg); } break; case TYPE_LONGINT: { long int arg = a.arg[dp->arg_index].a.a_longint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGINT: { unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint; SNPRINTF_BUF (arg); } break; #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: { long long int arg = a.arg[dp->arg_index].a.a_longlongint; SNPRINTF_BUF (arg); } break; case TYPE_ULONGLONGINT: { unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint; SNPRINTF_BUF (arg); } break; #endif case TYPE_DOUBLE: { double arg = a.arg[dp->arg_index].a.a_double; SNPRINTF_BUF (arg); } break; case TYPE_LONGDOUBLE: { long double arg = a.arg[dp->arg_index].a.a_longdouble; SNPRINTF_BUF (arg); } break; case TYPE_CHAR: { int arg = a.arg[dp->arg_index].a.a_char; SNPRINTF_BUF (arg); } break; #if HAVE_WINT_T case TYPE_WIDE_CHAR: { wint_t arg = a.arg[dp->arg_index].a.a_wide_char; SNPRINTF_BUF (arg); } break; #endif case TYPE_STRING: { const char *arg = a.arg[dp->arg_index].a.a_string; SNPRINTF_BUF (arg); } break; #if HAVE_WCHAR_T case TYPE_WIDE_STRING: { const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string; SNPRINTF_BUF (arg); } break; #endif case TYPE_POINTER: { void *arg = a.arg[dp->arg_index].a.a_pointer; SNPRINTF_BUF (arg); } break; default: abort (); } #if USE_SNPRINTF /* Portability: Not all implementations of snprintf() are ISO C 99 compliant. Determine the number of bytes that snprintf() has produced or would have produced. */ if (count >= 0) { /* Verify that snprintf() has NUL-terminated its result. */ if (count < maxlen && ((TCHAR_T *) (result + length)) [count] != '\0') abort (); /* Portability hack. */ if (retcount > count) count = retcount; } else { /* snprintf() doesn't understand the '%n' directive. */ if (fbp[1] != '\0') { /* Don't use the '%n' directive; instead, look at the snprintf() return value. */ fbp[1] = '\0'; continue; } else { /* Look at the snprintf() return value. */ if (retcount < 0) { /* HP-UX 10.20 snprintf() is doubly deficient: It doesn't understand the '%n' directive, *and* it returns -1 (rather than the length that would have been required) when the buffer is too small. */ size_t bigger_need = xsum (xtimes (allocated, 2), 12); ENSURE_ALLOCATION (bigger_need); continue; } else count = retcount; } } #endif /* Attempt to handle failure. */ if (count < 0) { if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EINVAL; return NULL; } #if USE_SNPRINTF /* Handle overflow of the allocated buffer. If such an overflow occurs, a C99 compliant snprintf() returns a count >= maxlen. However, a non-compliant snprintf() function returns only count = maxlen - 1. To cover both cases, test whether count >= maxlen - 1. */ if ((unsigned int) count + 1 >= maxlen) { /* If maxlen already has attained its allowed maximum, allocating more memory will not increase maxlen. Instead of looping, bail out. */ if (maxlen == INT_MAX / TCHARS_PER_DCHAR) goto overflow; else { /* Need at least count * sizeof (TCHAR_T) bytes. But allocate proportionally, to avoid looping eternally if snprintf() reports a too small count. */ size_t n = xmax (xsum (length, (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR), xtimes (allocated, 2)); ENSURE_ALLOCATION (n); continue; } } #endif #if NEED_PRINTF_UNBOUNDED_PRECISION if (prec_ourselves) { /* Handle the precision. */ TCHAR_T *prec_ptr = # if USE_SNPRINTF (TCHAR_T *) (result + length); # else tmp; # endif size_t prefix_count; size_t move; prefix_count = 0; /* Put the additional zeroes after the sign. */ if (count >= 1 && (*prec_ptr == '-' || *prec_ptr == '+' || *prec_ptr == ' ')) prefix_count = 1; /* Put the additional zeroes after the 0x prefix if (flags & FLAG_ALT) || (dp->conversion == 'p'). */ else if (count >= 2 && prec_ptr[0] == '0' && (prec_ptr[1] == 'x' || prec_ptr[1] == 'X')) prefix_count = 2; move = count - prefix_count; if (precision > move) { /* Insert zeroes. */ size_t insert = precision - move; TCHAR_T *prec_end; # if USE_SNPRINTF size_t n = xsum (length, (count + insert + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR); length += (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; ENSURE_ALLOCATION (n); length -= (count + TCHARS_PER_DCHAR - 1) / TCHARS_PER_DCHAR; prec_ptr = (TCHAR_T *) (result + length); # endif prec_end = prec_ptr + count; prec_ptr += prefix_count; while (prec_end > prec_ptr) { prec_end--; prec_end[insert] = prec_end[0]; } prec_end += insert; do *--prec_end = '0'; while (prec_end > prec_ptr); count += insert; } } #endif #if !DCHAR_IS_TCHAR # if !USE_SNPRINTF if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); # endif /* Convert from TCHAR_T[] to DCHAR_T[]. */ if (dp->conversion == 'c' || dp->conversion == 's') { /* type = TYPE_CHAR or TYPE_WIDE_CHAR or TYPE_STRING TYPE_WIDE_STRING. The result string is not certainly ASCII. */ const TCHAR_T *tmpsrc; DCHAR_T *tmpdst; size_t tmpdst_len; /* This code assumes that TCHAR_T is 'char'. */ typedef int TCHAR_T_verify [2 * (sizeof (TCHAR_T) == 1) - 1]; # if USE_SNPRINTF tmpsrc = (TCHAR_T *) (result + length); # else tmpsrc = tmp; # endif tmpdst = NULL; tmpdst_len = 0; if (DCHAR_CONV_FROM_ENCODING (locale_charset (), iconveh_question_mark, tmpsrc, count, NULL, &tmpdst, &tmpdst_len) < 0) { int saved_errno = errno; if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = saved_errno; return NULL; } ENSURE_ALLOCATION (xsum (length, tmpdst_len)); DCHAR_CPY (result + length, tmpdst, tmpdst_len); free (tmpdst); count = tmpdst_len; } else { /* The result string is ASCII. Simple 1:1 conversion. */ # if USE_SNPRINTF /* If sizeof (DCHAR_T) == sizeof (TCHAR_T), it's a no-op conversion, in-place on the array starting at (result + length). */ if (sizeof (DCHAR_T) != sizeof (TCHAR_T)) # endif { const TCHAR_T *tmpsrc; DCHAR_T *tmpdst; size_t n; # if USE_SNPRINTF if (result == resultbuf) { tmpsrc = (TCHAR_T *) (result + length); /* ENSURE_ALLOCATION will not move tmpsrc (because it's part of resultbuf). */ ENSURE_ALLOCATION (xsum (length, count)); } else { /* ENSURE_ALLOCATION will move the array (because it uses realloc(). */ ENSURE_ALLOCATION (xsum (length, count)); tmpsrc = (TCHAR_T *) (result + length); } # else tmpsrc = tmp; ENSURE_ALLOCATION (xsum (length, count)); # endif tmpdst = result + length; /* Copy backwards, because of overlapping. */ tmpsrc += count; tmpdst += count; for (n = count; n > 0; n--) *--tmpdst = (unsigned char) *--tmpsrc; } } #endif #if DCHAR_IS_TCHAR && !USE_SNPRINTF /* Make room for the result. */ if (count > allocated - length) { /* Need at least count elements. But allocate proportionally. */ size_t n = xmax (xsum (length, count), xtimes (allocated, 2)); ENSURE_ALLOCATION (n); } #endif /* Here count <= allocated - length. */ /* Perform padding. */ #if !DCHAR_IS_TCHAR || ENABLE_UNISTDIO || NEED_PRINTF_FLAG_ZERO || NEED_PRINTF_UNBOUNDED_PRECISION if (pad_ourselves && has_width) { size_t w; # if ENABLE_UNISTDIO /* Outside POSIX, it's preferrable to compare the width against the number of _characters_ of the converted value. */ w = DCHAR_MBSNLEN (result + length, count); # else /* The width is compared against the number of _bytes_ of the converted value, says POSIX. */ w = count; # endif if (w < width) { size_t pad = width - w; # if USE_SNPRINTF /* Make room for the result. */ if (xsum (count, pad) > allocated - length) { /* Need at least count + pad elements. But allocate proportionally. */ size_t n = xmax (xsum3 (length, count, pad), xtimes (allocated, 2)); length += count; ENSURE_ALLOCATION (n); length -= count; } /* Here count + pad <= allocated - length. */ # endif { # if !DCHAR_IS_TCHAR || USE_SNPRINTF DCHAR_T * const rp = result + length; # else DCHAR_T * const rp = tmp; # endif DCHAR_T *p = rp + count; DCHAR_T *end = p + pad; # if NEED_PRINTF_FLAG_ZERO DCHAR_T *pad_ptr; # if !DCHAR_IS_TCHAR if (dp->conversion == 'c' || dp->conversion == 's') /* No zero-padding for string directives. */ pad_ptr = NULL; else # endif { pad_ptr = (*rp == '-' ? rp + 1 : rp); /* No zero-padding of "inf" and "nan". */ if ((*pad_ptr >= 'A' && *pad_ptr <= 'Z') || (*pad_ptr >= 'a' && *pad_ptr <= 'z')) pad_ptr = NULL; } # endif /* The generated string now extends from rp to p, with the zero padding insertion point being at pad_ptr. */ count = count + pad; /* = end - rp */ if (flags & FLAG_LEFT) { /* Pad with spaces on the right. */ for (; pad > 0; pad--) *p++ = ' '; } # if NEED_PRINTF_FLAG_ZERO else if ((flags & FLAG_ZERO) && pad_ptr != NULL) { /* Pad with zeroes. */ DCHAR_T *q = end; while (p > pad_ptr) *--q = *--p; for (; pad > 0; pad--) *p++ = '0'; } # endif else { /* Pad with spaces on the left. */ DCHAR_T *q = end; while (p > rp) *--q = *--p; for (; pad > 0; pad--) *p++ = ' '; } } } } #endif #if DCHAR_IS_TCHAR && !USE_SNPRINTF if (count >= tmp_length) /* tmp_length was incorrectly calculated - fix the code above! */ abort (); #endif /* Here still count <= allocated - length. */ #if !DCHAR_IS_TCHAR || USE_SNPRINTF /* The snprintf() result did fit. */ #else /* Append the sprintf() result. */ memcpy (result + length, tmp, count * sizeof (DCHAR_T)); #endif #if !USE_SNPRINTF if (tmp != tmpbuf) free (tmp); #endif #if NEED_PRINTF_DIRECTIVE_F if (dp->conversion == 'F') { /* Convert the %f result to upper case for %F. */ DCHAR_T *rp = result + length; size_t rc; for (rc = count; rc > 0; rc--, rp++) if (*rp >= 'a' && *rp <= 'z') *rp = *rp - 'a' + 'A'; } #endif length += count; break; } } } } /* Add the final NUL. */ ENSURE_ALLOCATION (xsum (length, 1)); result[length] = '\0'; if (result != resultbuf && length + 1 < allocated) { /* Shrink the allocated memory if possible. */ DCHAR_T *memory; memory = (DCHAR_T *) realloc (result, (length + 1) * sizeof (DCHAR_T)); if (memory != NULL) result = memory; } if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); *lengthp = length; /* Note that we can produce a big string of a length > INT_MAX. POSIX says that snprintf() fails with errno = EOVERFLOW in this case, but that's only because snprintf() returns an 'int'. This function does not have this limitation. */ return result; overflow: if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); CLEANUP (); errno = EOVERFLOW; return NULL; out_of_memory: if (!(result == resultbuf || result == NULL)) free (result); if (buf_malloced != NULL) free (buf_malloced); out_of_memory_1: CLEANUP (); errno = ENOMEM; return NULL; } } #undef TCHARS_PER_DCHAR #undef SNPRINTF #undef USE_SNPRINTF #undef DCHAR_CPY #undef PRINTF_PARSE #undef DIRECTIVES #undef DIRECTIVE #undef DCHAR_IS_TCHAR #undef TCHAR_T #undef DCHAR_T #undef FCHAR_T #undef VASNPRINTF KCemu-0.5.1/intl/finddomain.c0000644000175000017500000001367312417262523016205 0ustar glaubitzglaubitz/* Handle list of needed message catalogs Copyright (C) 1995-1999, 2000-2001, 2003-2007 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define_initialized __libc_rwlock_define_initialized # define gl_rwlock_rdlock __libc_rwlock_rdlock # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* @@ end of prolog @@ */ /* List of already loaded domains. */ static struct loaded_l10nfile *_nl_loaded_domains; /* Return a data structure describing the message catalog described by the DOMAINNAME and CATEGORY parameters with respect to the currently established bindings. */ struct loaded_l10nfile * internal_function _nl_find_domain (const char *dirname, char *locale, const char *domainname, struct binding *domainbinding) { struct loaded_l10nfile *retval; const char *language; const char *modifier; const char *territory; const char *codeset; const char *normalized_codeset; const char *alias_value; int mask; /* LOCALE can consist of up to four recognized parts for the XPG syntax: language[_territory][.codeset][@modifier] Beside the first part all of them are allowed to be missing. If the full specified locale is not found, the less specific one are looked for. The various parts will be stripped off according to the following order: (1) codeset (2) normalized codeset (3) territory (4) modifier */ /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ gl_rwlock_define_initialized (static, lock); gl_rwlock_rdlock (lock); /* If we have already tested for this locale entry there has to be one data set in the list of loaded domains. */ retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, strlen (dirname) + 1, 0, locale, NULL, NULL, NULL, NULL, domainname, 0); gl_rwlock_unlock (lock); if (retval != NULL) { /* We know something about this locale. */ int cnt; if (retval->decided <= 0) _nl_load_domain (retval, domainbinding); if (retval->data != NULL) return retval; for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) { if (retval->successor[cnt]->decided <= 0) _nl_load_domain (retval->successor[cnt], domainbinding); if (retval->successor[cnt]->data != NULL) break; } return retval; /* NOTREACHED */ } /* See whether the locale value is an alias. If yes its value *overwrites* the alias name. No test for the original value is done. */ alias_value = _nl_expand_alias (locale); if (alias_value != NULL) { #if defined _LIBC || defined HAVE_STRDUP locale = strdup (alias_value); if (locale == NULL) return NULL; #else size_t len = strlen (alias_value) + 1; locale = (char *) malloc (len); if (locale == NULL) return NULL; memcpy (locale, alias_value, len); #endif } /* Now we determine the single parts of the locale name. First look for the language. Termination symbols are `_', '.', and `@'. */ mask = _nl_explode_name (locale, &language, &modifier, &territory, &codeset, &normalized_codeset); if (mask == -1) /* This means we are out of core. */ return NULL; /* We need to protect modifying the _NL_LOADED_DOMAINS data. */ gl_rwlock_wrlock (lock); /* Create all possible locale entries which might be interested in generalization. */ retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname, strlen (dirname) + 1, mask, language, territory, codeset, normalized_codeset, modifier, domainname, 1); gl_rwlock_unlock (lock); if (retval == NULL) /* This means we are out of core. */ goto out; if (retval->decided <= 0) _nl_load_domain (retval, domainbinding); if (retval->data == NULL) { int cnt; for (cnt = 0; retval->successor[cnt] != NULL; ++cnt) { if (retval->successor[cnt]->decided <= 0) _nl_load_domain (retval->successor[cnt], domainbinding); if (retval->successor[cnt]->data != NULL) break; } } /* The room for an alias was dynamically allocated. Free it now. */ if (alias_value != NULL) free (locale); out: /* The space for normalized_codeset is dynamically allocated. Free it. */ if (mask & XPG_NORM_CODESET) free ((void *) normalized_codeset); return retval; } #ifdef _LIBC /* This is called from iconv/gconv_db.c's free_mem, as locales must be freed before freeing gconv steps arrays. */ void __libc_freeres_fn_section _nl_finddomain_subfreeres () { struct loaded_l10nfile *runp = _nl_loaded_domains; while (runp != NULL) { struct loaded_l10nfile *here = runp; if (runp->data != NULL) _nl_unload_domain ((struct loaded_domain *) runp->data); runp = runp->next; free ((char *) here->filename); free (here); } } #endif KCemu-0.5.1/intl/bindtextdom.c0000644000175000017500000002137212417262523016411 0ustar glaubitzglaubitz/* Implementation of the bindtextdomain(3) function Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define __libc_rwlock_define # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* Some compilers, like SunOS4 cc, don't have offsetof in . */ #ifndef offsetof # define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) #endif /* @@ end of prolog @@ */ /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define (extern, _nl_state_lock attribute_hidden) /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define BINDTEXTDOMAIN __bindtextdomain # define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset # ifndef strdup # define strdup(str) __strdup (str) # endif #else # define BINDTEXTDOMAIN libintl_bindtextdomain # define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset #endif /* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP to be used for the DOMAINNAME message catalog. If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not modified, only the current value is returned. If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither modified nor returned. */ static void set_binding_values (const char *domainname, const char **dirnamep, const char **codesetp) { struct binding *binding; int modified; /* Some sanity checks. */ if (domainname == NULL || domainname[0] == '\0') { if (dirnamep) *dirnamep = NULL; if (codesetp) *codesetp = NULL; return; } gl_rwlock_wrlock (_nl_state_lock); modified = 0; for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { int compare = strcmp (domainname, binding->domainname); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It is not in the list. */ binding = NULL; break; } } if (binding != NULL) { if (dirnamep) { const char *dirname = *dirnamep; if (dirname == NULL) /* The current binding has be to returned. */ *dirnamep = binding->dirname; else { /* The domain is already bound. If the new value and the old one are equal we simply do nothing. Otherwise replace the old binding. */ char *result = binding->dirname; if (strcmp (dirname, result) != 0) { if (strcmp (dirname, _nl_default_dirname) == 0) result = (char *) _nl_default_dirname; else { #if defined _LIBC || defined HAVE_STRDUP result = strdup (dirname); #else size_t len = strlen (dirname) + 1; result = (char *) malloc (len); if (__builtin_expect (result != NULL, 1)) memcpy (result, dirname, len); #endif } if (__builtin_expect (result != NULL, 1)) { if (binding->dirname != _nl_default_dirname) free (binding->dirname); binding->dirname = result; modified = 1; } } *dirnamep = result; } } if (codesetp) { const char *codeset = *codesetp; if (codeset == NULL) /* The current binding has be to returned. */ *codesetp = binding->codeset; else { /* The domain is already bound. If the new value and the old one are equal we simply do nothing. Otherwise replace the old binding. */ char *result = binding->codeset; if (result == NULL || strcmp (codeset, result) != 0) { #if defined _LIBC || defined HAVE_STRDUP result = strdup (codeset); #else size_t len = strlen (codeset) + 1; result = (char *) malloc (len); if (__builtin_expect (result != NULL, 1)) memcpy (result, codeset, len); #endif if (__builtin_expect (result != NULL, 1)) { if (binding->codeset != NULL) free (binding->codeset); binding->codeset = result; modified = 1; } } *codesetp = result; } } } else if ((dirnamep == NULL || *dirnamep == NULL) && (codesetp == NULL || *codesetp == NULL)) { /* Simply return the default values. */ if (dirnamep) *dirnamep = _nl_default_dirname; if (codesetp) *codesetp = NULL; } else { /* We have to create a new binding. */ size_t len = strlen (domainname) + 1; struct binding *new_binding = (struct binding *) malloc (offsetof (struct binding, domainname) + len); if (__builtin_expect (new_binding == NULL, 0)) goto failed; memcpy (new_binding->domainname, domainname, len); if (dirnamep) { const char *dirname = *dirnamep; if (dirname == NULL) /* The default value. */ dirname = _nl_default_dirname; else { if (strcmp (dirname, _nl_default_dirname) == 0) dirname = _nl_default_dirname; else { char *result; #if defined _LIBC || defined HAVE_STRDUP result = strdup (dirname); if (__builtin_expect (result == NULL, 0)) goto failed_dirname; #else size_t len = strlen (dirname) + 1; result = (char *) malloc (len); if (__builtin_expect (result == NULL, 0)) goto failed_dirname; memcpy (result, dirname, len); #endif dirname = result; } } *dirnamep = dirname; new_binding->dirname = (char *) dirname; } else /* The default value. */ new_binding->dirname = (char *) _nl_default_dirname; if (codesetp) { const char *codeset = *codesetp; if (codeset != NULL) { char *result; #if defined _LIBC || defined HAVE_STRDUP result = strdup (codeset); if (__builtin_expect (result == NULL, 0)) goto failed_codeset; #else size_t len = strlen (codeset) + 1; result = (char *) malloc (len); if (__builtin_expect (result == NULL, 0)) goto failed_codeset; memcpy (result, codeset, len); #endif codeset = result; } *codesetp = codeset; new_binding->codeset = (char *) codeset; } else new_binding->codeset = NULL; /* Now enqueue it. */ if (_nl_domain_bindings == NULL || strcmp (domainname, _nl_domain_bindings->domainname) < 0) { new_binding->next = _nl_domain_bindings; _nl_domain_bindings = new_binding; } else { binding = _nl_domain_bindings; while (binding->next != NULL && strcmp (domainname, binding->next->domainname) > 0) binding = binding->next; new_binding->next = binding->next; binding->next = new_binding; } modified = 1; /* Here we deal with memory allocation failures. */ if (0) { failed_codeset: if (new_binding->dirname != _nl_default_dirname) free (new_binding->dirname); failed_dirname: free (new_binding); failed: if (dirnamep) *dirnamep = NULL; if (codesetp) *codesetp = NULL; } } /* If we modified any binding, we flush the caches. */ if (modified) ++_nl_msg_cat_cntr; gl_rwlock_unlock (_nl_state_lock); } /* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ char * BINDTEXTDOMAIN (const char *domainname, const char *dirname) { set_binding_values (domainname, &dirname, NULL); return (char *) dirname; } /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ char * BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset) { set_binding_values (domainname, NULL, &codeset); return (char *) codeset; } #ifdef _LIBC /* Aliases for function names in GNU C Library. */ weak_alias (__bindtextdomain, bindtextdomain); weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset); #endif KCemu-0.5.1/intl/ChangeLog0000644000175000017500000000010712417262523015467 0ustar glaubitzglaubitz2007-11-07 GNU * Version 0.17 released. KCemu-0.5.1/intl/l10nflist.c0000644000175000017500000002557212417262523015712 0ustar glaubitzglaubitz/* Copyright (C) 1995-1999, 2000-2006 Free Software Foundation, Inc. Contributed by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for stpcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #if defined _LIBC || defined HAVE_ARGZ_H # include #endif #include #include #include #include "loadinfo.h" /* On some strange systems still no definition of NULL is found. Sigh! */ #ifndef NULL # if defined __STDC__ && __STDC__ # define NULL ((void *) 0) # else # define NULL 0 # endif #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # ifndef stpcpy # define stpcpy(dest, src) __stpcpy(dest, src) # endif #else # ifndef HAVE_STPCPY static char *stpcpy (char *dest, const char *src); # endif #endif /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, it may be concatenated to a directory pathname. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) #endif /* Define function which are usually not available. */ #ifdef _LIBC # define __argz_count(argz, len) INTUSE(__argz_count) (argz, len) #elif defined HAVE_ARGZ_COUNT # undef __argz_count # define __argz_count argz_count #else /* Returns the number of strings in ARGZ. */ static size_t argz_count__ (const char *argz, size_t len) { size_t count = 0; while (len > 0) { size_t part_len = strlen (argz); argz += part_len + 1; len -= part_len + 1; count++; } return count; } # undef __argz_count # define __argz_count(argz, len) argz_count__ (argz, len) #endif /* !_LIBC && !HAVE_ARGZ_COUNT */ #ifdef _LIBC # define __argz_stringify(argz, len, sep) \ INTUSE(__argz_stringify) (argz, len, sep) #elif defined HAVE_ARGZ_STRINGIFY # undef __argz_stringify # define __argz_stringify argz_stringify #else /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's except the last into the character SEP. */ static void argz_stringify__ (char *argz, size_t len, int sep) { while (len > 0) { size_t part_len = strlen (argz); argz += part_len; len -= part_len + 1; if (len > 0) *argz++ = sep; } } # undef __argz_stringify # define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep) #endif /* !_LIBC && !HAVE_ARGZ_STRINGIFY */ #ifdef _LIBC #elif defined HAVE_ARGZ_NEXT # undef __argz_next # define __argz_next argz_next #else static char * argz_next__ (char *argz, size_t argz_len, const char *entry) { if (entry) { if (entry < argz + argz_len) entry = strchr (entry, '\0') + 1; return entry >= argz + argz_len ? NULL : (char *) entry; } else if (argz_len > 0) return argz; else return 0; } # undef __argz_next # define __argz_next(argz, len, entry) argz_next__ (argz, len, entry) #endif /* !_LIBC && !HAVE_ARGZ_NEXT */ /* Return number of bits set in X. */ static inline int pop (int x) { /* We assume that no more than 16 bits are used. */ x = ((x & ~0x5555) >> 1) + (x & 0x5555); x = ((x & ~0x3333) >> 2) + (x & 0x3333); x = ((x >> 4) + x) & 0x0f0f; x = ((x >> 8) + x) & 0xff; return x; } struct loaded_l10nfile * _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, const char *dirlist, size_t dirlist_len, int mask, const char *language, const char *territory, const char *codeset, const char *normalized_codeset, const char *modifier, const char *filename, int do_allocate) { char *abs_filename; struct loaded_l10nfile **lastp; struct loaded_l10nfile *retval; char *cp; size_t dirlist_count; size_t entries; int cnt; /* If LANGUAGE contains an absolute directory specification, we ignore DIRLIST. */ if (IS_ABSOLUTE_PATH (language)) dirlist_len = 0; /* Allocate room for the full file name. */ abs_filename = (char *) malloc (dirlist_len + strlen (language) + ((mask & XPG_TERRITORY) != 0 ? strlen (territory) + 1 : 0) + ((mask & XPG_CODESET) != 0 ? strlen (codeset) + 1 : 0) + ((mask & XPG_NORM_CODESET) != 0 ? strlen (normalized_codeset) + 1 : 0) + ((mask & XPG_MODIFIER) != 0 ? strlen (modifier) + 1 : 0) + 1 + strlen (filename) + 1); if (abs_filename == NULL) return NULL; /* Construct file name. */ cp = abs_filename; if (dirlist_len > 0) { memcpy (cp, dirlist, dirlist_len); __argz_stringify (cp, dirlist_len, PATH_SEPARATOR); cp += dirlist_len; cp[-1] = '/'; } cp = stpcpy (cp, language); if ((mask & XPG_TERRITORY) != 0) { *cp++ = '_'; cp = stpcpy (cp, territory); } if ((mask & XPG_CODESET) != 0) { *cp++ = '.'; cp = stpcpy (cp, codeset); } if ((mask & XPG_NORM_CODESET) != 0) { *cp++ = '.'; cp = stpcpy (cp, normalized_codeset); } if ((mask & XPG_MODIFIER) != 0) { *cp++ = '@'; cp = stpcpy (cp, modifier); } *cp++ = '/'; stpcpy (cp, filename); /* Look in list of already loaded domains whether it is already available. */ lastp = l10nfile_list; for (retval = *l10nfile_list; retval != NULL; retval = retval->next) if (retval->filename != NULL) { int compare = strcmp (retval->filename, abs_filename); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It's not in the list. */ retval = NULL; break; } lastp = &retval->next; } if (retval != NULL || do_allocate == 0) { free (abs_filename); return retval; } dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1); /* Allocate a new loaded_l10nfile. */ retval = (struct loaded_l10nfile *) malloc (sizeof (*retval) + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0)) * sizeof (struct loaded_l10nfile *))); if (retval == NULL) { free (abs_filename); return NULL; } retval->filename = abs_filename; /* We set retval->data to NULL here; it is filled in later. Setting retval->decided to 1 here means that retval does not correspond to a real file (dirlist_count > 1) or is not worth looking up (if an unnormalized codeset was specified). */ retval->decided = (dirlist_count > 1 || ((mask & XPG_CODESET) != 0 && (mask & XPG_NORM_CODESET) != 0)); retval->data = NULL; retval->next = *lastp; *lastp = retval; entries = 0; /* Recurse to fill the inheritance list of RETVAL. If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL entry does not correspond to a real file; retval->filename contains colons. In this case we loop across all elements of DIRLIST and across all bit patterns dominated by MASK. If the DIRLIST is a single directory or entirely redundant (i.e. DIRLIST_COUNT == 1), we loop across all bit patterns dominated by MASK, excluding MASK itself. In either case, we loop down from MASK to 0. This has the effect that the extra bits in the locale name are dropped in this order: first the modifier, then the territory, then the codeset, then the normalized_codeset. */ for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt) if ((cnt & ~mask) == 0 && !((cnt & XPG_CODESET) != 0 && (cnt & XPG_NORM_CODESET) != 0)) { if (dirlist_count > 1) { /* Iterate over all elements of the DIRLIST. */ char *dir = NULL; while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir)) != NULL) retval->successor[entries++] = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt, language, territory, codeset, normalized_codeset, modifier, filename, 1); } else retval->successor[entries++] = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, cnt, language, territory, codeset, normalized_codeset, modifier, filename, 1); } retval->successor[entries] = NULL; return retval; } /* Normalize codeset name. There is no standard for the codeset names. Normalization allows the user to use any of the common names. The return value is dynamically allocated and has to be freed by the caller. */ const char * _nl_normalize_codeset (const char *codeset, size_t name_len) { int len = 0; int only_digit = 1; char *retval; char *wp; size_t cnt; for (cnt = 0; cnt < name_len; ++cnt) if (isalnum ((unsigned char) codeset[cnt])) { ++len; if (isalpha ((unsigned char) codeset[cnt])) only_digit = 0; } retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1); if (retval != NULL) { if (only_digit) wp = stpcpy (retval, "iso"); else wp = retval; for (cnt = 0; cnt < name_len; ++cnt) if (isalpha ((unsigned char) codeset[cnt])) *wp++ = tolower ((unsigned char) codeset[cnt]); else if (isdigit ((unsigned char) codeset[cnt])) *wp++ = codeset[cnt]; *wp = '\0'; } return (const char *) retval; } /* @@ begin of epilog @@ */ /* We don't want libintl.a to depend on any other library. So we avoid the non-standard function stpcpy. In GNU C Library this function is available, though. Also allow the symbol HAVE_STPCPY to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * stpcpy (char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1; } #endif KCemu-0.5.1/intl/libintl.rc0000644000175000017500000000323312417262523015703 0ustar glaubitzglaubitz/* Resources for intl.dll */ #include VS_VERSION_INFO VERSIONINFO FILEVERSION PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_SUBMINOR,0 PRODUCTVERSION PACKAGE_VERSION_MAJOR,PACKAGE_VERSION_MINOR,PACKAGE_VERSION_SUBMINOR,0 FILEFLAGSMASK 0x3fL /* VS_FFI_FILEFLAGSMASK */ #ifdef _DEBUG FILEFLAGS 0x1L /* VS_FF_DEBUG */ #else FILEFLAGS 0x0L #endif FILEOS 0x10004L /* VOS_DOS_WINDOWS32 */ FILETYPE 0x2L /* VFT_DLL */ FILESUBTYPE 0x0L /* VFT2_UNKNOWN */ BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "04090000" /* Lang = US English, Charset = ASCII */ BEGIN VALUE "Comments", "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\0" VALUE "CompanyName", "Free Software Foundation\0" VALUE "FileDescription", "LGPLed libintl for Windows NT/2000/XP/Vista and Windows 95/98/ME\0" VALUE "FileVersion", PACKAGE_VERSION_STRING "\0" VALUE "InternalName", "intl.dll\0" VALUE "LegalCopyright", "Copyright (C) 1995-2007\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "intl.dll\0" VALUE "ProductName", "libintl: accessing NLS message catalogs\0" VALUE "ProductVersion", PACKAGE_VERSION_STRING "\0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x0409, 0 /* US English, ASCII */ END END KCemu-0.5.1/intl/plural.y0000644000175000017500000001657612417262523015427 0ustar glaubitzglaubitz%{ /* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005-2006 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* For bison < 2.0, the bison generated parser uses alloca. AIX 3 forces us to put this declaration at the beginning of the file. The declaration in bison's skeleton file comes too late. This must come before because may include arbitrary system headers. This can go away once the AM_INTL_SUBDIR macro requires bison >= 2.0. */ #if defined _AIX && !defined __GNUC__ #pragma alloca #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" /* The main function generated by the parser is called __gettextparse, but we want it to be called PLURAL_PARSE. */ #ifndef _LIBC # define __gettextparse PLURAL_PARSE #endif #define YYLEX_PARAM &((struct parse_args *) arg)->cp #define YYPARSE_PARAM arg %} %pure_parser %expect 7 %union { unsigned long int num; enum expression_operator op; struct expression *exp; } %{ /* Prototypes for local functions. */ static int yylex (YYSTYPE *lval, const char **pexp); static void yyerror (const char *str); /* Allocation of expressions. */ static struct expression * new_exp (int nargs, enum expression_operator op, struct expression * const *args) { int i; struct expression *newp; /* If any of the argument could not be malloc'ed, just return NULL. */ for (i = nargs - 1; i >= 0; i--) if (args[i] == NULL) goto fail; /* Allocate a new expression. */ newp = (struct expression *) malloc (sizeof (*newp)); if (newp != NULL) { newp->nargs = nargs; newp->operation = op; for (i = nargs - 1; i >= 0; i--) newp->val.args[i] = args[i]; return newp; } fail: for (i = nargs - 1; i >= 0; i--) FREE_EXPRESSION (args[i]); return NULL; } static inline struct expression * new_exp_0 (enum expression_operator op) { return new_exp (0, op, NULL); } static inline struct expression * new_exp_1 (enum expression_operator op, struct expression *right) { struct expression *args[1]; args[0] = right; return new_exp (1, op, args); } static struct expression * new_exp_2 (enum expression_operator op, struct expression *left, struct expression *right) { struct expression *args[2]; args[0] = left; args[1] = right; return new_exp (2, op, args); } static inline struct expression * new_exp_3 (enum expression_operator op, struct expression *bexp, struct expression *tbranch, struct expression *fbranch) { struct expression *args[3]; args[0] = bexp; args[1] = tbranch; args[2] = fbranch; return new_exp (3, op, args); } %} /* This declares that all operators have the same associativity and the precedence order as in C. See [Harbison, Steele: C, A Reference Manual]. There is no unary minus and no bitwise operators. Operators with the same syntactic behaviour have been merged into a single token, to save space in the array generated by bison. */ %right '?' /* ? */ %left '|' /* || */ %left '&' /* && */ %left EQUOP2 /* == != */ %left CMPOP2 /* < > <= >= */ %left ADDOP2 /* + - */ %left MULOP2 /* * / % */ %right '!' /* ! */ %token EQUOP2 CMPOP2 ADDOP2 MULOP2 %token NUMBER %type exp %% start: exp { if ($1 == NULL) YYABORT; ((struct parse_args *) arg)->res = $1; } ; exp: exp '?' exp ':' exp { $$ = new_exp_3 (qmop, $1, $3, $5); } | exp '|' exp { $$ = new_exp_2 (lor, $1, $3); } | exp '&' exp { $$ = new_exp_2 (land, $1, $3); } | exp EQUOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp CMPOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp ADDOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | exp MULOP2 exp { $$ = new_exp_2 ($2, $1, $3); } | '!' exp { $$ = new_exp_1 (lnot, $2); } | 'n' { $$ = new_exp_0 (var); } | NUMBER { if (($$ = new_exp_0 (num)) != NULL) $$->val.num = $1; } | '(' exp ')' { $$ = $2; } ; %% void internal_function FREE_EXPRESSION (struct expression *exp) { if (exp == NULL) return; /* Handle the recursive case. */ switch (exp->nargs) { case 3: FREE_EXPRESSION (exp->val.args[2]); /* FALLTHROUGH */ case 2: FREE_EXPRESSION (exp->val.args[1]); /* FALLTHROUGH */ case 1: FREE_EXPRESSION (exp->val.args[0]); /* FALLTHROUGH */ default: break; } free (exp); } static int yylex (YYSTYPE *lval, const char **pexp) { const char *exp = *pexp; int result; while (1) { if (exp[0] == '\0') { *pexp = exp; return YYEOF; } if (exp[0] != ' ' && exp[0] != '\t') break; ++exp; } result = *exp++; switch (result) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { unsigned long int n = result - '0'; while (exp[0] >= '0' && exp[0] <= '9') { n *= 10; n += exp[0] - '0'; ++exp; } lval->num = n; result = NUMBER; } break; case '=': if (exp[0] == '=') { ++exp; lval->op = equal; result = EQUOP2; } else result = YYERRCODE; break; case '!': if (exp[0] == '=') { ++exp; lval->op = not_equal; result = EQUOP2; } break; case '&': case '|': if (exp[0] == result) ++exp; else result = YYERRCODE; break; case '<': if (exp[0] == '=') { ++exp; lval->op = less_or_equal; } else lval->op = less_than; result = CMPOP2; break; case '>': if (exp[0] == '=') { ++exp; lval->op = greater_or_equal; } else lval->op = greater_than; result = CMPOP2; break; case '*': lval->op = mult; result = MULOP2; break; case '/': lval->op = divide; result = MULOP2; break; case '%': lval->op = module; result = MULOP2; break; case '+': lval->op = plus; result = ADDOP2; break; case '-': lval->op = minus; result = ADDOP2; break; case 'n': case '?': case ':': case '(': case ')': /* Nothing, just return the character. */ break; case ';': case '\n': case '\0': /* Be safe and let the user call this function again. */ --exp; result = YYEOF; break; default: result = YYERRCODE; #if YYDEBUG != 0 --exp; #endif break; } *pexp = exp; return result; } static void yyerror (const char *str) { /* Do nothing. We don't print error messages here. */ } KCemu-0.5.1/intl/loadmsgcat.c0000644000175000017500000010270012417262523016201 0ustar glaubitzglaubitz/* Load needed message catalogs. Copyright (C) 1995-1999, 2000-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #ifdef __GNUC__ # undef alloca # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #ifdef _LIBC # include # include #endif #if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \ || (defined _LIBC && defined _POSIX_MAPPED_FILES) # include # undef HAVE_MMAP # define HAVE_MMAP 1 #else # undef HAVE_MMAP #endif #if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC # include #endif #if defined HAVE_INTTYPES_H || defined _LIBC # include #endif #include "gmo.h" #include "gettextP.h" #include "hash-string.h" #include "plural-exp.h" #ifdef _LIBC # include "../locale/localeinfo.h" # include #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif /* Provide fallback values for macros that ought to be defined in . Note that our fallback values need not be literal strings, because we don't use them with preprocessor string concatenation. */ #if !defined PRId8 || PRI_MACROS_BROKEN # undef PRId8 # define PRId8 "d" #endif #if !defined PRIi8 || PRI_MACROS_BROKEN # undef PRIi8 # define PRIi8 "i" #endif #if !defined PRIo8 || PRI_MACROS_BROKEN # undef PRIo8 # define PRIo8 "o" #endif #if !defined PRIu8 || PRI_MACROS_BROKEN # undef PRIu8 # define PRIu8 "u" #endif #if !defined PRIx8 || PRI_MACROS_BROKEN # undef PRIx8 # define PRIx8 "x" #endif #if !defined PRIX8 || PRI_MACROS_BROKEN # undef PRIX8 # define PRIX8 "X" #endif #if !defined PRId16 || PRI_MACROS_BROKEN # undef PRId16 # define PRId16 "d" #endif #if !defined PRIi16 || PRI_MACROS_BROKEN # undef PRIi16 # define PRIi16 "i" #endif #if !defined PRIo16 || PRI_MACROS_BROKEN # undef PRIo16 # define PRIo16 "o" #endif #if !defined PRIu16 || PRI_MACROS_BROKEN # undef PRIu16 # define PRIu16 "u" #endif #if !defined PRIx16 || PRI_MACROS_BROKEN # undef PRIx16 # define PRIx16 "x" #endif #if !defined PRIX16 || PRI_MACROS_BROKEN # undef PRIX16 # define PRIX16 "X" #endif #if !defined PRId32 || PRI_MACROS_BROKEN # undef PRId32 # define PRId32 "d" #endif #if !defined PRIi32 || PRI_MACROS_BROKEN # undef PRIi32 # define PRIi32 "i" #endif #if !defined PRIo32 || PRI_MACROS_BROKEN # undef PRIo32 # define PRIo32 "o" #endif #if !defined PRIu32 || PRI_MACROS_BROKEN # undef PRIu32 # define PRIu32 "u" #endif #if !defined PRIx32 || PRI_MACROS_BROKEN # undef PRIx32 # define PRIx32 "x" #endif #if !defined PRIX32 || PRI_MACROS_BROKEN # undef PRIX32 # define PRIX32 "X" #endif #if !defined PRId64 || PRI_MACROS_BROKEN # undef PRId64 # define PRId64 (sizeof (long) == 8 ? "ld" : "lld") #endif #if !defined PRIi64 || PRI_MACROS_BROKEN # undef PRIi64 # define PRIi64 (sizeof (long) == 8 ? "li" : "lli") #endif #if !defined PRIo64 || PRI_MACROS_BROKEN # undef PRIo64 # define PRIo64 (sizeof (long) == 8 ? "lo" : "llo") #endif #if !defined PRIu64 || PRI_MACROS_BROKEN # undef PRIu64 # define PRIu64 (sizeof (long) == 8 ? "lu" : "llu") #endif #if !defined PRIx64 || PRI_MACROS_BROKEN # undef PRIx64 # define PRIx64 (sizeof (long) == 8 ? "lx" : "llx") #endif #if !defined PRIX64 || PRI_MACROS_BROKEN # undef PRIX64 # define PRIX64 (sizeof (long) == 8 ? "lX" : "llX") #endif #if !defined PRIdLEAST8 || PRI_MACROS_BROKEN # undef PRIdLEAST8 # define PRIdLEAST8 "d" #endif #if !defined PRIiLEAST8 || PRI_MACROS_BROKEN # undef PRIiLEAST8 # define PRIiLEAST8 "i" #endif #if !defined PRIoLEAST8 || PRI_MACROS_BROKEN # undef PRIoLEAST8 # define PRIoLEAST8 "o" #endif #if !defined PRIuLEAST8 || PRI_MACROS_BROKEN # undef PRIuLEAST8 # define PRIuLEAST8 "u" #endif #if !defined PRIxLEAST8 || PRI_MACROS_BROKEN # undef PRIxLEAST8 # define PRIxLEAST8 "x" #endif #if !defined PRIXLEAST8 || PRI_MACROS_BROKEN # undef PRIXLEAST8 # define PRIXLEAST8 "X" #endif #if !defined PRIdLEAST16 || PRI_MACROS_BROKEN # undef PRIdLEAST16 # define PRIdLEAST16 "d" #endif #if !defined PRIiLEAST16 || PRI_MACROS_BROKEN # undef PRIiLEAST16 # define PRIiLEAST16 "i" #endif #if !defined PRIoLEAST16 || PRI_MACROS_BROKEN # undef PRIoLEAST16 # define PRIoLEAST16 "o" #endif #if !defined PRIuLEAST16 || PRI_MACROS_BROKEN # undef PRIuLEAST16 # define PRIuLEAST16 "u" #endif #if !defined PRIxLEAST16 || PRI_MACROS_BROKEN # undef PRIxLEAST16 # define PRIxLEAST16 "x" #endif #if !defined PRIXLEAST16 || PRI_MACROS_BROKEN # undef PRIXLEAST16 # define PRIXLEAST16 "X" #endif #if !defined PRIdLEAST32 || PRI_MACROS_BROKEN # undef PRIdLEAST32 # define PRIdLEAST32 "d" #endif #if !defined PRIiLEAST32 || PRI_MACROS_BROKEN # undef PRIiLEAST32 # define PRIiLEAST32 "i" #endif #if !defined PRIoLEAST32 || PRI_MACROS_BROKEN # undef PRIoLEAST32 # define PRIoLEAST32 "o" #endif #if !defined PRIuLEAST32 || PRI_MACROS_BROKEN # undef PRIuLEAST32 # define PRIuLEAST32 "u" #endif #if !defined PRIxLEAST32 || PRI_MACROS_BROKEN # undef PRIxLEAST32 # define PRIxLEAST32 "x" #endif #if !defined PRIXLEAST32 || PRI_MACROS_BROKEN # undef PRIXLEAST32 # define PRIXLEAST32 "X" #endif #if !defined PRIdLEAST64 || PRI_MACROS_BROKEN # undef PRIdLEAST64 # define PRIdLEAST64 PRId64 #endif #if !defined PRIiLEAST64 || PRI_MACROS_BROKEN # undef PRIiLEAST64 # define PRIiLEAST64 PRIi64 #endif #if !defined PRIoLEAST64 || PRI_MACROS_BROKEN # undef PRIoLEAST64 # define PRIoLEAST64 PRIo64 #endif #if !defined PRIuLEAST64 || PRI_MACROS_BROKEN # undef PRIuLEAST64 # define PRIuLEAST64 PRIu64 #endif #if !defined PRIxLEAST64 || PRI_MACROS_BROKEN # undef PRIxLEAST64 # define PRIxLEAST64 PRIx64 #endif #if !defined PRIXLEAST64 || PRI_MACROS_BROKEN # undef PRIXLEAST64 # define PRIXLEAST64 PRIX64 #endif #if !defined PRIdFAST8 || PRI_MACROS_BROKEN # undef PRIdFAST8 # define PRIdFAST8 "d" #endif #if !defined PRIiFAST8 || PRI_MACROS_BROKEN # undef PRIiFAST8 # define PRIiFAST8 "i" #endif #if !defined PRIoFAST8 || PRI_MACROS_BROKEN # undef PRIoFAST8 # define PRIoFAST8 "o" #endif #if !defined PRIuFAST8 || PRI_MACROS_BROKEN # undef PRIuFAST8 # define PRIuFAST8 "u" #endif #if !defined PRIxFAST8 || PRI_MACROS_BROKEN # undef PRIxFAST8 # define PRIxFAST8 "x" #endif #if !defined PRIXFAST8 || PRI_MACROS_BROKEN # undef PRIXFAST8 # define PRIXFAST8 "X" #endif #if !defined PRIdFAST16 || PRI_MACROS_BROKEN # undef PRIdFAST16 # define PRIdFAST16 "d" #endif #if !defined PRIiFAST16 || PRI_MACROS_BROKEN # undef PRIiFAST16 # define PRIiFAST16 "i" #endif #if !defined PRIoFAST16 || PRI_MACROS_BROKEN # undef PRIoFAST16 # define PRIoFAST16 "o" #endif #if !defined PRIuFAST16 || PRI_MACROS_BROKEN # undef PRIuFAST16 # define PRIuFAST16 "u" #endif #if !defined PRIxFAST16 || PRI_MACROS_BROKEN # undef PRIxFAST16 # define PRIxFAST16 "x" #endif #if !defined PRIXFAST16 || PRI_MACROS_BROKEN # undef PRIXFAST16 # define PRIXFAST16 "X" #endif #if !defined PRIdFAST32 || PRI_MACROS_BROKEN # undef PRIdFAST32 # define PRIdFAST32 "d" #endif #if !defined PRIiFAST32 || PRI_MACROS_BROKEN # undef PRIiFAST32 # define PRIiFAST32 "i" #endif #if !defined PRIoFAST32 || PRI_MACROS_BROKEN # undef PRIoFAST32 # define PRIoFAST32 "o" #endif #if !defined PRIuFAST32 || PRI_MACROS_BROKEN # undef PRIuFAST32 # define PRIuFAST32 "u" #endif #if !defined PRIxFAST32 || PRI_MACROS_BROKEN # undef PRIxFAST32 # define PRIxFAST32 "x" #endif #if !defined PRIXFAST32 || PRI_MACROS_BROKEN # undef PRIXFAST32 # define PRIXFAST32 "X" #endif #if !defined PRIdFAST64 || PRI_MACROS_BROKEN # undef PRIdFAST64 # define PRIdFAST64 PRId64 #endif #if !defined PRIiFAST64 || PRI_MACROS_BROKEN # undef PRIiFAST64 # define PRIiFAST64 PRIi64 #endif #if !defined PRIoFAST64 || PRI_MACROS_BROKEN # undef PRIoFAST64 # define PRIoFAST64 PRIo64 #endif #if !defined PRIuFAST64 || PRI_MACROS_BROKEN # undef PRIuFAST64 # define PRIuFAST64 PRIu64 #endif #if !defined PRIxFAST64 || PRI_MACROS_BROKEN # undef PRIxFAST64 # define PRIxFAST64 PRIx64 #endif #if !defined PRIXFAST64 || PRI_MACROS_BROKEN # undef PRIXFAST64 # define PRIXFAST64 PRIX64 #endif #if !defined PRIdMAX || PRI_MACROS_BROKEN # undef PRIdMAX # define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld") #endif #if !defined PRIiMAX || PRI_MACROS_BROKEN # undef PRIiMAX # define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli") #endif #if !defined PRIoMAX || PRI_MACROS_BROKEN # undef PRIoMAX # define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo") #endif #if !defined PRIuMAX || PRI_MACROS_BROKEN # undef PRIuMAX # define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu") #endif #if !defined PRIxMAX || PRI_MACROS_BROKEN # undef PRIxMAX # define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx") #endif #if !defined PRIXMAX || PRI_MACROS_BROKEN # undef PRIXMAX # define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX") #endif #if !defined PRIdPTR || PRI_MACROS_BROKEN # undef PRIdPTR # define PRIdPTR \ (sizeof (void *) == sizeof (long) ? "ld" : \ sizeof (void *) == sizeof (int) ? "d" : \ "lld") #endif #if !defined PRIiPTR || PRI_MACROS_BROKEN # undef PRIiPTR # define PRIiPTR \ (sizeof (void *) == sizeof (long) ? "li" : \ sizeof (void *) == sizeof (int) ? "i" : \ "lli") #endif #if !defined PRIoPTR || PRI_MACROS_BROKEN # undef PRIoPTR # define PRIoPTR \ (sizeof (void *) == sizeof (long) ? "lo" : \ sizeof (void *) == sizeof (int) ? "o" : \ "llo") #endif #if !defined PRIuPTR || PRI_MACROS_BROKEN # undef PRIuPTR # define PRIuPTR \ (sizeof (void *) == sizeof (long) ? "lu" : \ sizeof (void *) == sizeof (int) ? "u" : \ "llu") #endif #if !defined PRIxPTR || PRI_MACROS_BROKEN # undef PRIxPTR # define PRIxPTR \ (sizeof (void *) == sizeof (long) ? "lx" : \ sizeof (void *) == sizeof (int) ? "x" : \ "llx") #endif #if !defined PRIXPTR || PRI_MACROS_BROKEN # undef PRIXPTR # define PRIXPTR \ (sizeof (void *) == sizeof (long) ? "lX" : \ sizeof (void *) == sizeof (int) ? "X" : \ "llX") #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ISO C functions. This is required by the standard because some ISO C functions will require linking with this object file and the name space must not be polluted. */ # define open(name, flags) open_not_cancel_2 (name, flags) # define close(fd) close_not_cancel_no_status (fd) # define read(fd, buf, n) read_not_cancel (fd, buf, n) # define mmap(addr, len, prot, flags, fd, offset) \ __mmap (addr, len, prot, flags, fd, offset) # define munmap(addr, len) __munmap (addr, len) #endif /* For those losing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA # define freea(p) /* nothing */ #else # define alloca(n) malloc (n) # define freea(p) free (p) #endif /* For systems that distinguish between text and binary I/O. O_BINARY is usually declared in . */ #if !defined O_BINARY && defined _O_BINARY /* For MSC-compatible compilers. */ # define O_BINARY _O_BINARY # define O_TEXT _O_TEXT #endif #ifdef __BEOS__ /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */ # undef O_BINARY # undef O_TEXT #endif /* On reasonable systems, binary I/O is the default. */ #ifndef O_BINARY # define O_BINARY 0 #endif /* We need a sign, whether a new catalog was loaded, which can be associated with all translations. This is important if the translations are cached by one of GCC's features. */ int _nl_msg_cat_cntr; /* Expand a system dependent string segment. Return NULL if unsupported. */ static const char * get_sysdep_segment_value (const char *name) { /* Test for an ISO C 99 section 7.8.1 format string directive. Syntax: P R I { d | i | o | u | x | X } { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */ /* We don't use a table of 14 times 6 'const char *' strings here, because data relocations cost startup time. */ if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I') { if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u' || name[3] == 'x' || name[3] == 'X') { if (name[4] == '8' && name[5] == '\0') { if (name[3] == 'd') return PRId8; if (name[3] == 'i') return PRIi8; if (name[3] == 'o') return PRIo8; if (name[3] == 'u') return PRIu8; if (name[3] == 'x') return PRIx8; if (name[3] == 'X') return PRIX8; abort (); } if (name[4] == '1' && name[5] == '6' && name[6] == '\0') { if (name[3] == 'd') return PRId16; if (name[3] == 'i') return PRIi16; if (name[3] == 'o') return PRIo16; if (name[3] == 'u') return PRIu16; if (name[3] == 'x') return PRIx16; if (name[3] == 'X') return PRIX16; abort (); } if (name[4] == '3' && name[5] == '2' && name[6] == '\0') { if (name[3] == 'd') return PRId32; if (name[3] == 'i') return PRIi32; if (name[3] == 'o') return PRIo32; if (name[3] == 'u') return PRIu32; if (name[3] == 'x') return PRIx32; if (name[3] == 'X') return PRIX32; abort (); } if (name[4] == '6' && name[5] == '4' && name[6] == '\0') { if (name[3] == 'd') return PRId64; if (name[3] == 'i') return PRIi64; if (name[3] == 'o') return PRIo64; if (name[3] == 'u') return PRIu64; if (name[3] == 'x') return PRIx64; if (name[3] == 'X') return PRIX64; abort (); } if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A' && name[7] == 'S' && name[8] == 'T') { if (name[9] == '8' && name[10] == '\0') { if (name[3] == 'd') return PRIdLEAST8; if (name[3] == 'i') return PRIiLEAST8; if (name[3] == 'o') return PRIoLEAST8; if (name[3] == 'u') return PRIuLEAST8; if (name[3] == 'x') return PRIxLEAST8; if (name[3] == 'X') return PRIXLEAST8; abort (); } if (name[9] == '1' && name[10] == '6' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST16; if (name[3] == 'i') return PRIiLEAST16; if (name[3] == 'o') return PRIoLEAST16; if (name[3] == 'u') return PRIuLEAST16; if (name[3] == 'x') return PRIxLEAST16; if (name[3] == 'X') return PRIXLEAST16; abort (); } if (name[9] == '3' && name[10] == '2' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST32; if (name[3] == 'i') return PRIiLEAST32; if (name[3] == 'o') return PRIoLEAST32; if (name[3] == 'u') return PRIuLEAST32; if (name[3] == 'x') return PRIxLEAST32; if (name[3] == 'X') return PRIXLEAST32; abort (); } if (name[9] == '6' && name[10] == '4' && name[11] == '\0') { if (name[3] == 'd') return PRIdLEAST64; if (name[3] == 'i') return PRIiLEAST64; if (name[3] == 'o') return PRIoLEAST64; if (name[3] == 'u') return PRIuLEAST64; if (name[3] == 'x') return PRIxLEAST64; if (name[3] == 'X') return PRIXLEAST64; abort (); } } if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S' && name[7] == 'T') { if (name[8] == '8' && name[9] == '\0') { if (name[3] == 'd') return PRIdFAST8; if (name[3] == 'i') return PRIiFAST8; if (name[3] == 'o') return PRIoFAST8; if (name[3] == 'u') return PRIuFAST8; if (name[3] == 'x') return PRIxFAST8; if (name[3] == 'X') return PRIXFAST8; abort (); } if (name[8] == '1' && name[9] == '6' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST16; if (name[3] == 'i') return PRIiFAST16; if (name[3] == 'o') return PRIoFAST16; if (name[3] == 'u') return PRIuFAST16; if (name[3] == 'x') return PRIxFAST16; if (name[3] == 'X') return PRIXFAST16; abort (); } if (name[8] == '3' && name[9] == '2' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST32; if (name[3] == 'i') return PRIiFAST32; if (name[3] == 'o') return PRIoFAST32; if (name[3] == 'u') return PRIuFAST32; if (name[3] == 'x') return PRIxFAST32; if (name[3] == 'X') return PRIXFAST32; abort (); } if (name[8] == '6' && name[9] == '4' && name[10] == '\0') { if (name[3] == 'd') return PRIdFAST64; if (name[3] == 'i') return PRIiFAST64; if (name[3] == 'o') return PRIoFAST64; if (name[3] == 'u') return PRIuFAST64; if (name[3] == 'x') return PRIxFAST64; if (name[3] == 'X') return PRIXFAST64; abort (); } } if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X' && name[7] == '\0') { if (name[3] == 'd') return PRIdMAX; if (name[3] == 'i') return PRIiMAX; if (name[3] == 'o') return PRIoMAX; if (name[3] == 'u') return PRIuMAX; if (name[3] == 'x') return PRIxMAX; if (name[3] == 'X') return PRIXMAX; abort (); } if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R' && name[7] == '\0') { if (name[3] == 'd') return PRIdPTR; if (name[3] == 'i') return PRIiPTR; if (name[3] == 'o') return PRIoPTR; if (name[3] == 'u') return PRIuPTR; if (name[3] == 'x') return PRIxPTR; if (name[3] == 'X') return PRIXPTR; abort (); } } } /* Test for a glibc specific printf() format directive flag. */ if (name[0] == 'I' && name[1] == '\0') { #if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) /* The 'I' flag, in numeric format directives, replaces ASCII digits with the 'outdigits' defined in the LC_CTYPE locale facet. This is used for Farsi (Persian) and maybe Arabic. */ return "I"; #else return ""; #endif } /* Other system dependent strings are not valid. */ return NULL; } /* Load the message catalogs specified by FILENAME. If it is no valid message catalog do nothing. */ void internal_function _nl_load_domain (struct loaded_l10nfile *domain_file, struct binding *domainbinding) { __libc_lock_define_initialized_recursive (static, lock) int fd = -1; size_t size; #ifdef _LIBC struct stat64 st; #else struct stat st; #endif struct mo_file_header *data = (struct mo_file_header *) -1; int use_mmap = 0; struct loaded_domain *domain; int revision; const char *nullentry; size_t nullentrylen; __libc_lock_lock_recursive (lock); if (domain_file->decided != 0) { /* There are two possibilities: + this is the same thread calling again during this initialization via _nl_find_msg. We have initialized everything this call needs. + this is another thread which tried to initialize this object. Not necessary anymore since if the lock is available this is finished. */ goto done; } domain_file->decided = -1; domain_file->data = NULL; /* Note that it would be useless to store domainbinding in domain_file because domainbinding might be == NULL now but != NULL later (after a call to bind_textdomain_codeset). */ /* If the record does not represent a valid locale the FILENAME might be NULL. This can happen when according to the given specification the locale file name is different for XPG and CEN syntax. */ if (domain_file->filename == NULL) goto out; /* Try to open the addressed file. */ fd = open (domain_file->filename, O_RDONLY | O_BINARY); if (fd == -1) goto out; /* We must know about the size of the file. */ if ( #ifdef _LIBC __builtin_expect (fstat64 (fd, &st) != 0, 0) #else __builtin_expect (fstat (fd, &st) != 0, 0) #endif || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0) || __builtin_expect (size < sizeof (struct mo_file_header), 0)) /* Something went wrong. */ goto out; #ifdef HAVE_MMAP /* Now we are ready to load the file. If mmap() is available we try this first. If not available or it failed we try to load it. */ data = (struct mo_file_header *) mmap (NULL, size, PROT_READ, MAP_PRIVATE, fd, 0); if (__builtin_expect (data != (struct mo_file_header *) -1, 1)) { /* mmap() call was successful. */ close (fd); fd = -1; use_mmap = 1; } #endif /* If the data is not yet available (i.e. mmap'ed) we try to load it manually. */ if (data == (struct mo_file_header *) -1) { size_t to_read; char *read_ptr; data = (struct mo_file_header *) malloc (size); if (data == NULL) goto out; to_read = size; read_ptr = (char *) data; do { long int nb = (long int) read (fd, read_ptr, to_read); if (nb <= 0) { #ifdef EINTR if (nb == -1 && errno == EINTR) continue; #endif goto out; } read_ptr += nb; to_read -= nb; } while (to_read > 0); close (fd); fd = -1; } /* Using the magic number we can test whether it really is a message catalog file. */ if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED, 0)) { /* The magic number is wrong: not a message catalog file. */ #ifdef HAVE_MMAP if (use_mmap) munmap ((caddr_t) data, size); else #endif free (data); goto out; } domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain)); if (domain == NULL) goto out; domain_file->data = domain; domain->data = (char *) data; domain->use_mmap = use_mmap; domain->mmap_size = size; domain->must_swap = data->magic != _MAGIC; domain->malloced = NULL; /* Fill in the information about the available tables. */ revision = W (domain->must_swap, data->revision); /* We support only the major revisions 0 and 1. */ switch (revision >> 16) { case 0: case 1: domain->nstrings = W (domain->must_swap, data->nstrings); domain->orig_tab = (const struct string_desc *) ((char *) data + W (domain->must_swap, data->orig_tab_offset)); domain->trans_tab = (const struct string_desc *) ((char *) data + W (domain->must_swap, data->trans_tab_offset)); domain->hash_size = W (domain->must_swap, data->hash_tab_size); domain->hash_tab = (domain->hash_size > 2 ? (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->hash_tab_offset)) : NULL); domain->must_swap_hash_tab = domain->must_swap; /* Now dispatch on the minor revision. */ switch (revision & 0xffff) { case 0: domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; break; case 1: default: { nls_uint32 n_sysdep_strings; if (domain->hash_tab == NULL) /* This is invalid. These minor revisions need a hash table. */ goto invalid; n_sysdep_strings = W (domain->must_swap, data->n_sysdep_strings); if (n_sysdep_strings > 0) { nls_uint32 n_sysdep_segments; const struct sysdep_segment *sysdep_segments; const char **sysdep_segment_values; const nls_uint32 *orig_sysdep_tab; const nls_uint32 *trans_sysdep_tab; nls_uint32 n_inmem_sysdep_strings; size_t memneed; char *mem; struct sysdep_string_desc *inmem_orig_sysdep_tab; struct sysdep_string_desc *inmem_trans_sysdep_tab; nls_uint32 *inmem_hash_tab; unsigned int i, j; /* Get the values of the system dependent segments. */ n_sysdep_segments = W (domain->must_swap, data->n_sysdep_segments); sysdep_segments = (const struct sysdep_segment *) ((char *) data + W (domain->must_swap, data->sysdep_segments_offset)); sysdep_segment_values = (const char **) alloca (n_sysdep_segments * sizeof (const char *)); for (i = 0; i < n_sysdep_segments; i++) { const char *name = (char *) data + W (domain->must_swap, sysdep_segments[i].offset); nls_uint32 namelen = W (domain->must_swap, sysdep_segments[i].length); if (!(namelen > 0 && name[namelen - 1] == '\0')) { freea (sysdep_segment_values); goto invalid; } sysdep_segment_values[i] = get_sysdep_segment_value (name); } orig_sysdep_tab = (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->orig_sysdep_tab_offset)); trans_sysdep_tab = (const nls_uint32 *) ((char *) data + W (domain->must_swap, data->trans_sysdep_tab_offset)); /* Compute the amount of additional memory needed for the system dependent strings and the augmented hash table. At the same time, also drop string pairs which refer to an undefined system dependent segment. */ n_inmem_sysdep_strings = 0; memneed = domain->hash_size * sizeof (nls_uint32); for (i = 0; i < n_sysdep_strings; i++) { int valid = 1; size_t needs[2]; for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); size_t need = 0; const struct segment_pair *p = sysdep_string->segments; if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) for (p = sysdep_string->segments;; p++) { nls_uint32 sysdepref; need += W (domain->must_swap, p->segsize); sysdepref = W (domain->must_swap, p->sysdepref); if (sysdepref == SEGMENTS_END) break; if (sysdepref >= n_sysdep_segments) { /* Invalid. */ freea (sysdep_segment_values); goto invalid; } if (sysdep_segment_values[sysdepref] == NULL) { /* This particular string pair is invalid. */ valid = 0; break; } need += strlen (sysdep_segment_values[sysdepref]); } needs[j] = need; if (!valid) break; } if (valid) { n_inmem_sysdep_strings++; memneed += needs[0] + needs[1]; } } memneed += 2 * n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); if (n_inmem_sysdep_strings > 0) { unsigned int k; /* Allocate additional memory. */ mem = (char *) malloc (memneed); if (mem == NULL) goto invalid; domain->malloced = mem; inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem; mem += n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem; mem += n_inmem_sysdep_strings * sizeof (struct sysdep_string_desc); inmem_hash_tab = (nls_uint32 *) mem; mem += domain->hash_size * sizeof (nls_uint32); /* Compute the system dependent strings. */ k = 0; for (i = 0; i < n_sysdep_strings; i++) { int valid = 1; for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); const struct segment_pair *p = sysdep_string->segments; if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END) for (p = sysdep_string->segments;; p++) { nls_uint32 sysdepref; sysdepref = W (domain->must_swap, p->sysdepref); if (sysdepref == SEGMENTS_END) break; if (sysdep_segment_values[sysdepref] == NULL) { /* This particular string pair is invalid. */ valid = 0; break; } } if (!valid) break; } if (valid) { for (j = 0; j < 2; j++) { const struct sysdep_string *sysdep_string = (const struct sysdep_string *) ((char *) data + W (domain->must_swap, j == 0 ? orig_sysdep_tab[i] : trans_sysdep_tab[i])); const char *static_segments = (char *) data + W (domain->must_swap, sysdep_string->offset); const struct segment_pair *p = sysdep_string->segments; /* Concatenate the segments, and fill inmem_orig_sysdep_tab[k] (for j == 0) and inmem_trans_sysdep_tab[k] (for j == 1). */ struct sysdep_string_desc *inmem_tab_entry = (j == 0 ? inmem_orig_sysdep_tab : inmem_trans_sysdep_tab) + k; if (W (domain->must_swap, p->sysdepref) == SEGMENTS_END) { /* Only one static segment. */ inmem_tab_entry->length = W (domain->must_swap, p->segsize); inmem_tab_entry->pointer = static_segments; } else { inmem_tab_entry->pointer = mem; for (p = sysdep_string->segments;; p++) { nls_uint32 segsize = W (domain->must_swap, p->segsize); nls_uint32 sysdepref = W (domain->must_swap, p->sysdepref); size_t n; if (segsize > 0) { memcpy (mem, static_segments, segsize); mem += segsize; static_segments += segsize; } if (sysdepref == SEGMENTS_END) break; n = strlen (sysdep_segment_values[sysdepref]); memcpy (mem, sysdep_segment_values[sysdepref], n); mem += n; } inmem_tab_entry->length = mem - inmem_tab_entry->pointer; } } k++; } } if (k != n_inmem_sysdep_strings) abort (); /* Compute the augmented hash table. */ for (i = 0; i < domain->hash_size; i++) inmem_hash_tab[i] = W (domain->must_swap_hash_tab, domain->hash_tab[i]); for (i = 0; i < n_inmem_sysdep_strings; i++) { const char *msgid = inmem_orig_sysdep_tab[i].pointer; nls_uint32 hash_val = __hash_string (msgid); nls_uint32 idx = hash_val % domain->hash_size; nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); for (;;) { if (inmem_hash_tab[idx] == 0) { /* Hash table entry is empty. Use it. */ inmem_hash_tab[idx] = 1 + domain->nstrings + i; break; } if (idx >= domain->hash_size - incr) idx -= domain->hash_size - incr; else idx += incr; } } domain->n_sysdep_strings = n_inmem_sysdep_strings; domain->orig_sysdep_tab = inmem_orig_sysdep_tab; domain->trans_sysdep_tab = inmem_trans_sysdep_tab; domain->hash_tab = inmem_hash_tab; domain->must_swap_hash_tab = 0; } else { domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; } freea (sysdep_segment_values); } else { domain->n_sysdep_strings = 0; domain->orig_sysdep_tab = NULL; domain->trans_sysdep_tab = NULL; } } break; } break; default: /* This is an invalid revision. */ invalid: /* This is an invalid .mo file. */ if (domain->malloced) free (domain->malloced); #ifdef HAVE_MMAP if (use_mmap) munmap ((caddr_t) data, size); else #endif free (data); free (domain); domain_file->data = NULL; goto out; } /* No caches of converted translations so far. */ domain->conversions = NULL; domain->nconversions = 0; gl_rwlock_init (domain->conversions_lock); /* Get the header entry and look for a plural specification. */ #ifdef IN_LIBGLOCALE nullentry = _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen); #else nullentry = _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); #endif EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals); out: if (fd != -1) close (fd); domain_file->decided = 1; done: __libc_lock_unlock_recursive (lock); } #ifdef _LIBC void internal_function __libc_freeres_fn_section _nl_unload_domain (struct loaded_domain *domain) { size_t i; if (domain->plural != &__gettext_germanic_plural) __gettext_free_exp ((struct expression *) domain->plural); for (i = 0; i < domain->nconversions; i++) { struct converted_domain *convd = &domain->conversions[i]; free (convd->encoding); if (convd->conv_tab != NULL && convd->conv_tab != (char **) -1) free (convd->conv_tab); if (convd->conv != (__gconv_t) -1) __gconv_close (convd->conv); } if (domain->conversions != NULL) free (domain->conversions); __libc_rwlock_fini (domain->conversions_lock); if (domain->malloced) free (domain->malloced); # ifdef _POSIX_MAPPED_FILES if (domain->use_mmap) munmap ((caddr_t) domain->data, domain->mmap_size); else # endif /* _POSIX_MAPPED_FILES */ free ((void *) domain->data); free (domain); } #endif KCemu-0.5.1/intl/explodename.c0000644000175000017500000000654612417262523016377 0ustar glaubitzglaubitz/* Copyright (C) 1995-1998, 2000-2001, 2003, 2005, 2007 Free Software Foundation, Inc. Contributed by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "loadinfo.h" /* On some strange systems still no definition of NULL is found. Sigh! */ #ifndef NULL # if defined __STDC__ && __STDC__ # define NULL ((void *) 0) # else # define NULL 0 # endif #endif /* @@ end of prolog @@ */ /* Split a locale name NAME into a leading language part and all the rest. Return a pointer to the first character after the language, i.e. to the first byte of the rest. */ static char *_nl_find_language (const char *name); static char * _nl_find_language (const char *name) { while (name[0] != '\0' && name[0] != '_' && name[0] != '@' && name[0] != '.') ++name; return (char *) name; } int _nl_explode_name (char *name, const char **language, const char **modifier, const char **territory, const char **codeset, const char **normalized_codeset) { char *cp; int mask; *modifier = NULL; *territory = NULL; *codeset = NULL; *normalized_codeset = NULL; /* Now we determine the single parts of the locale name. First look for the language. Termination symbols are `_', '.', and `@'. */ mask = 0; *language = cp = name; cp = _nl_find_language (*language); if (*language == cp) /* This does not make sense: language has to be specified. Use this entry as it is without exploding. Perhaps it is an alias. */ cp = strchr (*language, '\0'); else { if (cp[0] == '_') { /* Next is the territory. */ cp[0] = '\0'; *territory = ++cp; while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@') ++cp; mask |= XPG_TERRITORY; } if (cp[0] == '.') { /* Next is the codeset. */ cp[0] = '\0'; *codeset = ++cp; while (cp[0] != '\0' && cp[0] != '@') ++cp; mask |= XPG_CODESET; if (*codeset != cp && (*codeset)[0] != '\0') { *normalized_codeset = _nl_normalize_codeset (*codeset, cp - *codeset); if (*normalized_codeset == NULL) return -1; else if (strcmp (*codeset, *normalized_codeset) == 0) free ((char *) *normalized_codeset); else mask |= XPG_NORM_CODESET; } } } if (cp[0] == '@') { /* Next is the modifier. */ cp[0] = '\0'; *modifier = ++cp; if (cp[0] != '\0') mask |= XPG_MODIFIER; } if (*territory != NULL && (*territory)[0] == '\0') mask &= ~XPG_TERRITORY; if (*codeset != NULL && (*codeset)[0] == '\0') mask &= ~XPG_CODESET; return mask; } KCemu-0.5.1/intl/localename.c0000644000175000017500000012457112417262523016175 0ustar glaubitzglaubitz/* Determine name of the currently selected locale. Copyright (C) 1995-1999, 2000-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Ulrich Drepper , 1995. */ /* Win32 code written by Tor Lillqvist . */ /* MacOS X code written by Bruno Haible . */ #include /* Specification. */ #ifdef IN_LIBINTL # include "gettextP.h" #else # include "localename.h" #endif #include #include #if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE # include # include # if HAVE_CFLOCALECOPYCURRENT # include # elif HAVE_CFPREFERENCESCOPYAPPVALUE # include # endif #endif #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif #ifdef WIN32_NATIVE # define WIN32_LEAN_AND_MEAN # include /* List of language codes, sorted by value: 0x01 LANG_ARABIC 0x02 LANG_BULGARIAN 0x03 LANG_CATALAN 0x04 LANG_CHINESE 0x05 LANG_CZECH 0x06 LANG_DANISH 0x07 LANG_GERMAN 0x08 LANG_GREEK 0x09 LANG_ENGLISH 0x0a LANG_SPANISH 0x0b LANG_FINNISH 0x0c LANG_FRENCH 0x0d LANG_HEBREW 0x0e LANG_HUNGARIAN 0x0f LANG_ICELANDIC 0x10 LANG_ITALIAN 0x11 LANG_JAPANESE 0x12 LANG_KOREAN 0x13 LANG_DUTCH 0x14 LANG_NORWEGIAN 0x15 LANG_POLISH 0x16 LANG_PORTUGUESE 0x17 LANG_RHAETO_ROMANCE 0x18 LANG_ROMANIAN 0x19 LANG_RUSSIAN 0x1a LANG_CROATIAN == LANG_SERBIAN 0x1b LANG_SLOVAK 0x1c LANG_ALBANIAN 0x1d LANG_SWEDISH 0x1e LANG_THAI 0x1f LANG_TURKISH 0x20 LANG_URDU 0x21 LANG_INDONESIAN 0x22 LANG_UKRAINIAN 0x23 LANG_BELARUSIAN 0x24 LANG_SLOVENIAN 0x25 LANG_ESTONIAN 0x26 LANG_LATVIAN 0x27 LANG_LITHUANIAN 0x28 LANG_TAJIK 0x29 LANG_FARSI 0x2a LANG_VIETNAMESE 0x2b LANG_ARMENIAN 0x2c LANG_AZERI 0x2d LANG_BASQUE 0x2e LANG_SORBIAN 0x2f LANG_MACEDONIAN 0x30 LANG_SUTU 0x31 LANG_TSONGA 0x32 LANG_TSWANA 0x33 LANG_VENDA 0x34 LANG_XHOSA 0x35 LANG_ZULU 0x36 LANG_AFRIKAANS 0x37 LANG_GEORGIAN 0x38 LANG_FAEROESE 0x39 LANG_HINDI 0x3a LANG_MALTESE 0x3b LANG_SAAMI 0x3c LANG_GAELIC 0x3d LANG_YIDDISH 0x3e LANG_MALAY 0x3f LANG_KAZAK 0x40 LANG_KYRGYZ 0x41 LANG_SWAHILI 0x42 LANG_TURKMEN 0x43 LANG_UZBEK 0x44 LANG_TATAR 0x45 LANG_BENGALI 0x46 LANG_PUNJABI 0x47 LANG_GUJARATI 0x48 LANG_ORIYA 0x49 LANG_TAMIL 0x4a LANG_TELUGU 0x4b LANG_KANNADA 0x4c LANG_MALAYALAM 0x4d LANG_ASSAMESE 0x4e LANG_MARATHI 0x4f LANG_SANSKRIT 0x50 LANG_MONGOLIAN 0x51 LANG_TIBETAN 0x52 LANG_WELSH 0x53 LANG_CAMBODIAN 0x54 LANG_LAO 0x55 LANG_BURMESE 0x56 LANG_GALICIAN 0x57 LANG_KONKANI 0x58 LANG_MANIPURI 0x59 LANG_SINDHI 0x5a LANG_SYRIAC 0x5b LANG_SINHALESE 0x5c LANG_CHEROKEE 0x5d LANG_INUKTITUT 0x5e LANG_AMHARIC 0x5f LANG_TAMAZIGHT 0x60 LANG_KASHMIRI 0x61 LANG_NEPALI 0x62 LANG_FRISIAN 0x63 LANG_PASHTO 0x64 LANG_TAGALOG 0x65 LANG_DIVEHI 0x66 LANG_EDO 0x67 LANG_FULFULDE 0x68 LANG_HAUSA 0x69 LANG_IBIBIO 0x6a LANG_YORUBA 0x70 LANG_IGBO 0x71 LANG_KANURI 0x72 LANG_OROMO 0x73 LANG_TIGRINYA 0x74 LANG_GUARANI 0x75 LANG_HAWAIIAN 0x76 LANG_LATIN 0x77 LANG_SOMALI 0x78 LANG_YI 0x79 LANG_PAPIAMENTU */ /* Mingw headers don't have latest language and sublanguage codes. */ # ifndef LANG_AFRIKAANS # define LANG_AFRIKAANS 0x36 # endif # ifndef LANG_ALBANIAN # define LANG_ALBANIAN 0x1c # endif # ifndef LANG_AMHARIC # define LANG_AMHARIC 0x5e # endif # ifndef LANG_ARABIC # define LANG_ARABIC 0x01 # endif # ifndef LANG_ARMENIAN # define LANG_ARMENIAN 0x2b # endif # ifndef LANG_ASSAMESE # define LANG_ASSAMESE 0x4d # endif # ifndef LANG_AZERI # define LANG_AZERI 0x2c # endif # ifndef LANG_BASQUE # define LANG_BASQUE 0x2d # endif # ifndef LANG_BELARUSIAN # define LANG_BELARUSIAN 0x23 # endif # ifndef LANG_BENGALI # define LANG_BENGALI 0x45 # endif # ifndef LANG_BURMESE # define LANG_BURMESE 0x55 # endif # ifndef LANG_CAMBODIAN # define LANG_CAMBODIAN 0x53 # endif # ifndef LANG_CATALAN # define LANG_CATALAN 0x03 # endif # ifndef LANG_CHEROKEE # define LANG_CHEROKEE 0x5c # endif # ifndef LANG_DIVEHI # define LANG_DIVEHI 0x65 # endif # ifndef LANG_EDO # define LANG_EDO 0x66 # endif # ifndef LANG_ESTONIAN # define LANG_ESTONIAN 0x25 # endif # ifndef LANG_FAEROESE # define LANG_FAEROESE 0x38 # endif # ifndef LANG_FARSI # define LANG_FARSI 0x29 # endif # ifndef LANG_FRISIAN # define LANG_FRISIAN 0x62 # endif # ifndef LANG_FULFULDE # define LANG_FULFULDE 0x67 # endif # ifndef LANG_GAELIC # define LANG_GAELIC 0x3c # endif # ifndef LANG_GALICIAN # define LANG_GALICIAN 0x56 # endif # ifndef LANG_GEORGIAN # define LANG_GEORGIAN 0x37 # endif # ifndef LANG_GUARANI # define LANG_GUARANI 0x74 # endif # ifndef LANG_GUJARATI # define LANG_GUJARATI 0x47 # endif # ifndef LANG_HAUSA # define LANG_HAUSA 0x68 # endif # ifndef LANG_HAWAIIAN # define LANG_HAWAIIAN 0x75 # endif # ifndef LANG_HEBREW # define LANG_HEBREW 0x0d # endif # ifndef LANG_HINDI # define LANG_HINDI 0x39 # endif # ifndef LANG_IBIBIO # define LANG_IBIBIO 0x69 # endif # ifndef LANG_IGBO # define LANG_IGBO 0x70 # endif # ifndef LANG_INDONESIAN # define LANG_INDONESIAN 0x21 # endif # ifndef LANG_INUKTITUT # define LANG_INUKTITUT 0x5d # endif # ifndef LANG_KANNADA # define LANG_KANNADA 0x4b # endif # ifndef LANG_KANURI # define LANG_KANURI 0x71 # endif # ifndef LANG_KASHMIRI # define LANG_KASHMIRI 0x60 # endif # ifndef LANG_KAZAK # define LANG_KAZAK 0x3f # endif # ifndef LANG_KONKANI # define LANG_KONKANI 0x57 # endif # ifndef LANG_KYRGYZ # define LANG_KYRGYZ 0x40 # endif # ifndef LANG_LAO # define LANG_LAO 0x54 # endif # ifndef LANG_LATIN # define LANG_LATIN 0x76 # endif # ifndef LANG_LATVIAN # define LANG_LATVIAN 0x26 # endif # ifndef LANG_LITHUANIAN # define LANG_LITHUANIAN 0x27 # endif # ifndef LANG_MACEDONIAN # define LANG_MACEDONIAN 0x2f # endif # ifndef LANG_MALAY # define LANG_MALAY 0x3e # endif # ifndef LANG_MALAYALAM # define LANG_MALAYALAM 0x4c # endif # ifndef LANG_MALTESE # define LANG_MALTESE 0x3a # endif # ifndef LANG_MANIPURI # define LANG_MANIPURI 0x58 # endif # ifndef LANG_MARATHI # define LANG_MARATHI 0x4e # endif # ifndef LANG_MONGOLIAN # define LANG_MONGOLIAN 0x50 # endif # ifndef LANG_NEPALI # define LANG_NEPALI 0x61 # endif # ifndef LANG_ORIYA # define LANG_ORIYA 0x48 # endif # ifndef LANG_OROMO # define LANG_OROMO 0x72 # endif # ifndef LANG_PAPIAMENTU # define LANG_PAPIAMENTU 0x79 # endif # ifndef LANG_PASHTO # define LANG_PASHTO 0x63 # endif # ifndef LANG_PUNJABI # define LANG_PUNJABI 0x46 # endif # ifndef LANG_RHAETO_ROMANCE # define LANG_RHAETO_ROMANCE 0x17 # endif # ifndef LANG_SAAMI # define LANG_SAAMI 0x3b # endif # ifndef LANG_SANSKRIT # define LANG_SANSKRIT 0x4f # endif # ifndef LANG_SERBIAN # define LANG_SERBIAN 0x1a # endif # ifndef LANG_SINDHI # define LANG_SINDHI 0x59 # endif # ifndef LANG_SINHALESE # define LANG_SINHALESE 0x5b # endif # ifndef LANG_SLOVAK # define LANG_SLOVAK 0x1b # endif # ifndef LANG_SOMALI # define LANG_SOMALI 0x77 # endif # ifndef LANG_SORBIAN # define LANG_SORBIAN 0x2e # endif # ifndef LANG_SUTU # define LANG_SUTU 0x30 # endif # ifndef LANG_SWAHILI # define LANG_SWAHILI 0x41 # endif # ifndef LANG_SYRIAC # define LANG_SYRIAC 0x5a # endif # ifndef LANG_TAGALOG # define LANG_TAGALOG 0x64 # endif # ifndef LANG_TAJIK # define LANG_TAJIK 0x28 # endif # ifndef LANG_TAMAZIGHT # define LANG_TAMAZIGHT 0x5f # endif # ifndef LANG_TAMIL # define LANG_TAMIL 0x49 # endif # ifndef LANG_TATAR # define LANG_TATAR 0x44 # endif # ifndef LANG_TELUGU # define LANG_TELUGU 0x4a # endif # ifndef LANG_THAI # define LANG_THAI 0x1e # endif # ifndef LANG_TIBETAN # define LANG_TIBETAN 0x51 # endif # ifndef LANG_TIGRINYA # define LANG_TIGRINYA 0x73 # endif # ifndef LANG_TSONGA # define LANG_TSONGA 0x31 # endif # ifndef LANG_TSWANA # define LANG_TSWANA 0x32 # endif # ifndef LANG_TURKMEN # define LANG_TURKMEN 0x42 # endif # ifndef LANG_UKRAINIAN # define LANG_UKRAINIAN 0x22 # endif # ifndef LANG_URDU # define LANG_URDU 0x20 # endif # ifndef LANG_UZBEK # define LANG_UZBEK 0x43 # endif # ifndef LANG_VENDA # define LANG_VENDA 0x33 # endif # ifndef LANG_VIETNAMESE # define LANG_VIETNAMESE 0x2a # endif # ifndef LANG_WELSH # define LANG_WELSH 0x52 # endif # ifndef LANG_XHOSA # define LANG_XHOSA 0x34 # endif # ifndef LANG_YI # define LANG_YI 0x78 # endif # ifndef LANG_YIDDISH # define LANG_YIDDISH 0x3d # endif # ifndef LANG_YORUBA # define LANG_YORUBA 0x6a # endif # ifndef LANG_ZULU # define LANG_ZULU 0x35 # endif # ifndef SUBLANG_ARABIC_SAUDI_ARABIA # define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 # endif # ifndef SUBLANG_ARABIC_IRAQ # define SUBLANG_ARABIC_IRAQ 0x02 # endif # ifndef SUBLANG_ARABIC_EGYPT # define SUBLANG_ARABIC_EGYPT 0x03 # endif # ifndef SUBLANG_ARABIC_LIBYA # define SUBLANG_ARABIC_LIBYA 0x04 # endif # ifndef SUBLANG_ARABIC_ALGERIA # define SUBLANG_ARABIC_ALGERIA 0x05 # endif # ifndef SUBLANG_ARABIC_MOROCCO # define SUBLANG_ARABIC_MOROCCO 0x06 # endif # ifndef SUBLANG_ARABIC_TUNISIA # define SUBLANG_ARABIC_TUNISIA 0x07 # endif # ifndef SUBLANG_ARABIC_OMAN # define SUBLANG_ARABIC_OMAN 0x08 # endif # ifndef SUBLANG_ARABIC_YEMEN # define SUBLANG_ARABIC_YEMEN 0x09 # endif # ifndef SUBLANG_ARABIC_SYRIA # define SUBLANG_ARABIC_SYRIA 0x0a # endif # ifndef SUBLANG_ARABIC_JORDAN # define SUBLANG_ARABIC_JORDAN 0x0b # endif # ifndef SUBLANG_ARABIC_LEBANON # define SUBLANG_ARABIC_LEBANON 0x0c # endif # ifndef SUBLANG_ARABIC_KUWAIT # define SUBLANG_ARABIC_KUWAIT 0x0d # endif # ifndef SUBLANG_ARABIC_UAE # define SUBLANG_ARABIC_UAE 0x0e # endif # ifndef SUBLANG_ARABIC_BAHRAIN # define SUBLANG_ARABIC_BAHRAIN 0x0f # endif # ifndef SUBLANG_ARABIC_QATAR # define SUBLANG_ARABIC_QATAR 0x10 # endif # ifndef SUBLANG_AZERI_LATIN # define SUBLANG_AZERI_LATIN 0x01 # endif # ifndef SUBLANG_AZERI_CYRILLIC # define SUBLANG_AZERI_CYRILLIC 0x02 # endif # ifndef SUBLANG_BENGALI_INDIA # define SUBLANG_BENGALI_INDIA 0x01 # endif # ifndef SUBLANG_BENGALI_BANGLADESH # define SUBLANG_BENGALI_BANGLADESH 0x02 # endif # ifndef SUBLANG_CHINESE_MACAU # define SUBLANG_CHINESE_MACAU 0x05 # endif # ifndef SUBLANG_ENGLISH_SOUTH_AFRICA # define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 # endif # ifndef SUBLANG_ENGLISH_JAMAICA # define SUBLANG_ENGLISH_JAMAICA 0x08 # endif # ifndef SUBLANG_ENGLISH_CARIBBEAN # define SUBLANG_ENGLISH_CARIBBEAN 0x09 # endif # ifndef SUBLANG_ENGLISH_BELIZE # define SUBLANG_ENGLISH_BELIZE 0x0a # endif # ifndef SUBLANG_ENGLISH_TRINIDAD # define SUBLANG_ENGLISH_TRINIDAD 0x0b # endif # ifndef SUBLANG_ENGLISH_ZIMBABWE # define SUBLANG_ENGLISH_ZIMBABWE 0x0c # endif # ifndef SUBLANG_ENGLISH_PHILIPPINES # define SUBLANG_ENGLISH_PHILIPPINES 0x0d # endif # ifndef SUBLANG_ENGLISH_INDONESIA # define SUBLANG_ENGLISH_INDONESIA 0x0e # endif # ifndef SUBLANG_ENGLISH_HONGKONG # define SUBLANG_ENGLISH_HONGKONG 0x0f # endif # ifndef SUBLANG_ENGLISH_INDIA # define SUBLANG_ENGLISH_INDIA 0x10 # endif # ifndef SUBLANG_ENGLISH_MALAYSIA # define SUBLANG_ENGLISH_MALAYSIA 0x11 # endif # ifndef SUBLANG_ENGLISH_SINGAPORE # define SUBLANG_ENGLISH_SINGAPORE 0x12 # endif # ifndef SUBLANG_FRENCH_LUXEMBOURG # define SUBLANG_FRENCH_LUXEMBOURG 0x05 # endif # ifndef SUBLANG_FRENCH_MONACO # define SUBLANG_FRENCH_MONACO 0x06 # endif # ifndef SUBLANG_FRENCH_WESTINDIES # define SUBLANG_FRENCH_WESTINDIES 0x07 # endif # ifndef SUBLANG_FRENCH_REUNION # define SUBLANG_FRENCH_REUNION 0x08 # endif # ifndef SUBLANG_FRENCH_CONGO # define SUBLANG_FRENCH_CONGO 0x09 # endif # ifndef SUBLANG_FRENCH_SENEGAL # define SUBLANG_FRENCH_SENEGAL 0x0a # endif # ifndef SUBLANG_FRENCH_CAMEROON # define SUBLANG_FRENCH_CAMEROON 0x0b # endif # ifndef SUBLANG_FRENCH_COTEDIVOIRE # define SUBLANG_FRENCH_COTEDIVOIRE 0x0c # endif # ifndef SUBLANG_FRENCH_MALI # define SUBLANG_FRENCH_MALI 0x0d # endif # ifndef SUBLANG_FRENCH_MOROCCO # define SUBLANG_FRENCH_MOROCCO 0x0e # endif # ifndef SUBLANG_FRENCH_HAITI # define SUBLANG_FRENCH_HAITI 0x0f # endif # ifndef SUBLANG_GERMAN_LUXEMBOURG # define SUBLANG_GERMAN_LUXEMBOURG 0x04 # endif # ifndef SUBLANG_GERMAN_LIECHTENSTEIN # define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 # endif # ifndef SUBLANG_KASHMIRI_INDIA # define SUBLANG_KASHMIRI_INDIA 0x02 # endif # ifndef SUBLANG_MALAY_MALAYSIA # define SUBLANG_MALAY_MALAYSIA 0x01 # endif # ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM # define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 # endif # ifndef SUBLANG_NEPALI_INDIA # define SUBLANG_NEPALI_INDIA 0x02 # endif # ifndef SUBLANG_PUNJABI_INDIA # define SUBLANG_PUNJABI_INDIA 0x01 # endif # ifndef SUBLANG_PUNJABI_PAKISTAN # define SUBLANG_PUNJABI_PAKISTAN 0x02 # endif # ifndef SUBLANG_ROMANIAN_ROMANIA # define SUBLANG_ROMANIAN_ROMANIA 0x01 # endif # ifndef SUBLANG_ROMANIAN_MOLDOVA # define SUBLANG_ROMANIAN_MOLDOVA 0x02 # endif # ifndef SUBLANG_SERBIAN_LATIN # define SUBLANG_SERBIAN_LATIN 0x02 # endif # ifndef SUBLANG_SERBIAN_CYRILLIC # define SUBLANG_SERBIAN_CYRILLIC 0x03 # endif # ifndef SUBLANG_SINDHI_PAKISTAN # define SUBLANG_SINDHI_PAKISTAN 0x01 # endif # ifndef SUBLANG_SINDHI_AFGHANISTAN # define SUBLANG_SINDHI_AFGHANISTAN 0x02 # endif # ifndef SUBLANG_SPANISH_GUATEMALA # define SUBLANG_SPANISH_GUATEMALA 0x04 # endif # ifndef SUBLANG_SPANISH_COSTA_RICA # define SUBLANG_SPANISH_COSTA_RICA 0x05 # endif # ifndef SUBLANG_SPANISH_PANAMA # define SUBLANG_SPANISH_PANAMA 0x06 # endif # ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC # define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 # endif # ifndef SUBLANG_SPANISH_VENEZUELA # define SUBLANG_SPANISH_VENEZUELA 0x08 # endif # ifndef SUBLANG_SPANISH_COLOMBIA # define SUBLANG_SPANISH_COLOMBIA 0x09 # endif # ifndef SUBLANG_SPANISH_PERU # define SUBLANG_SPANISH_PERU 0x0a # endif # ifndef SUBLANG_SPANISH_ARGENTINA # define SUBLANG_SPANISH_ARGENTINA 0x0b # endif # ifndef SUBLANG_SPANISH_ECUADOR # define SUBLANG_SPANISH_ECUADOR 0x0c # endif # ifndef SUBLANG_SPANISH_CHILE # define SUBLANG_SPANISH_CHILE 0x0d # endif # ifndef SUBLANG_SPANISH_URUGUAY # define SUBLANG_SPANISH_URUGUAY 0x0e # endif # ifndef SUBLANG_SPANISH_PARAGUAY # define SUBLANG_SPANISH_PARAGUAY 0x0f # endif # ifndef SUBLANG_SPANISH_BOLIVIA # define SUBLANG_SPANISH_BOLIVIA 0x10 # endif # ifndef SUBLANG_SPANISH_EL_SALVADOR # define SUBLANG_SPANISH_EL_SALVADOR 0x11 # endif # ifndef SUBLANG_SPANISH_HONDURAS # define SUBLANG_SPANISH_HONDURAS 0x12 # endif # ifndef SUBLANG_SPANISH_NICARAGUA # define SUBLANG_SPANISH_NICARAGUA 0x13 # endif # ifndef SUBLANG_SPANISH_PUERTO_RICO # define SUBLANG_SPANISH_PUERTO_RICO 0x14 # endif # ifndef SUBLANG_SWEDISH_FINLAND # define SUBLANG_SWEDISH_FINLAND 0x02 # endif # ifndef SUBLANG_TAMAZIGHT_ARABIC # define SUBLANG_TAMAZIGHT_ARABIC 0x01 # endif # ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN # define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 # endif # ifndef SUBLANG_TIGRINYA_ETHIOPIA # define SUBLANG_TIGRINYA_ETHIOPIA 0x01 # endif # ifndef SUBLANG_TIGRINYA_ERITREA # define SUBLANG_TIGRINYA_ERITREA 0x02 # endif # ifndef SUBLANG_URDU_PAKISTAN # define SUBLANG_URDU_PAKISTAN 0x01 # endif # ifndef SUBLANG_URDU_INDIA # define SUBLANG_URDU_INDIA 0x02 # endif # ifndef SUBLANG_UZBEK_LATIN # define SUBLANG_UZBEK_LATIN 0x01 # endif # ifndef SUBLANG_UZBEK_CYRILLIC # define SUBLANG_UZBEK_CYRILLIC 0x02 # endif #endif # if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ /* Canonicalize a MacOS X locale name to a Unix locale name. NAME is a sufficiently large buffer. On input, it contains the MacOS X locale name. On output, it contains the Unix locale name. */ # if !defined IN_LIBINTL static # endif void gl_locale_name_canonicalize (char *name) { /* This conversion is based on a posting by Deborah GoldSmith on 2005-03-08, http://lists.apple.com/archives/carbon-dev/2005/Mar/msg00293.html */ /* Convert legacy (NeXTstep inherited) English names to Unix (ISO 639 and ISO 3166) names. Prior to MacOS X 10.3, there is no API for doing this. Therefore we do it ourselves, using a table based on the results of the MacOS X 10.3.8 function CFLocaleCreateCanonicalLocaleIdentifierFromString(). */ typedef struct { const char legacy[21+1]; const char unixy[5+1]; } legacy_entry; static const legacy_entry legacy_table[] = { { "Afrikaans", "af" }, { "Albanian", "sq" }, { "Amharic", "am" }, { "Arabic", "ar" }, { "Armenian", "hy" }, { "Assamese", "as" }, { "Aymara", "ay" }, { "Azerbaijani", "az" }, { "Basque", "eu" }, { "Belarusian", "be" }, { "Belorussian", "be" }, { "Bengali", "bn" }, { "Brazilian Portugese", "pt_BR" }, { "Brazilian Portuguese", "pt_BR" }, { "Breton", "br" }, { "Bulgarian", "bg" }, { "Burmese", "my" }, { "Byelorussian", "be" }, { "Catalan", "ca" }, { "Chewa", "ny" }, { "Chichewa", "ny" }, { "Chinese", "zh" }, { "Chinese, Simplified", "zh_CN" }, { "Chinese, Traditional", "zh_TW" }, { "Chinese, Tradtional", "zh_TW" }, { "Croatian", "hr" }, { "Czech", "cs" }, { "Danish", "da" }, { "Dutch", "nl" }, { "Dzongkha", "dz" }, { "English", "en" }, { "Esperanto", "eo" }, { "Estonian", "et" }, { "Faroese", "fo" }, { "Farsi", "fa" }, { "Finnish", "fi" }, { "Flemish", "nl_BE" }, { "French", "fr" }, { "Galician", "gl" }, { "Gallegan", "gl" }, { "Georgian", "ka" }, { "German", "de" }, { "Greek", "el" }, { "Greenlandic", "kl" }, { "Guarani", "gn" }, { "Gujarati", "gu" }, { "Hawaiian", "haw" }, /* Yes, "haw", not "cpe". */ { "Hebrew", "he" }, { "Hindi", "hi" }, { "Hungarian", "hu" }, { "Icelandic", "is" }, { "Indonesian", "id" }, { "Inuktitut", "iu" }, { "Irish", "ga" }, { "Italian", "it" }, { "Japanese", "ja" }, { "Javanese", "jv" }, { "Kalaallisut", "kl" }, { "Kannada", "kn" }, { "Kashmiri", "ks" }, { "Kazakh", "kk" }, { "Khmer", "km" }, { "Kinyarwanda", "rw" }, { "Kirghiz", "ky" }, { "Korean", "ko" }, { "Kurdish", "ku" }, { "Latin", "la" }, { "Latvian", "lv" }, { "Lithuanian", "lt" }, { "Macedonian", "mk" }, { "Malagasy", "mg" }, { "Malay", "ms" }, { "Malayalam", "ml" }, { "Maltese", "mt" }, { "Manx", "gv" }, { "Marathi", "mr" }, { "Moldavian", "mo" }, { "Mongolian", "mn" }, { "Nepali", "ne" }, { "Norwegian", "nb" }, /* Yes, "nb", not the obsolete "no". */ { "Nyanja", "ny" }, { "Nynorsk", "nn" }, { "Oriya", "or" }, { "Oromo", "om" }, { "Panjabi", "pa" }, { "Pashto", "ps" }, { "Persian", "fa" }, { "Polish", "pl" }, { "Portuguese", "pt" }, { "Portuguese, Brazilian", "pt_BR" }, { "Punjabi", "pa" }, { "Pushto", "ps" }, { "Quechua", "qu" }, { "Romanian", "ro" }, { "Ruanda", "rw" }, { "Rundi", "rn" }, { "Russian", "ru" }, { "Sami", "se_NO" }, /* Not just "se". */ { "Sanskrit", "sa" }, { "Scottish", "gd" }, { "Serbian", "sr" }, { "Simplified Chinese", "zh_CN" }, { "Sindhi", "sd" }, { "Sinhalese", "si" }, { "Slovak", "sk" }, { "Slovenian", "sl" }, { "Somali", "so" }, { "Spanish", "es" }, { "Sundanese", "su" }, { "Swahili", "sw" }, { "Swedish", "sv" }, { "Tagalog", "tl" }, { "Tajik", "tg" }, { "Tajiki", "tg" }, { "Tamil", "ta" }, { "Tatar", "tt" }, { "Telugu", "te" }, { "Thai", "th" }, { "Tibetan", "bo" }, { "Tigrinya", "ti" }, { "Tongan", "to" }, { "Traditional Chinese", "zh_TW" }, { "Turkish", "tr" }, { "Turkmen", "tk" }, { "Uighur", "ug" }, { "Ukrainian", "uk" }, { "Urdu", "ur" }, { "Uzbek", "uz" }, { "Vietnamese", "vi" }, { "Welsh", "cy" }, { "Yiddish", "yi" } }; /* Convert new-style locale names with language tags (ISO 639 and ISO 15924) to Unix (ISO 639 and ISO 3166) names. */ typedef struct { const char langtag[7+1]; const char unixy[12+1]; } langtag_entry; static const langtag_entry langtag_table[] = { /* MacOS X has "az-Arab", "az-Cyrl", "az-Latn". The default script for az on Unix is Latin. */ { "az-Latn", "az" }, /* MacOS X has "ga-dots". Does not yet exist on Unix. */ { "ga-dots", "ga" }, /* MacOS X has "kk-Cyrl". Does not yet exist on Unix. */ /* MacOS X has "mn-Cyrl", "mn-Mong". The default script for mn on Unix is Cyrillic. */ { "mn-Cyrl", "mn" }, /* MacOS X has "ms-Arab", "ms-Latn". The default script for ms on Unix is Latin. */ { "ms-Latn", "ms" }, /* MacOS X has "tg-Cyrl". The default script for tg on Unix is Cyrillic. */ { "tg-Cyrl", "tg" }, /* MacOS X has "tk-Cyrl". Does not yet exist on Unix. */ /* MacOS X has "tt-Cyrl". The default script for tt on Unix is Cyrillic. */ { "tt-Cyrl", "tt" }, /* MacOS X has "zh-Hans", "zh-Hant". Country codes are used to distinguish these on Unix. */ { "zh-Hans", "zh_CN" }, { "zh-Hant", "zh_TW" } }; /* Convert script names (ISO 15924) to Unix conventions. See http://www.unicode.org/iso15924/iso15924-codes.html */ typedef struct { const char script[4+1]; const char unixy[9+1]; } script_entry; static const script_entry script_table[] = { { "Arab", "arabic" }, { "Cyrl", "cyrillic" }, { "Mong", "mongolian" } }; /* Step 1: Convert using legacy_table. */ if (name[0] >= 'A' && name[0] <= 'Z') { unsigned int i1, i2; i1 = 0; i2 = sizeof (legacy_table) / sizeof (legacy_entry); while (i2 - i1 > 1) { /* At this point we know that if name occurs in legacy_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const legacy_entry *p = &legacy_table[i]; if (strcmp (name, p->legacy) < 0) i2 = i; else i1 = i; } if (strcmp (name, legacy_table[i1].legacy) == 0) { strcpy (name, legacy_table[i1].unixy); return; } } /* Step 2: Convert using langtag_table and script_table. */ if (strlen (name) == 7 && name[2] == '-') { unsigned int i1, i2; i1 = 0; i2 = sizeof (langtag_table) / sizeof (langtag_entry); while (i2 - i1 > 1) { /* At this point we know that if name occurs in langtag_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const langtag_entry *p = &langtag_table[i]; if (strcmp (name, p->langtag) < 0) i2 = i; else i1 = i; } if (strcmp (name, langtag_table[i1].langtag) == 0) { strcpy (name, langtag_table[i1].unixy); return; } i1 = 0; i2 = sizeof (script_table) / sizeof (script_entry); while (i2 - i1 > 1) { /* At this point we know that if (name + 3) occurs in script_table, its index must be >= i1 and < i2. */ unsigned int i = (i1 + i2) >> 1; const script_entry *p = &script_table[i]; if (strcmp (name + 3, p->script) < 0) i2 = i; else i1 = i; } if (strcmp (name + 3, script_table[i1].script) == 0) { name[2] = '@'; strcpy (name + 3, script_table[i1].unixy); return; } } /* Step 3: Convert new-style dash to Unix underscore. */ { char *p; for (p = name; *p != '\0'; p++) if (*p == '-') *p = '_'; } } #endif /* XPG3 defines the result of 'setlocale (category, NULL)' as: "Directs 'setlocale()' to query 'category' and return the current setting of 'local'." However it does not specify the exact format. Neither do SUSV2 and ISO C 99. So we can use this feature only on selected systems (e.g. those using GNU C Library). */ #if defined _LIBC || (defined __GLIBC__ && __GLIBC__ >= 2) # define HAVE_LOCALE_NULL #endif /* Determine the current locale's name, and canonicalize it into XPG syntax language[_territory][.codeset][@modifier] The codeset part in the result is not reliable; the locale_charset() should be used for codeset information instead. The result must not be freed; it is statically allocated. */ const char * gl_locale_name_posix (int category, const char *categoryname) { /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'. On some systems this can be done by the 'setlocale' function itself. */ #if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL return setlocale (category, NULL); #else const char *retval; /* Setting of LC_ALL overrides all other. */ retval = getenv ("LC_ALL"); if (retval != NULL && retval[0] != '\0') return retval; /* Next comes the name of the desired category. */ retval = getenv (categoryname); if (retval != NULL && retval[0] != '\0') return retval; /* Last possibility is the LANG environment variable. */ retval = getenv ("LANG"); if (retval != NULL && retval[0] != '\0') return retval; return NULL; #endif } const char * gl_locale_name_default (void) { /* POSIX:2001 says: "All implementations shall define a locale as the default locale, to be invoked when no environment variables are set, or set to the empty string. This default locale can be the POSIX locale or any other implementation-defined locale. Some implementations may provide facilities for local installation administrators to set the default locale, customizing it for each location. POSIX:2001 does not require such a facility. */ #if !(HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE || defined(WIN32_NATIVE)) /* The system does not have a way of setting the locale, other than the POSIX specified environment variables. We use C as default locale. */ return "C"; #else /* Return an XPG style locale name language[_territory][@modifier]. Don't even bother determining the codeset; it's not useful in this context, because message catalogs are not specific to a single codeset. */ # if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ { /* Cache the locale name, since CoreFoundation calls are expensive. */ static const char *cached_localename; if (cached_localename == NULL) { char namebuf[256]; # if HAVE_CFLOCALECOPYCURRENT /* MacOS X 10.3 or newer */ CFLocaleRef locale = CFLocaleCopyCurrent (); CFStringRef name = CFLocaleGetIdentifier (locale); if (CFStringGetCString (name, namebuf, sizeof(namebuf), kCFStringEncodingASCII)) { gl_locale_name_canonicalize (namebuf); cached_localename = strdup (namebuf); } CFRelease (locale); # elif HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ CFTypeRef value = CFPreferencesCopyAppValue (CFSTR ("AppleLocale"), kCFPreferencesCurrentApplication); if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)value, namebuf, sizeof(namebuf), kCFStringEncodingASCII)) { gl_locale_name_canonicalize (namebuf); cached_localename = strdup (namebuf); } # endif if (cached_localename == NULL) cached_localename = "C"; } return cached_localename; } # endif # if defined(WIN32_NATIVE) /* WIN32, not Cygwin */ { LCID lcid; LANGID langid; int primary, sub; /* Use native Win32 API locale ID. */ lcid = GetThreadLocale (); /* Strip off the sorting rules, keep only the language part. */ langid = LANGIDFROMLCID (lcid); /* Split into language and territory part. */ primary = PRIMARYLANGID (langid); sub = SUBLANGID (langid); /* Dispatch on language. See also http://www.unicode.org/unicode/onlinedat/languages.html . For details about languages, see http://www.ethnologue.com/ . */ switch (primary) { case LANG_AFRIKAANS: return "af_ZA"; case LANG_ALBANIAN: return "sq_AL"; case LANG_AMHARIC: return "am_ET"; case LANG_ARABIC: switch (sub) { case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA"; case SUBLANG_ARABIC_IRAQ: return "ar_IQ"; case SUBLANG_ARABIC_EGYPT: return "ar_EG"; case SUBLANG_ARABIC_LIBYA: return "ar_LY"; case SUBLANG_ARABIC_ALGERIA: return "ar_DZ"; case SUBLANG_ARABIC_MOROCCO: return "ar_MA"; case SUBLANG_ARABIC_TUNISIA: return "ar_TN"; case SUBLANG_ARABIC_OMAN: return "ar_OM"; case SUBLANG_ARABIC_YEMEN: return "ar_YE"; case SUBLANG_ARABIC_SYRIA: return "ar_SY"; case SUBLANG_ARABIC_JORDAN: return "ar_JO"; case SUBLANG_ARABIC_LEBANON: return "ar_LB"; case SUBLANG_ARABIC_KUWAIT: return "ar_KW"; case SUBLANG_ARABIC_UAE: return "ar_AE"; case SUBLANG_ARABIC_BAHRAIN: return "ar_BH"; case SUBLANG_ARABIC_QATAR: return "ar_QA"; } return "ar"; case LANG_ARMENIAN: return "hy_AM"; case LANG_ASSAMESE: return "as_IN"; case LANG_AZERI: switch (sub) { /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */ case SUBLANG_AZERI_LATIN: return "az_AZ@latin"; case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic"; } return "az"; case LANG_BASQUE: switch (sub) { case SUBLANG_DEFAULT: return "eu_ES"; } return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */ case LANG_BELARUSIAN: return "be_BY"; case LANG_BENGALI: switch (sub) { case SUBLANG_BENGALI_INDIA: return "bn_IN"; case SUBLANG_BENGALI_BANGLADESH: return "bn_BD"; } return "bn"; case LANG_BULGARIAN: return "bg_BG"; case LANG_BURMESE: return "my_MM"; case LANG_CAMBODIAN: return "km_KH"; case LANG_CATALAN: return "ca_ES"; case LANG_CHEROKEE: return "chr_US"; case LANG_CHINESE: switch (sub) { case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW"; case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN"; case SUBLANG_CHINESE_HONGKONG: return "zh_HK"; case SUBLANG_CHINESE_SINGAPORE: return "zh_SG"; case SUBLANG_CHINESE_MACAU: return "zh_MO"; } return "zh"; case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN * What used to be called Serbo-Croatian * should really now be two separate * languages because of political reasons. * (Says tml, who knows nothing about Serbian * or Croatian.) * (I can feel those flames coming already.) */ switch (sub) { case SUBLANG_DEFAULT: return "hr_HR"; case SUBLANG_SERBIAN_LATIN: return "sr_CS"; case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic"; } return "hr"; case LANG_CZECH: return "cs_CZ"; case LANG_DANISH: return "da_DK"; case LANG_DIVEHI: return "dv_MV"; case LANG_DUTCH: switch (sub) { case SUBLANG_DUTCH: return "nl_NL"; case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE"; } return "nl"; case LANG_EDO: return "bin_NG"; case LANG_ENGLISH: switch (sub) { /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought * English was the language spoken in England. * Oh well. */ case SUBLANG_ENGLISH_US: return "en_US"; case SUBLANG_ENGLISH_UK: return "en_GB"; case SUBLANG_ENGLISH_AUS: return "en_AU"; case SUBLANG_ENGLISH_CAN: return "en_CA"; case SUBLANG_ENGLISH_NZ: return "en_NZ"; case SUBLANG_ENGLISH_EIRE: return "en_IE"; case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA"; case SUBLANG_ENGLISH_JAMAICA: return "en_JM"; case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */ case SUBLANG_ENGLISH_BELIZE: return "en_BZ"; case SUBLANG_ENGLISH_TRINIDAD: return "en_TT"; case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW"; case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH"; case SUBLANG_ENGLISH_INDONESIA: return "en_ID"; case SUBLANG_ENGLISH_HONGKONG: return "en_HK"; case SUBLANG_ENGLISH_INDIA: return "en_IN"; case SUBLANG_ENGLISH_MALAYSIA: return "en_MY"; case SUBLANG_ENGLISH_SINGAPORE: return "en_SG"; } return "en"; case LANG_ESTONIAN: return "et_EE"; case LANG_FAEROESE: return "fo_FO"; case LANG_FARSI: return "fa_IR"; case LANG_FINNISH: return "fi_FI"; case LANG_FRENCH: switch (sub) { case SUBLANG_FRENCH: return "fr_FR"; case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE"; case SUBLANG_FRENCH_CANADIAN: return "fr_CA"; case SUBLANG_FRENCH_SWISS: return "fr_CH"; case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU"; case SUBLANG_FRENCH_MONACO: return "fr_MC"; case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */ case SUBLANG_FRENCH_REUNION: return "fr_RE"; case SUBLANG_FRENCH_CONGO: return "fr_CG"; case SUBLANG_FRENCH_SENEGAL: return "fr_SN"; case SUBLANG_FRENCH_CAMEROON: return "fr_CM"; case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI"; case SUBLANG_FRENCH_MALI: return "fr_ML"; case SUBLANG_FRENCH_MOROCCO: return "fr_MA"; case SUBLANG_FRENCH_HAITI: return "fr_HT"; } return "fr"; case LANG_FRISIAN: return "fy_NL"; case LANG_FULFULDE: /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */ return "ff_NG"; case LANG_GAELIC: switch (sub) { case 0x01: /* SCOTTISH */ return "gd_GB"; case 0x02: /* IRISH */ return "ga_IE"; } return "C"; case LANG_GALICIAN: return "gl_ES"; case LANG_GEORGIAN: return "ka_GE"; case LANG_GERMAN: switch (sub) { case SUBLANG_GERMAN: return "de_DE"; case SUBLANG_GERMAN_SWISS: return "de_CH"; case SUBLANG_GERMAN_AUSTRIAN: return "de_AT"; case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU"; case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI"; } return "de"; case LANG_GREEK: return "el_GR"; case LANG_GUARANI: return "gn_PY"; case LANG_GUJARATI: return "gu_IN"; case LANG_HAUSA: return "ha_NG"; case LANG_HAWAIIAN: /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers) or Hawaii Creole English ("cpe_US", 600000 speakers)? */ return "cpe_US"; case LANG_HEBREW: return "he_IL"; case LANG_HINDI: return "hi_IN"; case LANG_HUNGARIAN: return "hu_HU"; case LANG_IBIBIO: return "nic_NG"; case LANG_ICELANDIC: return "is_IS"; case LANG_IGBO: return "ig_NG"; case LANG_INDONESIAN: return "id_ID"; case LANG_INUKTITUT: return "iu_CA"; case LANG_ITALIAN: switch (sub) { case SUBLANG_ITALIAN: return "it_IT"; case SUBLANG_ITALIAN_SWISS: return "it_CH"; } return "it"; case LANG_JAPANESE: return "ja_JP"; case LANG_KANNADA: return "kn_IN"; case LANG_KANURI: return "kr_NG"; case LANG_KASHMIRI: switch (sub) { case SUBLANG_DEFAULT: return "ks_PK"; case SUBLANG_KASHMIRI_INDIA: return "ks_IN"; } return "ks"; case LANG_KAZAK: return "kk_KZ"; case LANG_KONKANI: /* FIXME: Adjust this when such locales appear on Unix. */ return "kok_IN"; case LANG_KOREAN: return "ko_KR"; case LANG_KYRGYZ: return "ky_KG"; case LANG_LAO: return "lo_LA"; case LANG_LATIN: return "la_VA"; case LANG_LATVIAN: return "lv_LV"; case LANG_LITHUANIAN: return "lt_LT"; case LANG_MACEDONIAN: return "mk_MK"; case LANG_MALAY: switch (sub) { case SUBLANG_MALAY_MALAYSIA: return "ms_MY"; case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN"; } return "ms"; case LANG_MALAYALAM: return "ml_IN"; case LANG_MALTESE: return "mt_MT"; case LANG_MANIPURI: /* FIXME: Adjust this when such locales appear on Unix. */ return "mni_IN"; case LANG_MARATHI: return "mr_IN"; case LANG_MONGOLIAN: switch (sub) { case SUBLANG_DEFAULT: return "mn_MN"; } return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */ case LANG_NEPALI: switch (sub) { case SUBLANG_DEFAULT: return "ne_NP"; case SUBLANG_NEPALI_INDIA: return "ne_IN"; } return "ne"; case LANG_NORWEGIAN: switch (sub) { case SUBLANG_NORWEGIAN_BOKMAL: return "nb_NO"; case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO"; } return "no"; case LANG_ORIYA: return "or_IN"; case LANG_OROMO: return "om_ET"; case LANG_PAPIAMENTU: return "pap_AN"; case LANG_PASHTO: return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */ case LANG_POLISH: return "pl_PL"; case LANG_PORTUGUESE: switch (sub) { case SUBLANG_PORTUGUESE: return "pt_PT"; /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT. Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR"; } return "pt"; case LANG_PUNJABI: switch (sub) { case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */ } return "pa"; case LANG_RHAETO_ROMANCE: return "rm_CH"; case LANG_ROMANIAN: switch (sub) { case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO"; case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD"; } return "ro"; case LANG_RUSSIAN: switch (sub) { case SUBLANG_DEFAULT: return "ru_RU"; } return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */ case LANG_SAAMI: /* actually Northern Sami */ return "se_NO"; case LANG_SANSKRIT: return "sa_IN"; case LANG_SINDHI: switch (sub) { case SUBLANG_SINDHI_PAKISTAN: return "sd_PK"; case SUBLANG_SINDHI_AFGHANISTAN: return "sd_AF"; } return "sd"; case LANG_SINHALESE: return "si_LK"; case LANG_SLOVAK: return "sk_SK"; case LANG_SLOVENIAN: return "sl_SI"; case LANG_SOMALI: return "so_SO"; case LANG_SORBIAN: /* FIXME: Adjust this when such locales appear on Unix. */ return "wen_DE"; case LANG_SPANISH: switch (sub) { case SUBLANG_SPANISH: return "es_ES"; case SUBLANG_SPANISH_MEXICAN: return "es_MX"; case SUBLANG_SPANISH_MODERN: return "es_ES@modern"; /* not seen on Unix */ case SUBLANG_SPANISH_GUATEMALA: return "es_GT"; case SUBLANG_SPANISH_COSTA_RICA: return "es_CR"; case SUBLANG_SPANISH_PANAMA: return "es_PA"; case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO"; case SUBLANG_SPANISH_VENEZUELA: return "es_VE"; case SUBLANG_SPANISH_COLOMBIA: return "es_CO"; case SUBLANG_SPANISH_PERU: return "es_PE"; case SUBLANG_SPANISH_ARGENTINA: return "es_AR"; case SUBLANG_SPANISH_ECUADOR: return "es_EC"; case SUBLANG_SPANISH_CHILE: return "es_CL"; case SUBLANG_SPANISH_URUGUAY: return "es_UY"; case SUBLANG_SPANISH_PARAGUAY: return "es_PY"; case SUBLANG_SPANISH_BOLIVIA: return "es_BO"; case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV"; case SUBLANG_SPANISH_HONDURAS: return "es_HN"; case SUBLANG_SPANISH_NICARAGUA: return "es_NI"; case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR"; } return "es"; case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */ case LANG_SWAHILI: return "sw_KE"; case LANG_SWEDISH: switch (sub) { case SUBLANG_DEFAULT: return "sv_SE"; case SUBLANG_SWEDISH_FINLAND: return "sv_FI"; } return "sv"; case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */ case LANG_TAGALOG: return "tl_PH"; case LANG_TAJIK: return "tg_TJ"; case LANG_TAMAZIGHT: switch (sub) { /* FIXME: Adjust this when Tamazight locales appear on Unix. */ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic"; case SUBLANG_TAMAZIGHT_ALGERIA_LATIN: return "ber_DZ@latin"; } return "ber_MA"; case LANG_TAMIL: switch (sub) { case SUBLANG_DEFAULT: return "ta_IN"; } return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */ case LANG_TATAR: return "tt_RU"; case LANG_TELUGU: return "te_IN"; case LANG_THAI: return "th_TH"; case LANG_TIBETAN: return "bo_CN"; case LANG_TIGRINYA: switch (sub) { case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET"; case SUBLANG_TIGRINYA_ERITREA: return "ti_ER"; } return "ti"; case LANG_TSONGA: return "ts_ZA"; case LANG_TSWANA: return "tn_BW"; case LANG_TURKISH: return "tr_TR"; case LANG_TURKMEN: return "tk_TM"; case LANG_UKRAINIAN: return "uk_UA"; case LANG_URDU: switch (sub) { case SUBLANG_URDU_PAKISTAN: return "ur_PK"; case SUBLANG_URDU_INDIA: return "ur_IN"; } return "ur"; case LANG_UZBEK: switch (sub) { case SUBLANG_UZBEK_LATIN: return "uz_UZ"; case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic"; } return "uz"; case LANG_VENDA: return "ve_ZA"; case LANG_VIETNAMESE: return "vi_VN"; case LANG_WELSH: return "cy_GB"; case LANG_XHOSA: return "xh_ZA"; case LANG_YI: return "sit_CN"; case LANG_YIDDISH: return "yi_IL"; case LANG_YORUBA: return "yo_NG"; case LANG_ZULU: return "zu_ZA"; default: return "C"; } } # endif #endif } const char * gl_locale_name (int category, const char *categoryname) { const char *retval; retval = gl_locale_name_posix (category, categoryname); if (retval != NULL) return retval; return gl_locale_name_default (); } KCemu-0.5.1/intl/printf-parse.h0000644000175000017500000000421312417262523016502 0ustar glaubitzglaubitz/* Parse printf format string. Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PRINTF_PARSE_H #define _PRINTF_PARSE_H #include "printf-args.h" /* Flags */ #define FLAG_GROUP 1 /* ' flag */ #define FLAG_LEFT 2 /* - flag */ #define FLAG_SHOWSIGN 4 /* + flag */ #define FLAG_SPACE 8 /* space flag */ #define FLAG_ALT 16 /* # flag */ #define FLAG_ZERO 32 /* arg_index value indicating that no argument is consumed. */ #define ARG_NONE (~(size_t)0) /* A parsed directive. */ typedef struct { const char* dir_start; const char* dir_end; int flags; const char* width_start; const char* width_end; size_t width_arg_index; const char* precision_start; const char* precision_end; size_t precision_arg_index; char conversion; /* d i o u x X f e E g G c s p n U % but not C S */ size_t arg_index; } char_directive; /* A parsed format string. */ typedef struct { size_t count; char_directive *dir; size_t max_width_length; size_t max_precision_length; } char_directives; /* Parses the format string. Fills in the number N of directives, and fills in directives[0], ..., directives[N-1], and sets directives[N].dir_start to the end of the format string. Also fills in the arg_type fields of the arguments and the needed count of arguments. */ #ifdef STATIC STATIC #else extern #endif int printf_parse (const char *format, char_directives *d, arguments *a); #endif /* _PRINTF_PARSE_H */ KCemu-0.5.1/intl/dgettext.c0000644000175000017500000000337112417262523015717 0ustar glaubitzglaubitz/* Implementation of the dgettext(3) function. Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #include #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DGETTEXT __dgettext # define DCGETTEXT INTUSE(__dcgettext) #else # define DGETTEXT libintl_dgettext # define DCGETTEXT libintl_dcgettext #endif /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale. */ char * DGETTEXT (const char *domainname, const char *msgid) { return DCGETTEXT (domainname, msgid, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dgettext, dgettext); #endif KCemu-0.5.1/intl/os2compat.c0000644000175000017500000000550712417262523016001 0ustar glaubitzglaubitz/* OS/2 compatibility functions. Copyright (C) 2001-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #define OS2_AWARE #ifdef HAVE_CONFIG_H #include #endif #include #include #include /* A version of getenv() that works from DLLs */ extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue); char * _nl_getenv (const char *name) { unsigned char *value; if (DosScanEnv (name, &value)) return NULL; else return value; } /* A fixed size buffer. */ char libintl_nl_default_dirname[MAXPATHLEN+1]; char *_nlos2_libdir = NULL; char *_nlos2_localealiaspath = NULL; char *_nlos2_localedir = NULL; static __attribute__((constructor)) void nlos2_initialize () { char *root = getenv ("UNIXROOT"); char *gnulocaledir = getenv ("GNULOCALEDIR"); _nlos2_libdir = gnulocaledir; if (!_nlos2_libdir) { if (root) { size_t sl = strlen (root); _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1); memcpy (_nlos2_libdir, root, sl); memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1); } else _nlos2_libdir = LIBDIR; } _nlos2_localealiaspath = gnulocaledir; if (!_nlos2_localealiaspath) { if (root) { size_t sl = strlen (root); _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1); memcpy (_nlos2_localealiaspath, root, sl); memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1); } else _nlos2_localealiaspath = LOCALE_ALIAS_PATH; } _nlos2_localedir = gnulocaledir; if (!_nlos2_localedir) { if (root) { size_t sl = strlen (root); _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1); memcpy (_nlos2_localedir, root, sl); memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1); } else _nlos2_localedir = LOCALEDIR; } if (strlen (_nlos2_localedir) <= MAXPATHLEN) strcpy (libintl_nl_default_dirname, _nlos2_localedir); } KCemu-0.5.1/intl/localcharset.c0000644000175000017500000003031412417262523016530 0ustar glaubitzglaubitz/* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #include /* Specification. */ #include "localcharset.h" #include #include #include #include #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif #if defined __EMX__ /* Assume EMX program runs on OS/2, even if compiled under DOS. */ # define OS2 #endif #if !defined WIN32_NATIVE # if HAVE_LANGINFO_CODESET # include # else # if 0 /* see comment below */ # include # endif # endif # ifdef __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include # endif #elif defined WIN32_NATIVE # define WIN32_LEAN_AND_MEAN # include #endif #if defined OS2 # define INCL_DOS # include #endif #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* Get LIBDIR. */ #ifndef LIBDIR # include "configmake.h" #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') #endif #ifndef DIRECTORY_SEPARATOR # define DIRECTORY_SEPARATOR '/' #endif #ifndef ISSLASH # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR) #endif #if HAVE_DECL_GETC_UNLOCKED # undef getc # define getc getc_unlocked #endif /* The following static variable is declared 'volatile' to avoid a possible multithread problem in the function get_charset_aliases. If we are running in a threaded environment, and if two threads initialize 'charset_aliases' simultaneously, both will produce the same value, and everything will be ok if the two assignments to 'charset_aliases' are atomic. But I don't know what will happen if the two assignments mix. */ #if __STDC__ != 1 # define volatile /* empty */ #endif /* Pointer to the contents of the charset.alias file, if it has already been read, else NULL. Its format is: ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */ static const char * volatile charset_aliases; /* Return a pointer to the contents of the charset.alias file. */ static const char * get_charset_aliases (void) { const char *cp; cp = charset_aliases; if (cp == NULL) { #if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) FILE *fp; const char *dir; const char *base = "charset.alias"; char *file_name; /* Make it possible to override the charset.alias location. This is necessary for running the testsuite before "make install". */ dir = getenv ("CHARSETALIASDIR"); if (dir == NULL || dir[0] == '\0') dir = relocate (LIBDIR); /* Concatenate dir and base into freshly allocated file_name. */ { size_t dir_len = strlen (dir); size_t base_len = strlen (base); int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1])); file_name = (char *) malloc (dir_len + add_slash + base_len + 1); if (file_name != NULL) { memcpy (file_name, dir, dir_len); if (add_slash) file_name[dir_len] = DIRECTORY_SEPARATOR; memcpy (file_name + dir_len + add_slash, base, base_len + 1); } } if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL) /* Out of memory or file not found, treat it as empty. */ cp = ""; else { /* Parse the file's contents. */ char *res_ptr = NULL; size_t res_size = 0; for (;;) { int c; char buf1[50+1]; char buf2[50+1]; size_t l1, l2; char *old_res_ptr; c = getc (fp); if (c == EOF) break; if (c == '\n' || c == ' ' || c == '\t') continue; if (c == '#') { /* Skip comment, to end of line. */ do c = getc (fp); while (!(c == EOF || c == '\n')); if (c == EOF) break; continue; } ungetc (c, fp); if (fscanf (fp, "%50s %50s", buf1, buf2) < 2) break; l1 = strlen (buf1); l2 = strlen (buf2); old_res_ptr = res_ptr; if (res_size == 0) { res_size = l1 + 1 + l2 + 1; res_ptr = (char *) malloc (res_size + 1); } else { res_size += l1 + 1 + l2 + 1; res_ptr = (char *) realloc (res_ptr, res_size + 1); } if (res_ptr == NULL) { /* Out of memory. */ res_size = 0; if (old_res_ptr != NULL) free (old_res_ptr); break; } strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1); strcpy (res_ptr + res_size - (l2 + 1), buf2); } fclose (fp); if (res_size == 0) cp = ""; else { *(res_ptr + res_size) = '\0'; cp = res_ptr; } } if (file_name != NULL) free (file_name); #else # if defined VMS /* To avoid the troubles of an extra file charset.alias_vms in the sources of many GNU packages, simply inline the aliases here. */ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation "Compaq C Run-Time Library Reference Manual for OpenVMS systems" section 10.7 "Handling Different Character Sets". */ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" "ISO8859-2" "\0" "ISO-8859-2" "\0" "ISO8859-5" "\0" "ISO-8859-5" "\0" "ISO8859-7" "\0" "ISO-8859-7" "\0" "ISO8859-8" "\0" "ISO-8859-8" "\0" "ISO8859-9" "\0" "ISO-8859-9" "\0" /* Japanese */ "eucJP" "\0" "EUC-JP" "\0" "SJIS" "\0" "SHIFT_JIS" "\0" "DECKANJI" "\0" "DEC-KANJI" "\0" "SDECKANJI" "\0" "EUC-JP" "\0" /* Chinese */ "eucTW" "\0" "EUC-TW" "\0" "DECHANYU" "\0" "DEC-HANYU" "\0" "DECHANZI" "\0" "GB2312" "\0" /* Korean */ "DECKOREAN" "\0" "EUC-KR" "\0"; # endif # if defined WIN32_NATIVE || defined __CYGWIN__ /* To avoid the troubles of installing a separate file in the same directory as the DLL and of retrieving the DLL's directory at runtime, simply inline the aliases here. */ cp = "CP936" "\0" "GBK" "\0" "CP1361" "\0" "JOHAB" "\0" "CP20127" "\0" "ASCII" "\0" "CP20866" "\0" "KOI8-R" "\0" "CP20936" "\0" "GB2312" "\0" "CP21866" "\0" "KOI8-RU" "\0" "CP28591" "\0" "ISO-8859-1" "\0" "CP28592" "\0" "ISO-8859-2" "\0" "CP28593" "\0" "ISO-8859-3" "\0" "CP28594" "\0" "ISO-8859-4" "\0" "CP28595" "\0" "ISO-8859-5" "\0" "CP28596" "\0" "ISO-8859-6" "\0" "CP28597" "\0" "ISO-8859-7" "\0" "CP28598" "\0" "ISO-8859-8" "\0" "CP28599" "\0" "ISO-8859-9" "\0" "CP28605" "\0" "ISO-8859-15" "\0" "CP38598" "\0" "ISO-8859-8" "\0" "CP51932" "\0" "EUC-JP" "\0" "CP51936" "\0" "GB2312" "\0" "CP51949" "\0" "EUC-KR" "\0" "CP51950" "\0" "EUC-TW" "\0" "CP54936" "\0" "GB18030" "\0" "CP65001" "\0" "UTF-8" "\0"; # endif #endif charset_aliases = cp; } return cp; } /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ #ifdef STATIC STATIC #endif const char * locale_charset (void) { const char *codeset; const char *aliases; #if !(defined WIN32_NATIVE || defined OS2) # if HAVE_LANGINFO_CODESET /* Most systems support nl_langinfo (CODESET) nowadays. */ codeset = nl_langinfo (CODESET); # ifdef __CYGWIN__ /* Cygwin 2006 does not have locales. nl_langinfo (CODESET) always returns "US-ASCII". As long as this is not fixed, return the suffix of the locale name from the environment variables (if present) or the codepage as a number. */ if (codeset != NULL && strcmp (codeset, "US-ASCII") == 0) { const char *locale; static char buf[2 + 10 + 1]; locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } } /* Woe32 has a function returning the locale's codepage as a number. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; } # endif # else /* On old systems which lack it, use setlocale or getenv. */ const char *locale = NULL; /* But most old systems don't have a complete set of locales. Some (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't use setlocale here; it would return "C" when it doesn't support the locale name the user has set. */ # if 0 locale = setlocale (LC_CTYPE, NULL); # endif if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } } /* On some old systems, one used to set locale = "iso8859_1". On others, you set it to "language_COUNTRY.charset". In any case, we resolve it through the charset.alias file. */ codeset = locale; # endif #elif defined WIN32_NATIVE static char buf[2 + 10 + 1]; /* Woe32 has a function returning the locale's codepage as a number. */ sprintf (buf, "CP%u", GetACP ()); codeset = buf; #elif defined OS2 const char *locale; static char buf[2 + 10 + 1]; ULONG cp[3]; ULONG cplen; /* Allow user to override the codeset, as set in the operating system, with standard language environment variables. */ locale = getenv ("LC_ALL"); if (locale == NULL || locale[0] == '\0') { locale = getenv ("LC_CTYPE"); if (locale == NULL || locale[0] == '\0') locale = getenv ("LANG"); } if (locale != NULL && locale[0] != '\0') { /* If the locale name contains an encoding after the dot, return it. */ const char *dot = strchr (locale, '.'); if (dot != NULL) { const char *modifier; dot++; /* Look for the possible @... trailer and remove it, if any. */ modifier = strchr (dot, '@'); if (modifier == NULL) return dot; if (modifier - dot < sizeof (buf)) { memcpy (buf, dot, modifier - dot); buf [modifier - dot] = '\0'; return buf; } } /* Resolve through the charset.alias file. */ codeset = locale; } else { /* OS/2 has a function returning the locale's codepage as a number. */ if (DosQueryCp (sizeof (cp), cp, &cplen)) codeset = ""; else { sprintf (buf, "CP%u", cp[0]); codeset = buf; } } #endif if (codeset == NULL) /* The canonical name cannot be determined. */ codeset = ""; /* Resolve alias. */ for (aliases = get_charset_aliases (); *aliases != '\0'; aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1) if (strcmp (codeset, aliases) == 0 || (aliases[0] == '*' && aliases[1] == '\0')) { codeset = aliases + strlen (aliases) + 1; break; } /* Don't return an empty string. GNU libc and GNU libiconv interpret the empty string as denoting "the locale's character encoding", thus GNU libiconv would call this function a second time. */ if (codeset[0] == '\0') codeset = "ASCII"; return codeset; } KCemu-0.5.1/intl/localcharset.h0000644000175000017500000000256312417262523016542 0ustar glaubitzglaubitz/* Determine a canonical name for the current locale's character encoding. Copyright (C) 2000-2003 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LOCALCHARSET_H #define _LOCALCHARSET_H #ifdef __cplusplus extern "C" { #endif /* Determine the current locale's character encoding, and canonicalize it into one of the canonical names listed in config.charset. The result must not be freed; it is statically allocated. If the canonical name cannot be determined, the result is a non-canonical name. */ extern const char * locale_charset (void); #ifdef __cplusplus } #endif #endif /* _LOCALCHARSET_H */ KCemu-0.5.1/intl/printf.c0000644000175000017500000002217312417262523015372 0ustar glaubitzglaubitz/* Formatted output to strings, using POSIX/XSI format strings with positions. Copyright (C) 2003, 2006-2007 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef __GNUC__ # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #if !HAVE_POSIX_PRINTF #include #include #include #include /* Some systems, like OSF/1 4.0 and Woe32, don't have EOVERFLOW. */ #ifndef EOVERFLOW # define EOVERFLOW E2BIG #endif /* When building a DLL, we must export some functions. Note that because the functions are only defined for binary backward compatibility, we don't need to use __declspec(dllimport) in any case. */ #if defined _MSC_VER && BUILDING_DLL # define DLL_EXPORTED __declspec(dllexport) #else # define DLL_EXPORTED #endif #define STATIC static /* This needs to be consistent with libgnuintl.h.in. */ #if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ /* Don't break __attribute__((format(printf,M,N))). This redefinition is only possible because the libc in NetBSD, Cygwin, mingw does not have a function __printf__. */ # define libintl_printf __printf__ #endif /* Define auxiliary functions declared in "printf-args.h". */ #include "printf-args.c" /* Define auxiliary functions declared in "printf-parse.h". */ #include "printf-parse.c" /* Define functions declared in "vasnprintf.h". */ #define vasnprintf libintl_vasnprintf #include "vasnprintf.c" #if 0 /* not needed */ #define asnprintf libintl_asnprintf #include "asnprintf.c" #endif DLL_EXPORTED int libintl_vfprintf (FILE *stream, const char *format, va_list args) { if (strchr (format, '$') == NULL) return vfprintf (stream, format, args); else { size_t length; char *result = libintl_vasnprintf (NULL, &length, format, args); int retval = -1; if (result != NULL) { size_t written = fwrite (result, 1, length, stream); free (result); if (written == length) { if (length > INT_MAX) errno = EOVERFLOW; else retval = length; } } return retval; } } DLL_EXPORTED int libintl_fprintf (FILE *stream, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vfprintf (stream, format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vprintf (const char *format, va_list args) { return libintl_vfprintf (stdout, format, args); } DLL_EXPORTED int libintl_printf (const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vprintf (format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vsprintf (char *resultbuf, const char *format, va_list args) { if (strchr (format, '$') == NULL) return vsprintf (resultbuf, format, args); else { size_t length = (size_t) ~0 / (4 * sizeof (char)); char *result = libintl_vasnprintf (resultbuf, &length, format, args); if (result != resultbuf) { free (result); return -1; } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_sprintf (char *resultbuf, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vsprintf (resultbuf, format, args); va_end (args); return retval; } #if HAVE_SNPRINTF # if HAVE_DECL__SNPRINTF /* Windows. */ # define system_vsnprintf _vsnprintf # else /* Unix. */ # define system_vsnprintf vsnprintf # endif DLL_EXPORTED int libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args) { if (strchr (format, '$') == NULL) return system_vsnprintf (resultbuf, length, format, args); else { size_t maxlength = length; char *result = libintl_vasnprintf (resultbuf, &length, format, args); if (result != resultbuf) { if (maxlength > 0) { size_t pruned_length = (length < maxlength ? length : maxlength - 1); memcpy (resultbuf, result, pruned_length); resultbuf[pruned_length] = '\0'; } free (result); } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_snprintf (char *resultbuf, size_t length, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vsnprintf (resultbuf, length, format, args); va_end (args); return retval; } #endif #if HAVE_ASPRINTF DLL_EXPORTED int libintl_vasprintf (char **resultp, const char *format, va_list args) { size_t length; char *result = libintl_vasnprintf (NULL, &length, format, args); if (result == NULL) return -1; if (length > INT_MAX) { free (result); errno = EOVERFLOW; return -1; } *resultp = result; return length; } DLL_EXPORTED int libintl_asprintf (char **resultp, const char *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vasprintf (resultp, format, args); va_end (args); return retval; } #endif #if HAVE_FWPRINTF #include #define WIDE_CHAR_VERSION 1 #include "wprintf-parse.h" /* Define auxiliary functions declared in "wprintf-parse.h". */ #define CHAR_T wchar_t #define DIRECTIVE wchar_t_directive #define DIRECTIVES wchar_t_directives #define PRINTF_PARSE wprintf_parse #include "printf-parse.c" /* Define functions declared in "vasnprintf.h". */ #define vasnwprintf libintl_vasnwprintf #include "vasnprintf.c" #if 0 /* not needed */ #define asnwprintf libintl_asnwprintf #include "asnprintf.c" #endif # if HAVE_DECL__SNWPRINTF /* Windows. */ # define system_vswprintf _vsnwprintf # else /* Unix. */ # define system_vswprintf vswprintf # endif DLL_EXPORTED int libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args) { if (wcschr (format, '$') == NULL) return vfwprintf (stream, format, args); else { size_t length; wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args); int retval = -1; if (result != NULL) { size_t i; for (i = 0; i < length; i++) if (fputwc (result[i], stream) == WEOF) break; free (result); if (i == length) { if (length > INT_MAX) errno = EOVERFLOW; else retval = length; } } return retval; } } DLL_EXPORTED int libintl_fwprintf (FILE *stream, const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vfwprintf (stream, format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vwprintf (const wchar_t *format, va_list args) { return libintl_vfwprintf (stdout, format, args); } DLL_EXPORTED int libintl_wprintf (const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vwprintf (format, args); va_end (args); return retval; } DLL_EXPORTED int libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args) { if (wcschr (format, '$') == NULL) return system_vswprintf (resultbuf, length, format, args); else { size_t maxlength = length; wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args); if (result != resultbuf) { if (maxlength > 0) { size_t pruned_length = (length < maxlength ? length : maxlength - 1); memcpy (resultbuf, result, pruned_length * sizeof (wchar_t)); resultbuf[pruned_length] = 0; } free (result); /* Unlike vsnprintf, which has to return the number of character that would have been produced if the resultbuf had been sufficiently large, the vswprintf function has to return a negative value if the resultbuf was not sufficiently large. */ if (length >= maxlength) return -1; } if (length > INT_MAX) { errno = EOVERFLOW; return -1; } else return length; } } DLL_EXPORTED int libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...) { va_list args; int retval; va_start (args, format); retval = libintl_vswprintf (resultbuf, length, format, args); va_end (args); return retval; } #endif #endif KCemu-0.5.1/intl/relocatable.h0000644000175000017500000000543212417262523016351 0ustar glaubitzglaubitz/* Provide relocatable packages. Copyright (C) 2003, 2005 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _RELOCATABLE_H #define _RELOCATABLE_H #ifdef __cplusplus extern "C" { #endif /* This can be enabled through the configure --enable-relocatable option. */ #if ENABLE_RELOCATABLE /* When building a DLL, we must export some functions. Note that because this is a private .h file, we don't need to use __declspec(dllimport) in any case. */ #if HAVE_VISIBILITY && BUILDING_DLL # define RELOCATABLE_DLL_EXPORTED __attribute__((__visibility__("default"))) #elif defined _MSC_VER && BUILDING_DLL # define RELOCATABLE_DLL_EXPORTED __declspec(dllexport) #else # define RELOCATABLE_DLL_EXPORTED #endif /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ extern RELOCATABLE_DLL_EXPORTED void set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); /* Returns the pathname, relocated according to the current installation directory. */ extern const char * relocate (const char *pathname); /* Memory management: relocate() leaks memory, because it has to construct a fresh pathname. If this is a problem because your program calls relocate() frequently, think about caching the result. */ /* Convenience function: Computes the current installation prefix, based on the original installation prefix, the original installation directory of a particular file, and the current pathname of this file. Returns NULL upon failure. */ extern const char * compute_curr_prefix (const char *orig_installprefix, const char *orig_installdir, const char *curr_pathname); #else /* By default, we use the hardwired pathnames. */ #define relocate(pathname) (pathname) #endif #ifdef __cplusplus } #endif #endif /* _RELOCATABLE_H */ KCemu-0.5.1/intl/libgnuintl.h.in0000644000175000017500000003415312417262523016652 0ustar glaubitzglaubitz/* Message catalogs for internationalization. Copyright (C) 1995-1997, 2000-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LIBINTL_H #define _LIBINTL_H 1 #include /* The LC_MESSAGES locale category is the category used by the functions gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. On systems that don't define it, use an arbitrary value instead. On Solaris, defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) then includes (i.e. this file!) and then only defines LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES in this case. */ #if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) # define LC_MESSAGES 1729 #endif /* We define an additional symbol to signal that we use the GNU implementation of gettext. */ #define __USE_GNU_GETTEXT 1 /* Provide information about the supported file formats. Returns the maximum minor revision number supported for a given major revision. */ #define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ((major) == 0 || (major) == 1 ? 1 : -1) /* Resolve a platform specific conflict on DJGPP. GNU gettext takes precedence over _conio_gettext. */ #ifdef __DJGPP__ # undef gettext #endif #ifdef __cplusplus extern "C" { #endif /* Version number: (major<<16) + (minor<<8) + subminor */ #define LIBINTL_VERSION 0x001100 extern int libintl_version; /* We redirect the functions to those prefixed with "libintl_". This is necessary, because some systems define gettext/textdomain/... in the C library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). If we used the unprefixed names, there would be cases where the definition in the C library would override the one in the libintl.so shared library. Recall that on ELF systems, the symbols are looked up in the following order: 1. in the executable, 2. in the shared libraries specified on the link command line, in order, 3. in the dependencies of the shared libraries specified on the link command line, 4. in the dlopen()ed shared libraries, in the order in which they were dlopen()ed. The definition in the C library would override the one in libintl.so if either * -lc is given on the link command line and -lintl isn't, or * -lc is given on the link command line before -lintl, or * libintl.so is a dependency of a dlopen()ed shared library but not linked to the executable at link time. Since Solaris gettext() behaves differently than GNU gettext(), this would be unacceptable. The redirection happens by default through macros in C, so that &gettext is independent of the compilation unit, but through inline functions in C++, in order not to interfere with the name mangling of class fields or class methods called 'gettext'. */ /* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. If he doesn't, we choose the method. A third possible method is _INTL_REDIRECT_ASM, supported only by GCC. */ #if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) # if __GNUC__ >= 2 && !(__APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) # define _INTL_REDIRECT_ASM # else # ifdef __cplusplus # define _INTL_REDIRECT_INLINE # else # define _INTL_REDIRECT_MACROS # endif # endif #endif /* Auxiliary macros. */ #ifdef _INTL_REDIRECT_ASM # define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) # define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring # define _INTL_STRINGIFY(prefix) #prefix #else # define _INTL_ASM(cname) #endif /* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return its n-th argument literally. This enables GCC to warn for example about printf (gettext ("foo %y")). */ #if __GNUC__ >= 3 && !(__APPLE_CC__ > 1 && defined __cplusplus) # define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) #else # define _INTL_MAY_RETURN_STRING_ARG(n) #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_gettext (const char *__msgid) _INTL_MAY_RETURN_STRING_ARG (1); static inline char *gettext (const char *__msgid) { return libintl_gettext (__msgid); } #else #ifdef _INTL_REDIRECT_MACROS # define gettext libintl_gettext #endif extern char *gettext (const char *__msgid) _INTL_ASM (libintl_gettext) _INTL_MAY_RETURN_STRING_ARG (1); #endif /* Look up MSGID in the DOMAINNAME message catalog for the current LC_MESSAGES locale. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dgettext (const char *__domainname, const char *__msgid) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *dgettext (const char *__domainname, const char *__msgid) { return libintl_dgettext (__domainname, __msgid); } #else #ifdef _INTL_REDIRECT_MACROS # define dgettext libintl_dgettext #endif extern char *dgettext (const char *__domainname, const char *__msgid) _INTL_ASM (libintl_dgettext) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, int __category) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *dcgettext (const char *__domainname, const char *__msgid, int __category) { return libintl_dcgettext (__domainname, __msgid, __category); } #else #ifdef _INTL_REDIRECT_MACROS # define dcgettext libintl_dcgettext #endif extern char *dcgettext (const char *__domainname, const char *__msgid, int __category) _INTL_ASM (libintl_dcgettext) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Similar to `gettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); static inline char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) { return libintl_ngettext (__msgid1, __msgid2, __n); } #else #ifdef _INTL_REDIRECT_MACROS # define ngettext libintl_ngettext #endif extern char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_ASM (libintl_ngettext) _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); #endif /* Similar to `dgettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); static inline char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) { return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); } #else #ifdef _INTL_REDIRECT_MACROS # define dngettext libintl_dngettext #endif extern char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) _INTL_ASM (libintl_dngettext) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); #endif /* Similar to `dcgettext' but select the plural form corresponding to the number N. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); static inline char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) { return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); } #else #ifdef _INTL_REDIRECT_MACROS # define dcngettext libintl_dcngettext #endif extern char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) _INTL_ASM (libintl_dcngettext) _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); #endif #ifndef IN_LIBGLOCALE /* Set the current default message catalog to DOMAINNAME. If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_textdomain (const char *__domainname); static inline char *textdomain (const char *__domainname) { return libintl_textdomain (__domainname); } #else #ifdef _INTL_REDIRECT_MACROS # define textdomain libintl_textdomain #endif extern char *textdomain (const char *__domainname) _INTL_ASM (libintl_textdomain); #endif /* Specify that the DOMAINNAME message catalog will be found in DIRNAME rather than in the system locale data base. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_bindtextdomain (const char *__domainname, const char *__dirname); static inline char *bindtextdomain (const char *__domainname, const char *__dirname) { return libintl_bindtextdomain (__domainname, __dirname); } #else #ifdef _INTL_REDIRECT_MACROS # define bindtextdomain libintl_bindtextdomain #endif extern char *bindtextdomain (const char *__domainname, const char *__dirname) _INTL_ASM (libintl_bindtextdomain); #endif /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ #ifdef _INTL_REDIRECT_INLINE extern char *libintl_bind_textdomain_codeset (const char *__domainname, const char *__codeset); static inline char *bind_textdomain_codeset (const char *__domainname, const char *__codeset) { return libintl_bind_textdomain_codeset (__domainname, __codeset); } #else #ifdef _INTL_REDIRECT_MACROS # define bind_textdomain_codeset libintl_bind_textdomain_codeset #endif extern char *bind_textdomain_codeset (const char *__domainname, const char *__codeset) _INTL_ASM (libintl_bind_textdomain_codeset); #endif #endif /* IN_LIBGLOCALE */ /* Support for format strings with positions in *printf(), following the POSIX/XSI specification. Note: These replacements for the *printf() functions are visible only in source files that #include or #include "gettext.h". Packages that use *printf() in source files that don't refer to _() or gettext() but for which the format string could be the return value of _() or gettext() need to add this #include. Oh well. */ #if !@HAVE_POSIX_PRINTF@ #include #include /* Get va_list. */ #if __STDC__ || defined __cplusplus || defined _MSC_VER # include #else # include #endif #undef fprintf #define fprintf libintl_fprintf extern int fprintf (FILE *, const char *, ...); #undef vfprintf #define vfprintf libintl_vfprintf extern int vfprintf (FILE *, const char *, va_list); #undef printf #if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ /* Don't break __attribute__((format(printf,M,N))). This redefinition is only possible because the libc in NetBSD, Cygwin, mingw does not have a function __printf__. */ # define libintl_printf __printf__ #endif #define printf libintl_printf extern int printf (const char *, ...); #undef vprintf #define vprintf libintl_vprintf extern int vprintf (const char *, va_list); #undef sprintf #define sprintf libintl_sprintf extern int sprintf (char *, const char *, ...); #undef vsprintf #define vsprintf libintl_vsprintf extern int vsprintf (char *, const char *, va_list); #if @HAVE_SNPRINTF@ #undef snprintf #define snprintf libintl_snprintf extern int snprintf (char *, size_t, const char *, ...); #undef vsnprintf #define vsnprintf libintl_vsnprintf extern int vsnprintf (char *, size_t, const char *, va_list); #endif #if @HAVE_ASPRINTF@ #undef asprintf #define asprintf libintl_asprintf extern int asprintf (char **, const char *, ...); #undef vasprintf #define vasprintf libintl_vasprintf extern int vasprintf (char **, const char *, va_list); #endif #if @HAVE_WPRINTF@ #undef fwprintf #define fwprintf libintl_fwprintf extern int fwprintf (FILE *, const wchar_t *, ...); #undef vfwprintf #define vfwprintf libintl_vfwprintf extern int vfwprintf (FILE *, const wchar_t *, va_list); #undef wprintf #define wprintf libintl_wprintf extern int wprintf (const wchar_t *, ...); #undef vwprintf #define vwprintf libintl_vwprintf extern int vwprintf (const wchar_t *, va_list); #undef swprintf #define swprintf libintl_swprintf extern int swprintf (wchar_t *, size_t, const wchar_t *, ...); #undef vswprintf #define vswprintf libintl_vswprintf extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); #endif #endif /* Support for relocatable packages. */ /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ #define libintl_set_relocation_prefix libintl_set_relocation_prefix extern void libintl_set_relocation_prefix (const char *orig_prefix, const char *curr_prefix); #ifdef __cplusplus } #endif #endif /* libintl.h */ KCemu-0.5.1/intl/gettext.c0000644000175000017500000000355412417262523015556 0ustar glaubitzglaubitz/* Implementation of gettext(3) function. Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef _LIBC # define __need_NULL # include #else # include /* Just for NULL. */ #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define GETTEXT __gettext # define DCGETTEXT INTUSE(__dcgettext) #else # define GETTEXT libintl_gettext # define DCGETTEXT libintl_dcgettext #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * GETTEXT (const char *msgid) { return DCGETTEXT (NULL, msgid, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__gettext, gettext); #endif KCemu-0.5.1/intl/relocatable.c0000644000175000017500000003353412417262523016350 0ustar glaubitzglaubitz/* Provide relocatable packages. Copyright (C) 2003-2006 Free Software Foundation, Inc. Written by Bruno Haible , 2003. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for getline(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #include /* Specification. */ #include "relocatable.h" #if ENABLE_RELOCATABLE #include #include #include #include #ifdef NO_XMALLOC # define xmalloc malloc #else # include "xalloc.h" #endif #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN # include #endif #if DEPENDS_ON_LIBCHARSET # include #endif #if DEPENDS_ON_LIBICONV && HAVE_ICONV # include #endif #if DEPENDS_ON_LIBINTL && ENABLE_NLS # include #endif /* Faked cheap 'bool'. */ #undef bool #undef false #undef true #define bool int #define false 0 #define true 1 /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_PATH_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) # define FILE_SYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) # define FILE_SYSTEM_PREFIX_LEN(P) 0 #endif /* Original installation prefix. */ static char *orig_prefix; static size_t orig_prefix_len; /* Current installation prefix. */ static char *curr_prefix; static size_t curr_prefix_len; /* These prefixes do not end in a slash. Anything that will be concatenated to them must start with a slash. */ /* Sets the original and the current installation prefix of this module. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ static void set_this_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) { if (orig_prefix_arg != NULL && curr_prefix_arg != NULL /* Optimization: if orig_prefix and curr_prefix are equal, the relocation is a nop. */ && strcmp (orig_prefix_arg, curr_prefix_arg) != 0) { /* Duplicate the argument strings. */ char *memory; orig_prefix_len = strlen (orig_prefix_arg); curr_prefix_len = strlen (curr_prefix_arg); memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1); #ifdef NO_XMALLOC if (memory != NULL) #endif { memcpy (memory, orig_prefix_arg, orig_prefix_len + 1); orig_prefix = memory; memory += orig_prefix_len + 1; memcpy (memory, curr_prefix_arg, curr_prefix_len + 1); curr_prefix = memory; return; } } orig_prefix = NULL; curr_prefix = NULL; /* Don't worry about wasted memory here - this function is usually only called once. */ } /* Sets the original and the current installation prefix of the package. Relocation simply replaces a pathname starting with the original prefix by the corresponding pathname with the current prefix instead. Both prefixes should be directory names without trailing slash (i.e. use "" instead of "/"). */ void set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg) { set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg); /* Now notify all dependent libraries. */ #if DEPENDS_ON_LIBCHARSET libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif #if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109 libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif #if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg); #endif } #if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR) /* Convenience function: Computes the current installation prefix, based on the original installation prefix, the original installation directory of a particular file, and the current pathname of this file. Returns NULL upon failure. */ #ifdef IN_LIBRARY #define compute_curr_prefix local_compute_curr_prefix static #endif const char * compute_curr_prefix (const char *orig_installprefix, const char *orig_installdir, const char *curr_pathname) { const char *curr_installdir; const char *rel_installdir; if (curr_pathname == NULL) return NULL; /* Determine the relative installation directory, relative to the prefix. This is simply the difference between orig_installprefix and orig_installdir. */ if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix)) != 0) /* Shouldn't happen - nothing should be installed outside $(prefix). */ return NULL; rel_installdir = orig_installdir + strlen (orig_installprefix); /* Determine the current installation directory. */ { const char *p_base = curr_pathname + FILE_SYSTEM_PREFIX_LEN (curr_pathname); const char *p = curr_pathname + strlen (curr_pathname); char *q; while (p > p_base) { p--; if (ISSLASH (*p)) break; } q = (char *) xmalloc (p - curr_pathname + 1); #ifdef NO_XMALLOC if (q == NULL) return NULL; #endif memcpy (q, curr_pathname, p - curr_pathname); q[p - curr_pathname] = '\0'; curr_installdir = q; } /* Compute the current installation prefix by removing the trailing rel_installdir from it. */ { const char *rp = rel_installdir + strlen (rel_installdir); const char *cp = curr_installdir + strlen (curr_installdir); const char *cp_base = curr_installdir + FILE_SYSTEM_PREFIX_LEN (curr_installdir); while (rp > rel_installdir && cp > cp_base) { bool same = false; const char *rpi = rp; const char *cpi = cp; while (rpi > rel_installdir && cpi > cp_base) { rpi--; cpi--; if (ISSLASH (*rpi) || ISSLASH (*cpi)) { if (ISSLASH (*rpi) && ISSLASH (*cpi)) same = true; break; } /* Do case-insensitive comparison if the filesystem is always or often case-insensitive. It's better to accept the comparison if the difference is only in case, rather than to fail. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS - case insignificant filesystem */ if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi) != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi)) break; #else if (*rpi != *cpi) break; #endif } if (!same) break; /* The last pathname component was the same. opi and cpi now point to the slash before it. */ rp = rpi; cp = cpi; } if (rp > rel_installdir) /* Unexpected: The curr_installdir does not end with rel_installdir. */ return NULL; { size_t curr_prefix_len = cp - curr_installdir; char *curr_prefix; curr_prefix = (char *) xmalloc (curr_prefix_len + 1); #ifdef NO_XMALLOC if (curr_prefix == NULL) return NULL; #endif memcpy (curr_prefix, curr_installdir, curr_prefix_len); curr_prefix[curr_prefix_len] = '\0'; return curr_prefix; } } } #endif /* !IN_LIBRARY || PIC */ #if defined PIC && defined INSTALLDIR /* Full pathname of shared library, or NULL. */ static char *shared_library_fullname; #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ /* Determine the full pathname of the shared library when it is loaded. */ BOOL WINAPI DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) { (void) reserved; if (event == DLL_PROCESS_ATTACH) { /* The DLL is being loaded into an application's address range. */ static char location[MAX_PATH]; if (!GetModuleFileName (module_handle, location, sizeof (location))) /* Shouldn't happen. */ return FALSE; if (!IS_PATH_WITH_DIR (location)) /* Shouldn't happen. */ return FALSE; { #if defined __CYGWIN__ /* On Cygwin, we need to convert paths coming from Win32 system calls to the Unix-like slashified notation. */ static char location_as_posix_path[2 * MAX_PATH]; /* There's no error return defined for cygwin_conv_to_posix_path. See cygwin-api/func-cygwin-conv-to-posix-path.html. Does it overflow the buffer of expected size MAX_PATH or does it truncate the path? I don't know. Let's catch both. */ cygwin_conv_to_posix_path (location, location_as_posix_path); location_as_posix_path[MAX_PATH - 1] = '\0'; if (strlen (location_as_posix_path) >= MAX_PATH - 1) /* A sign of buffer overflow or path truncation. */ return FALSE; shared_library_fullname = strdup (location_as_posix_path); #else shared_library_fullname = strdup (location); #endif } } return TRUE; } #else /* Unix except Cygwin */ static void find_shared_library_fullname () { #if defined __linux__ && __GLIBC__ >= 2 /* Linux has /proc/self/maps. glibc 2 has the getline() function. */ FILE *fp; /* Open the current process' maps file. It describes one VMA per line. */ fp = fopen ("/proc/self/maps", "r"); if (fp) { unsigned long address = (unsigned long) &find_shared_library_fullname; for (;;) { unsigned long start, end; int c; if (fscanf (fp, "%lx-%lx", &start, &end) != 2) break; if (address >= start && address <= end - 1) { /* Found it. Now see if this line contains a filename. */ while (c = getc (fp), c != EOF && c != '\n' && c != '/') continue; if (c == '/') { size_t size; int len; ungetc (c, fp); shared_library_fullname = NULL; size = 0; len = getline (&shared_library_fullname, &size, fp); if (len >= 0) { /* Success: filled shared_library_fullname. */ if (len > 0 && shared_library_fullname[len - 1] == '\n') shared_library_fullname[len - 1] = '\0'; } } break; } while (c = getc (fp), c != EOF && c != '\n') continue; } fclose (fp); } #endif } #endif /* (WIN32 or Cygwin) / (Unix except Cygwin) */ /* Return the full pathname of the current shared library. Return NULL if unknown. Guaranteed to work only on Linux, Cygwin and Woe32. */ static char * get_shared_library_fullname () { #if !(defined _WIN32 || defined __WIN32__ || defined __CYGWIN__) static bool tried_find_shared_library_fullname; if (!tried_find_shared_library_fullname) { find_shared_library_fullname (); tried_find_shared_library_fullname = true; } #endif return shared_library_fullname; } #endif /* PIC */ /* Returns the pathname, relocated according to the current installation directory. */ const char * relocate (const char *pathname) { #if defined PIC && defined INSTALLDIR static int initialized; /* Initialization code for a shared library. */ if (!initialized) { /* At this point, orig_prefix and curr_prefix likely have already been set through the main program's set_program_name_and_installdir function. This is sufficient in the case that the library has initially been installed in the same orig_prefix. But we can do better, to also cover the cases that 1. it has been installed in a different prefix before being moved to orig_prefix and (later) to curr_prefix, 2. unlike the program, it has not moved away from orig_prefix. */ const char *orig_installprefix = INSTALLPREFIX; const char *orig_installdir = INSTALLDIR; const char *curr_prefix_better; curr_prefix_better = compute_curr_prefix (orig_installprefix, orig_installdir, get_shared_library_fullname ()); if (curr_prefix_better == NULL) curr_prefix_better = curr_prefix; set_relocation_prefix (orig_installprefix, curr_prefix_better); initialized = 1; } #endif /* Note: It is not necessary to perform case insensitive comparison here, even for DOS-like filesystems, because the pathname argument was typically created from the same Makefile variable as orig_prefix came from. */ if (orig_prefix != NULL && curr_prefix != NULL && strncmp (pathname, orig_prefix, orig_prefix_len) == 0) { if (pathname[orig_prefix_len] == '\0') /* pathname equals orig_prefix. */ return curr_prefix; if (ISSLASH (pathname[orig_prefix_len])) { /* pathname starts with orig_prefix. */ const char *pathname_tail = &pathname[orig_prefix_len]; char *result = (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1); #ifdef NO_XMALLOC if (result != NULL) #endif { memcpy (result, curr_prefix, curr_prefix_len); strcpy (result + curr_prefix_len, pathname_tail); return result; } } } /* Nothing to relocate. */ return pathname; } #endif KCemu-0.5.1/intl/ngettext.c0000644000175000017500000000367412417262523015737 0ustar glaubitzglaubitz/* Implementation of ngettext(3) function. Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef _LIBC # define __need_NULL # include #else # include /* Just for NULL. */ #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif #include /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define NGETTEXT __ngettext # define DCNGETTEXT __dcngettext #else # define NGETTEXT libintl_ngettext # define DCNGETTEXT libintl_dcngettext #endif /* Look up MSGID in the current default message catalog for the current LC_MESSAGES locale. If not found, returns MSGID itself (the default text). */ char * NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n) { return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__ngettext, ngettext); #endif KCemu-0.5.1/intl/loadinfo.h0000644000175000017500000001211312417262523015661 0ustar glaubitzglaubitz/* Copyright (C) 1996-1999, 2000-2003, 2005-2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LOADINFO_H #define _LOADINFO_H 1 /* Declarations of locale dependent catalog lookup functions. Implemented in localealias.c Possibly replace a locale name by another. explodename.c Split a locale name into its various fields. l10nflist.c Generate a list of filenames of possible message catalogs. finddomain.c Find and open the relevant message catalogs. The main function _nl_find_domain() in finddomain.c is declared in gettextP.h. */ #ifndef internal_function # define internal_function #endif #ifndef LIBINTL_DLL_EXPORTED # define LIBINTL_DLL_EXPORTED #endif /* Tell the compiler when a conditional or integer expression is almost always true or almost always false. */ #ifndef HAVE_BUILTIN_EXPECT # define __builtin_expect(expr, val) (expr) #endif /* Separator in PATH like lists of pathnames. */ #if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined __EMX__ || defined __DJGPP__ /* Win32, OS/2, DOS */ # define PATH_SEPARATOR ';' #else /* Unix */ # define PATH_SEPARATOR ':' #endif /* Encoding of locale name parts. */ #define XPG_NORM_CODESET 1 #define XPG_CODESET 2 #define XPG_TERRITORY 4 #define XPG_MODIFIER 8 struct loaded_l10nfile { const char *filename; int decided; const void *data; struct loaded_l10nfile *next; struct loaded_l10nfile *successor[1]; }; /* Normalize codeset name. There is no standard for the codeset names. Normalization allows the user to use any of the common names. The return value is dynamically allocated and has to be freed by the caller. */ extern const char *_nl_normalize_codeset (const char *codeset, size_t name_len); /* Lookup a locale dependent file. *L10NFILE_LIST denotes a pool of lookup results of locale dependent files of the same kind, sorted in decreasing order of ->filename. DIRLIST and DIRLIST_LEN are an argz list of directories in which to look, containing at least one directory (i.e. DIRLIST_LEN > 0). MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER are the pieces of the locale name, as produced by _nl_explode_name(). FILENAME is the filename suffix. The return value is the lookup result, either found in *L10NFILE_LIST, or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL. If the return value is non-NULL, it is added to *L10NFILE_LIST, and its ->next field denotes the chaining inside *L10NFILE_LIST, and furthermore its ->successor[] field contains a list of other lookup results from which this lookup result inherits. */ extern struct loaded_l10nfile * _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list, const char *dirlist, size_t dirlist_len, int mask, const char *language, const char *territory, const char *codeset, const char *normalized_codeset, const char *modifier, const char *filename, int do_allocate); /* Lookup the real locale name for a locale alias NAME, or NULL if NAME is not a locale alias (but possibly a real locale name). The return value is statically allocated and must not be freed. */ /* Part of the libintl ABI only for the sake of the gettext.m4 macro. */ extern LIBINTL_DLL_EXPORTED const char *_nl_expand_alias (const char *name); /* Split a locale name NAME into its pieces: language, modifier, territory, codeset. NAME gets destructively modified: NUL bytes are inserted here and there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY, *CODESET gets assigned either a pointer into the old NAME string, or NULL. *NORMALIZED_CODESET gets assigned the expanded *CODESET, if it is different from *CODESET; this one is dynamically allocated and has to be freed by the caller. The return value is a bitmask, where each bit corresponds to one filled-in value: XPG_MODIFIER for *MODIFIER, XPG_TERRITORY for *TERRITORY, XPG_CODESET for *CODESET, XPG_NORM_CODESET for *NORMALIZED_CODESET. */ extern int _nl_explode_name (char *name, const char **language, const char **modifier, const char **territory, const char **codeset, const char **normalized_codeset); #endif /* loadinfo.h */ KCemu-0.5.1/intl/localealias.c0000644000175000017500000002454612417262523016347 0ustar glaubitzglaubitz/* Handle aliases for locale names. Copyright (C) 1995-1999, 2000-2001, 2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif #include #include #if defined _LIBC || defined HAVE___FSETLOCKING # include #endif #include #ifdef __GNUC__ # undef alloca # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #include #include "gettextP.h" #if ENABLE_RELOCATABLE # include "relocatable.h" #else # define relocate(pathname) (pathname) #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # define strcasecmp __strcasecmp # ifndef mempcpy # define mempcpy __mempcpy # endif # define HAVE_MEMPCPY 1 # define HAVE___FSETLOCKING 1 #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif #ifndef internal_function # define internal_function #endif /* Some optimizations for glibc. */ #ifdef _LIBC # define FEOF(fp) feof_unlocked (fp) # define FGETS(buf, n, fp) fgets_unlocked (buf, n, fp) #else # define FEOF(fp) feof (fp) # define FGETS(buf, n, fp) fgets (buf, n, fp) #endif /* For those losing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA # define freea(p) /* nothing */ #else # define alloca(n) malloc (n) # define freea(p) free (p) #endif #if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED # undef fgets # define fgets(buf, len, s) fgets_unlocked (buf, len, s) #endif #if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED # undef feof # define feof(s) feof_unlocked (s) #endif __libc_lock_define_initialized (static, lock) struct alias_map { const char *alias; const char *value; }; #ifndef _LIBC # define libc_freeres_ptr(decl) decl #endif libc_freeres_ptr (static char *string_space); static size_t string_space_act; static size_t string_space_max; libc_freeres_ptr (static struct alias_map *map); static size_t nmap; static size_t maxmap; /* Prototypes for local functions. */ static size_t read_alias_file (const char *fname, int fname_len) internal_function; static int extend_alias_table (void); static int alias_compare (const struct alias_map *map1, const struct alias_map *map2); const char * _nl_expand_alias (const char *name) { static const char *locale_alias_path; struct alias_map *retval; const char *result = NULL; size_t added; __libc_lock_lock (lock); if (locale_alias_path == NULL) locale_alias_path = LOCALE_ALIAS_PATH; do { struct alias_map item; item.alias = name; if (nmap > 0) retval = (struct alias_map *) bsearch (&item, map, nmap, sizeof (struct alias_map), (int (*) (const void *, const void *) ) alias_compare); else retval = NULL; /* We really found an alias. Return the value. */ if (retval != NULL) { result = retval->value; break; } /* Perhaps we can find another alias file. */ added = 0; while (added == 0 && locale_alias_path[0] != '\0') { const char *start; while (locale_alias_path[0] == PATH_SEPARATOR) ++locale_alias_path; start = locale_alias_path; while (locale_alias_path[0] != '\0' && locale_alias_path[0] != PATH_SEPARATOR) ++locale_alias_path; if (start < locale_alias_path) added = read_alias_file (start, locale_alias_path - start); } } while (added != 0); __libc_lock_unlock (lock); return result; } static size_t internal_function read_alias_file (const char *fname, int fname_len) { FILE *fp; char *full_fname; size_t added; static const char aliasfile[] = "/locale.alias"; full_fname = (char *) alloca (fname_len + sizeof aliasfile); #ifdef HAVE_MEMPCPY mempcpy (mempcpy (full_fname, fname, fname_len), aliasfile, sizeof aliasfile); #else memcpy (full_fname, fname, fname_len); memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile); #endif #ifdef _LIBC /* Note the file is opened with cancellation in the I/O functions disabled. */ fp = fopen (relocate (full_fname), "rc"); #else fp = fopen (relocate (full_fname), "r"); #endif freea (full_fname); if (fp == NULL) return 0; #ifdef HAVE___FSETLOCKING /* No threads present. */ __fsetlocking (fp, FSETLOCKING_BYCALLER); #endif added = 0; while (!FEOF (fp)) { /* It is a reasonable approach to use a fix buffer here because a) we are only interested in the first two fields b) these fields must be usable as file names and so must not be that long We avoid a multi-kilobyte buffer here since this would use up stack space which we might not have if the program ran out of memory. */ char buf[400]; char *alias; char *value; char *cp; int complete_line; if (FGETS (buf, sizeof buf, fp) == NULL) /* EOF reached. */ break; /* Determine whether the line is complete. */ complete_line = strchr (buf, '\n') != NULL; cp = buf; /* Ignore leading white space. */ while (isspace ((unsigned char) cp[0])) ++cp; /* A leading '#' signals a comment line. */ if (cp[0] != '\0' && cp[0] != '#') { alias = cp++; while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) ++cp; /* Terminate alias name. */ if (cp[0] != '\0') *cp++ = '\0'; /* Now look for the beginning of the value. */ while (isspace ((unsigned char) cp[0])) ++cp; if (cp[0] != '\0') { value = cp++; while (cp[0] != '\0' && !isspace ((unsigned char) cp[0])) ++cp; /* Terminate value. */ if (cp[0] == '\n') { /* This has to be done to make the following test for the end of line possible. We are looking for the terminating '\n' which do not overwrite here. */ *cp++ = '\0'; *cp = '\n'; } else if (cp[0] != '\0') *cp++ = '\0'; #ifdef IN_LIBGLOCALE /* glibc's locale.alias contains entries for ja_JP and ko_KR that make it impossible to use a Japanese or Korean UTF-8 locale under the name "ja_JP" or "ko_KR". Ignore these entries. */ if (strchr (alias, '_') == NULL) #endif { size_t alias_len; size_t value_len; if (nmap >= maxmap) if (__builtin_expect (extend_alias_table (), 0)) goto out; alias_len = strlen (alias) + 1; value_len = strlen (value) + 1; if (string_space_act + alias_len + value_len > string_space_max) { /* Increase size of memory pool. */ size_t new_size = (string_space_max + (alias_len + value_len > 1024 ? alias_len + value_len : 1024)); char *new_pool = (char *) realloc (string_space, new_size); if (new_pool == NULL) goto out; if (__builtin_expect (string_space != new_pool, 0)) { size_t i; for (i = 0; i < nmap; i++) { map[i].alias += new_pool - string_space; map[i].value += new_pool - string_space; } } string_space = new_pool; string_space_max = new_size; } map[nmap].alias = (const char *) memcpy (&string_space[string_space_act], alias, alias_len); string_space_act += alias_len; map[nmap].value = (const char *) memcpy (&string_space[string_space_act], value, value_len); string_space_act += value_len; ++nmap; ++added; } } } /* Possibly not the whole line fits into the buffer. Ignore the rest of the line. */ if (! complete_line) do if (FGETS (buf, sizeof buf, fp) == NULL) /* Make sure the inner loop will be left. The outer loop will exit at the `feof' test. */ break; while (strchr (buf, '\n') == NULL); } out: /* Should we test for ferror()? I think we have to silently ignore errors. --drepper */ fclose (fp); if (added > 0) qsort (map, nmap, sizeof (struct alias_map), (int (*) (const void *, const void *)) alias_compare); return added; } static int extend_alias_table () { size_t new_size; struct alias_map *new_map; new_size = maxmap == 0 ? 100 : 2 * maxmap; new_map = (struct alias_map *) realloc (map, (new_size * sizeof (struct alias_map))); if (new_map == NULL) /* Simply don't extend: we don't have any more core. */ return -1; map = new_map; maxmap = new_size; return 0; } static int alias_compare (const struct alias_map *map1, const struct alias_map *map2) { #if defined _LIBC || defined HAVE_STRCASECMP return strcasecmp (map1->alias, map2->alias); #else const unsigned char *p1 = (const unsigned char *) map1->alias; const unsigned char *p2 = (const unsigned char *) map2->alias; unsigned char c1, c2; if (p1 == p2) return 0; do { /* I know this seems to be odd but the tolower() function in some systems libc cannot handle nonalpha characters. */ c1 = isupper (*p1) ? tolower (*p1) : *p1; c2 = isupper (*p2) ? tolower (*p2) : *p2; if (c1 == '\0') break; ++p1; ++p2; } while (c1 == c2); return c1 - c2; #endif } KCemu-0.5.1/intl/printf-args.c0000644000175000017500000001336312417262523016325 0ustar glaubitzglaubitz/* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2005-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. PRINTF_FETCHARGS Name of the function to be defined. STATIC Set to 'static' to declare the function static. */ #ifndef PRINTF_FETCHARGS # include #endif /* Specification. */ #ifndef PRINTF_FETCHARGS # include "printf-args.h" #endif #ifdef STATIC STATIC #endif int PRINTF_FETCHARGS (va_list args, arguments *a) { size_t i; argument *ap; for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++) switch (ap->type) { case TYPE_SCHAR: ap->a.a_schar = va_arg (args, /*signed char*/ int); break; case TYPE_UCHAR: ap->a.a_uchar = va_arg (args, /*unsigned char*/ int); break; case TYPE_SHORT: ap->a.a_short = va_arg (args, /*short*/ int); break; case TYPE_USHORT: ap->a.a_ushort = va_arg (args, /*unsigned short*/ int); break; case TYPE_INT: ap->a.a_int = va_arg (args, int); break; case TYPE_UINT: ap->a.a_uint = va_arg (args, unsigned int); break; case TYPE_LONGINT: ap->a.a_longint = va_arg (args, long int); break; case TYPE_ULONGINT: ap->a.a_ulongint = va_arg (args, unsigned long int); break; #if HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: ap->a.a_longlongint = va_arg (args, long long int); break; case TYPE_ULONGLONGINT: ap->a.a_ulonglongint = va_arg (args, unsigned long long int); break; #endif case TYPE_DOUBLE: ap->a.a_double = va_arg (args, double); break; case TYPE_LONGDOUBLE: ap->a.a_longdouble = va_arg (args, long double); break; case TYPE_CHAR: ap->a.a_char = va_arg (args, int); break; #if HAVE_WINT_T case TYPE_WIDE_CHAR: /* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by default argument promotions", this is not the case in mingw32, where wint_t is 'unsigned short'. */ ap->a.a_wide_char = (sizeof (wint_t) < sizeof (int) ? va_arg (args, int) : va_arg (args, wint_t)); break; #endif case TYPE_STRING: ap->a.a_string = va_arg (args, const char *); /* A null pointer is an invalid argument for "%s", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_string == NULL) ap->a.a_string = "(NULL)"; break; #if HAVE_WCHAR_T case TYPE_WIDE_STRING: ap->a.a_wide_string = va_arg (args, const wchar_t *); /* A null pointer is an invalid argument for "%ls", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_wide_string == NULL) { static const wchar_t wide_null_string[] = { (wchar_t)'(', (wchar_t)'N', (wchar_t)'U', (wchar_t)'L', (wchar_t)'L', (wchar_t)')', (wchar_t)0 }; ap->a.a_wide_string = wide_null_string; } break; #endif case TYPE_POINTER: ap->a.a_pointer = va_arg (args, void *); break; case TYPE_COUNT_SCHAR_POINTER: ap->a.a_count_schar_pointer = va_arg (args, signed char *); break; case TYPE_COUNT_SHORT_POINTER: ap->a.a_count_short_pointer = va_arg (args, short *); break; case TYPE_COUNT_INT_POINTER: ap->a.a_count_int_pointer = va_arg (args, int *); break; case TYPE_COUNT_LONGINT_POINTER: ap->a.a_count_longint_pointer = va_arg (args, long int *); break; #if HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); break; #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ case TYPE_U8_STRING: ap->a.a_u8_string = va_arg (args, const uint8_t *); /* A null pointer is an invalid argument for "%U", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u8_string == NULL) { static const uint8_t u8_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u8_string = u8_null_string; } break; case TYPE_U16_STRING: ap->a.a_u16_string = va_arg (args, const uint16_t *); /* A null pointer is an invalid argument for "%lU", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u16_string == NULL) { static const uint16_t u16_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u16_string = u16_null_string; } break; case TYPE_U32_STRING: ap->a.a_u32_string = va_arg (args, const uint32_t *); /* A null pointer is an invalid argument for "%llU", but in practice it occurs quite frequently in printf statements that produce debug output. Use a fallback in this case. */ if (ap->a.a_u32_string == NULL) { static const uint32_t u32_null_string[] = { '(', 'N', 'U', 'L', 'L', ')', 0 }; ap->a.a_u32_string = u32_null_string; } break; #endif default: /* Unknown type. */ return -1; } return 0; } KCemu-0.5.1/intl/ref-del.sin0000644000175000017500000000203012417262523015743 0ustar glaubitzglaubitz# Remove this package from a list of references stored in a text file. # # Copyright (C) 2000 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. # # Written by Bruno Haible . # /^# Packages using this file: / { s/# Packages using this file:// s/ @PACKAGE@ / / s/^/# Packages using this file:/ } KCemu-0.5.1/intl/dcgettext.c0000644000175000017500000000342112417262523016056 0ustar glaubitzglaubitz/* Implementation of the dcgettext(3) function. Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCGETTEXT __dcgettext # define DCIGETTEXT __dcigettext #else # define DCGETTEXT libintl_dcgettext # define DCIGETTEXT libintl_dcigettext #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * DCGETTEXT (const char *domainname, const char *msgid, int category) { return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ INTDEF(__dcgettext) weak_alias (__dcgettext, dcgettext); #endif KCemu-0.5.1/intl/textdomain.c0000644000175000017500000000746612417262523016254 0ustar glaubitzglaubitz/* Implementation of the textdomain(3) function. Copyright (C) 1995-1998, 2000-2003, 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define __libc_rwlock_define # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define TEXTDOMAIN __textdomain # ifndef strdup # define strdup(str) __strdup (str) # endif #else # define TEXTDOMAIN libintl_textdomain #endif /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define (extern, _nl_state_lock attribute_hidden) /* Set the current default message catalog to DOMAINNAME. If DOMAINNAME is null, return the current default. If DOMAINNAME is "", reset to the default of "messages". */ char * TEXTDOMAIN (const char *domainname) { char *new_domain; char *old_domain; /* A NULL pointer requests the current setting. */ if (domainname == NULL) return (char *) _nl_current_default_domain; gl_rwlock_wrlock (_nl_state_lock); old_domain = (char *) _nl_current_default_domain; /* If domain name is the null string set to default domain "messages". */ if (domainname[0] == '\0' || strcmp (domainname, _nl_default_default_domain) == 0) { _nl_current_default_domain = _nl_default_default_domain; new_domain = (char *) _nl_current_default_domain; } else if (strcmp (domainname, old_domain) == 0) /* This can happen and people will use it to signal that some environment variable changed. */ new_domain = old_domain; else { /* If the following malloc fails `_nl_current_default_domain' will be NULL. This value will be returned and so signals we are out of core. */ #if defined _LIBC || defined HAVE_STRDUP new_domain = strdup (domainname); #else size_t len = strlen (domainname) + 1; new_domain = (char *) malloc (len); if (new_domain != NULL) memcpy (new_domain, domainname, len); #endif if (new_domain != NULL) _nl_current_default_domain = new_domain; } /* We use this possibility to signal a change of the loaded catalogs since this is most likely the case and there is no other easy we to do it. Do it only when the call was successful. */ if (new_domain != NULL) { ++_nl_msg_cat_cntr; if (old_domain != new_domain && old_domain != _nl_default_default_domain) free (old_domain); } gl_rwlock_unlock (_nl_state_lock); return new_domain; } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__textdomain, textdomain); #endif KCemu-0.5.1/intl/langprefs.c0000644000175000017500000000737512417262523016060 0ustar glaubitzglaubitz/* Determine the user's language preferences. Copyright (C) 2004-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include #endif #include #if HAVE_CFPREFERENCESCOPYAPPVALUE # include # include # include # include # include extern void _nl_locale_name_canonicalize (char *name); #endif /* Determine the user's language preferences, as a colon separated list of locale names in XPG syntax language[_territory][.codeset][@modifier] The result must not be freed; it is statically allocated. The LANGUAGE environment variable does not need to be considered; it is already taken into account by the caller. */ const char * _nl_language_preferences_default (void) { #if HAVE_CFPREFERENCESCOPYAPPVALUE /* MacOS X 10.2 or newer */ { /* Cache the preferences list, since CoreFoundation calls are expensive. */ static const char *cached_languages; static int cache_initialized; if (!cache_initialized) { CFTypeRef preferences = CFPreferencesCopyAppValue (CFSTR ("AppleLanguages"), kCFPreferencesCurrentApplication); if (preferences != NULL && CFGetTypeID (preferences) == CFArrayGetTypeID ()) { CFArrayRef prefArray = (CFArrayRef)preferences; int n = CFArrayGetCount (prefArray); char buf[256]; size_t size = 0; int i; for (i = 0; i < n; i++) { CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); if (element != NULL && CFGetTypeID (element) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)element, buf, sizeof (buf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (buf); size += strlen (buf) + 1; /* Most GNU programs use msgids in English and don't ship an en.mo message catalog. Therefore when we see "en" in the preferences list, arrange for gettext() to return the msgid, and ignore all further elements of the preferences list. */ if (strcmp (buf, "en") == 0) break; } else break; } if (size > 0) { char *languages = (char *) malloc (size); if (languages != NULL) { char *p = languages; for (i = 0; i < n; i++) { CFTypeRef element = CFArrayGetValueAtIndex (prefArray, i); if (element != NULL && CFGetTypeID (element) == CFStringGetTypeID () && CFStringGetCString ((CFStringRef)element, buf, sizeof (buf), kCFStringEncodingASCII)) { _nl_locale_name_canonicalize (buf); strcpy (p, buf); p += strlen (buf); *p++ = ':'; if (strcmp (buf, "en") == 0) break; } else break; } *--p = '\0'; cached_languages = languages; } } } cache_initialized = 1; } if (cached_languages != NULL) return cached_languages; } #endif return NULL; } KCemu-0.5.1/intl/lock.c0000644000175000017500000005413012417262523015016 0ustar glaubitzglaubitz/* Locking in multithreaded situations. Copyright (C) 2005-2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible , 2005. Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, gthr-win32.h. */ #include #include "lock.h" /* ========================================================================= */ #if USE_POSIX_THREADS /* Use the POSIX threads library. */ # if PTHREAD_IN_USE_DETECTION_HARD /* The function to be executed by a dummy thread. */ static void * dummy_thread_func (void *arg) { return arg; } int glthread_in_use (void) { static int tested; static int result; /* 1: linked with -lpthread, 0: only with libc */ if (!tested) { pthread_t thread; if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0) /* Thread creation failed. */ result = 0; else { /* Thread creation works. */ void *retval; if (pthread_join (thread, &retval) != 0) abort (); result = 1; } tested = 1; } return result; } # endif /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ # if HAVE_PTHREAD_RWLOCK # if !defined PTHREAD_RWLOCK_INITIALIZER void glthread_rwlock_init (gl_rwlock_t *lock) { if (pthread_rwlock_init (&lock->rwlock, NULL) != 0) abort (); lock->initialized = 1; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_rwlock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_rwlock_rdlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_rwlock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_rwlock_wrlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (!lock->initialized) abort (); if (pthread_rwlock_unlock (&lock->rwlock) != 0) abort (); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (!lock->initialized) abort (); if (pthread_rwlock_destroy (&lock->rwlock) != 0) abort (); lock->initialized = 0; } # endif # else void glthread_rwlock_init (gl_rwlock_t *lock) { if (pthread_mutex_init (&lock->lock, NULL) != 0) abort (); if (pthread_cond_init (&lock->waiting_readers, NULL) != 0) abort (); if (pthread_cond_init (&lock->waiting_writers, NULL) != 0) abort (); lock->waiting_writers_count = 0; lock->runcount = 0; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ /* POSIX says: "It is implementation-defined whether the calling thread acquires the lock when a writer does not hold the lock and there are writers blocked on the lock." Let's say, no: give the writers a higher priority. */ while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_readers. */ if (pthread_cond_wait (&lock->waiting_readers, &lock->lock) != 0) abort (); } lock->runcount++; if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); /* Test whether no readers or writers are currently running. */ while (!(lock->runcount == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_writers. */ lock->waiting_writers_count++; if (pthread_cond_wait (&lock->waiting_writers, &lock->lock) != 0) abort (); lock->waiting_writers_count--; } lock->runcount--; /* runcount becomes -1 */ if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (pthread_mutex_lock (&lock->lock) != 0) abort (); if (lock->runcount < 0) { /* Drop a writer lock. */ if (!(lock->runcount == -1)) abort (); lock->runcount = 0; } else { /* Drop a reader lock. */ if (!(lock->runcount > 0)) abort (); lock->runcount--; } if (lock->runcount == 0) { /* POSIX recommends that "write locks shall take precedence over read locks", to avoid "writer starvation". */ if (lock->waiting_writers_count > 0) { /* Wake up one of the waiting writers. */ if (pthread_cond_signal (&lock->waiting_writers) != 0) abort (); } else { /* Wake up all waiting readers. */ if (pthread_cond_broadcast (&lock->waiting_readers) != 0) abort (); } } if (pthread_mutex_unlock (&lock->lock) != 0) abort (); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (pthread_mutex_destroy (&lock->lock) != 0) abort (); if (pthread_cond_destroy (&lock->waiting_readers) != 0) abort (); if (pthread_cond_destroy (&lock->waiting_writers) != 0) abort (); } # endif /* --------------------- gl_recursive_lock_t datatype --------------------- */ # if HAVE_PTHREAD_MUTEX_RECURSIVE # if !(defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { pthread_mutexattr_t attributes; if (pthread_mutexattr_init (&attributes) != 0) abort (); if (pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE) != 0) abort (); if (pthread_mutex_init (&lock->recmutex, &attributes) != 0) abort (); if (pthread_mutexattr_destroy (&attributes) != 0) abort (); lock->initialized = 1; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { if (!lock->initialized) { if (pthread_mutex_lock (&lock->guard) != 0) abort (); if (!lock->initialized) glthread_recursive_lock_init (lock); if (pthread_mutex_unlock (&lock->guard) != 0) abort (); } if (pthread_mutex_lock (&lock->recmutex) != 0) abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (!lock->initialized) abort (); if (pthread_mutex_unlock (&lock->recmutex) != 0) abort (); } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (!lock->initialized) abort (); if (pthread_mutex_destroy (&lock->recmutex) != 0) abort (); lock->initialized = 0; } # endif # else void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { if (pthread_mutex_init (&lock->mutex, NULL) != 0) abort (); lock->owner = (pthread_t) 0; lock->depth = 0; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { pthread_t self = pthread_self (); if (lock->owner != self) { if (pthread_mutex_lock (&lock->mutex) != 0) abort (); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != pthread_self ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = (pthread_t) 0; if (pthread_mutex_unlock (&lock->mutex) != 0) abort (); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != (pthread_t) 0) abort (); if (pthread_mutex_destroy (&lock->mutex) != 0) abort (); } # endif /* -------------------------- gl_once_t datatype -------------------------- */ static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT; int glthread_once_singlethreaded (pthread_once_t *once_control) { /* We don't know whether pthread_once_t is an integer type, a floating-point type, a pointer type, or a structure type. */ char *firstbyte = (char *)once_control; if (*firstbyte == *(const char *)&fresh_once) { /* First time use of once_control. Invert the first byte. */ *firstbyte = ~ *(const char *)&fresh_once; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_PTH_THREADS /* Use the GNU Pth threads library. */ /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* --------------------- gl_recursive_lock_t datatype --------------------- */ /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once_call (void *arg) { void (**gl_once_temp_addr) (void) = (void (**) (void)) arg; void (*initfunction) (void) = *gl_once_temp_addr; initfunction (); } int glthread_once_singlethreaded (pth_once_t *once_control) { /* We know that pth_once_t is an integer type. */ if (*once_control == PTH_ONCE_INIT) { /* First time use of once_control. Invert the marker. */ *once_control = ~ PTH_ONCE_INIT; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_SOLARIS_THREADS /* Use the old Solaris threads library. */ /* -------------------------- gl_lock_t datatype -------------------------- */ /* ------------------------- gl_rwlock_t datatype ------------------------- */ /* --------------------- gl_recursive_lock_t datatype --------------------- */ void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { if (mutex_init (&lock->mutex, USYNC_THREAD, NULL) != 0) abort (); lock->owner = (thread_t) 0; lock->depth = 0; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { thread_t self = thr_self (); if (lock->owner != self) { if (mutex_lock (&lock->mutex) != 0) abort (); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != thr_self ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = (thread_t) 0; if (mutex_unlock (&lock->mutex) != 0) abort (); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != (thread_t) 0) abort (); if (mutex_destroy (&lock->mutex) != 0) abort (); } /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once (gl_once_t *once_control, void (*initfunction) (void)) { if (!once_control->inited) { /* Use the mutex to guarantee that if another thread is already calling the initfunction, this thread waits until it's finished. */ if (mutex_lock (&once_control->mutex) != 0) abort (); if (!once_control->inited) { once_control->inited = 1; initfunction (); } if (mutex_unlock (&once_control->mutex) != 0) abort (); } } int glthread_once_singlethreaded (gl_once_t *once_control) { /* We know that gl_once_t contains an integer type. */ if (!once_control->inited) { /* First time use of once_control. Invert the marker. */ once_control->inited = ~ 0; return 1; } else return 0; } #endif /* ========================================================================= */ #if USE_WIN32_THREADS /* -------------------------- gl_lock_t datatype -------------------------- */ void glthread_lock_init (gl_lock_t *lock) { InitializeCriticalSection (&lock->lock); lock->guard.done = 1; } void glthread_lock_lock (gl_lock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_lock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); } void glthread_lock_unlock (gl_lock_t *lock) { if (!lock->guard.done) abort (); LeaveCriticalSection (&lock->lock); } void glthread_lock_destroy (gl_lock_t *lock) { if (!lock->guard.done) abort (); DeleteCriticalSection (&lock->lock); lock->guard.done = 0; } /* ------------------------- gl_rwlock_t datatype ------------------------- */ static inline void gl_waitqueue_init (gl_waitqueue_t *wq) { wq->array = NULL; wq->count = 0; wq->alloc = 0; wq->offset = 0; } /* Enqueues the current thread, represented by an event, in a wait queue. Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ static HANDLE gl_waitqueue_add (gl_waitqueue_t *wq) { HANDLE event; unsigned int index; if (wq->count == wq->alloc) { unsigned int new_alloc = 2 * wq->alloc + 1; HANDLE *new_array = (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); if (new_array == NULL) /* No more memory. */ return INVALID_HANDLE_VALUE; /* Now is a good opportunity to rotate the array so that its contents starts at offset 0. */ if (wq->offset > 0) { unsigned int old_count = wq->count; unsigned int old_alloc = wq->alloc; unsigned int old_offset = wq->offset; unsigned int i; if (old_offset + old_count > old_alloc) { unsigned int limit = old_offset + old_count - old_alloc; for (i = 0; i < limit; i++) new_array[old_alloc + i] = new_array[i]; } for (i = 0; i < old_count; i++) new_array[i] = new_array[old_offset + i]; wq->offset = 0; } wq->array = new_array; wq->alloc = new_alloc; } event = CreateEvent (NULL, TRUE, FALSE, NULL); if (event == INVALID_HANDLE_VALUE) /* No way to allocate an event. */ return INVALID_HANDLE_VALUE; index = wq->offset + wq->count; if (index >= wq->alloc) index -= wq->alloc; wq->array[index] = event; wq->count++; return event; } /* Notifies the first thread from a wait queue and dequeues it. */ static inline void gl_waitqueue_notify_first (gl_waitqueue_t *wq) { SetEvent (wq->array[wq->offset + 0]); wq->offset++; wq->count--; if (wq->count == 0 || wq->offset == wq->alloc) wq->offset = 0; } /* Notifies all threads from a wait queue and dequeues them all. */ static inline void gl_waitqueue_notify_all (gl_waitqueue_t *wq) { unsigned int i; for (i = 0; i < wq->count; i++) { unsigned int index = wq->offset + i; if (index >= wq->alloc) index -= wq->alloc; SetEvent (wq->array[index]); } wq->count = 0; wq->offset = 0; } void glthread_rwlock_init (gl_rwlock_t *lock) { InitializeCriticalSection (&lock->lock); gl_waitqueue_init (&lock->waiting_readers); gl_waitqueue_init (&lock->waiting_writers); lock->runcount = 0; lock->guard.done = 1; } void glthread_rwlock_rdlock (gl_rwlock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_rwlock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); /* Test whether only readers are currently running, and whether the runcount field will not overflow. */ if (!(lock->runcount + 1 > 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_readers. */ HANDLE event = gl_waitqueue_add (&lock->waiting_readers); if (event != INVALID_HANDLE_VALUE) { DWORD result; LeaveCriticalSection (&lock->lock); /* Wait until another thread signals this event. */ result = WaitForSingleObject (event, INFINITE); if (result == WAIT_FAILED || result == WAIT_TIMEOUT) abort (); CloseHandle (event); /* The thread which signalled the event already did the bookkeeping: removed us from the waiting_readers, incremented lock->runcount. */ if (!(lock->runcount > 0)) abort (); return; } else { /* Allocation failure. Weird. */ do { LeaveCriticalSection (&lock->lock); Sleep (1); EnterCriticalSection (&lock->lock); } while (!(lock->runcount + 1 > 0)); } } lock->runcount++; LeaveCriticalSection (&lock->lock); } void glthread_rwlock_wrlock (gl_rwlock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_rwlock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } EnterCriticalSection (&lock->lock); /* Test whether no readers or writers are currently running. */ if (!(lock->runcount == 0)) { /* This thread has to wait for a while. Enqueue it among the waiting_writers. */ HANDLE event = gl_waitqueue_add (&lock->waiting_writers); if (event != INVALID_HANDLE_VALUE) { DWORD result; LeaveCriticalSection (&lock->lock); /* Wait until another thread signals this event. */ result = WaitForSingleObject (event, INFINITE); if (result == WAIT_FAILED || result == WAIT_TIMEOUT) abort (); CloseHandle (event); /* The thread which signalled the event already did the bookkeeping: removed us from the waiting_writers, set lock->runcount = -1. */ if (!(lock->runcount == -1)) abort (); return; } else { /* Allocation failure. Weird. */ do { LeaveCriticalSection (&lock->lock); Sleep (1); EnterCriticalSection (&lock->lock); } while (!(lock->runcount == 0)); } } lock->runcount--; /* runcount becomes -1 */ LeaveCriticalSection (&lock->lock); } void glthread_rwlock_unlock (gl_rwlock_t *lock) { if (!lock->guard.done) abort (); EnterCriticalSection (&lock->lock); if (lock->runcount < 0) { /* Drop a writer lock. */ if (!(lock->runcount == -1)) abort (); lock->runcount = 0; } else { /* Drop a reader lock. */ if (!(lock->runcount > 0)) abort (); lock->runcount--; } if (lock->runcount == 0) { /* POSIX recommends that "write locks shall take precedence over read locks", to avoid "writer starvation". */ if (lock->waiting_writers.count > 0) { /* Wake up one of the waiting writers. */ lock->runcount--; gl_waitqueue_notify_first (&lock->waiting_writers); } else { /* Wake up all waiting readers. */ lock->runcount += lock->waiting_readers.count; gl_waitqueue_notify_all (&lock->waiting_readers); } } LeaveCriticalSection (&lock->lock); } void glthread_rwlock_destroy (gl_rwlock_t *lock) { if (!lock->guard.done) abort (); if (lock->runcount != 0) abort (); DeleteCriticalSection (&lock->lock); if (lock->waiting_readers.array != NULL) free (lock->waiting_readers.array); if (lock->waiting_writers.array != NULL) free (lock->waiting_writers.array); lock->guard.done = 0; } /* --------------------- gl_recursive_lock_t datatype --------------------- */ void glthread_recursive_lock_init (gl_recursive_lock_t *lock) { lock->owner = 0; lock->depth = 0; InitializeCriticalSection (&lock->lock); lock->guard.done = 1; } void glthread_recursive_lock_lock (gl_recursive_lock_t *lock) { if (!lock->guard.done) { if (InterlockedIncrement (&lock->guard.started) == 0) /* This thread is the first one to need this lock. Initialize it. */ glthread_recursive_lock_init (lock); else /* Yield the CPU while waiting for another thread to finish initializing this lock. */ while (!lock->guard.done) Sleep (0); } { DWORD self = GetCurrentThreadId (); if (lock->owner != self) { EnterCriticalSection (&lock->lock); lock->owner = self; } if (++(lock->depth) == 0) /* wraparound? */ abort (); } } void glthread_recursive_lock_unlock (gl_recursive_lock_t *lock) { if (lock->owner != GetCurrentThreadId ()) abort (); if (lock->depth == 0) abort (); if (--(lock->depth) == 0) { lock->owner = 0; LeaveCriticalSection (&lock->lock); } } void glthread_recursive_lock_destroy (gl_recursive_lock_t *lock) { if (lock->owner != 0) abort (); DeleteCriticalSection (&lock->lock); lock->guard.done = 0; } /* -------------------------- gl_once_t datatype -------------------------- */ void glthread_once (gl_once_t *once_control, void (*initfunction) (void)) { if (once_control->inited <= 0) { if (InterlockedIncrement (&once_control->started) == 0) { /* This thread is the first one to come to this once_control. */ InitializeCriticalSection (&once_control->lock); EnterCriticalSection (&once_control->lock); once_control->inited = 0; initfunction (); once_control->inited = 1; LeaveCriticalSection (&once_control->lock); } else { /* Undo last operation. */ InterlockedDecrement (&once_control->started); /* Some other thread has already started the initialization. Yield the CPU while waiting for the other thread to finish initializing and taking the lock. */ while (once_control->inited < 0) Sleep (0); if (once_control->inited <= 0) { /* Take the lock. This blocks until the other thread has finished calling the initfunction. */ EnterCriticalSection (&once_control->lock); LeaveCriticalSection (&once_control->lock); if (!(once_control->inited > 0)) abort (); } } } } #endif /* ========================================================================= */ KCemu-0.5.1/intl/intl-exports.c0000644000175000017500000000273312417262523016540 0ustar glaubitzglaubitz/* List of exported symbols of libintl on Cygwin. Copyright (C) 2006 Free Software Foundation, Inc. Written by Bruno Haible , 2006. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* IMP(x) is a symbol that contains the address of x. */ #define IMP(x) _imp__##x /* Ensure that the variable x is exported from the library, and that a pseudo-variable IMP(x) is available. */ #define VARIABLE(x) \ /* Export x without redefining x. This code was found by compiling a \ snippet: \ extern __declspec(dllexport) int x; int x = 42; */ \ asm (".section .drectve\n"); \ asm (".ascii \" -export:" #x ",data\"\n"); \ asm (".data\n"); \ /* Allocate a pseudo-variable IMP(x). */ \ extern int x; \ void * IMP(x) = &x; VARIABLE(libintl_version) KCemu-0.5.1/intl/wprintf-parse.h0000644000175000017500000000426312417262523016676 0ustar glaubitzglaubitz/* Parse printf format string. Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _WPRINTF_PARSE_H #define _WPRINTF_PARSE_H #include "printf-args.h" /* Flags */ #define FLAG_GROUP 1 /* ' flag */ #define FLAG_LEFT 2 /* - flag */ #define FLAG_SHOWSIGN 4 /* + flag */ #define FLAG_SPACE 8 /* space flag */ #define FLAG_ALT 16 /* # flag */ #define FLAG_ZERO 32 /* arg_index value indicating that no argument is consumed. */ #define ARG_NONE (~(size_t)0) /* A parsed directive. */ typedef struct { const wchar_t* dir_start; const wchar_t* dir_end; int flags; const wchar_t* width_start; const wchar_t* width_end; size_t width_arg_index; const wchar_t* precision_start; const wchar_t* precision_end; size_t precision_arg_index; wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */ size_t arg_index; } wchar_t_directive; /* A parsed format string. */ typedef struct { size_t count; wchar_t_directive *dir; size_t max_width_length; size_t max_precision_length; } wchar_t_directives; /* Parses the format string. Fills in the number N of directives, and fills in directives[0], ..., directives[N-1], and sets directives[N].dir_start to the end of the format string. Also fills in the arg_type fields of the arguments and the needed count of arguments. */ #ifdef STATIC STATIC #else extern #endif int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a); #endif /* _WPRINTF_PARSE_H */ KCemu-0.5.1/intl/Makefile.in0000644000175000017500000005044612417262523015775 0ustar glaubitzglaubitz# Makefile for directory with message catalog handling library of GNU gettext # Copyright (C) 1995-1998, 2000-2007 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU Library General Public License as published # by the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program 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 # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, # USA. PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = /bin/sh srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = .. # The VPATH variables allows builds with $builddir != $srcdir, assuming a # 'make' program that supports VPATH (such as GNU make). This line is removed # by autoconf automatically when "$(srcdir)" = ".". # In this directory, the VPATH handling is particular: # 1. If INTL_LIBTOOL_SUFFIX_PREFIX is 'l' (indicating a build with libtool), # the .c -> .lo rules carefully use $(srcdir), so that VPATH can be omitted. # 2. If PACKAGE = gettext-tools, VPATH _must_ be omitted, because otherwise # 'make' does the wrong thing if GNU gettext was configured with # "./configure --srcdir=`pwd`", namely it gets confused by the .lo and .la # files it finds in srcdir = ../../gettext-runtime/intl. VPATH = $(srcdir) prefix = @prefix@ exec_prefix = @exec_prefix@ transform = @program_transform_name@ libdir = @libdir@ includedir = @includedir@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = $(datadir)/locale gettextsrcdir = $(datadir)/gettext/intl aliaspath = $(localedir) subdir = intl INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ l = @INTL_LIBTOOL_SUFFIX_PREFIX@ AR = ar CC = @CC@ LIBTOOL = @LIBTOOL@ RANLIB = @RANLIB@ YACC = @INTLBISON@ -y -d YFLAGS = --name-prefix=__gettext WINDRES = @WINDRES@ # -DBUILDING_LIBINTL: Change expansion of LIBINTL_DLL_EXPORTED macro. # -DBUILDING_DLL: Change expansion of RELOCATABLE_DLL_EXPORTED macro. DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \ -DLIBDIR=\"$(libdir)\" -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL \ -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \ -Dset_relocation_prefix=libintl_set_relocation_prefix \ -Drelocate=libintl_relocate \ -DDEPENDS_ON_LIBICONV=1 @DEFS@ CPPFLAGS = @CPPFLAGS@ CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@ LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@) LDFLAGS_yes = -Wl,--export-all-symbols LDFLAGS_no = LIBS = @LIBS@ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) HEADERS = \ gmo.h \ gettextP.h \ hash-string.h \ loadinfo.h \ plural-exp.h \ eval-plural.h \ localcharset.h \ lock.h \ relocatable.h \ tsearch.h tsearch.c \ xsize.h \ printf-args.h printf-args.c \ printf-parse.h wprintf-parse.h printf-parse.c \ vasnprintf.h vasnwprintf.h vasnprintf.c \ os2compat.h \ libgnuintl.h.in SOURCES = \ bindtextdom.c \ dcgettext.c \ dgettext.c \ gettext.c \ finddomain.c \ hash-string.c \ loadmsgcat.c \ localealias.c \ textdomain.c \ l10nflist.c \ explodename.c \ dcigettext.c \ dcngettext.c \ dngettext.c \ ngettext.c \ plural.y \ plural-exp.c \ localcharset.c \ lock.c \ relocatable.c \ langprefs.c \ localename.c \ log.c \ printf.c \ version.c \ osdep.c \ os2compat.c \ intl-exports.c \ intl-compat.c OBJECTS = \ bindtextdom.$lo \ dcgettext.$lo \ dgettext.$lo \ gettext.$lo \ finddomain.$lo \ hash-string.$lo \ loadmsgcat.$lo \ localealias.$lo \ textdomain.$lo \ l10nflist.$lo \ explodename.$lo \ dcigettext.$lo \ dcngettext.$lo \ dngettext.$lo \ ngettext.$lo \ plural.$lo \ plural-exp.$lo \ localcharset.$lo \ lock.$lo \ relocatable.$lo \ langprefs.$lo \ localename.$lo \ log.$lo \ printf.$lo \ version.$lo \ osdep.$lo \ intl-compat.$lo OBJECTS_RES_yes = libintl.res OBJECTS_RES_no = DISTFILES.common = Makefile.in \ config.charset locale.alias ref-add.sin ref-del.sin export.h libintl.rc \ $(HEADERS) $(SOURCES) DISTFILES.generated = plural.c DISTFILES.normal = VERSION DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc README.woe32 DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \ COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h \ libgnuintl.h_vms Makefile.vms libgnuintl.h.msvc-static \ libgnuintl.h.msvc-shared Makefile.msvc all: all-@USE_INCLUDED_LIBINTL@ all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed all-no: all-no-@BUILD_INCLUDED_LIBINTL@ all-no-yes: libgnuintl.$la all-no-no: libintl.a libgnuintl.a: $(OBJECTS) rm -f $@ $(AR) cru $@ $(OBJECTS) $(RANLIB) $@ libintl.la libgnuintl.la: $(OBJECTS) $(OBJECTS_RES_@WOE32@) $(LIBTOOL) --mode=link \ $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \ $(OBJECTS) @LTLIBICONV@ @INTL_MACOSX_LIBS@ $(LIBS) @LTLIBTHREAD@ @LTLIBC@ \ $(OBJECTS_RES_@WOE32@) \ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \ -rpath $(libdir) \ -no-undefined # Libtool's library version information for libintl. # Before making a gettext release, the gettext maintainer must change this # according to the libtool documentation, section "Library interface versions". # Maintainers of other packages that include the intl directory must *not* # change these values. LTV_CURRENT=8 LTV_REVISION=2 LTV_AGE=0 .SUFFIXES: .SUFFIXES: .c .y .o .lo .sin .sed .c.o: $(COMPILE) $< .y.c: $(YACC) $(YFLAGS) --output $@ $< rm -f $*.h bindtextdom.lo: $(srcdir)/bindtextdom.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c dcgettext.lo: $(srcdir)/dcgettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c dgettext.lo: $(srcdir)/dgettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c gettext.lo: $(srcdir)/gettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c finddomain.lo: $(srcdir)/finddomain.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c hash-string.lo: $(srcdir)/hash-string.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/hash-string.c loadmsgcat.lo: $(srcdir)/loadmsgcat.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c localealias.lo: $(srcdir)/localealias.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c textdomain.lo: $(srcdir)/textdomain.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c l10nflist.lo: $(srcdir)/l10nflist.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c explodename.lo: $(srcdir)/explodename.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c dcigettext.lo: $(srcdir)/dcigettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c dcngettext.lo: $(srcdir)/dcngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c dngettext.lo: $(srcdir)/dngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c ngettext.lo: $(srcdir)/ngettext.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c plural.lo: $(srcdir)/plural.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c plural-exp.lo: $(srcdir)/plural-exp.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c localcharset.lo: $(srcdir)/localcharset.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c lock.lo: $(srcdir)/lock.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/lock.c relocatable.lo: $(srcdir)/relocatable.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c langprefs.lo: $(srcdir)/langprefs.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c localename.lo: $(srcdir)/localename.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c log.lo: $(srcdir)/log.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c printf.lo: $(srcdir)/printf.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c version.lo: $(srcdir)/version.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/version.c osdep.lo: $(srcdir)/osdep.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c intl-compat.lo: $(srcdir)/intl-compat.c $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c # This rule is executed only on Woe32 systems. # The following sed expressions come from the windres-options script. They are # inlined here, so that they can be written in a Makefile without requiring a # temporary file. They must contain literal newlines rather than semicolons, # so that they work with the sed-3.02 that is shipped with MSYS. We can use # GNU bash's $'\n' syntax to obtain such a newline. libintl.res: $(srcdir)/libintl.rc nl=$$'\n'; \ sed_extract_major='/^[0-9]/{'$${nl}'s/^\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{'$${nl}'s/^[0-9]*[.]\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{'$${nl}'s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p'$${nl}q$${nl}'}'$${nl}'c\'$${nl}0$${nl}q; \ $(WINDRES) \ "-DPACKAGE_VERSION_STRING=\\\"$(VERSION)\\\"" \ "-DPACKAGE_VERSION_MAJOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_major"` \ "-DPACKAGE_VERSION_MINOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_minor"` \ "-DPACKAGE_VERSION_SUBMINOR="`echo '$(VERSION)' | sed -n -e "$$sed_extract_subminor"` \ -i $(srcdir)/libintl.rc -o libintl.res --output-format=coff ref-add.sed: $(srcdir)/ref-add.sin sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed mv t-ref-add.sed ref-add.sed ref-del.sed: $(srcdir)/ref-del.sin sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed mv t-ref-del.sed ref-del.sed INCLUDES = -I. -I$(srcdir) -I.. -I../include/kc libgnuintl.h: $(srcdir)/libgnuintl.h.in sed -e '/IN_LIBGLOCALE/d' \ -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ < $(srcdir)/libgnuintl.h.in \ | if test '@WOE32DLL@' = yes; then \ sed -e 's/extern \([^()]*\);/extern __declspec (dllimport) \1;/'; \ else \ cat; \ fi \ | sed -e 's/extern \([^"]\)/extern LIBINTL_DLL_EXPORTED \1/' \ -e "/#define _LIBINTL_H/r $(srcdir)/export.h" \ | sed -e 's,@''HAVE_VISIBILITY''@,@HAVE_VISIBILITY@,g' \ > libgnuintl.h libintl.h: $(srcdir)/libgnuintl.h.in sed -e '/IN_LIBGLOCALE/d' \ -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ < $(srcdir)/libgnuintl.h.in > libintl.h charset.alias: $(srcdir)/config.charset $(SHELL) $(srcdir)/config.charset '@host@' > t-$@ mv t-$@ $@ check: all # We must not install the libintl.h/libintl.a files if we are on a # system which has the GNU gettext() function in its C library or in a # separate library. # If you want to use the one which comes with this version of the # package, you have to use `configure --with-included-gettext'. install: install-exec install-data install-exec: all if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \ $(LIBTOOL) --mode=install \ $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \ if test "@RELOCATABLE@" = yes; then \ dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \ if test -n "$$dependencies"; then \ rm -f $(DESTDIR)$(libdir)/libintl.la; \ fi; \ fi; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ $(mkdir_p) $(DESTDIR)$(libdir); \ $(LIBTOOL) --mode=install \ $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \ $(LIBTOOL) --mode=uninstall \ rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \ temp=$(DESTDIR)$(libdir)/t-charset.alias; \ dest=$(DESTDIR)$(libdir)/charset.alias; \ if test -f $(DESTDIR)$(libdir)/charset.alias; then \ orig=$(DESTDIR)$(libdir)/charset.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ else \ if test @GLIBC21@ = no; then \ orig=charset.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ fi; \ fi; \ $(mkdir_p) $(DESTDIR)$(localedir); \ test -f $(DESTDIR)$(localedir)/locale.alias \ && orig=$(DESTDIR)$(localedir)/locale.alias \ || orig=$(srcdir)/locale.alias; \ temp=$(DESTDIR)$(localedir)/t-locale.alias; \ dest=$(DESTDIR)$(localedir)/locale.alias; \ sed -f ref-add.sed $$orig > $$temp; \ $(INSTALL_DATA) $$temp $$dest; \ rm -f $$temp; \ else \ : ; \ fi install-data: all if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \ $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \ dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \ for file in $$dists; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \ dists="$(DISTFILES.generated)"; \ for file in $$dists; do \ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ $(INSTALL_DATA) $$dir/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ dists="$(DISTFILES.obsolete)"; \ for file in $$dists; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-strip: install install-dvi install-html install-info install-ps install-pdf: installdirs: if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ $(mkdir_p) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ $(mkdir_p) $(DESTDIR)$(libdir); \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ test @GLIBC21@ != no || $(mkdir_p) $(DESTDIR)$(libdir); \ $(mkdir_p) $(DESTDIR)$(localedir); \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi # Define this as empty until I found a useful application. installcheck: uninstall: if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \ && test '@USE_INCLUDED_LIBINTL@' = yes; then \ rm -f $(DESTDIR)$(includedir)/libintl.h; \ $(LIBTOOL) --mode=uninstall \ rm -f $(DESTDIR)$(libdir)/libintl.$la; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools" \ && test '@USE_INCLUDED_LIBINTL@' = no \ && test @GLIBC2@ != no; then \ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \ else \ : ; \ fi if test '@USE_INCLUDED_LIBINTL@' = yes; then \ if test -f $(DESTDIR)$(libdir)/charset.alias; then \ temp=$(DESTDIR)$(libdir)/t-charset.alias; \ dest=$(DESTDIR)$(libdir)/charset.alias; \ sed -f ref-del.sed $$dest > $$temp; \ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ rm -f $$dest; \ else \ $(INSTALL_DATA) $$temp $$dest; \ fi; \ rm -f $$temp; \ fi; \ if test -f $(DESTDIR)$(localedir)/locale.alias; then \ temp=$(DESTDIR)$(localedir)/t-locale.alias; \ dest=$(DESTDIR)$(localedir)/locale.alias; \ sed -f ref-del.sed $$dest > $$temp; \ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \ rm -f $$dest; \ else \ $(INSTALL_DATA) $$temp $$dest; \ fi; \ rm -f $$temp; \ fi; \ else \ : ; \ fi if test "$(PACKAGE)" = "gettext-tools"; then \ for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi info dvi ps pdf html: $(OBJECTS): ../include/kc/config.h libgnuintl.h bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h hash-string.$lo dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h dcigettext.$lo: $(srcdir)/eval-plural.h localcharset.$lo: $(srcdir)/localcharset.h bindtextdom.$lo dcigettext.$lo finddomain.$lo loadmsgcat.$lo localealias.$lo lock.$lo log.$lo: $(srcdir)/lock.h localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c # A bison-2.1 generated plural.c includes if ENABLE_NLS. PLURAL_DEPS_yes = libintl.h PLURAL_DEPS_no = plural.$lo: $(PLURAL_DEPS_@USE_INCLUDED_LIBINTL@) tags: TAGS TAGS: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES) ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES) id: ID ID: $(HEADERS) $(SOURCES) here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES) mostlyclean: rm -f *.a *.la *.o *.obj *.lo libintl.res core core.* rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed rm -f -r .libs _libs clean: mostlyclean distclean: clean rm -f Makefile ID TAGS if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \ rm -f ChangeLog.inst $(DISTFILES.normal); \ else \ : ; \ fi maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." # GNU gettext needs not contain the file `VERSION' but contains some # other files which should not be distributed in other packages. distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: Makefile if test "$(PACKAGE)" = "gettext-tools"; then \ : ; \ else \ if test "$(PACKAGE)" = "gettext-runtime"; then \ additional="$(DISTFILES.gettext)"; \ else \ additional="$(DISTFILES.normal)"; \ fi; \ $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \ for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \ cp -p $$dir/$$file $(distdir) || test $$file = Makefile.in || exit 1; \ done; \ fi Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status # This would be more efficient, but doesn't work any more with autoconf-2.57, # when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used. # cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: KCemu-0.5.1/intl/VERSION0000644000175000017500000000004612417262523014767 0ustar glaubitzglaubitzGNU gettext library from gettext-0.17 KCemu-0.5.1/intl/tsearch.c0000644000175000017500000004462012417262523015522 0ustar glaubitzglaubitz/* Copyright (C) 1995, 1996, 1997, 2000, 2006 Free Software Foundation, Inc. Contributed by Bernd Schmidt , 1997. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tree search for red/black trees. The algorithm for adding nodes is taken from one of the many "Algorithms" books by Robert Sedgewick, although the implementation differs. The algorithm for deleting nodes can probably be found in a book named "Introduction to Algorithms" by Cormen/Leiserson/Rivest. At least that's the book that my professor took most algorithms from during the "Data Structures" course... Totally public domain. */ /* Red/black trees are binary trees in which the edges are colored either red or black. They have the following properties: 1. The number of black edges on every path from the root to a leaf is constant. 2. No two red edges are adjacent. Therefore there is an upper bound on the length of every path, it's O(log n) where n is the number of nodes in the tree. No path can be longer than 1+2*P where P is the length of the shortest path in the tree. Useful for the implementation: 3. If one of the children of a node is NULL, then the other one is red (if it exists). In the implementation, not the edges are colored, but the nodes. The color interpreted as the color of the edge leading to this node. The color is meaningless for the root node, but we color the root node black for convenience. All added nodes are red initially. Adding to a red/black tree is rather easy. The right place is searched with a usual binary tree search. Additionally, whenever a node N is reached that has two red successors, the successors are colored black and the node itself colored red. This moves red edges up the tree where they pose less of a problem once we get to really insert the new node. Changing N's color to red may violate rule 2, however, so rotations may become necessary to restore the invariants. Adding a new red leaf may violate the same rule, so afterwards an additional check is run and the tree possibly rotated. Deleting is hairy. There are mainly two nodes involved: the node to be deleted (n1), and another node that is to be unchained from the tree (n2). If n1 has a successor (the node with a smallest key that is larger than n1), then the successor becomes n2 and its contents are copied into n1, otherwise n1 becomes n2. Unchaining a node may violate rule 1: if n2 is black, one subtree is missing one black edge afterwards. The algorithm must try to move this error upwards towards the root, so that the subtree that does not have enough black edges becomes the whole tree. Once that happens, the error has disappeared. It may not be necessary to go all the way up, since it is possible that rotations and recoloring can fix the error before that. Although the deletion algorithm must walk upwards through the tree, we do not store parent pointers in the nodes. Instead, delete allocates a small array of parent pointers and fills it while descending the tree. Since we know that the length of a path is O(log n), where n is the number of nodes, this is likely to use less memory. */ /* Tree rotations look like this: A C / \ / \ B C A G / \ / \ --> / \ D E F G B F / \ D E In this case, A has been rotated left. This preserves the ordering of the binary tree. */ #include /* Specification. */ #ifdef IN_LIBINTL # include "tsearch.h" #else # include #endif #include typedef int (*__compar_fn_t) (const void *, const void *); typedef void (*__action_fn_t) (const void *, VISIT, int); #ifndef weak_alias # define __tsearch tsearch # define __tfind tfind # define __tdelete tdelete # define __twalk twalk #endif #ifndef internal_function /* Inside GNU libc we mark some function in a special way. In other environments simply ignore the marking. */ # define internal_function #endif typedef struct node_t { /* Callers expect this to be the first element in the structure - do not move! */ const void *key; struct node_t *left; struct node_t *right; unsigned int red:1; } *node; typedef const struct node_t *const_node; #undef DEBUGGING #ifdef DEBUGGING /* Routines to check tree invariants. */ #include #define CHECK_TREE(a) check_tree(a) static void check_tree_recurse (node p, int d_sofar, int d_total) { if (p == NULL) { assert (d_sofar == d_total); return; } check_tree_recurse (p->left, d_sofar + (p->left && !p->left->red), d_total); check_tree_recurse (p->right, d_sofar + (p->right && !p->right->red), d_total); if (p->left) assert (!(p->left->red && p->red)); if (p->right) assert (!(p->right->red && p->red)); } static void check_tree (node root) { int cnt = 0; node p; if (root == NULL) return; root->red = 0; for(p = root->left; p; p = p->left) cnt += !p->red; check_tree_recurse (root, 0, cnt); } #else #define CHECK_TREE(a) #endif /* Possibly "split" a node with two red successors, and/or fix up two red edges in a row. ROOTP is a pointer to the lowest node we visited, PARENTP and GPARENTP pointers to its parent/grandparent. P_R and GP_R contain the comparison values that determined which way was taken in the tree to reach ROOTP. MODE is 1 if we need not do the split, but must check for two red edges between GPARENTP and ROOTP. */ static void maybe_split_for_insert (node *rootp, node *parentp, node *gparentp, int p_r, int gp_r, int mode) { node root = *rootp; node *rp, *lp; rp = &(*rootp)->right; lp = &(*rootp)->left; /* See if we have to split this node (both successors red). */ if (mode == 1 || ((*rp) != NULL && (*lp) != NULL && (*rp)->red && (*lp)->red)) { /* This node becomes red, its successors black. */ root->red = 1; if (*rp) (*rp)->red = 0; if (*lp) (*lp)->red = 0; /* If the parent of this node is also red, we have to do rotations. */ if (parentp != NULL && (*parentp)->red) { node gp = *gparentp; node p = *parentp; /* There are two main cases: 1. The edge types (left or right) of the two red edges differ. 2. Both red edges are of the same type. There exist two symmetries of each case, so there is a total of 4 cases. */ if ((p_r > 0) != (gp_r > 0)) { /* Put the child at the top of the tree, with its parent and grandparent as successors. */ p->red = 1; gp->red = 1; root->red = 0; if (p_r < 0) { /* Child is left of parent. */ p->left = *rp; *rp = p; gp->right = *lp; *lp = gp; } else { /* Child is right of parent. */ p->right = *lp; *lp = p; gp->left = *rp; *rp = gp; } *gparentp = root; } else { *gparentp = *parentp; /* Parent becomes the top of the tree, grandparent and child are its successors. */ p->red = 0; gp->red = 1; if (p_r < 0) { /* Left edges. */ gp->left = p->right; p->right = gp; } else { /* Right edges. */ gp->right = p->left; p->left = gp; } } } } } /* Find or insert datum into search tree. KEY is the key to be located, ROOTP is the address of tree root, COMPAR the ordering function. */ void * __tsearch (const void *key, void **vrootp, __compar_fn_t compar) { node q; node *parentp = NULL, *gparentp = NULL; node *rootp = (node *) vrootp; node *nextp; int r = 0, p_r = 0, gp_r = 0; /* No they might not, Mr Compiler. */ if (rootp == NULL) return NULL; /* This saves some additional tests below. */ if (*rootp != NULL) (*rootp)->red = 0; CHECK_TREE (*rootp); nextp = rootp; while (*nextp != NULL) { node root = *rootp; r = (*compar) (key, root->key); if (r == 0) return root; maybe_split_for_insert (rootp, parentp, gparentp, p_r, gp_r, 0); /* If that did any rotations, parentp and gparentp are now garbage. That doesn't matter, because the values they contain are never used again in that case. */ nextp = r < 0 ? &root->left : &root->right; if (*nextp == NULL) break; gparentp = parentp; parentp = rootp; rootp = nextp; gp_r = p_r; p_r = r; } q = (struct node_t *) malloc (sizeof (struct node_t)); if (q != NULL) { *nextp = q; /* link new node to old */ q->key = key; /* initialize new node */ q->red = 1; q->left = q->right = NULL; if (nextp != rootp) /* There may be two red edges in a row now, which we must avoid by rotating the tree. */ maybe_split_for_insert (nextp, rootp, parentp, r, p_r, 1); } return q; } #ifdef weak_alias weak_alias (__tsearch, tsearch) #endif /* Find datum in search tree. KEY is the key to be located, ROOTP is the address of tree root, COMPAR the ordering function. */ void * __tfind (key, vrootp, compar) const void *key; void *const *vrootp; __compar_fn_t compar; { node *rootp = (node *) vrootp; if (rootp == NULL) return NULL; CHECK_TREE (*rootp); while (*rootp != NULL) { node root = *rootp; int r; r = (*compar) (key, root->key); if (r == 0) return root; rootp = r < 0 ? &root->left : &root->right; } return NULL; } #ifdef weak_alias weak_alias (__tfind, tfind) #endif /* Delete node with given key. KEY is the key to be deleted, ROOTP is the address of the root of tree, COMPAR the comparison function. */ void * __tdelete (const void *key, void **vrootp, __compar_fn_t compar) { node p, q, r, retval; int cmp; node *rootp = (node *) vrootp; node root, unchained; /* Stack of nodes so we remember the parents without recursion. It's _very_ unlikely that there are paths longer than 40 nodes. The tree would need to have around 250.000 nodes. */ int stacksize = 100; int sp = 0; node *nodestack[100]; if (rootp == NULL) return NULL; p = *rootp; if (p == NULL) return NULL; CHECK_TREE (p); while ((cmp = (*compar) (key, (*rootp)->key)) != 0) { if (sp == stacksize) abort (); nodestack[sp++] = rootp; p = *rootp; rootp = ((cmp < 0) ? &(*rootp)->left : &(*rootp)->right); if (*rootp == NULL) return NULL; } /* This is bogus if the node to be deleted is the root... this routine really should return an integer with 0 for success, -1 for failure and errno = ESRCH or something. */ retval = p; /* We don't unchain the node we want to delete. Instead, we overwrite it with its successor and unchain the successor. If there is no successor, we really unchain the node to be deleted. */ root = *rootp; r = root->right; q = root->left; if (q == NULL || r == NULL) unchained = root; else { node *parent = rootp, *up = &root->right; for (;;) { if (sp == stacksize) abort (); nodestack[sp++] = parent; parent = up; if ((*up)->left == NULL) break; up = &(*up)->left; } unchained = *up; } /* We know that either the left or right successor of UNCHAINED is NULL. R becomes the other one, it is chained into the parent of UNCHAINED. */ r = unchained->left; if (r == NULL) r = unchained->right; if (sp == 0) *rootp = r; else { q = *nodestack[sp-1]; if (unchained == q->right) q->right = r; else q->left = r; } if (unchained != root) root->key = unchained->key; if (!unchained->red) { /* Now we lost a black edge, which means that the number of black edges on every path is no longer constant. We must balance the tree. */ /* NODESTACK now contains all parents of R. R is likely to be NULL in the first iteration. */ /* NULL nodes are considered black throughout - this is necessary for correctness. */ while (sp > 0 && (r == NULL || !r->red)) { node *pp = nodestack[sp - 1]; p = *pp; /* Two symmetric cases. */ if (r == p->left) { /* Q is R's brother, P is R's parent. The subtree with root R has one black edge less than the subtree with root Q. */ q = p->right; if (q->red) { /* If Q is red, we know that P is black. We rotate P left so that Q becomes the top node in the tree, with P below it. P is colored red, Q is colored black. This action does not change the black edge count for any leaf in the tree, but we will be able to recognize one of the following situations, which all require that Q is black. */ q->red = 0; p->red = 1; /* Left rotate p. */ p->right = q->left; q->left = p; *pp = q; /* Make sure pp is right if the case below tries to use it. */ nodestack[sp++] = pp = &q->left; q = p->right; } /* We know that Q can't be NULL here. We also know that Q is black. */ if ((q->left == NULL || !q->left->red) && (q->right == NULL || !q->right->red)) { /* Q has two black successors. We can simply color Q red. The whole subtree with root P is now missing one black edge. Note that this action can temporarily make the tree invalid (if P is red). But we will exit the loop in that case and set P black, which both makes the tree valid and also makes the black edge count come out right. If P is black, we are at least one step closer to the root and we'll try again the next iteration. */ q->red = 1; r = p; } else { /* Q is black, one of Q's successors is red. We can repair the tree with one operation and will exit the loop afterwards. */ if (q->right == NULL || !q->right->red) { /* The left one is red. We perform the same action as in maybe_split_for_insert where two red edges are adjacent but point in different directions: Q's left successor (let's call it Q2) becomes the top of the subtree we are looking at, its parent (Q) and grandparent (P) become its successors. The former successors of Q2 are placed below P and Q. P becomes black, and Q2 gets the color that P had. This changes the black edge count only for node R and its successors. */ node q2 = q->left; q2->red = p->red; p->right = q2->left; q->left = q2->right; q2->right = q; q2->left = p; *pp = q2; p->red = 0; } else { /* It's the right one. Rotate P left. P becomes black, and Q gets the color that P had. Q's right successor also becomes black. This changes the black edge count only for node R and its successors. */ q->red = p->red; p->red = 0; q->right->red = 0; /* left rotate p */ p->right = q->left; q->left = p; *pp = q; } /* We're done. */ sp = 1; r = NULL; } } else { /* Comments: see above. */ q = p->left; if (q->red) { q->red = 0; p->red = 1; p->left = q->right; q->right = p; *pp = q; nodestack[sp++] = pp = &q->right; q = p->left; } if ((q->right == NULL || !q->right->red) && (q->left == NULL || !q->left->red)) { q->red = 1; r = p; } else { if (q->left == NULL || !q->left->red) { node q2 = q->right; q2->red = p->red; p->left = q2->right; q->right = q2->left; q2->left = q; q2->right = p; *pp = q2; p->red = 0; } else { q->red = p->red; p->red = 0; q->left->red = 0; p->left = q->right; q->right = p; *pp = q; } sp = 1; r = NULL; } } --sp; } if (r != NULL) r->red = 0; } free (unchained); return retval; } #ifdef weak_alias weak_alias (__tdelete, tdelete) #endif /* Walk the nodes of a tree. ROOT is the root of the tree to be walked, ACTION the function to be called at each node. LEVEL is the level of ROOT in the whole tree. */ static void internal_function trecurse (const void *vroot, __action_fn_t action, int level) { const_node root = (const_node) vroot; if (root->left == NULL && root->right == NULL) (*action) (root, leaf, level); else { (*action) (root, preorder, level); if (root->left != NULL) trecurse (root->left, action, level + 1); (*action) (root, postorder, level); if (root->right != NULL) trecurse (root->right, action, level + 1); (*action) (root, endorder, level); } } /* Walk the nodes of a tree. ROOT is the root of the tree to be walked, ACTION the function to be called at each node. */ void __twalk (const void *vroot, __action_fn_t action) { const_node root = (const_node) vroot; CHECK_TREE (root); if (root != NULL && action != NULL) trecurse (root, action, 0); } #ifdef weak_alias weak_alias (__twalk, twalk) #endif #ifdef _LIBC /* The standardized functions miss an important functionality: the tree cannot be removed easily. We provide a function to do this. */ static void internal_function tdestroy_recurse (node root, __free_fn_t freefct) { if (root->left != NULL) tdestroy_recurse (root->left, freefct); if (root->right != NULL) tdestroy_recurse (root->right, freefct); (*freefct) ((void *) root->key); /* Free the node itself. */ free (root); } void __tdestroy (void *vroot, __free_fn_t freefct) { node root = (node) vroot; CHECK_TREE (root); if (root != NULL) tdestroy_recurse (root, freefct); } weak_alias (__tdestroy, tdestroy) #endif /* _LIBC */ KCemu-0.5.1/intl/hash-string.c0000644000175000017500000000315112417262523016312 0ustar glaubitzglaubitz/* Implements a string hashing function. Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif /* Specification. */ #include "hash-string.h" /* Defines the so called `hashpjw' function by P.J. Weinberger [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ unsigned long int __hash_string (const char *str_param) { unsigned long int hval, g; const char *str = str_param; /* Compute the hash value for the given string. */ hval = 0; while (*str != '\0') { hval <<= 4; hval += (unsigned char) *str++; g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4)); if (g != 0) { hval ^= g >> (HASHWORDBITS - 8); hval ^= g; } } return hval; } KCemu-0.5.1/intl/log.c0000644000175000017500000000623112417262523014646 0ustar glaubitzglaubitz/* Log file output. Copyright (C) 2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Written by Bruno Haible . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include /* Handle multi-threaded applications. */ #ifdef _LIBC # include #else # include "lock.h" #endif /* Print an ASCII string with quotes and escape sequences where needed. */ static void print_escaped (FILE *stream, const char *str) { putc ('"', stream); for (; *str != '\0'; str++) if (*str == '\n') { fputs ("\\n\"", stream); if (str[1] == '\0') return; fputs ("\n\"", stream); } else { if (*str == '"' || *str == '\\') putc ('\\', stream); putc (*str, stream); } putc ('"', stream); } static char *last_logfilename = NULL; static FILE *last_logfile = NULL; __libc_lock_define_initialized (static, lock) static inline void _nl_log_untranslated_locked (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural) { FILE *logfile; /* Can we reuse the last opened logfile? */ if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0) { /* Close the last used logfile. */ if (last_logfilename != NULL) { if (last_logfile != NULL) { fclose (last_logfile); last_logfile = NULL; } free (last_logfilename); last_logfilename = NULL; } /* Open the logfile. */ last_logfilename = (char *) malloc (strlen (logfilename) + 1); if (last_logfilename == NULL) return; strcpy (last_logfilename, logfilename); last_logfile = fopen (logfilename, "a"); if (last_logfile == NULL) return; } logfile = last_logfile; fprintf (logfile, "domain "); print_escaped (logfile, domainname); fprintf (logfile, "\nmsgid "); print_escaped (logfile, msgid1); if (plural) { fprintf (logfile, "\nmsgid_plural "); print_escaped (logfile, msgid2); fprintf (logfile, "\nmsgstr[0] \"\"\n"); } else fprintf (logfile, "\nmsgstr \"\"\n"); putc ('\n', logfile); } /* Add to the log file an entry denoting a failed translation. */ void _nl_log_untranslated (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural) { __libc_lock_lock (lock); _nl_log_untranslated_locked (logfilename, domainname, msgid1, msgid2, plural); __libc_lock_unlock (lock); } KCemu-0.5.1/intl/xsize.h0000644000175000017500000000672612417262523015245 0ustar glaubitzglaubitz/* xsize.h -- Checked size_t computations. Copyright (C) 2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _XSIZE_H #define _XSIZE_H /* Get size_t. */ #include /* Get SIZE_MAX. */ #include #if HAVE_STDINT_H # include #endif /* The size of memory objects is often computed through expressions of type size_t. Example: void* p = malloc (header_size + n * element_size). These computations can lead to overflow. When this happens, malloc() returns a piece of memory that is way too small, and the program then crashes while attempting to fill the memory. To avoid this, the functions and macros in this file check for overflow. The convention is that SIZE_MAX represents overflow. malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc implementation that uses mmap --, it's recommended to use size_overflow_p() or size_in_bounds_p() before invoking malloc(). The example thus becomes: size_t size = xsum (header_size, xtimes (n, element_size)); void *p = (size_in_bounds_p (size) ? malloc (size) : NULL); */ /* Convert an arbitrary value >= 0 to type size_t. */ #define xcast_size_t(N) \ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX) /* Sum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum (size_t size1, size_t size2) { size_t sum = size1 + size2; return (sum >= size1 ? sum : SIZE_MAX); } /* Sum of three sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum3 (size_t size1, size_t size2, size_t size3) { return xsum (xsum (size1, size2), size3); } /* Sum of four sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xsum4 (size_t size1, size_t size2, size_t size3, size_t size4) { return xsum (xsum (xsum (size1, size2), size3), size4); } /* Maximum of two sizes, with overflow check. */ static inline size_t #if __GNUC__ >= 3 __attribute__ ((__pure__)) #endif xmax (size_t size1, size_t size2) { /* No explicit check is needed here, because for any n: max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */ return (size1 >= size2 ? size1 : size2); } /* Multiplication of a count with an element size, with overflow check. The count must be >= 0 and the element size must be > 0. This is a macro, not an inline function, so that it works correctly even when N is of a wider tupe and N > SIZE_MAX. */ #define xtimes(N, ELSIZE) \ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX) /* Check for overflow. */ #define size_overflow_p(SIZE) \ ((SIZE) == SIZE_MAX) /* Check against overflow. */ #define size_in_bounds_p(SIZE) \ ((SIZE) != SIZE_MAX) #endif /* _XSIZE_H */ KCemu-0.5.1/intl/gettextP.h0000644000175000017500000002221412417262523015675 0ustar glaubitzglaubitz/* Header describing internals of libintl library. Copyright (C) 1995-1999, 2000-2007 Free Software Foundation, Inc. Written by Ulrich Drepper , 1995. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _GETTEXTP_H #define _GETTEXTP_H #include /* Get size_t. */ #ifdef _LIBC # include "../iconv/gconv_int.h" #else # if HAVE_ICONV # include # endif #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define __libc_rwlock_define #else # include "lock.h" #endif #ifdef _LIBC extern char *__gettext (const char *__msgid); extern char *__dgettext (const char *__domainname, const char *__msgid); extern char *__dcgettext (const char *__domainname, const char *__msgid, int __category); extern char *__ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n); extern char *__dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int n); extern char *__dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category); extern char *__dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category); extern char *__textdomain (const char *__domainname); extern char *__bindtextdomain (const char *__domainname, const char *__dirname); extern char *__bind_textdomain_codeset (const char *__domainname, const char *__codeset); extern void _nl_finddomain_subfreeres (void) attribute_hidden; extern void _nl_unload_domain (struct loaded_domain *__domain) internal_function attribute_hidden; #else /* Declare the exported libintl_* functions, in a way that allows us to call them under their real name. */ # undef _INTL_REDIRECT_INLINE # undef _INTL_REDIRECT_MACROS # define _INTL_REDIRECT_MACROS # include "libgnuintl.h" # ifdef IN_LIBGLOCALE extern char *gl_dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category, const char *__localename, const char *__encoding); # else extern char *libintl_dcigettext (const char *__domainname, const char *__msgid1, const char *__msgid2, int __plural, unsigned long int __n, int __category); # endif #endif #include "loadinfo.h" #include "gmo.h" /* Get nls_uint32. */ /* @@ end of prolog @@ */ #ifndef internal_function # define internal_function #endif #ifndef attribute_hidden # define attribute_hidden #endif /* Tell the compiler when a conditional or integer expression is almost always true or almost always false. */ #ifndef HAVE_BUILTIN_EXPECT # define __builtin_expect(expr, val) (expr) #endif #ifndef W # define W(flag, data) ((flag) ? SWAP (data) : (data)) #endif #ifdef _LIBC # include # define SWAP(i) bswap_32 (i) #else static inline nls_uint32 # ifdef __cplusplus SWAP (nls_uint32 i) # else SWAP (i) nls_uint32 i; # endif { return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); } #endif /* In-memory representation of system dependent string. */ struct sysdep_string_desc { /* Length of addressed string, including the trailing NUL. */ size_t length; /* Pointer to addressed string. */ const char *pointer; }; /* Cache of translated strings after charset conversion. Note: The strings are converted to the target encoding only on an as-needed basis. */ struct converted_domain { /* The target encoding name. */ const char *encoding; /* The descriptor for conversion from the message catalog's encoding to this target encoding. */ #ifdef _LIBC __gconv_t conv; #else # if HAVE_ICONV iconv_t conv; # endif #endif /* The table of translated strings after charset conversion. */ char **conv_tab; }; /* The representation of an opened message catalog. */ struct loaded_domain { /* Pointer to memory containing the .mo file. */ const char *data; /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */ int use_mmap; /* Size of mmap()ed memory. */ size_t mmap_size; /* 1 if the .mo file uses a different endianness than this machine. */ int must_swap; /* Pointer to additional malloc()ed memory. */ void *malloced; /* Number of static strings pairs. */ nls_uint32 nstrings; /* Pointer to descriptors of original strings in the file. */ const struct string_desc *orig_tab; /* Pointer to descriptors of translated strings in the file. */ const struct string_desc *trans_tab; /* Number of system dependent strings pairs. */ nls_uint32 n_sysdep_strings; /* Pointer to descriptors of original sysdep strings. */ const struct sysdep_string_desc *orig_sysdep_tab; /* Pointer to descriptors of translated sysdep strings. */ const struct sysdep_string_desc *trans_sysdep_tab; /* Size of hash table. */ nls_uint32 hash_size; /* Pointer to hash table. */ const nls_uint32 *hash_tab; /* 1 if the hash table uses a different endianness than this machine. */ int must_swap_hash_tab; /* Cache of charset conversions of the translated strings. */ struct converted_domain *conversions; size_t nconversions; gl_rwlock_define (, conversions_lock) const struct expression *plural; unsigned long int nplurals; }; /* We want to allocate a string at the end of the struct. But ISO C doesn't allow zero sized arrays. */ #ifdef __GNUC__ # define ZERO 0 #else # define ZERO 1 #endif /* A set of settings bound to a message domain. Used to store settings from bindtextdomain() and bind_textdomain_codeset(). */ struct binding { struct binding *next; char *dirname; char *codeset; char domainname[ZERO]; }; /* A counter which is incremented each time some previous translations become invalid. This variable is part of the external ABI of the GNU libintl. */ #ifdef IN_LIBGLOCALE # include extern LIBGLOCALE_DLL_EXPORTED int _nl_msg_cat_cntr; #else extern LIBINTL_DLL_EXPORTED int _nl_msg_cat_cntr; #endif #ifndef _LIBC extern const char *_nl_language_preferences_default (void); # define gl_locale_name_canonicalize _nl_locale_name_canonicalize extern void _nl_locale_name_canonicalize (char *name); # define gl_locale_name_posix _nl_locale_name_posix extern const char *_nl_locale_name_posix (int category, const char *categoryname); # define gl_locale_name_default _nl_locale_name_default extern const char *_nl_locale_name_default (void); # define gl_locale_name _nl_locale_name extern const char *_nl_locale_name (int category, const char *categoryname); #endif struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale, const char *__domainname, struct binding *__domainbinding) internal_function; void _nl_load_domain (struct loaded_l10nfile *__domain, struct binding *__domainbinding) internal_function; #ifdef IN_LIBGLOCALE char *_nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *encoding, const char *msgid, size_t *lengthp) internal_function; #else char *_nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *msgid, int convert, size_t *lengthp) internal_function; #endif /* The internal variables in the standalone libintl.a must have different names than the internal variables in GNU libc, otherwise programs using libintl.a cannot be linked statically. */ #if !defined _LIBC # define _nl_default_dirname libintl_nl_default_dirname # define _nl_domain_bindings libintl_nl_domain_bindings #endif /* Contains the default location of the message catalogs. */ extern const char _nl_default_dirname[]; #ifdef _LIBC libc_hidden_proto (_nl_default_dirname) #endif /* List with bindings of specific domains. */ extern struct binding *_nl_domain_bindings; /* The internal variables in the standalone libintl.a must have different names than the internal variables in GNU libc, otherwise programs using libintl.a cannot be linked statically. */ #if !defined _LIBC # define _nl_default_default_domain libintl_nl_default_default_domain # define _nl_current_default_domain libintl_nl_current_default_domain #endif /* Name of the default text domain. */ extern const char _nl_default_default_domain[] attribute_hidden; /* Default text domain in which entries for gettext(3) are to be found. */ extern const char *_nl_current_default_domain attribute_hidden; /* @@ begin of epilog @@ */ #endif /* gettextP.h */ KCemu-0.5.1/intl/intl-compat.c0000644000175000017500000000662412417262523016322 0ustar glaubitzglaubitz/* intl-compat.c - Stub functions to call gettext functions from GNU gettext Library. Copyright (C) 1995, 2000-2003, 2005 Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" /* @@ end of prolog @@ */ /* This file redirects the gettext functions (without prefix) to those defined in the included GNU libintl library (with "libintl_" prefix). It is compiled into libintl in order to make the AM_GNU_GETTEXT test of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which has the redirections primarily in the include file. It is also compiled into libgnuintl so that libgnuintl.so can be used as LD_PRELOADable library on glibc systems, to provide the extra features that the functions in the libc don't have (namely, logging). */ #undef gettext #undef dgettext #undef dcgettext #undef ngettext #undef dngettext #undef dcngettext #undef textdomain #undef bindtextdomain #undef bind_textdomain_codeset /* When building a DLL, we must export some functions. Note that because the functions are only defined for binary backward compatibility, we don't need to use __declspec(dllimport) in any case. */ #if HAVE_VISIBILITY && BUILDING_DLL # define DLL_EXPORTED __attribute__((__visibility__("default"))) #elif defined _MSC_VER && BUILDING_DLL # define DLL_EXPORTED __declspec(dllexport) #else # define DLL_EXPORTED #endif DLL_EXPORTED char * gettext (const char *msgid) { return libintl_gettext (msgid); } DLL_EXPORTED char * dgettext (const char *domainname, const char *msgid) { return libintl_dgettext (domainname, msgid); } DLL_EXPORTED char * dcgettext (const char *domainname, const char *msgid, int category) { return libintl_dcgettext (domainname, msgid, category); } DLL_EXPORTED char * ngettext (const char *msgid1, const char *msgid2, unsigned long int n) { return libintl_ngettext (msgid1, msgid2, n); } DLL_EXPORTED char * dngettext (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n) { return libintl_dngettext (domainname, msgid1, msgid2, n); } DLL_EXPORTED char * dcngettext (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category) { return libintl_dcngettext (domainname, msgid1, msgid2, n, category); } DLL_EXPORTED char * textdomain (const char *domainname) { return libintl_textdomain (domainname); } DLL_EXPORTED char * bindtextdomain (const char *domainname, const char *dirname) { return libintl_bindtextdomain (domainname, dirname); } DLL_EXPORTED char * bind_textdomain_codeset (const char *domainname, const char *codeset) { return libintl_bind_textdomain_codeset (domainname, codeset); } KCemu-0.5.1/intl/eval-plural.h0000644000175000017500000000534212417262523016320 0ustar glaubitzglaubitz/* Plural expression evaluation. Copyright (C) 2000-2003, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef STATIC #define STATIC static #endif /* Evaluate the plural expression and return an index value. */ STATIC unsigned long int internal_function plural_eval (const struct expression *pexp, unsigned long int n) { switch (pexp->nargs) { case 0: switch (pexp->operation) { case var: return n; case num: return pexp->val.num; default: break; } /* NOTREACHED */ break; case 1: { /* pexp->operation must be lnot. */ unsigned long int arg = plural_eval (pexp->val.args[0], n); return ! arg; } case 2: { unsigned long int leftarg = plural_eval (pexp->val.args[0], n); if (pexp->operation == lor) return leftarg || plural_eval (pexp->val.args[1], n); else if (pexp->operation == land) return leftarg && plural_eval (pexp->val.args[1], n); else { unsigned long int rightarg = plural_eval (pexp->val.args[1], n); switch (pexp->operation) { case mult: return leftarg * rightarg; case divide: #if !INTDIV0_RAISES_SIGFPE if (rightarg == 0) raise (SIGFPE); #endif return leftarg / rightarg; case module: #if !INTDIV0_RAISES_SIGFPE if (rightarg == 0) raise (SIGFPE); #endif return leftarg % rightarg; case plus: return leftarg + rightarg; case minus: return leftarg - rightarg; case less_than: return leftarg < rightarg; case greater_than: return leftarg > rightarg; case less_or_equal: return leftarg <= rightarg; case greater_or_equal: return leftarg >= rightarg; case equal: return leftarg == rightarg; case not_equal: return leftarg != rightarg; default: break; } } /* NOTREACHED */ break; } case 3: { /* pexp->operation must be qmop. */ unsigned long int boolarg = plural_eval (pexp->val.args[0], n); return plural_eval (pexp->val.args[boolarg ? 1 : 2], n); } } /* NOTREACHED */ return 0; } KCemu-0.5.1/intl/plural-exp.c0000644000175000017500000000773212417262523016165 0ustar glaubitzglaubitz/* Expression parsing for plural form selection. Copyright (C) 2000-2001, 2003, 2005-2007 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "plural-exp.h" #if (defined __GNUC__ && !(__APPLE_CC__ > 1) && !defined __cplusplus) \ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) /* These structs are the constant expression for the germanic plural form determination. It represents the expression "n != 1". */ static const struct expression plvar = { .nargs = 0, .operation = var, }; static const struct expression plone = { .nargs = 0, .operation = num, .val = { .num = 1 } }; struct expression GERMANIC_PLURAL = { .nargs = 2, .operation = not_equal, .val = { .args = { [0] = (struct expression *) &plvar, [1] = (struct expression *) &plone } } }; # define INIT_GERMANIC_PLURAL() #else /* For compilers without support for ISO C 99 struct/union initializers: Initialization at run-time. */ static struct expression plvar; static struct expression plone; struct expression GERMANIC_PLURAL; static void init_germanic_plural () { if (plone.val.num == 0) { plvar.nargs = 0; plvar.operation = var; plone.nargs = 0; plone.operation = num; plone.val.num = 1; GERMANIC_PLURAL.nargs = 2; GERMANIC_PLURAL.operation = not_equal; GERMANIC_PLURAL.val.args[0] = &plvar; GERMANIC_PLURAL.val.args[1] = &plone; } } # define INIT_GERMANIC_PLURAL() init_germanic_plural () #endif void internal_function EXTRACT_PLURAL_EXPRESSION (const char *nullentry, const struct expression **pluralp, unsigned long int *npluralsp) { if (nullentry != NULL) { const char *plural; const char *nplurals; plural = strstr (nullentry, "plural="); nplurals = strstr (nullentry, "nplurals="); if (plural == NULL || nplurals == NULL) goto no_plural; else { char *endp; unsigned long int n; struct parse_args args; /* First get the number. */ nplurals += 9; while (*nplurals != '\0' && isspace ((unsigned char) *nplurals)) ++nplurals; if (!(*nplurals >= '0' && *nplurals <= '9')) goto no_plural; #if defined HAVE_STRTOUL || defined _LIBC n = strtoul (nplurals, &endp, 10); #else for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++) n = n * 10 + (*endp - '0'); #endif if (nplurals == endp) goto no_plural; *npluralsp = n; /* Due to the restrictions bison imposes onto the interface of the scanner function we have to put the input string and the result passed up from the parser into the same structure which address is passed down to the parser. */ plural += 7; args.cp = plural; if (PLURAL_PARSE (&args) != 0) goto no_plural; *pluralp = args.res; } } else { /* By default we are using the Germanic form: singular form only for `one', the plural form otherwise. Yes, this is also what English is using since English is a Germanic language. */ no_plural: INIT_GERMANIC_PLURAL (); *pluralp = &GERMANIC_PLURAL; *npluralsp = 2; } } KCemu-0.5.1/intl/dngettext.c0000644000175000017500000000354612417262523016101 0ustar glaubitzglaubitz/* Implementation of the dngettext(3) function. Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #include #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DNGETTEXT __dngettext # define DCNGETTEXT __dcngettext #else # define DNGETTEXT libintl_dngettext # define DCNGETTEXT libintl_dcngettext #endif /* Look up MSGID in the DOMAINNAME message catalog of the current LC_MESSAGES locale and skip message according to the plural form. */ char * DNGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n) { return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dngettext, dngettext); #endif KCemu-0.5.1/intl/hash-string.h0000644000175000017500000000256612417262523016330 0ustar glaubitzglaubitz/* Description of GNU message catalog format: string hashing function. Copyright (C) 1995, 1997-1998, 2000-2003, 2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* @@ end of prolog @@ */ /* We assume to have `unsigned long int' value with at least 32 bits. */ #define HASHWORDBITS 32 #ifndef _LIBC # ifdef IN_LIBINTL # define __hash_string libintl_hash_string # else # define __hash_string hash_string # endif #endif /* Defines the so called `hashpjw' function by P.J. Weinberger [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools, 1986, 1987 Bell Telephone Laboratories, Inc.] */ extern unsigned long int __hash_string (const char *str_param); KCemu-0.5.1/intl/dcngettext.c0000644000175000017500000000347412417262523016244 0ustar glaubitzglaubitz/* Implementation of the dcngettext(3) function. Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include "gettextP.h" #ifdef _LIBC # include #else # include "libgnuintl.h" #endif /* @@ end of prolog @@ */ /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCNGETTEXT __dcngettext # define DCIGETTEXT __dcigettext #else # define DCNGETTEXT libintl_dcngettext # define DCIGETTEXT libintl_dcigettext #endif /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale. */ char * DCNGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, unsigned long int n, int category) { return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category); } #ifdef _LIBC /* Alias for function name in GNU C Library. */ weak_alias (__dcngettext, dcngettext); #endif KCemu-0.5.1/intl/os2compat.h0000644000175000017500000000302612417262523016000 0ustar glaubitzglaubitz/* OS/2 compatibility defines. This file is intended to be included from config.h Copyright (C) 2001-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* When included from os2compat.h we need all the original definitions */ #ifndef OS2_AWARE #undef LIBDIR #define LIBDIR _nlos2_libdir extern char *_nlos2_libdir; #undef LOCALEDIR #define LOCALEDIR _nlos2_localedir extern char *_nlos2_localedir; #undef LOCALE_ALIAS_PATH #define LOCALE_ALIAS_PATH _nlos2_localealiaspath extern char *_nlos2_localealiaspath; #endif #undef HAVE_STRCASECMP #define HAVE_STRCASECMP 1 #define strcasecmp stricmp #define strncasecmp strnicmp /* We have our own getenv() which works even if library is compiled as DLL */ #define getenv _nl_getenv /* Older versions of gettext used -1 as the value of LC_MESSAGES */ #define LC_MESSAGES_COMPAT (-1) KCemu-0.5.1/intl/gmo.h0000644000175000017500000001151212417262523014652 0ustar glaubitzglaubitz/* Description of GNU message catalog format: general file layout. Copyright (C) 1995, 1997, 2000-2002, 2004, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _GETTEXT_H #define _GETTEXT_H 1 #include /* @@ end of prolog @@ */ /* The magic number of the GNU message catalog format. */ #define _MAGIC 0x950412de #define _MAGIC_SWAPPED 0xde120495 /* Revision number of the currently used .mo (binary) file format. */ #define MO_REVISION_NUMBER 0 #define MO_REVISION_NUMBER_WITH_SYSDEP_I 1 /* The following contortions are an attempt to use the C preprocessor to determine an unsigned integral type that is 32 bits wide. An alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work when cross-compiling. */ #if __STDC__ # define UINT_MAX_32_BITS 4294967295U #else # define UINT_MAX_32_BITS 0xFFFFFFFF #endif /* If UINT_MAX isn't defined, assume it's a 32-bit type. This should be valid for all systems GNU cares about because that doesn't include 16-bit systems, and only modern systems (that certainly have ) have 64+-bit integral types. */ #ifndef UINT_MAX # define UINT_MAX UINT_MAX_32_BITS #endif #if UINT_MAX == UINT_MAX_32_BITS typedef unsigned nls_uint32; #else # if USHRT_MAX == UINT_MAX_32_BITS typedef unsigned short nls_uint32; # else # if ULONG_MAX == UINT_MAX_32_BITS typedef unsigned long nls_uint32; # else /* The following line is intended to throw an error. Using #error is not portable enough. */ "Cannot determine unsigned 32-bit data type." # endif # endif #endif /* Header for binary .mo file format. */ struct mo_file_header { /* The magic number. */ nls_uint32 magic; /* The revision number of the file format. */ nls_uint32 revision; /* The following are only used in .mo files with major revision 0 or 1. */ /* The number of strings pairs. */ nls_uint32 nstrings; /* Offset of table with start offsets of original strings. */ nls_uint32 orig_tab_offset; /* Offset of table with start offsets of translated strings. */ nls_uint32 trans_tab_offset; /* Size of hash table. */ nls_uint32 hash_tab_size; /* Offset of first hash table entry. */ nls_uint32 hash_tab_offset; /* The following are only used in .mo files with minor revision >= 1. */ /* The number of system dependent segments. */ nls_uint32 n_sysdep_segments; /* Offset of table describing system dependent segments. */ nls_uint32 sysdep_segments_offset; /* The number of system dependent strings pairs. */ nls_uint32 n_sysdep_strings; /* Offset of table with start offsets of original sysdep strings. */ nls_uint32 orig_sysdep_tab_offset; /* Offset of table with start offsets of translated sysdep strings. */ nls_uint32 trans_sysdep_tab_offset; }; /* Descriptor for static string contained in the binary .mo file. */ struct string_desc { /* Length of addressed string, not including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ nls_uint32 offset; }; /* The following are only used in .mo files with minor revision >= 1. */ /* Descriptor for system dependent string segment. */ struct sysdep_segment { /* Length of addressed string, including the trailing NUL. */ nls_uint32 length; /* Offset of string in file. */ nls_uint32 offset; }; /* Pair of a static and a system dependent segment, in struct sysdep_string. */ struct segment_pair { /* Size of static segment. */ nls_uint32 segsize; /* Reference to system dependent string segment, or ~0 at the end. */ nls_uint32 sysdepref; }; /* Descriptor for system dependent string. */ struct sysdep_string { /* Offset of static string segments in file. */ nls_uint32 offset; /* Alternating sequence of static and system dependent segments. The last segment is a static segment, including the trailing NUL. */ struct segment_pair segments[1]; }; /* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF, regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */ #define SEGMENTS_END ((nls_uint32) ~0) /* @@ begin of epilog @@ */ #endif /* gettext.h */ KCemu-0.5.1/intl/export.h0000644000175000017500000000023512417262523015411 0ustar glaubitzglaubitz #if @HAVE_VISIBILITY@ && BUILDING_LIBINTL #define LIBINTL_DLL_EXPORTED __attribute__((__visibility__("default"))) #else #define LIBINTL_DLL_EXPORTED #endif KCemu-0.5.1/intl/printf-args.h0000644000175000017500000000662112417262523016331 0ustar glaubitzglaubitz/* Decomposed printf argument list. Copyright (C) 1999, 2002-2003, 2006-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PRINTF_ARGS_H #define _PRINTF_ARGS_H /* This file can be parametrized with the following macros: ENABLE_UNISTDIO Set to 1 to enable the unistdio extensions. PRINTF_FETCHARGS Name of the function to be declared. STATIC Set to 'static' to declare the function static. */ /* Default parameters. */ #ifndef PRINTF_FETCHARGS # define PRINTF_FETCHARGS printf_fetchargs #endif /* Get size_t. */ #include /* Get wchar_t. */ #if HAVE_WCHAR_T # include #endif /* Get wint_t. */ #if HAVE_WINT_T # include #endif /* Get va_list. */ #include /* Argument types */ typedef enum { TYPE_NONE, TYPE_SCHAR, TYPE_UCHAR, TYPE_SHORT, TYPE_USHORT, TYPE_INT, TYPE_UINT, TYPE_LONGINT, TYPE_ULONGINT, #if HAVE_LONG_LONG_INT TYPE_LONGLONGINT, TYPE_ULONGLONGINT, #endif TYPE_DOUBLE, TYPE_LONGDOUBLE, TYPE_CHAR, #if HAVE_WINT_T TYPE_WIDE_CHAR, #endif TYPE_STRING, #if HAVE_WCHAR_T TYPE_WIDE_STRING, #endif TYPE_POINTER, TYPE_COUNT_SCHAR_POINTER, TYPE_COUNT_SHORT_POINTER, TYPE_COUNT_INT_POINTER, TYPE_COUNT_LONGINT_POINTER #if HAVE_LONG_LONG_INT , TYPE_COUNT_LONGLONGINT_POINTER #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ , TYPE_U8_STRING , TYPE_U16_STRING , TYPE_U32_STRING #endif } arg_type; /* Polymorphic argument */ typedef struct { arg_type type; union { signed char a_schar; unsigned char a_uchar; short a_short; unsigned short a_ushort; int a_int; unsigned int a_uint; long int a_longint; unsigned long int a_ulongint; #if HAVE_LONG_LONG_INT long long int a_longlongint; unsigned long long int a_ulonglongint; #endif float a_float; double a_double; long double a_longdouble; int a_char; #if HAVE_WINT_T wint_t a_wide_char; #endif const char* a_string; #if HAVE_WCHAR_T const wchar_t* a_wide_string; #endif void* a_pointer; signed char * a_count_schar_pointer; short * a_count_short_pointer; int * a_count_int_pointer; long int * a_count_longint_pointer; #if HAVE_LONG_LONG_INT long long int * a_count_longlongint_pointer; #endif #if ENABLE_UNISTDIO /* The unistdio extensions. */ const uint8_t * a_u8_string; const uint16_t * a_u16_string; const uint32_t * a_u32_string; #endif } a; } argument; typedef struct { size_t count; argument *arg; } arguments; /* Fetch the arguments, putting them into a. */ #ifdef STATIC STATIC #else extern #endif int PRINTF_FETCHARGS (va_list args, arguments *a); #endif /* _PRINTF_ARGS_H */ KCemu-0.5.1/intl/osdep.c0000644000175000017500000000174112417262523015200 0ustar glaubitzglaubitz/* OS dependent parts of libintl. Copyright (C) 2001-2002, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #if defined __CYGWIN__ # include "intl-exports.c" #elif defined __EMX__ # include "os2compat.c" #else /* Avoid AIX compiler warning. */ typedef int dummy; #endif KCemu-0.5.1/intl/dcigettext.c0000644000175000017500000013334512417262523016240 0ustar glaubitzglaubitz/* Implementation of the internal dcigettext function. Copyright (C) 1995-1999, 2000-2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Tell glibc's to provide a prototype for mempcpy(). This must come before because may include , and once has been included, it's too late. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif #ifdef HAVE_CONFIG_H # include #endif /* NL_LOCALE_NAME does not work in glibc-2.4. Ignore it. */ #undef HAVE_NL_LOCALE_NAME #include #ifdef __GNUC__ # define alloca __builtin_alloca # define HAVE_ALLOCA 1 #else # ifdef _MSC_VER # include # define alloca _alloca # else # if defined HAVE_ALLOCA_H || defined _LIBC # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca char *alloca (); # endif # endif # endif # endif #endif #include #ifndef errno extern int errno; #endif #ifndef __set_errno # define __set_errno(val) errno = (val) #endif #include #include #include #if defined HAVE_UNISTD_H || defined _LIBC # include #endif #include #ifdef _LIBC /* Guess whether integer division by zero raises signal SIGFPE. Set to 1 only if you know for sure. In case of doubt, set to 0. */ # if defined __alpha__ || defined __arm__ || defined __i386__ \ || defined __m68k__ || defined __s390__ # define INTDIV0_RAISES_SIGFPE 1 # else # define INTDIV0_RAISES_SIGFPE 0 # endif #endif #if !INTDIV0_RAISES_SIGFPE # include #endif #if defined HAVE_SYS_PARAM_H || defined _LIBC # include #endif #if !defined _LIBC # if HAVE_NL_LOCALE_NAME # include # endif # include "localcharset.h" #endif #include "gettextP.h" #include "plural-exp.h" #ifdef _LIBC # include #else # ifdef IN_LIBGLOCALE # include # endif # include "libgnuintl.h" #endif #include "hash-string.h" /* Handle multi-threaded applications. */ #ifdef _LIBC # include # define gl_rwlock_define_initialized __libc_rwlock_define_initialized # define gl_rwlock_rdlock __libc_rwlock_rdlock # define gl_rwlock_wrlock __libc_rwlock_wrlock # define gl_rwlock_unlock __libc_rwlock_unlock #else # include "lock.h" #endif /* Alignment of types. */ #if defined __GNUC__ && __GNUC__ >= 2 # define alignof(TYPE) __alignof__ (TYPE) #else # define alignof(TYPE) \ ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2) #endif /* Some compilers, like SunOS4 cc, don't have offsetof in . */ #ifndef offsetof # define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) #endif /* @@ end of prolog @@ */ #ifdef _LIBC /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ # define getcwd __getcwd # ifndef stpcpy # define stpcpy __stpcpy # endif # define tfind __tfind #else # if !defined HAVE_GETCWD char *getwd (); # define getcwd(buf, max) getwd (buf) # else # if VMS # define getcwd(buf, max) (getcwd) (buf, max, 0) # else char *getcwd (); # endif # endif # ifndef HAVE_STPCPY static char *stpcpy (char *dest, const char *src); # endif # ifndef HAVE_MEMPCPY static void *mempcpy (void *dest, const void *src, size_t n); # endif #endif /* Use a replacement if the system does not provide the `tsearch' function family. */ #if HAVE_TSEARCH || defined _LIBC # include #else # define tsearch libintl_tsearch # define tfind libintl_tfind # define tdelete libintl_tdelete # define twalk libintl_twalk # include "tsearch.h" #endif #ifdef _LIBC # define tsearch __tsearch #endif /* Amount to increase buffer size by in each try. */ #define PATH_INCR 32 /* The following is from pathmax.h. */ /* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define PATH_MAX but might cause redefinition warnings when sys/param.h is later included (as on MORE/BSD 4.3). */ #if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__) # include #endif #ifndef _POSIX_PATH_MAX # define _POSIX_PATH_MAX 255 #endif #if !defined PATH_MAX && defined _PC_PATH_MAX # define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX)) #endif /* Don't include sys/param.h if it already has been. */ #if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN # include #endif #if !defined PATH_MAX && defined MAXPATHLEN # define PATH_MAX MAXPATHLEN #endif #ifndef PATH_MAX # define PATH_MAX _POSIX_PATH_MAX #endif /* Pathname support. ISSLASH(C) tests whether C is a directory separator character. IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not, it may be concatenated to a directory pathname. IS_PATH_WITH_DIR(P) tests whether P contains a directory specification. */ #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined __EMX__ || defined __DJGPP__ /* Win32, Cygwin, OS/2, DOS */ # define ISSLASH(C) ((C) == '/' || (C) == '\\') # define HAS_DEVICE(P) \ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \ && (P)[1] == ':') # define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P)) # define IS_PATH_WITH_DIR(P) \ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P)) #else /* Unix */ # define ISSLASH(C) ((C) == '/') # define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0]) # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL) #endif /* Whether to support different locales in different threads. */ #if defined _LIBC || HAVE_NL_LOCALE_NAME || (HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS) || defined IN_LIBGLOCALE # define HAVE_PER_THREAD_LOCALE #endif /* This is the type used for the search tree where known translations are stored. */ struct known_translation_t { /* Domain in which to search. */ const char *domainname; /* The category. */ int category; #ifdef HAVE_PER_THREAD_LOCALE /* Name of the relevant locale category, or "" for the global locale. */ const char *localename; #endif #ifdef IN_LIBGLOCALE /* The character encoding. */ const char *encoding; #endif /* State of the catalog counter at the point the string was found. */ int counter; /* Catalog where the string was found. */ struct loaded_l10nfile *domain; /* And finally the translation. */ const char *translation; size_t translation_length; /* Pointer to the string in question. */ char msgid[ZERO]; }; gl_rwlock_define_initialized (static, tree_lock) /* Root of the search tree with known translations. */ static void *root; /* Function to compare two entries in the table of known translations. */ static int transcmp (const void *p1, const void *p2) { const struct known_translation_t *s1; const struct known_translation_t *s2; int result; s1 = (const struct known_translation_t *) p1; s2 = (const struct known_translation_t *) p2; result = strcmp (s1->msgid, s2->msgid); if (result == 0) { result = strcmp (s1->domainname, s2->domainname); if (result == 0) { #ifdef HAVE_PER_THREAD_LOCALE result = strcmp (s1->localename, s2->localename); if (result == 0) #endif { #ifdef IN_LIBGLOCALE result = strcmp (s1->encoding, s2->encoding); if (result == 0) #endif /* We compare the category last (though this is the cheapest operation) since it is hopefully always the same (namely LC_MESSAGES). */ result = s1->category - s2->category; } } } return result; } /* Name of the default domain used for gettext(3) prior any call to textdomain(3). The default value for this is "messages". */ const char _nl_default_default_domain[] attribute_hidden = "messages"; #ifndef IN_LIBGLOCALE /* Value used as the default domain for gettext(3). */ const char *_nl_current_default_domain attribute_hidden = _nl_default_default_domain; #endif /* Contains the default location of the message catalogs. */ #if defined __EMX__ extern const char _nl_default_dirname[]; #else # ifdef _LIBC extern const char _nl_default_dirname[]; libc_hidden_proto (_nl_default_dirname) # endif const char _nl_default_dirname[] = LOCALEDIR; # ifdef _LIBC libc_hidden_data_def (_nl_default_dirname) # endif #endif #ifndef IN_LIBGLOCALE /* List with bindings of specific domains created by bindtextdomain() calls. */ struct binding *_nl_domain_bindings; #endif /* Prototypes for local functions. */ static char *plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, const char *translation, size_t translation_len) internal_function; #ifdef IN_LIBGLOCALE static const char *guess_category_value (int category, const char *categoryname, const char *localename) internal_function; #else static const char *guess_category_value (int category, const char *categoryname) internal_function; #endif #ifdef _LIBC # include "../locale/localeinfo.h" # define category_to_name(category) \ _nl_category_names.str + _nl_category_name_idxs[category] #else static const char *category_to_name (int category) internal_function; #endif #if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE static const char *get_output_charset (struct binding *domainbinding) internal_function; #endif /* For those loosing systems which don't have `alloca' we have to add some additional code emulating it. */ #ifdef HAVE_ALLOCA /* Nothing has to be done. */ # define freea(p) /* nothing */ # define ADD_BLOCK(list, address) /* nothing */ # define FREE_BLOCKS(list) /* nothing */ #else struct block_list { void *address; struct block_list *next; }; # define ADD_BLOCK(list, addr) \ do { \ struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \ /* If we cannot get a free block we cannot add the new element to \ the list. */ \ if (newp != NULL) { \ newp->address = (addr); \ newp->next = (list); \ (list) = newp; \ } \ } while (0) # define FREE_BLOCKS(list) \ do { \ while (list != NULL) { \ struct block_list *old = list; \ list = list->next; \ free (old->address); \ free (old); \ } \ } while (0) # undef alloca # define alloca(size) (malloc (size)) # define freea(p) free (p) #endif /* have alloca */ #ifdef _LIBC /* List of blocks allocated for translations. */ typedef struct transmem_list { struct transmem_list *next; char data[ZERO]; } transmem_block_t; static struct transmem_list *transmem_list; #else typedef unsigned char transmem_block_t; #endif /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define DCIGETTEXT __dcigettext #else # define DCIGETTEXT libintl_dcigettext #endif /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define_initialized (, _nl_state_lock attribute_hidden) /* Checking whether the binaries runs SUID must be done and glibc provides easier methods therefore we make a difference here. */ #ifdef _LIBC # define ENABLE_SECURE __libc_enable_secure # define DETERMINE_SECURE #else # ifndef HAVE_GETUID # define getuid() 0 # endif # ifndef HAVE_GETGID # define getgid() 0 # endif # ifndef HAVE_GETEUID # define geteuid() getuid() # endif # ifndef HAVE_GETEGID # define getegid() getgid() # endif static int enable_secure; # define ENABLE_SECURE (enable_secure == 1) # define DETERMINE_SECURE \ if (enable_secure == 0) \ { \ if (getuid () != geteuid () || getgid () != getegid ()) \ enable_secure = 1; \ else \ enable_secure = -1; \ } #endif /* Get the function to evaluate the plural expression. */ #include "eval-plural.h" /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY locale and, if PLURAL is nonzero, search over string depending on the plural form determined by N. */ #ifdef IN_LIBGLOCALE char * gl_dcigettext (const char *domainname, const char *msgid1, const char *msgid2, int plural, unsigned long int n, int category, const char *localename, const char *encoding) #else char * DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2, int plural, unsigned long int n, int category) #endif { #ifndef HAVE_ALLOCA struct block_list *block_list = NULL; #endif struct loaded_l10nfile *domain; struct binding *binding; const char *categoryname; const char *categoryvalue; const char *dirname; char *xdomainname; char *single_locale; char *retval; size_t retlen; int saved_errno; struct known_translation_t *search; struct known_translation_t **foundp = NULL; size_t msgid_len; #if defined HAVE_PER_THREAD_LOCALE && !defined IN_LIBGLOCALE const char *localename; #endif size_t domainname_len; /* If no real MSGID is given return NULL. */ if (msgid1 == NULL) return NULL; #ifdef _LIBC if (category < 0 || category >= __LC_LAST || category == LC_ALL) /* Bogus. */ return (plural == 0 ? (char *) msgid1 /* Use the Germanic plural rule. */ : n == 1 ? (char *) msgid1 : (char *) msgid2); #endif /* Preserve the `errno' value. */ saved_errno = errno; gl_rwlock_rdlock (_nl_state_lock); /* If DOMAINNAME is NULL, we are interested in the default domain. If CATEGORY is not LC_MESSAGES this might not make much sense but the definition left this undefined. */ if (domainname == NULL) domainname = _nl_current_default_domain; /* OS/2 specific: backward compatibility with older libintl versions */ #ifdef LC_MESSAGES_COMPAT if (category == LC_MESSAGES_COMPAT) category = LC_MESSAGES; #endif msgid_len = strlen (msgid1) + 1; /* Try to find the translation among those which we found at some time. */ search = (struct known_translation_t *) alloca (offsetof (struct known_translation_t, msgid) + msgid_len); memcpy (search->msgid, msgid1, msgid_len); search->domainname = domainname; search->category = category; #ifdef HAVE_PER_THREAD_LOCALE # ifndef IN_LIBGLOCALE # ifdef _LIBC localename = __current_locale_name (category); # else # if HAVE_NL_LOCALE_NAME /* NL_LOCALE_NAME is public glibc API introduced in glibc-2.4. */ localename = nl_langinfo (NL_LOCALE_NAME (category)); # else # if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS /* The __names field is not public glibc API and must therefore not be used in code that is installed in public locations. */ { locale_t thread_locale = uselocale (NULL); if (thread_locale != LC_GLOBAL_LOCALE) localename = thread_locale->__names[category]; else localename = ""; } # endif # endif # endif # endif search->localename = localename; # ifdef IN_LIBGLOCALE search->encoding = encoding; # endif /* Since tfind/tsearch manage a balanced tree, concurrent tfind and tsearch calls can be fatal. */ gl_rwlock_rdlock (tree_lock); foundp = (struct known_translation_t **) tfind (search, &root, transcmp); gl_rwlock_unlock (tree_lock); freea (search); if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr) { /* Now deal with plural. */ if (plural) retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation, (*foundp)->translation_length); else retval = (char *) (*foundp)->translation; gl_rwlock_unlock (_nl_state_lock); __set_errno (saved_errno); return retval; } #endif /* See whether this is a SUID binary or not. */ DETERMINE_SECURE; /* First find matching binding. */ #ifdef IN_LIBGLOCALE /* We can use a trivial binding, since _nl_find_msg will ignore it anyway, and _nl_load_domain and _nl_find_domain just pass it through. */ binding = NULL; dirname = bindtextdomain (domainname, NULL); #else for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { int compare = strcmp (domainname, binding->domainname); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It is not in the list. */ binding = NULL; break; } } if (binding == NULL) dirname = _nl_default_dirname; else { dirname = binding->dirname; #endif if (!IS_ABSOLUTE_PATH (dirname)) { /* We have a relative path. Make it absolute now. */ size_t dirname_len = strlen (dirname) + 1; size_t path_max; char *resolved_dirname; char *ret; path_max = (unsigned int) PATH_MAX; path_max += 2; /* The getcwd docs say to do this. */ for (;;) { resolved_dirname = (char *) alloca (path_max + dirname_len); ADD_BLOCK (block_list, tmp_dirname); __set_errno (0); ret = getcwd (resolved_dirname, path_max); if (ret != NULL || errno != ERANGE) break; path_max += path_max / 2; path_max += PATH_INCR; } if (ret == NULL) /* We cannot get the current working directory. Don't signal an error but simply return the default string. */ goto return_untranslated; stpcpy (stpcpy (strchr (resolved_dirname, '\0'), "/"), dirname); dirname = resolved_dirname; } #ifndef IN_LIBGLOCALE } #endif /* Now determine the symbolic name of CATEGORY and its value. */ categoryname = category_to_name (category); #ifdef IN_LIBGLOCALE categoryvalue = guess_category_value (category, categoryname, localename); #else categoryvalue = guess_category_value (category, categoryname); #endif domainname_len = strlen (domainname); xdomainname = (char *) alloca (strlen (categoryname) + domainname_len + 5); ADD_BLOCK (block_list, xdomainname); stpcpy ((char *) mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"), domainname, domainname_len), ".mo"); /* Creating working area. */ single_locale = (char *) alloca (strlen (categoryvalue) + 1); ADD_BLOCK (block_list, single_locale); /* Search for the given string. This is a loop because we perhaps got an ordered list of languages to consider for the translation. */ while (1) { /* Make CATEGORYVALUE point to the next element of the list. */ while (categoryvalue[0] != '\0' && categoryvalue[0] == ':') ++categoryvalue; if (categoryvalue[0] == '\0') { /* The whole contents of CATEGORYVALUE has been searched but no valid entry has been found. We solve this situation by implicitly appending a "C" entry, i.e. no translation will take place. */ single_locale[0] = 'C'; single_locale[1] = '\0'; } else { char *cp = single_locale; while (categoryvalue[0] != '\0' && categoryvalue[0] != ':') *cp++ = *categoryvalue++; *cp = '\0'; /* When this is a SUID binary we must not allow accessing files outside the dedicated directories. */ if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale)) /* Ingore this entry. */ continue; } /* If the current locale value is C (or POSIX) we don't load a domain. Return the MSGID. */ if (strcmp (single_locale, "C") == 0 || strcmp (single_locale, "POSIX") == 0) break; /* Find structure describing the message catalog matching the DOMAINNAME and CATEGORY. */ domain = _nl_find_domain (dirname, single_locale, xdomainname, binding); if (domain != NULL) { #if defined IN_LIBGLOCALE retval = _nl_find_msg (domain, binding, encoding, msgid1, &retlen); #else retval = _nl_find_msg (domain, binding, msgid1, 1, &retlen); #endif if (retval == NULL) { int cnt; for (cnt = 0; domain->successor[cnt] != NULL; ++cnt) { #if defined IN_LIBGLOCALE retval = _nl_find_msg (domain->successor[cnt], binding, encoding, msgid1, &retlen); #else retval = _nl_find_msg (domain->successor[cnt], binding, msgid1, 1, &retlen); #endif if (retval != NULL) { domain = domain->successor[cnt]; break; } } } /* Returning -1 means that some resource problem exists (likely memory) and that the strings could not be converted. Return the original strings. */ if (__builtin_expect (retval == (char *) -1, 0)) break; if (retval != NULL) { /* Found the translation of MSGID1 in domain DOMAIN: starting at RETVAL, RETLEN bytes. */ FREE_BLOCKS (block_list); if (foundp == NULL) { /* Create a new entry and add it to the search tree. */ size_t size; struct known_translation_t *newp; size = offsetof (struct known_translation_t, msgid) + msgid_len + domainname_len + 1; #ifdef HAVE_PER_THREAD_LOCALE size += strlen (localename) + 1; #endif newp = (struct known_translation_t *) malloc (size); if (newp != NULL) { char *new_domainname; #ifdef HAVE_PER_THREAD_LOCALE char *new_localename; #endif new_domainname = (char *) mempcpy (newp->msgid, msgid1, msgid_len); memcpy (new_domainname, domainname, domainname_len + 1); #ifdef HAVE_PER_THREAD_LOCALE new_localename = new_domainname + domainname_len + 1; strcpy (new_localename, localename); #endif newp->domainname = new_domainname; newp->category = category; #ifdef HAVE_PER_THREAD_LOCALE newp->localename = new_localename; #endif #ifdef IN_LIBGLOCALE newp->encoding = encoding; #endif newp->counter = _nl_msg_cat_cntr; newp->domain = domain; newp->translation = retval; newp->translation_length = retlen; gl_rwlock_wrlock (tree_lock); /* Insert the entry in the search tree. */ foundp = (struct known_translation_t **) tsearch (newp, &root, transcmp); gl_rwlock_unlock (tree_lock); if (foundp == NULL || __builtin_expect (*foundp != newp, 0)) /* The insert failed. */ free (newp); } } else { /* We can update the existing entry. */ (*foundp)->counter = _nl_msg_cat_cntr; (*foundp)->domain = domain; (*foundp)->translation = retval; (*foundp)->translation_length = retlen; } __set_errno (saved_errno); /* Now deal with plural. */ if (plural) retval = plural_lookup (domain, n, retval, retlen); gl_rwlock_unlock (_nl_state_lock); return retval; } } } return_untranslated: /* Return the untranslated MSGID. */ FREE_BLOCKS (block_list); gl_rwlock_unlock (_nl_state_lock); #ifndef _LIBC if (!ENABLE_SECURE) { extern void _nl_log_untranslated (const char *logfilename, const char *domainname, const char *msgid1, const char *msgid2, int plural); const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED"); if (logfilename != NULL && logfilename[0] != '\0') _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural); } #endif __set_errno (saved_errno); return (plural == 0 ? (char *) msgid1 /* Use the Germanic plural rule. */ : n == 1 ? (char *) msgid1 : (char *) msgid2); } /* Look up the translation of msgid within DOMAIN_FILE and DOMAINBINDING. Return it if found. Return NULL if not found or in case of a conversion failure (problem in the particular message catalog). Return (char *) -1 in case of a memory allocation failure during conversion (only if ENCODING != NULL resp. CONVERT == true). */ char * internal_function #ifdef IN_LIBGLOCALE _nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *encoding, const char *msgid, size_t *lengthp) #else _nl_find_msg (struct loaded_l10nfile *domain_file, struct binding *domainbinding, const char *msgid, int convert, size_t *lengthp) #endif { struct loaded_domain *domain; nls_uint32 nstrings; size_t act; char *result; size_t resultlen; if (domain_file->decided <= 0) _nl_load_domain (domain_file, domainbinding); if (domain_file->data == NULL) return NULL; domain = (struct loaded_domain *) domain_file->data; nstrings = domain->nstrings; /* Locate the MSGID and its translation. */ if (domain->hash_tab != NULL) { /* Use the hashing table. */ nls_uint32 len = strlen (msgid); nls_uint32 hash_val = __hash_string (msgid); nls_uint32 idx = hash_val % domain->hash_size; nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2)); while (1) { nls_uint32 nstr = W (domain->must_swap_hash_tab, domain->hash_tab[idx]); if (nstr == 0) /* Hash table entry is empty. */ return NULL; nstr--; /* Compare msgid with the original string at index nstr. We compare the lengths with >=, not ==, because plural entries are represented by strings with an embedded NUL. */ if (nstr < nstrings ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len && (strcmp (msgid, domain->data + W (domain->must_swap, domain->orig_tab[nstr].offset)) == 0) : domain->orig_sysdep_tab[nstr - nstrings].length > len && (strcmp (msgid, domain->orig_sysdep_tab[nstr - nstrings].pointer) == 0)) { act = nstr; goto found; } if (idx >= domain->hash_size - incr) idx -= domain->hash_size - incr; else idx += incr; } /* NOTREACHED */ } else { /* Try the default method: binary search in the sorted array of messages. */ size_t top, bottom; bottom = 0; top = nstrings; while (bottom < top) { int cmp_val; act = (bottom + top) / 2; cmp_val = strcmp (msgid, (domain->data + W (domain->must_swap, domain->orig_tab[act].offset))); if (cmp_val < 0) top = act; else if (cmp_val > 0) bottom = act + 1; else goto found; } /* No translation was found. */ return NULL; } found: /* The translation was found at index ACT. If we have to convert the string to use a different character set, this is the time. */ if (act < nstrings) { result = (char *) (domain->data + W (domain->must_swap, domain->trans_tab[act].offset)); resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1; } else { result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer; resultlen = domain->trans_sysdep_tab[act - nstrings].length; } #if defined _LIBC || HAVE_ICONV # ifdef IN_LIBGLOCALE if (encoding != NULL) # else if (convert) # endif { /* We are supposed to do a conversion. */ # ifndef IN_LIBGLOCALE const char *encoding = get_output_charset (domainbinding); # endif size_t nconversions; struct converted_domain *convd; size_t i; /* Protect against reallocation of the table. */ gl_rwlock_rdlock (domain->conversions_lock); /* Search whether a table with converted translations for this encoding has already been allocated. */ nconversions = domain->nconversions; convd = NULL; for (i = nconversions; i > 0; ) { i--; if (strcmp (domain->conversions[i].encoding, encoding) == 0) { convd = &domain->conversions[i]; break; } } gl_rwlock_unlock (domain->conversions_lock); if (convd == NULL) { /* We have to allocate a new conversions table. */ gl_rwlock_wrlock (domain->conversions_lock); /* Maybe in the meantime somebody added the translation. Recheck. */ for (i = nconversions; i > 0; ) { i--; if (strcmp (domain->conversions[i].encoding, encoding) == 0) { convd = &domain->conversions[i]; goto found_convd; } } { /* Allocate a table for the converted translations for this encoding. */ struct converted_domain *new_conversions = (struct converted_domain *) (domain->conversions != NULL ? realloc (domain->conversions, (nconversions + 1) * sizeof (struct converted_domain)) : malloc ((nconversions + 1) * sizeof (struct converted_domain))); if (__builtin_expect (new_conversions == NULL, 0)) { /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ unlock_fail: gl_rwlock_unlock (domain->conversions_lock); return (char *) -1; } domain->conversions = new_conversions; /* Copy the 'encoding' string to permanent storage. */ encoding = strdup (encoding); if (__builtin_expect (encoding == NULL, 0)) /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ goto unlock_fail; convd = &new_conversions[nconversions]; convd->encoding = encoding; /* Find out about the character set the file is encoded with. This can be found (in textual form) in the entry "". If this entry does not exist or if this does not contain the 'charset=' information, we will assume the charset matches the one the current locale and we don't have to perform any conversion. */ # ifdef _LIBC convd->conv = (__gconv_t) -1; # else # if HAVE_ICONV convd->conv = (iconv_t) -1; # endif # endif { char *nullentry; size_t nullentrylen; /* Get the header entry. This is a recursion, but it doesn't reallocate domain->conversions because we pass encoding = NULL or convert = 0, respectively. */ nullentry = # ifdef IN_LIBGLOCALE _nl_find_msg (domain_file, domainbinding, NULL, "", &nullentrylen); # else _nl_find_msg (domain_file, domainbinding, "", 0, &nullentrylen); # endif if (nullentry != NULL) { const char *charsetstr; charsetstr = strstr (nullentry, "charset="); if (charsetstr != NULL) { size_t len; char *charset; const char *outcharset; charsetstr += strlen ("charset="); len = strcspn (charsetstr, " \t\n"); charset = (char *) alloca (len + 1); # if defined _LIBC || HAVE_MEMPCPY *((char *) mempcpy (charset, charsetstr, len)) = '\0'; # else memcpy (charset, charsetstr, len); charset[len] = '\0'; # endif outcharset = encoding; # ifdef _LIBC /* We always want to use transliteration. */ outcharset = norm_add_slashes (outcharset, "TRANSLIT"); charset = norm_add_slashes (charset, ""); int r = __gconv_open (outcharset, charset, &convd->conv, GCONV_AVOID_NOCONV); if (__builtin_expect (r != __GCONV_OK, 0)) { /* If the output encoding is the same there is nothing to do. Otherwise do not use the translation at all. */ if (__builtin_expect (r != __GCONV_NULCONV, 1)) { gl_rwlock_unlock (domain->conversions_lock); free ((char *) encoding); return NULL; } convd->conv = (__gconv_t) -1; } # else # if HAVE_ICONV /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5, we want to use transliteration. */ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \ || _LIBICONV_VERSION >= 0x0105 if (strchr (outcharset, '/') == NULL) { char *tmp; len = strlen (outcharset); tmp = (char *) alloca (len + 10 + 1); memcpy (tmp, outcharset, len); memcpy (tmp + len, "//TRANSLIT", 10 + 1); outcharset = tmp; convd->conv = iconv_open (outcharset, charset); freea (outcharset); } else # endif convd->conv = iconv_open (outcharset, charset); # endif # endif freea (charset); } } } convd->conv_tab = NULL; /* Here domain->conversions is still == new_conversions. */ domain->nconversions++; } found_convd: gl_rwlock_unlock (domain->conversions_lock); } if ( # ifdef _LIBC convd->conv != (__gconv_t) -1 # else # if HAVE_ICONV convd->conv != (iconv_t) -1 # endif # endif ) { /* We are supposed to do a conversion. First allocate an appropriate table with the same structure as the table of translations in the file, where we can put the pointers to the converted strings in. There is a slight complication with plural entries. They are represented by consecutive NUL terminated strings. We handle this case by converting RESULTLEN bytes, including NULs. */ if (convd->conv_tab == NULL && ((convd->conv_tab = (char **) calloc (nstrings + domain->n_sysdep_strings, sizeof (char *))) == NULL)) /* Mark that we didn't succeed allocating a table. */ convd->conv_tab = (char **) -1; if (__builtin_expect (convd->conv_tab == (char **) -1, 0)) /* Nothing we can do, no more memory. We cannot use the translation because it might be encoded incorrectly. */ return (char *) -1; if (convd->conv_tab[act] == NULL) { /* We haven't used this string so far, so it is not translated yet. Do this now. */ /* We use a bit more efficient memory handling. We allocate always larger blocks which get used over time. This is faster than many small allocations. */ __libc_lock_define_initialized (static, lock) # define INITIAL_BLOCK_SIZE 4080 static unsigned char *freemem; static size_t freemem_size; const unsigned char *inbuf; unsigned char *outbuf; int malloc_count; # ifndef _LIBC transmem_block_t *transmem_list = NULL; # endif __libc_lock_lock (lock); inbuf = (const unsigned char *) result; outbuf = freemem + sizeof (size_t); malloc_count = 0; while (1) { transmem_block_t *newmem; # ifdef _LIBC size_t non_reversible; int res; if (freemem_size < sizeof (size_t)) goto resize_freemem; res = __gconv (convd->conv, &inbuf, inbuf + resultlen, &outbuf, outbuf + freemem_size - sizeof (size_t), &non_reversible); if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT) break; if (res != __GCONV_FULL_OUTPUT) { /* We should not use the translation at all, it is incorrectly encoded. */ __libc_lock_unlock (lock); return NULL; } inbuf = (const unsigned char *) result; # else # if HAVE_ICONV const char *inptr = (const char *) inbuf; size_t inleft = resultlen; char *outptr = (char *) outbuf; size_t outleft; if (freemem_size < sizeof (size_t)) goto resize_freemem; outleft = freemem_size - sizeof (size_t); if (iconv (convd->conv, (ICONV_CONST char **) &inptr, &inleft, &outptr, &outleft) != (size_t) (-1)) { outbuf = (unsigned char *) outptr; break; } if (errno != E2BIG) { __libc_lock_unlock (lock); return NULL; } # endif # endif resize_freemem: /* We must allocate a new buffer or resize the old one. */ if (malloc_count > 0) { ++malloc_count; freemem_size = malloc_count * INITIAL_BLOCK_SIZE; newmem = (transmem_block_t *) realloc (transmem_list, freemem_size); # ifdef _LIBC if (newmem != NULL) transmem_list = transmem_list->next; else { struct transmem_list *old = transmem_list; transmem_list = transmem_list->next; free (old); } # endif } else { malloc_count = 1; freemem_size = INITIAL_BLOCK_SIZE; newmem = (transmem_block_t *) malloc (freemem_size); } if (__builtin_expect (newmem == NULL, 0)) { freemem = NULL; freemem_size = 0; __libc_lock_unlock (lock); return (char *) -1; } # ifdef _LIBC /* Add the block to the list of blocks we have to free at some point. */ newmem->next = transmem_list; transmem_list = newmem; freemem = (unsigned char *) newmem->data; freemem_size -= offsetof (struct transmem_list, data); # else transmem_list = newmem; freemem = newmem; # endif outbuf = freemem + sizeof (size_t); } /* We have now in our buffer a converted string. Put this into the table of conversions. */ *(size_t *) freemem = outbuf - freemem - sizeof (size_t); convd->conv_tab[act] = (char *) freemem; /* Shrink freemem, but keep it aligned. */ freemem_size -= outbuf - freemem; freemem = outbuf; freemem += freemem_size & (alignof (size_t) - 1); freemem_size = freemem_size & ~ (alignof (size_t) - 1); __libc_lock_unlock (lock); } /* Now convd->conv_tab[act] contains the translation of all the plural variants. */ result = convd->conv_tab[act] + sizeof (size_t); resultlen = *(size_t *) convd->conv_tab[act]; } } /* The result string is converted. */ #endif /* _LIBC || HAVE_ICONV */ *lengthp = resultlen; return result; } /* Look up a plural variant. */ static char * internal_function plural_lookup (struct loaded_l10nfile *domain, unsigned long int n, const char *translation, size_t translation_len) { struct loaded_domain *domaindata = (struct loaded_domain *) domain->data; unsigned long int index; const char *p; index = plural_eval (domaindata->plural, n); if (index >= domaindata->nplurals) /* This should never happen. It means the plural expression and the given maximum value do not match. */ index = 0; /* Skip INDEX strings at TRANSLATION. */ p = translation; while (index-- > 0) { #ifdef _LIBC p = __rawmemchr (p, '\0'); #else p = strchr (p, '\0'); #endif /* And skip over the NUL byte. */ p++; if (p >= translation + translation_len) /* This should never happen. It means the plural expression evaluated to a value larger than the number of variants available for MSGID1. */ return (char *) translation; } return (char *) p; } #ifndef _LIBC /* Return string representation of locale CATEGORY. */ static const char * internal_function category_to_name (int category) { const char *retval; switch (category) { #ifdef LC_COLLATE case LC_COLLATE: retval = "LC_COLLATE"; break; #endif #ifdef LC_CTYPE case LC_CTYPE: retval = "LC_CTYPE"; break; #endif #ifdef LC_MONETARY case LC_MONETARY: retval = "LC_MONETARY"; break; #endif #ifdef LC_NUMERIC case LC_NUMERIC: retval = "LC_NUMERIC"; break; #endif #ifdef LC_TIME case LC_TIME: retval = "LC_TIME"; break; #endif #ifdef LC_MESSAGES case LC_MESSAGES: retval = "LC_MESSAGES"; break; #endif #ifdef LC_RESPONSE case LC_RESPONSE: retval = "LC_RESPONSE"; break; #endif #ifdef LC_ALL case LC_ALL: /* This might not make sense but is perhaps better than any other value. */ retval = "LC_ALL"; break; #endif default: /* If you have a better idea for a default value let me know. */ retval = "LC_XXX"; } return retval; } #endif /* Guess value of current locale from value of the environment variables or system-dependent defaults. */ static const char * internal_function #ifdef IN_LIBGLOCALE guess_category_value (int category, const char *categoryname, const char *locale) #else guess_category_value (int category, const char *categoryname) #endif { const char *language; #ifndef IN_LIBGLOCALE const char *locale; # ifndef _LIBC const char *language_default; int locale_defaulted; # endif #endif /* We use the settings in the following order: 1. The value of the environment variable 'LANGUAGE'. This is a GNU extension. Its value can be a colon-separated list of locale names. 2. The value of the environment variable 'LC_ALL', 'LC_xxx', or 'LANG'. More precisely, the first among these that is set to a non-empty value. This is how POSIX specifies it. The value is a single locale name. 3. A system-dependent preference list of languages. Its value can be a colon-separated list of locale names. 4. A system-dependent default locale name. This way: - System-dependent settings can be overridden by environment variables. - If the system provides both a list of languages and a default locale, the former is used. */ #ifndef IN_LIBGLOCALE /* Fetch the locale name, through the POSIX method of looking to `LC_ALL', `LC_xxx', and `LANG'. On some systems this can be done by the `setlocale' function itself. */ # ifdef _LIBC locale = __current_locale_name (category); # else # if HAVE_STRUCT___LOCALE_STRUCT___NAMES && defined USE_IN_GETTEXT_TESTS /* The __names field is not public glibc API and must therefore not be used in code that is installed in public locations. */ locale_t thread_locale = uselocale (NULL); if (thread_locale != LC_GLOBAL_LOCALE) { locale = thread_locale->__names[category]; locale_defaulted = 0; } else # endif { locale = _nl_locale_name_posix (category, categoryname); locale_defaulted = 0; if (locale == NULL) { locale = _nl_locale_name_default (); locale_defaulted = 1; } } # endif #endif /* Ignore LANGUAGE and its system-dependent analogon if the locale is set to "C" because 1. "C" locale usually uses the ASCII encoding, and most international messages use non-ASCII characters. These characters get displayed as question marks (if using glibc's iconv()) or as invalid 8-bit characters (because other iconv()s refuse to convert most non-ASCII characters to ASCII). In any case, the output is ugly. 2. The precise output of some programs in the "C" locale is specified by POSIX and should not depend on environment variables like "LANGUAGE" or system-dependent information. We allow such programs to use gettext(). */ if (strcmp (locale, "C") == 0) return locale; /* The highest priority value is the value of the 'LANGUAGE' environment variable. */ language = getenv ("LANGUAGE"); if (language != NULL && language[0] != '\0') return language; #if !defined IN_LIBGLOCALE && !defined _LIBC /* The next priority value is the locale name, if not defaulted. */ if (locale_defaulted) { /* The next priority value is the default language preferences list. */ language_default = _nl_language_preferences_default (); if (language_default != NULL) return language_default; } /* The least priority value is the locale name, if defaulted. */ #endif return locale; } #if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE /* Returns the output charset. */ static const char * internal_function get_output_charset (struct binding *domainbinding) { /* The output charset should normally be determined by the locale. But sometimes the locale is not used or not correctly set up, so we provide a possibility for the user to override this: the OUTPUT_CHARSET environment variable. Moreover, the value specified through bind_textdomain_codeset overrides both. */ if (domainbinding != NULL && domainbinding->codeset != NULL) return domainbinding->codeset; else { /* For speed reasons, we look at the value of OUTPUT_CHARSET only once. This is a user variable that is not supposed to change during a program run. */ static char *output_charset_cache; static int output_charset_cached; if (!output_charset_cached) { const char *value = getenv ("OUTPUT_CHARSET"); if (value != NULL && value[0] != '\0') { size_t len = strlen (value) + 1; char *value_copy = (char *) malloc (len); if (value_copy != NULL) memcpy (value_copy, value, len); output_charset_cache = value_copy; } output_charset_cached = 1; } if (output_charset_cache != NULL) return output_charset_cache; else { # ifdef _LIBC return _NL_CURRENT (LC_CTYPE, CODESET); # else # if HAVE_ICONV return locale_charset (); # endif # endif } } } #endif /* @@ begin of epilog @@ */ /* We don't want libintl.a to depend on any other library. So we avoid the non-standard function stpcpy. In GNU C Library this function is available, though. Also allow the symbol HAVE_STPCPY to be defined. */ #if !_LIBC && !HAVE_STPCPY static char * stpcpy (char *dest, const char *src) { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1; } #endif #if !_LIBC && !HAVE_MEMPCPY static void * mempcpy (void *dest, const void *src, size_t n) { return (void *) ((char *) memcpy (dest, src, n) + n); } #endif #if !_LIBC && !HAVE_TSEARCH # include "tsearch.c" #endif #ifdef _LIBC /* If we want to free all resources we have to do some work at program's end. */ libc_freeres_fn (free_mem) { void *old; while (_nl_domain_bindings != NULL) { struct binding *oldp = _nl_domain_bindings; _nl_domain_bindings = _nl_domain_bindings->next; if (oldp->dirname != _nl_default_dirname) /* Yes, this is a pointer comparison. */ free (oldp->dirname); free (oldp->codeset); free (oldp); } if (_nl_current_default_domain != _nl_default_default_domain) /* Yes, again a pointer comparison. */ free ((char *) _nl_current_default_domain); /* Remove the search tree with the known translations. */ __tdestroy (root, free); root = NULL; while (transmem_list != NULL) { old = transmem_list; transmem_list = transmem_list->next; free (old); } } #endif KCemu-0.5.1/intl/plural-exp.h0000644000175000017500000001013112417262523016155 0ustar glaubitzglaubitz/* Expression parsing and evaluation for plural form selection. Copyright (C) 2000-2003, 2005-2007 Free Software Foundation, Inc. Written by Ulrich Drepper , 2000. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _PLURAL_EXP_H #define _PLURAL_EXP_H #ifndef internal_function # define internal_function #endif #ifndef attribute_hidden # define attribute_hidden #endif #ifdef __cplusplus extern "C" { #endif enum expression_operator { /* Without arguments: */ var, /* The variable "n". */ num, /* Decimal number. */ /* Unary operators: */ lnot, /* Logical NOT. */ /* Binary operators: */ mult, /* Multiplication. */ divide, /* Division. */ module, /* Modulo operation. */ plus, /* Addition. */ minus, /* Subtraction. */ less_than, /* Comparison. */ greater_than, /* Comparison. */ less_or_equal, /* Comparison. */ greater_or_equal, /* Comparison. */ equal, /* Comparison for equality. */ not_equal, /* Comparison for inequality. */ land, /* Logical AND. */ lor, /* Logical OR. */ /* Ternary operators: */ qmop /* Question mark operator. */ }; /* This is the representation of the expressions to determine the plural form. */ struct expression { int nargs; /* Number of arguments. */ enum expression_operator operation; union { unsigned long int num; /* Number value for `num'. */ struct expression *args[3]; /* Up to three arguments. */ } val; }; /* This is the data structure to pass information to the parser and get the result in a thread-safe way. */ struct parse_args { const char *cp; struct expression *res; }; /* Names for the libintl functions are a problem. This source code is used 1. in the GNU C Library library, 2. in the GNU libintl library, 3. in the GNU gettext tools. The function names in each situation must be different, to allow for binary incompatible changes in 'struct expression'. Furthermore, 1. in the GNU C Library library, the names have a __ prefix, 2.+3. in the GNU libintl library and in the GNU gettext tools, the names must follow ANSI C and not start with __. So we have to distinguish the three cases. */ #ifdef _LIBC # define FREE_EXPRESSION __gettext_free_exp # define PLURAL_PARSE __gettextparse # define GERMANIC_PLURAL __gettext_germanic_plural # define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural #elif defined (IN_LIBINTL) # define FREE_EXPRESSION libintl_gettext_free_exp # define PLURAL_PARSE libintl_gettextparse # define GERMANIC_PLURAL libintl_gettext_germanic_plural # define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural #else # define FREE_EXPRESSION free_plural_expression # define PLURAL_PARSE parse_plural_expression # define GERMANIC_PLURAL germanic_plural # define EXTRACT_PLURAL_EXPRESSION extract_plural_expression #endif extern void FREE_EXPRESSION (struct expression *exp) internal_function; extern int PLURAL_PARSE (void *arg); extern struct expression GERMANIC_PLURAL attribute_hidden; extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry, const struct expression **pluralp, unsigned long int *npluralsp) internal_function; #if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE) extern unsigned long int plural_eval (const struct expression *pexp, unsigned long int n); #endif #ifdef __cplusplus } #endif #endif /* _PLURAL_EXP_H */ KCemu-0.5.1/.pc/0000755000175000017500000000000012417262523013431 5ustar glaubitzglaubitzKCemu-0.5.1/.pc/.version0000644000175000017500000000000212417262523015107 0ustar glaubitzglaubitz2 KCemu-0.5.1/.pc/.quilt_series0000644000175000017500000000000712417262523016137 0ustar glaubitzglaubitzseries KCemu-0.5.1/.pc/.quilt_patches0000644000175000017500000000001712417262523016275 0ustar glaubitzglaubitzdebian/patches KCemu-0.5.1/COPYING0000644000175000017500000004311012417262523014003 0ustar glaubitzglaubitz GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program 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 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. KCemu-0.5.1/configure.ac0000644000175000017500000006744712417266352015265 0ustar glaubitzglaubitzdnl ---------------------------------------------------------------- dnl $Id: configure.in,v 1.19 2002/10/31 16:39:53 torsten_paul Exp $ dnl dnl Process this file with autoconf to produce a configure script. dnl ---------------------------------------------------------------- . ./VERSION VERSION=$KCEMU_VERSION AC_INIT([KCemu], m4_esyscmd([sh ./VERSION -v])) AC_CONFIG_SRCDIR([include/kc/kc.h]) AC_CONFIG_AUX_DIR(config) AC_CANONICAL_TARGET AC_CANONICAL_HOST AC_GNU_SOURCE dnl ----------------------- dnl declare extra options dnl ----------------------- AC_ARG_ENABLE(static-z80ex, [ --enable-static-z80ex link Z80 emulation statically [default=no]],,enable_static_z80ex=no) AC_ARG_ENABLE(sound, [ --enable-sound enable sound using libSDL (broken!) [default=no]],,enable_sound=no) AC_ARG_ENABLE(libaudiofile, [ --enable-libaudiofile enable usage of libaudiofile if present [default=yes]],,enable_libaudiofile=yes) AC_ARG_ENABLE(libsndfile, [ --enable-libsndfile enable usage of libsndfile if present [default=yes]],,enable_libsndfile=yes) AC_ARG_ENABLE(libflac, [ --enable-libflac enable usage of libFLAC 1.0.x if present [default=yes]],,enable_libflac=yes) AC_ARG_ENABLE(libvorbis, [ --enable-libvorbis enable usage of libvorbis if present [default=yes]],,enable_libvorbis=yes) AC_ARG_ENABLE(libtheora, [ --enable-libtheora enable usage of libtheora if present [default=yes]],,enable_libtheora=yes) AC_ARG_ENABLE(libxvidcore, [ --enable-libxvidcore enable usage of libxvidcore if present [default=yes]],,enable_libxvidcore=yes) AC_ARG_ENABLE(libdirac, [ --enable-libdirac enable usage of libdirac if present [default=yes]],,enable_libdirac=yes) AC_ARG_ENABLE(libschroedinger, [ --enable-libschroedinger enable usage of libschroedinger if present [default=yes]],,enable_libschroedinger=yes) AC_ARG_ENABLE(libavformat, [ --enable-libavformat enable usage of libavformat if present [default=yes]],,enable_libavformat=yes) AC_ARG_ENABLE(libgif, [ --enable-libgif enable usage of libgif if present [default=yes]],,enable_libgif=yes) AC_ARG_ENABLE(libvncserver, [ --enable-libvncserver enable usage of libvncserver if present [default=yes]],,enable_libvncserver=yes) AC_ARG_ENABLE(libmp3lame, [ --enable-libmp3lame enable usage of libmp3lame if present [default=yes]],,enable_libmp3lame=yes) AC_ARG_ENABLE(ms-bitfields, [ --enable-ms-bitfields enable usage of gcc -mms-bitfields on MinGW [default=yes]],,enable_ms_bitfields=yes) AC_ARG_WITH(ui, [ --with-ui=UI use User Interface UI (gtk or sdl) [default=auto]],,with_ui=auto) AC_ARG_WITH(debug_level, [ --with-debug-level=L set debug level to L (0..3) [default=1]]) dnl --------------------- dnl set package version dnl --------------------- AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", "package name") AC_DEFINE_UNQUOTED(VERSION, "$VERSION", "package version") AC_DEFINE_UNQUOTED(KCEMU_MAJOR_VERSION, $KCEMU_MAJOR_VERSION, "KCemu major version") AC_DEFINE_UNQUOTED(KCEMU_MINOR_VERSION, $KCEMU_MINOR_VERSION, "KCemu minor version") AC_DEFINE_UNQUOTED(KCEMU_MICRO_VERSION, $KCEMU_MICRO_VERSION, "KCemu micro version") AC_DEFINE_UNQUOTED(KCEMU_EXTRA_VERSION, $KCEMU_EXTRA_VERSION, "KCemu extra version") AC_DEFINE_UNQUOTED(KCEMU_EXTRA_VERSION_TEXT, "$KCEMU_EXTRA_VERSION_TEXT", "KCemu extra version text") AC_DEFINE_UNQUOTED(KCEMU_VERSION, "$KCEMU_VERSION", "KCemu version") AC_DEFINE(PACKAGE_URL, "$PACKAGE_URL", "KCemu Homepage") AC_DEFINE(PACKAGE_NAME, "$PACKAGE-$KCEMU_VERSION") AC_DEFINE(PACKAGE_STRING, "$PACKAGE-$KCEMU_VERSION") AC_DEFINE(PACKAGE_VERSION, "$KCEMU_VERSION") AC_DEFINE(PACKAGE_TARNAME, "$PACKAGE-${KCEMU_VERSION}.tar.gz") AC_DEFINE(PACKAGE_BUGREPORT, "$PACKAGE_BUGREPORT") AC_SUBST(PACKAGE) AC_SUBST(PACKAGE_URL) AC_SUBST(PACKAGE_NAME) AC_SUBST(PACKAGE_STRING) AC_SUBST(PACKAGE_VERSION) AC_SUBST(PACKAGE_TARNAME) AC_SUBST(PACKAGE_BUGREPORT) AC_SUBST(VERSION) AC_SUBST(KCEMU_MAJOR_VERSION) AC_SUBST(KCEMU_MINOR_VERSION) AC_SUBST(KCEMU_MICRO_VERSION) AC_SUBST(KCEMU_EXTRA_VERSION) AC_SUBST(KCEMU_EXTRA_VERSION_TEXT) dnl --------------------- dnl initialize automake dnl --------------------- AM_CONFIG_HEADER(include/kc/config.h) AM_INIT_AUTOMAKE([no-define]) dnl --------------------- dnl checks for programs dnl --------------------- AC_PROG_CC if test x$enable_ms_bitfields = xyes; then dnl dnl check for compiler-flag -mms-bitfields needed for mingw/cygwin dnl it defines the bit-field layout to be MS Visual C/C++ compatible dnl ac_save_CFLAGS=$CFLAGS CFLAGS="-mms-bitfields" AC_CACHE_CHECK(whether $CC accepts $CFLAGS, ac_cv_prog_cc_mms_bitfields, [AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [ac_cv_prog_cc_mms_bitfields=yes], [ac_cv_prog_cc_mms_bitfields=no])]) if test $ac_cv_prog_cc_mms_bitfields = yes; then use_ms_bitfields="$CFLAGS" else use_ms_bitfields="$CFLAGS" fi CFLAGS="$ac_save_CFLAGS" fi AC_PROG_CXX AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_RANLIB AC_CHECK_TOOL(RC, windres, :) AC_PROG_MAKE_SET dnl ------------------- dnl check debug level dnl ------------------- AC_MSG_CHECKING(which debug level is requested) DBG_LEVEL=1 if test "x$with_debug_level" = "x0"; then DBG_LEVEL=0 elif test "x$with_debug_level" = "x1"; then DBG_LEVEL=1 elif test "x$with_debug_level" = "x2"; then DBG_LEVEL=2 elif test "x$with_debug_level" = "x3"; then DBG_LEVEL=3 fi AC_MSG_RESULT($DBG_LEVEL) AC_DEFINE_UNQUOTED(DBG_LEVEL, $DBG_LEVEL, "debug level") dnl ---------------------------- dnl check for arnold assembler dnl ---------------------------- AC_CHECK_PROG(HAVE_ASL, asl, "yes", "no") AC_CHECK_PROG(HAVE_P2BIN, p2bin, "yes", "no") AM_CONDITIONAL(COMPILE_Z80_ASM, false) if test "x$HAVE_ASL" = "xyes"; then if test "x$HAVE_P2BIN" = "xyes"; then AM_CONDITIONAL(COMPILE_Z80_ASM, true) fi fi dnl ----------------------------------- dnl check on which system we will run dnl ----------------------------------- AM_CONDITIONAL(TARGET_MINGW, false) case "$host_os" in beos) AC_MSG_ERROR([ *** *** BeOS is not supported anymore. ***]) ;; mingw32*) HOST_OS="MinGW" AM_CONDITIONAL(TARGET_MINGW, true) CFLAGS="$CFLAGS $use_ms_bitfields" CXXFLAGS="$CXXFLAGS $use_ms_bitfields" LDFLAGS="$LDFLAGS $use_ms_bitfields -mwindows" ;; *) HOST_OS="Unix compatible" ;; esac AC_DEFINE_UNQUOTED(HOST_OS, "$HOST_OS", "host os") dnl --------------------------------------------------------------- dnl checks for typedefs, structures, and compiler characteristics dnl --------------------------------------------------------------- AC_C_CONST AC_C_INLINE AC_HEADER_TIME dnl ------------------------------- dnl check for common header files dnl ------------------------------- AC_PATH_X AC_HEADER_STDC AC_CHECK_HEADERS(sys/time.h mcheck.h) dnl ---------------------------------- dnl check for common C++ header files dnl ---------------------------------- AC_LANG_PUSH(C++) AC_LANG_POP(C++) dnl -------------------------------------- dnl checks for various library functions dnl -------------------------------------- AC_TYPE_SIGNAL AC_CHECK_FUNCS(gettimeofday strstr strchr strrchr strtol strcasecmp strncasecmp mtrace) AC_CHECK_FUNC(localtime_r, AC_DEFINE(HAVE_LOCALTIME_R, 1, "localtime_r")) AC_CHECK_FUNC(localtime, AC_DEFINE(HAVE_LOCALTIME, 1, "localtime")) AC_CHECK_FUNC(getopt, have_getopt=yes AC_DEFINE(HAVE_GETOPT, 1, "getopt() available")) AC_CHECK_FUNC(getopt_long, have_getopt_long=yes AC_DEFINE(HAVE_GETOPT_LONG, 1, "getopt_long() available")) AC_MSG_CHECKING(whether to use the included getopt library) if test x$have_getopt = xyes -o x$have_getopt_long = xyes; then use_included_getopt=no AM_CONDITIONAL(USE_INCLUDED_GETOPT, false) else use_included_getopt=yes AM_CONDITIONAL(USE_INCLUDED_GETOPT, true) AC_DEFINE(USE_INCLUDED_GETOPT, 1, "use included getopt") AC_DEFINE(HAVE_GETOPT, 1, "getopt() available") AC_DEFINE(HAVE_GETOPT_LONG, 1, "getopt_long() available") fi AC_MSG_RESULT($use_included_getopt) dnl ------------------- dnl configure gettext dnl ------------------- ALL_LINGUAS="en de" AM_PO_SUBDIRS AM_GNU_GETTEXT([no-libtool]) dnl MinGW hack, libintl is there but configure failes with dnl error undefined reference to `__nl_expand_alias' if test "x$HOST_OS" = "xMinGW"; then LTLIBINTL="" LIBINTL="" INTLLIBS="-lintl" INTLOBJS="" USE_INCLUDED_LIBINTL=no BUILD_INCLUDED_LIBINTL=no AC_MSG_WARN([Disable building libintl for MinGW compilation]) fi if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then AC_DEFINE(USE_INCLUDED_LIBINTL, 1, "use included libintl") fi dnl ----------------------------- dnl check for common libraries dnl ----------------------------- dnl dnl on mingw the libz dll has to be linked dnl with -lzdll instead of -lz dnl AC_CHECK_LIB(z, crc32, have_libz=-lz, have_libz=no) if test x$have_libz = xno; then AC_CHECK_LIB(zdll, crc32, have_libz=-lzdll, have_libz=no) fi if test x$have_libz = xno; then AC_MSG_ERROR(Cannot link libz -- check CFLAGS/LDFLAGS) else LIBS="$LIBS $have_libz" fi AC_CHECK_LIB(m, pow,,AC_MSG_WARN(Cannot link libm -- check CFLAGS/LDFLAGS)) AM_CONDITIONAL(HAVE_CPPUNIT, false) dnl ----------------------- dnl initialize pkg-config dnl ----------------------- PKG_PROG_PKG_CONFIG(0.20) PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.16.1) _sep="" _gtk_libs_temp="" for lib in $GTK_LIBS do if test "x-lfreetype" = "x$lib"; then echo "removing 'freetype' from library list GTK_LIBS" continue elif test "x-lfontconfig" = "x$lib"; then echo "removing 'fontconfig' from library list GTK_LIBS" continue elif test "x-latk-1.0" = "x$lib"; then echo "removing 'atk-1.0' from library list GTK_LIBS" continue fi _gtk_libs_temp="$_gtk_libs_temp$_sep$lib" _sep=" " done GTK_LIBS="$_gtk_libs_temp" if test x$cross_compiling = xno; then PKG_CHECK_MODULES(X11, x11 >= 1.1) PKG_CHECK_MODULES(XMU, xmu >= 1.0) fi dnl ----------------------- dnl check for z80ex dnl ----------------------- req_z80ex_api=1 min_z80ex_version_major=1 min_z80ex_version_minor=18 min_z80ex_version="${min_z80ex_version_major}.${min_z80ex_version_minor}" AC_CHECK_LIB(z80ex, z80ex_create, have_libz80ex=yes, have_libz80ex=no) if test x$have_libz80ex = xyes; then Z80EX_LIBS="-lz80ex -lz80ex_dasm" AC_MSG_CHECKING(for z80ex - api = $req_z80ex_api - version >= $min_z80ex_version) if test x$cross_compiling = xno; then ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $Z80EX_CFLAGS" LIBS="$Z80EX_LIBS $LIBS" AC_TRY_RUN([ #include #include int main() { Z80EX_VERSION *v = z80ex_get_version(); if (v->API_revision != $req_z80ex_api) return 1; if (v->major < $min_z80ex_version_major) return 2; if ((v->major == $min_z80ex_version_major) && (v->minor < $min_z80ex_version_minor)) return 3; return 0; } ],AC_MSG_RESULT(yes),have_libz80ex=no) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" AC_SUBST(Z80EX_LIBS) z80_emulation_type="dynamic" else AC_MSG_RESULT([cross compiling; assumed OK...]) fi fi if test x$have_libz80ex = xno; then AC_MSG_ERROR([ *** *** Can not find required library z80ex. ***]) fi AC_MSG_CHECKING(if static linking of z80ex is requested) if test "x$enable_static_z80ex" = "xyes"; then AC_MSG_RESULT(yes) AC_MSG_CHECKING(for path of static z80ex libraries) z80ex_so=`gcc $LDFLAGS -lz80ex -Wl,--trace /dev/null 2>/dev/null | grep -- '-lz80ex' | sed -e 's/.*(//; s/).*//;'` z80ex_path=`dirname "$z80ex_so"` z80ex_lib="$z80ex_path/libz80ex.a" z80ex_dasm_lib="$z80ex_path/libz80ex_dasm.a" if test -f "$z80ex_lib" -a -f "$z80ex_dasm_lib"; then AC_MSG_RESULT([$z80ex_path]) Z80EX_LIBS="$z80ex_lib $z80ex_dasm_lib" z80_emulation_type="static" else AC_MSG_ERROR([ *** *** Can not find path for static z80ex library. ***]) fi else AC_MSG_RESULT(no) fi dnl --------------------------------- dnl check for theoraenc library dnl --------------------------------- have_theora=no min_theora="1.0" min_theoraenc="1.1.1" if test "x$enable_libtheora" = xyes; then PKG_CHECK_MODULES(LIBTHEORA11, theoraenc >= $min_theoraenc, [ have_theora=yes have_theora_version=" (version 1.1)" AC_DEFINE(HAVE_LIBTHEORA, 1, "have libtheora") AC_DEFINE(HAVE_LIBTHEORA11, 1, "have libtheora version 1.1") LIBTHEORA_CFLAGS="$LIBTHEORA11_CFLAGS" LIBTHEORA_LIBS="$LIBTHEORA11_LIBS" AC_SUBST(LIBTHEORA_CFLAGS) AC_SUBST(LIBTHEORA_LIBS) ],[ PKG_CHECK_MODULES(LIBTHEORA10, theoraenc >= $min_theora theoradec >= $min_theora, [ have_theora=yes have_theora_version=" (version 1.0)" AC_DEFINE(HAVE_LIBTHEORA, 1, "have libtheora") AC_DEFINE(HAVE_LIBTHEORA10, 1, "have libtheora version 1.0") LIBTHEORA_CFLAGS="$LIBTHEORA10_CFLAGS" LIBTHEORA_LIBS="$LIBTHEORA10_LIBS" AC_SUBST(LIBTHEORA_CFLAGS) AC_SUBST(LIBTHEORA_LIBS) ],[ AC_MSG_WARN([ *** *** Unable to find theora library (with version number >= $min_theora)! *** *** This is NO ERROR. It only means you can't capture video in *** theora/ogg format. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libtheora ***]) ]) ]) fi dnl --------------------------------- dnl check for libavformat library dnl --------------------------------- have_avformat=no min_libavformat="52.41.0" if test "x$enable_libavformat" = xyes; then PKG_CHECK_MODULES(LIBAVFORMAT, libavformat >= $min_libavformat libavcodec libavutil, [ have_avformat=yes AC_DEFINE(HAVE_LIBAVFORMAT, 1, "have libavformat") AC_SUBST(LIBAVFORMAT_CFLAGS) AC_SUBST(LIBAVFORMAT_LIBS) ],[ AC_MSG_WARN([ *** *** Unable to find avformat library (with version number >= $min_libavformat)! *** *** This is NO ERROR. It only means you can't capture video in *** avi format. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libavformat ***]) ]) fi dnl --------------------------------- dnl check for libdirac dnl --------------------------------- have_dirac=no min_libdirac="1.0.2" if test "x$enable_libdirac" = xyes; then PKG_CHECK_MODULES(LIBDIRAC, dirac >= $min_libdirac, [ have_dirac=yes AC_DEFINE(HAVE_LIBDIRAC, 1, "have libdirac") AC_SUBST(LIBDIRAC_CFLAGS) AC_SUBST(LIBDIRAC_LIBS) ],[ AC_MSG_WARN([ *** *** Unable to find dirac library (with version number >= $min_libdirac)! *** *** This is NO ERROR. It only means you can't capture video in *** dirac format. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libdirac ***]) ]) fi dnl --------------------------------- dnl check for libschroedinger dnl --------------------------------- have_libschroedinger=no min_libschroedinger="1.0.8" if test "x$enable_libschroedinger" = xyes; then PKG_CHECK_MODULES(LIBSCHROEDINGER, schroedinger-1.0 >= $min_libschroedinger, [ have_libschroedinger=yes AC_DEFINE(HAVE_LIBSCHROEDINGER, 1, "have libschroedinger") AC_SUBST(LIBSCHROEDINGER_CFLAGS) AC_SUBST(LIBSCHROEDINGER_LIBS) ],[ AC_MSG_WARN([ *** *** Unable to find schroedinger library (with version number >= $min_libschroedinger)! *** *** This is NO ERROR. It only means you can't capture video in *** schroedinger format. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libschroedinger ***]) ]) fi dnl --------------------------------- dnl check for libxvidcore dnl --------------------------------- have_libxvidcore=no min_libxvidcore="1.2.2" if test "x$enable_libxvidcore" = xyes; then AC_CHECK_LIB(xvidcore, xvid_encore, have_libxvidcore=yes, have_libxvidcore=no) if test x$have_libxvidcore = xyes; then XVIDCORE_LIBS="-lxvidcore" AC_SUBST(XVIDCORE_LIBS) AC_DEFINE(HAVE_LIBXVIDCORE, 1, "have libxvidcore") else AC_MSG_WARN([ *** *** Unable to find libxvidcore (with version number >= $min_libxvidcore)! *** *** This is NO ERROR. It only means you can't capture video in *** mpeg4 format. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libxvidcore ***]) fi fi dnl --------------------------------- dnl check for libgif dnl --------------------------------- if test "x$enable_libgif" = xyes; then AC_CHECK_LIB(gif, EGifSetGifVersion, have_libgif=yes, have_libgif=no) if test x$have_libgif = xyes; then LIBGIF_LIBS="-lgif" AC_SUBST(LIBGIF_LIBS) AC_DEFINE(HAVE_LIBGIF, 1, "have libgif") else AC_MSG_WARN([ *** *** Unable to find libgif! *** *** This is NO ERROR. It only means you can't capture video in *** animated GIF format. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libgif ***]) fi fi dnl --------------------------------- dnl check for libvncserver dnl --------------------------------- have_libvncserver=no min_libvncserver="0.9" if test "x$enable_libvncserver" = xyes; then AC_CHECK_LIB(vncserver, rfbGetScreen, have_libvncserver=yes, have_libvncserver=no) if test x$have_libvncserver = xyes; then VNCSERVER_LIBS="-lvncserver -lvncclient -ljpeg" AC_SUBST(VNCSERVER_LIBS) AC_DEFINE(HAVE_LIBVNCSERVER, 1, "have libvncserver") else AC_MSG_WARN([ *** *** Unable to find libvncserver (with version number >= $min_libvncserver)! *** *** This is NO ERROR. It only means you can't connect to KCemu *** using a VNC client. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libvncserver ***]) fi fi _sep="" _vncserver_libs_temp="" for lib in $VNCSERVER_LIBS do if test "x-ljpeg" = "x$lib"; then echo "removing 'jpeg' from library list VNCSERVER_LIBS" continue fi _vncserver_libs_temp="$_vncserver_libs_temp$_sep$lib" _sep=" " done VNCSERVER_LIBS="$_vncserver_libs_temp" dnl --------------------- dnl check for libsndfile dnl --------------------- have_libsndfile=no if test x$enable_libsndfile = xyes; then AC_CHECK_LIB(sndfile, sf_open_read, have_libsndfile=yes, have_libsndfile=no) if test x$have_libsndfile = xyes; then SNDFILE_LIBS=-lsndfile AC_SUBST(SNDFILE_LIBS) AC_DEFINE(HAVE_LIBSNDFILE, 1, "have libsndfile") AC_DEFINE(HAVE_LIBSNDFILE_V0, 1, "have libsndfile version 0.0.x") else AC_CHECK_LIB(sndfile, sf_open, have_libsndfile=yes, have_libsndfile=no) if test x$have_libsndfile = xyes; then SNDFILE_LIBS=-lsndfile AC_SUBST(SNDFILE_LIBS) AC_DEFINE(HAVE_LIBSNDFILE, 1, "have libsndfile") AC_DEFINE(HAVE_LIBSNDFILE_V1, 1, "have libnsndfile version 1.0.x") else AC_MSG_WARN([ *** *** Unable to find sndfile library! The audio loader module which *** requires this library will be disabled. *** *** This is NO ERROR. It only means you can't playback certain *** audio file types (e.g. .WAV, .PCM, .AU, .SND) in the emulated *** tape recorder. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libsndfile ***]) fi fi fi dnl ----------------------- dnl check for libaudiofile dnl ----------------------- have_libaudiofile=no if test x$enable_libaudiofile = xyes; then AC_CHECK_LIB(audiofile, afOpenFile, have_libaudiofile=yes, have_libaudiofile=no) if test x$have_libaudiofile = xyes; then AUDIOFILE_LIBS=-laudiofile AC_SUBST(AUDIOFILE_LIBS) AC_DEFINE(HAVE_LIBAUDIOFILE, 1, "have libaudiofile") else AC_MSG_WARN([ *** *** Unable to find audiofile library! The audio loader module which *** requires this library will be disabled. *** *** This is NO ERROR. It only means you can't playback certain *** audio file types (e.g. .WAV, .AIFF, .AU) in the emulated *** tape recorder. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libaudiofile ***]) fi fi dnl --------------------- dnl check for libmp3lame dnl --------------------- have_libmp3lame=no if test x$enable_libmp3lame = xyes; then AC_CHECK_LIB(mp3lame, lame_decode1_headers, have_libmp3lame=yes, have_libmp3lame=no) if test x$have_libmp3lame = xyes; then MP3LAME_LIBS=-lmp3lame AC_SUBST(MP3LAME_LIBS) AC_DEFINE(HAVE_LIBMP3LAME, 1, "have libmp3lame") else AC_MSG_WARN([ *** *** Unable to find libmp3lame (part of MP3 encoder LAME)! The audio *** loader module which requires this library will be disabled. *** *** This is NO ERROR. It only means you can't playback certain *** audio file types (e.g. .MP3) in the emulated tape recorder. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libmp3lame ***]) fi fi dnl -------------------- dnl check for libvorbis dnl -------------------- have_libvorbis=no if test x$enable_libvorbis = xyes; then AC_CHECK_LIB(vorbisfile, ov_open, have_libvorbis=yes, have_libvorbis=no, -lvorbis) if test x$have_libvorbis = xyes; then VORBIS_LIBS="-lvorbisfile -lvorbis" AC_SUBST(VORBIS_LIBS) AC_DEFINE(HAVE_LIBVORBIS, 1, "have libvorbis") else AC_MSG_WARN([ *** *** Unable to find libvorbis library! The audio loader module which *** requires this library will be disabled. *** *** This is NO ERROR. It only means you can't playback certain *** audio file types (e.g. .OGG) in the emulated tape recorder. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libvorbis ***]) fi fi dnl ------------------ dnl check for libflac dnl ------------------ have_libflac=no if test x$enable_libflac = xyes; then AC_CHECK_LIB(FLAC, FLAC__file_decoder_process_metadata, have_libflac=yes, have_libflac=no) if test x$have_libflac = xyes; then F_L_A_C_LIBS=-lFLAC AC_SUBST(F_L_A_C_LIBS) AC_DEFINE(HAVE_LIBFLAC, 1, "have libFLAC") else AC_MSG_WARN([ *** *** Unable to find libFLAC library! The audio loader module which *** requires this library will be disabled. *** *** Currently only libFLAC 1.0.x is supported! *** *** This is NO ERROR. It only means you can't playback certain *** audio file types (e.g. .FLAC) in the emulated tape recorder. *** *** If you are still annoyed by this warning you can tell ./configure *** not to check for this library by using --disable-libflac ***]) fi fi dnl ------------------------------------- dnl check for system specific libraries dnl ------------------------------------- dnl -------------- dnl check for OSS dnl -------------- AC_CHECK_HEADER(sys/soundcard.h, [AC_DEFINE(HAVE_OSS, 1, "have oss") AC_DEFINE(OSS_HEADER, [], "soundcard.h path")], [AC_CHECK_HEADER(machine/soundcard.h, [AC_DEFINE(HAVE_OSS, 1, "have oss") AC_DEFINE(OSS_HEADER, [], "soundcard.h path")], AC_MSG_WARN([ *** *** Unable to find OSS header file soundcard.h! The audio loader *** module which requires OSS will be disabled. *** *** This is NO ERROR. It only means you can't directly load programs *** by reading directly from the soundcard line input. ***]))]) dnl -------------------------------------- dnl check for libSDL if sound is enabled dnl -------------------------------------- if test x$enable_sound = xyes; then AC_DEFINE(ENABLE_SOUND, 1, "enable sound") AM_PATH_SDL([1.2.0], have_libsdl=yes, have_libsdl=no) fi if test x$have_libsdl = xyes; then AC_DEFINE(HAVE_LIBSDL, 1, "have libSDL") else if test x$enable_sound = xyes; then AC_MSG_WARN([ *** *** Unable to find SDL library (see http://www.libsdl.org/) *** Sound is disabled! ***]) enable_sound=no fi fi dnl ---------------------------------------- dnl check for the Linux Joystick interface dnl ---------------------------------------- AC_CHECK_HEADER(linux/joystick.h, [AM_CONDITIONAL(HAVE_JOYSTICK, true) AC_DEFINE(HAVE_JOYSTICK, 1, "Supported joystick interface present - Currently linux only")], [AM_CONDITIONAL(HAVE_JOYSTICK, false)]) dnl ----------------------------------------------- dnl check for the Unix facilities needed for V.24 dnl ----------------------------------------------- dnl The serial port code also uses unix IPC and forks of an helper process dnl This code checks for the availability of dnl - termios dnl - socketpair (communication to helper) dnl - fork (starting of helper) dnl - fcntl (needed to activate signal raising for sockets) dnl - sigaction (for registering the signal handler) AC_MSG_CHECKING([Unix serial port facilities]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM( [[#include #include #include #include #include #include #include ]], [[struct termios tio; int fds[2]; struct sigaction sa; tcgetattr(0, &tio); socketpair(AF_UNIX, SOCK_STREAM, 0, fds); fork(); fcntl(fds[0], F_SETOWN, getpid()); fcntl(fds[0], F_SETFL, FASYNC); sigemptyset(&sa.sa_mask); sigaction(SIGIO, &sa, NULL); ]]) ], [AC_MSG_RESULT(yes) AM_CONDITIONAL(HAVE_V24, true) AC_DEFINE(HAVE_V24, 1, "Supported serial port interface present")], [AC_MSG_RESULT(no)]) AC_OUTPUT([ Makefile include/Makefile include/kc/Makefile include/kc/prefs/Makefile include/kc/kcnet/Makefile include/kc/kramermc/Makefile include/kc/muglerpc/Makefile include/kc/vcs80/Makefile include/kc/c80/Makefile include/sys/Makefile include/getopt/Makefile include/cmd/Makefile include/ui/Makefile include/ui/gtk/Makefile include/ui/generic/Makefile include/fileio/Makefile include/libdbg/Makefile include/libtape/Makefile include/libdisk/Makefile include/libaudio/Makefile include/libgtkex/Makefile asm/Makefile asm/autostart/Makefile src/Makefile src/kc/kcemu.rc src/kc/Makefile src/kc/prefs/Makefile src/kc/kcnet/Makefile src/kc/kramermc/Makefile src/kc/muglerpc/Makefile src/kc/vcs80/Makefile src/kc/c80/Makefile src/sys/Makefile src/sys/mingw/Makefile src/sys/unix/Makefile src/getopt/Makefile src/cmd/Makefile src/ui/Makefile src/ui/gtk/Makefile src/ui/generic/Makefile src/fileio/Makefile src/libdbg/Makefile src/libtape/Makefile src/libdisk/Makefile src/libaudio/Makefile src/libgtkex/Makefile src/util/Makefile test/Makefile test/kc/Makefile test/kc/prefs/Makefile test/libaudio/Makefile test/libaudio/data/Makefile test/libgtkex/Makefile images/Makefile images/original/Makefile doc/Makefile doc/kcemu-help.xml intl/Makefile man/Makefile man/man1/Makefile debian/Makefile rpm/Makefile rpm/KCemu.spec po/Makefile.in conf/Makefile setup/Makefile setup/KCemuSetup.nsi], []) echo "" echo "" echo "KCemu configuration summary:" echo "----------------------------" echo "" echo "- version : KCemu $KCEMU_VERSION" echo "" echo "- architecture : $HOST_OS" echo "- host system : $host" echo "- install prefix : $prefix" echo "" echo "- z80 emulation : $z80_emulation_type" echo "- sound : $enable_sound" echo "- debug level : $DBG_LEVEL" echo "" echo "- audio:" echo "" echo " * sndfile : $have_libsndfile" echo " * audiofile : $have_libaudiofile" echo " * vorbis : $have_libvorbis" echo " * mp3lame : $have_libmp3lame" echo " * FLAC : $have_libflac" echo "" echo "- video:" echo "" echo " * theora : $have_theora$have_theora_version" echo " * avformat : $have_avformat" echo " * dirac : $have_dirac" echo " * schroedinger : $have_libschroedinger" echo " * xvid : $have_libxvidcore" echo " * vncserver : $have_libvncserver" echo "" echo ""